Build 2529
SVN-
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.
SVN handles and Git names are merged into one person.
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.
After executing actor or loadactor CON code, null the instruction pointer.
This is so that in the event of a crash, no CON dump will be printed if no (actor or loadactor) CON code was actually executing at the time of the crash, confusing the users. Note: doesn't apply for event code.
fix twisted pstat/nstat and psect/nsect references.
- Makefiles: fix handling of "-Wstrict-overflow=1" to fix Leopard 10.5/Xcode 3.1.4 compatibility
- osxbuild.sh: explicitly specify "ARCH='-arch x86_64'" for 64-bit builds
fix animations that loop to frame 0
With VBOs enabled, the virtual pointer to the geometry of frame 0 of a model is always NULL. This was confusing the polymer code responsible for deciding whether to enable smooth animations or not, which meant that any animation that would loop to frame 0 would do it as if animation interpolation was disabled, which looks very choppy.
OS X: fix build under Leopard/Xcode 3.1.4
OS X: fix and enable startup windows; enable PPC build in osxbuild.sh.
OS X Objective-C files: NSApp -> nsapp as before for a PPC linkage fix
Note: I'm not really sure whether I'm initializing it in the right places.
fix mirror-related oob access analogous to r1872's fix for classic.
When drawing from inside the mirror, there may be no 'bunches' (BUILD lingo, not TROR ones) collected, but following code used the first one unconditionally.
Fix OSX-related typos in Makefile and osxbuild.sh.
Optimizations and tweaks for C replacements of mhline and thline.
Hlines for masked and translucent masked ceiling/floor (sprites). - apply the --> 'do { ... } while (--cnt)' transformation, making these functions iterate cnt+1 times like the asm version. This also fixes an off-by-one issue where sprites or masked ceilings/floors had a one-pixel non-drawn line to the right. - This time, only declare-as-local two 'extern' globals (asm1 and asm2). It seems that I was too eager with "localing" all file-scoped vars earlier. GCC is able to remove the loads from memory inside the loop by itself, whereas clang is not. This is not trivial, since it has to prove that the 'screen' pointer passed to the functions will never alias these globals.
Fix building ebacktrace1.dll with versions of binutils/libbfd after 2.20.51-1. This removes the need to link and depend on libintl (for now).
Fix -Wformat-security and -Wformat-extra-args warnings under clang.