Ottobre 2012 26 build · 67 commit
Build 3053
SVN-
Generale
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-
Generale
In savegames, store dummy constant-length block instead of a _prlight array.
Mostra dettagli
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.
-
Generale
In DNCOORDS display, add spritebridge and sbs.
-
Generale
On non-{Windows, OS X}, don't link to libpng when PNG support is not requested.
Build 3049
SVN-
Generale
Add helper program profdemo.lua, running EDuke32's demo profiling N times.
Mostra dettagli
... 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.
-
Generale
In Load Game menu, show 32- or 64-bitness of save game on mismatch.
-
make 'corruptcheck_noalreadyrefd' a separate OSD command.
Mostra dettagli
Instead of having 'noalreadyrefd' as a 'corruptcheck' subcommand. This way, TAB completion can be had.
-
factor out some code (3x) into GetSaveBoardFilename().
-
Generale
In -d command line arg, allow specifying demo number in addition to file name.
Settembre 2012 13 build · 59 commit
Build 3036
SVN-
Generale
Update ENet with the latest changes from github
Build 3035
SVN-
Generale
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.
Mostra dettagli
Note: CLASSIC_NONPOW2_YSIZE_WALLS is still not enabled in svn.
Build 3034
SVN-
Generale
engine.c: Split CLASSIC_NONPOW2_YSIZE into _WALLS and _SPRITES, enable the second
-
Generale
Port non-pow2 ysize texture mapping routines to MASM, untested.
Mostra dettagli
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.
-
Generale
a.nasm: add 'dword' to some stores in the nonpow2 routines for consistency.
-
Generale
engine.c: add compilation switches for non-pow2 ysize functions, disable for now.
Mostra dettagli
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-
Generale
foreachmap.lua: add option of only printing matching file names (like grep -l)
Mostra dettagli
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).
Mostra dettagli
Requested auto-correction will place such sprites at their sector's first point.
-
Generale
Revert "Abyss crash prevention code", but make the overflow explicit.
Build 3027
SVN-
Generale
Disable spot lights on ATI cards, fixing the recent crashes with Catalyst 12.8.
-
Generale
Fix compilation on Debian 6.0 (Squeeze).
-
Generale
Revert r2223's removing of bit 1 making it to setbrightness(), now a noop.
Mostra dettagli
Hendricks found a bug caused by that commit, so this one enables exprimentation with setbrightness() bit 1 behavior.
-
Generale
Add the option of starting demo profiling from the command line.
Mostra dettagli
EDuke32 will exit afterwards.
-
Generale
foreachmap.lua: add shortcut for quickly finding certain sectors/walls/sprites.
Build 3022
SVN-
Generale
With SDL 1.2 builds, make the profiling be cancelable by pressing any key.
-
Generale
Add a profiling option to the 'demo' OSD command.
Mostra dettagli
See the comment in source/osdcmds.c for instructions on its usage.
-
Generale
Fix aspect determination from showview in fullscreen mode.
Mostra dettagli
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-
Generale
Remove old backtrace DLLs. For some time they have been unused and supplanted by ebacktrace1.dll.
-
Generale
Add detection of Windows 8 and Server 2012 to win_printversion().
-
Generale
Fix three (probably harmless) maybe-uninitialized warnings.
-
Generale
patch from jfmact: "added c++ trimming to header" mathutil.h
-
Generale
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.
Mostra dettagli
While we're at it, factor out duplicate code into P_ChangeWeapon().
Build 3013
SVN-
Generale
SE17 setup: when failing to find warp z height for lower level, use heuristic.
Mostra dettagli
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.]
-
Generale
__fastcall int32_t getangle -> int32_t fastcall getangle. Might fix MSVC build.
-
Generale
Replace some literal statnums with the corrensponding STAT_...
-
Generale
Replace some more literal SE numbers, rename a couple of functions.
Build 3009
SVN-
Generale
STHELP.HLP/SEHELP.HLP: reference SE11 and ST23 from each other.
-
Generale
Replace most other literal SEs/STs by symbolic enumeration values.
Mostra dettagli
Have fun researching Duke3D's hardcoded weirdness!!!
-
Generale
Clean up some timing-related code.
Mostra dettagli
- duke3d.h: comment the timing marcos a bit more - factor out smoothratio calculation - (TICRATE/TICSPERFRAME) --> REALGAMETICSPERSEC
-
Generale
New OSD cmd: demo <demonum or demofile>, starting one instantly from the menu.
Mostra dettagli
Also, correct some comments made in the demo source made earlier. Oops.
-
Generale
Move enum cheatindex_t from game.c to game.h and use its values in osdcmds.c.
Build 3000
SVN-
Generale
Add macro CON_ERRPRINTF(Fmt, ...) and use that everywhere.
-
Generale
Factor out some repeated code into G_{Load,Save}PlayerMaybeMulti.
Mostra dettagli
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().
-
Generale
Use Bstrncpyz in 1 place; fix displaying err msg if write-opening savegame fails
-
Generale
Factor out snprintf'ing a maybe-modDir'd file name into macro G_ModDirSnprintf().
Mostra dettagli
... 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.
-
Generale
Move G_HandleAsync() into game.h as 'static inline' and use everywhere else.
Build 2993
SVN-
Generale
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-
Generale
compat.h: tweak indentation of some preprocessing directives.
-
Generale
Make getangle() a __fastcall function instead of static inline.
Mostra dettagli
This trims four 4k pages of code from the release EDuke32 build and one page from Mapster32.
-
Generale
In dosetaspect(), bail out calculating radarang2[] instead of failing assertion.
Mostra dettagli
When this happens, parallaxmodes other than 0 will be unavailable and silently draw as parallaxmode 0. This usually happens with extremely wide resolutions.
-
Generale
Add lunatic/test/tables.lua, which was used to compare the calc'd sin/atan values.
-
Generale
Calculate sine and arctan tables, getting rid of TABLES.DAT dependency.
Mostra dettagli
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-
Generale
player.c: factor out inline checks for shootable switch picnums.
-
Generale
player.c: factor out multiple instances of a 3-liner into A_SetHitData().
Mostra dettagli
Playing around with Coccinelle's semantic patches... be prepared for more.
-
Generale
Remove some unneeded NULL checks.
Mostra dettagli
Agosto 2012 18 build · 125 commit
Build 2977
SVN-
Generale
Fix "shooting" tripbombs from non-players such as the SE shooter.
Mostra dettagli
Well, this never worked anyway, but invoking demons flying out of your nose is never a good idea.
Build 2976
SVN-
Generale
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.
Mostra dettagli
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.
-
Generale
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.
Mostra dettagli
Suggested at: http://forums.duke4.net/topic/5667-tiny-request/
-
Generale
The Build tools no longer link with SDL or SDL_mixer because they don't need to.
Mostra dettagli
-
Generale
Add EVENT_PREGAME. Now all sprites are processed in the following fashion:
Mostra dettagli
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.
-
Generale
Disable questionable lines from Makefile.common that were causing my build system to deep crash.
Build 2971
SVN-
Generale
Quit the game if SE17 (warp elevator) setup fails.
Mostra dettagli
The spawn-time SE 17 setup uses nextsectorneighborz() which can fail (return -1) on some circumstances and would cause an OOB sector[] access.
-
Generale
Replace some literal numbers denoting SEs/STs by symbolic enumeration values.
-
Generale
engine.c: rewrite nextsectorneighborz() for clarity.
-
Generale
build.lua map loader: add the option of canonicalizing sprite order.
Mostra dettagli
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.
-
Generale
foreachmap.lua: add -e"some code..." switch to execute code from the cmdline.