Commit graph

19220 commits

Author SHA1 Message Date
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
54f85d4caa - made the sinmple options menu switchable.
Also ensure that custom mods pick up the simple version if enabled.
2020-10-25 17:07:03 +01:00
Christoph Oelckers
d0f9ccb09a - language update. 2020-10-25 16:59:47 +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
Rachael Alexanderson
d0c5e347a9 - minor update, also rename the old menudef back, no need to change the name 2020-10-25 16:00:59 +01:00
Rachael Alexanderson
1bcb594053 - Begin construction of the Simplified Menu 2020-10-25 16:00:59 +01:00
Rachael Alexanderson
d06070c8e8 - begin menu split 2020-10-25 16:00:59 +01:00
Nikolay Ambartsumov
10c833f37e Raise SNDSEQ limit to 4096 sequences 2020-10-25 15:58:30 +01:00
Christoph Oelckers
3bd365f934 - Added the usable parts of Rachael's 'Spawnmulti' spawn flag PR.
This needed a small fix in SpawnMapThing to apply the correct flags for Hexen format maps.
2020-10-25 15:57:43 +01:00
Major Cooke
38eb6db9ce Disabled vertice off-screen check, but fixed it at the same time. If it's desired, the solution is simply commented out in the event its desired. 2020-10-25 15:42:12 +01:00
Major Cooke
18e7b56bdc Restored A_OverlayOffset's ability to cancel out interpolation without the interpolate/add flags. 2020-10-25 15:42:12 +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
c41733e436 Added support for PSPF_FLIP flag and cleaned up. 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
42902959a8 - Removed relativity from GetWeaponRect.
- Fixed PSPF_PIVOTPERCENT not being applied at start by default.
- Pivots now start in the upper left corner. Alignment flags are planned next for pivot point starting.

Significant progress made, but more testing still required.
2020-10-25 15:42:10 +01:00
Major Cooke
06b3e384a8 Apply WOF_Relative to A_Overlay/WeaponOffset as well if specified. 2020-10-25 15:42:10 +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
14776aebb6 - some minor adjustments to the console init interface. 2020-10-25 15:41:30 +01:00
Major Cooke
e3d21d09c9 Renamed flag to ALLOWTHRUBITS and rearranged the checks so the flag comes after.
- Since most will have 0 for the property, this will not check for the flag unless the mask fits.
2020-10-25 15:37:15 +01:00
Major Cooke
85a121ad28 ThruBits is now opt-in for convenience with the +THRUBITS flag. 2020-10-25 15:37:15 +01:00
Christoph Oelckers
66abbf647c - this was in the wrong branch 2020-10-25 14:50:45 +01:00
Christoph Oelckers
25485e05bc - changed border flat for Chex Quest, because at least CQ3 does not have FLOOR7_1. 2020-10-25 14:44:14 +01:00
Christoph Oelckers
964417947f - use the border flat as console fallback instead of the title pic.
This tends to work a lot better because it has far lower contrast.
2020-10-25 14:37:29 +01:00
Christoph Oelckers
0e4625867e - moved c_console.cpp to 'common'. 2020-10-25 13:25:31 +01:00
Christoph Oelckers
f912712f9d - cleaned up c_console.cpp to be moved into 'common'. 2020-10-25 13:14:19 +01:00
Christoph Oelckers
59701ddd81 - preparations for separating the notify buffer from the console. 2020-10-25 10:23:54 +01:00
Christoph Oelckers
840b8451bd - moved checks whether to draw the notify buffer out of the class into the calling function. 2020-10-25 09:29:01 +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
eab3289043 - only return at the end of the MAP07SPECIAL block. 2020-10-24 21:19:52 +02:00
Christoph Oelckers
838733af4a - do not use the GetFullscreenRect function as a native scripting function 2020-10-24 21:19:20 +02:00
Christoph Oelckers
bc2b0a0252 - added flag option menu item by Accensus. 2020-10-24 17:49:56 +02:00
Christoph Oelckers
8872f863d4 - refinement of the statusbar offset fix to only affect unscaled textures. 2020-10-24 17:11:44 +02:00
Christoph Oelckers
79944ca76a - made status bar offset fixing unconditional.
I think it is inevitable that such status bars will appear in mods sooner or later and with the old code it is virtually impossible to create a wide status bar that displays properly but gets subjected to this code.
2020-10-24 16:59:57 +02:00
Christoph Oelckers
ce17f1aa49 - made the vertical scroller widescreen aware as well. 2020-10-24 15:47:13 +02:00
Christoph Oelckers
e1af278b37 - adapt the bunny scroller to widescreen images.
This only concerns the actual horizontal scroller. The vertical one still needs work and the "The End" screen only works if the second picture of the scroller is the full widescreen image because this page is done as a regular single image page which does not know anything about widescreen asset replacements.
2020-10-24 15:31:45 +02:00
Christoph Oelckers
30e71c7c16 - fixed: Crushing generic floors must use crush mode 2.
This is how Doom always worked. Mode 1 is not useful for one-time crushing effects.
2020-10-24 13:14:00 +02:00
Christoph Oelckers
148e7cd361 - fixed edge case where both Mancubus and Arachnotron have the same replacement and trigger a boss action. 2020-10-24 12:57:41 +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
Christoph Oelckers
54ddb400a5 - fixed fullscreen scaling for narrow aspect ratios. 2020-10-24 12:07:05 +02:00
Christoph Oelckers
74925783aa - default to fullscreen mode 3.
The option still remains for cases where it does not work but the cases where mode 3 causes real problems are rare.
All I could find were a handful of poor intermission pics in some old mods which aren't worth keeping this artificial limitation.
2020-10-24 11:36:50 +02:00
Player701
63035d5031 - Prevent calling abstract functions via Super or parent class name qualifiers at compile time 2020-10-19 11:20:50 +02:00
Player701
761dea8640 - Implemented ZScript abstract functions 2020-10-19 08:24:43 +02:00
Nikolay Ambartsumov
628d23a688 Fix crossing multiple lineportals on same tic 2020-10-19 08:21:08 +02:00