Commit graph

61 commits

Author SHA1 Message Date
Christoph Oelckers
9f35788164 - added custom automap overlay colors.
- extended am_drawmapback so that map backgrounds can only be drawn if used with custom colorsets and Raven's, assuming that these sets were specifically made for the accompanying backgrounds.
2013-08-09 11:00:24 +02:00
Christoph Oelckers
aa72857c72 - implemented automap color parser for MAPINFO (code not tested yet!) 2013-08-02 16:56:42 +02:00
Randy Heit
0eb72156ed I hope I don't regret doing this so close before I want to do a release, since it's a pretty
major change to ACS's workings. However, I had an epiphany yesterday and just had to do this, since it seems like too big a deal to hold off until a later release:
- Dynamically generated strings returned via strparam and get(user)cvar now last as long as they
  need to. They do not disappear at the end of each tic. You can now safely store them in
  variables and hold on to them indefinitely. In addition, strings from libraries no longer
  require you to load the exact same libraries in the exact same order. You can even store a
  library's string in a world variable and retrieve it on another map that doesn't load the
  library at all, and it will still be the correct string.
- ACS library IDs now only get 12 bits instead of 16 so that each string table can hold up
  to about a million strings instead of just 65536. This shouldn't be a problem, although it
  means that save games that had strings with the larger IDs stored in variables are no
  longer compatible. Since many saves don't involve libraries at all, and even many that do 
  are not actually affected, I'm not bumping the min save version. The worst that can happen
  is that you get no text at all where some was expected.

SVN r4295 (trunk)
2013-05-30 02:22:47 +00:00
Randy Heit
0b9b6dda2e - Fixed: The changemap CCMD did not work for maps not defined by MAPINFO.
SVN r4131 (trunk)
2013-02-12 23:55:28 +00:00
Randy Heit
787c338871 - Added MAPINFO flag "SpawnWithWeaponRaised".
SVN r4013 (trunk)
2013-01-03 02:08:08 +00:00
Randy Heit
bfae51ed2e - Added Gez's BFG edition patch.
SVN r3926 (trunk)
2012-11-01 02:42:14 +00:00
Randy Heit
40cefe6107 - Fixed: When r3837 moved SNDINFO parsing before MAPINFO parsing, it broke support for Hexen's $map SNDINFO command. Removed LEVEL2_MUSICDEFINED, since it's no longer needed by the new implementation for this command.
SVN r3856 (trunk)
2012-08-28 03:21:13 +00:00
Randy Heit
c954fb5477 - Added the mapinfo flag ForgetState. This prevents a maps state from being remembered in a hub,
so when you return to it without leaving the hub, it will be as if you had never set foot in
  it. RememberState is provided to turn this flag off.

SVN r3846 (trunk)
2012-08-23 00:31:29 +00:00
Randy Heit
9d82c7fa0e - Added PrecacheSounds mapinfo option. This takes a list of sounds to preload when the level is
loaded.

SVN r3837 (trunk)
2012-08-22 22:36:06 +00:00
Randy Heit
71601f91d1 - Added MAPINFO flag RandomPlayerStarts. In this mode, no voodoo dolls are spawned. Instead, all
player starts are added to a pool, and players spawn at a random spot.

SVN r3749 (trunk)
2012-07-08 01:43:47 +00:00
Randy Heit
f0d60ddcee - Added UsePlayerStartZ MAPINFO option to cause P_SpawnPlayer() to offset the spawned player's
Z position by the MapThing's Z, just like for any other MapThing.
- P_SpawnPlayer() now respects a player's SPAWNCEILING and SPAWNFLOAT flags.

SVN r3746 (trunk)
2012-07-07 03:18:09 +00:00
Christoph Oelckers
af43ef8983 - added Gez's submission to add a compatibility option for Doom's floor motion behavior to fix an issue in phobos.wad.
SVN r3623 (trunk)
2012-05-05 22:53:16 +00:00
Randy Heit
e121bd7d92 - Added compat_badangles to simulate Doom's incorrect sine table: Player
spawning and teleporting will be offset by one fineangle so they cannot
  face directly in one of the cardinal directions.



SVN r3308 (trunk)
2011-11-01 02:58:52 +00:00
Randy Heit
29e486495b - Fixed: The sign in Eternall.wad, map25 on line 2236 rendered at the wrong height because Doom
ignored the Y locations of patches drawn on two-sided midtextures and always drew them at the
  top of the texture. Added a compatibility flag.

