ke4nt1
Group: Members
Posts: 2329
Joined: Oct. 2003 |
|
Posted: Jan. 27 2005,06:14 |
|
UT2004 It doesn't compress much, .. it must already be compressed a bit. Making it a .uci file is a breeze.. Many folks have asked me for the recipe - Here it is.. It works for many, many games and apps, as long as they install to ONE , and ONLY ONE directory.
I'll keep the instructions here simple for new readers/builders . I'll start with making the icons/menus..
I start out by making a /home/dsl/work directory.
In it , I make a home dir... 'cd' into that, and make a dsl dir... 'cd' into that, and make a .xtdesktop dir. 'cd' into the .xtdesktop dir, place your .png or .jpg icon, and your. lnk file ( I use an existing one, and just edit it to suit ) Your ut2004 will start by running the executable '/opt/ut2004/ut2004' uci files are always mounted under /opt..
Make sure the permissions on these 2 files are -rw-r--r-- ( 644) , and the owner is dsl.staff
Next, 'cd ..' back out to your work dir, and make a tmp dir... in that, make a mydsl.menu dir Inside the mydsl.menu dir, place your ut2004 menu file. I use the ' touch ut2004' command, Edit it in your favorite text editor. It should have one line in it, like this.. [exec] (UT2004) {/opt/ut2004/ut2004}
again, pointing to /opt/ut2004, where it will be mounted..
Make sure the permission on this file is also -rw-r--r-- ( 644) , and the owner is dsl.staff
'cd .." back out to your work dir, and make a text file with your fav editor. I'll call this list.txt. Again, I use ' touch list.txt " It should contain all three path-to-files you just made. Mine looks like this..
home/dsl/.xtdesktop/ut2004.lnk home/dsl/.xtdesktop/ut2004.jpg tmp/mydsl.menu/ut2004
Save and exit
Now, your ready to make your user.tar.gz for your .uci file.. Type this..
tar -T list.txt --no-recursion -cvf- | gzip user.tar.gz
Now you have the user file built. Add a copy of it into your ut2004 dir. This will add a menu option, and a desktop icon, when you mount your .uci file
Now comes the time to put it all together.. My ut2004 is already in /opt/ut2004, where I pointed my lnk and menu file .. Adjust this command to suit your current location..
cd just outside of your ut2004 directory.. You should be able to see it in an 'ls' I would be in /opt , looking at my ut2004 dir.
Run this command... mkisofs -R -hide-rr ut2004/ | create_compressed_fs - 65536 > /mnt/some-drive-space/ut2004.uci
Remember to have a LOT of free drivespace wherever you point this to.. You'll see long strings of compress status flying by as it's building.. When it stops, and returns to the prompt, your all done! Test it in emelfm by highlighting the ut2004.uci file, and clicking the 'mydsl' button, or by using mydsl-load /path/to/ut2004.uci You should see the feedback " mounted successfully! " Now, go play!
Here are some other things I like to do before I build the .uci.. They may or may not be neccessary for you. 1. Some games do not like to run from a menu or icon. They like to run from a shell. So, make a startup wrapper. ( I did for ut2004, it wanted it.. Mine looks like this..
#!/bin/bash cd /opt/ut2004 exec /opt/ut2004/ut2004
Save it as start_ut2004 , make it owned by root.root, and make it executable, and place it in your /opt/ut2004 dir. Rebuild your user.tar.gz to have the home/dsl/.xtdesktop/ut2004.lnk and tmp/mydsl.menu/ut2004 files to point to this new startup wrapper..
Another way to do this is to edit your .lnk and menu file to include a shell in the command , like {rxvt -e /opt/ut2004/ut2004} Sometimes, this works just as well..
I like to make the wrappers.. Occasionally, to get a program to run inside only ONE directory, it is necessary to add the libs and support files, and then add export lines to your wrapper to point to their location. ( e.g. ' export LD_LIBRARY_PATH=/opt/ut2004/usr/lib ) This would allow you to have the program look here for it's libs, rather than the usual /usr/X11R6/lib , or /usr/lib
2. I have seen many times where after adding some extensions, or especially after apt-getting some 3d games and such, where the libGL path for my nvidia is replaced with the upgraded xfree libs. So I made another addition to the ut2004 wrapper to help with this.. It's a script, so you'll need to make it yourself... I call it xfreefix , and made it executable, and put it in my /usr/bin, as well as added it to my /home/dsl/filetool.lst file to copy it to my backup.
#!/bin/bash rm -rf /usr/X11R6/lib/modules/extensions/libglx.a rm -rf /usr/lib/libGL.so.1.2.030401 rm -rf /usr/lib/libGL.so.1.2 rm -rf /usr/lib/libGL.so.1 cd /usr/lib ln -sf libGL.so.1.0.6111 libGL.so.1
This removed the extension file for the libGL 1.2 version. This also removes the updated libGL 1.2 lib, and it's symlink. It also removes the normal symlink to libGL, libGL.so.1, which was overwritten to point to libGL.so.1.2. and, replaces it with a symlink that points back to the nvidia lib 1.0.6111
Then I add this to my ut2004 wrapper..
#!/bin/bash sudo /usr/bin/xfreefix cd /opt/ut2004 exec /opt/ut2004/ut2004
Playtime!
p.s. You "idea" of making a cd that has several 3d games on it is already a reality, but I had to make a bootable DSL DVD-R to do it..
73 ke4nt
|