importent: i have set preferender to opengl and renderfix to false as defaults. If you experience slowdown after coming back from a game first try a different renderer. If that does not help set the renderfix option to true! In any case it is a good idea to try all renderers the performance difference between them can be very big...


upgrading from 0.75, 0.76, 0.77, 078, 0.79, 0.80, 0.81, 0.82, 0.83, 0.84, 0.85, 0.86, 0.87, 0.88, 0.89, 0.90, 0.91, 0.92, 0.93, 0.94 and 0.95 to 0.96:

-you can just replace the 0.75, 0.76, 0.77, 0.78, 0.79, 0.80, 0.81,  0.82, 0.83, 0.84, 0.85, 0.86, 0.87, 0.88, 0.89, 0.90, 0.91, 0.92, 0.93, 0.94, 0.95 with the 0.96 exe (If you are upgrading from 0.75 or 0.76 you also need the new set of xtra's that first came with 0.77 because of the upgrade of the engine from director 8.5 to director mx in 0.77. Just drop them in the xtras folder.)
-then if there are new or upgraded xtras included with the upgrade...then put them in your Xtras folder.

Since 0.75 I have only added optional options. If not found they are just skipped or the internal defaults are used. Making upgrading just a matter of switching executables. With 0.78 I have gone one step further. I included internal templates with the defaults for the general, emulator and arcade cfg files. This means if you go to the internal configuration utility to one of these cfg files the new options will automatically be added to your configuration files with their default values! Also if available the latest comments how to set and use an option will be added to the files when saved or resaved.

Exceptions:
-In 0.91 the menulevels have been removed from the skins and all remaining camera related stuff has been moved to the arcade cfgs in order to make skin assigment  more userfriendly. The fe will accept old skins but its recommended to update your skins. The fe will help by saving updated skins to skins\updatedskins\.
-In 0.81 the screenshot sprite uses now a centered registration point to support video in addition to bitmaps. Therefore it will be slightly different placed using pre 0.81 skins. Go into skinner mode (default key=page up) and drag it back to its proper place.
-If your using the filtering option in the fe note that 0.79 has changed the field numbering to make it consistent with other options that look into gamelist fields. So 1|2|3 is now |1|2|3 so  for example field 3 of |1942 (set 1)|1942|1984|Capcom|etc. is now 1984 instead of 1942. If your are using the default filterset I would suggest copy and pasting the new greatly enhanced filterset from cfg\selsest\fearcade.cfg in your sets.


new optional options in 0.95:

in skin cfg files:
initfpstext|...Initializing 3darcade...| Changes the text shown in the message sprite while the fps arcade is initialised.


new optional options in 0.94:

in the general cfg file, cfg\fe.cfg:
krating||#keys|Opens a dialog to rate the current game/movie. Result is saved in field 32 of the gamelist entry.|
kmaturity||#keys|Opens a dialog to rate the maturity of the current game/movie. Result is saved in field 33 of the gamelist entry.|

in arcade cfg files:
fpsrenderformat||#editable|description here|
fpszoning||#editable|description here|
fpsscripts||#editable|description here|
cylrenderformat||#editable|description here|
cylscripts||#editable|description here|
listboxrenderformat||#editable|description here|
listboxscripts||#editable|description here|


new optional options in 0.93:

in the general cfg file, cfg\fe.cfg:
krunexe|none|#keys|When this key is hit the fe will launch the application setup in the runexe property in section 4. This can be used for example to popup a controlpanel viewer.|
runexe||#editable||When the krunexe key is hit the fe will launch the application that is setup in this property. Format: commandline/runmethod/wait/runstopmusic. The commandline will be launched by using normal,hidden, minimised or maximised and either wait (true) or don't wait (false) for its execution to be finished. When runstopmusic is set to true the background sound will stop until the fe gets focus again. The commandline accepts variables that reference the contents of fields of a gamelist entry. For example $02 will add the romname of the selected game to the commandline. c:\cpviewer.exe $02 for donkey kong will become  c:\cpviewer.exe dkong.|
vpforcetablefocus|true|#boole|When set to true this will check if the vp table has focus and if not it will force focus to the vp table window. It will do this for 2 minutes everytime it checks if the kquitvp is hit. Therefore this only works with the special internal vp launcher. This will prevent the vp table to launch behind the fe and become invisible.|

in arcade cfg files:
fpstransitiontype|false|false,zoom_fov|Transition effects in the 3d sprite on load, on launch and while switching to the info and help screens. Zoom_fov is a basic but effective zoom in and out of the screen animation.|
fpstransitionoptions||#editable|Non yet.|
cyltransitiontype|false|false,zoom_fov|Transition effects in the 3d sprite on load, on launch and while switching to the info and help screens. Zoom_fov is a basic but effective zoom in and out of the screen animation.|
cyltransitionoptions||#editable|Non yet.|
listboxtransitiontype|false|false,zoom_fov|Transition effects in the 3d sprite on load, on launch and while switching to the info and help screens. Zoom_fov is a basic but effective zoom in and out of the screen animation.|
listboxtransitionoptions||#editable|Non yet.|
fpsmatchgencabsonly|false|#boole|Set to true will match games with models only using the gencab filters in section 5. This matching of games with models in the gamelist entry fields 2,5,6 and 12 will be ignored.|
listboxlockedmodel||#model|If this model exists no other model then this will be used for game items, useful for wheels. Instead of one model its also possible to add a sequence of gencab filters. For example to show different models for horizontal and vertical games.|
cylloadmodel|false|false,idle,true|Keep this set to false! If preloadcab is set to false in fe.cfg this property defines if and when a model is loaded from disc.| 
cylloadstaticmodel|false|false,idle,true|Keep this set to false! If preloadcab is set to false in fe.cfg this property defines if and when a model is loaded from disc.| 
listboxloadmodel|idle|false,idle,true|Keep this set to idle or false! If preloadcab is set to false in fe.cfg this property defines if and when a model is loaded from disc.| 

in emulator cfg files:
runexe||#editable|When the krunexe key is hit the fe will launch the application that is setup in this property. Format: commandline/runmethod/wait/runstopmusic. The commandline will be launched by using normal,hidden, minimised or maximised and either wait (true) or don't wait (false) for its execution to be finished. When runstopmusic is set to true the background sound will stop until the fe gets focus again. The commandline accepts variables that reference the contents of fields of a gamelist entry. For example $02 will add the romname of the selected game to the commandline. c:\cpviewer.exe $02 for donkey kong will become  c:\cpviewer.exe dkong.|


new optional options in 0.92:

in the general cfg file, cfg\fe.cfg:
keyjumptolist||#editable|setup keys to jump directly to certain gamelists in the hierarchy. Format: keycode,arcagategl:selset:gamelistreference:game/etc. Example: 50,arcgategl:console:coleco/51,arcgategl:various:ultra_wheel_demo:dkong Note: You can bind these also to buttons by setting the similated key to kkeyjumptolist_nr (ie kkeyjumptolist_1 etc.)|
kfpsarcade|none|#keys|Changes the menu type to fpsarcade.|
kcylarcade|none|#keys|Changes the menu type to cylarcade.|
klistbox|none|#keys|Changes the menu type to listbox.|
kmenu|112|#keys|Shows a menu with a selection of all the functions the fe can use. This way these button/key functions dont have to be mapped. The user can define which functions this menu will show.|
forcefocus|normal|normal,repeat,both,no|When set to normal fe forces focus to itself when coming back from a game. Repeat does ther same but in a loop until it becomes the the active window. Enable repeat only when you have focus problems. See also the fakemouseclick option in the emulator cfgs.|


new optional options in 0.91:

in the general cfg file, cfg\fe.cfg:
filtermenutype|highscore|dialog,highscore|Highscore for selecting filters just like entering highscores. Dialog uses an ugly but faster dialog box to select filters.|
searchmenutype|highscore|dialog,highscore|Highscore for searching for games just like entering highscores. Dialog uses an ugly but faster dialog box to search for games.|
oldkeyhandler|false|#boole|Some users reported that the new keyhandler does not register keys correctly for them. Enabling the old key handler should resolve this issue.|

in arcade cfg files:
All camera options for all menutypes including the listbox are now in the arcade cfg files.
cylstaticmodel|false|#boole|Show and additional model in additon to the circle models and environment model. It will get the marquee/screenshot etc. for the selected gamelist item.|
cylstaticlockedmodel||#model|If this model exists no other model then this will be used for gamelist items.|
cylstaticmodelpos||#trans|Position of the additional static model.|
cylstaticmodelautorot|0|#editable|Auto rotation speed of the addtional static model. 0=fixed.|
cylstaticmodelresetpos|true|#boole|Reset the transform everytime you move through the gamelist.|
cylstaticmodelparent|camera|camera,environmentmodel,world||
cylsprockets|9|#editable|The number of models on the cylarcade circle. When this is empty or 0 then the setting from the general cfg will be used.|
cylselectedsprocket|5|#editable||
cylradius|500|#editable|The radius of the virtual circle the models are placed on in cylarcade. When this is empty or 0 then the setting from the general cfg will be used.|
cylmodelstransform||#trans|You don't wanna know ;-)|
defaultlight|true|#boole|Set to true will enable the default light.|


new optional options in 0.90:

in the general cfg file, cfg\fe.cfg:
Preloading on boot of modles is now optional: preloadcab|true|#boole|When set to true all models in the models folder are preloaded into ram when the fe boots. When set to false the fe will not preload any models. It will keep models in ram after they have been loaded so a second access will be faster. Preloadcab false is not recommended with cylarcade unless it is a wheelvariant|

in arcade cfg files:
Fpsxtramodels can now be used as textureoverlay menus for arcmovies, arcmusic, argategs, arcgatess and any gamelist.
Gencab entries now support all search operators the fe supports.
Environment models and fpsxtramodels can now be located in any subfolder of arcades\arcmodels\
cylmodelparentiscamera|false|#boole|Set this to true for the environment model to face the camera all the time. For special effects only...|


new optional options in 0.89:

in the general cfg file, cfg\fe.cfg:
mousescroll|false|#boole|Mainly for in cabinet use.The mouse axis will be mapped to the kgameup, kgamedown, kgameleft, kgameright events. In fpsarcade it will only work when mouselook is false.|

in emulator cfg files:
infoformat|Name: $01<br>Year: $03<br>Manufacturer: $04<br>Category: $07<br>Times Played: $30<br>Minutes Played: $31<br><br>Links: $29<br><a href="http://3darcade.mameworld.net/frontend/fereadme.htm">3D-Arcade and Emulaxian Manual</a><br><a href="http://3darcade.mameworld.net">3D-Arcade Website</a><br><a href="http://www.i-modernist.com/emulaxian">Emulaxian Website</a><br>|#editable|Used to format the information message when you select a game in the info screen or chat field, for example $01 made by $03. $01 will be replaced with the contents of field 1 and $03 will be replaced with the contents of field 3 of the selected games gamelist entry. Use $br to insert line breaks. Also supports basic html formatting. For example hyperlinks. Hyperlinks don't work when the text method is set to field.|

in skin cfg files:
The chat sprites can now, when not in multiuser, be used to show info- and history content for the selected game just like in the info screen. Including basic html if the text method for the sprite is not set to field. Doubleclick on the chat sprite. The last field in the popup contains the new option.


new optional options in 0.88:

in arcade cfg files:
arccolumnsrefmap|false|#boole|When true the (animated)wall texture will be used as a reflectionmap on the columns.|
cylcameralock|false|#boole|Lock the camera position and rotation.|
cylwheelkeys|false|#boole|kgameright and kgameleft become kgameup and kgamedown, kgameup and kgamedown become kgotoaz and kgotoza.

in emulator cfg files:
fakemouseclick|false|#boole|If the fe does not get proper focus back after running a game this option can help by sending a fake click on the frontend window.|


new optional options in 0.87:

in the general cfg file, cfg\fe.cfg:
savegamestats|false|#boole|When enabled the fe will keep track of the number and duration each game is played and it will save the new values into the gamelist after returning to the fe from playing a game|
screensaverjump|false|#boole|select the randomly launched game in the gamelist and jump to it in the gamelist when returning to the fe|


new optional options in 0.86:

in emulator cfg files:
txtformat| | updated: use $br to insert line breaks.

in arcade cfg files:
cylnomarquee|false|#boole|set to true if you don't want the marquee part of the mode updated. For example in wheels that don't show it to gain some performance|
cylnoscreenshot|false|#boole|set to true if you don't want the screenshot part of the mode updated. For example in wheels that don't show it to gain some performance|

overruling options from the general cfg in arcade cfg files:
cylspacing|10|#editable|the default space for a model...some models have a width property and will override this to dynamically fit in...for those big sitdown cabs etc.|
cylsteps|5|1,2,3,4,5,6,7,8,9,10|defines how much steps it takes to rotate from one game to the other. Values from 1-10. Larger numbers means more steps en will be slower but the animation may be smoother.|
createmarquee|true|#boole|set this to true to enable on the fly marquee creation based on gamename and screenshot/random color when there is no marquee picture available. this can slow down things...set to false or make sure you have most marquees pics...|


new optional options in 0.85:

-Added two new internal default cabs for horizontal (defaulthor) and vertical (defaultvert) games by DeNiro with a magic touch.  Using uvw mapping the cab grabs colors from the marquee image and places them on different parts of the cab...so each cab gets its own color scheme based on its own artwork. The marquee irtself is also used on the side and the contolpanel.

in the general cfg file, cfg\fe.cfg:
-Added the fpsloadingnosound property to the general cfg to pause the sound while loading to vram. For those who experience sound stuttering during this very cpu intensive operation.

in arcade cfg files:
-Added the ability to move the camera on the z-axis to the arcade cfg files with the cylarcglcampos, cylarcgscampos and cylarcsscampos. This is useful for price is right like frontal wheels in skins. 

in emulator cfg files:
-Added to the altmame property the option  to run the alternative exe and commandline options if the second skin is the current skin. Use altmame|skinbased|

in skin cfg files:
-Added options to better format the controlpanel bitmaps in the helpscreen.


new optional options in 0.84:

-enhancements to the texthandling might in some special cases in older skins result in only a part of the lineheight being visible. For examle the message sprite in the default skin. If you see that just adjust the lineheight to be smaller then the height of the sprite.

in the general cfg file, cfg\fe.cfg:
-videonopause|false|#boole|set to true if you don't want the video on the selected model to pause while moving|
-glvideovolume|175|#editable|set the volume of the video|
-joystick|0|0,1,2,3,4|select which joystick to use, 0= no joystick|
-options to associaite joystick axis and buttons with key actions.
-skinsautorot|false|#boole|When set to true the fe will after running a game check if field 15 of a gamelist entry contains Horizontal or Vertical and show from the current skinset the first skin if Horizontal is found and the second skin if  Vertical is found. Ideal for rotatable monitors|


in arcade cfg files:
-fpsarcanimtxtnopause|false|#boole|set to true to not pause the animated texture while moving the camera. Warning setting this to true will need a very very fast pc with large textures (512x512) like the default arcadetest.cst!|
-cylarcanimtxtnopause|false|#boole|set to true to not pause the animated texture while moving the camera. Warning setting this to true will need a very very fast pc with large textures (512x512) like the default arcadetest.cst!|
-movierandomstartpoint|false|#boole|set to true to start the selected movie at a random point and not from the beginning|
-fpsfollowterrainstanding|false|#boole|set to false if you don't need terrainfollowing while standing still (elevators!) in this arcade, that will give a speed boost|
-fpscamyposmax||#editable|max vertical position of the camera (above fpsvertdistance)|
-fpscamyposmin||#editable|min vertical position of the camera (above fpsvertdistance)|
-fpscamfovmax||#editable|camera maximum field of view|
-fpscamfovmin||#editable|camera minimum field of view|
-cylcamyposmax||#editable|max vertical position of the camera (above fpsvertdistance)|
-cylcamyposmin||#editable|min vertical position of the camera (above fpsvertdistance)|
-cylcamfovmax||#editable|camera maximum field of view|
-cylcamfovmin||#editable|camera minimum field of view|

-New skinner option:
new text display methods for the scrolling version of the listbox, in the skinner properties of the scrollbox click on then new text display method option:
1. field = fastest but can't be rotated
2. text = maybe slower then 1. but can be rotated
3. text_anti_aliased = maybe slower then 2. but can be rotated and has smooth anti-aliased text. Lovely for pc monitors on arcade/tv monitor you probably won't see a difference with 1. or 2.

-New commandline options:
 -cylarcade, -fpsarcade, -listbox to startup the fe in one of those menu types overriding all settings in the cfg files. (reminder -cfg is used to go directly to the configuration menu)


new optional options in 0.83:

in arcade cfg files:
-cylarcglcamrot||#editable|overides skin rotation setting in gl menu, useful for ultracade like wheels.|
-cylarcgllockedmodel||#model|if this model exists no other model then this will be used for game items, useful for ultracade like wheels.|
-cylarcgllockedmodelcolor||#color|this will change the color of the body of wheel part models, useful for ultracade like wheels.|
-cylarcgllockedmodelblend||#editable|this will change the blend (0-100) of the body of wheel part models, useful for ultracade like wheels.|

in skin cfg files:
-note that you can now individually skin the fpsarcade and cylarcade. older skins will still work but will be updated to the new format when saved in skinnermode. this means you could care less the fe does all the work unless you use a newly saved skin with an older version of the fe... ;-)

