Christoph Oelckers
bad2c2e55f
- backend update from GZDoom
...
* replacement of 'long' in string code.
* palette removal in V_GetColor.
* fixes to DShape2D buffer management.
2021-08-14 10:04:45 +02:00
Mitchell Richters
4a70f6efd0
- Allow ticrate to be specified to timer code, while still defaulting to GameTicRate
. Move out I_GetBuildTime()
from common code to gamefuncs.h
as part of this.
...
* Allow specification of floating point ticrates as it's possible Blood's QAVs could have a fractional ticrate.
2021-08-05 14:52:55 +10:00
Christoph Oelckers
8a8379f5fc
- Backend update from GZDoom.
2021-07-11 09:50:36 +02:00
Christoph Oelckers
d44500863b
- removed the multiplayer scoreboard screens.
...
Since there is no plan to keep them in case MP gets implemented there's no need to maintain them.
These should later be replaced by a generic screen using a better font and a layout that takes higher resolutions into account.
2021-05-27 13:33:54 +02:00
Christoph Oelckers
d98a567597
- halt the game timer when setting up a cutscene and when starting movie playback.
...
These are both lengthy operations that can take several 100s of milliseconds, so when starting a streaming video they can throw off the timing quite significantly.
With this the intermissiondelay counter could be removed as it was only there to flush the accumulated time before starting video playback.
2021-05-23 14:36:54 +02:00
Christoph Oelckers
eae97ded1b
- backend update from GZDoom.
2021-05-17 20:33:40 +02:00
Christoph Oelckers
14971f9569
Merge branch 'master' into newrenderer
2021-04-22 00:10:37 +02:00
Christoph Oelckers
97d8aee2e8
- savegame code cleanup.
2021-04-22 00:03:17 +02:00
Christoph Oelckers
cd45a1f035
- made more parts of USER serialization friendly.
2021-04-22 00:03:14 +02:00
Christoph Oelckers
dcb393bc44
- started reorganizing SW's memory management.
...
Need to get rid of all those unmanaged allocations and present game data in an easily serializable form.
This adds a managed TPointer class that replicates the useful parts of std::unique_pointer but steers clear of its properties that often render it useless.
2021-04-22 00:03:14 +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
b7e8815133
- some further lightening of compat.h.
2021-03-24 21:13:36 +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
ee5950e7ad
- backend update from GZDoom.
2021-03-07 13:21:15 +01:00
Christoph Oelckers
9104fba3ec
- moved colormap constants to backend.
2021-03-06 23:06:26 +01:00
Christoph Oelckers
4c915180da
- fixed stale pointer access in Unix version of D_AddFile.
...
Pointer was assigned a buffer of a local variable that went out of scope before checking its content.
Fixes #268 (hopefully)
2021-02-26 13:28:02 +01:00
Christoph Oelckers
c96e04e6c9
- backend update from GZDoom.
2021-02-12 14:44:54 +01:00
Christoph Oelckers
ba22df2a2a
- removed unused I_GetBuildTimeFrac function.
2021-02-03 12:18:58 +01:00
Christoph Oelckers
e7ab4cd176
- backend update from GZDoom.
2021-01-29 13:20:00 +01:00
Mitchell Richters
ff0be3079e
- m_fixed.h: Fix incorrect return type for MulScaleF()
originating from 8cf2588bad
.
2021-01-29 21:19:15 +11:00
Mitchell Richters
5124c0daec
- Amalgamate ksgn and sgn into Sgn in cmdlib.h, and remove pragmas.h.
2021-01-05 07:31:37 +11:00
Mitchell Richters
f20daa2595
- Replace divscale64()
calls with DivScaleU()
from common.
2021-01-05 07:31:17 +11:00
Mitchell Richters
8cf2588bad
- Replace fmulscale##()
calls with MulScaleF()
from common.
...
* Regex for reference: fmulscale([0-9]+)\((.+)(\)+)
2021-01-05 07:31:13 +11:00
Mitchell Richters
8f75f06efd
- Replace tmulscale##()
calls with TMulScale()
from common.
2021-01-05 07:31:08 +11:00
Christoph Oelckers
5a5f9b8e02
- backend update from GZDoom.
2020-11-23 15:54:06 +01:00
alexey.lysiuk
555007539d
- eliminate dependency on linking order for autosegs registration
...
This fixes #164
2020-11-13 09:41:58 +01:00
alexey.lysiuk
6b12514a29
- fixed compilation with MSVC 14.28.29333 from VS2019 16.8.0
...
This fixes #175
include\algorithm(7419,1): error C2678: binary '=': no operator found which takes a left-hand operand of type 'const T' (or there is no acceptable conversion) (compiling source file source\common\scripting\jit\jit.cpp)
include\algorithm(7419,17): error C3892: '_First': you cannot assign to a variable that is const (compiling source file source\core\searchpaths.cpp)
2020-11-12 11:38:53 +02:00
Mitchell Richters
38c0af4d34
- D_AddFile()
: Check the existence of the file before enumerating entire directory to find it as input might be coming in correctly.
2020-10-15 06:50:41 +11:00
Mitchell Richters
be42a6e28d
- Amend 9d84f92c0e
to just do true case-insensitivity.
...
* adding /home/mrichters/.config/raze/Blood/sOuNdS.rFf, 1747 lumps
2020-10-14 20:18:53 +11:00
Mitchell Richters
9d84f92c0e
- Amend bce15428d5
to only check case on the filename, not the full path.
...
* Still to be tested when I get home, but need it committed to get it off my laptop anyway.
2020-10-14 18:58:55 +11:00
Christoph Oelckers
bdc1f66131
- missed an include.
2020-10-12 20:30:12 +02:00
Christoph Oelckers
bce15428d5
- for Unix-like systems, check added resources for lower and uppercase variants if the specified one cannot be found.
2020-10-12 20:01:40 +02:00
Christoph Oelckers
fe2e96d3a6
Merge branch 'master' into InputContinuation
...
# Conflicts:
# source/games/duke/src/duke3d.h
2020-10-10 21:39:27 +02:00
Mitchell Richters
90e711464a
- clamp(): Remove definition in compat.h and uplift definition in templates.h.
2020-10-07 13:29:00 +11:00
Christoph Oelckers
0968a9d97e
- renamed the Customizer to 'Delegate' because this works very much like a delegate in Objective-C.
...
- route menu sound calls through the delegate to better deal with differences between games.
2020-10-07 01:00:43 +02:00
Christoph Oelckers
fe61ff09a4
- added remapping for Cyrillic characters to matching Latin counterparts.
2020-09-29 20:16:31 +02:00
Christoph Oelckers
03a0cf943e
-minor cleanup and backporting of con_pulsetext from Raze.
2020-09-27 16:12:49 +02:00
Christoph Oelckers
9285d91918
- added timescale support from GZDoom.
2020-09-27 16:12:49 +02:00
Christoph Oelckers
57a9419f8e
- use FString for returning strings from the script parser.
...
This is mainly a preparation for merging the parser into sc_man, because sc_man does not keep token texts in a static variable.
This commit also fixes a handful of places that were flagged by the stricter conversion rules of FString.
2020-09-13 10:29:57 +02:00
Christoph Oelckers
6726c19f9c
- removed constexpr from FloatToAngle.
...
I overlooked the xs_CRoundToInt call in there.
2020-09-01 19:48:21 +02:00
Christoph Oelckers
c957397573
- undid the workarounds for undefined-ness of negative shifts.
...
For any mainstream platform that is totally irrelevant and besides, in C++20 it will be well defined and all current compilers on the relevant platforms treat it accordingly.
This is not worth deoptimizing the code.
2020-09-01 19:47:01 +02:00
Christoph Oelckers
0cc019686d
- minor optimization of m_fixed.h
...
Use constexpr where possible to allow using these function in static initializers.
Avoid dividing by constant values. Better multiply with the inverse which is quite a bit faster.
2020-09-01 19:37:05 +02:00
Mitchell Richters
1354d52c05
- Major cleanup of Q16.16 utilisation within games and engine.
...
* Remove fix16.h/cpp and utilise library from m_fixed.h.
* Extend m_fixed.h with two inline functions for int to/from float operations.
* Replace fix16_floor operations with those from xs_Float.h
* Replace multiple Q16.16 conversions from 0 to just be 0.
* Replaced all found in-game bit-shifts and multiplications/divisions with inline functions from m_fixed.h
* Replaced many casts of FRACUNIT as double in SW's panel.cpp as it is converted to double by way of type promotion.
* Fixed missed precision fixes in SW's panel.cpp where some types weren't declared correctly.
* Replaced 100+ `Cos()/Sin() >> 16` operations for Blood with inline functions `CosScale16()/SinScale16()`.
2020-09-01 23:00:47 +10:00
Christoph Oelckers
1e0b8038e5
- removed I_ResetTime entirely and refactored SW's use of it.
2020-08-30 08:13:34 +02:00
Mitchell Richters
be5419e77c
- i_time: Add I_GetBuildTimeFrac()
.
...
* Currently not needed, but adding for feature parity.
2020-08-25 19:48:26 +02:00
Mitchell Richters
2231386830
- Duke: Create function to reset timer and apply in game where timer restarts are needed.
2020-08-25 19:48:15 +02:00
Mitchell Richters
afb09456e0
- Duke: Migrate away from using totalclock
and use new game-specific gameclock
with underlying timer code in common.
...
* Build timer still requires initialisation due to multiple `timerSetCallback()` that still need to work.
# Conflicts:
# source/core/menu/menu.cpp
# source/games/duke/src/game.cpp
2020-08-25 19:47:31 +02:00
Christoph Oelckers
c3ddde02b2
- use consistent types in FileReader's ReadInt* functions.
2020-08-15 07:33:21 +02:00
Christoph Oelckers
3d4177fbb2
- fixed return type of FileReader::ReadUInt64.
...
fixes #181 .
2020-08-14 23:56:31 +02:00
Christoph Oelckers
d729bc898c
- fixed character counter in MakeUTF8.
2020-08-03 20:18:33 +02:00
Christoph Oelckers
18c3d9b240
- get the frame time right at the start of the frame, not when performing interpolations.
...
This is to factor think time out of the time span between frames and to avoid changes if the smoothratio gets calculated multiple times.
2020-08-02 21:16:01 +02:00
Mitchell Richters
f8952d5cae
- directly cast steady_clock::now()
to nanoseconds instead of microseconds then multiplying by 1000.
2020-08-02 20:57:08 +02:00
Christoph Oelckers
1869a7930e
- hooked up the new savegame code.
...
Not tested yet.
2020-07-21 00:07:02 +02:00
Christoph Oelckers
642ae03d90
- use player_struct from JFDuke.
2020-07-06 23:05:48 +02:00
Christoph Oelckers
8aaadfad1b
- fixed the notification display.
2020-06-30 22:01:43 +02:00
Christoph Oelckers
924816ac8d
- Inlined most of libsmackerdec's FileStream.
...
This should probably be removed altogether and use FileReader directly.
2020-06-28 10:59:11 +02:00
Christoph Oelckers
7bc8d2baff
- I_msTimeF.
2020-06-20 11:55:30 +02:00
Christoph Oelckers
d4cdb31464
- backend update to make the ZScript compiler work.
2020-06-14 18:58:30 +02:00
Christoph Oelckers
a9141af545
- backend update.
2020-06-11 09:15:44 +02:00
Christoph Oelckers
f41e0f9f50
- copied non-x86 compile fix from GZDoom.
2020-06-09 00:13:28 +02:00
Christoph Oelckers
d7225c1965
- backend update from GZDoom
2020-06-07 15:02:54 +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
edb2cb31ee
- backend update with GZDoom model code.
2020-05-31 08:55:00 +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
e828710072
- updated common/utility.
2020-05-24 16:46:31 +02:00
Christoph Oelckers
2d29d130c0
- fixed Blood startup.
2020-05-23 22:43:05 +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
b8a289bf61
- move brightmap handling to the common code.
...
# Conflicts:
# source/common/utility/basics.h
# Conflicts:
# source/build/src/palette.cpp
2020-05-23 22:43:05 +02:00
Christoph Oelckers
4b8444b64d
- 'common' update.
2020-05-23 22:43:03 +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
d0406e27b6
- all base palette data has been transitioned to GPalette.
2020-05-23 12:31:05 +02:00
alexey.lysiuk
2974af3178
- fixed a bunch of compilation errors with MSVC 16.6.0
2020-05-21 10:29:59 +03:00
alexey.lysiuk
d8e3d60e85
- fixed compilation of Cocoa backend
2020-05-05 10:55:35 +03: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
Christoph Oelckers
44519cc877
- added missing dirent.h include to findfile.h.
2020-05-04 00:25:27 +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
2c5d081799
- added the special colormaps for the texture compositor.
2020-04-12 08:30:42 +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
8e87674d4c
- backend code matching with 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
f671eb622f
- migrated to GZDoom's utility code.
2020-04-12 08:30:39 +02:00
Christoph Oelckers
e2f5e8fe34
- renamed 'common' to 'core'.
...
We'll need 'common' for something else.
2020-04-12 08:30:36 +02:00
alexey.lysiuk
b923f9612b
- fixed compilation with MSVC 16.5.0 when using std::sort() with TArray<>
...
error C2676: binary '[': 'TIterator<T>' does not define this operator or a conversion to a type acceptable to the predefined operator
2020-03-21 11:18:04 +02:00
Christoph Oelckers
73a4e0d1fe
- made Blood's FullMap flag global and removed the hacks to show the full automap.
...
Also refactor show2dsector into a bit array to get rid of the bit shifting code at play here.
2020-03-07 19:30:18 +01:00
Christoph Oelckers
edf513a789
- Clang complained again. :(
2020-03-01 16:43:34 +01:00
Christoph Oelckers
3596be48bf
- Clang did not like this.
2020-03-01 11:33:46 +01:00
Christoph Oelckers
d6b17c0406
- fixed bad vector comparison in SW's sound code.
2020-03-01 09:18:23 +01:00
Christoph Oelckers
dbf446ee6c
- ported the menu changes of the last commit.
2020-02-27 19:26:30 +01:00
Christoph Oelckers
1c2ea506f2
- fixed: Windows must call the wide version of _mkdir for Unicode support.
2020-02-25 18:49:24 +01:00
Christoph Oelckers
88b6661395
- hooked up GZDoom's JSON serializer.
...
It's time to build a better savegame format and also to replace SJSON with something easier to work with.
2020-02-22 18:41:24 +01:00
Christoph Oelckers
6231cec7c1
- sound backend update.
2020-02-09 13:26:51 +01:00
Christoph Oelckers
5d8f008140
- added 0 length check to StripExtension.
2020-02-03 22:12:36 +01:00
Christoph Oelckers
a90185bea9
- cleaned up the remaining dependencies on windows.h
...
This file now only gets included by code that really needs it.
2020-02-03 21:30:57 +01:00
Christoph Oelckers
1bb1f2ae98
- fixed the crash reporter on Windows.
2020-02-02 13:33:07 +01:00
Christoph Oelckers
c9d7f21bf1
- fixed the config loader to read long line without messing up the data.
2020-02-02 11:49:36 +01:00
Christoph Oelckers
9ca1e56713
- added extended sound lookup as well plus menu options.
2020-01-27 22:29:45 +01:00
Christoph Oelckers
ab5bc0e435
- more reworking of music lookup.
...
extended lookup now also supports looking for substitutions inside the file system.
2020-01-27 21:39:15 +01:00
Christoph Oelckers
5de7fbca37
- consolidation of music lookup code for user maps.
2020-01-27 20:53:41 +01:00
Christoph Oelckers
bbc145cbee
- enabled the Blood RFS parser.
...
Seems to work but there's not that much material to use it on so the mileage may vary.
2020-01-22 21:09:45 +01:00
Christoph Oelckers
a4d8e68b9f
- added an engine credits menu page.
2020-01-15 20:39:41 +01:00