OpenITG, beta 1 (May 14th, 2009, r643)
--------------------------------------

It's been a long while, and for good reason. Take a peek at the 
changelog if you don't believe me.

I really can't do justice to all the work we've done, so I'll just 
briefly overview the big points: OGG length patch broken and round 
length settings applied to custom songs (all configurable, don't worry), 
M-mod fixes and disqualification for unknown-BPM songs, tons of new LUA 
bindings (including MK6 sensors), input debounce working perfectly, 
OpenGL/Direct3D renderers working perfectly (you should never need the 
red-fix or scroll-fix data again), Twirl and Roll added and working, and 
Edit-only songs can be played without crashing.

Of course, there's a lot more than that, but that's probably the stuff 
you're interested in.

This build is completely arcade-ready, and we'll be releasing an arcade 
revision soon. Due to the nature of this release, it's a full release 
only, so sorry for the inconvenience. (We've finally got our standards 
laid out, so the theme/noteskin data will be the same from here.)

If you have any other questions, check the FAQ!

-Obligatory code cleanup
-Windows additions:
     OpenITG icon (thanks, Lightning)
     Updated version information
-New Preferences:
     "DebugInputDrivers" - additional debugging info for various I/O drivers
     "EasterEggs2" - OpenITG-specific easter eggs (hint: play from a DDR group folder)
-New LUA singleton bindings:
     GameState: "GetCurBPS", "DelayedGameCommand" (required for "theme" GameCommands)
     NoteSkin: "GetNoteSkinNames"
     ThemeManager: "GetCurLanguage", "GetCurThemeName", "GetThemeNames"
-New LUA bindings:
     Course: "GetCourseDir"
     PIUIO: "MK6_GetSensors"
     RadarValues: "GetValue"
     RageUtil: "SecondsToMMSS", "SecondsToHHMMSS", "SecondsToMSSMsMs"
     Song: "IsLong", "IsMarathon", "IsCustomSong", "GetGroupName", and "MusicLengthSeconds"
     Steps, Trail: "GetRadarValues"
-New LUA globals:
     "RADAR_CATEGORY_TAPS", "RADAR_CATEGORY_HOLDS", etc. for RadarValues
     "OPENITG_VERSION" - returns a 3-digit token for version information
          (xyy - x is build type, yy is version; also in Win32 "Properties")
-New Screens:
     "ScreenAddSongs" - allows addition of game data through operator menu (temp. disabled)
     "ScreenPlayLights" - plays music, can run actors for cabinet/game lights
-New InputHandler:
     "MK3" - controls the Andamiro MK3 and MK5 ISA boards, for the heck of it
-New LightsDriver:
     "G15" - controls LCD on the G15 gaming keyboard, also for the heck of it
-New GameCommands:
     "ReloadTheme" - forces a complete reload of metrics and graphics
-New metrics:
     "MissComboCommand" metric for Combo display
-New features:
     Added "NoteWillCrossIn1Beat", "NoteWillCrossIn2Beats", etc. for beginner helper
     ScreenTestInput and ScreenTestLights broadcast Messages to actors
     Re-backported input debounce, except it works this time. :)
     CodeDetector ties for opening the OptionsList on ScreenSelectMusic
     Record service credits separately in MachineProfile and Coins.xml
     ScreenTestInput now triggers lights when arrows are pressed
     "SongLength" sort on the song wheel
     More intelligent lights autogeneration for single charts
     Separate bookkeeper counter for service credits in Bookkeeping
          (divided in the menu by Regular Credits / Service Credits)
     LightsMapper - set which bits are triggered on LIGHTSMAN events
     Added LightsMapping structs to ITGIO, PIUIO, and PacDrive
-New modifiers:
     "Twirl" - rotates arrows (and holds!) around the Y axis
     "Roll" - rotates arrows around the X axis
-Compilation updates:
     Added date/version text to ProductInfo and DiagnosticsUtil
     Rewrote "archutils/Win32/verinc.c" to generate a new verinfo.h
-Fixed Windows bugs:
     Crashlogs saving in Program (were supposed to save in Data)
     "View crash dump" working incorrectly on the crash dialog
     Inaccurate crashlog count in System Diagnostics
     RageDisplay_D3D: fixed texture material issues, texture translation issues, and noteskin rendering
-Fixed Linux bugs:
     Tentative fix for memory card mounting issues (thanks, Matt1360)
     64-bit crash on RageCryptInterface_ITG2 (thanks, dawnwolf)
     Screensaver disable code didn't work for X11
-Fixed minor cross-platform bugs:
     Custom song data not deallocated after the end of a round
     Impressively inefficient method of re-creating the songs vector
     "Disqualification" display showed for unjoined players on music rate
     M-mod code didn't adjust to songs or courses with hidden BPMs
     Slowdown on ScreenArcadeDiagnostics due to heavy device polling
     No-timeout warning flood on custom song loading
     Sensor reading problems with PIUIO on Test Input
     Round text on ScreenSelectMusic not updating for non-song entries
-Fixed major cross-platform bugs:
     Infinite loop and crash on changing coin modes on ScreenTitleJoin
     Crash when changing from Intense to Normal-only courses or vice versa
     Patched OGG songs circumvented Long/Marathon song limits
     Crash on machine Edit-only songs (not a bug, but...)
     M-mods crashed on marathons and malfunctioned on gimmicks
     Tentative fix for strange crashes on "theme" GameCommand
-Misc. changes:
     "Tiny" can be used in place of "Mini" (4.0 compatibility)
     M-mods disqualify on songs with hidden BPMs
          (because it makes it easier to select a 'safe' modifier)
     Load USB profile songs into memory, instead of onto the disk
     Complete crypto rewrite - should be much more flexible
     LightsDriver_External always loaded, to prevent arcade I/O problems
     ScreenOptionsMenu switched to "Menu" lights mode
     Always grab a serial number from the dongle, and autogen on fallback
