Build 3529
SVN-
Generale
Lunatic translator: fix codegen for "break" inside while loops.
Mostra dettagli
Note: usually, languages call this "continue". Jeez, CON...
Nickname SVN e nomi Git sono unificati per persona.
Lunatic translator: fix codegen for "break" inside while loops.
Note: usually, languages call this "continue". Jeez, CON...
engine.c: in setpolymost2dview(), set gloy=-1 unconditionally.
This fixes an update issue: start EDuke32 without warping to a map in Polymost, change to classic, and change to Polymost again. The OSD background will be displaced.
sector[]:zrangeat(), 'getzrange' command for the translator.
Also, fix quote commands there.
Lunatic translator: codegen fixes, setgamepalette, -fno=onlycheck option.
begin fixing up the code because it's now actually live!
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).
Lunatic translator: fix quote commands, taking care of corner cases. Add test.
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").
Disable playing RTS sounds until a crash can be resolved.
See comments in the source for details.
CON qsprintf: fix specifying more than one "%s" conversion.
Also, slightly better, though still inadequate checking.
Fix derailing CON instruction pointer when gametextz is passed null quote.
Fix most warnings. Three remain: two are labeled with FIXMEs; the third consists of signed/unsigned comparisons involving LSWAPIB() in kplib.c.
Fix build.
Fix build without Ken's ZIP library (WITHKPLIB not #define'd in compat.h).
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.
Fix POLYMER=0 build, cleaning up #include discipline on the way.
Also taking care that the USE_OPENGL=0 build builds.
Fix all hitscan weapons (not only pistol) wrongly fire without spread at enemies.
Introduced in r3358, where I missed a condition inside an 'if'.
RESPAWN-preview coded in M32-script.
The m32script variable 'showrespawn_always' toggles whether the respawned picnum is shown unconditionally instead of only when aimed at (and locked onto the RESPAWN sprite) in 3D mode. Cool idea by Micky C. NOTE: sometimes doesn't work because of a bug in the m32script interpreter.
Fix MinGW/GCC build. Oops!
Fix knuckle cracking animation broken in r3436
sync with preceding change, fix r3419.
Rework hardcoded BADGUY sprite flag initialization (i.e. amend r3257).
Use a new flag to mark hard-coded enemies, not SPRITE_BADGUY. This fixes an issue where in E1L4, a pigcop would appear in the area you have to crawl under shrunk. Thanks to LLCoolDave1 for pinpointing the range of relevant revisions.
Fix USE_OPENGL=0 build.
fix cycling to the next link sprite with LShift+"]", tweak message.
fix wrongly stripping debug binaries...
... when 'make' is invoked like "make ... STRIP=some_strip".
simplify how to determine whether the final binary is stripped.
Whenever it should be not, STRIP is set to the empty string. This fixes the Lunatic RELEASE=1 build.
Lunatic translator: more of the same.
- more predefined vars - fix recursive states and ones with a stray "else" before the end
various.
- Fix "gv" access. - camera - translator: comparison predicates, predefs...
polymost.c: factor out 2x dup'd code into get_projhack_ratio().
One use was in determining the ray vector for the mouse-aiming hitscan in the editor. Unfortunately, the change doesn't make it any less broken in Polymost, even if the two instances were out of sync.
more or less fix the auto wall-alignment feature ([.]/[,]).
- Run it twice, since the first one is wrong. - Warn when attempting to align based on a top-oriented wall. When the sequence of walls to align has "windows", only the bottom parts will be correct. - Make the modifiers actually useful: * Pressing SHIFT aligns at most one wall, remove the old CTRL modifier. * The rest is as before: ALT makes the walls have (approximately) equal texture stretching, ['] (quote) aligns the immediate TROR-nextwalls.
Fix MUSICANDSFX ambient sounds (bit 2) playing only one instance.
This is done by introducing an additional internal bit, meaning "play only one instance". It is set for all sounds which have bit 1 ("repeat in the sound system") set at definesound time, but not those that set bit 1 temporarily (see r3336).