Commit graph

3412 commits

Author SHA1 Message Date
Christoph Oelckers
fb1734ba50 - fix previous commit and add compat option for Cheogh's blue key. 2013-06-26 00:57:26 +02:00
Christoph Oelckers
72e91786e2 - added SetThingZ compatibility option for fixing problems resulting from the changes to spawn position handling. 2013-06-26 00:57:10 +02:00
Randy Heit
fb965c50a1 Merge branch 'maint' 2013-06-24 20:59:12 -05:00
Randy Heit
a5f5d8adcb - Remove the first parameter from updaterevision, since it isn't needed with git. 2013-06-24 20:58:14 -05:00
Christoph Oelckers
4189092db8 - spycancel improvement by Edward-san. 2013-06-24 22:50:24 +02:00
Christoph Oelckers
94a3d92f93 Merge branch 'maint' 2013-06-24 16:49:51 +02:00
Christoph Oelckers
394f21f71e - fixed: Draining health from a victim must check for damage reduction before awarding the health to the player. This affected Heretic's gauntlets, A_Saw and A_CustomPunch.
- added a DONTDRAIN flag that prevents the above attacks from draining any health at all.
2013-06-24 16:42:43 +02:00
Christoph Oelckers
c4ad09fe90 - added new MAPINFO/gameinfo keys for adding entries to some string arrays, most notably the player classes and the F1 info pages. 2013-06-24 15:50:30 +02:00
Christoph Oelckers
9f253ccae3 - fixed: Application of inflictor's death damage type was done too late and missed a few spots where it needed.
- fixed: DamageTypeReceived was not serialized.
- fixed: The check for unhandled damage type was rendered ineffective by the old code handling the DeathType.
2013-06-24 15:40:17 +02:00
Christoph Oelckers
1976f28df9 - merge cheat fix from maint. 2013-06-24 14:32:55 +02:00
Christoph Oelckers
baa82c396c - disabled Heretic's 'joke' cheats and Chex's 'idmus' in 'allcheats' mode because their multiple occurence interfered with how the cheat parser works. 2013-06-24 14:25:48 +02:00
Randy Heit
7531191ffe Get fixed SAVESIG from maint. 2013-06-23 18:14:39 -05:00
Randy Heit
03d2b79bfd - Fixed: SAVEVERSTRINGIFY macros were wrong. 2013-06-23 18:14:29 -05:00
Christoph Oelckers
d1835b2db8 - DavidPH's patch for Linux compilation. 2013-06-23 17:38:51 -05:00
Christoph Oelckers
ef42955053 - added DavidPH's patch for compiling with FModEx 4.44.01. 2013-06-23 17:38:51 -05:00
Christoph Oelckers
054899ea53 - added Edward-san's patch for allowing 'clang' compiler to use the same 'gcc' cmake settings 2013-06-23 17:38:51 -05:00
Christoph Oelckers
099e365a23 - fixed typo in USDF spec.
- comment fixes taken from GZDoom.
- division by zero check in R_SetVisibility from GZDoom.
2013-06-23 17:38:51 -05:00
Christoph Oelckers
3a477f6903 - DavidPH's patch for Linux compilation. 2013-06-23 20:54:21 +02:00
Christoph Oelckers
4286bd68cd - added Edward-san's spycancel submission. 2013-06-23 20:04:06 +02:00
Christoph Oelckers
a6ba2ce8b9 - added DavidPH's patch for compiling with FModEx 4.44.01. 2013-06-23 18:47:39 +02:00
Christoph Oelckers
7d56311152 - added Ryan Cordell's A_CheckRange submission. 2013-06-23 18:45:17 +02:00
Christoph Oelckers
7c81c2f1ee - added Edward-san's patch for allowing 'clang' compiler to use the same 'gcc' cmake settings 2013-06-23 18:37:13 +02:00
Christoph Oelckers
aa5f223051 - added _mental_'s patch for loading .deh/.bex files if no Dehacked lump can be found. 2013-06-23 18:34:57 +02:00
Christoph Oelckers
50c5dc62aa - fixed typo in USDF spec.
- comment fixes taken from GZDoom.
- division by zero check in R_SetVisibility from GZDoom.
2013-06-23 10:28:12 +02:00
Randy Heit
54f06739d0 Set master banch up as 2.8pre and maint branch for 2.7.x 2013-06-22 22:44:48 -05:00
Randy Heit
eb3f243fc8 - Make a copy of the polyobject mirror number instead of relying on being able to read it from the initial linedef. 2013-06-22 22:40:17 -05:00
Randy Heit
98ac224e53 - Use gitinfo.h instead of svnrevision.h for versioning.
- Use functions in gitinfo.cpp to retrieve the strings from gitinfo.h so
  that changes to gitinfo.h only require recompiling one file instead of
  several.
