Awful
[openitg.git] / ReleaseNotes.txt
1 OpenITG, beta 4 (April ??, 2011)
2
3 It's been a long time in coming, but OpenITG beta 3 is here!
4
5 -Accepted patches to improve building on 64-bit and more modern Linux (thanks, hifi!)
6 -Fixed problem where USB cards sounds don't occur if attract sound is set to none.
7 -Fixed bug #15 where usb cards gradually become slower and slower until the machine is rebooted.
8 -Fixed bug #13 so that builds label themselves with a version in a post-svn world.
9 -Fixed bug #20 where UserPacks screen does not calculate disk space correctly.
10 -Fixed bug #17 where Timing Window ruins screenshots
11 -The "Timing Window" modifier
12 Added to let you change the judgement window dynamically - but making it
13 easier will disqualify you for ranking.
14 -Disqualified Notice
15 When disqualified for ranking, the score will show as white.
16 -Developer Improvements - Github
17 The source code now lives in github and is easier to check out and build.
18 -Release Improvements
19 Home Releases are easier so you could make a release with your own changes
20 if you wanted. Arcade Releases now build in a chroot so any modern Linux
21 can easily create them.
22
23 Changes in this release were contributed by the entire team, vyhd, infamouspat, and cmyers.
24
25 Note that official releases will be signed by our private key but anyone could
26 generate their own key and make their own releases if they wanted to.
27
28 For detailed instructions on checking out the code, contributing, or making
29 release, see: README or https://github.com/openitg/openitg/wiki
30
31 OpenITG, beta 3 (January-ish, 2011)
32 -------------------------------------
33
34 Unofficial release candidate, nothing public. See beta 4 for complete list of
35 changes since beta 2.
36
37 OpenITG, beta 2 (August 9th, 2009)
38 ----------------------------------
39
40 If you're already using beta 1.1, some of the changes will be familiar. For
41 beta 1 users, this is all new. Regardless, there's a lot of new stuff for all.
42
43 This build includes multiple tentative USB fixes for the arcade, and we're
44 hoping it should prove to be more stable. My relatively short-term testing
45 held up perfectly. The slow loading for USB songs is being looked into as
46 well, and we expect a fix soon. There may be a minor incremental patch if so.
47 In the meantime, thanks for sticking around; it means a lot to us that you
48 guys stuck with it, even though it presented some major problems. Sorry
49 about the trouble this has caused.
50
51 For home users, this build features a lot of core engine optimizations that
52 should greatly improve the general speed and stability of the system. We've
53 overhauled RageFileManager and optimized the hell out of it, resulting in a
54 lot of speed-ups across the board.
55
56 A lot of minor tweaks have been added on top of the engine improvements and
57 bug fixes: PercentageDisplay can now go past 100% (for Getting Started), the
58 BPM meter on gameplay now scales to music rate, cancelled USB song loading
59 no longer causes jittering, song length for Long/Marathon is determined off
60 of steps length only, and we've added a ton of new Lua bindings (including
61 SetUpdateCommand for ActorFrame). Try them out: they're pretty awesome.
62
63 As for new stuff on the theme side, we've added preferences to tweak the Give
64 Up Time on gameplay as well as theme toggles for songwheel timer length, type
65 of credit (coin/token/card), and switching between logos. Just go into the
66 OpenITG Options menu if you don't think we've been hard at work. :)
67
68 As a final note, pat's added a probing driver that allows this build to work
69 with any ITG setup, encrypted or decrypted. This only applies to the arcade
70 version and /itgdata/, but that should make it work for everyone. Thanks for
71 the support, see you next release!
72
73 -New preferences:
74 "GiveUpTime" - amount of time that Start must be held to give up songs
75 -New metrics:
76 ScreenTestInput - X, Y, On, and Off commands for text ("Inputs", "Devices")
77 -Fixed Linux bugs:
78 USB devices that only reported as "sda" would stay in checking forever
79 Misdetection of partitions on USB devices caused some mounts to fail
80 -Fixed cross-platform bugs:
81 BPM display on gameplay doesn't scale with Music Rate setting
82 Several stray PauseMountingThread() calls causing cards to respond slowly
83 Perspective setting is not properly saved on USB profiles
84 Custom song loading cancellation causes delayed input events
85 ScreenArcadeStart times out, even with missing I/O handler
86 -New screen:
87 "ScreenUserPacks" - formerly ScreenAddSongs, manages USB-transferred game data.
88 -Code Structure Additions:
89 UserPackManager - singleton for managing users' add-on packs for the machine
90 -Miscellaneous changes:
91 Backported StepMania 4's RageFileManager, for better load handling
92 Backported Win32 renderer identification for display stats
93 Changed to StepMania 4 method of scaling screenshots
94 De-clamped PercentageDisplay (Getting Started displays properly now)
95 Long/Marathon calculated with steps length instead of music length
96 Moved "ScreenAddSongs" to "ScreenUserPacks", heavily updated interface
97 Improved Colorized Graph logic
98 Split bookkeeping into separate pages for machine v. service credits
99 -New menu structures:
100 LinkedOptionsMenu - set of intertwined menus, example metrics in home folder
101 -New file driver:
102 RageFileDriverProbe - heuristic-based file driver that allows en/decrypted ZIPs
103 -New LUA bindings:
104 HighScore: "GetName", "GetScore", "GetPercentDP", "GetDate",
105 "GetSurvivalSeconds", "IsFillInMarker"
106 HighScoreList: "GetHighScores"
107 -New LUA member bindings:
108 ActorFrame: "SetUpdateCommand" (called on each ::Update, with fDeltaTime)
109 Actor: "addcommand", "GetName"
110 Game: "GetName"
111 PlayerStageStats: too much stuff to list here
112 Song: "StepsLengthSeconds"
113 -New LUA singleton bindings:
114 GameState: "GetCurrentGame"
115
116 OpenITG, beta 1 (May 15th, 2009)
117 --------------------------------
118 -Obligatory code cleanup
119 -Windows additions:
120 OpenITG icon (thanks, Lightning)
121 Updated version information
122 -New Preferences:
123 "DebugInputDrivers" - additional debugging info for various I/O drivers
124 "EasterEggs2" - OpenITG-specific easter eggs (hint: play from a DDR group folder)
125 -New LUA singleton bindings:
126 GameState: "GetCurBPS", "DelayedGameCommand" (required for "theme" GameCommands)
127 NoteSkin: "GetNoteSkinNames"
128 ThemeManager: "GetCurLanguage", "GetCurThemeName", "GetThemeNames"
129 -New LUA bindings:
130 Course: "GetCourseDir"
131 PIUIO: "MK6_GetSensors"
132 RadarValues: "GetValue"
133 RageUtil: "SecondsToMMSS", "SecondsToHHMMSS", "SecondsToMSSMsMs"
134 Song: "IsLong", "IsMarathon", "IsCustomSong", "GetGroupName", and "MusicLengthSeconds"
135 Steps, Trail: "GetRadarValues"
136 -New LUA globals:
137 "RADAR_CATEGORY_TAPS", "RADAR_CATEGORY_HOLDS", etc. for RadarValues
138 "OPENITG_VERSION" - returns a 3-digit token for version information
139 (xyy - x is build type, yy is version; also in Win32 "Properties")
140 -New Screens:
141 "ScreenAddSongs" - allows addition of game data through operator menu (temp. disabled)
142 "ScreenPlayLights" - plays music, can run actors for cabinet/game lights
143 -New InputHandler:
144 "MK3" - controls the Andamiro MK3 and MK5 ISA boards, for the heck of it
145 -New LightsDriver:
146 "G15" - controls LCD on the G15 gaming keyboard, also for the heck of it
147 -New GameCommands:
148 "ReloadTheme" - forces a complete reload of metrics and graphics
149 -New metrics:
150 "MissComboCommand" metric for Combo display
151 -New features:
152 Added "NoteWillCrossIn1Beat", "NoteWillCrossIn2Beats", etc. for beginner helper
153 ScreenTestInput and ScreenTestLights broadcast Messages to actors
154 Re-backported input debounce, except it works this time. :)
155 CodeDetector ties for opening the OptionsList on ScreenSelectMusic
156 Record service credits separately in MachineProfile and Coins.xml
157 ScreenTestInput now triggers lights when arrows are pressed
158 "SongLength" sort on the song wheel
159 More intelligent lights autogeneration for single charts
160 Separate bookkeeper counter for service credits in Bookkeeping
161 (divided in the menu by Regular Credits / Service Credits)
162 LightsMapper - set which bits are triggered on LIGHTSMAN events
163 Added LightsMapping structs to ITGIO, PIUIO, and PacDrive
164 -New modifiers:
165 "Twirl" - rotates arrows (and holds!) around the Y axis
166 "Roll" - rotates arrows around the X axis
167 -Compilation updates:
168 Added date/version text to ProductInfo and DiagnosticsUtil
169 Rewrote "archutils/Win32/verinc.c" to generate a new verinfo.h
170 -Fixed Windows bugs:
171 Crashlogs saving in Program (were supposed to save in Data)
172 "View crash dump" working incorrectly on the crash dialog
173 Inaccurate crashlog count in System Diagnostics
174 RageDisplay_D3D: fixed texture material issues, texture translation issues, and noteskin rendering
175 -Fixed Linux bugs:
176 Tentative fix for memory card mounting issues (thanks, Matt1360)
177 64-bit crash on RageCryptInterface_ITG2 (thanks, dawnwolf)
178 Screensaver disable code didn't work for X11
179 -Fixed minor cross-platform bugs:
180 Custom song data not deallocated after the end of a round
181 Impressively inefficient method of re-creating the songs vector
182 "Disqualification" display showed for unjoined players on music rate
183 M-mod code didn't adjust to songs or courses with hidden BPMs
184 Slowdown on ScreenArcadeDiagnostics due to heavy device polling
185 No-timeout warning flood on custom song loading
186 Sensor reading problems with PIUIO on Test Input
187 Round text on ScreenSelectMusic not updating for non-song entries
188 -Fixed major cross-platform bugs:
189 Infinite loop and crash on changing coin modes on ScreenTitleJoin
190 Crash when changing from Intense to Normal-only courses or vice versa
191 Patched OGG songs circumvented Long/Marathon song limits
192 Crash on machine Edit-only songs (not a bug, but...)
193 M-mods crashed on marathons and malfunctioned on gimmicks
194 Tentative fix for strange crashes on "theme" GameCommand
195 -Misc. changes:
196 "Tiny" can be used in place of "Mini" (4.0 compatibility)
197 M-mods disqualify on songs with hidden BPMs
198 (because it makes it easier to select a 'safe' modifier)
199 Load USB profile songs into memory, instead of onto the disk
200 Complete crypto rewrite - should be much more flexible
201 LightsDriver_External always loaded, to prevent arcade I/O problems
202 ScreenOptionsMenu switched to "Menu" lights mode
203 Always grab a serial number from the dongle, and autogen on fallback
204
205 OpenITG, prebeta (November 25th, 2008)
206 --------------------------------------
207 -Lots more code cleanup
208 -Compilation updates:
209 Added SVN revision script for Linux make (thanks, SM devs)
210 Added patch to compile on GCC 4.3 (thanks dawnwolf)
211 Added patch to compile against LUA 5.1 (thanks to cyt0plas, Spectere)
212 -New features:
213 Preliminary "M-mod" support (same format as C-mods, e.g. "M600")
214 Added custom courses ( /ProfileFolder/Courses/ )
215 -Misc. changes:
216 Added coin counter functionality to LIGHTSMAN
217 Added RageCryptInterface for easier crypto implementations
218 Added code to enforce only one Iow or PIUIO handler
219 Fixed 'lights briefly flicker off on song start' annoyance
220 -PIUIO changes:
221 Tentative fix for sensor-read problems
222 Added coin counter functionality
223 -Fixed bugs:
224 Fixed overwrite of InputType with "Home"
225 Failed 'pTrail' assertion in Marathon mode
226 Accidental PIUIO coin counter activation
227 Linux: couldn't open GTK loading window
228 ITGIO - P1 Left and Right reversed
229 patch.zip mounted multiple times on start
230 Possible to load redundant arcade I/O drivers and cause problems
231
232 OpenITG, alpha 8 (August 29th, 2008)
233 ------------------------------------
234 -Lots of code cleanup
235 -New LightsDriver:
236 PacDrive ("pacdrive") - run lights using an Ultimarc PacDrive
237 -Misc. changes:
238 Allow multiple lights drivers (use at your own risk)
239 Disqualification for music rate under 1.0x
240 -ITGIO changes:
241 Softcoded ITGIO input and added default mappings
242 Added mappings for all cabinet lighting
243 Fixed "no output on ITGIO" issue (read: full I/O support)
244 -PIUIO changes:
245 Support for r16 kernel hack handling
246 Lots of misc. structural changes
247 -New modifier:
248 HoldsToRolls, a reversed NoRolls (make Bend Your Mind a living hell!)
249 -Fixed mistakes:
250 SCREENMAN doesn't zero update after custom song loading
251 -Fixed bugs:
252 OptionsList crashes on load
253 Attract volume immediately resets after round
254 Attract volume isn't properly reset when entering operator menu
255 Crash on non-song wheel items after highlighted custom songs
256 -Removals:
257 ThreadedLights and associated code (too many bugs)
258
259 OpenITG, alpha 7 (July 11th, 2008)
260 ----------------------------------
261 -Preliminary, hacky lights-cabinet support in theme SM files
262 -Barebones work on tournament mode (it's still a while away)
263 -Input changes:
264 Newer, more ITG-like input debouncing (half-working...)
265 "Select" or "MenuLeft+MenuRight" cancels custom song loading
266 Linux joystick driver is now threaded (and supports DebugUSBInput)
267 X11 input code backported from 4.0
268 -New LUA functions:
269 IsUsingMemoryCard(PlayerNumber) - self-explanatory
270 Debug() - output debugging lines regardless of log settings
271 -New LUA globals:
272 "OPENITG" (boolean) - can be used for compatibility with ITG2 AC scripts
273 -New (major) code functions:
274 StepsUtil::RemoveStepsOutsideMeterRange()
275 StepsUtil::RemoveStepsOutsideDifficultyRange()
276 Song::HasStepsWithinMeterRange()
277 -New messages:
278 "CardReadyP1", "CardReadyP2" - played when a card is verified ready
279 -New preferences:
280 "DebugInputDrivers" - replaces DebugUSBInput, provides stats on I/O speed
281 "SoundVolumeAttract" - volume during attract sequences
282 "ThreadedLights" - run the lights outside the regular game loop, more accurate
283 "UseUnstablePIUIODriver" - set true to use the experimental I/O driver
284 -New config options:
285 "SoundVolumeAttract" - see above
286 -New metrics:
287 "CompareScores" (ScreenGameplay) - manually set whether to compare or not
288 "OptionsList" (ScreenSelectMusic) - add a side panel to change options
289 instead of the old options menu
290 -New Screens:
291 "ScreenExitCommand" - Functions as ScreenExit, but with the ability to launch
292 an executable file before exiting. Must have 'ExecPath' and 'ExecParams' in the
293 metrics entry
294 "ScreenTextEntryArcade" - a more arcade-friendly text entry screen (WIP)
295 -Fixed bugs:
296 BGCHANGES2 charts don't play properly
297 Timer is stuck at 0 if timer runs out on "Chance"
298 "nomines" and "nostretch" transforms have no effect in the editor menu
299 (OpenGL) Arrow shader fails on full-screen, causing scrolling brackets
300 Actor sounds ignore attract sound settings
301 After switching themes, OpenITG crashes on the songwheel
302 Theme switching sometimes causes failed asserts
303 Phantom input when canceling custom song loads
304 ScreenArcadeStart loops endlessly until manual exit
305 Without song previews, custom song lights don't properly load
306 -Fixed mistakes:
307 Removed some personalized testing code
308 Removed some annoying opendir() error messages
309 -Code structure changes:
310 "MiscITG" moved to "DiagnosticsUtil"
311
312 OpenITG, alpha 6 (May 30th, 2008)
313 ---------------------------------
314 -Code structure changes:
315 Reverted InputFilter - too little gain for too many problems
316 -New metrics in ScreenGameplay:
317 (Note: must be in Event Mode, Versus, and playing the same chart)
318 "ScorePxAheadCommand" - played when player's score is higher
319 "ScorePxBehindCommand" - played when player's score is lower
320 -New preferences:
321 "InputDebounceTime" - self-explanatory
322 -New game commands:
323 "clearcredits" - clears credits on the machine (useful for testing)
324 "theme" - sets the theme, by name, when used (useful for theme switchers)
325 -Linux changes:
326 Tentative fix for memory card port/bus detection on usb_storage
327 -Win32 changes:
328 Added code to reboot on crashes for arcade builds (#define ITG_ARCADE)
329 -Misc. changes:
330 Enabled pad lighting on ScreenDemonstration
331 Coins added by GameCommands are not counted toward bookkeeping totals
332 Round text on ScreenSelectMusic updates for long/marathon songs
333 Moved OpenITG-specific profile options to Extra.ini (caused ITG2 crashes)
334 Disabled autogeneration of new Public/Private RSA keys on load failure
335 -Fixed bugs:
336 Some custom songs end immediately after start
337 Repeating menu input error on ScreenSelectMusic
338 Editor doesn't draw properly, causes failed asserts
339 Song wheel doesn't "budge" when attempting to move after Chance
340 "Revert from Disk" in editor causes duplicate charts, crashes
341 Crash on bookkeeping when switching to an undefined screen
342 In AutoplayCPU, rolls cause early judgments of arrows and mines
343
344 OpenITG, alpha 5 (April 30th, 2008)
345 -----------------------------------
346 -New screens:
347 ScreenArcadeStart - implemented, functional, does stuff
348 -Code structure changes:
349 Reboot-on-crash is disabled in non-arcade builds
350 Gameplay lights now autogen from dance-single only
351 InputHandler_Linux_Iow changed to InputHandler_Iow
352 InputHandler_Linux_PIUIO changed to InputHandler_PIUIO
353 InputFilter backported from 4.0, modified a bit
354 -PIUIO changes:
355 Added timer for testing input speed
356 Partially added coin counter code (not functional yet)
357 Changed input from 64-bit datatype to 32-bit datatype
358 -Fixed input bugs:
359 Input always auto-remaps on startup
360 Input sometimes locks up after song loading fails
361 Player 2 I/O board input is mapped to Player 1's side
362 PIUIO only reports arrow presses from right sensor
363 -Fixed general bugs:
364 Edits for Single show on all difficulties
365 Some modifiers don't animate in the editor
366 Song wheel can be moved on Chance
367 Voltage doesn't calculate correctly (lol, DDR)
368 -Fixed mistakes:
369 "ITGIO" and "PIUIO" were reversed in RageInputDevice
370 -Mapping changes:
371 Added working Iow input mappings (output is still borked)
372 Added working service/test and coin mappings for PIUIO
373 -New code functions:
374 LOG->Debug() - always displays to stdout, without logging
375 GetIP() - currently Linux-only, returns IP and subnet
376 -New preferences:
377 "CustomSongPreviews" - play audio previews of custom songs
378 "InputDebounceTime" - self-explanatory; smooth out bouncing input
379 -New USB profile features:
380 "AdditionalSpeedMods" - add specified speed modifiers
381
382 OpenITG, alpha 4 (March 21st, 2008)
383 -----------------------------------
384 -Fixed Win32 bugs:
385 OpenITG hangs/crashes/<bad stuff> when custom songs sample plays
386 Backgrounds are centered on the top left during gameplay
387 (Maybe?) Color1 as boolean LUA parsing error
388 -Fixed cross-platform bugs:
389 Editor's stepchart doesn't scroll properly
390 -Fixed package mistakes:
391 data.zip causes "Assertion 'm_LockCnt == 0' failed" error
392
393 OpenITG, alpha 3 (March 17th, 2008)
394 -----------------------------------
395 -Mapping changes:
396 Added PIUIO/IOW default mappings
397 Added default keyboard maps for Select (P1 = right Shift, P2 = numpad 0)
398 -PrefsManager changes:
399 Removed "BrokenBGs" - binary plays BG scripts from all songs now
400 Added "DebugUSBInput" - output raw and formatted USB data to console
401 Backported "VisualDelaySeconds" on request
402 -Fixed bugs:
403 Start sound doesn't play when course is selected
404 Potential memory leak (minor) on SongManager array
405 -New Screens:
406 ScreenArcadeStart (unfinished/not implemented in the Makefiles)
407 ScreenArcadeDiagnostics - installation and diagnostic information
408 ScreenArcadePatch - update the game through USB patches
409 -New data types:
410 USBDevice - a basic structure for reading USB hardware data
411 USBDriver - an abstracted USB I/O driver based off of libusb
412 ITGIO - a USBDriver specialised for ITG-IO JAMMA kits
413 PIUIO - a USBDriver specialised for ITG2 dedicated cabinet I/O boards
414 -New LightsDriver:
415 External ("ext") - makes light data globally available for other drivers
416 -New InputHandlers:
417 Linux_PIUIO ("piuio") - partially functional, not very usable
418 Linux_Iow ("iow") - untested, should be fully functional
419 -New RageFileDrivers:
420 RFDCrypt - handles AES-encrypted .zip files
421 RFDPatch - handles AES-encrypted patches
422 -New USB profile features:
423 Choose to save Catalog files ("UseCatalogXML") - default off
424 -New licensed code:
425 -AES encryption/decryption schemes, by Brian Gladman
426 -Public domain iButton SDK from Maxim IC
427 -New project files:
428 Patch-OpenITG.rsa - a new Patch verification sig for future OpenITG .bxr patches
429
430 OpenITG, alpha 2 (January 27th, 2008)
431 ---------------------------------------------
432 -New preference:
433 BrokenBGs - Emulate R21-style background handling
434 -Some code cleanup
435 -Fixed bugs:
436 Windows: all of the weird bugs
437 Wheel changes songs even when Select is held down
438 Group banners do not load properly
439 -Unfixed bugs:
440 Cancelling song selection through USB removal causes mount errors
441
442
443 OpenITG, alpha 1.1 (December 5th, 2007)
444 ---------------------------------------------
445 -Windows build, many thanks to Sniper257
446 -Fixed bugs:
447 Forced random on customs does not select song
448 Bizarre behavior when Tab is held during forced random
449 MAJOR: Gameplay input locks up on some errors
450 MAJOR: Custom song loading crashes on Windows
451 -Unfixed bugs:
452 Group banners do not load
453 Cancelling song selection through USB removal causes mount errors
454
455
456 OpenITG, alpha 1 (December 2nd, 2007)
457 ---------------------------------------------
458 -Revision 21-style song loading support, starting at PlayersFinalized().
459
460 -Settable preferences (defaults in parentheses):
461 CustomMaxSeconds - Maximum allowed song length (120 seconds)
462 CustomMaxSizeMB - Maximum allowed song size (5 MB)
463 CustomMaxStepSizeKB - Maximum allowed SM file size (100 KB)
464 CustomsLoadMax - Limit amount of songs loaded (50 songs)
465 CustomsLoadTimeout - Custom song loading timeout (5.00 seconds)
466 SongEdits - Enable/disable custom songs. (0 [false])
467
468 -Significant new code functions:
469 SCREENMAN->OverlayMessage() - message overlay on top of screen
470 SCREENMAN->HideOverlayMessage - remove message from screen
471 SONGMAN->LoadPlayerSongs() - loads songs from a player's profile
472 (RageUtil) CopyWithProgress() - copy a file while sending progress
473 (fPercent) to a function pointer
474
475 vi: expandtab sw=4 ts=4