Commit graph

1400 commits

Author SHA1 Message Date
Christoph Oelckers
be9a05e32b - Added NOBLOCKMAP/MOVEWITHSECTOR combination to a few items that had their
NOBLOCKMAP flag taken away previously to make them move with a sector.
  This should fix the performance problem Claustrophobia had with recent
  ZDoom versions.


SVN r1537 (trunk)
2009-04-09 06:58:28 +00:00
Randy Heit
ac2f5aa632 - Added MF5_MOVEWITHSECTOR flag, so you can have the benefits of MF_NOBLOCKMAP
but still have actors that will move up and down with the floor. IceChunk
  now uses both of these flags.


SVN r1536 (trunk)
2009-04-09 02:25:37 +00:00
Randy Heit
47a4cffb30 - And again...
SVN r1535 (trunk)
2009-04-09 02:02:55 +00:00
Randy Heit
6a75a5ac94 - Fix GCC warning.
SVN r1534 (trunk)
2009-04-09 02:00:58 +00:00
Randy Heit
c601426248 - More performance optimization for FBlockThingsIterator::Next(): Changed
the array used to keep track of visited actors into a hash table.

SVN r1533 (trunk)
2009-04-09 01:40:30 +00:00
Randy Heit
a54367a3c0 - Performance optimization for FBlockThingsIterator::Next(): Actors that
exist in only one block don't need to be added to the CheckArray or
  scanned for in it.


SVN r1532 (trunk)
2009-04-08 22:59:06 +00:00
Randy Heit
3dc01e77f7 - Added gprof support. Pass -DPROFILE=1 to cmake when using a Debug or RelWithDebInfo
CMAKE_BUILD_TYPE. (It seems to like to hang when generating arith.h for gdtoa when you
  do this, but killing the make process and restarting it seems to fix that.)

SVN r1531 (trunk)
2009-04-08 22:26:09 +00:00
Randy Heit
5db6a5516b - I guess music_mus_midiout.cpp isn't Win32-only, is it?
SVN r1530 (trunk)
2009-04-08 04:58:36 +00:00
Randy Heit
993fcd233a - Fixed: MinGW needs malloc.h for alloca().
SVN r1529 (trunk)
2009-04-08 04:57:17 +00:00
Randy Heit
0060dab892 - Last was incomplete commit.
SVN r1528 (trunk)
2009-04-08 04:47:44 +00:00
Randy Heit
d3e1199c8f - Fixed: Not all control paths through DCanvas::ParseDrawTextureTags() called va_end.
- Moved the va_copy check out of the non-Win32 part of CMakeLists.txt so that it gets
  used for MinGW, too.

SVN r1527 (trunk)
2009-04-08 04:47:21 +00:00
Randy Heit
2ac649e09d - Added a va_copy/__va_copy check to CMakeLists.txt.
SVN r1526 (trunk)
2009-04-08 04:33:29 +00:00
Randy Heit
cc9efce818 - Fixed: Removing malloc.h for every system because FreeBSD doesn't like
it is wrong.


SVN r1525 (trunk)
2009-04-08 04:14:37 +00:00
Christoph Oelckers
a908834a11 - added some default definitions for constants that may miss in some headers.
- replaced __va_copy with va_copy per Chris's suggestion.
- replaced #include <malloc.h> with #include <stdlib.h> where possible.


SVN r1524 (trunk)
2009-04-07 07:06:07 +00:00
Christoph Oelckers
c8e01f9f91 - Fixed: The UDMF textmap readbuffer was never freed.
SVN r1523 (trunk)
2009-04-06 17:18:29 +00:00
Randy Heit
e16fde611f - Fixed: GetPlayerInput() died if you tried to get the input of the activator
and the activator was the world.


SVN r1522 (trunk)
2009-04-05 03:22:36 +00:00
Christoph Oelckers
78fb48302c - fixed: Any player class inheriting directly from PlayerPawn was left with
empty weapon slots due to the recent rewrite of the weapon slot assignment
  code. To handle such classes each game now defines a default weapon slot
  setting in its gameinfo. This will be used when a player class without any
  weapon slot settings is used.


SVN r1521 (trunk)
2009-04-04 17:46:33 +00:00
Christoph Oelckers
9d47afb304 - added 'damage' to the actor variables exported to DECORATE's expression
evaluator.
- fixed: solid corpses could block ripper missile that originally killed them.


SVN r1520 (trunk)
2009-04-04 09:28:10 +00:00
Randy Heit
4376c6b415 - Fixed: Doom's status bar was lacking its default face.
- Fixed: Custom skin face graphics were not added to the texture manager.


