104 Commits

Author SHA1 Message Date
Jens Ayton
24097ad053 Xcode project file tweak to make new version work without star/nebula texture OXP. Added JavaScript library to makefile for Linux.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1023 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-10 13:49:37 +00:00
Jens Ayton
9a450d5f10 Cleaned up GameController, putting most platform-specific stuff in two major blocks. Mac-specific: Help window contents now loaded from (copy of) ReadMe.rtfd to ensure it's up-to-date; added log message format prefs window to Debug menu.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1014 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-09 10:38:16 +00:00
Jens Ayton
741f48d34a Undid damage to shipdata.plist from last revision. Extended dummy joystick handler for OS X to reduce the number of #ifs in PlayerEntityControls.m.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1012 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-08 14:54:21 +00:00
Jens Ayton
9137ef4581 Clean-up of various methods in connection with documenting uniform binding mechanism. Tweak to syntax for said mechanism. Bumped version number to 1.69.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1011 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-08 12:59:08 +00:00
Jens Ayton
c5bdafd0cf Moved Mac-specific debug nib thing around.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1006 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-06 12:08:26 +00:00
Jens Ayton
f746a728e6 Unbroke last revision.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1004 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-06 09:12:35 +00:00
Jens Ayton
0382795518 Added support for flushing data cache by holding down shift at startup (needs testing under SDL!). Also, a question mark is now shown as a placeholder model on the Load screen if a saved game uses an unknown ship class.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@994 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-02 20:58:41 +00:00
Jens Ayton
8ed1b9af6e Fiddled with Mac debug menu (added in previous commit).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@985 127b21dd-08f5-0310-b4b7-95ae10353056
2007-05-23 14:24:12 +00:00
Jens Ayton
786e73fcbb Work on reimplementing texture reloading -- works for shipentities and text, not sky and particles.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@984 127b21dd-08f5-0310-b4b7-95ae10353056
2007-05-23 13:12:13 +00:00
Jens Ayton
55f832da66 Moved some OpenGL utilities into OOOpenGL.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@976 127b21dd-08f5-0310-b4b7-95ae10353056
2007-05-20 15:13:22 +00:00
Jens Ayton
97f91f6a18 Two potential crashing bugs, two potential graphical glitches, and one actual crashing bug.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@975 127b21dd-08f5-0310-b4b7-95ae10353056
2007-05-20 14:38:13 +00:00
Jens Ayton
17e40ba6c7 Lots of fiddling around, most of it reverted. Meh. New shinier (and simpler) sky.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@968 127b21dd-08f5-0310-b4b7-95ae10353056
2007-05-19 15:09:05 +00:00
Jens Ayton
076bf6c4fa Lots of stuff I've been working on over the last few weeks - mainly moving ShipEntity rendering into new class (OOMesh); also work on robustness of plist handling and stuff. Texture caching management is currently buggy.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@954 127b21dd-08f5-0310-b4b7-95ae10353056
2007-05-08 15:24:13 +00:00
Jens Ayton
5eacc5ba35 New attempt at cross-platform threaded texture loading. Also work on OOMesh implementation based on old Entity drawing code (fancy optimized version having stalled) and fixed problem that was causing synchronization of logcontrol.plist.xml to not happen.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@946 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-29 14:55:48 +00:00
Jens Ayton
0481b90f2a Changed synchronization mechanism used by async texture loader, because the old one didn't work on Windows. Relabelled all the files that are entirely by me as dual-licensed under GPL+MIT/X11 license. Work on OOMesh stuff, although it doesn't actually do anything useful yet. Probably other stuff done while BerliOS was down.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@944 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-23 22:21:38 +00:00
Jens Ayton
9e9923f285 Scaler work: rewrote high-level scaler function, implemented vertical-stretch scalers. Implemented test case (wow).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@942 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-20 17:33:55 +00:00
Jens Ayton
69bb52f7e1 Now use OOTexture for text.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@940 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-17 18:35:32 +00:00
Jens Ayton
d5f8ae15de Tweaks to OOCache to make it usable directly for self-pruning in-memory caches. Use one of said caches for OOTextures.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@938 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-17 10:31:49 +00:00
Jens Ayton
c183b17568 Stuff that was preventing SDL builds from building.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@937 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-16 21:45:28 +00:00
Jens Ayton
da01dc5e92 Intermediate stage of moving shipentity meshes into separate class. Builds with warnings, but works.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@934 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-15 16:15:19 +00:00
Jens Ayton
cf9a7b9709 Greyscale texture loading works.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@932 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-15 09:15:50 +00:00
Jens Ayton
20dfbe62b4 Fixed potential (but unlikely) thread safety issue in texture loading, removed redundant locks in OpenGL extensions manager. Use four texture-loading threads for testing (should be based on number of processors). Fixed player-spawns-with-no-shields bug.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@931 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-14 10:12:37 +00:00
Jens Ayton
bdbe1b72ff New texture code (for models with shaders only). Somewhat buggy (notably, player ship is untextured after dying and respawning) but seems stable. Also removed a spurious assert from sound code.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@929 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-14 00:07:32 +00:00
Jens Ayton
c66ebf27a0 Held Xcode's hand through the painful journey of discovering that changing where header files are means they're not in the sampe place any more. *muttermutterstupidpieceof...*
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@927 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-13 11:24:04 +00:00
Jens Ayton
d7f84cb164 Moved some files around a little bit.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@926 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-13 10:49:46 +00:00
Jens Ayton
9ead245895 Fixed code using for (i = 0; i != [[foo allKeys] count]; i++) antipattern. Cleanup of player saving: uses proper way of getting an XML property list (which is cross-platform), better error messages, less code duplication. Added Edit menu to OS X version, for use in dialog boxes. Bits of new texture model, but they're not used yet.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@925 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-13 10:38:08 +00:00
Jens Ayton
73aafb43e1 Rewrite of shader code.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@923 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-11 20:29:30 +00:00
Jens Ayton
e1d5ba7272 Tweaked key loading -- strings like "09" now get treated as numbers, even though "9" is treated as a string. Remade default keyconfig file - now has all current keys and is easier to read.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@922 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-10 09:33:41 +00:00
Jens Ayton
3aa4cab9c4 Moved station-specific collision logic into StationEntity. (Working on unifying player and NPC damage models and moving shields into ShipEntity.)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@920 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-09 15:40:02 +00:00
Jens Ayton
c611e69a33 Implemented JavaScript quaternion. Much cleanup. Made various enumerations actual enum types. Made some other integer types dedicated types. Slightly reduced size of entity instances. Relatively high chance of breakage.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@912 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-07 18:03:50 +00:00
Jens Ayton
67138687af implemented JS Entity class (but not tested - there's no way to get an entity yet). Simplified JS Vector by removing the reference-to-object-property stuff.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@910 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-06 15:09:19 +00:00
Jens Ayton
cc175c75b9 Changed references to PlayerEntityScripting to PlayerEntityLegacyScriptEngine. Cleanup of Entity.h led to making universe a global (UNIVERSE) because having lots of references to it and passing it around is silly, and it's used many thousand times per frame.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@906 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-05 16:46:46 +00:00
Jens Ayton
fb8a955819 Check for exceptions at startup even for non-Macs. Stop copying SoundInspector.nib on Macs.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@901 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-03 21:08:34 +00:00
Jens Ayton
8a55bc63a2 Xcode project tweak. Moved script out into Scripts folder (preparation for JavaScript translations).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@898 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-03 17:37:40 +00:00
Jens Ayton
aab442c1d3 Fixed crashes at startup due to stale references to system data.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@897 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-03 17:23:13 +00:00
Jens Ayton
0f356d5154 OOLogging now merges logcontrol.plist from the root search paths. This is hopefully the last touch on 1.68-mac.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@896 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-03 00:14:21 +00:00
Jens Ayton
d327cb7b38 Fiddled with JavaScript loading and error reporting: unicode savvy, should load on all platforms.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@891 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-02 19:59:43 +00:00
Jens Ayton
1a18ca735e More scripting tweaks. Moved all of universe into system, and removed universe.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@888 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-01 18:41:47 +00:00
Jens Ayton
5c9352dab4 Moving and renaming scripting files, step 4 of 3 (was in wrong directory).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@885 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-01 15:11:22 +00:00
Jens Ayton
3fe9c74267 Lots of changes, mostly JavaScript-related. Bumped version number to 1.68.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@877 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-01 11:26:35 +00:00
Jens Ayton
05e5a0282f Hack to change Apple plist DTD to GNUstep plist DTD at runtime for XML plists. Added license clarification to OOFastArithmetic.m. Updated year in startup copyright message.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@876 127b21dd-08f5-0310-b4b7-95ae10353056
2007-03-30 12:19:21 +00:00
Jens Ayton
33c4052af8 Shader tweaks, builds without warning on Windows.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@875 127b21dd-08f5-0310-b4b7-95ae10353056
2007-03-28 18:24:31 +00:00
Jens Ayton
6345c35592 This week's monster submit:
* Changed required.plist version parsing to treat version strings as series of integers separated by points. This allows:
  - correct parsing of bug-fix versions like 1.67.1
  - correctly sorting 1.100 after 1.99.
* Deleted just about all commented-out NSLog()s (several hundred), and some other commented-out code. (commented-out or #ifdefed-out code with no indication of when you might want to reinstate it is worse than useless.)
* Ensured that most NSLog()s will at least include their class/module in their message class.
* Renamed Universe's -recycledOrNew:, -getShipWithRole: and -getShip: to -allocRecycledOrNewEntity:, -newShipWithRole: and -newShipWithName: to better match Objective-C coding conventions. (Methods whose result needs releasing should always be called alloc*, copy*, retain* or new*.)
* Replaced -[Universe generateSystemDescription] with DescriptionForSystem().
* Replaced -[Universe getRandomDigrams] with RandomDigrams().
* Replaced +[Universe systemSeedString] with StringFromRandomSeed().
* Replaced [Universe entityZero] with [PlayerEntity sharedPlayer].
* Replaced scriptedUniverse in ScriptEngine with [Universe sharedUniverse].
* Removed HAVE_SOUND. If you're porting to a platform without sound, use a no-op implementation of OOSound.
* Removed all (commented-out) NSBeep()s.
* Made settings caching in OOLog actually work. Doing complete message class setting resolution every time OOLog() was called was around 2% of our per-frame cost. (With this fixed, cache hit rate is well over 99% after a few seconds of play.) *headdesk*  (It may also be worth moving the settings-check into the macro, to avoid evaluating parameters for log messages that are never seen, but this might cause obscure bugs due to the parameters having side effects.)

Stuff that should have been in revision 859:
* Replaced all occurrences of -[Universe expandDescription:forSystem:]  with ExpandDescriptionForSeed() and ExpandDescriptionForCurrentSystem().
* Replaced  -[Universe expandDescriptionWithLocals:forSystem:withLocalVariables:] with ExpandDescriptionsWithLocalsForSystemSeed() and ExpandDescriptionsWithLocalsForCurrentSystem().


git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@872 127b21dd-08f5-0310-b4b7-95ae10353056
2007-03-26 01:24:50 +00:00
Jens Ayton
0cdc0f3a35 Changed OOCacheManager's endian tag mechanism to actually do something useful - serious brain fart there.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@870 127b21dd-08f5-0310-b4b7-95ae10353056
2007-03-25 18:56:29 +00:00
Jens Ayton
074ba280ab Tweaks to shader handling.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@869 127b21dd-08f5-0310-b4b7-95ae10353056
2007-03-25 01:56:12 +00:00
Jens Ayton
0ddae7d767 Split texture scaling into separate file, mostly to be able to apply optimization flags. Added some maths functions I had lying around.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@864 127b21dd-08f5-0310-b4b7-95ae10353056
2007-03-21 19:32:27 +00:00
Jens Ayton
d2914c3afb Moved property list reading (with error checking) into OOPListParsing.h/m. Build without warnings under Windows.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@862 127b21dd-08f5-0310-b4b7-95ae10353056
2007-03-20 17:12:39 +00:00
Jens Ayton
45aa08c6c8 Start of bottom-up merge of changes made as a result of script refactoring
(mostly knock-on effects):
* Split vector.h/c into OOMaths.h and several implementation files.
  Moved more of the functionality into inlines.
  Use GCC attributes for better optimization.
* Moved various string parsing methods into functions (in
  OOStringParsing.h/m).
* Deleted custom XML plist parser which dajt said we no longer need. Turns
  out several OXPS depend on its more lenient parsing. Will re-integrate
  as separate module rather than as methods on ResourceManager.
* Reduced header file interdependencies. entities.h is now deprecated.
* Various minor clean-ups.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@859 127b21dd-08f5-0310-b4b7-95ae10353056
2007-03-20 01:40:09 +00:00
Jens Ayton
64f80b08cb Merged in JavaScript branch, but haven't got it to do anything yet.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@852 127b21dd-08f5-0310-b4b7-95ae10353056
2007-03-11 17:41:38 +00:00
Jens Ayton
d55d020000 Made OS X deployment build build with no warnings. Fixed problem with previous bug fix to streaming audio. Stayed up way too late.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@845 127b21dd-08f5-0310-b4b7-95ae10353056
2007-03-11 02:14:12 +00:00