2013-06-22 21:49:51 -05:00
Randy Heit
5916ce087b - Revert r4244. It seems to be working well enough like this, since there have been no complaints.
SVN r4341 (trunk)
2013-06-08 03:24:41 +00:00
Randy Heit
9510525fdf - Bump up to 2.7.0.
SVN r4339 (trunk)
2013-06-08 02:20:37 +00:00
Randy Heit
5b65b3ebdf - Bumped NETGAMEVERSION, which should have been done when I changed the order uservars were sent
during netgame initialization.

SVN r4338 (trunk)
2013-06-08 02:18:23 +00:00
Randy Heit
902f6647b6 - Added ACS function CheckFont.
SVN r4335 (trunk)
2013-06-06 20:48:57 +00:00
Randy Heit
bac66d5b0e - Moved the status bar Tick call after the players have been ticked by P_Ticker(), because
P_PlayerThink() is where the check for unspawned players happens. If the player attached to the
  status bar is one of them, it will crash while ticking.

SVN r4334 (trunk)
2013-06-06 20:34:39 +00:00
Randy Heit
b9e771576f - Fixed: The time freezer power should do nothing while predicting.
SVN r4333 (trunk)
2013-06-06 20:15:04 +00:00
Randy Heit
c6dd658aa8 - Fixed: Polyobjs that rotated faster than their distance would overshoot on their first tic and
continue spinning until the next time around because the check for moving too fast was only
  done after the polyobject had been rotated once.
- Reduced the potential for overflow when setting up the speed of a rotating polyobj.

SVN r4332 (trunk)
2013-06-06 20:08:56 +00:00
Randy Heit
e32e44209e - Added SpawnDecal ACS function:
int SpawnDecal(int tid, str decalname, int flags, fixed angle, int zoffset, int distance)
  Traces a line from tid's actor until hitting a wall, then creates a decal there. Returns the
  number of decals spawned.
  * tid = Which actor(s) to start the trace at.
  * decalname = Which decal to spawn.
  * flags =
    * SDF_ABSANGLE = Angle parameter is an absolute angle. Otherwise, it's relative to the origin actor's angle.
    * SDF_PERMANENT = Decal ignores cl_maxdecals. Otherwise, it will eventually disappear.
  * angle = Direction in which to search for a wall. Defaults to 0.0.
  * zoffset = Offset from the middle of the origin actor for the Z height of the decal. Defaults to 0.
  * distance = Maximum distance to search for a wall. Defaults to 64.

SVN r4330 (trunk)
2013-06-05 02:15:21 +00:00
Randy Heit
5a00f4b59a - Reduce ACS LineAttack's default range to the standard MISSILERANGE, because making it INT_MAX
seems pretty iffy.

SVN r4329 (trunk)
2013-06-04 02:54:57 +00:00
Randy Heit
e2be8b9e7e - When purging ACS strings, free the strings themselves as well as marking them as free.
- Fixed: ACSStringPool::InsertString()'s overflow check was far too low.
- Fixed: When ACSStringPool::InsertString() triggered a garbage collection, it ignored the
  newly freed space and expanded the array anyway.

SVN r4328 (trunk)
2013-06-04 02:49:07 +00:00
Randy Heit
5e7ee8f33e - Addded support for multi-line values in INI files, so you can't maliciously inject stray
newline characters into the config file using ACS's SetCVarString.

SVN r4326 (trunk)
2013-06-04 02:06:40 +00: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
44a9c75b6b - Added ACS function PlayActorSound. It's functionally equivalent to PlaySound, except instead
of taking an actual sound name as its second parameter, it selects the sound to play based on
  the actor playing the sound and the selector passed as the second parameter.

SVN r4323 (trunk)
2013-06-03 00:09:46 +00:00
Randy Heit
aa40801015 - Fixed: When garbage collecting ACS strings, the active values on the ACS stack also need
to be included in the mark phase.

SVN r4322 (trunk)
2013-06-02 23:58:29 +00:00
Randy Heit
45c1787203 - Fixed: Don't transform map variable string initializers into global string table entries if
they don't really exist in the source string table.

SVN r4321 (trunk)
2013-06-02 23:17:46 +00:00
Randy Heit
1b9c71b252 - Added S_ChangeSoundVolume() to change the volume of an already playing sound, accessible
through the new ACS function SoundVolume.

