250 Commits

Author SHA1 Message Date
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
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
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
dajt
98bbda198b Fixing compilation errors for GNUstep build.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@889 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-01 23:44:13 +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
81a8ed0f57 Added src/Core/Scripting to search paths in makefile.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@878 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-01 11:44:08 +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
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
dajt
70c685c02d Added code to initialise OpenGL extension function pointers for GNUstep build
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@865 127b21dd-08f5-0310-b4b7-95ae10353056
2007-03-22 02:20:56 +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
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
dajt
910685fa52 Fixed GNUmakefile so JS stuff compiles in the trunk on Win32.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@854 127b21dd-08f5-0310-b4b7-95ae10353056
2007-03-12 10:05:33 +00:00
Jens Ayton
5965e2265a Added Windows JS libraries to trunk. Added JS files to the makefile. Won't build on Linux, might build on Windows as-is.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@853 127b21dd-08f5-0310-b4b7-95ae10353056
2007-03-11 20:14:51 +00:00
Jens Ayton
c9707576f8 Split OOCache off into separate class. Currently trivial, but I'm about to rewrite it from scratch.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@837 127b21dd-08f5-0310-b4b7-95ae10353056
2007-03-07 16:15:04 +00:00
Jens Ayton
ec55398a9d Broke cache out into separate OOCacheManager class. Moved cache (under OS X) to ~/Library/Caches/org.aegidian.oolite/Data Cache.plist. Use binary plist format (on OS X) for cache. Detect byte sex mismatch in cache handling.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@831 127b21dd-08f5-0310-b4b7-95ae10353056
2007-03-06 23:50:32 +00:00
Jens Ayton
dbc2c00db4 Added OOLogging to makefile.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@806 127b21dd-08f5-0310-b4b7-95ae10353056
2007-03-02 21:27:47 +00:00
Jens Ayton
6e7712045e Renamed PlayerEntity_StickMapper.* to PlayerEntityStickMapper.*
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@799 127b21dd-08f5-0310-b4b7-95ae10353056
2007-03-01 19:53:01 +00:00
Jens Ayton
a3e6c2401a Renamed ScannerExtension.* to NSScannerOOExtensions.*
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@794 127b21dd-08f5-0310-b4b7-95ae10353056
2007-02-28 21:27:09 +00:00
Jens Ayton
374b59c209 Renamed PlayerEntityAdditions.* to PlayerEntityScripting.*
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@792 127b21dd-08f5-0310-b4b7-95ae10353056
2007-02-28 21:14:52 +00:00
Jens Ayton
c14057f135 Renamed OOFileManager.* to NSFileManagerOOExtensions.*
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@790 127b21dd-08f5-0310-b4b7-95ae10353056
2007-02-28 20:51:17 +00:00
Jens Ayton
745b9ae762 Renamed MutableDictionaryExtension.* to NSMutableDictionaryOOExtensions.*
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@786 127b21dd-08f5-0310-b4b7-95ae10353056
2007-02-28 18:39:03 +00:00
Jens Ayton
5f87a57289 Changed LoadSave.* to PlayerEntityLoadSave.* for consistency.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@783 127b21dd-08f5-0310-b4b7-95ae10353056
2007-02-28 14:38:21 +00:00
dajt
b0b8b75b15 Removed special characters from source code filenames.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@774 127b21dd-08f5-0310-b4b7-95ae10353056
2007-01-30 06:33:10 +00:00
dajt
0dfec2997d Put conditional compilation macros around GL shader code to exclude it from Win32 builds; other platforms should be unaffected.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@743 127b21dd-08f5-0310-b4b7-95ae10353056
2006-10-20 00:33:31 +00:00
dajt
18544c7d69 Merged script compiler and some new script actions into trunk.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@430 127b21dd-08f5-0310-b4b7-95ae10353056
2006-04-04 22:12:50 +00:00
Dylan Smith
3594399b40 Begone, AppKit
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@402 127b21dd-08f5-0310-b4b7-95ae10353056
2006-04-01 18:57:39 +00:00
dajt
aee50ea198 Modified to compile on Windows GNUstep.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@331 127b21dd-08f5-0310-b4b7-95ae10353056
2006-03-15 02:05:57 +00:00
Dylan Smith
7f0167cbc2 remove redundant libSDL_gfx
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@325 127b21dd-08f5-0310-b4b7-95ae10353056
2006-03-13 21:34:27 +00:00
Dylan Smith
1264b83cf0 Move cocoa-merge (GUSTO) to trunk
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@289 127b21dd-08f5-0310-b4b7-95ae10353056
2006-03-05 16:26:25 +00:00
Dylan Smith
eda8b9dca2 fix merge errors
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@187 127b21dd-08f5-0310-b4b7-95ae10353056
2005-11-05 14:36:07 +00:00
Dylan Smith
da2be13ec0 merge OS X r1091 (v1.60)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@186 127b21dd-08f5-0310-b4b7-95ae10353056
2005-11-05 13:58:18 +00:00
Dylan Smith
3ca8cdc424 Merge to OS X r1046
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@178 127b21dd-08f5-0310-b4b7-95ae10353056
2005-10-27 19:26:25 +00:00
Dylan Smith
207a37d0bc more merges
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@174 127b21dd-08f5-0310-b4b7-95ae10353056
2005-10-26 20:20:45 +00:00
Dylan Smith
237dd7e2dc Have a go at merging in interim 1.53 OS X changes
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@146 127b21dd-08f5-0310-b4b7-95ae10353056
2005-10-01 16:32:46 +00:00
Dylan Smith
707017501c Make a start on the joystick mapper GUI
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@136 127b21dd-08f5-0310-b4b7-95ae10353056
2005-09-24 18:17:02 +00:00
Dylan Smith
7a7b1248ae Joystick basics (roll, pitch, fire)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@135 127b21dd-08f5-0310-b4b7-95ae10353056
2005-09-23 19:04:10 +00:00
Dylan Smith
50981407d8 Add LOADSAVEGUI ifdef to switch between AppKit load/save dialog and Oolite GUI dialog at compile time
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@114 127b21dd-08f5-0310-b4b7-95ae10353056
2005-09-05 19:57:39 +00:00
Dylan Smith
93f913a920 First fix on the string handling, second fix on the SDL load/save commander
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@86 127b21dd-08f5-0310-b4b7-95ae10353056
2005-07-02 21:07:10 +00:00
Dylan Smith
4550ca7361 First bits of oolite-gui based load/save commander UI
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@83 127b21dd-08f5-0310-b4b7-95ae10353056
2005-06-21 21:23:05 +00:00
dajt
559a74bfaf Cleaned up memory handling
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@63 127b21dd-08f5-0310-b4b7-95ae10353056
2005-05-23 11:57:23 +00:00
Dylan Smith
f26a7a25d8 convert mp3 music to Ogg, clean up some compiler warnings
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@47 127b21dd-08f5-0310-b4b7-95ae10353056
2005-05-04 20:49:56 +00:00
dajt
3cd2efbd6d Removed hardcoded SDL cflags.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@45 127b21dd-08f5-0310-b4b7-95ae10353056
2005-05-04 11:20:32 +00:00
dajt
1f39b147ef Changed sound code to use SDL
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@44 127b21dd-08f5-0310-b4b7-95ae10353056
2005-05-04 11:12:07 +00:00
Dylan Smith
a8d9621f62 First hack (yes, hack) at sound
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@13 127b21dd-08f5-0310-b4b7-95ae10353056
2005-04-23 17:24:24 +00:00
Dylan Smith
0f46e9f10c Add Comparison category to NSObject, add README file
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3 127b21dd-08f5-0310-b4b7-95ae10353056
2005-04-19 21:26:31 +00:00
Dylan Smith
ac5ddd48a0 Build control additions: silence pointless warnings, provide header file for Linux paths, copy files into the resultant .app
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2 127b21dd-08f5-0310-b4b7-95ae10353056
2005-04-19 20:53:42 +00:00
Dylan Smith
8b456c000b oolite initial import
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1 127b21dd-08f5-0310-b4b7-95ae10353056
2005-04-19 19:53:18 +00:00