Commit graph

1380 commits

Author SHA1 Message Date
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
Marisa Kirisame
4cc8ba3399 Export GetSector() again, removed lightingdata assignment. 2018-03-03 09:26:11 +01:00
Marisa Kirisame
053d9f4a44 Export sector effect pointers, fix missing pointer assignment on Lighting effect creation. 2018-03-03 09:26:11 +01:00
Christoph Oelckers
4c0f68bcd4 Merge branch 'master' into timidity++
# Conflicts:
#	src/sound/musicformats/music_midistream.cpp
2018-03-02 00:08:12 +01:00
Christoph Oelckers
bb16e34bf4 - exposed the HUD message interface to ZScript.
Note that this is just the bare abstract interface. It is up to content makers to define usable HUD message classes and optionally contribute them to the engine.
2018-03-01 11:45:19 +01:00
Christoph Oelckers
6e8dbb590d - fixed: PowerMorph.EndEffect should not tinker around with morph duration.
There was a clear attempt here to let the item keep control of the remaining morph time, but since the item would have gotten destroyed right afterward it just shot itself in the foot badly by doing so.
Just leaving the remaining work to the main unmorphing check in the PlayerThink code by doing nothing will avoid the bad situation where a player gets stuck in its morphed form.
2018-02-28 20:15:44 +01:00
Christoph Oelckers
3a3cd87ce0 - perform the stepping adjustment for FastProjectiles in 3D.
Not checking the z-Axis means that they might pass through 3D floors without noticing at steep angles and very high speeds.
2018-02-28 18:26:25 +01:00
Major Cooke
7ac8b496f1 Added Distance(2/3)DSquared functions. 2018-02-28 09:28:11 +01:00
Christoph Oelckers
883a6ffe3a - added an inventory check to A_KeenDie so that it still works if a patch repurposes a pickup item that may end up in the player's inventory. 2018-02-27 10:40:43 +01:00
Christoph Oelckers
36e8358763 - use submenus for soundfont selection both for better overview and avoiding a music restart for each selection change. 2018-02-26 08:52:40 +01:00
alexey.lysiuk
fb1f8a6045 Restored ACS_NamedExecuteWithResult for DECORATE
https://forum.zdoom.org/viewtopic.php?t=59250
2018-02-24 22:03:23 +02:00
alexey.lysiuk
1679065a5d Exposed Actor.ACS_ScriptCall() function
This method can be used with arbitrary actor object like thing.ACS_ScriptCall("script")
CallACS() and ACS_NamedExecuteWithResult() intrinsics work only within self actor context
2018-02-24 16:23:55 +02:00
alexey.lysiuk
12eb760ff4 Do not abort if Korax target destroyed before attack begins
https://forum.zdoom.org/viewtopic.php?t=59551
2018-02-22 16:52:45 +02:00
alexey.lysiuk
1bcbdf9fd1 Added CHAN_LOOP to ZScript ESoundFlags enum
https://forum.zdoom.org/viewtopic.php?t=59417
2018-02-20 10:51:12 +02:00
alexey.lysiuk
af7648a151 Made PlayerRespawn skill definition consistent
Now it works the same as AllowRespawn map definition in MAPINFO
2018-02-03 16:26:49 +02:00
Christoph Oelckers
8e90386567 - made Weapon.CheckAmmo and Weapon.DepleteAmmo virtual on the script side. 2018-01-30 22:04:31 +01:00
alexey.lysiuk
d9323b9740 Marked internal menu commands as safe
This fixes soundfont/patchset/config selection menus in advanced sound options
2018-01-30 16:02:30 +02:00
Christoph Oelckers
7ceb70bcc1 - renamed 'Tracer' class to 'LineTracer', because 'Tracer' is a too common name that had been used by some mods. 2018-01-27 09:32:26 +01:00
Marisa Kirisame
92547028f3 Exports sky textures to ZScript (readonly, needs setter function due to the setup required) and speeds, along with a ChangeSky function for setting the textures. 2018-01-26 21:00:44 +01:00
Christoph Oelckers
884db96cbb Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-01-21 10:54:34 +01:00
ZZYZX
ee1a8f71bb Disable TRACE_PCross and TRACE_Impact on ZScript side 2018-01-21 10:54:23 +01:00
ZZYZX
74b937620e Added texture detection for walls and 3D floors; renamed some fields to more intuitive names 2018-01-21 10:54:23 +01:00
ZZYZX
a7ff62316d Exported Trace() interface to ZScript 2018-01-21 10:54:23 +01:00
Marisa Kirisame
69e8c9ec6e A more "general purpose" line trace function. Far from a complete ZScript interface with Trace(), though. 2018-01-21 10:54:02 +01:00
Christoph Oelckers
9b40097e48 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-01-20 22:41:41 +01:00
Jonathan Russell
708d24aba7 - added Screen.getViewWindow function 2018-01-20 21:56:34 +01:00
Christoph Oelckers
dbf0a68b02 Merge commit '67e3106254e987f5acb9534e725d4f5c3eaa82b2'
# Conflicts:
#	src/doomdata.h
#	src/namedef.h
#	src/p_udmf.cpp
2018-01-20 19:07:54 +01:00
Rachael Alexanderson
6df936e0a0 - remove A_IsPlayingSound 2018-01-20 19:01:47 +01:00
Marisa Kirisame
a01ca4c3a1 Exported S_IsActorPlayingSomething and S_GetMSLength to ZScript.
Added missing vm.h include, moved A_IsPlayingSound to p_actionfunctions.cpp.

