Commit graph

58 commits

Author SHA1 Message Date
Christoph Oelckers
82612a1330 - it compiles again (with lots of code commented out.) 2020-10-04 20:11:02 +02:00
Christoph Oelckers
57945d2baf - eliminated a few overlooked 'long's. 2020-10-02 22:18:08 +02:00
Christoph Oelckers
e549aa0527 - fixed: concmd_actor wrote beyond the end of the ScriptCode array.
This was causing spurious crashes.
2020-09-26 12:46:56 +02:00
Christoph Oelckers
2a2209b085 - cleanup and minor fixes. 2020-09-22 23:07:11 +02:00
Christoph Oelckers
f5d14f826a - added the SHOOT event and fixed some issues with poor code generation for the game data accessors.
They created different code depending on the passed index, this was changed to always emit the optional parameter, even when not needed, so that the interpreter does not need to second-guess.
2020-09-17 23:06:54 +02:00
Christoph Oelckers
8fa5d3d9d2 - added the remaining CON features from EDuke 2.x
Not everything will do something, though. This was some incredibly careless code operating without a safety net allowing uncontrolled write access to the map structure.
Most of the critical fields have been made read-only, which has been the only mode of access in the mods I checked.

Note that this does not enable scripting of the weapon sprite drawer, only the gameplay related features were done.
2020-09-17 23:06:54 +02:00
Christoph Oelckers
b7f0e2c3c3 - added sound FX remapping for World Tour so it can use the original VOCs.
Fixes #353
2020-09-11 20:17:36 +02:00
Christoph Oelckers
bd183ad682 - fixed World Tour weapon display and property parsing, resulting in incorrect ammo count for the flamethrower.
Fixes #356
2020-09-07 00:45:11 +02:00
Christoph Oelckers
45882a02cc - fix WT level name display. 2020-09-05 22:14:00 +02:00
Christoph Oelckers
d5b7935ca1 - fixed the CON parser to treat tabs as whitespace.
Fixes #287.

World Tour starts now but still has issues.
2020-09-05 21:53:48 +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
52ddac21b0 - fixed RR's transition to its final map. 2020-08-14 21:30:09 +02:00
Christoph Oelckers
a861126657 - fixed incorrect sprite being passed to reactor() function. 2020-07-29 20:59:32 +02:00
Christoph Oelckers
be9094cb97 Silenced lots of warnings pointed out by XCode. 2020-07-23 17:02:59 +02:00
Christoph Oelckers
d16d8f0d0e - fixed issues reported by XCode 2020-07-23 17:02:59 +02:00
Christoph Oelckers
253dea7610 - removed parsing_ifelse sanity check because it breaks compilation in a few case.
if there ever needed to be proof that CON is broken beyond repair this should be it, this will allow broken code to slip through the parser and apparently some scripts exploit this bug.
NAM's soldiers won't work with the 'proper' code.
2020-07-22 22:27:51 +02:00
Christoph Oelckers
7d7ae9e463 - fixed gamestartup parser so that it can detect script versions again. 2020-07-20 18:43:50 +02:00
Christoph Oelckers
2dcaf25fea - put the entire CON parser into a class to make its state local to the caller 2020-07-20 18:43:49 +02:00
Christoph Oelckers
381e15a9b2 - renamed playerdata_t::input back to sync and made it a static array again. 2020-07-15 13:10:18 +02:00
Christoph Oelckers
a9f152c1fe - added JFDuke's label type checker and did some cleanup on the CON init code.
Most importantly: Use dynamic buffers for managing the labels instead of hijacking some other storage space.
2020-07-15 12:34:42 +02:00
Christoph Oelckers
63eaec916b - fixed a few things.
Basic level progression is working, special cases still need testing, but for now it's good enough.
2020-07-07 21:38:20 +02:00
Christoph Oelckers
01fce31f43 - everything compiles again.
Still needs testing.
2020-07-07 20:27:21 +02:00
Christoph Oelckers
bb303c6469 - cleaned up the rest of the summary screen code, particularly the totally redundant second variant for RRRA. 2020-07-01 20:31:29 +02:00
Christoph Oelckers
6a0e7c14ee - fixed compile. 2020-06-22 00:37:32 +02:00
Christoph Oelckers
e3153f143d hudweapon
# Conflicts:
#	source/build/src/engine.cpp
2020-06-22 00:05:07 +02:00
Christoph Oelckers
26f3bc1857 - spawn function transitioned. 2020-06-21 23:21:10 +02:00
Christoph Oelckers
5c48d355f1 - reserved script space must be nulled. 2020-06-21 23:17:51 +02:00
Christoph Oelckers
693b15a556 - use 4 byte entries for the script.
We no longer store pointers in here.
2020-06-21 23:17:51 +02:00
Christoph Oelckers
cb1824ca25 - store script code in a dynamic array.
# Conflicts:
#	source/games/duke/src/zz_game.cpp
2020-06-21 23:17:50 +02:00
Christoph Oelckers
6b2fdf24fd - cleanup after removing EDukes's script code.
# Conflicts:
#	source/games/duke/src/zz_game.cpp
#	source/games/duke/src/zz_gameexec.cpp
2020-06-21 23:07:46 +02:00
Christoph Oelckers
15c744f3da - movement code of the VM transitioned 2020-06-21 23:07:41 +02:00
Christoph Oelckers
c59928c6ff - removed most of the old and very messy gamevar code.
# Conflicts:
#	source/games/duke/src/zz_gamevars.cpp
2020-06-21 22:59:22 +02:00
Christoph Oelckers
d01d4bf44c - preparations for gamevar code replacement - thinning out of code that's to be removed 2020-06-21 22:59:09 +02:00
Christoph Oelckers
c28ea5792a - copyright 2020-06-21 22:59:09 +02:00
Christoph Oelckers
e625f94e84 - migrated fully away from EDuke's script compiler
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:59:09 +02:00
Christoph Oelckers
6d066d4b7b - cleaned out the old parser.
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:56:50 +02:00
Christoph Oelckers
a1a19ab630 - transitioned the gamevar instructions, still with the old backend.
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:56:42 +02:00
Christoph Oelckers
05360e14b5 - game startup, include and moving formerly global variables back to global.
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:56:36 +02:00
Christoph Oelckers
3a95664b0b - fixing the ifelse check, consolidating the tail code for 'if' instructions. 2020-06-21 22:56:28 +02:00
Christoph Oelckers
2f9d62a40a - the last simple ones. 2020-06-21 22:56:28 +02:00
Christoph Oelckers
422faa99e1 - a lot more commands transitioned
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:56:28 +02:00
Christoph Oelckers
79c7748e90 - most 'if's.
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:55:30 +02:00
Christoph Oelckers
72514b0a1d - more instructions, 2020-06-21 22:55:24 +02:00
Christoph Oelckers
11255cbf6a - hack for buggy scripts in production code. 2020-06-21 22:55:24 +02:00
Christoph Oelckers
248e0503d8 - safety commit 2020-06-21 22:55:24 +02:00
Christoph Oelckers
56975d3ee2 - progress
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:55:23 +02:00
Christoph Oelckers
49e7fa20e8 - #2 2020-06-21 22:55:17 +02:00
Christoph Oelckers
6a6bbbe71a - the first command in the parser is done. 2020-06-21 22:55:17 +02:00
Christoph Oelckers
1cedacb7f4 - removed the hash table for the labels.
Again, the old code doesn't have it and it'd complicate porting over the code.
2020-06-21 22:55:16 +02:00
Christoph Oelckers
4a5953adb4 - some more preparations on the parser code. 2020-06-21 22:55:16 +02:00