Commit graph

538 commits

Author SHA1 Message Date
terminx
180d33c66e Revise compilation of CON_CASE and CON_DEFAULT.
git-svn-id: https://svn.eduke32.com/eduke32@5577 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-21 19:35:19 +00:00
terminx
2d004034b1 Inline some things that looked like happy, fun candidates for inlining.
git-svn-id: https://svn.eduke32.com/eduke32@5576 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-21 19:35:16 +00:00
terminx
806413e887 Fix compilation of malformed statements using array style notation.
git-svn-id: https://svn.eduke32.com/eduke32@5575 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-21 19:35:14 +00:00
terminx
c4193d933b Move C-CON compile stat printing into its own function.
git-svn-id: https://svn.eduke32.com/eduke32@5574 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-21 19:35:11 +00:00
terminx
621f5db188 Use lists for the many hash tables used in the C-CON compiler instead of dozens of lines of calls to hash_init() and hash_free().
git-svn-id: https://svn.eduke32.com/eduke32@5573 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-21 19:35:09 +00:00
terminx
39b9a77581 Add CON compiler error for malformed comments
git-svn-id: https://svn.eduke32.com/eduke32@5571 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-21 19:35:03 +00:00
terminx
ba80a5f35e First attempt at providing CON control of the internal sector animation system. Read the commit if you want to know how it works!
git-svn-id: https://svn.eduke32.com/eduke32@5569 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-21 19:34:56 +00:00
hendricks266
2beee7056c iOS: Eliminate some minor warnings.
git-svn-id: https://svn.eduke32.com/eduke32@5558 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-12 10:31:19 +00:00
hendricks266
c1f67576a4 CON: Add userdef[].soundtoggle. Read-only.
git-svn-id: https://svn.eduke32.com/eduke32@5553 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-12 10:31:01 +00:00
terminx
db8b4a00b6 Enable -Wwrite-strings and fix all instances where string constants were passed to functions accepting a char ptr.
git-svn-id: https://svn.eduke32.com/eduke32@5547 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-11 05:06:10 +00:00
terminx
a7e6ed8745 Fix quite a few issues with casting away const and volatile qualifiers, found with -Wcast-qual. If we're going to use const everywhere, we should really mean it!
git-svn-id: https://svn.eduke32.com/eduke32@5540 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-11 05:05:38 +00:00
terminx
603ae7eb7a CON compilation and debug message fuckery affecting virtually nobody
git-svn-id: https://svn.eduke32.com/eduke32@5537 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-11 05:05:18 +00:00
terminx
15b57d4dcf Fix a few instances where bitptr wasn't properly set after writing to the compiled script
git-svn-id: https://svn.eduke32.com/eduke32@5535 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-11 05:05:13 +00:00
terminx
31e89f12b2 Clean up a couple instances of direct usage of a magic number in the CON compiler. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5534 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-11 05:05:10 +00:00
terminx
e1124f9d12 Make the bitptr stuff in the CON compiler more readable.
git-svn-id: https://svn.eduke32.com/eduke32@5533 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-11 05:05:05 +00:00
hendricks266
d4dc72bac4 C-CON: Add getpv and setpv as short forms for get/setplayervar, and #include as an alternate for include.
git-svn-id: https://svn.eduke32.com/eduke32@5531 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-08 01:33:43 +00:00
hendricks266
f403d6234c C-CON: Add ifvarge, ifvarle, and ifvarboth in line with ifvarvarge, ifvarvarle, and ifvarvarboth.
git-svn-id: https://svn.eduke32.com/eduke32@5530 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-08 01:33:39 +00:00
hendricks266
8cd708cef4 C-CON: Fix the return command within events, broken since r5097.
git-svn-id: https://svn.eduke32.com/eduke32@5522 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-08 01:33:05 +00:00
hendricks266
5d9b8a2bb1 C-CON: Clean up pointer handling in the parser so we have less to re-offset in C_SetScriptSize. Also fixes bugs in r5093 and/or r5097.
git-svn-id: https://svn.eduke32.com/eduke32@5521 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-08 01:33:01 +00:00
hendricks266
d3f9244d66 Remove -CONversion command line parameter, because it has been supplanted by r5499's automatic identifier masking.
git-svn-id: https://svn.eduke32.com/eduke32@5519 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-08 01:32:53 +00:00
terminx
748d9ac22f Alter VM_ScriptInfo() to take a ptr to the script to disassemble, and dump disassembly to the log at startup when an internal compiler error occurs.
git-svn-id: https://svn.eduke32.com/eduke32@5513 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-07 03:30:07 +00:00
terminx
f372d8184a Fix CON compiler errors. Me no smart.
git-svn-id: https://svn.eduke32.com/eduke32@5511 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-07 03:29:59 +00:00
terminx
149df3663f Remove unused and utterly useless GAMEVAR_SECRET flag.
git-svn-id: https://svn.eduke32.com/eduke32@5510 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-07 03:29:56 +00:00
terminx
e122da5de9 Get constified
git-svn-id: https://svn.eduke32.com/eduke32@5508 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-07 03:29:49 +00:00
terminx
96ab0aba08 Fix a major bug where "enda" could be used to terminate an event, resulting in all kinds of issues.
git-svn-id: https://svn.eduke32.com/eduke32@5507 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-07 03:29:44 +00:00
terminx
1cc28df380 Get rid of a bunch of useless comments.
git-svn-id: https://svn.eduke32.com/eduke32@5506 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-03 20:07:27 +00:00
terminx
7bbd2c8ffd Misc cleanup, add shorthand versions of getplayer, getactor, etc.
git-svn-id: https://svn.eduke32.com/eduke32@5505 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-03 20:07:24 +00:00
terminx
174c556e2d No longer link to GOG.com when no game data is found. :(
git-svn-id: https://svn.eduke32.com/eduke32@5503 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-03 20:07:17 +00:00
terminx
1d57de831a Treat "[]" as "[THISACTOR]" when accessing structure members through CON.
git-svn-id: https://svn.eduke32.com/eduke32@5502 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-03 20:07:11 +00:00
terminx
14938ea5fd Add "klabs" keyword to CON, to take a gamevar and set it to its absolute value. The internal "inv" function to invert a gamevar's value has also been exposed externally.
git-svn-id: https://svn.eduke32.com/eduke32@5501 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-02 01:56:29 +00:00
terminx
01ebee280e Add commands added in previous commit to g_keywdate[], clean up a few CON compilation warning messages
git-svn-id: https://svn.eduke32.com/eduke32@5500 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-02 01:56:25 +00:00
terminx
7c976018be Adds the following keywords from M32script into CON: shiftvarvarl, shiftvarvarr, ifvarvarle, ifvarvarge, ifvarvarboth, whilevarl, and whilevarvarl.
This also adds the shorthand versions of some commands, like "set" for "setvarvar", "add" for "addvarvar", "ife" for "ifvarvare", etc. There are about 30 of these. Because some of these names may already be used in some projects as variable names, this revision also includes a somewhat large change in variable naming rules: gamevars may now have the same names as CON keywords, with the caveat that the masked keyword is no longer accessible. This results in a warning at compile time but should ensure nobody's project ever stops compiling due to the introduction of new keywords.

git-svn-id: https://svn.eduke32.com/eduke32@5499 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-02 01:56:20 +00:00
terminx
97c4b40ca2 Add vm_player, vm_sprite and vm_distance to get/setuserdef. This controls the sprite and player referenced by things like "THISACTOR", all of the "ifp" conditionals, per-actor gamevar access, etc. This is intended to be used to un-gimp things like EVENT_WORLD.
git-svn-id: https://svn.eduke32.com/eduke32@5489 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:06:20 +00:00
hendricks266
efe58c71f9 C-CON: Fix a harmless "Internal compiler error" warning when using quick structure access on userdef.
git-svn-id: https://svn.eduke32.com/eduke32@5354 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-24 06:31:52 +00:00
hendricks266
f69f1e73df CON: Add "defstate" token which functions identically as in M32script: synonymous with CON's "state" only at top-level (when defining a state). Useful for syntax highlighting.
git-svn-id: https://svn.eduke32.com/eduke32@5353 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-24 06:31:44 +00:00
hendricks266
a557eedf7e Remove NULL checks before calling free(): they are unnecessary as per the C standard. Other cleanup includes factoring code into DO_FREE_AND_NULL() macros.
git-svn-id: https://svn.eduke32.com/eduke32@5352 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-23 17:55:31 +00:00
hendricks266
ad94a8399c C-CON: Add userdef members "globalflags" and "globalgameflags", which control the values specified by the def commands of the same name.
git-svn-id: https://svn.eduke32.com/eduke32@5248 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:45:30 +00:00
terminx
a1b4d05c48 Minor internal CON changes.
git-svn-id: https://svn.eduke32.com/eduke32@5245 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-26 00:48:17 +00:00
helixhorned
85be0bebec LunaCON: from 'definevolumename', make g_numVolumes be determined as in C-CON.
git-svn-id: https://svn.eduke32.com/eduke32@5236 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-25 12:57:51 +00:00
helixhorned
1fc7e10843 savegame: fix g_tile[].proj memory leaks, halve number of projectile_t allocations.
git-svn-id: https://svn.eduke32.com/eduke32@5191 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-16 11:56:49 +00:00
hendricks266
5979378c4e CON: Add player[].index, which returns the player ID that you put in. Mostly useful to get the magic value of THISACTOR when applied to the player struct.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5165 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-26 00:07:57 +00:00
helixhorned
5683beec3d Do "typedef projectile_t defaultprojectile_t;" instead of having an indetical-member type.
Move projectile_t to player.h.

git-svn-id: https://svn.eduke32.com/eduke32@5159 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:59:21 +00:00
hendricks266
c24e5f51cd Add events for the remaining player-related HUD display functions:
EVENT_DISPLAYSPIT - loogies from the SPIT projectile
EVENT_DISPLAYFIST - nukebutton fist (shrunk fists are part of EVENT_DISPLAYWEAPON)
EVENT_DISPLAYKNEE - pstomp knee (quick kick is part of EVENT_DISPLAYWEAPON)
EVENT_DISPLAYKNUCKLES - knuckle crack idle animation
EVENT_DISPLAYSCUBA - scuba gear
EVENT_DISPLAYTIP - tip hand
EVENT_DISPLAYACCESS - access cards / keycards

git-svn-id: https://svn.eduke32.com/eduke32@5118 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-30 05:57:30 +00:00
hendricks266
0bc349fde2 C-CON: Add two new structs, tiledata and paldata, accessible only through quick-access.
git-svn-id: https://svn.eduke32.com/eduke32@5115 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-30 05:56:37 +00:00
hendricks266
0adcc4a3f7 C-CON: Add read-only player structure member "hudpal", that returns the result of P_GetHudPal().
git-svn-id: https://svn.eduke32.com/eduke32@5099 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-27 12:29:24 +00:00
hendricks266
8a9fb41d5f CON: Add EVENT_WORLD, EVENT_PREWORLD, and EVENT_PRELEVEL, which respectively function as EVENT_GAME, EVENT_PREGAME, and EVENT_LOADACTOR, but only running once instead of per-actor.
git-svn-id: https://svn.eduke32.com/eduke32@5098 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-27 12:29:05 +00:00
hendricks266
c784fdb21c C-CON: Redefine "break" within events to mean "skip the remainder of this event block", not "skip the remainder of execution of this event, through all chained blocks". The latter behavior is still available through the "return" keyword.
git-svn-id: https://svn.eduke32.com/eduke32@5097 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-27 12:28:45 +00:00
hendricks266
0805a0ed45 CON: Add token "appendevent", which functions identically to "onevent" except that the event's code is chained to the end of any previous events, instead of the beginning.
git-svn-id: https://svn.eduke32.com/eduke32@5093 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 21:31:11 +00:00
hendricks266
a14109da20 C-CON: Modify the parsing of definevolumename and defineskillname so that they only look for the text before a newline.
// valid
definevolumename 3     <text>

// invalid
definevolumename 3
<text>

git-svn-id: https://svn.eduke32.com/eduke32@5089 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 06:28:09 +00:00
hendricks266
49c85f644d C-CON: Add quick access for the remaining structures without it.
git-svn-id: https://svn.eduke32.com/eduke32@5088 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 06:27:57 +00:00