290 Commits

Author SHA1 Message Date
Jens Ayton
f5e3b4894e Made Mac debug OXP a loadable module instead of including code in Oolite itself.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1139 127b21dd-08f5-0310-b4b7-95ae10353056
2007-08-23 20:18:22 +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
5c6e674fa2 Made OOJavaScriptConversion an informal protocol with a default implementation (returning JSVAL_NULL) for NSObject. Work on rewriting JS player proxy, moving properties up into Ship and Entity as appropriate. Reimplemented player.call(), allowing it to return values, and applying to entities in general. Ensured correct and consistent type conversion in JavaScript property getters/setters. Fixed bug where script-awarded missiles/mines would use two slots. Made blowUpStation actually blow up the station.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1119 127b21dd-08f5-0310-b4b7-95ae10353056
2007-08-02 16:41:55 +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
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
40355e0032 Fix for really dumb bug in Validate_Array(); removed redundant, shadowing variable in ErrorWithDictionary().
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1106 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-26 13:52:13 +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
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
9aa1e3947e Removed lingering bits of OOS code.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1093 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-18 21:21:06 +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
693bf7ac0d Removed OOS script support.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1089 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-17 10:48:43 +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
569b690990 Synching project in preparation for tagging.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1086 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-14 14:36:49 +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
9e7a3be090 Fixed problem where docking did not work properly after scooping certain canisters. Fix addresses specific problem and also catches more general case. Also fixed exceptions being thrown (and ignored, but logged) when pressing or releasing a dead key (e.g., accent key) under Mac OS X.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1084 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-14 12:06:49 +00:00
Jens Ayton
3676998564 Files accidentally excluded from r1080.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1082 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-14 09:57:10 +00:00
Jens Ayton
c7b6b5f144 Fixed minor Xcode project glitches
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1078 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-13 14:45:43 +00:00
Jens Ayton
dd79b5dba9 Added some debug code. (OS X Only:) added support for Smart Crash Reports (to all builds) and SCR installation support (test releases only).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1076 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-13 14:31:07 +00:00
Jens Ayton
839cc06cf0 Fiddled with logging, made OS X debug menu load a little later so that its file lookup is affected by data cache rebuilding.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1075 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-12 15:10:56 +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
2c03f45ffb Attempted fix to crash in CollisionRegion led to cascade of other dangling-pointer crashes. Reverted, and brute-forced it by ensuring entities do not die until the end of an update cycle.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1072 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-11 13:13:01 +00:00
Jens Ayton
bfc5cae918 Broke queue mechanism out of OOTextureLoader into separate class, partly for neatness and partly because I need it for something else.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1065 127b21dd-08f5-0310-b4b7-95ae10353056
2007-07-08 09:04:43 +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
59a5b197e0 Disabled extra bug checking in SkyEntity. Disabled build of OOSkyDrawable (both for Xcode and GNUmakefile).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1048 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-28 10:33:19 +00:00
Jens Ayton
ed9660ad66 Updated Xcode project to include OOShaderUniformMethodType, added implementation note to OOShaderUniformMethodType.m.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1047 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-27 17:59:59 +00:00
Jens Ayton
8ee76e4f12 Keyconfig.plist is no longer cached.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1042 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-25 15:32:00 +00:00
Jens Ayton
ed56abb58b Added check for max_version key in requires.plist. key_dump_target_state is now disabled by NDEBUG.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1040 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-24 21:37:48 +00:00
Jens Ayton
61060a31b4 Fiddled with OS X Debug menu. Global debug flag renamed gDebugFlags, only declared once, and disabled if NDEBUG is defined. Removed -[Universe removeWithoutRecyclingEntity:] (old method from the entity-recycling days). Switched back to old sky code until after 1.69.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1039 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-24 20:46:08 +00:00
Jens Ayton
c784759b3d Much fiddling while trying to track down docking bug, mostly focused on the wrong stuff.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1037 127b21dd-08f5-0310-b4b7-95ae10353056
2007-06-23 23:20:19 +00:00
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