Use DOOM-3-slim.fgd in model zoo maps

This commit is contained in:
Robert Beckebans 2025-01-23 23:38:19 +01:00
parent 948e248ee8
commit b19eb88717
3 changed files with 33 additions and 26 deletions

View file

@ -1,26 +1,31 @@
// DOOM 3 BFG models definition file (.fgd) generated by RBDOOM 3 BFG 1.5.1
// DOOM 3 BFG models definition file (.fgd) generated by RBDOOM 3 BFG 1.6.0
@SolidClass color(0 0 0) = worldspawn : "Every map should have exactly one worldspawn."
[
spawnclass(string) : "" : "idWorldspawn"
spawnclass(string) : "" : "idWorldspawn"
]
@SolidClass color(0 127 204) = func_static : "A brush model that just sits there, doing nothing. Can be used for conditional walls and models. When triggered, toggles between visible and hidden (see hide). Entity is non-solid when hidden."
[
spawnclass(string) : "" : "idStaticEntity"
solid(boolean) : "whether the object should be solid or not." : 1
noclipmodel(boolean) : "0 by default. Sets whether or not to generate a collision model for an ASE/LWO func_static at level load. (Set to 1 for stuff the player can't interact with. This will save memory.)" : 0
hide(boolean) : "whether the object should be visible when spawned. you need to set a value for triggering on/off to work"
gui_noninteractive(boolean) : "any gui attached will not be interactive"
inline(boolean) : "If true, turn the model into map geometry at dmap time"
angles(string) : "" : "0 0 0"
gui(string) : "gui attached to this static, gui2 and gui3 also work"
gui_demonic(string) : "demonic gui attached to this statit, gui_demonic2 and gui_demonic3 also work"
spawnclass(string) : "" : "idStaticEntity"
solid(boolean) : "whether the object should be solid or not." : 1
noclipmodel(boolean) : "0 by default. Sets whether or not to generate a collision model for an ASE/LWO func_static at level load. (Set to 1 for stuff the player can't interact with. This will save memory.)" : 0
hide(boolean) : "whether the object should be visible when spawned. you need to set a value for triggering on/off to work"
gui_noninteractive(boolean) : "any gui attached will not be interactive"
inline(boolean) : "If true, turn the model into map geometry at dmap time"
angles(string) : "" : "0 0 0"
gui(string) : "gui attached to this static, gui2 and gui3 also work"
gui_demonic(string) : "demonic gui attached to this statit, gui_demonic2 and gui_demonic3 also work"
]
@PointClass base(func_static) color(0 127 204) model({ "path" : proxymodel }) = misc_model : "Just a model"
@PointClass base(func_static) color(0 127 204) model({{
proxymodel -> { "path": proxymodel },
{ "path": model }
}}) = misc_model : "Just a model"
[
angles(string) : "" : "0 0 0"
model(string) : "Model Selection (ex mapobjects/model.obj)"
model(string) : " A proxy model in OBJ file format automatically set by RBDoom so it can be displayed in TrenchBroom"
]
@PointClass base(misc_model) = auto_generated_model : "Entity definition for a specific model" []

View file

