Commit Graph

236 Commits

Author SHA1 Message Date
Christoph Oelckers 76311cfcc9 - set proper minimal FPS rate for all games. 2020-06-20 10:46:51 +02:00
Christoph Oelckers e29eb5bbed - added some ZScript basics.
This is merely the basics needed to actually implement something.
2020-06-20 09:46:41 +02:00
Christoph Oelckers 7edcd3125a - fixed music setup for Duke3D.
The parser prepends a '/' to the names which needs to be removed when looking up the music.
2020-06-20 09:38:30 +02:00
Christoph Oelckers edd9f1773b - added the entry point for the ZScript compiler. 2020-06-14 19:20:04 +02:00
Christoph Oelckers d4cdb31464 - backend update to make the ZScript compiler work. 2020-06-14 18:58:30 +02:00
Christoph Oelckers ee98db589f - fixed the Exhumed startup to do proper fading of the publisher logos, which PCExhumed only implemented for the software renderer.
Made it faster than PCExhumed, though
2020-06-12 23:06:11 +02:00
Christoph Oelckers 65ddb6cb59 - disabled the game side frame limiter.
The backend has its own one, and unlike the one on the game side, it actually suspends execution when waiting.
2020-06-12 21:08:47 +02:00
Christoph Oelckers 4f0e3adfbb - removed pointless constexpr declaration on numeric constants. 2020-06-12 16:49:35 +02:00
Christoph Oelckers 3b7f494a88 Merge branch 'master' of https://github.com/coelckers/Raze 2020-06-12 16:44:14 +02:00
Mitchell Richters d79a5d256d - fix joystick scaling for all games.
* Repairs https://forum.zdoom.org/viewtopic.php?f=340&t=67239 and https://forum.zdoom.org/viewtopic.php?f=340&t=67933
* Values that come from GZDoom backend are too low to be suitable for the Build games which were dividing by 'analogExtent'.
* Remove definition of analogExtent from all games and define in inputstate.h, then define joyaxesScale as 75% of analogExtent to provide a bit of headroom and not have a scale of 1.0 be full speed.
* Invert the returned results of GetAxes() as the returned floats are reversed for build games.
* Leverage scaleAdjustmentToInverval() on game-side code to consistently scale the input irrespective of frame rate, vsync etc.
2020-06-12 16:44:08 +02:00
Christoph Oelckers a419181c36 - simplified screenshot code. 2020-06-12 00:39:06 +02:00
Christoph Oelckers 6a9f1e9da1 - removed the old OpenGL interface. 2020-06-12 00:25:52 +02:00
Christoph Oelckers 22aad4999c - use the engine backend to render the scene 2020-06-11 22:26:46 +02:00
Christoph Oelckers f92d775ddb - fixed bad includes. 2020-06-11 09:57:17 +02:00
Christoph Oelckers a9141af545 - backend update. 2020-06-11 09:15:44 +02:00
Christoph Oelckers 5cbe9fc49c - added NPOT emulation to the backend.
This is #ifdef guarded because GZDoom uses the same code base but has no use for this feature.
2020-06-08 08:02:58 +02:00
Christoph Oelckers 8da6b8796b - made presets work again.
Two fixes:
* fixed file system setup to mark the last main game resource.
* unbind all keys before loading a preset.
2020-06-07 13:35:23 +02:00
Christoph Oelckers f2a637418d - moved palette.cpp out of Build folder. 2020-06-07 13:06:18 +02:00
Christoph Oelckers fc466849ce - disabled demos in blood. 2020-06-06 09:23:44 +02:00
Christoph Oelckers 70ae86aff1 - disabled Blood's demo code because recent changes broke sync to the point where trying to fix it looks like a pointless endeavour. 2020-06-06 07:56:35 +02:00
Christoph Oelckers 68c97e3c25 Merge branch 'master' of https://github.com/coelckers/Raze
# Conflicts:
#	source/core/gamecontrol.h
#	source/duke3d/src/game.cpp
#	source/exhumed/src/exhumed.cpp
#	source/rr/src/game.cpp
2020-05-31 23:30:10 +02:00
Mitchell Richters 7ed9f4fa8c Prepare back-end for updated in-game pausing. 2020-05-31 23:19:54 +02:00
Christoph Oelckers ab2686db34 - camtex transition 2020-05-31 21:43:32 +02:00
Christoph Oelckers 611dad7f69 - added the softpoly and Vulkan backend code fron GZDoom.
Not hooked up yet.
2020-05-31 10:53:11 +02:00
Christoph Oelckers 2841154683 - moved code around, got a few more utilities from GZDoom. 2020-05-31 10:37:19 +02:00
Christoph Oelckers 1d15fe63a6 - another backend update, pulling in the sky renderer. 2020-05-31 10:32:10 +02:00
Christoph Oelckers efa1cd3048 - moved video files to 'common'.
# Conflicts:
#	source/blood/src/screen.cpp
2020-05-31 09:19:16 +02:00
Christoph Oelckers 1e2a3da5fd - video base code unified.
# Conflicts:
#	source/core/rendering/v_video.cpp
2020-05-31 09:18:43 +02:00
Christoph Oelckers edb2cb31ee - backend update with GZDoom model code. 2020-05-31 08:55:00 +02:00
Christoph Oelckers 5728241c1c - updated backend from GZDoom. 2020-05-30 23:10:17 +02:00
Christoph Oelckers ea08fa0a4e - updated common code.
Most of what got added is still unused.