SVN r4318 (trunk)
2013-06-01 17:46:50 +00:00
Randy Heit
19eb09f9f7 - Added GetActorClass and GetWeapon functions to ACS.
SVN r4316 (trunk)
2013-06-01 17:17:15 +00:00
Randy Heit
e9702fc43d - Clean up excess code around a few calls to SingleActorFromTID(), since that function is already
designed specifically to handle the case where tid is 0.

SVN r4315 (trunk)
2013-06-01 17:13:15 +00:00
Randy Heit
037477a20b - Added more string functions to ACS:
* The standard C functions strcmp and stricmp (aka strcasecmp), which double up as strncmp and strnicmp if you pass a third argument.
  * The BASIC-like functions strleft, strright, and strmid, which extract parts of a string to
    create a new string.

SVN r4313 (trunk)
2013-06-01 17:07:24 +00:00
Christoph Oelckers
d40d7f2e77 - fixed signed-ness issue with FloatBobPhase.
SVN r4310 (trunk)
2013-06-01 12:03:15 +00:00
Randy Heit
26d2d74024 - GetActorProperty now works with the string properties that were formerly restricted to
CheckActorProperty.

SVN r4307 (trunk)
2013-06-01 02:51:14 +00:00
Randy Heit
1a67e6fa5d - Added PlaySound and StopSound functions for ACS. They are mostly analogous to their DECORATE
counterparts except that (1) PlaySound requires you to specify a sound instead of defaulting
  to "weapons/pistol", and (2) StopSound defaults to CHAN_BODY instead of CHAN_VOICE.

SVN r4306 (trunk)
2013-06-01 02:43:36 +00:00
Randy Heit
2d13a45773 - Added read access to an actor's melee range from DECORATE and ACS, via Blue Shadow.
SVN r4305 (trunk)
2013-06-01 02:23:27 +00:00
Randy Heit
2191b4bfa6 - Added ACS function LineAttack via Ryan Cordell.
SVN r4304 (trunk)
2013-06-01 02:19:18 +00:00
Randy Heit
53b284fb5d - Added Gez's OverridePalette VOXELDEF flag.
SVN r4303 (trunk)
2013-06-01 02:09:09 +00:00
Randy Heit
8565484e29 - Heretic and Hexen can now have their big fonts overridden by a font named "HBIGFONT". In
addition, a font named "BIGFONT" will override the big font for every game.

SVN r4302 (trunk)
2013-06-01 02:04:44 +00:00
Christoph Oelckers
890dc71e0d . added AFADoomer's patch to set a text highlight color for the list menu.
SVN r4301 (trunk)
2013-05-31 22:10:12 +00:00
Christoph Oelckers
9e3c6a3cc7 - fixed parameter type for Floatbobphase property.
SVN r4300 (trunk)
2013-05-31 18:10:41 +00:00
Christoph Oelckers
ad12be4877 - fixed inappropriate type for FloatBobPhase property.
SVN r4299 (trunk)
2013-05-30 21:10:54 +00:00
Christoph Oelckers
0bca41c202 - replaced unused RNGs with pr_damagemobj for consistency checksum.
SVN r4297 (trunk)
2013-05-30 10:18:46 +00:00
Christoph Oelckers
a7c2346b32 - added a FloatBobPhase property for DECORATE. Now, if FloatBobPhase is anything but -1 it will be used directly as the initial phase, allowing to define actors that bob in sync. The allowed range of phases is 0 - 63. The main reason for this is that each actor spawn called the pr_spawnmobj RNG just to randomize this value which causes problems with non-interactive actors, in particular GZDoom's dynamic lights.
SVN r4296 (trunk)
2013-05-30 08:52:29 +00: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
493edd2df0 - Added ACS functions GetCVarString and GetUserCVarString. These act like their non-string
counterparts, except that they return strings. Like strparam, the strings they return are
  only guaranteed to be valid for the tick they are called during. (Note that these work with any
  cvar, not just string ones.)

SVN r4293 (trunk)
2013-05-27 02:41:50 +00:00
Randy Heit
587f1e83ba - Added ACS functions SetCVarString and SetUserCVarString. These work just like their non-string
counterparts except that their value argument is an ACS string. (Note that they work with any
  type of cvar, not just string cvars.)
- Make UCVarValue::String point to a constant string.

