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
Jens Ayton
907340dfc8
Fix for missionScreenEnded not being called when launching during a mission screen.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1339 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-03 00:27:44 +00:00
Nikos Barkas
d6be045ba9
Corrected a small parse error in oolite-font.plist that was preventing the white star character from appearing on the GNUstep builds (thanks Ahruman).
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1338 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-02 10:58:00 +00:00
Nikos Barkas
8a388b2b6a
Escorts are now working again, hopefully without side effects. Replaced acute accent with apostrophe in the main digrams string in descriptions.plist, because it was causing invalid planet names generation.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1336 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-02 09:25:16 +00:00
Jens Ayton
d3db589df3
Added 'don't use runLegacyScriptActions()'.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1335 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-01 18:27:54 +00:00
Jens Ayton
07fc2a25b6
Fixed some bugs in OXP verifier.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1325 127b21dd-08f5-0310-b4b7-95ae10353056
2008-01-28 01:24:40 +00:00
Jens Ayton
c812e61ad9
More data-driven text rendering with eight-bit encoding support.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1323 127b21dd-08f5-0310-b4b7-95ae10353056
2008-01-27 23:37:56 +00:00
Nikos Barkas
40007231b6
Fixed a problem where a ship having a script pre-assigned would not get its scriptactions set. Ships getting destroyed now can respond to whom and why queries for shipDied. Removed hardcoded text from trumbles script. Fixed a typo in descriptions.plist.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1318 127b21dd-08f5-0310-b4b7-95ae10353056
2008-01-21 07:29:31 +00:00
Nikos Barkas
c47f8db6aa
Fixed a small problem with the shader effects option being displayed incorrectly. Some more strings externalized.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1316 127b21dd-08f5-0310-b4b7-95ae10353056
2008-01-19 10:57:41 +00:00
Nikos Barkas
e7f0b0e316
Made the Y/N response on the intro1 screen user settable. Also fixed a problem with descriptions.plist that was generating incorrect planet descriptions.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1315 127b21dd-08f5-0310-b4b7-95ae10353056
2008-01-18 07:16:19 +00:00
Nikos Barkas
049a9ab4eb
A few more hardcoded strings externalized.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1314 127b21dd-08f5-0310-b4b7-95ae10353056
2008-01-17 17:32:46 +00:00
Nikos Barkas
7b68d32e5f
Fixed a bug in the contracts screen, where premium and fee for passengers would be displayed incorrectly, as a result of attempting to display unsigned long longs as ints.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1313 127b21dd-08f5-0310-b4b7-95ae10353056
2008-01-17 16:45:32 +00:00
Nikos Barkas
869baca25a
Made arrays mergeable like dictionaries, thus enabling for example OXP created equipment to override the standard one instead of being added on top of it. More internationalization farming outto shipdata.plist. By now, all (or almost all) game strings should have been externalized.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1312 127b21dd-08f5-0310-b4b7-95ae10353056
2008-01-16 08:27:38 +00:00
Nikos Barkas
295fa03c8e
Even more game strings moved to descriptions.plist for the purposes of making Oolite multi-language capable.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1310 127b21dd-08f5-0310-b4b7-95ae10353056
2008-01-14 18:35:12 +00:00
Nikos Barkas
0bce1be2ed
More game strings moved out to descriptions.plist. Also added the commsMessageByUnpiloted method, but its code is disabled until approved for inclusion.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1309 127b21dd-08f5-0310-b4b7-95ae10353056
2008-01-14 07:18:46 +00:00
Nikos Barkas
00da1bed7e
Farmed out all displayable constant game strings to descriptions.plist, as a first step in adding full multilingual support to Oolite. Testing required.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1308 127b21dd-08f5-0310-b4b7-95ae10353056
2008-01-13 14:24:10 +00:00
Jens Ayton
804b2fea93
Fix for Asps not having lasers when bought. Subentities no longer count as kills (trunk only).
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1305 127b21dd-08f5-0310-b4b7-95ae10353056
2008-01-09 01:11:38 +00:00
Jens Ayton
2a2e31de07
More copyright strings.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1295 127b21dd-08f5-0310-b4b7-95ae10353056
2008-01-02 14:38:49 +00:00
Nikos Barkas
d9e11be684
Tweaked missile accuracy so that it is handled in a saner way than before. Valid values for accuracy of missiles are now from 0.0 to 10.0, as one would expect and m.a. is clamped to this range at entity initialization. Also updated the date strings appearing in the game to reflect new year change.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1292 127b21dd-08f5-0310-b4b7-95ae10353056
2008-01-02 06:25:41 +00:00
Nikos Barkas
d6fcfe75d4
Missiles now use the accuracy variable to determine how well to track targets. Accuracy must be more than 1.0 and less than or equal to 10.0, otherwise it is ignored. Made the required Advanced Nav Array tech level equal to 7, as it was meant to be.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1291 127b21dd-08f5-0310-b4b7-95ae10353056
2008-01-01 15:38:28 +00:00
Jens Ayton
4919cb197e
Changed OOCreditsQuantity to uint64_t.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1274 127b21dd-08f5-0310-b4b7-95ae10353056
2007-12-13 11:53:25 +00:00
Jens Ayton
856409ed46
Added ability to explicitly bind shaders to subentity rather than root entity (backported to 1.70-m). Added support for hull heat glow to default shader (full shader mode only). Added Eric Walch's list of pre-existing roles to pirate-victim-roles.plist.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1265 127b21dd-08f5-0310-b4b7-95ae10353056
2007-12-05 14:32:56 +00:00
Jens Ayton
a877783cea
Bumped versions for trunk and 1.70-maintenance to 1.71 and 1.70.1 respectively to help avoid confusing them.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1259 127b21dd-08f5-0310-b4b7-95ae10353056
2007-12-03 18:05:21 +00:00
Jens Ayton
4546eb0baa
Fix for OXP verifier turning of log message classes. Exterminated all uses of NSLog that turn up in Mac builds.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1257 127b21dd-08f5-0310-b4b7-95ae10353056
2007-12-03 17:53:37 +00:00
Jens Ayton
df05fbd65f
Updated version numbers.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1250 127b21dd-08f5-0310-b4b7-95ae10353056
2007-12-02 20:43:08 +00:00
Jens Ayton
56eb8f1738
Renamed a bunch of script handlers and gave NPC scripts some events that only player scripts got before. Added compatibility mechanism to point out uses of old handlers.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1247 127b21dd-08f5-0310-b4b7-95ae10353056
2007-12-02 00:50:06 +00:00
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
4a776c4193
Implemented recursion limiter in AI method reactToMessage: in response to SCR crash report.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1236 127b21dd-08f5-0310-b4b7-95ae10353056
2007-11-19 18:34:28 +00:00
Nikos Barkas
39f1fd30fb
Bypass two harmless, log cluttering OpenGL error reports, at the same time gaining on performance, by setting rendering.opengl.error to no in logcontrol.plist.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1235 127b21dd-08f5-0310-b4b7-95ae10353056
2007-11-17 21:34:05 +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
3781f83407
Added Eric Walch's suggested AI fixes (bug #12161 ). Added contributors.txt.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1213 127b21dd-08f5-0310-b4b7-95ae10353056
2007-10-13 19:24:06 +00:00
Jens Ayton
18d59be255
Fix to dockingAI.plist submitted by Eric Walch.
...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1209 127b21dd-08f5-0310-b4b7-95ae10353056
2007-10-10 21:59:36 +00:00