Ottobre 2013
Settembre 2013
-
Generale
In C++ build, fix "narrowing conversion inside { } is ill-formed" warning.
Mostra dettagli
This also exposes an actual issue. The sound definitions may be dynamically remapped, in which case they are not necessarily <=255 any more. BUILD_LUNATIC.
-
Generale
Prevent calling function pointers cast to an incompatible type.
Mostra dettagli
Most often, this had happened when casting comparison functions for qsort() like these: "int yax_cmpbunches(const int16_t *b1, const int16_t *b2)" to a function pointer type expecting "const void *". Alas, this is undefined behavior: see http://blog.frama-c.com/index.php?post/2013/08/24/Function-pointers-in-C and posts linked from it. At least two cases have not been fixed: - The savegame system maintains pointers which are either to data or a function in the generic "void *". This ought to be made into a union. - Probably also: #define OSD_ALIAS (int32_t (*)(const osdfuncparm_t*))0x1337
-
Generale
Minor changes for Lunatic utils, replace missed sound flag literals with macros.
-
Generale
Add WIP x86_64 assembly texture mapping routines.
Mostra dettagli
- Currently: only tvlineasm1 and tvlineasm2, but incomplete (no reverse translucency, nonpow2 textures will crash) - For System V AMD64 calling conventions; requires YASM
-
Generale
Additional fix for the shareware version
-
Generale
Fix shareware version breakage introduced in r3913
-
Generale
Clear GL depth buffer before drawing a frame in Polymost. This should fix the issue with skies in the Duke64 TC.
-
Generale
Add support for "orig_sizex" and "orig_sizey" parameters to "texture" block in def files. This is the same as using "dummytile" before defining a texture. Needed for compatibility with the .def files from Megaton, not because I like arbitrarily adding extranneous shit. :p
-
Generale
Revert "Prettify the DEF progress meter by relocating '\n' en masse."
Mostra dettagli
This reverts commit c7e51147f1869d42fc8365f748bb8f6bd4c6fc2f. [r3835] Conflicts: eduke32/build/src/defs.c [Dunno what caused this, but I cleaned this out. Also, the change from build.c was not reverted.]
-
in model preprocessing, implement cos/sin by table lookup.
Mostra dettagli
This reduces the proportion of time the trig calculations take of the whole preprocessing from 50% to about 13%.
-
make hitscan accept ray as vector, add xmath.kangvec.
Mostra dettagli
Also, add hitscan test to test.lua -- a crosshair-like sprite is spawned and continuously updated to the position of where the player aims at.
-
make spriteext[].{x,y,z}off independent of xdimen/viewingrange/aspect.
Mostra dettagli
The offsets (that will translate the axes for .pitch/.roll rotation) were calculated improperly with screen sizes other than 1280 x 1024 and were dependent on other related variables. The fix proceeded empirically, i.e. mostly trial, error, and some educated guesswork. (It's telling that the magic constant 1280 is needed.) A test for Lunatic is added to test.lua that will rotate SEENINES. Bug pointed out by Mblackwell.
-
Generale
Add -usecwd parameter on Windows, to disable searching for Megaton Edition or GOG.com game data
-
Generale
Add foreachmap.lua module 'colenemy', allow passing module name to findmaps.sh.
Mostra dettagli
The 'colenemy' module searches for colored enemies in maps, excluding pal-21 liztroops. DONT_BUILD.
-
Generale
Replace literal g_sounds[].m bits with enum constants. DONT_BUILD.
-
Generale
Lunatic doc: add some text and examples for using require()/module().
-
document gv.getangle(), -Lopts=strict, sec:zrangeat(). DONT_BUILD.
-
r/w gamearrays in binary mode, checks for mapdiff.sh, add test/gamearray.con.
-
Generale
Lunatic/util: fixes for Windows.
Mostra dettagli
- Need to open some files in binary mode. - MinGW's "find" doesn't provide -L option, detect that.
-
make -Lopts=strict also error on some table reads w/ nonexistent keys.
Mostra dettagli
Specifically, for the tables returned with require"DEFS" etc. This allows to check if maybe parts of a bundle of files is missing (because comparisons like "spr.picnum == D.NONEXISTENT_NAME" do not yield errors normally).
-
add option -Lopts=... from command line.
Mostra dettagli
Permitting to enable various debugging options. See "eduke32 -debughelp" for which ones those are: they were previously settable from defs_common.lua, and a new option 'strict' has been added that makes accesses to void sprites error. (That is, already "sprite[i]", not "sprite[i].some_member".)
-
Generale
A couple of minor changes.
Mostra dettagli
- engine.c: comment out some unused decls with RELEASE=0 DEBUGANYWAY=1 - Lunatic: update dump.lua and v.lua - Lunatic: test/test_geom.lua: note a perf regression (wrt older LuaJIT, or I mis-configured / built something wrong)
-
fix _digitalnumber, remove player._INPUT_BITS, add sprite.all().
-
Generale
util/build.lua: lose packing, use fread(), make bound-check nan-safe.
-
Generale
premap.c: delete GPSPEED/CYCLERs only after the loop with EVENT_LOADACTOR events
-
gv.getangle() vs. analogous Lua function test, add some anchors to doc.
Mostra dettagli
Also, in listglobals.sh, check for file existence.
-
in control.lua, use C's fwrite() to write gamearray to disk, fix typo.
-
Generale
a.m32: add 'moveselsects', moving them so that each sector's 1st pt is at (0,0).
Agosto 2013
-
Generale
Update Windows application manifests to allow GetVersionEx() to return Windows 8.1 on systems running Windows 8.1. Microsoft is pretty stupid sometimes. :/
-
Generale
Update the info displayed in the "details" tab of the application properties dialog in Windows--change copyright date to 2013, update Duke Nukem trademark ownership from Apogee Software, Ltd to Gearbox Software, LLC
-
Generale
Remove unused SYSTEM_POOL_SIZE definition (was used with nedmalloc), change in3dmode() into macro similar to bkbhit()
-
Generale
Fix "The latest builds show the same screenshot for every save game entry", reported at http://forums.duke4.net/topic/2961-paper-cuts-minor-bugs-and-annoyances/page__view__findpost__p__169847
-
Generale
Add Lunatic stuff to the Visual Studio project. This is just the file view in the IDE, not Lunatic compilation with MSVC! DONT_BUILD.
-
Generale
Lunatic doc: move icons to doc/ root, as they were not showing up properly online.
Mostra dettagli
That is, here: http://lunatic.eduke32.com/ or more specifically in lunatic.html. BUILD_LUNATIC.
-
Generale
Lunatic doc: add appendix with hints on how to read Programming in Lua, 1st ed.
-
Generale
Bounds-check the tile number gotten from EVENT_GETMENUTILE.
-
after auto-inserting inner sector, change sectnums for sprites now in it.
Mostra dettagli
(Auto-insertion of an inner sector from a loop happens either because the loop is created in an extended sector, or because it has been punched through a ceiling/floor into the upper/lower neighbor sector.)
-
update documentation a bit.
Mostra dettagli
- add gv.GET, gv.WEAPON, gv.RETURN - specify that sprite[].x/y/z and wall[].x/y are 32-bit ints - add an example for con.longjmp() - add an appendix listing the RETURN usage of various events
-
on the Lua side, rename gv.g_RETURN to the prettier gv.RETURN.
Mostra dettagli
On the C side, keep the name g_RETURN. I'm still superstitious about dropping the "g_".
-
retire gv.*_WEAPON and gv.GET_* for gv.WEAPON.* and gv.GET.*.
-
fix passing some string members to con.action(), rewrite conststruct().
Mostra dettagli
... by creating a struct with 'static const int' members, as recommended on http://www.freelists.org/post/luajit/Performance-implications-of-large-FFI-constants,4
-
Generale
Slightly tweak r_usetileshades 1 visibility weighting. It's still not right (and it's impossible to ever truly be right) but at least things aren't pitch black now. I considered changing r_usetileshades to default to 2, but there are some areas where mode 2 is also noticeably darker than it should be... the exit area of E1L1 is a prime example.
-
Generale
Rip out all traces of nedmalloc. Sorry, XP users--it's time to upgrade to something newer than an OS from 2001 if this affects you.
-
allow inserting point on wall line even if a sprite is highlighted.
Mostra dettagli
Note: the wall line will not light up periodically, but point insertion will be possible nontheless. A bit inconsistent, but I didn't want to do a full analysis of which side effects allowing a sprite highlight and a line highlight to coexist at the same time would have.
-
allow a certain type error present in 1.3D GAME.CON to pass.
-
Generale
When building Lunatic from synthesis, tell LuaJIT to generate PE object files.
Mostra dettagli
BUILD_LUNATIC, third attempt.
-
a couple of trivial changes.