helixhorned
c320dba4d0
Lunatic translator: add stand-alone option -fnames, generating names.h file.
...
git-svn-id: https://svn.eduke32.com/eduke32@4860 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-28 15:40:04 +00:00
helixhorned
a1091233d2
CON: allow passing more than one flag to the 'spriteflags' directive.
...
These will be bitwise-OR'd.
git-svn-id: https://svn.eduke32.com/eduke32@4841 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-26 17:29:58 +00:00
helixhorned
ca7a5acce7
LunaCON: expose more members, properly handle setting ud.screen_size.
...
BUILD_LUNATIC.
git-svn-id: https://svn.eduke32.com/eduke32@4814 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-13 22:33:07 +00:00
helixhorned
442a9bbfef
voxmodel.c: fix Polymost rendering of voxels.
...
This reverts/corrects two semantic changes of r4639 as far as what is now
voxmodel.c (formerly part of mdsprite.c) is concerned. One correction ends
up having no effect (m->bscale is always 1.f for voxel models, as far as I
can see), but is the proper rewrite.
Also, in osdcmds.c:registerosdcommands(), tweak two help strings.
git-svn-id: https://svn.eduke32.com/eduke32@4800 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-06 21:05:36 +00:00
helixhorned
973d4950bb
LunaCON: implement 'qstrncat' command.
...
git-svn-id: https://svn.eduke32.com/eduke32@4795 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-05 23:12:33 +00:00
helixhorned
2713bc3d75
Get rid of EnvMusicFilename[] and use MapInfo[].musicfn for that.
...
The additional space was there all the time, so it's not understandable why
another array was necessary.
CON: for 'music', error if volume number is outside [0 .. MAXVOLUMES+1], and
in LunaCON, additionally warn if it's MAXVOLUMES+1 (0 is preferred for that).
git-svn-id: https://svn.eduke32.com/eduke32@4588 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-07 18:10:14 +00:00
helixhorned
3493302e6c
LunaCON: implement 'qsubstr' command. Add source/lunatic/test/qsubstr.con.
...
In C-CON's qsubstr, error if <start> is not in [0 .. MAXQUOTELEN-1]
or <length> is negative.
git-svn-id: https://svn.eduke32.com/eduke32@4583 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-31 11:15:22 +00:00
helixhorned
fea848c486
LunaCON: ignore internal flag in gamevar redef check; allow "Pals" member.
...
git-svn-id: https://svn.eduke32.com/eduke32@4581 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-31 11:15:20 +00:00
helixhorned
757dbe9d6b
LunaCON: properly initialize values of session (NODEFAULT) gamevars.
...
git-svn-id: https://svn.eduke32.com/eduke32@4570 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-08 20:02:55 +00:00
helixhorned
1486a2937b
A couple of Lunatic updates. DONT_BUILD.
...
- LunaCON: support for setting userdef[].m_volume_number, getting .last_level
- bump con_lang.MAXEVENTS
- fix compilation of astub.c
git-svn-id: https://svn.eduke32.com/eduke32@4567 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-02 17:24:39 +00:00
hendricks266
af28013f39
Lunatic fixes:
...
1 compiler error.
2 compiler warnings.
1 runtime warning.
Note that at this time, CPLUSPLUS=1 LUNATIC=1 fails to build due to C++ function mangling, and Win64 Lunatic crashes.
DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4540 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-10 09:01:48 +00:00
helixhorned
e810071cfc
LunaCON: add read-only variable 'Numsprites', r/w userdef member .mouseaiming.
...
git-svn-id: https://svn.eduke32.com/eduke32@4475 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-18 09:55:42 +00:00
helixhorned
4b3bfc6424
LunaCON: allow '.' as non-first identifer character.
...
git-svn-id: https://svn.eduke32.com/eduke32@4473 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-18 09:55:39 +00:00
helixhorned
2d35d93f38
LunaCON: patch up off-by-one line numbering problem. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4381 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-16 15:06:20 +00:00
helixhorned
86d985620c
Lunatic: for gameactor(), deprecate AF.replace_hard, make AF.replace default.
...
That is, always bitwise-OR the per-tile actor flags with the existing ones.
git-svn-id: https://svn.eduke32.com/eduke32@4374 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-15 14:10:50 +00:00
helixhorned
c3ff173553
LunaCON: warn if a 'spriteflags' is issued after its actor definition...
...
... or another 'spriteflags' or 'sprite*' directive.
git-svn-id: https://svn.eduke32.com/eduke32@4373 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-15 14:10:49 +00:00
helixhorned
6908ce6be7
LunaCON: warn if using reserved bits in 'spriteflags'.
...
Reserved bits are those that have no predefined SFLAG_* label in CON.
git-svn-id: https://svn.eduke32.com/eduke32@4372 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-15 14:10:48 +00:00
helixhorned
ea8c081084
LunaCON: add and document option -ferror-negative-tag-write.
...
git-svn-id: https://svn.eduke32.com/eduke32@4356 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-28 20:33:46 +00:00
helixhorned
bd34885653
LunaCON: add and document -Wnever-used-gamevar and -Wnever-read-gamevar.
...
git-svn-id: https://svn.eduke32.com/eduke32@4299 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-08 14:37:47 +00:00
helixhorned
21a8788b6b
LunaCON: implement 'precache'.
...
git-svn-id: https://svn.eduke32.com/eduke32@4291 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-02 10:50:40 +00:00
helixhorned
6d8ea48257
LunaCON: add option -ferror-nonlocal-userdef, on by default.
...
BUILD_LUNATIC.
git-svn-id: https://svn.eduke32.com/eduke32@4290 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-01 16:19:59 +00:00
helixhorned
7c26c180cd
LunaCON: accept empty square brackets for {g,s}etuserdef optional index part.
...
git-svn-id: https://svn.eduke32.com/eduke32@4287 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-01 16:19:55 +00:00
helixhorned
60612d07f0
LunaCON: error on userdefs accesses with non-local current player.
...
Add lunatic/test/getuserdef.con.
git-svn-id: https://svn.eduke32.com/eduke32@4285 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-31 21:13:01 +00:00
helixhorned
63e0de5e3d
TROR: when clearing bunch number of c/f with yax_setbunch(), don't reset xpanning.
...
In the non-Lunatic build naturally, since the Lunatic one uses its own member.
git-svn-id: https://svn.eduke32.com/eduke32@4275 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-28 19:03:47 +00:00
helixhorned
3a85134e31
LunaCON: add codegen option -fbad-getactorvar-use-pli for C-CON compatibility.
...
Also, improve -Wnumber-conversion warning by printing the resulting number.
BUILD_LUNATIC.
git-svn-id: https://svn.eduke32.com/eduke32@4266 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-24 21:39:04 +00:00
helixhorned
14db86ebb5
Lunatic: make gv.current{Level,Episode} one-based and document them.
...
Also, in LunaCON, make player .palette member read-only. BUILD_LUNATIC.
git-svn-id: https://svn.eduke32.com/eduke32@4260 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-15 20:29:10 +00:00
helixhorned
8d47e476c7
LunaCON: for readgamevar, if ud.config.scripthandle < 0, keep value, don't err.
...
git-svn-id: https://svn.eduke32.com/eduke32@4256 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-12 14:54:34 +00:00
helixhorned
25108494d1
Lunatic: expose "con.shoot(tilenum, i [, zvel])". Document and add example.
...
git-svn-id: https://svn.eduke32.com/eduke32@4201 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-20 18:31:20 +00:00
helixhorned
44351528db
LunaCON: statically check some member assignments with literal numbers.
...
And issue warnings whenever the assignment would fail (error) at game time.
git-svn-id: https://svn.eduke32.com/eduke32@4195 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-11 21:23:42 +00:00
helixhorned
4dcd167c7a
LunaCON: for gamevar-already-defined warnings/errors, show old location.
...
Synthesis, BUILD_LUNATIC! Got the build? Good synthesis.
git-svn-id: https://svn.eduke32.com/eduke32@4153 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-12 21:03:23 +00:00
helixhorned
25081fb459
LunaCON: In lunacon.lua, make room for a couple more locals at file scope.
...
Also, really reset all label-related tables in reset.labels().
git-svn-id: https://svn.eduke32.com/eduke32@4152 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-12 21:03:20 +00:00
helixhorned
82fb8a0724
LunaCON: for *-already-defined style warnings/errors, show location of old def.
...
git-svn-id: https://svn.eduke32.com/eduke32@4151 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-12 21:03:18 +00:00
helixhorned
78d30bee9b
LunaCON: implement 'ssp' command.
...
git-svn-id: https://svn.eduke32.com/eduke32@4149 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-12 21:03:11 +00:00
helixhorned
b67c76f814
LunaCON: implement 'setcfgname'.
...
Factor out a block of code into C_SetCfgName() and use that from lunacon.lua.
git-svn-id: https://svn.eduke32.com/eduke32@4143 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-08 18:08:45 +00:00
helixhorned
77574e30b9
LunaCON: implement NORESET flag for gamevars.
...
git-svn-id: https://svn.eduke32.com/eduke32@4140 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-08 18:08:37 +00:00
helixhorned
25edec9c0a
LunaCON: very primitive gamevar handling logic for {save,load}mapstate.
...
git-svn-id: https://svn.eduke32.com/eduke32@4119 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-27 21:12:22 +00:00
helixhorned
d9b94c772d
LunaCON: implement NODEFAULT flag (1024) as session variables.
...
This is in contrast to C-CON, where the implications are not clearly obvious.
See this discussion/monologue:
http://forums.duke4.net/topic/955-eduke32-scripting/page__view__findpost__p__159613
Currently not implemented for session gamevars:
- per-player, will be made a global one instead
- per-actor, will be made a plain per-actor one instead
DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4112 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-20 12:35:06 +00:00
helixhorned
937958afef
LunaCON: add necessary identifier-is-not-gamevar check.
...
git-svn-id: https://svn.eduke32.com/eduke32@4111 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-20 12:35:03 +00:00
helixhorned
8248ef8446
CON: Add LOGO_FLAGS bits 4096-32768 to disable E1-E4 bonus scenes, respectively.
...
Each scene is disabled in its entirety, there's no way to disable only a
particular part. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4109 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-17 16:44:28 +00:00
helixhorned
15bcfe3f34
Lunatic: on the Lua side, rename gv.g_RETURN to the prettier gv.RETURN.
...
On the C side, keep the name g_RETURN. I'm still superstitious about
dropping the "g_".
git-svn-id: https://svn.eduke32.com/eduke32@4031 1a8010ca-5511-0410-912e-c29ae57300e0
2013-08-23 17:01:10 +00:00
helixhorned
e53c50e6aa
LunaCON: allow a certain type error present in 1.3D GAME.CON to pass.
...
git-svn-id: https://svn.eduke32.com/eduke32@4025 1a8010ca-5511-0410-912e-c29ae57300e0
2013-08-19 19:26:58 +00:00
helixhorned
97dce0fe63
Lunatic: sanity-check some arguments passed to con.action().
...
git-svn-id: https://svn.eduke32.com/eduke32@3974 1a8010ca-5511-0410-912e-c29ae57300e0
2013-08-04 20:37:40 +00:00
helixhorned
3835019c70
Lunatic: replace 'idx >= BOUND+0ULL' idiom with 'not (idx >= 0 and idx < BOUND)'
...
git-svn-id: https://svn.eduke32.com/eduke32@3964 1a8010ca-5511-0410-912e-c29ae57300e0
2013-07-19 12:49:02 +00:00
helixhorned
d7ad2c36d4
Lunatic: revamp sector changing/updating functions of sprites.
...
git-svn-id: https://svn.eduke32.com/eduke32@3953 1a8010ca-5511-0410-912e-c29ae57300e0
2013-07-13 21:04:57 +00:00
helixhorned
adbd6394fc
LunaCON: add -ftrapv, -fwrapv opts, providing trapping/wrapping arith semantics.
...
Currently only for multiplication.
git-svn-id: https://svn.eduke32.com/eduke32@3949 1a8010ca-5511-0410-912e-c29ae57300e0
2013-07-13 21:04:50 +00:00
helixhorned
e13cae69ce
LunaCON: add forgotted "screensound" to keyword list in con_lang.lua.
...
Also, fix 'spriteflags' directive.
git-svn-id: https://svn.eduke32.com/eduke32@3945 1a8010ca-5511-0410-912e-c29ae57300e0
2013-07-13 21:04:43 +00:00
helixhorned
b70779ba6f
CON: Add predefined labels MAXSPRITES, MAXSTATUS and MAX_WEAPONS.
...
git-svn-id: https://svn.eduke32.com/eduke32@3944 1a8010ca-5511-0410-912e-c29ae57300e0
2013-07-13 21:04:41 +00:00
helixhorned
e4849af91f
LunaCON: implement 'tossweapon'.
...
git-svn-id: https://svn.eduke32.com/eduke32@3943 1a8010ca-5511-0410-912e-c29ae57300e0
2013-07-13 21:04:38 +00:00
helixhorned
5e41c1604c
LunaCON: handle system gamearrays for some array commands.
...
- 'copy' may have them as source, 'getarraysize' works fine
- 'setarray' and 'resizearray' are obviously forbidden
- 'readarrayfromfile' and 'writearrayfromfile' is not implemented for them
(use case?)
Also, in the Makefile: don't use realpath on directories. It may give an empty
string.
git-svn-id: https://svn.eduke32.com/eduke32@3940 1a8010ca-5511-0410-912e-c29ae57300e0
2013-07-09 18:23:43 +00:00
helixhorned
1e26e640e4
Lunatic: swap first and second arg of con.spawn().
...
git-svn-id: https://svn.eduke32.com/eduke32@3939 1a8010ca-5511-0410-912e-c29ae57300e0
2013-07-09 18:23:41 +00:00