Christoph Oelckers
d0ab13f95a
- use GPLv2 in all files dual-licensed with the Doom Source license.
...
None of this was ever GPLv3, the original id source was released under the GPLv2 so this should be, too.
2022-01-02 12:42:54 +01:00
Mitchell Richters
9bbb54fe2e
- Replace every line that just contains spaces or tabs with an empty line feed in all files except 3rd party libraries.
2021-12-30 20:30:21 +11:00
Christoph Oelckers
9e14b168bb
- addressed more shadowed variables in common code.
2021-12-30 09:57:32 +01:00
Christoph Oelckers
6db1ba47c2
- SW: fixed some savegame issues:
...
* the saveable tables were initialized too late when reading in the actors.
* the abort messages for the saveables did not show. We need to use I_FatalError here, plus some actor list modifications to make this work.
2021-12-26 23:10:07 +01:00
Christoph Oelckers
96b9572905
- moved parts of the HitInfo subclasses into the backend.
...
All the game code now needs to do is a single 'using' statement.
2021-12-26 23:08:57 +01:00
Christoph Oelckers
1665e340be
- serialization support for BitArray.
2021-12-25 21:28:50 +01:00
Christoph Oelckers
94a37dfcdc
- extended walltype to directly manage Blood's XWALL.
...
Unfortunately this had to be done in the base class so that we can still maintain the walls in a global array.
The tradeoffs of better abstractions would be far too costly here than the added 16 bytes to the wall struct.
2021-12-25 21:28:47 +01:00
Christoph Oelckers
01abe7b2ac
- addressed most unused/uninitialized variable warnings from MSVC.
2021-11-29 00:55:30 +01:00
Christoph Oelckers
f7fdc5af41
- address several warnings reported by GCC 11.
2021-11-29 00:55:29 +01:00
Christoph Oelckers
b7c7328cdd
- backend update fromGZDoom.
...
most importantly this addresses issues with key down/key up events being sent in the same tic not having an effect on game actions that require a key being held down.
2021-11-21 10:19:52 +01:00
Christoph Oelckers
6e0fbb2043
- removed templates.h includes.
2021-10-30 10:51:03 +02:00
Mitch Richters
b02a6a3ec9
- Replace MIN()
from templates.h
with version provided in STL.
2021-10-30 10:36:15 +02:00
Christoph Oelckers
57b638f26f
- use std::clamp instead of our homegrown version.
2021-10-30 10:35:00 +02:00
Christoph Oelckers
49e0c461c2
- Backend update from GZDoom.
...
This is mainly bringing the GLES backend up to date.
2021-10-07 22:46:45 +02:00
Christoph Oelckers
a3d9cd9a68
- Backend update from GZDoom - mainly for GLES2 support.
2021-09-18 12:20:28 +02:00
Christoph Oelckers
bad57f6a5f
- clear pspAsArray at the beginning of a save/load operation, not at the end.
...
If done at the end it may leave behind some stale data if saving or loading fails for some reason.
2021-09-12 18:17:50 +02:00
Christoph Oelckers
a5e3a85c98
- changed palette lookup to consider the remapping of color 0 to 255.
...
This is to ensure that black maps to the proper index, even if there's duplicates.
2021-08-14 10:26:04 +02:00
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
Christoph Oelckers
8a8379f5fc
- Backend update from GZDoom.
2021-07-11 09:50:36 +02:00
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
4ff4fa643b
- rewrote the default translation handling to be compatible with luminosity translations.
2021-05-25 12:59:09 +02:00
Christoph Oelckers
0bab333f36
- redid font translation so that it doesn't need to crush the font characters' color set to the base palette.
...
Right now it creates a special type of luminance translation that can operate on a true color bitmap.
2021-05-25 12:59:08 +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
d7a47b2f3a
- route all accesses to gameaction from the backend through the sysCallbacks.
...
gameactions are frontend specific so this needs to be decoupled.
2021-05-22 13:02:34 +02:00
Christoph Oelckers
eae97ded1b
- backend update from GZDoom.
2021-05-17 20:33:40 +02:00
Christoph Oelckers
e5dd4a8638
- made the scripted version of Blood's status bar functional.
2021-05-12 21:50:02 +02:00
Christoph Oelckers
783b94f922
- more warning fixes in 'core'.
2021-05-12 21:48:14 +02:00
Cacodemon345
36b910a253
Fix compilation on OpenBSD
2021-05-10 08:25:14 +02:00
Christoph Oelckers
af8d06994a
- implemented the scripting interface layer.
2021-04-30 20:08:32 +02:00
Christoph Oelckers
e05f900315
- added the data structures to hold the cutscene data.
2021-04-30 20:08:31 +02:00
Christoph Oelckers
8fee2b3ed7
- save SW's User array as JSON.
2021-04-22 00:03:15 +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
27ca71a6ec
- allow specifying a .def file in GAMEINFO.
...
This will be loaded on top of the regular .def files and not replace them.
2021-04-17 23:52:45 +02:00
Christoph Oelckers
dbd3e1de44
- Screen Job refactoring WIP.
...
Framework to let them handle proper input events.
Not used yet.
2021-04-16 17:24:58 +02:00
Christoph Oelckers
b5dbc3cf29
- allow specifying startup .con files via GAMEINFO.
2021-04-13 18:08:55 +02:00
Christoph Oelckers
424c0ce3f4
- testing some script parser improvements.
2021-04-06 15:07:12 +02:00
Christoph Oelckers
5b85105762
- re-added the fix for the inverted card reader in Twin Dragon's Map 10.
...
This accidentally got lost when the one-sided key fix was generalized.
2021-03-06 12:20:03 +01:00
Christoph Oelckers
2f2d0443f2
- fixed size setup for most menus.
...
All of Raze's menus scale to 320x200 and to get proper mouse coordinates the definitions must reflect that as well.
Fixes #271
2021-03-01 13:08:10 +01:00
Christoph Oelckers
ba5ede65b8
- backend update from GZDoom.
2021-02-26 19:06:10 +01:00
Christoph Oelckers
c96e04e6c9
- backend update from GZDoom.
2021-02-12 14:44:54 +01:00
Christoph Oelckers
e7ab4cd176
- backend update from GZDoom.
2021-01-29 13:20:00 +01: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
3558289d70
- give forward declared enum a type.
2020-11-10 21:44:15 +01:00
Christoph Oelckers
96fbfdcf86
- made hires replacements work for untranslated fonts.
2020-11-10 21:34:49 +01:00
Christoph Oelckers
ed599d0f05
- moved the hires texture replacement logic into a backend callback.
...
This way it can be handled transparently to the calling code.
Fonts do not work yet, though.
2020-11-10 16:22:02 +01:00
Christoph Oelckers
40358febc1
- changed render interface to resolve textures to materials in the backend.
...
This is needed to have a unified spot where to resolve textures for both 2D and 3D.
2020-11-10 09:08:48 +01:00
Christoph Oelckers
f341fbc1fb
- backend update.
2020-10-28 21:46:43 +01:00
Christoph Oelckers
5abc5c0509
- option menu positioning fix.
2020-10-25 17:11:45 +01:00
Christoph Oelckers
94892cc1f8
- set up the main menu background as default console background for Duke and its offspring games.
2020-10-25 15:06:06 +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
273ad5e133
- backend update
2020-10-25 09:20:26 +01:00
Christoph Oelckers
c82d9d2908
- backend update from GZDoom.
2020-10-24 17:30:47 +02:00
Christoph Oelckers
c2828fe2e3
fixed undefined end of list behavior of iterators
...
Also fixed a few warnings
2020-10-18 12:14:05 +02:00
Christoph Oelckers
817fa8aba3
- save the entire engine state as JSON.
...
The sprite lists may still need optimization. Due to different handling between Blood and the core engine they need to be written out completely which is quite wasteful.
2020-10-13 20:18:08 +02:00
Christoph Oelckers
15eaf86f5a
- preparations for the image scroller menu.
2020-10-08 18:02:25 +02:00
Christoph Oelckers
56eae0b42d
- got the basics working for Exhumed's main menu.
2020-10-08 00:21:07 +02:00
Christoph Oelckers
53c3a6fc9b
- silenced some warnings.
2020-10-07 16:02:49 +02:00
Christoph Oelckers
38ddbfe65f
- activated most of the support code for programmatically created menus again.
...
Blood's regular menu screens mostly work again
2020-10-07 01:31:41 +02: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
29a4955f79
- missing global variables.
2020-10-05 20:44:30 +02:00
Christoph Oelckers
4d712cd5a0
- date code from GZDoom.
2020-10-05 20:28:19 +02:00
Christoph Oelckers
9606b09ddd
- update of language code from GZDoom.
2020-10-05 00:46:24 +02:00
Christoph Oelckers
7f6b02c451
- merged string table and system callbacks.
2020-10-04 21:15:51 +02:00
Christoph Oelckers
7be2d44108
- corrected includes.
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
Christoph Oelckers
f8caf88089
- backend update.
2020-10-03 17:04:45 +02:00
Christoph Oelckers
b57e13ff62
- mouse code update.
...
May still need some tweaking of the factors.
2020-09-28 22:36:43 +02:00
Christoph Oelckers
c326bcd308
- fixed i_net's GetPlayerName function's indexing.
2020-09-27 16:12:51 +02:00
Christoph Oelckers
af5e3dd1b8
- render backend update from GZDoom, mostly minor stuff.
2020-09-27 16:12:51 +02:00
Christoph Oelckers
0795c79a3a
- engine updates from GZDoom.
2020-09-27 16:12:50 +02:00
Christoph Oelckers
1e12bca0a6
- route World Tour's texts through the string table by adding an indirection option
...
This way they can be translated into all languages without duplicating all relevant content.
The original text files are no longer being used.
2020-09-26 10:08:48 +02:00
Christoph Oelckers
c98f7d304b
- added a list compare function to FScanner.
2020-09-15 21:21:16 +02:00
Christoph Oelckers
09a6534270
- redid scriptfile as a wrapper around FScanner
...
Another piece of Build licensed code gone, yay!
This will also allow gradual conversion of the DEF parser to our own code, unencumbered by the Build license. :)
2020-09-15 00:11:08 +02:00
Christoph Oelckers
6ad8046b47
- dual license d_net.cpp and i_net.cpp
...
The same source was available under both in GZDoom, so keep it.
2020-09-13 19:38:31 +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
89316aea33
- demoted the SWCustom parser to the primitive Hexen interface after finding out that this is all the Build parser can do.
...
This also meant I had to add symbol support to the old style number parsers.
2020-09-12 10:23:47 +02:00
Christoph Oelckers
e5cf57917e
- FScanner::SkipToEndOfBlock
2020-09-11 00:18:13 +02:00
Christoph Oelckers
ef5ac2319e
- migrated SW's info script parser to sc_man.
2020-09-10 17:46:54 +02:00
Christoph Oelckers
29d990991b
- dug out Dynamo's BigFont for Exhumed from the forum.
...
This is not the font from GDX, it was a separate creation. The only character in here from GDX is the question mark because it was missing.
2020-09-08 01:12:23 +02:00
Christoph Oelckers
e8452a79e8
- implemented the automap serializer.
...
Also optimized the base64 encoder to avoid creating endless memory copies, thanks to using std::string which is a really poor container for this kind of stuff when workig with larger blocks of data.
2020-09-06 13:39:57 +02:00
Christoph Oelckers
36b9ac54b7
- added a parser for World Tour's language files.
2020-09-05 21:33:04 +02:00
Christoph Oelckers
367b4ce051
- this should be all we need from GZDoom to hook up the main loop.
2020-08-30 09:32:34 +02:00
Christoph Oelckers
15adf1f6e5
- hooked up ZDoom's i_net.cpp to compile within the project.
...
Note about the license: This file was available from GZDoom 2.4.x under the Doom source license which is compatible with Build.
This isn't used yet.
2020-08-29 22:07:47 +02:00
Christoph Oelckers
a55da24277
- hooked up the chat display.
...
Currently not really useful, aside from being usable to enter cheats. For this the cheat must be prefixed with a '#' to be recognized.
2020-08-25 18:51:56 +02:00
Christoph Oelckers
1a0e413d5c
- use CCMDs for Exhumed's input where applicable.
...
- made crosshair toggle consistent across games.
2020-08-23 16:11:18 +02:00
Christoph Oelckers
7bb6b6a1ee
- do not call handleEvents outside the main loop.
...
In other places I_GetEvent should be used to call the system's message pump and keep the app responsive, but all game side processing should be skipped.
2020-08-16 10:00:13 +02:00
Christoph Oelckers
a690f44fc8
- use constexpr for translation utilities
2020-08-15 10:22:07 +02:00
Christoph Oelckers
000c00dc91
- block game input during intro cutscenes
...
Fixes #158
2020-08-11 00:42:08 +02:00
Mitchell Richters
4830989d32
- remove all code used to get current display's refresh rate.
...
* Serves no purpose in Raze or GZDoom and appears to only have been added to the backend to facilitate the older interpolation code that was excised in 893686709b
.
2020-08-02 20:57:09 +02:00
Christoph Oelckers
1869a7930e
- hooked up the new savegame code.
...
Not tested yet.
2020-07-21 00:07:02 +02:00
Christoph Oelckers
2e78c08856
- fixed palette transparency checks
2020-07-05 10:15:55 +02:00
Christoph Oelckers
39185300e7
- reimplemented cheats based on ZDoom's cheat parser.
2020-07-04 15:51:02 +02:00
Christoph Oelckers
7253b4eb74
- added a serializer for the flamethrower's fire map.
2020-06-29 23:36:06 +02:00
Christoph Oelckers
e146e73345
- consolidated the 'music' parsing in Defs (pending a refactor of the MAPINFO system.)
...
- removed the remaining parts of the game Defs parser because we do not want anything EDuke in here.
2020-06-24 00:40:22 +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
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
8216d31568
- fixed default for 'modern' in GameStartupInfo.
...
It shouldn't force 1.5 compatibility but enable the CVAR.
2020-06-02 16:59:21 +02:00
Christoph Oelckers
1b12c08c66
- backend sync
2020-06-02 11:48:48 +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