Commit graph

268 commits

Author SHA1 Message Date
Christoph Oelckers
6adb069506 - rewrote p_local.h so that it doesn't pull in the entire bunch of headers.
This was to resolve some circular dependencies with the portal code.
The most notable changees:

 * FTextureID was moved from textures.h to doomtype.h because it is frequently needed in files that don't want to do anything with actual textures.
 * split off the parts from p_maputl into a separate header.
 * consolidated all blockmap related data into p_blockmap.h
 * split off the polyobject parts into po_man.h
2016-02-15 02:14:34 +01:00
Christoph Oelckers
e6328c8432 - enable fast floating point math in the subprojects that can benefit from it: dumb, gme and gdtoa. 2016-02-12 02:02:48 +01:00
Christoph Oelckers
b5029e0976 - call the native A_BossDeath directly instead of going through the VM-enabled action function.
- undo some formatting screwup in a_clericstaff.cpp.
2016-02-10 13:57:21 +01:00
Randy Heit
b3b0886b64 Merge branch 'scripting'
Conflicts:
	src/actor.h
	src/g_doom/a_doomweaps.cpp
	src/g_hexen/a_blastradius.cpp
	src/p_enemy.cpp
	src/p_enemy.h
	src/thingdef/thingdef.h
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/constants.txt
2016-02-04 15:17:22 -06:00
Randy Heit
c1b2861362 Merge the boolean args to EV/P_Teleport into a single flags arg
- The flags use TELF_ since DECORATE has an A_Teleport with its
  own set of TF_ flags.
- TELF_KEEPVELOCITY is used instead of TELF_HALTVELOCITY, because
  there was only one call that ever set bHaltVelocity to false.
2016-01-30 21:27:34 -06:00
Christoph Oelckers
623276f5a6 - fixed: All access to weapon info in DECORATE functions should be restricted to when they get called from an actual weapon, not from a CustomInventory item.
Issues this fixes:

 * all original Doom attack functions unconditionally altered the flash state.
 * A_FireOldBFG, A_RailAttack and A_Blast never checked for a valid ReadyWeapon.
 * CustomInventory items could deplete an unrelated weapon's ammo.
2016-01-26 09:43:47 +01:00
Christoph Oelckers
4b9647e539 Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/g_hexen/a_hexenspecialdecs.cpp
	src/g_strife/a_thingstoblowup.cpp
	src/thingdef/thingdef_codeptr.cpp
2016-01-20 11:45:57 +01:00
Christoph Oelckers
e9b23cf833 - keep evaluation order of Random() calls defined. 2016-01-20 09:25:30 +01:00
Christoph Oelckers
bc63b70d88 Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/fragglescript/t_func.cpp
	src/g_doom/a_bossbrain.cpp
	src/g_doom/a_revenant.cpp
	src/g_heretic/a_hereticartifacts.cpp
	src/g_heretic/a_hereticweaps.cpp
	src/g_heretic/a_knight.cpp
	src/g_hexen/a_bishop.cpp
	src/g_hexen/a_clericholy.cpp
	src/g_hexen/a_dragon.cpp
	src/g_hexen/a_firedemon.cpp
	src/g_hexen/a_flechette.cpp
	src/g_hexen/a_heresiarch.cpp
	src/g_hexen/a_hexenspecialdecs.cpp
	src/g_hexen/a_iceguy.cpp
	src/g_hexen/a_korax.cpp
	src/g_hexen/a_magelightning.cpp
	src/g_hexen/a_serpent.cpp
	src/g_hexen/a_spike.cpp
	src/g_hexen/a_wraith.cpp
	src/g_raven/a_minotaur.cpp
	src/g_shared/a_bridge.cpp
	src/g_shared/a_pickups.cpp
	src/g_shared/a_randomspawner.cpp
	src/g_strife/a_alienspectres.cpp
	src/g_strife/a_crusader.cpp
	src/g_strife/a_entityboss.cpp
	src/g_strife/a_inquisitor.cpp
	src/g_strife/a_loremaster.cpp
	src/g_strife/a_programmer.cpp
	src/g_strife/a_sentinel.cpp
	src/g_strife/a_spectral.cpp
	src/g_strife/a_strifestuff.cpp
	src/g_strife/a_strifeweapons.cpp
	src/g_strife/a_thingstoblowup.cpp
	src/p_local.h
	src/r_utility.cpp
