Commit Graph

3176 Commits

Author SHA1 Message Date
Christoph Oelckers 7012179904 - moved MarkPrecacheSounds completely to the script side and added native support to make this a usable feature. 2018-11-25 07:43:05 +01:00
Christoph Oelckers 8fa16b6c30 - some cleanup on the weapon slot interface.
This really shouldn't make any decisions from directly reading weapon class defaults.
2018-11-25 07:21:02 +01:00
Christoph Oelckers f218e95c4d - scriptified cht_Takeweaps. 2018-11-25 01:26:19 +01:00
Christoph Oelckers 460c400315 - scriptified ApplyKickback. 2018-11-25 01:12:45 +01:00
Christoph Oelckers ae27acb944 - scriptified A_WeaponReady and its subfunctions. 2018-11-25 00:54:13 +01:00
Christoph Oelckers 34b7e5f435 - scriptified P_BobWeapon as a virtual function on PlayerPawn. 2018-11-25 00:23:03 +01:00
Christoph Oelckers 8eb4697fbd - removed the bot related properties from AWeapon.
This stuff is now kept locally in the bot code so that it doesn't infest the rest of the engine.
And please don't read the new botsupp.txt file as some new means to configure bots! This was merely done to get this data out of the way.
The bots are still broken beyond repair and virtually unusable, even if proper data is provided for all weapons.
2018-11-24 23:48:23 +01:00
Christoph Oelckers 4392b4e96d - exported the blood spawning part of P_LineAttack as a virtual ZScript function. 2018-11-24 22:35:50 +01:00
Christoph Oelckers f260709e73 - moved the weapon selection logic to PlayerPawn as overridable virtual functions. 2018-11-24 22:22:36 +01:00
Christoph Oelckers b6d0d5008e - change teleport freeze handling to a player property plus virtual override on PlayerPawn for increased configurability. 2018-11-24 21:37:00 +01:00
Christoph Oelckers 337750b874 - scriptified BecomeItem and BecomePickup 2018-11-24 21:25:26 +01:00
Christoph Oelckers 3d892d3970 - scriptified FilterCoopRespawnInventory. 2018-11-24 20:58:33 +01:00
Christoph Oelckers c14b7f58d3 - scriptified some simple sound functions. 2018-11-24 20:33:00 +01:00
Christoph Oelckers fb91982da2 - scriptified APlayerPawn::Die and fixed a few things I encountered while doing it. 2018-11-24 20:32:12 +01:00
Christoph Oelckers cf9cd58310 - scriptified ModifyDropAmount as a virtual function hierarchy for Inventory and children. 2018-11-24 19:59:24 +01:00
Christoph Oelckers 652606f70b - scriptified A_Explode and relatives. 2018-11-24 19:29:52 +01:00
Christoph Oelckers 44d51a6de9 - scriptified GetDefaultInventory. 2018-11-24 19:03:33 +01:00
Christoph Oelckers be100fa5d3 - removed MeleeWeapon flag from the tomed PhoenixRod and the fighterhammer.
In both cases, having this flag on will render the monster-backing-off-check for melee attacks ineffective because it would misinterpret these weapons as close range only - which they aren't. Even for the PhoenixRod the range is longer than what gets checked here.
As a consequence, the bot's check for missile shooting melee weapons has also become pointless because no such weapon is defined anymore.
2018-11-24 18:42:10 +01:00
Christoph Oelckers 814af66864 - exported one FraggleScript function for testing. 2018-11-24 18:33:42 +01:00
Christoph Oelckers 595208f2fd - exported a few more weapon handling functions so that the native GetDownState stub could be removed. 2018-11-24 18:21:40 +01:00
Christoph Oelckers 9584e3bc53 - scriptified P_BringUpWeapon because this was the only native function still referencing AWeapon::GetReadyState. 2018-11-24 17:22:59 +01:00
Christoph Oelckers b4c272ddff - scriptified A_SpawnItem(Ex) and A_ThrowGrenade.
These were the last native functions referencing AWeapon::DepleteAmmo, so that function is now exclusively on the scripting side.
2018-11-24 17:01:12 +01:00
Christoph Oelckers 6be7fc33f3 - scriptified 3 more functions in stateprovider. 2018-11-24 15:42:43 +01:00
Christoph Oelckers 4c1b3f81ab - scriptified A_RailAttack. 2018-11-24 15:12:30 +01:00
Christoph Oelckers 5c130737c4 - scriptified A_CustomPunch 2018-11-24 14:48:30 +01:00
Christoph Oelckers 7bb3855439 - scriptified A_FireProjectile 2018-11-24 14:16:08 +01:00
Christoph Oelckers e071be8371 - scriptified A_FireBullets and A_CustomBulletAttack. 2018-11-24 13:50:27 +01:00
Christoph Oelckers 6fc63b9b78 - started with a ScriptUtil class which will allow moving function implementations for ACS and FraggleScript to zscript.txt
So far 3 functions for testing implemented.
2018-11-24 13:06:01 +01:00
Christoph Oelckers ac77ca6474 - scriptified Weapon.CheckAmmo and Weapon.DepleteAmmo 2018-11-24 11:29:57 +01:00
Christoph Oelckers bd84a60663 - scriptified the rest of the morph code. 2018-11-24 10:47:42 +01:00
Christoph Oelckers ac1bffc51b - scriptified P_MorphMonster. 2018-11-24 09:33:03 +01:00
Christoph Oelckers 3ed7f4066d - fixed message output. 2018-11-24 08:41:07 +01:00
Christoph Oelckers cce1bad042 - testing and cleanup of scripted morph code. 2018-11-24 08:39:35 +01:00
Christoph Oelckers 78d6832d14 - P_UndoPlayerMorph scriptified.
Not tested yet and still missing a new native interface.
2018-11-24 08:17:30 +01:00
Christoph Oelckers 192104aea2 - scriptified P_MorphPlayer and dependencies.
It still needs its counterpart scriptified as well before it can work.
2018-11-24 07:45:49 +01:00
Christoph Oelckers ce46f5165a Merge branch 'master' into asmjit 2018-11-23 11:12:52 +01:00
Magnus Norddahl 96df21e3dc - fix typo 2018-11-20 13:54:18 +01:00
Magnus Norddahl 216191c86d - interpolate the normal for models 2018-11-20 13:41:27 +01:00
Christoph Oelckers a5ee673c91 - exported ADecal to ZScript as a non-native class.
Its one function is still native but this was by far the easiest of the remaining actor classes to export.
2018-11-19 17:54:38 +01:00
Christoph Oelckers a981737855 - generate register type info for the parameter lists of all functions.
Currently used for loading parameters into registers.
For checking parameters of native functions some more work is needed to get the info to the function. Currently it doesn't receive the function descriptor.
2018-11-18 17:10:55 +01:00
Christoph Oelckers 16c85b532b - restored the old A_Jump prototype because DECORATE needs this to parse the arguments. 2018-11-17 21:22:18 +01:00
Christoph Oelckers 533f66396d Merge branch 'master' into asmjit 2018-11-17 20:16:03 +01:00
Christoph Oelckers adde0510fe - deconstruct A_Jump with multiple labels into A_Jump(chance, RandomPick(label1, label2, label3,...)) to remove this ugly special case from the VM calling convention.
This also adds the number of available choices to OP_IJMP.
2018-11-17 12:35:03 +01:00
Christoph Oelckers cfa11046ab - changed PhosphorousFire.DoSpecialDamage to match SVE's handling:
* Everything with a damage factor for fire only uses that.
* Everything that bleeds takes half damage
* Robots take quarter damage.
2018-11-16 21:36:57 +01:00
Christoph Oelckers 33fb76698b Avoid using argument count for any kind of decision making in native VM functions.
This allows retaining the functionality, even if for the JIT compiler's benefit all default arguments are pushed onto the stack instead of reading them from the defaults array.
2018-11-16 15:25:37 +01:00
Christoph Oelckers feef0d4b62 - corrected A_DropFire for real, using the SVE source as reference. 2018-11-15 19:35:07 +01:00
Christoph Oelckers 99f1d6b82e - fixed: A_DropFire accidentally cleared the XF_HURTSOURCE flag by setting only XF_NOSPLASH. 2018-11-15 18:49:37 +01:00
Major Cooke 55f17fa90c Changed A_RaiseActor to just RaiseActor. 2018-11-13 19:01:56 +01:00
Major Cooke 71d2b39d92 Added A_RaiseActor(Actor other, int flags = 0) 2018-11-13 19:01:56 +01:00
Major Cooke b553be153d Added CanResurrect(Actor other, bool passive)
- Works similarly to CanCollideWith.
- Passive means the caller is trying to be resurrected by 'other'.
- Non-passive means the caller is trying to resurrect 'other'.
2018-11-13 19:01:56 +01:00