155 Commits

Author SHA1 Message Date
Jens Ayton
7fa48675ab Rolled back Windows dependencies for pthreads (no longer used).
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2543 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-20 14:22:11 +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
Nikos Barkas
5bf7e028fe Bringing Oolite Windows up to date: Added required pthread library dll, headers and import lib to project.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2539 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-19 23:37:38 +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
c090222c17 Abstracted away testing of different NSNumber types.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2527 127b21dd-08f5-0310-b4b7-95ae10353056
2009-09-19 17:52:38 +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
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
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
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
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
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
Nikos Barkas
722b229202 Added watermark text for the snapshot versions. Currently working on Windows. The idea is to use the snapshot releases for things like nightly builds or distributions of the game other than the official ones. Updated the readme of the Windows version to reflect current project situation.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2234 127b21dd-08f5-0310-b4b7-95ae10353056
2009-07-11 16:09:53 +00:00
Nikos Barkas
688d186508 Made incoming missile targeting a default build option. A clean project rebuild is recommended.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2180 127b21dd-08f5-0310-b4b7-95ae10353056
2009-05-19 07:59:20 +00:00
Darren Salt
b65a385115 Remove obj{,.spk}{,.dbg} in the "clean" target.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2169 127b21dd-08f5-0310-b4b7-95ae10353056
2009-05-07 22:07:07 +00:00
Nikos Barkas
8d77a7b467 Made missiles always return true in ShipEntity's hasHostileTarget: Implemented targetting of nearest incoming missile. This is activated using Shift+t or an assigned joystick button. Testing is still required. The entire implementation is guarded with the TARGET_INCOMING_MISSILES macro, disabled by default until it is agreed that this change does not influence gameplay in undesireable ways.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2151 127b21dd-08f5-0310-b4b7-95ae10353056
2009-04-29 20:29:15 +00:00
Michael Werle
e0344e1d54 Wormholes:
* Enable by default in GNUmakefile
* Adjust price to something more plausible
* Fix discrepancy in save-files between loading & saving

SDL Sound:
* Commit in sound patch when no sound-card available (was committed into 1.72 ages ago)


git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2124 127b21dd-08f5-0310-b4b7-95ae10353056
2009-04-08 22:36:37 +00:00
Michael Werle
360e502c40 First draft of the Wormhole Scanner
To test: define WORMHOLE_SCANNER preprocessor macro (see GNUmakefile), by default off.

TODO: 
 * Restore wormhole if not expired and in current system
 * Draw Wormhole exit effects
 * Revise techlevel, price, description
 * bugs?



git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2111 127b21dd-08f5-0310-b4b7-95ae10353056
2009-03-31 01:12:24 +00:00
Jens Ayton
886bfccbab Applied dsalt's libespeak patch. It doesn't work for me, but the build is fine if not built with make libespeak=yes so it doesn't hurt anything.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2091 127b21dd-08f5-0310-b4b7-95ae10353056
2009-03-15 16:14:03 +00:00
Nikos Barkas
4d0fd3267c The Windows executable now sets itself up when starting, making the RunOolite.bat file obsolete. Also, no more console window appears on Windows when starting the game. Modified installer script as required.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2074 127b21dd-08f5-0310-b4b7-95ae10353056
2009-02-23 18:54:14 +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
358543e7ed Rearranged GNUmakefile for easier diffing and browsing. (Roughly matches layout of Xcode project, which is useful as long as it's mostly being edited by me.)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2035 127b21dd-08f5-0310-b4b7-95ae10353056
2009-02-06 21:48:50 +00:00
Jens Ayton
b268bed080 Fixed further build breakages.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2034 127b21dd-08f5-0310-b4b7-95ae10353056
2009-02-06 20:39:20 +00:00
Jens Ayton
12e982fa06 Removed a bunch of temporarily #ifed-out stuff from previous commit.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2029 127b21dd-08f5-0310-b4b7-95ae10353056
2009-02-06 16:42:22 +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
Nikos Barkas
e4adae07fd Removed debug flag code for procedurally textured planets (not required anymore). Added the ALLOW_PROCEDURAL_PLANETS macro to the SDL builds makefile.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2009 127b21dd-08f5-0310-b4b7-95ae10353056
2009-01-22 07:20:25 +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
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
Nikos Barkas
4fccd38034 Upgraded libpng on Windows to version 1.2.34 in an attempt to deal with the corrupt textures issue on multiple loading threads. Enabled use of all available processors for texture loading threads.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1966 127b21dd-08f5-0310-b4b7-95ae10353056
2009-01-04 15:45:01 +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
Michael Werle
ceb2b2e302 * Revamped build system - should make it a lot easier for people to build the sources and create packages
** Use "make -f Makefile help" to see a list of targets
** Updated Windows NSIS Packager rules
** Minor Tweaks to Debian rules

* Updated SpiderMonkey from 1.7 pre-release to 1.7 (minor changes only)
** Supplied new js32.dll for Windows (built with MSVC)

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1857 127b21dd-08f5-0310-b4b7-95ae10353056
2008-11-15 09:54:01 +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
Nikos Barkas
77ec994a4f Added OOJSEquipmentInfo.m to GNUmakefile.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1797 127b21dd-08f5-0310-b4b7-95ae10353056
2008-10-17 06:26:12 +00:00
Nikos Barkas
ca028eaad7 Small omission: Added the docking clearance feature also to the Linux build.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1782 127b21dd-08f5-0310-b4b7-95ae10353056
2008-10-03 17:00:38 +00:00
Nikos Barkas
f19493afbc Sanity for the Windows buid: OOLITE_LINUX is no longer defined. Oolite now compiles with the docking clearance feature set, however the related guards remain in the code. A couple minor tweaks.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1781 127b21dd-08f5-0310-b4b7-95ae10353056
2008-10-03 16:55:36 +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
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
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
Nikos Barkas
940864de42 Saved nightly build from failure ;-)
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1703 127b21dd-08f5-0310-b4b7-95ae10353056
2008-07-25 17:17:09 +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
Nikos Barkas
baf76050ff Small correction in the GNUmakefile.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1671 127b21dd-08f5-0310-b4b7-95ae10353056
2008-06-03 10:58:23 +00:00
Jens Ayton
db1a95e102 Makefile update for r1668.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1669 127b21dd-08f5-0310-b4b7-95ae10353056
2008-06-03 10:19:19 +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
8f14df9fb3 Applied Adam Sampson's patch to makefile for Linux. Look forward to reports of it working, or not.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1582 127b21dd-08f5-0310-b4b7-95ae10353056
2008-04-23 18:10:07 +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
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