in the general cfg file, cfg\fe.cfg:
-debugmode|false|#boole|This will check for configuration errors by the user and report it to the user...for now mainly the gamelists...more to come ;-)|
Currently debug mode checks and warns:
-if an emulator cfg and a selset cfg have the same name.
-if field 10 of a gamelist entry does not contain a valid reference to an emulator.
-if a gamelist entry contains less then 14 fields. this will also warn for empty lines between gamelist entrys. empty lines ad the beginning and end are autmatically removed.
-if the emulator files in cfg\emulators listed in cfg\feemulators.cfg exist.
-if the selset files in cfg\selsets listed in cfg\feselectionsets.cfg exist.


new optional options in 0.82:

-nothing, just be sure if you upgrade to add the new budapi.x32 to your Xtras folder.


new optional options in 0.81:

-in skin cfg files:
-transparencys and layering:
The skinner has full control over ink effects including transparencies and the overlapping order (z-order) of bitmap and 3d sprites. For example giving the background bitmap a higher z-order then the artwork bitmaps and using a png with a tranparency chanell, the background bitmap will become the foreground with the artwork bitmaps showing up behind the transparent parts. Be aware that in skinner mode in this case clicking anywhere will popup the details of the background sprite. So while skinning temporarily set the z-order of the background sprite to a low or even negative value. 
When you turn off the direct to stage property of the 3d sprite it also can be layered like all other sprites. For example by setting the sprite's ink to backgroundtransparent and turning the environmental model of it will appear to float. But turning direct to stage off will result in a big performance loss. To get the same effect and much more while keeping the direct to stage property on I added support for overlays and backdrops to the 3dsprite.