# Conflicts:
#	source/build/src/palette.cpp

# Conflicts:
#	source/build/src/palette.cpp

# Conflicts:
#	source/common/engine/i_interface.h
2020-05-30 22:28:24 +02:00
Christoph Oelckers 00f1043047 - remember custom tile type. 2020-05-30 22:20:53 +02:00
Christoph Oelckers 423f758314 - texture code restructuring. 2020-05-30 21:42:35 +02:00
Christoph Oelckers cca4fc609f - texture code cleanup, mainly cppying layer data into the textures at startup to be able to use a real material system. 2020-05-29 23:33:26 +02:00
Christoph Oelckers 594ec6626c - transitioned to using GZDoom's texture creation code.
Also added support for creating indexed textures directly into CreateTexBuffer, where this functionality can be shared.
As an added plus, brightmaps are working again, this time with less hackery.
2020-05-29 19:21:18 +02:00
Christoph Oelckers 66809ca9f4 - fixed indexed display of 2D content. 2020-05-29 16:46:36 +02:00
Christoph Oelckers 87a87c155d - moved to GZDoom's gl_hwtexture.cpp. 2020-05-29 01:03:01 +02:00
Christoph Oelckers 72889540a5 - use GZDoom's gl_samplers.cpp 2020-05-28 23:48:50 +02:00
Christoph Oelckers f6ca5fa650 - fixed writable tiles. 2020-05-28 18:42:26 +02:00
Christoph Oelckers 193b940eef - palette code cleanup. 2020-05-27 22:19:02 +02:00
Christoph Oelckers d52600663d - backend sync with GZDoom to pull in a few bugfixes and formatting corrections. 2020-05-26 23:12:04 +02:00
Christoph Oelckers 143e338d9f - fixed bad console setup. 2020-05-26 21:45:33 +02:00
Christoph Oelckers b233cc2ea5 - cleaned out some unused code. 2020-05-26 00:10:44 +02:00
Christoph Oelckers e0b2497a56 - backend update. 2020-05-26 00:10:21 +02:00
Christoph Oelckers ebe936f03f - moved platform backend code to 'common'. 2020-05-26 00:09:27 +02:00
Christoph Oelckers 29db3febb8 - updated the platform code to be mostly identical with GZDoom 2020-05-26 00:08:26 +02:00
Christoph Oelckers c4017de12f - updated to GZDoom's new texture management system. 2020-05-25 23:59:07 +02:00
Christoph Oelckers 7a1fda2cc2 - use the 2D drawer's coordinates in the console. 2020-05-25 17:13:26 +02:00
Christoph Oelckers 55a3c62b59 - use GZDoom's 2D drawer.
Console and menu font colors are not ok yet, aside from that it works.
2020-05-25 17:11:32 +02:00
Christoph Oelckers 2f672da7ba - the basics for creating font objects for the in-game bitmap fonts.
Definitions were added to RedNukem frontend for testing, not used yet.
2020-05-25 17:01:56 +02:00
Christoph Oelckers 7c3cac5721 - buildtiles.h cleaned of merge errors. 2020-05-25 16:53:35 +02:00
Christoph Oelckers 94cb36ae53 - removed helper #ifdefs. 2020-05-25 00:33:25 +02:00
Christoph Oelckers 6bd4f77c5b - fix compilation. 2020-05-25 00:31:55 +02:00
Christoph Oelckers 531c68edfe - use GZDoom's font code to fix the crash issues and moved around some files in the PK3.
This pulls in a lot of Doom specific font setup, this can be sorted out later as it won't get into the way.

