helixhorned
01469bc45a
Lunatic Makefile.deps: make game.c depend on defs.ilua.
...
Since the size of defs.ilua's bytecode is used in game.c.
git-svn-id: https://svn.eduke32.com/eduke32@3521 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-24 16:05:52 +00:00
helixhorned
c66b891a38
Lunatic: export C functions that may call into CON events using the Lua C API.
...
We must not call these functions using the FFI, since the Lua state is
considered locked across such calls.
git-svn-id: https://svn.eduke32.com/eduke32@3520 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-24 16:05:47 +00:00
helixhorned
b1320d0ab5
Lunatic: begin fixing up the code because it's now actually live!
...
git-svn-id: https://svn.eduke32.com/eduke32@3519 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-24 16:05:42 +00:00
helixhorned
f730e1242a
Lunatic translator: keep states, game{vars, arrays} in tables instead of locals.
...
Since it's too easy to hit the 200 locals limit.
git-svn-id: https://svn.eduke32.com/eduke32@3518 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-24 16:05:37 +00:00
helixhorned
1685228ab7
Lunatic: compile defs.ilua as bytecode and load it from the executable.
...
git-svn-id: https://svn.eduke32.com/eduke32@3517 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-24 16:05:31 +00:00
helixhorned
acddac64be
Lunatic translator: nearing a workable state...
...
- some more outer commands
- gamearray persistence
- faster 'mod': use math.modf instead of math.fmod (the former is JIT-compiled)
- checkavail*
- THISACTOR special handling
- Fix building in Windows (export A_ShootWithZvel instead of A_Shoot).
git-svn-id: https://svn.eduke32.com/eduke32@3516 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-24 16:05:22 +00:00
helixhorned
b0a8a381c8
Lunatic translator: eventloadactor.
...
git-svn-id: https://svn.eduke32.com/eduke32@3515 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-21 18:54:13 +00:00
helixhorned
6682313e87
gameexec.c: factor out 2x used code into VM_KillIt.
...
Also, for Lunatic, handle killit from events.
git-svn-id: https://svn.eduke32.com/eduke32@3514 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-21 18:54:07 +00:00
helixhorned
a83b2fee95
Lunatic translator: switch statement.
...
git-svn-id: https://svn.eduke32.com/eduke32@3513 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-21 18:54:02 +00:00
helixhorned
e6fd95dde8
Lunatic translator: qgetsysstr.
...
git-svn-id: https://svn.eduke32.com/eduke32@3512 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-21 18:53:57 +00:00
helixhorned
db2c24b7ef
Lunatic translator: fix quote commands, taking care of corner cases. Add test.
...
git-svn-id: https://svn.eduke32.com/eduke32@3511 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-21 18:53:49 +00:00
helixhorned
9f843fb445
CON qstrcpy: don't call strcpy() with identical source and destination quotes.
...
Thus making the identical source and destination quote number case into the
expected no-op instead of being undefined behavior.
git-svn-id: https://svn.eduke32.com/eduke32@3510 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-21 18:53:42 +00:00
helixhorned
f6a577ff68
Mapster32: add "movement by one" debugging functionality via a.m32.
...
If m32script gamevar "move_by_one" is nonzero, the some keys move the
"player arrow" by increments of 1:
- Without SHIFT: LEFT/RIGHT absolute x, DOWN/UP absolute y, A/Z absolute z.
- With SHIFT: DOWN/UP (unbounded!) horiz, LEFT/RIGHT angle.
This can be useful to debug renderer bugs that show a high sensitivity to the
exact location ("are transient in space").
git-svn-id: https://svn.eduke32.com/eduke32@3509 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-19 20:35:14 +00:00
helixhorned
b4ae8c4238
Disable playing RTS sounds until a crash can be resolved.
...
See comments in the source for details.
git-svn-id: https://svn.eduke32.com/eduke32@3508 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-18 16:08:02 +00:00
helixhorned
d1442ac88e
Lunatic translator: qsprintf.
...
git-svn-id: https://svn.eduke32.com/eduke32@3507 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-18 16:07:59 +00:00
helixhorned
740c8d021b
CON qsprintf: fix specifying more than one "%s" conversion.
...
Also, slightly better, though still inadequate checking.
git-svn-id: https://svn.eduke32.com/eduke32@3506 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-18 16:07:56 +00:00
helixhorned
5dfb4dc48b
CON: don't accept read-only vars for first arg of qstrlen.
...
git-svn-id: https://svn.eduke32.com/eduke32@3505 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-18 16:07:54 +00:00
helixhorned
8637a7aa22
Lunatic translator: a couple of quote commands, while*n.
...
git-svn-id: https://svn.eduke32.com/eduke32@3504 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-18 16:07:51 +00:00
helixhorned
fd2790da82
Lunatic translator: gamearrays.
...
git-svn-id: https://svn.eduke32.com/eduke32@3503 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-18 16:07:48 +00:00
helixhorned
2264331daf
Game -v and -l cmdline opts: cast the numbers to unsigned first for paranoia.
...
git-svn-id: https://svn.eduke32.com/eduke32@3502 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-18 16:07:45 +00:00
helixhorned
185f0a8cc4
Lunatic translator: text rendering and other niceties.
...
git-svn-id: https://svn.eduke32.com/eduke32@3501 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-18 16:07:42 +00:00
helixhorned
4c57413da6
Fix derailing CON instruction pointer when gametextz is passed null quote.
...
git-svn-id: https://svn.eduke32.com/eduke32@3500 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-18 16:07:38 +00:00
helixhorned
9617861b8a
CON digitalnumber*: move orientation &= (ROTATESPRITE_MAX-1) to G_DrawTXDigiNumZ
...
git-svn-id: https://svn.eduke32.com/eduke32@3499 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-18 16:07:36 +00:00
helixhorned
2d61216758
Lunatic translator: sprite list commands, findnear*, protect player[].ftq.
...
git-svn-id: https://svn.eduke32.com/eduke32@3498 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-18 16:07:32 +00:00
hendricks266
719efefbf0
Wii: Take advantage of libogc features: PNG screenshots (libpng/zlib), Ogg Vorbis audio (libtremor), and high-resolution profiling timers.
...
FLAC and VPX remain out in the cold.
git-svn-id: https://svn.eduke32.com/eduke32@3497 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-18 08:50:42 +00:00
hendricks266
624841257c
Wii: Fix most warnings. Three remain: two are labeled with FIXMEs; the third consists of signed/unsigned comparisons involving LSWAPIB() in kplib.c.
...
git-svn-id: https://svn.eduke32.com/eduke32@3496 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-18 08:50:08 +00:00
hendricks266
90f4a02905
Wii: Add Homebrew Channel metadata for Mapster32 and expand the build process to easily allow its addition. Unfortunately it closes on launch without any log and I don't have any means to debug it, so it remains disabled. (Who wants to map on a TV with 640x480 resolution anyway?)
...
git-svn-id: https://svn.eduke32.com/eduke32@3495 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-18 08:49:20 +00:00
hendricks266
75e5cebfff
Wii: Fix build.
...
git-svn-id: https://svn.eduke32.com/eduke32@3494 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-18 08:48:18 +00:00
hendricks266
3b2eb2a214
Add a new psd of the logo that hue shifts the original orange color to what should be the correct blue color. Oddly, this gives a slightly different result to hue-shifting the final product in GIMP afterwards. This should be investigated further.
...
git-svn-id: https://svn.eduke32.com/eduke32@3493 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-18 08:47:37 +00:00
helixhorned
75d20d02c5
Reduce volume number modulo MAXVOLUMES for -v command line option.
...
git-svn-id: https://svn.eduke32.com/eduke32@3492 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-16 18:53:30 +00:00
helixhorned
3665fde85b
Lunatic: more commands...
...
git-svn-id: https://svn.eduke32.com/eduke32@3491 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-16 18:53:24 +00:00
helixhorned
801662c3e7
gameexec.c: refactor 'starttrack' for proper bound checking.
...
git-svn-id: https://svn.eduke32.com/eduke32@3490 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-16 18:53:18 +00:00
helixhorned
a3b3804a08
Lunatic: more commands, timing test for xmath's sine functions.
...
git-svn-id: https://svn.eduke32.com/eduke32@3489 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-16 18:53:15 +00:00
helixhorned
6cd3b9f4fc
Lunatic: xmath module + timing test for distance functions.
...
git-svn-id: https://svn.eduke32.com/eduke32@3488 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-16 18:53:09 +00:00
helixhorned
b489a62a93
Lunatic (translator): more commands, add some "length" methods to vec* types.
...
git-svn-id: https://svn.eduke32.com/eduke32@3487 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-16 18:53:04 +00:00
helixhorned
6816afe07e
Refactor C code related to gettimedate and sect*interpolation CON commands.
...
No functional changes.
git-svn-id: https://svn.eduke32.com/eduke32@3486 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-16 18:53:00 +00:00
helixhorned
5e84185d6e
Factor out setting baslayer timer from game into G_InitTimer().
...
git-svn-id: https://svn.eduke32.com/eduke32@3485 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-16 18:52:56 +00:00
helixhorned
1bdc416e5f
Fix build without Ken's ZIP library (WITHKPLIB not #define'd in compat.h).
...
git-svn-id: https://svn.eduke32.com/eduke32@3484 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-14 16:02:16 +00:00
helixhorned
40874820f3
Classic renderer: high-precision sprite drawing, preventing stray lines on top.
...
Face- and wall-aligned sprites are drawn using the wall routines in BUILD.
However, the per-x-screen-coordinate distance (swall[]) is calculated in a way
that potentially incurs great precision loss (for example 5 bits for
xdimen=1280, yxaspect=65536). This leads to the starting (top) vertical texture
coordinate possibly wrapping to large values, leaving an unsightly "stray line"
on top of the sprite from certain viewing angles/horiz values.
The approach to fix it has two parts: first, the distance is calculated using
float values, preventing the precision loss. Because this doesn't fully prevent
the unwanted lines, the texture coords are clamped to the mininum and maximum
(0 and UINT32_MAX respectively) when calculating them for sprites.
Note that stray lines may still appear at the *bottom* of sprites under certain
circumstances, for example when viewing at a y-flipped sprite from above.
These should be less noticable in real-world usage though.
The feature is guarded by a macro HIGH_PRECISION_SPRITE in case using floating
point or 64-bit integers is undesirable/impossible on some platforms.
git-svn-id: https://svn.eduke32.com/eduke32@3483 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-14 16:02:12 +00:00
helixhorned
32b3c074d2
engine.c: factor out calculation of texture coords / addresses in wall drawing.
...
git-svn-id: https://svn.eduke32.com/eduke32@3482 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-14 16:02:06 +00:00
helixhorned
3b25bbed1b
engine.c: don't pass [udls]wal to maskwallscan(), use *wall globals instead.
...
git-svn-id: https://svn.eduke32.com/eduke32@3481 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-14 16:01:59 +00:00
helixhorned
126b7257c0
Lunatic translator: more of everything...
...
git-svn-id: https://svn.eduke32.com/eduke32@3480 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-11 17:16:58 +00:00
helixhorned
cba053bbcf
CON myosx*: move masking orientation with user-bits-mask to G_DrawTileGeneric().
...
git-svn-id: https://svn.eduke32.com/eduke32@3479 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-11 17:16:54 +00:00
helixhorned
200cd75275
Make g_earthquakeTime into a uint16_t, remove DukePlayer_t's name[] member.
...
Bump BYTEVERSION.
git-svn-id: https://svn.eduke32.com/eduke32@3478 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-11 17:16:50 +00:00
helixhorned
605de9f6d1
Lunatic: input access.
...
git-svn-id: https://svn.eduke32.com/eduke32@3477 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-10 16:24:44 +00:00
helixhorned
b6fafd8d13
Factor out player[].* allocation into G_MaybeAllocPlayer(), rename 2 functions.
...
git-svn-id: https://svn.eduke32.com/eduke32@3476 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-10 16:24:38 +00:00
helixhorned
fab00b4750
Lunatic: sprite.change{sect,stat}, access to more members, member read test.
...
git-svn-id: https://svn.eduke32.com/eduke32@3475 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-10 16:24:32 +00:00
helixhorned
f9c9e465d7
engine.c: in changesprite{sect,stat}, swap second and third early-out tests.
...
That is, first check if the sprite is in the game world and then if it
already has the desired sector or status number. This doesn't change anything
in our codebase, since the return values of these functions are never examined.
git-svn-id: https://svn.eduke32.com/eduke32@3474 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-10 16:24:27 +00:00
helixhorned
4f3b139479
Lunatic translator: userdef access.
...
git-svn-id: https://svn.eduke32.com/eduke32@3473 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-10 16:24:20 +00:00
helixhorned
ed2ebdb29a
Engine cleanup continued, no functional changes.
...
git-svn-id: https://svn.eduke32.com/eduke32@3472 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-10 16:24:15 +00:00