Commit graph

1705 commits

Author SHA1 Message Date
Rachael Alexanderson
2ca2076a3f - add missing break statement 2021-05-25 23:02:16 -04:00
Christoph Oelckers
dfe6a09b8c - fix for "Return to Phobos (return01.wad) has an ancient bug in map E1M2 where the switch to raise the exit bridge doesn't work in versions of Doom past patch 1.2." 2021-05-25 10:12:51 +02:00
Dasperal
8c75c23822 - Fixed bug with BishopPuff moving in wrong direction 2021-05-23 19:42:38 +02:00
nashmuhandes
aeaa7f21c7 Add some new optional parameters to A_SprayDecal:
- useBloodColor: when true, the sprayed decal will be shaded to match the calling actor's blood color.
- decalColor: when defined, the sprayed decal will be shaded to the specified color. Note that this will take precedence over useBloodColor. It is recommended to use only one parameter.

Note that due to how decals work in the engine, the "decalColor" parameter will only properly colorize the decal if the image is grayscale.
2021-05-22 10:20:52 -04:00
Alexander Kromm
7b31ba7cc8 move Service to engine directory 2021-05-22 16:11:35 +02:00
Alexander Kromm
120c8b77d1 allow partial match for finding services by name 2021-05-22 16:11:35 +02:00
Alexander Kromm
7d01d0450f add proper scoping to server interface functions 2021-05-22 16:11:35 +02:00
Alexander Kromm
c7658b691c add service interface 2021-05-22 16:11:35 +02:00
Rachael Alexanderson
f01b901a04 - fix hexen status bar as suggested in this topic: https://forum.zdoom.org/viewtopic.php?f=2&t=72332 2021-05-21 10:27:44 -04:00
Cacodemon345
9a860ae445 Account for portals when spawning missiles in A_FireBullets/A_CustomBulletAttack
This also gives the caller the information whether the LineAttack
hitscan passed through a portal regardless of whether it actually hit an
actor or not as a nice bonus.
2021-05-20 19:42:29 +02:00
alexey.lysiuk
98a9729da2 - fixed return type of Actor.GetCVarString()
https://forum.zdoom.org/viewtopic.php?t=72334
2021-05-20 12:01:52 +03:00
Christoph Oelckers
a3da915812 - gave the Raven invulnerability items the BIGPOWERUP flag to ensure proper respawning behavior. 2021-05-19 19:46:04 +02:00
Christoph Oelckers
28dab3889b - moved the handling of ending PowerWeaponLevel2 into PlayerPawn.Tick and restored the immediate weapon switch.
This got changed because switching weapons in EndPowerup is not safe - this can be called from weapon states where the player can end up with a different weapon being active than the one running the state.
The actual weapon switch has to be delayed until the state processing has ended.
2021-05-19 17:59:44 +02:00
Christoph Oelckers
8a4fa8b65f - backend update from Raze. 2021-05-17 20:44:19 +02:00
Christoph Oelckers
97b8c0ccfb Revert "- fixed some uses of postincre,ment/decrements on narrow types."
This reverts commit 668f8f2cf6.

Revert "- added a proper error message when '--' or '++' gets used on 8 or 16 bit values."

This reverts commit a94f5dd1b3.