# Conflicts:
#	source/CMakeLists.txt

# Conflicts:
#	source/glbackend/hw_draw2d.cpp

# Conflicts:
#	source/CMakeLists.txt

# Conflicts:
#	source/glbackend/gl_texture.cpp

# Conflicts:
#	source/CMakeLists.txt

# Conflicts:
#	source/build/src/palette.cpp
#	source/core/gamecontrol.cpp
2020-05-24 23:28:44 +02:00
Christoph Oelckers a70b7fa698 - use the texture manager to handle texture data. 2020-05-24 23:26:47 +02:00
Christoph Oelckers 7b50e2bd8a - initialize the texture manager. 2020-05-24 23:13:08 +02:00
Christoph Oelckers 7225dbd6a4 - disabled the 0<->255 color swap because no support code to handle this exists yet. 2020-05-24 23:08:45 +02:00
Christoph Oelckers 6bffdf80a1 - finally managed to merge in the original texture system commit.
Game compiles and runs but transparency doesn't work yet.

# Conflicts:
#	source/CMakeLists.txt
#	source/core/menu/menu.cpp
#	source/core/textures/buildtiles.cpp
2020-05-24 22:53:14 +02:00
Christoph Oelckers 0179029ed1 - use image sources, not textures to manage Build tiles.
The font manager and texture compositor need this - they cannot work off non-image-backed textures.
2020-05-24 22:51:26 +02:00
Christoph Oelckers 53891004a0 - fixed compilation 2020-05-24 22:37:50 +02:00
Christoph Oelckers bfd11f9cca - give tiles a name
# Conflicts:
#	source/core/textures/buildtiles.cpp
2020-05-24 22:33:52 +02:00
Christoph Oelckers e500db97b1 - v_text updated and moved to 'common'.
# Conflicts:
#	source/CMakeLists.txt
2020-05-24 22:32:05 +02:00
Christoph Oelckers 272d85663a - moving files... 2020-05-24 20:39:40 +02:00
Christoph Oelckers 9bb1e43c9f - picanmbackup must be initialized. 2020-05-24 20:30:02 +02:00
Christoph Oelckers 6007d5dc8f - fixed typo in offset setter. 2020-05-24 20:11:17 +02:00
Christoph Oelckers 7a84887fc4 - transitioned FTexture.
Mostly working. Note: Brightmaps must be per-translation!
2020-05-24 19:12:22 +02:00
Christoph Oelckers 71ab8c0b10 - fixed compilation. 2020-05-24 16:56:16 +02:00
Christoph Oelckers 556eb44690 - moved gl_load to 'common'.
# Conflicts:
#	source/CMakeLists.txt
#	source/common/rendering/gl_load/gl_interface.cpp
2020-05-24 16:44:13 +02:00
Christoph Oelckers 6276001a7c - cleanup 2020-05-24 16:42:36 +02:00
Christoph Oelckers db21b3ec35 - cleanup 2020-05-24 16:38:16 +02:00
Christoph Oelckers 83e2a342d2 - let the fonts use image sources, not textures as their base class for glyphs. 2020-05-24 16:32:52 +02:00
Christoph Oelckers be8813f962 - hooked up a few things and re-enabled some code depending on the texture manager. 2020-05-24 16:19:44 +02:00
Christoph Oelckers e985db3d08 - added GZDoom's texture manager.
It doesn't do anything yet, but it can now be used to manage textures.
2020-05-24 16:11:10 +02:00
Christoph Oelckers e6b94d35ff - reorganized how BuildTiles stores its data.
Arrays of struct are better than struct of arrays.
2020-05-24 15:02:20 +02:00
Christoph Oelckers 2c5737795f - animation fix. 2020-05-24 14:23:39 +02:00
Christoph Oelckers d6786cf0eb - final cleanup of picanm code. 2020-05-24 13:53:27 +02:00
Christoph Oelckers 266364fc2e - properly implement texture offsets 2020-05-24 13:26:45 +02:00
Christoph Oelckers db4850a028 - added a reverse tile map so that the tile manager can retrieve special info even when a tile texture is passed by object to the render code and not by index. 2020-05-24 10:30:09 +02:00
Christoph Oelckers 0c029750b6 - moved hightile replacements out of the texture class. 2020-05-24 08:47:45 +02:00
Christoph Oelckers 498b19873d - split up textures.h. 2020-05-24 07:58:56 +02:00
Christoph Oelckers da26d1cec4 - more trivial adjustments. 2020-05-24 00:38:10 +02:00
Christoph Oelckers 00e7b2fa25 - simple stuff from the texture manager inclusion commit.
To get this out of the way first...
2020-05-24 00:27:24 +02:00
Christoph Oelckers 50ab68b53b - moved filesa to common 2020-05-23 23:53:38 +02:00
Christoph Oelckers d0cbf21dbe - swapped the image source implementations with GZDoom's. 2020-05-23 23:46:44 +02:00
Christoph Oelckers f64bdccaca - moved renderstyle to 'common' and use GZDoom's color table code unaltered.
# Conflicts:
#	source/CMakeLists.txt
#	source/common/engine/serializer.h
2020-05-23 22:43:05 +02:00
Christoph Oelckers ae6403a205 - added a level of abstraction to the lookup table code to ease later refactoring. 2020-05-23 22:43:05 +02:00
Christoph Oelckers f929419a0a - refactoring of the lookup tables. 2020-05-23 22:43:04 +02:00
Christoph Oelckers daf77e55f7 - fixed compilation.
Much of this commit will have to be undone later, once the texture manager becomes available.
2020-05-23 22:43:04 +02:00
Christoph Oelckers 4d44682603 - integrated ZScript backend 2020-05-23 22:43:03 +02:00
Christoph Oelckers 091d90aba5 - update "common" subfolder.
# Conflicts:
#	source/CMakeLists.txt
2020-05-23 22:43:02 +02:00
Christoph Oelckers ada5ad5ec3 - missed adding a file... 2020-05-23 22:43:02 +02:00
Christoph Oelckers c9b2399cd0 - added a first bunch of ZScript code.
# Conflicts:
#	source/CMakeLists.txt
#	source/common/utility/basics.h
#	source/core/serializer.h
2020-05-23 22:43:01 +02:00
Christoph Oelckers b971bc2717 - avoid using global palette settings when drawing 2D content with a custom palette.
Instead pass the palette info with the render call to avoid stale global state.
2020-05-23 22:43:01 +02:00
alexey.lysiuk 57efff200a - fixed compilation of Linux target
source/core/raze_music.cpp:84:53: error: request for member ‘GetChars’ in ‘ext’, which is of non-class type ‘const char*’
2020-05-23 17:17:55 +03:00
Christoph Oelckers f0f17fa34f - moved sound code to "common". 2020-05-23 12:59:12 +02:00
Christoph Oelckers 8bd5f12b42 - matching sound backend code with GZDoom.
# Conflicts:
#	source/core/sound/s_soundinternal.h
2020-05-23 12:59:11 +02:00
Christoph Oelckers cfe02cebf1 - moved music code to "common" 2020-05-23 12:37:47 +02:00
Christoph Oelckers 6a8efb7520 - update of music code, in particular separating the engine-specific lookup from the backend.
# Conflicts:
#	source/core/music/music.cpp

