Commit Graph

581 Commits (master)

Author SHA1 Message Date
Jens Ayton 30bece8f30 Moved Oolite-importer into Mac-specific.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3532 127b21dd-08f5-0310-b4b7-95ae10353056
2010-06-13 20:25:19 +00:00
Jens Ayton 3472aabce9 [Mac] Added dock tile menu to show log, screen shots etc. In Snow Leopard, it sticks around when the app quits if it's still in the dock. Also, option->show log shows the log folder.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3530 127b21dd-08f5-0310-b4b7-95ae10353056
2010-06-13 20:08:57 +00:00
Jens Ayton 213ce5a28f Added default script for player ship, so it isn't a special case.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3527 127b21dd-08f5-0310-b4b7-95ae10353056
2010-06-13 17:53:25 +00:00
Eric Walch 6acabb790f Moved "oolite-rocktunnel.dat" to the correct "Models" folder. Probably only wrong at the mac
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3489 127b21dd-08f5-0310-b4b7-95ae10353056
2010-06-09 18:34:21 +00:00
Jens Ayton 3cafc40ed8 Switched PlanetEntity over to OOTexture.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3460 127b21dd-08f5-0310-b4b7-95ae10353056
2010-06-04 15:25:08 +00:00
Jens Ayton 20da5ba016 Fix for PlanetEntity leaking display lists.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3452 127b21dd-08f5-0310-b4b7-95ae10353056
2010-06-03 19:17:43 +00:00
Jens Ayton 8a9a1e7b83 Added new debug function: console.writeMemoryStats(). Estimates total memory use by entities and textures, and how much texture data is visible (i.e. relevant to GPU swapping).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3434 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-30 14:51:13 +00:00
Jens Ayton 5f84c63462 Fixed some scaling and conversion bugs in OOCombinedEmissionMapGenerator. Mac DebugOXP New Ship menu item now works like :spawn macro.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3366 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-18 16:28:05 +00:00
Marc 15fcc13c8a - added new resource files to mac build
- brought most copyright notices up to date.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3361 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-15 23:50:35 +00:00
Jens Ayton a7cf62d05f Support for GPU-specific settings. Dust now works/isn't slow (depending on platform) on GMA9xx. Default shader mode is now FULL except on 9xx/GeForce 5200. Full shader mode is disabled on GMA9xx.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3339 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-14 12:45:10 +00:00
Jens Ayton 3de5adccc1 Centralized setting of GL_POINT_SMOOTH and GL_LINE_SMOOTH, since they're never deliberately disabled.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3338 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-14 09:53:02 +00:00
Jens Ayton 46c40ec186 More graceful handling of disappearing docking target.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3308 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-09 15:21:06 +00:00
Jens Ayton 423d317234 Resurrected Mac sound inspector (as part of Debug OXP).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3306 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-09 13:33:03 +00:00
Jens Ayton 8392bee4a5 Fade dust motes to clear instead of black when shady.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3298 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-06 18:22:53 +00:00
Jens Ayton 0bf1a6732f Xcode project tweaks to put resources in proper subdirectories. Recommend deleting built app to avoid duplicates.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3292 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-05 17:46:19 +00:00
Jens Ayton 29a4ff8c39 Disabled OOEnvironmentCubeMap, will resume post-MNSR.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3287 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-05 13:36:16 +00:00
Marc fae7279bcb - added shortcuts for Previous.log, AddOns and snapshots folder to mac's Oolite menu.
- minor xcode project cleanup, hopefully I didn't remove anything important...

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3277 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-03 09:56:22 +00:00
Jens Ayton 0477421cc6 Prototype dynamic environment map renderer. Not used for anything and has serious rendering artefacts. Requires FBOs. Trigger from console with PS.call('debugDumpEnvironmentProbe'). Also, removed texture name cache - I'm not convinced it was doing anything useful, and it exploded when faced with recycled cube maps.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3271 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-02 20:34:41 +00:00
Jens Ayton 69deda0865 Refactored OOTexture into an abstract class and a concrete class.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3267 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-02 15:55:12 +00:00
Jens Ayton 12016a853b Cleaned up redundant dual licensing headers as previously discussed. Gosh, there's a lot of them. Feel free to ad your name or 'and contributors' as appropriate. Also, excluded unused classes OOCamera and OOLight from build, but didn't delete them.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3263 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-02 12:32:43 +00:00
Jens Ayton 4f5ee63561 Minor cleanuppery.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3256 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-01 17:55:01 +00:00
Jens Ayton dd78bf3a6d Cube map textures are now converted to lat/long maps (with appropriate flipping) when GL_ARB_texture_cube_map is not available. Can be tested with disable-cube-maps preference, but note that this will break any custom shaders that expect cube maps. (Cube maps are always available if shaders are supported.) Performance concerns: well, the actual conversion process is faster than the scaling used to implement supersampling.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3249 127b21dd-08f5-0310-b4b7-95ae10353056
2010-04-29 23:28:12 +00:00
Jens Ayton f48c83b674 Logging tweaks: use OOLITE_SNAPSHOT_VERSION in log header if defined; less confusing message when failing to find AI plist for a ship's initial AI; stylistic consistency for JS planet errors.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3242 127b21dd-08f5-0310-b4b7-95ae10353056
2010-04-29 18:51:48 +00:00
Jens Ayton 926260dd38 Renaming.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3179 127b21dd-08f5-0310-b4b7-95ae10353056
2010-04-21 18:59:35 +00:00
Jens Ayton ab623a5c94 * Big unified emission and illumination map thingy for non-shader mode. Known
limitations:
  - causes synchronous wait for component textures to load.
  - Component textures are cached unnecessarily.
