Christoph Oelckers
ab624c8c5a
Merge branch 'master' into Texture_Cleanup
...
# Conflicts:
# src/textures/hires/hqresize.cpp
2018-12-11 20:27:24 +01:00
Christoph Oelckers
f6aa16947a
- re-added PlayerInfo.BringUpWeapon.
2018-12-11 00:35:53 +01:00
Rachael Alexanderson
28516c2def
- split gl_texture_hqresize into two variables - one for mode, one for multiplier.
2018-12-10 14:25:29 -05:00
Christoph Oelckers
79a0f76801
- replaced TexMan.operator() with two functions.
...
This was done to make reviewing easier, again because it is virtually impossible to search for the operators in the code.
Going through this revealed quite a few places where texture animations were on but shouldn't and even more places that did not check PASLVERS, although they were preparing some paletted rendering.
2018-12-07 02:53:18 +01:00
Christoph Oelckers
32e245f2b9
- moved the software rendering specific parts of the sky setup to r_skyplane.cpp.
2018-12-06 20:52:03 +01:00
Christoph Oelckers
d500dc99ea
- handle the Harmony status bar icon scaling a bit more robustly.
...
Considering that the physical texture size should be abstracted away from modding this needs to be done differently.
Doing any calculations with physical texture sizes on the mod side is only going to cause errors so this had been changed to always return scaled size.
2018-12-06 20:21:33 +01:00
Christoph Oelckers
494a113920
- 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.
2018-12-05 20:10:44 +01:00
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
Christoph Oelckers
8e46cb3a21
Merge remote-tracking branch 'remotes/origin/master' into asmjit
2018-11-30 18:49:28 +01:00
Player701
927d333063
- Exported AActor::Grind to ZScript.
2018-11-29 23:46:47 +01:00
Christoph Oelckers
ef2c433a8b
- fixed declaration of ChangeStatNum.
2018-11-29 20:15:24 +01:00
Christoph Oelckers
ba2b9430f8
ChangeStatNum must not be virtual
...
Overriding this would make the engine vulnerable to badly behaving mods. Intercepting this and altering the behavior can render the entire game inoperable, especially if more internal code gets scriptified later. So even at the risk of breaking some carelsss mods this must be blocked.
2018-11-29 19:00:25 +01:00
Christoph Oelckers
3acd9c8116
Made all virtual base functions for the event handler scripted
...
This was by far the largest block of native virtuals, and they were only native to be able to allow checking if the event was implemented for the current handler. This can easily be done by looking at the byte code, just like VMCall also does but in turn it removes more than half of the existing native virtuals from the interface.
2018-11-29 18:46:28 +01:00
Christoph Oelckers
f43f0b9bd4
- added a few more direct native entry points.
2018-11-29 00:27:09 +01:00
Christoph Oelckers
a5a9ab07af
Merge branch 'master' into asmjit
2018-11-28 18:44:42 +01:00
Christoph Oelckers
7ff0cd70ad
- explicitly declare the constructor and destructor methods of FCheckPosition so that they get a working prototype.
2018-11-28 17:33:37 +01:00
Player701
91ea22e85a
- Fixed textures on the two switches that rise from the floor in the eastern area of TNT MAP31
2018-11-27 21:14:52 +01:00
Christoph Oelckers
5e4e9e2c2b
Merge branch 'master' into asmjit
2018-11-27 19:53:22 +01:00
Alexander
4a85e24228
fixed spelling (mostly comments)
2018-11-27 19:44:06 +01:00
Christoph Oelckers
47b1fa774d
Merge branch 'asmjit' into weapon_scriptification
...
# Conflicts:
# src/gi.cpp
# wadsrc/static/zscript/base.txt
2018-11-26 00:14:44 +01:00
Christoph Oelckers
90d79865a5
Merge branch 'master' into asmjit
2018-11-25 23:33:23 +01:00
Christoph Oelckers
9475bfe4f1
- declare builtins as static.
2018-11-25 21:47:28 +01:00
Christoph Oelckers
a501a22b28
- define the built-in functions defined in codegen.cpp through the regular interface instead uf just hacking them into the symbol table with incompletely set up data.
...
- added direct native variants to these builtins and fixed problems with builtin processing.
2018-11-25 11:41:29 +01:00
Christoph Oelckers
43d434b071
- removed AStateProvider from native code.
...
The only place still referencing it was CallStateChain, so this has been made a static function now instead of a class method.
2018-11-25 10:09:06 +01:00
Christoph Oelckers
f4789bdefc
- fixed handling of dummy flags.
2018-11-25 10:06:00 +01:00
Christoph Oelckers
d6b781312c
- removed all remaining native components of the weapon class.
2018-11-25 10:00:55 +01:00
Christoph Oelckers
70d3c31551
- allow defining flags in the script declaration of a class and do that for Weapon.
2018-11-25 09:29:12 +01:00
Christoph Oelckers
b5c4ab8c47
- removed all direct access to AWeapon's members to prepare moving this class fully to the script side.
...
Disregarding UI-side and setup-related calls there's unfortunately still 6 places in the native game code which require direct access.
2018-11-25 08:17:37 +01:00
Christoph Oelckers
00a48b09e5
- moved the 'Finalize' methods back into a single function in the parser code.
...
It has been like this initially but was changed when ZDoom gained an overly complicated polymorphic class descriptor object that required a lot of support code. All these complications have long been removed but these methods remained. Since they prevent a class from being moved to the script side entirely they had to be removed.
This was the last major blocker to make Weapon a purely scripted class, the only remaining native method is Serialize which is of no concern for the coming work.
2018-11-25 08:16:18 +01:00
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
Alexander
1b82e2078d
add monster tags (Friendly Names) for Hexen
2018-11-24 14:02:48 +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
alexey.lysiuk
f11b20122f
- made ZRock4 solid like in vanilla Hexen
...
9164cc6e0f/INFO.C (L5731)
c0c1771e37/src/hexen/info.c (L5748)
https://forum.zdoom.org/viewtopic.php?t=62660
2018-11-24 12:51:14 +02: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
Magnus Norddahl
31ed1da4e5
Merge remote-tracking branch 'origin/master' into asmjit
2018-11-23 22:57:11 +01:00
Marisa Kirisame
ee91cf77e4
expose defaultbloodcolor to ZScript.
2018-11-23 22:15:15 +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
Christoph Oelckers
ca2defa6a2
- added ZScript export for side_t::SetSpecialColor.
2018-11-12 00:13:14 +01:00
Major Cooke
9a7f570b19
Added DMG_NO_ENHANCE for DamageMobj.
...
- Disables PowerDamage's effect, similar to DMG_NO_PROTECT disabling PowerProtect.
2018-11-10 16:18:33 +01:00
Major Cooke
9ff7f338fd
Added IsPointInMap(Vector3 p).
...
- Checks if a point is inside the map geometry or not.
2018-11-07 15:16:45 -05:00
Christoph Oelckers
bfffe6df3e
- fixed typo with RNG name.
2018-11-07 19:20:42 +01:00
ZZYZX
a276ebfb08
Exported destructible geometry to ZScript
2018-11-07 00:12:37 +01:00
ZZYZX
d85e5afdfb
Destructible geometry - minor fixes and 3D floor support
2018-11-07 00:12:37 +01:00
Player701
56f76a141e
- Added a function to get the actor's age in ticks.
2018-11-04 19:58:57 +01:00
Player701
a6dbfcf9c2
- Added a new field to the Actor class which stores the amount of ticks passed since the game started on the moment the actor was spawned.
...
- Added a function to the Actor class to get its spawn time relative to the current level.
- Added spawn time information to the output of the "info" console command.
2018-11-04 19:58:57 +01:00
Cacodemon345
b1d35eb0b3
Extend SKYEXPLODE flag for LineAttack
2018-11-03 15:24:30 +01:00
ZippeyKeys12
77c5c1eb19
Export AllClasses
2018-11-01 00:20:46 +01:00
Jonathan Russell
f39a389e99
- changed the way alpha works on DrawLine and DrawThickLine so they're consistent
2018-11-01 00:10:47 +01:00
Major Cooke
6a8b0df4ba
Added VelIntercept.
...
- Uses the same code as Thing_ProjectileIntercept to aim and move the projectile.
- targ: The actor the caller will aim at.
- speed: Used for calculating the new angle/pitch and adjusts the speed accordingly. Default is -1 (current speed).
- aimpitch: If true, aims the pitch in the travelling direction. Default is true.
- oldvel: If true, does not replace the velocity with the specified speed. Default is false.
- Split the code from Thing_ProjectileIntercept and have that function call VelIntercept.
2018-11-01 00:10:08 +01:00
ZZYZX
849d110f10
Fixed sector floor/ceiling actions not triggering in P_XYMovement
2018-11-01 00:05:43 +01:00
ZZYZX
a6cdcab128
Implemented loading/saving of line/sector health and health groups in savegames
2018-10-31 22:14:40 +01:00
ZZYZX
b911bbc424
Single commit - destructible geometry feature
2018-10-31 17:22:09 +01:00
Christoph Oelckers
40da1dbfbc
- removed bad 'return' in C_MidPrint definition.
2018-10-31 13:13:32 +01:00
Marrub
0b460ccb03
Squashed commit of the following:
...
commit 767e3a64f0d5fd27ef56de6e93221e9b2016a0c7
Author: Marrub <marrub.xz@gmail.com>
Date: Tue Oct 30 04:01:09 2018 -0400
ProMessage -> PronounMessage
commit 305477f63fb669f8cf2d9f6d609ed3988f437664
Author: Marrub <marrub.xz@gmail.com>
Date: Mon Oct 29 23:56:58 2018 -0400
improve variable naming
commit f3f0245d0cdcc1b0a8a9b74806bc8954be747f40
Author: Marrub <marrub.xz@gmail.com>
Date: Mon Oct 29 19:52:32 2018 -0400
add "neutral" gender option and better obit formatting
2018-10-30 21:42:09 +01:00
Christoph Oelckers
89059a2acc
- added a compatibility fix for Hacx's MAP05.
...
This is by no means perfect and looks different than what was originally intended, but at least this doesn't totally fail to render properly with the OpenGL renderer.
2018-10-21 20:27:33 +02:00
Rachael Alexanderson
e2f6fa95d4
- fixed: attaching a new status bar to a player now calls 'setsizeneeded' - fixes an issue where the screen geometry is out of sync with the characteristics of the new status bar.
2018-10-20 13:22:11 -04:00
Erick Tenorio
c0cf19e9b5
- Visually align Doom 2 MAP04 crusher floors
...
Use Transfer_Heights to fake floors on the crusher sectors
2018-10-16 17:38:15 +02:00
Erick Tenorio
cc8112f88d
-Fixed many IWAD mapping errors
2018-10-14 11:44:54 +02:00
player701
eee0946bc5
- Fixed indentation
2018-10-14 00:52:00 +02:00
player701
6dc026895c
- Exported PickNewWeapon function from PlayerPawn to ZScript.
2018-10-14 00:52:00 +02:00
Erick Tenorio
22f8c26917
Fix missing enemies in HTP-RAW.WAD MAP22
...
Make 100% kills possible on MAP22 of Hell to Pay
2018-10-09 07:44:30 -04:00
Erick Tenorio
643e3a78d8
Fixes for Wraith Corporation WADs
2018-10-08 18:40:25 +02:00
Christoph Oelckers
2c9a82e084
- fixed potential null pointer access in Hexen's spike code.
2018-10-07 20:00:30 +02:00
alexey.lysiuk
9cffc29134
- fixed stuck memory usage warning in options menu
...
https://forum.zdoom.org/viewtopic.php?t=62186
2018-10-05 15:22:21 +03:00
Rachael Alexanderson
e7f19b01cb
- added normal5x and normal6x
2018-10-04 22:09:18 -04:00
Marisa Kirisame
c3894ee348
Exports various resurrection-related functions to ZScript.
2018-10-04 08:59:37 -04:00
Rachael Alexanderson
2fff5c4c39
- use correct multipliers for the memory warnings for normalNx scalers
2018-10-04 08:43:02 -04:00
alexey.lysiuk
c589f1bba7
- added a warning for texture upscaling modes
2018-10-04 08:43:02 -04:00
Marisa Kirisame
38c8f0d585
Adds OnDrop virtual to inventory items. Called on the dropped item at the end of AActor::DropInventory.
2018-09-16 17:58:57 +02:00
Major Cooke
1210e1a951
Added DMG_EXPLOSION flag.
...
- This allows modders to determine if damage is caused by an actual explosion, assigned by P_RadiusAttack and BlastActor for +TOUCHY actors.
2018-09-15 13:23:11 +02:00
ZippeyKeys12
60f82d1eb9
Make StatusScreen::End virtual
...
https://forum.zdoom.org/viewtopic.php?t=59419
2018-09-15 13:21:13 +02:00
ZippeyKeys12
7885a22cad
Add NewGame to EventHandler
...
https://forum.zdoom.org/viewtopic.php?t=61908
2018-09-15 13:20:41 +02:00
Christoph Oelckers
7cbc98e1d0
- fixed incorrect trigger types in compatibility setter.
...
These were caused by some bogus comment in the original compatibility.txt which erroneously added a "SPAC_PCross" remark to a line which actually set "SPAC_Cross".
2018-09-03 23:06:32 +02:00
Jonathan Russell
ea81ab4097
- added Screen.DrawThickLine for drawing lines with thickness
2018-08-30 19:21:57 +02:00
Christoph Oelckers
d263f7bcc8
- removed most of the old LastIndexOf methods in FString, only leaving one for ZScript and clearly giving it a name that says it all. RIndexOf has been made the proper version of LastIndexOf internally now.
2018-08-25 20:54:16 +02:00
Christoph Oelckers
c04c48d157
- renamed RIndexOf to RightIndexOf
2018-08-25 20:39:58 +02:00
Kevin Caccamo
884de51b70
Add the "RIndexOf" method to FString, which works like String.lastIndexOf from JavaScript
...
RIndexOf returns the index where the substring starts, instead of the index where the substring ends - 1.
Deprecate the LastIndexOf method of StringStruct
2018-08-25 20:37:40 +02:00
argv-minus-one
1d930b45cf
Add ZScript method LevelLocals.SphericalCoords
.
...
It computes spherical coordinates from one point in the world to another. Useful for checking whether one actor is inside another actor's view cone.
2018-08-21 08:22:16 +02:00
Marisa Kirisame
02926a5567
Add "IsFinal" parameter for CheckReplacement.
...
If set to true it guarantees that the replacement is final and will not go through the rest of the replacement chain.
2018-08-16 21:44:21 +02:00
Marisa Kirisame
e18b17217f
Added CheckReplacement to event handlers, a function inspired by its namesake in Unreal's Mutator class.
...
Performs runtime replacement of actor classes.
Takes priority over the "replaces" keyword in both DECORATE and ZScript.
2018-08-15 19:31:09 +02:00
argv-minus-one
0717f5aede
Make various getter and pure-math Actor methods clearscope.
...
These methods do not examine or change playsim state. They only perform math or look at class metadata.
Methods changed are:
• deltaangle
• absangle
• AngleToVector
• RotateVector
• Normalize180
• BobSin
• GetDefaultSpeed
• FindState
• GetDropItems (which changes the scope of the returned struct, but the returned struct is all-readonly anyway)
2018-08-14 11:52:44 +02:00
Christoph Oelckers
4c20553a62
Revert "Add RenderStyle API"
...
This reverts commit 8c7d3b6ab8
.
With DTA_LegacyRenderStyle being added there is no pressing need for this. Aside from that there's an utterly unhealthy amount of information duplication here and it is missing some more recent additions.
2018-08-05 20:17:50 +02:00
Zombie
8c7d3b6ab8
Add RenderStyle API
2018-08-05 09:44:05 -04:00
Marisa Kirisame
51b57cebb1
Additional blocking-related flags for Actor.LineTrace()
2018-08-05 09:42:40 -04:00
Christoph Oelckers
ff69d945e1
- fixed: A global variable was used to pass MeansOfDeath to ClientObituary.
...
The problem here is that this affects the public scripting interface so it cannot be committed to master without further adjustments.
# Conflicts:
# src/p_interaction.cpp
2018-07-29 17:00:05 +02:00
Christoph Oelckers
9653aa95a4
- fixed: The BossCube must account for its target being gone.
2018-07-27 08:46:28 +02:00
alexey.lysiuk
7acf9f96b6
- added placeholders for removed video menu classes
2018-07-16 17:15:41 +03:00
Christoph Oelckers
1294f3df64
- replaced the procedural backdrop texture with some warped noise texture.
...
This was done because the backdrop as implemented was the only texture in the entire game that had to be deleted and recreated each frame.
However, with Vulkan this would have necessitated quite a bit of synchronization with the render pipeline which wasn't really feasible just for this one single texture.
Now the texture manager can assume that once a texture was created it will be immutable and never has to change.
2018-07-15 00:00:00 +02:00
Christoph Oelckers
7a692b1557
- added DTA_LegacyRenderStyle so that STYLE_* constants can be passed directly to the Draw functions.
...
- fixed the optional parameter in Shape2D.Clear.
2018-07-14 22:58:24 +02:00
Christoph Oelckers
124fe63d00
Merge branch 'master' into modern
2018-07-14 10:24:41 +02:00
Marisa Kirisame
2d0fb4ed2e
Adds 2D shape (triangle array) drawer, usable from ZScript. Handles most drawtexture parameters excluding those related to scaling, at the moment.
2018-07-13 20:24:06 +02:00
Erick Tenorio
dfe635dd4a
TNT.WAD fixes
...
MAP07 - Dropping onto the outdoor lava will now raise triangle sectors.
Should be impossible to get stuck in them now.
MAP08 - Fix (what I presume to be an unintentional) missing texture.
2018-07-12 17:42:58 +02:00
argv-minus-one
ce1aa7e962
Move RandomSpawner's random selection logic into a virtual method.
...
With this, one can use its self-replacement code (which copies a bunch of its state into the replacement actor, and monitors for boss death if appropriate), but select the replacement class based on some other criteria (map number, the player's RPG stats, the player's class, etc).
2018-07-09 17:50:55 +02:00
argv-minus-one
6239796b92
Move RandomSpawner's recursion check into PostBeginPlay.
...
Previously, a RandomSpawner with infinite recursion would hang the game, because the recursion check was happening before the recursion counter (bouncecount) was set.
2018-07-09 17:50:55 +02:00
alexey.lysiuk
651e735246
Merge branch 'master' into modern
2018-06-29 17:51:10 +03:00
Erick Tenorio
245801ca17
Removed useless SetLineActivation
...
SPAC_Use removed as the line in fth666.wad MAP12 is not facing front.
2018-06-27 23:26:15 +02:00
Erick Tenorio
43919ead40
Various map fixes
...
Map fixes for the following maps:
MAP33: Betray (Doom II: BFG Edition)
Icarus: https://www.doomworld.com/idgames/themes/TeamTNT/icarus/icarus
Flashback to Hell: https://www.doomworld.com/idgames/levels/doom2/Ports/d-f/fth666
Hell to Pay (HTP-RAW.WAD)
2018-06-27 23:26:15 +02:00
Alexander
97aba0c416
add tags for Doom and Heretic monsters
...
Why? So mods that reveal enemy names don't show internal monster class names.
Tags are based on language.enu lump:
- Tags for Doom/Doom 2 monsters are referring directly to CC_* strings.
- Tags for Heretic monsters are based on obituaries.
- All tags match corresponding obituaries.
2018-06-27 21:04:00 +02:00
Christoph Oelckers
b65b83edb3
- removed the hard screen resolution switch that still was present on Windows and cleaned up the entire video backend code from the remaining support code for this.
...
Like Linux and macOS this will only support borderless fullscreen in the active desktop resolution now, which is what modern systems need.
The list of discrete resolutions has been removed as it makes no sense anymore with a fixed video mode - all the other scaling options remain active, though.
2018-06-17 20:08:35 +02:00
Rachael Alexanderson
512082b222
- fixed: 'empty function OnGiveSecret' - this was my fault, giving bad advice to Marisa in her PR. I fixed it.
2018-06-05 10:20:02 -04:00
Marisa Kirisame
477cf23fd2
Adds "OnGiveSecret" virtual function on Actor for customizing behavior of secret finding.
2018-06-05 10:06:53 -04:00
Christoph Oelckers
a851a5d151
- fixed: For melee attacks with a short attack range P_AimLineAttack must check for hits from above and below.
...
This is necessary to be in line with P_LineAttack which does check for those.
2018-06-03 17:49:00 +02:00
Christoph Oelckers
1266339c0f
- fixed shader compilation.
2018-05-19 21:17:58 +02:00
Jonathan Russell
e9050a38b3
- added LevelLocals vec2/3Offset(Z) functions for portal-aware offsetting without needing actors
2018-05-16 20:47:43 +02:00
Christoph Oelckers
72c7a05ba8
- added compatibility fix for bad sector reference in Plutonia MAP11.
2018-05-05 19:58:34 +02:00
alexey.lysiuk
6d308ca67e
Fixed walkthrough blocker in Sin City 2 via compatibility entry
...
It was impossible to complete Sin City 2 The Satan Complex without cheating since ZDoom 2.6.0
Change in applying of DeHackEd patches from 77a4b9a29b
broke triggering of important linedef that pushes friendly marine to exit switch
https://www.doomworld.com/idgames/levels/doom2/Ports/s-u/satanx
2018-04-28 17:45:15 +02:00
alexey.lysiuk
c8eefd84fa
Enabled playing of *gasp sound by default
...
https://forum.zdoom.org/viewtopic.php?t=60361
2018-04-27 11:04:21 +03:00
ZZYZX
da089b09b1
Added missing commented enum entry for ETraceFlags on ZScript side
2018-04-25 19:38:29 +02:00
Christoph Oelckers
1648fc6a07
Fixed initialization issues with dynamic lights.
...
Actors get initialized from their defaults so anything done in the constructor or some explicit member initialization will be overwritten.
They must use their properties for setting up configurable fields and do the rest in BeginPlay.
2018-04-25 09:14:01 +02:00
Kevin Caccamo
1c58093fc8
Add info about UseSpecial flag feature conflict above Actor.Used
2018-04-24 05:56:07 -04:00
alexey.lysiuk
ee9fa7c33e
Made 100% kills possible on Altar of Evil, easy skill
...
https://www.doomworld.com/idgames/levels/doom2/Ports/a-c/altar666
2018-04-22 17:49:13 +03:00
alexey.lysiuk
df634539a0
Made 100% kills possible and unstuck imp on Valhalla map
...
https://www.doomworld.com/idgames/levels/doom2/Ports/m-o/ma_val
2018-04-16 14:34:07 +03:00
alexey.lysiuk
87d164ee59
Added ability to set thing position in compatibility layer
2018-04-16 14:30:21 +03:00
alexey.lysiuk
bb037635a8
Fixed missing textures on Valhalla with hardware renderer
...
It works fine with software renderer regardless of this compatibility entry because of texture bleeding
https://www.doomworld.com/idgames/levels/doom2/Ports/m-o/ma_val
-iwad doom2 -file ma_val.pk3 -nomonsters +map map01 "+warp -450 -2300"
2018-04-15 16:41:24 +03:00
Christoph Oelckers
8b4c74fad8
- the global portal data table also needs to be protected.
2018-04-15 12:16:46 +02:00
Christoph Oelckers
cf8447d19c
-protected critical portal data from getting written to by user code.
...
This data is game critical and may only be altered by code that knows what is allowed and what not. It must never be altered by any user code ever.
However, since the SkyViewpoint actors need to set up some relations between themselves and the default sky portals the previously purely internal 'internal' flag has been exported as a new keyword.
2018-04-15 12:13:02 +02:00
alexey.lysiuk
ba4cc1a6ca
Added activation type to WorldLine(Pre)Activated events
...
https://forum.zdoom.org/viewtopic.php?t=60232
2018-04-14 11:52:09 +03:00
Christoph Oelckers
13567f2505
- added a compatibility handler for Kama Sutra MAP01's ending area.
2018-04-13 20:27:21 +02:00
Christoph Oelckers
ac98e5a4f8
- fixed last change of compatibility branch.
2018-04-13 19:28:35 +02:00
Christoph Oelckers
71a6cc4625
Merge branch '2D_Refactor'
2018-04-13 17:52:58 +02:00
Christoph Oelckers
387827555f
- added compatibility handler for Alien Vendetta MAP01 to properly display the deep water hack and avoid problems with a node rebuild.
2018-04-11 23:08:59 +02:00
Christoph Oelckers
3988e27059
- scriptified the last remaining definition (BTSX MAP12 beta)
...
- Changes to map geometry must force a node rebuild (SetVertex, SetLineSectorRef.)
- fixed incorrect use of scaling constant in SetWallYScale.
2018-04-11 19:10:15 +02:00
alexey.lysiuk
6631f208b1
Scriptified remaining compatibility entries
2018-04-11 17:01:57 +03:00
alexey.lysiuk
6480946d40
Scriptified more compatibility entries
2018-04-11 15:57:27 +03:00
alexey.lysiuk
5f5adbe161
Scriptified compatibility of Strife level along with needed functions
2018-04-11 13:02:26 +03:00
alexey.lysiuk
950443683b
Scriptified compatibility of more Heretic levels
2018-04-11 12:35:45 +03:00
alexey.lysiuk
69222c3c36
Fixed missing texture with hardware renderer on Jenesis MAP16
...
https://forum.drdteam.org/viewtopic.php?t=7337
2018-04-11 11:54:27 +03:00
alexey.lysiuk
05dcd30838
Made 100% secrets possible on The Realm of Parthoris E1M5
...
https://forum.zdoom.org/viewtopic.php?t=60181#p1049393
2018-04-11 11:52:07 +03:00
Christoph Oelckers
0ecbf07769
-ported a large part of compatibility.txt
2018-04-10 23:19:22 +02:00
Christoph Oelckers
65a219eecc
- sorted compatibility.txt so that levels which only have flags set are at the top of the file.
2018-04-10 20:02:41 +02:00
Christoph Oelckers
9daad477c3
- some improvements to compatibility scripts:
...
* use names, not strings, to allow use of switch/case.
* avoid creating the checksum a second time per level.
* do an early-out check for maps that do not have scripted compatibility.
2018-04-09 22:09:28 +02:00
alexey.lysiuk
640948703f
Level compatibility via ZScript -- PoC
2018-04-09 17:54:12 +03:00
drfrag666
80f57dfaf0
- Increased size of the savegame comment area.
2018-04-08 21:56:35 +02:00
Marisa Kirisame
08f3afab0b
Separated P_ActivateLine ZScript export into two functions, one with and one without a vector parameter.
2018-04-08 21:53:20 +02:00
Marisa Kirisame
5d0ff4c8ba
Exports P_ActivateLine to ZScript (along with constants for activation type)
2018-04-08 21:53:20 +02:00
Christoph Oelckers
adbeb3f251
Merge remote-tracking branch 'remotes/origin/master' into 2D_Refactor
2018-04-07 18:50:24 +02:00
alexey.lysiuk
d3cacbf246
Fixed potential crash on usage of Mystic Ambit Incant
...
https://forum.zdoom.org/viewtopic.php?t=60080
2018-04-03 12:41:51 +03:00
Christoph Oelckers
3671fd7f97
Merge branch 'master' into 2D_Refactor
2018-04-01 08:44:39 +02:00
Christoph Oelckers
23146c9b18
- made all elements of DehInfo and State read-only.
...
This data must be immutable, if any mod plays loose here, very bad things can happen, so this hole got plugged, even at the expense risking to break some badly behaving mods.
2018-04-01 08:41:06 +02:00
Simon
4afc538f88
Localize the word “for” in Strife’s trading dialogs
...
This deals with what seems to be the only hardcoded piece of text in Strife. Also added a translation to the French file and removed a few superfluous line breaks in the English one.
2018-03-31 18:57:00 +02:00
ZippeyKeys12
0441994106
Default newradius in A_SetSize
2018-03-30 18:06:46 -05:00
Christoph Oelckers
1e5fbc1423
Merge remote-tracking branch 'remotes/origin/master' into 2D_Refactor
...
# Conflicts:
# src/posix/cocoa/i_video.mm
2018-03-30 22:06:17 +02:00
alexey.lysiuk
84e9017a5f
Fixed infinite loop with zero height fast projectile
...
https://forum.zdoom.org/viewtopic.php?t=60019
2018-03-30 12:49:35 +03:00
alexey.lysiuk
a6738fd139
Fixed infinite loop with None class in random spawner
...
actor NoneSpawner : RandomSpawner
{
DropItem "None"
}
https://forum.zdoom.org/viewtopic.php?t=60027
2018-03-30 10:44:42 +03:00
Christoph Oelckers
a40e085a46
- 2D drawer implementation complete for hardware renderer.
...
This also replaces DTA_ColormapStyle with proper implementations of its components. As implemented it was a very awkward mixture of various effects that already existed in a separate form. As a result of its implementation it required additional but completely redundant shader support which could be removed now. As a side effect of this change a new DTA_Desaturate option was added.
2018-03-29 16:21:21 +02:00
Christoph Oelckers
16480a3f4b
- it compiles again.
...
This won't work, though, because no backend for the new 2D code exists yet.
2018-03-28 16:40:09 +02:00
Christoph Oelckers
98c7118a3a
- fixed: A sidedef's sector and linedef references were writable.
...
This cannot be allowed under any circumstances because this is what links the map geometry together.
Yes, it will break any mod that tries to play with these variables, but any such mod has to be considered broken by design and must be stopped.
2018-03-25 22:39:10 +02:00
Marisa Kirisame
0656916bf2
Add WorldLinePreActivated to override line activation, as a counterpart to WorldLineActivated.
2018-03-24 16:30:49 +01:00
Marisa Kirisame
3072c9bf7c
Add PostUiTick(). Happens after all other tickers. Useful for handling changes in the play side within the same tic.
2018-03-24 10:24:13 +01:00
Marisa Kirisame
69c6e95b08
Add worldlineactivated event, triggered after successful line activation.
2018-03-24 10:23:31 +01:00
Marisa Kirisame
634a10db52
Adds "DI_MIRROR" flag to statusbar image drawing. Useful for rearview mirror camera textures, for example.
2018-03-24 00:29:50 +01:00
alexey.lysiuk
75782e6b34
Exported Inventory.AltHUDIcon field to ZScript
...
https://forum.zdoom.org/viewtopic.php?t=59842
2018-03-18 11:02:21 +02:00
alexey.lysiuk
b4d3715345
Fixed status bar chain wiggling when paused
...
Made ZScript implementation of chain wiggling in Heretic status bar as close as possible to C++ SBARINFO one
https://forum.zdoom.org/viewtopic.php?t=59840
2018-03-17 12:29:55 +02:00
alexey.lysiuk
e51a1867df
Added default values for BaseStatusBar.AttachMessage() arguments
2018-03-07 16:00:08 +02:00
alexey.lysiuk
4f1f989049
Exposed HUDMSGLayer_... constants to ZScript
2018-03-07 15:58:43 +02:00
Marisa Kirisame
c9613b2fd1
Make sidedef vertex and secplane height functions callable from ui
2018-03-03 17:10:32 +01:00
Marisa Kirisame
069c5aa90a
Fix accidentally removed SectorPlane assignment. Added missing HitVector support.
2018-03-03 09:30:06 +01:00
Christoph Oelckers
5d223bb8c3
- removed clearscope from DSectorEffect.GetSector.
...
Just because this is a getter does not mean that the data may even exist on the client side!
2018-03-03 09:28:25 +01:00