SVN r4292 (trunk)
2013-05-27 02:20:32 +00:00
Randy Heit
4a8037d66e - Move bitdepth check outside the loop for grayscale unpacking. Also, don't use a multiply for
1-bit pixels. Use a lookup table for 2-bit pixels, because it's probably faster than a bunch
  of shifts and register juggling.

SVN r4291 (trunk)
2013-05-27 02:04:54 +00:00
Braden Obrzut
f436c02a43 - Fixed more possible NULL derefs from r4264
SVN r4290 (trunk)
2013-05-26 20:56:20 +00:00
Braden Obrzut
b493d8e823 - Just remembered that the true color stuff generates textures differently. Changed the previous commit to expand 1, 2, and 4 bit grayscale images while reading the PNG instead of changing the palette.
SVN r4289 (trunk)
2013-05-26 04:56:52 +00:00
Braden Obrzut
dabd48ab81 - Fixed: 4, 2, and 1 bit grayscale images weren't properly supported.
- Fixed: Valgrind uninitialized memory error and a signed/unsigned warning.

SVN r4288 (trunk)
2013-05-26 04:03:47 +00:00
Randy Heit
17c7c32a58 - Fixed potential uninitialized access in FMapInfoParser::ParseEndGame().
SVN r4287 (trunk)
2013-05-26 02:56:25 +00:00
Randy Heit
ce28c9c991 - Added parentheses for clarity.
SVN r4286 (trunk)
2013-05-26 00:53:48 +00:00
Randy Heit
78437d917c - Added edward850's patch to cope with stalled network games.
SVN r4285 (trunk)
2013-05-25 22:01:26 +00:00
Randy Heit
167ee9e7fb - Added three new ACS functions:
* int GetUserCVar(int playernum, "cvarname")
  * bool SetCVar("cvarname", newvalue)
  * bool SetUserCVar(int playernum, "cvarname", newvalue)
  GetUserCVar is analogous to GetCVar, except it returns the value of a user cvar for a
  specific player. (All user cvars can be examined using the playerinfo console command.)
  SetCVar sets a cvar to a new value. If the cvar is floating point, then newvalue is treated
  as a fixed point number, otherwise it's treated as an integer. SetUserCVar is the same, but
  for a specific player's user cvar.

  SetCVar and SetUserCVar can only change cvars created via CVARINFO. They cannot alter built-in cvars.

  If you use GetCVar or SetCVar with a user cvar, they will act on the copy of the user cvar
  for the player who activated the script. e.g.
    GetCVar("gender")
  is the same as
    GetUserCVar(PlayerNumber(), "gender")

  If you get the value of a floating point cvar, it will be returned as a fixed point number.
  Otherwise, it will be returned as an integer.

SVN r4283 (trunk)
2013-05-25 19:08:05 +00:00
Randy Heit
4fa198244c - Renamed CVAR_NOSEND to CVAR_IGNORE to better reflect its intent.
- Separated CVAR_MODARCHIVE into CVAR_MOD|CVAR_ARCHIVE so that mod-defined cvars can still be
  identified when they aren't meant to be archived.

SVN r4281 (trunk)
2013-05-25 17:08:59 +00:00
Randy Heit
787b84ef91 - Added CVARINFO lump support. This is a lump for defining mod-specific cvars and takes entries
of the form:
    <scope> [noarchive] <type> <name> [= <defaultvalue>];
  Where <scope> is one of:
  * server: This cvar is shared by all players, and in network games, only select players can
    change it.
  * user: Each player has their own copy of this cvar, which they can change independently.
  To prevent the cvar from being written to the config file, add noarchive to its definition.
  <Type> is one of:
  * int: An integral value. Defaults to 0.
  * float: A value that can include a fraction. Defaults to 0.0.
  * color: A color value. Default to black ("00 00 00").
  * bool: A boolean value that can hold either true or false. Defaults to false.
  * string: A string value. It's not too useful for mods but is included for completeness. Defaults to "".
  <Name> is the cvar's name and must begin with a letter and may only include alphanumeric
  characters and the underscore character.
  If you wish a non-standard default add an = character after the cvar's name followed by the
  default value you want to use. Example:
    server int mymod_coolness = 10;
- Fixed: FStringCVar::SetGenericRepDefault() did not make a copy of the input string.

SVN r4280 (trunk)
2013-05-25 16:34:23 +00:00
Randy Heit
e271692dbb - Changed C_ArchiveCVars()'s type parameter to a filter parameter, because using an arbitrary
number to represent a flag combination is stupid unreadable now that there's more than just
  the two possibilities it had when it was first written.