SVN r3205 (trunk)
2011-05-13 03:29:48 +00:00
Christoph Oelckers
1993e969b7 - GCC warning fixes (GCC stupidity for the most part.)
SVN r3154 (trunk)
2011-02-19 08:59:43 +00:00
Christoph Oelckers
6d614af4f4 - added a 'noautosavehint' MAPINFO option. This does not actually block the autosave from happening. It just does not increase the autosave counter so any subsequent autosave in the same session will overwrite the last one which was saved with this hint on.
SVN r3050 (trunk)
2010-12-16 09:13:06 +00:00
Christoph Oelckers
f0f17e531c - move static AM color initialization into the AM_StaticInit function.
- move D_LoadWadSettings to keysections.cpp.
- made some more data reloadable.
- data structures filled by P_SetupLevel should be cleared before loading the level. They can remain non-empty in case of an error. There's probably more to fix here...
- fixed: MidiDevices and MusicAliases were not cleared before reloading local SNDINFOs.
- fixed signed/unsigned warnings in AddSwitchPair for real (GCC really allows -1u? MSVC prints a warning for that.)


SVN r3036 (trunk)
2010-12-14 00:50:02 +00:00
Christoph Oelckers
c6525a2271 - changed some data init code to delete the data it wants to initialize first.
- The 'savebuffer' variable still existed?
- Changed AInventory::Destroy to NULL SendItemUse and SendItemDrop if they point to the destroyed object. Although unlikely it can't be ruled out completely that this can happen with delayed CCMDs.
- fixed: Starting a new game did not clear the hub statistics array.


SVN r3034 (trunk)
2010-12-13 10:02:45 +00:00
Christoph Oelckers
5bc4bc90bb - fixed: A new episode definition for a map that already had one defined did not replace the old definition.
- fixed: Skipping the skill menu did not work because it checked the number of episodes, not skills.


SVN r3017 (trunk)
2010-12-02 13:57:05 +00:00
Christoph Oelckers
f318653a11 - fixed: The intermission data was never freed.
SVN r2955 (trunk)
2010-10-17 13:25:21 +00:00
Christoph Oelckers
d9970ab9b6 - merged finale branch back into trunk.
SVN r2911 (trunk)
2010-10-06 10:44:03 +00:00
Christoph Oelckers
54bdf38fef - resurrected some old statistics code I had and made some minor enhancements to be of more use.
SVN r2821 (trunk)
2010-09-18 16:08:10 +00:00
Christoph Oelckers
579502ab74 - merged menu branch back into trunk.
SVN r2768 (trunk)
2010-09-14 17:28:18 +00:00
Christoph Oelckers
66f6115c86 - added a compatibility option to render all segs of a polyobject in the center's subsector and automatically set it for Hexen MAP36 and HEXDD MAP47.
SVN r2543 (trunk)
2010-08-15 10:02:10 +00:00
Christoph Oelckers
6df5e6f9cb - added Gez's anti-crossinclude submission but made some changes. Cross-includes overriding core files will produce fatal errors but cross-includes between PWADs will be tolerated. For DECORATE a command line override switch exists so that for testing the error can be disabled.
SVN r2400 (trunk)
2010-07-01 09:35:39 +00:00
Braden Obrzut
9bf543af99 - Fixed: Episodes starting on a map with 8 characters in its lump name would not work.
SVN r2394 (trunk)
2010-06-30 06:09:49 +00:00
Randy Heit
34d8212d64 - Changed G_ChangeLevel()'s parameter list to match the ACS version's.
- Added resethealth to complement resetinventory.

SVN r2377 (trunk)
2010-06-18 03:35:41 +00:00
Christoph Oelckers
042e913022 - added Boom's fix for finding the highest neighboring light level per sector (compatibility optioned by COMPATF_LIGHT.)
SVN r2343 (trunk)
2010-05-29 07:07:39 +00:00
Christoph Oelckers
862d6551bc - fixed: Heretic's 666 lower floor must be of type LowerToHighest unlike Doom which is LowerToLowest.
SVN r2342 (trunk)
2010-05-28 21:29:28 +00:00
Randy Heit
69c777df4c - Allow defaultenvironment to take names as well as numeric IDs.
SVN r2262 (trunk)
2010-03-31 23:33:18 +00:00
Randy Heit
aa86e62693 - Added DefaultEnvironment MAPINFO option to set the default sound environment for the whole map.
SVN r2261 (trunk)
2010-03-31 03:48:16 +00:00
Christoph Oelckers
c191d95110 - Fixed: Hexen's fighter's skull has a different animation than Heretic's so it needs to be a separate class.
- Added an option to parse lumps named ZMAPINFO in place of MAPINFO. Any MAPINFO lumps in files containing
  a ZMAPINFO lump will be completely ignored. This is to allow ZDoom specific definitions which are incompatible 
  with other engines capable of reading MAPINFO. Any ZMAPINFO lump must be in the new MAPINFO format.



