Commit graph

63 commits

Author SHA1 Message Date
Randy Heit
e434ccc3f6 - Add support for user variables on things in UDMF maps. If you include an actor's user variable
in its UDMF thing definition, that user variable will be set to the desired value for that
  actor when the map is loaded.

SVN r4140 (trunk)
2013-02-17 00:23:58 +00:00
Randy Heit
3c54047b9f - Added Gez's "Using arg*str instead of SpawnID" patch, with modifications.
SVN r3958 (trunk)
2012-11-09 23:25:56 +00:00
Randy Heit
0f0dcc08a2 - Added a new UDMF sidedef flag: lightfog.
SVN r3933 (trunk)
2012-11-03 02:02:42 +00:00
Braden Obrzut
b52c3238eb - Instead of implementing the wad code in three places, use the normal resource code for map loading and GL node loading.
SVN r3897 (trunk)
2012-10-22 01:28:11 +00:00
Randy Heit
c1f3621a4c - Don't crash when loading UDMF maps with invalid sidedef references.
SVN r3569 (trunk)
2012-04-19 02:14:34 +00:00
Randy Heit
3fae0e3906 - Enable arg0str for UDMF things and named scripts.
SVN r3390 (trunk)
2012-02-26 02:32:45 +00:00
Randy Heit
d6e898be38 - Fixed: UDMFParser::AddUserKey() checked against the wrong token types when determining
the values type. Also, GetUDMFInt() performed a float-to-fixed conversion on the value it
  returned.

SVN r3381 (trunk)
2012-02-21 22:11:52 +00:00
Randy Heit
d9b8b344ff - Added support for using named scripts with UDMF maps. On lines with ACS specials
(i.e. ACS_Execute, etc.), set the arg0str property to the name of the script to execute. The
  standard numeric arg0 property will be ignored in this case.

SVN r3372 (trunk)
2012-02-18 02:39:01 +00:00
Christoph Oelckers
b1905c16ef - added UDMF LOcknumber property, submitted by Nightfall.
SVN r3331 (trunk)
2011-12-12 16:07: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
3117f657c7 - Change UDMF lineflag 'transparent' to 'translucent' to match the spec.
(Hopefully nobody used 'transparent'; it's not in the DoomBuilder configs,
  so that should be a safe assumption.)



SVN r3298 (trunk)
2011-10-03 00:36:37 +00:00
Christoph Oelckers
163301dcd5 - took all includes of farchive.h out of headers. This file will have to be included explicitly in each source file that needs it.
SVN r3259 (trunk)
2011-07-06 14:20:54 +00:00
Christoph Oelckers
5c6fd66ed5 - rename src/resources to src/r_data.
SVN r3254 (trunk)
2011-07-06 07:35:36 +00:00
Christoph Oelckers
17ed7aaabd - moved the code from r_data.cpp to some better fitting places and deleted this file and r_data.h because the remaining parts of it were just a random collection of unrelated functions.
SVN r3248 (trunk)
2011-07-05 10:02:38 +00:00
Christoph Oelckers
4626492f50 - separated all colormap related code from v_palette.cpp and r_data.cpp into its own file.
SVN r3245 (trunk)
2011-07-03 10:47:35 +00:00
Randy Heit
ee8ca0de87 Fixed: Light levels outside the range [0,255] really do matter.
SVN r3223 (trunk)
2011-06-11 23:58:33 +00:00
Randy Heit
6c70afe0a7 - Place a limit on the number of reports per missing texture. On maps with many lines and many
sides of missing textures, this can take a very long time, because each missing textures causes
  a scan of every single line (for the sake of packed sidedefs), and each output line also requires
  an update of the hidden RichEdit logging control.

SVN r3192 (trunk)
2011-05-08 00:30:32 +00:00
Christoph Oelckers
1806e47e43 - fixed: Sector_SetLink did incorrect checks for the returned control sector
- added Sector_SetTranslucent special so set translucency of portal planes at run time.
- added 'additive' information for portal planes. This is no-op at the moment because the flat drawers can't handle additive translucency yet though.


