Commit graph

6266 commits

Author SHA1 Message Date
Christoph Oelckers
7312e6a621 - Added a global symbol table and changed DECORATE parser to put its global
symbols there instead of into AActor.
- Changed the expression evaluator's floating point precision to double.
- Started rewriting the DECORATE expression evaluator to allow more flexibility.
  All the operators use the new functionality but functions, variables and
  constants are yet to be redone.
  While doing this rewrite I noticed that random2 was always evaluated as const.
  This got fixed automatically.


SVN r1264 (trunk)
2008-10-18 17:17:44 +00:00
Christoph Oelckers
bca1fc5068 - Fixed: The TEXTURES parser could copy beyond the end of a string when parsing
a 'define' definition.


SVN r1263 (trunk)
2008-10-14 07:57:16 +00:00
Randy Heit
738e8ca7ad - GCC warning removal.
* This may or may not be a problem, but GCC warned that FStateDefinitions::
    AddStateDefines() does not initialize def.FStateDefine::DefineFlags, so
    I fixed that.


SVN r1262 (trunk)
2008-10-14 03:21:53 +00:00
Randy Heit
8d4912f4af - Fixed: The three-argument version of AActor::FindState() initialized a
two-entry array for passing to the main FindState() routine, but did
  not actually pass it, passing the original primary label instead.


SVN r1261 (trunk)
2008-10-14 01:56:28 +00:00
Randy Heit
86e650207d - The root CMakeLists.txt now explicitly sets the build type to Debug if you
don't tell it otherwise.
- src/CMakeLists.txt now searches for fmod.hpp instead of fmod.h.

SVN r1260 (trunk)
2008-10-14 01:28:04 +00:00
Randy Heit
cb159b26c2 - Fixed: SDL builds did not shutdown the sound system at exit.
- Fixed: ThingCountSector and ThingCountNameSector did not remove enough
  entries from the stack, and did not put the result in the right slot.
- Fixed: Teleport lines were prioritized over secret lines when deciding what
  color to draw them on the automap.
- Fixed: Death-reverting morphs did not remove the morph item from the
  player's inventory when death caused the morph to revert.
- Updated fmod_wrap.h for FMOD Ex 4.18.


SVN r1259 (trunk)
2008-10-14 01:24:27 +00:00
Christoph Oelckers
c800d1ec2c - shouldn't have committed without testing...
SVN r1258 (trunk)
2008-10-07 21:03:21 +00:00
Christoph Oelckers
402d0e5fa1 - Fixed: Cheats in demos must not access the weapon slots.
- Fixed: S_ChannelEnded didn't check for a NULL SfxInfo.
- Fixed: R_InitTables did a typecast to angle_t instead of fixed_t.
- Fixed: PowerProtection and PowerDamage applied their defaults incorrectly.
- Fixed: The damage type property didn't properly read its factor.


SVN r1257 (trunk)
2008-10-07 18:21:03 +00:00
Christoph Oelckers
7b82745665 - added dumpstates CCMD for debugging.
SVN r1256 (trunk)
2008-10-05 20:57:48 +00:00
Christoph Oelckers
0b120116ab - State parser fixes.
SVN r1255 (trunk)
2008-10-05 18:45:05 +00:00
Christoph Oelckers
9adef560c2 - reverted private changes to project file that were accidentally committed
SVN r1254 (trunk)
2008-10-05 11:57:59 +00:00
Christoph Oelckers
2221ab5668 - Finally has the right idea how to restore Doom's original clipping of projectiles
against decorations without breaking anything newer:
  Added a new 'projectilepassheight' property that defines an alternative height
  that is only used when checking a projectile's movement against this actor.
  If the value is positive it is used regardless of other settings, if it is
  negative, its absolute will be used if a new compatibility option is enabled
  and if it is 0 the normal height will be used.


SVN r1253 (trunk)
2008-10-05 11:23:41 +00:00
Christoph Oelckers
d9ab611db2 - Fixed: Powerup.Color's handler contained an unnecessary 'else' which resulted
in opaque powerup blends.

SVN r1252 (trunk)
2008-10-05 08:50:47 +00:00
Christoph Oelckers
1cf770271c - Fixed: Resurrecting a player didn't unset the RF_INVISIBLE flag which is
set when the player is crushed to gibs under a door.


SVN r1251 (trunk)
2008-10-04 07:45:54 +00:00
Christoph Oelckers
52ad2800d1 - Fixed: Dropitem gave incorrect amounts to the item if a probability was set.
SVN r1250 (trunk)
2008-09-28 07:23:15 +00:00
Christoph Oelckers
07e74419d5 - Fixed: weapon.ammogive2 always gave 2 amounts of ammo.
SVN r1249 (trunk)
2008-09-27 07:57:41 +00:00
Christoph Oelckers
dd49574325 SVN r1248 (trunk) 2008-09-27 07:11:38 +00:00
Christoph Oelckers
b21d837b5a - Fixed: player.colorrange didn't read the parameters correctly.
- Reverted an 'optimization' in d_dehacked.cpp that didn't work.


