Page 1 of 1

Running OOLite from USB Flash Drive - Question

Posted: Mon Oct 06, 2008 11:34 am
by kermit
OK - I remember playing Elite way back on a spectrum, & glad a friend told me about this version

HOWEVER - I'd like to play this 'anywhere' (e.g @ work,home, friends house) by putting it on a USB flash drive - which I have & it runs (abit a little slow on accessing)

The problem is the saving/loading of commanders

I've figured out that I have to alter 'RunOolite.bat' file to point to the drive letter assigned to the USB device on the computer I've plugged it in but depending on the computer - this letter keeps changing

On one PC the flash drive may be assigned as 'D:', on another PC it may be 'F:', on another 'H:' etc etc.

Is there anyway I can get save to the USB drive without having to keep editing the BAT file each time before running Oolite ???

Is there a way I can force a drive letter to the USB (through an Autorun.ini file perhaps? ) once it is plugged in

(I have Oolite stored in '?:\Games\Oolite' folder on the usb drive where ? is whatever the drive letter is given to the USB)

Posted: Mon Oct 06, 2008 12:55 pm
by Thargoid
You're probably simplest in mapping a fixed drive (say "Y" for example) to your USB key, and then always using that for everything relating to Oolite. When you look at My Computer you'll see two drives relating to the key (one D/E/F/whatever the PC auto-picks) and the other always on Y.

You can probably set up the auto-mapping in your autorun.ini or some route like that. Then you should be OK. I routinely run Oolite from an SD card sat in a PCMCIA card, but my machines are all set-up so that drive is always F (two partition hard drives as C and D, then DVD as E, so SD auto-maps to F) and there's little to no speed hit that way vs hard drive. You may have a little more problems with USB speeds, but it should be possible.

Posted: Mon Oct 06, 2008 3:05 pm
by Micha
If you edit the RunOolite.bat file and replace the contents with the following, it'll work:

Code: Select all

@echo off
set BASE=%~dp0
set GNUSTEP_PATH_HANDLING=windows
set GNUSTEP_LOCAL_ROOT=%BASE%
set GNUSTEP_NETWORK_ROOT=%BASE%
set GNUSTEP_SYSTEM_ROOT=%BASE%
set HOMEPATH=%BASE%
%BASE%\oolite.app\oolite.exe %1 %2 %3 %4
This works for the following directory structure, where <x:\path> is the drive and path to your Oolite root directory, in my case "E:\Oolite" but it should work for any path anywhere on your system. This setup allows you to copy your entire Oolite directory to anywhere and still run the .bat file without problems.

Note that in the default setup, save-games and the GNUstep directory are inside the oolite.app directory - personally I don't like that, if you do, all you have to do is append "\oolite.app" after the "%BASE%" bit.

Code: Select all

<x:\path>\
  |-> RunOolite.bat  (and Readme files)
  |-> AddOns\
  |-> oolite-saves\
  |-> GNUstep\
  |-> oolite.app\
    |-> oolite.exe  (and DLL files)
    |-> Resources\

Posted: Tue Oct 07, 2008 3:37 pm
by kermit
Many thanks for those couple of tips, although Micha - I got a little confused
:? (which isn't that diificult)

I'm guessing that the line 'Set BASE=%~dp0' somehow knows where the BAT file is running from & it's this that is 'put in place' of '%BASE% in the following lines

My path is '?:\Games\Oolite\' so I guess this is what's used

ANYWAY - I did a little experiment & all I did was REMOVE the 'H:' part of each 'SET' line & this seems to of done the trick (I've only tried on 2 computers so far)

So instead of having 'H:\Games\Oolite\Oolite.app' on each line I have instead '\Games\Oolite\Oolite.app'

Posted: Tue Oct 07, 2008 4:48 pm
by Micha
When I tried to remove just the drive-letter part it didn't work for me (it was still trying to access stuff from the C: drive).

The %~dp0 expands to <drive>:<path> of where your batch file is - a little digging through the Windows Help Center found this little trick :) And yes, that's what ends up getting put in place of the %BASE%.

But.. whatever ends up working for you.