SVN r4278 (trunk)
2013-05-25 03:23:44 +00:00
Randy Heit
20b48b7c65 - Remove now-unused lumpname variable.
SVN r4277 (trunk)
2013-05-25 02:06:34 +00:00
Braden Obrzut
7fd0950ab9 - Changed the way DrawSelectedInventory is casted so that clang doesn't warn about it.
SVN r4275 (trunk)
2013-05-20 21:27:50 +00:00
Braden Obrzut
5007571732 - Fixed: Possible NULL deref in P_RailAttack.
SVN r4274 (trunk)
2013-05-20 20:47:55 +00:00
Braden Obrzut
1d4fbc05a5 - Fixed: glbsp nodes in a wad file inside a pk3 would not be loaded.
- Fixed: Typo from r4270.

SVN r4273 (trunk)
2013-05-20 20:39:34 +00:00
Randy Heit
8af465189a - Fix broken loading of pre-r4253 savegames.
SVN r4272 (trunk)
2013-05-18 15:38:10 +00:00
Randy Heit
6ada6158ef - Added a fallback for accented characters to use unaccented ones.
- Updated Portuguese strings with the version here: http://forum.zdoom.org/viewtopic.php?p=672839#p672839

SVN r4271 (trunk)
2013-05-17 02:35:35 +00:00
Randy Heit
5b74e1acba - Fixed: A_Face() should use other instead of self->target when calculating pitch.
SVN r4267 (trunk)
2013-05-17 00:49:45 +00:00
Randy Heit
504496278b - Fixed: FxBinaryInts that needed to cast the right-side parameter to an int resolved the left
side instead.

SVN r4265 (trunk)
2013-05-13 02:55:48 +00:00
Randy Heit
b418f7de8d - Fixed possible NULL pointer derefs in P_LineAttack()
SVN r4264 (trunk)
2013-05-13 02:30:55 +00:00
Randy Heit
894c4198b0 - Fixed possible NULL pointer deref in A_FireBullets
SVN r4263 (trunk)
2013-05-13 02:27:39 +00:00
Randy Heit
20d0cc717b - Fix previous fix: Don't zero the velocity when a missile steps up and bounces.
SVN r4262 (trunk)
2013-05-12 19:05:00 +00:00
Randy Heit
0ef00cdf6e - Fixed: Missiles with STEPMISSILE set should probably be able to bounce off the floor they step up onto.
SVN r4261 (trunk)
2013-05-12 19:02:15 +00:00
Randy Heit
363ca592b0 - Fixed possible memory leak in the non-Windows version of CreatePath().
SVN r4258 (trunk)
2013-05-12 18:37:31 +00:00
Randy Heit
e8d8e67b56 - Fixed possible NULL pointer deref in P_SpawnPlayerMissile().
SVN r4257 (trunk)
2013-05-12 18:36:03 +00:00
Randy Heit
e935cf9e62 - Fixed possible NULL pointer deref in PrintDLS().
SVN r4256 (trunk)
2013-05-12 18:34:01 +00:00
Randy Heit
c63273348a - Fixed possible NULL pointer deref in A_CustomPunch
SVN r4255 (trunk)
2013-05-12 18:31:36 +00:00
Randy Heit
e130150af0 - Fixed possible NULL pointer deref in AActor::Grind().
SVN r4254 (trunk)
2013-05-12 18:29:28 +00:00
Randy Heit
2668988870 - Switched to a genericly extensible representation for userinfo.
- Fixed: The playerinfo CCMD did not range check the player number.

SVN r4253 (trunk)
2013-05-12 18:27:03 +00:00
Randy Heit
9072c25e65 - Added a big-endian fix for actor flag fields that aren't four bytes wide.
SVN r4251 (trunk)
2013-05-05 00:01:51 +00:00
Randy Heit
40f7abb8e9 - Added bounce states. Set the BOUNCE_UseBounceState flag to use them (+USEBOUNCESTATE via
DECORATE). Then you can use:
  * Bounce
  * Bounce.Floor
  * Bounce.Ceiling
  * Bounce.Wall
  * Bounce.Actor
  * Bounce.Actor.Creature
  Partial matches work just like Pain states, so if an actor bounces off a floor and you don't
  have a Bounce.Floor state, but you do have a Bounce state, it will use the Bounce state.
  Conversely, if you only have a Bounce.Floor state but no Bounce state, then the actor will
  only enter the Bounce.Floor state when it bounces on a floor; bouncing off anything else will
  not cause it to change state.