SVN r1247 (trunk)
2008-09-24 23:22:55 +00:00
Christoph Oelckers
ec1cfdd236 - Fixed: Old style decorations forgot all inherited states when installing their labels.
SVN r1246 (trunk)
2008-09-23 19:14:50 +00:00
Christoph Oelckers
3e291cf528 - Liux compile fixes.
SVN r1245 (trunk)
2008-09-23 07:46:23 +00:00
Christoph Oelckers
1cbaa24f96 - last commit was missing one file.
SVN r1244 (trunk)
2008-09-22 20:42:11 +00:00
Christoph Oelckers
954955c5a5 - Used the one unused byte in the state structure as a flag to tell what type
the NextState parameter is. The code did some rather unsafe checks with it
  to determine its type.
- moved all state related code into a new file: p_states.cpp.
- merged all FindState functions. All the different variations are now inlined
  and call the same function to do the real work.


SVN r1243 (trunk)
2008-09-22 18:55:29 +00:00
Christoph Oelckers
b523ebd2a7 - Removed debug output.
- One line of code was accidentally deleted for last commit.

SVN r1242 (trunk)
2008-09-22 07:30:37 +00:00
Christoph Oelckers
8a79985f46 - did some code cleanup and reorganization in thingdef.cpp.
- Replaced the translation parser for TEXTURES with FRemapTable::AddToTranslation.


SVN r1241 (trunk)
2008-09-21 22:25:23 +00:00
Christoph Oelckers
6227906072 - Fixed: SNDINFO must be loaded before the textures. However, this required
some changes to the MAPINFO parser which tried to access the texture manager
  to check if the level name patches exist. That check had to be moved to
  where the intermission screen is set up.
- Fixed: 'bloodcolor' ignored the first parameter value when given a list
  of integers.
  Please note that this creates an incompatibility between old and new 
  versions so if you want to create something that works with both 2.2.0
  and current versions better use the string format version for the color
  parameter!
- Rewrote the DECORATE property parser so that the parser is completely
  separated from the property handlers. This should allow reuse of all 
  the handler code for a new format if Doomscript requires one.
- Fixed: PClass::InitializeActorInfo copied too many bytes if a subclass's
  defaults were larger than the parent's.
- Moved A_ChangeFlag to thingdef_codeptr.cpp.
- Moved translation related code from thingdef_properties.cpp to r_translate.cpp
  and rewrote the translation parser to use FScanner instead of strtol.
- replaced DECORATE's 'alpha default' by 'defaultalpha' for consistency.
  Since this was never used outside zdoom.pk3 it's not critical.
- Removed support for game specific pickup messages because the only thing
  this was ever used for - Raven's invulnerability item - has already been
  split up into a Heretic and Hexen version.

SVN r1240 (trunk)
2008-09-21 18:02:38 +00:00
Randy Heit
2b16b99f4d - Fixed: The Timidity config parser always tried to process the note number,
even if it wasn't specified.


SVN r1239 (trunk)
2008-09-21 02:46:53 +00:00
Randy Heit
dab73198fa - Fixed: When UpdateJoystickMenu() modifies the menu items for different
controllers, the joystick axis selectors need to NULL the d.graycheck
  field, since this is shared by the axis sensitivity sliders' step values.


SVN r1238 (trunk)
2008-09-20 03:08:54 +00:00
Christoph Oelckers
d88e960bb9 - Fixed: The crosshair must be initialized after the texture manager because
on the fly texture creation for graphics patches is no longer supported.


SVN r1237 (trunk)
2008-09-19 22:34:32 +00:00
Christoph Oelckers
b2b81fc8ad Linux compile fixes.
SVN r1236 (trunk)
2008-09-19 07:10:14 +00:00
Christoph Oelckers
71dd0d0269 - another #include fix for Linux.
- Added a 'logarithmic' parameter to S_GetRolloff.


