50 Commits

Author SHA1 Message Date
Nikos Barkas
665bba439c Fixed a problem in shipdata.plist, whereby the GNUstep parser was getting confused due to nested comment.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1245 127b21dd-08f5-0310-b4b7-95ae10353056
2007-11-25 21:24:13 +00:00
Jens Ayton
280f4d7828 Fixed some warnings in Windows build; switched cloaking device pod to use JavaScript implementation now that its script_actions are no longer needed for testing; fiddled with OOCollectionExtractors for a tool I'm fiddling with.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1243 127b21dd-08f5-0310-b4b7-95ae10353056
2007-11-24 15:58:15 +00:00
Jens Ayton
3fbc24887d * All ships now have a JavaScript script attached, allowing JS scripts to
add behaviours to any ship.
* Legacy script_actions, setup_actions, launch_actions and death_actions
  handled through default JavaScript script.
* In order to implement the above, JS Ship now has a runLegacyScriptActions
  method. This is not to be exposed as an "official" method, though, since
  we might want to change the mechanism -- for instance, to "compile"
  legacy scripts into JS. Handling dynamically-generated legacy scripts in
  that case would be a significant complication.
* Updates for Mac OS X 10.5 "Leopard".
  - Errors on reading/writing plist will not cause a crash if building
    against the Leopard SDK. (I have no intention of requiring Leopard any
    time soon, but future-proofing is good.)
  - OOWeakReference is now more efficient when running under Leopard, by
    implementing the new "fast forwarding" mechanism.
  - Threads now have names set under Leopard, which may provide debugging
    advantages.
  - Fixed some new build warnings for new version of apple-gcc.
  - Updated type declarations to identify Oolite saved games as property
    lists.
* Cleaned up PlayerEntityControls.m somewhat. Moved method declarations
  into files, fixed indentation, broke up monster giant method of doom.
* Script-generated asteroids now behave like system populator-generated
  asteroids (As Seen on BB[TM]).
* Minor optimizations and simplifications of legacy script engine.
* JS System.filteredEntities() now has sensible behaviour if predicate
  throws an exception: the predicate is not called again, and null is
  returned. The exception is reported and not rethrown.


