Commit Graph

257 Commits

Author SHA1 Message Date
hendricks266 30407c8e87 Wii: Output and package the binary as .dol instead of .elf.
git-svn-id: https://svn.eduke32.com/eduke32@4824 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-18 18:15:05 +00:00
hendricks266 c397841cda Wii: Add a custom exception handler that saves the crash information to the log and directs the user to submit it to us. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4821 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-17 13:02:21 +00:00
hendricks266 8d115df01e Wii: Add a console to display startup messages to the screen instead of showing the user a black screen while the game initializes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4820 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-17 13:01:58 +00:00
hendricks266 c956f350b7 Fix building with `make -B`. (`make veryclean` is now obsolete.) DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4807 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-09 23:56:31 +00:00
hendricks266 e29e5bfbcb GTK: Fix warnings and errors related to the banners. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4770 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-28 23:47:46 +00:00
helixhorned 7275152b86 Makefile: do '(very)clean' with a plain "rm -f some/obj/*.o".
Notes:
- In the 'clean' target, the "core*" arg to 'rm' was removed as I find it too
  unspecific. (Someone could have an unrelated file with that prefix lying
  around.)
- The targets 'clean' and 'veryclean' now echo the commands they are about
  to execute.

Also, in Makefile.common, resurrect sanitized Clang builds if DEBUGANYWAY=2
is passed (previously, that was triggered with RELEASE=0 DEBUGANYWAY=1).

git-svn-id: https://svn.eduke32.com/eduke32@4756 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 18:37:19 +00:00
terminx 999f789438 Fix a couple of Makefile errors Helixhorned noticed. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4713 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:34:49 +00:00
hendricks266 6ff363a049 OS X: Add a preliminary Xcode project. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4646 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-18 04:50:47 +00:00
hendricks266 295cf82323 Clean up warnings and build issues when building under OS X 10.9. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4644 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-16 21:03:24 +00:00
terminx 4263626f97 Misc additional optimizations, mostly to polymost/mdsprite. Also separate voxmodel into its own source file and object. This commit is pretty large because I was hitting the limit of what could realistically be carved up into smaller patches. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4639 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:18:43 +00:00
helixhorned 43fd10a7ac Makefile: on 'clean' target, unconditionally rm -f game Lunatic objects.
The 'clean' and 'veryclean' targets are usually run without environment options.
It is preferable if they clean out all object files that are possible with any.

git-svn-id: https://svn.eduke32.com/eduke32@4591 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-07 18:10:17 +00:00
hendricks266 9a4a4a627b Nuke rev.h.
Note to MSVC users: You can get the revision number if you run `make rev o=obj` with MinGW before you build.

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4565 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 08:59:58 +00:00
hendricks266 a7fb2721e4 Move code non-specific to Duke Nukem 3D from astub.c to a new m32common.c.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4561 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:44:37 +00:00
hendricks266 5237346f5b Move code non-specific to Duke Nukem 3D from source/common.c to a new build/src/common.c.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4559 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:43:46 +00:00
hendricks266 b48f3b44e3 Progress towards KenBuild Editor, part 1.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4558 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:43:16 +00:00
hendricks266 e8949e1c31 Elimininate some codedup between game.c and astub.c.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4557 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:42:28 +00:00
hendricks266 4f67f8f969 KenBuild.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4555 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-24 14:01:44 +00:00
hendricks266 e79a2fe828 MSVC build system consolidation.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4553 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-23 07:21:29 +00:00
hendricks266 3403670ada Re-add $(abspath ...) wrapping to libdirs to try and fix Synthesis.
git-svn-id: https://svn.eduke32.com/eduke32@4551 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-23 01:48:00 +00:00
hendricks266 61f31c36ad Three Mac patches from rhoenie:
-sdlayer: Apple and GTK are not mutually exclusive.
-Makefile.common: Specify WITHOUT_GTK?=1 by default.
-Makefile: Limit linking with the QuickTime framework to OS X 10.6 and below.
One fix from me:
-osxbuild.sh: Fix building tools.

git-svn-id: https://svn.eduke32.com/eduke32@4548 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-22 11:19:45 +00:00
hendricks266 68b56adbe2 Deal with a few common themes in downstream patches applied by OpenBSD, FreeBSD, Gentoo Linux, and possibly others.
-Respect CC and CXX if already set in the environment.
-Respect CFLAGS, CXXFLAGS, and LDFLAGS if set or specified.
-Give packagers the setting "PACKAGE_REPOSITORY=1" to prevent us from adding our own optimization parameters.