SVN r3149 (trunk)
2011-02-12 09:53:40 +00:00
Christoph Oelckers
a2acc382df - added a 'block sight' line flag.
- updated UDMF spec for player class and skill amount because the old menu limits no longer apply.
- fixed: FloorAndCeiling_LowerRaise needs to consider 4 args in maps to account for the Boom compatibility hack parameter.


SVN r3121 (trunk)
2011-01-23 10:52:18 +00:00
Christoph Oelckers
79c5080dda - added DavidPH's submission for specifying vertex heights directly in UDMF.
SVN r3037 (trunk)
2010-12-14 00:56:44 +00:00
Christoph Oelckers
9278375064 - added 'flooralpha' and 'ceilingalpha' sector properties. They only have meaning if a sector stack portal is defined in this sector. If set to anything less than 1.0 these will override the alpha set by a portal. This is mostly for Sector_SetPortal to avoid defining multiple portals that only differ by their plane translucency.
SVN r2995 (trunk)
2010-11-07 22:12:38 +00:00
Christoph Oelckers
eded2ef345 - Each IWAD can now define its own config section. Hacx, Harmony and Action Doom2 now do that.
- moved IWAD identification data into a lump in zdoom.pk3.
- rewrote IWAD checking code 

SVN r2943 (trunk)
2010-10-15 15:13:53 +00:00
Christoph Oelckers
352a926ddf - made all references to the GameNames array an inline function call to allow easier modification later
- changed all parsers that check for the current game to use the same function for the game check.
- fixed: The TEAMINFO parser handled 'game Any' incorrectly.


SVN r2934 (trunk)
2010-10-12 07:14:31 +00:00
Christoph Oelckers
df138fe4f9 - added a ClearCounters function to AActor that handles everything necessary to un-count an item that is not supposed to be counted but has some of the COUNT* flags set.
- merged all places where secrets are credited into one common function.
- added the Doom64 COUNTSECRET actor flag.
- fixed: AInventory::CreateCopy did not clear the COUNTITEM flag.
- fixed: Dropping an item did not increase the item count but the dropped item could still have the COUNTITEM flag. Now this flag gets cleared when the item gets picked up so that dropped items don't count a second time.

SVN r2826 (trunk)
2010-09-19 00:06:45 +00:00
Christoph Oelckers
9a4abe0915 - merged automap branch into trunk.
SVN r2609 (trunk)
2010-08-27 15:20:05 +00:00
Christoph Oelckers
883510efe2 - added UMDF property to assign conversation dialogues to mapthings.
SVN r2567 (trunk)
2010-08-22 17:18:46 +00:00
Christoph Oelckers
b452bec0ee - merge USDF branch into trunk.
- add USDF spexs.


SVN r2561 (trunk)
2010-08-20 12:20:51 +00:00
Randy Heit
9137ef04f6 - Added "SoundSequence" UDMF sector property. This is the name of the sound sequence to play for
the sector. Note that this contrasts with sound sequence things in that it takes a name and
  not a number. Also, placing a sound sequence thing in a sector will override this property.

SVN r2492 (trunk)
2010-08-07 04:32:18 +00:00
Christoph Oelckers
cd1104e80c - changed: Maps with missing first sidedefs no longer abort. THey now print a console warning and use the first sidedef in the map.
SVN r2344 (trunk)
2010-05-29 09:11:12 +00:00
Christoph Oelckers
bdc5d941c2 - added a new 'playeruseback' linedef trigger type that allows using lines from the bxck side.
SVN r2302 (trunk)
2010-04-25 07:21:35 +00:00
Christoph Oelckers
611834ea2a - fixed: The UDMF blockfloaters flag was misnamed. Changed to match the spec.
SVN r2037 (trunk)
2009-12-24 23:31:06 +00:00
Christoph Oelckers
f3f209160e - Renamed plane flags from SECF_* to PLANEF_*.
- Changed Heretic's plat raise type to use a flag to block further sector movement
  instead of keeping the dead thinker around.


SVN r1853 (trunk)
2009-09-17 10:40:38 +00:00
Christoph Oelckers
14a42bbada - changed line_t's sidenum into sidedef pointers.
SVN r1801 (trunk)
2009-09-06 20:45:56 +00:00
Christoph Oelckers
e6aadca409 - changed side_t's linenum into a linedef pointer.
SVN r1800 (trunk)
2009-09-06 18:19:28 +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
Randy Heit
bdc0950e01 - Fixed: The first lighting plane added to a light stack had the bOverlaps
flag set, causing it to be ignored during rendering. Why this didn't cause
  more trouble, I don't know.
