Tiger- could you post the info you received? I started trying to figure this stuff out and am having the following problems:
1. When I try to run cpmaker.exe, it flashes on the screen for a second and then disappears. Documentation seems thin at best on that one.
2. Buddamame- I'm using it for my emulator, but I also don't see how to tell it to launch an app / display an image, etc. Is it only prepared to work with cpmaker?
3. cpvw - I have it showing my background, but it doesn't put the controls on it. It doesn't seem to care what I use for the -r switch. It should be finding controls.ini, since it's in the same path.
BTW, I ended up using Johnny5 to make the images and CPmaker to display them. Also, I didn't care about hiding unused controls, so these instructions bypass that.
CP Maker Setup - First, download new versions of CPMSUPPL.ZIP and CPMIMAGE.ZIP from the links above. You unzip them to a folder under MAME - i.e. you should have CPmaker.exe in the same folder as mame.exe, beneath MAME you should have folders for CPMimage, ctrlr, images, layout, panels, xmlcache.
(Alternately, you can install CPmaker in it's own folder with these subfolders, and copy the MAME.exe file to this folder)
Test with "CPmaker 1942" - It shouldn't show anything on screen, but it should create a controls.png image with a hotrod panel with three buttons and a trackball.
Now to make it work for you - I already had a layout (graphic) and a .lof (positions) file for use with Johnny5, so I did the following (using BuddaBing's advice):
Copied mylayout.jpg (from Johnny/layouts/images) to C:\Mame\images\tiger.jpg. Copied Johnny/layouts/default.lof to C:\MAME\layout\tiger.lof.
I then copied C:\MAME\ctrlr\keybd.cfg to tiger.cfg. (You should be able to use your defined .cfg file, but I didn't have one and the default MAME one didn't work.).
Then do the following:
- Change your cpmaker.ini so that the line containing "panelfile" that is not commented out to read "panelfile,1panel.ini,"
- In your panel directory, edit 1panel.ini to read:
panelfile,tiger.txt,
majority,tiger,
- Copy one of the panel files, such as panel2.txt, to tiger.txt
- Edit tiger.txt:
startpanel,tiger,
controller, -- your ctrlr file here with no path --
layout, -- your Johnny5 layout with no path --
template, -- your background image with no path --
endpanel,tiger,
Delete all controls and label entries in tiger.txt
I.e. panels\tiger.txt looks like this:
startpanel,tiger,
controller,tiger,
layout,tiger.lof,
template,tiger.jpg,
endpanel,tiger, (Already done) - Copy your ctrlr file into the directory pointed to in your cpmaker.ini, under "ctrlrpath"
(Already done) - Copy your background image into the directory pointed to in your cpmaker.ini, under "imagepath".
(Already done) - Copy your Johnny layout into the directory pointed to in your cpmaker.ini, under "layoutpath".
You can change the path names in your cpmaker.ini to point to wherever you want, keeping in mind that CPMaker may not understand paths with spaces in them.
This got CPmaker working, but the font size was not consistent, and only the buttons and directional information was shown, whereas Johnny would give me gamename, simultaneous/alternating, 4-way/8-way, and extra info.
I decided what I wanted was to have a bunch of pre-made images in the the C:\EL Pics\Hints folder that EmuLoader could display and BuddaMAME could display.
To do this, I placed a copy of Irfanview in my Johnny folder (so Johnny saves .png images). Then I created the following batch files (edit in Notepad and save as txt with the .bat extension.
Batch1. bat
johnny5 %1 -justprint
copy controls.png D:\WS\images\%1.pngI later moved the files from D:\WS\images to C:\EL Pics\Hints. BuddaMAME can handle spaces under Win98, not sure about other OS's.
Batch2.bat
call batch1 statriv2
call batch1 005
call batch1 yard
call batch1 vsyard
call batch1 1941
call batch1 1942
call batch1 1943
call batch1 1943kai
call batch1 1944
call batch1 19xx
call batch1 openiceetc.
I did some creative find/replace in Word to create Batch2.bat. A couple of warnings:
On a P4 1.8 Ghz, this program takes about 45 minutes/1000 games and for a 1024x768 image, requires about 300M/1,000 games. You might want to run it overnight, and make sure you have enough free disk space.
Once started, the screen will flash black and then back, so you really can't get anything done on the PC while it is running.
On Win2k, Ctrl-Break and Ctrl-Z had no effect, I was able to shut it down using Ctrl-Alt-Del and ending task on it from the task manager. Not sure what will or won't work on other OS's.
Now to display the image in BuddaMAME, first edit your MAME.ini so that -extmakectrl is set to 1.
Then create a makectrl.bat file in you mame directory. I expanded mine to look like this:
echo off
rem the above statement keeps commands from being displayed
rem This command deletes the current file to prevent a previous version from being displayed rem in the wrong game.
del controls.png
rem this copies the parent file to the mame directory
copy "c:\EL Pics\hints\%2.png" controls.png
rem this copies the clone (current game) file to the mame directory
copy "c:\EL Pics\hints\%1.png" controls.pngThe only drawback to this is a lot of the clones will have "No controls specified", but the parent will use the same controls, so you need to manually delete a lot of the clone images.
Finally, for Buddabing - this works great for horizontal games. (Image is converted from 1024x768 to 800x600, but looks good). If I were less lazy, I would re-do Johnny to recreate the images at 800x600, but I am that lazy.
Ideally, I wish there were a way to have BuddaMAME switch to 1024x768 and display the controls full-screen when paused and then switch back to the game resolution afterwards. (Or at least display the controls full-screen at 800x600 if I am running a 224x288 vertical game at 800x600 res).
I think this can be done using
multires, but I don't know if you want to make multires a requirement for BuddaMAME, or if the display were done from an external .bat file, I don't know how to display the image full-screen after running multires.
FWIW.