Agosto 2013
-
Generale
For Clang debugging build, only pass selected UBSanitizer options.
Mostra dettagli
This makes CLANG=1 RELEASE=0 DEBUGANYWAY=2 OPTLEVEL=1 builds definitely pretty playable (only Polymost tested) while having a decent amount of sanitization.
-
Generale
Fix issue with PIPEBOMB_CONTROL mode 2, reported at http://forums.duke4.net/topic/6721-grenade-lifetime
-
Generale
MSVC build fix. DONT_BUILD.
-
Generale
polymer.c: remove redundant NULL pointer check in polymer_invalidateplanelights().
Mostra dettagli
Redundant for the same reason as the preceding one: the pointer has already been dereferenced at the point the check is made. Also, all 5 calls of that function pass a valid pointer (provided the pointers from which the expressions are derived are valid). Reported by Stack, too.
-
Generale
game.c: remove dead bounds check for cheatbuf[], add assertion.
Mostra dettagli
The check is dead because it is made after the fact (oob access), but the cheat string matching logic below actually assures that cheatbuflen < sizeof(cheatbuf) at all times. Exposed using the Stack tool from http://css.csail.mit.edu/stack/ . Also, in gamedef.c's definecheat handling, print the string length (19), not the buffer length (20) if the cheat was truncated.
-
Generale
When issuing "setrendmode" OSD command with mismatched vidmode, auto-switch.
-
Generale
Fix taking address out of bounds of stack'd array, introduced in r3983.
Mostra dettagli
Clang's UBSan reports this as undefined behavior. I think that the reason is as follows: C99 6.5.3.2#1 (Constraints) says: The operand of the unary & operator shall be either a function designator, the result of a [] or unary * operator, or an lvalue that designates an object that is not a bit-field and is not declared with the register storage-class specifier. But in case of an expression like "&array[-1]", the operand ("array[-1]") does not designate a valid object. Moral: check first -- assure that an expression is valid for a particular operation before carrying it out. Keep in mind that otherwise, the compiler is absolutely free to optimize out the *check*.
-
Generale
baselayer.c: remove baselayer_onvideomodechange, onvideomodechange.
-
Generale
Mapster32/non-Lua: don't keep tags used for TROR nextwalls when c&p-ing sector.
Mostra dettagli
Again, in case a bunch is discarded. The tags would appear as really tagging the walls instead of being "hidden".
-
Generale
Mapster32/Lunatic: clear bunchnum and TROR nextwalls when c&p-ing sectors.
Mostra dettagli
That is, if a bunch is discarded when copying a sector to the clipboard. (This happens if not all sectors that are part of the bunch are copied.)
-
fix my r_usetileshades==2 sub-method.
Mostra dettagli
Don't touch TerminX's r_usetileshades==1 or it being the default.
-
Generale
checkdefs.sh: check first and second args, handle definelevelname.
-
Generale
net.c: move a necessary bound check to BEFORE the oob access happening.
Mostra dettagli
Fixes the undefined behavior discussed here: http://forums.duke4.net/topic/3857-the-crash-thread/page__view__findpost__p__152612
-
Clean up "show height indicators" mode.
Mostra dettagli
- For setting 1, don't draw them for red walls whose sector floors have equal height. - Make setting 1 the default, because I consider drawing them for such walls (and white walls) noise (as opposed to information). The "verbose" setting 2 is still available.
-
Generale
Retire MultiPsky_TileToIdx() in favor of engine-side getpskyidx().
Mostra dettagli
DONT_BUILD, because there have been no significant changes of the non-Lua build.
-
Generale
Lunatic util: add foreachmap module 'plax', looking for maps w/ multiple psky tiles.
Mostra dettagli
In foreachmap.lua, make init() be able to return a start index for cmdline args, for the case where the run worker script wants to handle options, for example.
-
sync defs.ilua's user_defs with r3993, adding member MasterVolume.
-
add LuaJIT's jit/bcsave.lua and headers for synthesis build preparation.
-
prepare Makefiles for synthesis build.
Mostra dettagli
- libs and headers are expected in platform/Windows/* (not there yet) - prefix Lua #includes with luajit-2.0/ - build bytecode objects with absolute path name (used for debug info)
-
Generale
Fix keyboard layout issue reported at http://forums.duke4.net/topic/6683-eduke32-forces-my-keyboard-to-us-layout-rather-than-uk
-
Generale
Enable ATI FBO color attachment workaround for Intel as well. Fixes some HD4000 issues.
-
Generale
Fix net.h, dunno why MSVC accepts functions that don't match their prototypes without complaining... :p
-
Generale
Revert "Silence FBO initialization failure message on Intel HD 4000 by moving the glCheckFramebufferStatusEXT() call to below the glBindFramebufferEXT() call. The error returned on HD 4000 previously was something to do with the framebuffer being incomplete, and this seems to fix it, so hopefully it's right."
Mostra dettagli
- Annulla
- 9a2617e
-
Generale
Factor some duplicate code into Net_SpawnPlayer(), adjust Net_ExtractPlayerUpdate() a bit.
-
Generale
Implement a master volume control that functions separately from the sound effect and music volume controls. This is important because it allows waveform based music (like the SC-55 music pack, etc.) to play back at a louder volume than the sound effects if the end user so desires.
-
Generale
Refactor projectiles a bit. Tested with all of the original weapons and with the weapons in the Duke 64 mod.
-
Generale
Silence a MSVC warning
-
Generale
Add support for listing symbols of a specified prefix to the "listsymbols" console command
-
Generale
Bring GROWSPARK a bit more in line with the other hard-coded hitscan projectiles, and give it the same sort of accuracy adjustment as the pistol gets when autoaim is disabled.
-
Generale
Update ud.config.LastUpdateCheck even when G_GetVersionFromWebsite() fails. SourceForge was down today and it irritated me.
-
Generale
Update win_printversion() to handle Windows 8.1/Server 2012 R2.
-
Generale
-
Generale
Silence FBO initialization failure message on Intel HD 4000 by moving the glCheckFramebufferStatusEXT() call to below the glBindFramebufferEXT() call. The error returned on HD 4000 previously was something to do with the framebuffer being incomplete, and this seems to fix it, so hopefully it's right.
-
Generale
Bump MAXSYMBOLS to 512. This was probably the cause for the savestate and restorestate debug commands not being registered with the OSD at startup.
-
Generale
Fix up a couple of functions to adhere better to unwritten code formatting standards. Should be zero functional changes in terms of what the functions actually do.
-
Generale
Revert "Polymost "use tile shades": don't confound shade and visibility." Temporarily add a r_usetileshades 2 to switch between Helixhorned and myself's ideas of how this should work.
-
Generale
Move CONTROL_ProcessBinds() to CONTROL_GetInput(). I don't think this breaks anything; if it does, revert it!
-
Generale
Fix a weird problem where the arrow keys would sometimes send a shift keypress on Windows, manifesting in odd things like inconsistent turning speeds when using the keyboard, the grid helper lines showing up in Mapster32 when they weren't supposed to, etc. For some reason, an extra raw input keyboard event is generated with an out of bounds VKey value (0xFF) which must be filtered for proper operation. I wasn't able to find any official documentation regarding this but I did find it mentioned in a couple of random newsgroup/forum postings.
-
disable printing debug messages for the preview build. BUILD_LUNATIC.
-
slightly more complete handling of (multi-tile) ART skies.
Mostra dettagli
- Use the proper tile sequence when multiple pskies are present in a map. However, there's still only *one* psky chosen at map load time. - Handle three horizfrac cases: * 0, psky always at same level wrt screen * 65536, psky horiz follows camera horiz (e.g. E4L9) * otherwise, fall back to default hard-coded parallax implemented as an angle fraction
-
Generale
Clean up parallaxed sky functionality, part 2.
Mostra dettagli
- Rename sky_t members: yscale -> horizfrac, bits -> lognumtiles. - Add default sky (8 tiles, horizfrac=32768 (i.e. 1/2 the scene horiz), offsets all zero) and CLOUDYOCEAN sky (8 tiles, horizfrac=65536, offsets all zero) to multipsky[]. - Get rid of "psky_t g_psky", merely maintaining a g_pskyidx instead. Set it up at map load time so as to keep the behavior of the legacy per-map psky: the last sector index with a matching psky ceiling wins. - In mapstate_t, save g_pskyidx too, not (former) pskybits and pskyoffs[]. - Make on-map-load global psky setup consistent for the game and editor by factoring it out into common.c: G_SetupGlobalPsky(). - Remove a couple of useless initializations, add some static assertions. This commit is more likely to introduce subtle differences in behavior. Specifically, getpsky() now always returns the default sky properties instead of the global sky ones (but with all-zero offsets) when no match for a suiting multi-psky is found. This is only likely to affect the yscale/horizfrac of non-multi-pskies when a global non-default multi-psky has been set up. Bump BYTEVERSION again.
-
Generale
Clean up parallaxed sky functionality, part 1.
Mostra dettagli
- Consolidate psky* arrays into a "typedef struct psky_t" "g_psky" and "multipsky[]". - Factor out getting parallaxed sky properties into getpsky(). - Condense initial multi-psky setup by memcpy'ing from multipsky[]. - New function: MultiPsky_TileToIdx(). - Add new define PSKYOFF_MAX and related consistency-checking assertions. - Lower MAXPSKYTILES to 8 to reflect current usage (was 256). - Game: make multi-pskies consider dynamically-remapped MOONSKY1, BIGORBIT1 and LA. (Not very useful as the editor will still only act for the static values -- 80, 84 and 89, respectively.) An attempt has been made to preserve behavior even in strange cases, so this commit is unlikely to introduce regressions. Because of point 6, BYTEVERSION had to be bumped.
-
sanity-check some arguments passed to con.action().
Luglio 2013
-
Generale
Updates to the processing of the tilefromtexture def command:
Mostra dettagli
- Allow xoffset and yoffset to modified independently of a tile definition, much like texhitscan and nofullbright. (Both still default to zero when a tile is specified, to keep current behavior, and because it makes sense.) - Add actual detection of the "nofullbright" keyword, which appears to have been overlooked in r3230. - Internal: Eliminate the need for one int32_t by condensing two variables into "flags".
-
Generale
Patch from johnnyonflame to fix the GCW and Dingoo build process.
-
Generale
Force orientation bit 2 for screentext in addition to qstrdim, to match all other screen drawing commands.
-
Add pre-compiled LPeg 0.12 for 32-bit Windows (MinGW).
-
rename test.elua to test.lua.
Mostra dettagli
The old extension is an artifact from when I was thought that extensions should label whether a Lunatic module is to be used in internal/external contexts. Also, change test.lua slightly and commit a little updated documentation.
-
Generale
Lose the 'packed' attribute on actor_t.
Mostra dettagli
Its members are already laid out on the natural alignment boundaries. Compilation tested with {32-bit, 64-bit} x {Lunatic, non-Lua} builds.
-
protect global environment.