The NEW Build Your Own Arcade Controls
Main => Software Forum => Topic started by: PacManFan on January 05, 2004, 10:39:16 pm
-
Howdy all,
PacManFan here,
I'm planning on releasing a completely new Front End in the next week or so, and I need some volunteer testers.
Ideally, what I'm looking for are 4 - 5 people to help.
I need :
1 -2 people with art experience to help design some "skins" for the more popular emulators, or at least help me gather logo images from various emulators. (Do you hear that Frosty!?!, I'd like to call in my favor for that z26 thing.)
Hey thanks a lot for doing this, anything you need just let me know!
1-2 persons to playtest and give feedback for usabilty / bugs
1 person to help me generate documentation(This is important!)
I know with your help, this going to be a kick-butt FrontEnd.
I suppose I should tell everyone a little bit about it, here are some of the better features:
-No Windows look!
-Full screen
-Has a separate configuration program
-0-90-180-270 degree rotation
-No 3d card required, runs fine on a P200
-Built in "Skinner"
-Multiple Emulator Support
-Multiple Game Catagories
-Powerful list filtering /catver support
-Supports MPG and AVI movies
- MP3 playlists
-DirectX8 required
-Remappable inputs, (keyboard,mouse,joysticks)
I also am looking for Name Suggestions, I have been working under the name "Kymaera" as an answer to a certain "Burger King" front end, however, I'm not tied to Kymaera, and I'd like to hear some name suggestions.
Following are some screen shots of the editor and front end.
Here's a Screen shot of the skinner, You can click and drag the text / images /gamelists around on the screen. You can edit them by selecting them in the list and clicking edit.
-
Here's what happens when you click the "Preview" button, You get a preview of what it will look like in full screen mode.
-
Here's the main configuration screen with a list of emulators and a few options.
-
Here's the Emulator configuration screen, On this screen, you can setup the options for each emulator, The rom paths, the game list catagory files, art paths, the commands to launch the emulator or program, and which skin file to use for the emulator.
-
And on this screen, you can create and edit you game lists either by importing directories, or getting a list from mame,and then you can create and run filters to include or exclude games based on gameinformation such as catagory,name, controller type, year, screen size,screen orientation , etc...
-
Do you plan on importing controls.dat for more accurate control filtering?
initial comments/questions from this post
-No 3d card required, runs fine on a P200
-DirectX8 required
So why are you using dx8 if you aren;t going to use acceleration?
The filters screen, what's the lists? They need to be labelled. That screen looks rather complex.
In the meulator setup. Game category list files. What's up with the xml files? Same with the main config on emulators. Are you expecting users to create xml files?
Screen resolution and depth, you need to make that a drop down. There are ways of getting form windows what the current system can support.
When you execute an emulator do you temporarily change to the emu's folder?
-
By images of emulators do you mean the console systems themselves?
Ive got these from the flash I was workin on
(http://www.sixsixsix.com/cab/3mame.jpg)
(http://www.sixsixsix.com/cab/3atari.jpg)
(http://www.sixsixsix.com/cab/3sega.jpg)
(http://www.sixsixsix.com/cab/3nes.jpg)
(http://www.sixsixsix.com/cab/3snes.jpg)
-
Do you plan on importing controls.dat for more accurate control filtering?
Yup, I sure do, along with information from my GamePlay.ini project
-No 3d card required, runs fine on a P200
-DirectX8 required
So why are you using dx8 if you aren;t going to use acceleration?
I'm am using acceleration, however, I don't require it.
The filters screen, what's the lists? They need to be labelled. That screen looks rather complex.
That is a fairly complex screen, The top list is the Source list, and the bottom list is the destination list. You can create a game database from the Mame listinfo along with info from GamePlay.ini and eventually controls.dat. You can load the source list with this XML game database, and either manually move games from the source to destination to create game catagory lists, or use the filters to move games from the source to destination.
In the meulator setup. Game category list files. What's up with the xml files? Same with the main config on emulators. Are you expecting users to create xml files?
No, I don't expect users to create XML files, All information for Kymaera is stored in XML files instead of cfg or ini files. These are created for you as you click on buttons like "Add"
Screen resolution and depth, you need to make that a drop down. There are ways of getting form windows what the current system can support.
That's on my to-do list, I've already got code to enumerate all screen modes for the video card.
When you execute an emulator do you temporarily change to the emu's folder?
I'm not quite sure what you mean.
-PMF
-
By images of emulators do you mean the console systems themselves?
Ive got these from the flash I was workin on
That's exactly what I was looking for.
Thanks,
-PMF
-
Do you plan on importing controls.dat for more accurate control filtering?
Yup, I sure do, along with information from my GamePlay.ini project
Ok, ther are alot of games in the system and for most clones you can look up the parents info.
The xml file currently has bugs. There's some not xml friendly characters getting through the character filter. Just delete those and you can develop with what is currently being generated.
When you execute an emulator do you temporarily change to the emu's folder?
I'm not quite sure what you mean.
-PMF
Meaning you execute the emu inside the folder it resides in.
Example
are you running
"c:\mame\mame.exe"
or ar you
tempFolder = currentFolder()
cd mamefolder
run mame
wait for mame to finish
cd tempfolder
The later is the prefered way as some emus are very picky.
mame is too.
If you keep your FE in a different folder than your emu (which one would if it is a multiemu FE) and you run mame without changing to the mame folder will create it's files in the FE folder. not good!
-
OK, I see what you mean,
First, I'm using the -Listinfo command to get the information from the Mame exe, then I'm parsing that info along with other stuff (catver, gameplay.ini) and saving it all out as ax XML file. I'm not using the mame -listxml command.
And yes, I change the current directory to the emulator directory before I run it, then I restore Kymaera's directory after it finishes.
I think the XML's format is much better than ini, The way that Kymaera is coded, it will always be backward compatible with previous installations. I used XML to save all the info that the FE uses. I may change the XML extension to .EMU for the emulator config files and .CAT for the game list catagory files.
-PMF
-
I'd be happy to try out the bug testers part if you like?
-
Wow, you've been busy PMF! Looks great so far... :)
-
Thanks,
I decided to give up entirely on EmuTron, and just pull the best parts of it to build a new FE.
What are the chances of taking a look at your skin load /save code? I'd like to build an importer to put in Kymaera.
-PMF
-
Thanks,
I decided to give up entirely on EmuTron, and just pull the best parts of it to build a new FE.
What are the chances of taking a look at your skin load /save code? I'd like to build an importer to put in Kymaera.
-PMF
Sure, I warn you it's not the prettiest / best commented part, but it works ;) Is Kymaera written in VB?
-
No, Kymaera is 100% C++ compiled with MSVC 7.0.
Translating shouldn't be too difficult, VB is fairly easy.
-PMF
-
No, Kymaera is 100% C++ compiled with MSVC 7.0.
Translating shouldn't be too difficult, VB is fairly easy.
-PMF
Yes this part is pretty easy to understand - let me know where you want it sent to ;)
-
You can email me a zipped code snippet.
Thanks,
-PMF
-
oh yeah, forgot, I'd volunteer.
-
Looks pretty nifty.... but it uses DX8 :(
Would be awesome if some of the devs around here looked at SDL... Should be a comparable feature set, but opens your program up to a wider audience (Windows, mac, and linux)...
-
I briefly considered using SDL, however I had already written a considerable amount of code for the video core using DirectX8, and once I decided that I wanted an external configuration application that you see from the pix above, I knew it would be difficult to make an application that has a cross-platform windowing system. Does anyone know about a good cross-platform windowing system?
If this becomes a popular FE, I may just do a DOS and Linux port, so there's hope yet ;)
-
SDL would probably be the best bet. Stepmania is SDL and it's on Mac, linux, and windows.
-
http://wxwindows.sourceforge.net/
although i can't pledge to its quality nor effectiveness...
-
Awesome, with wxWindows and SDL, the only thing left is to find code for a cross-platform Avi, Mpg, and Mp3 player that I can incorporate into SDL. The port may happen a lot quicker than I thought.
I'm going to worry about getting the first release out of the door before I start thinking about porting it to other platforms.
Thanks for the link!
-PMF
-
certainly looks promising and really like the sound of the XML files
I will be willing to help you test it after the 19th when all my uni work is in (in final year so theres a bit at the moment lol)
Thanks for developing this application as gives another option for us cocktail cabinet owners as you support rotation
-
The port may happen a lot quicker than I thought.
I was just drumming up interest in the hope of maybe some adoption waaay down the road... not expecting you to bend over backwards :)
http://www.lokigames.com/development/smpeg.php3 (just make sure you understand the GPL before you use GPL code ;))
-
Awesome, with wxWindows and SDL, the only thing left is to find code for a cross-platform Avi, Mpg, and Mp3 player that I can incorporate into SDL. The port may happen a lot quicker than I thought.
I'm going to worry about getting the first release out of the door before I start thinking about porting it to other platforms.
Thanks for the link!
-PMF
Look at stepmania. Not sure if it plays avi files cross platform but it definately plays mp3s crossplatform, through sdl I think.
-
I was reading the docs for SDL today, it plays .wav files but not mp3's. I remember downloading a DOS mp3 player with source code a few months ago. I'll have to dig it up out of my code repository.
I think my first step at making this cross-platform compatible is to create a DOS version using SDL, I can use conditional compilation flags in MSVC to specify DOS or Windows builds. I'll probably start off by porting just Kymaera, not the KymaeraConfig program.
After I get a DOS version working, Linux shouldn't be a problem.
I expect to have an ALPHA setup package ready for download in the next few days (Hopefully by Friday). I'm working out all the "A" bugs on my list. There are still a few "B" bugs that I need to address as well.
I had hoped to get the rotating preview wheel code working right for the inital release, but I think that can wait until Beta.
Thank you everyone for your help!
-PMF
-
I went poking through stepmanias CVS, and here is the library they use for MP3:
http://www.underbit.com/products/mad/
-
There are some things I don't like about Mame32 that should be fixed in a new front end:
1) The keys should be remapped in the windows GUI too. That makes it easy to use "c" instead of "enter". NO window keys should be used, or at least toggled on/off.
2) The front end should have a way to shut down the computer so you don't have to exit the emulator.
3) It has to rotate the screen like it does the games. I want to build a cab that has vertical games only on a vertical monitor. Mame won't rotate to match the screen orentation.
4) It should have an ini file that can be manually edited for tweaks. Like keys, window positions, etc.
5) If I tell it I want to use mame, then it does everything else necessary to find the roms, etc. It comes back and tells me what I have that works like arcadeos. It could have an optional report that tells me what's wrong with the roms.
6) I'd like to put the windows where I want them and as large as I want them. I would also like a window that I can do random play of images in the snaps, etc files. Maybe one that just acts as a slide show to any directory. Say I take snaps of high scores and put them in a subdirectory, I want it to find that when I pick the game on the list (for bragging rights!), or a control panel map of the controller, etc.
7) I startup and shutdown screen or batch operation to play movies, display something (like a control panel map) etc.
-
You need to research more before you make your list. Except for #5 you just described Dragon King EXACTLY. :)
-
I think my first step at making this cross-platform compatible is to create a DOS version using SDL, I can use conditional compilation flags in MSVC to specify DOS or Windows builds. I'll probably start off by porting just Kymaera, not the KymaeraConfig program.
SDL doesn't support DOS. That's one reason why Daphne won't be assimilated into MAME anytime soon, Daphne makes heavy use of SDL. You might look at the Daphne source for ideas and code samples.
There aren't enough FEs available for Linux and other OSs that SDL supports, so making your FE an SDL application may lose DOS, but will gain Linux, BeOS, and the other OSes that don't have many FEs available to them.
Good luck!