SVN r4250 (trunk)
2013-05-04 22:52:37 +00:00
Randy Heit
a5b5172449 - Remove now-unused dropammofactor variable from AWeaponGiver::TryPickup().
SVN r4248 (trunk)
2013-05-04 19:24:24 +00:00
Randy Heit
63704a8b69 - Fixed: r4225 accidentally removed the sky texture check for markceiling disabling.
SVN r4247 (trunk)
2013-05-04 19:08:17 +00:00
Randy Heit
d86b16d540 - Added a DropAmmoFactor field to WeaponGiver so that ModifyDropAmount() can record the drop
amount modifier into it without fiddling with the actual AmmoGiveX fields.

SVN r4246 (trunk)
2013-05-02 00:24:53 +00:00
Randy Heit
163d8ba3e6 - Fixed crash when an actor's spawn state ends by destroying the actor and the first state has
NoDelay set and it only consists of 0-tic states.

SVN r4245 (trunk)
2013-05-02 00:07:56 +00:00
Randy Heit
6d6fcbe246 - For the sake of better testing, use 2D sprite sorting unconditionally and not just when a
voxel is in view. Hopefully I'm just being paranoid, but I don't trust it to go well with
  clipping sprites to walls.

SVN r4244 (trunk)
2013-05-01 02:27:07 +00:00
Randy Heit
cadc16293e - Fixed: r4234 moved tic decrementing to the wrong spot.
SVN r4243 (trunk)
2013-05-01 02:21:43 +00:00
Christoph Oelckers
bed47c6eff - A_KIllSiblings and A_DamageSiblings didn't check for a valid master.
SVN r4242 (trunk)
2013-04-30 06:48:53 +00:00
Randy Heit
0e19a0e330 - Added a NODELAY state flag. This is only valid for a state immediately following a Spawn label.
When set, the actor will run this state during its first tick. This means Spawn
  states may now run an action function if you set this flag. Note that this action function
  is executed during the actor's first tick, which is not the same as when it is spawned.

SVN r4240 (trunk)
2013-04-30 04:20:09 +00:00
Randy Heit
cc5110575f - Fixed: The constructor for single-lump fonts did not initialize the Cursor field.
SVN r4239 (trunk)
2013-04-30 03:14:49 +00:00
Randy Heit
ecdde24bda - Fixed: WeaponGiver did not give half ammo when dropped.
SVN r4238 (trunk)
2013-04-30 03:07:39 +00:00
Randy Heit
5dc034c2ed - Fixed: A_RemoveSiblings and A_KillSiblings did not check that the caller had a master to deduce siblings from.
SVN r4237 (trunk)
2013-04-30 02:46:47 +00:00
Randy Heit
f7aa019f85 - Stylistic changes.
SVN r4236 (trunk)
2013-04-30 02:45:15 +00:00
Randy Heit
e92560b4da - Be consistent with whitespace tabs.
SVN r4235 (trunk)
2013-04-30 02:41:59 +00:00
Braden Obrzut
10934f4d70 - Lets try fixing the extra tic issue by evaluating the zero delay states at PostBeginPlay. This requires delaying the state cycling until the next tick.
SVN r4234 (trunk)
2013-04-29 21:12:57 +00:00
Braden Obrzut
90b4480bcd - Try that last fix again. This time check to see if we enter an infinite duration state and break out of the loop.
SVN r4233 (trunk)
2013-04-28 18:55:55 +00:00
Braden Obrzut
81487f4a69 - Fixed: noextratic fix skipped over infinite duration states.
SVN r4232 (trunk)
2013-04-28 18:00:41 +00:00
Randy Heit
4bc60ec900 - Added Blzut3's noextratic fix.
SVN r4231 (trunk)
2013-04-28 03:55:31 +00:00
Randy Heit
d2ef6d81da - P_RailAttack() now checks the puff's MF3_FOILINVUL flag.
SVN r4230 (trunk)
2013-04-28 03:45:19 +00:00
Randy Heit
2dfb1dd92f - Added an alternate 2D sprite sorting comparison function which seems to work better with
large voxels than the standard 1D sprite sort.

SVN r4229 (trunk)
2013-04-28 03:31:13 +00:00
Randy Heit
b845fdb5d5 - Fixed: There's more than one place where the CROUCHABLEMORPH flag needs to be checked.
SVN r4228 (trunk)
2013-04-28 02:31:34 +00:00
Randy Heit
3bbd255b73 - Fixed: A_MinotaurChase should switch to the Idle state, not the Spawn state.
SVN r4227 (trunk)
2013-04-28 02:04:53 +00:00
Randy Heit
6921a3edc2 - Fixed: r4220 broke 3D floor rendering, because 3D floors have the floor and ceiling orientations
reversed compared to normal conventions.