* cleanup of material dictionary handling.
* Added foo_color variants of material colour key names.
* Added illumination_color material property.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3178 127b21dd-08f5-0310-b4b7-95ae10353056
2010-04-21 18:21:29 +00:00
Jens Ayton 731fae187f Fixed some Mac build breakage, removed some debug code.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3171 127b21dd-08f5-0310-b4b7-95ae10353056
2010-04-16 08:46:54 +00:00
Marc e07cf99430 - Oopsie! Actually added the new tunnel shape.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3169 127b21dd-08f5-0310-b4b7-95ae10353056
2010-04-16 07:59:17 +00:00
Jens Ayton ca06516f4c Cleaned up texture pixel-twiddling code a bit. Added extract_texture texture option (for, e.g., using one channel of a shader effect map as a glow map in non-texture mode). Mac: renamed custom static libpng to libpng_for_oolite, to avoid linking to wrong library when normal libpng installed in /usr/local/lib.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3165 127b21dd-08f5-0310-b4b7-95ae10353056
2010-04-15 23:51:41 +00:00
Jens Ayton 065d44deef Implemented non-power-of-two scalers for two-channel textures.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3159 127b21dd-08f5-0310-b4b7-95ae10353056
2010-04-12 22:36:46 +00:00
Jens Ayton dcdbbdfbea Implemented multi-texture material for emission_map in non-shader mode (uses GL_ARB_texture_env_combine; included test case, which depends on shader test suite). Also a bunch of material code cleanup (and messup, to support multiple sets of texture coordinates).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3155 127b21dd-08f5-0310-b4b7-95ae10353056
2010-04-12 18:05:46 +00:00
Jens Ayton c9cdbc7631 Added extra shader validation, controlled by DEBUG_SHADER_VALIDATION flag. Removed DEBUG_ENTITIES and merged DEBUG_OCTREE and DEBUG_OCTREE_TEXT into DEBUG_OCTREE_LOGGING.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3148 127b21dd-08f5-0310-b4b7-95ae10353056
2010-04-11 16:03:43 +00:00
Jens Ayton d267cf71bf Implemented fallback to simple shader mode when full shader doesn't build, and added test case. Added debug flag to disable callback behaviour, used in shader test suite. Also moved debug flags to their own header.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3144 127b21dd-08f5-0310-b4b7-95ae10353056
2010-04-11 13:57:02 +00:00
Jens Ayton 0c19da2b47 Support for grey+alpha textures. (Part of this was accidentally included in previous commit.) Also fixed confusion of GL format and internalFormat in texture code.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3134 127b21dd-08f5-0310-b4b7-95ae10353056
2010-04-09 19:35:39 +00:00
Jens Ayton 48e2ffb5ea Removed superfluous build settings that caused a build error in Xcode 3.2.2.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3104 127b21dd-08f5-0310-b4b7-95ae10353056
2010-04-03 15:52:56 +00:00
Jens Ayton a79eae0acc Better error logging when loading a saved game fails. Fixed up some script comments.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3080 127b21dd-08f5-0310-b4b7-95ae10353056
2010-03-26 23:07:23 +00:00
Jens Ayton a1114c9b72 Fixed models being copied to wrong place (Mac only).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3061 127b21dd-08f5-0310-b4b7-95ae10353056
2010-03-13 17:29:22 +00:00
Jens Ayton 02e4b2bf8a Fixed Mac build.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3060 127b21dd-08f5-0310-b4b7-95ae10353056
2010-03-13 15:05:22 +00:00
Jens Ayton 29e904f0f6 More work on player shader binding issue: implemented ProxyPlayerEntity class.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3052 127b21dd-08f5-0310-b4b7-95ae10353056
2010-03-03 21:23:31 +00:00
Jens Ayton a4382b451f Fixed bug where space dust velocity ignored inertial velocity of player, taking only thrust into account. Exposed player velocity to JS. Initial work on fixing player-only shader binding issue described at http://aegidian.org/bb/viewtopic.php?p=103930#103930 .
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3051 127b21dd-08f5-0310-b4b7-95ae10353056
2010-03-03 18:04:06 +00:00
Jens Ayton 93f35500f7 Preparing Xcode project for Mac nightly builds.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3041 127b21dd-08f5-0310-b4b7-95ae10353056
2010-02-24 22:40:11 +00:00
Jens Ayton 690f02cb32 Updated Xcode project for libpng 1.4.0.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3020 127b21dd-08f5-0310-b4b7-95ae10353056
2010-02-13 18:15:51 +00:00
Jens Ayton 4284da31cd Ships with the same model but different material dictionaries now work properly. Changed mechanism for saving and restoring wormholed ships.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2994 127b21dd-08f5-0310-b4b7-95ae10353056
2010-01-23 22:20:55 +00:00
Jens Ayton 7fa2001692 Slight variations in colour and specularity on oceans.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2958 127b21dd-08f5-0310-b4b7-95ae10353056
2010-01-10 16:06:45 +00:00
Marc bb93c112da - yet more go-faster tweaks to the texture generator.
- integrated the previously separate atmosphere generator inside OOPlanetTextureGenerator, to avoid noise generator overheads.
- added NEW_ATMOSPHERE compile-time switch to OOPlanetEntity.