-in arcade cfg files:
-overlays and backdrops:
These options are setup in the arcade cfg files and not in the skinner as they refer to what is shown in the 3dsprite itself. There are two layers of overlays and two layers of backdrops. Each can show bitmaps, bitmap cycles, video's and animated textures. The first overlay and backdrop when used have some special additional features.
The first overlay is created from a snaphot of the background bitmap behind the 3d sprite. When the background bitmap has no transparency the 3d sprite will seem to disappear but when the background has transparency the 3d sprite will appear to show behind the background. Especially useful to get rid of the rectangle borders of the 3d sprite. 
The first backdrop will take a snapshot of the stage behind the 3d sprite, giving the effect that you can see through the 3d sprite resulting for example in the ability to let the 3d sprite hover above the background.
There are a lot of possibilities for each overlay and backdrop. To make it easier to use I allready did setup some useful defaults that can be turned on and off by setting the first field either to true or false for each overlay and backdrop.
These are the options for each overlay and backdrop:
overlayfpsarcade|add this overlay=true,don't =false/blend/reserved/video,foreanim,backanim or false/options/bitmapsprite/options/bitmappath/options|
The fe will first try to show a video or animated texture setup in field 4. If none is found or set to false the fe will then try to show the current bitmap from either the marquees, screenshot or flyer sprite setup in field 6. If not found or set to false it will try to find bitmaps from the pathname setup in field 8 that refers to a path setup in emulator cfg files. Either one of the existing paths like flyers, sshot or a custom path defined by the user. Ahum I went nuts here...almost anything can be done ;-)
Foreanim and backanim refer to animated textures created from a set of bitmaps and stored in arcade\arcanimtextures. These are the same as used on environment models. To create them just put a set of bitmaps in an empty folder and use the option in the cfg utility to automatically create the animated texture. The options in field 5 are /(file to use:name.cst),(pause animation while moving through the list=pause or don't pause=play),(animation update frequency in milliseconds)/ for example /driesmamelogo.cst,pause,100/ 
For full control to show or not to show the 3d environment model for example to create the illusion of a hovering cabinet model you can override the general showarcade property from fe.cfg with the showarcade propertie in an arcade cfg file:
showarcade|true/true/true|#editable|Show (true) or hide (false) the evironment model by default in respectively the fpsarcade, cylarcade and listbox menu type|
-internal box model besides the cylinder. 
Use #box or #cylinder instead of a external w3d filename to show either the interla box or cylinder.
when #box or #cylinder is used ou can adjust position, size and scale of the  #box or #cylinder with fpsarcmodelpos and cylarcmodelpos.
-expanded movecabs mode to cover fpsxtramodels turning it into a basic interactive worldbuilder.
kmovecabs (default=b) turns movecabs mode on and off in the fpsarcade menutype. Grab cabs with kgrab (default=v) and move the cabs around any way you want. Hit kgrab again to release the cab. You are still in movecabs mode. You can manipulate the model with the kcabr (default=l), kcabl (default=j), kcabf (default=i), kcabb (default=k), kcabu (default=o) and kcabd (default=u) keys to fine position, scale and rotate the model. And for fpsxtramodels you can also interactively change the textures of the model using kcabl and kcabr to highlight the textures you want to change. Then use kcabf to select a new bitmap form the file dialog popup. For those who wnat to know the bitmap will be automatically copied and renamed to arcades\arctextures\nameofthearcadecfgfile\fpsxtramodelx\texturex.png! 
The kmovecabsoperator (default=m) key cycles through positioning, scaling, rotating and replacing textures with the kcab keys.
Xtramodels can be added to an arcade configuration in the arcade cfg section of the listmanager for the arcade cfg file you want to use. Click on the xrtamodels field and choose add...and then choose a model from the file dialog. I included a basic cylinder (arcades\arcmodels\prop-cylinder.w3d) and box (arcades\arcmodels\prop-cylinder.w3d) to experiment with. More prop models at the 3darcade site when they come available. Contributions of prop models are very welcome!


-in the general cfg file, cfg\fe.cfg:
-define menu level to show on startup of the fe:
showmenulevel|gl|gl,gs,ss|which menu level to show on startup. for example create one selset for each user and startup the fe with the ss menu to let the user select his or hers|
-video textures can now use all formats supported by windows mediaplayer instead of only realmedia
videoextensions|rm,mpg,mpeg,mpg2,mpeg2,mp4,mpg4,mpeg4,divx,avi|#editable|extensions of video formats that can be used for video textures on models. You can edit this list, the fe supports all formats supported by windows mediaplayer and real media .rm files. if you don't want to use real media remove the rm extension from the list.|
-fullscreen video toggle:
When a video runs on a texture overlay menu the karcadefull key that normally will toggle the 3dsprite fullscreen will toggle the video fulscreen on and off. 


new optional options in 0.80:

-in skin cfg files:
-I externalised and expanded the options how to stretch a bitmap to the rectangle of sprites that display bitmaps and added them to the skinner.
Stretch to fit, fit, this will resize the bitmap to fill the rectangle of the sprite completely.
Stretch keep aspect ratio, aspect, this will resize the bitmap to the largest size that will fit in the sprite's rectangle while keeping the aspect ratio of the bitmap.
Stretch to orientation, orientation, if "vertical" is found in field 15 of a gamelist entry then it will resize the bitmap to the largest size  that will fit in the sprite's rectangle while keeping an aspect ratio of 3:4. If not found it will use 4:3. Useful if you have resized screenshots and marquees to 256x256 or another powers of 2 size for optimal 3d performance.
Stretch to aspectratio, aspectwidth:height for example aspect4:3,  will resize to the largest size that will fit in the sprite's rectangle with while keeping the specified aspect ratio
Stretch to orientation-aspect, orientation-aspect, this will first search for "vertical and "horizontal" and if one of them is found Stretch to orientation will be used else Stretch to aspect ratio will be used.
Stretch to orientation-fit, orientation-fit, this will first search for "vertical and "horizontal" and if one of them is found Stretch to orientation will be used else Stretch to fit will be used.
If you edit skin files by hand these options are added like this:
glscreenshot|8 635 349 325 288 0 100 /orientation|

-in arcade cfg files:
-options to control the behavior of the camera movement
cameramovement|maximum forwards speed/maximum backwards speed/acceleration speed/deceleration speed/xtra deceleration when no key is pressed/turning speed|
-Enhanced options to create dummy marquees and added dialogs to the internal cfg utility for it to select font, color, etc. Added dialogs also to the texture overlay menu options.
-i added the option to cycle between bitmaps on the screenshot texture of models or the screenshot sprite in the listbox menu when show3dcabs is turned off. This works really cool in both fpsarcade and cylarcade with cycling between screenshot and title bitmaps. Especially in cylarcade you will now see movement on all the models in view instead of only the video on the selected cab greatly enhancing the experience! Set it up and go to cylarcade to see it for yourself ;-)

