A tool to handle .w32 and .bgm files in FlatOut games
For a quick guide on how to get started with the tool, check out the examples & tips.
This tool is currently capable of:
Thanks to Gulbroz for their existing work on this format, it was a great jumping-off point.

Due to the current programming landscape, I feel that it's necessary to explicitly state that this project had zero assistance or any other kind of involvement from any sort of "AI agent" and it never will.
This mod was entirely built by hand, by a human being, and I believe that any project that cannot also claim this about itself is not worth people's time. The only acceptable amount of AI use is zero AI use.
FlatOutW32BGMTool_gcp.exe (filename) with the arguments you'd like to use-create_fo1_w32 - Exports an .fbx into a FlatOut 1 track w32-create_fo2_w32 - Exports an .fbx into a FlatOut 2 track w32-create_fouc_w32 - Exports an .fbx into a FlatOut: Ultimate Carnage track w32-create_fo1_cdb - Exports an .fbx into a FlatOut 1 track collision cdb.gen-export_fbx - Exports the map into a viewable .fbx file-export_w32 - Exports the map into a .w32 file (this should yield an identical file if there are no additional arguments, if it doesn't then file a bug report!)-export_text - Exports the map into a human-readable text file-text_streams - Exports all vertex and index buffers into text, huge filesize and time cost!-text_materials - Exports all material data into text, including shaders and some unknown metadata-text_streams_fouc_offseted - Exports vertex buffers into text with their surface offsets already applied-text_streams_fouc_normalized - Exports vertex buffers into text as normalized floating points-text_streams_fouc_int8 - Exports vertex buffers into text as int8 arrays-remove_object_dummies - Creates a new .w32 file of the map with all objects and object dummies removed (e.g. menu cameras in FOUC)-remove_props - Creates a new .w32 file of the map with all props removed-enable_all_props - Creates a new .w32 file of the map with all props visible (BugBear left a lot of props hidden in each track)-disable_car_collisions - Creates a new .w32 file of the map with car-to-car collisions disabled-convert_to_fo1 - Creates a new .w32 file of the map that can be loaded by FlatOut 1-skip_hidden_props_a - Only exports the props from track variant A into the .fbx file-skip_hidden_props_b - Only exports the props from track variant B into the .fbx file-skip_hidden_props_c - Only exports the props from track variant C into the .fbx file-export_bvh_nodes - Exports BVH culling zones into the .fbx file-empty_bvh_gen - Takes a track_bvh.gen file and generates a new one without any culling, do not use unless you get issues with the autogenerated file!-empty_plant_vdb - Generates an empty plant_vdb.gen, removes all grass from the map-import_moved_props - Imports moved prop positions from an .fbx file, usage: FlatOutW32BGMTool_gcp.exe (w32 filename) (fbx filename) -import_moved_props-ungroup_moved_props - Ungroups moved props if -import_moved_props is enabled, can prevent unwanted physics behavior-import_cloned_props - Imports new cloned props from an .fbx file, usage: FlatOutW32BGMTool_gcp.exe (w32 filename) (fbx filename) -import_cloned_props-import_all_props - Imports all props from an .fbx file and deletes the original w32 ones, usage: FlatOutW32BGMTool_gcp.exe (w32 filename) (fbx filename) -import_all_props-import_all_object_dummies - Imports all object dummies from an .fbx file and deletes the original w32 ones, usage: FlatOutW32BGMTool_gcp.exe (w32 filename) (fbx filename) -import_all_object_dummies-import_surfaces - Imports surface meshes from an .fbx file if they have the suffix _export in their name, usage: FlatOutW32BGMTool_gcp.exe (w32 filename) (fbx filename) -import_surfaces-import_all_surfaces - Imports all surface meshes from an .fbx file, usage: FlatOutW32BGMTool_gcp.exe (w32 filename) (fbx filename) -import_all_surfaces-import_and_match_all_surfaces - Imports all surface meshes from an .fbx file and matches them up to any valid w32 surface, usage: FlatOutW32BGMTool_gcp.exe (w32 filename) (fbx filename) -import_and_match_all_surfaces-import_and_match_all_meshes - Imports all meshes from an .fbx file and matches them up to any valid w32 surface, usage: FlatOutW32BGMTool_gcp.exe (w32 filename) (fbx filename) -import_and_match_all_meshes-clear_old_materials - Removes all original materials from the w32 before importing the ones from the .fbx, has no effect unless -import_and_match_all_surfaces is enabled-no_material_reuse - Makes imported meshes not use any original w32 materials, instead always importing new ones from the .fbx-no_tree_hack - Disables the adjusting of normal vectors for tree shaders in Ultimate Carnage-import_deletions - Deletes surfaces and props that have been deleted from an .fbx file, usage: FlatOutW32BGMTool_gcp.exe (w32 filename) (fbx filename) -import_deletions-create_fo1_bgm - Exports an .fbx into a FlatOut 1 car bgm-create_fo2_bgm - Exports an .fbx into a FlatOut 2 car bgm-create_fouc_bgm - Exports an .fbx into a FlatOut: Ultimate Carnage car bgm-export_fbx - Exports the car into a viewable .fbx file-export_bgm - Exports car into a .bgm file (this should yield an identical file if there are no additional arguments, if it doesn't then file a bug report!)-export_text - Exports the car into a human-readable text file-text_streams - Exports all vertex and index buffers into text, huge filesize and time cost!-text_materials - Exports all material data into text, including shaders and some unknown metadata-text_streams_fouc_offseted - Exports vertex buffers into text with their surface offsets already applied-text_streams_fouc_normalized - Exports vertex buffers into text as normalized floating points-text_streams_fouc_int8 - Exports vertex buffers into text as int8 arrays-convert_to_fo1 - Converts the car from the FlatOut 2 or Ultimate Carnage format to the FlatOut 1 format-convert_to_fo2 - Converts the car from the Ultimate Carnage format to the FlatOut 2 format-no_rim_alpha - Disables alpha for the rim texture on cars, useful for UC -> FO2 ports-force_rim_alpha - Forces alpha for the rim texture on cars, useful for FO2 -> UC ports-force_tire_alpha - Forces alpha for the tire texture on cars, useful for FO2 -> UC ports-make_double_sided - Clones and flips every mesh to make the model double-sided-export_bmp - Exports the .4b file into a BMP image-log_warnings_only - Only prints errors and warnings into the console-log_errors_only - Only prints errors into the console-use_vanilla_names - Exports the files as their original names, e.g. track_geom.w32, track_bvh.genLast updated: 2025-12-25 11:25
-convert_to_fo1 now converts missing materials to fallback ones-convert_to_fo1-no_vertex_colors parameter to strip out vertex colors from a given .fbx file-skip_hidden_props_x parameters skipping gates and other special objects_crash are now also supported