Jens Ayton
3c16a7cdaf
Added clearMissionScreen scripting method (legacy and JS). Scripting tweaks. Ported trumble mission to JavaScript. Attempted to address JS Ship.escorts bug but couldn't reproduce it.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1187 127b21dd-08f5-0310-b4b7-95ae10353056
2007-09-29 12:27:31 +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
8b098b3b76
Implemented Player.commsMessage() and player.consoleMessage() JS methods. Mucked about with key_dump_target_state -- now debug/test build only.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1183 127b21dd-08f5-0310-b4b7-95ae10353056
2007-09-23 14:32:40 +00:00
Jens Ayton
0da77044e5
Implemented JS Timer object. Updated priority queue test case.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1173 127b21dd-08f5-0310-b4b7-95ae10353056
2007-09-15 13:53:30 +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
892c271501
Split JS system into separate file. Started on support for ship scripts (incomplete).
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1129 127b21dd-08f5-0310-b4b7-95ae10353056
2007-08-05 11:47:09 +00:00
Jens Ayton
31744b7903
Fix for legacy script engine local variables in set: and [] substitution. Unbroke equipment.plist.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1122 127b21dd-08f5-0310-b4b7-95ae10353056
2007-08-03 14:53:02 +00:00
Jens Ayton
15255d19c0
JavaScript: entity class hierarchy now reflected in JS object prototype relationships (player is a Player is a Ship is an Entity). Fix for enery units being unbuyable; moved some hardcoded equipment requirements into equipment.plist; made -[PlayerEntity hasExtraEquipment:] accept arrays and sets of strings as well as individual strings.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1118 127b21dd-08f5-0310-b4b7-95ae10353056
2007-08-02 00:31:44 +00:00
Jens Ayton
c82db84119
Fix for positioning of image legends in HUDs. Generalized registration of 'well-known' files in file scanner OXP verifier stage.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1114 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-29 22:12:52 +00:00
Jens Ayton
122102af4f
Cleanup; merged some very similar methods; made most HUD parameter reading use OOCollectionExtractors; made most of Universe use OOCollectionExtractors; added some schemata; moved schemata to separate folder. GNUmakefile.postamble has been updated to copy this folder into Resources/, but note that it isn't needed in final builds.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1112 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-29 14:17:30 +00:00
Jens Ayton
8a6252398d
Redesigned plist verifier to allow recursive definitions. As a bonus, this simplified the code by removing the -normalize... methods. Shipdata.plist entry schema and schema schema now conform to working schema schema. Schema.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1108 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-27 16:33:28 +00:00
Jens Ayton
97fc89995b
Reworked plist schema verifier to use NSError, allowing more informative error messages. Wrote a schema for plist schemas, but it can't currently be used because it has recursive references. (Fix: resolve macros at run time instead of preprocessing.)
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1107 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-27 00:53:44 +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
9c66ca113c
Added some verifier stages that don't actually do anything yet but make my auto-generated Graphviz file of the dependency graph look much cooler.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1102 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-20 22:44:37 +00:00
Jens Ayton
63f739dfb8
Unbroke OXP verifier.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1101 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-20 22:14:22 +00:00
Jens Ayton
66797761f4
Fixed makefile, hopefully.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1100 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-20 20:02:48 +00:00
Jens Ayton
8898364de2
OXP verifier: architectural changes, added design note, generate Graphviz file instead of text dump to debug dependency graph.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1099 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-20 16:29:40 +00:00
Jens Ayton
de2b1b194c
OXP verifier validates equipment.plist, ignores .svn and CVS directories.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1097 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-19 12:09:01 +00:00
Jens Ayton
5d858a99f2
Added Read Me file detection and demoships.plist validation to OXP verifier.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1096 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-19 11:21:01 +00:00
Jens Ayton
675f2918e5
OXP verifier now checks requires.plist; added infrastructure to handle plists in verifier and fixed dependency management.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1095 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-19 10:44:52 +00:00
Jens Ayton
7780ef63bb
OXP verifier can now identify bad case in standard folder names and config file names. Infrastructure is in place for general case mismatch detection. Fixed Windows build warnings reported by Sotho Tal Ker in forum.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1094 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-18 23:53:51 +00:00
Jens Ayton
e7c18ce0e8
Beginings of -verify-oxp support. Fix for freeze when like_ships refers to unknown ship. Ship set-up now fails if subentity set-up fails.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1091 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-18 15:42:58 +00:00
Jens Ayton
a3cee138b8
Bumped version number to 1.69.2. Removed support for deprecated shader features. Added caching of GL texture names to avoid expensive glGenTextures()/glDeleteTextures() call. Set texture cache size to something sensible (50 at the moment), but textures are being leaked. Fixed loss-of-precision bug in OOCollectionExtractors' double methods. Added collection extractor methods for vectors, quaternions, and non-negative floats/doubles. Switched on -Werror for OS X build.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1088 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-17 10:42:36 +00:00
Jens Ayton
1f8d82b8ee
Switched to JavaScript implementation of cloaking device mission.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1085 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-14 13:53:50 +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
8a85b1a657
Fixed crash when shooting off frangible subentities. Added notequal operator for legacy scripts. Removed unused enumerant GUI_SCREEN_INVENTORY. Added logging-echo-to-stderr option (OS X only) and changed default for logging-show-app-name to NO on OS X (was already NO for other platforms). Scripts no longer run when paused and on a menu screen.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1068 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-08 22:47:30 +00:00
Jens Ayton
b3b04859ab
Enabled more warning flags (-Wextra -Wno-unused-parameter -Wno-missing-field-initializers) in OS X build, and fixed several hundred resulting warnings (mostly by using more appropriate types). Bumped version number to 1.69.1. Fixed unable-to-buy-in-shipyard bug. Attempt to fix dockEscorts crash bugs (needs testing). Sundry cleanup, especially of AI and GuiDisplayGen; all exception throws now in standard form. Removed some dead code. Use correct key for Advanced Nav Array if no keyconfig.plist found. Changed OOCollectionExtractors to always clamp integer values to the requested type's range rather than truncating like NSNumber. Removed inconsistently-used and apparently-unneeded NSLock from AI.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1063 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-07 15:44:50 +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
e9f415e686
Fix for witchspace config not being read.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1043 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-26 16:26:11 +00:00
Jens Ayton
8294158f5a
Made planetinfo.plist entry for interstellar space less excitable.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1041 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-24 21:53:59 +00:00
Jens Ayton
71d7a25468
Removed debug code from OOSkyDrawable, and made it use OOMacroOpenGL. Added code to help catch occasional drawing glitch with sun. Disabled pruning of on-disk cache completely; as we now clear the cache when OXP search paths change, its size is bounded by the total size of installed OXPs.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1032 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-16 18:01:41 +00:00
Jens Ayton
5164b5f4a6
New sky-drawing code. Currently doesn't produce the same skies as the old code, but otherwise seems to work.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1022 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-10 13:36:42 +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
Nikos Barkas
b047c76b40
Fix legal status not displaying.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1013 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-09 08:54: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
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
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
28855f728e
Non-sucky fix for problem plists, hopefully.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@989 127b21dd-08f5-0310-b4b7-95ae10353056
2007-05-24 10:01: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
8dfcfa9b58
XMLified problem plists.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@979 127b21dd-08f5-0310-b4b7-95ae10353056
2007-05-21 17:15:07 +00:00
Jens Ayton
269a68f56d
Oops, forgot to add planetinfo.plist (needed for data-driven witchspace).
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@974 127b21dd-08f5-0310-b4b7-95ae10353056
2007-05-20 13:44:00 +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