(by stefan gagne)
NB!!! With version .75 of the frontend and the addition of the internal cfg utility this tutorial is now outdated. But the selectionsets and gamelist structure is still the same. Also I would not recommand building gamelists from scratch if not needed. You can automatically generate mame lists and lists from the contents of a folder from within the listmanager in ther fe itself. Please first refer to docs\fereadme.htm which contains a quick install and use guide and all the lastest information.
(ps This doc is not completely finished yet do to "real life tm", Peter added some comments, they are between <)p(:comment>)
Welcome! This tutorial takes you through the process of configuring Emulaxian to any degree you like. We start out simple, and get progressively more complicated -- the goal is to get as much mileage out of the frontend as YOU want. Tutorial sections include:
Bare Bones, for folks who just want a really cool looking MAME frontend with a couple categories of games to choose from. This takes a minimal amount of setup and provides basic functionality for MAME. A good starting place.
Advanced, for people who wanna tone up how their virtual arcade looks, and/or use multiple emulators and stand-alone programs beyond MAME alone. Should cover the needs of most folks.
Hardcore, for folks who want all of the above, want to add in support for pinball and video files, want to work with Emulaxian's skinning system to tweak the thing out for their own look and feel, and who want to use more than one selection set. This is ideal for perfectionists with MAME cabinets and too much time on their hands. (Like me.)
This tutorial does not cover all the functionality of the frontend -- Emulaxian is a pretty powerful system capable of a lot of things, and you'll want to browse the configuration files yourself to figure out how to utilize:
Emulaxian was written as a non-profit hobbyist project for One Man's Cabinet, and this tutorial was likewise written as a non-profit hobbyist project for One Man's Cabinet. All I've done is detail everything up to the point where I felt I got enough use out of Emulaxian... your mileage may vary. But given the potential for customization Emulaxian has, the sky's the limit! Good luck.
NOTE: NOBODY IS RESPONSIBLE FOR FUXX0RING UP YOUR COMPUTER BUT YOU. If you follow the steps in this tutorial and your computer explodes in a massive pillar of blue-green flame, that's your problem, not ours.
Please don't e-mail me your questions on how to set up your frontend. What you see is what you get with this tutorial; there's a lot of aspects of Emulaxian you'll just have to poke around and figure out yourself. (or your can e-mail Peter. Not me. Peter. :)
If you've already fired up Emulaxian using the dummy-data it ships with, likely you know what it does -- it's a 3-D accelerated virtual arcade, which lets you browse through gamelists by browsing through virtual arcade cabinets. Very snazzy, and far more impressive to your friends and relatives than Mame32's cheapo text selection menu, yes?
Using the default keys (which you'll be able to change later on in this tutorial) you can scroll left and right through the cabs using your left and right arrow keys. Up and down zoom in and out. The '5' key lets you pick a new list of games to browse; the '1' key launches a game / picks a list. Escape quits. There's lots of other keys that do other stuff too, but we'll get to that later.
It's realRoZStty and all, but the dummy-data it comes with probably doesn't map to YOUR game collection. Which is why you're reading this tutorial. But before we run around messing with the configuration, we need to understand how Emulaxian sorts its games and knows which ones to show you -- and how they launch.
The hierarchy
Emulaxian operates under a hierarchy of lists.
Above all others is the SELECTION SET. This is a list of lists, basically. Beneath that you have GAMELISTS, which contain references to individual GAMES that use specific EMULATORS. Hence:
...or, to put it in a more concrete example, here's how you could potentially have your frontend set up:
Making sense now? Selection sets of gamelists of games which use emulators. You can have any number of selection sets which have any number of gamelists which use any number of games. Whee! We'll be sticking to ONE selection set until the 'Hardcore' section, though, to keep things simple for you.
Now that we've got that down, let's move on to how we actually implement all this stuff. Time for a bare bones setup.
First... make a backup copy somewhere on your hard drive of the CFG directory. I'm serious about this. That way if anything gets mangled or if you want to refer to the example data that Emulaxian came with, you've got the old configuration handy.
We're going to do a slash and burn through Emulaxian's default configuration. This way we can clean out the stuff you don't need, keeping things nice and tight.
Now, go to your cfg\emulators directory. Here we see a number of files that follow this pattern:
fe[emulator].cfg - Stores the basic configuration for an emulator.
Mandatory.
fe[emulator]cloptions.txt - Stores optional command line parameters when
certain games are played. Even if this file is empty, it's gotta be present
or Emulaxian gags.
fe[emulator]cloptionsalt.txt - Ditto, but for the 'alternate' executable
for this emulator. I won't be messing with alternate executables, so you can
ignore this file.
For a bare bones setup, all we're gonna need is MAME, but you may want to spare the other emulators from your slashing and burning in case you wanna use them later...
If you don't see yourself needing Daphne, the laserdisc game emulator, delete the files associated with daphne... also known as fedaphne.cfg, fedaphnecloptions.txt, and fedaphnecloptionsalt.txt. See how it works? Good.
If you're not going to launch web pages from Emulaxian, you can take out the files associated with the ieexe "emulator." Emulaxian doesn't have to launch only games, you know!
If you don't care about Colecovision emulation or aren't using MESS to emulate your trusty CV, then you can take out the files for mess.
If you're not going to be launching Visual Pinball games, eliminate the pinball emulator.
If you don't need Atari 2600 support, delete the stella emulator.
Okay, in the end you should be left with only the minimum needed. Of course, Emulaxian still thinks it has support for all these emulators, and it's gonna puke when it finds out you wiped them out... so let's teach Emulaxian how to cope with our mad deletion frenzy.
Open the cfg\feemulators.cfg file. As you see, we have one line of data for each emulator. Delete any lines related to any emulators you nixed in the previous steps, then save the file to disk.
We've successfully wiped out the cruft of emulators we don't need. Now let's get rid of the extra selection sets we don't want. For the Bare Bones layout we're just going to use one selection set named 'arcade'... we'll put back in multiple sets in the Hardcore section, if you're so inclined. It's not all that hard to figure out how to do it yourself, mind you.
Open the cfg\feselectionsets.cfg file. Like the emulator list, this is a list of items. Whee! Okay, delete all lines except the first one (Arcade Games). Don't worry about the various parameters, the defaults are good enough for our purposes. Save the file.
In the cfg\selsets directory, delete everything except for fearcade.cfg and fearcadelist.cfg. This'll narrow us down to that one selection set.
Of course, the Arcade Games selection set has a bunch of game lists that we're also going to be taking out with the trash. More editing to take care of...
Open the cfg\selsets\fearcade.cfg file. Lots of stuff in here; we're going to boil it down to ONE gamelist for now named 'Favorites'. You can add in new ones pretty easily afterwards. For now, select all the text in fearcade.cfg, delete it, and replace it with the following:
--gamelists gamelist1|favorites/favorites| --gamelist favorites|/Favorites/favorites////////arcade/console/Emulaxian/////////////////////////| |
No linewrapping, please. Save the file, close it up.
Then open the cfg\selsets\fearcadelist.cfg file. It contains the name of the currently selected gamelist from this selectionset. We now only have one: favorites. So if it not allready says favorites change it to that.
We want the fe to start with this selectionset, arcade, when it boots. Open cfg\fewhichselset.cfg and change the contents to: arcade. Now the fe will know to load the cfg\selsets\fearcade.cfg selectionset when it boots.
Finally, go to the cfg\lists directory, and wipe out everything except favorites.atf.
Okay, we're now boiled down to a small number of emulators, one selection set, one gamelist. Comparing this against the hierarchy, we get a structure like this:
Spic 'n span clean, baby! We'll set up the contents of that gamelist later. For now, let's get the frontend itself up to speed with the settings you want.
cfg\fe.cfg contains the main settings for keyboard commands, overall look and feel, and various other things. There's a lot in here we don't need to worry about for a bare bones system, like video recording, alternative keysets, and so on. Here's what you'll want to concern yourself with. Open the file up and let's start with keyboard mapping.
The cfg\keylist.txt file that comes with Emulaxian contains the proper numeric key codes for use in editing any of these. I'd suggest opening that alongside the fe.cfg file.
kgameright, kgameleft, kgameup, and kgamedown are your primary navigation keys. They default to the arrow keys, and that's a good default -- even HotRod and X-Arcade users (fancy joystick-inna-box for MAME cabinets) should leave it at this. Why? Because with the NumLock off, Emulaxian detects your Num6, Num4, Num8 and Num2 respectively as those arrow keys. Leave 'em be, folks. Leave 'em be.
Any key you really don't see yourself needing you might wanna blank it out (put nothing between the | marks) to avoid accidentally hitting it and confusing yourself. You can always map it back to a more useful key later, after all.
There are some great useful keys, though:
krotvertup, krotvertdown, kcameraup and kcameradown. Stupid camera tricks, gotta love 'em. Look down upon your arcade like a god from on high or simulate what it was like to be an eight year old kid in an arcade, awwww. Emulaxian does NOT remember your camera POV each time you change gamelists or restart the program, though; it snaps back to an 'average height' perspective.
kstartgame. You need this, obviously. It defaults to the number 1, which is MAME's default 'player 1 start' button, and makes sense. kstop shuts down Emulaxian -- it's good to map that key too, but note that the Escape key ALWAYS works to shut down Emulaxian. That way you can't map kstop to something obscure, forget what it was, and thusly get trapped. (Unless you set the disablewin flag to true in fe.cfg. Don't do that unless you know what you're doing.)
kgsmenu (default is the '5' key) is also very important -- this is what pops up the gamelist selection menu. Right now we just have a Favorites list, but eventually you'll have more than that, and this is how you switch between them. You use the standard up/down/left/right and the kstartgame key to move around this menu.
kambientsound lets you toggle the wacky arcade noises. I like them, don't get me wrong, but I don't want them playing when I get a phone call, okay? I also set the ambientvol to 80 instead of the default of 40, so it's louder.
Now, let's set some non-keyboardey options. There are a LOT of these; here are the most important ones. Others are safe to leave at their defaults.
show3dwhich is your master control lever for what interface you're going to use when picking games. Emulaxian supports three: paging (eh), cylarcade (where you scroll left and right through a cylinder full of cabs, simple and fast) and fpsarcade (oooh yeah!). But... for now I'm going to suggest using cylarcade. Seriously. Why? Because while the first person perspective arcade mode is wicked cool, it takes a bit of doing to get it tuned and tweaked, and that's not something for a bare bones layout. Don't panic; we'll set it up in the Hardcore section, so be patient and change this to cylarcade for now!
skinset is only needed if you're going Hardcore on us and skinning your own interface, or if you have a vertical-mounted monitor and want the default to be a vertical-oriented skin. Leave it at the default with horizontal first, or shuffle those two around if you wanna get vertical on us.
hidecursor is handy if you wanna disable the mouse cursor while in Emulaxian.
exitcomp tells Emulaxian if you want to shut down your entire system when you quit Emulaxian or not. It defaults to 'not'. Probably a good idea, unless you're using this on a pure arcade cabinet and never need to access Windows again...
...aaaand that's that for fe.cfg. Save and close. We're getting there, folks...
Simple enough; we're going to tell Emulaxian where our MAME files are stored, so it knows how to launch MAME games.
Open cfg\emulators\femame.cfg. Adjust emupath and workingdir to the directory where MAME32.EXE is located. (It also works with ordinary MAME or any fan build, but we'll use MAME32 for this example. Substitute where appropriate. <)p(: I would suggest the normal windows commandline version>)
Keep gamepath and shortnamepath empty. They're for emulators that don't deal well with windows long file names. (Stella for Atari 2600 emulation springs to mind.)
Adjust sshot, and marquees to their appropriate directories as well. A must if you want your virtual cabs to look anything like real arcade cabs. You can ignore the other directories if you want.
Under executable options, adjust the mame line to read:
mame|mame32.exe/mame32.exe|
...yes, that's odd, but that's what it wants. the 'mame' it starts with is the same for every emulator you're going to add to Emulaxian; it just means 'name of executable' rather than anything specific dealing with mame. Confusing, but we can work with it, right? As for the two copies of the executable name, that's for 'primary' and 'alternative'. We're not messing with alternative executables right now so we'll use the same program for both spots.Also note that the runstopsound is defaulted at 'false'... which means it'll play the ambient arcade noises in the background even when you're off playing games. I don't like that, so I set this to true. Your call, mate. You have to do this for every emulator config you set up in the future, so keep in mind what setting you prefer.
Save the file, and we're done.
Almost there! We need to set up a list of MAME games for our Favorites list. For now we're going to stick to MAME; you can set up others, but we'll deal with that in Advanced.
Open cfg\lists\favorites.atf .Whoa! Lots of stuff in there, huh? We don't need all that for our Bare Bones setup. Delete everything! Yes, everything!
Now, let's add some games. Follow this pattern and add as many MAME roms as you want. It's suggested that you have at least 10 games in your gamelist, otherwise Emulaxian could get confused when it goes to draw a bunch of cabs on screen. No line wrapping, please:
|Name of the Game|romfilename||||parentrom|||Yes|mame|arcade|||||||||||||||||||||||||| |
...swapping in the name of the game and the rom where appropriate. For instance, using: Donkey Kong Jr. and dkongjr. Parentrom is optional, but important for making marquee artwork jive with clone roms, which we shall see later.
All those blank fields are for things like the manufacturer, game history, last revision of MAME the driver was changed in, etc, etc. Important for a collector, but not really important for what we're doing, which is setting up a frontend to launch us some games, yeehaw! Anyway. These lists can be set up using some utilities Emulaxian ships with which fill in all that trivia and info for you, but I prefer to build them by hand. It's up to you. <)p(: sure it is ;-) The mame parser will create all lists for you for mame. And with the included info like category, orientation, yeah, controltype you can easily filter gamelists. utilities/Feutilities.exe can be used to create automatically gamelists from the contents of a folder for other emulators>
Save the file and you're done.
You've cleaned out the configs. You've limited it to one selection set. You've tuned the main config to your liking. You've added a bunch of MAME games to Favorites.atf. Now... it's time to launch the program and see what happens.
Do so.
If you get 'Script error. Continue?' then something went wrong. The errors Emulaxian spits out are not real specific; this just means something somewhere along the way didn't jive with what it thought it was getting. Best I can suggest is you copy the backup cfg directory (you DID back it up like I suggested, yes?) and try again.
If it doesn't work beyond that, restore the backups and try to launch Emulaxian dry -- using the default data. It won't run any games and it won't look pretty, but it should work, letting you pick gamelists and scroll around and all that. If it doesn't even do that, your system just might not be compatible with Emulaxian. Sorry!
But, if it DID work... if you do see a glorious 3-D rendered arcade loaded with the games you put into that list... give yourself a pat on the back, mate, you've done it! It works! -- wait, one second. Okay. Try LAUNCHING a game. ...did that work? Okay! Give yourself a pat on the back, mate, you've done it! (If it doesn't launch right, make sure you put the right directories in femame.cfg.)
Of course, it may not look pretty... if you have no marquees, no snapshots, no custom models... you'll just see a row of Galaxian clone cabinets and awkwardly typefaced fake colorful marquees. That sucks. Let's get it pretty. Onwaards to Advanced Emulaxian!
To get the genuine arcade experience, you're going to need genuine arcade parts. For every game you own you're gonna want:
Snapshots are easy. MAME can take 'em with the F12 key, or you can download them online from mameqa. (Save yourself the bandwidth and search hassle and just capture yourself, okay? Trust me.) It's a good idea to take a snapshot of the title screen instead of some random bit of gameplay -- that way, if you can't find a marquee or don't provide one, it'll make a 'fake marquee' using this logo. Handy for SNK NeoGeo games which have 500k large marquee files that don't stretch right. You shouldn't use huge marquees, anyway; try to keep them to 256 pixels wide at worst, or Emulaxian's gonna be sloooower than it really should be.
Anyway, marquees. Marquees are a little harder. You'll have to find them online; I prefer using www.mame.dk, which no longer provides ROMs but provides any gaming artwork you need. 80% of all games have marquee files there; the ones that don't, you can use the fake marquee trick with.
As for models, you can find some authentic lookin' 3-D models at http://3darcade.mameworld.net. Unpack the W3D file for the game of your choice in Emulaxian's models directory. (Make a directory if one isn't there already.) I highly recommend getting models and doing this; it makes your arcade look picture perfect!
Keep in mind that the marquee, snap and model filenames have to match the name of the ROM. So you can't use DonkeyKongJr.png as a marquee for dkongjr. Also, the marquee for Teenage Mutant Ninja Turtles is tmnt.png, but if you're playing the 2-player US region clone (tmnt2p) you'll need to make sure you pointed out tmnt as the parent rom of tmnt2p in your gamelist. (That's why I said you had to do that earlier, yes?)
This works for non-MAME games too, of course. Just configure the emulator to point to some directory, make sure you have .png artwork that matches the ROM file name, and you're golden.
Next time you start Emulaxian, if you've provided plenty of art and models, you should see a more true to life arcade pop up before your eyes.
MAME is cool and all, but you've probably got other emulators you wanna use, right? Emulaxian can support them. Technically, it can support ANY executable you may want to launch... and we're going to trick it into doing some pretty crazy stuff, you bet. But first, let's look at adding any generic emulator that follows the paradigm of c:\somedirectory\someemulator.exe romfilename.
As noted, emulators need three files to exist: feyadda.cfg, feyaddacloptions.txt, feyaddacloptionsalt.txt. These have to be here, even if the last two are blank text files.
Here's a handy dandy template you can use. We'll pretend Yadda is actually an emulator of some kind.
--pathnames --executable options |
Note that for a lot of these, we don't care and left 'em with some dummy value like c:\. If you want support for flyers and cabinet images (different from 3-D models) and so on, you can specify these as other things, obviously.
Straightforward, yes? But wait! Let's assume that when Yadda is going to play HotGame, it needs a command line parameter called -mouseballs to turn on mouse support! We can deal with that through the feyaddacloptions.txt file. Open it up and add a line that reads as thus:
|2|hotgame|-mouseballs| |
This is saying "Okay, for any entry in a game list that has 'hotgame'
as its 2nd field (which in this case is the name of the ROM) I'm going to start
it with :
c:\yaddadirectory\yadda.exe hotgame -mouseballs
Neat trick! Let's say you hate the way Capcom games look squashed flat on your monitor, and want to turn on hardware stretch for them under MAME. When you're making your game list, on any Capcom game, put 'Capcom' as the 4th field (which is the manufacturer... we left it blank, you're filling it in). Then, use |4|Capcom|-hwstretch| in your femamecloptions.txt file and you're nice and smooth for all Capcom games!
Apply these concepts to nearly any emulator on earth and you're golden. Some, like Daphne, will need extensive command line options specifications. Some might need none. Your mileage may vary.
Okay, that's great for emulators. But let's say you're like me, and you're a Dance Dance Revolution addict. There's a program called Dance With Intensity that does a great job of simulating the DDR experience... but it doesn't work on ROMs. You just launch the program and zoom, off it goes with its own interface for loading game songs. What do you do in this scenario? It's actually quite simple... using DWI as an example, I make feddr.cfg as:
--pathnames emupath|c:\ddr\| gamepath|| shortnamepath|| workingdir|c:\ddr\| sshot|c:\ddr\snap\| marquees|c:\ddr\marquees\| flyers|c:\| cabinets|c:\| qtvr|c:\| gameinfo|c:\| glvideodir|c:\| --executable options |
"Heyyy, wait a minute," you're saying. "That looks just like the Yadda emulator! Whasupwitdat?" It's really quite simple: the trick is not in setting up the emulator, but in setting up the entry in your gamelist!
|Dance Dance Revolution| ||||ddr|||app|ddr||||||||||||||||||||||||||| |
Notice that:
So not only can we launch standalones, we can load snazzy cab graphics. Primo. What sort of standalones would we wanna launch? How about a jukebox program? House of the Dead 2? Maybe Photoshop? Or grab a command-line driven 'shut down windows' program, so you can shut down from inside Emulaxian. True, Emulaxian has a flag that shuts down your system when it closes, but that makes it harder to access your MAME cab if you put Emulaxian in the Startup folder. A program like SLAM plus this trick gives you perfect control.
So now you can load emulators and standalones. Let's stretch Emulaxian to the limits and do something really wild: load videos! I mean, c'mon, modern computers are sold with gigs and gigs of space and MAME roms are, what, like 200k or something on the average? You gotta do something with the space. Now's the time to start up your own library of (presumably legal) digital video.
With this trick, you can get any WMP compatible video to run -- MPEG, DivX, you name it. The key is to exploit Microsoft's crappy programming so you have all the flexibility and power of WMP 6.x without the crash prone bastard known as WMP 7.x. Read on.
Emulaxian comes with a fevideo.cfg emulator you can use with a little tweaking. (You did back that stuff up like I asked, right?) You'll want to edit it to make sure that you have the right path to the Windows Media Player EXE; typically it's c:\progra~1\window~1\wmplayer.exe...
...if you don't understand why we need the ~1's, I'd suggest you stop right now, because we're edging into Hardcore territory here. We're about to seriously monkey with the Windows operating system and this is not for the faint of spleen.
When setting up videos in your game list, your 'roms' will be the video files you wanna play, and the parent rom should be 'video'. Don't forget the trick that lets you hook up a marquee and snapshot to the 'rom' name. It's very satisfying to your artistic bone to see a row of arcade cabinets with titles printed on the screen and big 'ol INVADER ZIM logos on the marquee. Yeah!
Okay, now the hard part.
Go download and install WMP 7.x. If you already have it, um.. skip this step, obviously.
Download and install the latest DivX codecs if you wanna. Now is the time to do it before we get strange...
Next? Download and install WMP 6.x on top of your existing 7.x (don't uninstall 7.x). You can still get the old version of the software off windowsmedia.com, so do so... I'm serious.
So, now you've downgraded your WMP. Why did you do this? Simple: WMP 7.x always pops up in that crappy 'skinned' interface that crashes all the time. WMP6.x uses a flexible, plain looking interface... that takes command line arguements.
Go into fevideocloptions.cfg, and set up this line:
|6|video|/play /close /fullscreen|
Guess what happens now when you launch videos from Emulaxian? That's right... automatic fullscreen video playback that closes itself once complete. No messy control panels in your way, cluttering up the screen and wrecking the purity of the video watching. Fire and foreget playback, right from your frontend. How fuggin' awesome is that?
Alright, now, you CAN avoid doing the WMP 6.x step if you want. (And knowing Microsoft, odds are they're gonna take that download away any day now.) But if you do so, you won't be able to full-screen it right away; you'll have to hit ALT-ENTER or fiddle with the mouse. And that sucks, yes? Yes.
Support for Visual Pinball (the premier choice in simulated pinball mania) is a wee bit of a hack.
This is because VP doesn't really wanna cooperate with Emulaxian. It doesn't shut down the right way, it doesn't swap focus around properly. Naughty pinball! Well, we have workarounds, so fear not.
First of all, open fe.cfg. There's a key in here called kquitvp, and it defaults to the 'p' key. When you're playing Visual Pinball with your Emulaxian and you wanna get back to Emulaxian... hold down the p key until Emulaxian forces VP closed. Okay, good. Now here's how to get to that point.
Use the pinball emulator CFGs from your backup of the original Emulaxian CFGs. (You DID make a backup like I asked you to do, right? Twice?)
Hopefully that'll do it -- pinball tables will show up with pinball 3-D models
(backglasses and marquees are handled a bit differently; poke around and you'll
figure it out). Good luck.
For those of you who have so many damn games that you need lots of ways to organize them... well, why stop at one selection set? You can add others pretty easily. I only count this as Hardcore since most folks won't need that much power.
Open fe.cfg, and take note of what keys bring up / navigate selection set menus. You'll be using those shortly.
Now, open feselectionsets.cfg. Follow this pattern and add as many damn sets as you please:
|Name of Set|setfile||||||||setfile|console|Emulaxian|||||||||||||||||||||||||
...if the set only has pinball games, you can swap Emulaxian for Pinball. I haven't done this myself, but hey, it's in the example files, so there must be a reason.
Use your Favorites selection set file as a guideline and make new cfg files for each of your selection sets. I won't step by step you through this, it's pretty self explanatory.
Now when you run Emulaxian, you can toggle between sets of sets. Whee! Maybe future versions will have sets of sets of sets of sets with togglable filters of alternate keyset driven emulator switches! Oh, god, kill me. Seriously though, if you do need this power, it's there -- use it!
Oh boy! Oh boy!
Skinning is big. It's popular. Everybody's doing it, even to programs which have no reasonable need to be skinned, like IRS tax auditing systems. So why not skin your Emulaxian? ...actually, yes, you SHOULD skin your Emulaxian. That's because the default scans are designed to integrate with Peter's Galaxian-based cabinet, and while they're groovy for Galaxian, they're kinda weird lookin' for, oh, EVERYBODY ELSE ON THE PLANET. So hey! Let's get all Hannibal Lecter on it and skin us some frontend, soooo-eeeyy.
Pay your skins directory a visit. We have two skins installed by default, Horizontal and Vertical! That's really all those modes are in Emulaxian, just skins designed for one monitor type or another. Neat, huh?
Okay, make a copy of horizontal.cfg or vertical.cfg, depending on your cabinet orientation, and name it myskin.cfg (or whatever). This is what we'll be modifying.
Open it up. Whee! More options! LOTS of options, too. I'll let you explore for the most part, but here are some things to look out for especially:
loadingtext is the brief text message that flashes up as Emulaxian is loading. C'mon, be a man, change it. At least change the text itself (the bit before the first / mark). loadingfpstext is the same thing, but for systems using the FPS system. (We're getting there! Hang on!) You can leave these blank, if you want.
ssmenu and gsmenu determine if you're gonna use the 'paging' system you've been using... or the wacky Galaxian shooting gallery interface! It's actually pretty fun, little bugs fly in and you shoot down the one representing the gamelist / selectionset you wanna access. You can even skin this bastard if you're a Flash artist; that goes a little beyond the scope of this tutorial (since I don't know flash) but hey, it's possible.
The section on 3dmodels lets you set the default cabinet model your system uses. Emulaxian defaults to using the wacky Galaxian variant cabinet that looks like Peter's MAME cab. It's cool, but you're going to want something more generic; I suggest changing defcab to Horizontal. Or Vertical, as your case may be. You can also do some filtering here, for instance, using Pinball cabs for pinball games; there's an example of this in the skin. Play around with it and see what you get.
flashintro, flashexit, flashshootstart, flashshootend. Flash file options. Set 'em all to False if you're not going to use the Galaxian ones and aren't going to make your own.
introbg, exitbg, arcadebg, glbg, ssbg, gsbg, etc, etc, etc... here's the core of the skin fun. You can supply any 1024x768x16mil PNG file for these. I suggest loading up the original Emulaxian ones (horiz or vert) and using them as a template; that way you don't have to muck around with the positioning of elements. Easy and fun! Design it based on YOUR favorite game! Find a new use for those pictures of your cat! Use clippings from your pr0n collection! It's simple as can be.
Or hey, go wild and design some alien interface then monkey with the numbers that control positioning and layout! It's a pretty potent system if you're patient and work with it. arcadesprite is the positioning control system for the main 3-D arcade viewing window; a good starting point to toy with.
arcmiddle, arcright, arcleft and variations thereof control the positioning of the little Galaxian sprites at the bottom of the screen. I've never found much use for these things, so I took the config file's advice and set their Y position to like 4000. Then they're out of screen bounds and out of mind.
There's also tons of controls for textual elements, and more, and more. Explore and fiddle with it; keep backups of your cfgs and you won't have to worry about completely wrecking it. <)p(: And then we have not even touched the fact that the complete arcade environment itself is also fully customizable...see arcades/fpsdemo2.cfg for an example...>
Okay, the moment you've all been waiting for.
I put this off because it involves a lot of work. <)p(: only if you are gonna move some cabs around ;-)> Not a lot of configuring, but a lot of work. In this mode, you explore your arcade first person perspective shooter style -- and you arrange the cabinets the same way, grabbing 'em and walking around and setting them down where you like. It's a VR arcade, baby! And doing that takes a lot of time, a lot of fiddling with precise layout of the arcade depending on how much of a perfectionist you are. But when it's done, and you show it to your friends... ohhh baby.
Let's get this enabled. If you recall, when we started out I had you set the fe.cfg show3dwhich to cylarcade. Edit the file and change that to fpsarcade.
You may also wanna monkey with the keyboard settings for positioning your cabs...
In the section that starts with "--keys in movecabs mode, you can move cabs around to create your own layout!" the following keys need to be looked at / adjusted.
kmovecabs activates the moving-stuff-around mode. It's off by default so you don't accidentally wander around screwing up your layout. Safety switch, basically. After you are done hit this key again to save your new layout and return to normal mode.
kgrab is critical -- this is what you tap to 'grab' a cabinet so you can move it around. You can only grab it when the text at the bottom pops up and says what the game name is (or if the video starts playing, if you've got RealVideo mapped displays working). Grab, walk around, hit Grab again to drop it.
It'd be a good idea to use kcabf, kcabb, kcabl and kcabr as well. These let you fine-tune positioning after you've set the thing down. kglrotcabcw and kglrotcabccw rotate the cab; they're in a section of fe.cfg slightly above this one.
This is the newest feature to Emulaxian, and is largely uncharted territory for me. Hope this helps, and good luck.
What, you have to ask? Get to work at tweaking out your frontend, then go play some games! C'mon, we're not paying you by the hour.
I hope this tutorial helped you learn the manyfold wonders of Emulaxian, or at least provided a good chuckle. Thanks, and enjoy your frontend!
Revised July 3, 2002 for Emulaxian 6.5