diff --git a/Makefile b/Makefile index f17a95e..a11bd70 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,7 @@ RADIANT_DEF="$(NUCLIDE_DIR)/ThirdParty/gtkradiant/install/installs/$(NAME)Pack/i NRC_GAME="$(NUCLIDE_DIR)/ThirdParty/netradiant-custom/install/gamepacks/games/$(NAME).game" NRC_GAMEDIR="$(NUCLIDE_DIR)/ThirdParty/netradiant-custom/install/gamepacks/$(NAME).game/$(GAME)/" -NRC_DEF="$(NRC_GAMEDIR)/entities.ent" +NRC_DEF="$(NRC_GAMEDIR)/entities.def" NRC_SYNAPSE="$(NRC_GAMEDIR)/../default_build_menu.xml" EDITOR_QBSP="$(ARGSTR)TEMPLATEenginepath/qbsp" diff --git a/Tools/build_maps.sh b/Tools/build_maps.sh index 6bf059f..02657e2 100755 --- a/Tools/build_maps.sh +++ b/Tools/build_maps.sh @@ -16,9 +16,9 @@ then do cd "$(dirname "$QEDMAP")" MAPFILE="$(basename "$QEDMAP")" - PATH="$PATH:$OLDDIR" qbsp -wadpath "$CWD/$GAMEDIR" "$MAPFILE" - PATH="$PATH:$OLDDIR" qvis "$MAPFILE" - PATH="$PATH:$OLDDIR" qrad -extra4 "$MAPFILE" + LD_LIBRARY_PATH="$CWD" PATH="$PATH:$OLDDIR" qbsp -wadpath "$CWD/$GAMEDIR" "$MAPFILE" + LD_LIBRARY_PATH="$CWD" PATH="$PATH:$OLDDIR" qvis "$MAPFILE" + LD_LIBRARY_PATH="$CWD" PATH="$PATH:$OLDDIR" qrad -extra4 "$MAPFILE" cd "$OLDDIR" done diff --git a/Tools/build_wads.sh b/Tools/build_wads.sh index 6a153df..5336c62 100755 --- a/Tools/build_wads.sh +++ b/Tools/build_wads.sh @@ -18,8 +18,20 @@ build_wads() if [ ! "$DIRNAME" = "." ] then - echo "$DIRNAME" - imgtool --palette ../gfx/palette.lmp --genwad2 ../"$DIRNAME".wad ./"$DIRNAME" + if [ -f "$WADDIR/WAD3" ] + then + printf "WAD3 building %s:\n" "$DIRNAME" + imgtool --genwad3 ../"$DIRNAME".wad ./"$DIRNAME" + else + if [ -f "../gfx/palette.lmp" ] + then + printf "WAD2 Building %s:\n" "$DIRNAME" + imgtool --palette ../gfx/palette.lmp --genwad2 ../"$DIRNAME".wad ./"$DIRNAME" + else + printf "WAD2 (using Quake palette) building %s:\n" "$DIRNAME" + imgtool --genwad2 ../"$DIRNAME".wad ./"$DIRNAME" + fi + fi fi done } diff --git a/Tools/make_mapdef.sh b/Tools/make_mapdef.sh index 8f25a20..02aa4d0 100755 --- a/Tools/make_mapdef.sh +++ b/Tools/make_mapdef.sh @@ -14,13 +14,16 @@ ent_for_mod() echo '' > "$ENT_OUTFILE" echo "Scanning for definitions inside the game directory." - find "$CWD/$1/src/" -type f \( -iname \*.qc \) | while read EDEF_N; do + find "$CWD/src/" -type f \( -iname \*.qc \) | while read EDEF_N; do echo "... $EDEF_N" - sed -n '/\/*!QUAKED/,/*\//p' $EDEF_N >> "$ENT_OUTFILE" - # fix doxygen markup + sed -n '/\/*QUAKED/,/*\//p' $EDEF_N >> "$ENT_OUTFILE" done; - sed -i 's/*!QUAKED/*QUAKED/g' "$ENT_OUTFILE" + echo "Scanning for definitions inside the game directory." + find "$CWD/$1/src/" -type f \( -iname \*.qc \) | while read EDEF_N; do + echo "... $EDEF_N" + sed -n '/\/*QUAKED/,/*\//p' $EDEF_N >> "$ENT_OUTFILE" + done; cat "$CWD/Tools/base_entities.def" >> $ENT_OUTFILE } diff --git a/src/entities/func_croucharea.qc b/src/entities/func_croucharea.qc index bd6116a..64b668b 100644 --- a/src/entities/func_croucharea.qc +++ b/src/entities/func_croucharea.qc @@ -9,4 +9,12 @@ void idFuncCroucharea::idFuncCroucharea( void ) { SetModel(GetModel()); /* relink with the above properties */ } +/*QUAKED func_croucharea (1 0 0) ? +# OVERVIEW +Crouch area. Will become non-solid when the player is crouched. + +# KEYS +- "targetname" : Name + +*/ LINK_ENTITY_TO_CLASS(func_croucharea, idFuncCroucharea) \ No newline at end of file diff --git a/src/entities/func_door.qc b/src/entities/func_door.qc index 35a19fd..6d26a06 100644 --- a/src/entities/func_door.qc +++ b/src/entities/func_door.qc @@ -126,4 +126,16 @@ void ncFuncDoor::MoverFinishesMoving( void ) { } } +/*QUAKED func_door (0 .5 .8) ? STARTOPEN x DONTLINK x x TOGGLE +# OVERVIEW +Door that moves along an axis. + +# KEYS +- "targetname" : Name +- "angles" : Movement direction. +- "speed" : Movement speed in units per second. +- "wait" : Wait this many seconds before returning. -1 means wait infinitely. +- "lip" : Leave this many units of the door showing. + +*/ LINK_ENTITY_TO_CLASS( func_door, ncFuncDoor ) \ No newline at end of file diff --git a/src/entities/func_illusionary.qc b/src/entities/func_illusionary.qc index ef1e7b1..d223bda 100644 --- a/src/entities/func_illusionary.qc +++ b/src/entities/func_illusionary.qc @@ -13,4 +13,12 @@ void idFuncIllusionary::idFuncIllusionary( void ) { SetAbsoluteLightlevel(0.1); } +/*QUAKED func_illusionary (0 .5 .8) ? +# OVERVIEW +Non-solid wall. + +# KEYS +- "targetname" : Name + +*/ LINK_ENTITY_TO_CLASS(func_illusionary, idFuncIllusionary) \ No newline at end of file diff --git a/src/entities/func_wall.qc b/src/entities/func_wall.qc index a6f3405..41b5419 100644 --- a/src/entities/func_wall.qc +++ b/src/entities/func_wall.qc @@ -9,4 +9,12 @@ void idFuncWall::idFuncWall( void ) { SetModel(GetModel()); /* relink with the above properties */ } +/*QUAKED func_wall (0 .5 .8) ? +# OVERVIEW +Solid wall. + +# KEYS +- "targetname" : Name + +*/ LINK_ENTITY_TO_CLASS(func_wall, idFuncWall) \ No newline at end of file diff --git a/src/entities/info_null.qc b/src/entities/info_null.qc index d3dba71..1b784f0 100644 --- a/src/entities/info_null.qc +++ b/src/entities/info_null.qc @@ -6,6 +6,17 @@ void idNull::idNull( void ) { } +/*QUAKED info_null (0 .5 0) (-4 -4 -4) (4 4 4) + +*/ LINK_ENTITY_TO_CLASS(info_null, idNull) + +/*QUAKED info_notnull (0 .5 0) (-4 -4 -4) (4 4 4) + +*/ LINK_ENTITY_TO_CLASS(info_notnull, idNull) -LINK_ENTITY_TO_CLASS(info_teleport_destination, idNull) \ No newline at end of file + +/*QUAKED info_teleport_destination (.5 .5 .5) (-8 -8 -8) (8 8 32) + +*/ +LINK_ENTITY_TO_CLASS(info_teleport_destination, idNull) diff --git a/src/entities/info_player_start.qc b/src/entities/info_player_start.qc index 281a09e..f78a2d4 100644 --- a/src/entities/info_player_start.qc +++ b/src/entities/info_player_start.qc @@ -23,7 +23,18 @@ ncEntity ncPlayerStart::MovePlayerToStart( ncPlayer player ) { } } +/*QUAKED info_player_start (1 0 0) (-16 -16 -24) (16 16 32) +*/ LINK_ENTITY_TO_CLASS(info_player_start, ncPlayerStart) + +/*QUAKED info_player_deathmatch (1 0 1) (-16 -16 -24) (16 16 32) +*/ LINK_ENTITY_TO_CLASS(info_player_deathmatch, ncPlayerStart) + +/*QUAKED info_player_coop (1 0 1) (-16 -16 -24) (16 16 32) +*/ LINK_ENTITY_TO_CLASS(info_player_coop, ncPlayerStart) -LINK_ENTITY_TO_CLASS(info_player_start2, ncPlayerStart) \ No newline at end of file + +/*QUAKED info_player_start2 (1 0 0) (-16 -16 -24) (16 16 32) +*/ +LINK_ENTITY_TO_CLASS(info_player_start2, ncPlayerStart)