Building the Eulora client with Gentoo
Having gotten trinque's excellent Cuntoo bootstrap working on a few different machines, I decided I'd try building a Eulora client with it. This post is to document the steps I followed to get to a working state, as the instructions on the minigame website are outdated and contain dead links.
In this guide, I am using gcc 4.9.4 - I'm pretty sure this is a hard requirement. Crystalspace for whatever reason requires you have the nvidia-cg-toolkit installed even if you use an ATI card, so go ahead and get that via portage:
emerge -av nvidia-cg-toolkit
I have a ~/devel directory already from building trb, so I'll start there and make a eulora directory beside it:
mkdir -p eulora/ && cd $_
Grab cal3d, crystalspace, and the Eulora client files from the minigame site:
wget http://minigame.biz/eulora/source/cal3d.tar.gz wget http://minigame.biz/eulora/source/cs_July24.tar.gz curl http://minigame.biz/eulora/source/eulora-v0.1.2b.tar.gz > eulora-v0.1.2b.tar.gz
Untar that shit.
tar -zxvf cal3d.tar.gz tar -zxvf cs_July24.tar.gz tar -zxvf eulora-v0.1.2b.tar.gz
Navigate to cal3d/ and run the following commands to build:
autoreconf --install --force ./configure --prefix=$HOME/devel/eulora/cal3d make make install
Tell other programs where to find the cal3d things we just built:
export LD_LIBRARY_PATH=$HOME/devel/eulora/cal3d/src/cal3d/.libs/:$LD_LIBRARY_PATH
Go back to ~/devel/eulora/ and enter the cs-forupload folder:
cd ../cs-forupload/
To build crystalspace I had to adjust the configure step to avoid anything bullet related, or the jam build step will barf. Use the following commands:
./configure \ --without-java \ --without-perl \ --without-python \ --without-3ds \ --without-bullet \ --with-cal3d=/$HOME/devel/eulora/cal3d jam -aq libs plugins cs-config walktest
Export the crystalspace environment variable:
export CRYSTAL=$HOME/devel/eulora/cs-forupload
Finally, go back to ~/devel/eulora/ and enter the EuloraV0.1.2 folder ...
cd ../EuloraV0.1.2/
...and build the client:
./autogen.sh ./configure \ --with-cal3d=$HOME/devel/eulora/cal3d \ --with-cs-prefix=$CRYSTAL \ --without-mysqlclient \ --without-sqlite3 \ --without-pq \ --without-hunspell jam -aq client
Eulora servers got a new home in 2018, so we must edit the server ip in data/servers.xml:
sed -i 's/50.115.127.84/161.0.121.201/' data/servers.xml
Now, to avoid having to manually enter the environment variables each time we want to play, we will create a shell script containing those and make it executable:
cat >eu.sh<<EOF export LD_LIBRARY_PATH="$HOME/devel/eulora/cal3d/src/cal3d/ \ .libs:$HOME/devel/eulora/cs-forupload/:"$LD_LIBRARY_PATH export CRYSTAL=$HOME/devel/eulora/cs-forupload ./euclient EOF chmod + eu.sh ./eu.sh
It was night in Eulora when I finished, so I only took a single screenshot of client startup. More to come as I test further.
May your journey be prosperous ....
Handheld game roms
While searching for the Basic games collection the other day, I stumbled upon a forgotten archive containing roms for a bunch of old handheld electronic games from the 70's and 80's. If you had any of the games on the list below, your childhood was likely pretty awesum. I have used MESS to run these, but feel free to try on other platforms (as I did not include any MESS-specific xml files with this archive).
List of games contained in archive:
ROM NAME: GAME: --------------------------------------------------------------- advision "Adventure Vision" alnattck "Alien Attack" alnchase "Alien Chase" amaztron "Amaze-A-Tron" astro "Astro" astrocmd "Astro Command" bambball "Dribble Away Basketball" bankshot "Bank Shot - Electronic Pool" bcclimbr "Crazy Climber (Bandai)" bdoramon "Dokodemo Dorayaki Doraemon" bfriskyt "Frisky Tom (Bandai)" bmboxing "Knock-Em Out Boxing" bmsafari "Safari (Bambino)" bmsoccer "Kick The Goal Soccer" cdkong "Donkey Kong (Coleco)" cgalaxn "Galaxian (Coleco)" cmspacmn "Ms. Pac-Man (Coleco)" comp4 "Comp IV" cpacman "Pac-Man (Coleco, Rev. 29)" cpacmanr1 "Pac-Man (Coleco, Rev. 28)" ebball "Electronic Baseball (Entex)" ebball2 "Electronic Baseball 2 (Entex)" ebball3 "Electronic Baseball 3 (Entex)" edracula "Dracula (Epoch)" efball "Electronic Football (Epoch)" egalaxn2 "Galaxian 2 (Entex)" einvader "Space Invader (Entex, TMS1100)" epacman2 "Pac Man 2 (Entex)" galaxy2 "Galaxy II" gckong "Crazy Kong (Gakken)" gdigdug "Dig Dug (Gakken)" ghalien "Heiankyo Alien (Gakken)" gjackpot "Jackpot: Gin Rummy & Black Jack" gpoker "Poker (Gakken, 1979 version)" h2hbaseb "Head to Head Baseball" h2hfootb "Head to Head Football" invspace "Invader From Space" kingman "Kingman" machiman "Machine Man" maniac "Maniac" mathmagi "Mathemagician" merlin "Merlin - The Electronic Wizard" microvsn "MicroVision" mmerlin "Master Merlin" msthawk "Star Hawk (Mattel)" mvbfree "Mini-Vid Break Free" mwcbaseb "World Championship Baseball" packmon "Packri Monster" pbqbert "Q*Bert (Parker Brothers)" raisedvl "Raise The Devil" simon "Simon (Rev. A)" splasfgt "Space Laser Fight" splitsec "Split Second" ssfball "Superstar Football" ssimon "Super Simon" starwbc "Star Wars - Electronic Battle Command" starwbcp "Star Wars - Electronic Battle Command (prototype)" tandy12 "Tandy-12: Computerized Arcade" tc4 "Total Control 4" tcaveman "Caveman (Tomy)" tccombat "Cosmic Combat" tmpacman "Pac Man (Tomy)" tmscramb "Scramble (Tomy)" tmtennis "Tennis (Tomy)" tmtron "Tron (Tomy)" ufombs "UFO Master-Blaster Station" vinvader "Invaders (VTech)" wildfire "Wildfire (prototype)" zackman "Zackman" |