770 Commits

Author SHA1 Message Date
Jens Ayton
9cfe8c910a Removed all magic equipment flags. Moved equipment list into ShipEntity. Ship loading and saving now mostly uses OOCollectionExtractors, and is generally simpler and more robust. Be on the lookout for interesting new equipment-handling bugs.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1490 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-16 23:16:07 +00:00
Jens Ayton
5020326bf6 Unbroke docking AI (checked in without finishing up and testing yesterday, oops). Fixed a log typo. Music now resets when player dies.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1487 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-16 09:52:59 +00:00
Jens Ayton
10ea62d940 Fix for subentity matrix glitch. Added debug drawing stuff for ships with reportAIMessages set.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1485 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-15 16:42:39 +00:00
Jens Ayton
b478d8a435 Nova mission now blows up all stations, not just the main one. Universe addEntity: now returns NO rather than throwing an exception if no slot can be found. Tweaks to autopilot docking behaviour.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1484 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-15 15:09:18 +00:00
Jens Ayton
2709fd910f Commented on importance of correct ordering in mission response scripts. (Oh, and r1479 _is_ a fix for the nova problem, I wasn't reading it right.)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1481 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-14 18:23:13 +00:00
Jens Ayton
e1bdfc8924 Added great big heaps of spiff to OS X debug thingy.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1480 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-14 01:32:00 +00:00
Marc
c809a1fe07 Bugfix: made nova mission work properly.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1479 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-12 22:34:42 +00:00
Jens Ayton
f67b87aa0d Ahruman's dazzling distraction attack strikes again. All beep, boop and click sounds now go through customsounds.plist. Setting the player's target through JS now works more or less as expected (locks on ident, with UI feedback, unless a missile is selected in which case current missile is locked on to the new target). Custom sound tags can now expand to other custom sound tags (with recursion checking), and final results are cached. No actual progress on the nova script I thought I was working on.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1477 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-11 19:49:46 +00:00
Jens Ayton
627e5a9b57 shipWillLaunchFromStation() is once e again called for the player. Ejected items and debris are now spawned with 85% of the parent's cabin temperature. Incompatible OXP message is now loaded from descriptions.plist, but only the internal descriptions.plist; listing incompatible OXPs and generating the messages later would be a better approach.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1476 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-11 08:25:42 +00:00
Jens Ayton
197119ccc8 All scripts now JavaScript -- adopted somewhat twiddled versions of Eric's scripts, with the cleanup stuff removed (premature optimization is the root of all evil; I'll put it back in if anyone has profiling information indicating it's actually a win). Moved the mission screen function into global-prefix as a generally-available utility function. Wrote JS scripts for the two remaining ships using death_actions. Added Ship.explode(), which kills any ShipEntity through energy damage including the main station. Once again made blowing up the main station with blowUpMainStation (or explode()) work.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1473 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-10 00:01:30 +00:00
Jens Ayton
f68d550d8e Added JS Ship methods dumpCargo(), ejectItem() and ejectSpecificItem(). Spotlight indexer now indexes required.plist max_version for display in More Info. Fix for internal consistency in default fragment shader's handling of specular exponents.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1471 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-09 15:27:06 +00:00
Marc
91358f71a2 More station defence stuff. Special cargo expanded and amended: it can now be saved, and no containers can be loaded on board while the special cargo is in the hold - scooping cargo will not work, and purchasing & awardCargo are only allowed for small valuables. Added a few more strings for translations. Minor code tidy up.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1467 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-09 04:10:42 +00:00
Jens Ayton
3f74d1b923 Got Instruments working and fixed several small leaks. Currently mostly seeing occasional leaks of OOWeakReferences to ships (but the ships themselves aren't leaked and OOWeakReferences are only 8 bytes.) Cobbled together a class for handling groups of sources for related sounds, so that e.g. the number of simultanous scrape sounds is limited. Moved bits of player launching logic from pollDockedControls: to leaveDock: (which is also called from other places).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1465 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-08 17:16:10 +00:00
Jens Ayton
2b89827eb3 Graphics fiddle: scarred alloy is now only scarred on one side, and has a specular intensity map (if shaders enabled); both types of alloy are now shinier.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1462 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-06 18:13:57 +00:00
Jens Ayton
5f09cc936a Fixed a bug where subentity relationships would be messed up by -becomeLargeExplosion (currently only used for the player). Better diagnostics for bad AIs.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1458 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-05 23:45:09 +00:00
Jens Ayton
4c3cf42f7e Fixed a small leak in the previous revision. Unified the various missile/ident locked-on strings. Made :: console macro work for methods with an argument string, as in :: playSound: boop.ogg.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1457 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-05 11:26:12 +00:00
Jens Ayton
e2a2be7f46 Started looking at laser drawing bug, ended up doing lots of cleanup of subentity handling instead.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1456 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-05 00:06:05 +00:00
Marc
2ca6f60d5c GnuMake cleanup: just the one logcontrol file now, and removed compiler warnings from PlayerEntityLegacyScriptEngine
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1455 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-04 20:32:38 +00:00
Jens Ayton
aaee1b7fcb Fixed testing-related breakage.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1454 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-04 02:02:15 +00:00
Jens Ayton
7c242079fc New skies even for gnusteppy people.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1453 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-04 01:43:42 +00:00
Jens Ayton
3671b45b17 Silenced sky setup messages; stopped making player-fired missiles dump AI debug messages; collection-extracty cleanup.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1452 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-03 22:43:18 +00:00
Jens Ayton
ef3cb81251 Multi-texture skies are go.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1451 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-03 22:02:53 +00:00
Jens Ayton
84412f33cc Added safeScriptActionOnTarget:, removed some unused code, fixed copy&paste error in sky setup, added sanity check to ensure the main station is in fact a station.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1450 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-03 20:41:08 +00:00
Nikos Barkas
74ae10a5c9 Resolution for bug #12659 (scripted cargo pods do not award cargo when scooped). Added the CLASS_CARGO scan class to alloy and splinter in shipdata.plist, so that they don't appear unscoopable and with legal status when spawned by scripts. Finally, yes, you guessed it, more strings externalized.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1448 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-03 06:46:40 +00:00
Marc
8db171cf6a bugfix for cloaking device mission, new string added: 'autosave-commander-name'
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1447 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-02 20:41:07 +00:00
Jens Ayton
959dc99d88 Added big fat deprecation warning for scriptActionOnTarget:. Added skanky code to avoid running world scripts more than once with certain player states (such as STATUS_EXITING_WITCHSPACE).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1445 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-02 18:56:24 +00:00
Marc
889bdbbbdb Bugfix for very long passenger names in the Carrier Market. Change to Console.consoleMessage: ConsoleMessage('message') is now shorthand for ConsoleMessage('command-result','message'). Added Autosave option, with associated translations strings. bugfixes ported to 1.70-maintenance.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1442 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-02 05:31:43 +00:00
Nikos Barkas
f856ec3814 Changed hex representation of GH fixed coordinates to decimal, because [PlayerEntity setGalacticHyperspaceFixedCoords] seems to have a problem reading hexadecimal representations into unsigned char arrays, making the default coordinates (0,0,0) instead of (96,96,0).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1436 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-01 09:12:39 +00:00
Jens Ayton
9fb7456e20 (Woops, thought I did this last night.) Implemented stack for temporary local variables for non-world legacy scripts. (Previous approach was quite thoroughly broken, as it didn't allow reentrancy and broke locals for world scripts.) Moved -descriptionComponents and such into new OOCocoa.m, and added -shortDescription.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1433 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-29 15:48:00 +00:00
Jens Ayton
1fd76123cc JS mission.choice is now read-write, mission.resetMissionChoice() deprecated.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1430 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-27 22:50:40 +00:00
Nikos Barkas
1d5898fc0a Made the planet derivative suffix (like -ian for Laveian) user definable, might be useful for translation purposes.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1428 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-27 08:57:24 +00:00
Nikos Barkas
4184df3da4 Two more hardcoded strings found and migrated to descriptions.plist (I wonder when they are going to end, they continuously seem to come up).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1427 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-27 07:03:25 +00:00
Jens Ayton
fe22632e96 More of the same bug fix to prefix script. Added JS systemNameForID() and systemIDForName() methods.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1426 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-26 18:07:17 +00:00
Marc
d528e563d4 Bugfix for player.dockedStationName
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1425 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-26 14:20:12 +00:00
Jens Ayton
cc056a6a75 Legacy foo_actions can now have local variables, which are cleared when the _actions completes. Marked DebugConsole.py executable for unices. Fixed bugs in vector randomization code, and added a third randomizer which provides an even distribution of lengths (but uneven distribution in space).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1420 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-25 16:22:15 +00:00
Jens Ayton
a420a4dbe6 Global JavaScript methods (which aren't constructors) now have names starting with lowercase letters, in accordance with JavaScript norms. There are compatibility aliases for the old forms. Log() and LogWithClass() merged into single log(). All JavaScript compatibility aliases for deprecated forms are now implemented in JavaScript, in the new oolite-global-prefix.js script. Changed all copyright notices regarding the project as a whole from 2004-2007 to 2004-2008.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1414 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-24 21:07:20 +00:00
Nikos Barkas
a88d505c40 Yet another forgotten string moved to descriptions.plist. Fixed bug in escortAI, where escorts would fall to a state of idleness after returning from intercept, due to lack of UPDATE actions in the BEGIN_BUSINESS state (thanks go to Eric Walch for the fix).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1413 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-24 10:04:01 +00:00
Jens Ayton
8a940f724c Mission choices are now sorted. Converted missiontext.plist to OpenStep syntax, and hotted it up with proper quotation marks and apostrophes. Changed magic numbers in -checkForAegis from integer to float literals. Hid entity.linkedList.verify.error message by default.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1402 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-22 15:26:40 +00:00
Nikos Barkas
d55403fd1b Externalized the (N/A) damaged equipment string. Inserted the load-previous-commander-(yes/no) keys in descriptions as a guide for people doing translation OXPs. Updated the contributors.txt file.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1395 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-20 07:16:01 +00:00
Nikos Barkas
579eb6aa33 Made intergalactic jump destinations user controllable. The planetinfo.plist key galactic_hyperspace_behaviour determines if the jump will be 1) the standard Oolite type (no isolated systems can be reached), 2) all systems are reachable or 3) fixed coordinates arrival, set by the key galactic_hyperspace_fixed_coords in planetinfo.plist. Also implemented JavaScript control methods PlayerSetGalacticHyperspaceBehaviour and PlayerSetGalacticHyperspaceFixedCoords and the inquiring equivalents player.galacticHyperspaceBehaviour, player.galacticHyperspaceFixedCoords_x and player.galacticHyperspaceFixedCoords_y.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1393 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-18 15:25:02 +00:00
Jens Ayton
b73d9d98ec Work on replacing two different matrix types with different problems with one type that may have less problems. (I need the matrix to implement generalized cameras. I need the cameras to implement generalized lights. I need the lights to solve a problem with shaders. There might be an additional advantage or two to being able to place a camera anywhere rather than attached to the player, though.)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1385 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-17 00:50:01 +00:00
Jens Ayton
0715cd3f1e * Random name generation once again uses typographic apostrophe (no, it's _not_ an acute accent), but now properly excludes it for system names.
* Removed pointless cache for relatively rarely used commodity display name lookup.
* Added playerEnteredNewGalaxy(newGalaxyNumber) script event.
* Changed descriptions.plist to OpenStep format.
* Descriptions.plist is now loaded before the first time it's used.
* -[Universe descriptionForKey:] and thus DESC() can now select a random string from an array.
* Added -[Universe descriptionForArrayKey:index:] for localization array lookups.
* Removed hard-to-localize [is-word] in favour of [system-description-string], and [adjusting-word] in favour of [clock-format] and [clock-format-adjusting].
* Removed redundant description strings [long-range-chart-find-planet] and [gameoptions-back].
* Moved mass-unit-to-string mapping to OOConstToString.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1376 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-14 17:23:24 +00:00
Marc
a5fd85ed95 Small tidying up of setUpEscort code and translation string handling, added the credit symbol to the ship purchase & planet info screens.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1371 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-12 21:04:59 +00:00
Nikos Barkas
6253b91791 One more (forgotten) string moved out to descriptions.plist for i18n purposes.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1365 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-12 07:14:29 +00:00
Nikos Barkas
d5a8ef0b56 Added the commander_shipdisplayname string substitution, updated trumbles mission accordingly.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1363 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-11 13:00:02 +00:00
Jens Ayton
a6e6dbb6cc Removed redundant mapping of tab to space (done in code and in font generator). Exposed commodity display names to JavaScript as global DisplayNameForCommodity(). Made commodity symbolic name -> display name mapping case insensitive. NOTE: this changes keys in descriptions.plist.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1362 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-11 12:21:11 +00:00
Jens Ayton
03f321da01 Font encodings now specified as descriptive strings. After much fiddling to get fonttexgen to use a PDF for the custom symbols, gave up and generated a big bitmap instead. Generated 1024x1024 Cyrillic font texture, other encodings coming soon.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1358 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-10 17:48:08 +00:00
Jens Ayton
77cde62c7b Made commodity display names localizable via descriptions.plist. Probably missed some cases.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1356 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-09 17:16:43 +00:00
Jens Ayton
bf6826ce39 Patches from Kaks: support for 'abs' co-ordinate system, and auto_ai support for escort set-up.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1353 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-07 19:51:00 +00:00
Jens Ayton
cba45c8e05 Broke music control out into a separate controller in preparation for JavaScript music interface. As a side effect, mission music should work on SDL builds, and the theme music should loop. I hope. To do: add music Off/On/iTunes control to config menu.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1343 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-03 15:44:24 +00:00