SVN r1519 (trunk)
2009-04-03 02:37:01 +00:00
Randy Heit
ccd3b2a6e1 - Fixed: UseHealthItems() gave you health equal to the number of items in
the stack of health items, rather than the item's proper amount.


SVN r1518 (trunk)
2009-04-03 01:25:06 +00:00
Randy Heit
08730b941b - Fixed: SBARINFO's "usessecondaryammo" considered a weapon to not use
secondaryammo if ammo2's type was the same as ammo1's, but only if you
  didn't use the "not" keyword with it.


SVN r1515 (trunk)
2009-04-02 01:48:59 +00:00
Christoph Oelckers
f62fcabb9c - Fixed: Altering a link type with Sector_SetLink did not work.
- Fixed: player.crouchsprite had no proper means of unsetting the crouch
  sprite which is needed by the ChexPlayer.
- Fixed: A_ChangeFlags must unlink the actor from the world before changing
  the NOBLOCKMAP and NOSECTOR flags.

SVN r1514 (trunk)
2009-03-29 08:55:15 +00:00
Randy Heit
7060f72186 - So, I guess if you're doing the inline asm properly, tsc doesn't need to be marked as
volatile.

SVN r1513 (trunk)
2009-03-29 02:40:41 +00:00
Christoph Oelckers
bf4e17703d - Fixed: Dehacked string replacement did not check the clusters' finaleflats.
- Changed the definition of several typedef'd structs so that they are
  properly named.
- Limited DEHSUPP lump lookup to search zdoom.pk3 only. It will no longer
  be possible to load DEHSUPP lumps from user WADs.
- Brought back the text-based DEHSUPP parser and changed it to be able to 
  reference states by label. Also changed label names of 
  DoomUnusedStates and added proper labels to all states that were
  previously forced to be the first state of an actor so that the old
  (limited) method could access them. This was done to address the following
  bug:
- Fixed: The player's death states calling A_PlayerSkinCheck should not be
  part of the state set that is accessible by Dehacked. These will produce
  error messages when mapped to non-players.

SVN r1512 (trunk)
2009-03-28 11:49:44 +00:00
Randy Heit
3ee37fdc08 - Fixed GCC rdtsc (for real this time, I hope).
SVN r1511 (trunk)
2009-03-28 03:31:52 +00:00
Randy Heit
366ed7047a - The variable the result of rdtsc is placed in also needs to be marked as volatile
to ensure that GCC doesn't optimize the function call away.

SVN r1510 (trunk)
2009-03-28 03:26:05 +00:00
Christoph Oelckers
e59ee12f2a - removed debug code.
SVN r1509 (trunk)
2009-03-27 23:23:10 +00:00
Christoph Oelckers
26420a9c60 - Fixed: Reading the RNG states from a savegame calculated the amounts of
RNGs in the savegame wrong.


SVN r1508 (trunk)
2009-03-27 22:07:16 +00:00
Randy Heit
7371c4a516 - Changed random seed initialization so that it uses the system's
cryptographically secure random number generator, if available, instead
  of the current time.
- Changed the random number generator from Lee Killough's algorithm to the
  SFMT607 variant of the Mersenne Twister.

SVN r1507 (trunk)
2009-03-27 04:49:17 +00:00
Randy Heit
35fe9ae690 - Made fmodex.dll delay-loaded so the game should be runnable on Windows 95
again, though without sound.



SVN r1506 (trunk)
2009-03-26 02:33:37 +00:00
Randy Heit
854097ba03 - Changed gameinfo_t and gameborder_t to be named structs instead of
typedef'ed anonymous structs.
- Fixed: P_AutoUseHealth() used autousemodes 0 and 1 instead of 1 and 2.
- Fixed: SBARINFO did not recognize 5:4 aspect ratio.
- Fixed: screenshot_dir was ignored.


SVN r1505 (trunk)
2009-03-26 02:06:14 +00:00
Christoph Oelckers
03e8f0e355 - Removed some obsolete code from G_InitLevelLocals that was causing problems
with maps that have no name.
- Fixed: The inner loop in AWeaponSlot::PickWeapon could endlessly loop when
  the counter variable became negative.


