Commit graph

46 commits

Author SHA1 Message Date
Christoph Oelckers
0bdc2f59ad - added new Stairs_BuildUpDoomCrush special from Eternity and used it to fix the bad implementation to make Doom's turbo stairs crush. This also removes the crushing from Generic_Stairs entirely, just like it was in Boom. 2017-01-08 19:45:09 +01:00
Christoph Oelckers
2c38e20352 - update xlat/eternity.txt for reference. 2016-08-03 13:16:14 +02:00
Christoph Oelckers
522b2f4706 - updated xlat/eternity.txt for reference. 2016-07-12 23:50:45 +02:00
Christoph Oelckers
4a72c7d2f1 - fixed: Decals may not be serialized before thinkers.
Since decals may have thinkers attached this will crash when such a savegame gets loaded, because the thinker lists get reset in P_SerializeThinkers, deleting any thinker that already was processed.
I also added an error message that immediately aborts the save process if such an out-of-sequence thinker is attempted to be written out.
This obviously breaks savegame compatibility again...
2016-04-29 11:44:17 +02:00
Christoph Oelckers
172290224b - make modes 2 and 3 of Teleport_NoFog compatible with Eternity by defaulting to mode 1 when no line is available. 2016-04-25 01:01:28 +02:00
Christoph Oelckers
f420ccd287 - made Teleport_NoFog compatible with Hexen and Eternity.
ZDoom defaulted to Boom's (buggy) angle adjustment.
Changed it so that
 * Mode 0 is like Hexen, performing no adjustment at all. This still should match all known maps using this special.
 * Mode 1 remains unchanged.
 * Mode 2 replicates Boom's broken angle adjustment and is used in the xlat file.
 * Mode 3 implements the correct angle adjustment that Boom originally intended.

 (Note: Should some map require something different it should be handled with compatibility.txt instead of reverting this back to the broken way it was before.)
2016-04-23 21:32:40 +02:00
Christoph Oelckers
ed070cfe06 - updated xlat/eternity.txt. 2016-04-21 13:01:57 +02:00
Christoph Oelckers
082042818b - refactored sector portal data so that it does not rely on actors.
This is necessary because otherwise the level data cannot be serialized before the actors.
2016-04-20 19:20:11 +02:00
Christoph Oelckers
7c47e6ddb2 - how about updating the reference first before adding this stuff... Overlooked those two because my Eternity repo was not fully up to date. 2016-03-08 16:05:53 +01:00
Christoph Oelckers
6787dfeafb - updated xlat/eternity.txt 2016-03-08 16:01:26 +01:00
Randy Heit
55142078d8 Normalize line endings 2016-03-01 09:47:10 -06:00
Christoph Oelckers
6bcaa51968 - updates eternity.xlat. 2016-02-29 21:40:37 +01:00
Christoph Oelckers
5b99691fd4 - updated xlat/eternity.txt 2016-02-25 01:09:01 +01:00
Christoph Oelckers
d5a1004c41 - some preparations for portal stuff:
* set up linked sector portals so that everything that will eventually have to be considered is present, even though the software renderer currently can't handle those adequately.
* tag all skybox things with a type so that they can easily be distinguished at run time.
* fill in the linked portal types in xlat/eternity.txt.
2016-02-14 13:12:03 +01:00
Christoph Oelckers
e88901f4b7 - added the EE-Extradata parser I wrote for GZDoom so I can use the Vaporware demo map for testing portal stuff. 2016-02-05 23:51:28 +01:00
Christoph Oelckers
111479063f - fixed a potential overflow issue with calculating a portal's origin point.
- fixed: Sector_SetPortal's Eternity translation was not correct.

