Christoph Oelckers
718949f74d
- moved the texture name to FGameTexture.
2020-04-19 10:57:53 +02:00
Christoph Oelckers
8843761bf8
- moved most of the texture size maintenance to the FGameTexture class.
2020-04-19 10:57:53 +02:00
Christoph Oelckers
70ec20c137
- optimization of texture scaling checks.
...
The texture dimension checks can be performed up front when the texture is inserted into the texture manager.
2020-04-19 10:57:51 +02:00
Christoph Oelckers
7bdef7fe9a
- cleaned the texture manager's method interface from FTexture references.
2020-04-19 10:57:49 +02:00
Christoph Oelckers
c605359b0e
- animator transitioned.
2020-04-19 10:57:48 +02:00
Christoph Oelckers
b9b6a354c7
- changed all texture access in the play code to use FGameTexture and redid Hexen's front sky layer by adding a new texture instead of hacking the existing one.
2020-04-19 10:57:46 +02:00
Major Cooke
a56177f178
Begin TICRATE conversion.
...
- Moved TICRATE from Thinker to Object in ZScript so status bars have access to it.
2020-04-12 22:43:33 +02:00
Christoph Oelckers
8f8aed5ee3
- moved bitmap.cpp to 'common' and remove the duplicate IceRemap.
2020-04-11 20:23:26 +02:00
Christoph Oelckers
b18faacab0
- 2D drawer cleanup.
2020-04-11 20:20:58 +02:00
Christoph Oelckers
3bf7686cfb
- moved v_text.cpp to 'common'.
2020-04-11 20:20:56 +02:00
Christoph Oelckers
a28182fe35
- moved the script compiler's backend to 'common'.
2020-04-11 20:20:55 +02:00
Christoph Oelckers
3454314bb1
- separated the Doom specific parts from the compiler backend into a separate file, these parts now get invoked via callback hooks.
2020-04-11 20:20:55 +02:00
Christoph Oelckers
f02c5c0a56
- took InitializeDefaults out of PClass and moved it to PClassActor.
...
Like so many other parts, this created a hard dependency of the low level code on very invasive game content.
2020-04-11 20:20:53 +02:00
Christoph Oelckers
cf51508ce6
- moved around some pieces of code to make sharing with Raze easier.
2020-04-11 20:20:52 +02:00
Christoph Oelckers
940f1dc9a2
- move font code to 'common'.
...
- fix use of translation slot 0, used for internal translations.
2020-04-11 20:20:40 +02:00
Christoph Oelckers
32300f7d26
- use translation slot 0 for reserved content, like font translations.
2020-04-11 20:20:39 +02:00
Christoph Oelckers
2dcf63c57d
- backport some fixes from Raze - mostly redundant includes.
2020-04-11 20:20:39 +02:00
Christoph Oelckers
580e463498
- moved texture code to 'common'.
2020-04-11 20:20:38 +02:00
Christoph Oelckers
5bde737be9
- split buildtexture.cpp in two.
...
The texture itself is 'common', but the setup is not.
2020-04-11 20:20:38 +02:00
Christoph Oelckers
3e285d2261
- moved renderstyle and colortables code to 'common'.
2020-04-11 20:20:37 +02:00
Christoph Oelckers
f8e9cb8fbc
- major dependency reduction of the texture system.
2020-04-11 20:20:37 +02:00
Christoph Oelckers
1ed170d955
- moved some data needed by the texture system into palettecontainer.cpp.
2020-04-11 20:20:36 +02:00
Christoph Oelckers
be24023722
- split animation management out of the texture manager into a separate class.
2020-04-11 20:20:36 +02:00
Christoph Oelckers
7d192decc7
- some cleanup of the texture code
...
* removed unneeded includes
* moved global brightmap to GPalette
* took Build tile init code out of the FTextureManager class, because this code is not compatible with how real Build games need to go about it, making the texture manager not shareable.
* removed dependency on higher level info from the Image class.
2020-04-11 20:20:35 +02:00
Christoph Oelckers
721b857e5e
- minor FTexture cleanup.
2020-04-11 20:19:53 +02:00
Christoph Oelckers
ac610d87e5
- merged FPalette and PaletteContainer.
2020-04-11 20:19:53 +02:00
Christoph Oelckers
7243495b16
- moved special color maps to utilities.
...
The default tables are needed by the texture compositor which should be universal, so this needs to be, too.
2020-04-11 20:19:52 +02:00
Christoph Oelckers
777f2ee7c6
- moved stringtable to 'common'.
2020-04-11 20:19:51 +02:00
Christoph Oelckers
b3c7b81893
- decoupled the string table from game implementation details.
...
Using callbacks now to query needed game state.
2020-04-11 20:19:51 +02:00
Christoph Oelckers
31fbff85f4
- c_dispatch header cleanup and splitting of gamestate into a separate header, to avoid polluting low level code with game specific headers.
2020-04-11 20:19:25 +02:00
Christoph Oelckers
1479e3a1c3
- CVAR cleanup, in particular decoupling from game internals, which now get handled via callbacks.
2020-04-11 14:00:22 +02:00
Christoph Oelckers
05d8856fe0
- moved file system implementation to 'common'.
2020-04-11 14:00:20 +02:00
Christoph Oelckers
80c6d5b276
- renamed more stuff and also moved the Strife teaser voice handling out of the file system.
2020-04-11 14:00:19 +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
83befa7686
- moved the "??? lumps" messages out of the single resource file handlers into the calling function and did a bit of include cleanup.
2020-04-11 14:00:18 +02:00
Christoph Oelckers
7d83dfa03a
- moved the file names used for deciding to remove the root directory of zips out of the resource file management.
...
Yet again too much dependencies on game specifics in low level code.
2020-04-11 14:00:18 +02:00
Christoph Oelckers
135f159927
- pass lump filters as parameter when initializing the file system to reduce dependencies on high level state in the low level code.
2020-04-11 14:00:17 +02:00
Christoph Oelckers
d12a9bb77a
- renamed the caching functions of FResourceLump.
2020-04-11 14:00:17 +02:00
Christoph Oelckers
510fc2d549
- added handler for Witchaven's sound resource files.
...
Useful for loading these to play the MIDIs. Since these files have no named directory, the content just gets inserted into a subdirectory named after the file with each entry given a 4 digit hex number as a name.
2020-04-11 14:00:17 +02:00
Christoph Oelckers
1574799683
- moved most parts of the Doom specific lump setup out of the file format implementations into the main class.
...
This is to keep as much higher level logic out of these as possible. The presentation of the data should be a concern of the file system, not the data containers.
2020-04-11 14:00:16 +02:00
Christoph Oelckers
ef300a9ea8
- lump flags cleanup.
2020-04-11 14:00:16 +02:00
Christoph Oelckers
025e80b74a
- moved NeedFileStart out of the lump flag word into an empty part of the FZipLump structure.
2020-04-11 14:00:16 +02:00
Christoph Oelckers
a38633aa22
- moved the file name management out of the single resource lumps.
...
This is now being managed by the main file system class. The single lumps should only concern themselves with the actual data they manage, not with how the file system presents them to the outside.
The IWAD detection code was also switched to use a file system wrapper instead of looking at the single files directly.
2020-04-11 14:00:16 +02:00
Christoph Oelckers
89fb479c19
- moved the linkedTexture pointer up one level out of the resource descriptor into the file system record.
2020-04-11 14:00:15 +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
ace3e29473
- removed the implicit conversion operators from FName.
...
These were creating dangerous interdependencies. It is better to do explicit conversions when needed.
As an added plus, this means that zstring.h no longer depends on name.h which was very annoying.
2020-04-11 14:00:13 +02:00
Christoph Oelckers
6996d54a23
- moved more code to 'common'.
...
This is all low level utilities with no dependencies on game logic. Having this in a separate directory makes sharing with Raze a lot easier.
2020-04-11 14:00:12 +02:00
Christoph Oelckers
e230420f88
- moved all character set utilities to utf8.cpp.
...
- moved matrix class to 'common'.
2020-04-11 14:00:12 +02:00
Christoph Oelckers
669e8fbe48
- started some reorganization of low level utility code by moving all third party dependencies to a separate place.
2020-04-11 14:00:12 +02:00