git-svn-id: https://svn.eduke32.com/eduke32@4547 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-22 11:19:25 +00:00
hendricks266 b332189ae5 Ball-busting Makefile restructure.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4543 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-22 07:25:54 +00:00
hendricks266 83490ade50 Fix building ivfrate.
git-svn-id: https://svn.eduke32.com/eduke32@4522 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-23 02:24:39 +00:00
hendricks266 c24c08599f Better compile timestamp handling.
git-svn-id: https://svn.eduke32.com/eduke32@4495 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-31 12:26:13 +00:00
hendricks266 5f3921fa93 Fix ebacktrace on 64-bit. New DLLs all around.
git-svn-id: https://svn.eduke32.com/eduke32@4470 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-17 12:35:46 +00:00
hendricks266 14db3b178d Build system: Detect the SVN revision and generate rev.h directly from the Makefile, if applicable.
git-svn-id: https://svn.eduke32.com/eduke32@4343 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-22 08:02:41 +00:00
hendricks266 fd3712ab22 Windows: Full library refresh.
git-svn-id: https://svn.eduke32.com/eduke32@4319 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-10 10:58:38 +00:00
helixhorned e71df2b6e3 Lunatic/m32: make Mapster23 actually start stand-alone, oops.
git-svn-id: https://svn.eduke32.com/eduke32@4238 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-02 00:08:36 +00:00
helixhorned 49de6d79b3 Lunatic/m32: include the Lua bytecode into the binary, exit if setup failed.
git-svn-id: https://svn.eduke32.com/eduke32@4237 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-31 11:52:01 +00:00
helixhorned 13c125db02 Lunatic: add 'engine' module, currently allowing to create custom shade tables.
Available in the game and editor. Provide test/shadexfog.lua, containing a
function to creating a set of 32 shade tables corresponding to different shades
of the same fog palookup table, together with some tests and convenience
functions.

Also,
- Add gv.LUNATIC_CLIENT{,_EDUKE32,_MAPSTER32}
- Add LUNATIC_FIRST_TIME in the global env for the game
- defs_m32.lua: add reload() convenience function
- Failed attempt at recreating the base shade table. It is NOT a linear ramp
  of the base palette colors to (0,0,0). That is, it's not created by
  build/util/transpal.exe!

git-svn-id: https://svn.eduke32.com/eduke32@4236 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-31 11:52:00 +00:00
helixhorned a7ed1a6fe9 Makefile: add target 'print-compiler-options'.
May come in handy at times. BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4194 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-06 18:56:46 +00:00
helixhorned 42f66ce9ca Lunatic: add 'fs' module containing 'listpath' function, 'd' in global env.
See the updated documentation for (ATM sparse) details.

git-svn-id: https://svn.eduke32.com/eduke32@4147 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-11 16:48:23 +00:00
hendricks266 db69800fd0 Split the handling of audio based on RENDERTYPE into a new variable named MIXERTYPE, allowing Windows builds to use SDL for input and rendering (RENDERTYPE=SDL) while using DirectSound and Windows' MIDI interface (MIXERTYPE=WIN [current default]) so that EMIDI works.
git-svn-id: https://svn.eduke32.com/eduke32@4084 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-07 10:05:03 +00:00
hendricks266 b40f0aba04 Fix ebacktrace1 under MinGW's GCC 4.8 and binutils 2.23.2.
We keep needing more and more hacks as libbfd keeps becoming dependent on additional libraries we don't need...

git-svn-id: https://svn.eduke32.com/eduke32@4076 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-07 10:02:33 +00:00
hendricks266 612284cfea Improve SDL2 support as much as I can, for now. The game compiles, links, and starts, but all three renderers either don't display correctly or crash.
To build with SDL2: make RENDERTYPE=SDL SDL_TARGET=2

git-svn-id: https://svn.eduke32.com/eduke32@4074 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-06 07:49:53 +00:00
helixhorned 77dc57aee7 When building Lunatic from synthesis, tell LuaJIT to generate PE object files.
BUILD_LUNATIC, third attempt.

