Aprile 2013
-
Generale
Fix debugging builds with Clang 3.2 and up.
Mostra dettagli
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.
-
Generale
Generalize ZRANGE and ANGRANGE to accept any nonnegative number.
Mostra dettagli
Numbers 0 and 1 mean 'no spread', but the latter does one krand() call. Negative numbers are reserved for potential future use.
-
Generale
My love/hate relationship with git stash is quickly becoming a hate/hate relationship. :p
-
Generale
Fix TARGET sprites used as switches, introduced in r3679.
-
Generale
In G_LoadAddon(), remove inner 'struct grpfile *grp', fixing uninited access.
Mostra dettagli
... 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!
-
Generale
Fix two harmless warnings and reindent one switch block.
Mostra dettagli
Also, make G_LoadAddon() local to game.c.
-
Generale
Lunatic (map-int VX) build: implement loading <V7 maps.
-
auto-detect LameDuke's PALETTE.DAT and read tables accordingly.
Mostra dettagli
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).
-
Generale
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:
Mostra dettagli
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.
-
Generale
Don't write SelectedGRP to eduke32.cfg when using the Megaton compatibility "-addon" parameter.
-
Generale
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).
-
Generale
Fix startup problems stemming from SelectedGRP = "" ending up in eduke32.cfg
-
Generale
a.m32: add user variable 'override_basepal'.
Mostra dettagli
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.
-
Generale
Revert an awful stupidity I committed in r3700.
-
Generale
Remove 'cl_angleinterpolation' cvar because it had no effect for a while.
Mostra dettagli
Also remove the two instances of commented out code, but not the respective CON structure access code.
-
Generale
Classic drawmasks(): if sprite is on other side of maskwall, always draw it first.
Mostra dettagli
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.
-
Generale
engine.c: stylistic tweaks of drawmasks().
-
in tsprite access, fix checking min/max/RO; tweak RESPAWN preview.
Mostra dettagli
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.
Mostra dettagli
- 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.
Mostra dettagli
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.
-
Generale
Draw the flat on-screen CHAINGUN in a way inspired by 3688, preventing seam.
Mostra dettagli
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.
-
Generale
A couple of trivial stylistic changes.
-
Generale
Lunatic/OS X: generate bytecode in object files from LuaJIT.
-
Generale
osxbuild.sh: Add 'clean' preset, deleting files missed by 'make veryclean'.
-
Generale
OS X: Pass -Wno-narrowing only with GCC 4.3+, fixing arttool build on my setup.
-
Generale
osxbuild.sh: new option --lastrev, 'dummyhelix' preset.
-
Generale
OS X: Write eduke32.log to ~/Library/Logs unless -usecwd is given.
-
Generale
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.
-
Generale
Fix building against libpng 1.6, which removed png_sizeof
-
Generale
Fix A_MoveSprite() wrongly reporting sector hit without z change after r3678.
-
Generale
Fix SPRITES_OF_SECT_SAFE macro. Oops!
-
Generale
gameexec.c: in VM_Fall(), comment out dead code, small indentation change.
-
Generale
TROR no-SE7 water: spawn splash, reuse calculated other sector number.
-
Generale
Improve on the code that handles changing sectors of projectiles.
Mostra dettagli
- 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.
-
Generale
In G_MoveStandables() CRACKx handling, fix oob access of DynamicTileMap[].
Mostra dettagli
Also, in two cases, don't assign A_IncurDamage() result to a variable if it's not needed.
-
Generale
Fix a couple of issues identified in the preceding commit.
Mostra dettagli
- 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.
-
Generale
Clean up of mostly actors.c, but some other files along the way too.
Mostra dettagli
- 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...
-
Generale
TROR no-SE7 water: handle projectiles.
Mostra dettagli
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.
-
Generale
TROR no-SE7 water: allow boundary change only if other-side lotag is other one.
Mostra dettagli
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.
-
Generale
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.
-
Generale
Add cvars "hud_statusbarmode" and "r_rotatespritenowidescreen".
-
Generale
Center the x-position of BOTTOMSTATUSBAR displayed to the screen so an extra-wide one would display correctly.
Mostra dettagli
Let me know if this breaks any mods that have #2462 with an x-dimension other than 320.
-
Generale
Fix a signed/unsigned comparison.
-
Generale
Fix a "duplicate const" error.
-
Generale
Fix reading the GOG and Steam paths for Win64 builds.
-
Generale
Fix "Error setting gamma ramp: DDERR_INVALIDPARAMS" on 64-bit.
-
Generale
Fix Mapster32 crash caused by custom s_buildRev strings longer than five characters.
Mostra dettagli
(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.)
-
Generale
Add newlines to some diagostic log messages that lack them and need them.
-
Generale
Fix the pause during display of TENSCREEN.