RaveYard
519f9f4298
Fix JIT pointer offsets
2022-06-12 17:57:44 +02:00
RaveYard
f9bf6f9311
Implement FVector ZScript for Actor Scale
2022-06-12 17:57:44 +02:00
Rachael Alexanderson
0344462684
- set i_pauseinbackground
to match !(i_soundinbackground)
for all configs before this commit.
2022-06-09 04:11:44 -04:00
Christoph Oelckers
013f2003e8
Revert "-got rid of shared_ptr in postprocessing system"
...
This reverts commit 40872a2b21
.
This crashed on Vulkan in a very weird way.
2022-06-09 09:16:58 +02:00
Christoph Oelckers
86a5545fa8
- fixed division by zero with unvalidated ticdup values.
2022-06-09 08:36:11 +02:00
Christoph Oelckers
eb56eb380e
- reinstated con_scale.
2022-06-08 16:42:32 +02:00
Christoph Oelckers
07a8701f8d
- make sure the last notch on the start screen is rendered.
2022-06-07 23:14:17 +02:00
Ricardo Luís Vaz Silva
121045e48d
move relative path resolution earlier, to prevent problems with include deduplication
2022-06-07 20:16:50 +02:00
Ricardo Luís Vaz Silva
6f6942609c
fix relative include path when loading folders
2022-06-07 10:02:12 -04:00
Christoph Oelckers
9454ba1009
- eliminated more unneeded shared_ptr’s.
2022-06-07 14:09:00 +02:00
Christoph Oelckers
40872a2b21
-got rid of shared_ptr in postprocessing system
2022-06-07 13:59:00 +02:00
Christoph Oelckers
c7798d5503
- use a unique_ptr for the GL debug object.
...
This doesn’t get shared and the containing class doesn’t need to be copied so this is sufficient.
2022-06-07 00:11:56 +02:00
Christoph Oelckers
989dcfcf1c
- avoid storing texture pointers in longer lived data
...
* these circumvented all internal texture replacement logic. Texture objects should only be resolved right before drawing them
* added an explicit ‚tilebackground‘ option for the summary screen to fix problems with bad decision logic based on incorrect texture type checks. Automatic tiling no longer depends on texture type, but solely on size.
* added a DrawTexture variant that can be passed a texture ID instead of a pointer
2022-06-07 00:00:54 +02:00
Christoph Oelckers
21b6f722be
- actually GCC is really dumb.
2022-06-06 20:11:01 +02:00
Christoph Oelckers
f4d240b05d
- this behaves a little better on OpenGL.
2022-06-06 19:50:10 +02:00
Christoph Oelckers
90def7e8b0
- GCC is dumb
2022-06-06 19:49:57 +02:00
Christoph Oelckers
d1caf3a471
- made TObjPtr as trivial as possible.
...
Mainly to avoid problems with Raze, but eliminating this constructor lets us catch erroneous local definitions via 'auto', which can cause major problems if left undetected.
2022-06-06 15:19:31 +02:00
Christoph Oelckers
71ce8aa79a
- block wipes when streaming movies are playing.
...
For synchronization purposes they cannot be interrupted by the wipe loop.
This also groups the cutscene state in a struct for readability purposes.
2022-06-06 12:30:47 +02:00
Christoph Oelckers
c62e14d2c1
- Backend update from Raze
...
Mostly cleanup and better separation of game/backend concerns.
2022-06-06 12:09:29 +02:00
Christoph Oelckers
7e57aeb24a
- re-enabled translation initialization.
...
This had been commented out for testing and was forgotten.
2022-06-06 08:50:27 +02:00
Christoph Oelckers
4cb7c70e27
- restored accidentally deleted line of code.
2022-06-05 16:43:12 +02:00
Christoph Oelckers
efd4a0b33a
- the chat should use the console's scaling, not the one for the messages printed with the small font.
2022-06-05 16:29:42 +02:00
Christoph Oelckers
a59436c4c2
- fixed auto-scaling for console.
2022-06-05 12:34:22 +02:00
Christoph Oelckers
e266fb1c16
- removed all vid_fps offsetting.
...
To compensate there is now also a "stat fps" which displays the FPS rate in the lower left corner. This had to go because unconditionally altering positions was causing problems with custom HUDs.
2022-06-05 12:16:56 +02:00
Christoph Oelckers
24a275804c
- HUD scaling for automap HUD.
2022-06-05 12:16:15 +02:00
Christoph Oelckers
efaaa3c118
- added Raze-style HUD scaling.
2022-06-05 10:57:21 +02:00
Christoph Oelckers
0ee1cc85ec
- fixed: The IVF decoder never accounted for odd dimensions when applying the UV subsampling.
...
To simplify the code the 'optimized' loop was replaced with one iterating over all pixels - even in the worst of cases the little savings are hardly performance relevant.
2022-06-05 08:09:50 +02:00
Christoph Oelckers
6f22eeac00
- added a few more names to the reserved names for main folder detection.
...
Also consolidated the access into a single function to avoid indexing errors.
2022-06-04 22:11:14 +02:00
Christoph Oelckers
3c96f7e21c
- added handling for start-of-episode cutscenes.
2022-06-04 21:58:46 +02:00
Christoph Oelckers
c597ba2fef
- made cutscenes at engine startup work.
2022-06-04 21:31:19 +02:00
Christoph Oelckers
ab856e4f6a
- consider "fonts" and "models" reserved folder names.
2022-06-04 18:49:31 +02:00
Christoph Oelckers
26a377c009
- fixed undefined behavior with Dehacked's value parser.
...
From the looks of it MSVC's strtoul function does parse negative values, while GCC's does not. Since negative values are allowed for some properties this now uses strtoll and stores the value with 64 bit to preserve both the value range of signed int and unsigned int.
2022-06-04 09:23:46 +02:00
Christoph Oelckers
df74288f7b
- use the same rules for cutscenes as for old intermissions when travelling in a hub
2022-06-03 00:30:34 +02:00
Christoph Oelckers
608b387e04
- use correct mapping for IBM437’s lower characters
...
For use on text screens these need to be mapped to the printable characters they represent on screen, not the control characters of ASCII.
2022-06-03 00:12:45 +02:00
Christoph Oelckers
99d98cf79d
- added cutscene creation code
2022-06-03 00:03:57 +02:00
Christoph Oelckers
15a5554f8d
- fixed fast crushers going out of sync if something is being crushed by them.
2022-06-02 16:48:07 +02:00
Christoph Oelckers
05c846c4eb
- fixed: the last column of a text-type start screen was not rendered.
2022-06-02 08:32:39 +02:00
Christoph Oelckers
092eb1eb6f
- use StartupTexture, not HeaderTexture to clear the screen.
...
HeaderTexture does not exist for the Endoom screen.
2022-06-01 18:00:03 +02:00
Christoph Oelckers
b615019715
- fixed: sound must be initialized before the start screen.
2022-06-01 17:44:07 +02:00
Christoph Oelckers
c11729c2bb
- fixed: Vulkan descriptor sets must check the real translation, not just the translation ID.
...
In particular the one for the menu's player sprite and ACS translations can alter a translation ID's actual translation at run time, these changes never triggered a descriptor set change.
2022-06-01 16:47:54 +02:00
Christoph Oelckers
298407aaf3
- workaround for clearing the start screen in Vulkan.
...
There seems to be a bug in the backend, but I have no idea what's wrong.
Clearing the start screen with a ClearRect call renders the 2D drawer in an unstable state. So for now, clear the screen by rendering a texture, but with light color black, which produces the same effect without later breaking stuff.
2022-06-01 16:02:24 +02:00
Rachael Alexanderson
c8156fa581
- add keybinds for F17-F24
2022-06-01 10:23:08 +02:00
Christoph Oelckers
3b87c19b5b
- fixed startuo screen creation
2022-06-01 10:20:32 +02:00
Christoph Oelckers
2d901eca7f
- added missing #include.
2022-06-01 09:34:07 +02:00
Christoph Oelckers
7787a410ea
- Startscreen fixes.
...
* for Strife the game palette must be loaded before the start screen.
* increase update frequency of start screen to roughly 35 fps
* fixed Strife's laser sprite names.
* do not show the native progress bar if a graphical start screen is used.
2022-06-01 09:30:20 +02:00
Christoph Oelckers
344c6348fd
- sprite lightlevel cleanup and fixes.
...
* consolidated the getter functions on the game data side
* better handling of per-sprite lighting with fog
* allow negative values for additive per-sprite lighting.
* also fixed return type of UpdateWaterDepth.
2022-06-01 08:37:13 +02:00
Christoph Oelckers
da30b6f6f0
- fixed some GCC warnings
2022-06-01 08:37:00 +02:00
Christoph Oelckers
077aa6b0ae
- cleaned out some duplicates in Posix platform code
2022-06-01 08:37:00 +02:00
Christoph Oelckers
59cddf1601
- hooked up graphical start screens with the in-game renderer.
2022-06-01 08:37:00 +02:00
Christoph Oelckers
79f4a9c0f3
- removed the native graphical startup screens.
...
ENDOOM is already working with this commit, the start screens still require some work to connect them.
2022-06-01 08:37:00 +02:00
Christoph Oelckers
d6886ed44f
- route the StartScreen#::Net... functions through a global interface.
...
These will require different treatment later, so best only have one place where each method is called.
2022-06-01 08:37:00 +02:00
Christoph Oelckers
21c60c931e
- warning fixes and cleanup from old startscreen branch.
2022-06-01 08:36:59 +02:00
Christoph Oelckers
1aa3a5ea16
- platform independent classes for start screen rendering.
...
These use the internal 2D drawer. Not hooked up yet.
2022-06-01 08:36:59 +02:00
Christoph Oelckers
e42256c7a8
- added texture class for handling the start. screen
2022-06-01 08:36:59 +02:00
Christoph Oelckers
3b3a3a31e8
- Win32 i_main.cpp cleanup
...
Moved SetWndowTitle into the menu class
Removed the dead Windows session code
Removed the unused modules for Win32 core DLLs.
removed dynamic function calls for post-XP features
2022-06-01 08:36:59 +02:00
Magnus Norddahl
6670bc09b9
Create a MainWindow class that manages the main win32 window of the application
2022-06-01 08:36:59 +02:00
Major Cooke
3d14cec191
Added ADDLIGHTLEVEL to add the sector light level to an actor's own defined light level, if desired.
2022-05-31 21:00:31 +02:00
Major Cooke
9ef202db26
LightLevel now works with fog.
2022-05-31 21:00:31 +02:00
Major Cooke
d5e448671d
Added LightLevel.
...
- Setting it to any value > -1 will override the sector's light level.
2022-05-31 21:00:31 +02:00
nashmuhandes
f235dcc38e
Squashed commit of the following:
...
commit 553c4c12abd15e5f8fa02496ccfde81bdfdb53b0
Merge: cb03de5d2 add4ff12a
Author: nashmuhandes <nashbackslash@gmail.com>
Date: Mon Feb 14 18:55:52 2022 +0800
Merge branch 'master' of https://github.com/coelckers/gzdoom into ActorFallAndSink
commit cb03de5d2fdcba8a32b83be32579be935c8b6600
Author: nashmuhandes <nashbackslash@gmail.com>
Date: Tue Jan 25 12:54:33 2022 +0800
Re-add WaterDepth to the custom namedef file
commit 8d1ff3c16018dd7c73c8950aa4c51f2bc0207837
Merge: f201e6307 a9eaae074
Author: nashmuhandes <nashbackslash@gmail.com>
Date: Tue Jan 25 12:52:57 2022 +0800
Merge branch 'master' of https://github.com/coelckers/gzdoom into ActorFallAndSink
# Conflicts:
# src/common/engine/namedef.h
commit f201e630706fc0ea7628b8a32bd5d88afb712208
Author: nashmuhandes <nashbackslash@gmail.com>
Date: Sun Jan 16 20:45:27 2022 +0800
Fix compile error (MAX() -> max())
commit fe292ebd4312afe34b1e35e4c1eafba0dc168920
Merge: 3f9150c4e 12ed24d06
Author: nashmuhandes <nashbackslash@gmail.com>
Date: Sun Jan 16 20:37:58 2022 +0800
Merge branch 'master' of https://github.com/coelckers/gzdoom into ActorFallAndSink
# Conflicts:
# src/playsim/p_mobj.cpp
commit 3f9150c4eae1c5c5510e8f9b1c4bfaab46a96b8f
Author: nashmuhandes <nashbackslash@gmail.com>
Date: Sat May 29 05:32:54 2021 +0800
- Implement virtual Actor.FallAndSink for scriptable falling and water physics
- Added Actor.WaterDepth to retrieve how submerged and actor is, in map units
Original work credited to "gzdoomthrowaway"
2022-05-31 18:57:38 +02:00
Christoph Oelckers
cda6394a95
- added cutscene data parser
...
This covers:
game start
episode start
cluster start/end
level start/end
2022-05-31 15:02:52 +02:00
Sally Cochenour
bb42e541e9
MASTERNOSEE flag ( #1601 )
...
Makes it so that if an actor's master is invisible due to camera/mirror/portal shenanigans, then the actor will also be invisible. Name based off of an Unreal Engine flag that does the exact same thing.
Co-authored-by: Christoph Oelckers <coelckers@users.noreply.github.com>
2022-05-31 12:34:15 +02:00
Christoph Oelckers
2c69afa118
- fixed SDL version check
2022-05-31 11:00:10 +02:00
Major Cooke
748156c846
Optimized CanCrossLine.
...
- Remove P_PointOnLineSide check
- Made CanCrossLine opt-in by requiring the CROSSLINECHECK flag.
2022-05-31 10:46:06 +02:00
Major Cooke
5afd14fd4d
Added a vector to CanCrossLine to indicate the next position the actor will be in if the move succeeds.
2022-05-31 10:46:06 +02:00
Major Cooke
b5b2dd0903
Added CanCrossLine virtual for actors.
...
- Called last after all other line checks occur. Returning false means the actor cannot cross that line.
2022-05-31 10:46:06 +02:00
Sally Coolatta
a98c1efc26
Add WorldOffset field
...
Adjusts the thing's 3D position on render side. This allows for adjusting a thing's visual position without impacting their hitbox.
# Conflicts:
# src/playsim/p_mobj.cpp
2022-05-31 10:14:32 +02:00
Christoph Oelckers
6b7ef697be
- compacted AActor a bit by eliminating alignment gaps
2022-05-31 10:10:53 +02:00
Major Cooke
bf6849d184
This was missing in the commit.
2022-05-31 09:12:59 +02:00
Major Cooke
31fa78d7c9
Added the following GL Light flags:
...
- `DontLightOthers`: Acts as the inverse of `DontLightSelf`, where it won't light actors that aren't the owner.
- `DontLightMap`: The light doesn't affect the map.
2022-05-31 09:12:59 +02:00
RicardoLuis0
d6516f5c3b
Relative Includes for ZScript
2022-05-31 09:09:42 +02:00
Rachael Alexanderson
f1ad0961be
- remove m_filter
and simplify related code
2022-05-29 17:58:06 +02:00
Christoph Oelckers
b218b8de6a
- removed the unused SCREENPITCH #define
2022-05-23 15:52:30 +02:00
Christoph Oelckers
a9cba90647
- fixed MF_SHADOW handling for MBF21
...
This needs to alter the render style as well.
2022-05-23 00:10:59 +02:00
Christoph Oelckers
77a4bc16cf
- fixed handling of automap sprites with negative scale.
2022-05-23 00:08:33 +02:00
Christoph Oelckers
dce6456994
- fix dynamic light setup.
...
The level’s global flag is unreliable and cannot be used. The operation this was initially supposed to skip cannot be skipped anyway so the impact should be minor.
2022-05-23 00:01:49 +02:00
Marisa the Magician
2aa79bd538
Allow SendNetworkEvent during title level.
2022-05-20 13:00:17 +02:00
Christoph Oelckers
c6092ef07e
- don't play empty intermissions.
2022-05-20 09:12:27 +02:00
Rachael Alexanderson
f87c7b538a
- add sv_ammofactor
to change the skill adjustment for ammo
2022-05-18 15:09:13 -04:00
Christoph Oelckers
3ad6793ba3
- fixed yet another index issue in the shader code.
2022-05-18 20:14:43 +02:00
Christoph Oelckers
1d9da40f5b
- fixed user shader compilation in OpenGL
2022-05-15 11:37:46 +02:00
Christoph Oelckers
648dc87101
- fixed two index out of range issues in Vulkan's shader compiler code.
2022-05-15 09:12:30 +02:00
Christoph Oelckers
7057b7cdf1
- extended the read buffer for the 'secret' CCMD.
2022-05-14 21:47:15 +02:00
Christoph Oelckers
c95b1b0149
- fixed shader selection logic in OpenGL.
2022-05-14 12:08:31 +02:00
Christoph Oelckers
c23abd1930
- silenced some warnings.
2022-05-14 11:55:56 +02:00
Christoph Oelckers
2be13e1b9f
- changed shader loader to load only one shader at a time
...
This is merely preparation - the actual loading is still in one uninterrupted piece.
2022-05-13 08:22:22 +02:00
Magnus Norddahl
1452dd06a7
Fix that vk_debug doesn't output anything for newer versions of the vulkan sdk
2022-05-13 08:18:17 +02:00
Emile Belanger
3bedf79222
Fix crash when loading Strife dialog with latest Clang compiler and optimisation on
2022-05-12 22:36:50 +02:00
Christoph Oelckers
beeb5f00aa
- added JPEG YCCK decoding.
...
Just for completeness - the formula was pieced together from stb_image's handling.
2022-05-12 12:14:14 +02:00
Christoph Oelckers
e639030276
- fixed music in intermissions.
...
The starting of the first screen's music must be delayed until the playback of this screen actually starts.
Since the controller objects are created up front it cannot be done in the Init() method anymore.
2022-05-11 09:06:57 +02:00
Rachael Alexanderson
30a0177352
- add libvpx for arm64
2022-05-10 18:18:06 -04:00
Rachael Alexanderson
c9e01353b0
- define ARM64's endianness in rapidjson
2022-05-10 16:43:57 -04:00
inkoalawetrust
dbf707b83b
Added MF8_SEEFRIENDLYMONSTERS.
...
Non-friendly monsters with this flag on will be able to attack friendly monsters on sight.
2022-05-10 08:25:30 -04:00
Christoph Oelckers
2c75e2cac9
- fixed Hexen stair builder
...
To work as intended the first sector must also have its validcount set.
2022-05-09 00:07:17 +02:00
Major Cooke
9dea7cbaf9
Added QF_3D flag for quakes. When used, the quake thinker will perform a 3D distance check instead of 2D.
2022-05-08 07:52:07 +02:00
Christoph Oelckers
47c7734042
- add -compatmode for setting a compatibility mode on startup
...
As a replacement for +compatmode not working as intended.
2022-05-06 08:35:34 +02:00
Christoph Oelckers
3fb292ac71
Revert "- added a bit of hackery so that compatmode CVAR can be set up on startup"
...
This reverts commit c4408d8536
.
This does not work. It always overwrites the saved compatibility settings with the current compatmode.
2022-05-06 08:31:16 +02:00
temx
0dfa632d29
Fix off-by-one in Vulkan multisample sample count selection
2022-05-04 18:19:29 +02:00
Christoph Oelckers
c86d9f60d0
- added handlers to load Strife’s startup screen images as textures
2022-05-03 00:04:28 +02:00
Christoph Oelckers
73abb2dfac
- added image source handlers for Hexen’s special startup image types
2022-05-02 00:28:56 +02:00