- tidying up of contract market generators: while they're still slow, some dead code was removed.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2918 127b21dd-08f5-0310-b4b7-95ae10353056
2009-12-30 09:17:01 +00:00
Marc 562d33d19d Custom Screens Part IIb: updated the mac project file to include the new stuff.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2910 127b21dd-08f5-0310-b4b7-95ae10353056
2009-12-24 22:55:25 +00:00
Jens Ayton bf5ee3b2ce Reintroduced all models removed in r2787 (except exhaust.dat) based on the cleaned-up base ships. These models are now unused in Oolite, but some are referenced by OXPs.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2893 127b21dd-08f5-0310-b4b7-95ae10353056
2009-12-17 22:10:12 +00:00
Jens Ayton c4cad73d63 Made planet texture generator several times faster.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2884 127b21dd-08f5-0310-b4b7-95ae10353056
2009-12-16 00:10:27 +00:00
Jens Ayton 044ae93959 Planet normal mapping is now disabled as intended in simple shader mode.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2883 127b21dd-08f5-0310-b4b7-95ae10353056
2009-12-15 21:45:46 +00:00
Jens Ayton 1c0251db3a Normal mapping for generated planets (full shader mode only). Normal/baked shadow intensity is now consistent when changing planet texture size. Switched to 1024x1024 except for reduced detail mode. NB: texture debug dump requires new methods which aren't implemented for SDL, but is switched off.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2881 127b21dd-08f5-0310-b4b7-95ae10353056
2009-12-13 12:35:42 +00:00
Marc 44df4a0f56 - oops!
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2868 127b21dd-08f5-0310-b4b7-95ae10353056
2009-12-10 00:38:24 +00:00
Jens Ayton 41f5d03697 Rudimentary planet shader (disabled with SHADY_PLANETS macro in OOPlanetEntity.m; texture mapping only, no lighting, but with per-pixel calculation of longitude component to completely eliminate distortion. Interacts badly with mip-mapping, though.)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2860 127b21dd-08f5-0310-b4b7-95ae10353056
2009-12-07 22:42:23 +00:00
Jens Ayton 1e2e56b4b1 NEW_PLANETS now applies to scripted planets. If NEW_PLANETS, the old PlanetEntity and TextureStore are now completely excluded. Most of the kludges for dealing with both types of planet are gone.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2857 127b21dd-08f5-0310-b4b7-95ae10353056
2009-12-07 18:43:48 +00:00
Jens Ayton 5ddbe997b1 New planets now have procedural diffuse maps. Unfortunately, the generator seems to hang from time to time. Incidentally, the log entries saying Dequeued generator <OOPlanetTextureGenerator 0x133d7bcf0>{{(null) -- failed}} are not an actual failure.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2807 127b21dd-08f5-0310-b4b7-95ae10353056
2009-11-29 21:57:57 +00:00
Jens Ayton 7754f83cb7 Oops! That last commit wasn't really ready. Here's the rest of the fix, along with some half-baked new planet stuff (disabled with NEW_PLANETS in Universe.m).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2803 127b21dd-08f5-0310-b4b7-95ae10353056
2009-11-29 16:48:14 +00:00
Jens Ayton 7dcf2df39c Basic but working new planet drawable. Can be tested on ships by enabling BALL_WORLD in ShipEntity.m.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2799 127b21dd-08f5-0310-b4b7-95ae10353056
2009-11-29 14:36:22 +00:00
Jens Ayton ae974039d2 Eliminated deprecated -cString method (again). Mac JS console now works in 64-bit mode. Unfortunately, this requires using different versions of RBSplitView for different architectures, since the 64-bit-compatible version doesn't work with Tiger.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2795 127b21dd-08f5-0310-b4b7-95ae10353056
2009-11-28 23:59:00 +00:00
Jens Ayton 9c076a03ab Basic-debug.oxp can now be built with a makefile in DebugOXP/, instead of being build in tools/simpleDebugConsole by the Xcode project.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2794 127b21dd-08f5-0310-b4b7-95ae10353056
2009-11-28 14:41:50 +00:00
Jens Ayton b3f7f8508a Tidying up in project directory.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2793 127b21dd-08f5-0310-b4b7-95ae10353056
2009-11-28 14:25:17 +00:00
Jens Ayton 878f382106 Split suns out into a separate SunEntity class.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2792 127b21dd-08f5-0310-b4b7-95ae10353056
2009-11-28 14:17:57 +00:00
Jens Ayton 6edfa48452 Xcode project updates for removed models.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2790 127b21dd-08f5-0310-b4b7-95ae10353056
2009-11-28 14:07:27 +00:00
Jens Ayton b346df7716 Fixed debug flags in master copy of oolite-debug-console.js.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2786 127b21dd-08f5-0310-b4b7-95ae10353056
2009-11-27 15:21:14 +00:00
Jens Ayton 1df30db2aa Fixed bug where name key in dictionary-form texture specifiers was ignored. Planet geometry thing can now generated DATs in an unwrapped mode to help verify texture mapping - wish I'd thought of that eariler.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2775 127b21dd-08f5-0310-b4b7-95ae10353056
2009-11-21 17:41:35 +00:00
Jens Ayton 5dd0443728 Refactored AI GraphViz stuff for slightly better legibility and put it in its own file.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2743 127b21dd-08f5-0310-b4b7-95ae10353056
2009-11-14 14:29:42 +00:00
Jens Ayton 8bb929b658 AI GraphViz handles set/switchAITo: followed by setStateTo:; added an entry for DEBUG_GRAPHVIZ to log header.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2738 127b21dd-08f5-0310-b4b7-95ae10353056
2009-11-12 17:32:42 +00:00
Jens Ayton c2cb7d94e0 Implemented tricky part of polygon sprite outline generation, less tricky part to follow.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2693 127b21dd-08f5-0310-b4b7-95ae10353056
2009-10-24 18:34:39 +00:00
Jens Ayton 09e61dbdc9 Added polygon-sprite-dump-svg preference to save on graph paper. (This will be useful when I implement outline tesselation this weekend.)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2686 127b21dd-08f5-0310-b4b7-95ae10353056
2009-10-21 19:43:22 +00:00
Jens Ayton bc3a113b0f Incomplete support for general polygons in missile icons. (In case of splodey, setting the OLD_ICONS macro in HeadUpDisplay.m to 1 will revert to the old drawing code.)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2661 127b21dd-08f5-0310-b4b7-95ae10353056
2009-10-10 12:23:24 +00:00
Marc 47f9f2c920 * corrected manifest miscount when ship in flight.
* last change to player.ship.manifest: manifest.food & similar are now read/write manifest quantities. Internally all commodities are now going to be referenced by the canonical identifiers, commodities.plist still overrides the displayName - the .manifest.list array is unchanged, and still read-only.
* renamed 2 ship properties for consistency: ship.availableCargoSpace & ship.cargoCapacity now become ship.cargoSpaceAvailable & ship.cargoSpaceCapacity.

