Round 2-2 of this.
This commit is contained in:
@@ -2339,7 +2339,7 @@ save yourself some time, copy this for undocumented things:
|
||||
Resets the specific Player's mods to the default settings.
|
||||
</Function>
|
||||
<Function name='SaveLocalData' return='void' arguments=''>
|
||||
Saves the bookkeeping and machine profile data.
|
||||
Saves the machine profile data.
|
||||
</Function>
|
||||
<Function name='SetCharacter' return='void' arguments='PlayerNumber pn, string sCharID'>
|
||||
Sets the current <Link class='Character' /> for the specified <Link class='ENUM' function='PlayerNumber' />.
|
||||
|
||||
@@ -156,7 +156,6 @@ menus were re-shuffled around for the StepMania 4 alphas.
|
||||
The typical StepMania 3.9 Options Menu:
|
||||
* Appearance Options
|
||||
* Background Options
|
||||
* Bookkeeping
|
||||
* Center Image
|
||||
* Coin Options
|
||||
* Config Key/Joy Mappings
|
||||
|
||||
@@ -78,7 +78,6 @@ ScreenUnlockCelebrate
|
||||
|
||||
*<base=ScreenWithMenuElements>
|
||||
ScreenAttract
|
||||
ScreenBookkeeping
|
||||
ScreenEdit
|
||||
ScreenEditMenu
|
||||
ScreenEvaluation
|
||||
|
||||
@@ -5,7 +5,6 @@ StepMania=StepMania
|
||||
[LoadingWindow]
|
||||
Couldn't open any loading windows.=Couldn't open any loading windows.
|
||||
Starting sound subsystem...=Starting sound subsystem...
|
||||
Initializing bookkeeper...=Initializing bookkeeper...
|
||||
Starting lights subsystem...=Starting lights subsystem...
|
||||
Loading game type...=Loading game type...
|
||||
Building song cache index...=Building song cache index...
|
||||
@@ -350,12 +349,10 @@ BGBrightness=Controls how bright the background will appear. Turn this setting d
|
||||
Background=Change options that control the backgrounds that play during gameplay.
|
||||
BarDrain=BarDrain
|
||||
BatLives=BatLives
|
||||
Bookkeeping=Check coin drop statistics.
|
||||
Calibrate Machine Sync=Calibrate the audio synchronization.
|
||||
CelShadeModels=Choose if dancing characters are drawn with cel shading.
|
||||
Center Image=Center the image on your monitor.
|
||||
Characters=Characters
|
||||
Clear Bookkeeping Data=Clear all coin drop data.
|
||||
Clear Machine Edits=Save all step edits saved to this machine.
|
||||
Clear USB edits=Clear USB edits
|
||||
Clear Machine Stats=Clear all scores saved to this machine.
|
||||
@@ -850,7 +847,6 @@ BarDrain=Bar Drain
|
||||
BatLives=Bat Lives
|
||||
Base Difficulty=Base Difficulty
|
||||
Beat 0 Offset=Beat 0 Offset
|
||||
Bookkeeping=Bookkeeping
|
||||
Calibrate Machine Sync=Calibrate Audio Sync
|
||||
CPUSkill=CPU Skill
|
||||
CelShadeModels=Cel-shaded Models
|
||||
@@ -860,7 +856,6 @@ Characters=Characters
|
||||
Chart Name=Chart Name
|
||||
Chart Style=Chart Style
|
||||
Choose=Choose
|
||||
Clear Bookkeeping Data=Clear Bookkeeping Data
|
||||
Clear Machine Edits=Clear Machine Edits
|
||||
Clear Machine Stats=Clear Machine Scores
|
||||
Clear USB edits=Clear USB edits
|
||||
@@ -1279,15 +1274,6 @@ HeaderSubText=Get the best performance
|
||||
HeaderText=Advanced Options
|
||||
HeaderSubText=These settings are for advanced users
|
||||
|
||||
[ScreenBookkeeping]
|
||||
All-time Coin Total:=All-time Coin Total:
|
||||
Total Song Plays: %d=Total Song Plays: %d
|
||||
Coin Data by Day of Week, All-Time=Coin Data by Day of Week, All-Time
|
||||
Coin Data by Hour of Day, All-Time=Coin Data by Hour of Day, All-Time
|
||||
Coin Data of Last %d Days=Coin Data of Last %d Days
|
||||
Coin Data of Last %d Weeks=Coin Data of Last %d Weeks
|
||||
HeaderText=Bookkeeping
|
||||
|
||||
[ScreenCaution]
|
||||
Caution=CAUTION!
|
||||
CautionText=Keep the dance platform a safe distance from your monitor and furniture.\n\nBe careful that you do not injure pets, children, or spectators while dancing.
|
||||
@@ -1649,7 +1635,6 @@ HelpTextTextEntry=Type a value using the keyboard. Press Enter to finish.
|
||||
HelpTextMapControllers=Use arrow keys to move, ENTER to assign, SPACE to clear::Press ESCAPE when done
|
||||
HelpTextOnline=smonline.us to connect to official Stepmania Online Server::Check out Stepmaniaonline.com for more information
|
||||
HelpTextNetSelectMusic=Ctrl + Enter to enter room/select song::&UP; for Player Options
|
||||
HelpTextBookkeeping=Press &MENULEFT;&MENURIGHT; to cycle data. Press ESCAPE when done.
|
||||
|
||||
[ScreenSelectGame]
|
||||
HeaderText=Select Game
|
||||
@@ -1689,7 +1674,6 @@ HeaderSubText=Let's get started. I know you can!
|
||||
%d edits cleared, %d errors.=%d edits cleared, %d errors.
|
||||
%d failed=%d failed
|
||||
%d ignored=%d ignored
|
||||
Bookkeeping data cleared.=Bookkeeping data cleared.
|
||||
Copied from P%d card:=Copied from P%d card:
|
||||
Copied to P%d card:=Copied to P%d card:
|
||||
Edits not cleared - No memory cards ready.=Edits not cleared - No memory cards ready.
|
||||
|
||||
@@ -5,7 +5,6 @@ StepMania=StepMania
|
||||
[LoadingWindow]
|
||||
Couldn't open any loading windows.=Couldn't open any loading windows.
|
||||
Starting sound subsystem...=Starting sound subsystem...
|
||||
Initializing bookkeeper...=Initializing bookkeeper...
|
||||
Starting lights subsystem...=Starting lights subsystem...
|
||||
Loading game type...=Loading game type...
|
||||
Building song cache index...=Building song cache index...
|
||||
@@ -333,12 +332,10 @@ BGBrightness=Controls how bright the background will appear. Turn this setting d
|
||||
Background=Change options that control the backgrounds that play during gameplay.
|
||||
BarDrain=BarDrain
|
||||
BatLives=BatLives
|
||||
Bookkeeping=Check coin drop statistics.
|
||||
Calibrate Machine Sync=Calibrate the audio synchronization.
|
||||
CelShadeModels=Choose if dancing characters are drawn with cel shading.
|
||||
Center Image=Center the image on your monitor.
|
||||
Characters=Characters
|
||||
Clear Bookkeeping Data=Clear all coin drop data.
|
||||
Clear Machine Edits=Save all step edits saved to this machine.
|
||||
Clear USB edits=Clear USB edits
|
||||
Clear Machine Stats=Clear all scores saved to this machine.
|
||||
@@ -823,7 +820,6 @@ BarDrain=Bar Drain
|
||||
BatLives=Bat Lives
|
||||
Base Difficulty=Base Difficulty
|
||||
Beat 0 Offset=Beat 0 Offset
|
||||
Bookkeeping=Bookkeeping
|
||||
Calibrate Machine Sync=Calibrate Audio Sync
|
||||
CPUSkill=CPU Skill
|
||||
CelShadeModels=Cel-shaded Models
|
||||
@@ -833,7 +829,6 @@ Characters=Characters
|
||||
Chart Name=Chart Name
|
||||
Chart Style=Chart Style
|
||||
Choose=Choose
|
||||
Clear Bookkeeping Data=Clear Bookkeeping Data
|
||||
Clear Machine Edits=Clear Machine Edits
|
||||
Clear Machine Stats=Clear Machine Scores
|
||||
Clear USB edits=Clear USB edits
|
||||
@@ -1223,15 +1218,6 @@ HeaderSubText=Get the best performance
|
||||
HeaderText=Advanced Options
|
||||
HeaderSubText=These settings are for advanced users
|
||||
|
||||
[ScreenBookkeeping]
|
||||
All-time Coin Total:=All-time Coin Total:
|
||||
Total Song Plays: %d=Total Song Plays: %d
|
||||
Coin Data by Day of Week, All-Time=Coin Data by Day of Week, All-Time
|
||||
Coin Data by Hour of Day, All-Time=Coin Data by Hour of Day, All-Time
|
||||
Coin Data of Last %d Days=Coin Data of Last %d Days
|
||||
Coin Data of Last %d Weeks=Coin Data of Last %d Weeks
|
||||
HeaderText=Bookkeeping
|
||||
|
||||
[ScreenCaution]
|
||||
Caution=¡ADVERTENCIA!
|
||||
CautionText=Mantén la plataforma de baile a una distancia segura del monitor y muebles.\n\nTen cuidado para no hacer daño a mascotas, niños o espectadores mientras bailas.
|
||||
@@ -1581,7 +1567,6 @@ HelpTextTextEntry=Type a value using the keyboard. Press Enter to finish.
|
||||
HelpTextMapControllers=Use arrow keys to move, ENTER to assign, SPACE to clear::Press ESCAPE when done
|
||||
HelpTextOnline=smonline.us to connect to official Stepmania Online Server::Check out Stepmaniaonline.com for more information
|
||||
HelpTextNetSelectMusic=Ctrl + Enter to enter room/select song::&UP; for Player Options
|
||||
HelpTextBookkeeping=Press &MENULEFT;&MENURIGHT; to cycle data. Press ESCAPE when done.
|
||||
|
||||
[ScreenSelectGame]
|
||||
HeaderText=Seleccionar Juego
|
||||
@@ -1621,7 +1606,6 @@ HeaderSubText=Let's get started. I know you can!
|
||||
%d edits cleared, %d errors.=%d edits cleared, %d errors.
|
||||
%d failed=%d failed
|
||||
%d ignored=%d ignored
|
||||
Bookkeeping data cleared.=Bookkeeping data cleared.
|
||||
Copied from P%d card:=Copied from P%d card:
|
||||
Copied to P%d card:=Copied to P%d card:
|
||||
Edits not cleared - No memory cards ready.=Edits not cleared - No memory cards ready.
|
||||
|
||||
@@ -14,7 +14,6 @@ StepMania=StepMania
|
||||
[LoadingWindow]
|
||||
Couldn't open any loading windows.=読み込みウインドウが開けませんでした。
|
||||
Starting sound subsystem...=音声システム開始
|
||||
Initializing bookkeeper...=クレジット記録初期化中
|
||||
Starting lights subsystem...=サイドライト初期化中
|
||||
Loading game type...=ゲーム読み込み中
|
||||
Building song cache index...=譜面データベース生成中
|
||||
@@ -334,12 +333,10 @@ BGBrightness=背景の明度を調整します。
|
||||
Background=プレイ中の背景を設定します。「Static」で背景を固定します。\n「Random Background」はRandomMoviesフォルダの背景を再生します。
|
||||
BarDrain=ライフバーの減り方を設定します。
|
||||
BatLives=ライフバッテリーの個数を設定します。
|
||||
Bookkeeping=クレジットの投入履歴を閲覧できます。
|
||||
Calibrate Machine Sync=グローバルオフセットを設定します。
|
||||
CelShadeModels=3Dキャラクターをセルシェードで表示します。
|
||||
Center Image=モニタと画像の位置を調整します。
|
||||
Characters=キャラクターの使用設定をします。
|
||||
Clear Bookkeeping Data=クレジットデータを削除します。
|
||||
Clear Machine Edits=Songs以外のローカルに保存されているエディットデータを削除します。
|
||||
Clear USB edits=メモリーカードに保存されているエディットデータを削除します。
|
||||
Clear Machine Stats=スコアデータを削除します。
|
||||
@@ -821,7 +818,6 @@ BarDrain=バーの減り方
|
||||
BatLives=バッテリーの個数
|
||||
Base Difficulty=基本難易度
|
||||
Beat 0 Offset=0小節のオフセット
|
||||
Bookkeeping=クレジット履歴
|
||||
Calibrate Machine Sync=音の同期
|
||||
CPUSkill=CPUのうまさ
|
||||
CelShadeModels=セルシェード\nモデル
|
||||
@@ -831,7 +827,6 @@ Characters=キャラクター
|
||||
Chart Name=譜面の名前
|
||||
Chart Style=譜面の推奨プレイスタイル
|
||||
Choose=選択
|
||||
Clear Bookkeeping Data=クレジット\n履歴の消去
|
||||
Clear Machine Edits=筐体エディットの消去
|
||||
Clear Machine Stats=筐体スコアの消去
|
||||
Clear USB edits=メモリーカード\nエディットの消去
|
||||
@@ -1227,15 +1222,6 @@ HeaderSubText=画像と音声に関するオプションです。
|
||||
HeaderText=ゲームオプション
|
||||
HeaderSubText=プレイ中のスコア形式など、ゲーム難易度に関わる設定です。
|
||||
|
||||
[ScreenBookkeeping]
|
||||
All-time Coin Total:=今まで投入されたコインの枚数:
|
||||
Total Song Plays: %d=プレイされた曲: %d
|
||||
Coin Data by Day of Week, All-Time=週間のコイン枚数
|
||||
Coin Data by Hour of Day, All-Time=時間のコイン枚数
|
||||
Coin Data of Last %d Days=%d日前からのコイン枚数
|
||||
Coin Data of Last %d Weeks=%d週前からのコイン枚数
|
||||
HeaderText=コイン枚数を確認できます。
|
||||
|
||||
[ScreenCaution]
|
||||
Caution=CAUTION!
|
||||
CautionText=プレイする周りには物を置かないようにしてください。また、近隣の迷惑にならないようにしてください。
|
||||
@@ -1590,7 +1576,6 @@ HelpTextTextEntry=キーボードのタイプ(例:106、109)を入力します
|
||||
HelpTextMapControllers=矢印キーを設定します。ENTERキーで設定、SPACEキーで削除します。Escキーで終了します。
|
||||
HelpTextOnline=日本サーバはsmojp.ath.cxです。一度接続そのもののテストを行うことを推奨します。\n詳しくはstepmaniaonline.com(英語)を参照してください。
|
||||
HelpTextNetSelectMusic=Ctrl+Enter 決定&UP; プレイヤーオプション
|
||||
HelpTextBookkeeping=&MENULEFT;&MENURIGHT; 周回データ Escキーで戻ります。
|
||||
|
||||
[ScreenSelectGame]
|
||||
HeaderText=シミュレートするゲームの選択
|
||||
@@ -1630,7 +1615,6 @@ HeaderSubText=モードを選択してください。
|
||||
%d edits cleared, %d errors.=%dシーケンス削除、%dエラー
|
||||
%d failed=%d失敗
|
||||
%d ignored=%d無視
|
||||
Bookkeeping data cleared.=クレジット履歴を削除しました。
|
||||
Copied from P%d card:=P%dのメモリーカードからコピーしました。
|
||||
Copied to P%d card:=P%dのメモリーカードへコピーしました。
|
||||
Edits not cleared - No memory cards ready.=メモリーカードがありません。削除は失敗しました。
|
||||
|
||||
@@ -5,7 +5,6 @@ StepMania=StepMania
|
||||
[LoadingWindow]
|
||||
Couldn't open any loading windows.=Kon geen laad scherm openen.
|
||||
Starting sound subsystem...=Start geluid subsysteem...
|
||||
Initializing bookkeeper...=Initialiseren van de boekhouder...
|
||||
Starting lights subsystem...=Start licht subsysteem...
|
||||
Loading game type...=Laad spel type...
|
||||
Building song cache index...=Bouw nummer cache index...
|
||||
@@ -331,12 +330,10 @@ BGBrightness=Beheerst hoe fel de achtergrond er uit ziet. Zet dit lager als je d
|
||||
Background=Verander de opties voor welke achtergrond tijdens het spelen zichtbaar is.
|
||||
BarDrain=BalkDrain
|
||||
BatLives=BatLevens
|
||||
Bookkeeping=Bekijk de ingeworpen munt statistieken.
|
||||
Calibrate Machine Sync=Stel de geluid synchronisatie af.
|
||||
CelShadeModels=Kies of de dansende karakters getekend worden met cel shading.
|
||||
Center Image=Centreer het beeld op je monitor.
|
||||
Characters=Karakters
|
||||
Clear Bookkeeping Data=Verwijder alle munt invoer data.
|
||||
Clear Machine Edits=Sla alle stap wijzigingen op voor dit apparaat.
|
||||
Clear USB edits=Verwijder alle USB wijzigingen.
|
||||
Clear Machine Stats=Verwijder alle ranglijsten van deze machine.
|
||||
@@ -820,7 +817,6 @@ BarDrain=Balk Leeglopen
|
||||
BatLives=Bat Levens
|
||||
Base Difficulty=Basis Niveau
|
||||
Beat 0 Offset=Ritme 0 Offset
|
||||
Bookkeeping=Boekhouding
|
||||
Calibrate Machine Sync=Kalibreer Geluid Synchronisatie
|
||||
CPUSkill=CPU Bekwaamheid
|
||||
CelShadeModels=Cel-shaded Modelen
|
||||
@@ -830,7 +826,6 @@ Characters=Karakters
|
||||
Chart Name=Stappen Kaart Naam
|
||||
Chart Style=Stappen Kaart Stijl
|
||||
Choose=Kies
|
||||
Clear Bookkeeping Data=Wis Boekhoud Data
|
||||
Clear Machine Edits=Wis Machine Wijzigingen
|
||||
Clear Machine Stats=Wis Machine Scores
|
||||
Clear USB edits=Wis USB Wijzigingen
|
||||
@@ -1222,15 +1217,6 @@ HeaderSubText=Haal de beste prestatie
|
||||
HeaderText=Geavanceerde Opties
|
||||
HeaderSubText=Deze settings zijn voor geavanceerde gebruikers
|
||||
|
||||
[ScreenBookkeeping]
|
||||
All-time Coin Total:=Totaal Van Alle Munten:
|
||||
Total Song Plays: %d=Totaal Nummers Ooit Gespeeld: %d
|
||||
Coin Data by Day of Week, All-Time=Munt Data Per Dag Van De Week
|
||||
Coin Data by Hour of Day, All-Time=Munt Data Per Uur Van De Week
|
||||
Coin Data of Last %d Days=Munt Data Van De Laatste %d Dagen
|
||||
Coin Data of Last %d Weeks=Munt Data Van De Laatste %d Weken
|
||||
HeaderText=Boekhouding
|
||||
|
||||
[ScreenCaution]
|
||||
Caution=KIJK UIT!
|
||||
CautionText=Zet het dansplatform op een veilige afstand van je scherm en meubels.\n\nWees voorzichtig dat je geen dieren, kinderen of omstanders bezeert.
|
||||
@@ -1583,7 +1569,6 @@ HelpTextTextEntry=Type een waarden met het toetsenbord. Druk op Enter als je kl
|
||||
HelpTextMapControllers=Gebruik de pijlen om te bewegen, ENTER om toe te wijzen, SPATIE om leeg te maken::Druk ESCAPE als je klaar bent
|
||||
HelpTextOnline=smonline.us om te verbinden met de officiële StepMania Online Server::Bekijk Stepmaniaonline.com voor meer informatie.
|
||||
HelpTextNetSelectMusic=Ctrl + Enter ga een kamer in/selecteer nummer:: &UP; voor Speler Opties
|
||||
HelpTextBookkeeping=Druk &MENULEFT;&MENURIGHT; om data te doorlopen. Druk op ESCAPE als je klaar bent.
|
||||
|
||||
[ScreenSelectGame]
|
||||
HeaderText=Selecteer Spel
|
||||
@@ -1623,7 +1608,6 @@ HeaderSubText=Laten we beginnen. Ik weet dat je het kan!
|
||||
%d edits cleared, %d errors.=%d bewerkingen geklaard, %d problemen.
|
||||
%d failed=%d gefaald
|
||||
%d ignored=%d genegeerd
|
||||
Bookkeeping data cleared.=Boekhouding data opgeschoond
|
||||
Copied from P%d card:=Gekopieerd van P%d kaart:
|
||||
Copied to P%d card:=Gekopieerd naar P%d kaart:
|
||||
Edits not cleared - No memory cards ready.=Bewerkingen niet geklaard - Geen geheugenkaart klaar.
|
||||
|
||||
@@ -5,7 +5,6 @@ StepMania=StepMania PL
|
||||
[LoadingWindow]
|
||||
Couldn't open any loading windows.=Nie udało się otowrzyć żadnego okna ładowania.
|
||||
Starting sound subsystem...=Uruchamianie podsystemu dźwięku...
|
||||
Initializing bookkeeper...=Inicjalizacja modułu statystyk...
|
||||
Starting lights subsystem...=Uruchamianie podsystemu świateł...
|
||||
Loading game type...=Ładowanie modelu gry...
|
||||
Building song cache index...=Tworzenie indeksu bufora piosenek...
|
||||
@@ -328,12 +327,10 @@ BGBrightness=Ustala poziom jasność filmów odtwarzanych w tle piosenki. Zmniej
|
||||
Background=Zmienia opcje kontrolujące tła odtwarzanych w trakcie gry.
|
||||
BarDrain=Zużycie Energii
|
||||
BatLives=Ilość pasków baterii
|
||||
Bookkeeping=Statystyka rzuconych żetonów/monet/kredytów.
|
||||
Calibrate Machine Sync=Kalibracja synchronizacji dźwięku.
|
||||
CelShadeModels=Decyduje czy Postacie Tańczące w tle są generowane z użyciem algorytmu Cel Shading.
|
||||
Center Image=Centrowanie obrazu monitora.
|
||||
Characters=Tańczące Postacie
|
||||
Clear Bookkeeping Data=Zerowanie statystyk wrzuconych żetonów/monet/kredytów.
|
||||
Clear Machine Edits=Usunięcie wszystkich edycji kroków wgranych na maszynę.
|
||||
Clear USB edits=Zerowanie plików programu na pamięci USB
|
||||
Clear Machine Stats=Usunięcie wszystkich statystyk zapisanych na maszynie.
|
||||
@@ -822,7 +819,6 @@ BarDrain=Zużycie Energii
|
||||
BatLives=Ilość pasków Baterii
|
||||
Base Difficulty=Podstawowy Poziom
|
||||
Beat 0 Offset=Beat 0 Offset
|
||||
Bookkeeping=Statystyka
|
||||
Calibrate Machine Sync=Kalibracja Synchronizacji Dźwięku
|
||||
CPUSkill=Poziom CPU
|
||||
CelShadeModels=Cel-shadedowane Modele
|
||||
@@ -832,7 +828,6 @@ Characters=Tancerze
|
||||
Chart Name=Nazwa Chart`a
|
||||
Chart Style=Styl Chart`a
|
||||
Choose=Wybierz
|
||||
Clear Bookkeeping Data=Czyść dane wyrzutnika monet
|
||||
Clear Machine Edits=Czyść Zmodyfikowane Układy
|
||||
Clear Machine Stats=Czyść dane statystyczne
|
||||
Clear USB edits=Czyść Zmodyfikowane Układy na USB
|
||||
@@ -1226,15 +1221,6 @@ HeaderSubText=Ustaw najlepszą wydajność
|
||||
HeaderText=Opcje Zaawansowane
|
||||
HeaderSubText=Ustawienia przeznaczone dla zaawansowanych użytkowników
|
||||
|
||||
[ScreenBookkeeping]
|
||||
All-time Coin Total:=Suma Wszystkich Monet:
|
||||
Total Song Plays: %d=Liczba Odegranych piosenek: %d
|
||||
Coin Data by Day of Week, All-Time=Wszystkie Monety z podz. na dni tygodnia
|
||||
Coin Data by Hour of Day, All-Time=Wszystkie Monety z podz. na godziny
|
||||
Coin Data of Last %d Days=Monety z Ostatnich %d Dni
|
||||
Coin Data of Last %d Weeks=Monety z Ostatnich %d Tygodni
|
||||
HeaderText=Statystyki
|
||||
|
||||
[ScreenCaution]
|
||||
Caution=UWAGA!
|
||||
CautionText=Zadbaj by mata taneczna znajdowała się w bezpiecznej odległości od monitora i mebli.\n\nZwraóć uwagę by podczas tańca nie skrzywdzić zwierząt, dzieci i obserwatorów
|
||||
@@ -1595,7 +1581,6 @@ HelpTextTextEntry=Wpisz wartość przy użyciu klawiatury. Naciśnij Enter by za
|
||||
HelpTextMapControllers=Użyj klawiszy strzałek do nawigacji, ENTER by przydzielić, SPACJĘ by wyczyścić pole::Naciśnij ESCAPE by zakończyć.
|
||||
HelpTextOnline=setepmaniaonline.eu by połączyć sięz oficjalnym Europejskim Serwerem Stepmania Online.:: Sprawdź www.stepmaniaonline.eu w celu rejestracji konta.
|
||||
HelpTextNetSelectMusic=Ctrl + Enter by wybrać pokój/piosenkę::&UP; Opcje Gracza
|
||||
HelpTextBookkeeping=Naciśnij &MENULEFT;&MENURIGHT; by przeglądać dane. Naciśnij ESCAPE by zakończyć.
|
||||
|
||||
[ScreenSelectGame]
|
||||
HeaderText=Wybierz Grę
|
||||
@@ -1636,7 +1621,6 @@ HeaderSubText=Zaczynajmy. Na pewno dasz radę.
|
||||
%d edits cleared, %d errors.=%d edycji wyczyszczono, %d błędów.
|
||||
%d failed=%d niewczytano
|
||||
%d ignored=%d zignowowano
|
||||
Bookkeeping data cleared.=Statystyki wyczyszczone.
|
||||
Copied from P%d card:=Skopiowane z karty P%d:
|
||||
Copied to P%d card:=Skopiowane na kartę P%d:
|
||||
Edits not cleared - No memory cards ready.=Edycje nieusunięte - Brak karty.
|
||||
|
||||
@@ -2217,27 +2217,6 @@ Fallback="ScreenOptionsServiceChild"
|
||||
NextScreen=NextNetworkScreen()
|
||||
PrevScreen=NextNetworkScreen()
|
||||
|
||||
[ScreenBookkeeping]
|
||||
Class="ScreenBookkeeping"
|
||||
Fallback="ScreenOptionsServiceChild"
|
||||
NextScreen="ScreenOptionsService"
|
||||
PrevScreen="ScreenOptionsService"
|
||||
HelpText=ScreenString("HelpTextBookkeeping")
|
||||
ShowSongPlays=true
|
||||
ShowLastDays=true
|
||||
ShowLastWeeks=true
|
||||
ShowDayOfWeek=true
|
||||
ShowHourOfDay=true
|
||||
AllTimeX=SCREEN_CENTER_X
|
||||
AllTimeY=110
|
||||
AllTimeOnCommand=zoom,0.7;diffuseshift;effectcolor1,0.5,0.5,0.5,1
|
||||
TitleX=SCREEN_CENTER_X
|
||||
TitleY=140
|
||||
TitleOnCommand=zoom,0.8
|
||||
DataX=0
|
||||
DataY=SCREEN_CENTER_Y+16
|
||||
DataOnCommand=
|
||||
|
||||
[ScreenPackages]
|
||||
Class="ScreenPackages"
|
||||
PackagesBGY=SCREEN_CENTER_Y
|
||||
|
||||
@@ -2250,27 +2250,6 @@ Fallback="ScreenOptionsServiceChild"
|
||||
NextScreen=NextNetworkScreen()
|
||||
PrevScreen=NextNetworkScreen()
|
||||
|
||||
[ScreenBookkeeping]
|
||||
Class="ScreenBookkeeping"
|
||||
Fallback="ScreenOptionsServiceChild"
|
||||
NextScreen="ScreenOptionsService"
|
||||
PrevScreen="ScreenOptionsService"
|
||||
HelpText=ScreenString("HelpTextBookkeeping")
|
||||
ShowSongPlays=true
|
||||
ShowLastDays=true
|
||||
ShowLastWeeks=true
|
||||
ShowDayOfWeek=true
|
||||
ShowHourOfDay=true
|
||||
AllTimeX=SCREEN_CENTER_X
|
||||
AllTimeY=110
|
||||
AllTimeOnCommand=zoom,0.7;diffuseshift;effectcolor1,color("0.5,0.5,0.5,1")
|
||||
TitleX=SCREEN_CENTER_X
|
||||
TitleY=140
|
||||
TitleOnCommand=zoom,0.8
|
||||
DataX=0
|
||||
DataY=SCREEN_CENTER_Y+16
|
||||
DataOnCommand=
|
||||
|
||||
[ScreenPackages]
|
||||
Class="ScreenPackages"
|
||||
PackagesBGY=SCREEN_CENTER_Y
|
||||
|
||||
@@ -401,9 +401,7 @@
|
||||
AA29CE310558741A00961A51 /* PercentageDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAD620A5052EC78B00D02EE9 /* PercentageDisplay.cpp */; };
|
||||
AA29CE320558741A00961A51 /* ScoreDisplayPercentage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6DAF0805300B3D00D02EE9 /* ScoreDisplayPercentage.cpp */; };
|
||||
AA29CE340558741A00961A51 /* ScreenTestInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC622FA05389A0500D02EE9 /* ScreenTestInput.cpp */; };
|
||||
AA29CE350558741A00961A51 /* ScreenBookkeeping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AADBE360053D5F8A00D02EE9 /* ScreenBookkeeping.cpp */; };
|
||||
AA29CE360558741A00961A51 /* ScreenNameEntryTraditional.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AADBE362053D5F8A00D02EE9 /* ScreenNameEntryTraditional.cpp */; };
|
||||
AA29CE370558741A00961A51 /* Bookkeeper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AADBE368053DA38C00D02EE9 /* Bookkeeper.cpp */; };
|
||||
AA29CE380558741A00961A51 /* GraphDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFF551D0549F39700D02EE9 /* GraphDisplay.cpp */; };
|
||||
AA29CE390558741A00961A51 /* ComboGraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFF55210549F43A00D02EE9 /* ComboGraph.cpp */; };
|
||||
AA29CE3A0558741A00961A51 /* Attack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFF5541054E736D00D02EE9 /* Attack.cpp */; };
|
||||
@@ -618,9 +616,7 @@
|
||||
AA40D28E09A08D650068C0D5 /* PercentageDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AAD620A6052EC78B00D02EE9 /* PercentageDisplay.h */; };
|
||||
AA40D28F09A08D650068C0D5 /* ScoreDisplayPercentage.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6DAF0905300B3D00D02EE9 /* ScoreDisplayPercentage.h */; };
|
||||
AA40D29109A08D650068C0D5 /* ScreenTestInput.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC622FB05389A0500D02EE9 /* ScreenTestInput.h */; };
|
||||
AA40D29209A08D650068C0D5 /* ScreenBookkeeping.h in Headers */ = {isa = PBXBuildFile; fileRef = AADBE361053D5F8A00D02EE9 /* ScreenBookkeeping.h */; };
|
||||
AA40D29309A08D650068C0D5 /* ScreenNameEntryTraditional.h in Headers */ = {isa = PBXBuildFile; fileRef = AADBE363053D5F8A00D02EE9 /* ScreenNameEntryTraditional.h */; };
|
||||
AA40D29409A08D650068C0D5 /* Bookkeeper.h in Headers */ = {isa = PBXBuildFile; fileRef = AADBE369053DA38C00D02EE9 /* Bookkeeper.h */; };
|
||||
AA40D29509A08D650068C0D5 /* GraphDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFF551E0549F39700D02EE9 /* GraphDisplay.h */; };
|
||||
AA40D29609A08D650068C0D5 /* ComboGraph.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFF55220549F43A00D02EE9 /* ComboGraph.h */; };
|
||||
AA40D29709A08D650068C0D5 /* Attack.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFF5542054E736D00D02EE9 /* Attack.h */; };
|
||||
@@ -936,9 +932,7 @@
|
||||
AA40D44409A08D650068C0D5 /* PercentageDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAD620A5052EC78B00D02EE9 /* PercentageDisplay.cpp */; };
|
||||
AA40D44509A08D650068C0D5 /* ScoreDisplayPercentage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6DAF0805300B3D00D02EE9 /* ScoreDisplayPercentage.cpp */; };
|
||||
AA40D44709A08D650068C0D5 /* ScreenTestInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC622FA05389A0500D02EE9 /* ScreenTestInput.cpp */; };
|
||||
AA40D44809A08D650068C0D5 /* ScreenBookkeeping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AADBE360053D5F8A00D02EE9 /* ScreenBookkeeping.cpp */; };
|
||||
AA40D44909A08D650068C0D5 /* ScreenNameEntryTraditional.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AADBE362053D5F8A00D02EE9 /* ScreenNameEntryTraditional.cpp */; };
|
||||
AA40D44A09A08D650068C0D5 /* Bookkeeper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AADBE368053DA38C00D02EE9 /* Bookkeeper.cpp */; };
|
||||
AA40D44B09A08D650068C0D5 /* GraphDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFF551D0549F39700D02EE9 /* GraphDisplay.cpp */; };
|
||||
AA40D44C09A08D650068C0D5 /* ComboGraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFF55210549F43A00D02EE9 /* ComboGraph.cpp */; };
|
||||
AA40D44D09A08D650068C0D5 /* Attack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFF5541054E736D00D02EE9 /* Attack.cpp */; };
|
||||
@@ -3063,12 +3057,8 @@
|
||||
AADB4E8C04D50FB900D02EE9 /* SignalHandler.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = SignalHandler.h; sourceTree = "<group>"; };
|
||||
AADB4E8F04D5263200D02EE9 /* arch_setup.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = arch_setup.h; sourceTree = "<group>"; };
|
||||
AADB4F5904D9220700D02EE9 /* Crash.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = Crash.h; sourceTree = "<group>"; };
|
||||
AADBE360053D5F8A00D02EE9 /* ScreenBookkeeping.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenBookkeeping.cpp; path = ../src/ScreenBookkeeping.cpp; sourceTree = "<group>"; };
|
||||
AADBE361053D5F8A00D02EE9 /* ScreenBookkeeping.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenBookkeeping.h; path = ../src/ScreenBookkeeping.h; sourceTree = "<group>"; };
|
||||
AADBE362053D5F8A00D02EE9 /* ScreenNameEntryTraditional.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenNameEntryTraditional.cpp; path = ../src/ScreenNameEntryTraditional.cpp; sourceTree = "<group>"; };
|
||||
AADBE363053D5F8A00D02EE9 /* ScreenNameEntryTraditional.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenNameEntryTraditional.h; path = ../src/ScreenNameEntryTraditional.h; sourceTree = "<group>"; };
|
||||
AADBE368053DA38C00D02EE9 /* Bookkeeper.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Bookkeeper.cpp; path = ../src/Bookkeeper.cpp; sourceTree = "<group>"; };
|
||||
AADBE369053DA38C00D02EE9 /* Bookkeeper.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Bookkeeper.h; path = ../src/Bookkeeper.h; sourceTree = "<group>"; };
|
||||
AADD1CC2095C233E0088C9DF /* LocalizedString.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = LocalizedString.cpp; path = ../src/LocalizedString.cpp; sourceTree = "<group>"; };
|
||||
AADD1CC3095C233F0088C9DF /* LocalizedString.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = LocalizedString.h; path = ../src/LocalizedString.h; sourceTree = "<group>"; };
|
||||
AAE2D6D30A67481E00071546 /* ScoreKeeper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreKeeper.cpp; path = ../src/ScoreKeeper.cpp; sourceTree = "<group>"; };
|
||||
@@ -3641,8 +3631,6 @@
|
||||
AA6E000B047711F3005F316C /* Screen.h */,
|
||||
AA6E0010047711F3005F316C /* ScreenAttract.cpp */,
|
||||
AA6E0011047711F3005F316C /* ScreenAttract.h */,
|
||||
AADBE360053D5F8A00D02EE9 /* ScreenBookkeeping.cpp */,
|
||||
AADBE361053D5F8A00D02EE9 /* ScreenBookkeeping.h */,
|
||||
AA2CA89D0BB745BD002441E9 /* ScreenContinue.cpp */,
|
||||
AA2CA89E0BB745BD002441E9 /* ScreenContinue.h */,
|
||||
AA07A5550843E72B00E33D21 /* ScreenDebugOverlay.cpp */,
|
||||
@@ -3800,8 +3788,6 @@
|
||||
children = (
|
||||
AA6E00FF0477128A005F316C /* AnnouncerManager.cpp */,
|
||||
AA6E01000477128A005F316C /* AnnouncerManager.h */,
|
||||
AADBE368053DA38C00D02EE9 /* Bookkeeper.cpp */,
|
||||
AADBE369053DA38C00D02EE9 /* Bookkeeper.h */,
|
||||
AA77E74508B64B1400FA24CA /* CharacterManager.cpp */,
|
||||
AA77E74608B64B1400FA24CA /* CharacterManager.h */,
|
||||
AAC0BFDF0E2951EC00F56EEB /* CryptHelpers.cpp */,
|
||||
@@ -5642,9 +5628,7 @@
|
||||
AA40D28E09A08D650068C0D5 /* PercentageDisplay.h in Headers */,
|
||||
AA40D28F09A08D650068C0D5 /* ScoreDisplayPercentage.h in Headers */,
|
||||
AA40D29109A08D650068C0D5 /* ScreenTestInput.h in Headers */,
|
||||
AA40D29209A08D650068C0D5 /* ScreenBookkeeping.h in Headers */,
|
||||
AA40D29309A08D650068C0D5 /* ScreenNameEntryTraditional.h in Headers */,
|
||||
AA40D29409A08D650068C0D5 /* Bookkeeper.h in Headers */,
|
||||
AA40D29509A08D650068C0D5 /* GraphDisplay.h in Headers */,
|
||||
AA40D29609A08D650068C0D5 /* ComboGraph.h in Headers */,
|
||||
AA40D29709A08D650068C0D5 /* Attack.h in Headers */,
|
||||
@@ -6630,9 +6614,7 @@
|
||||
AA29CE310558741A00961A51 /* PercentageDisplay.cpp in Sources */,
|
||||
AA29CE320558741A00961A51 /* ScoreDisplayPercentage.cpp in Sources */,
|
||||
AA29CE340558741A00961A51 /* ScreenTestInput.cpp in Sources */,
|
||||
AA29CE350558741A00961A51 /* ScreenBookkeeping.cpp in Sources */,
|
||||
AA29CE360558741A00961A51 /* ScreenNameEntryTraditional.cpp in Sources */,
|
||||
AA29CE370558741A00961A51 /* Bookkeeper.cpp in Sources */,
|
||||
AA29CE380558741A00961A51 /* GraphDisplay.cpp in Sources */,
|
||||
AA29CE390558741A00961A51 /* ComboGraph.cpp in Sources */,
|
||||
AA29CE3A0558741A00961A51 /* Attack.cpp in Sources */,
|
||||
@@ -7033,9 +7015,7 @@
|
||||
AA40D44409A08D650068C0D5 /* PercentageDisplay.cpp in Sources */,
|
||||
AA40D44509A08D650068C0D5 /* ScoreDisplayPercentage.cpp in Sources */,
|
||||
AA40D44709A08D650068C0D5 /* ScreenTestInput.cpp in Sources */,
|
||||
AA40D44809A08D650068C0D5 /* ScreenBookkeeping.cpp in Sources */,
|
||||
AA40D44909A08D650068C0D5 /* ScreenNameEntryTraditional.cpp in Sources */,
|
||||
AA40D44A09A08D650068C0D5 /* Bookkeeper.cpp in Sources */,
|
||||
AA40D44B09A08D650068C0D5 /* GraphDisplay.cpp in Sources */,
|
||||
AA40D44C09A08D650068C0D5 /* ComboGraph.cpp in Sources */,
|
||||
AA40D44D09A08D650068C0D5 /* Attack.cpp in Sources */,
|
||||
|
||||
@@ -1,261 +0,0 @@
|
||||
#include "global.h"
|
||||
#include "Bookkeeper.h"
|
||||
#include "RageUtil.h"
|
||||
#include "RageLog.h"
|
||||
#include "IniFile.h"
|
||||
#include "GameConstantsAndTypes.h"
|
||||
#include "SongManager.h"
|
||||
#include "RageFile.h"
|
||||
#include "XmlFile.h"
|
||||
#include "XmlFileUtil.h"
|
||||
#include <ctime>
|
||||
|
||||
Bookkeeper* BOOKKEEPER = NULL; // global and accessable from anywhere in our program
|
||||
|
||||
static const RString COINS_DAT = "Save/Coins.xml";
|
||||
|
||||
Bookkeeper::Bookkeeper()
|
||||
{
|
||||
ClearAll();
|
||||
ReadFromDisk();
|
||||
}
|
||||
|
||||
Bookkeeper::~Bookkeeper()
|
||||
{
|
||||
WriteToDisk();
|
||||
}
|
||||
|
||||
#define WARN_AND_RETURN { LOG->Warn("Error parsing at %s:%d",__FILE__,__LINE__); return; }
|
||||
|
||||
void Bookkeeper::ClearAll()
|
||||
{
|
||||
m_mapCoinsForHour.clear();
|
||||
}
|
||||
|
||||
bool Bookkeeper::Date::operator<( const Date &rhs ) const
|
||||
{
|
||||
if( m_iYear != rhs.m_iYear )
|
||||
return m_iYear < rhs.m_iYear;
|
||||
if( m_iDayOfYear != rhs.m_iDayOfYear )
|
||||
return m_iDayOfYear < rhs.m_iDayOfYear;
|
||||
return m_iHour < rhs.m_iHour;
|
||||
}
|
||||
|
||||
void Bookkeeper::Date::Set( time_t t )
|
||||
{
|
||||
tm ltime;
|
||||
localtime_r( &t, <ime );
|
||||
|
||||
Set( ltime );
|
||||
}
|
||||
|
||||
void Bookkeeper::Date::Set( tm pTime )
|
||||
{
|
||||
m_iHour = pTime.tm_hour;
|
||||
m_iDayOfYear = pTime.tm_yday;
|
||||
m_iYear = pTime.tm_year + 1900;
|
||||
}
|
||||
|
||||
void Bookkeeper::LoadFromNode( const XNode *pNode )
|
||||
{
|
||||
if( pNode->GetName() != "Bookkeeping" )
|
||||
{
|
||||
LOG->Warn( "Error loading bookkeeping: unexpected \"%s\"", pNode->GetName().c_str() );
|
||||
return;
|
||||
}
|
||||
|
||||
const XNode *pData = pNode->GetChild( "Data" );
|
||||
if( pData == NULL )
|
||||
{
|
||||
LOG->Warn( "Error loading bookkeeping: Data node missing" );
|
||||
return;
|
||||
}
|
||||
|
||||
FOREACH_CONST_Child( pData, day )
|
||||
{
|
||||
Date d;
|
||||
if( !day->GetAttrValue( "Hour", d.m_iHour ) ||
|
||||
!day->GetAttrValue( "Day", d.m_iDayOfYear ) ||
|
||||
!day->GetAttrValue( "Year", d.m_iYear ) )
|
||||
{
|
||||
LOG->Warn( "Incomplete date field" );
|
||||
continue;
|
||||
}
|
||||
|
||||
int iCoins;
|
||||
day->GetTextValue( iCoins );
|
||||
|
||||
m_mapCoinsForHour[d] = iCoins;
|
||||
}
|
||||
}
|
||||
|
||||
XNode* Bookkeeper::CreateNode() const
|
||||
{
|
||||
XNode *xml = new XNode( "Bookkeeping" );
|
||||
|
||||
{
|
||||
XNode* pData = xml->AppendChild("Data");
|
||||
|
||||
for( map<Date,int>::const_iterator it = m_mapCoinsForHour.begin(); it != m_mapCoinsForHour.end(); ++it )
|
||||
{
|
||||
int iCoins = it->second;
|
||||
XNode *pDay = pData->AppendChild( "Coins", iCoins );
|
||||
|
||||
const Date &d = it->first;
|
||||
pDay->AppendAttr( "Hour", d.m_iHour );
|
||||
pDay->AppendAttr( "Day", d.m_iDayOfYear );
|
||||
pDay->AppendAttr( "Year", d.m_iYear );
|
||||
}
|
||||
}
|
||||
|
||||
return xml;
|
||||
}
|
||||
|
||||
void Bookkeeper::ReadFromDisk()
|
||||
{
|
||||
if( !IsAFile(COINS_DAT) )
|
||||
return;
|
||||
|
||||
XNode xml;
|
||||
if( !XmlFileUtil::LoadFromFileShowErrors(xml, COINS_DAT) )
|
||||
return;
|
||||
|
||||
LoadFromNode( &xml );
|
||||
}
|
||||
|
||||
void Bookkeeper::WriteToDisk()
|
||||
{
|
||||
// Write data. Use SLOW_FLUSH, to help ensure that we don't lose coin data.
|
||||
RageFile f;
|
||||
if( !f.Open(COINS_DAT, RageFile::WRITE|RageFile::SLOW_FLUSH) )
|
||||
{
|
||||
LOG->Warn( "Couldn't open file \"%s\" for writing: %s", COINS_DAT.c_str(), f.GetError().c_str() );
|
||||
return;
|
||||
}
|
||||
|
||||
auto_ptr<XNode> xml( CreateNode() );
|
||||
XmlFileUtil::SaveToFile( xml.get(), f );
|
||||
}
|
||||
|
||||
void Bookkeeper::CoinInserted()
|
||||
{
|
||||
Date d;
|
||||
d.Set( time(NULL) );
|
||||
|
||||
++m_mapCoinsForHour[d];
|
||||
}
|
||||
|
||||
// Return the number of coins between [beginning,ending).
|
||||
int Bookkeeper::GetNumCoinsInRange( map<Date,int>::const_iterator begin, map<Date,int>::const_iterator end ) const
|
||||
{
|
||||
int iCoins = 0;
|
||||
|
||||
while( begin != end )
|
||||
{
|
||||
iCoins += begin->second;
|
||||
++begin;
|
||||
}
|
||||
|
||||
return iCoins;
|
||||
}
|
||||
|
||||
int Bookkeeper::GetNumCoins( Date beginning, Date ending ) const
|
||||
{
|
||||
return GetNumCoinsInRange( m_mapCoinsForHour.lower_bound( beginning ),
|
||||
m_mapCoinsForHour.lower_bound( ending ) );
|
||||
}
|
||||
|
||||
int Bookkeeper::GetCoinsTotal() const
|
||||
{
|
||||
return GetNumCoinsInRange( m_mapCoinsForHour.begin(), m_mapCoinsForHour.end() );
|
||||
}
|
||||
|
||||
void Bookkeeper::GetCoinsLastDays( int coins[NUM_LAST_DAYS] ) const
|
||||
{
|
||||
time_t lOldTime = time(NULL);
|
||||
tm time;
|
||||
localtime_r( &lOldTime, &time );
|
||||
|
||||
time.tm_hour = 0;
|
||||
|
||||
for( int i=0; i<NUM_LAST_DAYS; i++ )
|
||||
{
|
||||
tm EndTime = AddDays( time, +1 );
|
||||
coins[i] = GetNumCoins( time, EndTime );
|
||||
time = GetYesterday( time );
|
||||
}
|
||||
}
|
||||
|
||||
void Bookkeeper::GetCoinsLastWeeks( int coins[NUM_LAST_WEEKS] ) const
|
||||
{
|
||||
time_t lOldTime = time(NULL);
|
||||
tm time;
|
||||
localtime_r( &lOldTime, &time );
|
||||
|
||||
time = GetNextSunday( time );
|
||||
time = GetYesterday( time );
|
||||
|
||||
for( int w=0; w<NUM_LAST_WEEKS; w++ )
|
||||
{
|
||||
tm StartTime = AddDays( time, -DAYS_IN_WEEK );
|
||||
coins[w] = GetNumCoins( StartTime, time );
|
||||
time = StartTime;
|
||||
}
|
||||
}
|
||||
|
||||
/* iDay is days since Jan 1. iYear is eg. 2005. Return the day of the week,
|
||||
* where 0 is Sunday. */
|
||||
void Bookkeeper::GetCoinsByDayOfWeek( int coins[DAYS_IN_WEEK] ) const
|
||||
{
|
||||
for( int i=0; i<DAYS_IN_WEEK; i++ )
|
||||
coins[i] = 0;
|
||||
|
||||
for( map<Date,int>::const_iterator it = m_mapCoinsForHour.begin(); it != m_mapCoinsForHour.end(); ++it )
|
||||
{
|
||||
const Date &d = it->first;
|
||||
int iDayOfWeek = GetDayInYearAndYear( d.m_iDayOfYear, d.m_iYear ).tm_wday;
|
||||
coins[iDayOfWeek] += it->second;
|
||||
}
|
||||
}
|
||||
|
||||
void Bookkeeper::GetCoinsByHour( int coins[HOURS_IN_DAY] ) const
|
||||
{
|
||||
memset( coins, 0, sizeof(int) * HOURS_IN_DAY );
|
||||
for( map<Date,int>::const_iterator it = m_mapCoinsForHour.begin(); it != m_mapCoinsForHour.end(); ++it )
|
||||
{
|
||||
const Date &d = it->first;
|
||||
|
||||
if( d.m_iHour >= HOURS_IN_DAY )
|
||||
{
|
||||
LOG->Warn( "Hour %i >= %i", d.m_iHour, HOURS_IN_DAY );
|
||||
continue;
|
||||
}
|
||||
|
||||
coins[d.m_iHour] += it->second;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* (c) 2003-2005 Chris Danford, Glenn Maynard
|
||||
* All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, and/or sell copies of the Software, and to permit persons to
|
||||
* whom the Software is furnished to do so, provided that the above
|
||||
* copyright notice(s) and this permission notice appear in all copies of
|
||||
* the Software and that both the above copyright notice(s) and this
|
||||
* permission notice appear in supporting documentation.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
|
||||
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
@@ -1,93 +0,0 @@
|
||||
#ifndef Bookkeeper_H
|
||||
#define Bookkeeper_H
|
||||
|
||||
#include "DateTime.h"
|
||||
#include <map>
|
||||
class XNode;
|
||||
|
||||
/** @brief Track when coins were put into the machine. */
|
||||
class Bookkeeper
|
||||
{
|
||||
public:
|
||||
Bookkeeper();
|
||||
~Bookkeeper();
|
||||
|
||||
void ClearAll();
|
||||
|
||||
void CoinInserted();
|
||||
|
||||
int GetCoinsTotal() const;
|
||||
void GetCoinsLastDays( int coins[NUM_LAST_DAYS] ) const;
|
||||
void GetCoinsLastWeeks( int coins[NUM_LAST_WEEKS] ) const;
|
||||
void GetCoinsByDayOfWeek( int coins[DAYS_IN_WEEK] ) const;
|
||||
void GetCoinsByHour( int coins[HOURS_IN_DAY] ) const;
|
||||
|
||||
void LoadFromNode( const XNode *pNode );
|
||||
XNode* CreateNode() const;
|
||||
|
||||
void ReadFromDisk();
|
||||
void WriteToDisk();
|
||||
|
||||
private:
|
||||
/** @brief A simple way of handling the date. */
|
||||
struct Date
|
||||
{
|
||||
/**
|
||||
* @brief The hour of the date.
|
||||
*
|
||||
* The value 0 is defined to be midnight. */
|
||||
int m_iHour;
|
||||
/**
|
||||
* @brief The day of the year of the date.
|
||||
*
|
||||
* The value 0 is defined to be January 1st. */
|
||||
int m_iDayOfYear;
|
||||
/** @brief The year of the date (e.g., 2005). */
|
||||
int m_iYear;
|
||||
/** @brief Set up a date with initial values. */
|
||||
Date() { m_iHour = m_iDayOfYear = m_iYear = 0; }
|
||||
/**
|
||||
* @brief Set up a date based on the given time.
|
||||
* @param time the time to turn into a Date. */
|
||||
Date( tm time ) { Set(time); }
|
||||
void Set( time_t t );
|
||||
void Set( tm pTime );
|
||||
bool operator<( const Date &rhs ) const;
|
||||
};
|
||||
int GetNumCoins( Date beginning, Date ending ) const;
|
||||
int GetNumCoinsInRange( map<Date,int>::const_iterator begin, map<Date,int>::const_iterator end ) const;
|
||||
|
||||
int m_iLastSeenTime;
|
||||
map<Date,int> m_mapCoinsForHour;
|
||||
};
|
||||
|
||||
extern Bookkeeper* BOOKKEEPER; // global and accessable from anywhere in our program
|
||||
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @file
|
||||
* @author Chris Danford (c) 2003-2004
|
||||
* @section LICENSE
|
||||
* All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, and/or sell copies of the Software, and to permit persons to
|
||||
* whom the Software is furnished to do so, provided that the above
|
||||
* copyright notice(s) and this permission notice appear in all copies of
|
||||
* the Software and that both the above copyright notice(s) and this
|
||||
* permission notice appear in supporting documentation.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
|
||||
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
@@ -24,7 +24,6 @@ static const Game::PerButtonInfo g_CommonButtonInfo[] =
|
||||
{ GameButtonType_INVALID }, // GAME_BUTTON_START
|
||||
{ GameButtonType_INVALID }, // GAME_BUTTON_SELECT
|
||||
{ GameButtonType_INVALID }, // GAME_BUTTON_BACK
|
||||
{ GameButtonType_INVALID }, // GAME_BUTTON_COIN
|
||||
{ GameButtonType_INVALID }, // GAME_BUTTON_OPERATOR
|
||||
{ GameButtonType_INVALID }, // GAME_BUTTON_EFFECT_UP
|
||||
{ GameButtonType_INVALID }, // GAME_BUTTON_EFFECT_DOWN
|
||||
|
||||
+2
-77
@@ -60,8 +60,6 @@ void GameCommand::Init()
|
||||
m_sUrl = "";
|
||||
m_bUrlExits = true;
|
||||
|
||||
m_bInsertCredit = false;
|
||||
m_bClearCredits = false;
|
||||
m_bStopMusic = false;
|
||||
m_bApplyDefaultOptions = false;
|
||||
m_bFadeMusic = false;
|
||||
@@ -369,16 +367,6 @@ void GameCommand::LoadOne( const Command& cmd )
|
||||
m_vsScreensToPrepare.push_back( sValue );
|
||||
}
|
||||
|
||||
else if( sName == "insertcredit" )
|
||||
{
|
||||
m_bInsertCredit = true;
|
||||
}
|
||||
|
||||
else if( sName == "clearcredits" )
|
||||
{
|
||||
m_bClearCredits = true;
|
||||
}
|
||||
|
||||
else if( sName == "stopmusic" )
|
||||
{
|
||||
m_bStopMusic = true;
|
||||
@@ -428,36 +416,6 @@ void GameCommand::LoadOne( const Command& cmd )
|
||||
}
|
||||
}
|
||||
|
||||
int GetNumCreditsPaid()
|
||||
{
|
||||
int iNumCreditsPaid = GAMESTATE->GetNumSidesJoined();
|
||||
|
||||
// players other than the first joined for free
|
||||
if( GAMESTATE->GetPremium() == Premium_2PlayersFor1Credit )
|
||||
iNumCreditsPaid = min( iNumCreditsPaid, 1 );
|
||||
|
||||
return iNumCreditsPaid;
|
||||
}
|
||||
|
||||
|
||||
int GetCreditsRequiredToPlayStyle( const Style *style )
|
||||
{
|
||||
if( GAMESTATE->GetPremium() == Premium_2PlayersFor1Credit )
|
||||
return 1;
|
||||
|
||||
switch( style->m_StyleType )
|
||||
{
|
||||
case StyleType_OnePlayerOneSide:
|
||||
return 1;
|
||||
case StyleType_TwoPlayersSharedSides:
|
||||
case StyleType_TwoPlayersTwoSides:
|
||||
return 2;
|
||||
case StyleType_OnePlayerTwoSides:
|
||||
return (GAMESTATE->GetPremium() == Premium_DoubleFor1Credit) ? 1 : 2;
|
||||
DEFAULT_FAIL( style->m_StyleType );
|
||||
}
|
||||
}
|
||||
|
||||
static bool AreStyleAndPlayModeCompatible( const Style *style, PlayMode pm )
|
||||
{
|
||||
if( style == NULL || pm == PlayMode_Invalid )
|
||||
@@ -493,33 +451,8 @@ bool GameCommand::IsPlayable( RString *why ) const
|
||||
|
||||
if ( m_pStyle )
|
||||
{
|
||||
int iCredits = GAMESTATE->m_iCoins / PREFSMAN->m_iCoinsPerCredit;
|
||||
const int iNumCreditsPaid = GetNumCreditsPaid();
|
||||
const int iNumCreditsRequired = GetCreditsRequiredToPlayStyle(m_pStyle);
|
||||
|
||||
switch( GAMESTATE->GetCoinMode() )
|
||||
{
|
||||
case CoinMode_Home:
|
||||
case CoinMode_Free:
|
||||
iCredits = NUM_PLAYERS; // not iNumCreditsPaid
|
||||
default: break;
|
||||
}
|
||||
|
||||
/* With PREFSMAN->m_bDelayedCreditsReconcile disabled, enough credits must
|
||||
* be paid. (This means that enough sides must be joined.) Enabled, simply
|
||||
* having enough credits lying in the machine is sufficient; we'll deduct the
|
||||
* extra in Apply(). */
|
||||
int iNumCreditsAvailable = iNumCreditsPaid;
|
||||
if( PREFSMAN->m_bDelayedCreditsReconcile )
|
||||
iNumCreditsAvailable += iCredits;
|
||||
|
||||
if( iNumCreditsAvailable < iNumCreditsRequired )
|
||||
{
|
||||
if( why )
|
||||
*why = ssprintf( "need %i credits, have %i", iNumCreditsRequired, iNumCreditsAvailable );
|
||||
return false;
|
||||
}
|
||||
|
||||
int iCredits = NUM_PLAYERS; // not iNumCreditsPaid
|
||||
|
||||
/* If both sides are joined, disallow singles modes, since easy to select
|
||||
* them accidentally, instead of versus mode. */
|
||||
if( m_pStyle->m_StyleType == StyleType_OnePlayerOneSide &&
|
||||
@@ -760,14 +693,6 @@ void GameCommand::ApplySelf( const vector<PlayerNumber> &vpns ) const
|
||||
FOREACH_CONST( RString, m_vsScreensToPrepare, s )
|
||||
SCREENMAN->PrepareScreen( *s );
|
||||
|
||||
if( m_bInsertCredit )
|
||||
{
|
||||
StepMania::InsertCredit();
|
||||
}
|
||||
|
||||
if( m_bClearCredits )
|
||||
StepMania::ClearCredits();
|
||||
|
||||
if( m_bApplyDefaultOptions )
|
||||
{
|
||||
// applying options affects only the current stage
|
||||
|
||||
@@ -19,9 +19,6 @@ class Style;
|
||||
class Game;
|
||||
struct lua_State;
|
||||
|
||||
int GetNumCreditsPaid();
|
||||
int GetCreditsRequiredToPlayStyle( const Style *style );
|
||||
|
||||
class GameCommand
|
||||
{
|
||||
public:
|
||||
@@ -39,7 +36,6 @@ public:
|
||||
m_sSoundPath(""), m_vsScreensToPrepare(), m_iWeightPounds(-1),
|
||||
m_iGoalCalories(-1), m_GoalType(GoalType_Invalid),
|
||||
m_sProfileID(""), m_sUrl(""), m_bUrlExits(true),
|
||||
m_bInsertCredit(false), m_bClearCredits(false),
|
||||
m_bStopMusic(false), m_bApplyDefaultOptions(false),
|
||||
m_bFadeMusic(false), m_fMusicFadeOutVolume(-1),
|
||||
m_fMusicFadeOutSeconds(-1), m_bApplyCommitsScreens(true)
|
||||
@@ -108,8 +104,6 @@ public:
|
||||
// sm-ssc adds:
|
||||
bool m_bUrlExits; // for making stepmania not exit on url
|
||||
|
||||
bool m_bInsertCredit;
|
||||
bool m_bClearCredits;
|
||||
bool m_bStopMusic;
|
||||
bool m_bApplyDefaultOptions;
|
||||
// sm-ssc also adds:
|
||||
|
||||
@@ -26,7 +26,6 @@ enum GameButton
|
||||
GAME_BUTTON_START,
|
||||
GAME_BUTTON_SELECT,
|
||||
GAME_BUTTON_BACK,
|
||||
GAME_BUTTON_COIN, /**< Insert a coin to play. */
|
||||
GAME_BUTTON_OPERATOR, /**< Access the operator menu. */
|
||||
GAME_BUTTON_EFFECT_UP,
|
||||
GAME_BUTTON_EFFECT_DOWN,
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
#include "Actor.h"
|
||||
#include "AdjustSync.h"
|
||||
#include "AnnouncerManager.h"
|
||||
#include "Bookkeeper.h"
|
||||
#include "Character.h"
|
||||
#include "CharacterManager.h"
|
||||
#include "CommonMetrics.h"
|
||||
@@ -111,7 +110,6 @@ GameState::GameState() :
|
||||
m_pCurGame( Message_CurrentGameChanged ),
|
||||
m_pCurStyle( Message_CurrentStyleChanged ),
|
||||
m_PlayMode( Message_PlayModeChanged ),
|
||||
m_iCoins( Message_CoinsChanged ),
|
||||
m_sPreferredSongGroup( Message_PreferredSongGroupChanged ),
|
||||
m_sPreferredCourseGroup( Message_PreferredCourseGroupChanged ),
|
||||
m_PreferredStepsType( Message_PreferredStepsTypeChanged ),
|
||||
@@ -138,7 +136,6 @@ GameState::GameState() :
|
||||
SetCurrentStyle( NULL );
|
||||
|
||||
m_pCurGame.Set( NULL );
|
||||
m_iCoins.Set( 0 );
|
||||
m_timeGameStarted.SetZero();
|
||||
m_bDemonstrationOrJukebox = false;
|
||||
|
||||
@@ -286,7 +283,6 @@ void GameState::Reset()
|
||||
m_MultiPlayerStatus[p] = MultiPlayerStatus_NotJoined;
|
||||
FOREACH_PlayerNumber( pn )
|
||||
MEMCARDMAN->UnlockCard( pn );
|
||||
//m_iCoins = 0; // don't reset coin count!
|
||||
m_bMultiplayer = false;
|
||||
m_iNumMultiplayerNoteFields = 1;
|
||||
*m_Environment = LuaTable();
|
||||
@@ -445,14 +441,6 @@ namespace
|
||||
if( GAMESTATE->m_bSideIsJoined[pn] )
|
||||
return false;
|
||||
|
||||
// subtract coins
|
||||
int iCoinsNeededToJoin = GAMESTATE->GetCoinsNeededToJoin();
|
||||
|
||||
if( GAMESTATE->m_iCoins < iCoinsNeededToJoin )
|
||||
return false; // not enough coins
|
||||
|
||||
GAMESTATE->m_iCoins.Set( GAMESTATE->m_iCoins - iCoinsNeededToJoin );
|
||||
|
||||
GAMESTATE->JoinPlayer( pn );
|
||||
|
||||
return true;
|
||||
@@ -481,18 +469,6 @@ bool GameState::JoinPlayers()
|
||||
return bJoined;
|
||||
}
|
||||
|
||||
int GameState::GetCoinsNeededToJoin() const
|
||||
{
|
||||
int iCoinsToCharge = 0;
|
||||
|
||||
// If joint premium, don't take away a credit for the second join.
|
||||
if( GetPremium() == Premium_2PlayersFor1Credit &&
|
||||
GetNumSidesJoined() == 1 )
|
||||
iCoinsToCharge = 0;
|
||||
|
||||
return iCoinsToCharge;
|
||||
}
|
||||
|
||||
/* Game flow:
|
||||
*
|
||||
* BeginGame() - the first player has joined; the game is starting.
|
||||
@@ -609,7 +585,6 @@ bool GameState::HaveProfileToSave()
|
||||
|
||||
void GameState::SaveLocalData()
|
||||
{
|
||||
BOOKKEEPER->WriteToDisk();
|
||||
PROFILEMAN->SaveMachineProfile();
|
||||
}
|
||||
|
||||
@@ -2297,10 +2272,7 @@ public:
|
||||
return 1;
|
||||
}
|
||||
DEFINE_METHOD( GetGameplayLeadIn, m_bGameplayLeadIn )
|
||||
DEFINE_METHOD( GetCoins, m_iCoins )
|
||||
DEFINE_METHOD( IsSideJoined, m_bSideIsJoined[Enum::Check<PlayerNumber>(L, 1)] )
|
||||
DEFINE_METHOD( GetCoinsNeededToJoin, GetCoinsNeededToJoin() )
|
||||
DEFINE_METHOD( EnoughCreditsToJoin, EnoughCreditsToJoin() )
|
||||
DEFINE_METHOD( PlayersCanJoin, PlayersCanJoin() )
|
||||
DEFINE_METHOD( GetNumSidesJoined, GetNumSidesJoined() )
|
||||
DEFINE_METHOD( GetCoinMode, GetCoinMode() )
|
||||
@@ -2553,10 +2525,7 @@ public:
|
||||
ADD_METHOD( GetSongDelay );*/
|
||||
ADD_METHOD( GetSongPosition );
|
||||
ADD_METHOD( GetGameplayLeadIn );
|
||||
ADD_METHOD( GetCoins );
|
||||
ADD_METHOD( IsSideJoined );
|
||||
ADD_METHOD( GetCoinsNeededToJoin );
|
||||
ADD_METHOD( EnoughCreditsToJoin );
|
||||
ADD_METHOD( PlayersCanJoin );
|
||||
ADD_METHOD( GetNumSidesJoined );
|
||||
ADD_METHOD( GetCoinMode );
|
||||
|
||||
@@ -98,7 +98,6 @@ public:
|
||||
* Note that coins are not "credits". One may have to put in two coins
|
||||
* to get one credit, only to have to put in another four coins to get
|
||||
* the three credits needed to begin the game. */
|
||||
BroadcastOnChange<int> m_iCoins;
|
||||
bool m_bMultiplayer;
|
||||
int m_iNumMultiplayerNoteFields;
|
||||
bool DifficultiesLocked() const;
|
||||
@@ -121,8 +120,6 @@ public:
|
||||
* @brief Determine if a second player can join in at this time.
|
||||
* @return true if a player can still enter the game, false otherwise. */
|
||||
bool PlayersCanJoin() const;
|
||||
int GetCoinsNeededToJoin() const;
|
||||
bool EnoughCreditsToJoin() const { return m_iCoins >= GetCoinsNeededToJoin(); }
|
||||
int GetNumSidesJoined() const;
|
||||
|
||||
const Game* GetCurrentGame();
|
||||
|
||||
+2
-7
@@ -65,7 +65,6 @@ static const AutoMappings g_DefaultKeyMappings = AutoMappings(
|
||||
AutoMappingEntry( 0, KEY_KP_ENTER, GAME_BUTTON_START, true ),
|
||||
AutoMappingEntry( 0, KEY_KP_C0, GAME_BUTTON_SELECT, true ),
|
||||
AutoMappingEntry( 0, KEY_HYPHEN, GAME_BUTTON_BACK, true ), // laptop keyboards.
|
||||
AutoMappingEntry( 0, KEY_F1, GAME_BUTTON_COIN, false ),
|
||||
AutoMappingEntry( 0, KEY_SCRLLOCK, GAME_BUTTON_OPERATOR, false )
|
||||
);
|
||||
|
||||
@@ -302,7 +301,6 @@ static const AutoMappings g_AutoMappings[] =
|
||||
AutoMappingEntry( 0, JOY_BUTTON_9, GAME_BUTTON_SELECT, false ),
|
||||
AutoMappingEntry( 0, JOY_BUTTON_10, GAME_BUTTON_START, false ),
|
||||
AutoMappingEntry( 0, JOY_BUTTON_5, GAME_BUTTON_BACK, false ),
|
||||
AutoMappingEntry( 0, JOY_BUTTON_6, GAME_BUTTON_COIN, false ),
|
||||
// Player 2.
|
||||
AutoMappingEntry( 0, JOY_BUTTON_32, DANCE_BUTTON_LEFT, true ),
|
||||
AutoMappingEntry( 0, JOY_BUTTON_30, DANCE_BUTTON_RIGHT, true ),
|
||||
@@ -316,8 +314,7 @@ static const AutoMappings g_AutoMappings[] =
|
||||
AutoMappingEntry( 0, JOY_BUTTON_24, DANCE_BUTTON_UPLEFT, true ),
|
||||
AutoMappingEntry( 0, JOY_BUTTON_25, GAME_BUTTON_SELECT, true ),
|
||||
AutoMappingEntry( 0, JOY_BUTTON_26, GAME_BUTTON_START, true ),
|
||||
AutoMappingEntry( 0, JOY_BUTTON_21, GAME_BUTTON_BACK, true ),
|
||||
AutoMappingEntry( 0, JOY_BUTTON_22, GAME_BUTTON_COIN, true )
|
||||
AutoMappingEntry( 0, JOY_BUTTON_21, GAME_BUTTON_BACK, true )
|
||||
),
|
||||
AutoMappings(
|
||||
"dance",
|
||||
@@ -348,8 +345,7 @@ static const AutoMappings g_AutoMappings[] =
|
||||
AutoMappingEntry( 0, JOY_BUTTON_8, /* R1 */ DANCE_BUTTON_UPRIGHT, false ),
|
||||
AutoMappingEntry( 0, JOY_BUTTON_10, /* Select */ GAME_BUTTON_BACK, false ),
|
||||
AutoMappingEntry( 0, JOY_BUTTON_9, /* Start */ GAME_BUTTON_START, false ),
|
||||
AutoMappingEntry( 0, JOY_BUTTON_5, /* R1 */ GAME_BUTTON_SELECT, false ),
|
||||
AutoMappingEntry( 0, JOY_BUTTON_6, /* R2 */ GAME_BUTTON_COIN, false )
|
||||
AutoMappingEntry( 0, JOY_BUTTON_5, /* R1 */ GAME_BUTTON_SELECT, false )
|
||||
),
|
||||
AutoMappings(
|
||||
"dance",
|
||||
@@ -1014,7 +1010,6 @@ static const InputScheme::GameButtonInfo g_CommonGameButtonInfo[] =
|
||||
{ "Start", GAME_BUTTON_START },
|
||||
{ "Select", GAME_BUTTON_SELECT },
|
||||
{ "Back", GAME_BUTTON_BACK },
|
||||
{ "Coin", GAME_BUTTON_COIN },
|
||||
{ "Operator", GAME_BUTTON_OPERATOR },
|
||||
{ "EffectUp", GAME_BUTTON_EFFECT_UP },
|
||||
{ "EffectDown", GAME_BUTTON_EFFECT_DOWN },
|
||||
|
||||
@@ -420,18 +420,6 @@ void LightsManager::Update( float fDeltaTime )
|
||||
}
|
||||
}
|
||||
|
||||
// If not joined, has enough credits, and not too late to join, then
|
||||
// blink the menu buttons rapidly so they'll press Start
|
||||
{
|
||||
int iBeat = (int)(GAMESTATE->m_Position.m_fLightSongBeat*4);
|
||||
bool bBlinkOn = (iBeat%2)==0;
|
||||
FOREACH_PlayerNumber( pn )
|
||||
{
|
||||
if( !GAMESTATE->m_bSideIsJoined[pn] && GAMESTATE->PlayersCanJoin() && GAMESTATE->EnoughCreditsToJoin() )
|
||||
m_LightsState.m_bGameButtonLights[pn][GAME_BUTTON_START] = bBlinkOn;
|
||||
}
|
||||
}
|
||||
|
||||
// apply new light values we set above
|
||||
FOREACH( LightsDriver*, m_vpDrivers, iter )
|
||||
(*iter)->Set( &m_LightsState );
|
||||
|
||||
@@ -57,7 +57,6 @@ PNG = \
|
||||
|
||||
Screens = \
|
||||
Screen.cpp Screen.h ScreenAttract.cpp ScreenAttract.h \
|
||||
ScreenBookkeeping.cpp ScreenBookkeeping.h \
|
||||
ScreenContinue.cpp ScreenContinue.h \
|
||||
ScreenDebugOverlay.cpp ScreenDebugOverlay.h \
|
||||
ScreenDemonstration.cpp ScreenDemonstration.h ScreenDimensions.h \
|
||||
@@ -472,7 +471,6 @@ RollingNumbers.cpp RollingNumbers.h Sprite.cpp Sprite.h
|
||||
|
||||
GlobalSingletons = \
|
||||
AnnouncerManager.cpp AnnouncerManager.h \
|
||||
Bookkeeper.cpp Bookkeeper.h \
|
||||
CharacterManager.cpp CharacterManager.h \
|
||||
CryptManager.cpp CryptManager.h \
|
||||
FontManager.cpp FontManager.h GameSoundManager.cpp GameSoundManager.h \
|
||||
|
||||
@@ -16,7 +16,6 @@ static const char *MessageIDNames[] = {
|
||||
"CurrentGameChanged",
|
||||
"CurrentStyleChanged",
|
||||
"PlayModeChanged",
|
||||
"CoinsChanged",
|
||||
"CurrentSongChanged",
|
||||
"CurrentStepsP1Changed",
|
||||
"CurrentStepsP2Changed",
|
||||
|
||||
@@ -12,7 +12,6 @@ enum MessageID
|
||||
Message_CurrentGameChanged,
|
||||
Message_CurrentStyleChanged,
|
||||
Message_PlayModeChanged,
|
||||
Message_CoinsChanged,
|
||||
Message_CurrentSongChanged,
|
||||
Message_CurrentStepsP1Changed,
|
||||
Message_CurrentStepsP2Changed,
|
||||
|
||||
@@ -214,9 +214,7 @@ PrefsManager::PrefsManager() :
|
||||
m_iMusicWheelSwitchSpeed ( "MusicWheelSwitchSpeed", 15 ),
|
||||
m_AllowW1 ( "AllowW1", ALLOW_W1_EVERYWHERE ),
|
||||
m_bEventMode ( "EventMode", true ),
|
||||
m_iCoinsPerCredit ( "CoinsPerCredit", 1 ),
|
||||
m_iSongsPerPlay ( "SongsPerPlay", 3, ValidateSongsPerPlay ),
|
||||
m_bDelayedCreditsReconcile ( "DelayedCreditsReconcile", false ),
|
||||
m_ShowSongOptions ( "ShowSongOptions", Maybe_YES ),
|
||||
m_bDancePointsForOni ( "DancePointsForOni", true ),
|
||||
m_bPercentageScoring ( "PercentageScoring", false ),
|
||||
|
||||
@@ -205,9 +205,7 @@ public:
|
||||
Preference<int> m_iMusicWheelSwitchSpeed;
|
||||
Preference<AllowW1> m_AllowW1; // this should almost always be on, given use cases. -aj
|
||||
Preference<bool> m_bEventMode;
|
||||
Preference<int> m_iCoinsPerCredit;
|
||||
Preference<int> m_iSongsPerPlay;
|
||||
Preference<bool> m_bDelayedCreditsReconcile; // zuh?
|
||||
Preference<Maybe> m_ShowSongOptions;
|
||||
Preference<bool> m_bDancePointsForOni;
|
||||
Preference<bool> m_bPercentageScoring;
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
#include "XmlFile.h"
|
||||
#include "XmlFileUtil.h"
|
||||
#include "Foreach.h"
|
||||
#include "Bookkeeper.h"
|
||||
#include "Game.h"
|
||||
#include "CharacterManager.h"
|
||||
#include "Character.h"
|
||||
@@ -1849,35 +1848,6 @@ XNode* Profile::SaveCoinDataCreateNode() const
|
||||
|
||||
XNode* pNode = new XNode( "CoinData" );
|
||||
|
||||
{
|
||||
int coins[NUM_LAST_DAYS];
|
||||
BOOKKEEPER->GetCoinsLastDays( coins );
|
||||
XNode* p = pNode->AppendChild( "LastDays" );
|
||||
for( int i=0; i<NUM_LAST_DAYS; i++ )
|
||||
p->AppendChild( LastDayToString(i), coins[i] );
|
||||
}
|
||||
{
|
||||
int coins[NUM_LAST_WEEKS];
|
||||
BOOKKEEPER->GetCoinsLastWeeks( coins );
|
||||
XNode* p = pNode->AppendChild( "LastWeeks" );
|
||||
for( int i=0; i<NUM_LAST_WEEKS; i++ )
|
||||
p->AppendChild( LastWeekToString(i), coins[i] );
|
||||
}
|
||||
{
|
||||
int coins[DAYS_IN_WEEK];
|
||||
BOOKKEEPER->GetCoinsByDayOfWeek( coins );
|
||||
XNode* p = pNode->AppendChild( "DayOfWeek" );
|
||||
for( int i=0; i<DAYS_IN_WEEK; i++ )
|
||||
p->AppendChild( DayOfWeekToString(i), coins[i] );
|
||||
}
|
||||
{
|
||||
int coins[HOURS_IN_DAY];
|
||||
BOOKKEEPER->GetCoinsByHour( coins );
|
||||
XNode* p = pNode->AppendChild( "Hour" );
|
||||
for( int i=0; i<HOURS_IN_DAY; i++ )
|
||||
p->AppendChild( HourInDayToString(i), coins[i] );
|
||||
}
|
||||
|
||||
return pNode;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -281,8 +281,8 @@ public:
|
||||
/**
|
||||
* @brief The basics for Calorie Data.
|
||||
*
|
||||
* Why track calories in a map, and not in a static sized array like
|
||||
* Bookkeeping? The machine's clock is not guaranteed to be set correctly.
|
||||
* Why track calories in a map, and not in a static sized array?
|
||||
* The machine's clock is not guaranteed to be set correctly.
|
||||
* If calorie array is in a static sized array, playing on a machine with
|
||||
* a mis-set clock could wipe out all your past data. With this scheme,
|
||||
* the worst that could happen is that playing on a mis-set machine will
|
||||
|
||||
@@ -219,7 +219,6 @@ bool Screen::Input( const InputEventPlus &input )
|
||||
return false;
|
||||
case GAME_BUTTON_START: return this->MenuStart ( input );
|
||||
case GAME_BUTTON_SELECT: return this->MenuSelect( input );
|
||||
case GAME_BUTTON_COIN: return this->MenuCoin ( input );
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,7 +82,6 @@ bool ScreenAttract::AttractInput( const InputEventPlus &input, ScreenWithMenuEle
|
||||
break;
|
||||
// fall through
|
||||
case GAME_BUTTON_START:
|
||||
case GAME_BUTTON_COIN:
|
||||
switch( GAMESTATE->GetCoinMode() )
|
||||
{
|
||||
case CoinMode_Home:
|
||||
@@ -90,10 +89,6 @@ bool ScreenAttract::AttractInput( const InputEventPlus &input, ScreenWithMenuEle
|
||||
if( pScreen->IsTransitioning() )
|
||||
return false;
|
||||
|
||||
// HandleGlobalInputs() already played the coin sound. Don't play it again.
|
||||
if( input.MenuI != GAME_BUTTON_COIN )
|
||||
SCREENMAN->PlayStartSound();
|
||||
|
||||
pScreen->Cancel( SM_GoToStartScreen );
|
||||
return true;
|
||||
default: FAIL_M("Invalid Coin Mode! Aborting...");
|
||||
|
||||
@@ -1,315 +0,0 @@
|
||||
#include "global.h"
|
||||
#include "ScreenBookkeeping.h"
|
||||
#include "ScreenManager.h"
|
||||
#include "RageLog.h"
|
||||
#include "ThemeManager.h"
|
||||
#include "Bookkeeper.h"
|
||||
#include "ScreenDimensions.h"
|
||||
#include "InputEventPlus.h"
|
||||
#include "RageUtil.h"
|
||||
#include "LocalizedString.h"
|
||||
#include "Song.h"
|
||||
#include "SongManager.h"
|
||||
#include "UnlockManager.h"
|
||||
#include "ProfileManager.h"
|
||||
#include "Profile.h"
|
||||
|
||||
static const char *BookkeepingViewNames[] = {
|
||||
"SongPlays",
|
||||
"LastDays",
|
||||
"LastWeeks",
|
||||
"DayOfWeek",
|
||||
"HourOfDay",
|
||||
};
|
||||
XToString( BookkeepingView );
|
||||
|
||||
|
||||
REGISTER_SCREEN_CLASS( ScreenBookkeeping );
|
||||
|
||||
void ScreenBookkeeping::Init()
|
||||
{
|
||||
ScreenWithMenuElements::Init();
|
||||
|
||||
m_textAllTime.LoadFromFont( THEME->GetPathF(m_sName,"AllTime") );
|
||||
m_textAllTime.SetName( "AllTime" );
|
||||
LOAD_ALL_COMMANDS_AND_SET_XY( m_textAllTime );
|
||||
this->AddChild( &m_textAllTime );
|
||||
|
||||
m_textTitle.LoadFromFont( THEME->GetPathF(m_sName,"title") );
|
||||
m_textTitle.SetName( "Title" );
|
||||
LOAD_ALL_COMMANDS_AND_SET_XY( m_textTitle );
|
||||
this->AddChild( &m_textTitle );
|
||||
|
||||
for( int i=0; i<NUM_BOOKKEEPING_COLS; i++ )
|
||||
{
|
||||
m_textData[i].LoadFromFont( THEME->GetPathF(m_sName,"data") );
|
||||
m_textData[i].SetName( "Data" );
|
||||
LOAD_ALL_COMMANDS_AND_SET_XY( m_textData[i] );
|
||||
float fX = SCALE( i, 0.f, NUM_BOOKKEEPING_COLS-1, SCREEN_LEFT+50, SCREEN_RIGHT-160 );
|
||||
m_textData[i].SetX( fX );
|
||||
this->AddChild( &m_textData[i] );
|
||||
}
|
||||
|
||||
FOREACH_ENUM( BookkeepingView, i )
|
||||
{
|
||||
if( THEME->GetMetricB(m_sName,"Show"+BookkeepingViewToString(i)) )
|
||||
m_vBookkeepingViews.push_back( i );
|
||||
}
|
||||
|
||||
m_iViewIndex = 0;
|
||||
|
||||
UpdateView();
|
||||
}
|
||||
|
||||
void ScreenBookkeeping::Update( float fDelta )
|
||||
{
|
||||
UpdateView(); // refresh so that counts change in real-time
|
||||
|
||||
ScreenWithMenuElements::Update( fDelta );
|
||||
}
|
||||
|
||||
bool ScreenBookkeeping::Input( const InputEventPlus &input )
|
||||
{
|
||||
if( input.type != IET_FIRST_PRESS && input.type != IET_REPEAT )
|
||||
return false; // ignore
|
||||
|
||||
return Screen::Input( input ); // default handler
|
||||
}
|
||||
|
||||
bool ScreenBookkeeping::MenuLeft( const InputEventPlus &input )
|
||||
{
|
||||
m_iViewIndex--;
|
||||
CLAMP( m_iViewIndex, 0, m_vBookkeepingViews.size()-1 );
|
||||
|
||||
UpdateView();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ScreenBookkeeping::MenuRight( const InputEventPlus &input )
|
||||
{
|
||||
m_iViewIndex++;
|
||||
CLAMP( m_iViewIndex, 0, m_vBookkeepingViews.size()-1 );
|
||||
|
||||
UpdateView();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ScreenBookkeeping::MenuStart( const InputEventPlus &input )
|
||||
{
|
||||
if( IsTransitioning() )
|
||||
return false;
|
||||
|
||||
SCREENMAN->PlayStartSound();
|
||||
StartTransitioningScreen( SM_GoToNextScreen );
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ScreenBookkeeping::MenuBack( const InputEventPlus &input )
|
||||
{
|
||||
if( IsTransitioning() )
|
||||
return false;
|
||||
|
||||
SCREENMAN->PlayStartSound();
|
||||
StartTransitioningScreen( SM_GoToPrevScreen );
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ScreenBookkeeping::MenuCoin( const InputEventPlus &input )
|
||||
{
|
||||
UpdateView();
|
||||
|
||||
return Screen::MenuCoin( input );
|
||||
}
|
||||
|
||||
static LocalizedString ALL_TIME ( "ScreenBookkeeping", "All-time Coin Total:" );
|
||||
static LocalizedString SONG_PLAYS ( "ScreenBookkeeping", "Total Song Plays: %d" );
|
||||
static LocalizedString LAST_DAYS ( "ScreenBookkeeping", "Coin Data of Last %d Days" );
|
||||
static LocalizedString LAST_WEEKS ( "ScreenBookkeeping", "Coin Data of Last %d Weeks" );
|
||||
static LocalizedString DAY_OF_WEEK ( "ScreenBookkeeping", "Coin Data by Day of Week, All-Time" );
|
||||
static LocalizedString HOUR_OF_DAY ( "ScreenBookkeeping", "Coin Data by Hour of Day, All-Time" );
|
||||
void ScreenBookkeeping::UpdateView()
|
||||
{
|
||||
BookkeepingView view = m_vBookkeepingViews[m_iViewIndex];
|
||||
|
||||
|
||||
{
|
||||
RString s;
|
||||
s += ALL_TIME.GetValue();
|
||||
s += ssprintf( " %i\n", BOOKKEEPER->GetCoinsTotal() );
|
||||
m_textAllTime.SetText( s );
|
||||
}
|
||||
|
||||
switch( view )
|
||||
{
|
||||
case BookkeepingView_SongPlays:
|
||||
{
|
||||
Profile *pProfile = PROFILEMAN->GetMachineProfile();
|
||||
|
||||
vector<Song*> vpSongs;
|
||||
int iCount = 0;
|
||||
FOREACH_CONST( Song *, SONGMAN->GetAllSongs(), s )
|
||||
{
|
||||
Song *pSong = *s;
|
||||
if( UNLOCKMAN->SongIsLocked(pSong) & ~LOCKED_DISABLED )
|
||||
continue;
|
||||
iCount += pProfile->GetSongNumTimesPlayed( pSong );
|
||||
vpSongs.push_back( pSong );
|
||||
}
|
||||
m_textTitle.SetText( ssprintf(SONG_PLAYS.GetValue(), iCount) );
|
||||
SongUtil::SortSongPointerArrayByNumPlays( vpSongs, pProfile, true );
|
||||
|
||||
const int iSongPerCol = 15;
|
||||
|
||||
int iSongIndex = 0;
|
||||
for( int i=0; i<NUM_BOOKKEEPING_COLS; i++ )
|
||||
{
|
||||
RString s;
|
||||
for( int j=0; j<iSongPerCol; j++ )
|
||||
{
|
||||
if( iSongIndex < (int)vpSongs.size() )
|
||||
{
|
||||
Song *pSong = vpSongs[iSongIndex];
|
||||
iCount = pProfile->GetSongNumTimesPlayed( pSong );
|
||||
RString sTitle = ssprintf("%4d",iCount) + " " + pSong->GetDisplayFullTitle();
|
||||
if( sTitle.length() > 22 )
|
||||
sTitle = sTitle.Left(20) + "...";
|
||||
s += sTitle + "\n";
|
||||
iSongIndex++;
|
||||
}
|
||||
}
|
||||
m_textData[i].SetText( s );
|
||||
m_textData[i].SetHorizAlign( align_left );
|
||||
}
|
||||
}
|
||||
break;
|
||||
case BookkeepingView_LastDays:
|
||||
{
|
||||
m_textTitle.SetText( ssprintf(LAST_DAYS.GetValue(), NUM_LAST_DAYS) );
|
||||
|
||||
int coins[NUM_LAST_DAYS];
|
||||
BOOKKEEPER->GetCoinsLastDays( coins );
|
||||
int iTotalLast = 0;
|
||||
|
||||
RString sTitle, sData;
|
||||
for( int i=0; i<NUM_LAST_DAYS; i++ )
|
||||
{
|
||||
sTitle += LastDayToLocalizedString(i) + "\n";
|
||||
sData += ssprintf("%d",coins[i]) + "\n";
|
||||
iTotalLast += coins[i];
|
||||
}
|
||||
|
||||
sTitle += ALL_TIME.GetValue()+"\n";
|
||||
sData += ssprintf("%i\n", iTotalLast);
|
||||
|
||||
m_textData[0].SetText( "" );
|
||||
m_textData[1].SetHorizAlign( align_left );
|
||||
m_textData[1].SetText( sTitle );
|
||||
m_textData[2].SetText( "" );
|
||||
m_textData[3].SetHorizAlign( align_right );
|
||||
m_textData[3].SetText( sData );
|
||||
}
|
||||
break;
|
||||
case BookkeepingView_LastWeeks:
|
||||
{
|
||||
m_textTitle.SetText( ssprintf(LAST_WEEKS.GetValue(), NUM_LAST_WEEKS) );
|
||||
|
||||
int coins[NUM_LAST_WEEKS];
|
||||
BOOKKEEPER->GetCoinsLastWeeks( coins );
|
||||
|
||||
RString sTitle, sData;
|
||||
for( int col=0; col<4; col++ )
|
||||
{
|
||||
RString sTemp;
|
||||
for( int row=0; row<52/4; row++ )
|
||||
{
|
||||
int week = row*4+col;
|
||||
sTemp += LastWeekToLocalizedString(week) + ssprintf(": %d",coins[week]) + "\n";
|
||||
}
|
||||
|
||||
m_textData[col].SetHorizAlign( align_left );
|
||||
m_textData[col].SetText( sTemp );
|
||||
}
|
||||
}
|
||||
break;
|
||||
case BookkeepingView_DayOfWeek:
|
||||
{
|
||||
m_textTitle.SetText( DAY_OF_WEEK );
|
||||
|
||||
int coins[DAYS_IN_WEEK];
|
||||
BOOKKEEPER->GetCoinsByDayOfWeek( coins );
|
||||
|
||||
RString sTitle, sData;
|
||||
for( int i=0; i<DAYS_IN_WEEK; i++ )
|
||||
{
|
||||
sTitle += DayOfWeekToString(i) + "\n";
|
||||
sData += ssprintf("%d",coins[i]) + "\n";
|
||||
}
|
||||
|
||||
m_textData[0].SetText( "" );
|
||||
m_textData[1].SetHorizAlign( align_left );
|
||||
m_textData[1].SetText( sTitle );
|
||||
m_textData[2].SetText( "" );
|
||||
m_textData[3].SetHorizAlign( align_right );
|
||||
m_textData[3].SetText( sData );
|
||||
}
|
||||
break;
|
||||
case BookkeepingView_HourOfDay:
|
||||
{
|
||||
m_textTitle.SetText( HOUR_OF_DAY );
|
||||
|
||||
int coins[HOURS_IN_DAY];
|
||||
BOOKKEEPER->GetCoinsByHour( coins );
|
||||
|
||||
RString sTitle1, sData1;
|
||||
for( int i=0; i<HOURS_IN_DAY/2; i++ )
|
||||
{
|
||||
sTitle1 += HourInDayToLocalizedString(i) + "\n";
|
||||
sData1 += ssprintf("%d",coins[i]) + "\n";
|
||||
}
|
||||
|
||||
RString sTitle2, sData2;
|
||||
for( int i=(HOURS_IN_DAY/2); i<HOURS_IN_DAY; i++ )
|
||||
{
|
||||
sTitle2 += HourInDayToLocalizedString(i) + "\n";
|
||||
sData2 += ssprintf("%d",coins[i]) + "\n";
|
||||
}
|
||||
|
||||
m_textData[0].SetHorizAlign( align_left );
|
||||
m_textData[0].SetText( sTitle1 );
|
||||
m_textData[1].SetHorizAlign( align_right );
|
||||
m_textData[1].SetText( sData1 );
|
||||
m_textData[2].SetHorizAlign( align_left );
|
||||
m_textData[2].SetText( sTitle2 );
|
||||
m_textData[3].SetHorizAlign( align_right );
|
||||
m_textData[3].SetText( sData2 );
|
||||
}
|
||||
break;
|
||||
default:
|
||||
FAIL_M(ssprintf("Invalid BookkeepingView: %i", view));
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* (c) 2003-2004 Chris Danford
|
||||
* All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, and/or sell copies of the Software, and to permit persons to
|
||||
* whom the Software is furnished to do so, provided that the above
|
||||
* copyright notice(s) and this permission notice appear in all copies of
|
||||
* the Software and that both the above copyright notice(s) and this
|
||||
* permission notice appear in supporting documentation.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
|
||||
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
@@ -1,73 +0,0 @@
|
||||
/* ScreenBookkeeping - Show coin drop stats. */
|
||||
|
||||
#ifndef ScreenBookkeeping_H
|
||||
#define ScreenBookkeeping_H
|
||||
|
||||
#include "ScreenWithMenuElements.h"
|
||||
#include "BitmapText.h"
|
||||
|
||||
const int NUM_BOOKKEEPING_COLS = 4;
|
||||
|
||||
enum BookkeepingView
|
||||
{
|
||||
BookkeepingView_SongPlays,
|
||||
BookkeepingView_LastDays,
|
||||
BookkeepingView_LastWeeks,
|
||||
BookkeepingView_DayOfWeek,
|
||||
BookkeepingView_HourOfDay,
|
||||
NUM_BookkeepingView,
|
||||
BookkeepingView_Invalid,
|
||||
};
|
||||
|
||||
class ScreenBookkeeping : public ScreenWithMenuElements
|
||||
{
|
||||
public:
|
||||
virtual void Init();
|
||||
|
||||
virtual void Update( float fDelta );
|
||||
virtual bool Input( const InputEventPlus &input );
|
||||
|
||||
virtual bool MenuLeft( const InputEventPlus &input );
|
||||
virtual bool MenuRight( const InputEventPlus &input );
|
||||
virtual bool MenuStart( const InputEventPlus &input );
|
||||
virtual bool MenuBack( const InputEventPlus &input );
|
||||
virtual bool MenuCoin( const InputEventPlus &input );
|
||||
|
||||
private:
|
||||
|
||||
void UpdateView();
|
||||
|
||||
int m_iViewIndex;
|
||||
vector<BookkeepingView> m_vBookkeepingViews;
|
||||
|
||||
BitmapText m_textAllTime;
|
||||
BitmapText m_textTitle;
|
||||
BitmapText m_textData[NUM_BOOKKEEPING_COLS];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* (c) 2003-2004 Chris Danford
|
||||
* All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, and/or sell copies of the Software, and to permit persons to
|
||||
* whom the Software is furnished to do so, provided that the above
|
||||
* copyright notice(s) and this permission notice appear in all copies of
|
||||
* the Software and that both the above copyright notice(s) and this
|
||||
* permission notice appear in supporting documentation.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
|
||||
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
@@ -50,9 +50,6 @@ void ScreenContinue::BeginScreen()
|
||||
|
||||
bool ScreenContinue::Input( const InputEventPlus &input )
|
||||
{
|
||||
if( input.MenuI == GAME_BUTTON_COIN && input.type == IET_FIRST_PRESS )
|
||||
ResetTimer();
|
||||
|
||||
if( input.MenuI == GAME_BUTTON_START && input.type == IET_FIRST_PRESS && GAMESTATE->JoinInput(input.pn) )
|
||||
return true; // handled
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
#include "RageTextureManager.h"
|
||||
#include "MemoryCardManager.h"
|
||||
#include "NoteSkinManager.h"
|
||||
#include "Bookkeeper.h"
|
||||
#include "ProfileManager.h"
|
||||
#include "CodeDetector.h"
|
||||
#include "RageInput.h"
|
||||
@@ -1035,7 +1034,7 @@ class DebugLineWriteProfiles : public IDebugLine
|
||||
virtual RString GetPageName() const { return "Profiles"; }
|
||||
virtual void DoAndLog( RString &sMessageOut )
|
||||
{
|
||||
// Also save bookkeeping and profile info for debugging
|
||||
// Also save profile info for debugging
|
||||
// so we don't have to play through a whole song to get new output.
|
||||
if( g_ProfileSlot == ProfileSlot_Machine )
|
||||
GAMESTATE->SaveLocalData();
|
||||
|
||||
@@ -101,10 +101,7 @@ bool ScreenSelect::Input( const InputEventPlus &input )
|
||||
m_timerIdleComment.GetDeltaTime();
|
||||
m_timerIdleTimeout.GetDeltaTime();
|
||||
|
||||
/* Choices may change when more coins are inserted. */
|
||||
if( input.MenuI == GAME_BUTTON_COIN && input.type == IET_FIRST_PRESS )
|
||||
this->UpdateSelectableChoices();
|
||||
|
||||
|
||||
if( input.MenuI == GAME_BUTTON_START && input.type == IET_FIRST_PRESS && GAMESTATE->JoinInput(input.pn) )
|
||||
{
|
||||
// HACK: Only play start sound for the 2nd player who joins. The
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "global.h"
|
||||
#include "ScreenServiceAction.h"
|
||||
#include "ThemeManager.h"
|
||||
#include "Bookkeeper.h"
|
||||
#include "Profile.h"
|
||||
#include "ProfileManager.h"
|
||||
#include "ScreenManager.h"
|
||||
@@ -17,14 +16,6 @@
|
||||
#include "StepMania.h"
|
||||
#include "NotesLoaderSSC.h"
|
||||
|
||||
static LocalizedString BOOKKEEPING_DATA_CLEARED( "ScreenServiceAction", "Bookkeeping data cleared." );
|
||||
static RString ClearBookkeepingData()
|
||||
{
|
||||
BOOKKEEPER->ClearAll();
|
||||
BOOKKEEPER->WriteToDisk();
|
||||
return BOOKKEEPING_DATA_CLEARED.GetValue();
|
||||
}
|
||||
|
||||
static LocalizedString MACHINE_STATS_CLEARED( "ScreenServiceAction", "Machine stats cleared." );
|
||||
RString ClearMachineStats()
|
||||
{
|
||||
@@ -414,8 +405,7 @@ void ScreenServiceAction::BeginScreen()
|
||||
{
|
||||
RString (*pfn)() = NULL;
|
||||
|
||||
if( *s == "ClearBookkeepingData" ) pfn = ClearBookkeepingData;
|
||||
else if( *s == "ClearMachineStats" ) pfn = ClearMachineStats;
|
||||
if( *s == "ClearMachineStats" ) pfn = ClearMachineStats;
|
||||
else if( *s == "ClearMachineEdits" ) pfn = ClearMachineEdits;
|
||||
else if( *s == "ClearMemoryCardEdits" ) pfn = ClearMemoryCardEdits;
|
||||
else if( *s == "TransferStatsMachineToMemoryCard" ) pfn = TransferStatsMachineToMemoryCard;
|
||||
|
||||
@@ -444,14 +444,6 @@
|
||||
RelativePath="Screen.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ScreenBookkeeping.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ScreenBookkeeping.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ScreenContinue.cpp"
|
||||
>
|
||||
@@ -3944,14 +3936,6 @@
|
||||
RelativePath="AnnouncerManager.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Bookkeeper.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Bookkeeper.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="CharacterManager.cpp"
|
||||
>
|
||||
|
||||
@@ -371,7 +371,6 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)</Command>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Screen.cpp" />
|
||||
<ClCompile Include="ScreenAttract.cpp" />
|
||||
<ClCompile Include="ScreenBookkeeping.cpp" />
|
||||
<ClCompile Include="ScreenContinue.cpp" />
|
||||
<ClCompile Include="ScreenDebugOverlay.cpp" />
|
||||
<ClCompile Include="ScreenDemonstration.cpp" />
|
||||
@@ -777,7 +776,6 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)</Command>
|
||||
<ClCompile Include="RollingNumbers.cpp" />
|
||||
<ClCompile Include="Sprite.cpp" />
|
||||
<ClCompile Include="AnnouncerManager.cpp" />
|
||||
<ClCompile Include="Bookkeeper.cpp" />
|
||||
<ClCompile Include="CharacterManager.cpp" />
|
||||
<ClCompile Include="CommandLineActions.cpp">
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">HAVE_VERSION_INFO;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@@ -1685,7 +1683,6 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)</Command>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Screen.h" />
|
||||
<ClInclude Include="ScreenAttract.h" />
|
||||
<ClInclude Include="ScreenBookkeeping.h" />
|
||||
<ClInclude Include="ScreenContinue.h" />
|
||||
<ClInclude Include="ScreenDebugOverlay.h" />
|
||||
<ClInclude Include="ScreenDemonstration.h" />
|
||||
@@ -2098,7 +2095,6 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)</Command>
|
||||
<ClInclude Include="RollingNumbers.h" />
|
||||
<ClInclude Include="Sprite.h" />
|
||||
<ClInclude Include="AnnouncerManager.h" />
|
||||
<ClInclude Include="Bookkeeper.h" />
|
||||
<ClInclude Include="CharacterManager.h" />
|
||||
<ClInclude Include="CommandLineActions.h" />
|
||||
<ClInclude Include="CryptManager.h" />
|
||||
|
||||
@@ -123,9 +123,6 @@
|
||||
<ClCompile Include="ScreenAttract.cpp">
|
||||
<Filter>Screens</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ScreenBookkeeping.cpp">
|
||||
<Filter>Screens</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ScreenContinue.cpp">
|
||||
<Filter>Screens</Filter>
|
||||
</ClCompile>
|
||||
@@ -1293,9 +1290,6 @@
|
||||
<ClCompile Include="AnnouncerManager.cpp">
|
||||
<Filter>Global Singletons</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Bookkeeper.cpp">
|
||||
<Filter>Global Singletons</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CharacterManager.cpp">
|
||||
<Filter>Global Singletons</Filter>
|
||||
</ClCompile>
|
||||
@@ -1625,9 +1619,6 @@
|
||||
<ClInclude Include="ScreenAttract.h">
|
||||
<Filter>Screens</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ScreenBookkeeping.h">
|
||||
<Filter>Screens</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ScreenContinue.h">
|
||||
<Filter>Screens</Filter>
|
||||
</ClInclude>
|
||||
@@ -2825,9 +2816,6 @@
|
||||
<ClInclude Include="AnnouncerManager.h">
|
||||
<Filter>Global Singletons</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Bookkeeper.h">
|
||||
<Filter>Global Singletons</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CharacterManager.h">
|
||||
<Filter>Global Singletons</Filter>
|
||||
</ClInclude>
|
||||
|
||||
@@ -383,7 +383,6 @@ cl /Zl /nologo /c verstub.cpp /Fo"$(IntDir)"</Command>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Screen.cpp" />
|
||||
<ClCompile Include="ScreenAttract.cpp" />
|
||||
<ClCompile Include="ScreenBookkeeping.cpp" />
|
||||
<ClCompile Include="ScreenContinue.cpp" />
|
||||
<ClCompile Include="ScreenDebugOverlay.cpp" />
|
||||
<ClCompile Include="ScreenDemonstration.cpp" />
|
||||
@@ -789,7 +788,6 @@ cl /Zl /nologo /c verstub.cpp /Fo"$(IntDir)"</Command>
|
||||
<ClCompile Include="RollingNumbers.cpp" />
|
||||
<ClCompile Include="Sprite.cpp" />
|
||||
<ClCompile Include="AnnouncerManager.cpp" />
|
||||
<ClCompile Include="Bookkeeper.cpp" />
|
||||
<ClCompile Include="CharacterManager.cpp" />
|
||||
<ClCompile Include="CommandLineActions.cpp">
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">HAVE_VERSION_INFO;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@@ -1697,7 +1695,6 @@ cl /Zl /nologo /c verstub.cpp /Fo"$(IntDir)"</Command>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Screen.h" />
|
||||
<ClInclude Include="ScreenAttract.h" />
|
||||
<ClInclude Include="ScreenBookkeeping.h" />
|
||||
<ClInclude Include="ScreenContinue.h" />
|
||||
<ClInclude Include="ScreenDebugOverlay.h" />
|
||||
<ClInclude Include="ScreenDemonstration.h" />
|
||||
@@ -2110,7 +2107,6 @@ cl /Zl /nologo /c verstub.cpp /Fo"$(IntDir)"</Command>
|
||||
<ClInclude Include="RollingNumbers.h" />
|
||||
<ClInclude Include="Sprite.h" />
|
||||
<ClInclude Include="AnnouncerManager.h" />
|
||||
<ClInclude Include="Bookkeeper.h" />
|
||||
<ClInclude Include="CharacterManager.h" />
|
||||
<ClInclude Include="CommandLineActions.h" />
|
||||
<ClInclude Include="CryptManager.h" />
|
||||
|
||||
@@ -123,9 +123,6 @@
|
||||
<ClCompile Include="ScreenAttract.cpp">
|
||||
<Filter>Screens</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ScreenBookkeeping.cpp">
|
||||
<Filter>Screens</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ScreenContinue.cpp">
|
||||
<Filter>Screens</Filter>
|
||||
</ClCompile>
|
||||
@@ -1293,9 +1290,6 @@
|
||||
<ClCompile Include="AnnouncerManager.cpp">
|
||||
<Filter>Global Singletons</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Bookkeeper.cpp">
|
||||
<Filter>Global Singletons</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CharacterManager.cpp">
|
||||
<Filter>Global Singletons</Filter>
|
||||
</ClCompile>
|
||||
@@ -1625,9 +1619,6 @@
|
||||
<ClInclude Include="ScreenAttract.h">
|
||||
<Filter>Screens</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ScreenBookkeeping.h">
|
||||
<Filter>Screens</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ScreenContinue.h">
|
||||
<Filter>Screens</Filter>
|
||||
</ClInclude>
|
||||
@@ -2825,9 +2816,6 @@
|
||||
<ClInclude Include="AnnouncerManager.h">
|
||||
<Filter>Global Singletons</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Bookkeeper.h">
|
||||
<Filter>Global Singletons</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CharacterManager.h">
|
||||
<Filter>Global Singletons</Filter>
|
||||
</ClInclude>
|
||||
@@ -3130,4 +3118,4 @@
|
||||
<Filter>BaseClasses</Filter>
|
||||
</CustomBuildStep>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
+1
-70
@@ -57,7 +57,6 @@
|
||||
//#include "BackgroundCache.h"
|
||||
#include "UnlockManager.h"
|
||||
#include "RageFileManager.h"
|
||||
#include "Bookkeeper.h"
|
||||
#include "LightsManager.h"
|
||||
#include "ModelManager.h"
|
||||
#include "CryptManager.h"
|
||||
@@ -301,7 +300,6 @@ void ShutdownGame()
|
||||
SAFE_DELETE( NOTESKIN );
|
||||
SAFE_DELETE( THEME );
|
||||
SAFE_DELETE( ANNOUNCER );
|
||||
SAFE_DELETE( BOOKKEEPER );
|
||||
SAFE_DELETE( LIGHTSMAN );
|
||||
SAFE_DELETE( SOUNDMAN );
|
||||
SAFE_DELETE( FONT );
|
||||
@@ -1112,7 +1110,6 @@ int main(int argc, char* argv[])
|
||||
SOUNDMAN->Init();
|
||||
SOUNDMAN->SetMixVolume();
|
||||
SOUND = new GameSoundManager;
|
||||
BOOKKEEPER = new Bookkeeper;
|
||||
LIGHTSMAN = new LightsManager;
|
||||
INPUTFILTER = new InputFilter;
|
||||
INPUTMAPPER = new InputMapper;
|
||||
@@ -1235,63 +1232,6 @@ RString StepMania::SaveScreenshot( RString sDir, bool bSaveCompressed, bool bMak
|
||||
return sFileName;
|
||||
}
|
||||
|
||||
void StepMania::InsertCoin( int iNum, bool bCountInBookkeeping )
|
||||
{
|
||||
if( bCountInBookkeeping )
|
||||
{
|
||||
LIGHTSMAN->PulseCoinCounter();
|
||||
BOOKKEEPER->CoinInserted();
|
||||
}
|
||||
int iNumCoinsOld = GAMESTATE->m_iCoins;
|
||||
GAMESTATE->m_iCoins.Set( GAMESTATE->m_iCoins + iNum );
|
||||
|
||||
int iCredits = GAMESTATE->m_iCoins / PREFSMAN->m_iCoinsPerCredit;
|
||||
bool bMaxCredits = iCredits >= MAX_NUM_CREDITS;
|
||||
if( bMaxCredits )
|
||||
GAMESTATE->m_iCoins.Set( MAX_NUM_CREDITS * PREFSMAN->m_iCoinsPerCredit );
|
||||
|
||||
LOG->Trace("%i coins inserted, %i needed to play", GAMESTATE->m_iCoins.Get(), PREFSMAN->m_iCoinsPerCredit.Get() );
|
||||
if( iNumCoinsOld != GAMESTATE->m_iCoins )
|
||||
SCREENMAN->PlayCoinSound();
|
||||
else
|
||||
SCREENMAN->PlayInvalidSound();
|
||||
|
||||
/* If AutoJoin and a player is already joined, then try to join a player.
|
||||
* (If no players are joined, they'll join on the first JoinInput.) */
|
||||
if( GAMESTATE->m_bAutoJoin.Get() && GAMESTATE->GetNumSidesJoined() > 0 )
|
||||
{
|
||||
if( GAMESTATE->GetNumSidesJoined() > 0 && GAMESTATE->JoinPlayers() )
|
||||
SCREENMAN->PlayStartSound();
|
||||
}
|
||||
|
||||
// TODO: remove this redundant message and things that depend on it
|
||||
Message msg( "CoinInserted" );
|
||||
// below params are unused
|
||||
//msg.SetParam( "Coins", GAMESTATE->m_iCoins );
|
||||
//msg.SetParam( "Inserted", iNum );
|
||||
//msg.SetParam( "MaxCredits", bMaxCredits );
|
||||
MESSAGEMAN->Broadcast( msg );
|
||||
}
|
||||
|
||||
void StepMania::InsertCredit()
|
||||
{
|
||||
InsertCoin( PREFSMAN->m_iCoinsPerCredit, false );
|
||||
}
|
||||
|
||||
void StepMania::ClearCredits()
|
||||
{
|
||||
LOG->Trace("%i coins cleared", GAMESTATE->m_iCoins.Get() );
|
||||
GAMESTATE->m_iCoins.Set( 0 );
|
||||
SCREENMAN->PlayInvalidSound();
|
||||
|
||||
// TODO: remove this redundant message and things that depend on it
|
||||
Message msg( "CoinInserted" );
|
||||
// below params are unused
|
||||
//msg.SetParam( "Coins", GAMESTATE->m_iCoins );
|
||||
//msg.SetParam( "Clear", true );
|
||||
MESSAGEMAN->Broadcast( msg );
|
||||
}
|
||||
|
||||
/* Returns true if the key has been handled and should be discarded, false if
|
||||
* the key should be sent on to screens. */
|
||||
static LocalizedString SERVICE_SWITCH_PRESSED ( "StepMania", "Service switch pressed" );
|
||||
@@ -1320,21 +1260,12 @@ bool HandleGlobalInputs( const InputEventPlus &input )
|
||||
}
|
||||
return true;
|
||||
|
||||
case GAME_BUTTON_COIN:
|
||||
// Handle a coin insertion.
|
||||
if( GAMESTATE->IsEditing() ) // no coins while editing
|
||||
{
|
||||
LOG->Trace( "Ignored coin insertion (editing)" );
|
||||
break;
|
||||
}
|
||||
StepMania::InsertCoin();
|
||||
return false; // Attract needs to know because it goes to TitleMenu on > 1 credit
|
||||
default: break;
|
||||
}
|
||||
|
||||
/* Re-added for StepMania 3.9 theming veterans, plus it's just faster than
|
||||
* the debug menu. The Shift button only reloads the metrics, unlike in 3.9
|
||||
* (where it saved bookkeeping and machine profile). -aj */
|
||||
* (where it saved machine profile). -aj */
|
||||
bool bIsShiftHeld = INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_LSHIFT), &input.InputList) ||
|
||||
INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_RSHIFT), &input.InputList);
|
||||
bool bIsCtrlHeld = INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_LCTRL), &input.InputList) ||
|
||||
|
||||
@@ -20,10 +20,6 @@ namespace StepMania
|
||||
// If successful, return filename of screenshot in sDir, else return ""
|
||||
RString SaveScreenshot( RString sDir, bool bSaveCompressed, bool bMakeSignature, int iIndex = -1 );
|
||||
|
||||
void InsertCoin( int iNum = 1, bool bCountInBookkeeping = true );
|
||||
void InsertCredit();
|
||||
void ClearCredits();
|
||||
|
||||
void GetPreferredVideoModeParams( VideoModeParams ¶msOut );
|
||||
bool GetHighResolutionTextures();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user