Ok I think it is cool..but...this will hurt performance a lot if you are using bitmaps not resized to a power of 2 and preferable 256x256! Because in fpsarcade mode all around you textures will be updated but only send to the engine if they come in view. This means when you turn around and textures are not powers of 2 they will have to be resized at that time hurting performance. So use irfanview (www.irfanview.com ) to batchresize all bitmaps that you want to show in the 3d environements to 256x256. If you really don't want to do that for all your artwork, not a good idea in my opnion ;-),  I would suggest doing it at least for bitmaps that use the cycling option...you can setup your own paths for them, so for example setup a sshot256|| path in addition to an sshot|| path in your emulator cfg files. You can create as many paths as you want...and assign them to cycle lists...

title and screenshots images can be found at http://crashtest.retrogames.com
then add to your cfg\emulators\femame.cfg a path for titles,
titles|c:\mame\titles\|#folder||

setup bit map cycling in arcade cfg files like this:
cyclesshotscylarcade|linear/100/sshot,titles/false|
cyclesshotsfpsarcade|false/200/sshot,titles/true|
cyclesshotslistbox|linear/1000/sshot,titles/sshot,titles,flyers, cabinets/orientation-fit,orientation-fit,aspect, aspect|
Item 1 can be linear, random or false. Set to false to not use cycling. Linear will start at a random item in the cyclelist and then cycle sequentionally. Random will cycle the elements of the cylce list randomly.
Item 2 minimum number of milliseconds between updates. More updates less time to do other things like displaying the video on a cab...
Item 3 a list wih pointers to paths with bitmaps to cycle through, these paths are retrieved from emulator cfg files so a path called sshot256|| is here sshot256. 
Item 5 for cylarcade and fpsarcade. Set to true to pause cycling of bitmaps while video is playing. Set to false to cycle bitmaps while video is playing.
Item 5 for the listbox is another list that if available will be used in listbox menutype when the 3dcab is toggled off and the bitmaps are shown instead.
Item 6 for the listbox without the 3dcab. List with stretch options for each element of the cycle list.
if your not using rm videos on the cabs you can try lower the update time from 200 to 1 in cyclesshotsfpsarcade|linear/200/sshot,titles|
if you are using rm videos and this hurts the perfomace of the attract mode video to much then increase the value from 200. Or set item 4 to true to pause the cycling while 

