Christoph Oelckers
42d02834b1
Merge branch 'master' into newrenderer2
...
# Conflicts:
# source/build/include/build.h
# source/build/src/polymost.cpp
# source/build/src/voxmodel.cpp
# source/core/gamecontrol.cpp
# source/core/gamestruct.h
# source/games/blood/src/animatesprite.cpp
# source/games/blood/src/misc.h
# source/games/blood/src/view.cpp
# source/games/duke/src/render.cpp
# source/games/sw/src/draw.cpp
# source/games/sw/src/game.h
# source/games/sw/src/jsector.cpp
# source/glbackend/glbackend.cpp
2021-04-11 14:38:56 +02:00
Christoph Oelckers
9fd3ab6b5e
- fixed texture precaching.
...
After the migration to GZDoom's full backend this never created any textureds when precaching things.
2021-04-11 09:59:55 +02:00
Christoph Oelckers
b3bcedda6c
- moved backend independent HUD code out of glbackend.cpp.
2021-04-11 08:40:18 +02:00
Christoph Oelckers
7c4e9ea87e
- moved palette manager for indexed textures out of glbackend
2021-04-05 20:00:21 +02:00
Christoph Oelckers
e30dc82676
- Cleanup of the voxel code.
...
* moving polymost_voxdraw into polymost.cpp.
* consolidated all remaining voxel code in hw_voxels.cpp. All original Build voxel code is completely gone now, except for polymost_voxdraw, so this got moved out of the build/ folder.
* integrate Blood's voxel init code into the main function.
* some further cleanup was allowed as a result of this, so engineInit is gone now because these parts can now be done outside the games' app_init functions.
2021-04-05 18:05:43 +02:00
Christoph Oelckers
f7dd0ec4a2
- use ZDoom's node builder for triangulating sectors that fail the simple approach.
...
As it turned out, the triangulator only works fine for regular polygons, but creates incomplete meshes for sectors with multiple sections or some degenerate areas, which are quite common with swinging doors.
The node builder is more costly and creates wall splits, of course, but it does not create broken output for degenerate sectors so it's a good fallback.
2021-04-03 12:44:30 +02:00
Christoph Oelckers
638f19172a
- voxel rendering.
...
The stock voxels of Blood and SW seem to work so far, but not all edge cases have been tested.
2021-04-02 18:20:07 +02:00
Christoph Oelckers
1dfb2672a8
- flat sprite rendering!
2021-03-26 20:28:44 +01:00
Christoph Oelckers
63f057d93f
- portal and sky WIP.
2021-03-21 22:48:01 +01:00
Christoph Oelckers
75159e06c0
- uncommented the portal code in hw_walls.cpp.
2021-03-21 19:36:55 +01:00
Christoph Oelckers
9fe462d358
- adapted GZDoom's portal framework.
...
Not tested yet and somewhat stripped down, as the portals this needs to support are a lot less complex - plus some of the issues in Doom do not apply here.
2021-03-21 18:41:23 +01:00
Christoph Oelckers
d42ce0ee7e
- WIP
2021-03-20 23:01:16 +01:00
Christoph Oelckers
88706e8e13
- added a cache for the sector geometry.
...
Now it only needs recreation if the sector changes.
2021-03-19 23:18:09 +01:00
Christoph Oelckers
7dd5b508c8
- flat rendering WIP.
...
Still buggy triangulation and no texture alignment, but it renders something.
2021-03-18 21:50:02 +01:00
Christoph Oelckers
0579368626
- removed render.cpp, now that everything is in its proper place.
2021-03-18 17:24:58 +01:00
Christoph Oelckers
4cf2493cfd
set up the entry point for the renderer.
2021-03-18 14:49:36 +01:00
Christoph Oelckers
6068427270
- port the bunch drawer to the backend's core.
2021-03-18 12:32:31 +01:00
Christoph Oelckers
af6c6c8ef0
- added the DrawInfo class.
2021-03-18 10:23:53 +01:00
Christoph Oelckers
e9dd1c104b
- started adding the draw list code from GZDoom.
2021-03-18 10:19:13 +01:00
Christoph Oelckers
b492cbcebb
- ported my old Build-style renderer for Doom from 2008 and the wall renderer from GZDoom to work with Build data.
...
It renders walls, but y-panning is still broken.
2021-03-17 16:54:36 +01:00
Christoph Oelckers
c6f83fa8bd
- added GZDoom's clipper.
2021-03-15 19:11:18 +01:00
Christoph Oelckers
a484e39e05
- removed integer square root code.
...
On modern systems using the sqrt function with a cast to int has no relevant performance disadvantage anymore so there's no need for all of this.
2021-03-15 19:02:08 +01:00
Christoph Oelckers
8ae5d0b30e
- backend update from GZDoom.
2021-03-13 01:21:38 +01:00
Christoph Oelckers
bbd5c0ac8b
- transitioned voxel rendering to use the backend's implementation.
2021-03-02 17:10:34 +01:00
Mitchell Richters
ba57429ac6
- Blood, Duke & SW: Create new backend chasecam function and replace game-specific versions with it.
...
* Based off SW's implementation.
2021-02-18 21:47:37 +11:00
Christoph Oelckers
fc11f537f7
- project cleanup
...
* moved all games into the 'games' folder.
* fixed project to include all sources and move them to the proper folders.
2021-01-10 20:31:32 +01:00
Christoph Oelckers
0f3da7194a
- actually compile the game code as larger units and integrate them in the main project.
...
This eliminates the problematic subprojects for good.
Compiling the games as larger units is necessary because otherwise compile times will break down on MSVC.
2021-01-04 11:52:10 +01:00
Rachael Alexanderson
fc7dada764
- sync from gzdoom
2021-01-02 07:52:59 -05:00
Rachael Alexanderson
0c71cc4b38
- allow use of external libvpx library on windows
2020-12-13 02:30:26 -05:00
Rachael Alexanderson
218b0cfb03
- syncing these files over from GZDoom
...
- this does not actually yet build for Windows ARM64, but it does put the framework in place to make that possible in the near future
2020-12-12 09:20:02 -05:00
Christoph Oelckers
d04013066c
- build a composite texture of all the segments for sky rendering to reduce the seams between the single segments.
2020-12-04 22:29:25 +01:00
Christoph Oelckers
357199ecc1
- cross-game, serialization-friendly and pointer free interpolation implementation.
...
Not hooked up yet.
2020-11-26 18:32:35 +01:00
Christoph Oelckers
d089aa8d2e
- moved Blood's and Exhumed's d_menu.cpp back into the gameprojects
...
With the new autoseg code this separation is not needed anymore.
2020-11-13 11:25:43 +01:00
alexey.lysiuk
555007539d
- eliminate dependency on linking order for autosegs registration
...
This fixes #164
2020-11-13 09:41:58 +01:00
Christoph Oelckers
873f4d7c0c
- link hires replacements to textures instead of tile numbers.
...
This is needed to connect them to fonts as well because its glyphs have no tile index.
2020-11-10 20:12:46 +01:00
alexey.lysiuk
7f0d94798d
- fail CMake configuration process if libvpx was not found
...
This helps to avoid #160
2020-11-08 10:00:20 +02:00
Christoph Oelckers
7de6528a1f
- the status bars work as objects.
...
# Conflicts:
# source/common/menu/menudef.cpp
2020-10-31 13:20:54 +01:00
Christoph Oelckers
3a0c84d3ca
- split statusbar.cpp in two.
...
To keep Raze-exclusive content out of the main file that's about to be edited.
2020-10-31 13:19:59 +01:00
Christoph Oelckers
74df8f55da
- moved c_console.cpp to 'common'.
2020-10-25 13:26:40 +01:00
Christoph Oelckers
8d3585afe1
- console cleanup.
...
The bulk of the console is now free of game dependencies.
2020-10-25 13:14:42 +01:00
Christoph Oelckers
1757ef2aa6
- split the game input code off gamecontrol.cpp into its own file.
2020-10-11 16:33:43 +02:00
Christoph Oelckers
ca288d08f4
- compile all files with script exports in the main project.
...
This hopefully gets around the failure to find these on on-Windows Builds.
2020-10-11 07:40:11 +02:00
Christoph Oelckers
820b37721b
- moved tab completion code into 'common' as well.
2020-10-11 00:08:07 +02:00
Christoph Oelckers
2d8bcd06fd
- added the player display for Duke.
...
This completes the menu transition.
2020-10-09 01:09:51 +02:00
Christoph Oelckers
2bb38f7d67
- get load and save game menus and related CCMDs working again.
2020-10-07 18:32:57 +02:00
Christoph Oelckers
4d712cd5a0
- date code from GZDoom.
2020-10-05 20:28:19 +02:00
Christoph Oelckers
f233345ba1
- move most of the menu code into the backend.
2020-10-04 21:57:35 +02:00
Christoph Oelckers
b0301d6fc9
- progress.
2020-10-04 20:11:04 +02:00
Christoph Oelckers
0b9c6fe559
- added GZDoom's menu script code.
2020-10-04 20:11:03 +02:00
Christoph Oelckers
82612a1330
- it compiles again (with lots of code commented out.)
2020-10-04 20:11:02 +02:00