Commit Graph

3030 Commits

Author SHA1 Message Date
Christoph Oelckers 2e7e6cba9d - scriptified P_CheckMeleeRange2. 2018-12-05 18:58:15 +01:00
Christoph Oelckers de5ab0b4b6 - deprecated a few functions that depend on AAPTR_* to be useful. 2018-12-05 18:33:59 +01:00
Christoph Oelckers 6c9d0b166a Added direct native entry points to a larger number of functions. 2018-12-05 17:34:11 +01:00
Christoph Oelckers fd801ca91b - fixed: SlotPriority must be a float.
It was a fixed before but I missed that when refactoring it into an automatic property.
2018-12-05 08:13:52 +01:00
Christoph Oelckers 33db5792b4 - moved a large part of the VM thunks out of p_mobj.cpp. 2018-12-05 00:21:16 +01:00
Christoph Oelckers 45d7e5a038 - scriptified ASpecialSpot.
This only had two simple native methods so the class is not fully scripted.
2018-12-04 18:21:48 +01:00
Christoph Oelckers 5e4b366724 Removed all native components from AInventory. 2018-12-04 18:06:09 +01:00
Christoph Oelckers d66516ec82 - scriptified A_SpawnSingleItem, which was the last piece of native code still referencing AInventory 2018-12-04 17:55:45 +01:00
Christoph Oelckers 44e43c48b5 - scriptified A_SelectWeapon 2018-12-04 17:31:25 +01:00
Christoph Oelckers 9348baeeb1 Removed all remaining references to AInventory
What remains is the class definition and one single reference that will be scriptified.
2018-12-04 17:11:36 +01:00
Christoph Oelckers 99a87f62b6 - The 'A' prefix has no meaning in class names on the script side - even in comments. 2018-12-04 00:23:52 +01:00
Christoph Oelckers 9e70701e50 - fixed max. ammo display on AltHud. 2018-12-03 23:34:23 +01:00
Christoph Oelckers b6d0492478 - fixed crash with weapons which remove themselves from the inventory but continue calling action functions.
This is still an error, so now this throws a meaningful exception.
2018-12-03 18:51:24 +01:00
Christoph Oelckers 0e095b0c05 - removed all direct references of AInventory::Owner and AInventory::Amount from the C++ code. 2018-12-03 17:41:05 +01:00
Marisa Kirisame d6d3dd038e Fix RemoveInventory not calling DetachFromOwner when an item is the first in the owner's inventory.
Fix CheckAddToSlots not working because it uses GetReplacement incorrectly.
2018-12-03 17:29:08 +01:00
Christoph Oelckers d96d505520 - fixed accidentally misnamed parameter in A_Explode. 2018-12-02 21:39:28 +01:00
Christoph Oelckers 807df33e1a - 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.
2018-12-02 20:58:15 +01:00
Christoph Oelckers 2e383073e8 - 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.
2018-12-02 19:45:45 +01:00
Christoph Oelckers 3182569fb8 - 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.
2018-12-02 18:43:38 +01:00
Christoph Oelckers 93f91d1039 - scriptified P_DropItem. 2018-12-02 18:31:18 +01:00
Christoph Oelckers a5fc26b37c - scriptified the no-spawn flag check for armor and health items. 2018-12-02 18:04:44 +01:00
Christoph Oelckers ee08412e49 - scriptified G_PlayerFinishLevel.
Outside of SBARINFO this was the biggest remaining piece of code that referenced AInventory internals.
2018-12-02 16:26:02 +01:00
Christoph Oelckers 1f33ba2c4d - fixed incomplete null checks in A_RadiusThrust. 2018-12-02 16:06:04 +01:00
Christoph Oelckers 719598aae4 - scriptified AActor::ClearInventory 2018-12-02 15:24:44 +01:00
Christoph Oelckers d11b33e8fd - 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.
2018-12-02 14:34:10 +01:00
Christoph Oelckers ba905321b0 - scriptified the main drawer for the in-game HUD and removed all intermediate VM calls from the native source. 2018-12-02 14:34:09 +01:00
Christoph Oelckers fe39236ee1 - scriptified the AltHUD'S powerup drawer. 2018-12-02 14:34:09 +01:00
Christoph Oelckers ddaab4d2ab - 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.
2018-12-02 14:34:09 +01:00
Christoph Oelckers 4431ec06fd - scriptified the AltHUD's inventory drawer and fixed the InvPrev CCMD. 2018-12-02 14:34:09 +01:00
Christoph Oelckers 714ca9b2ce - scriptified the AltHUD's weapon drawer. 2018-12-02 14:34:08 +01:00
Christoph Oelckers 1406c11f8e - 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.
2018-12-02 14:34:08 +01:00
Christoph Oelckers fbc441673a - AltHUD ammo drawer scriptified. 2018-12-02 14:34:08 +01:00
Christoph Oelckers 4a1f011dc1 - Alt HUD scriptification, part 1. 2018-12-02 14:34:08 +01:00
Major Cooke 49f2a38799 Fixed A_JumpIfNoAmmo not working. 2018-12-02 07:28:20 +01:00
Christoph Oelckers a291ed21fe - fixed the AngleToVector calls in stateprovider.txt.
This looks like a search & replace gone wrong.
2018-12-02 00:41:23 +01:00
Major Cooke e9df56198c - Restored A_SpawnItemEx's "chance" to "failchance" to prevent mod breakage from named parameters. 2018-12-01 23:39:54 +01:00
Christoph Oelckers 577af8860c - scriptified invnext and invprev CCMDs. 2018-12-01 22:37:12 +01:00
Christoph Oelckers 5c647de70c - moved ValidateInvFirst to the script side because this was one of the major functions that directly reference AInventory. 2018-12-01 17:46:20 +01:00
Christoph Oelckers bc1990b6d7 - moved AInventory::DoRespawn fully to the script side. 2018-12-01 17:29:37 +01:00
Christoph Oelckers a14b0c58bf - 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
2018-12-01 17:20:52 +01:00
Christoph Oelckers 7301bbc58e - scriptified GiveAmmo and the one remaining piece of native code still using it. 2018-12-01 17:20:23 +01:00
Christoph Oelckers 2c59172c42 - scriptified DropInventory. 2018-12-01 17:18:26 +01:00
Christoph Oelckers 09129e0113 - scriptified UseInventory and several functions using the already scriptified ones, 2018-12-01 17:17:08 +01:00
Christoph Oelckers 588ddd185b - scriptified TakeInventory, including the ACS/FS interfaces. 2018-12-01 17:11:09 +01:00
Christoph Oelckers 023efc7685 - scriptified RemoveInventory and Inventory.OnDestroy. 2018-12-01 17:09:23 +01:00
Christoph Oelckers eb47fb9adc - 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.
2018-12-01 17:07:09 +01:00
Christoph Oelckers a426655d61 - scriptified AddInventory. 2018-12-01 17:03:58 +01:00
Christoph Oelckers aa32acae25 - a bit of code reordering for adding direct native entry points.
- offloaded key list generation for alternative HUD to non-UI parts.

This change also revealed a problem with handling empty sprites in the key list so this got fixed, too.
2018-12-01 14:18:28 +01:00
Christoph Oelckers 03015896d6 - seems there are two versions of Hacx's MAP05. 2018-12-01 10:30:50 +01:00
Christoph Oelckers a0c0e8bdfe Merge remote-tracking branch 'remotes/origin/weapon_scriptification' into asmjit
# Conflicts:
#	src/g_inventory/a_pickups.cpp
2018-11-30 21:28:44 +01:00