-in the general cfg file, cfg\fe.cfg:
Are you bored with the grey look of the internal cfg utiliy. The you can now change the font and color scheme, I allready changed the default one to blue ;-) And added dialogs to the internal cfg utilty for it to select font,colors,etc.
cfgutility|Arial Black/plain/16/16/2/1/3/6/1/1|#cfgstyle|Visual layout of the internal cfg utility. Format: font/style/fontsize/lineheight/topspacing/color/background color/highlightcolor/antialias font larger then/kern font larger then|

-in emulator cfg files:
-Truncate text now with more then one delimiter.
truncatename||#editable|remove all text to the right of these characters from the descritive name. useful to eliminate all those set names with ( then Galaga (set1) will become Galaga, or for roms renamed with the good utilites, use [, or use both sepetated by spaces like this ( [|


new optional options in 0.79:

-in emulator cfg files:
-truncatename||#editable|remove all text to the right of this character from the descritive name. useful to eliminate all those set names with ( then Galaga (set1) will become Galaga, or for roms renamed with the good utilites, use [|

-in arcade cfg files:
-fixedpos|false|#boole|When set to false the fe will position the selection of the current gamelist that will appear in the fpsarcade in the order of their position in the gamelist in its current state. So the first entry will use the first item, the second entry the second item, etc. When set to true the fe will search the list with model positions in the current arcade cfg file for matching names...if not found the model will be put in a random position. Only use true for arcade cfg files associated with one specific gamelist!|
-textmcfg|18 29 0 1 2 bold /Arial Black/8|#editable|size lineheight kerning color highlightcolor style /font/number of items on each page| --added the number of items on a page option

