September 2012
-
General
Replace some more literal SE numbers, rename a couple of functions.
-
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.
-
General
OSD command 'map': entering a name with a '*' wildcard lists those that match.
Show details
A new function maybe_append_ext() is added to common.c and used in the handling of the -d<demo.edm> cmdline parameter and the 'map' OSD command with one non-wildcard arg. (It's slightly different from the way the extension was maybe-appended previously.)
-
General
Make demos be named edemoXXX.edm, XXX ranging from 000 to 999.
Show details
Also, don't stop playback cycling at the 10th demo and show the demo number when beginning to record one.
-
General
Fix entering the game from within a demo, but don't enable it.
-
General
demo.c: minor cleanup; comment the G_PlaybackDemo() a little.
-
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.
-
General
Fix crash when recording demo, stooping it, going to title screen, and exiting.
Show details
A macro MAYBE_FCLOSE_AND_NULL(fileptr) is introduced in compat.h that does what it says.
-
rename some functions for new-style conventions, functionize one marco...
-
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.
-
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.
-
General
Move #define PI from to build.h, add bound-checking assertion in dosetaspect().
-
General
Some [U]INT_MAX --> [U]INT32_MAX.
-
General
Move #include <math.h> from polymer.h to polymer.c.
-
General
Clean up A_FindPlayer(), constify some function args, some 0x7fffffff->INT32_MAX
-
General
player.c: factor out 7x similar code into GetAutoAimAngle().
Show details
This is one of the cases where the duplicated code has minor modifications at each site. These are handled by function args here.
-
General
Remove commented out AI Duke opponent code.
-
General
Remove some #if 0 blocks that are probably of no interest any more.
Show details
For reference, they are the following: - cache1d.c: suckcache() - build.c: compare_wall_coords() - make switch-invisible heuristic - Mapster32: old sprite search - Mapster32: manual z range - m32script: read/writearray, qgetsysstr - menus.c: savetemp()
-
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
-
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.
-
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.
-
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.
-
General
build.lua: add 'numbunches' field to map loader.
-
for c&p-ing map portions w/o TROR, fix wrongly resetting wall lotag/extra
-
General
Add map2text.lua and helper script mapdiff.sh.
-
for copy-pasting map portions without TROR, fix wrongly resetting xpanning.
Show details
This is really an artifact of overloading the sector fields for different uses. For copy-pasting TROR'd portions, the bug still persists.
-
General
On Linux build without startup GUI, don't save ModDir to config.
-
General
A couple of trivial changes.