Christoph Oelckers
961a6fe211
- reorganized the ZScript content in gzdoom.pk3 and changed the files' extensions to something unique for easier syntax highlighting.
...
# Conflicts:
# wadsrc/static/zscript.txt
2019-04-28 22:14:34 +02:00
Christoph Oelckers
074ee3238b
- sanitized the 'frozen level' code.
...
This had two different flags that were checked totally inconsistently, and one was not even saved.
Moved everything into a few subfunctions so that these checks do not have to be scattered all over the code.
# Conflicts:
# src/actorinlines.h
# src/decallib.cpp
# src/g_levellocals.h
# src/hwrenderer/scene/hw_sprites.cpp
# src/p_mobj.cpp
# src/p_saveg.cpp
# src/p_user.cpp
# src/polyrenderer/scene/poly_particle.cpp
# src/scripting/vmthunks.cpp
# src/swrenderer/things/r_particle.cpp
# wadsrc/static/zscript/actors/player/player.zs
# wadsrc/static/zscript/base.zs
# Conflicts:
# src/g_levellocals.h
# src/hwrenderer/scene/hw_sprites.cpp
# wadsrc/static/zscript/base.txt
2019-04-28 19:10:52 +02:00
Major Cooke
47dbc95e2b
Added inflictor, source and flag parameters to GetModifiedDamage on actors and ModifyDamage on inventory.
...
- The flags are used by DamageMobj so modders can determine radius damage, for example, by checking for DMG_EXPLOSION.
2019-04-27 23:45:49 +02:00
Christoph Oelckers
b28faa6793
- took several methods out of the native PlayerPawn implementation, either by scriptification or moving them to other places.
2019-04-25 17:34:56 +02:00
Christoph Oelckers
cb2e46a4fe
- scriptified A_SkullPop and ObtainInventory.
...
These were the last relevant items to access PlayerPawn.InvFirst.
2019-04-25 17:34:43 +02:00
Christoph Oelckers
0c1fc45df8
- fixed A_Chase default detection.
2019-04-25 16:31:58 +02:00
Major Cooke
662b2ed759
Split off pain chance triggering from ReactToDamage into its own function and gave ZScript access to it.
...
- TriggerPainChance(Name mod, bool forcedPain)
- One exception: PainThrehold is only checked in ReactToDamage, since this function does not require checking damage amount.
2019-04-18 19:56:38 +02:00
Christoph Oelckers
999894af25
- cleaned up use of the random function in script files.
...
Many uses of random() & value have been turned into random(0, value).
This is not only more efficient, it also ensures better random distribution because the parameter-less variant only returns values between 0 and 255.
2019-04-18 17:01:14 +02:00
Chronos Ouroboros
218b7e95ca
Added a function for triggering use/push specials for usage in custom monster AI.
2019-04-18 14:22:07 +02:00
Chronos Ouroboros
803cb16d99
Exported P_CheckFor3DFloorHit and P_CheckFor3DCeilingHit to ZScript.
2019-04-18 14:22:05 +02:00
Christoph Oelckers
4d7e945dc1
- fixed: A powered up weapon which shares its ready state with the parent but is currently in a firing sequence may not force-switch the weapon, because that will cause the sequence to run in the wrong weapon's context.
2019-04-18 14:22:02 +02:00
Christoph Oelckers
cf4f573a25
- more direct native entry points.
...
- disallow bool as a return value for direct native calls because it only sets the lowest 8 bits of the return register.
- changed return type for several functions from bool to int where the return type was the only thing blocking use as direct native call.
2019-04-17 17:27:39 +02:00
Christoph Oelckers
082cb5b656
- scriptified P_CheckMeleeRange2.
2019-04-17 16:24:10 +02:00
Christoph Oelckers
15ab1fb09b
- deprecated a few functions that depend on AAPTR_* to be useful.
...
- fixed wrong name for the LineAttack action function.
2019-04-17 16:24:05 +02:00
Christoph Oelckers
792aaa5b88
Added direct native entry points to a larger number of functions.
...
# Conflicts:
# src/scripting/vmthunks_actors.cpp
2019-04-17 15:11:22 +02:00
Christoph Oelckers
a5e16e3261
- moved a large part of the VM thunks out of p_mobj.cpp.
2019-04-17 14:55:58 +02:00
Christoph Oelckers
d2225040ea
- scriptified A_SelectWeapon
2019-04-16 23:57:15 +02:00
Christoph Oelckers
c0686309fc
- removed all direct references of AInventory::Owner and AInventory::Amount from the C++ code.
2019-04-16 21:52:53 +02:00
Christoph Oelckers
9ff5257ce9
- scriptified P_DropItem.
2019-04-16 21:28:30 +02:00
Christoph Oelckers
17862639a1
- scriptified the no-spawn flag check for armor and health items.
2019-04-16 21:28:29 +02:00
Christoph Oelckers
e8a6f82682
- scriptified G_PlayerFinishLevel.
...
Outside of SBARINFO this was the biggest remaining piece of code that referenced AInventory internals.
2019-04-16 21:28:24 +02:00
Christoph Oelckers
9315a217b3
- scriptified AActor::ClearInventory
2019-04-16 21:28:21 +02:00
Christoph Oelckers
d18ed18d2e
- scriptified invnext and invprev CCMDs.
2019-04-16 18:45:54 +02:00
Christoph Oelckers
081d0bbcca
- moved ValidateInvFirst to the script side because this was one of the major functions that directly reference AInventory.
2019-04-16 18:45:52 +02:00
Christoph Oelckers
be8d1c950d
- scriptified GiveAmmo and the one remaining piece of native code still using it.
2019-04-16 18:45:41 +02:00
Christoph Oelckers
f1bf1cc44e
- scriptified DropInventory.
2019-04-16 18:45:38 +02:00
Christoph Oelckers
a614f2a81e
- scriptified UseInventory and several functions using the already scriptified ones,
...
# Conflicts:
# src/g_statusbar/sbar.h
2019-04-16 18:45:36 +02:00
Christoph Oelckers
e7c798f58f
- scriptified TakeInventory, including the ACS/FS interfaces.
2019-04-16 18:45:03 +02:00
Christoph Oelckers
d2741813ab
- scriptified RemoveInventory and Inventory.OnDestroy.
2019-04-16 18:44:59 +02:00
Christoph Oelckers
8609e2ba68
- scriptified GiveInventory and made the interface a bit more configurable by mods.
...
Now a child type can decide for itself how to treat 'amount'.
The scripting interfaces to this function in ACS and FraggleScript have been consolidated and also scriptified.
2019-04-16 18:44:56 +02:00
Christoph Oelckers
2a192cde92
- scriptified AddInventory.
2019-04-16 18:44:53 +02:00
Christoph Oelckers
00fed23e5f
- explicitly declare the constructor and destructor methods of FCheckPosition so that they get a working prototype.
2019-04-16 15:12:33 +02:00
Christoph Oelckers
7caa6a922d
- moved MarkPrecacheSounds completely to the script side and added native support to make this a usable feature.
...
# Conflicts:
# src/g_inventory/a_pickups.cpp
2019-04-15 22:29:35 +02:00
Christoph Oelckers
08059f718b
- scriptified FilterCoopRespawnInventory.
2019-04-15 21:59:00 +02:00
Christoph Oelckers
1ecada388c
- scriptified some simple sound functions.
2019-04-15 21:58:58 +02:00
Christoph Oelckers
d123230fb1
- scriptified APlayerPawn::Die and fixed a few things I encountered while doing it.
2019-04-15 21:58:56 +02:00
Christoph Oelckers
f1c7815b16
- scriptified A_Explode and relatives.
2019-04-15 21:58:52 +02:00
Christoph Oelckers
8c2c888d82
- 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.
2019-04-15 21:58:39 +02:00
Christoph Oelckers
05e8a6c62d
- scriptified A_RailAttack.
2019-04-15 21:58:35 +02:00
Christoph Oelckers
394d8e414f
- scriptified A_CustomPunch
2019-04-15 21:58:33 +02:00
Christoph Oelckers
d99b46c861
- scriptified A_FireBullets and A_CustomBulletAttack.
2019-04-15 21:58:30 +02:00
Christoph Oelckers
b886219f53
- scriptified P_MorphMonster.
2019-04-15 21:56:23 +02:00
Christoph Oelckers
45f83636e9
- restored the old A_Jump prototype because DECORATE needs this to parse the arguments.
2019-04-15 15:48:34 +02:00
Christoph Oelckers
9456c877d4
- 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.
2019-04-15 15:48:27 +02:00
Christoph Oelckers
7fe33d336c
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.
# Conflicts:
# src/r_data/r_sections.h
2019-04-15 14:37:28 +02:00
Player701
d72d820bba
- Exported AActor::Grind to ZScript.
2018-11-30 10:18:43 +01:00
Alexander
aa6820737a
fixed spelling (mostly comments)
2018-11-28 15:37:45 +01:00
Major Cooke
57efd617fa
Changed A_RaiseActor to just RaiseActor.
2018-11-16 21:17:53 +01:00
Major Cooke
a083eb6421
Added A_RaiseActor(Actor other, int flags = 0)
2018-11-16 21:17:51 +01:00
Major Cooke
24fdaf751c
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-16 21:17:49 +01:00