-in selset cfg files:
-autofilter, gamelists can now be automatically filtered when they get selected using the autofilter|searchfield/operator/searchphrase/etc| for all lists in a selset or autofilter(gamelistname)|searchfield/operator/searchphrase/etc| for aspecific gamelist in a selset. For example to filter out all adult games for the puzzle.atf list when it gets selected in the fe: autofilterpuzzle|7/notcontains/Mature|
-favoriteslist, assign one gamelist in a selectionset as the favorites list. When the current list is not the assigned favorites list then pressing the new kfilter key will add the currently selected gamelist entry to the assigned favorites list. When the current list is the assigned favorites list pressing the kfilter key will remove the current gamelist entry from it. Format: favoriteslist|gamelistshortname|

-in the general cfg file, cfg\fe.cfg:
-showgameinfo|true|#boole|true enables displaying gameinfo in the message text sprite...can be toggled on and off with the kgamename key...what to show is setup in emulator configurations...in fullscreen arcade mode the text will be overlayed on the 3dview.|
-kfavorites|| pressing this key will remove or add the currently selected gamelist entry from the favorites list depending on wether it or another list is the currenty selected list.

-in skin cfg files
-list titles, added support to the skins for showing a title text using its descriptive name of the current gamelist.
-list logos added support to the skins for showing a bitmap logo for the current gamelist. in gl menu the fe will first search for dummys\logos\gamelistname.png, if not found it will search for dummys\logos\gl.png, if not found nothing will be shown. in gs menu the fe will first search for dummys\logos\selsetname.png, if not found it will search for dummys\logos\gs.png, if not found nothing will be shown. in ss menu the fe searches for dummys\logos\ss.png, if not found nothing will be shown.