git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1240 127b21dd-08f5-0310-b4b7-95ae10353056
2007-11-23 15:04:14 +00:00
Jens Ayton
44fd79dc64 Cache synthesized material dictionaries. Added sendScriptMessage: AI method.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1231 127b21dd-08f5-0310-b4b7-95ae10353056
2007-10-23 07:36:58 +00:00
Jens Ayton
9d9128bcb1 * Got Game Options submenu working under OS X.
* Save reduced detail, wireframe and shader settings in preferences.
* Implemented variable shader complexity support.
Added default shader, used for all otherwise-unshaded ships with full shaders on, and for smooth ships or ships with effect maps specified in material dictionary with simple shaders.
* All ships now drawn with slight specular highlight by default (shininess = 10, intensity = 0.2) except in reduced detail mode.
* (JS) Made Ship.shipDescription read-write (except for the player).
* (JS) Added global function ExpandDescription(string : String), to perform substitutions like %H, [commander_name] and so forth. 
* (JS) Added global function RandomName(), intended to be like %R substitution. In so doing, I discovered that %R is broken, but left it as-is so it will generate the same name for existing descriptions. Added %X to do the same thing, but without the bugs. RandomName() is different from either in that it doesn't use the "predictable" PRNG, so it will provide a new name each time. To use the "predictable" variant in JavaScript, use ExpandDescription("%X"). 
* Ships that hyperspace out are no longer replenished in interstellar space.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1228 127b21dd-08f5-0310-b4b7-95ae10353056
2007-10-22 12:18:18 +00:00
Jens Ayton
ff941ad9ff More explicit message about the need to set JS_C_STRINGS_ARE_UTF8. Explicitly set scanClass of 'barrel' to CLASS_CARGO for scripted creation.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1186 127b21dd-08f5-0310-b4b7-95ae10353056
2007-09-29 09:08:31 +00:00
Jens Ayton
77df587d1a Split out remaining JS classes from OOJavaScriptEngine.* into new files. Added expandable pirate-victim recognition via pirate-victim-roles.plist. Added a number of AI methods for searching for entities by role and scan class.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1169 127b21dd-08f5-0310-b4b7-95ae10353056
2007-09-12 17:00:59 +00:00
Jens Ayton
a265c06344 * Work on generic-ish JavaScript object bridging.
* Fixed potential crashing bug in JS memory management (OOJSScript was not releasing its JS GC root).
* Fixed bug with several shipdata.plist settings being ignored in StationEntitys (bug #11684).
* Added JS Oolite object for app and JS version number checking; may add other facilities.
* Require latest version of SpiderMonkey (Gecko 1.8/FireFox 2 version) with JavaScript 1.7 support, built with JS_C_STRINGS_ARE_UTF8. 
*Made SpiderMonkey build as a subproject in Xcode for ease of debugging.
* Further fiddling with Mac debug console.
* Added has_npc_traffic attribute to StationEntity.


git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1157 127b21dd-08f5-0310-b4b7-95ae10353056
2007-09-04 23:04:09 +00:00
Jens Ayton
09ae998842 Converted shipdata.plist to OpenStep format and merged in Commander McLane's tweaks to views, external views and laser positions.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1156 127b21dd-08f5-0310-b4b7-95ae10353056
2007-09-02 18:45:44 +00:00
Jens Ayton
0ffb248771 For the past two weeks I've been procrastinating from fixing a double-free bug in the JS accessor for Ship.escorts (or, more precisely, in the code constructing a JS array). The bug was in r1129, so not checking stuff in doesn't really make much sense.
Fixes in that time:
* Clean, integrated model for JS ship scripts and world scripts.
* Player ships support JS ship scripts (but not ones synthesized from legacy actions).
* Subentity shader uniform bindings bind to owning ship as intended.
* Fixed like_ship recursion limiter in -[Universe getDictionaryForShip:].
* Fixed a bug in material configuration parsing.
* Fixed a material bug where a shader material with textures, followed by a shader material with no textures, followed by a basic material with no textures would leave a texture bound.
* Cleaned up NSArray -> JS array conversion, without fixing aforementioned bug.
* Made JS Ship property "target" read/write, and made property setting work.
* Added JS Quaternion.random() static method.


git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1136 127b21dd-08f5-0310-b4b7-95ae10353056
2007-08-19 23:05:48 +00:00
Jens Ayton
97211c9285 * Fixed backing up of log (OS X only).
* Only release plist parsing error messages under OS X (this is a documented requirement that doesn't follow normal usage, and isn't the right thing under GNUstep.)
* Work on shipdata.plist and model verifier stages.
* equipment_price_factor fixes: exploit when low equipment_price_factor doesn't affect refund prices, minimum equipment_price_factor of 0.5.
* Made fuel unsigned.
* Implemented property list schema verifier to simplify implementation of plist checkers.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1104 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-25 16:43:29 +00:00
Jens Ayton
b5d7ca37ee Work on shipdata.plist verifier stage; started fixing problems it reported with built-in shipdata.plist.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1103 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-21 11:03:32 +00:00
Jens Ayton
78275bee85 Implemented auto_ai ship attribute. Clamped laser head values for shaders. Tweaked logging to avoid sporadic 'logging not inited' message while quitting.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1074 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-12 11:33:26 +00:00
Jens Ayton
949cd8da04 Load screen now uses file extensions (urgh) to recognize saved games rather than trying to parse every file as a plist. Fixed display of giant question mark for unknown ship types (but it draws in the wrong place in wide windows, which probably also affects long ships).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1069 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-09 14:58:33 +00:00
Jens Ayton
439d26be98 Fixed problem with traders that have pirate AI. Gave each non-player ship a unique role based on its dictionary key. Changed numbers like 0.65000000000000002 to 0.65.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1050 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-29 12:55:48 +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
5572ddab50 Cache path should now be created properly under GNUstep, and XML should be used for cache (should change to GNUstep binary format once bugs are resolved). Added lots of debug messages to cache.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@995 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-03 09:32:06 +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
6643d24da1 Implemented garish placeholder texture for meshes with no TEXTURES section. Fixed bug where StationEntites were not being initialized fully. Made tharglets unpiloted.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@966 127b21dd-08f5-0310-b4b7-95ae10353056
2007-05-14 15:54:13 +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
b06cee52f7 Clean-up of ship loading (not finished). Allow arbitraryish laser colours. Explosions toned down somewhat for really big ships. Fixed bug where ships which could have a shield enhancer, but don't, get some of the benefit of one. Increased intensity of exhaust plumes slightly.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@915 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-08 14:31:35 +00:00
Jens Ayton
a2f6fea6a3 Removed a spurious error message. Removed debugOn/debugOff pairs from shipdata.plist and PlayerEntity.m.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@900 127b21dd-08f5-0310-b4b7-95ae10353056
2007-04-03 18:43:53 +00:00
Giles Williams
c555de8a1e fixed escape pod flashers
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@725 127b21dd-08f5-0310-b4b7-95ae10353056
2006-08-12 08:04:50 +00:00
Giles Williams
e1edd7c6a6 WIP on new-style brains (instincts+AI)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@669 127b21dd-08f5-0310-b4b7-95ae10353056
2006-07-24 16:09:04 +00:00
Giles Williams
5242fcafab fixed external view numbering
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@665 127b21dd-08f5-0310-b4b7-95ae10353056
2006-07-18 17:11:54 +00:00
Giles Williams
b680d2a359 adding wreckage to further prettify explosions
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@642 127b21dd-08f5-0310-b4b7-95ae10353056
2006-07-07 10:55:28 +00:00
Giles Williams
dc0c91e70f custom views for each player ship
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@632 127b21dd-08f5-0310-b4b7-95ae10353056
2006-07-05 13:08:29 +00:00
Giles Williams
f306c999c3 introducing unpiloted entities (missiles, etc. that HAVE NO CREW and therefore do not communicate!)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@623 127b21dd-08f5-0310-b4b7-95ae10353056
2006-06-28 16:06:49 +00:00
Giles Williams
a22aa6b30b update thargon scanner range
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@614 127b21dd-08f5-0310-b4b7-95ae10353056
2006-06-25 11:05:41 +00:00
Giles Williams
a410209c79 adding a character to the constrictor hunt mission
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@547 127b21dd-08f5-0310-b4b7-95ae10353056
2006-05-10 18:19:13 +00:00
Giles Williams
3740acd6bc revert the dock.dat model and add a new horizontal dock model (dock-flat.dat) for the stations (fixes some old oxps)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@499 127b21dd-08f5-0310-b4b7-95ae10353056
2006-04-28 09:27:21 +00:00
Giles Williams
e7e7a80d80 fix new docking port routines
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@433 127b21dd-08f5-0310-b4b7-95ae10353056
2006-04-05 01:36:36 +00:00
Giles Williams
fe3d648696 no longer have vertical docking slits on stations (was early unfixed hack)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@383 127b21dd-08f5-0310-b4b7-95ae10353056
2006-03-29 09:26:06 +00:00
Giles Williams
c0778c523f fixed scanClass of Hardened Missile
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@329 127b21dd-08f5-0310-b4b7-95ae10353056
2006-03-14 23:39:25 +00:00
Giles Williams
23c8889c96 implemented "missile_roles" to select missile chosen, and "rotating" to mark rotating station, fixed thargon untargetting and behemoth docking (phew!)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@326 127b21dd-08f5-0310-b4b7-95ae10353056
2006-03-14 00:54:36 +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
8bbb1db7ff OS X r1116
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@192 127b21dd-08f5-0310-b4b7-95ae10353056
2005-11-08 21:48:25 +00:00
Dylan Smith
bf067605d1 OS X r1058 changes merged
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@183 127b21dd-08f5-0310-b4b7-95ae10353056
2005-10-30 10:39:35 +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
6f818d4754 merge from OS X r1030
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@170 127b21dd-08f5-0310-b4b7-95ae10353056
2005-10-24 19:18:47 +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
Giles Williams
bac60cf62b big merge of latest Mac OSX work - may need some cleaning up
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@100 127b21dd-08f5-0310-b4b7-95ae10353056
2005-08-07 17:48:53 +00:00
Giles Williams
b0be11f219 making stations non-frangible
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@90 127b21dd-08f5-0310-b4b7-95ae10353056
2005-07-06 08:50:56 +00:00
Giles Williams
305b324cda changes from OSX r807 - including the MASC'M and interstellar stuff
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@80 127b21dd-08f5-0310-b4b7-95ae10353056
2005-06-17 08:25:19 +00:00
dajt
bd201d29ff Putting XML plists back in place.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@77 127b21dd-08f5-0310-b4b7-95ae10353056
2005-06-08 10:22:59 +00:00
dajt
2a3ece755c Win32 changes, TextureStore uses SDL.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@76 127b21dd-08f5-0310-b4b7-95ae10353056
2005-06-08 10:14:52 +00:00
Giles Williams
bacf679999 missile from latest OSX version
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@61 127b21dd-08f5-0310-b4b7-95ae10353056
2005-05-21 07:08:27 +00:00
Giles Williams
d7eae4e657 to bring sources up to Oolite r675
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@51 127b21dd-08f5-0310-b4b7-95ae10353056
2005-05-06 20:13:49 +00:00
Dylan Smith
3274cb3ea6 organize the source tree somewhat better
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@30 127b21dd-08f5-0310-b4b7-95ae10353056
2005-04-28 21:47:22 +00:00