I'm getting ready to update DOSCab Jukebox and WinCab Jukebox (
http://mywebpages.comcast.net/celamantia/jukebox ) to allow for skinnability. I've set up the following skin format; I'm interested in the opinions of those who are likely to modify the skin or create their own as to whether or not I've covered all of the bases you need.
This will allow you to:
- Set the resolution: if the horizontal is higher than vertical, the monitor will be assumed to be vertical and everything will be rotated 90 degrees
- Set the background image
- Place decals on top of the background image, which can have transparency; this allows you to easily add, say, a logo, a control panel layout graphic, or a price card to an existing skin without editing the background image
- Set the existence, location, and size of the four displays
- Set the label image(s);
- Set the number of columns of labels (1 or 2)
- Set the number of labels per column (up to 4)
- Set the column locations (sizes determined by the label sizes)
- Set the fonts used (if you want to override the internal fonts)
- Set the selection characters used (for example, if you have a dual Neo-Geo layout and both sets of buttons are labelled A, B, C, and D, you may want selections such as AA, AB, BC instead of A1, A2, B3)
Does this cover everything you may want to tinker with?
; Horizontal and vertical resolution
HRes = 1024
VRes = 768
; Background image
Background = bgimage.bmp
; Decals on top of background image
Decal0.Image = decal.pcx
Decal0.X = 700
Decal0.Y = 452
Decal1.Image = decal1.tif
Decal1.X = 400
Decal1.Y = 320
; Label images - a random selection from this list will be used
LabelImage0 = labels\label0.pcx
LabelImage1 = labels\label1.pcx
LabelImage2 = labels\label2.pcx
; Show displays - Setting any of these to 0 will prevent the corresponding display from appearing
ShowCredits = 1
ShowComing = 1
ShowSelection = 1
ShowCurrent=1
; Display locations and sizes
CurrentDisplay.X =
CurrentDisplay.Y =
CurrentDisplay.W =
CurrentDisplay.H =
ComingDisplay.X =
ComingDisplay.Y =
ComingDisplay.W =
ComingDisplay.H =
CreditsDisplay.X =
CreditsDisplay.Y =
CreditsDisplay.W =
CreditsDisplay.H =
SelectionDisplay.X =
SelectionDisplay.Y =
SelectionDisplay.W =
SelectionDisplay.H =
; Label configuration - Width and depth are calculated from the label image size
LabelsPerColumn = 4 ; Max 4, Min 1
LabelColumns = 2 ; Max 2, Min 1
Col1.X =
Col1.Y =
Col2.X =
Col2.Y =
; Selection Characters - in case you want to use letter/letter or number/number instead of letter/number
SelectionChar1 = -ABCD
SelectionChar2 = -1234
; Use optional external TrueType fonts
DisplayFont=dotmat.ttf
DisplayFontSize=10
LabelFont=futura.ttf
LabelFontSize=14
LabelFontSmallSize=10