SVN r2208 (trunk)
2010-03-13 08:28:13 +00:00
Randy Heit
d19878efcb - Added BOOM/MBF BEX-style narrative background text substitution. There are two changes because
of this:
  * A cluster's flat definition can now be preceded by a $ to do a string table lookup.
  * Since the standard flat names are now in the LANGUAGE lump, the normal Dehacked substitution
    for these is no longer handled specially and so will not be automatically disabled merely
    by providing your own MAPINFO.

SVN r2195 (trunk)
2010-03-06 03:28:22 +00:00
Randy Heit
8de8924c47 - Fixed: The MAPINFO keyword resetinventory only worked when traveling to a redirected map.
SVN r2108 (trunk)
2010-01-08 03:40:10 +00:00
Christoph Oelckers
51e158d7dc - added all known maps requiring inverted sprite sorting to compatibility.txt.
- added compatibility option to invert sprite sorting. Apparently Doom.exe
  originally sorted them differently than most source port and on some maps
  which depends on this it doesn't look right (e.g. Strain MAP13)


SVN r2031 (trunk)
2009-12-18 08:19:34 +00:00
Christoph Oelckers
d8acbf71fa - fixed: The 'new format only' flag for MAPINFO options was never checked.
(ZDoom itself doesn't use it yet so it's only relevant for child ports.)



SVN r1964 (trunk)
2009-11-06 06:56:25 +00:00
Christoph Oelckers
4a057c1fdc - Added Gez's cleanup patch for MBF support but undid the deletion of the MF6_JUMPDOWN flag which will be implemented later.
SVN r1827 (trunk)
2009-09-14 23:50:21 +00:00
Christoph Oelckers
158fce1123 - Why wasn't this stuff committed before?
SVN r1826 (trunk)
2009-09-14 23:30:53 +00:00
Christoph Oelckers
ea8c94d637 - Fixed: Argument count for UsePuzzleItem was wrong.
- Added more things from Gez's experimental build:
  * MBF grenade and bouncing code.
  * Arch Vile ghosts emulation (only for compatibility.txt.)
  * Several MBF related compatibility options.



SVN r1821 (trunk)
2009-09-14 20:47:53 +00:00
Christoph Oelckers
914d993aa1 - Added a few things from Gez's experimental build:
* Beta Lost Soul (added DoomEdNum 9037 to it)
  * A_Mushroom extensions
  * Vavoom compatible MAPINFO keynames.
  * Vavoom's Sector_SetContents fixes to inactive 3D floor code.


SVN r1818 (trunk)
2009-09-14 09:41:09 +00:00
Christoph Oelckers
ba28749df7 - fixed: WIF_STAFF2_KICKBACK did not work anymore because it depended on conditions
that were changed some time ago.
- fixed: The damage inflictor for a rail attack was the shooter, not the puff.
- Fixed: Floor and ceiling huggers may not change their z-velocity when seeking.
- Fixed: UDMF set the secret sector flag before parsing the sector's properties,
  resulting in it always being false.
- Renamed sector's oldspecial variable to secretsector to better reflect its
  only use.
- Fixed: A_BrainSpit stored as the SpawnShot's target the intended BossTarget, 
  not itself contrarily to other projectile spawning functions. 
  A_SpawnFly then used the target for CopyFriendliness, thinking it'll be the 
  BossEye when in fact it wasn't.