git-svn-id: https://svn.eduke32.com/eduke32@4023 1a8010ca-5511-0410-912e-c29ae57300e0
2013-08-18 21:14:37 +00:00
helixhorned e947f1fe87 Lunatic: prepare Makefiles for synthesis build.
- libs and headers are expected in platform/Windows/* (not there yet)
- prefix Lua #includes with luajit-2.0/
- build bytecode objects with absolute path name (used for debug info)

git-svn-id: https://svn.eduke32.com/eduke32@4000 1a8010ca-5511-0410-912e-c29ae57300e0
2013-08-11 15:28:42 +00:00
helixhorned 5e41c1604c LunaCON: handle system gamearrays for some array commands.
- 'copy' may have them as source, 'getarraysize' works fine
- 'setarray' and 'resizearray' are obviously forbidden
- 'readarrayfromfile' and 'writearrayfromfile' is not implemented for them
  (use case?)

Also, in the Makefile: don't use realpath on directories. It may give an empty
string.

git-svn-id: https://svn.eduke32.com/eduke32@3940 1a8010ca-5511-0410-912e-c29ae57300e0
2013-07-09 18:23:43 +00:00
helixhorned 750fbb0a0e Lunatic: slight Makefile tweak for Windows preparation.
Add doc/how_to_build_lunatic.txt and doc/lpeg-lunatic.patch.

git-svn-id: https://svn.eduke32.com/eduke32@3938 1a8010ca-5511-0410-912e-c29ae57300e0
2013-07-07 20:59:14 +00:00
helixhorned 885036a6a3 Lunatic: retire 'geom' module, putting vector types into xmath.
git-svn-id: https://svn.eduke32.com/eduke32@3909 1a8010ca-5511-0410-912e-c29ae57300e0
2013-06-28 14:07:41 +00:00
hendricks266 4297507c8f Dynamicsoundremap.
git-svn-id: https://svn.eduke32.com/eduke32@3834 1a8010ca-5511-0410-912e-c29ae57300e0
2013-06-01 06:55:30 +00:00
helixhorned 4781eecdb4 LunaCON: partially sync with r3803, link with lpeg.a (update to LPeg 0.12).
For pre-1.3 CONs, determining the older script version with gamestartup and/or
definelevelname is not implemented.

git-svn-id: https://svn.eduke32.com/eduke32@3806 1a8010ca-5511-0410-912e-c29ae57300e0
2013-05-24 13:54:29 +00:00
helixhorned 0d79372216 Lunatic: prototypical gamevar serialization, currently very CON-centric.
git-svn-id: https://svn.eduke32.com/eduke32@3796 1a8010ca-5511-0410-912e-c29ae57300e0
2013-05-20 19:31:42 +00:00
helixhorned 3b65dc3a78 Lunatic: first prototype of map-text saving.
git-svn-id: https://svn.eduke32.com/eduke32@3733 1a8010ca-5511-0410-912e-c29ae57300e0
2013-05-06 19:43:34 +00:00
helixhorned 0193d7b0e5 Makefiles: do not pass $(STDCPPLIB) to final eduke32/mapster32 linking step.
git-svn-id: https://svn.eduke32.com/eduke32@3720 1a8010ca-5511-0410-912e-c29ae57300e0
2013-05-01 17:42:03 +00:00
helixhorned c298c56652 Lunatic/OS X: generate bytecode in object files from LuaJIT.
git-svn-id: https://svn.eduke32.com/eduke32@3693 1a8010ca-5511-0410-912e-c29ae57300e0
2013-04-17 20:34:59 +00:00
helixhorned 57416c541a Lunatic: add LuaJIT's 'dump' module, printing traced bytecode, IR and mcode.
git-svn-id: https://svn.eduke32.com/eduke32@3600 1a8010ca-5511-0410-912e-c29ae57300e0
2013-03-24 18:54:14 +00:00
hendricks266 ec1923b417 Wii: Fix Mapster32. It runs now.
git-svn-id: https://svn.eduke32.com/eduke32@3582 1a8010ca-5511-0410-912e-c29ae57300e0
2013-03-21 09:49:12 +00:00
terminx 3e4ea93b20 Directory cleanup. Move the "Apple", "Windows", and "Wii" directories to a new "platform" dir, move the contents of "psd" to "rsrc/source", move eobj* and obj* directories so that they're under the "source" dir.
git-svn-id: https://svn.eduke32.com/eduke32@3551 1a8010ca-5511-0410-912e-c29ae57300e0
2013-03-04 04:14:19 +00:00
helixhorned 1606c17a77 Lunatic: fixups and debugging helpers.
- add LuaJIT's 'v' module printing trace info
- translator: fix game function name definitions
- revert math.fmod -> math.modf, they are different!
- disable JIT compilation for a function we're getting strange crashes with
- Make some of DukePlayer_t's members 'bool' on the Lua side. It's way
  too easy to write something like "ps.jetpack_on" where "ps.jetpack_on~=0"
  was meant. [Background: Kyle873 observed that Duke was always floating.]
- Error out if looping in our_module(). I find this behavior more logical
  than returning true.
- fix a couple of missed FORBID variables

git-svn-id: https://svn.eduke32.com/eduke32@3530 1a8010ca-5511-0410-912e-c29ae57300e0
2013-02-28 17:30:04 +00:00