2016-01-19 13:43:11 +01:00
Christoph Oelckers
2326928ff7 - the last bits of Hexen refactored
This also fixes a problem with some of Hexen's Wraith's effects which did some repositioning without properly linking them into the blockmap.
2016-01-19 01:10:57 +01:00
Christoph Oelckers
ef7be016c4 - all those 'actor->SetZ(actor->Z() +...) calls weren't pretty so now there's an AddZ method, too. 2016-01-18 22:32:36 +01:00
Christoph Oelckers
c8052ce1b8 - 4 more Hexen files processed. 2016-01-18 22:26:02 +01:00
Christoph Oelckers
61b66904da - more Heretic and Hexen refactoring. 2016-01-18 22:11:18 +01:00
Christoph Oelckers
bf747075e8 Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/g_hexen/a_clericstaff.cpp
	src/p_enemy.cpp
	src/p_interaction.cpp
	src/p_local.h
	src/p_mobj.cpp
	src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:57:55 +01:00
Christoph Oelckers
fbaab5044d Merge commit '38df0665e3a2018cf1d0028a36357df6c7e908e9' into scripting
Conflicts:
	src/d_dehacked.cpp
	src/decallib.cpp
	src/g_hexen/a_clericstaff.cpp
	src/p_interaction.cpp
	src/p_local.h
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/constants.txt
	wadsrc/static/actors/shared/inventory.txt
2016-01-17 19:50:34 +01:00
Christoph Oelckers
2c0f64cf9f - refactoring of R_PointToAngle2 when used to calculate direction between two actors. 2016-01-10 20:46:26 +01:00
Christoph Oelckers
1e2ce9a622 - some refactoring of P_AproxDistance calls into newly defined AActor method AproxDistance.
The main reason here is to reduce the number of instances where AActor::x and AActor::y are being referenced.
2016-01-10 17:52:41 +01:00
Edoardo Prezioso
6678c3550e - Improve the TFlags code and fix the new errors.
The previous version didn't detect some real mistakes in code which used operator& with the wrong flagset (for now 'converted' to the correcly equivalent counterpart, waiting for the proper fix).
2015-10-13 00:30:06 +02:00
Christoph Oelckers
065c0a79cd Merge commit '4f7ec3ad891d556c0d3f680e209a120ed38e9cdb' into scripting
Conflicts:
	src/d_main.cpp
	src/info.cpp
	src/info.h
	src/p_acs.cpp
	src/p_interaction.cpp
	src/p_mobj.cpp
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_properties.cpp

(scripting branch update part 5)
2015-04-28 12:48:33 +02:00
Christoph Oelckers
792cad89b3 Merge commit '3849cb86231ce24131a86e9c29795a8cf3706a3d' into scripting
Conflicts:
	src/g_hexen/a_clericstaff.cpp
	src/g_hexen/a_hexenspecialdecs.cpp
	src/p_acs.cpp
	src/p_enemy.cpp
	src/p_interaction.cpp
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_expression.cpp

