


FlatOut W32 & BGM Tool
Mod for FlatOut 2 (2006) | Category: Modding tools
Author: Chloe | Curator: Modbadger
Mod for FlatOut 2 (2006) | Category: Modding tools
Author: Chloe | Curator: Modbadger
FlatOut W32 & BGM Tool - инструмент для работы с файлами .w32 и .bgm в серии FlatOut.
Localizations:

Localizations:
The mod is localized into 1 language
(You don’t need to download anything extra to play in these languages)
This tool is currently capable of:
Parsing and recreating the formats from memory
Exporting cars and tracks to .fbx
Exporting cars and tracks from Rally Trophy and Tough Trucks to .fbx
Converting FlatOut 2 tracks to FlatOut 1
Converting FlatOut: Ultimate Carnage cars to FlatOut 1 and 2
Editing tracks in FlatOut 1, 2 and Ultimate Carnage
Importing new tracks into FlatOut 1, 2 and Ultimate Carnage
Importing vehicle models into FlatOut 1, 2 and Ultimate Carnage
Importing track collision into FlatOut 1
The author thanks Gulbroz for help with the formats.
Examples and tips
Blender FBX settings
When importing .fbx files from this tool, use these settings in Blender:

When exporting them back, use these settings:

Exporting and importing a vehicle
Enter
FlatOutW32BGMTool_gcp.exe path/to/body.bgm -export_fbxinto a commandline promptEdit the .fbx and make your desired changes and additions
Enter
FlatOutW32BGMTool_gcp.exe path/to/model.fbx -create_fouc_bgminto a commandline prompt (Available formats are-create_fo1_bgm,-create_fo2_bgmand-create_fouc_bgm)Take the files ending in
_out.bgmand_out_crash.dat, rename them and put them into the game files.
Exporting and importing a track
Enter
FlatOutW32BGMTool_gcp.exe path/to/track_geom.w32 -export_fbx -skip_hidden_props_ainto a commandline prompt (for track variant B or C use-skip_hidden_props_bor-skip_hidden_props_c)Edit the .fbx and make your desired changes and additions
Enter
FlatOutW32BGMTool_gcp.exe path/to/model.fbx -create_fouc_w32into a commandline prompt (Available formats are-create_fo1_w32,-create_fo2_w32and-create_fouc_w32)If you need to remove grass or other vegetation, enter
FlatOutW32BGMTool_gcp.exe -empty_plant_dbinto a commandline promptIf you experience culling issues, delete
track_spvs.genfrom your track geometry folder.Copy the new .w32 and .gen files, rename them and put them into the game files.
Exporting and importing a track while keeping trees intact in FOUC
Enter
FlatOutW32BGMTool_gcp.exe path/to/track_geom.w32 -export_fbx -skip_hidden_props_ainto a commandline prompt (for track variant B or C use-skip_hidden_props_bor-skip_hidden_props_c)Edit the .fbx and make your desired changes and additions
Enter
FlatOutW32BGMTool_gcp.exe path/to/track_geom.w32 path/to/model.fbx -import_all_surfaces -import_moved_props -import_cloned_propsinto a commandline promptIf you need to remove grass or other vegetation, enter
FlatOutW32BGMTool_gcp.exe -empty_plant_dbinto a commandline promptIf you experience culling issues, delete
track_spvs.genfrom your track geometry folder.Copy the new .w32 and .gen files, rename them and put them into the game files.
Converting a vehicle between games
Enter
FlatOutW32BGMTool_gcp.exe path/to/body.bgm -export_fbxinto a commandline promptEnter
FlatOutW32BGMTool_gcp.exe path/to/body_out.fbx -create_fouc_bgminto a commandline prompt (Available formats are-create_fo1_bgm,-create_fo2_bgmand-create_fouc_bgm)Take and rename the appropriate files, and put them into your game files.
Material help
Materials are given shaders decided based off of material names, here's a handy guide on how to name your materials (case-sensitive) to get the shader you want:
BGM shaders:
Default without keywords: Car metal
Car body/skin:
bodyprefixCar diffuse:
interiororgrilleprefixCar window:
windowprefixCar shear:
shearprefixCar scale:
scaleprefixCar tire:
tireprefix (same as car diffuse in FO1/FO2, separate shader in FOUC)Car rim:
rimprefixCar lights:
lightprefixShadow:
shadowprefixDriver skin:
maleorfemaleprefix
Additional notes:
Materials with the
scaleshockandshearhockprefix are configured to have no alphaMaterials with the
_alphasuffix are forced to have alpha regardless of the prefix
Map shaders:
Default without keywords: Static prelit
Alpha flag:
alpha_orwirefence_prefix or_alphasuffixDouble UV terrain:
dm_,terrain_,road_tarmacorroad_gravelprefixDouble UV terrain with specular:
sdm_prefixTree trunk:
treetrunkprefixTree branch:
alpha_treebranchoralpha_bushbranchprefixTree leaf:
alpha_treelod,alpha_treesprite,alpha_bushlodoralpha_bushspriteprefixWater: Name your material
wateror give it thepuddleprefixStatic window glass:
static_windowsprefixDynamic window glass:
dynamic_windowsprefixDynamic objects:
_dynamicsuffixDynamic objects with specular:
_dynamic_specularsuffix
Additional notes:
The terrain shaders do not support vertex colors, use static prelit if you want to bake lighting via vertex colors instead of a colormap texture!
You can check the relevance of the instructions here.
Command line arguments list
W32 Arguments
-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_propsis 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_exportin 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_surfacesis 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
BGM Arguments
-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
4B Arguments
-export_bmp- Exports the .4b file into a BMP image
Other Arguments
-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.gen


