Commit graph

1101 commits

Author SHA1 Message Date
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
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
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
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
Randy Heit
8724b45e15 - Changed Linux default for fullscreen to false.
- Removed CVAR_SERVERINFO flag from compatmode. Since it writes to
  compatflags, that should be enough. Having that flag set for both of
  them leads to problems with e.g. loading a savegame, where compatflags is
  restored, then compatmode is restored and it completely undoes whatever
  compatflags was restored to.
- Fixed: Trying to start a map for some single file that isn't really a map
  caused a crash.


SVN r1478 (trunk)
2009-03-15 01:41:53 +00:00
Randy Heit
7dd75670f4 - Fixed: After loading a savegame or unmorphing, a player's weapon slots
were empty.


SVN r1477 (trunk)
2009-03-13 03:18:06 +00:00
Randy Heit
69c2c4de64 - Moved weapon slot initialization into APlayerPawn::PostBeginPlay() so that
they can be initialized when players respawn in multiplayer.


SVN r1476 (trunk)
2009-03-12 03:54:23 +00:00
Christoph Oelckers
c65dc5bad4 - Added a Check for the Vavoom namespace to the UDMF parser. Functionally
it's 100% identical with ZDoom's own but needs to be checked for in
  case Vavoom compatible UDMF maps are released.


SVN r1475 (trunk)
2009-03-11 19:28:10 +00:00
Randy Heit
aee99c2bd0 - Added an SDL output plugin, so FMOD can produce sound using SDL's audio
support instead of its own OSS/ALSA/ESD support. This is selectable by
  setting snd_output to "sdl".



SVN r1473 (trunk)
2009-03-11 04:56:43 +00:00
Randy Heit
fcdab6a777 - Added sdl_nokeyrepeat to disable key repeating in the menus and console
on Linux.



SVN r1470 (trunk)
2009-03-11 00:17:31 +00:00
Randy Heit
75b7db858f - Added support for zip/pk3 files with LZMA and bzip2 compression to ZDoom.
- Added more output to zipdir and a -q option to turn it off.
- Added -u option to zipdir to only recompress those files in a zip that have
  changed. 
- Added -d and -f options to zipdir. -d forces deflate compression, and -f
  forces a write of the zip, even if it's newer than all the files it contains.
- Added support for bzip2 and LZMA compression to zipdir.


SVN r1468 (trunk)
2009-03-10 23:07:37 +00:00
Christoph Oelckers
b072431d3b - Adjusted some gravity related thresholds for the fix from Feb 28. Also removed
some unnecessary floating point math from this code.


SVN r1465 (trunk)
2009-03-07 09:16:32 +00:00
Christoph Oelckers
e57ff454f2 - Added Hirogen2's patch for unlimited ammo CVAR.
SVN r1464 (trunk)
2009-03-06 22:58:34 +00:00
Randy Heit
ee1806e9b2 - Fixed: You couldn't easily play with the compatibility options menu during
the title screen, because the demo loop reset the server cvars after each
  attempt to play a demo, even though the demos never actually played. The
  proper long-term solution would be to make shadow copies of all cvars
  touched by demos and use those for the demo and the real things for
  everything else, but this should do for now and is a lot easier.


SVN r1463 (trunk)
2009-03-04 23:19:46 +00:00
Randy Heit
e9121b607d - Fixed: When using BOOM-style sector flags and specials together, the
special was ignored unless it was "secret".


SVN r1462 (trunk)
2009-03-04 23:07:18 +00:00
Randy Heit
88e32146b9 - Fixed: One byte is too short for DUMB_IT_SIGRENDERER to store song tempo.
Changed it to a word.


SVN r1461 (trunk)
2009-03-04 22:18:46 +00:00
Randy Heit
5eeaa130fd - Went back to using RDTSC for timing on Win32. Ironically,
QueryPerformanceCounter() is obviously using the TSC for its timing on my
  machine, yet the overhead it has to do to keep the timer sane is apparently
  noticeable on a few maps. I suppose I should at some time check
  clock_gettime() and see if it has similar issues on Linux.


SVN r1460 (trunk)
2009-03-04 06:06:31 +00:00
Christoph Oelckers
3b36334704 - changed: If a monster with the BOSSDEATH flag is crushed A_BossDeath will
be called now.
- fixed: D'Sparil's second form was missing the BOSSDEATH flag.
- fixed: D'Sparil's first form requires the DONTGIB flag.
- fixed: Heretic doesn't crush monsters. To handle this in a more generic
  fashion this depends on the presence of a gib sprite now.


SVN r1459 (trunk)
2009-03-03 21:17:00 +00:00
Christoph Oelckers
d73d5dcaac - Changed burn and Acolyte death sequences so that they leave corpses that
don't vanish.


SVN r1458 (trunk)
2009-03-01 21:12:05 +00:00
Christoph Oelckers
74642ca626 - Fixed: AActor::SetOrigin must call P_FindFloorCeiling to get the true
floor and ceiling heights. Otherwise the actor will fall right through
  3DMidtex textures (and 3D-floors.)


SVN r1456 (trunk)
2009-03-01 10:12:12 +00:00
Randy Heit
d0763f4820 - Fixed: The TeleporterBeacon tried to enter its See state rather than its
Drop state. Also changed it to fade out when it's done rather than
  disappearing abruptly.


