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
Rachael Alexanderson
9b3d11ae19
- fixed: missed the teleport fog
2017-06-02 12:41:25 -04:00
Rachael Alexanderson
7d7b1b3b97
- fixed: missed the golden wand puff for the +ZDOOMTRANS flag
2017-06-02 01:10:46 -04:00
Rachael Alexanderson
bf12d38afd
- removed ZDOOMADD and updated actors in question with ZDOOMTRANS
2017-06-02 01:10:46 -04:00
Rachael Alexanderson
b4dea12a4f
- 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-02 01:10:46 -04:00
Rachael Alexanderson
aa93990d3b
- 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-02 01:10:46 -04:00
Rachael Alexanderson
45d7401885
- fixed: forgot to assign +ZDOOMTRANS to rockets
2017-06-02 01:10:46 -04:00
Rachael Alexanderson
813b321c45
- 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-02 01:10:45 -04:00
Rachael Alexanderson
2f7d512acf
Merge commit 'refs/pull/335/head' of https://github.com/coelckers/gzdoom
2017-05-29 04:53:39 -04:00
alexey.lysiuk
f759e1155a
Damage factor on armor is no longer ignored
...
https://forum.zdoom.org/viewtopic.php?t=56632
2017-05-28 17:41:44 +03:00
Major Cooke
a111c59286
Added PSPF_MIRROR.
...
- Flips the sprite's drawing and position over entirely. Automatically implies PSPF_FLIP.
2017-05-25 19:46:36 -05:00
Christoph Oelckers
42e62d9005
- fixed: Harmony requires special scaling treatment for the fullscreen HUD's icons.
2017-05-21 21:30:46 +02:00
Christoph Oelckers
4388d97db6
- PlayerPawn.PlayerThink needs to consider the possibility of the player getting unmorphed and must call any function after a potential unmorph through 'player.mo' instead of 'self'.
2017-05-20 20:56:43 +02:00
svdijk
8ece6dff6a
Menu: Never treat keys with no "Char" as hotkeys.
2017-05-18 21:29:08 +02:00
svdijk
4b8f4212ef
Menu: Hotkeys should only select selectable items.
2017-05-18 21:29:08 +02:00
Major Cooke
bb1e927c46
Give the parameter a better name to associate by.
2017-05-17 23:03:22 +02:00
Major Cooke
65f13b0927
- Added a Z offsetting parameter to the ZScript LineAttack function.
...
- Added LAF_OVERRIDEZ flag to LineAttack. Disregards all internal offsetting aside the actor's Z position before adding the offset parameter.
2017-05-17 23:03:22 +02:00
svdijk
ebf3a37394
Menu: Fix mouse handling for the autoaim slider.
2017-05-16 23:06:57 +02:00
Rachael Alexanderson
625fc73f28
- Missed a few CF_POWERBUDDHA references.
2017-05-16 04:13:25 -04:00
Major Cooke
795f8f0578
- Added a separate cheat flag to handle buddha powerups. Currently, Buddha powerups could interfere and disable the actual player cheat unintentionally, when the player may not want their actual cheat to be turned off.
...
- Set some overlooked 1000000 damage points to TELEFRAG_DAMAGE inside the falling damage code.
2017-05-14 17:22:46 +02:00
Major Cooke
49e4c8968f
- Fixed: Powerups failed to expire when the EffectTics was set directly to 0 since the variable is always subtracted first before the check.
2017-05-14 17:21:48 +02:00
alexey.lysiuk
60fe34349e
Fixed applying of speed factor to player
...
Part of https://forum.zdoom.org/viewtopic.php?t=56333
2017-05-08 16:54:22 +03:00
Christoph Oelckers
2edae42822
- fixed display of WIPAR lump on Doom intermission screen.
2017-05-07 10:29:58 +02:00
alexey.lysiuk
78b724e280
Par time on stat screen doesn't need tics-to-seconds adjustment
...
Fixes https://forum.zdoom.org/viewtopic.php?t=56307
There was no such adjustment before scriptification of stat screen
2017-05-07 10:10:26 +03:00
Christoph Oelckers
ce0547aacb
- fixed: The player speed factor was only retrieved from the topmost item in the inventory.
2017-05-06 10:58:16 +02:00
Christoph Oelckers
bb12dabe2b
- added a 'protrusion' property to SBARINFO so that the map name display can properly be handled here as well. Until now it was only working for scripted status bars.
2017-05-05 19:32:37 +02:00
Christoph Oelckers
7308979c44
- fixed bad state label in A_SerpentHeadCheck.
2017-05-04 22:53:14 +02:00
Christoph Oelckers
5bbf173b4e
- fixed: SBARINFO based status bars got the wrong color for automap HUD highlights when playing Doom.
2017-05-04 11:37:36 +02:00
Christoph Oelckers
0877539315
- fixed: The Talisman powerup for SVE was given to the wrong actor.
2017-05-03 22:07:33 +02:00
Christoph Oelckers
050acc9271
- added rudimentary support for SVE.wad from the Strife Veteran edition so that the extended single player campaign is usable:
...
* all new things got either an sctor definition or are explicitly deleted through the 'doomednums' section in MAPINFO. CTC related actors are non-functional!
* added a 'noskillflags' option to 'doomednums' so that the lightmap definition things in the maps can be repurposed as dynamic lights.
* added the new dagger powerup.
* added MAPINFO entries for the added maps.
2017-05-01 21:25:54 +02:00
Christoph Oelckers
b84f7bcada
- scriptified the weapon firing logic.
2017-05-01 01:55:35 +02:00
Christoph Oelckers
abee2805cb
- the last scriptified bits of P_PlayerThink.
2017-05-01 00:27:58 +02:00
Christoph Oelckers
6e25c34fda
- more player code exported
2017-04-30 22:17:51 +02:00
Christoph Oelckers
10deb5ce56
- exported P_PlayerThink to ZScript.
2017-04-30 22:17:50 +02:00
Christoph Oelckers
c3f9b4a5ee
- silenced a few float truncation warnings that get printed in developer mode.
2017-04-27 10:23:31 +02:00
alexey.lysiuk
cc786bada6
Fixed crash when mouse is moved right after saving of game has been triggered
...
https://forum.zdoom.org/viewtopic.php?t=56060
https://forum.zdoom.org/viewtopic.php?t=49369&start=105#p992821
https://forum.drdteam.org/viewtopic.php?t=7607
2017-04-25 10:57:55 +03:00
Christoph Oelckers
3ccd4aa0d1
- fixed: The powerup icons did not blink when expiring.
2017-04-21 18:08:30 +02:00
Christoph Oelckers
1852079142
- removed alpha parameter from BaseStatusBar.DrawBar because this cannot be used with this function.
2017-04-21 10:56:34 +02:00
Christoph Oelckers
b5f87aa86f
- typo in last commit.
2017-04-21 10:45:27 +02:00
Christoph Oelckers
5cb5d26bf8
- fixed the item stats positioning on the automap.
2017-04-21 10:44:02 +02:00
ZZYZX
29402ff685
ZScript version of SetCameraToTexture
2017-04-19 11:20:17 +02:00
Major Cooke
316af5a400
- fixed: DrawBar never checked maxval for dividing by 0.
2017-04-19 11:18:58 +02:00
Christoph Oelckers
8180d34765
- added user configurable menus where soundfonts, patch sets or Timidity EXEs can be selected from lists being stored in the config file to reduce the hassle of testing MIDIs with different settings.
2017-04-18 16:43:07 +02:00
Christoph Oelckers
96d328de9b
- removed all Doom Source license and all default Raven copyright headers and replaced them with GPLv3. Also fixed the license in a few other files.
...
For some files that had the Doom Source license attached but saw heavy external contributions over the years I added a special note to license all original ZDoom code under BSD.
2017-04-17 13:33:19 +02:00
Christoph Oelckers
1ee9256842
- did a complete workover of the weapon sprite translucency code that got inherited from QZDoom.
...
This was very poorly done without ever addressing the issues a composite render style can bring, it merely dealt with the known legacy render styles.
The same, identical code was also present in two different places.
The oversight that AlterWeaponSprite overrode even forced styles was also fixed.
OpenGL is not implemented yet but with the problems eliminated should be doable now.
2017-04-15 16:41:00 +02:00
Christoph Oelckers
0ebf4958b9
- fixed pitch calculation for camera actors. For compatibility with Hexen format they need to treat the pitch arg as a signed byte.
2017-04-15 00:48:22 +02:00
Christoph Oelckers
edebea4f8d
- allow specifying a custom class for message box display.
2017-04-14 23:28:54 +02:00
Christoph Oelckers
d03c33f393
- added Translation.GetID.
2017-04-14 17:40:05 +02:00
Christoph Oelckers
cde450dd8a
- some enhancements for PowerReflection.
2017-04-14 16:51:11 +02:00
Christoph Oelckers
329c168cc2
- added a distance parameter to A_SprayDecal.
2017-04-14 16:28:54 +02:00
Christoph Oelckers
92acbdc625
- made GetClassName an intrinsic and expanded it to also work on class types.
2017-04-14 16:14:27 +02:00
Christoph Oelckers
b1057cee36
- fixed: do not draw armor on the fullscreen HUD if the amount is 0.
2017-04-13 20:43:17 +02:00
Major Cooke
29394da7ed
Static functions cannot have const.
2017-04-13 19:43:41 +02:00
Major Cooke
523b31a16a
Made several string functions const.
2017-04-13 19:43:41 +02:00
Christoph Oelckers
1c8d698121
- added WeaponState enum for ZScript.
2017-04-13 02:42:31 +02:00
Christoph Oelckers
1712667ce2
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-04-13 02:18:16 +02:00
Christoph Oelckers
fc9e304189
- separated class descriptors from VM types.
...
Combining these two groups of data has been the cause of many hard to detect errors because it allowed liberal casting between types that are used for completely different things.
2017-04-12 22:46:49 +02:00
alexey.lysiuk
d8d7dc973c
Added check for selected item in save/load menu
...
https://mantis.zdoom.org/view.php?id=570
2017-04-12 17:15:12 +03:00
Christoph Oelckers
6a3ddaa8fa
- moved Restricted/ForbiddenToPlayerClass fully to the script side.
...
This required some fixes for allowing to read from metadata arrays.
2017-04-11 15:11:13 +02:00
alexey.lysiuk
b0a0c62af1
Fixed state selection for weapon secondary fire
...
https://mantis.zdoom.org/view.php?id=552
2017-04-09 13:04:32 +03:00
Christoph Oelckers
5935dc706d
- prevent infinite recursion in PlayerPawn.GetObituary when the inflictor is the same as the origin for the kill.
2017-04-09 00:06:23 +02:00
Christoph Oelckers
74faacd218
- fixed: FxVMFunctionCall::GetDirectFunction did not perform any checks on the function's self pointer and failed to report a mismatch as an error.
...
- also fixed two places in the code where the above caused some incorrect definitions not to be detected.
2017-04-06 20:52:38 +02:00
alexey.lysiuk
ca4888eb3d
Added CVar.GetCVar() function to do player-dependent console variables lookup
2017-04-06 10:51:36 +03:00
alexey.lysiuk
26e4b74261
Restored initial behavior of CVar.FindCVar()
...
https://mantis.zdoom.org/view.php?id=537
2017-04-06 10:50:40 +03:00
Christoph Oelckers
4b127c7fcc
- draw Doom weapon numbers one pixel lower.
2017-04-03 09:37:52 +02:00
Christoph Oelckers
e074c75609
- added a generic TransformRect to the status bar so that the proper transformations can be applied to draw operations that require special parameters not supported by the stock functions.
2017-04-02 12:58:31 +02:00
alexey.lysiuk
1033976158
Fixed typo in status bar function name
...
https://mantis.zdoom.org/view.php?id=519
2017-04-02 11:47:10 +03:00
Christoph Oelckers
553906b186
- fixed: BaseStatusbar::GetAmount returned the default item's amount if the player held none of the given type. This should only be done for MaxAmount.
2017-04-01 13:33:42 +02:00
Christoph Oelckers
7dae43bf7f
- fixed: The health chain in Hexen wasn't drawn on the main status bar. Did some reordering to ensure it won't get skipped.
2017-04-01 13:18:19 +02:00
Christoph Oelckers
699d4882d5
- fixed: The ammo display in Doom should not be drawn if the current weapon does not use ammo.
2017-04-01 13:08:45 +02:00
Christoph Oelckers
51d89740e3
- fixed mouse input for scale slider.
2017-03-30 20:12:39 +02:00
Christoph Oelckers
3a1228bf95
- exported the clipping rectangle to scripting and added a statusbar scaling wrapper for it.
...
- fixed: BaseStatusBar.Fill did not pass its flags parameter to the native function.
2017-03-30 12:13:28 +02:00
Christoph Oelckers
a3ef711d1d
- added a special slider type for the scaling options that prints a descriptive text instead of the slider for the special settings.
...
- fixed the adaptive scale calculation in GetUIScale which had the coordinates mixed up.
2017-03-30 11:30:09 +02:00
Christoph Oelckers
1dcc017daf
- reimplemented the position display, but changed its position a bit upward.
...
- activated the RenderOverlay event, now that it can be called from the correct spot, i.e. right after the top level HUD messages are drawn. The system's status output will still be drawn on top of them.
2017-03-29 23:51:53 +02:00
Christoph Oelckers
7011010ff2
- fixed the drain callback.
...
- changed the effect spawn prevention of the Hexen flame strike weapon and reverted the attempt to fix this in FastProjectile.
This cannot be fixed in the base class, which was doing everything right. It's the flame missile that was doing undefined things by stopping its movement without clearing its missile flag. This cannot work because missiles are given some minimal forced velocity to ensure collision detection and any attempt to address this without clearing the missile flag is doomed to fail.
2017-03-29 22:50:13 +02:00
Christoph Oelckers
b38934b532
- fixed declaration of ACS getters for status bar.
...
- fixed some uninitialized variables in font print code.
2017-03-29 21:54:11 +02:00
Christoph Oelckers
01b095c911
- added colorization for untranslated fonts. This uses the light color of the vertices. The software rendered 2D code will ignore this infomation.
...
- added a virtual OnRetrun method to menus.
2017-03-29 21:22:05 +02:00
Christoph Oelckers
d36f656caf
- added a callback for when damage is drained from a target.
2017-03-29 20:25:54 +02:00
Christoph Oelckers
1d4ab0cc2a
- implemented proper scaling for the status bar itself.
...
This allows using the UI scale or its own value, like all other scaling values.
In addition there is a choice between preserving equal pixel size or aspect ratio because the squashed non-corrected versions tend to look odd, but since proper scaling requires ununiform pixel sizes it is an option.
- changed how status bar sizes are being handled.
This has to recalculate all scaling and positioning factors, which can cause problems if the drawer leaves with some temporary values that do not reflect the status bar as a whole.
Changed it so that the status bar stores the base values and restores them after drawing is complete.
2017-03-29 19:23:40 +02:00
Christoph Oelckers
87479d3c2f
-use the proper functions to calculate the position of the popup screen in Strife.
2017-03-29 14:28:46 +02:00
Christoph Oelckers
7ba6860102
- scriptified the automap HUD and made it obey hud_scale instead of always being fully scaled.
2017-03-29 14:20:22 +02:00
Christoph Oelckers
2f06c09681
- fixed map name display on the automap HUD
...
This would cut off overlong names and the handling for status bars with protruding elements was far too simplistic and worse, making assumptions based on game mode.
It now uses a virtual function to query the status bar itself for returning this information so it can be overridden and uses V_BreakLines to split the text if it is wider than the display.
2017-03-29 10:36:16 +02:00
Christoph Oelckers
fabf8451e7
- use Fill to draw Strife's health bars.
2017-03-29 02:24:04 +02:00
Christoph Oelckers
598523a1de
- moved all coordinate adjustment for the status bar mode into one function and use this function in all places where status bar related coordinate adjustments need to be performed, also in SBARINFO.
...
- fixed unscaled status bar placement.
- fixed inventory count display for Doom status bar.
2017-03-29 01:59:03 +02:00
Christoph Oelckers
19e7d60275
- removed DSBarInfo::Scaled because it tended to disagree with StatusBar->Scaled.
2017-03-29 00:35:35 +02:00
Christoph Oelckers
fa893c082b
- changed the default for hud_scale to 0 (i.e. use uiscale)
...
- allow calling Menu.SetMenu from play code so that in-game menus can be opened.
2017-03-28 22:51:37 +02:00
Christoph Oelckers
d5772ff895
- fixed: SafeCommand did not work anymore because it failed the abuse prevention check for DoCommand.
2017-03-28 22:34:12 +02:00
Christoph Oelckers
224219dd66
- made ListMenuItem.DrawSelector virtual.
2017-03-28 21:39:03 +02:00
Christoph Oelckers
6870efe134
- added a GetCVarString ZScript/DECORATE function.
...
- fixed: loading a savegame triggered PlayerEntered events.
2017-03-28 21:37:43 +02:00
Christoph Oelckers
bdf761e457
- moved th player resurrection code into a player_t method.
2017-03-28 21:29:14 +02:00
Christoph Oelckers
6816902a09
- forgot to save doom_sbar.txt
2017-03-28 13:27:59 +02:00
Christoph Oelckers
e2e17f575c
- added safeguards to all 2D drawing functions to throw an exception if used outside a valid 2D draw context.
...
This is necessary because the hardware accelerated renderers will hide the problem, but with pure software rendering to a locked hardware surface, like DirectDraw can result in a crash.
Note that ANY mod that gets caught in this did something wrong!
2017-03-28 13:25:17 +02:00
Christoph Oelckers
b9485d4edf
- ported the Hexen status bar to zscript.
...
Note that DrawBar with a background texture does not work yet because the clipping rectangle is not done yet.
2017-03-28 11:00:05 +02:00
Christoph Oelckers
bac464f2b7
- added the inventory bar on Heretic's status bar.
2017-03-27 21:30:05 +02:00
Christoph Oelckers
a6bf93c624
- implemented the Heretic status bar.
2017-03-27 21:01:40 +02:00
Christoph Oelckers
0fdd118906
- change statusbar drawers to use the top left of the virtual screen as origin, not the top left of the actual status bar, to bring this in line with SBARINFO.
...
The Strife status bar which was still native code had it differently and that was used as the initial guideline.
2017-03-27 09:52:30 +02:00
Christoph Oelckers
a112b29c43
- implemented the inventory bar. This object is a bit special because it requires a lot of parameters, most of which are easily set to defaults. To make handling easier, most are passed through a container object which does some processing up front.
...
- finished work on the Doom status bar. I also took the opportunity to fix the layout of the inventory bar which is a bit broken in SBARINFO.
- tuned the selection rules for deciding what creates the status bar, so that the most recent definition that can be found is chosen.
2017-03-27 01:02:10 +02:00
Christoph Oelckers
e791c957d9
- implemented the regular Doom status bar.
...
The DOOM status bar and HUD are complete, except the inventory bar.
2017-03-26 22:04:58 +02:00
Christoph Oelckers
08b3c38304
- simplified the parameters of the HUD draw functions by moving all booleans into one flags word and ordering them so that the less likely ones to be used can be made optional.
...
- got rid of the image list in the Doom status bar. The cost of the texture lookup is mostly irrelevant here so clearer and shorter code is preferrable.
- moved the box fitting code from DrawTexture into the native function to have all coordinate calculations in one place which is necessary to implement proper alignment default handling. Without higher level functions altering positioning the default can be set to automatic alignment determination, i.e. the value's sign decides where something is placed. Of course for special cases this can be overridden.
- use ANIMDEFS to animate the inventory arrow,
2017-03-26 18:41:24 +02:00
Christoph Oelckers
1c71d038dd
- Doom keybar is working.
...
I did not implement an equivalent to SBARINFO's DrawKeyBar. This is too limiting because it needs to consider any possibility. It really is easier to let a mod implement this itself and custom adjust it to its needs.
- fixed some stuff, in particular use DrawInventoryIcon to get smarter icon lookup.
2017-03-25 23:43:19 +01:00
Christoph Oelckers
488fface50
- started port of Doom status bar to ZScript.
...
Fullscreen HUD done with the exception of key and inventory bar. I also used the opportunity to make it a bit more resistant against badly designed inventory icons.
2017-03-25 21:40:17 +01:00
Christoph Oelckers
3e67a8bafa
- let hud_scale act like an override to uiscale, just like con_scale does.
...
- better handling of ForceScale for the fullscreen HUD that doesn't mess around with CVARs.
- moved the mug shot into the status bar, because this is global state that needs to be shared between different pieces of code which want to display a mug shot.
- SBARINFO should work off the current status bar settings instead of the ones stored in its script object
2017-03-25 18:32:47 +01:00
Christoph Oelckers
bdb9275f8c
- made the mugshot accessible to ZScript.
...
Note that there is no direct access, all this exposes is a single function to get the current face's texture which then can be drawn using the existing functions.
2017-03-25 01:22:42 +01:00
Christoph Oelckers
2d17594f6f
- converted the Strife status bar to use the new HUD specific draw functions so that it also can benefit from coming changes.
...
Note that the pop screens are special because they are not subject to scaling - they will always be drawn with the current resolutions clean scale. As a result they cannot use the HUD drawers but instead continue to use the low level draw functions directly.
2017-03-25 00:35:19 +01:00
Christoph Oelckers
b17b8d32ad
completely redid the active powerup drawer for the HUD
...
- replaced Inventory.DrawPowerup with a GetPowerupIcon method so that the calling code can handle the drawing and apply its own rules. This was a major design flaw of allowing the inventory items to handle the drawing themselves, because they were unable to adjust to different HUD frontends. Note that any mod that overrides DrawPowerup will not draw any icon that expects to be handled that way!
- the alternative HUD now has its own, separate drawer that obeys the AltHUD's rules, and not the ones of the normal fullscreen HUD.
- the standard drawer has been scriptified as a virtual function.
- Both drawers now handle positioning of the icon inside its assigned box themselves instead of trusting the powerup item to do it correctly.
- DTA_HUDRules and Screen.DrawHUDTexture are to be considered deprecated because both do not integrate into the redesigned HUD code.
2017-03-24 22:58:16 +01:00
Christoph Oelckers
6760e01a0d
- implemented the status bar's DrawString function and ported the fullscreen HUD part of the Strife status bar to use the new functionality.
2017-03-24 20:09:50 +01:00
Christoph Oelckers
b5720ee1e7
- initial work on DrawString method.
2017-03-24 02:38:44 +01:00
Christoph Oelckers
617934e1c2
- added a few exports for game strings which the SBARINFO string drawer can access and which should also be available by ZScript.
...
- merged BaseStatusBar and CustomStatusBar back together.
Since the low level draw functions are better done in native code for both performance and debuggability the split has become pointless.
2017-03-24 02:12:36 +01:00
Christoph Oelckers
a3ee3c287e
- major progress on the status bar code: SBARINFO's DrawGraphic has been ported into a generic function of the base statusbar class and put to use for a few items on the Strife status bar.
...
- decided to ditch the widget system I had started to lay out. As it turns out that would make things far more complicated and slower than they need to be.
2017-03-24 00:47:08 +01:00
Christoph Oelckers
31ea33bfc4
- rewrote the condition nodes from SBARINFO in ZScript. This compiles but hasn't been tested yet.
2017-03-23 00:25:26 +01:00
Christoph Oelckers
3744c2eee7
- this was missing.
2017-03-22 20:33:40 +01:00
Christoph Oelckers
f0e4f54c80
- one more bit of scriptification.
2017-03-22 18:38:09 +01:00
Christoph Oelckers
1423d5f42a
- scriptified the SBARINFO wrapper.
...
This serves no purpose in itself but it removes a native side class from the status bar class hierarchy which allows for better editing options later.
2017-03-22 17:29:13 +01:00
Christoph Oelckers
4c51a4fc59
- reimplemented the health bar for Strife's status bar.
2017-03-22 14:59:12 +01:00
Christoph Oelckers
9bffe4ee50
- scriptified the main statusbar interface and the Strife status bar.
...
Note that the Strife status bar does not draw the health bars yet. I tried to replace the hacky custom texture with a single fill operation but had to find out that all the coordinate mangling for the status bar is being done deep in the video code. This needs to be fixed before this can be made to work.
Currently this is not usable in mods because they cannot initialize custom status bars yet.
2017-03-22 00:32:52 +01:00
Christoph Oelckers
fb48a1b776
- resotred proper time calculations for status screen.
2017-03-20 19:04:17 +01:00