new optional options in 0.78:

-in emulator cfg files:
-txtformat|$1|#editable|used to format the text message when you select a game, for example $1 made by $3 ,$1 will be replaced with the contents of field 1 and $3 will be replaced with the contents of field 3 of the selected games gamelist entry|
-speechformat|$1|#editable|used to format the speech message, overrules txtformat, when you select a game, for example txtformat,$1 made by $3,  $1 will be replaced with the contents of field 1 and $3 will be replaced with the contents of field 3 of the selected games gamelist entry|
-runstopmusic|true|#boole|when set to false the jukebox mp3's will continue playing after launching a game|
-runbefore||#editable|format runbefore|commandline/runmethod/wait|run an executable before the emulator to be launched by using normal,hidden, minimised or maximised and either wait (true) or don't wait (false) for its execution to be finished|
-runafter||#editable|format runbefore|commandline/runmethod/wait|run an executable after the emulator to be launched by using normal,hidden, minimised or maximised and either wait (true) or don't wait (false) for its execution to be finished|

-in fe.cfg:
-screensaver||#scr|sets the windows screensaver, keep this empty if you don't want to use a screensaver or if you want to use the random game screensaver|
-randomscreensaver|false|#boole|launches a random game, see fereadme how to use this|
-screensaverwait|600|#editable|after how many seconds idle time the screensaver kicks in|