SVN r1504 (trunk)
2009-03-25 23:29:00 +00:00
Christoph Oelckers
f7bcd0b98e - Fixed: Implicitly defined clusters were not initialized when being created.
SVN r1503 (trunk)
2009-03-25 22:02:15 +00:00
Christoph Oelckers
218fc5018e - Fixed: Item tossing did not work anymore.
SVN r1502 (trunk)
2009-03-24 07:51:15 +00:00
Christoph Oelckers
e4da63e9f3 - Changed: Making the gameinfo customizable by MAPINFO requires different
checks for map specific border flats.
- fixed intermission music for Doom 1.


SVN r1501 (trunk)
2009-03-23 17:46:59 +00:00
Christoph Oelckers
9fdbf29cb1 - fixed Linux compile
SVN r1500 (trunk)
2009-03-23 07:37:57 +00:00
Christoph Oelckers
66fa1b01fe - intermission music for Doom2 was not correct.
SVN r1499 (trunk)
2009-03-22 15:19:30 +00:00
Christoph Oelckers
a150f6f9b7 - disabled Zip related code in IWAD detection for now
- forgot to add new files.


SVN r1498 (trunk)
2009-03-22 11:42:46 +00:00
Christoph Oelckers
505031fa5a - removed gamemission variable because it wasn't used anywhere.
- removed gamemode variable. All it was used for were some checks that
  really should depend on GI_MAPxx.
- Externalized all internal gameinfo definitions.
- added include to MAPINFO parser.
- split IWAD detection code off from d_main.cpp into its own file.
- disabled gamemission based switch filtering because it is not useful.
- added GAMEINFO submission by Blzut3 with significant modifications. There
  is no GAMEINFO lump. Instead all information is placed in MAPINFO, except
  the data that is needed to decide which WADs to autoload.


SVN r1497 (trunk)
2009-03-22 11:37:56 +00:00
Christoph Oelckers
81f834e3f4 - fixed: The WAD manager's hash chains could not handle more than 65535 lumps.
- Reinitializing the WAD manager will now delete all data.
- Preparation for GAMEINFO: zdoom.pk3 will be opened separately before checking the IWAD
  so that the internal GAMEINFOs can be externalized, too.


SVN r1494 (trunk)
2009-03-21 09:03:08 +00:00
Randy Heit
273e4a946d - Cleaned up the mapinfos some.
SVN r1493 (trunk)
2009-03-20 02:53:34 +00:00
Randy Heit
5c5137747f - Added the current value of the string buffer to the state saved when
making a function call in ACS. Now you can print inside functions and
  also return values from them for the caller to plug directly into
  another string without having to save it to a temporary variable.


SVN r1492 (trunk)
2009-03-20 02:13:25 +00:00
Randy Heit
301a554a69 - Added an OutputVolume() call after the MusicVolumeChanged() call in
MIDIStreamer::Play(). Since the state isn't playing yet when
  MusicVolumeChanged() is called, it doesn't do this itself.


SVN r1491 (trunk)
2009-03-20 01:58:33 +00:00
Randy Heit
7a06d3a71a - Fixed: P_RailAttack() passed the wrong angle variable to P_TraceBleed().
SVN r1490 (trunk)
2009-03-20 01:40:28 +00:00
Christoph Oelckers
18b4577bbd - Fixed: S_StopSound may not assume that after stopping a sound channel
its link to the next item in the list is still valid.
- Fixed typo in src/CMakeLists.txt.
- Fixed: Armor only worked for players.


SVN r1489 (trunk)
2009-03-19 22:48:55 +00:00
Christoph Oelckers
ca454bfeb3 - Fixed: P_FindFloorCeiling may not call P_PointInSector if called from
P_SpawnMapThing. It must use the values the actor has been initialized to
  by LinkToWorldForMapThing.


SVN r1488 (trunk)
2009-03-19 11:24:14 +00:00
Randy Heit
cfbf55acab - -norun works without -stdout now.
SVN r1487 (trunk)
2009-03-19 02:12:24 +00:00
Randy Heit
c2aab5dd46 - Added the -norun parameter to quit the game just before video
initialization. To be used to check for errors in scripts without actually
  running the game.
- Added the -stdout parameter to the Windows version to send all output to
  a console, like the Linux version has done all along.


SVN r1486 (trunk)
2009-03-18 05:02:32 +00:00
Randy Heit
314216343d - Added support for loading ZGL2 nodes. (Only useful with UDMF and maps with
more than 65534 lines.)


SVN r1485 (trunk)
2009-03-17 03:34:31 +00:00
Christoph Oelckers
63c170150d - Fixed: AWeapon::PickupForAmmo accessed ammo type 1 when checking ammo type2.
SVN r1481 (trunk)
2009-03-15 08:08:29 +00:00