@ -1,4 +1,4 @@
// DOOM 3 BFG models definition file (.def) generated by RBDOOM 3 BFG 1.5.1
// DOOM 3 BFG models definition file (.def) generated by RBDOOM 3 BFG 1.6.0
entityDef genmodel_characters_player_character_helmet_d3xp_cine_helmet_lo
{

View file

@ -3154,24 +3154,26 @@ void idDeclManagerLocal::ExportModelsToTrenchBroom_f( const idCmdArgs& args )
fgdFile->Printf( "// DOOM 3 BFG models definition file (.fgd) generated by %s\n\n", ENGINE_VERSION );
fgdFile->Printf( "@SolidClass color(0 0 0) = worldspawn : \"Every map should have exactly one worldspawn.\"\n[\n" );
fgdFile->Printf( "\t spawnclass(string) : \"\" : \"idWorldspawn\"\n" );
fgdFile->Printf( "\tspawnclass(string) : \"\" : \"idWorldspawn\"\n" );
fgdFile->Printf( "]\n\n" );
fgdFile->Printf( "@SolidClass color(0 127 204) = func_static : \"A brush model that just sits there, doing nothing. Can be used for conditional walls and models. When triggered, toggles between visible and hidden (see hide). Entity is non-solid when hidden.\"\n[\n" );
//fgdFile->Printf( "name(string) : \"\" : \"\"\n" );
fgdFile->Printf( "\t spawnclass(string) : \"\" : \"idStaticEntity\"\n" );
fgdFile->Printf( "\t solid(boolean) : \"whether the object should be solid or not.\" : 1\n" );
fgdFile->Printf( "\t noclipmodel(boolean) : \"0 by default. Sets whether or not to generate a collision model for an ASE/LWO func_static at level load. (Set to 1 for stuff the player can't interact with. This will save memory.)\" : 0\n" );
fgdFile->Printf( "\t hide(boolean) : \"whether the object should be visible when spawned. you need to set a value for triggering on/off to work\"\n" );
fgdFile->Printf( "\t gui_noninteractive(boolean) : \"any gui attached will not be interactive\"\n" );
fgdFile->Printf( "\t inline(boolean) : \"If true, turn the model into map geometry at dmap time\"\n" );
fgdFile->Printf( "\t angles(string) : \"\" : \"0 0 0\"\n" );
fgdFile->Printf( "\t gui(string) : \"gui attached to this static, gui2 and gui3 also work\"\n" );
fgdFile->Printf( "\t gui_demonic(string) : \"demonic gui attached to this statit, gui_demonic2 and gui_demonic3 also work\"\n]\n\n" );
fgdFile->Printf( "\tspawnclass(string) : \"\" : \"idStaticEntity\"\n" );
fgdFile->Printf( "\tsolid(boolean) : \"whether the object should be solid or not.\" : 1\n" );
fgdFile->Printf( "\tnoclipmodel(boolean) : \"0 by default. Sets whether or not to generate a collision model for an ASE/LWO func_static at level load. (Set to 1 for stuff the player can't interact with. This will save memory.)\" : 0\n" );
fgdFile->Printf( "\thide(boolean) : \"whether the object should be visible when spawned. you need to set a value for triggering on/off to work\"\n" );
fgdFile->Printf( "\tgui_noninteractive(boolean) : \"any gui attached will not be interactive\"\n" );
fgdFile->Printf( "\tinline(boolean) : \"If true, turn the model into map geometry at dmap time\"\n" );
fgdFile->Printf( "\tangles(string) : \"\" : \"0 0 0\"\n" );
fgdFile->Printf( "\tgui(string) : \"gui attached to this static, gui2 and gui3 also work\"\n" );
fgdFile->Printf( "\tgui_demonic(string) : \"demonic gui attached to this statit, gui_demonic2 and gui_demonic3 also work\"\n]\n\n" );
fgdFile->Printf( "@PointClass base(func_static) color(0 127 204) model({ \"path\" : proxymodel }) = misc_model : \"Just a model\"\n[\n" );
fgdFile->Printf( "@PointClass base(func_static) color(0 127 204) model({{\n\tproxymodel -> { \"path\": proxymodel },\n\t{ \"path\": model }\n}}) = misc_model : \"Just a model\"\n[\n" );
//fgdFile->Printf( "name(string) : \"\" : \"\"\n" );
fgdFile->Printf( "\t angles(string) : \"\" : \"0 0 0\"\n" );
fgdFile->Printf( "\tmodel(string) : \"Model Selection (ex mapobjects/model.obj)\"\n" );
fgdFile->Printf( "\tmodel(string) : \"\tA proxy model in OBJ file format automatically set by RBDoom so it can be displayed in TrenchBroom\"\n" );
fgdFile->Printf( "]\n\n" );
fgdFile->Printf( "@PointClass base(misc_model) = auto_generated_model : \"Entity definition for a specific model\" []\n\n" );
@ -4135,9 +4137,9 @@ void idDeclManagerLocal::MakeZooMapForModels_f( const idCmdArgs& args )
mapFile.ConvertToValve220Format( false );
worldspawn->epairs.Set( "_tb_textures", "textures/common;textures/editor;textures/decals;textures/rock" );
worldspawn->epairs.Set( "_tb_def", "external:base/_tb/fgd/DOOM-3-models.fgd" );
worldspawn->epairs.Set( "_tb_def", "external:base/_tb/fgd/DOOM-3-slim.fgd" );
//"_tb_mod" "mod_unittests"
// TODO add fs_game if it is set like "_tb_mod" "mod_unittests"
mapFile.Write( mapName, ".map" );