SVN r4225 (trunk)
2013-04-23 03:51:51 +00:00
Randy Heit
92d54ca0fc - Instead of setting the default skybox in every sector without an explicit skybox set, set it
once in the level struct and then use that for sectors with a NULL skybox. This fixes zpack's
  E2M3 so that when it removes its sector stacks, you will get the default skybox in their
  place, since stacked sectors and skyboxes use the same pointers in a sector.

SVN r4224 (trunk)
2013-04-21 02:22:37 +00:00
Christoph Oelckers
9f71c7cb4e - added Xaser's reactiontime for ACS and DECORATE expression patch.
SVN r4222 (trunk)
2013-04-20 21:32:03 +00:00
Randy Heit
cb64014494 - Added CROUCHABLEMORPH flag for the PlayerPawn class. Use this to indicate that a morphed
player class can crouch. (Regular players can always crouch, hence the name CROUCHABLEMORPH
  and not CANMORPH or ALLOWMORPH.)

SVN r4221 (trunk)
2013-04-19 02:24:20 +00:00
Randy Heit
a50e670c0c - Use tests less prone to overflow on very steep slopes when detecting which side of a plane
the camera is on. Mostly, this means testing the distance of the camera to the plane rather
  than computing the plane's Z at the camera and comparing that with the camera's Z.

SVN r4220 (trunk)
2013-04-17 01:32:40 +00:00
Randy Heit
c069295f19 - Fixed: When trying to unmorph a monster, make sure the morphed version doesn't have the
TOUCHY flag set, or checking the position of the unmorphed version will kill the morphed
  version, since they will both exist in the same place at the same time, and TOUCHY is
  really touchy about that.

SVN r4219 (trunk)
2013-04-16 20:39:54 +00:00
Randy Heit
865a535af2 - Force all voxel mip levels so use the same pivot point as the first level.
SVN r4217 (trunk)
2013-04-16 20:22:01 +00:00
Randy Heit
6dc21f9a8b - Fixed: Voxel rendering completely fell apart when a mirror came into view.
SVN r4216 (trunk)
2013-04-16 20:17:34 +00:00
Randy Heit
a5d770b433 - Dropped items with the DONTGIB flag set will no longer be destroyed by crushers.
SVN r4215 (trunk)
2013-04-16 17:55:17 +00:00
Randy Heit
cbe11657f0 - Fixed: A_Face should take into account the target's height when aiming pitch.
SVN r4214 (trunk)
2013-04-10 00:13:55 +00:00
Randy Heit
2fb64108a7 - Fixed: Monsters with STAYMORPHED set would still unmorph.
SVN r4213 (trunk)
2013-04-09 22:45:20 +00:00
Randy Heit
f7c55c0936 - Do copy a monster's special to its morphed version so that it can be properly restored when
it unmorphs.

SVN r4212 (trunk)
2013-04-09 22:40:27 +00:00
Randy Heit
85d4350190 - Fixed: AInventory::Touch() should check for a local player view before trying the pickup,
because if it's a morph powerup, after being picked up, the toucher this function received will
  no longer be the active player.