- make A_IsPlayingSound ui only
2018-01-20 19:01:47 +01:00
Major Cooke
d5d393aaf2 - Added GetRadiusDamage. Returns the raw calculated explosion damage falloff by distance only.
- Split off both explosion damage calculations into P_Get(Old)RadiusDamage functions for ease of maintenance.
2018-01-20 18:45:01 +02:00
Christoph Oelckers
2d8e394529 Merge branch 'master' into reverbedit
# Conflicts:
#	wadsrc/static/zscript/menu/optionmenuitems.txt
2018-01-20 11:44:42 +01:00
Christoph Oelckers
19cf887ad1 - fixed: Dynamic arrays for object pointers need different treatment than arrays for regular pointers, because they require GC::WriteBarrier to be called. 2018-01-19 19:49:42 +01:00
alexey.lysiuk
f629678320 Fixed const correctness for secplane structure
https://forum.zdoom.org/viewtopic.php?t=59151
2018-01-18 15:34:56 +02:00
alexey.lysiuk
23c50540f6 Added missing fields to StrifeDialogueNode ZScript definition
https://forum.zdoom.org/viewtopic.php?t=59091
2018-01-13 13:13:38 +02:00
alexey.lysiuk
d9ddd50c98 Disabled interpolation point "thinking"
https://forum.zdoom.org/viewtopic.php?t=59087
2018-01-12 18:27:19 +02:00
Rachael Alexanderson
36b6253c3d Merge branch 'FriendlySeeBlocks' into zmd5 2018-01-09 13:55:09 -05:00
Rachael Alexanderson
7416f42b47 - add 'FriendlySeeBlocks' actor property that allows a modder to expand the maximum radius that a friendly monster can see enemies. 2018-01-09 12:34:12 -05:00
Blue Shadow
f68d90accb Fixed a case of infinite loop in A_BrainDie 2018-01-08 11:50:01 -05:00
Jameson Ernst
e8a7f00b9b Adjust FNF enum to fix FILLZEROS 2018-01-07 23:44:03 +01:00
Rachael Alexanderson
9fd78e90ad - export 'GetChecksum' as part of FLevelLocals in ZScript 2018-01-06 19:59:49 -05:00
alexey.lysiuk
16333320d0 Fixed transfer of count secret flag from random spawner
https://forum.zdoom.org/viewtopic.php?t=59013
2018-01-06 17:48:49 +02:00
Jonathan Russell
acf83c2a74 - fixing the last commit... 2018-01-04 23:13:14 +00:00
Jonathan Russell
254501d3e8 - fixing last commit, which didn't seem to work correctly 2018-01-04 23:09:48 +00:00
Jonathan Russell
7f7c720883 - added UDMF properties for spotlights (args have all been used up for dynlights) 2018-01-04 22:41:57 +00:00
Magnus Norddahl
5f36b86013 - Add dynamic spot lights 2018-01-04 17:58:11 +01:00
alexey.lysiuk
549a9d3cf0 Extended Actor.CheckMove() with optional position information
https://forum.zdoom.org/viewtopic.php?t=58964
2018-01-03 10:48:10 +02:00
Major Cooke
c3c1e76e8a Added vector diff functions to ZScript LevelLocals class
Vec2Diff() and Vec3Diff() work like Actor’s Vec2To() and Vec3To() but use arbitrary points
2018-01-02 14:18:59 +02:00
alexey.lysiuk
c4648a2b1c Added CheckMove() function to ZScript Actor class
https://forum.zdoom.org/viewtopic.php?t=58964
2018-01-02 13:04:28 +02:00
SashaTheRed
19d25b00a3 Localized 'Press Space...' in player setup menu
https://forum.zdoom.org/viewtopic.php?t=58881
2017-12-29 15:01:39 +02:00
alexey.lysiuk
996bddd602 Exposed pixel stretch to ZScript as member variable instead of function
https://forum.zdoom.org/viewtopic.php?t=58539
2017-12-29 09:42:03 +02:00
Rachael Alexanderson
45531090a7 - add 'playerrespawn' skill flag to allow gameplay mods to retroactively enable player respawns in single player on all maps 2017-12-28 00:53:30 -05:00
Major Cooke
fa0082aef6 Added ability to perform reverse fades with A_SetBlend 2017-12-27 20:51:13 -05:00
Major Cooke
1e7df5505e Added GetPixelStretch to LevelLocals struct. 2017-12-27 17:50:39 -05:00
alexey.lysiuk
35dbe965e1 Fixed tics to seconds conversion, now in ZScript
Stat screens display correct time values
2017-12-25 12:36:37 +02:00
Rachael Alexanderson
d10304ea4e Merge commit 'refs/pull/355/head' of https://github.com/coelckers/gzdoom 2017-12-24 07:48:11 -05:00
alexey.lysiuk
aacdc3546c Fixed take ammo cheat
https://forum.zdoom.org/viewtopic.php?t=58854
2017-12-24 11:00:02 +02:00
Major Cooke
ceffe1ba5f Consistent style. 2017-12-16 12:17:55 -05:00
Major Cooke
0d841ab4df - Added DMG_NO_PAIN for DamageMobj. 2017-12-16 12:17:55 -05:00
Christoph Oelckers
f3ac82e112 - do not allow outside access to the variable storing the CCMD for OptionMenuItemCommand.
This can be abused to execute atbitrary commands from inside script code.
2017-12-13 22:14:30 +01:00
alexey.lysiuk
acc943329b Added null check for probe in SectorAction.OnDestroy()
Absence of check led to unhandled VM abort exception in case of saved game failed to load
2017-12-10 14:35:30 +02:00
alexey.lysiuk
81769518c9 Fixed inconsistent angle of spawned leaves
https://forum.zdoom.org/viewtopic.php?t=58664
2017-12-09 11:57:05 +02:00
Christoph Oelckers
5e1100096e - work on reverb save menu. 2017-12-03 17:04:10 +01:00
Christoph Oelckers
bb2a6a4f7c - fixed mouse handling of the reverb sliders. 2017-12-03 13:06:23 +01:00
Christoph Oelckers
a069949482 - connected reverb menu with its backing data
- added an entry to the main options menu to open the reverb editor.
2017-11-26 20:11:14 +01:00
Christoph Oelckers
1ed1b42c21 Safety commit. 2017-11-26 14:13:56 +01:00
Christoph Oelckers
78184ad6b5 - more work on reverb menu. 2017-11-26 10:16:21 +01:00
Christoph Oelckers
3ae5f8c09f - initial work on a reverb editor based on the menu system.
This is to get rid of some ugly Windows code and make this platform independent.
2017-11-25 22:03:18 +01:00
Henk Roos
700aeaf192 Added 'static' to CreateCeiling (base.txt)
Keyword 'static'was missing in CreateCeiling.
2017-11-25 15:06:26 +01:00
Rachael Alexanderson
0dcb1fe74c - fix zscript-side definition for Warp 2017-11-14 18:44:35 -05:00
Christoph Oelckers
5935e14c09 - exported P_Thing_Warp to ZScript. 2017-11-13 21:00:17 +01:00
alexey.lysiuk
5d83ee5e89 Exposed String.Remove() function to ZScript
https://forum.zdoom.org/viewtopic.php?t=58402
2017-11-12 14:44:21 +02:00
Major Cooke
d422392b94 Extended LineAttack() with offsets and new flags
Added forward and side offsets for LineAttack() function
Added absolute offset and absolute position flags for LineAttack() function
2017-11-07 11:02:54 +02:00
alexey.lysiuk
62e91b23bd Extended String.LastIndexOf() with endIndex parameter
https://forum.zdoom.org/viewtopic.php?t=57326
2017-11-01 15:24:05 +02:00
alexey.lysiuk
415ed57713 Added Wads.CheckNumForFullName() to ZScript
https://forum.zdoom.org/viewtopic.php?t=57814
2017-10-29 15:11:49 +02:00
alexey.lysiuk
2f45218f70 Added Wads.ReadLump() to ZScript
https://forum.zdoom.org/viewtopic.php?t=57814
2017-10-29 11:36:22 +02:00
alexey.lysiuk
91fda180de Added Wads.FindLump() to ZScript
https://forum.zdoom.org/viewtopic.php?t=57814
2017-10-29 11:36:22 +02:00
alexey.lysiuk
c4865d2bb6 Exposed string split functionality to ZScript
https://forum.zdoom.org/viewtopic.php?t=58114
2017-10-28 11:44:12 +03:00
alexey.lysiuk
da94008f39 Fixed indentation in dynarrays.txt 2017-10-27 18:24:29 +03:00
alexey.lysiuk
79bdfe4ab2 Fixed wrong owner for *evillaugh sound
https://forum.zdoom.org/viewtopic.php?t=58274
2017-10-26 17:23:55 +03:00
alexey.lysiuk
b8406228e6 Made dynamic array's Find() and Max() functions contant
https://forum.zdoom.org/viewtopic.php?t=58088
2017-10-25 11:24:01 +03:00
alexey.lysiuk
6617294c2d Added ZScript functions GetBool() and SetBool() to CVar class 2017-10-25 10:33:18 +03:00
alexey.lysiuk
f40a31409d Added ability to get texture name from script
Use TexMan.GetName(TextureID tex) member function
2017-10-24 11:11:33 +03:00
Rachael Alexanderson
66773b6a1a - added 'classicflight' user cvar which allows players to move forward and backward without pitch when flying 2017-10-23 12:16:02 -04:00
alexey.lysiuk
88deddbc3b Fixed arch-vile bleeding when damaging target
https://forum.zdoom.org/viewtopic.php?t=58220
2017-10-21 11:37:43 +03:00
Rachael Alexanderson
30c6cf82ca - added ability to change slider color using mapinfo's gameinfo 2017-10-14 13:05:15 -04:00
alexey.lysiuk
4f35940c73 Fixed applying of height argument in A_Fire() function
https://forum.zdoom.org/viewtopic.php?t=58090
2017-10-07 10:12:34 +03:00
alexey.lysiuk
dfe05f10b7 Fixed BlockLinesIterator class definition in ZScript
https://forum.zdoom.org/viewtopic.php?t=57982
2017-09-26 10:54:55 +03:00
JimmyZD
abc8e4deac Added four text colors: ice, fire, sapphire, teal
https://forum.zdoom.org/viewtopic.php?t=57942
2017-09-23 11:56:16 +02:00
Rachael Alexanderson
67936a2630 - added: m_showinputgrid == '-1' allows for on-screen keyboard to never show, even when using a mouse 2017-09-10 07:04:00 -04:00
alexey.lysiuk
830b68acbc Intermission script's noautostartmap keyword is no longer ignored
https://forum.zdoom.org/viewtopic.php?t=57799
2017-09-10 11:02:34 +03:00
alexey.lysiuk
4101e9bf1d Removed erroneous code from ZBell.Activate()
https://forum.zdoom.org/viewtopic.php?t=57775
2017-09-06 10:13:26 +03:00
Christoph Oelckers
2a291165ee - fixed: For original Hexen, executing a death special should not clear it. This addresses the bell in HexDD's Badlands being rung before it is ready to use. This also removes the redundant special handling in the ZBell actor. 2017-09-02 09:16:26 +02:00
nashmuhandes
f96f71044f Change camera texture FOV to doubles. 2017-09-02 07:44:38 +02:00
alexey.lysiuk
ca55d8993f Added Actor.A_SoundVolume(int slot, double volume) function to ZScript
https://forum.zdoom.org/viewtopic.php?t=57594
2017-08-31 09:45:09 +03:00
nashmuhandes
42db31b816 Added per-actor camera FOV. 2017-08-28 21:14:11 -04:00
Christoph Oelckers
485c4c71b5 - fixed: When stepping through a sector portal and touching a two sided line on the opposite side, its opening must be used, regardless of the FFCF_NOFLOOR flag. 2017-08-27 10:36:34 +02:00
alexey.lysiuk
7b98fdb910 Added ToInt() and ToDouble() functions to ZScript string
https://forum.zdoom.org/viewtopic.php?t=57678
2017-08-25 15:09:18 +03:00
alexey.lysiuk
69e7bb57d4 Fixed VM abort with null activator for SecretTrigger object
https://forum.zdoom.org/viewtopic.php?t=57612
2017-08-19 11:19:29 +03:00
Christoph Oelckers
4483d665d4 - fixed: FastProjectile's movement code was missong a portal check. 2017-08-12 13:58:16 +02:00
Christoph Oelckers
ba9cf02385 - added a user reserved range of statnums from 70-90 2017-08-12 13:08:11 +02:00
Christoph Oelckers
7cbf45d76d - let PlayerPawn.ForwardThrust use its angle parameter. 2017-08-12 12:35:01 +02:00
alexey.lysiuk
33beca6e6f Exposed ToLower() and ToUpper() string functions to ZScript
https://forum.zdoom.org/viewtopic.php?t=57515
2017-08-07 15:24:18 +03:00
Jonathan Russell
03640a16ea - removed ZScript DrawLine palcolor arg 2017-08-03 02:09:48 +01:00
Jonathan Russell
941d89042a - externalise DCanvas::DrawLine to ZScript 2017-08-03 01:20:55 +01:00
Rachael Alexanderson
91ff447a90 - fixed compile from last commit
- refactored the zscript hookup a bit, made it actually work
2017-07-29 17:03:43 -04:00
Rachael Alexanderson
9a9fe7c133 - implemented GetCaps() for OpenGL
- renamed RFF_FRAGMENTSHADER to RFF_MATSHADER
- D_Display now calls Renderer->GetCaps() and stores it in a global variable for later use.
2017-07-29 17:03:43 -04:00
Rachael Alexanderson
64deba45a3 - added another render filter 2017-07-29 17:03:43 -04:00
Rachael Alexanderson
80bb1d908a - basic groundwork for render feature visibility flags. I haven't gotten very far with it yet, but since I am taking a break I am going to commit what I have and continue it later.
todo:
* call a render class function in D_Main that enumerates the capabilities of the current renderer into a global variable to be accessed later
* add a debug-specific cvar to always show all actors, regardless of these filters
* put in checks in the renderer themselves that check both flagsets and reject rendering of any sprite/model that does not fit the definition's criteria
2017-07-29 17:03:43 -04:00
alexey.lysiuk
c56cd245ac Added IndexOf() and LastIndexOf() functions to ZScript string type
https://forum.zdoom.org/viewtopic.php?t=57313
2017-07-22 10:54:32 +03:00
alexey.lysiuk
b1d1ac13b6 Fixed serpent staff's alternate attack against shielding centaur
https://forum.zdoom.org/viewtopic.php?t=57305
2017-07-21 11:17:50 +03:00
Magnus Norddahl
00893763ed Merge branch 'custom_postprocess' into qzdoom 2017-07-08 14:44:30 +02:00
Magnus Norddahl
a38de996e7 - Move uniform declarations to the GLDEFS lump to make it Vulkan safe (a vulkan implementation can then declare them in an uniform block)
- Change SetUniform functions to be clearscope as they can be safely called from both play and ui
- Add PlayerInfo argument to SetUniform functions to force the modder to take network play into account
- Add enabled flag on custom postprocess shaders
- Removed custom texture support until a more clean implementation is written
2017-07-08 14:44:07 +02:00
Rachael Alexanderson
a63a7b9b29 Merge remote-tracking branch 'gzdoom/master' 2017-07-03 17:17:47 -04:00
Rachael Alexanderson
2bfd7859e4 Merge remote-tracking branch 'origin/custom_postprocess' 2017-07-03 17:17:17 -04:00
Magnus Norddahl
e161bba146 - Specify shader uniforms from ZScript 2017-07-03 22:30:49 +02:00
Christoph Oelckers
60cb457c4c - fixed incorrect MinMissileChance of SpiderMastermind. 2017-07-03 09:58:40 +02:00
Rachael Alexanderson
9001009fcf Merge https://github.com/coelckers/gzdoom 2017-06-22 01:42:33 -04:00
Christoph Oelckers
a6b7ce00c2 - made DropItem fully read-only by changing the two places which messed around with DropItem.Amount to use a local variable instead.
The pointers themselves should have been declared read-only from the start but for that it is too late, so now all its members are.
2017-06-21 11:39:59 +02:00
Rachael Alexanderson
ff257fcfd7 Merge https://github.com/coelckers/gzdoom 2017-06-20 09:39:12 -04:00
Rachael Alexanderson
f65c651ffd - applied Maulotaur obituary text from https://forum.zdoom.org/viewtopic.php?f=2&t=56959 2017-06-19 04:16:09 -04:00
Rachael Alexanderson
d454fafc9e Merge https://github.com/coelckers/gzdoom 2017-06-19 03:22:23 -04:00
alexey.lysiuk
9b446e41fc Fixed applying of flags on fullscreen inventory bar
DI_ALWAYSSHOWCOUNTERS and DI_DRAWCURSORFIRST flags are no longer ignored in BaseStatusBar.DrawInventoryBar() function
https://forum.zdoom.org/viewtopic.php?t=56798
2017-06-18 16:57:05 +03:00
Christoph Oelckers
3b024c347b - use a dedicated flag word for the dynamic light flags instead of piggybacking on some flags4 bits. 2017-06-18 10:15:31 +02:00
Rachael Alexanderson
c70dac2d7f Merge https://github.com/coelckers/gzdoom 2017-06-16 13:27:03 -04:00
alexey.lysiuk
478d72b37b Fixed resetting of activation failed flag on pickup
https://forum.zdoom.org/viewtopic.php?t=56896
2017-06-14 22:13:40 +03:00
Rachael Alexanderson
a148212215 Merge commit 'f1ad42c' 2017-06-12 00:22:59 -04:00
alexey.lysiuk
8a300b99e9 Fixed interpolation points chaining
Ambush flag cannot be used for marking visited points because HandleSpawnFlags() is no longer virtual
See E1M4 from Rise Of The Wool Ball v1.1 as example of broken chain
2017-06-10 15:50:44 +03:00
Rachael Alexanderson
a48203ef1d Merge https://github.com/coelckers/gzdoom 2017-06-10 01:00:38 -04:00
alexey.lysiuk
99d89f0730 Fixed position of Targeter's markers during wearing out
https://forum.zdoom.org/viewtopic.php?t=56811
2017-06-09 15:08:01 +03:00
Rachael Alexanderson
f8ba5c7b1f - fixed: Updating your sigil (Strife) should not override the number of 'deselect' pieces you have when swapping to another weapon. 2017-06-09 06:22:31 -04:00
Rachael Alexanderson
63d9148604 Merge https://github.com/coelckers/gzdoom 2017-06-09 05:57:10 -04:00
Christoph Oelckers
6b3093d7ad Another sound with wrong attenuation 2017-06-08 17:13:36 +02:00
Christoph Oelckers
68e17eb0c6 Create alienspectres.txt
fixed attenuation for Strife's 'killed a spectre' message.
2017-06-08 16:23:35 +02:00
Rachael Alexanderson
077cd09d8d Merge https://github.com/coelckers/gzdoom 2017-06-06 16:40:21 -04:00
Christoph Oelckers
a210aaea3e - fixed: All melee functions calling TraceBleed after DamageMobj must first copy the target member to a local variable.
DamageMobj can destroy the damaged actor if the death state sequence has zero duration. But Actor.target is a garbage collected member variable, i.e. it will be null, once the actor it points to gets destroyed.
This was originally done correctly in the C++ code but during the scriptification all those 'AActor *target = self->target' lines were removed because they looked redundant, but were not.
2017-06-06 09:12:58 +02:00
Rachael Alexanderson
5d40b2c36c Merge https://github.com/coelckers/gzdoom 2017-06-04 21:04:33 -04:00
alexey.lysiuk
a797db74da Silenced scripting warning from main .pk3
Script warning, "gzdoom.pk3:zscript/menu/playercontrols.txt" line 526:
Truncation of floating point value
2017-06-04 16:21:10 +03:00
Rachael Alexanderson
11741846c6 - fixed: missed the teleport fog 2017-06-04 12:30:35 +02:00
Rachael Alexanderson
10a9d087f1 - fixed: missed the golden wand puff for the +ZDOOMTRANS flag 2017-06-04 12:30:35 +02:00
Rachael Alexanderson
2997f31f9f - removed ZDOOMADD and updated actors in question with ZDOOMTRANS 2017-06-04 12:30:35 +02:00
Rachael Alexanderson
a937f709aa - Added +ZDOOMADD to all Heretic, Hexen, and Strife actors that needed it (that I know of...)
- this developer's insanity level increased another 21%
2017-06-04 12:30:35 +02:00
Rachael Alexanderson
89b372cb01 - Changed MF7_SPRITEFLIP, MF8_ZDOOMTRANS to RenderFlags
- Added RF_ZDOOMADD
- renamed r_canontrans to r_vanillatrans
- this developer's insanity level has increased by 231%.
2017-06-04 12:30:35 +02:00
Rachael Alexanderson
c252b5d753 - fixed: forgot to assign +ZDOOMTRANS to rockets 2017-06-04 12:30:35 +02:00
Rachael Alexanderson
01f88cfb16 - Added 'canonical transparency' cvar r_canontrans - this simply turns off transparency for Doom objects that were marked as transparent sometime in ZDoom's development cycle 2017-06-04 12:30:35 +02:00
Rachael Alexanderson
64b22f6cb3 Merge https://github.com/coelckers/gzdoom 2017-06-03 22:34:13 -04:00
jplebreton
2c7a0c87c8 add FloatBobStrength Actor property, a multiplier on Z offset created by FloatBob behavior. default of 1.0 is current behavior, set higher/lower for more/less extreme bobbing. 2017-06-03 18:02:27 +02:00