Luglio 2013
-
remove DBG_ variable for _DEBUG_LUNATIC=0.
-
fix some must-fail tests and module()s without require'end_gamevars'.
-
replace 'idx >= BOUND+0ULL' idiom with 'not (idx >= 0 and idx < BOUND)'
-
Generale
Makefile.common: disable -Wstrict-overflow.
Mostra dettagli
It didn't turn out that useful and was giving a warning with one of the preceding changes.
-
Generale
Polymer/ART mapping: fix formula for globalvisibility.
Mostra dettagli
Also, very slightly tweak a factor toward a "brighter" (farther visible) scene overall to account for the "circular" nature of the fragment distance (as opposed to an "ortho" distance in Build).
-
Generale
Retire global 'lastvisinc'.
Mostra dettagli
It was only ever used as upper bound to the time that a visibility change decays, but since it does that in an exponential fashion, there's really no point.
-
Generale
Make vis decay with time independent of FPS, treat p->visibility<0 like 0.
Mostra dettagli
Now, if p->visibility differs from the constant visibility, the former converges toward the latter by three-quartering the difference each second totalclock increment (1/60th second). Negative player visibilities are not handled consistently throughout the different renderers, so make it look the same as 0 (can view to infinity).
-
properly calc start/end fog dist for r_usenewshading=2, vis=0, shade>0
Mostra dettagli
So there's no "jump" from vis!=0 to vis=0 making the texture appear brighter.
-
Generale
Apply patch by forum user "John Jendro" fixing OS X build.
-
Generale
Makefile.common: make LUNATIC be set to 0 if not set from env ("?=0").
Mostra dettagli
Also override LTO to 0 in Lunatic builds.
-
document previous additions and more of the existing stuff.
-
Generale
Clean up some player.c code.
-
rework weapondata_t __newindex handling for the sound members.
Mostra dettagli
Also, in test.elua, add a currently failing must-fail test (i.e. it wrongly succeeds where it should not!).
-
revamp sector changing/updating functions of sprites.
-
Generale
game.c: read sprites-on-screen count for DNDEBUG at end of G_DoSpriteAnimations.
Mostra dettagli
Because that function might have inserted tsprites itself, e.g. for the fake floor shadow. Also add one "spritesortcnt < MAXSPRITESONSCREEN" bound check in legacy ROR code.
-
create game Lua state just before EVENT_NEWGAME, not in G_EnterLevel().
-
Generale
Factor out repeated few-liner into G_NewGame_EnterLevel(), misc. cleanup.
-
add -ftrapv, -fwrapv opts, providing trapping/wrapping arith semantics.
Mostra dettagli
Currently only for multiplication.
-
call G_ShowView() using the Lua C API and not through the FFI.
Mostra dettagli
G_ShowView() may call events. Ouch!
-
Generale
In DNCOORDS display, show execution time in ms for all actors (G_MoveActors).
Mostra dettagli
Smoothed using an exponential moving average... with a time constant of 1 sec if I didn't miscalculate things. Also, split BYTEVERSION_JF into Lunatic and non-Lua.
-
output timing results to CSV file, don't time unreg'd events/actors.
Mostra dettagli
The base name is taken from the environment variable LUNATIC_TIMING_BASEFN, which is suffixed with .actors.csv and .events.csv.
-
add forgotted "screensound" to keyword list in con_lang.lua.
Mostra dettagli
Also, fix 'spriteflags' directive.
-
Add predefined labels MAXSPRITES, MAXSTATUS and MAX_WEAPONS.
-
implement 'tossweapon'.
-
document more stuff (not too carefully), add red DRAFT marker.
-
Generale
Polymost "use tile shades": don't confound shade and visibility.
Mostra dettagli
That is, for shade of objects, use shade tables. For visibility, use GL fog. Mixing these two does not produce satisfactory results in areas where both shade and visibility darkening are high, such as around the E1L1 restroom.
-
handle system gamearrays for some array commands.
Mostra dettagli
- '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.
-
swap first and second arg of con.spawn().
-
slight Makefile tweak for Windows preparation.
Mostra dettagli
Add doc/how_to_build_lunatic.txt and doc/lpeg-lunatic.patch.
-
retire per-sprite tsprite access for per-tile animation callback reg.
Mostra dettagli
Don't yet make this official API though, since there are unresolved issues with newly created tsprites potentially being fed back to the animation loop. Add xmath.angvec(), xmath.bangvec(), tspr:set_sectnum(), tspr:setpos().
-
Generale
Remove one instance of duplicate code lines and now unused TSPR_MIRROR.
-
Generale
Rename the external 'gethitickms()' to 'gethiticks()'.
-
Generale
In Windows and SDL layers, rename *hitick* to *u64tick*.
-
various unrelated changes and more documentation.
Mostra dettagli
- check map-text version on load - LunaCON: don't allow (back)slash as identifier char - LunaCON stand-alone: don't resort to default directory for root file names - document non-local control flow functions and for LunaCON, ambigious lexical elements
-
partially fix LTO=1 build with GCC.
Mostra dettagli
Having to tag these few variables and functions as ATTRIBUTE((used)) seems sensible, but what follows is just strange. OSD_Printf? headspritesect?
-
make g_playerWeapon an array of a corresponding bcarray type.
-
document the additions of the preceding commits.
-
various changes.
Mostra dettagli
- swap 2d and 3rd args in xmath.rotate() -- now rotate(point, ang, pivot) - add vec3 method 'rotate', calling xmath.rotate - store game tic count in savegames
-
many changes, motivated by writing test "helixspawner".
Mostra dettagli
- some renames of functions/methods - con.actorvar: explicitly allow (for now) boolean and number values - added gv.gametic, player.holdskey(), player.all(), actor.check*()/hit*(), gv.rendmode, gv.REND, <bitint>:mask(), spr:getheightofs() - make read of nil var in "finalized" (live) module produce error, too - add test/helixspawner.lua
-
on palfrom from CON or C, set palsfade{speed,next} and regard prio.
-
Generale
Polymodes/Lunatic: don't do y panning "correction" for nonpow2 ysize tiles.
-
document con.action/move/ai and actor methods.
Mostra dettagli
Also, in some movement functions, replace e.g. (vel*TICSPERFRAME)>>2 with vel.
-
various tweaks and fixes.
Mostra dettagli
- fix getv movflags handling in VM_Move() - add actor.fall() - LunaCON: sanity-check some action members
Giugno 2013
-
in con.action and con.move, allow mixed number/string key tables.
Mostra dettagli
E.g. con.action{0, 4, delay=20}; for convenience, viewtype and incval are initialized to 1 (not 0) here.
-
retire an actor's sprite[].hitag/lotag for new actor[] members.
-
Generale
Retire actor[].shootzvel, as it was only ever used in local scope.
Mostra dettagli
That is, its value was only referenced during the duration of a function call that had previously set it. It was also never accessible from CON.
-
Generale
Actor-related code cleanup part 2: give actor t_data[] indexes names.
Mostra dettagli
Using macros like AC_COUNT(t). Clean up related code: - comment out the dead condition noted in the previous commit - Lunatic: use get_count() instead of get_t_data(0) in one place, rename to _get_t_data(), i.e. make that method internal
-
Generale
Actor-related code cleanup part 1: rename some locals, expose one dead condition
Mostra dettagli
... due to making hi/lotag unsigned in r3174. This commit keeps the compiler warning, the next one will remove it.
-
add actor methods allowing overriding action delay and move hvel/vvel.
Mostra dettagli
Add testing code for an example actor 1275 (newspaper) to test.elua.
-
require'CON.ACTION' etc. gets composites from CON; add actor.MOVFLAGS.