# Conflicts:
#	source/build/src/palette.cpp
2020-05-23 12:37:47 +02:00
Christoph Oelckers d0406e27b6 - all base palette data has been transitioned to GPalette. 2020-05-23 12:31:05 +02:00
Christoph Oelckers 6f9ee4b60f - store palettes in the palette container. 2020-05-23 12:31:05 +02:00
Christoph Oelckers f53b348782 - stop the railgun's active sound if another weapon is selected. 2020-05-22 23:02:25 +02:00
Christoph Oelckers 6a0785bbd4 - manual update of some missed content. 2020-05-22 18:28:03 +02:00
Mitchell Richters d98813f00f SW: Allow sector object interpolations to be disabled for debugging.
New code is causing some issues. Upstream allow it to be toggled, so let's do that also.
2020-05-22 16:43:34 +02:00
Christoph Oelckers bad17f29e0 - made some tweaks to the anti-z-fighting code in Polymost.
It now picks the minimum of the current formula and the one from before June 2017 - the current one was causing problems with sprites in the distance so now the old one is used as an upper bound.
2020-05-22 16:27:45 +02:00
Christoph Oelckers 683672a1be - added missing game specific autoload handler. 2020-05-22 01:24:40 +02:00
Mitchell Richters 559539bed2 - bump save versions for SW following the massive amount of changes. 2020-05-20 14:43:03 +02:00
Mitchell Richters 9a144a9afb - bump save versions for Duke3D following changes to DukePlayer_t struct. 2020-05-14 15:15:59 +02:00
Mitchell Richters e7621b4e05 RR: Properly scale tilt_status on vehicles with input being tied to frame-rate. 2020-05-11 21:27:29 +02:00
Mitchell Richters 68a0ead5f0
- fix Linux builds following reset of master branch. (#44)
* - fix Linux builds following reset of master branch.

* - fix Linux Clang CI failure.

* - change '#ifdef __linux__' to '#ifndef _WIN32' as requested/required.

* - initialise batchrun in proper spot.
2020-05-05 10:45:21 +03:00
Mitchell Richters 22a940c922 - don't make assumptions about refreshfreq when calculating smoothratio. 2020-04-16 00:01:51 +02:00
Mitchell Richters 587a5d5d9a - fix loading of CRC cache if file does not exist. 2020-04-16 00:01:13 +02:00
Christoph Oelckers 156a225ff4 - renamed global palookup variable.
Since the same word gets used in text messages and local variables in the game code it is easier this way to search for it and facilitate its transition to the translation table management in PaletteContainer.
2020-04-13 23:58:46 +02:00
Christoph Oelckers fda4293013 - draw the movie franes outside of the tile system to reduce the palette maintenance.
The movie code has always been the part causing the most issues because it alters the palettes - the rest treats them as static data.
2020-04-13 23:58:45 +02:00
Christoph Oelckers fac004b4d2 - palette code cleanup 2020-04-13 23:58:44 +02:00
Christoph Oelckers f74ba52990 - compile fixes. 2020-04-12 05:40:16 +02:00
Christoph Oelckers d46ea7481f - handle RRRA E1L2's fog in the shader instead of hacking the shade tables. 2020-04-12 08:30:43 +02:00
Christoph Oelckers 4d1d90d712 - use a global constant for the transparent palette index instead of hardcoding it to the 255 literal everywhere.
- added the needed glue to allow palettecontainer.cpp to compile.
2020-04-12 08:30:43 +02:00
Christoph Oelckers ac07af7028 - m_png.cpp is common. 2020-04-12 08:30:42 +02:00
Christoph Oelckers f1040fa699 - match with GZDoom's console code, move to 'common'. 2020-04-12 08:30:42 +02:00
Christoph Oelckers 57cb22f135 - console code matching with GZDoom
Refactored the buttons to be definable locally per game for easier handling of differing input.
2020-04-12 08:30:41 +02:00
Christoph Oelckers 14cdfa3f3c - more file matching.
- moved c_con to Duke subproject because it's the only one using this stuff.
2020-04-12 08:30:41 +02:00
Christoph Oelckers 2883553ed2 - moved file lookup functions to utilities and matched to GZDoom's version. 2020-04-12 08:30:41 +02:00
Christoph Oelckers a60a0eeefa - use GZDoom's CMake based updaterevision tool. 2020-04-12 08:30:41 +02:00
Christoph Oelckers 8e87674d4c - backend code matching with GZDoom 2020-04-12 08:30:40 +02:00
Christoph Oelckers 0ca4bbd0c4 - changed some menu related names to match GZDoom. 2020-04-12 08:30:40 +02:00
Christoph Oelckers 5584c726ba - file system update and adjustment. 2020-04-12 08:30:40 +02:00
Christoph Oelckers ac32194079 - code cleanup / removal of imgui. 2020-04-12 08:30:39 +02:00
Christoph Oelckers f671eb622f - migrated to GZDoom's utility code. 2020-04-12 08:30:39 +02:00
Christoph Oelckers 2a9813eb5c - code matching with GZDoom. 2020-04-12 08:30:38 +02:00
Christoph Oelckers 797640c494 - use ZDoom's memory allocation wrapper instead of EDuke's.
This simply plays nicer with the compiler's diagnostics.
2020-04-12 08:30:38 +02:00
Christoph Oelckers 66ecb05eb8 - use Printf as the only command to print to the console.
All uses of OSD_Printf, initprintf etc. have been renamed.
2020-04-12 08:30:38 +02:00
Christoph Oelckers 588162e083 - removed redundant MAKE_ID definition. 2020-04-12 08:30:37 +02:00
Christoph Oelckers 69b8976c66 - GZDoom timer code added.
This may come in handy later.
2020-04-12 08:30:37 +02:00
Christoph Oelckers 672a9eb912 - removed the unused CompressedFileWriter class. 2020-04-12 08:30:37 +02:00
Christoph Oelckers 6ef93ba514 - match cmdlib.cpp/.h with GZDoom. 2020-04-12 08:30:36 +02:00
Christoph Oelckers e2f5e8fe34 - renamed 'common' to 'core'.
We'll need 'common' for something else.
2020-04-12 08:30:36 +02:00