October 2012 26 builds · 67 commits
Build 3053
SVN-
General
Minor cleanups in actors.c, mostly relating to custom projectiles and the like. A bug causing custom projectiles to knock the player back twice as far as the hard-coded ones was also fixed. There should be no other functional changes for the end user.
Build 3052
SVN-
General
In savegames, store dummy constant-length block instead of a _prlight array.
Show details
sizeof(_prlight) differs across compilers, and besides, Polymer lights were not loaded anyway (they're restored live in-game later). The savegame version was not bumped, but only savegames made with builds where sizeof(_prlight)==261 (like synthesis) will stay compatible! Report and helpful debugging information by LeoD.
-
General
In DNCOORDS display, add spritebridge and sbs.
-
General
On non-{Windows, OS X}, don't link to libpng when PNG support is not requested.
Build 3049
SVN-
General
Add helper program profdemo.lua, running EDuke32's demo profiling N times.
Show details
... and displaying statistics afterwards. It was easier to do it this way than porting stat.lua to C and especially adding more logic to the already spaghetti-like demo playback code.
-
General
In Load Game menu, show 32- or 64-bitness of save game on mismatch.
-
make 'corruptcheck_noalreadyrefd' a separate OSD command.
Show details
Instead of having 'noalreadyrefd' as a 'corruptcheck' subcommand. This way, TAB completion can be had.
-
factor out some code (3x) into GetSaveBoardFilename().
-
General
In -d command line arg, allow specifying demo number in addition to file name.
September 2012 13 builds · 59 commits
Build 3036
SVN-
General
Update ENet with the latest changes from github
Build 3035
SVN-
General
Fix a.masm changes so MSVC builds work again. The relevant functionality seems to work (non-power of 2 textures drawn without error), even with CLASSIC_NONPOW2_YSIZE_WALLS defined in engine.c, but I'm not familiar with any corner or edge cases that need to be watched out for with this.
Show details
Note: CLASSIC_NONPOW2_YSIZE_WALLS is still not enabled in svn.
Build 3034
SVN-
General
engine.c: Split CLASSIC_NONPOW2_YSIZE into _WALLS and _SPRITES, enable the second
-
General
Port non-pow2 ysize texture mapping routines to MASM, untested.
Show details
It's mostly taking over the NASM code, with a couple of changes: - declarations for externals and globals are slightly different - the masm seems to have e.g. "dword ptr [...]" where the nasm has only "dword [...]", though the masm also has a couple of the latter. The "ptr" modifier seems kinda redundant to me, but I added it to every indirection anyway.
-
General
a.nasm: add 'dword' to some stores in the nonpow2 routines for consistency.
-
General
engine.c: add compilation switches for non-pow2 ysize functions, disable for now.
Show details
Previously, we used them in our builds for sprites, but MSVC builds don't have the ASM ported to MASM, and thus the workaround of ignoring the linking errors was not safe.
Build 3030
SVN-
General
foreachmap.lua: add option of only printing matching file names (like grep -l)
Show details
Also, add convenience wrapper script findmaps.sh for quickly searching for sprites/walls/sectors satisfying a certain condition in all map files under a given directory.
-
add check for sprites being out of the maximal grid range (+-524288).
Show details
Requested auto-correction will place such sprites at their sector's first point.
-
General
Revert "Abyss crash prevention code", but make the overflow explicit.
Build 3027
SVN-
General
Disable spot lights on ATI cards, fixing the recent crashes with Catalyst 12.8.
-
General
Fix compilation on Debian 6.0 (Squeeze).
-
General
Revert r2223's removing of bit 1 making it to setbrightness(), now a noop.
Show details
Hendricks found a bug caused by that commit, so this one enables exprimentation with setbrightness() bit 1 behavior.
-
General
Add the option of starting demo profiling from the command line.
Show details
EDuke32 will exit afterwards.
-
General
foreachmap.lua: add shortcut for quickly finding certain sectors/walls/sprites.
Build 3022
SVN-
General
With SDL 1.2 builds, make the profiling be cancelable by pressing any key.
-
General
Add a profiling option to the 'demo' OSD command.
Show details
See the comment in source/osdcmds.c for instructions on its usage.
-
General
Fix aspect determination from showview in fullscreen mode.
Show details
This makes the splitscreen mod not have a ridiculous view distortion. Such scenes will have no correction for non-square pixels, though.
Build 3019
SVN-
General
Remove old backtrace DLLs. For some time they have been unused and supplanted by ebacktrace1.dll.
-
General
Add detection of Windows 8 and Server 2012 to win_printversion().
-
General
Fix three (probably harmless) maybe-uninitialized warnings.
-
General
patch from jfmact: "added c++ trimming to header" mathutil.h
-
General
Revise EVENT_CHANGEWEAPON so that RETURN has no effect except for two values. -1 will cancel the weapon switch. -2 will override the switch to whatever value p->curr_weapon is set in the course of the event.
Show details
While we're at it, factor out duplicate code into P_ChangeWeapon().
Build 3013
SVN-
General
SE17 setup: when failing to find warp z height for lower level, use heuristic.
Show details
Specifically, use the elevator's own ceiling z height instead of searching nextsectors with nextsectorneighborz(). This makes maps like L9.map (Spaceport from N64) or DEMOUNT.MAP work. [Note well: work at all, since if it happened to work before, that was pure coincidence.]
-
General
__fastcall int32_t getangle -> int32_t fastcall getangle. Might fix MSVC build.
-
General
Replace some literal statnums with the corrensponding STAT_...
-
General
Replace some more literal SE numbers, rename a couple of functions.
Build 3009
SVN-
General
STHELP.HLP/SEHELP.HLP: reference SE11 and ST23 from each other.
-
General
Replace most other literal SEs/STs by symbolic enumeration values.
Show details
Have fun researching Duke3D's hardcoded weirdness!!!
-
General
Clean up some timing-related code.
Show details
- duke3d.h: comment the timing marcos a bit more - factor out smoothratio calculation - (TICRATE/TICSPERFRAME) --> REALGAMETICSPERSEC
-
General
New OSD cmd: demo <demonum or demofile>, starting one instantly from the menu.
Show details
Also, correct some comments made in the demo source made earlier. Oops.
-
General
Move enum cheatindex_t from game.c to game.h and use its values in osdcmds.c.
Build 3000
SVN-
General
Add macro CON_ERRPRINTF(Fmt, ...) and use that everywhere.
-
General
Factor out some repeated code into G_{Load,Save}PlayerMaybeMulti.
Show details
This currently says that MP saving/loading isn't supported, but doesn't really work correctly. Also, properly bound-check the immediate argument to CON's 'save' command and one more ... -> G_HandleAsync().
-
General
Use Bstrncpyz in 1 place; fix displaying err msg if write-opening savegame fails
-
General
Factor out snprintf'ing a maybe-modDir'd file name into macro G_ModDirSnprintf().
Show details
... and use it in three places. In two of these uses, 1) CON {read,write}arrayfromfile and 2) G_SavePlayer, display an error message if the file name such generated is too long. In the CON commands of 1), also error out if the file couldn't be opened.
-
General
Move G_HandleAsync() into game.h as 'static inline' and use everywhere else.
Build 2993
SVN-
General
Rename a couple functions local to actors.c, remove IFHITSECT macro. This is mostly a test commit to make sure our CIA.vc script is properly updated now.
Build 2992
SVN-
General
compat.h: tweak indentation of some preprocessing directives.
-
General
Make getangle() a __fastcall function instead of static inline.
Show details
This trims four 4k pages of code from the release EDuke32 build and one page from Mapster32.
-
General
In dosetaspect(), bail out calculating radarang2[] instead of failing assertion.
Show details
When this happens, parallaxmodes other than 0 will be unavailable and silently draw as parallaxmode 0. This usually happens with extremely wide resolutions.
-
General
Add lunatic/test/tables.lua, which was used to compare the calc'd sin/atan values.
-
General
Calculate sine and arctan tables, getting rid of TABLES.DAT dependency.
Show details
We're pulling stuff from math.h even in non-GL builds right now, so adding libc's sin() and atan() doesn't seem like a big deal. In the unlikely event that their accuracy is so bad that the calculated tables don't match the original ones, a warning is issued on little-endian platforms.
Build 2980
SVN-
General
player.c: factor out inline checks for shootable switch picnums.
-
General
player.c: factor out multiple instances of a 3-liner into A_SetHitData().
Show details
Playing around with Coccinelle's semantic patches... be prepared for more.
-
General
Remove some unneeded NULL checks.
Show details
August 2012 18 builds · 125 commits
Build 2977
SVN-
General
Fix "shooting" tripbombs from non-players such as the SE shooter.
Show details
Well, this never worked anyway, but invoking demons flying out of your nose is never a good idea.
Build 2976
SVN-
General
Modify EVENT_CHANGEWEAPON so that it actually serves a purpose. Instead of being triggered before curr_weapon is changed, with nothing used for input or output with RETURN (meaning you could not cancel), now RETURN is set to the prospective new weapon ID and you can change it or cancel it in the event.
Show details
Note that since setting RETURN did nothing before, there is no backwards compatibility to uphold. Therefore, setting RETURN to 1 will cause the pistol to be selected, not disable the event. Set RETURN to -1 to cancel switching.
-
General
Expand "Switch weapons on pickup" to three options: "Off", "All weapons", and a new one, "Fav priority". It switches to the weapon you have just picked up only if it is ranked higher in the favorite weapon hierarchy using the "-u" parameter.
Show details
Suggested at: http://forums.duke4.net/topic/5667-tiny-request/
-
General
The Build tools no longer link with SDL or SDL_mixer because they don't need to.
-
General
Add EVENT_PREGAME. Now all sprites are processed in the following fashion:
Show details
1. EVENT_PREGAME 2. hardcoded stuff 3. EVENT_GAME One potential use is to examine values which are clobbered by commands such as ifhitweapon/ifwasweapon.
-
General
Disable questionable lines from Makefile.common that were causing my build system to deep crash.
Build 2971
SVN-
General
Quit the game if SE17 (warp elevator) setup fails.
Show details
The spawn-time SE 17 setup uses nextsectorneighborz() which can fail (return -1) on some circumstances and would cause an OOB sector[] access.
-
General
Replace some literal numbers denoting SEs/STs by symbolic enumeration values.
-
General
engine.c: rewrite nextsectorneighborz() for clarity.
-
General
build.lua map loader: add the option of canonicalizing sprite order.
Show details
This is mostly for debugging, since currently, Mapster32 restores sprites not in the same order as the original sprite index order. Also, expose this option from map2text.lua and mapdiff.sh.
-
General
foreachmap.lua: add -e"some code..." switch to execute code from the cmdline.