Commit graph

58 commits

Author SHA1 Message Date
Christoph Oelckers
0c397033f1 added the remaining needed GetChars calls. 2023-12-05 22:39:27 +01:00
Christoph Oelckers
f2740e434a - adapted game code. 2023-08-20 02:25:12 +02:00
Christoph Oelckers
524df20d26 - renamed most local picnum variables in shaded code to reduce search noise. 2023-04-23 17:33:35 +02:00
Kevin Caccamo
996e0ef6cf Attempt to fix #806
Default-initialize TilesetBuildInfo `info`.
Also, make every function in defparser.cpp static except for loaddefinitionsfile, since that's the only function which is called from other source files.
2022-12-22 22:14:13 +01:00
Christoph Oelckers
79c91b2538 - only write special texture properties if they are being defined. 2022-12-18 15:06:20 +01:00
Christoph Oelckers
e78fd90f67 - adapted sky code for using texture IDs. 2022-12-18 14:42:27 +01:00
Christoph Oelckers
e23a5095cb - moved the other tile info tables of Blood to the texExtInfo array as well.
The two fields are easily reusable for the other games so it's a welcome simplification.
2022-12-18 13:23:59 +01:00
Christoph Oelckers
c34756e5f2 - cleanup of voxel init code.
The voxreserve array was never properly set up so it is gone now.
nextvoxid now gets set right before loading .def files.
2022-12-18 13:18:44 +01:00
Christoph Oelckers
8a789b9015 - voxel management cleanup.
Moving the voxel index into the texExtInfo array and removing most of Blood's and SW's special handling.
2022-12-18 13:18:43 +01:00
Christoph Oelckers
20edd800f9 - big texture system refactor.
Finally that quickly slapped together BuildTiles class is gone and replaced with something that better integrates with the underlying texture manager
2022-12-18 13:05:58 +01:00
Christoph Oelckers
58db09969c - moved tileForName out of BuildTiles.
Just pulling one change out of the big upcoming refactor commit.
2022-12-11 19:45:18 +01:00
Christoph Oelckers
e26d9106aa - handle all occurences of tileWidth and tileHeight using spritetypebase::picnum. 2022-12-11 19:44:01 +01:00
Christoph Oelckers
f479f995a1 - transitioned all tileLeftOffset and tileTopOffset calls to use the texture manager. 2022-12-11 19:44:01 +01:00
Christoph Oelckers
0869497ecb - rewrote the tile pixel cache to work on texture IDs instead of tile IDs.
This allows using the related checking features with other textures as well.
2022-12-11 19:44:00 +01:00
Christoph Oelckers
6a690849e6 - cleanup on the tile management.
* removed the long defunct EDuke32-based map art system. With our move to named textures this will not work anymore so fixing the existing problems would be pointless.
* moving .def related parsing stuff out of buildtiles.cpp.
* some initial refactoring to make the tile store a static, non-modifyable resource after initial setup.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
9e3318a2fb - moved spawnclasses and breakwall definitions from .def to RMAPINFO.
.def is not the right place for this - it needs to run very early in the process, before scripted actors are loaded, so doing this stuff there means that half the initialization has to be postponed and error reporting is sub-par.
These are now part of RMAPINFO which gets parsed as one of the very last things - it is also where GZDoom is doing some of these things.