(Scripting branch update part 4)
2015-04-28 11:59:33 +02:00
Randy Heit
d37f9cbcae Add flies (doomed #112) from the Hexen retail beta
...because it brought back memories of adding Strife support.
- The search function is radically different, but the flying mechanics are
  the same.
2015-04-02 17:52:54 -05:00
Christoph Oelckers
7b6d245444 - added NULL pointer checks to A_CheckStaff. 2015-03-24 09:22:51 +01:00
Randy Heit
d84c85d40f Remove warnings warned by Clang 2015-03-08 17:21:15 -05:00
Randy Heit
19ab774dc8 Fixed: A_CStaffCheck needed more NULL pointer checks 2015-02-20 20:17:15 -06:00
Randy Heit
b5e4153c78 Merge branch 'master' into gonesolong
Conflicts:
	src/CMakeLists.txt
	src/b_think.cpp
	src/g_doom/a_doomweaps.cpp
	src/g_hexen/a_clericstaff.cpp
	src/g_hexen/a_fighterplayer.cpp
	src/namedef.h
	src/p_enemy.cpp
	src/p_local.h
	src/p_mobj.cpp
	src/p_teleport.cpp
	src/sc_man_tokens.h
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_function.cpp
	src/thingdef/thingdef_parse.cpp
	wadsrc/static/actors/actor.txt
	wadsrc/static/actors/constants.txt
	wadsrc/static/actors/shared/inventory.txt

- Added register reuse to VMFunctionBuilder for FxPick's code emitter.
- Note to self: Need to reimplement IsPointerEqual and CheckClass, which
  were added to thingdef_function.cpp over the past year, as this file no
  longer exists in this branch.
2014-12-21 21:15:11 -06:00
Randy Heit
2d87eb0ba2 Merge branch 'master' into gonesolong
Conflicts:
	src/CMakeLists.txt
	src/actor.h
	src/g_heretic/a_hereticmisc.cpp
	src/g_heretic/a_hereticweaps.cpp
	src/g_heretic/a_ironlich.cpp
	src/info.h
	src/namedef.h
	src/p_buildmap.cpp
	src/p_enemy.cpp
	src/p_map.cpp
	src/p_mobj.cpp
	src/thingdef/thingdef_codeptr.cpp
	zdoom.vcproj
2014-12-20 19:13:14 -06:00
Christoph Oelckers
ee6e87d94b - use a separate counter from AActor::special1 to count weapon use with some Hexen weapons. special1 is used for some other purposes as well, and when using a separate counter it can be reset to 0 when changing weapons, preventing counting errors. 2014-09-13 12:38:16 +02:00
Edoardo Prezioso
72bbb19cc7 - Shut up GCC aggressive optimizer warnings.
From what I can see, GCC would miscompile the involved loops, because the index variable is 'signed int' and the multiplication with an unsigned would cause signed overflow (undefined behavior). Change the index variable type to 'unsigned int' to expect unsigned overflow (conformant to standard).
2014-05-25 10:11:09 +02:00
Christoph Oelckers
24886b6734 - removed the last static character arrays from FLevelLocals. 2014-05-13 23:16:13 +02:00
Edward Richardson
662bc7a3ac cl_bloodtype could break playsim sync
Corrected entries were blood would spawn inconsistently because of
cl_bloodtype. Blood now always spawns but is marked invisible according
to cl_bloodtype.
2013-12-01 22:06:48 +13:00
Randy Heit
02514dc9b2 - Fixed: AFSwordMissile::DoSpecialDamage had a unique prototype
so it would never actually be called.
2013-10-09 22:32:52 -05:00
Randy Heit
459ad5abff - Updated scripting branch to latest version in trunk.
SVN r4337 (scripting)
2013-06-07 03:31:30 +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
549712e719 - P_DamageMobj() now returns the amount of damage actually done so that the bleed functions
can perform based on the amount of damage actually taken after all modifications are done to
  it. However, if the damage is canceled away, blood will still spawn for the original damage
  amount rather than the modified amount.

SVN r4012 (trunk)
2013-01-02 04:39:59 +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
6e88529324 - Added a RETI instruction for returning 15-bit signed immediate values.
- Changed Actor's Damage property into an actual function. All access to the damage property
  must now be done through GetMissileDamage. actor->GetMissileDamage(0, 1) is equivalent
  to the former actor->Damage, for the case where actor->Damage was not an expression. (I
  suppose I will probably need to make a thunk for DECORATE expressions that want to read it.)
- Cleaned up some decorate expression evaluation functions that are no longer used.

SVN r3919 (scripting)
2012-10-28 04:36:52 +00:00
Randy Heit
e7efa1d802 - Update to latest version in trunk.
SVN r3890 (scripting)
2012-10-17 04:24:54 +00:00
Randy Heit
6a91335841 - Turned A_Explode's affectsource parameter into a flags parameter and added XF_NOTMISSILE
and RTF_NOTMISSILE so that you can use A_Explode and A_RadiusThrust with non-missiles without
  them telling P_RadiusAttack() that the target is the source.

SVN r3860 (trunk)
2012-08-30 04:01:50 +00:00
Randy Heit
d85604da19 - Update scripting branch to latest version of trunk.
SVN r3767 (scripting)
2012-07-17 02:53:53 +00:00
Randy Heit
562cf04db2 - Update scripting branch to trunk.
SVN r3758 (scripting)
2012-07-14 03:04:41 +00:00
Randy Heit
ba00e3a185 - Remove FloatBobOffsets[], since it's just a mini-finesine[] table multiplied by 8.
SVN r3753 (trunk)
2012-07-11 02:50:13 +00:00
Randy Heit
0c8e4c37d9 - The complete FMapThing is overkill for storing player starts, so use a new minimal structure for them.
SVN r3750 (trunk)
2012-07-08 02:18:15 +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
e800522e26 - Fixed: sv_unlimited_pickup did not work with the flechette.
SVN r3727 (trunk)
2012-07-01 22:47:13 +00:00
Randy Heit
1346f136f2 - Added inventory-based damage modification to APoisonCloud::DoSpecialDamage() and P_PoisonDamage().
SVN r3718 (trunk)
2012-06-30 01:06:30 +00:00
Randy Heit
e1641da881 - Make APoisonCloud::DoSpecialDamage() and P_PoisonDamage() respect damage factors.
- Pass the damage type to AActor::DoSpecialDamage().

SVN r3717 (trunk)
2012-06-29 04:21:31 +00:00
Christoph Oelckers
67e4d93395 - fixed: The Wraithverge's sprits couldn't be blasted anymore due to some incomplete changes related to how A_Blast handles the blast strength. AHolySpirit::SpecialBlastHandling still used the obsolete BLAST_FULLSTRENGTH constant.
SVN r3698 (trunk)
2012-06-17 10:28:55 +00:00
Christoph Oelckers
37d9519673 - added Xaser's submission for no impact damage from blasting.
SVN r3693 (trunk)
2012-06-16 09:01:05 +00:00
Randy Heit
086d0a797e - Added AActor::SetFriendPlayer() to make setting FriendPlayer cleaner to read when doing it with
a player_t pointer.

SVN r3681 (trunk)
2012-06-09 04:15:56 +00:00
Randy Heit
2c6763d750 - A_FPunchAttack no longer thrusts targets with INT_MAX mass.
- Folded duplicated code from A_FPunchAttack into a separate function.

SVN r3680 (trunk)
2012-06-09 04:00:39 +00:00
Christoph Oelckers
0f8e2441a1 - changed spectral missiles to use FriendPlayer instead of health to distinguish between player spawned and monster spawned versions. Also moved most of this into the basic missile spawning functions instead of littering all spectral missile spawning functions with these initializations.
SVN r3651 (trunk)
2012-05-13 11:17:27 +00:00
Christoph Oelckers
3a24790056 - fixed: The newly added checks for printing weapon obituaries failed if the weapon used a puff with a special damage type. To handle this, P_DamageMobj will now pass the damage flags to AActor::Die and from there to ClientObituary so that P_LineAttack - which is a better place to decide this - can flag an attack as coming from a player weapon.
- fixed: The same rules that are used for deciding if a weapon attack took place should be used when checking the PIERCEARMOR flag in P_LineAttack: It should be ignored if the attack doesn't originate from the weapon.

SVN r3649 (trunk)
2012-05-13 07:54:44 +00:00
Braden Obrzut
206ffd936f - Fixed: r3630 had a missing end parentheses.
- Removed A_KSpiritWeave since it was basically identical to the function CHolyWeave (besides the random number generator object) and was never exported as a native action anywhere.

SVN r3631 (trunk)
2012-05-07 06:14:48 +00:00
Braden Obrzut
7eb8594e86 - Fixed: A_FAxeCheckUp would jump to the ReadyGlow state instead of SelectGlow.
SVN r3621 (trunk)
2012-05-04 18:37:41 +00:00
Christoph Oelckers
75dc6cb0b2 - changed damage screen blending code so that the same version can be used by any renderer.
- added GZDoom's version of blending for Strife's hazard sectors as an option to the paletteflash CVAR.


SVN r3613 (trunk)
2012-05-01 11:27:54 +00:00
Christoph Oelckers
44519f3972 - added Gez's fixed palette flashes for Hexen.
SVN r3585 (trunk)
2012-04-22 07:58:04 +00:00
Randy Heit
5b86ce9f7d - If A_SeekerMissile is used with the SMF_LOOK flag and its targets is unseekable, it now clears
its tracer so that it will look for a new target the next time it is called.
- Extended P_RoughMonsterSearch() with a flag to indicate that it should only search for seekable
  targets.

SVN r3572 (trunk)
2012-04-19 03:22:06 +00:00
Randy Heit
1e21ebad5d - Let puke and pukename take up to four script parameters.
- Pass ACS_ExecuteWithResult's fifth argument as a fourth script parameter.
- Simplify P_StartScript()'s usage.

SVN r3394 (trunk)
2012-02-26 03:36:05 +00:00
Randy Heit
514f29a34a - Added Gez's custom flechettes patch, with ArtiPoisonBag4 renamed to ArtiPoisonBagGiver and
ArtiPoisonBag5 renamed to ArtiPoisonBagShooter.

SVN r3379 (trunk)
2012-02-21 20:58:33 +00:00
Christoph Oelckers
3c47a30249 - added Gez's submission for inventory restrictions but changed the added checks to be in the main CallTryPickup function.
SVN r3296 (trunk)
2011-09-23 08:23:51 +00:00
Christoph Oelckers
f2a457206c - fixed some potential NULL pointer accesses.
SVN r3285 (trunk)
2011-08-30 15:34:40 +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
1ea5cc8bd8 - added a function to execute action specials and changed all calls to use this function. This was done to make it easier to check such calls.
SVN r3152 (trunk)
2011-02-13 10:18:28 +00:00
Christoph Oelckers
e90b86acce - added 'player.flechettetype' property so that the appropriate flechette type can be set per player class.
- bumped savegame version for flechette type changes.

SVN r3085 (trunk)
2011-01-01 11:16:46 +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
Randy Heit
99670b708c - Sync scripting branch with what was in trunk on Sunday. I believe that would be revision 2739.
SVN r2790 (scripting)
2010-09-16 03:14:32 +00:00
Christoph Oelckers
5bb4ca5bc6 - fixed: Hexen's melee weapons were missing some NULL pointer checks in the code that determines whether they hit something or not.
SVN r2415 (trunk)
2010-07-08 21:16:01 +00:00
Christoph Oelckers
e535b40a9e - fixed: All melee attack functions only used the target acquired by P_AimLineAttack for all subsequent calculations, not the actual victim of the attack.
SVN r2373 (trunk)
2010-06-13 11:14:01 +00:00
Braden Obrzut
d7686d0c26 - Added optional offset parameters to the drawshadow flag.
- Added character alignment parameter to font monospacing.
- Fixed: character shadows were not scaled.
- Heretic keys now have an icon associated with them so that they can be drawn through drawkeybar.
- Replaced the built in Heretic and Hexen status bars with SBarInfo equivalents.

SVN r2353 (trunk)
2010-06-02 20:26:27 +00:00
Randy Heit
178587fff2 - Merged SetState and SetStateNF into a single function.
- Added new sprite #### and frame character # to specify the behavior of sprite ---- on a
  per-sprite and per-frame basis respectively.

SVN r2291 (trunk)
2010-04-19 02:46:50 +00:00
Randy Heit
42ac75e894 - Sync scriptbranch with trunk.
SVN r2269 (scripting)
2010-04-04 04:09:24 +00:00
Randy Heit
19f5b1dea1 - Removed the RUNTIME_TYPE macro. I just included it because MFC has one, but it's pretty
pointless here.

SVN r2267 (scripting)
2010-04-04 02:58:58 +00:00
Randy Heit
06995e26d9 - Be stricter about types accepted by spawning functions.
SVN r2265 (scripting)
2010-04-03 04:07:17 +00:00
Christoph Oelckers
1436f0a4fa - Fixed: It was no longer possible to talk to non-shootable NPCs. Also took
the opportunity to merge the various boolean parameters to P_AimLineAttack into one flag parameter.



SVN r2254 (trunk)
2010-03-28 10:51:35 +00:00
Randy Heit
604b5ef673 - Removed the old meta data system. All meta data is now stored in subclasses of PClass. This
should simplify scripting, since it means that meta fields can be treated (mostly) the same as
  normal fields.

SVN r2242 (scripting)
2010-03-25 20:38:00 +00:00
Randy Heit
f88f601230 - Removed the third parameter from dumpclasses when it was restricted it to Actors, because
I have no idea what that was all about.
- Got rid of FActorInfo and merged it into a new PClassActor.

SVN r2240 (scripting)
2010-03-24 02:49:37 +00:00
Randy Heit
913555aa4e - Synced the scripting branch with trunk.
SVN r2166 (scripting)
2010-02-17 04:46:11 +00:00
Randy Heit
739e684549 - Converted all action functions be directly callable by the VM (though they are not yet
usable).

SVN r2154 (scripting)
2010-02-12 06:04:57 +00:00
Christoph Oelckers
b21eb894ae - reverted accidental commit
SVN r2064 (trunk)
2009-12-31 20:50:30 +00:00
Christoph Oelckers
66c2e4b540 - Added ACS stubs for GZDoom's new SetGlobalFogParameter action special.
SVN r2058 (trunk)
2009-12-29 22:53:45 +00:00
Randy Heit
64789b9111 - Fixed: Shooting up and down with AArtiPoisonBag3::Use() was completely
broken. I don't know what I thinking when I plugged in 2*finesine[pitch]
  for Hexen's lookdir, because that's totally wrong. Not only is the
  magnitude far too low, but it also aims in the opposite direction you
  are looking. The new code only attempts to be close to Hexen's original
  while looking straight ahead and extrapolates that to other angles using
  proper 3D math.


SVN r2057 (trunk)
2009-12-29 04:50:56 +00:00
Christoph Oelckers
85c683e0c7 - Reintroduced Doom.exe's player_t::usedown variable so that respawning a
player does not immediately activate switches. oldbuttons was not usable
  for this. This also required that CopyPlayer preserves this info.
- Fixed: When restarting the music there was a NULL pointer check missing
  so it crashed when the game was started wi
- Fixed: If the Use key is used to respawn the player it must be cleared
  so that it doesn't trigger any subsequent actions after respawning.
- Fixed: Resurrecting a monster did not restore flags5 and flags6.
- Fixed: Projectiles which killed a non-monster were unable to determine
  what precisely they hit because MF_CORPSE is only valid for monsters.
  A new flag, MF6_KILLED that gets set for all objects that die, was added
  for this case.
- Added a generic A_Weave function that exposes all possible options of
  A_BishopMissileWeave and A_CStaffMissileSlither. These 2 functions are
  no longer needed from DECORATE and therefore deprecated.


SVN r2045 (trunk)
2009-12-25 11:09:56 +00:00
Randy Heit
d2a4339816 - Split weaveindex into two separate byte-sized properties and moved them into unused space
inside AActor.

SVN r2038 (trunk)
2009-12-25 00:19:28 +00:00
Christoph Oelckers
b0b80f6996 - made the initial weave index for A_BishopMissileWeave and A_CStaffMissileSlither
a configurable actor property.
- added a menu item for snd_channels.



SVN r2036 (trunk)
2009-12-23 11:41:24 +00:00
Christoph Oelckers
4a81f55fb0 - Added Gez's seeker missile submission.
SVN r1905 (trunk)
2009-10-09 20:54:28 +00:00
Christoph Oelckers
a6c387ecef - Deleted a_magewand.cpp because it only contained unused code.
SVN r1897 (trunk)
2009-10-04 22:48:01 +00:00
Christoph Oelckers
5c105c0cad - forgot something.
SVN r1895 (trunk)
2009-10-03 17:52:49 +00:00
Christoph Oelckers
3d8d176087 - Added Gez's MageWandMissile customization patch but moved the new functionality
into the FastProjectile base class and removed the native MageWandMissile
  class, using the generic functionality instead.
- Fixed: GetReplacement and GetReplacee always checked the skill definitions,
  even if they weren't supposed to be used. It was also missing a range check
  for 'gameskill'.


SVN r1894 (trunk)
2009-10-03 17:07:11 +00:00
Christoph Oelckers
6d357b84b4 - Added Gez's A_Blast submission.
SVN r1886 (trunk)
2009-09-28 15:55:57 +00:00
Randy Heit
d816747c7e - Fixed: "give health" without an amount would set your health to IDDQD health
instead of the player class's maximum.
- Fixed: A_CStaffCheck() assumed the player's max health was 100 instead
  of getting checking for the true maximum.


SVN r1876 (trunk)
2009-09-25 03:07:20 +00:00
Christoph Oelckers
dc292caaa3 - Added some pieces of MBF's friendly AI.
- Cleaned up A_LookEx code and merged most of it with the base functions.
  The major difference was a common piece of code that was repeated 5 times
  throughout the code so I moved it into a subfunction.
- Changed P_BlockmapSearch to pass a user parameter to its callback so that
  A_LookEx does not need to store its info inside the actor itself.


SVN r1846 (trunk)
2009-09-16 15:54:04 +00:00
Christoph Oelckers
afab7855c4 - removed the COMPATF_MBFDEHACKED flag because it wouldn't work and is more or less useless anyway.
The range checks this protected against can be safely omitted now that the misc fields are large enough.
- added MBF Dehacked emulation.

SVN r1824 (trunk)
2009-09-14 22:12:31 +00:00
Randy Heit
c1a578ba08 - Split the bounce types completely into separate flags and consolidated
the various bounce-related flags spread across the different Actor flags
  field into a single BounceFlags field.
- Fixed: P_BounceWall() should calculate the XY velocity using a real
  square root and not P_AproxDistance(), because the latter can cause
  them to speed up or slow down.


SVN r1796 (trunk)
2009-09-06 01:49:17 +00:00
Christoph Oelckers
385350efae - Fixed: A_SorcOffense2 depended on args being bytes and overflowing.
- Fixed: Even though P_DamageMobj checked an attack's originator
  for MF2_NODMGTHRUST the same check was missing from P_RadiusAttack.
- Fixed: A_MinotaurRoam should not assume without check that it was
  called by a MinotaurFriend.
- Fixed: The Minotaur declared A_MntrFloorFire which it did not use.
- Fixed: All Spawnspot functions did not check for a spot tid of 0 as
  the script's activator.
- Fixed: Friendly monsters ignored team association of their owning
  players.


SVN r1770 (trunk)
2009-08-12 18:57:31 +00:00
Randy Heit
b1b258ec55 - Gez's patch for more A_WeaponReady flags:
* WRF_NOBOB (1): Weapon won't bob
  * WRF_NOFIRE (12): Weapon won't fire at all
  * WRF_NOSWITCH (2): Weapon can't be switched off
  * WRF_NOPRIMARY (4): Weapon will not fire its main attack
  * WRF_NOSECONDARY (8): Weapon will not fire its alt attack


SVN r1720 (trunk)
2009-07-16 22:40:04 +00:00
Christoph Oelckers
23e4c47b5b - Added Gez's A_WeaponReady enhancement submission.
SVN r1711 (trunk)
2009-07-06 15:48:31 +00:00
Christoph Oelckers
635d71e660 - Added code submissions for non-piercing railguns and new skill options.
SVN r1706 (trunk)
2009-07-04 18:17:44 +00:00
Randy Heit
e4af82ae96 - Enough with this "momentum" garbage. What Doom calls "momentum" is really
velocity, and now it's known as such. The actor variables momx/momy/momz
  are now known as velx/vely/velz, and the ACS functions GetActorMomX/Y/Z
  are now known as GetActorVelX/Y/Z. For compatibility, momx/momy/momz will
  continue to work as aliases from DECORATE. The ACS functions, however,
  require you to use the new name, since they never saw an official release
  yet.


SVN r1689 (trunk)
2009-06-30 20:57:51 +00:00
Christoph Oelckers
93742aca31 - Added Karate Chris's poison cloud fix.
SVN r1647 (trunk)
2009-06-07 09:41:22 +00:00
Christoph Oelckers
cc357e5178 - re-fix of Gez's MAX_MANA patch
SVN r1633 (trunk)
2009-06-04 22:05:12 +00:00