Build 2577
SVN-
General
Fix the MSVC build, common.c was only added to the GNU Makefile.
SVN handles and Git names are merged into one person.
Fix the MSVC build, common.c was only added to the GNU Makefile.
fix unused variable permanentlock
Really fix PNG screenshots.
Don't fall back on allocache if malloc'ing a palookup buffer or transluc table fails.
First, it's unlikely in our day and age. Second, they're always free'd at the end, so allocache'ing them is incorrect.
Fix a potential uninitialized mem read in debug msg when in void space.
Replace {get,clear}filenames and duplicate autoload code in astub.c/game.c.
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').
Fix a potential sprintf to a buffer passed to it as a string argument.
fix specifying a custom configuration file with -cfg.
We were writing into a string literal. Ouch!
OS X: Fix more warnings.
cull sprite lights after computing sprite geometry
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.
Fix an assertion failure with dorotatesprite 4-pixels vline drawing.
Fix static-main-arrays debug build, which is without the clipshape feature.
- Makefiles:
- 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.
Update credits in menus.c with people from the Credits wiki page. Also, fix the text and order of other entries.
Build tools:
- 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!
Makefiles:
- 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.
Update/fix treatment of libpng libraries and headers under Windows and OS X.
Probably fix sheared PNG screenshots.
We shouldn't assume a particular bytes-per-line value and use ylookup[] instead. Specifically, windowed modes on Windows use a frame buffer that always has odd x dimension.
Clear up after r2495. (Because I'm a pedantic asshole.)
- in Mapster, pre-form the default 10 clip map names before returning from G_CheckCommandLine() so it gets loaded even if we passed no cmdline args. - malloc + strlen + strcpy --> strdup - don't need to spank dead variables ;) - we may call calloc with zero size, which isn't bad by itself, but asserting for non-null afterwards is. Allocs of 0 are implementation-defined, and may well return a null pointer (C99 7.20.3).
osxbuild.sh: Potential fix for the $commonargs bash variable.
Add "unpackssi" and "Build Customization Suite" [Palette Importer/Extractor] (bsuite), both by JonoF. I have rewritten bsuite to use command-line arguments rather than a 16-bit real mode DOS UI. Both programs have had all warnings fixed and whitespace corrected.
Remix undo/redo system, fixing potential access of freed memory.
A run of consecutive mapstates may share sector/wall/sprite blocks, but the code was deciding whether to free them solely on local properties. Now, save a reference count at the beginning of each such allocated block and free it only if it reaches zero.
"Promote" oob sectnum/statnum sprites to corruption level 4.
Also, always print at least level 5 corruptions (that is, have no instances of completely silent corruptcheck).
sprite list consistency checker in corruptcheck.
This checks for about every possible type of sprite list corruption and reports back with a corruption level 5 if one of the 14 validations fail.
This should fix the assertion failure with undo/redo, my failure in r2478.
Fix (still not enabled) undo/redo code compilation.
Also include one comment about a currently failing assertion there.
fix faulty limit check in duplicate_selected_sprites().
Fix warnings in enumdisplay.c only revealed with the previous Makefile edits.
Fix all warnings in the Build tools for both GCC and Clang.
Fix another typo in osxbuild.sh.
More Build tools improvements:
- JFBuild ports: arttool, givedepth, and mkpalette - All viable tools are now built when 'make utils' is invoked, not just some - Revert "initprintf" hack of previous commit and replace it with "compat_tools.c" - Move Bstrtolower from baselayer.c to compat.c - Makefiles: Add start and finish messages for the tools - Makefiles: To prevent "-Wimplicit" from being passed to the C++ compiler, create $(*CONLYFLAGS)
Fix compiling the Build tools by:
- Adding $(EXESUFFIX) where it belongs in the Makefile. - Eliminating a call to initprintf() from compat.c. This may not be ideal.
Fix JonoF's email address.
osxbuild.sh:
- Generate changelog and add to zip. - Increase minimum version to Leopard 10.5. - Fix typo in usage printout.