The ZDoom variant allows specifying the plane as part of the portal, Eternity does not. Added a new 'plane' type 3 which just means 'any'.
2016-01-04 21:05:09 +01:00
Christoph Oelckers
eebd5c9d4d - fixed bad edit in linedef translation. 2014-08-21 13:38:47 +02:00
Christoph Oelckers
df0d3543a8 - fixed: *ALL* original ceiling crushers, not just type 49, require a distance of 8 to the floor for the destination height. For the silent types this required a new action special, Ceiling_CrushAndRaiseSilentDist. This change only affects the XLAT mapping, the Hexen format types behave as before.
- removed the redundant internal ceilCrushAndRaiseDist ceiling movement type. It was precisely the same as ceilCrushAndRaise in all details.
2014-08-21 13:01:12 +02:00
Christoph Oelckers
745b147d18 - fixed typo in xlat files (they don't use exactly C syntax.) 2014-04-15 16:40:53 +02:00
Gaerzi
580094a792 More editing flags
PSX-inspired flags to change the render styles of monsters (and other
things).
2014-04-10 12:32:23 +02:00
Christoph Oelckers
c4b7335312 - fixed: UDMF's Doom namespace needs to retain Boom's sector special flags.
- fixed: UDMF's ZDoomTranslated namespace needs to set the DUMMYSWITCHES flag so that it remains compatible with Doom-format ZDoom maps.


SVN r4325 (trunk)
2013-06-03 07:14:42 +00:00
Randy Heit
ec7f433da3 - Fixed: Strife line special 200 should also be marked as repeatable.
SVN r4269 (trunk)
2013-05-17 01:06:47 +00:00
Randy Heit
4692e3f69c - Fixed: Strife line special should have been marked repeatable.
SVN r4268 (trunk)
2013-05-17 01:02:43 +00:00
Christoph Oelckers
027a99d772 - fixed: Hexen's Floor_RaiseAndCrush is not the same action as the one used by Doom and which was used by ZDoom before r4053. Restored the old code and gave it a new special 99:Floor_RaiseAndCrushDoom.
SVN r4125 (trunk)
2013-02-10 08:53:03 +00:00
Randy Heit
9af00a22d3 - Fixed: Strife's slow Ceiling_CrushAndRaise lines do no actual damage.
SVN r4124 (trunk)
2013-02-10 00:33:22 +00:00
Randy Heit
24edfd5c86 - Fixed translations of Heretic linetype's that perform Floor_LowerToHighest with an offset.
SVN r4123 (trunk)
2013-02-10 00:26:47 +00:00
Christoph Oelckers
52bb3a4dbe - fixed: Boom's generalized doors are not retriggerable, even if they are not remote. (Patch by Gez)
SVN r3555 (trunk)
2012-04-12 12:42:00 +00:00
Randy Heit
91ba2ec404 - Fix strife linetype 11 again, courtesy of Gez.
SVN r3376 (trunk)
2012-02-21 19:56:25 +00:00
Christoph Oelckers
5d7ee4dbfd - fixed: Line type 49 was wrong for all games. Fixed by adding a new Ceiling_CrushAndRaiseDist special. (thanks to Gez for the patch)
SVN r3348 (trunk)
2012-02-09 19:59:32 +00:00
Christoph Oelckers
893455ef61 - sync source with latest GZDoom:
Includes:
- Made the move tried from checking missile spawns ignore drop off height. This solves the Voodoo Gun ghostly civilian issue.
- Fixed: the NOTELEPORT flag is removed from Dehacked missiles which lose the MISSILE flag. This caused problems with certain special effects based on dehacked spawn cubes.
- Fixed: all Boom silent teleporters preserve relative height.
- support for palette independent particle colors if the renderer can handle them.


SVN r3329 (trunk)
2011-12-06 08:36:28 +00:00
Randy Heit
de956a9ab6 - Added a fourth paremeter to Floor_LowerToHighest. Set it to 1 to always apply
the offset to the target height. (This is Heretic's behavior.)

SVN r3304 (trunk)
2011-10-27 01:35:30 +00:00
Randy Heit
3d214602c4 - Fixed: Strife line type 11 has the same Teleport_NewMap/Exit_Normal semantics
as line type 52.

SVN r3303 (trunk)
2011-10-27 01:05:59 +00:00
Christoph Oelckers
46cedffafb Fixed floor crushers in Strife.
SVN r3302 (trunk)
2011-10-23 10:01:59 +00:00
Randy Heit
68e34e1e5c - Fixed: Wrong speed for Boom line type 175.
SVN r3206 (trunk)
2011-05-15 19:28:17 +00:00
Christoph Oelckers
fae8ed444c - merged 3dfloors2 branch into trunk.
SVN r3124 (trunk)
2011-01-29 11:09:38 +00:00
Christoph Oelckers
42de20a7e4 - fixed: The Floor_RaiseAndCrush types in Doom wait if blocked, therefore need Hexen crush mode.
- fixed: Angle conversion in P_SpawnMapThing did not work for negative values due to use of an unsigned multiplication.


SVN r3053 (trunk)
2010-12-16 14:39:17 +00:00
Christoph Oelckers
340ffc08d6 - fixed: Boom's switch-based equivalents of FloorandCeiling_LowerRaise can only move either the ceiling or the floor but never both due to a programming error. Changed this special so that Boom's broken mode can be reactivated through xlat.
SVN r3004 (trunk)
2010-11-10 11:25:34 +00:00
Christoph Oelckers
d3ca1fddcc - added new action special Ceiling_LowerAndCrushDist. It's similar to Ceiling_LowerAndCrush but allows to explicitly set the distance from the floor where the ceiling stops moving. This is used to remove the special behavior for Strife from the code that unlike the other games moved the ceiling to the floor, not to 8 units above it.
SVN r2881 (trunk)
2010-10-02 16:26:10 +00:00
Christoph Oelckers
c304b39ecc - added new sector special 195 to set the 'hidden' sector flag in non-UDMF maps.
SVN r2637 (trunk)
2010-08-29 12:20:35 +00:00
Christoph Oelckers
5fc654dac2 - fixed: Heretic's sludge damage sector does 4 points damage, not 5 like Doom's.
SVN r2303 (trunk)
2010-04-25 20:12:50 +00:00
Christoph Oelckers
e4d0d6bcdb - added a Sector_CopyScroller special to allow setting scrollers to sectors with special tags.
- extended compatibility text to allow changing line flags and setting line specials on specific linedefs.
- removed Strain MAP07 hack and replaced it by a clean 'clearlineflags' option.
- Added Doomo format translations for Sector_CopyScroller because this looks like something that might be useful for making
  some Boom maps work without having to resort to compatibility.txt.
- added a compatibility setting for UAC Ultra MAP07 which exploited some undefined scrolling behavior in Boom.
  (What lengths are we going to make sloppily created maps work? This entire commit was just to address this particular problem...)


SVN r2280 (trunk)
2010-04-11 11:18:33 +00:00
Christoph Oelckers
4310b239f4 - Added Gez's submission for Eternity-style skybox definitions.
SVN r2151 (trunk)
2010-02-06 15:31:26 +00:00
Christoph Oelckers
a3c28e2a2f - last revision's fix should be set to all 4 linedef types triggering the same action.
SVN r1999 (trunk)
2009-11-24 07:08:20 +00:00
Christoph Oelckers
32d9946f30 - Fixed: Doom line type 44 (lower ceiling to 8 above floor) must halt
movement if blocked which essentially means it acts like a Hexen-style
  crusher.


SVN r1998 (trunk)
2009-11-24 07:02:30 +00:00
Christoph Oelckers
9357ed82ed - extended Doom map format linedef translator so that it also handles the flags.
SVN r1992 (trunk)
2009-11-21 23:11:12 +00:00
Randy Heit
fb50df2c63 About a week's worth of changes here. As a heads-up, I wouldn't be
surprised if this doesn't build in Linux right now. The CMakeLists.txt
were checked with MinGW and NMake, but how they fair under Linux is an
unknown to me at this time.

- Converted most sprintf (and all wsprintf) calls to either mysnprintf or
  FStrings, depending on the situation.
- Changed the strings in the wbstartstruct to be FStrings.
- Changed myvsnprintf() to output nothing if count is greater than INT_MAX.
  This is so that I can use a series of mysnprintf() calls and advance the
  pointer for each one. Once the pointer goes beyond the end of the buffer,
  the count will go negative, but since it's an unsigned type it will be
  seen as excessively huge instead. This should not be a problem, as there's
  no reason for ZDoom to be using text buffers larger than 2 GB anywhere.
- Ripped out the disabled bit from FGameConfigFile::MigrateOldConfig().
- Changed CalcMapName() to return an FString instead of a pointer to a static
  buffer.
- Changed startmap in d_main.cpp into an FString.
- Changed CheckWarpTransMap() to take an FString& as the first argument.
- Changed d_mapname in g_level.cpp into an FString.
- Changed DoSubstitution() in ct_chat.cpp to place the substitutions in an
  FString.
- Fixed: The MAPINFO parser wrote into the string buffer to construct a map
  name when given a Hexen map number. This was fine with the old scanner
  code, but only a happy coincidence prevents it from crashing with the new
  code
- Added the 'B' conversion specifier to StringFormat::VWorker() for printing
  binary numbers.
- Added CMake support for building with MinGW, MSYS, and NMake. Linux support
  is probably broken until I get around to booting into Linux again. Niceties
  provided over the existing Makefiles they're replacing:
  * All command-line builds can use the same build system, rather than having
    a separate one for MinGW and another for Linux.
  * Microsoft's NMake tool is supported as a target.
  * Progress meters.
  * Parallel makes work from a fresh checkout without needing to be primed
    first with a single-threaded make.
  * Porting to other architectures should be simplified, whenever that day
    comes.
- Replaced the makewad tool with zipdir. This handles the dependency tracking
  itself instead of generating an external makefile to do it, since I couldn't
  figure out how to generate a makefile with an external tool and include it
  with a CMake-generated makefile. Where makewad used a master list of files
  to generate the package file, zipdir just zips the entire contents of one or
  more directories.
- Added the gdtoa package from netlib's fp library so that ZDoom's printf-style
  formatting can be entirely independant of the CRT.

SVN r1082 (trunk)
2008-07-23 04:57:26 +00:00