Major Cooke
4e8d88f7df
- fixed: P_PoisonPlayer and P_PoisonDamage did not check for NODAMAGE.
...
- fixed: P_PoisonDamage's check for Buddha2 and the Buddha powerup were inverted.
- fixed: P_PoisonDamage checked the modified damage instead of the raw, allowing amplifiers to boost the damage beyond telefrag and circumventing regular buddha.
2019-04-16 21:28:39 +02:00
Christoph Oelckers
9f2b62c99c
- scriptified AInventory::Tick.
...
This was the last bit of code standing in the way of making AInventory a fully scripted class.
All that's left to sort out is some variable accesses - the vast majority of them in SBARINFO.
2019-04-16 21:28:37 +02:00
Magnus Norddahl
abc4406d18
- ptest is a SSE 4.1 instruction
2019-04-16 21:28:35 +02:00
Christoph Oelckers
bdd6d31a63
- scriptified the AutoUseHealth feature.
...
This again is a piece of code that reads and even writes to inventory items' properties, so better have it on the script side.
2019-04-16 21:28:34 +02:00
Christoph Oelckers
80e3ce735b
- scriptified the decision making of the invuseall CCMD.
...
Custom items had no way to adjust to this - and it also was the last native access to ItemFlags.
2019-04-16 21:28:32 +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
e9dd8f3e4f
- consolidated the check for "is actor an owned inventory item" into a subfunction.
...
This check occured 9 times in the source, better have it only once.
2019-04-16 21:28:26 +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
8dfcdc1219
- fixed incomplete null checks in A_RadiusThrust.
2019-04-16 21:28:23 +02:00
Christoph Oelckers
9315a217b3
- scriptified AActor::ClearInventory
2019-04-16 21:28:21 +02:00
Christoph Oelckers
a2ffe6327b
- took the last methods aside from Tick and Serialize out of AInventory.
...
# Conflicts:
# src/g_inventory/a_pickups.cpp
# src/g_inventory/a_pickups.h
2019-04-16 21:28:19 +02:00
drfrag
8ef732704c
- Missing include.
2019-04-16 19:55:28 +02:00
Christoph Oelckers
a1615457ac
- properly hook up the alt HUD with the status bar.
...
# Conflicts:
# src/d_main.cpp
2019-04-16 19:09:14 +02:00
Christoph Oelckers
0d8975ed31
- scriptified the last components of the alternative HUD.
...
- moved the ALTHUDCF parser PClass::StaticInit, so that it gets done right after creating the actor definitions.
All left to do is not to reallocate the AltHud object for each frame but store it in a better suited place.
# Conflicts:
# src/d_main.cpp
# Conflicts:
# src/info.cpp
2019-04-16 19:03:43 +02:00
Christoph Oelckers
376266b6a0
- scriptified the main drawer for the in-game HUD and removed all intermediate VM calls from the native source.
2019-04-16 19:02:01 +02:00
Christoph Oelckers
9d8dd5c529
- scriptified the AltHUD'S powerup drawer.
2019-04-16 19:01:55 +02:00
Christoph Oelckers
f509fdfdaa
- scriptified and cleaned up the AltHUD's DrawCoordinates, DrawTime and DrawLatency functions.
...
Some backing functionality was moved elsewhere because scripting should not have access to low level system information.
2019-04-16 19:01:53 +02:00
Christoph Oelckers
eb07b8e543
- scriptified the AltHUD's inventory drawer and fixed the InvPrev CCMD.
2019-04-16 19:01:51 +02:00
Christoph Oelckers
e0915877b4
- scriptified the AltHUD's weapon drawer.
2019-04-16 19:01:50 +02:00
Christoph Oelckers
045d6d4355
- added the missing TNT1A0 check for icon-less keys.
...
Since it tries to get the icon from the spawn state it also has to check if that actually has a valid sprite.
2019-04-16 19:01:48 +02:00
Christoph Oelckers
437c72a089
- AltHUD ammo drawer scriptified.
2019-04-16 19:01:46 +02:00
Christoph Oelckers
cbb92af1db
- allow %*d etc. format specifiers in ZScript, but only for numeric types.
2019-04-16 19:01:45 +02:00
Christoph Oelckers
1033dc3b10
- Alt HUD scriptification, part 1.
2019-04-16 19:01:43 +02:00
Magnus Norddahl
08f415bad9
- don't use SSE for integer min/max
2019-04-16 18:46:09 +02:00
Magnus Norddahl
1e533d726c
- Use SSE2 for min/max instead
2019-04-16 18:46:07 +02:00
Major Cooke
7ff76366ef
Fixed A_JumpIfNoAmmo not working.
2019-04-16 18:46:06 +02:00
Christoph Oelckers
1b55e708bc
- fixed the AngleToVector calls in stateprovider.txt.
...
This looks like a search & replace gone wrong.
2019-04-16 18:46:04 +02:00
Christoph Oelckers
ca67327d1c
- this was wrong...
2019-04-16 18:46:01 +02:00
Major Cooke
4ae14c402b
- Restored A_SpawnItemEx's "chance" to "failchance" to prevent mod breakage from named parameters.
2019-04-16 18:46:00 +02:00
Christoph Oelckers
ff9eaed1ba
- fixed script call in PickNewWeapon.
2019-04-16 18:45:58 +02:00
Christoph Oelckers
53c1614a51
- fixed: P_Massacre without a class restriction no longer worked.
2019-04-16 18:45:56 +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
d021d63d33
- moved AInventory::DoRespawn fully to the script side.
2019-04-16 18:45:49 +02:00
Christoph Oelckers
a7909c16e5
- made CallTryPickup a global function.
...
This one still gets called in too many places but stands in the way of moving Inventory fully to the script side.
2019-04-16 18:45:47 +02:00
Christoph Oelckers
9981674a27
- re-fixed the massacre fix for Dehacked-modified inventory items.
...
Instead of overriding the Massacre method it is preferable to clear the flags causing the bad behavior, most notably ISMONSTER.
# Conflicts:
# src/g_inventory/a_pickups.cpp
# src/g_inventory/a_pickups.h
2019-04-16 18:45:43 +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
390f8ef209
- code consolidation in invnext and invprev.
2019-04-16 18:45:01 +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
de6916756b
- disabled direct native functions for now until the problems with string arguments are fixed.
2019-04-16 18:44:50 +02:00
Christoph Oelckers
057604a7b1
- added direct native variants to nearly all status bar function.
...
I skipped ValidateInvFirst because that one will have to be scriptified soon.
2019-04-16 18:44:49 +02:00
drfrag
e3ce680ec9
- Removed duplicate definition of DTA_Internal3.
2019-04-16 18:40:25 +02:00
Magnus Norddahl
b6737c0cd3
- minor code cleanup now that it is working
2019-04-16 18:18:30 +02:00
Christoph Oelckers
712b85fc61
- removed the no longer needed exception prevention hack.
...
# Conflicts:
# src/scripting/vm/vmframe.cpp
# Conflicts:
# src/scripting/vm/vmframe.cpp
2019-04-16 18:18:16 +02:00