Christoph Oelckers
f1891c7750
- fixed compilation.
2019-12-29 22:47:40 +01:00
Christoph Oelckers
2e261a7468
- cleanup and removal of unused code.
...
compat.h probably needs a bit more attention, it's a horrendous mess of the wrong type of "compatibility" concerns.
2019-12-29 16:35:51 +01:00
Christoph Oelckers
2820dc85a8
- plugged more memory leaks.
...
I can now start the first Duke Nukem level, exit with Alt-F4 and no leaked memory blocks get reported.
2019-12-24 18:53:29 +01:00
Christoph Oelckers
2a9e4fca46
WIP safety commit
2019-11-30 19:23:54 +01:00
Christoph Oelckers
0f4d80b5d3
Merge branch 'master' into menu_for_real
2019-11-26 19:19:21 +01:00
hendricks266
348ccdfd5b
Templatize the branchless negation method used for GV_FLAG_NEGATIVE
...
git-svn-id: https://svn.eduke32.com/eduke32@8312 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/compat.h
2019-11-26 18:09:00 +01:00
Christoph Oelckers
52cfb7fb92
- completely disconnected the old menu from the rest of the game to allow rebuilding the new one.
...
Sadly this uncovered a few more places where script events are allowed too broad access to the game state.
2019-11-23 23:05:24 +01:00
Christoph Oelckers
9aa275f996
- got rid of some editor-only code and the entire buildvfs header
...
Nearly all file write access now uses the FileWriter class, which is UTF-8-safe on all platforms - unlike stdio.
2019-11-08 02:02:54 +01:00
Christoph Oelckers
47227fc90f
- replaced FILE * with FileReader in savegame code.
...
FILE* is too inflexible, with FileReader I can plug in a transparent compressor.
2019-11-08 00:26:14 +01:00
Christoph Oelckers
6ee807f225
- two things I forgot to save before committing.
2019-11-06 17:57:10 +01:00
Christoph Oelckers
88bf056176
- added a class for cleaner savegame writing
2019-11-06 12:29:08 +01:00
Christoph Oelckers
e87642e197
- cleaned out the remains of the savegame compression hacks
...
This broke the savegame reader which still assumed it was working on compressed data. Everything will now take the uncompressed path.
In-stream optional compression is not a good idea anyway, this can and should be done better.
Also: Why is the savegame format architecture dependent???
2019-11-06 01:01:16 +01:00
Christoph Oelckers
a4483f131d
- Printf related cleanup.
2019-11-05 20:07:16 +01:00
Christoph Oelckers
79d02a405e
- started transitioning the CVARs.
...
This is going to be a lot of work consolidating the 3 frontends' settings but a necessary evil for eventually getting Shadow Warrior to work as it is quite lacking here.
2019-10-21 23:29:48 +02:00
Christoph Oelckers
2be5727137
- refactored all file reading in the savegame code to the FileReader interface.
...
In this case a different open function is used because this is normally files on the hard drive and not assets, so being able to have a different setup for finding them is important.
2019-10-20 21:04:55 +02:00
terminx
d7f779eaec
Use EXIT_FAILURE and EXIT_SUCCESS from stdlib.h when calling exit()
...
git-svn-id: https://svn.eduke32.com/eduke32@8190 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
# source/build/src/polymost.cpp
# source/build/src/tiles.cpp
# source/duke3d/src/astub.cpp
2019-10-20 10:45:48 +02:00
Christoph Oelckers
64e116a4b1
- use special classes with [] operators to redirect the frequently used global arrays to the newly implemented texture manager.
...
This allows to use the contained storage without changing all the code.
2019-10-16 20:39:59 +02:00
Christoph Oelckers
9a52e8039c
- rerouted tileCreate and tileSetExternal calls.
2019-10-15 23:18:52 +02:00
Christoph Oelckers
55a879fcc0
- put EDuke frontend source into a namespace.
...
This commit does not work yet!
2019-09-21 22:53:00 +02:00
Christoph Oelckers
30c47a8511
- include namespace file in all sources as the very first include.
2019-09-21 20:59:54 +02:00
terminx
ea66e1a8ee
Expose control over the list of statnums that hitradius will damage to CON
...
git-svn-id: https://svn.eduke32.com/eduke32@8103 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:03 +02:00
terminx
755de405c2
Add automapping var to Gv_RefreshPointers()
...
git-svn-id: https://svn.eduke32.com/eduke32@7953 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:39 +02:00
terminx
1a0c56f0f1
This adds back in the engine's old automapping feature
...
This was removed a long time ago because Duke3D and Shadow Warrior don't use it.
git-svn-id: https://svn.eduke32.com/eduke32@7873 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymer.cpp
# source/build/src/polymost.cpp
2019-09-20 15:32:13 +02:00
terminx
c96ec9d440
This is just syntax and formatting
...
No functional changes.
git-svn-id: https://svn.eduke32.com/eduke32@7776 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:09 +02:00
terminx
9df490434d
Gamevar system maintenance
...
This removes some of the error handling for gamevar reads and writes and trades it for simpler code and a small-but-benchmarkable performance increase.
git-svn-id: https://svn.eduke32.com/eduke32@7674 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:04:27 +02:00
terminx
549ef41eb7
EDUKE32_STANDALONE stuff
...
git-svn-id: https://svn.eduke32.com/eduke32@7666 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:40 +02:00
terminx
90cf239650
Add GAMEVAR_RAWQ16PTR, functioning the same as GAMEVAR_INT32PTR
...
git-svn-id: https://svn.eduke32.com/eduke32@7665 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:37 +02:00
terminx
22759d8a5e
Make CLIPMASK0 and CLIPMASK1 regular defined tokens instead of read-only gamevars
...
I don't remember if there was any particular reason they were added as gamevars in the first place.
git-svn-id: https://svn.eduke32.com/eduke32@7664 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:35 +02:00
terminx
9aa1030a09
Promote display_mirror
from char to int32_t and remove GAMEVAR_UINT8PTR handling since nothing else was using it
...
git-svn-id: https://svn.eduke32.com/eduke32@7662 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:31 +02:00
terminx
e69fb3934e
Rename Gv_GetArrayCountFromFile() to Gv_GetArrayCountForAllocSize()
...
git-svn-id: https://svn.eduke32.com/eduke32@7654 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:38:43 +02:00
terminx
52dde4ef32
Rename Gv_SetVarX() to Gv_SetVar() (overloaded)
...
git-svn-id: https://svn.eduke32.com/eduke32@7653 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:38:41 +02:00
terminx
0ff1188b59
Rename Gv_GetVarX() to Gv_GetVar() (overloaded)
...
git-svn-id: https://svn.eduke32.com/eduke32@7652 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:38:38 +02:00
hendricks266
7414f29348
Add buildvfs, abstraction layer for file I/O.
...
Currently it passes calls through to the system libraries as before.
Also adds an incomplete implementation on PhysFS.
git-svn-id: https://svn.eduke32.com/eduke32@7359 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-01 08:51:50 +00:00
terminx
91096d2415
Hendricks and I discussed "auto *" and we've come to the conclusion that it's bad form, so this corrects that.
...
git-svn-id: https://svn.eduke32.com/eduke32@7283 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:39:51 +00:00
terminx
38c473851b
Misc CON fixups
...
git-svn-id: https://svn.eduke32.com/eduke32@7236 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:14:43 +00:00
terminx
c4f76e55a6
Shuffle things around so most of the script structure access stuff actually resides in gamestructures.cpp
...
git-svn-id: https://svn.eduke32.com/eduke32@7233 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:14:26 +00:00
terminx
6da9b537e5
Fix Gv_GetArrayOrStruct() error message
...
git-svn-id: https://svn.eduke32.com/eduke32@7228 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:14:00 +00:00
terminx
fb15d84982
Rename Gv_GetSpecialVar() to Gv_GetArrayOrStruct() and fix what would be a bug in Gv_GetVarDataPtr() if we were using it for something more than the single thing we use it for now
...
git-svn-id: https://svn.eduke32.com/eduke32@7208 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:12:01 +00:00
terminx
6ef3c4c00f
Convert the Gv_GetVar and Gv_SetVar family of functions into something similar to the setup for VM_OnEvent, where multiple versions of the functions are generated by the compiler via forced inlining. This makes the functions much easier to maintain.
...
git-svn-id: https://svn.eduke32.com/eduke32@7203 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:32 +00:00
terminx
a7a1ada83d
Tiny cleanups
...
git-svn-id: https://svn.eduke32.com/eduke32@7202 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:27 +00:00
terminx
32057d2e19
Direct struct access for tsprite, and break special gamevar access out of Gv_GetVar() and into a separate function like it already was with Gv_GetVarX()
...
git-svn-id: https://svn.eduke32.com/eduke32@7201 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:21 +00:00
terminx
18916ddaf6
Clean up Gv_AddSystemVars() and Gv_RefreshPointers()
...
git-svn-id: https://svn.eduke32.com/eduke32@7200 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:14 +00:00
terminx
893bcbd603
Direct access for the actor structs
...
git-svn-id: https://svn.eduke32.com/eduke32@7198 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:04 +00:00
terminx
34c6fcc69f
gamedef.cpp and friends: use preprocessor defines instead of hard-coded values for gamevar IDs that are really constants or arrays or structs
...
git-svn-id: https://svn.eduke32.com/eduke32@7197 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:10:57 +00:00
terminx
eb546f111e
WIP: direct CON read/write access to structure members via pointer and offset instead of translation function. This is only enabled for wall and sector structure members in this commit.
...
git-svn-id: https://svn.eduke32.com/eduke32@7194 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:10:39 +00:00
terminx
a0562d5e69
Formatting
...
git-svn-id: https://svn.eduke32.com/eduke32@7190 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:10:15 +00:00
terminx
3cfda9858d
Use tabledivide64() in Gv_GetArrayCountFromFile()
...
git-svn-id: https://svn.eduke32.com/eduke32@7157 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:33 +00:00
terminx
ad7d61baa1
Use range-based loops for simplicity
...
git-svn-id: https://svn.eduke32.com/eduke32@7130 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:33:40 +00:00
terminx
2132fe978a
The LZ4 versions of kdfread and kdfwrite don't have the size limitations that the LZW versions have
...
git-svn-id: https://svn.eduke32.com/eduke32@7075 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:09:32 +00:00
terminx
2f410776ec
Parentheses around ternary conditions so CppCheck will stfu
...
git-svn-id: https://svn.eduke32.com/eduke32@7036 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:23:00 +00:00