- Added Gez's submission for a DEHACKED hack introduced by Boom.
  (using code pointers of the form 'Pointer 0 (x statenumber)'.
- fixed: Attaching 3DMidtex lines by sector tag did not work because lines
  were marked by index in the sector's line list but needed to be marked by
  line index in the global array.
- fixed: On Linux ZDoom was creating a directory called "~.zdoom" for 
  save files because of a missing slash.
- fixed: UDMF was unable to read floating point values in exponential format
  because the C Mode scanner was missing a definition for them.
- fixed: The recent changes for removing pointer aliasing got the end sequence
  info from an incorrect variable. To make this more robust the sequence index
  is now stored as a hexadecimal string to avoid storing binary data in a string.
  Also moved end sequence lookup from f_finale.cpp to the calling code so that
  the proper end sequences can be retrieved for secret exits, too.

SVN r1777 (trunk)
2009-08-30 10:43:51 +00:00
Christoph Oelckers
356e4a0fcc - Added A_Mushroom compatibility option for Dehacked.
- Added Gez's submission for interhubamount DECORATE property.


SVN r1747 (trunk)
2009-08-02 15:54:34 +00:00
Randy Heit
93202a5488 - Removed -fno-strict-aliasing from the GCC flags for ZDoom and fixed the
issues that caused its inclusion. Is an optimized GCC build any faster
  for being able to use strict aliasing rules? I dunno. It's still slower
  than a VC++ build.
  
  I did run into two cases where TAutoSegIterator caused intractable problems
  with breaking strict aliasing rules, so I removed the templating from it,
  and the caller is now responsible for casting the probe value from void *.
- Removed #include "autosegs.h" from several files that did not need it
  (in particular, dobject.h when not compiling with VC++).


SVN r1743 (trunk)
2009-08-02 03:38:57 +00:00
Randy Heit
8a2e03c9cb - Fixed: Redefining an existing skill would set that skills ACSReturn to be
the same as the next new skill defined, if neither definition explicitly set
  the value for ACSReturn.
- Added a DefaultSkill property. Adding it to a skill will cause that skill
  to be the default one selected in the menu. If none is specified as the
  default, then the middle skill is the default.


SVN r1731 (trunk)
2009-07-23 04:33:07 +00:00
Christoph Oelckers
55c32e0f44 - added missing MAPINFO option for compat_anybossdeath.
SVN r1728 (trunk)
2009-07-22 07:28:00 +00:00
Christoph Oelckers
3ab370b6ee - added a compatibility option to restore the original Heretic bug where
a Minotaur couldn't spawn floor flames when standing in water having its
  feet clipped.
- added vid_vsync to display options.
- fixed: Animations of type 'Range' must be disabled if the textures don't
  come from the same definition unit (i.e both containing file and use type
  are identical.)
- changed: Item pushing is now only done once per P_XYMovement call.
- Increased the push factor of Heretic's pod to 0.5 so that its behavior
  more closely matches the original which depended on several bugs in the engine.
- Removed damage thrust clamping in P_DamageMobj and changed the thrust calculation
  to use floats to prevent overflows. The prevention of the overflows was the
  only reason the clamping was done.
- Added Raven's dagger-like vector sprite for the player to the automap code.


SVN r1668 (trunk)
2009-06-14 13:47:38 +00:00
Christoph Oelckers
476e0bce2a - Added a 'resetinventory' MAPINFO option.
- Added MF6_NOFEAR flag.
- Added A_MonsterRefire(probability, jumptarget).
- Added A_JumpIfTargetInSight(state) action function.
- Changed: Puffs set their angle to face the originator of the attack.
- Strife's burning hands originally make the level view fullbright.
  changed in ZDoom to do partial brightening.

SVN r1642 (trunk)
2009-06-06 12:46:35 +00:00
Christoph Oelckers
9c4cbedc26 - Added 'EndTitle' nextmap option which goes to the regular title loop after
the game has finished.
- Added NOBOSSRIP flag. Note: we are now at flags6!
- Added SetSkyScrollSpeed(int skyplane, fixed speed) ACS function.
- Added THRUACTORS flag that disables all actor<->actor collision detection.
- Added DONTSEEKINVISIBLE flag for missiles that can't home in on invisible
  targets.
- Added SFX_TRANSFERPITCH flag to A_SpawnItemEx.
- Added Ultimate Freedoom IWAD detection.
- Added GetAirSupply and SetAirSupply functions to ACS.
- Fixed: The *surface sound was not played when drowning was switched off
  by setting the level's air supply to 0.

SVN r1619 (trunk)
2009-05-30 08:56:40 +00:00
Christoph Oelckers
eb52c9a90e - Added ACS GetChar function.
- Added Gez's submission for polyobjects being able to crush corpses but made
  it an explicit MAPINFO option only.


SVN r1585 (trunk)
2009-05-15 17:21:45 +00:00
Christoph Oelckers
a732687548 - Changed APlayerPawn::DamageFade to a PalEntry from 3 floats.
- Removed #pragma warnings from cmdlib.h and fixed the places where they were 
  still triggered.
  These #pragmas were responsible for >90% of the GCC warnings that were not
  listed in VC++.
- Fixed one bug in the process: DSeqNode::m_Atten was never adjusted when the
  parameter handling of the sound functions for attenuation was changed.
  Changed m_Atten to a float and fixed the SNDSEQ parser to set proper values. 
  Also added the option to specify attenuation with direct values in addition 
  to the predefined names.

SVN r1583 (trunk)
2009-05-15 10:39:40 +00:00