fixing some bugs with left and right alt abilities
I also removed the hardcoded hex codes for three keys, added SDL scancode equivalents and also added right key support for modifiers.
macOS: The game now compiles and runs on modern (macOS 11.5+) macs, both
on x86_64 and arm64
macOS: When compiled for Raider Retreat, the game now uses a separate directory
macOS: utility_mac.c and File_Mac.c are now used by the build system
instead of utility.c and File.c respectively. This reduces the overall
amount of hard to read `#if`ed code on all platforms.
The project settings now define ALL configuration behaviour for
development/deployment, regardless of target. A number of settings
were not useful and were probably mistakenly set or not reverted
properly; these now use Xcode's defaults. The only settings remaining
at the target level are those specific to them: resource file names;
build flags. Things are now a lot cleaner and certainly less confusing,
particularly if you filter by "Settings defined at this level".
NB: 'Default' is not used; you must explicitly choose 'Development' or
'Deployment'.
git-svn-id: svn://www.homeworldsdl.org:3692/homeworldsdl/homeworld/trunk@831 026c9d8a-83c9-0310-a9c7-971d0a006279
Previously reverted in r676 thanks to Xcode 3's "2.4 compatible" mode.
Xcode "Optimization Level" description:
None: Do not optimize. [-O0]
With this setting, the compiler's goal is to reduce the cost of compilation
and to make debugging produce the expected results. Statements are
independent: if you stop the program with a breakpoint between statements,
you can then assign a new value to any variable or change the program
counter to any other statement in the function and get exactly the results
you would expect from the source code.
git-svn-id: svn://www.homeworldsdl.org:3692/homeworldsdl/homeworld/trunk@718 026c9d8a-83c9-0310-a9c7-971d0a006279
platform-specific tweaking of #includes of the Standard Library.
Eventually there should be no "#include <>" lines in the
Homeworld SDL codebase apart from in this file and third party
libraries which should remain unedited as much as possible.
git-svn-id: svn://www.homeworldsdl.org:3692/homeworldsdl/homeworld/trunk@576 026c9d8a-83c9-0310-a9c7-971d0a006279
mission ordering and is the first step towards integrating Raider Retreat within the
main game. However, there are still a fair few hardcoded assumptions remaining which
means that it cannot be as completely arbitrary as it should be. In particular,
MISSION_1_KHARAK_SYSTEM should always be the first mission since it creates the player's
initial fleet. Remaining work to do:
- Move all mission <-> NIS(let) mappings into the .kas scripts
- All MISSION_* references in code outside of the mission sequence definition itself
represent mission-specific hacks. These should be replaced with generic
toggling/configuration code which provides that functionality and then call/set it
from the .kas scripts.
- The research tree does not play nicely with heavily butchered mission sequences. The
.kas scripts should be specify a maximum level of tech allowed in the mission and make
all tech up to that level available for research. (NB: that's not a great solution
either since it assumes a fairly linear research tree.)
I'm sure there are other bits and pieces too but I can't immediately think what they
are...
git-svn-id: svn://www.homeworldsdl.org:3692/homeworldsdl/homeworld/trunk@548 026c9d8a-83c9-0310-a9c7-971d0a006279
HW_BUILD_FOR_DISTRIBUTION now the build type for Mac OS X "Deployment" builds.
Full screen mode turned off for Mac OS X debug builds to prevent complete loss
of control of the computer should the debugger kick in (debugger intercepts all
input; Homeworld covers whole screen so can't interact with debugger...) and
force the user to reboot.
Turns full screen mode back on for all other platforms having accidentally
disabled it in an earlier commit.
git-svn-id: svn://www.homeworldsdl.org:3692/homeworldsdl/homeworld/trunk@385 026c9d8a-83c9-0310-a9c7-971d0a006279
The setting of a HW_GAME_* #define is now enforced.
git-svn-id: svn://www.homeworldsdl.org:3692/homeworldsdl/homeworld/trunk@382 026c9d8a-83c9-0310-a9c7-971d0a006279
have nice, fast assembly equivalents. Cleaned up Types.h a bit.
git-svn-id: svn://www.homeworldsdl.org:3692/homeworldsdl/homeworld/trunk@374 026c9d8a-83c9-0310-a9c7-971d0a006279
header #includes (if there's a dependency, we should know about it).
git-svn-id: svn://www.homeworldsdl.org:3692/homeworldsdl/homeworld/trunk@366 026c9d8a-83c9-0310-a9c7-971d0a006279