- more code tidying.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2637 127b21dd-08f5-0310-b4b7-95ae10353056
2009-10-06 09:09:08 +00:00
Jens Ayton 287da97963 Weekend of SVN Death fixes: partial fix for planet texture mapping suckiness (disabled by default, see FIXED_TEX_COORDS in PlanetEntity.m). Fixed crash when constructing JS timer with invalid parameters. Some cleanup and stuff.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2636 127b21dd-08f5-0310-b4b7-95ae10353056
2009-10-05 13:13:06 +00:00
Jens Ayton 09843c8073 ...and removed now-unused flare256.png texture.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2603 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-25 19:36:08 +00:00
Jens Ayton 2f12c5c4e2 Moved laser and explosion flashes over to OOLightParticleEntity, and changed OOLightParticleEntity size from an NSSize to a single diameter.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2602 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-25 19:35:13 +00:00
Jens Ayton 6b2e74be02 Reinstated plasma impact bursts.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2601 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-25 18:27:47 +00:00
Jens Ayton 3132dc8fe4 Moved plasma shots over to the new hotness. Bloom effect on plasma impact is temporarly disabled pending yet another new OOLightEntity subclass. Also fixed a bug where turrets would hold fire until target was well inside of range, instead of just outside as per comment. Also also, removed entity isParticle ivar.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2600 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-25 17:36:59 +00:00
Jens Ayton 426815f740 Freed ECM blasts from their ParticleEntity bonds.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2546 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-20 16:06:33 +00:00
Jens Ayton ec4aa91753 Spent several hours worrying about the need to deep copy data before async cache flush and the performance implications of doing so, then realised there was no reason that would be necessary. Currently back to async flushing without deep copy, and profiling code. The profiling timer implementation for Windows is untested and may be broken. Also, fixed a nasty bug in OODeepCopy() where empty dictionaries ere turned into sets.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2541 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-20 14:02:55 +00:00
Jens Ayton c988131375 Data cache writes are now asynchronous, for great snappy.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2537 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-19 22:03:36 +00:00
Jens Ayton ab8aebe696 Turned OOTextureLoadDispatcher into more general OOAsyncWorkManager.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2536 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-19 21:47:05 +00:00
Jens Ayton dafcec17b1 Here's a thought: instead of asking libpng for data in the wrong order and then swapping it, how about asking for data in the right order? It's a crazy idea, but it might just work.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2530 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-19 18:17:38 +00:00
Jens Ayton 657d4556a8 Updating Xcode project to keep up with GNUmakefile for once.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2529 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-19 18:09:51 +00:00
Marc baa5430180 - got xcode to compile with the renamed javascript-errors.plist
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2497 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-13 16:25:48 +00:00
Marc fabfc9b391 - F7 screen now shows the nova sun for systems destroyed by novae, planets everywhere else.
- moving from screen to screen now always resets the background image.
- fixed xcode compile warning.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2494 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-13 14:51:21 +00:00
Jens Ayton 712097c550 Gave sparks the slimming treatment.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2480 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-12 10:44:29 +00:00
Jens Ayton 68d44cb438 Sundry OOGL()-ification, and added temp code to dump the instance size of various entity classes at startup.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2474 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-11 15:06:58 +00:00
Jens Ayton 8a9c0b0551 Factored exhaust plumes into a separate class. Moved instance variables used only by exhaust entities into said new class, saving several megabytes of memory. Added Entity memory consumption (not including drawables and materials) to FPS display as a graphic reminder that they're still too big.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2467 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-10 23:13:20 +00:00
Jens Ayton d83e9031c8 More static analyzer fun: fixed flagrant abuse of -init in -[Universe reinitAndShowDemo:], don't create a nav boy if creating a station fails, get systeminfo before asking it for a government in [-Universe witchspaceShipWithPrimaryRole:] (so skipping of escorts in safe systems works).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2438 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-08 19:28:13 +00:00
Jens Ayton c50eec56f8 Cleaned up among feature macros; updated log header appropriately; simplifed log header generation a bit; fixed clean build of Mac debug configuration (Debug.oxp no longer wants OoliteDev.app).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2430 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-08 15:06:22 +00:00
Jens Ayton 6244814f2f Fixed Mac Deployment configuration (it isn't supposed to be exporting anything). Log header now lists [GLSL Shaders] and [OXP Debug Features] as appropriate.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2429 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-08 13:54:06 +00:00
Marc e93b8aa9ee Mac build:
- really removed all traces of 10.3 from the build settings now(probably)
- changes to codebase to enable Deployment builds to link properly, might affect other platforms builds.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2428 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-08 13:37:28 +00:00
Marc ea62edcb5e * mac builds on trunk:
- removed all stray references to 10.3, and testRelease should now build properly on PPCs too.
- Still couldn't correct the 4 missing debug exports from Deployment.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2427 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-08 09:05:30 +00:00
Marc cc12a609bc - got it to compile & execute ok on Xcode 3.1 for debug & test release configurations. There are still 4 -exported_symbols missing from the deployment configuration, though...
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2426 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-08 08:26:30 +00:00
Jens Ayton 982bd06d68 Tweak to Xcode project: Oolite is now named Oolite.app in all configurations, to avoid an incompatibility between Xcode 3.2 and Xcode 3.1.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2425 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-07 21:53:05 +00:00
Jens Ayton 7d85d3391d New! Hardcore OpenGL error checking action. Compile time option (OO_CHECK_GL_HEAVY) to check for OpenGL errors before and after, ideally, every single GL function call. (Exception: for immediate-mode drawing, checking is done before glBegin() and after glEnd().) Temporarily enabled by default in Mac debug builds for compatiblity testing. Oh, and fixed a bug where shader programs that fail to build could sometimes be deleted twice.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2424 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-07 20:37:44 +00:00
Jens Ayton b3b6eceae0 Fixed Mac 64-bit build.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2421 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-07 16:39:33 +00:00
Jens Ayton ea629fbeb4 Beginning of a lightweight replacement for ParticleEntity, currently used for flashers.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2415 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-06 19:07:53 +00:00
Jens Ayton 8293a67ecc Fixed an oversight that was causing traderInterceptAI.plist to be excluded in Mac builds.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2394 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-05 14:16:55 +00:00
Jens Ayton 238d0feaee Moar property lists: slow-gpus.plist (matching patterns for GPUs where we should default to simple shaders, unimplemented); shipdata-overrides.plist (fixes for known, minor, third-party problems; currently suppresses one harmless error from griff_spacebar_subent_template); script-patches.plist, similar auto-patcher for third-party scripts (unimplemented). Also, syntax error reports for legacy scripts now provide a sort of path to the problem, e.g. assassins.0.do.321.do.1.conditions.0, which just happens to provide information needed to write script-patches.plist entries.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2382 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-04 19:00:30 +00:00
Jens Ayton 15dae1b410 Random unexpected feature of the week: refactored texture loading dispatch into a separate class (instead of class methods in OOTextureLoader), and added an implementation that uses NSOperationQueue rather than hand-rolled thread pool if available (OS X 10.5, GNUstep 0.19).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2381 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-04 17:28:59 +00:00
Jens Ayton 3b36f20058 Fixed build issue for debug OXP in Debug/x86_64 configuration.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2374 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-03 22:38:42 +00:00
Jens Ayton c59c9743e1 Got the project building with Clang, which revealed a number of syntax errors.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2371 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-03 21:08:03 +00:00
Jens Ayton 00077466ab Various tweaks and a handfull of hacks to get Oolite building for x86_64 OS X.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2370 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-03 20:01:35 +00:00
Jens Ayton b15825ddfd Administrative updates for OS X: Xcode projects are now marked as requiring Xcode 3.1 rather than 3.0 (3.1 is an update for Leopard).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2364 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-03 15:57:44 +00:00
Jens Ayton 97aedf381b Fixed build under Xcode 3.2 (Snow Leopard).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2355 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-02 15:24:18 +00:00
Jens Ayton fd60071a53 Fix for somehow broken checkin of r2352.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2353 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-02 12:23:38 +00:00
Jens Ayton 3c10a9b2be Bumped version number. Changed Mac system requirement to 10.4, and cleaned up target configuration in preparation for 64-bit support.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2335 127b21dd-08f5-0310-b4b7-95ae10353056
2009-08-30 14:49:03 +00:00
Jens Ayton 6aaf7a1e75 Committed unspeakable necromancy on the graveyard of the repository.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2331 127b21dd-08f5-0310-b4b7-95ae10353056
2009-08-29 23:09:22 +00:00
Jens Ayton 999fe7e969 Trying to convince svn that this deleted directory is really deleted.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2330 127b21dd-08f5-0310-b4b7-95ae10353056
2009-08-29 22:50:59 +00:00
Jens Ayton 50e19e1a68 Attempted fix for aegis-tracking crash.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2329 127b21dd-08f5-0310-b4b7-95ae10353056
2009-08-29 22:20:06 +00:00
Jens Ayton a4823f6ef7 Update log tweaking fun time: added some of Marc's suggestions, moved OXP stuff that isn't scripting to its own section, removed note about questionable throw_sparks feature.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2324 127b21dd-08f5-0310-b4b7-95ae10353056
2009-08-29 19:14:48 +00:00
Jens Ayton efca253270 Last-minute change: changing misspelled event handler playerTargettedMissile() to playerTargetedMissile(), and related spelling fixes in code.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2321 127b21dd-08f5-0310-b4b7-95ae10353056
2009-08-29 17:05:36 +00:00
Jens Ayton 9781d2b9d1 Fixed possible but unlikely cause of crashes in JavaScript error handling, and improved log message classes for JS errors (symbolic names instead of magic numbers).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2308 127b21dd-08f5-0310-b4b7-95ae10353056
2009-08-23 20:49:25 +00:00
Jens Ayton 0dc704c26d Removed (optional) installation of Smart Crash Reports in Mac test release builds - it's just too evil. SCR will still be used if it's installed (usage is passive).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2306 127b21dd-08f5-0310-b4b7-95ae10353056
2009-08-23 16:51:42 +00:00
Jens Ayton 8f31c44b21 Changeged various option macros to use 0/1 convention instead of undefined/defined convention. Moved definition of these macros into an xcconfig file when building for OS X, so that their definition is shared with the debug OXP and is the same across configurations.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2298 127b21dd-08f5-0310-b4b7-95ae10353056
2009-08-21 19:46:53 +00:00
Jens Ayton 5c52303826 Added -[ShipEntity hasEquipmentItem:includeWeapons:]; hasEquipmentItem: is now a shortcut fot hasEquipmentItem:foo includeWeapons:NO. Moved JS hasEquipment() from PlayerShip to Ship and made it include weapons by default, with optional argument to suppress this.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2216 127b21dd-08f5-0310-b4b7-95ae10353056
2009-06-21 12:35:37 +00:00
Jens Ayton d4b7f42c08 Changed oolite.bug.reports@gmail.com to bugs@oolite.org as appropriate.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2206 127b21dd-08f5-0310-b4b7-95ae10353056
2009-06-14 19:22:31 +00:00
cmdrjames c0ab3e3a45 Add wormhole scanner to xcode build. Shouldn't impact anyone except mac users building from source.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2138 127b21dd-08f5-0310-b4b7-95ae10353056
2009-04-23 22:11:55 +00:00
Jens Ayton fc2a59f0d2 Detect and remove jsautocfg.h in SpiderMonkey/js/src when building with Xcode. (This can happen if you run the configure script and breaks the build for PowerPC, or x86 if you ran the configure script on a PowerPC Mac.)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2065 127b21dd-08f5-0310-b4b7-95ae10353056
2009-02-15 15:15:49 +00:00
Jens Ayton b02018341b Always use native exception syntax via macros instead of setjmp/longjmp under Mac OS X. This removes the need to insert volatile in random places to avoid build warnings.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2059 127b21dd-08f5-0310-b4b7-95ae10353056
2009-02-12 21:06:00 +00:00
Jens Ayton 557a353cc4 Subentity definitions can now be dictionaries, and this is now used as the internal format. Ship registry now uses mutable dictionaries for entries while working on them for simplicity, and uniques strings and numbers once done for efficiency (in the same way binary plist generation does for the cache... I really should double-check that GNUstep does that). Also simplified handling of external views, fixing a crashing bug (triggered the third time the player died) in the process.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2051 127b21dd-08f5-0310-b4b7-95ae10353056
2009-02-11 17:37:20 +00:00
Jens Ayton faf58aa744 Attempt to fix occasional bug where ship remains targeted despite being out of range.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2039 127b21dd-08f5-0310-b4b7-95ae10353056
2009-02-07 13:48:22 +00:00
Jens Ayton ca68c038a4 JavaScript tweaks: deprecated entity IDs; made Entity.position and Entity.orienation read/write since their read-onliness wasn't really accomplishing anything; added toSource() method to Vector and Quaternion; Vector() and Quaternion() constructors can now be called without the new keyword, allowing the use of call() and apply().
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2038 127b21dd-08f5-0310-b4b7-95ae10353056
2009-02-07 12:53:09 +00:00
Jens Ayton 701b315d3e Fixed build breakages.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2033 127b21dd-08f5-0310-b4b7-95ae10353056
2009-02-06 20:36:21 +00:00
Jens Ayton dbde672d01 "Small" change to group and escort handling, now with explicit group objects. I really must stop making "small" changes. (N.b.: JavaScript ShipGroup currently fails to work in interesting ways.)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2028 127b21dd-08f5-0310-b4b7-95ae10353056
2009-02-06 16:13:36 +00:00
Jens Ayton 614341a04d Implemented dropMessages: and debugDumpPendingMessages AI commands. Added experimental dealyedReactToAttackAI, and used it in planetPatrolAI.plist (which was previously ignoring missiles).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2022 127b21dd-08f5-0310-b4b7-95ae10353056
2009-01-31 14:16:53 +00:00
Jens Ayton 475398f489 Full sript whitelisting support. Some script actions and conditions could do with pre-sanitizing.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2013 127b21dd-08f5-0310-b4b7-95ae10353056
2009-01-25 20:15:42 +00:00
Jens Ayton f932b28dc7 Fixed severe Jens-being-an-idiot bug in r1998.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1999 127b21dd-08f5-0310-b4b7-95ae10353056
2009-01-16 09:55:28 +00:00
Jens Ayton 164fd3f2e9 Implemented whitelisting for legacy script conditions, and accidentally optimized evaluation while at it. Conditions for world scripts are currently sanitized (i.e. whitelisted, aliases resolved, syntax checked and partially tokenized) on the fly; this will be cached once sanitizing is implemented for actions. Deleted unused class OOLegacyEventHandlerScript.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1998 127b21dd-08f5-0310-b4b7-95ae10353056
2009-01-16 01:24:01 +00:00
Jens Ayton b02f108735 Implemented AI validation OXP verifier stage. Removed invalid and unused shuttleAI.plist.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1993 127b21dd-08f5-0310-b4b7-95ae10353056
2009-01-12 18:04:02 +00:00
Jens Ayton 3b1db9072d Work towards securing legacy scripts, AIs and shader uniform bindings by whitelisting methods. Game will now print an error message if non-whitelisted methods are used in AIs; in 1.74, this will be changed to dropping non-whitelisted commands from AI actions. My intention is to have similiar mechanisms in place for scripts and uniform bindings by 1.73 release.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1991 127b21dd-08f5-0310-b4b7-95ae10353056
2009-01-11 15:53:01 +00:00
Jens Ayton c434cb64f1 Implemented AI method scanForNearestShipMatchingPredicate:.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1977 127b21dd-08f5-0310-b4b7-95ae10353056
2009-01-07 23:27:49 +00:00
Jens Ayton 8f0900ea10 Fixed uninitialized variable warning from r1955/1966.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1972 127b21dd-08f5-0310-b4b7-95ae10353056
2009-01-05 17:03:41 +00:00
Jens Ayton 5456372c05 Cleanup.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1960 127b21dd-08f5-0310-b4b7-95ae10353056
2009-01-03 14:19:44 +00:00
Jens Ayton 9a1db3fe0b shipWillLaunchFromStation event is now sent while player.dockedStation is still valid (bug #14976).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1935 127b21dd-08f5-0310-b4b7-95ae10353056
2008-12-30 09:55:44 +00:00
Jens Ayton 4a67f75297 Fixed variable-may-be-used-uninitialized warning in optimized builds (not a real problem).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1934 127b21dd-08f5-0310-b4b7-95ae10353056
2008-12-29 17:08:59 +00:00
Jens Ayton c9f22eacfb Hot new data-driven crosshairs.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1911 127b21dd-08f5-0310-b4b7-95ae10353056
2008-12-17 00:40:09 +00:00
Jens Ayton a00a7f495c Implemented --export-sysdesc and --compile-sysdesc command-line options for translators. Improved robustness of system_description parsing and allow entries with other than five elements.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1908 127b21dd-08f5-0310-b4b7-95ae10353056
2008-12-14 18:30:52 +00:00
Jens Ayton a26e612250 Minor tweaks to Mac startup screen; added code for preloading/caching of all meshes, disabled until I finish some refactoring of OOMesh.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1899 127b21dd-08f5-0310-b4b7-95ae10353056
2008-12-10 19:23:01 +00:00
Jens Ayton 1b092b002d Allow looped music via JavaScript. Added %N to SystemDescription.dot dump. Added :qotd console macro for moments of boredom.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1894 127b21dd-08f5-0310-b4b7-95ae10353056
2008-12-06 11:34:01 +00:00
Jens Ayton 4e900975c8 OOMeshes are now dynamically sized.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1890 127b21dd-08f5-0310-b4b7-95ae10353056
2008-12-04 15:20:43 +00:00
Jens Ayton 1cb2df40dd Cleaned up shaders slightly.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1886 127b21dd-08f5-0310-b4b7-95ae10353056
2008-11-28 20:20:58 +00:00
Jens Ayton ab24d9efd3 Rewrote default shader to work in tangent space and support normal mapping.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1885 127b21dd-08f5-0310-b4b7-95ae10353056
2008-11-28 19:37:47 +00:00
Jens Ayton dd1ac56784 Simpler, more efficient equipment shopping code using OOEquipmentItem, with side effect that available_for_all now parses its value correctly.. Corrected use of fuzzyBooleanForKey: in r1855.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1856 127b21dd-08f5-0310-b4b7-95ae10353056
2008-11-15 01:10:01 +00:00
Jens Ayton c5af9b124b Enable docking clearance for non-debug Mac builds (oops). Fixed a potential crash when calling JS player.ship.setGalacticHyperspaceBehaviour() with an invalid argument.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1829 127b21dd-08f5-0310-b4b7-95ae10353056
2008-11-03 21:48:41 +00:00
Jens Ayton bbd9c0ef23 Ye bigge version number bumpe. Also removed deprecated JS stuff that's been around for two versions, and added :logOn and :logOff console macros.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1828 127b21dd-08f5-0310-b4b7-95ae10353056
2008-11-03 17:55:32 +00:00
Jens Ayton 9ad01ddc33 Fix for octree generation bug.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1821 127b21dd-08f5-0310-b4b7-95ae10353056
2008-11-01 13:40:56 +00:00
Jens Ayton 5468ad980f Added CARGO_CARRIED to shipdataEntrySchema.plist. Rearranged IsPlanetPredicate() for better branch prediction.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1818 127b21dd-08f5-0310-b4b7-95ae10353056
2008-10-31 15:54:40 +00:00
Jens Ayton 2158de017c Made JS missionVariables (and script converter) stricter about what they consider to be numbers. Stuff like 2HRS_TO_ZERO are no longer converted to numbers when they shouldn't be. Deleted toos/ScriptCompiler since we no longer support .oos scripts.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1810 127b21dd-08f5-0310-b4b7-95ae10353056
2008-10-25 14:50:30 +00:00
Jens Ayton f575d75530 Added JS EquipmentInfo, wrapper around OOEquipementType.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1796 127b21dd-08f5-0310-b4b7-95ae10353056
2008-10-16 22:04:29 +00:00
Jens Ayton fa182670a7 Mac build now has docking clearance enabled.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1783 127b21dd-08f5-0310-b4b7-95ae10353056
2008-10-03 18:41:50 +00:00
Jens Ayton 6c0d0cc761 Upgraded to Smart Crash Reports SDK 1.5 (for Leopard support). Mac OS X TestRelease configuration will not build without the updated SDK (download from smartcrashreports.com). Also included: a missing file from r1777.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1778 127b21dd-08f5-0310-b4b7-95ae10353056
2008-09-29 21:04:01 +00:00
Jens Ayton a9f7317991 Logging to ~/.Oolite/Logs/Latest.log instead of stderr under Linux, part 2 of 2.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1775 127b21dd-08f5-0310-b4b7-95ae10353056
2008-09-29 09:36:17 +00:00
Jens Ayton ee4e599ebf Fixed memory management bug in modified texture code. Simplified code by adding singleton OONullTexture. Minor tweaks to reduce clang static analyzer messages.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1764 127b21dd-08f5-0310-b4b7-95ae10353056
2008-09-18 23:09:56 +00:00
Jens Ayton 379bd91c6d Fixed JS system.filteredEntities(), entitiesWithScanClass() and shipsWithRole() (all were completely non-functional). Added groovy new entity-finding console macros: :nearest, :tnearest, :find, :findS, :target (see debugConfig.plist).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1750 127b21dd-08f5-0310-b4b7-95ae10353056
2008-08-30 01:43:00 +00:00
Jens Ayton c3da65606f Fixed some OXP verifier issues, twiddled OOCocoa.h so clang static analysis works again.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1749 127b21dd-08f5-0310-b4b7-95ae10353056
2008-08-29 20:44:06 +00:00
Jens Ayton 61e4d9f989 New SDL sound code. Architecturally more similar to Mac code; main feature is that the same sound can be playing on more than one channel at once. Written without test builds, built almost without fixes and worked straight away, so there are almost certainly lurking bugs waiting to bite.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1739 127b21dd-08f5-0310-b4b7-95ae10353056
2008-08-24 21:59:52 +00:00
Jens Ayton 35d09e3f75 Updated remaining old-style sound code. Afterburner loop fixed to use a single sound file instead of two identical ones.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1736 127b21dd-08f5-0310-b4b7-95ae10353056
2008-08-21 20:48:24 +00:00
Jens Ayton 585a1bb940 Fix for OS X-specific build issues (recommend deleting build folder and rebuilding all). Missiles now respond to ECM during initial launch.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1722 127b21dd-08f5-0310-b4b7-95ae10353056
2008-08-03 13:25:30 +00:00
Jens Ayton dee4989151 Catch exceptions when reading cache and rebuild instead of crashing.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1720 127b21dd-08f5-0310-b4b7-95ae10353056
2008-08-02 20:49:23 +00:00
Jens Ayton 87d724fc8a Fix for bug in prefix script adding player compatibility aliases to all objects.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1716 127b21dd-08f5-0310-b4b7-95ae10353056
2008-08-02 19:19:01 +00:00
Jens Ayton 369f588d08 Raised joystick limits.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1712 127b21dd-08f5-0310-b4b7-95ae10353056
2008-07-29 09:41:18 +00:00
Jens Ayton 3315272c00 Split JS Player object into Player and PlayerShip. Made curved sides of arc-detail smooth.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1710 127b21dd-08f5-0310-b4b7-95ae10353056
2008-07-28 17:34:37 +00:00
Jens Ayton f2fae7fef0 Fixed 64-bit little-endian mip-map generation bug and updated associated test code.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1708 127b21dd-08f5-0310-b4b7-95ae10353056
2008-07-27 17:34:36 +00:00
Jens Ayton 175ff0c484 Upgraded OS X sound system to libVorbis 1.2.0. 64-bit build now functional, with texture glitch (almost certainly in mipmap generation). Looking forward to interesting subtle bugs.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1705 127b21dd-08f5-0310-b4b7-95ae10353056
2008-07-26 20:16:46 +00:00
Jens Ayton 3d700aaa6e Changes to make Oolite compile in 64-bit for OS X. Does not link yet due to library issues.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1704 127b21dd-08f5-0310-b4b7-95ae10353056
2008-07-26 17:54:29 +00:00
Jens Ayton f16c5b3629 Various minor fixes I've forgotten about. Much too little work on camera system. JS shipLaunchedEscapePod called (for player) before resetting legal status and trumbles.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1701 127b21dd-08f5-0310-b4b7-95ae10353056
2008-07-25 13:18:56 +00:00
Jens Ayton a8b39c4c9a Refactored equipment restriction tests, and apply them in addEquipmentItem: as well as the shopping screen. Added new class representing equipment types, currently only used in these tests. Added new equipment restrictions: requires_free_passenger_berth, requires_full_fuel, requires_non_full_fuel.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1689 127b21dd-08f5-0310-b4b7-95ae10353056
2008-07-10 20:45:02 +00:00
Jens Ayton 6110052f8a Added JS system.info property and System.infoForSystem() function to replace setPlanetInfo: and setSpecificPlanetInfo:. Currently these are write-only, should be read/write.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1668 127b21dd-08f5-0310-b4b7-95ae10353056
2008-06-03 10:16:40 +00:00
Jens Ayton a11ce38786 Made JS player.orientation work properly. Fixed some extra-niggly warnings. Made various JS system properties return placeholder values in interstellar space. Added -[Universe inInterstellarSpace] method, and made -[Universe currentSystemData] return placeholder values in interstellar space. Two new localizable strings.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1661 127b21dd-08f5-0310-b4b7-95ae10353056
2008-05-29 19:12:31 +00:00
Jens Ayton 7a574a8b3e Long-lost nephew of the revenge of JavaScript error handling clean-up.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1651 127b21dd-08f5-0310-b4b7-95ae10353056
2008-05-23 19:38:43 +00:00
Jens Ayton b148cfd85d More work on JavaScript error checking. More rigourous! More informative! More not buggy! And, conversely, probably also more buggy. I've almost certainly broken something silly. Also moved JS nova-related functionality into Sun.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1648 127b21dd-08f5-0310-b4b7-95ae10353056
2008-05-23 07:51:00 +00:00
Jens Ayton 0bda7466a6 Changes to pave the way for JavaScript 1.8 upgrade.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1642 127b21dd-08f5-0310-b4b7-95ae10353056
2008-05-18 16:22:00 +00:00
Jens Ayton d7badeebd4 Various twiddles while failing to fix corona bug: gDebugFlags now exposed through JS console (as console.debugFlags), added warning message for shipyard entries with no matching shipdata entry (but suppressed by default for compatibility with Realistic Shipyards), log on PPC Macs no longer reports incorrect Altivec availability information (we don't use Altivec anyway), removed unused shipdata ivar from Universe.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1621 127b21dd-08f5-0310-b4b7-95ae10353056
2008-05-08 19:48:22 +00:00
Jens Ayton 6444b5d5e9 Moved demo2 screen over to OOShipRegistry. No more blank spaces or crashes for empty lists, possibly.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1611 127b21dd-08f5-0310-b4b7-95ae10353056
2008-05-03 13:39:56 +00:00
Jens Ayton 30bce0b115 Great big lump o' stuff to deal with ship types and related things more cleanly.
OOShipRegistry parses shipdata.plist, shipyard.plist, demoships.plist and new shipdata-overrides.plist and shipyard-overrides.plist, resolves like_ship inheritance, does some sanity checking, filters out various sorts of invalid shipdata and shipyard entries and manages role->ship key mapping with probability weighting.

The latter is managed by OOProbabilitySet, which should probably be used by OORoleSet and OOProbabilisticTextureManager too. OOProbabilitySet is O(log n) for random selection instead of O(n) like the current linear-search code.

The next step is to start using OOShipRegistry everywhere.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1607 127b21dd-08f5-0310-b4b7-95ae10353056
2008-05-03 00:58:21 +00:00
Jens Ayton ff322eafcb Fix for bounty and contract market credits display bugs. Fix for rounding of credits quantities. Added troubleshooting code to scanForNonThargoid. Suppress script.javaScript.context.create messages. Made property list extractors for strings auto-convert numbers.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1601 127b21dd-08f5-0310-b4b7-95ae10353056
2008-04-30 19:13:02 +00:00
Jens Ayton 4933fb7796 Fix for ship.sanityCheck.failed messages.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1595 127b21dd-08f5-0310-b4b7-95ae10353056
2008-04-28 17:10:36 +00:00
Jens Ayton fba5cb83b1 Removed redundant [UNIVERSE gui] calls in PlayerEntityControls. Added Spotlight indexing of system name and made ship name visible in Get Info window (OS X only). Added new formatting functions for credit quantities, used throughout. DESC() now returns the key if no string can be found, to avoid exceptions. I18Ned OXP incompatibility message.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1581 127b21dd-08f5-0310-b4b7-95ae10353056
2008-04-23 16:56:23 +00:00
Jens Ayton 01c7ccbc10 Bumped version numbers (trunk to 1.72, 1.71-maintenance to 1.71.1). #ifed out redundant like_ship check in ShipEntity, with log message in event of it turning out not to be redundant.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1577 127b21dd-08f5-0310-b4b7-95ae10353056
2008-04-22 10:44:26 +00:00
Jens Ayton a56d0db571 Mac-specific spit and polish: stopped copying unused files in Xcode project, bumped version number of Spotlight indexer.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1570 127b21dd-08f5-0310-b4b7-95ae10353056
2008-04-20 16:13:52 +00:00
Jens Ayton a3cd6cf6ca Stuff from r1565-r1566, now with not doing the svn in src/.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1567 127b21dd-08f5-0310-b4b7-95ae10353056
2008-04-20 15:02:38 +00:00
Jens Ayton a09eb90389 Trimming down to four nebula textures, step 3 of 2 (syntax fix, updated Xcode project, updated contributors.txt).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1559 127b21dd-08f5-0310-b4b7-95ae10353056
2008-04-18 13:36:01 +00:00
Jens Ayton 4c2f7efcb2 Updated dummy joystick handler to pretend to have yaw support.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1514 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-25 22:42:44 +00:00
Jens Ayton 8da875682b Fixed breakage in release build; made debug rendering of normals use a debug flag instead of a macro.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1509 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-24 17:14:00 +00:00
Jens Ayton 2daba8a6bf Several fixes for an exception when trying to use OXP verifier while a requires.plist-incompatible OXP is installed, due to use of DESC in generating incompatibility warnings (Universe is not set up when OXP verifier runs).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1504 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-23 15:12:22 +00:00
Jens Ayton 8339f6a180 #ifdefed out all references to OOBrain and OOInstinct (which were never used and,as it turned out, were only being built under OS X), but left them there in case someone wants to pick up the AI stuff at some point.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1488 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-16 14:03:49 +00:00
Jens Ayton 86b976ca0f Updated standard Xcode project to match previous revision. Checked in a bunch of display management stuff I was workin g on earlier; won't be used in 1.71.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1474 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-10 00:27:26 +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
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
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 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
Jens Ayton fda95ca90a r1438 redux.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1440 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-01 22:05:11 +00:00
Jens Ayton ddf50cf43e Fixed Xcode project to stop changing Basic-debug.oxp/requires.plist to require version 1.70 when building release builds; fiddled with project to reduce number of places version number is specified.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1439 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-01 21:01:00 +00:00
Jens Ayton 101f811d72 Fix for Mac builds when there are spaces in the project path.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1438 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-01 20:40:29 +00:00
Jens Ayton cf87bfe72f Fix for argument-may-be-clobbered warning in optimized Mac builds.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1437 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-01 20:18:41 +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 27d4002e2c Twiddled Xcode project to behave in the presence of system-wide libOgg/libVorbis installations.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1431 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-28 22:33:35 +00:00
Jens Ayton cec97f0baf shipHitByECM() JS event now has a pulsesRemaining parameter.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1424 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-26 11:01:40 +00:00
Jens Ayton e95e3fd521 Most AI reactToMessage: calls now also have a script event; see http://www.aegidian.org/bb/viewtopic.php?p=47620#47620 . Some cleanup and optimization. Added command-line hack to graph difference between Vector.random() and Vector.randomDirectionAndLength() as in http://wiki.alioth.net/index.php/Image:Randomvectordistribution.png .
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1423 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-26 01:54:26 +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
Jens Ayton 4b3a74e847 Added script events for planet and station proximity events. Fast PowerPC square root approximation is now actually used. Redefined nil and Nil to be type-pedantic under Cocoa (as they are under GNUstep). Waved a rubber chicken to appease the compiler.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1401 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-22 11:56:23 +00:00
Jens Ayton 0a1cd36e8d Made previously Mac-specific log header cross-platform (mostly; more information is included under OS X).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1386 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-17 15:37:12 +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
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 f11b6fae14 Implemented JS sound interface. Moved some more generic JS ObjC wrapper stuff into OOJavaScriptEngine.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1340 127b21dd-08f5-0310-b4b7-95ae10353056
2008-02-03 02:16:23 +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
Jens Ayton f2f194ee49 Fixed a bunch of warnings under Windows, some of which even made sense.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1294 127b21dd-08f5-0310-b4b7-95ae10353056
2008-01-02 14:35:54 +00:00
Jens Ayton a97c9fd093 Fixed a few leaks, notably one that became serious on the short-range chart screen. Fixed some warnings when building for Windows.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1282 127b21dd-08f5-0310-b4b7-95ae10353056
2007-12-24 13:59:30 +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 c1dd9c5b1a Fix for bug where awardEquipment:EQ_TRUMBLE while a trumble infection is in progress would innoculate the player against future trumble infections. Also added code to un-innoculate existing saved games.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1264 127b21dd-08f5-0310-b4b7-95ae10353056
2007-12-04 21:43:18 +00:00
Jens Ayton ea5d5fc9e9 Fix for error messages when loading TestRelease build of Debug OXP (Mac only).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1263 127b21dd-08f5-0310-b4b7-95ae10353056
2007-12-04 17:44:06 +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 2ca470e07f Fix for bug 011691 Cancelling load game dialog handled badly, work-around for bug 011893 Full-screen mode menu input broken reinstated and cleaned up.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1248 127b21dd-08f5-0310-b4b7-95ae10353056
2007-12-02 14:21:46 +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
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 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 8dac1d08cd Split JS Planet into Planet and Sun in anticipation of splitting PlanetEntity in same way.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1214 127b21dd-08f5-0310-b4b7-95ae10353056
2007-10-15 13:20:27 +00:00
Jens Ayton 6a8c7976dd Added scriptInfo dictionary to ships, and global JS objects worldScripts and worldScriptNames. Fiddled with messages on both sides of debug console. Fiddled with flags on JavaScript classes, hopefully for the better.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1211 127b21dd-08f5-0310-b4b7-95ae10353056
2007-10-13 15:10:16 +00:00
Jens Ayton 160cd8b94d Implemented JS class Planet. Added JS System attributes mainPlanet, sun, planets and allShips, and methods shipsWithPrimaryRole(), shipsWithRole(), entitiesWithScanClass() and filteredEntities() (the latter disabled due to an architectural flaw -- we need more than one JSContext). In support of this, added/exposed generic predicate-based entity counters and getters to Universe.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1198 127b21dd-08f5-0310-b4b7-95ae10353056
2007-10-07 21:41:18 +00:00
Jens Ayton 8904c39401 Oolite should now build with external debug console support on all platforms. Mac debug OXP is broken.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1191 127b21dd-08f5-0310-b4b7-95ae10353056
2007-10-06 11:03:01 +00:00
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 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 7e4b1b0880 Implemented JS clock global object, unbroke makefile.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1175 127b21dd-08f5-0310-b4b7-95ae10353056
2007-09-15 15:09:19 +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 7b061ad0f7 Work on script timers.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1172 127b21dd-08f5-0310-b4b7-95ae10353056
2007-09-14 15:21:06 +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 693c27e2c2 Added OORoleSet to manage sets of ship roles and probabilities. Now used in -[Universe newShipWithRole:]. Next step: replace ShipEntity.roles with an OORoleSet. Future step: store role sets -- and other attributes -- in 'ship type' objects instead of parsing on the fly.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1165 127b21dd-08f5-0310-b4b7-95ae10353056
2007-09-07 10:14:30 +00:00
Jens Ayton d47bf18321 Refactored debug OXP into a client-server design, potentially allowing external versions of the JavaScript console over Distributed Objects or TCP/IP.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1164 127b21dd-08f5-0310-b4b7-95ae10353056
2007-09-06 22:56:58 +00:00
Jens Ayton 51afdc0a40 Fixes for minor build problems.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1159 127b21dd-08f5-0310-b4b7-95ae10353056
2007-09-05 14:43:53 +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 2df17375b1 Missing files from r1153.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1154 127b21dd-08f5-0310-b4b7-95ae10353056
2007-09-01 12:07:02 +00:00
Jens Ayton 803aa63c67 Mac JS console: implemented history (option-up/down arrow).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1150 127b21dd-08f5-0310-b4b7-95ae10353056
2007-08-28 16:55:52 +00:00
Jens Ayton 699e5f5ff6 Fixed bug where player's dockedStation was nil at startup (due to circular dependencies). Added Build All target to Xcode project to avoid circular dependency between Oolite and Debug.oxp. (The Oolite target now no longer builds Debug.oxp. Build All builds Oolite, then builds Debug.oxp, then copies Debug.oxp into AddOns.)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1147 127b21dd-08f5-0310-b4b7-95ae10353056
2007-08-27 13:17:43 +00:00
Jens Ayton 3cb87b1aab Fixed Mac breakage due to previous fix for non-Mac breakage.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1145 127b21dd-08f5-0310-b4b7-95ae10353056
2007-08-25 02:21:31 +00:00
Jens Ayton a1451d4a3e Dicking around with Mac-specific debug stuff instead of doing real work. Added JavaScript console window (intended to be interactive, but isn't yet; shows errors, warnings and JS-generated log messages a bit more prettily than the standard log). Added F-Script support (F-Script is not yet another OXP scripting language, it's an interactive language integrated with the ObjC runtime, making a useful debug tool for poking around).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1141 127b21dd-08f5-0310-b4b7-95ae10353056
2007-08-25 01:15:40 +00:00
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