SVN r4211 (trunk)
2013-04-09 22:24:18 +00:00
Randy Heit
ec6d522a29 - Remove the requirement that only action function default parameters can accept a constant
expression that evaluates to the class 'None'. (I don't know why that was there to begin with.)

SVN r4210 (trunk)
2013-04-09 22:15:41 +00:00
Randy Heit
0a9a54fca8 - Multiply the resulting velocity by the player's speed when "jumping" underwater.
SVN r4209 (trunk)
2013-04-09 21:57:48 +00:00
Randy Heit
147da94e2f - Added FDARI's CLOFF_JUMP_ON_MISS and CLOFF_AIM_VERT_NOOFFSET flags.
SVN r4207 (trunk)
2013-03-28 01:29:23 +00:00
Randy Heit
4cf3a4a1cf - Always spawn RocketSmokeTrail and GrenadeSmokeTrail actors, and make them invisible for players
who don't want to see them. This is needed for multiplayer sync between players with different
  settings for cl_rockettrails.

SVN r4206 (trunk)
2013-03-28 01:01:19 +00:00
Braden Obrzut
316faf59b4 - Fixed: Skin mugshots didn't load. (This adds a texture usetype for skin graphics.)
SVN r4205 (trunk)
2013-03-25 18:20:39 +00:00
Randy Heit
332b1091b4 - Make FName::NameManager::Inited a static member variable.
SVN r4204 (trunk)
2013-03-24 02:35:29 +00:00
Randy Heit
324b13c89b - Added Weapon.MinSelectionAmmo1 and Weapon.MinSelectionAmmo2 to exclude weapons from autoselection
even if they have enough ammo to be used.

SVN r4203 (trunk)
2013-03-24 02:25:12 +00:00
Randy Heit
449bf216fa - Stop storing rail hits in a global variable, and consolidate the two railgun callbacks into a single function.
SVN r4202 (trunk)
2013-03-23 03:05:01 +00:00
Randy Heit
f9915d7cf2 - Added FDARI's A_CheckLOF, modified to use a Trace callback function.
SVN r4201 (trunk)
2013-03-23 02:55:59 +00:00
Randy Heit
dcf50ab6cb - Added an enum for the values a Trace callback function can return.
- Added a userdata parameter to pass to the Trace callback function.

SVN r4200 (trunk)
2013-03-23 02:54:13 +00:00
Randy Heit
c54ea7f6b7 - Added SXF_TRANSFERSPECIAL and SXF_CLEARCALLERSPECIAL flags for A_SpawnItemEx.
SVN r4199 (trunk)
2013-03-23 01:22:37 +00:00
Randy Heit
044616a86f - Fixed: Don't return false from PIT_CheckThing when a shootable missile hits a nonmonster and
infighting is disabled; let the normal conditions apply. Otherwise, you end up with situations
  where monster-fired projectiles can collide with pickups.

SVN r4198 (trunk)
2013-03-21 22:58:37 +00:00
Randy Heit
0c6c78517b - Always at least halve the advance vector in P_CheckMissileSpawn().
SVN r4197 (trunk)
2013-03-21 22:23:42 +00:00
Randy Heit
06445e8181 - Fixed: Used the wrong actor's radius in P_Thing_Projectile() to get the maxdist for P_CheckMissileSpawn().
SVN r4196 (trunk)
2013-03-21 22:21:54 +00:00
Randy Heit
e4127111b1 - A player's Speed is now applied to their upmove as well as their forwardmove and sidemove.
SVN r4195 (trunk)
2013-03-21 03:47:39 +00:00
Randy Heit
2874d927b1 - Random spawners no longer move the missile forward when spawning them, because presumably
whatever spawned the random spawner already took care of this.
- Added a maxdist parameter to P_CheckMissileSpawn() to help ensure that it doesn't completely 
  move the spawned missile outside of its shooter (and potentially beyond a wall the shooter
  might happen to be standing next to).

SVN r4194 (trunk)
2013-03-21 03:06:04 +00:00
Randy Heit
34b2d0b21a - Fixed: Putting a lightlist in a sector caused that sector's floorlight and ceilinglight to be ignored.
SVN r4193 (trunk)
2013-03-21 02:28:07 +00:00
Randy Heit
cb41771342 - When moving polyobjects, recalculate the floors and ceilings for the actors in their bounding boxes. (See http://forum.zdoom.org/viewtopic.php?f=2&t=35616)
SVN r4192 (trunk)
2013-03-21 02:07:42 +00:00
Randy Heit
53e73783e0 - Added spawnofs_z parameter to A_RailAttack and A_CustomRailgun.
SVN r4191 (trunk)
2013-03-20 03:36:45 +00:00
Randy Heit
283ee1a891 - Make teleport fogs target the teleported actor.
SVN r4190 (trunk)
2013-03-20 03:21:37 +00:00
Randy Heit
fc4b0ffe68 - Use a missile's MaxTargetRange property as the range for P_AimLineAttack() inside P_SpawnPlayerMissile().
SVN r4189 (trunk)
2013-03-20 03:19:02 +00:00
Randy Heit
277d59b2bb - Added flags SXF_CLEARCALLERTID, SXF_MULTIPLYSPEED, and SXF_TRANSFERSCALE for A_SpawnItemEx.
SVN r4188 (trunk)
2013-03-20 03:07:45 +00:00
Randy Heit
de20936b13 - Allow negative force for A_RadiusThrust.
SVN r4187 (trunk)
2013-03-20 02:41:59 +00:00
Braden Obrzut
18bf56d3d7 - Fixed: NULL pointer dereference in DrawGem.
SVN r4186 (trunk)
2013-03-18 21:56:15 +00:00