Build 2597
SVN-
General
Build tools:
Show details
- clearbufbyte --> Bmemset - add libm to $(UTILLIBS) to fix building of mkpalette - add self-explanatory Makefile commands: dxutils, sdlutils, printdxutils, printsdlutils
SVN handles and Git names are merged into one person.
Build tools:
- clearbufbyte --> Bmemset - add libm to $(UTILLIBS) to fix building of mkpalette - add self-explanatory Makefile commands: dxutils, sdlutils, printdxutils, printsdlutils
osxbuild.sh: more options and designation of presets
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.)
Add "specularpower" and "specularfactor" as synonyms of "specpower" and "specfactor" respectively.
Superficial text changes:
- 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.)
OS X: Fix more warnings.
- 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.
Link to libz on OS X like on Windows.
Update/fix treatment of libpng libraries and headers under Windows and OS X.
osxbuild.sh: Partial solution for non-building tools: remove "-j 3" parameter. (The -k [--keep-going] parameter has been added just to the tools for a small bit of good measure.)
Add $(STATICSTDCPP) variable which the user can set to 0 or 1 to explicitly set C++ standard library linking to static or shared respectively. By default it is transparently left blank.
An effect is only really seen in the buildtools written in C++, currently just arttool. This is mainly of interest to distributors of the buildtools to avoid missing DLL errors.
More "malloc + strlen + strcpy --> strdup" in module parameter code.
New "-clipmap" command-line switch to specify sector collision clip maps. This switch works in an additive fashion like -mx and -mh. _clipshape0.map through _clipshape9.map remain loaded by default.
Also, a very minor change in the con/def module code. (int --> int32_t)
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.
osxbuild.sh:
- Make all arguments explicit toggles (except for onlyzip). - Disable PowerPC builds by default on Snow Leopard in addition to Lion. - Enable Darwin 9 compatibility for all builds whenever PowerPC is enabled.
osxbuild.sh: new "tools" parameter builds the Build tools in addition to the full binaries
Makefiles: new features to facilitate above: - buildtools: "make printutils" is a phony which simply lists all the tools - $(EXESUFFIX_OVERRIDE)
Fix warnings in enumdisplay.c only revealed with the previous Makefile edits.
More Makefile changes, including bringing Makefile.msvc up to date.
Build tools: Whitespace cleanup and tab stop replacement.
Fix all warnings in the Build tools for both GCC and Clang.
Fix another typo in osxbuild.sh.
Convenience Makefile variable for building with Clang: make CLANG=1
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.
OS X: another set of new universal x86/x86_64/PPC libraries provided by LSDNinja, this time compiled under Leopard 10.5
- 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
Thoroughly revised osxbuild.sh, featuring:
- Conditional disabling of the build for each architecture - Conditional enabling of debug building - Detection of the OS X version, disabling incompatible builds and establishing a minimum version - Fail-safe assembly of fat binaries and the archive (each item is checked first) - Lovely factored 'for' loops and parameter expansion
Add file existence check for model skins.
Add "echo" def parameter which prints a string to the console and log file.
Syntax: echo "Your text here."
OS X: Since the posix_memalign function causes problems when running on 10.5, not just building, I am making this more "risky/daring" change because OS X guarantees 16 byte alignment so it should be safe.
OS X: new universal x86/x86_64/PPC libraries provided by LSDNinja
OS X: fix build under Leopard/Xcode 3.1.4
Add "OSX_STARTUPWINDOW" Makefile variable to toggle the OS X startup window. Off by default.
Fix OSX-related typos in Makefile and osxbuild.sh.
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.
Rewrite code for the "-rts" command line parameter to remove an unnecessary int32_t, prevent needless string copying, factor out duplicate math, centralize the default RTS name, and prevent clobbering of the RTSName CFG setting.
Add "echo" CON command which allows the user to print a quote only to the console and log file, for debugging or informational purposes. EVENT_INIT can finally be put to use!
Remove ATTRIBUTE((used)) from gotpic[] because it only served to generate warnings when using LTO.
synthesis.sh:
- Exclude "Apple/lib" rather than "Apple" so that required files are not left out of the tarball. - Add one to $lastrevision before generating the ChangeLog so that it only includes what is new to an update. osxbuild.sh: - Add stronger detection of the SVN revision by adding support for 1.7 (no longer relying on an ".svn" directory) and having a specific fallback in case the build location is neither svn nor git. - Echo the SVN revision to source/rev.h before the build processes and revert it afterwards.
Under Mac OS X, look for libvpx in /usr/local to add support for Homebrew in addition to MacPorts.
Under Mac OS X, override libsupc++ with libstdc++.
Add an explicit declaration so that Mac OS X binaries look for the Frameworks inside the app bundle before anywhere else.
Add APPLE_FRAMEWORKS Makefile variable which can be passed to the make invocation.
ex: make APPLE_FRAMEWORKS=~/Library/Frameworks
Update "osxbuild.sh" to reflect implementation of .app bundles on Mac OS X.
The Mac OS X build process will now automatically copy the .app bundles to "./" and move the binaries into them.
add Mac OS X .app bundles to repository
Add the source .psd files for the EDuke32 logo and program icon to the repository. Though they are .psd, they are effectively vector because they utilize paths.
cosmetic:
* update Windows icons to include 64x64, 128x128, and 256x256 sizes * add "orange_icon.ico" (unused; classic orange color of logo) * remove unused 32x32 "build_icon.bmp" file
Add the 'yoffset' token to model definitions to allow models to compensate for ART tiles with large yoffsets, such as #603. Under normal circumstances the existing 'zadd' parameter should be used instead. Special thanks to Supertanker.
weapons.con.sample:
- hud_orientation now uses proper bitwise operations - clean up whitespace