March 2012
-
General
Replace various occurences of "Bstrncpy(buf, src, sz); buf[sz-1]=0;" with Bstrncpyz
-
General
Minor tweaks of makepalookup() and hicinit().
-
General
Replace {get,clear}filenames and duplicate autoload code in astub.c/game.c.
Show details
This additionally fixes leaks that were caused by traversing the file name list with the 'findfiles' pointer and not clearing them afterwards (even if there was a handle to the list head via 'findfileshigh').
-
General
Replace {get,clear}filenames with fnlist functions in build.c, menus.c and osdcmds.c
-
General
Factor out different {clear,get}filenames definitions into fnlist_t + functions.
Show details
Don't actually replace the instances in the code now. Additions in common.h: - fnlist_t, which combines CACHE1D_FIND_REC *finddirs, *findfiles and int32_t numdirs, numfiles - the FNLIST_INITIALIZER macro, which MUST be used for automatic variables - fnlist_clearnames, fnlist_getnames functions - G_LoadGroupsInDir, G_DoAutoload, two often-occurring uses of these
-
General
Factor out eleven (!) instances of identical code into check_file_exist().
-
General
Clean up defs.c a little.
Show details
- remove redundant bound checks - add necessary bound checks - make one comparison pair consistent (> vs. >=) - one if-if --> clamp
-
General
Fix a potential sprintf to a buffer passed to it as a string argument.
-
fix specifying a custom configuration file with -cfg.
Show details
We were writing into a string literal. Ouch!
-
General
Add "static inline" helper function "Bstrncpyz" to compat.h.
-
General
Factor out various instances of getatoken() into common.c.
Show details
Alongside, these make into into the header: - the 'tokenlist' type (a typedef'd struct) - the T_EOF and T_ERROR enumeration values
-
General
Guard scriptfile.h with an #ifndef sentinel.
-
General
Replace all occurences of assert in our code with Bassert.
-
General
Add Bassert to compatibility macros/functions, currently only an assert wrapper.
-
General
Change input and return types of inline function clamp() from int to int32_t.
-
General
Makefile.common: comment out usage of llvm versions of ar and ranlib with clang.
Show details
These are for LLVM bitcode, I think. In any case, they're giving me errors.
-
General
Capitalize numgrpfiles macro to NUMGRPFILES.
-
General
Add common.[ch] which should be used for common non-engine types/functions/data.
Show details
As inauguration, move G_AddGroup, G_AddPath and struct strllist there. The header is located in build/include, because in the future, code that resides closer to (but is not strictly part of) the engine might need to be factored into here. The source file, however, is in the source/ directory.
-
General
osxbuild.sh: more options and designation of presets
-
General
All string literals sent as normal messages to the player in-game written in ALL CAPS have been converted by hand to more proper capitalization. (Critical errors have been left as-is, and the editor did not need changes.)
-
General
Add "specularpower" and "specularfactor" as synonyms of "specpower" and "specfactor" respectively.
-
General
Superficial text changes:
Show details
- Help window text cleaned and made more consistent between game and editor - Added help entry for "-clipmap" - Log text for using CON, DEF, and RTS files has been made consistent - All instances of '%s' have been replaced with \"%s\" because ' is a valid filename character. (At least on Windows.)
-
General
OS X: Fix more warnings.
-
cull sprite lights after computing sprite geometry
Show details
This was broken ever since updatesprite() had been forked off drawsprite() and would cause static lights to never hit static sprites until one or the other changed, after which the light would always get culled against outdated sprite geometry.
-
don't shadow-optimize light culling in cached sprites
Show details
Since updatesprite() only happens once for static sprites, avoiding light culling if we hit it in a shadow pass means that sprite will never be lit as long as that happens.
-
more complex gamevar-decl code.
-
General
Bound-check the 'picnum' argument to rotatesprite; tweak CON digitalnumber check.
Show details
There are instances where oob picnums may propagate to that function, so protect it. The digitanumber[z] bound check is actually made more permissive, but could also just as well be removed now.
-
General
Accumulated trivia.
Show details
- engine.c: move some variables into a lower block - premap.c: clearbufbyte --> Bmemset
-
General
Take over more correct G_AddGroup from game.c to astub.c.
Show details
The code in the editor was potentially doing a strcat on a strdup'd string. Also, rename AddGamePath to G_AddPath in astub.c and add CODEDUP markers because shared stuff like this ought to be factored out into a separate source file some time.
-
General
Allow up to 7 skills, coded by M210 and taken over with modifications.
Show details
Skill names are defined via 'defineskillname' as before, but the index of the last non-empty skill name (plus one) is taken as the skill count. So, if you only define the 6th, there will be no effect. Note that currently, there is no way to specify less than four skills because the CON parser doesn't allow the empty string for the name (it'll go beyond the line) and because the default skill names are initialized in EDuke32 too, in addition to the CONs.
-
General
Fix an assertion failure with dorotatesprite 4-pixels vline drawing.
Show details
-
General
Fix static-main-arrays debug build, which is without the clipshape feature.
-
General
Factor out two practically identical instances of ceiling/floor setup code.
-
General
Factor out assignment of various globals in 4 instances of wall drawing code.
Show details
This makes the differences in these codes stand out much more clearly.
-
General
Make "LIBS+= $(L_SSP) -Wl,--enable-auto-import" conditional to Windows.
-
General
Correct 'nofloorpalrange' range clamping, move one get_hud_pal() farther down.
Show details
The nofloorpalrange beginning and end indices are silently clamped to 1 .. 255.
-
General
- Makefiles:
Show details
- Fix typo, correctly adding SDL libs to the tools on OS X so that makesdlkeytrans builds. - Move all mention of $(LIBS) out of build/Makefile into build/Makefile.shared because no linking takes place in the engine itself so LIBS additions were lost. This should fix USE_LIBPNG=1 on Windows at least. - Other assorted cleanup.
-
General
Update credits in menus.c with people from the Credits wiki page. Also, fix the text and order of other entries.
-
General
Build tools:
Show details
- Fix up and add building instructions for kmd2tool, getdxdidf, and makesdlkeytrans. - Add kmd2tool to "utils" build job. - Fix warning in and cross-platform building of generateicon. - Source and text cleanup!
-
General
Makefiles:
Show details
- Properly handle the architecture definition when BUILD32_ON_64=1 - Add proper $(*LDFLAGS) to which LTO and ARCH are correctly passed. - Cleanup of compiler flag variables. This should fix to some degree building of the Build tools on OS X, and it may possibly fix the crashing of the OS X x86 32-bit build.
-
General
Rather trivial changes in engine.c and crc32.c.
-
General
Make 'nofloorpalrange' def token affect HUD weapons.
-
General
New game def token "nofloorpal <pbeg> <pend>", disabling sprites taking on floor pals.
Show details
It has always annoyed me how floors with "shirt-color" type palookups like 21 affected the color of its containing sprites and HUD-drawn stuff. This commit allows one to specify an inclusive range of pals for which this should be disabled for sprites (but not for HUD stuff, yet).
-
General
Remove global 'uint8_t *anim_pal' which was only used once as a temporary.
-
General
In Mapster32, remove ReadGamePalette() and GAMEpalette[] and use engine's palette[].
-
General
Make engine.c's loadpalette return -1 if palette.dat is not found.
Show details
... and initengine now returns 1 if loadpalette() fails.
-
Factor out 'rainbow' drawing code and use bytesperline instead of xdimen.
-
General
Comment out computergetinput() and children, which are unused since ng netcode.
-
General
In in-game overhead map, don't draw invisible extended floors.
-
Link to libz on OS X like on Windows.