April 2013
-
General
In upward moving enemy code of VM_Move(), consider TROR boundaries.
Show details
This fixes liztroops not passing TROR layers when on the jetpack, as well as other enemies capable of moving upward, and also COMMANDER and DRONE (for which the code is special-cased).
-
General
build.lua: add .sectsperbunch to map table, useful for TROR stats w/ findmaps.sh
Show details
Also, sync MAXBUNCHES to new limit in lunatic/defs_common.lua.
-
fix test.elua after map-int VX and one rename, add one microbenchmark.
-
General
Mostly engine and some gameexec.c stylistic changes.
-
in hitscan and getzrange, skip sprites if sprite part of clipmask is 0.
Show details
... like was done with clipmove() previously. Also, do some code clean up. There are no changes of functionality.
-
General
Fix something I fucked up with GRP scanning when I added support for the Megaton addon GRPs.
-
General
Silence "may be used uninitialized" warning, use Batoi() for user input.
Show details
Nag: The behavoir of atoi() is *undefined* if "the value of the result cannot be represented" (C99 7.20.1). Note: my nagging about undefined behaviors will *not* get less over time. :P
-
print the "Saved board" message more persistently.
-
new-generation map format, in-memory representation ("map-int VX").
Show details
The Lunatic build compiles with new structures for sector and wall types. They have separate members for TROR {up,down}{bunch,nextwall}, so there are no conflicts with other uses of members into which they were previously shoehorned. Also, the maximum bunch limit is bumped to 512 in that build. Currently, loading from V7/8/9 and saving to V7 and V8 are supported.
-
move utility scripts to util/, bittest.lua -> test/test_bitar.lua.
-
fix stuff after last commits; translator: clean up -f parsing code.
Show details
Also, implement 'cmenu' in LunaCON, make 'definequote' also allowed as inner command.
-
General
Fix changing the max refresh rate in EDuke32 (it was already working correctly in Mapster32).
-
General
Add support for the versions of Duke it out in D.C., Duke Caribbean: Life's a Beach, and Duke: Nuclear Winter packaged with Duke Nukem 3D: Megaton Edition on Steam. This allows them to be launched directly from the startup window and also adds an "-addon" command line parameter that should allow the duke3d.exe included with Megaton Edition to be replaced with a copy of EDuke32.
-
replace DukePlayer_t set-member methods with metatable magic.
Show details
So that members needing it are checked when they're assigned to using the usual syntax. What kind of check to perform (sector, player, ... x whether negative values are allowed) is written in a declarative fashion inside the C declaration. Also, make Lunatic's MAXQUOTES be C's OBITQUOTEINDEX and bound-check an access of sprite[p->wackedbyplayer] in the C code.
-
get rid of some now unneeded set-member methods, add others.
-
General
a.m32: Don't reposition head light if in void space, fixing crash.
-
access to show2dsector[], fix some permit-negative bound checks.
-
General
Remove useless code setting show2dwall[] or show2dsprite[], as they're unused.
-
General
a.m32: Implement a Polymer "head light" emanating from your position in 3D mode.
Show details
Toggled with Ctrl+Shift+[KP-]. Variable 'headlight_range' controls its range. For the implementation, a new event EVENT_PREDRAW3DSCREEN was added.
-
General
Factor out displaying episode ending cutscenes into G_BonusCutscenes().
Show details
Also, - retire IFWITHIN() macro, preferring expanding it - fix _endofgame() in control.lua
-
gen. cleaner code, make actor[].movflag internal, update listglobals.sh
-
General
Define a macro LUNATIC_EXTERN that expands to 'static' in non-Lunatic builds.
-
General
Take over and use static assertion macro found in LuaJIT sources.
-
custom integer types treated as bitfields.
Show details
Used for engine struct's (c)stat and actor[].flags members.
-
begin gamevar system. Not much there yet.
Show details
In Lunatic, gamevars (variables that are saved with savegames) are per-module.
-
make palette_t a bcarray-generated type, various tweaks.
Show details
- Increase LuaJIT max. machine code limit to 10 MiB
-
ifsquished.
-
fix rotatesprite coordinate check, gen. events to chain at beginning.
-
General
Support NVIDIA's adaptive vsync, you can enable it by setting r_swapinterval -1 in the console or by using the new third setting for the vsync menu option.
-
General
Prevent loading anything except the GRP from the Steam or GOG Duke3D install directories. Loading DUKE.RTS from those paths will be resolved later.
-
General
Fix savegamevar/readgamevar breakage from r3579
-
General
Fix handling of SE31 pointing upward. A bug was introduced in r2607.
March 2013
-
Fix ART offset and face sprite flipping interaction.
-
Fix ART offset and sprite flipping interaction.
-
General
Fix activated MUSICANDSFX wrongly being looped, introduced in r3631.
-
General
Fix playing ambient sounds at max volume for split sec on entering their range.
Show details
This is done by always calling FX_PlayAuto3D() to play such sounds. It now additionally takes a third argument 'loophow', permissible values being FX_ONESHOT and FX_LOOP.
-
General
In 'tip' display code, extrapolate four more values of the y coord table.
Show details
Also, for tip_incs values greater or equal than the number of elements in this table, return early reporting that the hand has been drawn, so that the otherwise selected weapon is not drawn.
-
chaining of actor callback functions.
Show details
For events and actors, a flag can be now passed whether to chain the new function at the beginning or end of an already existing one, or to replace it entirely. Also, for the translator, add option -fno-error-nostate, disabled by default.
-
General
Add rudimentary sanity checks when playing ANM files.
Show details
- Don't attempt to play an ANM file if it is empty (warn) or too short (error). - If failing to read IVF file header or initializing VPX codec, don't play ANM. - Return early from gltexapplyprops() if not in GL modes.
-
General
Add some test CON files to source/lunatic/test.
Show details
The code is mostly by other people, who are credited in the CON files.
-
General
Return early from A_IncurDamage() if actor[].picnum ("htpicnum" in CON) is < 0.
Show details
With this change, it is impossible for negative values to be used as array indices inside this function, and I believe that it is also impossible that they escape to somewhere they might be used as such. For Lunatic, allow setting actor[].picnum to negative values and in the translator, add (commented out) code to warn whenever it is set to a constant negative value. Also, fix a _sound call in _addphealth in control.lua.
-
make the crash log file named eduke32_or_mapster32.crash.log.
-
General
Don't output an empty SelectedGRP entry into the cfg, fixing bare EDuke32 build.
-
factor out 3x computing "alwaysshowgray", but don't change anything.
-
General
Tweak the code that adds the Steam and GOG Duke3D paths a little. This changes things so that we add the DOSBox version provided on Steam as a source for the GRP instead of their main content dir, bypassing loading their screwed up duke3d.def.
-
General
Load def modules even if no root def exists. Print a message to the log for each def module that is loaded.
-
General
-
General
Fix a multi-line comment in cache1d.c.
-
General
Correct the capitalization of NAPALM.
-
General
Fix loading of a user's previous "SelectedGRP" file.