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