SVN r1453 (trunk)
2009-03-01 02:19:46 +00:00
Christoph Oelckers
42ac64d964 - Fixed: Strife's quest based line actions also work in Deathmatch.
- Fixed: Gravity application was not correct. For actors with no vertical 
  momentum the initial pull is supposed to be twice as strong as when 
  vertical movement already takes place.
- added invquery CCMD like in Strife. Also removed all underscores from the
  tag strings so that they can be printed properly.
- Fixed: Skill baby was missing 'autousehealth' for all games.
- Added a new CVAR: sv_disableautohealth
- Autouse of health items is no longer hardwired to the default item classes. 
  There's a new property HealthPickup.Autouse. 0 means no autouse, 1 a small 
  Raven health item, 2 a large Raven health item and 3 a Strife item.



SVN r1452 (trunk)
2009-02-28 21:38:20 +00:00
Randy Heit
37aa4c2c28 - Removed an early-out in wallscan_striped() that is invalid when drawing a
skybox.


SVN r1451 (trunk)
2009-02-27 03:45:14 +00:00
Randy Heit
4535382031 - The SFX Reverb unit is now moved so that it serves as an input to the water
effect rather than as an input to the ChannelGroup Target Unit. This means
  the water effect is now applied after any room reverb, rather than in
  parallel with it.
- Fixed: UI sounds should not have reverb applied to them.


SVN r1450 (trunk)
2009-02-26 06:23:05 +00:00
Christoph Oelckers
1f5cf23418 - fixed: nextmap and nextsecret CCMDs set skill to 0.
SVN r1449 (trunk)
2009-02-25 23:25:47 +00:00
Christoph Oelckers
2c65d5b8f5 - fixed: level.flags2 was not stored in savegames. Also bumped min. savegame
version and removed old compatibility handlings.

SVN r1448 (trunk)
2009-02-25 22:10:06 +00:00
Randy Heit
a18018f607 - Removed the delay for starting all sounds from one tic at exactly the same
DSP position. Without also synchronizing the stopping of sounds, it can
  cause problems with things like the chainsaw where the sound is stopped and
  immediately restarted, causing occasional gaps between the stopping of the
  sound and the starting of the new one. (I added the start synchronization to
  combat flanging of paired moving polyobjects when moving around, but I think
  just removing velocity from the player for sound calculations takes care of
  that well enough.)


SVN r1447 (trunk)
2009-02-25 21:31:14 +00:00
Christoph Oelckers
d91f0c4090 - Added GCC headers for intptr_t to tarray.h.
- Added MF5_PAINLESS flag for projectiles that don't make the target go into
  the pain state.


SVN r1446 (trunk)
2009-02-24 21:19:10 +00:00
Randy Heit
c2b4522b8f - Changed DEM_ADDSLOTDEFAULT, DEM_ADDSLOT, and DEM_SETSLOT to be more space-
efficient.


SVN r1445 (trunk)
2009-02-24 05:58:59 +00:00
Randy Heit
a71e87b9df - Fixed: player->oldbuttons was copied from the current button set at the end
of P_PlayerThink(), well before ACS could ever get at it with GetPlayerInput.


SVN r1444 (trunk)
2009-02-24 04:13:38 +00:00
Christoph Oelckers
f188577bb5 - Fixed: The map name display on the automap was incomplete.
- Added FakeInventory.Respawns DECORATe property
- Fixed: Unsetting the MF5_INCONVERSATION flag did not work when quitting the
  conversation by pressing Escape.


SVN r1442 (trunk)
2009-02-23 21:55:36 +00:00
Christoph Oelckers
613ae5e022 - added ML_BLOCKPROJECTILE flag to lines.
SVN r1440 (trunk)
2009-02-22 15:39:42 +00:00
Christoph Oelckers
eb47f4fdbf - Fixed: With opl_onechip set the second OPL chip was never set to anything valid
so it contained an invalid pointer. There were also a few other places that
  simply assumed that the second chip is set to something valid.
- Fixed: NPCs which are engaged in a conversation should not move.
- Fixed: Player movement animation was not stopped when starting a conversation.


SVN r1439 (trunk)
2009-02-22 10:25:12 +00:00
Randy Heit
10c31b82cb - Added selective compression of network packets. Interestingly, most packets
don't actually compress all that well, even the ones that aren't too short
  to possibly compress. (Maybe make the whole thing one long, never-ending
  zlib data stream with Z_SYNC_FLUSH used to chunk things at packet
  boundaries? That would probably help the compression ratio, but it would
  require changing the way the netcode determines sequence, which would be
  a much more invasive change.)


SVN r1438 (trunk)
2009-02-22 05:05:58 +00:00
Christoph Oelckers
317b8c1d7c - Fixed: Heretic's fullscreen HUD crashed when the player had armor without
a valid icon.


SVN r1436 (trunk)
2009-02-21 23:17:37 +00:00
Christoph Oelckers
b94b832a9e - Fixed: Untranslated colors in fonts had an alpha value of 0 but need 255.
SVN r1433 (trunk)
2009-02-21 11:30:42 +00:00
Christoph Oelckers
a09e15fa09 - Fixed: The Doom status bar's ammo display may not use the INDEXFONT for
the alternative HUD. Instead it has to create a separate one out of the
  STYSNUM characters.


SVN r1432 (trunk)
2009-02-21 11:08:14 +00:00