Commit Graph

312 Commits

Author SHA1 Message Date
Christoph Oelckers af781e0422 - moved all font setup out of the C++ code.
All internal fonts now get defined through FONTDEFS.
Also fixing a few offsets.
2021-05-31 21:20:31 +02:00
Christoph Oelckers b899b63843 - Raze must still use zmusiclite due to license restrictions... :(
This was a copy/paste error when cleaning up some things in the project file.
2021-05-22 19:23:47 +02:00
Christoph Oelckers e10bcf6294 - split the screen job code into a generic and a Raze specific part.
Preparations for porting this to GZDoom.
2021-05-22 01:35:50 +02:00
Christoph Oelckers 1dff0502b0 - moved libvpx and libsmackerdec to more fitting places, plus some project cleanup. 2021-05-22 01:06:51 +02:00
Christoph Oelckers 028a196777 - removed deleted files from project. 2021-05-16 12:32:52 +02:00
Christoph Oelckers e40ed2262e - cleanup of 'gotpic' handling. 2021-05-10 20:13:28 +02:00
Christoph Oelckers 30b1b046e4 - added an intermediate data structure to decouple the rendering from the immediate map data.
This will be needed for sectors consisting of disjoint parts and for providing some help with addressing rendering anomalies
2021-05-03 00:04:36 +02:00
Christoph Oelckers 8003ab6fa3 Merge branch 'scriptable_cutscenes' into newrenderer 2021-05-02 22:37:46 +02:00
Christoph Oelckers f732d4ec64 - added MAPINFO parser, based on GZDoom's.
This isn't hooked up yet, but all necessary structures and fields have been added so that selected pieces can be tested.
2021-05-01 22:52:28 +02:00
sinisterseed 47a09b4f14 - this line also needs to go.
The file doesn't exist anymore, causing project generation to fail.
2021-05-01 15:58:22 +03:00
Christoph Oelckers 6e0089a10d - deleted blood/credits.cpp from the project file. 2021-04-30 22:03:45 +02:00
Christoph Oelckers 14971f9569 Merge branch 'master' into newrenderer 2021-04-22 00:10:37 +02:00
Christoph Oelckers c17ec5fa45 - cleanup of savegame framework 2021-04-22 00:03:17 +02:00
Christoph Oelckers ba5e7d419c - cleaned up the remains of the old def parser. 2021-04-21 18:15:55 +02:00
Christoph Oelckers 82194bbf6b Merge branch 'master' into newrenderer
# Conflicts:
#	source/games/exhumed/src/2d.cpp
2021-04-17 13:22:30 +02:00
Christoph Oelckers 6cb84dc554 - split out the movie player into its own file. 2021-04-15 23:55:29 +02:00
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