April 2013
-
General
Fix debugging builds with Clang 3.2 and up.
Show details
In those Clang versions, -fcatch-undefined-behavior was replaced by -fsanitize=<what>. For Clang 3.2, we enable the address sanitizer and for 3.3 also the miscellaneous undefined behavior one. Currently, there's no version auto-detection from the Makefiles, it's set to 3.3 and the others are commented out.
-
General
Generalize ZRANGE and ANGRANGE to accept any nonnegative number.
Show details
Numbers 0 and 1 mean 'no spread', but the latter does one krand() call. Negative numbers are reserved for potential future use.
-
General
My love/hate relationship with git stash is quickly becoming a hate/hate relationship. :p
-
General
Fix TARGET sprites used as switches, introduced in r3679.
-
General
In G_LoadAddon(), remove inner 'struct grpfile *grp', fixing uninited access.
Show details
... four lines later. I don't know if that is the intended semantics for this function, but nasal demons is clearly not what we want. Please review!
-
General
Fix two harmless warnings and reindent one switch block.
Show details
Also, make G_LoadAddon() local to game.c.
-
General
Lunatic (map-int VX) build: implement loading <V7 maps.
-
auto-detect LameDuke's PALETTE.DAT and read tables accordingly.
Show details
LameDuke's shade table has 32 gradients of shade, like Duke3D. For the translucency table though, only the diagonal + one half is stored because it's symmetric (50/50 translucency).
-
General
Support adding custom grps to the selector in the startup window. To use this feature, create a file with a ".grpinfo" extension in your EDuke32 directory, following this template:
Show details
grpinfo { name "YourGameName" scriptname "yourgame.con" defname "yourgame.def" size yourgrpsize dependency DUKE15_CRC flags GAMEFLAG_ADDON crc yourgrpcrc } The "flags" field can also take the value "GAMEFLAG_DUKE" to define a new base game. Since this is the first commit of a new feature, certain semantics of the implementation and syntax are liable to change as necessary.
-
General
Don't write SelectedGRP to eduke32.cfg when using the Megaton compatibility "-addon" parameter.
-
General
Automatically execute mapname.cfg at map load time. This allows different maps in mods to have different rendering settings (shadescale, etc). This is not currently suitable for standalone user maps as there's no functionality to reset such cvars back to default at the next map load (so, if using this in a mod, every map needs to have a cfg).
-
General
Fix startup problems stemming from SelectedGRP = "" ending up in eduke32.cfg
-
General
a.m32: add user variable 'override_basepal'.
Show details
Set it to >=0 to override the base palette (water, slime, ...) in 3D mode. This can be useful to navigate Lameduke's underwater sections, since its LOOKUP.DAT only contains 8 lookup tables, but no other *base* palettes. Consequently, base palettes >=1 will make the whole screen black when Lameduke's LOOKUP.DAT is loaded into EDuke32 or Mapster32.
-
General
Revert an awful stupidity I committed in r3700.
-
General
Remove 'cl_angleinterpolation' cvar because it had no effect for a while.
Show details
Also remove the two instances of commented out code, but not the respective CON structure access code.
-
General
Classic drawmasks(): if sprite is on other side of maskwall, always draw it first.
Show details
This fixes the bug reported here: http://forums.duke4.net/topic/5340-bug-with-masked-walls/page__view__findpost__p__123233 But I haven't checked the change for any adverse effects.
-
General
engine.c: stylistic tweaks of drawmasks().
-
in tsprite access, fix checking min/max/RO; tweak RESPAWN preview.
Show details
This fixes RESPAWN preview wrongly clamping the previewed tsprite z coords to [-524288 .. 524288] (x/y limits). Also, make the previewed tsprites be 33% translucent with the option of 66% translucency by setting 'showrespawn_fulltrans' to 1 in a.m32.
-
in quick tile selection [G], if tile is nonexistent, revert it.
-
tweak the 'loaded map' message a bit.
Show details
- colorize the trailing part if there is corruption or (new) if sprites were removed - also corrupt-check when loading <V7 map - move start{pos,ang,sectnum} to build.c - remove pointless ...[].extra = -1 before loading map, scantoasc*[] comment
-
stricter map load time checking for sprites with oob sectnums.
Show details
Sprites are now considered to have out of bounds sector numbers if it is < 0 or >= numsectors (not merely >= MAXSECTORS). If such a sprite is now encountered during post-load, an attempt is made first to assign it a sector number (using updatesector()). If that fails, the sprite is removed from the map. The background is that a dozen of maps do come with such sprites and could previously corrupt the sprite list when loaded.
-
General
Draw the flat on-screen CHAINGUN in a way inspired by 3688, preventing seam.
Show details
Specifically, in GL modes, and if the CHAINGUN is not replaced by a model, - draw the upper part twice: first, two screen pixels * weapon scale lower, then at the original position - reverse the previous order: draw the upper part first, then the lower part This is much preferable to the previous engine-side hack, and to my eye, it looks perfect now.
-
General
A couple of trivial stylistic changes.
-
General
Lunatic/OS X: generate bytecode in object files from LuaJIT.
-
General
osxbuild.sh: Add 'clean' preset, deleting files missed by 'make veryclean'.
-
General
OS X: Pass -Wno-narrowing only with GCC 4.3+, fixing arttool build on my setup.
-
General
osxbuild.sh: new option --lastrev, 'dummyhelix' preset.
-
General
OS X: Write eduke32.log to ~/Library/Logs unless -usecwd is given.
-
General
Mask the seam that shows up when drawing the scuba HUD overlay in OpenGL by drawing SCUBAMASK 3 times... once at the left position + 1, and then at the proper left and right positions. It's definitely a hack, but at least it lives on the game side of things.
-
General
Fix building against libpng 1.6, which removed png_sizeof
-
General
Fix A_MoveSprite() wrongly reporting sector hit without z change after r3678.
-
General
Fix SPRITES_OF_SECT_SAFE macro. Oops!
-
General
gameexec.c: in VM_Fall(), comment out dead code, small indentation change.
-
General
TROR no-SE7 water: spawn splash, reuse calculated other sector number.
-
General
Improve on the code that handles changing sectors of projectiles.
Show details
- In the A_MoveSprite() code that transports projectiles due to an SE7 (introduced in r1450 / legacy ROR), only report "success" if the transportation succeeded. - Clear newly introduced internal SPRITE_DIDNOSE7WATER flag after checking it.
-
General
In G_MoveStandables() CRACKx handling, fix oob access of DynamicTileMap[].
Show details
Also, in two cases, don't assign A_IncurDamage() result to a variable if it's not needed.
-
General
Fix a couple of issues identified in the preceding commit.
Show details
- In S_PlaySound(), move the sound index bound check above an indexing. - For A_CheckHitSprite(), and A_FindPlayer(), allow NULL second arg. - In A_ShootWithZvel(), make some one-letter vars be int32_t, making storing safeldist() results in them meaningful. - In MaybeTrainKillEnemies(), remove two redundant checks and move another one further up. - Comment that SIDEBOLT1 will never be translucent as was probably intended. - In G_MoveFX(), fix an always-true comparison.
-
General
Clean up of mostly actors.c, but some other files along the way too.
Show details
- Rewrite some sprites-of-{stat,sector} loops using the SPRITES_OF, SPRITES_OF_SECT and new SPRITES_OF_SECT_SAFE macros. - In passing, identify some problems and mark them with 'XXX', but don't attempt to fix them yet. - The usual readability improvements...
-
General
TROR no-SE7 water: handle projectiles.
Show details
Actually, the tweaked code in VM_Move() is not specific to projectiles, so other sprites now may pass no-SE7 water boundaries too, but it's most noticeable with projectiles.
-
General
TROR no-SE7 water: allow boundary change only if other-side lotag is other one.
Show details
That is, if submerging, the lower sector MUST have lotag 2. If emerging, the upper sector MUST have lotag 1. (Previously, emersion happened from ST 2 sectors unconditionally.) This means that the area where submersion or emersion can happen is now the same for the top and bottom parts.
-
General
Fix the inventory icon selector's positioning to match v1.5 (reported by Fox [1]). While we're at it, move it according to ud.statusbarscale for aesthetic purposes.
-
General
Add cvars "hud_statusbarmode" and "r_rotatespritenowidescreen".
-
General
Center the x-position of BOTTOMSTATUSBAR displayed to the screen so an extra-wide one would display correctly.
Show details
Let me know if this breaks any mods that have #2462 with an x-dimension other than 320.
-
General
Fix a signed/unsigned comparison.
-
General
Fix a "duplicate const" error.
-
General
Fix reading the GOG and Steam paths for Win64 builds.
-
General
Fix "Error setting gamma ramp: DDERR_INVALIDPARAMS" on 64-bit.
-
General
Fix Mapster32 crash caused by custom s_buildRev strings longer than five characters.
Show details
(Note: We are still vulnerable to crashes here (and likely in other places), but you have (4096-16) extra characters to work with. We should consider replacing many uses of Bsprintf with Bsnprintf.)
-
General
Add newlines to some diagostic log messages that lack them and need them.
-
General
Fix the pause during display of TENSCREEN.