-in skinner cfg files:
glmodelrot||, gsmodelrot|| and ssmodelrot||, set a default rotation around the models y-axis in the listbox menu


new optional options in 0.77:

-in fe.cfg strafing|| and strafingspeed||
-in arcade cfg files fpsstartpos|| and extended fpsxtramodelx|| for the keyframe animation paths.
-New fpshither and cylhither options in arcade cfg files. Objects closer to the camera then the hither are not rendered.
-New fpsyon and cylyon options in arcade cfg files. Objects further away from the camera then the yon are not rendered.


new optional options in 0.76:

-you can add the new speech parameters and kspeech the new toggle key for speech on and off to your fe.cfg or use the new fe.cfg that comes with 0.76


upgrading to 0.75:

-gamelist and selsets from the previous versions can still be used and will work automatically. there are some more options but they will only be used when available. The exception is the use of arcade cfg files form the arcades folder. The fe will  now use the default arcade cfg files setup in fe.cfg unless there are entrys for them in the cfg file for the current selset. See the structure of the arcades sections in http://3darcade.mameworld.net/fereadme.htm
-you will have to use the new fe.cfg and skin files with the new fe. But you can easily change the options in the fe now...
-i merged the positioning files with the main arcade cfg files in the arcades folder. So if you want to keep your old positions you will have to merge them yourselves. therefore open the positioning files and do a replace all replacing | with / . Then open the arcade cfg file for this positioning file and if not allready there add the modelpos|| option and copy your positions into it.


multiuser:

page me if you want to try the multiuser support...messenger: p_vogels@hotmail.com , icq: 55083347 or yahoo: p_vogels@yahoo.com



Peter