- Fixed: The UDMF parser passed the wrong value for "default alpha" for
  TranslucentLine to P_FinishLoadingLineDef().


SVN r1775 (trunk)
2009-08-29 03:33:36 +00:00
Randy Heit
da33f333a1 - Fixed: The UDMF loader did not initialize the sectors' sectornum property.
SVN r1767 (trunk)
2009-08-11 00:22:43 +00:00
Christoph Oelckers
8e5b7373b8 - added submission for raising master/children/siblings.
- added submission for no decals on wall option.
- removed some useless code from SpawnMissile function.


SVN r1716 (trunk)
2009-07-13 22:07:18 +00:00
Randy Heit
c66f237873 - Added per-tier texture scaling with these new UDMF sidedef properties:
* scalex_top
  * scaley_top
  * scalex_mid
  * scaley_mid
  * scalex_bottom
  * scalex_bottom
- Added sidedef versions of the linedef flags wrapmidtex and clipmidtex (via
  UDMF; names are the same). If the flag is set on the line, it applies to
  both sides. Otherwise, each side can control them individually.


SVN r1645 (trunk)
2009-06-07 01:14:14 +00:00
Christoph Oelckers
571d28281b - Added handling for UDMF user keys.
- Added support for ACS functions that can be defined without recompiling ACC.
- Fixed: The short lump name for embedded files must be cleared so that they
  are not found by a normal lump search.
- Added AProp_Notarget actor property.
- Fixed: TraceBleed was missing a NULL pointer check,
- Fixed: P_RandomChaseDir could crash for friendly monsters that belong to
  a player which left the game.
- Changed A_PodGrow so that it plays the generator's attack sound instead of
  "misc/podgrow".


SVN r1575 (trunk)
2009-05-11 21:05:40 +00:00
Christoph Oelckers
4d5692bf80 - Fixed: Doom's fullscreen HUD was limited to 6 keys.
- Made 'next endgame' work again for cases where it is supposed to be
  the same as 'next endgame4'.
- GCC nitpick fix: Classes being used as template parameters may not be
  defined locally in a function. Fixed FWadFile::SetNamespace for that.
- Improved error reporting for incorrect textures in maps.
- Fixed: When music was stopped this was not set in the global music state.
- Fixed: Friendly monsters did not target enemy players in deathmatch.

SVN r1567 (trunk)
2009-05-02 09:14:01 +00:00
Christoph Oelckers
3bbef315f6 - Added ML_BLOCKUSE line flag, accessible through UDMF and Line_SetBlocking.
SVN r1561 (trunk)
2009-04-28 20:53: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
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
Christoph Oelckers
613ae5e022 - added ML_BLOCKPROJECTILE flag to lines.
SVN r1440 (trunk)
2009-02-22 15:39:42 +00:00
Christoph Oelckers
4bcd3faef8 - moved all code related to global ACS variables to p_acs.cpp where it belongs.
- fixed: The nextmap and nextsecret CCMDs need to call G_DeferedInitNew instead of G_InitNew.
- merged MAPINFO branch back into trunk.

SVN r1393 (trunk)
2009-02-03 19:11:43 +00:00
Christoph Oelckers
b4b76ed4e6 - fixed: Identification of Doom1 Freedoom IWAD did not work.
- fixed: UDMF did not initialize a sector's light colors.
- fixed implementation of DF2_NOAUTOAIM flag.


SVN r1356 (trunk)
2009-01-10 09:40:47 +00:00
Christoph Oelckers
bd9e318863 - Added a SECF_NORESPAWN flag for sectors that prevents players from being respawned
in such a sector. As a workaround for current map formats a new actor
  (DoomEdNum 9041) was added that can set the extended sector flags without the
  use of ACS and sector tags. The new flag can also be set with Sector_ChangeFlags.
- Fixed: Players ignored MF2_TELESTOMP and always telefragged what was in the way.
- Fixed: Actors with MF5_NOINTERACTION were not affected by the time freezer.


SVN r1315 (trunk)
2008-12-14 19:12:41 +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
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