Christoph Oelckers
7d0ad4897f
use proper access functions to ResourceData.
2023-12-10 10:32:16 +01:00
Christoph Oelckers
ebc808e2a9
did some cleanup of the FResourceFile interface.
...
* making all members protected (but adding friend overrides for the classes which still need it)
* allowing to read data without retrieving the FResourceLump object.
2023-12-10 10:24:39 +01:00
Christoph Oelckers
7a5a2858a2
yet even more GetChars calls added.
2023-10-07 23:29:24 +02:00
Christoph Oelckers
ebb71cebf1
- put the entire filesystem code into a namespace and created some subdirectories.
2023-08-22 22:54:54 +02:00
Christoph Oelckers
5f3d25ef44
- use ScanDirectory in all places where the findfile API was used.
...
This allows to completely hide its implementation details from the rest of the code which only gets a list of file names now.
2023-08-22 21:49:54 +02:00
Christoph Oelckers
7fee89d1f5
- uncouple the file system from the engine's Printf function.
...
This is needed to use it in non GZDoom based projects.
2023-08-17 21:36:22 +02:00
Christoph Oelckers
ff37d710e2
- overhaul of savegame path management.
...
* use a different subfolder for each IWAD's saves.
* do not allow load and save CCMDs to escape the save folder. Absolute paths and '..' are being blocked now.
* unified savegame path and filename generation in one single function. All ad-hoc file name generation was replaced.
* -loadgame will also use the designated savegame folder now.
2022-11-05 13:28:31 +01:00
Christoph Oelckers
3ea0658449
- split the savegame manager into a game dependent and a reusable game indepenent part.
...
- added menu/advance sound alias.
2020-10-16 22:57:28 +02:00
Christoph Oelckers
712d80006a
- split game dependent parts out of menudef.cpp.
2020-06-14 00:27:32 +02:00
Christoph Oelckers
ddef3f7b98
- made video base code game independent
2020-04-28 22:54:53 +02:00
Christoph Oelckers
14ce0f4605
- deleted unused variable.
2020-04-19 12:37:50 +02:00
Christoph Oelckers
b18faacab0
- 2D drawer cleanup.
2020-04-11 20:20:58 +02:00
Christoph Oelckers
7b292cca57
- split the serializer in two to keep the Doom specific parts out of the main file.
2020-04-11 20:20:53 +02:00
Christoph Oelckers
05d8856fe0
- moved file system implementation to 'common'.
2020-04-11 14:00:20 +02:00
Christoph Oelckers
c1bb7de23a
- more file system refactoring.
...
* moved the sprite renaming out of the file system entirely into a caller-provided callback.
* renamed several functions to closer match the terms of a file system.
* moved the VM interface out of the implementation.
2020-04-11 14:00:19 +02:00
Christoph Oelckers
6bccde3b51
- renamed the file system related classes to actually use the term "FileSystem".
2020-04-11 14:00:18 +02:00
Christoph Oelckers
d12a9bb77a
- renamed the caching functions of FResourceLump.
2020-04-11 14:00:17 +02:00
Christoph Oelckers
fb1a7679ec
- moved most basic utility code without any dependencies on the rest of the engine to 'common' directory.
...
Again the objective is easier sharing with Raze.
2020-04-11 14:00:13 +02:00
Christoph Oelckers
1fe667c6a0
- cleaned up the includes in m_png.h, this file had far too many and far too broad dependencies.
2020-04-11 14:00:09 +02:00
drfrag
2a642c66be
- Fixed ancient ZDoom savegame slot selection bug. When creating new autosaves LastAccessed and LastSaved were not updated accordingly.
2019-09-19 18:43:18 +02:00
Christoph Oelckers
6cc9434788
- added checks for the special hacky quicksave marker.
2019-08-11 18:37:32 +02:00
Kevin Hutchins
5cb59018e0
Adds option to use a rotation of quicksaves instead of having one quicksave slot that needs to be manually created.
2019-07-27 12:09:55 -07:00
alexey.lysiuk
61a8f122f0
- fixed crash caused by broken saved game picture
...
https://forum.zdoom.org/viewtopic.php?t=64244
2019-04-12 18:20:27 +03:00
Christoph Oelckers
22cf35c1c7
- reworked the load/save menu to use the new console font.
...
Parts of this menu suffered badly from lack of screen space to convey the intended information due to the oversized fonts. With the new font this is a lot less problematic (unless using 320x200, of course)
2019-03-11 20:59:43 +01:00
Christoph Oelckers
deb233677e
- made the menu's text input handler Unicode capable.
...
Also make sure that the savegame description remains readable. Unlike in-game text this can be done without double-encoding existing UTF-8.
2019-02-16 21:29:46 +01:00
Christoph Oelckers
f6a91e1722
- moved the I_Error prototypes to doomerrors.h to avoid having to include the low level system header for this.
2019-01-31 19:38:04 +01:00
Christoph Oelckers
9b1b6db85d
- added a pseudo-serializer for FLevelLocals pointers.
...
This doesn't really write out any info for the pointer, if the level does not match it just errors out.
This is both for quick detection of badly used level data and for automatic restoring of the pointer from the serializer's working level.
This also removed the temporary workarounds in DAutomap and DLevelScript to restore these pointers when a savegame is loaded.
2019-01-26 21:23:19 +01:00
Christoph Oelckers
6eab4a882c
- narrowing down the public interface of the texture class
...
Cannot refactor if the entire class is this wide open to everything.
Not complete yet, doesn't fully compile!
2018-12-06 01:11:04 +01:00
Christoph Oelckers
0d54d335c4
- use a saner data structure to store the BrokenLines.
...
Calling the old method with a pointer to an array of unspecified length 'dirty' would be an understatement.
Now it uses a TArray to store the single elements
2018-10-31 19:13:54 +01:00
alexey.lysiuk
2ae8d39441
Removed all superfluous #include's
...
Automatically optimized by CLion IDE with manual corrections
2018-04-24 14:30:35 +03:00
Christoph Oelckers
71a6cc4625
Merge branch '2D_Refactor'
2018-04-13 17:52:58 +02:00
drfrag666
80f57dfaf0
- Increased size of the savegame comment area.
2018-04-08 21:56:35 +02:00
Christoph Oelckers
853903bb7e
- removed the border refresh counter.
...
This was just a relic of DirectDraw as main backend and is no longer needed.
2018-04-03 00:50:40 +02:00
Christoph Oelckers
b939836846
- renamed FileRdr back to FileReader.
2018-03-11 19:29:37 +01:00
Christoph Oelckers
b14ee50d0d
- transition to new FileReader interface complete, but untested.
2018-03-11 12:33:46 +01:00
Christoph Oelckers
c4387459bb
- use FileRdr in the PNG code, in particular to sanitize the savepic handling.
2018-03-10 19:22:26 +01:00
Christoph Oelckers
4003e7ca11
- use FileReader for savegame loading in the menu.
...
- simplify the check for existing files here, since a function for doing just that already existed.
2017-12-02 14:10:42 +01:00
Rachael Alexanderson
765646ee1c
- fixed: Changed IWAD_FILENUM to a dynamic lookup.
2017-09-13 04:19:03 -04:00
Christoph Oelckers
6599e2c425
- moved the VM types into their own file and only include it where really needed.
2017-04-13 01:12:04 +02:00
Christoph Oelckers
6a65f02257
- completed scriptification of LoadSaveMenu.
2017-02-18 18:01:24 +01:00
Christoph Oelckers
e46d378fb2
- sciptified DLoadSaveMenu::Drawer.
2017-02-18 17:51:40 +01:00
Christoph Oelckers
4a6d0f1fa5
- scriptified DLoadSaveMenu::MenuEvent.
2017-02-18 17:35:01 +01:00
Christoph Oelckers
ee6a90deec
- scriptified DLoadSaveMenu::Responder.
...
- scriptified DSaveMenu.
2017-02-18 16:40:32 +01:00
Christoph Oelckers
e58a03de9b
- the savegame manager needs a destructor
2017-02-18 14:18:27 +01:00
Christoph Oelckers
872969eb14
- scriptified the LoadMenu class and exported the entire interface to handle the LoadSaveMenu.
2017-02-18 14:08:16 +01:00
Christoph Oelckers
9d51266145
- some more encapsulation of savegame data in the savegame manager, because some of its info is not in a state that can be accessed directly through script code and needs a few helper functions.
2017-02-18 13:05:33 +01:00
Christoph Oelckers
128dfdeee6
- made some of the load/save menu's data a bit more scripting friendly, this mostly means removal of static string buffers.
2017-02-18 12:36:31 +01:00
Christoph Oelckers
b6ad14a614
- made adjustments to text input menu to work with scripts.
2017-02-12 21:45:37 +01:00
Christoph Oelckers
fc4e1ffcdf
- separated the savegame menu code into an internal class managing the savegame data and the actual menu.
...
The manager class cannot be scriptified because it provides the internal implementation which may change at some point in the future. It also encapsulates all access to the file level because if that part is not protected, modders could write malware mods.
2017-02-11 17:20:12 +01:00
Christoph Oelckers
7efa9cd70d
- made the menu descriptors garbage collectable and started exporting some fields as preparation for script work on the menu.
2017-02-09 20:18:53 +01:00