Front End

OS X application Fullscreen

In Setup() set screen size to fill screen:

size (screen.width,screen.height);

Add hiding of chrome at end of scripts:

public void init() {
  frame.setUndecorated(true);
  super.init();  
}

Export as application and show app's package contents. Edit Info.plist file. Add after first <dict> node, insert:

<key>LSUIPresentationMode</key>
<integer>4</integer>

This will hide the menubar and dock when app launches. Be sure that it goes in alphabetical order, otherwise it won't work (i.e. LSUIPresentationMode goes after LSMinimumSystemVersion but before NSAppleScriptEnabled). (NOTE: this may be automatically included on export from Processing 1.0)

Also add this to any Emus so that the titlebar and dock to not show when they launch (otherwise they will for a split second).


Graphics Modes

Default graphics are slow when bigger than 800x600. Mostly because of image manipulation.

P3D graphics are faster with images and at larger sizes, but lack smoothing (using it now)

OPENGL has issues with zindexing (seems buggy, ignore)

P2D will be the best choice when it's complete, switch when Processing supports it.


SVG

When using SVG, you must import both the candy library and the xml library. Processing needs the xml library so that exported apps can use SVG:

import processing.candy.*;
import processing.xml.*;

SVG's need to be made in Illustrator, save for web and make sure "Presentation Attributes" is set. (NOTE: Candy and XML should now be included by default into Processing 1.0)


Prefs

Prefs are in XML, and store all info about each console and whatever else could be included. Looks like:

<consoles>
<console>
        <name>2600</name>
        <ext>a26</ext>
        <rompath>/volumes/Zen/Applications/ces/roms/2600/</rompath>
        <screenpath>/volumes/Zen/Applications/ces/screenshots/2600/</screenpath>
        <color red="195" green="39" blue="39"/>
        <meta>Atari 2600&#xA;1977, 8-bit&#xA;1 Button</meta>
</console>
</consoles>

Still needs an node for image extension, as well as root paths, etc possibly. Try to move as much to this as possible to limit hard coding. Also think about storing in user prefs folder like other prefs are. The unicode in is for newlines.


Keyboard Mappings

Taken from BSNES emu, as Bannisters defaults will work best for most games (also use for configuring ControllerMate). Mappings go "Controller - Keybaord - CES"

Player 1
Up - UP - Game List Up
Down - DOWN - Game List Down
Left - LEFT - Game List Page Up
Right - RIGHT - Game List Page Down
A - C (change in emus)
B - Opt
X (C) - Ctrl
Y - Shift
Select - Cmd (change in emus)
Start - Q - Start Game (change in emus)
L Button - Z - Previous System
R Button - X - Next System

Player 2
Up - Num 8
Down - Num 2
Left - Num 4
Right - Num 6
A - Home
B - Page Up
X (C) - End
Y - Page Down
Select - Num +
Start - Num Enter
L Button - Num 0
R Button - Num .

Page last modified on December 12, 2009, at 06:10 AM  Edit
Directory  Recent Changes  BG Studios  Email