SVN r1235 (trunk)
2008-09-18 21:00:12 +00:00
Christoph Oelckers
4ecb892df3 Fixed: sdl/i_input.cpp must include d_event.h.
SVN r1234 (trunk)
2008-09-18 06:57:51 +00:00
Randy Heit
5617db8dba - Fixed: Game files that were excluded from building in r1226 were still included for x64 configurations. (Though I honestly don't notice a difference in compiling time with VC++. GCC, yes, but GCC is still slow--thank goodness for parallel makes and now-commonplace multicore processors.)
SVN r1233 (trunk)
2008-09-17 20:51:15 +00:00
Randy Heit
00b21e4b96 - Apparently, YASM is not a suitable substitute for NASM when doing Win32 builds.
- Removed extraneous printf parameter for Texman.Init startup message.
- Added newlines to the ends of a few headers that were missing them.
- Fixed more GCC errors/warnings.

SVN r1232 (trunk)
2008-09-17 20:24:08 +00:00
Randy Heit
9802278357 - Fixed: src/CMakeLists.txt was broken for 32-bit MinGW Makefiles builds.
SVN r1231 (trunk)
2008-09-17 19:54:12 +00:00
Christoph Oelckers
3637c878cd - Changed: Replaced weapons should not be given by generic cheats, only
when explicitly giving them.
- Changed 'give weapon' cheat so that in single player it only gives weapons
  belonging to the current game or are placed in a weapon slot to avoid
  giving the Chex Quest weapons in Doom and vice versa.
- Fixed: The texture manager must be the first thing to be initialized
  because MAPINFO and DECORATE both can reference textures and letting them
  create their own textures is not safe.


SVN r1230 (trunk)
2008-09-17 00:14:33 +00:00
Christoph Oelckers
0e98244df2 . fixed an uninitialized variable in sound code.
SVN r1229 (trunk)
2008-09-15 23:40:13 +00:00
Christoph Oelckers
d1f8518a79 - Separated low level sound code from all high level dependencies.
SVN r1228 (trunk)
2008-09-15 18:18:04 +00:00
Christoph Oelckers
5d9483b632 - Moved some more high level sound logic out of FMODSoundRenderer:
The rolloff and channel ended callbacks now call functions in s_sound.cpp
  instead of working on the data itself and GSnd->StopSound has been replaced
  with S_StopChannel.


SVN r1227 (trunk)
2008-09-15 16:02:05 +00:00
Christoph Oelckers
760f70d3f1 - Changed compilation for g_doom, g_heretic, g_hexen and g_strife folders
so that all files are included by a central one instead of compiling 
  each one separately. This speeds up the compilation process by 25%
  when doing a complete rebuild in Visual C.
- Cleaned up more header dependencies.

SVN r1226 (trunk)
2008-09-15 14:11:05 +00:00
Christoph Oelckers
b07542ddd6 More header cleanup.
SVN r1225 (trunk)
2008-09-15 00:47:31 +00:00
Christoph Oelckers
db5723997c - Cleaned up some include dependencies.
SVN r1224 (trunk)
2008-09-14 23:54:38 +00:00
Christoph Oelckers
c86ca5e891 - fixed: For Chex Quest some CVars were initialized to Heretic's default.
SVN r1223 (trunk)
2008-09-14 10:28:20 +00:00
Christoph Oelckers
d8dad009e1 - Fixed a CQ pickup message.
SVN r1222 (trunk)
2008-09-14 06:44:22 +00:00
Christoph Oelckers
2cad1c2c19 - Moved IF_ALWAYSPICKUP and GiveQuest into CallTryPickup so that they are
automatically used by all inventory classes.
- The previous change made it necessary to replace all TryPickup calls with
  another function that just calls TryPickup.
- Fixed: AInventory::TryPickup can change the toucher so this must be reported
  to subclasses calling the super function. Changed TryPickup to pass the
  toucher pointer by reference.


SVN r1221 (trunk)
2008-09-13 22:08:41 +00:00
Christoph Oelckers
f625b92704 - CQ3 detection was broken.
SVN r1220 (trunk)
2008-09-13 21:02:29 +00:00
Christoph Oelckers
2c74e287a9 - Prefixed all names of CQ decorations with Chex after seeing some conflicts
with PWADs.
- Removed Chex Quest actors that were just unaltered duplicates of Doom's.
- Added detection for Chex Quest 3 IWAD.
- Cleaned up M_QuitGame because the code was almost incomprehensible and I
  wanted to add CQ3's new quit messages.
- Added Chex Quest obituaries and a few other messages from CQ3.
- Fixed: drawbar improperly clipped images when not in the top left quadrant.



SVN r1219 (trunk)
2008-09-13 19:19:53 +00:00
Christoph Oelckers
90e3bef2ab - Fixed: Crouching no longer worked due to a bug introduced by the
player input code.


SVN r1218 (trunk)
2008-09-13 07:22:13 +00:00
Randy Heit
67e65c4ea5 Did not have log saved completely.
SVN r1216 (trunk)
2008-09-13 02:56:37 +00:00
Randy Heit
5cd4604f81 - Added GetPlayerInput() for examining a player's inputs from ACS. Most
buttons are now passed across the network, and there are four new user
  buttons specifically for use with this command. Also defined +zoom
  and +reload for future implementation.

  See http://zdoom.org/files/examples/playerinput.zip for an example.


SVN r1215 (trunk)
2008-09-13 02:55:45 +00:00
Randy Heit
4ffa924929 - Fixed: Hexen's fourth weapon pieces did not play the correct pickup sound,
and when they were fully assembled, they did not play the sound across the
  entire level.


SVN r1213 (trunk)
2008-09-12 01:12:40 +00:00