The better error reporting also allowed fixing some errors in these definitions.
2022-12-11 19:43:57 +01:00
Christoph Oelckers
c1a09196f0 - implemented breakable walls with external definitions.
The scripted case does not work yet due to bad loading order of files.
2022-12-11 19:43:57 +01:00
Christoph Oelckers
4397e65443 - cleaned up the generic destructible code and used it for several more things. 2022-12-11 19:43:50 +01:00
Christoph Oelckers
1d52963d4b - converted all simple destructible sprites.
Ironically the first item I used for testing needed a dedicated class, so here's that, too...
2022-12-11 19:43:46 +01:00
Christoph Oelckers
9e29c3970d - generic destructibles 2022-12-11 19:43:45 +01:00
Christoph Oelckers
67e807de26 - exported the tile flag setters to .def. 2022-12-11 18:42:01 +01:00
Christoph Oelckers
902f8c9706 - silenced lots of warnings for deliberate type conversions.
The ones in d_net.cpp are not in active code.
2022-10-30 16:51:35 +01:00
Christoph Oelckers
479c732a72 - moved some more things out of build.h 2022-10-30 16:51:10 +01:00
Christoph Oelckers
63c8960769 - deleted mdsprite.* files. 2022-10-27 16:55:54 +02:00
Christoph Oelckers
a4dd5bb4ce - rewrote the model storage code.
Using proper C++ containers now.
2022-10-27 16:55:54 +02:00
Christoph Oelckers
cbd8de36a9 - added spawn number parser to .DEF.
This is for mapping actor classes to whatever the games use to decide what kind of actor a sprite is.
2022-01-26 23:53:05 +01:00
Christoph Oelckers
f888b1da9c - sky parser improvements. 2022-01-16 12:12:44 +01:00
Christoph Oelckers
3aff12cf4c - sky management rework. 2022-01-16 12:12:43 +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
Mitchell Richters
2dda3ee505 - Tidy up some GCC warnings about ininitialised variables, memsetting non-trivial types and some others. 2021-12-26 23:10:02 +01:00
Christoph Oelckers
7daa501a4d - removed all #include "compat.h" except the one in build.h
Still all compiles fine.
2021-12-14 12:24:10 +01:00
Christoph Oelckers
7e2431ebd8 - replaced the remaining content from compat.h 2021-12-14 10:15:58 +01:00
Christoph Oelckers
7546cf3a4b - replaced vec3f_t with FVector3. 2021-12-14 09:58:01 +01:00
Christoph Oelckers
18d1084f7c - fixed assignment of map hacks with multiple maps assigned.
The parser only ever added the last MD4 but not the others.
2021-11-29 00:57:10 +01:00
Mitch Richters
974ca7bd1d - Remove a lot of reference values on primitive data types from Blood's QAV interpolation system. Also use move assignments on the ignoredata TMap when we're adding it to the game-side after processing it. 2021-11-29 00:55:31 +01:00
Christoph Oelckers
01abe7b2ac - addressed most unused/uninitialized variable warnings from MSVC. 2021-11-29 00:55:30 +01:00
Christoph Oelckers
29769dd673 - fixed engine code warnings pointed out by XCode 13. 2021-10-08 19:06:41 +02:00
Kevin Caccamo
2297c9351a Attempt to fix music replacement definitions again
Store per-map music replacements in a TMap, and perform the replacements after parsing the MAPINFO
2021-09-12 18:21:42 +02:00
Mitchell Richters
f44d695245 - Fix some warning messages in the defineqav DEF parser. 2021-08-26 10:33:24 +10:00
Mitchell Richters
a920fc5aef - Add support for first and last keyword for defineqav parser when process interpolate ignore block. 2021-08-23 15:34:30 +10:00
Mitchell Richters
23be5ffe8c - Add support for all keyword for defineqav parser when process interpolate ignore block, and ensure the lowest value can't be below 0. 2021-08-23 15:06:04 +10:00
Mitchell Richters
e68b793852 - Add some extra safety to defineqav parser to ensure some unsupported actions can't be performed. 2021-08-23 14:19:33 +10:00
Mitchell Richters
916241dcdb - Blood: Implement defineqav DEF parser with hookup to game-side code. 2021-08-23 09:00:47 +10:00
Christoph Oelckers
3e76f71f02 - support for indexed hightiles. 2021-07-17 07:40:05 +10:00
alexey.lysiuk
577c6cb374 - fixed crash when parsing malformed .def file
This fixes #439
2021-07-11 10:16:26 +03:00
Christoph Oelckers
1cea743536 - restrict lookup of engine/engine.def to the main game files.
Mods should not use this to load their data.
2021-06-09 08:38:40 +02:00
Christoph Oelckers
783b94f922 - more warning fixes in 'core'. 2021-05-12 21:48:14 +02:00
Christoph Oelckers
5d5af0cb09 - fixed error message spam when trying to load a non-existent voxel using .def. 2021-05-11 00:48:35 +02:00
Christoph Oelckers
e74aca291c - position tweaking for Nam's skies.
Why is this such an utter mess to get skies placed correctly? :(
2021-05-10 20:13:28 +02:00
Mitchell Richters
6fca2de7f3 - Fix clocking of timer when doing cumulative loads in loaddefinitionsfile(). 2021-04-22 18:57:41 +10:00