None of this was necessary - the triggered assert was bogus and had to be removed.
2021-05-17 18:13:30 +02:00
Christoph Oelckers
6ebe30ce44 - fixed time positioning on stat screen.
This was still a hard coded offset, but with a two-line time display it needs to be dynamic in case the font is too tall.
2021-05-17 12:21:38 +02:00
Christoph Oelckers
668f8f2cf6 - fixed some uses of postincre,ment/decrements on narrow types.
THe VM has no opcode for this, all these places produced code with undefined behavior.
2021-05-17 12:42:22 +02:00
Christoph Oelckers
a94f5dd1b3 - added a proper error message when '--' or '++' gets used on 8 or 16 bit values. 2021-05-17 12:27:27 +02:00
Christoph Oelckers
f4143f7624 - added a few missing statusbar constants- 2021-05-17 12:07:10 +02:00
Christoph Oelckers
161f3a3c07 - don't display keys on the HUD in deathmatch. 2021-05-17 12:06:44 +02:00
Christoph Oelckers
ebbc94280e - fixed: The PrisonPass's TryPickup method did not properly report successful pickup. 2021-05-17 11:51:06 +02:00
Christoph Oelckers
cf3c573222 - give the first 16 DEHEXTRA states proper content.
No idea where this BLD2 stuff came from...
2021-05-07 23:03:46 +02:00
Christoph Oelckers
52554dc32c - Backend update fron Raze, mainly new script exports and extensions. 2021-05-03 14:13:03 +02:00
nashmuhandes
afd7b2e954 Allow settable render styles for status bar drawing functions DrawTexture, DrawImage and DrawString 2021-04-26 23:04:39 +02:00
nashmuhandes
c12a671b3e Made OptionMenuSliderBase::IsGrayed virtual 2021-04-26 23:02:35 +02:00
Marisa Kirisame
a172513535 Expose level_info_t to scripting + helper functions. 2021-04-24 22:37:50 -04:00
Blue Shadow
55ce0510c2 - added a A_SetFriendly function 2021-04-04 08:57:56 +02:00
sgrunt
0c776e3acd Move the modified behaviour to a new "resetvel" parameter 2021-03-19 20:12:20 +01:00
Blue Shadow
acd553aa6f - account for KEEPDEPLETED flag when destroying items with InterHubAmount of 0 upon leaving a level 2021-03-19 20:10:25 +01:00
nashmuhandes
229b065289 Add missing tag for Strife's KneelingGuy. 2021-03-18 19:11:37 +01:00
nashmuhandes
43937e4338 Add missing tag for the sub-Entity bosses. This was missed in the previous commit. 2021-03-15 22:05:25 +01:00
nashmuhandes
b28e5cb917 Add GetCharacterName() to retrieve an NPC's name as defined in its dialogue script, if it exists. Otherwise it will just return the same output as GetTag(). 2021-03-15 21:31:16 +01:00
nashmuhandes
45c1cc8c08 Add tag properties to Strife's enemies. 2021-03-15 20:10:49 +01:00
nashmuhandes
c7edb9d22f Add a null check in PlayerPawn::CheckFOV 2021-02-28 20:01:59 +01:00
Xaser Acheron
41ab1e4994 adjust defaults for DEHEXTRA states to match other ports:
- sprite is TNT1
- duration is -1
- next frame is itself
2021-02-24 22:46:50 +01:00
nashmuhandes
d98b401daf Add missing ZScript constants for the Strife targeter PSprite layers 2021-02-19 09:56:44 +01:00
Alexander Kromm (m8f)
99ab1e3317
add Pi and some other constants to ZScript (#1304) 2021-02-13 21:34:19 +01:00
Alexander Kromm
a2f8b7d0df add "hidepartimes" MAPINFO/GameInfo property 2021-02-02 03:36:06 -05:00
Rachael Alexanderson
0cbcb87768 - oops, add startTime = 0.0 for S_Sound 2021-01-18 04:05:08 -05:00
Rachael Alexanderson
d3804911cf - Fix the previous commit
Revert "Fixed a missing parameter in S_Sound's ZScript prototype that was causing assertion failures."

This reverts commit 619f44decd.
2021-01-18 04:02:12 -05:00
Marisa Kirisame
44b4359ba5 Add alternate "Full" mode for PowerIronFeet that prevents leaky damage. 2021-01-16 17:09:57 +01:00
drfrag
4ff72e937f - Fixed: Monster reaction time was always zero with fast monsters and not just on nightmare. 2021-01-13 06:30:13 -05:00
Rachael Alexanderson
c28e53511c - fix bonuscount as uint 2021-01-05 19:48:32 -05:00
Rachael Alexanderson
e6c71c2f0c - reimplement fix #1267 from @drfrag666 differently - fix damagecount overflow 2021-01-05 11:09:19 -05:00
Christoph Oelckers
04329981ec - added missing argument to the status bar's DrawString function. 2020-12-11 11:10:15 +01:00
Player701
a6a02a2a6c - Fixed: RandomSpawner spawning another RandomSpawner spawning a missile could result in the second RandomSpawner being erroneously destroyed. 2020-12-02 15:30:23 +01:00
Christoph Oelckers
e19b1b2ee7 - fixed: IceGuyFX2 set its owner too late. 2020-11-25 07:37:17 +01:00
Rachael Alexanderson
a2b8ad79ed - implement slider background color change - https://forum.zdoom.org/viewtopic.php?f=15&t=70616 2020-11-17 11:29:39 -05:00
Chronos Ouroboros
75c791ecff Fixed the previous commit not accounting for mods that already fixed this internally. 2020-11-14 14:53:43 -03:00
Chronos Ouroboros
0aefc61f86 Fixed weapon bob jittering. 2020-11-14 14:34:09 -03:00
Rachael Alexanderson
6e3a4c590d - fix missing SKILLP property in zscript code 2020-11-04 01:29:40 -05:00
Christoph Oelckers
e6c96bcb75 - move VM exports to the proper class. 2020-10-31 12:24:14 +01:00
Christoph Oelckers
783d532bbe - moved the script exports to the base class as wello. 2020-10-31 12:24:14 +01:00
Christoph Oelckers
be5d25a7b1 - moved all shareable script sources to their own folder in gzdoom.pk3. 2020-10-31 12:24:13 +01:00
Christoph Oelckers
3f61ab7fbf - moved FormatNumber to the generic base class. 2020-10-31 12:24:13 +01:00
Christoph Oelckers
fd6b7f9274 - split out the generic parts of the crosshair drawer. 2020-10-31 12:24:12 +01:00
alexey.lysiuk
46b980c213 - fixed warnings in image scroller core script
Script warning, "gzdoom.pk3:zscript/ui/menu/imagescroller.zs" line 113:
Truncation of floating point value
Script warning, "gzdoom.pk3:zscript/ui/menu/imagescroller.zs" line 122:
Truncation of floating point value
2020-10-30 14:58:50 +02:00
Christoph Oelckers
f25896021e - added the missing image scroller class.
MENUDEF handling was already present for it but the implementation was not.
2020-10-28 07:23:42 +01:00
nashmuhandes
6e692e5571 Allow retrieval of the custom Crush state in WorldThingGround 2020-10-25 20:10:52 +01:00
nashmuhandes
7285c5aca8 Added WorldThingGround event to hook into the actor at exact moment its corpse spawns gibs upon being crushed. 2020-10-25 20:10:52 +01:00
Christoph Oelckers
f67d5edbbf - fixed option menu positioning.
Calculations are done in screen space, so the clean multiplier here was wrong.
2020-10-25 16:42:03 +01:00
Major Cooke
7477dfa922 Converted scale and pivot to vectors, and rotation to an angle. 2020-10-25 15:42:12 +01:00
Major Cooke
a6bbddf167 Finished implementing PSprite interpolation for vertices.
- Setting WOF_INTERPOLATE on any of the functions with flags (except A_OverlayFlags) will enable one tic for interpolating.
- Setting PSPF_INTERPOLATE with A_OverlayFlags will permanently enable it for that layer, but requires manual calling.
2020-10-25 15:42:11 +01:00
Major Cooke
7c4c0163a3 Added A_OverlayPivotAlign and A_OverlayVertexOffset.
A_OverlayPivotAlign(int layer, int halign, int valign)
- Aligns the pivot point origin to a corner of the PSprite before applying offsets.
- - halign: Horizontal. Applicable constants are PSPA_<LEFT/CENTER/RIGHT>.
- - valign: Vertical. Applicable constants are PSPA_<TOP/CENTER/BOTTOM>.
- - Default is top left.

A_OverlayVertexOffset(int layer, int index, double x, double y, int flags)
- Allows offsetting the corners of the psprite, granting modders the ability to skew weapon sprites as they see fit.
- - index: The index of the vertice. Valid ranges are between [0,3].
- - x/y: Offsets of vertices.
- - flags: Takes WOF_ flags.

Other changes:
- Removed pivot point interpolation since it's pointless.
- Removed PSPF_PIVOTSCREEN due to complications with it having relativity. This will be revisited either later or in another submission.
- Added ResetPSprite() to be called with BringUpWeapon(), A_Lower(), and morph weapon raising to reset all the new properties to 0.

Nearly ready now. Just some final testing needed.
2020-10-25 15:42:11 +01:00
Major Cooke
f9f6e896f3 - Added functionality to WOF_Relative. Untested until the relative code from GetWeaponRect is taken out.
- Fixed A_OverlayPivot carrying over copying of X to Y if Y is zero. This is meant to be exclusive to A_OverlayScale only.
- Added WOF_ZeroY to prevent copying X to Y for A_OverlayScale when desired, mirroring A_SetScale's behavior.
2020-10-25 15:42:09 +01:00
Major Cooke
4a3a5c3877 Replaced PSPF_PIVOTOFFSETREL with WOF_RELATIVE.
The idea behind this is to outright remove the relative position adding from the engine side and let it happen with A_OverlayOffset instead. Still more work to do.
2020-10-25 15:42:09 +01:00
Major Cooke
8f74cebd44 Added code for rotating the PSprite, courtesy of IvanDobrovski.
- However, the XY offsets are relative as a result.This must be made toggleable.
2020-10-25 15:42:09 +01:00
Major Cooke
e5ca3caa6c Setting everything up. 2020-10-25 15:42:08 +01:00
Christoph Oelckers
194824f810 - some fixes for the console.
* it is now possible to switch back to the main intro loop from the fullscreen console.
* do not distort the background of the fullscreen console. Always draw the console on top of what the main loop currently displays with a translucent black overlay.
* do not use the CONPIC for the fullscreen console as it tends to be more of a distraction than an asset when filling the entire screen.
* cleaned up c_console.cpp and moved several pieces of code unrelated to actual console management out of it.
2020-10-25 09:17:31 +01:00
azamorapl
7676ed641c Expose changing sidedef wallpart flags to zscript 2020-10-25 06:27:20 +01:00
Christoph Oelckers
bc2b0a0252 - added flag option menu item by Accensus. 2020-10-24 17:49:56 +02:00
drfrag
36189027b0 - Fixed wrong number of lines displayed in the menu. 2020-10-24 12:34:49 +02:00
Christoph Oelckers
8901929305 - fixed placement of "PAR" text on statistics screen. 2020-10-24 12:23:54 +02:00
alexey.lysiuk
0b2588190a - fixed floating point value truncation warning
Script warning, "gzdoom.pk3:zscript/ui/menu/messagebox.zs" line 128:
Truncation of floating point value

https://forum.zdoom.org/viewtopic.php?t=70258
2020-10-17 17:47:06 +03:00
Christoph Oelckers
4fdbe81a13 - fixed infinite loop with list menus that have no selectable item. 2020-10-17 15:21:20 +02:00
Christoph Oelckers
14e94aa6c1 - added localization fallback handling for the BigFont in menu items and captions. 2020-10-17 14:00:29 +02:00
Christoph Oelckers
0478838a9d fixed side_t::SetSpecialColor.
This never set the needed flags to make the color appear.
2020-10-17 12:28:22 +02:00
Christoph Oelckers
3b45f1ceb8 - reinstated accidentally deleted AddTranslation declaration. 2020-10-17 11:43:49 +02:00
Major Cooke
60f0d35477 Added ThruBits. 2020-10-17 09:51:24 +02:00
Christoph Oelckers
adf306d5b2 - added a new 'Translate' struct which wraps the native methods of 'Translation'.
This is for use in actors where the name 'Translation' is shadowed by a local member variable.
2020-10-17 09:22:27 +02:00
Christoph Oelckers
34c3a851b7 - fixed some floating point truncation warnings. 2020-10-17 09:09:59 +02:00
Christoph Oelckers
824d4bd9e3 - fixed: MenuDelegateBase.DrawCaption did not check the 'drawit' flag. 2020-10-17 08:48:24 +02:00
Christoph Oelckers
e636c8044d - fixed menu sound. 2020-10-16 23:25:28 +02:00
Christoph Oelckers
ef7a7cc39d - moved console command line buffer tab completion into their own files.
- layout fixes in load/save menu and confirmation screen.
2020-10-16 22:57:30 +02:00
Christoph Oelckers
4deb7593b5 - final update of menu code from Raze. 2020-10-16 22:57:30 +02:00
Christoph Oelckers
fa4ab53e7c - script side support for menu transitions. 2020-10-16 22:57:29 +02:00
Christoph Oelckers
62138decfe - use Raze's layout for load and save game menus.
This has a lot less black void on screen.
2020-10-16 22:57:28 +02:00
Christoph Oelckers
b8281f4758 - Backend update from Raze. 2020-10-16 22:57:28 +02:00
Christoph Oelckers
3ea0658449 - split the savegame manager into a game dependent and a reusable game indepenent part.
- added menu/advance sound alias.
2020-10-16 22:57:28 +02:00
Christoph Oelckers
6336e0e168 - resorted base.zs and constants.zs so that all pure engine content but nothing else is in base.zs, 2020-10-16 22:57:27 +02:00
Christoph Oelckers
f99ac8b28b - allow struct extensions in zscript.
This is mainly for splitting the Doom specific content off the main definitions for easier reuse.
2020-10-16 22:57:27 +02:00
Christoph Oelckers
a08d87beb3 - added a customization hook class for the menu.
Currently the only thing it does is abstracting the menu caption, but more can be added here.
Not exposed to modding yet, though, that's for later.
2020-10-16 22:57:26 +02:00
Christoph Oelckers
35ff0a42a6 - restructured the option menu drawer for easier replacement of the caption handler. 2020-10-16 22:57:26 +02:00
Christoph Oelckers
cc9cadfac1 - moved compatibility cruft out of main implementation file. 2020-10-16 22:57:26 +02:00
Christoph Oelckers
0b317b432e - split the Doom specific menu extensions into their own file. 2020-10-16 22:57:24 +02:00
Christoph Oelckers
e0d8241a50 - use the backend's GameTicRate in the scripts where applicable.
This should replace TICRATE globally as it is the backend's actual ticking speed (still locked to 35, though.)
2020-10-16 22:57:24 +02:00
Nash Muhandes
cfbf115c4b
Change A_OverlayTranslation to accept a named translation instead. (#1215)
For more advanced use cases, the Translation member of PSprite can be written to directly.
2020-10-12 11:43:37 -04:00
Nash Muhandes
7bea14e6b2
- Add A_OverlayTranslation to set PSprite translations (#1202)
- Added PSPF_PLAYERTRANSLATED support to the software renderer
2020-10-11 17:14:06 -04:00
Player701
7da9f33cf9 - Fixed truncation warnings in playerdisplay.zs 2020-10-11 09:02:14 +02:00
Player701
4670819ec8 - Fixed a lift in Double Impact E1M7 that could not be used more than twice from the lower area. 2020-10-09 18:40:01 +02:00