Commit graph

22,557 commits

Author SHA1 Message Date
Magnus Norddahl
d12cd4d74d Sort initial draw lists by pipeline
Fix applying pipeline state too often for scattered draw ranges
Delay updating sides and sectors until frame start to allow the playsim to mark surfaces dirty multiple times
2024-08-28 19:53:12 +02:00
dpjudas
ddc3b530c7 Fix compile error due to missing include statement 2024-08-26 12:51:16 +02:00
Magnus Norddahl
59205533b2 Bias the trace end point to reduce shadow acne 2024-08-26 02:59:03 +02:00
Magnus Norddahl
dedd7245f2 Fix wall portals not getting freed 2024-08-26 02:05:38 +02:00
Magnus Norddahl
e94bd7f641 Fix 'Could not find space in level mesh buffer' error
Interpolate sector height updates
2024-08-26 00:49:30 +02:00
Magnus Norddahl
858247f25f Fix interpolation when updating the level mesh 2024-08-25 16:47:40 +02:00
Magnus Norddahl
03e36e9d38 Fix polyobj height 2024-08-25 15:48:17 +02:00
Magnus Norddahl
944c6994b7 Update polyobjs every frame (wtb UpdateLevelMesh notification about this) 2024-08-25 15:10:30 +02:00
Magnus Norddahl
a4b57c5fbe Also apply the alpha scale to sprites 2024-08-25 14:54:58 +02:00
Magnus Norddahl
cd2fdb0cd9 Apply light alpha to intensity 2024-08-25 14:50:51 +02:00
Magnus Norddahl
61375fae12 Fix uniforms upload bug 2024-08-25 14:19:11 +02:00
Magnus Norddahl
18db0b49a7 Update level mesh on sector changes 2024-08-25 01:06:44 +02:00
Magnus Norddahl
d28a3571b5 More level mesh buffer fun 2024-08-23 00:01:08 +02:00
Magnus Norddahl
356ad2fe9f Split doom specific surface data from common/gpu surface data 2024-08-20 02:06:05 +02:00
Magnus Norddahl
87eb89ad33 Remove some indirection 2024-08-19 07:53:30 +02:00
Magnus Norddahl
a8acdb9d37 Stop grabbing mouse when game window doesn't have the focus 2024-08-18 14:56:58 +02:00
Rachael Alexanderson
8e6b54172f
Merge commit '855b7fc' 2024-08-15 13:11:57 -04:00
Rachael Alexanderson
54d43b2856
Merge commit '958721e' 2024-08-15 13:11:37 -04:00
Rachael Alexanderson
f28cc14dd9
Merge commit '8043370' 2024-08-15 13:09:55 -04:00
Rachael Alexanderson
f36f00910a
Merge commit '95b264b' 2024-08-15 13:09:32 -04:00
Rachael Alexanderson
9bbad31278
Merge commit 'b044baf' 2024-08-15 13:06:43 -04:00
Rachael Alexanderson
855b7fc026
- add xbox filenames too 2024-08-15 08:18:51 -04:00
Rachael Alexanderson
2ecf796e2e
- add doomkex doom2kex tntkex and plutoniakex as valid iwad filenames 2024-08-15 07:58:14 -04:00
Dileep V. Reddy
958721e2b8
Forgot on check. 2024-08-15 02:43:48 -04:00
Ritchie Swann
0d5e35985d
Fix incorrect return type 2024-08-15 02:43:48 -04:00
Ritchie Swann
d17bde151f
Fix to use the correct definition of DwmDefWindowProc 2024-08-15 02:43:48 -04:00
Ritchie Swann
42c64e438f
fix faux pas 2024-08-15 02:43:48 -04:00
Ritchie Swann
699bef1316
Better solution for DwmDefWindowProc on mingw64
On mingw, create our own thunk for DwmDefWindowProc. It should exist in libdwmapi.a (and exists in MSVC), but doesn't.
2024-08-15 02:43:48 -04:00
Ritchie Swann
709d5dd742
Keep legacy_studio_definitions for non mingw64 toolchain 2024-08-15 02:43:47 -04:00
Ritchie Swann
120c0fb5ca
Use TCHAR on Windows 2024-08-15 02:43:47 -04:00
Ritchie Swann
801dc4aaac
sys/stat.h is required on all platforms 2024-08-15 02:43:47 -04:00
Ritchie Swann
e1e5ae16e2
Fix namespace issue
windows.h must be included in the main namespace on mingw64, otherwise there are loads of compile errors
2024-08-15 02:43:47 -04:00
Ritchie Swann
8f7b0ef4eb
Fix libraries on mingw64
dxguid and dwmapi are required on mingw64 and give linker errors if missing
legacy_studio_definitions is not in the latest mingw64
2024-08-15 02:43:47 -04:00
Ritchie Swann
67d573cd41
Use TCHAR for Windows 2024-08-15 02:43:46 -04:00
Ritchie Swann
e3795c762a
Fix preprocessor symbol for Windows 2024-08-15 02:43:46 -04:00
Ritchie Swann
95f31cdd7e
mingw64 requires including cstdint 2024-08-15 02:43:46 -04:00
Magnus Norddahl
e9946bead2 Fix not lights in the internal lightmapper 2024-08-13 23:35:32 +02:00
dpjudas
b6cbaaedbc Update the bottom level accel structure if vertices or indexes change 2024-08-11 23:03:32 +02:00
Rachael Alexanderson
a4e3aca33c
- add messages for sector light change, thinker creation, and destruction 2024-08-11 15:58:33 -04:00
Magnus Norddahl
766b558119 Ranges in buffers are so fun! 2024-08-11 20:39:45 +02:00
nashmuhandes
8043370ef1 Export PlayDiveOrSurfaceSounds to ZScript and made it virtual for mods to customize the diving and surfacing sounds 2024-08-11 14:34:53 -04:00
Magnus Norddahl
e0cba77646 Move levelmeshhelper completely out of the Common folder
Connect the level updates to the level mesh
2024-08-11 18:34:03 +02:00
Magnus Norddahl
e80615e167 Move the level mesh dirty ranges to levelmesh so that it can be updated 2024-08-11 17:51:45 +02:00
Ricardo Luís Vaz Silva
8f79753dc0 make sure all texZ functions update the levelmesh 2024-08-11 17:50:36 +02:00
Ricardo Luís Vaz Silva
7456c7685b make hooks more specific 2024-08-11 17:50:36 +02:00
Ricardo Luís Vaz Silva
467cf2800b Fix compilation 2024-08-11 17:50:36 +02:00
Rachael Alexanderson
1d86d7080d - beginning levelmeshupdater work 2024-08-11 17:50:36 +02:00
dileepvr
95b264bdb6
Isometric Mode and Robin (#2618)
* Feature-complete isometric mode fork.

* Dithered transparency condition tweaks.

* Dithered transparency for non-corpse monsters only (and missiles).

* SpectatorCamera vertical shift.

* Including math.h in hw_sprites.cpp to keep visual studio happy (it couldn't find M_SQRT2 definition).

* Defining MY_SQRT2 in hw_sprites.cpp to keep visual studio happy (it couldn't find M_SQRT2 definition).

* Defining MY_SQRT2 in r_utility.cpp also to keep visual studio happy.

* retrigger checks

* Have correct sprite angle-frame face the camera with orthographic projection enabled.

* Dithered Transparency now works properly on 3D floors. Moved that dither-trans flag setting code within hw_bsp.cpp to handle double-processing of linedefs. Added helper functions to FRenderViewpoint class 'bool IsOrtho()' and 'bool IsAllowedOoB()' to clean up checks everywhere in the code.

* Fixed indents. Added bbox property to subsector struct and use it instead of BSP nodes and Clippers (creating a bbox around viewpoint and checking for overlap) in orthographic mode when no fog of war is active. Turns out to be much faster. Though you need really big maps (Winter's Fury MAP01) to see a difference in fps.

* Non-linux checks don't like uint. Changed to unsigned int.

* Small change of a float to camera.zs. Ignore for testing. Should make no difference.

* Update actor.h to remain mergeable

RF2_NOMIPMAP was introduced, so I had to displace RF_ISOMETRICSPRITES to next bit.
2024-08-11 10:04:40 -04:00
Dileep V. Reddy
8a5e7449c1 Consolidated isometric mode commits. 2024-08-11 15:55:21 +02:00
Magnus Norddahl
f1b9e68305 Add more dynamic update code to level mesh 2024-08-11 01:15:44 +02:00