From acb64bb4e561f15f3b89227d197c67179f065751 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Wed, 20 Jun 2012 12:57:53 -0500 Subject: [PATCH 1/7] fix small typos --- Themes/_fallback/Languages/ja.ini | 4924 ++++++++++++++--------------- 1 file changed, 2462 insertions(+), 2462 deletions(-) diff --git a/Themes/_fallback/Languages/ja.ini b/Themes/_fallback/Languages/ja.ini index 927b9ad88f..8f83fda142 100644 --- a/Themes/_fallback/Languages/ja.ini +++ b/Themes/_fallback/Languages/ja.ini @@ -1,2462 +1,2462 @@ -;Stepmania 5.0系本体用 _fallbackテーマ日本語化ファイルVer 1.06-E -;Last Second Hint→曲の終端 -;グルーブレーダーの用語を某AC音ゲー風に書き換え、少しだけ表現変えてあります -;エディットの左ヘルプの文章書き換え、お邪魔挿入ができなくなった?(要検証) -;Remove Keysoundに訳を当てる -;「チャート」って直訳なんですか^q^ (日本で言うところの「譜面」と判断) -;「シーケンス」→「譜面」の書き換え -;あとEdit関連の選択肢はもう日本語に置き換える方針で - -[Common] -WindowTitle=StepMania -StepMania=StepMania - -[LoadingWindow] -Couldn't open any loading windows.=読み込みウインドウが開けませんでした。 -Starting sound subsystem...=音声システム開始 -Initializing bookkeeper...=クレジット記録初期化中 -Starting lights subsystem...=サイドライト初期化中 -Loading game type...=ゲーム読み込み中 -Building song cache index...=譜面データベース生成中 -Loading banner cache...=バナー画像キャッシュ中 -Initializing memory card system...=メモリーカードポート初期化中 -Initializing character system...=フォント読み込み中 -Initializing profile system...=プロフィール読み込み中 -Updating popular song list...=人気曲リスト更新中 -Updating course rankings...=コースランキング更新中 -Initializing statics manager...=スタティックマネージャー初期化中 -Initializing message system...=メッセージシステム初期化中 - -[Arch] -Couldn't create a movie driver.=動画ドライバの生成に失敗しました。 -Input Handlers cannot be empty.=インプットハンドラが空になっています。 -Movie Drivers cannot be empty.=動画ドライバが空になっています。 -Sound Drivers cannot be empty.=音声ドライバが空になっています。 - -[ArchHooks_Unix] -Couldn't find 'Songs'=「Songs」フォルダの認識に失敗しました。 - -[CSMPackageInstallDlg] -Could not open file '%s'.=「%s」のオープンに失敗しました。 -Installing. Please wait...=インストール中です、しばらくお待ちください… -'%s' is not a valid zip archive.=「%s」は有効なsmzip圧縮ファイルではありません。 -Error opening source file '%s': %s=「%s」のオープンに失敗しました。: %s -Error opening destination file '%s': %s=アドレスファイル「%s」のオープンに失敗しました。: %s -Error copying file '%s': %s=「%s」のコピーに失敗しました。: %s -No Installations found. Exiting.=「%s」はインストールできるファイルではありません。 -Package installed successfully!=正常にインストールされました。 - -[CSmpackageApp] -The file Stats.xml has not yet been created. It will be created once the game is run.=Stats.xmlが見つかりません。一度Stepmaniaを通常起動してください。 -Failed to open '%s': %s=「%s」のオープンに失敗しました。: %s -The file '%s' does not exist. Aborting installation.=「%s」が見つかりません。インストールを終了します。 - -[CSmpackageExportDlg] -No items are checked.=パッケージするファイルが見つかりません。 -Successfully exported package '%s' to your Desktop.=デスクトップに「%s」をエクスポートしました。 -The following packages failed to export:=エクスポートに失敗しました。 -The following packages were exported to your Desktop:=エクスポートに成功しました。 - -[CatalogXml] -Saving %s ...=%sを更新しています… - -[CustomDifficulty] -Beginner=Novice -Easy=Easy -Medium=Medium -Hard=Hard -Challenge=Expert -Edit=Edit -Couple=Couple -Routine=Routine -# -Freestyle=Freestyle -Crazy=Crazy -Nightmare=Nightmare -HalfDouble=Half-Double - -[CourseDifficulty] -Beginner=Novice -Challenge=Expert -Hard=Hard -Easy=Easy -Edit=Edit -Medium=Medium - -[CourseEntryType] -Best=Players' Best -Fixed=Fixed Song -Random=Random Song -RandomWithinGroup=Random Song Within Group -Worst=Players' Worst - -[CourseType] -Endless=Endless -Nonstop=Nonstop -Oni=Oni -Survival=Survival - -[EditInstallations] -You must type a program directory before clicking Add.=Stepmaniaの存在するディレクトリを指定してください。 -'%s' is not a valid installation directory.=「%s」は有効なStepmaniaディレクトリではありません。 -[EditMenuAction] -Create=新規作成 -Delete=削除 -Edit=譜面エディット -Practice=練習 - -[EditMenu] -Blank=新規エディット譜面 -[EditMenuRow] -Action=操作 -Group=グループフォルダ -Song=曲 -SourceSteps=引用元の難易度 -SourceStepsType=引用元のスタイル -Steps=難易度 -StepsType=スタイル - -[GameButton] -Back=Back -Down=Down -Center=Center -DownLeft=DownLeft -DownRight=DownRight -Coin=Insert Coin -Left=Left -MenuDown=MenuDown -MenuLeft=MenuLeft -MenuRight=MenuRight -MenuUp=MenuUp -Operator=Operator -EffectUp=EffectUp -EffectDown=EffectDown -Right=Right -Select=Select -Start=Start -Up=Up -UpLeft=UpLeft -UpRight=UpRight -Key1=Key 1 -Key2=Key 2 -Key3=Key 3 -Key4=Key 4 -Key5=Key 5 -Key6=Key 6 -Key7=Key 7 -Scratch up=Scratch up -Scratch down=Scratch down -Fret1=Fret 1 -Fret2=Fret 2 -Fret3=Fret 3 -Fret4=Fret 4 -Fret5=Fret 5 -StrumUp=Strum Up -StrumDown=Strum Down -Tilt=Tilt -FootUpLeft=FootUpLeft -FootUpRight=FootUpRight -FootDown=FootDown -HandUpLeft=HandUpLeft -HandUpRight=HandUpRight -HandLrLeft=HandLrLeft -HandLrRight=HandLrRight - -[GameCommand] -Could not launch web browser.=ブラウザのオープンに失敗しました。 - -[GameState] -CPU=CPU -Player 1=Player 1 -Player 2=Player 2 - -[Headers] -Edit Courses=コースエディット -Edit Steps=譜面エディット -Jukebox=ジュークボックス -Log In=ログイン -Theme Options=テーマオプション -Network Options=ネットワークオプション -Export Packages=エクスポート -Select Character=キャラクターセレクト -Select Course=コースセレクト -Select Difficulty=難易度セレクト -Select Music=ミュージックセレクト -Select Style=プレイスタイルセレクト -Set Time=時刻合わせ -Summary=概要 -Test Input=入力テスト -Results=リザルト - -[HoldNoteScore] -Held=OK -LetGo=NG -None=None - -[InputMapper] -Connected=接続 -Disconnected=未接続 -Auto-mapping all joysticks.=ジョイスティックを自動認識します。 - -[Language] -Name=日本語 - -[LanguagesDlg] -Error parsing file '%s'.=「%s」の解析に失敗しました。 -Error reading '%s'.=「%s」の読み込みに失敗しました。 -Error reading line '%s' from '%s': Each line must have either 3 or 4 values. This row has %d values.=「%s」行目から「%s」の読み込みに失敗しました。すべての行に3か4つのデータが存在する必要があります。 -Error reading file '%s'.=「%s」の読み込みに失敗しました。 -Exported to your Desktop as '%s'.=デスクトップに「%s」を出力しました。 -Failed to save '%s'.=「%s」の保存に失敗しました。 -Imported %d strings into '%s'.\n - %d were added.\n - %d were modified\n - %d were unchanged\n - %d empty strings were ignored=%d行を「%s」に読み込みました。\n - %d行追加\n - %d行修正\n - %d行未変更\n - %d行無視 -Importing these strings will override all data in '%s'. Continue?=読み込むデータは「%s」を上書きします。続行しますか? -There are no strings to export for this language.=この言語で出力できる文字はありません。 -This will permanently delete '%s'. Continue?=「%s」を完全に消去します。続行しますか? - -[LowLevelWindow_X11] -Failed to establish a connection with the X server=X との接続の確立に失敗しました。 - -[MainMenuDlg] -'%s' cleared=「%s」を削除しました。 -'%s' doesn't exist. It will be created next time you start the game.=「%s」が存在しません。次回の起動で作成されます。 -'%s' is already cleared.=「%s」は既に削除されています。 -Failed to copy music file '%s' to '%s': %s=「%」の「%s」へのコピーに失敗しました。: %s -Failed to create directory '%s': %s=ディレクトリ「%s」の作成に失敗しました。: %s -Failed to create song directory '%s': %s=曲ディレクトリ「%s」の作成に失敗しました。: %s -Failed to create the song file '%s'.=曲ファイル「%s」の作成に失敗しました。 -Failed to delete file '%s'.=「%s」の削除に失敗しました。 -Failed to open '%s': %s=「%s」のオープンに失敗しました。: %s -Music file=曲ファイル -Success. Created the song '%s'.=「%s」の作成に成功しました。 -The song directory '%s' already exists. You cannot override an existing song.=「%s」が既に存在します。上書きはできません。 - -[MultiPlayer] -P1=P1 -P2=P2 -P3=P3 -P4=P4 -P5=P5 -P6=P6 -P7=P7 -P8=P8 -P9=P9 -P10=P10 -P11=P11 -P12=P12 -P13=P13 -P14=P14 -P15=P15 -P16=P16 -P17=P17 -P18=P18 -P19=P19 -P20=P20 -P21=P21 -P22=P22 -P23=P23 -P24=P24 -P25=P25 -P26=P26 -P27=P27 -P28=P28 -P29=P29 -P30=P30 -P31=P31 -P32=P32 - -[MusicWheel] -Portal=Portal -Random=Random -Roulette=Roulette -Empty=- EMPTY - - -ArtistText=アーティスト順 -BpmText=BPM順 -ChallengeMeterText=Expertの難易度順 -DoubleEasyMeterText=DPEasyの難易度順 -DoubleMediumMeterText=DPMediumの難易度順 -DoubleHardMeterText=DPHardの難易度順 -DoubleChallengeMeterText=DPExpertの難易度順 -EasyMeterText=Easyの難易度順 -GenreText=ジャンル順 -GroupText=グループ順 -HardMeterText=Hardの難易度順 -LengthText=曲の長さ順 -MediumMeterText=Mediumの難易度順 -PopularityText=人気順 -PreferredText=選曲率順 -TitleText=曲のタイトル順 -RecentText=最近追加された曲 -TopGradesText=最高グレード順 - -CoursesText=コース -AllCoursesText=全コース -NonstopText=レイヴコース -OniText=ONIコース -EndlessText=エンドレスコース -SurvivalText=サバイバルコース - -NormalModeText=ノーマルモード -BattleModeText=バトルモード - -[NetworkSyncManager] -Connection failed.=接続に失敗しました。 -Connection to '%s' successful.=「%s」への接続に成功しました。 -Connection to server dropped.=サーバへの接続が切れました。 -Initializing Client Network...=クライアントネットワークを初期化しています。 -Not Supported=このモードはネットワークでサポートされていません。 - -[NoteType] -4th=4th -8th=8th -12th=12th -16th=16th -24th=24th -32nd=32nd -48th=48th -64th=64th -192nd=192nd - -[OptionExplanations] - -AllowExtraStage=エクストラ・アンコールの有無を設定します。\nなおイベントモードがOnの時ははOn/Offに関わらずなくなります。 -AllowW1=Flawless判定の使用範囲を設定します。 -Announcer=アナウンサーを選択します。専用ファイルが必要です。 -Appearance Options=ゲームの外観に関するオプションです。 -Theme Options=テーマに関するオプション、またはテーマ固有のオプションです。 -ArcadeOptionsNavigation=「Arcade Style」にすると、オプションの説明が消えます。 -Assist=リズムキープ用の音を設定します。 -AttractSoundFrequency=アトラクトデモでの曲の流れ方を設定します。 -AutoMapOnJoyChange=初めて接続したゲームパッドのボタン配置を自動設定します。 -AutogenGroupCourses=インストールされている曲からコースを自動生成します。 -AutogenSteps=インストールされている曲から譜面を自動生成します。\nただし最低限1つは譜面が存在している必要があります。 -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=スコアデータを削除します。 -CoinMode=クレジットの設定をします。通常はFree Playを選択してください。 -CoinModeNoHome=ゲームスタート前から複数のプレイヤーが参加できるようになります。 -CoinsPerCredit=何コインを1クレジットにするかの設定です。 -Connection=Stepmania Onlineサーバに接続します。 -CourseSortOrder=コースのソートを調べます。 -CreateNew=譜面を新規作成します。 -Create New Course=新しいコースを作成します。。 -Create New Profile=新しいプロファイルを作成します。 -DancePointsForOni=ONIモードでのスコア表示形式を設定します。 -DefaultFailType=プレイ中のゲームオーバーの設定をします。 -DefaultFailTypeNoOff=複数人数でのプレイ中のゲームオーバーの設定をします。 -DefaultNoteSkin=通常使うノートスキンを設定します。\n必ずシミュレート中のゲームに対応するスキンを使用してください。 -DelayedBack=画面を戻るときに&BACK;ボタンを押す長さを設定します。 -DelayedTextureDelete=3Dテクスチャのキャッシュを取ります。メモリがかなり必要になります。 -Delete=オブジェを削除します。「Little」で4分以外のオブジェを、「No Jumps」で2つ押し、「No Hands」で3つ押し、\n「No Quads」で4つ以上押し、「No Stretch」でロングオブジェ、「No Rolls」でロール、\n「No Lifts」でリフトを、「No Fakes」でフェイクを削除します。 -Difficulty=譜面の難易度を設定します。 -DisplayAspectRatio=画面の比率を設定します。16:9か4:3をお勧めします。 -DisplayColorDepth=フルスクリーンモードでの有効色数を設定します。 -DisplayResolution=画面の解像度を設定します。 -EasterEggs=この設定をOnにして、Great以下を出さずに\n250コンボつなぐと…? -Edit Courses=コースの編集をします。 - -Edit Courses/Mods=コース、および譜面効果の設定をします。 -Edit Songs/Steps=曲の譜面を作成/編集します。 -Practice Songs/Steps=曲の練習ができます。 -EditorShowBGChangesPlay=Edit/練習モードで背景を表示するかどうかの設定です。 -Effect=「Drunk」でレーンが揺らぎ、「Dizzy」でオブジェが回転します。「Twirl」で画面の垂直方向に、\n「Roll」で鉛直方向に回転します。「Beat」は一拍ごとにレーンが振動し、「Tipsy」でレーンが上下に\n揺らぎます。「Tornado」でレーンがねじれ、「Bumpy」でオブジェに落ち着きがなくなります。 - - -EnableAttackSounds=おじゃまの開始時と終了時に効果音を発生させます。 -EnableMineHitSound=地雷を踏んだ時に効果音を発生させます。 -EventMode=Onにするとステージを失敗してもゲームオーバーにならなくなりますが、\nエクストラステージ・ワンモアエクストラステージも出現しなくなります。 -Exit=このオプションを終了し、別の画面に移行します。 -Fail=ステージを失敗したときの挙動を設定します。 -FastLoad=Onにすると、すでに存在する曲に変更が生じても読み込まなくなります。 -Fill Machine Stats= -Game=シミュレートするゲームを変更します。 -GetRankingName=ネーム入力画面の出方を設定します。 -Graphics/Sound Options=画面及び音声に関する設定です。 -Group=譜面を再生するグループを設定します。 -HiddenSongs=Onにすると「SELECTABLE」設定が\n「NO」になっている曲は選択できなくなります。 - - -Insert Credit=Insert Credit -Key Joy Mappings=キーコンフィグです。 -Language=使用する言語を設定してください。 -LifeDifficulty=ライフゲージの増減の度合を設定します。\n小さくすればするほど減少が大きく、回復が小さくなります。 -LifeType=ライフの方式を設定します。プレイ中Barは回復しますがBatteryは回復しません。 -Advanced Options=スコア、ライフや曲の解禁などに関する設定をします。 -MasterVolume=ゲーム自体の音量を設定します。\nなおこの設定で各曲の音量はノーマライズされません。 -HighResolutionTextures=テクスチャの解像度を設定します。 -MaxTextureResolution=テクスチャの最大解像度を設定します。 -MenuTimer=Onにすると、プレイ中の選択に時間制限が付きます。 -MoveRandomToEnd=「Random」を曲選択ホイールの最下層に追加します。 -MovieColorDepth=動画再生の有効色数を設定します。 -MusicWheelSwitchSpeed=曲選択ホイールが回転する速度を設定します。 -MusicWheelUsesSections=曲選択ホイールでのグループ分けの設定です。 -Network Options=Stepmania Onlineに関する設定です。 -No Memory Card=メモリーカードが認識されていません。 -NoteSkins=使用するノートスキンを設定します。\n必ずシミュレート中のモードに対応したスキンを使用してください。 -NumBackgrounds=ランダム背景を使う際に常に読み込む画像数を設定します。 -OnlyDedicatedMenuButtons=ゲーム用のボタンでメニューが操作できるようになります。\n特別なことがない限り「Use Gameplay Buttons」にしてください。 -OptionsRandomJukebox=ランダムでプレイオプションを設定して譜面を再生します。 -OsMountPlayer1= -OsMountPlayer2= - -Player1Profile=1Pとして使用するプロファイルを設定します。 -Player2Profile=2Pとして使用するプロファイルを設定します。 -PlayerAutoPlay=ONにするとCPUが代わりにプレイします。 -PreloadSounds=Yesにすると事前に音声ファイルを読み込むようになります。ある程度性能があれば快適にゲームプレイができますが、\n十分な性能がないと重くなります。 -Premium=Payモードでのプレミアムに関しての設定です。 -Profile=使用するプロファイルを選択してください。 -Export Packages=インストール済みのファイルを\nパッケージングしてエクスポートします。 -Profiles=保存されているプロファイルを編集します。 -ProgressiveLifebar=連続でミスをすると追加でライフバーが減る度合を設定します。 -ProgressiveNonstopLifebar=コースで連続でミスをすると追加でライフバーが減る度合を設定します。 -ProgressiveStageLifebar=高次ステージでミスをした時のライフバーの減る度合を設定します。\nイベントモードでは無効になります。 -ProTiming=シーケンスと音のズレを調整します。「はまり」の多い曲では使わないでください。 -RandomBackgroundMode=ランダム背景の設定をします。ランダム背景には専用のファイルが必要です。 -More Options=設定が見つからない際にはこの詳細な設定から探してみてください。 -RandomModifiers=譜面と判定ゾーンに特殊効果を追加します。 -Rate=曲の速度を変更します。「Haste」は曲中に少しずつ速度が変化します。 -RefreshRate=フルスクリーン時のリフレッシュレートを設定します。 -Reload Songs=曲とコースをリロードします。 -Remove=オブジェを削除する規則を設定します。このオプションを使用して出したスコアはスコア集計の対象になりません。 -Rename=名前を変更します。 -Reset To Defaults=すべてのオプションを初期値に戻します。 -SaveScores=Offでこのプレイをスコア集計から外すことができます。 -SaveReplays=リプレイを保存します。 -SaveStats=Stats.xmlを保存するようにします。 -ScoreDisplay=オンラインプレイ中にスコアを表示するようになります。 -Scoreboard=オンラインプレイのリザルトで他のプレイヤーの結果も見られるようになります。 -ScoringType=プレイの採点方式の設定です。\nテーマ固有の採点方式を選択する場合はSpecialを選択してください。 -Scroll=譜面のスクロールの仕方を設定します。 -ScreenFilter=数字を大きくするほど、譜面の裏に表示され譜面の視認性を上げるフィルターが濃くなります。 -Select Group=このグループに曲を追加します。 -Select Profile=プロファイルを選択します。 -Server=Stepmania Onlineローカルサーバを開始します。 -Servers=サーバーを指定します。 -ShowBanners=バナーを表示します。 -ShowBeginnerHelper=OnにするとNoviceモードで3Dキャラクターがお手本を行います。\n専用ファイルが必要です。 -ShowCaution=警告画面を表示します。 -ShowDancingCharacters=3Dキャラクターを表示します。\n専用ファイルがなければ特に設定の必要はありません。 -ShowDanger=ライフバーの量が少ない時の警告の表示方法を設定します。 -ShowInstructions=インストラクション画面を表示します。 -ShowLyrics=歌詞を表示します。譜面にLRC形式の歌詞が設定されている必要があります。 -ShowNativeLanguage=Romanizationを選択している場合、すべての曲が英字表記されます。 -ShowSelectGroup=モードセレクトの次に曲グループ画面を表示します。 -ShowSongOptions=プレイオプションへの入り方を設定します。 -ShowStats=Onにすると、fps、vfpsなどの数値が表示されるようになります。\nそれらの数字はStepmaniaの処理の速さの指標になります。 -SmoothLines=グルーブレーダーの滑らかさを設定します。 -Center1Player=Onにすると、1人プレイ時に判定ゾーンが中央に寄ります。 -SongsPerPlay=イベントモードが設定されていないときに\nStandardモードでプレイ可能な曲数を設定します。 -SoundEffect=曲を倍速にしているときにエフェクトをかけて発音するようになります。 -SoundResampleQuality=曲のサンプリング周波数を修正します。理解できる人だけ使用してください。 -SoundVolume=ゲーム中の効果音の音量を設定します。\nこの設定で効果音のノーマライズは行われません。 -SoundVolumeAttract=アトラクトデモの音量を変更します。 - -StepMania Credits=StepManiaの開発チームを紹介します。 -Steps=譜面 -Style=再生するプレイスタイルを設定します。 -Test Input=ジョイスティックの入力テストを行います。 -Test Lights=ライトセンサーの入力テストを行います。 -TextureColorDepth=テクスチャの有効色数を設定します。 -Theme=使用するテーマを設定します。\nStepmania3系向けのテーマは動作しません。\nStepmania4系向けのテーマは「portkit-sm4」を使うことで動作させられる可能性があります。 -TimingWindowScale=数字が大きいほど、入力判定が厳しくなります。 -Toggle Song=停止 - -Transfer Edits to USB=エディットをメモリーカードにエクスポートします。 -Transfer Edits from USB=エディットをメモリーカードからインポートします。 -UseUnlockSystem=アンロックシステムを使用可能にします。\n古いパッケージをプレイしない限りOffにすることを推奨します。 -VisualDelaySeconds=描画のタイムラグを調整します。 -Vsync=フルスクリーンモードでVsyncを取るようになります。 -WideScreen16_9=16:9のワイド画面にします。 -WideScreen16_10=16:10のワイド画面にします。 -Windowed=「Windowed」でウインドウモード、\n「Fullscreen」でフルスクリーンモードで動作します。 - -# -UI Options=インタフェースの設定です。 -Input Options=入力に関する設定です。 -Arcade Options=プレイに必要なクレジットや、ステージ数などを設定します。 -Select Game=シミュレートするゲームを選択します。 -System Direction=プレイに最低限必要な設定です。 - -# -OnlyPreferredDifficulties=難易度の選好です。 -# -PercentageScoring=スコア表示の方式を設定します。 - -# course -Select Course=エディットするコースを選択します。 -Max Minutes=コースの終わる時間を設定します。 -Choose Song=曲を選択します。 -Choose Steps=譜面を選択します。 - -Play=コースをプレイします。 -Save=コースを保存します。 -Edit Course=コースを編集します。 -Shuffle=曲をシャッフルします。 -# -GamePrefDefaultFail=ステージを強制終了するタイミングを設定します。通常は「Immidiate」で構いません。\nその他のオプションでは一曲プレイし続けられますが、ゲージが空になると\n「ImmidiateContinue」では回復しなくなり、「AtEnd」ではゲージが重くなります。 -# -UserPrefScoringMode=スコアの計算方式を設定します。 - -[OptionNames] -0=0 -0.25x=0.25x -0.3x=0.3x -0.4x=0.4x -0.5x=0.5x -0.6x=0.6x -0.7x=0.7x -0.75x=0.75x -0.8x=0.8x -0.9x=0.9x -1=1 -1.0x=1.0x -1.1x=1.1x -1.2x=1.2x -1.25x=1.25x -1.3x=1.3x -1.4x=1.4x -1.5x=1.5x -1.6x=1.6x -1.7x=1.7x -1.75x=1.75x -x1.75=1.75x -1.8x=1.8x -1.9x=1.9x -x2.25=2.25x -x2.5=2.5x -10=10 -11=11 -12=12 -12th=12th -13=13 -16bit=16bit -16th=16th -192nd=192nd -2=2 -2 Players for 1 Credit=Joint Premium -2 Times=2 Times -2.0x=2.0x -24th=24th -3=3 -3 Times=3 Times -32bit=32bit -32nd=32nd -4=4 -4 Times=4 Times -48th=48th -4th=4th -5=5 -5 Times=5 Times -6=6 -64th=64th -7=7 -8=8 -8th=8th -9=9 -Actual=実際値 -Add=Additive -All Music=All Music -AllDifficulties=All Difficulties -AllGroups=All Groups -Alternate=Alternate -Always=Always -Animations=Animations -Arcade Style=Arcade Style -Ask=Ask -AttackMines=AttackMines -Auto=Auto -Autogen To Fill Width=Autogen To Fill Width -AutosyncMachine=Autosync Machine -Average=Average -Average Feet=Average Objects -Backwards=Backwards -Baked Random=Baked Random -Bar=Bar -Battery=Battery -Beat=Beat -Beats=拍数 -Big=Big -Blind=Blind -Blink=Blink -BMRize=BMRize -Boomerang=Boomerang -Boost=Boost -Both=Both -Brake=Brake -Bumpy=Bumpy -C150=C150 -C300=C300 -CPU-Controlled=CPU -Centered=Centered -Choose=Choose -Clap=Clap -Clear Left=Clear Left -Clear Right=Clear Right -Collapse Left=Collapse Left -Collapse To One=Collapse To One -Compress 2x=Compress 2x -Compress 3->2=Compress 3->2 -Compress 4->3=Compress 4->3 -Confusion=Confusion -Connect=接続開始 -Copy Left To Right=左から右へコピー -Copy Right To Left=右から左へコピー -Courses Only=Courses Only -Create New=新規作成 -Cross=Cross -Custom=Custom -Dance Points=Dance Points -Dark=Dark -Default=Default -Default to Off=Default to Off -Default to Random=Default to Random -DifficultCourses=Difficult -Disconnect=接続終了 -Distant=Distant -Dizzy=Dizzy -Don'tSave=Don't Save -Double for 1 Credit=Double Premium -Drunk=Drunk -Dynamic Random=Dynamic Random -Echo=Echo -End of Song=End of Song -FailAtEnd=Fail at end -EffectSpeed=Speed -EffectPitch=Pitch -Event=Event Mode -Exit=戻る -Expand=Expand -Expand 2->3=Expand 2->3 -Expand 2x=Expand 2x -Expand 3->4=Expand 3->4 -Fast=Fast -Flat=Flat -Flip=Flip -Floored=Floored -Free Play=Free Play -Force Off=Off at all -Force On=On at all -Full Screen=Full Screen -Global BGAnimation=汎用BGA -Global Movie=汎用ムービー -Global Movie from Song Group=曲グループの汎用ムービー -Global Movie from Song Group and Genre=グループとジャンルの汎用ムービー -HIDE=判定ゾーン -Hallway=Hallway -Haste=Haste -Hidden=Hidden -HiddenOffset=Hidden Offset -Hide=Hide -High Quality=High Quality -Hold=Hold -HoldsToRolls=Holds To Rolls -Home=Home -Immediate=Immediate -ImmediateContinue=Delayed -Incoming=Incoming -Insanity=Insanity -Insert Entry=Insert Entry -Instant=Instant -Invert=Invert -Justice=Justice -Left=Left -LifeTime=Survival -Little=Little -Metronome=Metronome -Mines=Mines -Mini=Mini -Mirror=Mirror -N/A=N/A -Native Language=Native Language -Never=Never -New=New -NewEdit=-New Edit- -No=No -NoAttacks=No Attacks -NoHands=No Hands -NoHolds=No Holds -NoJumps=No Jumps -NoMines=No Mines -NoRolls=No Rolls -NoQuads=No Quads -NoRecover=No Recover -NoStretch=No Stretch -NoLifts=No Lifts -NoFakes=No Fakes -None=None -Normal=Normal -Num Songs=Num Songs -Off=Off -Old=Old -On=On -On (recommended)=On (recommended) -Only Dedicated Buttons=Only Dedicated Buttons -Overhead=Overhead -Pay=Pay -Percent=Percent -Planted=Planted -Press Start=Press Start -Quick=Quick -R.Vanish=R.Vanish -Random=ランダム -RandomAttacks=Random Attacks -RandomBG=Random Backgrounds -Random Movies=Random Movies -Ranking=Ranking -Ranking Songs=Ranking Songs -Really Fast=Really Fast -RegularCourses=Regular -Remove=Remove -Reverse=Reverse -Right=Right -Roll=Roll -Romanization=Romanization -SHOW=Show -Seconds=秒数 -Select=Select -Servers=Servers -Shift Left=Shift Left -Shift Right=Shift Right -Show=Show -Shuffle=Shuffle -Silent=Silent -Skip=Skip -Skippy=Skippy -Slow=Slow -SN2=Supernova 2 -SongAttacks=Step Attacks -StepAttacks=Step Attacks -Song BGAnimation=Song BGAnimation -Song Bitmap=Song Bitmap -Song Movie=Song Movie -Space=Space -Specified=設定値 -Split=Split -Standard=Standard -Start=Start -StaticBG=Static Background -Stealth=Stealth -StepMania Style=StepMania Style -Stomp=Stomp -Stop=Stop -Subtract=Subtractive -Sudden=Sudden -SuddenDeath=Sudden Death -SuddenOffset=Sudden Offset -SuperShuffle=Cement Mixer -SoftShuffle=Soft Shuffle -Swap Sides=Swap Sides -Sync Machine=Sync Machine -Sync Song=Sync Song -Sync Tempo=Sync Tempo -Tiny=Tiny -Tipsy=Tipsy -Title Only=Title Only -Tornado=Tornado -Total Feet=全オブジェ数 -Twirl=Twirl -Twister=Twister -Use Gameplay Buttons=Use Gameplay Buttons -Visible=Visible -Wave=Wave -Wide=Wide -Windowed=Windowed -Yes=Yes -x0.25=0.25x -x0.50=0.50x -x0.75=0.75x -x1=1x -x1.5=1.5x -x2=2x -x3=3x -x4=4x -x5=5x -x8=8x -PercentageScoring=スコアの表示形式 - -Tiny=Tiny -Bumpy=Bumpy -Beat=Beat -GKS=GKS -Cover=Cover -XMode=XMode -[OptionRowHandler] -Off=Off - -[OptionTitles] -Accel=アクセル -Add/Edit Background Change=背景チェンジの編集 -Air=滞空度 -AllowExtraStage=ボーナスビート -AllowW1=Flawless判定 -Alter=変更 -Announcer=アナウンサー -Appearance=オブジェ視認 -Appearance Options=デザインオプション -Theme Options=テーマ固有のオプション -ArcadeOptionsNavigation=オプションの解説 -Artist=アーティスト -Artist transliteration=アーティスト(英字) -Assist=アシスト音 -Attacks=おじゃま -AttractSoundFrequency=アトラクトデモの\nサウンド周波数 -AutoAdjust=ズレの自動修正 -AutoMapOnJoyChange=ジョイパッドの\n自動割り当て -AutoPlay=オートプレイ -AutogenGroupCourses=グループコースの\n自動生成 -AutogenSteps=ステップの\n自動生成 -BGBrightness=背景明度 -Background=背景 -BarDrain=バーの減り方 -BatLives=バッテリーの個数 -Base Difficulty=基本難易度 -Beat 0 Offset=0小節のオフセット -Bookkeeping=クレジット履歴 -Calibrate Machine Sync=音の同期 -CPUSkill=CPUのうまさ -CelShadeModels=セルシェード\nモデル -Center Image=画像を中央へ -Chaos=不規則度 -Characters=キャラクター -Chart Name=譜面の名前 -Chart Style=譜面の推奨プレイスタイル -Choose=選択 -Clear Bookkeeping Data=クレジット\n履歴の消去 -Clear Machine Edits=筐体エディットの消去 -Clear Machine Stats=筐体スコアの消去 -Clear USB edits=メモリーカード\nエディットの消去 -Clear area=エリア内のオブジェ削除 -Clear clipboard=クリップボード削除 -CoinMode=コインモード -CoinModeNoHome=コインモード -CoinsPerCredit=1クレジットの\nコイン数 -Connection=接続 -Convert pause to beats=停止を拍に -Convert delay to beats=低速を拍に -Convert selection to attack=選択範囲をおじゃまに -Convert selection to pause=選択範囲を停止に -Convert selection to delay=選択範囲を低速に -Convert selection to warp=選択範囲をワープに -Convert selection to fake=選択範囲をフェイクに -Copy=選択範囲をコピー -Copy timing data=タイミング設定をコピー -Copy Partial Timing=選択したタイミングデータをコピー -CourseSortOrder=コースのソート -Create New=新規作成 -Create New Course=新規作成 -Create New Profile=新規作成 -Credit=クレジット -Cut=選択範囲を切り取り -DancePointsForOni=Oniモードの\nスコア表記 -DefaultFailType=標準終了タイプ -DefaultFailTypeNoOff=標準終了タイプ -DefaultNoteSkin=標準ノートスキン -DelayedBack=背景の遅延 -DelayedTextureDelete=テクスチャの\nキャッシュ -Delete=削除 -Delete beat and shift up=1拍消して詰める -Description=説明 -Designate as Music Preview=プレビュー区間を解除 -Designate last second at current beat=終端を解除 -Difficulty=難易度 -Display BPM=表示BPM -DisplayAspectRatio=アスペクト比 -DisplayColorDepth=ディスプレイの\n有効色数 -DisplayResolution=ディスプレイの\n解像度 -Duration seconds=継続時間 -EasterEggs=イースターエッグ -Edit Songs/Steps=譜面の編集 - -Edit Courses/Mods=コース・譜面効果の追加 -Genre=ジャンル -Practice Songs/Steps=練習 -Edit Courses=コースエディット -Edit BPM change=BPM変化の編集 -Edit song info=曲情報の編集 -Edit steps information=譜面情報の編集 -Exit Edit Mode=編集終了 -Edit stop=譜面停止の設定 -Edit delay=譜面遅延の設定 -Edit Timing Data=タイミング情報の設定 -Edit time signature=拍子の編集 -Edit tickcount=ティックカウントの編集 -Edit combo=コンボの編集 -Edit label=ラベルの設定 -Edit warp=ワープの編集 -Edit speed (percent)=スピードの編集(パーセント) -Edit speed (wait)=スピードの編集(長さ) -Edit speed (mode)=スピードの編集(モード) -Edit scrolling factor=スクロール要素の編集 -Edit fake=フェイクオブジェの編集 -Editor options=オプション -EditorShowBGChangesPlay=背景の表示 -Erase step timing=タイミングの消去 -Effect=シーケンス効果 -EffectsReceptor=判定ゾーン効果 -EffectsArrow=オブジェ効果 -EnableAttackSounds=おじゃま音 -EnableMineHitSound=地雷音 -Entry %d=エントリー %d -EventMode=イベントモード -Exit=戻る -Fail=失敗 -Fakes=フェイク -FastLoad=ファストロード -File1 Global BGAnimation=ファイル1の汎用BGA -File1 Global Movie=ファイル1の汎用動画 -File1 Global Movie (Group + Genre)=ファイル1と同ジャンル・グループの汎用動画 -File1 Global Movie (Group)=ファイル1と同グループの汎用動画 -File1 Song BGAnimation=ファイル1のBGA -File1 Song Movie=ファイル1の動画 -File1 Song Still=ファイル1の背景 -File1 Type=ファイル1の種別 -File2 Global BGAnimation=ファイル2の汎用BGA -File2 Global Movie=ファイル2の汎用動画 -File2 Global Movie (Group + Genre)=ファイル2と同ジャンル・グループの汎用動画 -File2 Global Movie (Group)=ファイル2と同グループの汎用動画 -File2 Song BGAnimation=ファイル2のBGA -File2 Song Movie=ファイル2の動画 -File2 Song Still=ファイル2の背景 -File2 Type=ファイル2の種別 -Fill Machine Stats=Fill Machine Stats -Force Color 1=色1 -Force Color 2=色2 -Force Effect=背景切り替えエフェクト -Force Transition=背景の切り替わり方 -Freeze=押しっぱ度 -Game=Game -GetRankingName=ネーム入力 -Graphics/Sound Options=画像・音声オプション -Group=グループ -Hands=トリプル -HiddenSongs=隠し曲 -Hide=判定ゾーン -High Meter=High Meter -HighResolutionTextures=高解像度の\nテクスチャ -Holds=ロングノート -Insert=挿入 -Insert Credit=Insert Credit(s) -Insert beat and shift down=1拍挿入してシーケンスを下げる -Insert Entry=Insert Entry(s) -Invert notes' player=オブジェの変換 -Jumps=ジャンプ -Key Joy Mappings=キーマッピング -Language=使用言語 -Last second hint=曲の終端 -Layer=レイヤー -Lifts=リフト -LifeDifficulty=ライフバーの\n厳しさ -LifeType=ライフゲージの\nタイプ -Low Meter=Low Meter -Advanced Options=ゲームオプション -Main title=タイトル -Main title transliteration=タイトル(英字表記) -Max BPM=最大(表示)BPM -MaxTextureResolution=テクスチャの\n解像度 -MenuTimer=メニュータイマー -Meter=難易度 -Min BPM=最小(表示)BPM -Mines=地雷 -Mirror Player 1 to 2=1Pのノートを2Pにミラー -Mirror Player 2 to 1=2Pのノートを1Pにミラー -Modify Keysounds at current beat=オブジェにキー音をアサインする -MoveRandomToEnd=最後までランダム -More Options=詳細オプション -MovieColorDepth=ムービーの\n有効色数 -MusicWheelSwitchSpeed=ホイールの速度 -MusicWheelUsesSections=ホイールの\nセクション -Network Options=ネットワークオプション -No USB memory cards found=メモリーカードが見つかりません。 -NoteSkins=ノートスキン -NumBackgrounds=ランダム背景 -OptionsRandomJukebox=オプション -OnlyDedicatedMenuButtons=メニューボタン -OsMountPlayer1=筐体に1Pを規定 -OsMountPlayer2=筐体に2Pを規定 -Paste at begin marker=エリア開始マーカーを基準に貼り付け -Paste at current beat=現在の拍を基準に貼り付け -Paste timing data=タイミングデータを貼り付け -Paste Partial Timing at current beat=現在の拍に -Persp=流れ方 -Play current beat to end=現在の拍からテストプレイ -Play preview music=試聴曲を再生 -Play whole song=全体を再生 -Play mods from course=コースのMODを再生 -Play selection=選択範囲をテストプレイ -Player1Profile=1Pのプロファイル -Player2Profile=2Pのプロファイル -PlayerAutoPlay=オートプレイ -Predicted Meter=予想難易度 -Preferences=好み -PreloadSounds=音声の先読み -Premium=プレミアム -Preview Length=試聴の長さ -Preview Start=試聴スタート -Export Packages=エクスポート -Profile=プロファイル管理 -Profiles=プロファイル -ProgressiveLifebar=ライフバーの減り続き方 -ProgressiveNonstopLifebar=ノンストップでの\nライフバーの減り続き方 -ProgressiveStageLifebar=高次ステージの\nライフバーの減り方 -ProTiming=判定の表示 -Quads=クアッド -Quantize=整列 -RandomBackgroundMode=背景モード -RandomModifiers=MOD効果 -Rate=曲速度 -Record in selection=選択範囲で譜面を記録しながら再生 -RefreshRate=リフレッシュ\nレート -Reload Songs=ファイルのリロード -Remove=削除 -Remove Change=差分を削除 -Remove Keysound=キー音の削除 -Rename=名前の変更 -Reset To Defaults=オプションの初期化 -Revert from disk=ディスクからロード -Revert to last save=キャッシュからロード -Rolls=ロール -Save=保存 -SaveScores=スコアを保存 -SaveReplays=リプレイを保存 -SaveStats=設定を保存 -ScoreDisplay=スコア表示 -Scoreboard=スコアボード -ScoringType=スコア形式 -Scroll=スクロール -ScreenFilter=スクリーン\nフィルター -Secret=シークレット -Server=サーバ -Servers=サーバ -Set P1=1Pに設定 -Set P2=2Pに設定 -Set modifiers=MODを設定 -Set Mods=MODを設定 -Set selection start=エリアの始点を設定 -Set selection end=エリアの終点を設定 -Shift all timing changes down=すべてのタイミング設定を下へ -Shift all timing changes up=すべてのタイミング設定を上へ -ShowBanners=バナー表示 -ShowBeginnerHelper=お手本 -ShowCaution=警告画面 -ShowDancingCharacters=キャラクター -ShowDanger=危険表示 -ShowInstructions=説明表示 -ShowLyrics=歌詞表示 -ShowNativeLanguage=訳 -ShowSelectGroup=曲グループ -ShowSongOptions=プレイオプション\nの入り方 -ShowStats=ステータスの表示 -SmoothLines=滑らかな線 -SoundEffect=音声エフェクト -StepMania Credits=StepManiaの著作表記 -Center1Player=判定ゾーンの\n中央寄せ -Song=曲 -Song Group=曲グループ -Song Options=プレイオプション -SongsPerPlay=1プレイの通常曲数 -Sort=ソート -SoundResampleQuality=リサンプリング周波数 -SoundVolume=音量 -SoundVolumeAttract=アトラクトデモ音量 -Speed=シーケンス速度 -Step Author=譜面作者 -Steps=オブジェ数 -Stream=平均密度 -Style=スタイル -Sub title=サブタイトル -Sub title transliteration=サブタイトル(英字表記) -SuperGrowth=スーパーグロー -Tap Steps=通常オブジェ数 -Tempo=テンポ -Test Input=テスト入力 -Test Lights=ライトのテスト -TextureColorDepth=テクスチャの\n有効色数 -Theme=テーマ -TimingWindowScale=判定の厳しさ -Transform=変形 -Transfer Edits to USB=メモリーカードに\nエディット\nをエクスポート -Transfer Edits from USB=メモリーカードから\nエディットを\nインポート -Type=タイプ -Turn=ターン -Undo=アンドゥ -UseUnlockSystem=解禁システム -View steps data=譜面データの閲覧 -VisualDelaySeconds=映像の遅延 -Voltage=最大密度 -Vsync=Vsyncの同期 -WideScreen16_9=16:9のワイドスクリーン -WideScreen16_10=8:5のワイドスクリーン -Windowed=画面モード - -# -UI Options=プレイ画面オプション -Input Options=入力オプション -Arcade Options=クレジットオプション -Select Game=シミュレートするゲームの選択 -System Direction=最低限の設定 - -# -OnlyPreferredDifficulties=難易度の選好 -# -PercentageScoring=スコアの\nパーセント表記 - -Max Minutes=最大秒数 -Play=プレイ -Edit Course=コース編集 -Shuffle=シャッフル -# -GamePrefDefaultFail=曲の終了 -# -UserPrefScoringMode=スコアの計算方式 - - -[PaneDisplay] -Steps=オブジェ -Holds=ロング -Jumps=ジャンプ -Mines=地雷 -Rolls=ロール -Hands=手の使用 -MachineHigh=ハイスコア -EmptyMachineHighScoreName=マイベスト -NotAvailable=N/A - -[PlayMode] -Battle=Battle -Endless=Endless -Nonstop=Nonstop -Oni=Oni -Rave=Rave -Regular=Regular - -[AdjustSync] -%s BPM from %.3f BPM to %.3f BPM.=%s BPMを%.3fから%.3fに変更。 -Autosync Machine=システムの自動同期 -Autosync Song=曲の自動同期 -Autosync Tempo=テンポの自動同期 -Autosync: Correction NOT applied. Deviation too high.=標準偏差が信頼できる値ではありません。 -Autosync: Correction applied.=同期に成功しました。 -Global Offset from %+.3f to %+.3f (notes %s)=グローバルオフセットを%+.3fから%+.3fに変更。(%s) -Song offset from %+.3f to %+.3f (notes %s)=曲のオフセットを%+.3fから%+.3fに変更。(%s) -The stop segment #%d changed from %+.3fs to %+.3fs (change of %+.3f).=停止オブジェ#%dを%+.3fsから%+.3fsに変更。(%+.3f) -earlier=早い -later=遅い -Average Error %.5fs=平均エラー%.5fs -Etc.=その他 -%d taps ignored.=%dのオブジェが無視されました。 - -[ProfileAction] -Clear=消去 -Delete=削除 -Edit=編集 -Rename=リネーム -SetDefaultP1=1Pに設定 -SetDefaultP2=2Pに設定 - -[RadarCategory] -Air=Air -Chaos=Chaos -Freeze=Freeze -Hands=Hands -Holds=Holds -Jumps=Jumps -Mines=Mines -Rolls=Rolls -Stream=Stream -Taps=Taps -TapsAndHolds=TapsAndHolds -Voltage=Voltage -MinMidiNote=MinMidiNote -MaxMidiNote=MaxMidiNote - -[RageInput] -No input devices were loaded.=入力デバイスが検出できません。 - -[RageInputDevice] -Connected=接続 -Unplugged=未接続 -NeedsMultitap=マルチタップが必要 -NoInputHandler=入力ハンドラなし - -[RageSoundManager] -Couldn't find a sound driver that works=有効なサウンドドライバが見つかりません。 - -[RageUtil] -NumNd=nd -NumPrefix= -NumRd=rd -NumSt=st -NumTh=th - -[RoomWheel] -Enter room name=プレイルームの名前を設定してください。 -Empty=- EMPTY - - -[RoomInfoDisplay] -Last Round Info:=最後のプレイの情報: -Room Name:=名前: -Room Description:=説明: -Song Title:=タイトル: -Song Subtitle:=サブタイトル: -Song Artist:=アーティスト: -Players=プレイヤー: - -[SMPackageUtil] -Could not find '%s'.=「%s」が見つかりません。 -[Screen] -HeaderText= -[ScreenAppearanceOptions] -HeaderText=デザインオプション -HeaderSubText=Stepmaniaの外観に関するオプションです。 - -[ScreenOptionsGraphicsSound] -HeaderText=画像・音声オプション -HeaderSubText=画像と音声に関するオプションです。 - -[ScreenOptionsAdvanced] -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=プレイする周りには物を置かないようにしてください。また、近隣の迷惑にならないようにしてください。 - -[ScreenDebugOverlay] -%s in gameplay=%s:プレイ中 -Assist=アシストチック -AutoPlay=オートプレイ -Autosync=オートシンク -CPU=CPU -Clear Profile Stats=プロファイルのスコアを削除 -CoinMode=コインモード -Debug Menu=デバッグメニュー -Fill Profile Stats=プロファイルを正規化 -Flush Log=ログを流す -Force Crash=クラッシュ -Halt=停止 -Lights Debug=ライトのデバッグ -Machine=筐体 -Menu Timer=メニュータイマー -Monkey Input=モンキーインプット -Multitexture=マルチテクスチャ -Profile=プロファイル -Pull Back Camera=プルバックカメラ -Restart=リスタート -Reload=リロード -Reload Theme and Textures=テーマとテクスチャのリロード -Rendering Stats=レンダリング情報 -Screen Test Mode=スクリーンテスト -Send Off To Screen=画面更新を止める -Send On To Screen=画面更新を始める -Send Notes Ended=シーケンス終点を送信 -Show Masks=マスク -Slow=スロー -Song=曲 -Tempo=テンポ -Uptime=制限時間 -Visual Delay Down=画像遅延減少 -Visual Delay Up=画像遅延増加 -Volume Down=ボリュームダウン -Volume Up=ボリュームアップ -Vsync=Vsync -Write Preferences=設定の書き込み -Write Profiles=プロファイルの書き込み -off=オフ -on=オン -or=または -Zoom In Camera=ズームインカメラ - -[ScreenEdit] -%s notes=%sオブジェ -Can't undo - no undo data.=Undoできるほどのデータがありません。 -Do you want to revert from disk?=ディスクキャッシュから復元しますか?\n(ディスクの実データは読み込みません) -Do you want to revert to your last save?=最後に保存したところから復元しますか? -Do you want to save changes before exiting?=終了前に変更を保存しますか? -Enter a new BPM value.=BPMの値を指定してください。 -Enter a new Stop value.=停止秒数を指定してください。「0」で消えます。 -Enter a new Delay value.=遅延秒数を指定してください。「0」で消えます。\n停止と併用して同箇所で連続して譜面を止めることができます。 -Enter a new Time Signature.=曲の拍子数を「x/y」の形で指定してください。\n例)4/4 3/4 6/8 -Enter a new Tickcount value.=チックカウント(拍)を指定してください。\n一部アシストオプションで参照されます。 -Enter a new Combo value.=コンボの値を「x/y」の形で指定してください。 -Enter a new Label value.=この拍に貼るラベルを記述してください。 -Enter a new Warp value.=ワープする拍数を指定してください。 -Enter a new Speed percent value.=譜面のスクロール速度を割合(1で等倍)で指定してください。 -Enter a new Speed wait value.=譜面のスクロール速度を秒数で指定してください。 -Enter a new Speed mode value.=スピードを拍で指定するには「0」を、\n秒数で指定するには「1」を指定してください。 -Enter a new Scroll value.=スクロールの値を入力してください。 -Enter a new Fake value.=フェイクとして扱う拍の数を設定してください。 -Are you sure you want to erase this chart's timing data?=この譜面のタイミング情報を削除していいですか? -Enter a new artist transliteration.=アーティスト名を英字で入力してください。 -Enter a new artist.=アーティスト名を入力してください。 -Enter a new genre.=ジャンルを入力してください。 -Enter a new credit.=クレジットを入力してください。 -Enter a new description.=説明を入力してください。\nEditの場合は譜面名として曲選択画面で表示されます。 -Enter a new chart name.=シーケンス名を入力してください。\nEditの場合は説明が優先されます。 -Enter a new chart style.=推奨するプレイスタイルを入力してください。\n例)「足譜面(pad)」「手譜面(hand)」「指譜面(keyboard)」 -Enter a new meter.=シーケンスの難易度を設定してください。 -Enter the author who made this step pattern.=シーケンス製作者名を入力してください。 -Enter the offset for the song.=0拍目のオフセット値(秒)を入力してください。 -Enter a new last second hint.=曲の終端(拍数)を入力してください。\n-1にすると無効になります。 -Enter a new main title transliteration.=タイトルを英字表記で入力してください。 -Enter a new main title.=タイトルを入力してください。 -Enter a new sub title transliteration.=サブタイトルを英字表記で入力してください。 -Enter a new sub title.=サブタイトルを入力してください。 -Enter a new preview start.=試聴曲が始まる時間を入力してください。 -Enter a new preview length.=試聴曲の長さを入力してください。 -Enter a new min BPM.=表示される最小BPMを入力してください。 -Enter a new max BPM.=表示される最大BPMを入力してください。 -More than %d notes per measure is not allowed. This change has been reverted.=1小節に%d個のオブジェは置けません。修正してください。 -No backgrounds available=背景画像が存在しません。 -EditHelpText=↑/↓キー:\n 拍の変更\n←/→キー:\n 分数切り替え\n数字キー(1が一番左):\n 配置/除去\nN/Mキー:\n オブジェの種類変更\nCtrl + N/M:\n サイクルフラグ変更\nCtrl + ,/.:\n サイクル挿入\n数字キー押しっぱなし:\n ロングノート挿入\n  シフトキーも押してロールアロー\nスペースキー:\n  エリアマーカー設置\n\nUキー:アンドゥ\nTキー:拍モード/時間モード\nEnterキー:エリアメニュー呼出\nAキー:エリアメニュー2呼出\nEscキー:メインメニュー呼出\nF4:タイミングメニュー呼出\nF1:ヘルプ呼出\n -PlayRecordHelpText=Startボタンで終了 -Save successful.=正常に保存しました。 -Saved as SM and DWI.=SMとDWI形式で保存しました。 -Saved as SM.=SM形式で保存しました。 -Switched to=切り替えます: -The change has been reverted.=変更を取り消してください。 -This change creates more than %d notes in a measure.=この変更は1小節に%d個のオブジェを配置します。 -This change creates notes past the end of the music and is not allowed.=この変更は曲の終わった後にオブジェを配置します。使用できません。 -This will destroy all unsaved changes.=この操作は保存していない変更をすべて取り消します。 -Undo=Undo -You must be in Song Timing Mode to edit BG Changes.=背景を編集するには「T」キーを押してください。 -You must have an area selected to enter the Alter Menu.=エリアメニュー2に入るためにはエリアマーカーで区間を指定する必要があります。 - -Current beat=現在の拍 -Current second=現在の秒数 -Snap to=現在の分数 -Selection beat=選択している拍数 -Difficulty=難度 -Description=説明 -Chart Name=譜面の名前 -Chart Style=推奨プレイスタイル -Step Author=製作者 -Main title=タイトル -Subtitle=サブタイトル -Tap Note=配置オブジェ -Segment=サイクルフラグ -Tap Steps=通常オブジェ -Jumps=ジャンプ -Hands=手を要する配置 -Holds=ロングノート -Mines=地雷 -Rolls=ロール -Lifts=リフト -Fakes=フェイク -Timing Mode=タイミングモード -Step Timing=個別タイミング -Song Timing=全体タイミング -Beat 0 offset=オフセット -Preview Start=試聴の開始 -Preview Length=試聴の長さ -Help=ヘルプ -Info=情報 -Routine Player=ルーチンプレイヤー - -Track %d=(左から) %dレーン目のアサイン -None=無し -New Sound=新規にアサイン -Enter New Keysound File=キー音ファイルの名前を入力してください。\n特に長いファイルネームを間違わないようにしてください。 - - -[ScreenEditMenu] -HeaderText=譜面の編集 -HeaderSubText=曲に譜面を割り当て、編集できます。 -Continue with delete?=削除しますか? -Enter a description for this edit.=このエディットの説明を入力してください。 -ExplanationAction=譜面に対する操作を選択してください。 -ExplanationGroup=グループを選択してください。 -ExplanationSong=曲を選択してください。 -ExplanationSourceSteps=引用元の譜面を選択してください。 -ExplanationSourceStepsType=引用元の譜面のスタイルを選択してください。 -ExplanationSteps=譜面を選択してください。 -ExplanationStepsType=譜面のスタイルを選択してください。 -Profile name cannot be blank.=空のプロファイルは使用できません。 -The name you chose conflicts with another profile. Please use a different name.=プロファイル名が競合しています。別の名前にしてください。 -These steps are produced by autogen. You do not need to delete them.=自動出力された譜面です。削除できません。 -These steps will be lost permanently.=これらの譜面は完全に消去されます。 -This song is missing a music file and cannot be edited.=曲ファイルが見つからないのでエディットできません。 -The song directory is read-only and cannot be edited.=読み込み専用の曲/譜面です。エディットできません。 -Blank=新規譜面 - -[ScreenPracticeMenu] -HeaderText=練習 - -ExplanationGroup=曲グループを選択してください。 -ExplanationSong=練習する曲を選んでください。 -ExplanationAction=練習を開始します。 -ExplanationStepsType=練習をしたいプレイタイプを選んでください。 -ExplanationSteps=練習したいシーケンスを選択してください。 - -[ScreenEvaluation] -HeaderText=リザルト -HeaderSubText=Your dance was so great! - -[ScreenEvaluationSummary] -HeaderText=最終リザルト -[ScreenGameplay] -GiveUpAbortedText=Don't give up! -GiveUpStartText=START押しっぱなしであきらめる -GiveUpBackText=BACK押しっぱなしで戻る - -[ScreenGameplaySyncMachine] -Standard deviation=標準偏差 -New offset=新しいオフセット -Old offset=古いオフセット -Collecting sample=標本 - -[ScreenInstructions] -PlayMode_Regular title=How To Play -PlayMode_Regular instructions=オブジェが判定ゾーンに来た時に対応した入力をしてください。 -PlayMode_Nonstop title=Nonstop Mode -PlayMode_Nonstop instructions=いくつかの曲をゲージを持ち越して連続プレイするモードです。 -PlayMode_Oni title=Challenge Mode -PlayMode_Oni instructions=4回Good以下を出すと終了のモードです。オプションは使用できません。 -PlayMode_Endless title=Endless Mode -PlayMode_Endless instructions=ゲージの続く限りプレイし続けるモードです。 -PlayMode_Rave title=Rave Mode -PlayMode_Rave instructions=いくつかの曲をゲージを持ち越して連続プレイするモードです。 -PlayMode_Battle title=Battle Mode -PlayMode_Battle instructions=コンボをつなげて相手を邪魔しながらより多くのゲージを獲得してください。 -Hold instructions=ロングノートはオブジェが終わるまで入力を続ける必要があります。失敗するとゲージが減ります。 -Mine instructions=地雷を踏むとゲージが減少します。 - -[ScreenLegal] -Warning=Warning -BodyText=StepManiaはオープンソースです。\n\nStepmaniaの名称とロゴは法律によって保護されています。\n\n標準テーマを構成する要素は各著作者が権利を有します。\n\n詳しくはlicense.txtをご覧ください。 - -[ScreenMapControllers] -HeaderText=マップコントローラー -InvalidButton=そのキーを設定することはできません。 -%s slots=%sスロット - -[ScreenNetRoom] -Enter a description for the room:=プレイルームの説明を入力してください。 -Enter a password for the room (blank, no password):=パスワードを入力してください。\n設定しない場合は入室時に入力の必要がなくなります。 -Enter Room's Password:=パスワードを入力してください。 -HeaderText=StepMania Online -HeaderSubText=部屋選択 -HelpText=Ctrl+ENTER 決定 &BACK; 戻る &MENULEFT;&MENURIGHT; 選択 - -[ScreenNetSelectMusic] -HeaderText=曲選択 -HeaderSubText=曲を選択します。(英字)チャットの使用ができます。 -HelpText=Ctrl+ENTER 決定 &BACK; 戻る &MENULEFT;&MENURIGHT; 選択::&MENUUP; プレイヤーオプション &MENUDOWN; 難易度変更 - -[ScreenNetworkOptions] -Disconnected from server.=サーバから切断しました。 -Enter a network address.=サーバのアドレスを設定してください。 -Server failed: %s Code:%d=サーバーエラーが発生しました。%s エラーコード:%d -Use 127.0.0.1 to connect to yourself.=127.0.0.1で自身に接続します。 -Connect=Connect -Disconnect=Disconnect -ScoreOn=On -ScoreOff=Off -HeaderText=ネットワークオプション -HeaderSubText=Stepmania Onlineについての設定です。 - -[ScreenOptionsEditCourse] -The maximum number of entries per course is %d. This course already has %d entries.=1コースには%dエントリまでしか設定できません。 -You cannot delete the last entry in a course.=コースの最終エントリは削除できません。 - -[ScreenOptionsEditCourseEntry] -No songs loaded.=曲が読み込まれていません。 - -[ScreenOptionsManageCourses] -Continue with delete?=削除しますか? -Enter a name for the course.=コースの名前を設定してください。 -You have %d, the maximum number allowed.=すでに最大数である%dコースが存在しています。 -You must delete an existing before creating a new.=新規作成の前に既存コースを削除してください。 -Error renaming file.=ファイルネームの変更でエラーが発生しました。 -This course will be lost permanently.=このコースは完全に消去されます。 -Error deleting the file '%s'.=「%s」の削除でエラーが発生しました。 - -[ScreenOptionsManageEditSteps] -Enter a name for these steps.=譜面の名前を入力してください。 -These steps will be lost permanently.=譜面は完全に消去されます。 -You have %d step edits, the maximum number allowed.=すでに最大数である%d譜面が存在しています。 -You must delete an existing steps edit before creating a new steps edit.=新規作成の前に既存の譜面を削除してください。 -Continue with delete?=削除しますか? - -[ScreenOptionsCourseOverview] -Error saving course.=コースの保存でエラーが発生しました。 -Course saved successfully.=コースを保存しました。 -Enter a name for the course.=コースの名前を入力してください。 -Error renaming file.=ファイルネームの変更でエラーが発生しました。 -This course will be lost permanently.=コースは完全に削除されます。 -Continue with delete?=削除しますか? -Error deleting the file '%s'.=「%s」の削除でエラーが発生しました。 - -[NotesWriterSM] -Error renaming file. Destination file '%s' already exists.=変更後のファイルネーム「%s」がすでに存在します。 -Error writing file '%s'.=「%s」の書き込みに失敗しました。 - -[NotesWriterSSC] -Error renaming file. Destination file '%s' already exists.=変更後のファイルネーム「%s」がすでに存在します。 -Error writing file '%s'.=「%s」の書き込みに失敗しました。 - -[ScreenOptionsManageProfiles] -Are you sure you want to clear all data in the profile '%s'?=プロファイル「%s」のデータをすべて削除しますか? -Are you sure you want to delete the profile '%s'?=プロファイル「%s」を削除しますか? -Enter a name for the profile.=プロファイルの名前を入力してください。 -NewProfileDefaultName=New - -[ScreenOptionsMaster] -Exit=戻る - -[ScreenOptionsMasterPrefs] -Off=Off - -[ScreenOptionsMemoryCard] -Error mounting card: %s=メモリーカード「%s」の認識に失敗しました。 -(no label)=(ラベル未設定) -size ???=size ??? -%dMB=%dMB - -[ScreenOptionsService] -HeaderText=オプション -HeaderSubText=ゲームの設定です。 - -[ScreenPackages] -DL @ %d KB/s=DL @ %d KB/s -Download cancelled.=ダウンロードをキャンセルしました。 -Enter URL=URLを入力してください。 -Failed.=失敗しました。 -Failed to connect.=接続に失敗しました。 -File Already Exists=ファイルがすでに存在します、 -Header Sent.=ヘッダーを送信しました。 -Invalid URL.=無効なURLです。 -VisitURL=--Visit URL-- -Waiting for header.=ヘッダーを受信しています。 - -[ScreenPrompt] -OK=OK -No=いいえ -Yes=はい -Cancel=キャンセル - -[ScreenRanking] - -[ScreenSMOnlineLogin] -Each player needs a unique Profile.=すべてのプレイヤーがプロファイルを設定する必要があります。 -Enter your password.=パスワードを入力してください。 -No Styles are selectable.=プレイスタイルが選択できません、 -You are logging on as:=この名前でログインしています。: -You must define a Profile.=プロファイルを設定してください。 -HeaderText=オンラインにログイン -HeaderSubText=ログインに使用するプロファイルを選択してください。 -Depending on the server you're connected to, you may have to register for an account on their website.=接続しようとしているサーバーでは、事前に会員登録をしてアカウントを取得する必要があります。 - -[ScreenSaveSync] -Choosing NO will discard your changes.=「いいえ」を選択すると調節はキャンセルされます。 -Would you like to save these changes?=計測結果を保存しますか? -You have changed the timing of=この曲のタイミングデータを調節します。 - -[ScreenWithMenuElements] -; Put all help text in this one group and have metrics look up the strings here. That will help make sure -; that strings are in a consistent style and that strings aren't duplicated. -HelpTextNormal=&MENULEFT;&MENURIGHT; 選択 &START; 決定 -HelpTextSelectMusic=&MENULEFT;&MENURIGHT; 選択 &START; 決定 -HelpTextDifficultyPart=&UP;&UP; 一つ上のシーケンス &DOWN;&DOWN; 一つ下のシーケンス -HelpTextOptions=&MENUUP;&MENUDOWN; 選択 &MENULEFT;&MENURIGHT; 変更 &START; 決定 -HelpTextOptionsAndBack=&MENUUP;&MENUDOWN; 選択 &MENULEFT;&MENURIGHT; 変更 &START; 決定 &BACK; 破棄して戻る -HelpTextOptionsSimple=&MENUUP;&MENUDOWN; 変更 &START; 決定 -HelpTextOptionsSimpleAndBack=&MENUUP;&MENUDOWN; 選択 &START; 決定 &BACK; 破棄して戻る -HelpTextSort=&UP;&DOWN;&UP;&DOWN; ソートメニュー -HelpTextContinue=何かボタンを入力してください。Escキーで戻ります。 -HelpTextEvaluation=&START; 続ける -HelpTextScreenshot=&SELECT; スクリーンショット -HelpTextTestInput=何かボタンを入力してください。Escキーで戻ります、 -HelpTextTestLights=&MENULEFT;&MENURIGHT;ライトの光を循環させます。Escキーで戻ります。 -HelpTextTextEntry=キーボードのタイプ(例:106、109)を入力します。Enterキーで設定します。 -HelpTextMapControllers=矢印キーを設定します。ENTERキーで設定、SPACEキーで削除します。Escキーで終了します。 -HelpTextOnline=日本サーバはsmojp.ath.cxです。一度接続そのもののテストを行うことを推奨します。\n詳しくはstepmaniaonline.com(英語)を参照してください。 -HelpTextNetSelectMusic=Ctrl+Enter 決定&UP; プレイヤーオプション -HelpTextBookkeeping=&MENULEFT;&MENURIGHT; 周回データ Escキーで戻ります。 - -[ScreenSelectGame] -HeaderText=シミュレートするゲームの選択 -HeaderSubText=お好みのゲームタイプを選択してください。 - -[ScreenSelectGroup] -ALL MUSIC=ALL MUSIC!!! - -[ScreenSelectMusic] -HeaderText=曲セレクト -HeaderSubText=お好みの曲を選択してください。 - -[ScreenSelectCourse] -HeaderText=コースセレクト - -[ScreenSelectGroup] -HeaderText=グループセレクト - -[ScreenSelectStyle] -HeaderText=スタイルセレクト -HeaderSubText=プレイスタイルを選択してください。 - -[ScreenSelectPlayMode] -NormalExplanation=お気に入りの曲でキメろ! -NonstopExplanation=テーマに沿った曲たちをプレイし続けろ! -ChallengeExplanation=高難度モードだ! -SurvivalExplanation=ライバルと競え! -EndlessExplanation=ひたすら生き残れ! -HeaderText=モードセレクト -HeaderSubText=モードを選択してください。 - -[ScreenServiceAction] -%d added=%d追加 -%d copied=%dコピー -%d overwritten=%d上書き -%d deleted=%d削除 -%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.=メモリーカードがありません。削除は失敗しました。 -Edits not copied - No memory cards ready.=メモリーカードがありません。コピーは失敗しました。 -Error saving machine stats to P%d card.=P%dのメモリーカードに設定を保存できませんでした。 -Machine stats cleared.=設定を消去しました。 -Machine stats loaded from P%d card.=P%dのメモリーカードから設定をロードしました。 -Machine stats saved to P%d card.=P%dのメモリーカードに設定を保存しました。 -Preferences reset.=リセットしました。 -Stats not loaded - No memory cards ready.=メモリーカードがありません。ロードは失敗しました。 -Stats not saved - No memory cards ready.=メモリーカードがありません。保存は失敗しました。 -The profile on P%d card contains corrupt or tampered data.=P%dのメモリーカードに保存されているプロファイルは不正データです。 -There is no machine profile on P%d card.=P%dのメモリーカードにプロファイルが存在しません。 - -[ScreenSyncOverlay] -AutoPlay=オートプレイ -AutoPlayCPU=CPUのオートプレイ -AutoSync Machine=グローバルオフセットの調整 -AutoSync Song=オフセットの調整 -AutoSync Tempo=テンポの調整 -Can't sync while playing a course.=コースプレイ中は調整できません。 -Sync changes reverted.=変更はキャンセルされました。 -Revert sync changes=変更はキャンセルされました。 -Current BPM - smaller/larger=現在のBPMがずれています。 -Song offset - notes earlier/later=オフセットがずれています。 -Machine offset - notes earlier/later=グローバルオフセットがずれています。 -(hold Alt for smaller increment)=(Alt押しっぱなしで数値の差を緩やかに) -Old offset=旧オフセット -New offset=新オフセット -Collecting sample=標本 -Standard deviation=標準偏差 - -[ScreenSystemLayer] -CreditsCardChanged=カード入れかえ -CreditsCardChecking=カードチェック -CreditsCardMountFailed=カード認識エラー -CreditsCardNoName=NO NAME -CreditsCardReady=READY -CreditsCardRemoved=カードなし -CreditsCardTestFailed=カード保存エラー -CreditsCardTooLate=低速カード -CreditsCredits=Credit(s) -CreditsMax=(MAX) -CreditsFreePlay=フリープレイ -CreditsInsertCard=カード挿入 -CreditsLoadFailed=署名不正 -CreditsLoadedFromLastGoodAppend= (Back Up) -CreditsNotPresent=NOT PRESENT -CreditsPressStart=PRESS START - -[ScreenTestFonts] -# W is annoying: -Text1=WWWWWWWWWWWW -# Realistic excerpt: -Text2=The argument goes something like this: &oq;I refuse to prove that I exist,&cq; says God, &oq;for proof denies faith, and without faith I am nothing.&cq;::::&oq;But,&cq; says Man, &oq;The Babel fish is a dead giveaway, isn't it? It could not have evolved by chance. It proves you exist, and so therefore, by your own arguments, you don't. QED.&cq;::::&oq;Oh dear,&cq; says God, &oq;I hadn't thought of that,&cq; and promptly vanished in a puff of logic. -# Numbers test: -Text3=01234567890 ::100.00% 12345% 9:00 50/100 -# General symbol test, and test alignment against another font. -Text4=$50% (Test) "test's" &oq;test's&cq;, #1! 1+2-3*4/5.6::3:00 a; b; 5<6 6>5 2^3=8 Why? test@example.com::[Foo] {bar} Press &START; 3|4 &oq;1_2_3&cq; -Text5=2バイト文字のテスト。全角の2は標準のフォントでは化けます。基本的には日本語フォントの導入をお勧めしますが、1バイト文字との整形上の問題があります。 - -[ScreenTestInput] -Controller=コントローラ -not mapped=未マップ -secondary=セカンダリ - -[ScreenTestLights] -Auto Cycle=オートサイクル -Manual Cycle=マニュアルサイクル -cabinet light=キャビネットライト -controller light=コントローラライト - -[ScreenTextEntry] -Backspace=BackSpace -Cancel=キャンセル -Done=終了 -HeaderText= -Space=Space -"%s" is an invalid floating point value.=「%s」は無効な浮動小数点です。 -AnswerCaret=_ -AnswerBlank= - -[ScreenTitleMenu] -%d songs in %d groups=プレイアブル%d曲(%dグループ) -%d courses in %d groups=%dコース(%dグループ) -%d unlocks=アンロック%d -Gametype:=ゲームタイプ -Difficulty:=難度 -Announcer=アナウンサー -Play Online=ネットワークプレイ -Edit/Share=エディット/共有 -Exit=終了 -Game Start=ゲームスタート -Jukebox=ジュークボックス -Select Game=ゲームセレクト -Theme=テーマ -Credits=クレジット -Options=オプション -Setup=クイックセットアップ - -[SmpackageExportDlg] -Error adding file '%s'.=「%s」の追加でエラーが発生しました。 - -[SongManager] -Loading courses...=コース読み込み中 -Loading songs...=曲読み込み中 -Reloading...=リロード中 -Unloading songs...=ロード解除中 -Unloading courses...=ロード解除中 -The folder "%s" appears to be a song folder. All song folders must reside in a group folder. For example, "Songs/Originals/My Song".=「%s」は曲フォルダです。曲フォルダはグループフォルダの中に配置してください。 - -[SongUtil] -You must supply a name for your new edit.=エディットの名前を設定してください。 -The name you chose conflicts with another chart. Please use a different name.=他のシーケンスと名前が重複しています。別の名前を設定してください。 -The name you chose conflicts with another edit. Please use a different name.=他のシーケンスと名前が重複しています。別の名前を設定してください。 -The chart name cannot contain any of the following characters: %s=シーケンス名に次のような文字は使用できません。:%s -The edit name cannot contain any of the following characters: %s=シーケンス名に次のような文字は使用できません。: %s -The step author's name cannot contain any of the following characters: %s=製作者名に次のような文字は使用できません。: %s - -[SongSort] -FewestPlays=プレイ回数の少なさ -LowestGrades=最高グレードの低さ -MostPlays=プレイ回数の多さ -Randomize=ランダム -TopGrades=最高グレードの高さ - -[Sort] -NotAvailable=N/A -Other=その他 - -[SortOrder] -AllCourses=全コース -Artist=アーティスト -BPM=BPM -Endless=エンドレス -Genre=ジャンル -Group=グループ -ModeMenu=モードメニュー -Nonstop=レイヴ -Oni=ONI -Popularity=プレイヤーべスト -Preferred=選好 -Title=タイトル -TopGrades=最高グレードの高さ -Roulette=ルーレット -Length=長さ -Recent=最近プレイした曲 -BeginnerMeter=Novice難易度 -EasyMeter=Easy難易度 -MediumMeter=Medium難易度 -HardMeter=Hard難易度 -ChallengeMeter=Challenge難易度 -DoubleEasyMeter=DPEasy難易度 -DoubleMediumMeter=DPMedium難易度 -DoubleHardMeter=DPHard難易度 -DoubleChallengeMeter=DPChallenge難易度 - -[StepMania] -Announcer=アナウンサー -Couldn't open any loading windows.=ローディング画面のオープンに失敗しました、 -Fullscreen=フルスクリーン -Initializing %s...=初期化中%s… -No video renderers attempted.=対応ビデオレンダラを発見できませんでした。 -NoSmoothLines=スムースラインOFF -NoVsync=VsyncOFF -Please do not file this error as a bug! Use the web page below to troubleshoot this problem.=このエラーをバグとして報告しないでください。sm-ssc公式ページのトラブルシューティングを参照してください。 -Service switch pressed=サービススイッチが押されました。 -SmoothLines=スムースライン -There was an error while initializing your video card.=ビデオカードの初期化でエラーが発生しました。 -Unknown video renderer value: %s=「%s」はビデオレンダラの不明な数値です。 -Video Driver: %s=ビデオドライバ:%s -Vsync=Vsync -Windowed=ウインドウモード -color=色 -texture=テクスチャ - -[StepsType] -dance-couple=couple -dance-double=double -dance-single=single -dance-solo=solo -dance-threepanel=3panel -dance-routine=routine -lights-cabinet=Lights -# SSC -Dance_Single=Single -Dance_Double=Double -Dance_Threepanel=3 Panels - -[TapNoteScore] -AvoidMine=地雷回避 -HitMine=地雷爆発 -Miss=ミス -CheckpointMiss=ホールド失敗 -CheckpointHit=ホールド成功 -None=None -W1=Flawless -W2=Perfect -W3=Great -W4=Good -W5=Boo - -[ThemeManager] -Reloaded metrics=CGのリロード -Reloaded metrics and textures=CGとテクスチャのリロード -Reloaded scripts=スクリプトのリロード -Reloaded overlay screens=オーバーレイのリロード - -[WorkoutManager] -You must supply a name for your workout.=ワークアウトに名前をつけてください。 -The name you chose conflicts with another workout. Please use a different name.=他のワークアウトと名前が重複しています。 -The workout name cannot contain any of the following characters: %s=ワークアウトの名前に次のような文字は使えません。: %s -%d/%d songs enabled=%d/%d曲プレイ可能 - -[Dialog-Add A Comment] -Add A Comment=コメント追加 -Cancel=キャンセル -OK=OK -Package Comment=パッケージのコメント -You can add a message to display before a user installs your package.=パッケージのインストール前にコメントを表示することができます。 -Show a comment=コメント表示 -Don't display this dialog in the future=次からは表示しない - -[Dialog-Change Game Settings] -Cancel=キャンセル -Change Game Settings=設定の変更 -Default (recommended)=デフォルト(推奨) -Direct3D=Direct3D -DirectSound Hardware=DirectSoundハードウェア -DirectSound Software=DirectSoundソフトウェア -Graphics API=グラフィックAPI -Log to Disk=ログを取る -Other=その他 -Force 60Hz Refresh=リフレッシュレートを60Hzで取る -Null (no sound)=Null (無音) -OK=OK -OpenGL=OpenGL -Show Log Window=ログウインドウの表示 -Sound API=サウンドAPI -Tip: Change these only if you experience problems when using the default settings.=デフォルト設定でエラーが出たときのみ、この設定を変更してください。 -WaveOut=WaveOut - -[Dialog-Create Language] -Cancel=キャンセル -Choose a language=言語選択 -Create Language=言語作成 -OK=OK - -[Dialog-Edit Installations] -Add=追加 -Add New Installation=インストールする -Cancel=キャンセル -Current Installations=インストール -Current Installations (the top installation is the default)=インストール -Edit Installations=インストールの編集 -Enter the complete path to a StepMania or DWI installation\ne.g. "C:\Program Files\StepMania"=譜面ファイルをインストールする場所をフルパス記述してください。 -Make Default=デフォルトで作成 -OK=OK -Remove=取り除く -The top installation is the default.=一番上のインストールはデフォルトです。 - -[Dialog-Export Packages] -Close=閉じる -Edit Installations=インストールの編集 -Export As Individual=個別エクスポート -Export As Oneまとめてエクスポート -Export Packages=パッケージのエクスポート -Installation=インストール -Launch Game=ゲームの起動 -Open Program Folder=プログラムフォルダを開く -Select Installation:=インストールを選択してください。 -Tree2=Tree2 - -[Dialog-Language Translations] -1) Create a new language\n2) Export the theme strings to a CSV\n3) Edit the CSV using Excel or a text editor\n4) Import the CSV file back into the same language=1)言語を新規作成してください。\n2)テーマの記述をCSV形式で出力してください\n3)Excelやテキストエディタで編集してください\n4)CSVファイルをインポートしてください -Check Language=言語チェック -Close=閉じる -Create Language=言語作成 -Delete Language=言語削除 -Export CSV=CSVをエクスポート -Export already translated strings=すでに翻訳されたものをエクスポート -Import CSV=CSVをインポート -Language Translations=翻訳 -Languages=言語 -Need translation:=翻訳が必要なもの -Selection details=選択したものの詳細 -Themes=テーマ -Total Strings:=全文章数 - -[Dialog-StepMania Tools] -Close=閉じる -Export As Individual=個別エクスポート -Export As One=まとめてエクスポート -Export Packages=パッケージのエクスポート -Launch Game=ゲームを起動 -Open Program Folder=プログラムフォルダを開く -Select Installation:=インストールの選択 -StepMania Tools=StepManiaツール -Tree2=Tree2 - -[Dialog-StepMania Tools Main Menu] -Change Preferences=設定の変更 -Change the graphics API, sound API, and other settings that the game will use.=ゲームで使用する画像/音声APIを選択してください。 -Clear Mappings=マップの削除 -Clear Preferences=設定の削除 -Clear all preferences if you've made changes and the game won't start.=ゲームが起動しないときは、設定を削除してみてください。 -Create .smzip package files to share with other users.=SMZIPパッケージを出力します。 -Create .smzip package files to share with other users. Packages can contain songs, courses, themes, backgrounds, and more.=SMZIPパッケージにはStepmaniaフォルダに存在するものを組み込むことができます。 -Create Song=曲を作成 -Create a new or manage existing language translations.=言語ファイルを管理します。 -Create a new song in from your favorite mp3 or ogg music file.=mp3やoggファイルからシーケンスのひな形を作成します。 -Create and Share=作成と共有 -Edit Installations=インストールの編集 -Erase all of your keyboard and joystick mappings if you've made a mistake.=キーマッピングに失敗したとき、キーマップを初期化することができます。 -Exit=終了 -Export Packages=パッケージのエクスポート -Installation=インストール -Languages=言語 -Launch Game=ゲームの起動 -Open Preferences=設定を開く -Open the preferences file to make changes by hand.=設定ファイルを開いて直接書き換えます。 -StepMania Tools Main Menu=StepMania Tools メインメニュー -Troubleshooting=トラブルシューティング - -[ChangeGameSettings] -Error writing file '%s': %s=「%s」の書き込みに失敗しました。: %s - -[Dialog-Name Your Package] -Name Your Package=名前の設定。 -Enter a name for your new package:=パッケージの名前を設定してください。 -OK=OK -Cancel=Cancel -Note: leave off the ".smzip" extention=smzipエクステンションを無効にしてください。 - -[Dialog-Install a package] -Finish >=Finish > -Cancel=Cancel -< Back=< Back -Install a package=パッケージのインストール -Edit Installations=インストールの設定 -You have chosen to install the package:=インストールするパッケージを選択してください。 -This package contains the following files:=このパッケージは次のファイルを内包しています。 -The package will be installed in the following program folder:=パッケージは次のフォルダにインストールされます。 - -[PlayerNumber] -P1=P1 -P2=P2 - -[UnlockRewardType] -Song=Song -Steps=Steps -StepsType=StepsType -Course=Course -Modifier=Modifier - -[RageDisplay_Legacy] -Obtain an updated driver from your video card manufacturer.=ビデオカードを更新してください。 -GLDirect was detected. GLDirect is not compatible with this game and should be disabled.=GLDirectが検出されました。GLDirectはStepmaniaでは無効にする必要があります。 - -[RageDisplay_D3D] -DirectX 8.1 or greater is not installed. You can download it from:=DirectX 8.1以上が検出できません。 -Your system is reporting that Direct3D hardware acceleration is not available. Please obtain an updated driver from your video card manufacturer.=Direct3Dのハードウェアアクセラレーションが使用できません。 - -[RageDisplay] -SetVideoMode failed:=ビデオモードの設定に失敗しました。 - -[Dialog-Prompt] -Prompt=Prompt -OK=OK -&Don't display this message again=&Don't display this message again -Error=Error - -[Dialog-Uninstall Old Packages] -Uninstall Old Packages=古いパッケージをアンインストールしますか? -&Yes=&Yes -&No=&No -Cancel=Cancel -The following packages are already installed. It is strongly recommended that they be deleted before installing this package.=このパッケージは既にインストールされています。古いものを削除することをお勧めします。 -Delete old packages?=古いパッケージを削除しますか? - -[DeviceButton] -Home=Home -End=End -Up=Up -Down=Down -Space=Space -Shift=Shift -Ctrl=Ctrl -Alt=Alt -Insert=Insert -Delete=Delete -PgUp=PgUp -PgDn=PgDn -Backslash=Backslash - -[EditHelpDescription] -Move cursor=カーソル移動 -Jump measure=小節飛ばし -Select region=区間選択 -Jump to first/last beat=最初(最後)に飛ばす -Change zoom=倍率変更 -Play=テストプレイ -Play current beat to end=現在の拍からテストプレイ -Play whole song=全体をテストプレイ -Record=再生しながらシーケンスを記録 -Set selection=エリアマーカーの設置 -Toggle assist tick=アシストチックを使う -Next/prev steps of same StepsType=同じタイプの違うシーケンス -Decrease/increase BPM at cur beat=BPMの調整 -Decrease/increase stop at cur beat=譜面停止時間の微調整 -Decrease/increase delay at cur beat=譜面遅延時間の微調整 -Decrease/increase music offset=オフセットの微調整 -Decrease/increase sample music start=試聴曲スタートの微調整 -Decrease/increase sample music length=試聴曲の長さの微調整 -Play sample music=試聴曲の再生 -Add/Edit Background Change=背景の設定 -Insert beat and shift down=空の拍を挿入 -Shift BPM changes and stops down one beat=BPM変化か停止を1拍下げる -Delete beat and shift up=拍を1つ詰める -Shift BPM changes and stops up one beat=BPM変化か停止を1拍上げる -Cycle between tap notes=オブジェの種類を変える -Lay mine=地雷を置く -Lay lift=リフトを置く -Add to/remove from right half=右半分だけを追加/削除 -Switch Timing=譜面モード/背景モードの切り替え -Switch player (Routine only)=プレイヤーの変更 - -[Grade] -Tier01=AAAA -Tier02=AAA -Tier03=AA -Tier04=A -Tier05=B -Tier06=C -Tier07=D -Tier08=D -Failed=F -None=- - -[ScreenOptionsEditCourse] --Empty-=-Empty- -Song=曲 -Steps=オブジェ数 -minutes=秒数 -You must enable at least %d songs.=最低%d曲を解禁してください。 - -[LowLevelWindow_Win32] -OpenGL hardware acceleration is not available.=OpenGLハードウェアアクセラレーションが使用できません。 - -[Premium] -Off=Off -DoubleFor1Credit=Double For 1 Credit -2PlayersFor1Credit=2 Players For 1 Credit - -[Stage] -1st=1st -2nd=2nd -3rd=3rd -4th=4th -5th=5th -6th=6th -Next=Next -Final=Final -Extra1=Extra -Extra2=Encore -Nonstop=Nonstop -Oni=ONI -Endless=Endless -Event=Event -Demo=Demo - -[JudgmentLine] -W1=Flawless -W2=Perfect -W3=Great -W4=Good -W5=Boo -Held=Held -MaxCombo=Max Combo -Miss=Miss - -[NativeLanguageNames] -Afar=Afar -Abkhazian=аҧсуа бызшәа -Afrikaans=Afrikaans -Amharic=Amharic -Arabic=العربية -Assamese=Assamese -Aymara=Aymara -Azerbaijani=azərbaycan -Bashkir=Bashkir -Byelorussian=Беларуская -Bulgarian=Български -Bihari=Bihari -Bislama=Bislama -Bengali=Bengali -Tibetan=Tibetan -Breton=Breton -Catalan=Català -Corsican=Corsican -Czech=čeština -Welsh=Cymraeg -Danish=Dansk -German=Deutsch -Bhutani=Bhutani -Greek=Ελληνικά -English=English -Esperanto=Esperanto -Spanish=Español -Estonian=Eesti -Basque=euskera -Persian=فارسی -Finnish=Suomi -Fiji=Fiji -Faeroese=Faeroese -French=Français -Frisian=Frisian -Irish=Gaeilge -Gaelic=Gaelic -Galician=Galego -Guarani=Guarani -Gujarati=Gujarati -Hausa=Hausa -Hebrew=עברית -Hindi=हिंदी -Croatian=Hrvatski -Hungarian=Magyar -Armenian=Հայերեն -Interlingua=Interlingua -Indonesian=Bahasa indonesia -Interlingue=Interlingue -Inupiak=Inupiak -Indonesian=Bahasa indonesia -Icelandic=Íslenska -Italian=Italiano -Hebrew=עברית -Japanese=日本語 -Yiddish=Yiddish -Javanese=Javanese -Georgian=Georgian -Kazakh=Қазақ -Greenlandic=Greenlandic -Cambodian=Cambodian -Kannada=ಕನ್ನಡ -Korean=한국어 -Kashmiri=Kashmiri -Kurdish=Kurdish -Kirghiz=Кыргыз -Latin=Latin -Lingala=Lingala -Laothian=Laothian -Lithuanian=Lietuviškai -Latvian=Latviešu -Malagasy=Malagasy -Maori=Maori -Macedonian=Македонски -Malayalam=Malayalam -Mongolian=Mongolian -Moldavian=Moldavian -Marathi=Marathi -Malay=Bahasa melayu -Maltese=Malti -Burmese=Burmese -Nauru=Nauru -Nepali=Nepali -Dutch=Nederlands -Norwegian=Norsk -Occitan=Occitan -Oromo=Oromo -Oriya=Oriya -Punjabi=Punjabi -Polish=Polski -Pashto=پښتو -Portuguese=Português -Quechua=Quechua -Rhaeto-Romance=Rhaeto-Romance -Kirundi=Kirundi -Romanian=Română -Russian=Pyccĸий -Kinyarwanda=Kinyarwanda -Sanskrit=Sanskrit -Sindhi=Sindhi -Sangro=Sangro -Serbo-Croatian=Serbo-Croatian -Singhalese=Singhalese -Slovak=Slovenčina -Slovenian=Slovenščina -Samoan=Samoan -Shona=Shona -Somali=Somali -Albanian=Shqip -Serbian=Srpski -Siswati=Siswati -Sesotho=Sesotho -Sudanese=Sudanese -Swedish=svenska -Swahili=Kiswahili -Tamil=Tamil -Tegulu=తెలుగు -Tajik=Tajik -Thai=ภาษาไทย -Tigrinya=Tigrinya -Turkmen=Turkmen -Tagalog=Tagalog -Setswana=Setswana -Tonga=Tonga -Turkish=Tϋrkçe -Tsonga=Tsonga -Tatar=Tatar -Twi=Twi -Ukrainian=Українська -Urdu=اردو -Uzbek=o'zbek -Vietnamese=Tiếng Việt -Volapuk=Volapuk -Wolof=Wolof -Xhosa=isiXhosa -Yiddish=Yiddish -Yoruba=Yorùbá -Chinese=中文 -Zulu=isiZulu - -[ScreenPlayerOptions] -HeaderText=プレイオプション -HeaderSubText=前衛的なシーケンス力を問う選りすぐりのオプションです。 - -[ScreenSongOptions] -HeaderText=プレイオプション -HeaderSubText=覚悟はいいですか? - -[StageAward] -FullComboW3=Full Combo! -SingleDigitW3=Single Digit Greats! -OneW3=One Great! -FullComboW2=Full Perfect Combo!! -SingleDigitW2=Single Digit Perfects!! -OneW2=One Perfect!! -FullComboW1=Full Fantastic Combo!!! -80PercentW3=80% Greats! -90PercentW3=90% Greats!! -100PercentW3=100% Greats!!! - -[PeakComboAward] -1000=1000 Peak Combo! -2000=2000 Peak Combo! -3000=3000 Peak Combo! -4000=4000 Peak Combo! -5000=5000 Peak Combo!! -6000=6000 Peak Combo!! -7000=7000 Peak Combo!! -8000=8000 Peak Combo!! -9000=9000 Peak Combo!! -10000=10000 Peak Combo!!! - -[ScreenOptionsExportPackage] -HeaderText=エクスポート -HeaderSubText=smzip形式のファイルを出力します。 - -[ScreenOptionsEdit] -HeaderText=エディット/共有 -HeaderSubText=キレのあるステップを打ち込んでください。 - -[ScreenMiniMenuEditHelp] -HeaderText=エディットのヘルプ - -[ScreenMiniMenuMainMenu] -HeaderText=メインメニュー - -[ScreenMiniMenuAreaMenu] -HeaderText=エリアメニュー - -[ScreenMiniMenuStepsInformation] -HeaderText=シーケンス情報 - -[ScreenMiniMenuSongInformation] -HeaderText=曲情報 - -[ScreenMiniMenuBackgroundChange] -HeaderText=背景の変化 - -[ScreenMiniMenuInsertTapAttack] -HeaderText=おじゃまの挿入 - -[ScreenMiniMenuInsertCourseAttack] -HeaderText=おじゃまの挿入 - -[ScreenMiniMenuCourseDisplay] -HeaderText=コース概観 - -[CourseUtil] -You must supply a name for your course.=コースに名前を付けてください。 -The course name cannot contain any of the following characters: %s=使ってはいけない文字を使用しています。: %s -The name you chose conflicts with another course. Please use a different name.=他のコースと名前が被っています。 - -[ScreenProfileLoad] -Loading Profiles=プロファイルを読み込み中… - -[ScreenProfileSave] -Saving Profiles=プロファイルを保存中… -HeaderText= - -[ScreenTestInput] -HeaderText=テスト入力 - -[ScreenMiniMenuContext] -HeaderText=! - -[ScreenOptionsManageProfiles] -HeaderText=プロファイル管理 - -[ScreenOptionsSystemDirection] -HeaderText=最低限の設定 - -[ScreenOptionsUI] -HeaderText=プレイ画面オプション - -[ScreenOptionsArcade] -HeaderText=クレジットオプション - -[ScreenOptionsInput] -HeaderText=入力オプション - -[ScreenOptionsTheme] -HeaderText=テーマ固有のオプション - -[ScreenOptionsManageCourses] -HeaderText=コース - -[ScreenEditOptions] -HeaderText= - -[ScreenOptionsEditCourse] -HeaderText=コース編集 -HelpText=&MENUUP;&MENUDOWN; 選択 &MENULEFT;&MENURIGHT; 数値の変更 - -[ScreenOptionsCourseOverview] -HeaderText=コース概観 - -[ScreenSelectProfile] -HeaderText=プロファイル選択 - -[ScreenSelectPlayStyle] -HeaderText=スタイルセレクト - -[ScreenGameInformation] -HeaderText=インフォメーション - -[StepsDisplay StepsType] -Dance_Single=Single -Dance_Double=Double -Dance_Couple=Couple -Dance_Solo=Solo -Dance_Routine=Routine -Dance_Threepanel=3 Panels -Pump_Single=Single -Pump_Double=Double -Pump_Halfdouble=Half-Double -Pump_Couple=Couple -Pump_Routine=Routine -Kb7_Single=KB7 -Ez2_Single=Single -Ez2_Double=Double -Ez2_Real=Real -Para_Single=Single -Ds3ddx_Single=Single -Bm_Single5=5 Keys -Bm_Double5=10 Keys -Bm_Single7=7 Keys -Bm_Double7=14 Keys -Maniax_Single=Single -Maniax_Double=Double -Techno_Single4=Single 4 -Techno_Single5=Single 5 -Techno_Single8=Single 8 -Techno_Double4=Double 4 -Techno_Double5=Double 5 -Pnm_Five=5 Button -Pnm_Nine=9 Button -Guitar_Five=5 Frets -Karaoke=Karaoke -Lights_Cabinet=Lights - -[StepsListDisplayRow StepsType] -Dance_Single=Single -Dance_Double=Double -Dance_Couple=Couple -Dance_Solo=Solo -Dance_Routine=Routine -Dance_Threepanel=3panel -Pump_Single=Single -Pump_Double=Double -Pump_Halfdouble=Half-Double -Pump_Couple=Couple -Pump_Routine=Routine -Kb7_Single=KB7 -Ez2_Single=Single -Ez2_Double=Double -Ez2_Real=Real -Para_Single=Single -Ds3ddx_Single=Single -Bm_Single5=5Keys -Bm_Double5=10Keys -Bm_Single7=7Keys -Bm_Double7=14Keys -Maniax_Single=Single -Maniax_Double=Double -Techno_Single4=Single4 -Techno_Single5=Single5 -Techno_Single8=Single8 -Techno_Double4=Double4 -Techno_Double5=Double5 -Pnm_Five=5Button -Pnm_Nine=9Button -Guitar_Five=5Frets -Karaoke=Karaoke -Lights_Cabinet=Lights - -[ScreenHowToInstallSongs] -HeaderText=曲のインストール - -[ThemePrefs] -IniFileMissing=iniファイルが読み込めません。 -UnknownPreference=「%s」に無効な記述があります。 - -[ThemePrefsRows] -ChoicesSizeMismatch=サイズが一致しません。(%d, %d) -NoDefaultInValues=「%s」は標準のデータが存在しません。 -TypeMismatch=標準の%sと%dの%sが一致しません。 ->>>>>>> other +;Stepmania 5.0系本体用 _fallbackテーマ日本語化ファイルVer 1.06-E +;Last Second Hint→曲の終端 +;グルーブレーダーの用語を某AC音ゲー風に書き換え、少しだけ表現変えてあります +;エディットの左ヘルプの文章書き換え、お邪魔挿入ができなくなった?(要検証) +;Remove Keysoundに訳を当てる +;「チャート」って直訳なんですか^q^ (日本で言うところの「譜面」と判断) +;「シーケンス」→「譜面」の書き換え +;あとEdit関連の選択肢はもう日本語に置き換える方針で + +[Common] +WindowTitle=StepMania +StepMania=StepMania + +[LoadingWindow] +Couldn't open any loading windows.=読み込みウインドウが開けませんでした。 +Starting sound subsystem...=音声システム開始 +Initializing bookkeeper...=クレジット記録初期化中 +Starting lights subsystem...=サイドライト初期化中 +Loading game type...=ゲーム読み込み中 +Building song cache index...=譜面データベース生成中 +Loading banner cache...=バナー画像キャッシュ中 +Initializing memory card system...=メモリーカードポート初期化中 +Initializing character system...=フォント読み込み中 +Initializing profile system...=プロフィール読み込み中 +Updating popular song list...=人気曲リスト更新中 +Updating course rankings...=コースランキング更新中 +Initializing statics manager...=スタティックマネージャー初期化中 +Initializing message system...=メッセージシステム初期化中 + +[Arch] +Couldn't create a movie driver.=動画ドライバの生成に失敗しました。 +Input Handlers cannot be empty.=インプットハンドラが空になっています。 +Movie Drivers cannot be empty.=動画ドライバが空になっています。 +Sound Drivers cannot be empty.=音声ドライバが空になっています。 + +[ArchHooks_Unix] +Couldn't find 'Songs'=「Songs」フォルダの認識に失敗しました。 + +[CSMPackageInstallDlg] +Could not open file '%s'.=「%s」のオープンに失敗しました。 +Installing. Please wait...=インストール中です、しばらくお待ちください… +'%s' is not a valid zip archive.=「%s」は有効なsmzip圧縮ファイルではありません。 +Error opening source file '%s': %s=「%s」のオープンに失敗しました。: %s +Error opening destination file '%s': %s=アドレスファイル「%s」のオープンに失敗しました。: %s +Error copying file '%s': %s=「%s」のコピーに失敗しました。: %s +No Installations found. Exiting.=「%s」はインストールできるファイルではありません。 +Package installed successfully!=正常にインストールされました。 + +[CSmpackageApp] +The file Stats.xml has not yet been created. It will be created once the game is run.=Stats.xmlが見つかりません。一度Stepmaniaを通常起動してください。 +Failed to open '%s': %s=「%s」のオープンに失敗しました。: %s +The file '%s' does not exist. Aborting installation.=「%s」が見つかりません。インストールを終了します。 + +[CSmpackageExportDlg] +No items are checked.=パッケージするファイルが見つかりません。 +Successfully exported package '%s' to your Desktop.=デスクトップに「%s」をエクスポートしました。 +The following packages failed to export:=エクスポートに失敗しました。 +The following packages were exported to your Desktop:=エクスポートに成功しました。 + +[CatalogXml] +Saving %s ...=%sを更新しています… + +[CustomDifficulty] +Beginner=Novice +Easy=Easy +Medium=Medium +Hard=Hard +Challenge=Expert +Edit=Edit +Couple=Couple +Routine=Routine +# +Freestyle=Freestyle +Crazy=Crazy +Nightmare=Nightmare +HalfDouble=Half-Double + +[CourseDifficulty] +Beginner=Novice +Challenge=Expert +Hard=Hard +Easy=Easy +Edit=Edit +Medium=Medium + +[CourseEntryType] +Best=Players' Best +Fixed=Fixed Song +Random=Random Song +RandomWithinGroup=Random Song Within Group +Worst=Players' Worst + +[CourseType] +Endless=Endless +Nonstop=Nonstop +Oni=Oni +Survival=Survival + +[EditInstallations] +You must type a program directory before clicking Add.=Stepmaniaの存在するディレクトリを指定してください。 +'%s' is not a valid installation directory.=「%s」は有効なStepmaniaディレクトリではありません。 +[EditMenuAction] +Create=新規作成 +Delete=削除 +Edit=譜面エディット +Practice=練習 + +[EditMenu] +Blank=新規エディット譜面 +[EditMenuRow] +Action=操作 +Group=グループフォルダ +Song=曲 +SourceSteps=引用元の難易度 +SourceStepsType=引用元のスタイル +Steps=難易度 +StepsType=スタイル + +[GameButton] +Back=Back +Down=Down +Center=Center +DownLeft=DownLeft +DownRight=DownRight +Coin=Insert Coin +Left=Left +MenuDown=MenuDown +MenuLeft=MenuLeft +MenuRight=MenuRight +MenuUp=MenuUp +Operator=Operator +EffectUp=EffectUp +EffectDown=EffectDown +Right=Right +Select=Select +Start=Start +Up=Up +UpLeft=UpLeft +UpRight=UpRight +Key1=Key 1 +Key2=Key 2 +Key3=Key 3 +Key4=Key 4 +Key5=Key 5 +Key6=Key 6 +Key7=Key 7 +Scratch up=Scratch up +Scratch down=Scratch down +Fret1=Fret 1 +Fret2=Fret 2 +Fret3=Fret 3 +Fret4=Fret 4 +Fret5=Fret 5 +StrumUp=Strum Up +StrumDown=Strum Down +Tilt=Tilt +FootUpLeft=FootUpLeft +FootUpRight=FootUpRight +FootDown=FootDown +HandUpLeft=HandUpLeft +HandUpRight=HandUpRight +HandLrLeft=HandLrLeft +HandLrRight=HandLrRight + +[GameCommand] +Could not launch web browser.=ブラウザのオープンに失敗しました。 + +[GameState] +CPU=CPU +Player 1=Player 1 +Player 2=Player 2 + +[Headers] +Edit Courses=コースエディット +Edit Steps=譜面エディット +Jukebox=ジュークボックス +Log In=ログイン +Theme Options=テーマオプション +Network Options=ネットワークオプション +Export Packages=エクスポート +Select Character=キャラクターセレクト +Select Course=コースセレクト +Select Difficulty=難易度セレクト +Select Music=ミュージックセレクト +Select Style=プレイスタイルセレクト +Set Time=時刻合わせ +Summary=概要 +Test Input=入力テスト +Results=リザルト + +[HoldNoteScore] +Held=OK +LetGo=NG +None=None + +[InputMapper] +Connected=接続 +Disconnected=未接続 +Auto-mapping all joysticks.=ジョイスティックを自動認識します。 + +[Language] +Name=日本語 + +[LanguagesDlg] +Error parsing file '%s'.=「%s」の解析に失敗しました。 +Error reading '%s'.=「%s」の読み込みに失敗しました。 +Error reading line '%s' from '%s': Each line must have either 3 or 4 values. This row has %d values.=「%s」行目から「%s」の読み込みに失敗しました。すべての行に3か4つのデータが存在する必要があります。 +Error reading file '%s'.=「%s」の読み込みに失敗しました。 +Exported to your Desktop as '%s'.=デスクトップに「%s」を出力しました。 +Failed to save '%s'.=「%s」の保存に失敗しました。 +Imported %d strings into '%s'.\n - %d were added.\n - %d were modified\n - %d were unchanged\n - %d empty strings were ignored=%d行を「%s」に読み込みました。\n - %d行追加\n - %d行修正\n - %d行未変更\n - %d行無視 +Importing these strings will override all data in '%s'. Continue?=読み込むデータは「%s」を上書きします。続行しますか? +There are no strings to export for this language.=この言語で出力できる文字はありません。 +This will permanently delete '%s'. Continue?=「%s」を完全に消去します。続行しますか? + +[LowLevelWindow_X11] +Failed to establish a connection with the X server=X との接続の確立に失敗しました。 + +[MainMenuDlg] +'%s' cleared=「%s」を削除しました。 +'%s' doesn't exist. It will be created next time you start the game.=「%s」が存在しません。次回の起動で作成されます。 +'%s' is already cleared.=「%s」は既に削除されています。 +Failed to copy music file '%s' to '%s': %s=「%」の「%s」へのコピーに失敗しました。: %s +Failed to create directory '%s': %s=ディレクトリ「%s」の作成に失敗しました。: %s +Failed to create song directory '%s': %s=曲ディレクトリ「%s」の作成に失敗しました。: %s +Failed to create the song file '%s'.=曲ファイル「%s」の作成に失敗しました。 +Failed to delete file '%s'.=「%s」の削除に失敗しました。 +Failed to open '%s': %s=「%s」のオープンに失敗しました。: %s +Music file=曲ファイル +Success. Created the song '%s'.=「%s」の作成に成功しました。 +The song directory '%s' already exists. You cannot override an existing song.=「%s」が既に存在します。上書きはできません。 + +[MultiPlayer] +P1=P1 +P2=P2 +P3=P3 +P4=P4 +P5=P5 +P6=P6 +P7=P7 +P8=P8 +P9=P9 +P10=P10 +P11=P11 +P12=P12 +P13=P13 +P14=P14 +P15=P15 +P16=P16 +P17=P17 +P18=P18 +P19=P19 +P20=P20 +P21=P21 +P22=P22 +P23=P23 +P24=P24 +P25=P25 +P26=P26 +P27=P27 +P28=P28 +P29=P29 +P30=P30 +P31=P31 +P32=P32 + +[MusicWheel] +Portal=Portal +Random=Random +Roulette=Roulette +Empty=- EMPTY - + +ArtistText=アーティスト順 +BpmText=BPM順 +ChallengeMeterText=Expertの難易度順 +DoubleEasyMeterText=DPEasyの難易度順 +DoubleMediumMeterText=DPMediumの難易度順 +DoubleHardMeterText=DPHardの難易度順 +DoubleChallengeMeterText=DPExpertの難易度順 +EasyMeterText=Easyの難易度順 +GenreText=ジャンル順 +GroupText=グループ順 +HardMeterText=Hardの難易度順 +LengthText=曲の長さ順 +MediumMeterText=Mediumの難易度順 +PopularityText=人気順 +PreferredText=選曲率順 +TitleText=曲のタイトル順 +RecentText=最近追加された曲 +TopGradesText=最高グレード順 + +CoursesText=コース +AllCoursesText=全コース +NonstopText=レイヴコース +OniText=ONIコース +EndlessText=エンドレスコース +SurvivalText=サバイバルコース + +NormalModeText=ノーマルモード +BattleModeText=バトルモード + +[NetworkSyncManager] +Connection failed.=接続に失敗しました。 +Connection to '%s' successful.=「%s」への接続に成功しました。 +Connection to server dropped.=サーバへの接続が切れました。 +Initializing Client Network...=クライアントネットワークを初期化しています。 +Not Supported=このモードはネットワークでサポートされていません。 + +[NoteType] +4th=4th +8th=8th +12th=12th +16th=16th +24th=24th +32nd=32nd +48th=48th +64th=64th +192nd=192nd + +[OptionExplanations] + +AllowExtraStage=エクストラ・アンコールの有無を設定します。\nなおイベントモードがOnの時ははOn/Offに関わらずなくなります。 +AllowW1=Flawless判定の使用範囲を設定します。 +Announcer=アナウンサーを選択します。専用ファイルが必要です。 +Appearance Options=ゲームの外観に関するオプションです。 +Theme Options=テーマに関するオプション、またはテーマ固有のオプションです。 +ArcadeOptionsNavigation=「Arcade Style」にすると、オプションの説明が消えます。 +Assist=リズムキープ用の音を設定します。 +AttractSoundFrequency=アトラクトデモでの曲の流れ方を設定します。 +AutoMapOnJoyChange=初めて接続したゲームパッドのボタン配置を自動設定します。 +AutogenGroupCourses=インストールされている曲からコースを自動生成します。 +AutogenSteps=インストールされている曲から譜面を自動生成します。\nただし最低限1つは譜面が存在している必要があります。 +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=スコアデータを削除します。 +CoinMode=クレジットの設定をします。通常はFree Playを選択してください。 +CoinModeNoHome=ゲームスタート前から複数のプレイヤーが参加できるようになります。 +CoinsPerCredit=何コインを1クレジットにするかの設定です。 +Connection=Stepmania Onlineサーバに接続します。 +CourseSortOrder=コースのソートを調べます。 +CreateNew=譜面を新規作成します。 +Create New Course=新しいコースを作成します。。 +Create New Profile=新しいプロファイルを作成します。 +DancePointsForOni=ONIモードでのスコア表示形式を設定します。 +DefaultFailType=プレイ中のゲームオーバーの設定をします。 +DefaultFailTypeNoOff=複数人数でのプレイ中のゲームオーバーの設定をします。 +DefaultNoteSkin=通常使うノートスキンを設定します。\n必ずシミュレート中のゲームに対応するスキンを使用してください。 +DelayedBack=画面を戻るときに&BACK;ボタンを押す長さを設定します。 +DelayedTextureDelete=3Dテクスチャのキャッシュを取ります。メモリがかなり必要になります。 +Delete=オブジェを削除します。「Little」で4分以外のオブジェを、「No Jumps」で2つ押し、「No Hands」で3つ押し、\n「No Quads」で4つ以上押し、「No Stretch」でロングオブジェ、「No Rolls」でロール、\n「No Lifts」でリフトを、「No Fakes」でフェイクを削除します。 +Difficulty=譜面の難易度を設定します。 +DisplayAspectRatio=画面の比率を設定します。16:9か4:3をお勧めします。 +DisplayColorDepth=フルスクリーンモードでの有効色数を設定します。 +DisplayResolution=画面の解像度を設定します。 +EasterEggs=この設定をOnにして、Great以下を出さずに\n250コンボつなぐと…? +Edit Courses=コースの編集をします。 + +Edit Courses/Mods=コース、および譜面効果の設定をします。 +Edit Songs/Steps=曲の譜面を作成/編集します。 +Practice Songs/Steps=曲の練習ができます。 +EditorShowBGChangesPlay=Edit/練習モードで背景を表示するかどうかの設定です。 +Effect=「Drunk」でレーンが揺らぎ、「Dizzy」でオブジェが回転します。「Twirl」で画面の垂直方向に、\n「Roll」で鉛直方向に回転します。「Beat」は一拍ごとにレーンが振動し、「Tipsy」でレーンが上下に\n揺らぎます。「Tornado」でレーンがねじれ、「Bumpy」でオブジェに落ち着きがなくなります。 + + +EnableAttackSounds=おじゃまの開始時と終了時に効果音を発生させます。 +EnableMineHitSound=地雷を踏んだ時に効果音を発生させます。 +EventMode=Onにするとステージを失敗してもゲームオーバーにならなくなりますが、\nエクストラステージ・ワンモアエクストラステージも出現しなくなります。 +Exit=このオプションを終了し、別の画面に移行します。 +Fail=ステージを失敗したときの挙動を設定します。 +FastLoad=Onにすると、すでに存在する曲に変更が生じても読み込まなくなります。 +Fill Machine Stats= +Game=シミュレートするゲームを変更します。 +GetRankingName=ネーム入力画面の出方を設定します。 +Graphics/Sound Options=画面及び音声に関する設定です。 +Group=譜面を再生するグループを設定します。 +HiddenSongs=Onにすると「SELECTABLE」設定が\n「NO」になっている曲は選択できなくなります。 + + +Insert Credit=Insert Credit +Key Joy Mappings=キーコンフィグです。 +Language=使用する言語を設定してください。 +LifeDifficulty=ライフゲージの増減の度合を設定します。\n小さくすればするほど減少が大きく、回復が小さくなります。 +LifeType=ライフの方式を設定します。プレイ中Barは回復しますがBatteryは回復しません。 +Advanced Options=スコア、ライフや曲の解禁などに関する設定をします。 +MasterVolume=ゲーム自体の音量を設定します。\nなおこの設定で各曲の音量はノーマライズされません。 +HighResolutionTextures=テクスチャの解像度を設定します。 +MaxTextureResolution=テクスチャの最大解像度を設定します。 +MenuTimer=Onにすると、プレイ中の選択に時間制限が付きます。 +MoveRandomToEnd=「Random」を曲選択ホイールの最下層に追加します。 +MovieColorDepth=動画再生の有効色数を設定します。 +MusicWheelSwitchSpeed=曲選択ホイールが回転する速度を設定します。 +MusicWheelUsesSections=曲選択ホイールでのグループ分けの設定です。 +Network Options=Stepmania Onlineに関する設定です。 +No Memory Card=メモリーカードが認識されていません。 +NoteSkins=使用するノートスキンを設定します。\n必ずシミュレート中のモードに対応したスキンを使用してください。 +NumBackgrounds=ランダム背景を使う際に常に読み込む画像数を設定します。 +OnlyDedicatedMenuButtons=ゲーム用のボタンでメニューが操作できるようになります。\n特別なことがない限り「Use Gameplay Buttons」にしてください。 +OptionsRandomJukebox=ランダムでプレイオプションを設定して譜面を再生します。 +OsMountPlayer1= +OsMountPlayer2= + +Player1Profile=1Pとして使用するプロファイルを設定します。 +Player2Profile=2Pとして使用するプロファイルを設定します。 +PlayerAutoPlay=ONにするとCPUが代わりにプレイします。 +PreloadSounds=Yesにすると事前に音声ファイルを読み込むようになります。ある程度性能があれば快適にゲームプレイができますが、\n十分な性能がないと重くなります。 +Premium=Payモードでのプレミアムに関しての設定です。 +Profile=使用するプロファイルを選択してください。 +Export Packages=インストール済みのファイルを\nパッケージングしてエクスポートします。 +Profiles=保存されているプロファイルを編集します。 +ProgressiveLifebar=連続でミスをすると追加でライフバーが減る度合を設定します。 +ProgressiveNonstopLifebar=コースで連続でミスをすると追加でライフバーが減る度合を設定します。 +ProgressiveStageLifebar=高次ステージでミスをした時のライフバーの減る度合を設定します。\nイベントモードでは無効になります。 +ProTiming=シーケンスと音のズレを調整します。「はまり」の多い曲では使わないでください。 +RandomBackgroundMode=ランダム背景の設定をします。ランダム背景には専用のファイルが必要です。 +More Options=設定が見つからない際にはこの詳細な設定から探してみてください。 +RandomModifiers=譜面と判定ゾーンに特殊効果を追加します。 +Rate=曲の速度を変更します。「Haste」は曲中に少しずつ速度が変化します。 +RefreshRate=フルスクリーン時のリフレッシュレートを設定します。 +Reload Songs=曲とコースをリロードします。 +Remove=オブジェを削除する規則を設定します。このオプションを使用して出したスコアはスコア集計の対象になりません。 +Rename=名前を変更します。 +Reset To Defaults=すべてのオプションを初期値に戻します。 +SaveScores=Offでこのプレイをスコア集計から外すことができます。 +SaveReplays=リプレイを保存します。 +SaveStats=Stats.xmlを保存するようにします。 +ScoreDisplay=オンラインプレイ中にスコアを表示するようになります。 +Scoreboard=オンラインプレイのリザルトで他のプレイヤーの結果も見られるようになります。 +ScoringType=プレイの採点方式の設定です。\nテーマ固有の採点方式を選択する場合はSpecialを選択してください。 +Scroll=譜面のスクロールの仕方を設定します。 +ScreenFilter=数字を大きくするほど、譜面の裏に表示され譜面の視認性を上げるフィルターが濃くなります。 +Select Group=このグループに曲を追加します。 +Select Profile=プロファイルを選択します。 +Server=Stepmania Onlineローカルサーバを開始します。 +Servers=サーバーを指定します。 +ShowBanners=バナーを表示します。 +ShowBeginnerHelper=OnにするとNoviceモードで3Dキャラクターがお手本を行います。\n専用ファイルが必要です。 +ShowCaution=警告画面を表示します。 +ShowDancingCharacters=3Dキャラクターを表示します。\n専用ファイルがなければ特に設定の必要はありません。 +ShowDanger=ライフバーの量が少ない時の警告の表示方法を設定します。 +ShowInstructions=インストラクション画面を表示します。 +ShowLyrics=歌詞を表示します。譜面にLRC形式の歌詞が設定されている必要があります。 +ShowNativeLanguage=Romanizationを選択している場合、すべての曲が英字表記されます。 +ShowSelectGroup=モードセレクトの次に曲グループ画面を表示します。 +ShowSongOptions=プレイオプションへの入り方を設定します。 +ShowStats=Onにすると、fps、vfpsなどの数値が表示されるようになります。\nそれらの数字はStepmaniaの処理の速さの指標になります。 +SmoothLines=グルーブレーダーの滑らかさを設定します。 +Center1Player=Onにすると、1人プレイ時に判定ゾーンが中央に寄ります。 +SongsPerPlay=イベントモードが設定されていないときに\nStandardモードでプレイ可能な曲数を設定します。 +SoundEffect=曲を倍速にしているときにエフェクトをかけて発音するようになります。 +SoundResampleQuality=曲のサンプリング周波数を修正します。理解できる人だけ使用してください。 +SoundVolume=ゲーム中の効果音の音量を設定します。\nこの設定で効果音のノーマライズは行われません。 +SoundVolumeAttract=アトラクトデモの音量を変更します。 + +StepMania Credits=StepManiaの開発チームを紹介します。 +Steps=譜面 +Style=再生するプレイスタイルを設定します。 +Test Input=ジョイスティックの入力テストを行います。 +Test Lights=ライトセンサーの入力テストを行います。 +TextureColorDepth=テクスチャの有効色数を設定します。 +Theme=使用するテーマを設定します。\nStepmania3系向けのテーマは動作しません。\nStepmania4系向けのテーマは「portkit-sm4」を使うことで動作させられる可能性があります。 +TimingWindowScale=数字が大きいほど、入力判定が厳しくなります。 +Toggle Song=停止 + +Transfer Edits to USB=エディットをメモリーカードにエクスポートします。 +Transfer Edits from USB=エディットをメモリーカードからインポートします。 +UseUnlockSystem=アンロックシステムを使用可能にします。\n古いパッケージをプレイしない限りOffにすることを推奨します。 +VisualDelaySeconds=描画のタイムラグを調整します。 +Vsync=フルスクリーンモードでVsyncを取るようになります。 +WideScreen16_9=16:9のワイド画面にします。 +WideScreen16_10=16:10のワイド画面にします。 +Windowed=「Windowed」でウインドウモード、\n「Fullscreen」でフルスクリーンモードで動作します。 + +# +UI Options=インタフェースの設定です。 +Input Options=入力に関する設定です。 +Arcade Options=プレイに必要なクレジットや、ステージ数などを設定します。 +Select Game=シミュレートするゲームを選択します。 +System Direction=プレイに最低限必要な設定です。 + +# +OnlyPreferredDifficulties=難易度の選好です。 +# +PercentageScoring=スコア表示の方式を設定します。 + +# course +Select Course=エディットするコースを選択します。 +Max Minutes=コースの終わる時間を設定します。 +Choose Song=曲を選択します。 +Choose Steps=譜面を選択します。 + +Play=コースをプレイします。 +Save=コースを保存します。 +Edit Course=コースを編集します。 +Shuffle=曲をシャッフルします。 +# +GamePrefDefaultFail=ステージを強制終了するタイミングを設定します。通常は「Immediate」で構いません。\nその他のオプションでは一曲プレイし続けられますが、ゲージが空になると\n「ImmediateContinue」では回復しなくなり、「AtEnd」ではゲージが重くなります。 +# +UserPrefScoringMode=スコアの計算方式を設定します。 + +[OptionNames] +0=0 +0.25x=0.25x +0.3x=0.3x +0.4x=0.4x +0.5x=0.5x +0.6x=0.6x +0.7x=0.7x +0.75x=0.75x +0.8x=0.8x +0.9x=0.9x +1=1 +1.0x=1.0x +1.1x=1.1x +1.2x=1.2x +1.25x=1.25x +1.3x=1.3x +1.4x=1.4x +1.5x=1.5x +1.6x=1.6x +1.7x=1.7x +1.75x=1.75x +x1.75=1.75x +1.8x=1.8x +1.9x=1.9x +x2.25=2.25x +x2.5=2.5x +10=10 +11=11 +12=12 +12th=12th +13=13 +16bit=16bit +16th=16th +192nd=192nd +2=2 +2 Players for 1 Credit=Joint Premium +2 Times=2 Times +2.0x=2.0x +24th=24th +3=3 +3 Times=3 Times +32bit=32bit +32nd=32nd +4=4 +4 Times=4 Times +48th=48th +4th=4th +5=5 +5 Times=5 Times +6=6 +64th=64th +7=7 +8=8 +8th=8th +9=9 +Actual=実際値 +Add=Additive +All Music=All Music +AllDifficulties=All Difficulties +AllGroups=All Groups +Alternate=Alternate +Always=Always +Animations=Animations +Arcade Style=Arcade Style +Ask=Ask +AttackMines=AttackMines +Auto=Auto +Autogen To Fill Width=Autogen To Fill Width +AutosyncMachine=Autosync Machine +Average=Average +Average Feet=Average Objects +Backwards=Backwards +Baked Random=Baked Random +Bar=Bar +Battery=Battery +Beat=Beat +Beats=拍数 +Big=Big +Blind=Blind +Blink=Blink +BMRize=BMRize +Boomerang=Boomerang +Boost=Boost +Both=Both +Brake=Brake +Bumpy=Bumpy +C150=C150 +C300=C300 +CPU-Controlled=CPU +Centered=Centered +Choose=Choose +Clap=Clap +Clear Left=Clear Left +Clear Right=Clear Right +Collapse Left=Collapse Left +Collapse To One=Collapse To One +Compress 2x=Compress 2x +Compress 3->2=Compress 3->2 +Compress 4->3=Compress 4->3 +Confusion=Confusion +Connect=接続開始 +Copy Left To Right=左から右へコピー +Copy Right To Left=右から左へコピー +Courses Only=Courses Only +Create New=新規作成 +Cross=Cross +Custom=Custom +Dance Points=Dance Points +Dark=Dark +Default=Default +Default to Off=Default to Off +Default to Random=Default to Random +DifficultCourses=Difficult +Disconnect=接続終了 +Distant=Distant +Dizzy=Dizzy +Don'tSave=Don't Save +Double for 1 Credit=Double Premium +Drunk=Drunk +Dynamic Random=Dynamic Random +Echo=Echo +End of Song=End of Song +FailAtEnd=Fail at end +EffectSpeed=Speed +EffectPitch=Pitch +Event=Event Mode +Exit=戻る +Expand=Expand +Expand 2->3=Expand 2->3 +Expand 2x=Expand 2x +Expand 3->4=Expand 3->4 +Fast=Fast +Flat=Flat +Flip=Flip +Floored=Floored +Free Play=Free Play +Force Off=Off at all +Force On=On at all +Full Screen=Full Screen +Global BGAnimation=汎用BGA +Global Movie=汎用ムービー +Global Movie from Song Group=曲グループの汎用ムービー +Global Movie from Song Group and Genre=グループとジャンルの汎用ムービー +HIDE=判定ゾーン +Hallway=Hallway +Haste=Haste +Hidden=Hidden +HiddenOffset=Hidden Offset +Hide=Hide +High Quality=High Quality +Hold=Hold +HoldsToRolls=Holds To Rolls +Home=Home +Immediate=Immediate +ImmediateContinue=Delayed +Incoming=Incoming +Insanity=Insanity +Insert Entry=Insert Entry +Instant=Instant +Invert=Invert +Justice=Justice +Left=Left +LifeTime=Survival +Little=Little +Metronome=Metronome +Mines=Mines +Mini=Mini +Mirror=Mirror +N/A=N/A +Native Language=Native Language +Never=Never +New=New +NewEdit=-New Edit- +No=No +NoAttacks=No Attacks +NoHands=No Hands +NoHolds=No Holds +NoJumps=No Jumps +NoMines=No Mines +NoRolls=No Rolls +NoQuads=No Quads +NoRecover=No Recover +NoStretch=No Stretch +NoLifts=No Lifts +NoFakes=No Fakes +None=None +Normal=Normal +Num Songs=Num Songs +Off=Off +Old=Old +On=On +On (recommended)=On (recommended) +Only Dedicated Buttons=Only Dedicated Buttons +Overhead=Overhead +Pay=Pay +Percent=Percent +Planted=Planted +Press Start=Press Start +Quick=Quick +R.Vanish=R.Vanish +Random=ランダム +RandomAttacks=Random Attacks +RandomBG=Random Backgrounds +Random Movies=Random Movies +Ranking=Ranking +Ranking Songs=Ranking Songs +Really Fast=Really Fast +RegularCourses=Regular +Remove=Remove +Reverse=Reverse +Right=Right +Roll=Roll +Romanization=Romanization +SHOW=Show +Seconds=秒数 +Select=Select +Servers=Servers +Shift Left=Shift Left +Shift Right=Shift Right +Show=Show +Shuffle=Shuffle +Silent=Silent +Skip=Skip +Skippy=Skippy +Slow=Slow +SN2=Supernova 2 +SongAttacks=Step Attacks +StepAttacks=Step Attacks +Song BGAnimation=Song BGAnimation +Song Bitmap=Song Bitmap +Song Movie=Song Movie +Space=Space +Specified=設定値 +Split=Split +Standard=Standard +Start=Start +StaticBG=Static Background +Stealth=Stealth +StepMania Style=StepMania Style +Stomp=Stomp +Stop=Stop +Subtract=Subtractive +Sudden=Sudden +SuddenDeath=Sudden Death +SuddenOffset=Sudden Offset +SuperShuffle=Cement Mixer +SoftShuffle=Soft Shuffle +Swap Sides=Swap Sides +Sync Machine=Sync Machine +Sync Song=Sync Song +Sync Tempo=Sync Tempo +Tiny=Tiny +Tipsy=Tipsy +Title Only=Title Only +Tornado=Tornado +Total Feet=全オブジェ数 +Twirl=Twirl +Twister=Twister +Use Gameplay Buttons=Use Gameplay Buttons +Visible=Visible +Wave=Wave +Wide=Wide +Windowed=Windowed +Yes=Yes +x0.25=0.25x +x0.50=0.50x +x0.75=0.75x +x1=1x +x1.5=1.5x +x2=2x +x3=3x +x4=4x +x5=5x +x8=8x +PercentageScoring=スコアの表示形式 + +Tiny=Tiny +Bumpy=Bumpy +Beat=Beat +GKS=GKS +Cover=Cover +XMode=XMode +[OptionRowHandler] +Off=Off + +[OptionTitles] +Accel=アクセル +Add/Edit Background Change=背景チェンジの編集 +Air=滞空度 +AllowExtraStage=ボーナスビート +AllowW1=Flawless判定 +Alter=変更 +Announcer=アナウンサー +Appearance=オブジェ視認 +Appearance Options=デザインオプション +Theme Options=テーマ固有のオプション +ArcadeOptionsNavigation=オプションの解説 +Artist=アーティスト +Artist transliteration=アーティスト(英字) +Assist=アシスト音 +Attacks=おじゃま +AttractSoundFrequency=アトラクトデモの\nサウンド周波数 +AutoAdjust=ズレの自動修正 +AutoMapOnJoyChange=ジョイパッドの\n自動割り当て +AutoPlay=オートプレイ +AutogenGroupCourses=グループコースの\n自動生成 +AutogenSteps=ステップの\n自動生成 +BGBrightness=背景明度 +Background=背景 +BarDrain=バーの減り方 +BatLives=バッテリーの個数 +Base Difficulty=基本難易度 +Beat 0 Offset=0小節のオフセット +Bookkeeping=クレジット履歴 +Calibrate Machine Sync=音の同期 +CPUSkill=CPUのうまさ +CelShadeModels=セルシェード\nモデル +Center Image=画像を中央へ +Chaos=不規則度 +Characters=キャラクター +Chart Name=譜面の名前 +Chart Style=譜面の推奨プレイスタイル +Choose=選択 +Clear Bookkeeping Data=クレジット\n履歴の消去 +Clear Machine Edits=筐体エディットの消去 +Clear Machine Stats=筐体スコアの消去 +Clear USB edits=メモリーカード\nエディットの消去 +Clear area=エリア内のオブジェ削除 +Clear clipboard=クリップボード削除 +CoinMode=コインモード +CoinModeNoHome=コインモード +CoinsPerCredit=1クレジットの\nコイン数 +Connection=接続 +Convert pause to beats=停止を拍に +Convert delay to beats=低速を拍に +Convert selection to attack=選択範囲をおじゃまに +Convert selection to pause=選択範囲を停止に +Convert selection to delay=選択範囲を低速に +Convert selection to warp=選択範囲をワープに +Convert selection to fake=選択範囲をフェイクに +Copy=選択範囲をコピー +Copy timing data=タイミング設定をコピー +Copy Partial Timing=選択したタイミングデータをコピー +CourseSortOrder=コースのソート +Create New=新規作成 +Create New Course=新規作成 +Create New Profile=新規作成 +Credit=クレジット +Cut=選択範囲を切り取り +DancePointsForOni=Oniモードの\nスコア表記 +DefaultFailType=標準終了タイプ +DefaultFailTypeNoOff=標準終了タイプ +DefaultNoteSkin=標準ノートスキン +DelayedBack=背景の遅延 +DelayedTextureDelete=テクスチャの\nキャッシュ +Delete=削除 +Delete beat and shift up=1拍消して詰める +Description=説明 +Designate as Music Preview=プレビュー区間を解除 +Designate last second at current beat=終端を解除 +Difficulty=難易度 +Display BPM=表示BPM +DisplayAspectRatio=アスペクト比 +DisplayColorDepth=ディスプレイの\n有効色数 +DisplayResolution=ディスプレイの\n解像度 +Duration seconds=継続時間 +EasterEggs=イースターエッグ +Edit Songs/Steps=譜面の編集 + +Edit Courses/Mods=コース・譜面効果の追加 +Genre=ジャンル +Practice Songs/Steps=練習 +Edit Courses=コースエディット +Edit BPM change=BPM変化の編集 +Edit song info=曲情報の編集 +Edit steps information=譜面情報の編集 +Exit Edit Mode=編集終了 +Edit stop=譜面停止の設定 +Edit delay=譜面遅延の設定 +Edit Timing Data=タイミング情報の設定 +Edit time signature=拍子の編集 +Edit tickcount=ティックカウントの編集 +Edit combo=コンボの編集 +Edit label=ラベルの設定 +Edit warp=ワープの編集 +Edit speed (percent)=スピードの編集(パーセント) +Edit speed (wait)=スピードの編集(長さ) +Edit speed (mode)=スピードの編集(モード) +Edit scrolling factor=スクロール要素の編集 +Edit fake=フェイクオブジェの編集 +Editor options=オプション +EditorShowBGChangesPlay=背景の表示 +Erase step timing=タイミングの消去 +Effect=シーケンス効果 +EffectsReceptor=判定ゾーン効果 +EffectsArrow=オブジェ効果 +EnableAttackSounds=おじゃま音 +EnableMineHitSound=地雷音 +Entry %d=エントリー %d +EventMode=イベントモード +Exit=戻る +Fail=失敗 +Fakes=フェイク +FastLoad=ファストロード +File1 Global BGAnimation=ファイル1の汎用BGA +File1 Global Movie=ファイル1の汎用動画 +File1 Global Movie (Group + Genre)=ファイル1と同ジャンル・グループの汎用動画 +File1 Global Movie (Group)=ファイル1と同グループの汎用動画 +File1 Song BGAnimation=ファイル1のBGA +File1 Song Movie=ファイル1の動画 +File1 Song Still=ファイル1の背景 +File1 Type=ファイル1の種別 +File2 Global BGAnimation=ファイル2の汎用BGA +File2 Global Movie=ファイル2の汎用動画 +File2 Global Movie (Group + Genre)=ファイル2と同ジャンル・グループの汎用動画 +File2 Global Movie (Group)=ファイル2と同グループの汎用動画 +File2 Song BGAnimation=ファイル2のBGA +File2 Song Movie=ファイル2の動画 +File2 Song Still=ファイル2の背景 +File2 Type=ファイル2の種別 +Fill Machine Stats=Fill Machine Stats +Force Color 1=色1 +Force Color 2=色2 +Force Effect=背景切り替えエフェクト +Force Transition=背景の切り替わり方 +Freeze=押しっぱ度 +Game=Game +GetRankingName=ネーム入力 +Graphics/Sound Options=画像・音声オプション +Group=グループ +Hands=トリプル +HiddenSongs=隠し曲 +Hide=判定ゾーン +High Meter=High Meter +HighResolutionTextures=高解像度の\nテクスチャ +Holds=ロングノート +Insert=挿入 +Insert Credit=Insert Credit(s) +Insert beat and shift down=1拍挿入してシーケンスを下げる +Insert Entry=Insert Entry(s) +Invert notes' player=オブジェの変換 +Jumps=ジャンプ +Key Joy Mappings=キーマッピング +Language=使用言語 +Last second hint=曲の終端 +Layer=レイヤー +Lifts=リフト +LifeDifficulty=ライフバーの\n厳しさ +LifeType=ライフゲージの\nタイプ +Low Meter=Low Meter +Advanced Options=ゲームオプション +Main title=タイトル +Main title transliteration=タイトル(英字表記) +Max BPM=最大(表示)BPM +MaxTextureResolution=テクスチャの\n解像度 +MenuTimer=メニュータイマー +Meter=難易度 +Min BPM=最小(表示)BPM +Mines=地雷 +Mirror Player 1 to 2=1Pのノートを2Pにミラー +Mirror Player 2 to 1=2Pのノートを1Pにミラー +Modify Keysounds at current beat=オブジェにキー音をアサインする +MoveRandomToEnd=最後までランダム +More Options=詳細オプション +MovieColorDepth=ムービーの\n有効色数 +MusicWheelSwitchSpeed=ホイールの速度 +MusicWheelUsesSections=ホイールの\nセクション +Network Options=ネットワークオプション +No USB memory cards found=メモリーカードが見つかりません。 +NoteSkins=ノートスキン +NumBackgrounds=ランダム背景 +OptionsRandomJukebox=オプション +OnlyDedicatedMenuButtons=メニューボタン +OsMountPlayer1=筐体に1Pを規定 +OsMountPlayer2=筐体に2Pを規定 +Paste at begin marker=エリア開始マーカーを基準に貼り付け +Paste at current beat=現在の拍を基準に貼り付け +Paste timing data=タイミングデータを貼り付け +Paste Partial Timing at current beat=現在の拍に +Persp=流れ方 +Play current beat to end=現在の拍からテストプレイ +Play preview music=試聴曲を再生 +Play whole song=全体を再生 +Play mods from course=コースのMODを再生 +Play selection=選択範囲をテストプレイ +Player1Profile=1Pのプロファイル +Player2Profile=2Pのプロファイル +PlayerAutoPlay=オートプレイ +Predicted Meter=予想難易度 +Preferences=好み +PreloadSounds=音声の先読み +Premium=プレミアム +Preview Length=試聴の長さ +Preview Start=試聴スタート +Export Packages=エクスポート +Profile=プロファイル管理 +Profiles=プロファイル +ProgressiveLifebar=ライフバーの減り続き方 +ProgressiveNonstopLifebar=ノンストップでの\nライフバーの減り続き方 +ProgressiveStageLifebar=高次ステージの\nライフバーの減り方 +ProTiming=判定の表示 +Quads=クアッド +Quantize=整列 +RandomBackgroundMode=背景モード +RandomModifiers=MOD効果 +Rate=曲速度 +Record in selection=選択範囲で譜面を記録しながら再生 +RefreshRate=リフレッシュ\nレート +Reload Songs=ファイルのリロード +Remove=削除 +Remove Change=差分を削除 +Remove Keysound=キー音の削除 +Rename=名前の変更 +Reset To Defaults=オプションの初期化 +Revert from disk=ディスクからロード +Revert to last save=キャッシュからロード +Rolls=ロール +Save=保存 +SaveScores=スコアを保存 +SaveReplays=リプレイを保存 +SaveStats=設定を保存 +ScoreDisplay=スコア表示 +Scoreboard=スコアボード +ScoringType=スコア形式 +Scroll=スクロール +ScreenFilter=スクリーン\nフィルター +Secret=シークレット +Server=サーバ +Servers=サーバ +Set P1=1Pに設定 +Set P2=2Pに設定 +Set modifiers=MODを設定 +Set Mods=MODを設定 +Set selection start=エリアの始点を設定 +Set selection end=エリアの終点を設定 +Shift all timing changes down=すべてのタイミング設定を下へ +Shift all timing changes up=すべてのタイミング設定を上へ +ShowBanners=バナー表示 +ShowBeginnerHelper=お手本 +ShowCaution=警告画面 +ShowDancingCharacters=キャラクター +ShowDanger=危険表示 +ShowInstructions=説明表示 +ShowLyrics=歌詞表示 +ShowNativeLanguage=訳 +ShowSelectGroup=曲グループ +ShowSongOptions=プレイオプション\nの入り方 +ShowStats=ステータスの表示 +SmoothLines=滑らかな線 +SoundEffect=音声エフェクト +StepMania Credits=StepManiaの著作表記 +Center1Player=判定ゾーンの\n中央寄せ +Song=曲 +Song Group=曲グループ +Song Options=プレイオプション +SongsPerPlay=1プレイの通常曲数 +Sort=ソート +SoundResampleQuality=リサンプリング周波数 +SoundVolume=音量 +SoundVolumeAttract=アトラクトデモ音量 +Speed=シーケンス速度 +Step Author=譜面作者 +Steps=オブジェ数 +Stream=平均密度 +Style=スタイル +Sub title=サブタイトル +Sub title transliteration=サブタイトル(英字表記) +SuperGrowth=スーパーグロー +Tap Steps=通常オブジェ数 +Tempo=テンポ +Test Input=テスト入力 +Test Lights=ライトのテスト +TextureColorDepth=テクスチャの\n有効色数 +Theme=テーマ +TimingWindowScale=判定の厳しさ +Transform=変形 +Transfer Edits to USB=メモリーカードに\nエディット\nをエクスポート +Transfer Edits from USB=メモリーカードから\nエディットを\nインポート +Type=タイプ +Turn=ターン +Undo=アンドゥ +UseUnlockSystem=解禁システム +View steps data=譜面データの閲覧 +VisualDelaySeconds=映像の遅延 +Voltage=最大密度 +Vsync=Vsyncの同期 +WideScreen16_9=16:9のワイドスクリーン +WideScreen16_10=8:5のワイドスクリーン +Windowed=画面モード + +# +UI Options=プレイ画面オプション +Input Options=入力オプション +Arcade Options=クレジットオプション +Select Game=シミュレートするゲームの選択 +System Direction=最低限の設定 + +# +OnlyPreferredDifficulties=難易度の選好 +# +PercentageScoring=スコアの\nパーセント表記 + +Max Minutes=最大秒数 +Play=プレイ +Edit Course=コース編集 +Shuffle=シャッフル +# +GamePrefDefaultFail=曲の終了 +# +UserPrefScoringMode=スコアの計算方式 + + +[PaneDisplay] +Steps=オブジェ +Holds=ロング +Jumps=ジャンプ +Mines=地雷 +Rolls=ロール +Hands=手の使用 +MachineHigh=ハイスコア +EmptyMachineHighScoreName=マイベスト +NotAvailable=N/A + +[PlayMode] +Battle=Battle +Endless=Endless +Nonstop=Nonstop +Oni=Oni +Rave=Rave +Regular=Regular + +[AdjustSync] +%s BPM from %.3f BPM to %.3f BPM.=%s BPMを%.3fから%.3fに変更。 +Autosync Machine=システムの自動同期 +Autosync Song=曲の自動同期 +Autosync Tempo=テンポの自動同期 +Autosync: Correction NOT applied. Deviation too high.=標準偏差が信頼できる値ではありません。 +Autosync: Correction applied.=同期に成功しました。 +Global Offset from %+.3f to %+.3f (notes %s)=グローバルオフセットを%+.3fから%+.3fに変更。(%s) +Song offset from %+.3f to %+.3f (notes %s)=曲のオフセットを%+.3fから%+.3fに変更。(%s) +The stop segment #%d changed from %+.3fs to %+.3fs (change of %+.3f).=停止オブジェ#%dを%+.3fsから%+.3fsに変更。(%+.3f) +earlier=早い +later=遅い +Average Error %.5fs=平均エラー%.5fs +Etc.=その他 +%d taps ignored.=%dのオブジェが無視されました。 + +[ProfileAction] +Clear=消去 +Delete=削除 +Edit=編集 +Rename=リネーム +SetDefaultP1=1Pに設定 +SetDefaultP2=2Pに設定 + +[RadarCategory] +Air=Air +Chaos=Chaos +Freeze=Freeze +Hands=Hands +Holds=Holds +Jumps=Jumps +Mines=Mines +Rolls=Rolls +Stream=Stream +Taps=Taps +TapsAndHolds=TapsAndHolds +Voltage=Voltage +MinMidiNote=MinMidiNote +MaxMidiNote=MaxMidiNote + +[RageInput] +No input devices were loaded.=入力デバイスが検出できません。 + +[RageInputDevice] +Connected=接続 +Unplugged=未接続 +NeedsMultitap=マルチタップが必要 +NoInputHandler=入力ハンドラなし + +[RageSoundManager] +Couldn't find a sound driver that works=有効なサウンドドライバが見つかりません。 + +[RageUtil] +NumNd=nd +NumPrefix= +NumRd=rd +NumSt=st +NumTh=th + +[RoomWheel] +Enter room name=プレイルームの名前を設定してください。 +Empty=- EMPTY - + +[RoomInfoDisplay] +Last Round Info:=最後のプレイの情報: +Room Name:=名前: +Room Description:=説明: +Song Title:=タイトル: +Song Subtitle:=サブタイトル: +Song Artist:=アーティスト: +Players=プレイヤー: + +[SMPackageUtil] +Could not find '%s'.=「%s」が見つかりません。 +[Screen] +HeaderText= +[ScreenAppearanceOptions] +HeaderText=デザインオプション +HeaderSubText=Stepmaniaの外観に関するオプションです。 + +[ScreenOptionsGraphicsSound] +HeaderText=画像・音声オプション +HeaderSubText=画像と音声に関するオプションです。 + +[ScreenOptionsAdvanced] +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=プレイする周りには物を置かないようにしてください。また、近隣の迷惑にならないようにしてください。 + +[ScreenDebugOverlay] +%s in gameplay=%s:プレイ中 +Assist=アシストチック +AutoPlay=オートプレイ +Autosync=オートシンク +CPU=CPU +Clear Profile Stats=プロファイルのスコアを削除 +CoinMode=コインモード +Debug Menu=デバッグメニュー +Fill Profile Stats=プロファイルを正規化 +Flush Log=ログを流す +Force Crash=クラッシュ +Halt=停止 +Lights Debug=ライトのデバッグ +Machine=筐体 +Menu Timer=メニュータイマー +Monkey Input=モンキーインプット +Multitexture=マルチテクスチャ +Profile=プロファイル +Pull Back Camera=プルバックカメラ +Restart=リスタート +Reload=リロード +Reload Theme and Textures=テーマとテクスチャのリロード +Rendering Stats=レンダリング情報 +Screen Test Mode=スクリーンテスト +Send Off To Screen=画面更新を止める +Send On To Screen=画面更新を始める +Send Notes Ended=シーケンス終点を送信 +Show Masks=マスク +Slow=スロー +Song=曲 +Tempo=テンポ +Uptime=制限時間 +Visual Delay Down=画像遅延減少 +Visual Delay Up=画像遅延増加 +Volume Down=ボリュームダウン +Volume Up=ボリュームアップ +Vsync=Vsync +Write Preferences=設定の書き込み +Write Profiles=プロファイルの書き込み +off=オフ +on=オン +or=または +Zoom In Camera=ズームインカメラ + +[ScreenEdit] +%s notes=%sオブジェ +Can't undo - no undo data.=Undoできるほどのデータがありません。 +Do you want to revert from disk?=ディスクキャッシュから復元しますか?\n(ディスクの実データは読み込みません) +Do you want to revert to your last save?=最後に保存したところから復元しますか? +Do you want to save changes before exiting?=終了前に変更を保存しますか? +Enter a new BPM value.=BPMの値を指定してください。 +Enter a new Stop value.=停止秒数を指定してください。「0」で消えます。 +Enter a new Delay value.=遅延秒数を指定してください。「0」で消えます。\n停止と併用して同箇所で連続して譜面を止めることができます。 +Enter a new Time Signature.=曲の拍子数を「x/y」の形で指定してください。\n例)4/4 3/4 6/8 +Enter a new Tickcount value.=チックカウント(拍)を指定してください。\n一部アシストオプションで参照されます。 +Enter a new Combo value.=コンボの値を「x/y」の形で指定してください。 +Enter a new Label value.=この拍に貼るラベルを記述してください。 +Enter a new Warp value.=ワープする拍数を指定してください。 +Enter a new Speed percent value.=譜面のスクロール速度を割合(1で等倍)で指定してください。 +Enter a new Speed wait value.=譜面のスクロール速度を秒数で指定してください。 +Enter a new Speed mode value.=スピードを拍で指定するには「0」を、\n秒数で指定するには「1」を指定してください。 +Enter a new Scroll value.=スクロールの値を入力してください。 +Enter a new Fake value.=フェイクとして扱う拍の数を設定してください。 +Are you sure you want to erase this chart's timing data?=この譜面のタイミング情報を削除していいですか? +Enter a new artist transliteration.=アーティスト名を英字で入力してください。 +Enter a new artist.=アーティスト名を入力してください。 +Enter a new genre.=ジャンルを入力してください。 +Enter a new credit.=クレジットを入力してください。 +Enter a new description.=説明を入力してください。\nEditの場合は譜面名として曲選択画面で表示されます。 +Enter a new chart name.=シーケンス名を入力してください。\nEditの場合は説明が優先されます。 +Enter a new chart style.=推奨するプレイスタイルを入力してください。\n例)「足譜面(pad)」「手譜面(hand)」「指譜面(keyboard)」 +Enter a new meter.=シーケンスの難易度を設定してください。 +Enter the author who made this step pattern.=シーケンス製作者名を入力してください。 +Enter the offset for the song.=0拍目のオフセット値(秒)を入力してください。 +Enter a new last second hint.=曲の終端(拍数)を入力してください。\n-1にすると無効になります。 +Enter a new main title transliteration.=タイトルを英字表記で入力してください。 +Enter a new main title.=タイトルを入力してください。 +Enter a new sub title transliteration.=サブタイトルを英字表記で入力してください。 +Enter a new sub title.=サブタイトルを入力してください。 +Enter a new preview start.=試聴曲が始まる時間を入力してください。 +Enter a new preview length.=試聴曲の長さを入力してください。 +Enter a new min BPM.=表示される最小BPMを入力してください。 +Enter a new max BPM.=表示される最大BPMを入力してください。 +More than %d notes per measure is not allowed. This change has been reverted.=1小節に%d個のオブジェは置けません。修正してください。 +No backgrounds available=背景画像が存在しません。 +EditHelpText=↑/↓キー:\n 拍の変更\n←/→キー:\n 分数切り替え\n数字キー(1が一番左):\n 配置/除去\nN/Mキー:\n オブジェの種類変更\nCtrl + N/M:\n サイクルフラグ変更\nCtrl + ,/.:\n サイクル挿入\n数字キー押しっぱなし:\n ロングノート挿入\n  シフトキーも押してロールアロー\nスペースキー:\n  エリアマーカー設置\n\nUキー:アンドゥ\nTキー:拍モード/時間モード\nEnterキー:エリアメニュー呼出\nAキー:エリアメニュー2呼出\nEscキー:メインメニュー呼出\nF4:タイミングメニュー呼出\nF1:ヘルプ呼出\n +PlayRecordHelpText=Startボタンで終了 +Save successful.=正常に保存しました。 +Saved as SM and DWI.=SMとDWI形式で保存しました。 +Saved as SM.=SM形式で保存しました。 +Switched to=切り替えます: +The change has been reverted.=変更を取り消してください。 +This change creates more than %d notes in a measure.=この変更は1小節に%d個のオブジェを配置します。 +This change creates notes past the end of the music and is not allowed.=この変更は曲の終わった後にオブジェを配置します。使用できません。 +This will destroy all unsaved changes.=この操作は保存していない変更をすべて取り消します。 +Undo=Undo +You must be in Song Timing Mode to edit BG Changes.=背景を編集するには「T」キーを押してください。 +You must have an area selected to enter the Alter Menu.=エリアメニュー2に入るためにはエリアマーカーで区間を指定する必要があります。 + +Current beat=現在の拍 +Current second=現在の秒数 +Snap to=現在の分数 +Selection beat=選択している拍数 +Difficulty=難度 +Description=説明 +Chart Name=譜面の名前 +Chart Style=推奨プレイスタイル +Step Author=製作者 +Main title=タイトル +Subtitle=サブタイトル +Tap Note=配置オブジェ +Segment=サイクルフラグ +Tap Steps=通常オブジェ +Jumps=ジャンプ +Hands=手を要する配置 +Holds=ロングノート +Mines=地雷 +Rolls=ロール +Lifts=リフト +Fakes=フェイク +Timing Mode=タイミングモード +Step Timing=個別タイミング +Song Timing=全体タイミング +Beat 0 offset=オフセット +Preview Start=試聴の開始 +Preview Length=試聴の長さ +Help=ヘルプ +Info=情報 +Routine Player=ルーチンプレイヤー + +Track %d=(左から) %dレーン目のアサイン +None=無し +New Sound=新規にアサイン +Enter New Keysound File=キー音ファイルの名前を入力してください。\n特に長いファイルネームを間違わないようにしてください。 + + +[ScreenEditMenu] +HeaderText=譜面の編集 +HeaderSubText=曲に譜面を割り当て、編集できます。 +Continue with delete?=削除しますか? +Enter a description for this edit.=このエディットの説明を入力してください。 +ExplanationAction=譜面に対する操作を選択してください。 +ExplanationGroup=グループを選択してください。 +ExplanationSong=曲を選択してください。 +ExplanationSourceSteps=引用元の譜面を選択してください。 +ExplanationSourceStepsType=引用元の譜面のスタイルを選択してください。 +ExplanationSteps=譜面を選択してください。 +ExplanationStepsType=譜面のスタイルを選択してください。 +Profile name cannot be blank.=空のプロファイルは使用できません。 +The name you chose conflicts with another profile. Please use a different name.=プロファイル名が競合しています。別の名前にしてください。 +These steps are produced by autogen. You do not need to delete them.=自動出力された譜面です。削除できません。 +These steps will be lost permanently.=これらの譜面は完全に消去されます。 +This song is missing a music file and cannot be edited.=曲ファイルが見つからないのでエディットできません。 +The song directory is read-only and cannot be edited.=読み込み専用の曲/譜面です。エディットできません。 +Blank=新規譜面 + +[ScreenPracticeMenu] +HeaderText=練習 + +ExplanationGroup=曲グループを選択してください。 +ExplanationSong=練習する曲を選んでください。 +ExplanationAction=練習を開始します。 +ExplanationStepsType=練習をしたいプレイタイプを選んでください。 +ExplanationSteps=練習したいシーケンスを選択してください。 + +[ScreenEvaluation] +HeaderText=リザルト +HeaderSubText=Your dance was so great! + +[ScreenEvaluationSummary] +HeaderText=最終リザルト +[ScreenGameplay] +GiveUpAbortedText=Don't give up! +GiveUpStartText=START押しっぱなしであきらめる +GiveUpBackText=BACK押しっぱなしで戻る + +[ScreenGameplaySyncMachine] +Standard deviation=標準偏差 +New offset=新しいオフセット +Old offset=古いオフセット +Collecting sample=標本 + +[ScreenInstructions] +PlayMode_Regular title=How To Play +PlayMode_Regular instructions=オブジェが判定ゾーンに来た時に対応した入力をしてください。 +PlayMode_Nonstop title=Nonstop Mode +PlayMode_Nonstop instructions=いくつかの曲をゲージを持ち越して連続プレイするモードです。 +PlayMode_Oni title=Challenge Mode +PlayMode_Oni instructions=4回Good以下を出すと終了のモードです。オプションは使用できません。 +PlayMode_Endless title=Endless Mode +PlayMode_Endless instructions=ゲージの続く限りプレイし続けるモードです。 +PlayMode_Rave title=Rave Mode +PlayMode_Rave instructions=いくつかの曲をゲージを持ち越して連続プレイするモードです。 +PlayMode_Battle title=Battle Mode +PlayMode_Battle instructions=コンボをつなげて相手を邪魔しながらより多くのゲージを獲得してください。 +Hold instructions=ロングノートはオブジェが終わるまで入力を続ける必要があります。失敗するとゲージが減ります。 +Mine instructions=地雷を踏むとゲージが減少します。 + +[ScreenLegal] +Warning=Warning +BodyText=StepManiaはオープンソースです。\n\nStepmaniaの名称とロゴは法律によって保護されています。\n\n標準テーマを構成する要素は各著作者が権利を有します。\n\n詳しくはlicense.txtをご覧ください。 + +[ScreenMapControllers] +HeaderText=マップコントローラー +InvalidButton=そのキーを設定することはできません。 +%s slots=%sスロット + +[ScreenNetRoom] +Enter a description for the room:=プレイルームの説明を入力してください。 +Enter a password for the room (blank, no password):=パスワードを入力してください。\n設定しない場合は入室時に入力の必要がなくなります。 +Enter Room's Password:=パスワードを入力してください。 +HeaderText=StepMania Online +HeaderSubText=部屋選択 +HelpText=Ctrl+ENTER 決定 &BACK; 戻る &MENULEFT;&MENURIGHT; 選択 + +[ScreenNetSelectMusic] +HeaderText=曲選択 +HeaderSubText=曲を選択します。(英字)チャットの使用ができます。 +HelpText=Ctrl+ENTER 決定 &BACK; 戻る &MENULEFT;&MENURIGHT; 選択::&MENUUP; プレイヤーオプション &MENUDOWN; 難易度変更 + +[ScreenNetworkOptions] +Disconnected from server.=サーバから切断しました。 +Enter a network address.=サーバのアドレスを設定してください。 +Server failed: %s Code:%d=サーバーエラーが発生しました。%s エラーコード:%d +Use 127.0.0.1 to connect to yourself.=127.0.0.1で自身に接続します。 +Connect=Connect +Disconnect=Disconnect +ScoreOn=On +ScoreOff=Off +HeaderText=ネットワークオプション +HeaderSubText=Stepmania Onlineについての設定です。 + +[ScreenOptionsEditCourse] +The maximum number of entries per course is %d. This course already has %d entries.=1コースには%dエントリまでしか設定できません。 +You cannot delete the last entry in a course.=コースの最終エントリは削除できません。 + +[ScreenOptionsEditCourseEntry] +No songs loaded.=曲が読み込まれていません。 + +[ScreenOptionsManageCourses] +Continue with delete?=削除しますか? +Enter a name for the course.=コースの名前を設定してください。 +You have %d, the maximum number allowed.=すでに最大数である%dコースが存在しています。 +You must delete an existing before creating a new.=新規作成の前に既存コースを削除してください。 +Error renaming file.=ファイルネームの変更でエラーが発生しました。 +This course will be lost permanently.=このコースは完全に消去されます。 +Error deleting the file '%s'.=「%s」の削除でエラーが発生しました。 + +[ScreenOptionsManageEditSteps] +Enter a name for these steps.=譜面の名前を入力してください。 +These steps will be lost permanently.=譜面は完全に消去されます。 +You have %d step edits, the maximum number allowed.=すでに最大数である%d譜面が存在しています。 +You must delete an existing steps edit before creating a new steps edit.=新規作成の前に既存の譜面を削除してください。 +Continue with delete?=削除しますか? + +[ScreenOptionsCourseOverview] +Error saving course.=コースの保存でエラーが発生しました。 +Course saved successfully.=コースを保存しました。 +Enter a name for the course.=コースの名前を入力してください。 +Error renaming file.=ファイルネームの変更でエラーが発生しました。 +This course will be lost permanently.=コースは完全に削除されます。 +Continue with delete?=削除しますか? +Error deleting the file '%s'.=「%s」の削除でエラーが発生しました。 + +[NotesWriterSM] +Error renaming file. Destination file '%s' already exists.=変更後のファイルネーム「%s」がすでに存在します。 +Error writing file '%s'.=「%s」の書き込みに失敗しました。 + +[NotesWriterSSC] +Error renaming file. Destination file '%s' already exists.=変更後のファイルネーム「%s」がすでに存在します。 +Error writing file '%s'.=「%s」の書き込みに失敗しました。 + +[ScreenOptionsManageProfiles] +Are you sure you want to clear all data in the profile '%s'?=プロファイル「%s」のデータをすべて削除しますか? +Are you sure you want to delete the profile '%s'?=プロファイル「%s」を削除しますか? +Enter a name for the profile.=プロファイルの名前を入力してください。 +NewProfileDefaultName=New + +[ScreenOptionsMaster] +Exit=戻る + +[ScreenOptionsMasterPrefs] +Off=Off + +[ScreenOptionsMemoryCard] +Error mounting card: %s=メモリーカード「%s」の認識に失敗しました。 +(no label)=(ラベル未設定) +size ???=size ??? +%dMB=%dMB + +[ScreenOptionsService] +HeaderText=オプション +HeaderSubText=ゲームの設定です。 + +[ScreenPackages] +DL @ %d KB/s=DL @ %d KB/s +Download cancelled.=ダウンロードをキャンセルしました。 +Enter URL=URLを入力してください。 +Failed.=失敗しました。 +Failed to connect.=接続に失敗しました。 +File Already Exists=ファイルがすでに存在します、 +Header Sent.=ヘッダーを送信しました。 +Invalid URL.=無効なURLです。 +VisitURL=--Visit URL-- +Waiting for header.=ヘッダーを受信しています。 + +[ScreenPrompt] +OK=OK +No=いいえ +Yes=はい +Cancel=キャンセル + +[ScreenRanking] + +[ScreenSMOnlineLogin] +Each player needs a unique Profile.=すべてのプレイヤーがプロファイルを設定する必要があります。 +Enter your password.=パスワードを入力してください。 +No Styles are selectable.=プレイスタイルが選択できません、 +You are logging on as:=この名前でログインしています。: +You must define a Profile.=プロファイルを設定してください。 +HeaderText=オンラインにログイン +HeaderSubText=ログインに使用するプロファイルを選択してください。 +Depending on the server you're connected to, you may have to register for an account on their website.=接続しようとしているサーバーでは、事前に会員登録をしてアカウントを取得する必要があります。 + +[ScreenSaveSync] +Choosing NO will discard your changes.=「いいえ」を選択すると調節はキャンセルされます。 +Would you like to save these changes?=計測結果を保存しますか? +You have changed the timing of=この曲のタイミングデータを調節します。 + +[ScreenWithMenuElements] +; Put all help text in this one group and have metrics look up the strings here. That will help make sure +; that strings are in a consistent style and that strings aren't duplicated. +HelpTextNormal=&MENULEFT;&MENURIGHT; 選択 &START; 決定 +HelpTextSelectMusic=&MENULEFT;&MENURIGHT; 選択 &START; 決定 +HelpTextDifficultyPart=&UP;&UP; 一つ上のシーケンス &DOWN;&DOWN; 一つ下のシーケンス +HelpTextOptions=&MENUUP;&MENUDOWN; 選択 &MENULEFT;&MENURIGHT; 変更 &START; 決定 +HelpTextOptionsAndBack=&MENUUP;&MENUDOWN; 選択 &MENULEFT;&MENURIGHT; 変更 &START; 決定 &BACK; 破棄して戻る +HelpTextOptionsSimple=&MENUUP;&MENUDOWN; 変更 &START; 決定 +HelpTextOptionsSimpleAndBack=&MENUUP;&MENUDOWN; 選択 &START; 決定 &BACK; 破棄して戻る +HelpTextSort=&UP;&DOWN;&UP;&DOWN; ソートメニュー +HelpTextContinue=何かボタンを入力してください。Escキーで戻ります。 +HelpTextEvaluation=&START; 続ける +HelpTextScreenshot=&SELECT; スクリーンショット +HelpTextTestInput=何かボタンを入力してください。Escキーで戻ります、 +HelpTextTestLights=&MENULEFT;&MENURIGHT;ライトの光を循環させます。Escキーで戻ります。 +HelpTextTextEntry=キーボードのタイプ(例:106、109)を入力します。Enterキーで設定します。 +HelpTextMapControllers=矢印キーを設定します。ENTERキーで設定、SPACEキーで削除します。Escキーで終了します。 +HelpTextOnline=日本サーバはsmojp.ath.cxです。一度接続そのもののテストを行うことを推奨します。\n詳しくはstepmaniaonline.com(英語)を参照してください。 +HelpTextNetSelectMusic=Ctrl+Enter 決定&UP; プレイヤーオプション +HelpTextBookkeeping=&MENULEFT;&MENURIGHT; 周回データ Escキーで戻ります。 + +[ScreenSelectGame] +HeaderText=シミュレートするゲームの選択 +HeaderSubText=お好みのゲームタイプを選択してください。 + +[ScreenSelectGroup] +ALL MUSIC=ALL MUSIC!!! + +[ScreenSelectMusic] +HeaderText=曲セレクト +HeaderSubText=お好みの曲を選択してください。 + +[ScreenSelectCourse] +HeaderText=コースセレクト + +[ScreenSelectGroup] +HeaderText=グループセレクト + +[ScreenSelectStyle] +HeaderText=スタイルセレクト +HeaderSubText=プレイスタイルを選択してください。 + +[ScreenSelectPlayMode] +NormalExplanation=お気に入りの曲でキメろ! +NonstopExplanation=テーマに沿った曲たちをプレイし続けろ! +ChallengeExplanation=高難度モードだ! +SurvivalExplanation=ライバルと競え! +EndlessExplanation=ひたすら生き残れ! +HeaderText=モードセレクト +HeaderSubText=モードを選択してください。 + +[ScreenServiceAction] +%d added=%d追加 +%d copied=%dコピー +%d overwritten=%d上書き +%d deleted=%d削除 +%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.=メモリーカードがありません。削除は失敗しました。 +Edits not copied - No memory cards ready.=メモリーカードがありません。コピーは失敗しました。 +Error saving machine stats to P%d card.=P%dのメモリーカードに設定を保存できませんでした。 +Machine stats cleared.=設定を消去しました。 +Machine stats loaded from P%d card.=P%dのメモリーカードから設定をロードしました。 +Machine stats saved to P%d card.=P%dのメモリーカードに設定を保存しました。 +Preferences reset.=リセットしました。 +Stats not loaded - No memory cards ready.=メモリーカードがありません。ロードは失敗しました。 +Stats not saved - No memory cards ready.=メモリーカードがありません。保存は失敗しました。 +The profile on P%d card contains corrupt or tampered data.=P%dのメモリーカードに保存されているプロファイルは不正データです。 +There is no machine profile on P%d card.=P%dのメモリーカードにプロファイルが存在しません。 + +[ScreenSyncOverlay] +AutoPlay=オートプレイ +AutoPlayCPU=CPUのオートプレイ +AutoSync Machine=グローバルオフセットの調整 +AutoSync Song=オフセットの調整 +AutoSync Tempo=テンポの調整 +Can't sync while playing a course.=コースプレイ中は調整できません。 +Sync changes reverted.=変更はキャンセルされました。 +Revert sync changes=変更はキャンセルされました。 +Current BPM - smaller/larger=現在のBPMがずれています。 +Song offset - notes earlier/later=オフセットがずれています。 +Machine offset - notes earlier/later=グローバルオフセットがずれています。 +(hold Alt for smaller increment)=(Alt押しっぱなしで数値の差を緩やかに) +Old offset=旧オフセット +New offset=新オフセット +Collecting sample=標本 +Standard deviation=標準偏差 + +[ScreenSystemLayer] +CreditsCardChanged=カード入れかえ +CreditsCardChecking=カードチェック +CreditsCardMountFailed=カード認識エラー +CreditsCardNoName=NO NAME +CreditsCardReady=READY +CreditsCardRemoved=カードなし +CreditsCardTestFailed=カード保存エラー +CreditsCardTooLate=低速カード +CreditsCredits=Credit(s) +CreditsMax=(MAX) +CreditsFreePlay=フリープレイ +CreditsInsertCard=カード挿入 +CreditsLoadFailed=署名不正 +CreditsLoadedFromLastGoodAppend= (Back Up) +CreditsNotPresent=NOT PRESENT +CreditsPressStart=PRESS START + +[ScreenTestFonts] +# W is annoying: +Text1=WWWWWWWWWWWW +# Realistic excerpt: +Text2=The argument goes something like this: &oq;I refuse to prove that I exist,&cq; says God, &oq;for proof denies faith, and without faith I am nothing.&cq;::::&oq;But,&cq; says Man, &oq;The Babel fish is a dead giveaway, isn't it? It could not have evolved by chance. It proves you exist, and so therefore, by your own arguments, you don't. QED.&cq;::::&oq;Oh dear,&cq; says God, &oq;I hadn't thought of that,&cq; and promptly vanished in a puff of logic. +# Numbers test: +Text3=01234567890 ::100.00% 12345% 9:00 50/100 +# General symbol test, and test alignment against another font. +Text4=$50% (Test) "test's" &oq;test's&cq;, #1! 1+2-3*4/5.6::3:00 a; b; 5<6 6>5 2^3=8 Why? test@example.com::[Foo] {bar} Press &START; 3|4 &oq;1_2_3&cq; +Text5=2バイト文字のテスト。全角の2は標準のフォントでは化けます。基本的には日本語フォントの導入をお勧めしますが、1バイト文字との整形上の問題があります。 + +[ScreenTestInput] +Controller=コントローラ +not mapped=未マップ +secondary=セカンダリ + +[ScreenTestLights] +Auto Cycle=オートサイクル +Manual Cycle=マニュアルサイクル +cabinet light=キャビネットライト +controller light=コントローラライト + +[ScreenTextEntry] +Backspace=BackSpace +Cancel=キャンセル +Done=終了 +HeaderText= +Space=Space +"%s" is an invalid floating point value.=「%s」は無効な浮動小数点です。 +AnswerCaret=_ +AnswerBlank= + +[ScreenTitleMenu] +%d songs in %d groups=プレイアブル%d曲(%dグループ) +%d courses in %d groups=%dコース(%dグループ) +%d unlocks=アンロック%d +Gametype:=ゲームタイプ +Difficulty:=難度 +Announcer=アナウンサー +Play Online=ネットワークプレイ +Edit/Share=エディット/共有 +Exit=終了 +Game Start=ゲームスタート +Jukebox=ジュークボックス +Select Game=ゲームセレクト +Theme=テーマ +Credits=クレジット +Options=オプション +Setup=クイックセットアップ + +[SmpackageExportDlg] +Error adding file '%s'.=「%s」の追加でエラーが発生しました。 + +[SongManager] +Loading courses...=コース読み込み中 +Loading songs...=曲読み込み中 +Reloading...=リロード中 +Unloading songs...=ロード解除中 +Unloading courses...=ロード解除中 +The folder "%s" appears to be a song folder. All song folders must reside in a group folder. For example, "Songs/Originals/My Song".=「%s」は曲フォルダです。曲フォルダはグループフォルダの中に配置してください。 + +[SongUtil] +You must supply a name for your new edit.=エディットの名前を設定してください。 +The name you chose conflicts with another chart. Please use a different name.=他のシーケンスと名前が重複しています。別の名前を設定してください。 +The name you chose conflicts with another edit. Please use a different name.=他のシーケンスと名前が重複しています。別の名前を設定してください。 +The chart name cannot contain any of the following characters: %s=シーケンス名に次のような文字は使用できません。:%s +The edit name cannot contain any of the following characters: %s=シーケンス名に次のような文字は使用できません。: %s +The step author's name cannot contain any of the following characters: %s=製作者名に次のような文字は使用できません。: %s + +[SongSort] +FewestPlays=プレイ回数の少なさ +LowestGrades=最高グレードの低さ +MostPlays=プレイ回数の多さ +Randomize=ランダム +TopGrades=最高グレードの高さ + +[Sort] +NotAvailable=N/A +Other=その他 + +[SortOrder] +AllCourses=全コース +Artist=アーティスト +BPM=BPM +Endless=エンドレス +Genre=ジャンル +Group=グループ +ModeMenu=モードメニュー +Nonstop=レイヴ +Oni=ONI +Popularity=プレイヤーべスト +Preferred=選好 +Title=タイトル +TopGrades=最高グレードの高さ +Roulette=ルーレット +Length=長さ +Recent=最近プレイした曲 +BeginnerMeter=Novice難易度 +EasyMeter=Easy難易度 +MediumMeter=Medium難易度 +HardMeter=Hard難易度 +ChallengeMeter=Challenge難易度 +DoubleEasyMeter=DPEasy難易度 +DoubleMediumMeter=DPMedium難易度 +DoubleHardMeter=DPHard難易度 +DoubleChallengeMeter=DPChallenge難易度 + +[StepMania] +Announcer=アナウンサー +Couldn't open any loading windows.=ローディング画面のオープンに失敗しました、 +Fullscreen=フルスクリーン +Initializing %s...=初期化中%s… +No video renderers attempted.=対応ビデオレンダラを発見できませんでした。 +NoSmoothLines=スムースラインOFF +NoVsync=VsyncOFF +Please do not file this error as a bug! Use the web page below to troubleshoot this problem.=このエラーをバグとして報告しないでください。sm-ssc公式ページのトラブルシューティングを参照してください。 +Service switch pressed=サービススイッチが押されました。 +SmoothLines=スムースライン +There was an error while initializing your video card.=ビデオカードの初期化でエラーが発生しました。 +Unknown video renderer value: %s=「%s」はビデオレンダラの不明な数値です。 +Video Driver: %s=ビデオドライバ:%s +Vsync=Vsync +Windowed=ウインドウモード +color=色 +texture=テクスチャ + +[StepsType] +dance-couple=couple +dance-double=double +dance-single=single +dance-solo=solo +dance-threepanel=3panel +dance-routine=routine +lights-cabinet=Lights +# SSC +Dance_Single=Single +Dance_Double=Double +Dance_Threepanel=3 Panels + +[TapNoteScore] +AvoidMine=地雷回避 +HitMine=地雷爆発 +Miss=ミス +CheckpointMiss=ホールド失敗 +CheckpointHit=ホールド成功 +None=None +W1=Flawless +W2=Perfect +W3=Great +W4=Good +W5=Boo + +[ThemeManager] +Reloaded metrics=CGのリロード +Reloaded metrics and textures=CGとテクスチャのリロード +Reloaded scripts=スクリプトのリロード +Reloaded overlay screens=オーバーレイのリロード + +[WorkoutManager] +You must supply a name for your workout.=ワークアウトに名前をつけてください。 +The name you chose conflicts with another workout. Please use a different name.=他のワークアウトと名前が重複しています。 +The workout name cannot contain any of the following characters: %s=ワークアウトの名前に次のような文字は使えません。: %s +%d/%d songs enabled=%d/%d曲プレイ可能 + +[Dialog-Add A Comment] +Add A Comment=コメント追加 +Cancel=キャンセル +OK=OK +Package Comment=パッケージのコメント +You can add a message to display before a user installs your package.=パッケージのインストール前にコメントを表示することができます。 +Show a comment=コメント表示 +Don't display this dialog in the future=次からは表示しない + +[Dialog-Change Game Settings] +Cancel=キャンセル +Change Game Settings=設定の変更 +Default (recommended)=デフォルト(推奨) +Direct3D=Direct3D +DirectSound Hardware=DirectSoundハードウェア +DirectSound Software=DirectSoundソフトウェア +Graphics API=グラフィックAPI +Log to Disk=ログを取る +Other=その他 +Force 60Hz Refresh=リフレッシュレートを60Hzで取る +Null (no sound)=Null (無音) +OK=OK +OpenGL=OpenGL +Show Log Window=ログウインドウの表示 +Sound API=サウンドAPI +Tip: Change these only if you experience problems when using the default settings.=デフォルト設定でエラーが出たときのみ、この設定を変更してください。 +WaveOut=WaveOut + +[Dialog-Create Language] +Cancel=キャンセル +Choose a language=言語選択 +Create Language=言語作成 +OK=OK + +[Dialog-Edit Installations] +Add=追加 +Add New Installation=インストールする +Cancel=キャンセル +Current Installations=インストール +Current Installations (the top installation is the default)=インストール +Edit Installations=インストールの編集 +Enter the complete path to a StepMania or DWI installation\ne.g. "C:\Program Files\StepMania"=譜面ファイルをインストールする場所をフルパス記述してください。 +Make Default=デフォルトで作成 +OK=OK +Remove=取り除く +The top installation is the default.=一番上のインストールはデフォルトです。 + +[Dialog-Export Packages] +Close=閉じる +Edit Installations=インストールの編集 +Export As Individual=個別エクスポート +Export As Oneまとめてエクスポート +Export Packages=パッケージのエクスポート +Installation=インストール +Launch Game=ゲームの起動 +Open Program Folder=プログラムフォルダを開く +Select Installation:=インストールを選択してください。 +Tree2=Tree2 + +[Dialog-Language Translations] +1) Create a new language\n2) Export the theme strings to a CSV\n3) Edit the CSV using Excel or a text editor\n4) Import the CSV file back into the same language=1)言語を新規作成してください。\n2)テーマの記述をCSV形式で出力してください\n3)Excelやテキストエディタで編集してください\n4)CSVファイルをインポートしてください +Check Language=言語チェック +Close=閉じる +Create Language=言語作成 +Delete Language=言語削除 +Export CSV=CSVをエクスポート +Export already translated strings=すでに翻訳されたものをエクスポート +Import CSV=CSVをインポート +Language Translations=翻訳 +Languages=言語 +Need translation:=翻訳が必要なもの +Selection details=選択したものの詳細 +Themes=テーマ +Total Strings:=全文章数 + +[Dialog-StepMania Tools] +Close=閉じる +Export As Individual=個別エクスポート +Export As One=まとめてエクスポート +Export Packages=パッケージのエクスポート +Launch Game=ゲームを起動 +Open Program Folder=プログラムフォルダを開く +Select Installation:=インストールの選択 +StepMania Tools=StepManiaツール +Tree2=Tree2 + +[Dialog-StepMania Tools Main Menu] +Change Preferences=設定の変更 +Change the graphics API, sound API, and other settings that the game will use.=ゲームで使用する画像/音声APIを選択してください。 +Clear Mappings=マップの削除 +Clear Preferences=設定の削除 +Clear all preferences if you've made changes and the game won't start.=ゲームが起動しないときは、設定を削除してみてください。 +Create .smzip package files to share with other users.=SMZIPパッケージを出力します。 +Create .smzip package files to share with other users. Packages can contain songs, courses, themes, backgrounds, and more.=SMZIPパッケージにはStepmaniaフォルダに存在するものを組み込むことができます。 +Create Song=曲を作成 +Create a new or manage existing language translations.=言語ファイルを管理します。 +Create a new song in from your favorite mp3 or ogg music file.=mp3やoggファイルからシーケンスのひな形を作成します。 +Create and Share=作成と共有 +Edit Installations=インストールの編集 +Erase all of your keyboard and joystick mappings if you've made a mistake.=キーマッピングに失敗したとき、キーマップを初期化することができます。 +Exit=終了 +Export Packages=パッケージのエクスポート +Installation=インストール +Languages=言語 +Launch Game=ゲームの起動 +Open Preferences=設定を開く +Open the preferences file to make changes by hand.=設定ファイルを開いて直接書き換えます。 +StepMania Tools Main Menu=StepMania Tools メインメニュー +Troubleshooting=トラブルシューティング + +[ChangeGameSettings] +Error writing file '%s': %s=「%s」の書き込みに失敗しました。: %s + +[Dialog-Name Your Package] +Name Your Package=名前の設定。 +Enter a name for your new package:=パッケージの名前を設定してください。 +OK=OK +Cancel=Cancel +Note: leave off the ".smzip" extention=smzipエクステンションを無効にしてください。 + +[Dialog-Install a package] +Finish >=Finish > +Cancel=Cancel +< Back=< Back +Install a package=パッケージのインストール +Edit Installations=インストールの設定 +You have chosen to install the package:=インストールするパッケージを選択してください。 +This package contains the following files:=このパッケージは次のファイルを内包しています。 +The package will be installed in the following program folder:=パッケージは次のフォルダにインストールされます。 + +[PlayerNumber] +P1=P1 +P2=P2 + +[UnlockRewardType] +Song=Song +Steps=Steps +StepsType=StepsType +Course=Course +Modifier=Modifier + +[RageDisplay_Legacy] +Obtain an updated driver from your video card manufacturer.=ビデオカードを更新してください。 +GLDirect was detected. GLDirect is not compatible with this game and should be disabled.=GLDirectが検出されました。GLDirectはStepmaniaでは無効にする必要があります。 + +[RageDisplay_D3D] +DirectX 8.1 or greater is not installed. You can download it from:=DirectX 8.1以上が検出できません。 +Your system is reporting that Direct3D hardware acceleration is not available. Please obtain an updated driver from your video card manufacturer.=Direct3Dのハードウェアアクセラレーションが使用できません。 + +[RageDisplay] +SetVideoMode failed:=ビデオモードの設定に失敗しました。 + +[Dialog-Prompt] +Prompt=Prompt +OK=OK +&Don't display this message again=&Don't display this message again +Error=Error + +[Dialog-Uninstall Old Packages] +Uninstall Old Packages=古いパッケージをアンインストールしますか? +&Yes=&Yes +&No=&No +Cancel=Cancel +The following packages are already installed. It is strongly recommended that they be deleted before installing this package.=このパッケージは既にインストールされています。古いものを削除することをお勧めします。 +Delete old packages?=古いパッケージを削除しますか? + +[DeviceButton] +Home=Home +End=End +Up=Up +Down=Down +Space=Space +Shift=Shift +Ctrl=Ctrl +Alt=Alt +Insert=Insert +Delete=Delete +PgUp=PgUp +PgDn=PgDn +Backslash=Backslash + +[EditHelpDescription] +Move cursor=カーソル移動 +Jump measure=小節飛ばし +Select region=区間選択 +Jump to first/last beat=最初(最後)に飛ばす +Change zoom=倍率変更 +Play=テストプレイ +Play current beat to end=現在の拍からテストプレイ +Play whole song=全体をテストプレイ +Record=再生しながらシーケンスを記録 +Set selection=エリアマーカーの設置 +Toggle assist tick=アシストチックを使う +Next/prev steps of same StepsType=同じタイプの違うシーケンス +Decrease/increase BPM at cur beat=BPMの調整 +Decrease/increase stop at cur beat=譜面停止時間の微調整 +Decrease/increase delay at cur beat=譜面遅延時間の微調整 +Decrease/increase music offset=オフセットの微調整 +Decrease/increase sample music start=試聴曲スタートの微調整 +Decrease/increase sample music length=試聴曲の長さの微調整 +Play sample music=試聴曲の再生 +Add/Edit Background Change=背景の設定 +Insert beat and shift down=空の拍を挿入 +Shift BPM changes and stops down one beat=BPM変化か停止を1拍下げる +Delete beat and shift up=拍を1つ詰める +Shift BPM changes and stops up one beat=BPM変化か停止を1拍上げる +Cycle between tap notes=オブジェの種類を変える +Lay mine=地雷を置く +Lay lift=リフトを置く +Add to/remove from right half=右半分だけを追加/削除 +Switch Timing=譜面モード/背景モードの切り替え +Switch player (Routine only)=プレイヤーの変更 + +[Grade] +Tier01=AAAA +Tier02=AAA +Tier03=AA +Tier04=A +Tier05=B +Tier06=C +Tier07=D +Tier08=D +Failed=F +None=- + +[ScreenOptionsEditCourse] +-Empty-=-Empty- +Song=曲 +Steps=オブジェ数 +minutes=秒数 +You must enable at least %d songs.=最低%d曲を解禁してください。 + +[LowLevelWindow_Win32] +OpenGL hardware acceleration is not available.=OpenGLハードウェアアクセラレーションが使用できません。 + +[Premium] +Off=Off +DoubleFor1Credit=Double For 1 Credit +2PlayersFor1Credit=2 Players For 1 Credit + +[Stage] +1st=1st +2nd=2nd +3rd=3rd +4th=4th +5th=5th +6th=6th +Next=Next +Final=Final +Extra1=Extra +Extra2=Encore +Nonstop=Nonstop +Oni=ONI +Endless=Endless +Event=Event +Demo=Demo + +[JudgmentLine] +W1=Flawless +W2=Perfect +W3=Great +W4=Good +W5=Boo +Held=Held +MaxCombo=Max Combo +Miss=Miss + +[NativeLanguageNames] +Afar=Afar +Abkhazian=аҧсуа бызшәа +Afrikaans=Afrikaans +Amharic=Amharic +Arabic=العربية +Assamese=Assamese +Aymara=Aymara +Azerbaijani=azərbaycan +Bashkir=Bashkir +Byelorussian=Беларуская +Bulgarian=Български +Bihari=Bihari +Bislama=Bislama +Bengali=Bengali +Tibetan=Tibetan +Breton=Breton +Catalan=Català +Corsican=Corsican +Czech=čeština +Welsh=Cymraeg +Danish=Dansk +German=Deutsch +Bhutani=Bhutani +Greek=Ελληνικά +English=English +Esperanto=Esperanto +Spanish=Español +Estonian=Eesti +Basque=euskera +Persian=فارسی +Finnish=Suomi +Fiji=Fiji +Faeroese=Faeroese +French=Français +Frisian=Frisian +Irish=Gaeilge +Gaelic=Gaelic +Galician=Galego +Guarani=Guarani +Gujarati=Gujarati +Hausa=Hausa +Hebrew=עברית +Hindi=हिंदी +Croatian=Hrvatski +Hungarian=Magyar +Armenian=Հայերեն +Interlingua=Interlingua +Indonesian=Bahasa indonesia +Interlingue=Interlingue +Inupiak=Inupiak +Indonesian=Bahasa indonesia +Icelandic=Íslenska +Italian=Italiano +Hebrew=עברית +Japanese=日本語 +Yiddish=Yiddish +Javanese=Javanese +Georgian=Georgian +Kazakh=Қазақ +Greenlandic=Greenlandic +Cambodian=Cambodian +Kannada=ಕನ್ನಡ +Korean=한국어 +Kashmiri=Kashmiri +Kurdish=Kurdish +Kirghiz=Кыргыз +Latin=Latin +Lingala=Lingala +Laothian=Laothian +Lithuanian=Lietuviškai +Latvian=Latviešu +Malagasy=Malagasy +Maori=Maori +Macedonian=Македонски +Malayalam=Malayalam +Mongolian=Mongolian +Moldavian=Moldavian +Marathi=Marathi +Malay=Bahasa melayu +Maltese=Malti +Burmese=Burmese +Nauru=Nauru +Nepali=Nepali +Dutch=Nederlands +Norwegian=Norsk +Occitan=Occitan +Oromo=Oromo +Oriya=Oriya +Punjabi=Punjabi +Polish=Polski +Pashto=پښتو +Portuguese=Português +Quechua=Quechua +Rhaeto-Romance=Rhaeto-Romance +Kirundi=Kirundi +Romanian=Română +Russian=Pyccĸий +Kinyarwanda=Kinyarwanda +Sanskrit=Sanskrit +Sindhi=Sindhi +Sangro=Sangro +Serbo-Croatian=Serbo-Croatian +Singhalese=Singhalese +Slovak=Slovenčina +Slovenian=Slovenščina +Samoan=Samoan +Shona=Shona +Somali=Somali +Albanian=Shqip +Serbian=Srpski +Siswati=Siswati +Sesotho=Sesotho +Sudanese=Sudanese +Swedish=svenska +Swahili=Kiswahili +Tamil=Tamil +Tegulu=తెలుగు +Tajik=Tajik +Thai=ภาษาไทย +Tigrinya=Tigrinya +Turkmen=Turkmen +Tagalog=Tagalog +Setswana=Setswana +Tonga=Tonga +Turkish=Tϋrkçe +Tsonga=Tsonga +Tatar=Tatar +Twi=Twi +Ukrainian=Українська +Urdu=اردو +Uzbek=o'zbek +Vietnamese=Tiếng Việt +Volapuk=Volapuk +Wolof=Wolof +Xhosa=isiXhosa +Yiddish=Yiddish +Yoruba=Yorùbá +Chinese=中文 +Zulu=isiZulu + +[ScreenPlayerOptions] +HeaderText=プレイオプション +HeaderSubText=前衛的なシーケンス力を問う選りすぐりのオプションです。 + +[ScreenSongOptions] +HeaderText=プレイオプション +HeaderSubText=覚悟はいいですか? + +[StageAward] +FullComboW3=Full Combo! +SingleDigitW3=Single Digit Greats! +OneW3=One Great! +FullComboW2=Full Perfect Combo!! +SingleDigitW2=Single Digit Perfects!! +OneW2=One Perfect!! +FullComboW1=Full Fantastic Combo!!! +80PercentW3=80% Greats! +90PercentW3=90% Greats!! +100PercentW3=100% Greats!!! + +[PeakComboAward] +1000=1000 Peak Combo! +2000=2000 Peak Combo! +3000=3000 Peak Combo! +4000=4000 Peak Combo! +5000=5000 Peak Combo!! +6000=6000 Peak Combo!! +7000=7000 Peak Combo!! +8000=8000 Peak Combo!! +9000=9000 Peak Combo!! +10000=10000 Peak Combo!!! + +[ScreenOptionsExportPackage] +HeaderText=エクスポート +HeaderSubText=smzip形式のファイルを出力します。 + +[ScreenOptionsEdit] +HeaderText=エディット/共有 +HeaderSubText=キレのあるステップを打ち込んでください。 + +[ScreenMiniMenuEditHelp] +HeaderText=エディットのヘルプ + +[ScreenMiniMenuMainMenu] +HeaderText=メインメニュー + +[ScreenMiniMenuAreaMenu] +HeaderText=エリアメニュー + +[ScreenMiniMenuStepsInformation] +HeaderText=シーケンス情報 + +[ScreenMiniMenuSongInformation] +HeaderText=曲情報 + +[ScreenMiniMenuBackgroundChange] +HeaderText=背景の変化 + +[ScreenMiniMenuInsertTapAttack] +HeaderText=おじゃまの挿入 + +[ScreenMiniMenuInsertCourseAttack] +HeaderText=おじゃまの挿入 + +[ScreenMiniMenuCourseDisplay] +HeaderText=コース概観 + +[CourseUtil] +You must supply a name for your course.=コースに名前を付けてください。 +The course name cannot contain any of the following characters: %s=使ってはいけない文字を使用しています。: %s +The name you chose conflicts with another course. Please use a different name.=他のコースと名前が被っています。 + +[ScreenProfileLoad] +Loading Profiles=プロファイルを読み込み中… + +[ScreenProfileSave] +Saving Profiles=プロファイルを保存中… +HeaderText= + +[ScreenTestInput] +HeaderText=テスト入力 + +[ScreenMiniMenuContext] +HeaderText=! + +[ScreenOptionsManageProfiles] +HeaderText=プロファイル管理 + +[ScreenOptionsSystemDirection] +HeaderText=最低限の設定 + +[ScreenOptionsUI] +HeaderText=プレイ画面オプション + +[ScreenOptionsArcade] +HeaderText=クレジットオプション + +[ScreenOptionsInput] +HeaderText=入力オプション + +[ScreenOptionsTheme] +HeaderText=テーマ固有のオプション + +[ScreenOptionsManageCourses] +HeaderText=コース + +[ScreenEditOptions] +HeaderText= + +[ScreenOptionsEditCourse] +HeaderText=コース編集 +HelpText=&MENUUP;&MENUDOWN; 選択 &MENULEFT;&MENURIGHT; 数値の変更 + +[ScreenOptionsCourseOverview] +HeaderText=コース概観 + +[ScreenSelectProfile] +HeaderText=プロファイル選択 + +[ScreenSelectPlayStyle] +HeaderText=スタイルセレクト + +[ScreenGameInformation] +HeaderText=インフォメーション + +[StepsDisplay StepsType] +Dance_Single=Single +Dance_Double=Double +Dance_Couple=Couple +Dance_Solo=Solo +Dance_Routine=Routine +Dance_Threepanel=3 Panels +Pump_Single=Single +Pump_Double=Double +Pump_Halfdouble=Half-Double +Pump_Couple=Couple +Pump_Routine=Routine +Kb7_Single=KB7 +Ez2_Single=Single +Ez2_Double=Double +Ez2_Real=Real +Para_Single=Single +Ds3ddx_Single=Single +Bm_Single5=5 Keys +Bm_Double5=10 Keys +Bm_Single7=7 Keys +Bm_Double7=14 Keys +Maniax_Single=Single +Maniax_Double=Double +Techno_Single4=Single 4 +Techno_Single5=Single 5 +Techno_Single8=Single 8 +Techno_Double4=Double 4 +Techno_Double5=Double 5 +Pnm_Five=5 Button +Pnm_Nine=9 Button +Guitar_Five=5 Frets +Karaoke=Karaoke +Lights_Cabinet=Lights + +[StepsListDisplayRow StepsType] +Dance_Single=Single +Dance_Double=Double +Dance_Couple=Couple +Dance_Solo=Solo +Dance_Routine=Routine +Dance_Threepanel=3panel +Pump_Single=Single +Pump_Double=Double +Pump_Halfdouble=Half-Double +Pump_Couple=Couple +Pump_Routine=Routine +Kb7_Single=KB7 +Ez2_Single=Single +Ez2_Double=Double +Ez2_Real=Real +Para_Single=Single +Ds3ddx_Single=Single +Bm_Single5=5Keys +Bm_Double5=10Keys +Bm_Single7=7Keys +Bm_Double7=14Keys +Maniax_Single=Single +Maniax_Double=Double +Techno_Single4=Single4 +Techno_Single5=Single5 +Techno_Single8=Single8 +Techno_Double4=Double4 +Techno_Double5=Double5 +Pnm_Five=5Button +Pnm_Nine=9Button +Guitar_Five=5Frets +Karaoke=Karaoke +Lights_Cabinet=Lights + +[ScreenHowToInstallSongs] +HeaderText=曲のインストール + +[ThemePrefs] +IniFileMissing=iniファイルが読み込めません。 +UnknownPreference=「%s」に無効な記述があります。 + +[ThemePrefsRows] +ChoicesSizeMismatch=サイズが一致しません。(%d, %d) +NoDefaultInValues=「%s」は標準のデータが存在しません。 +TypeMismatch=標準の%sと%dの%sが一致しません。 +>>>>>>> other From 11f670a303f574dabdb12c919ddeaafa2f07bc26 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Thu, 21 Jun 2012 21:05:59 -0500 Subject: [PATCH 2/7] added GetPlayerName(pn) Lua binding to PROFILEMAN --- Docs/Changelog_sm5.txt | 2204 ++++++++++++++++++++-------------------- src/ProfileManager.cpp | 1778 ++++++++++++++++---------------- 2 files changed, 1994 insertions(+), 1988 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index d6a84afcf1..763e34f4a9 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -1,1100 +1,1104 @@ -StepMania 5 Changelog -________________________________________________________________________________ -The StepMania 5 Changelog covers all post-sm-ssc changes. For a list of changes -from StepMania 4 alpha 5 to sm-ssc v1.2.5, see Changelog_sm-ssc.txt. -________________________________________________________________________________ - -================================================================================ -StepMania 5.0 ???? ?? | 20120??? --------------------------------------------------------------------------------- - -2012/06/05 ----------- -* [GrooveRadar] Added SetFromValues(pn,{f1,f2,f3,f4,f5}) Lua binding. [AJ] - -2012/06/02 ----------- -* [PrefsManager] Added StretchBackgrounds preference. [AJ] -* [BMSLoader] Add #banner support. [hanubeki] - Source: http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=bf8b57b9a662af59de66b9d06ca282f38f9126d9 - -2012/05/31 ----------- -* [PaneDisplay] Added NullCountString metric. [AJ] -* [PlayerOptions] Fixes to Get/Set[C, M, X]Mod Lua bindings. [hanubeki] - Source: http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=97761b5dc87b8c8a1b296985a09814337578c745 - -2012/05/27 ----------- -* [MusicWheel] Added EmptyColor metric. [AJ] -* [PlayerState] Enabled GetPlayerController Lua binding. - -2012/05/21 ----------- -* [NotesLoaderBMS] Support for #BMP based background changes. [theDtTvB] -* [SongManager] Add song to the list of songs before loading it, this fixes - crashes in some BMS files. [theDtTvB] -* [ScreenEdit] Allow a new way of creating and modifying attacks using the - Area Menu. Note: Using the C or V keys is no longer allowed for attacks. - It will simplify things for later. [Wolfman2000] -* [Steps] Modified HasSignificantTimingChanges; the following now disqualify - when using a CMod: Stops, Delays, Warps, Speed Changes, Scroll Changes. - Songs with a non-constant BPM will only disqualify if the High/Low difference - is greater than 3.00. [AJ] - -2012/05/19 ----------- -* [Actor] Made the xy command a source-code level command. - -2012/05/17 ----------- -* [LoadingWindow_Gtk] Actually resolve the path to the Splash file. [djpohly] - -2012/05/16 ----------- -* [ScreenWithMenuElements] Added DelayMusicSeconds metric. [AJ] -* [ScreenOptionsMasterPrefs] Allow for FastLoadAdditionalSongs preference - to be called via the "conf" command. [AJ] - -2012/05/14 ----------- -* [Course] Added AllSongsAreFixed() Lua binding. [AJ] - -================================================================================ -StepMania 5.0 alpha 2 | 20120504 --------------------------------------------------------------------------------- - -2012/05/03 ----------- -* Add Var "Player" and Var "Controller" for NoteSkin. [hanubeki] - Sourced from http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=824cff29912d1c29a667046ba463d195e81c524a -* [CustomSpeedMods] If a player decides to remove 1x from the machine profile's - custom speed mods, re-add it back in to avoid crashes. [AJ] - -2012/05/02 ----------- -* Make ReceptorArrowRow and GhostArrowRow respect the column draw order. [hanubeki] - Sourced from http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=8ccf7449651eef51e8c42d031aa64da49a0b72ce - -2012/04/25 ----------- -* [Profile] Added GetLastPlayedSong and GetLastPlayedCourse Lua bindings. [AJ] - -2012/04/22 ----------- -* [LifeMeterBar] Reverted a change from 2010 that messed with how the life meter - subtracts life. The life difficulty should match StepMania 3.9 again. [AJ] - -2012/04/08 ----------- -* [ScreenNetworkOptions] Fixed a bug where localized text would not show up - properly. Fixes issue 759. [AJ] -* [Steps, Song] Replace Steps:UsesSplitTiming with - Song:IsStepsUsingDifferentTiming for both C++ and Lua. [wolfman2000] - -2012/04/06 ----------- -* Modify Jousway's planned noteskin to allow it to work with Technomotion - style gameplay. Expect minor bugs. [Jousway, Wolfman2000] - -2012/04/03 ----------- -* [PlayerOptions] Fix setting some effect mods that were always set to Drunk. - I wonder who had too much to drink. [TaroNuke] - -2012/03/31 ----------- -* [GameManager] Allow beat single7 and versus7 to be shown in Demonstration. [AJ] - -2012/03/28 ----------- -* [ScoreKeeperRave] Actually handle hold scores in HandleHoldScore(). - Players should please provide feedback on how this affects gameplay, as this - is a temporary feature. [AJ] -* [GameConstantsAndTypes] Made StageResult Lua-aware. [AJ] -* [GameState] Added GetStageResult(pn) Lua binding. [AJ] -* [Player] Keysounds now respect the volume settings. [hanubeki] - Sourced from hanubeki-modified-sm-ssc rev. 16fc5b714582 - -2012/03/27 ----------- -* [ScreenEditMenu] Don't hardcode stopping the music on pressing the back button. - This interferes with the StopMusicOnBack metric. [AJ] - -2012/03/20 ----------- -* [Background] Fix 3D noteskins and dancing characters from clashing with each other. [shakesoda, AJ] -* [NoteField] Fix 3D noteskins overlapping. [shakesoda, AJ] -* [ScreenEdit] Don't use Step timing by default. [Midiman] -* [ScreenEdit] Allow playback of course modifiers in Course Edit mode [Midiman] - -2012/03/15 ----------- -* [04 Scoring.lua] Added various 3.9 and 3.9+ scoring methods. [hanubeki] - -2012/03/12 ----------- -* Remove libtheora support since ffmpeg already supports theora videos. [cvpcs] - -2012/03/10 ----------- -* Update ffmpeg support to v0.10. [cvpcs] - -2012/03/09 ----------- -* [PlayerOptions] Don't display x-mods when using m-mods. - Sourced from hanubeki-modified-sm-ssc rev. bd08a58dd7cf and OpenITG. - -2012/03/08 ----------- -* [MusicWheel] Added RouletteStopped message, which is broadcast when Roulette - is finished and the wheel is locked. [AJ] -* [WheelBase] Made WheelState a Lua-enabled enum and added - GetWheelState() Lua binding. Deprecated IsLocked() Lua binding. [AJ] - -2012/03/07 ----------- -* [ScreenSelectMaster] Now updates choices on player join; it will move the - scroller to the correct location, but the GainFocus/LoseFocus commands don't - seem to work. [AJ] - -2012/03/05 ----------- -* [GameCommand] Added GetDifficulty(), GetCourseDifficulty(), GetPlayMode(), - GetSortOrder(), GetAnnouncer(), GetPreferredModifiers(), and - GetStageModifiers() Lua bindings. [AJ] - -2012/03/04 ----------- -* [Player] Changed default Hold window to 0.250f, like it was in 3.9. [AJ] - -2012/03/02 ----------- -* [NotesLoaderBMS] Fix calculating stops, Support for #LNOBJ, Don't use #BACKBMP - as song background if main StepsType is beat-*. [hanubeki] - These changes constitute revisions f26caccf103e, 2d114b38c6c9, and b60f021d2b67 - of hanubeki-modified-sm-ssc. (http://code.google.com/r/hanubeki-modified-sm-ssc/) - -2012/03/01 ----------- -* [MemoryCardManager] Disable Memory Cards by default. If you want to use them, -set MemoryCards=1 in Save/Preferences.ini (or Save/Static.ini). [AJ] -* [GameState] Set Premium to Premium_DoubleFor1Credit by default. [AJ] -* [ScreenSelectMusic] Added PlaySoundOnEnteringOptionsMenu metric. [AJ] -* [MusicWheel, WheelBase] Added collapse sound. [AJ] - -================================================================================ -StepMania 5.0 alpha 1a | 20120219 --------------------------------------------------------------------------------- - -2012/02/19 ----------- -* [Style] Added LockedDifficulty() Lua binding. [AJ] - -2012/02/15 ----------- -* [HighScore] Added Max Combo, Stage Award and Peak Award. New Lua bindings for - HighScore: GetMaxCombo(), GetStageAward(), GetPeakComboAward(). [AJ] - (the specifics of this are subject to change.) - -2012/02/10 ----------- -* [WheelBase, WheelItemBase] Turned WheelItemDataType into a Lua type, - made WheelBase:GetSelectedType() return the enum instead of a number. [AJ] - -2012/02/08 ----------- -* [ScreenEdit] Added support for editing keysounds. Use the Area Menu (Enter) - to either modify what sounds play on that row, or even remove a sound from - the list. Any sounds assigned to empty notes will automatically become - an AutoKeysound, and any AutoKeysounds that have their sound removed will - become empty notes. [Wolfman2000] - -2012/02/08 ----------- -* [ScreenOptionsMaster] Added StepsRowLayoutType metric. - (Valid values are "ShowAllInRow" or "ShowOneInRow".) [AJ] - -2012/01/23 ----------- -* [Player] Tap Note Scores (tns) can now be "AvoidMine" or "HitMine" in -JudgmentMessageCommand. [Saturn2888, shakesoda] - -2012/01/15 ----------- -* [WheelNotifyIcon] Add the NumIconsToShow metric. [Wolfman2000] -* [PlayerOptions] Fix a problem with m-mods where you would get m200 as - the default speed modifier. [AJ] - -2012/01/11 ----------- -* [ScreenEdit] Fix a floating point issue when dealing with speed segments. - [Wolfman2000] - -2012/01/09 ----------- -* [Song] Fix a bug introduced with "Only read certain tags during first load" - where song graphic files wouldn't load. [theDtTvB] - -================================================================================ -StepMania 5.0 alpha 1 | 20120108 --------------------------------------------------------------------------------- - -2012/01/08 ----------- -* [Song] Add HasPreviewVid and GetPreviewVidPath lua binding [cerbo] - -2012/01/08 ----------- -* [ScreenManager] Made AddScreenToTop take a second (optional) parameter for - posting a ScreenMessage on screen pop. [AJ] -* Only read certain tags during first load; makes song loading faster. [theDtTvB] - -2012/01/07 ----------- -* Fix Portable.ini not working on Mac OS X. [shakesoda] - -2012/01/05 ----------- -* [PercentageDisplay] Remove unused ApplyScoreDisplayOptions metric; - added PercentFormat and RemainderFormat metrics. [AJ] -* Fix Portable.ini not working in Linux. [FSX] - -2012/01/04 ----------- -* Fix a scoring/grading bug with Lifts. [FSX] - -2011/12/27 ----------- -* [MusicWheel] Add IsRouletting Lua binding. [AJ] -* [LuaManager] Remove GetOSName Lua binding; use GetArchName instead. [AJ] - -2011/12/26 ----------- -* [ArchHooks_OSX] Worked around a crash when language detection goes wrong. - Note: a real fix should be looked into. [shakesoda] - -2011/12/23 ----------- -* [Song] Fixed a bug where a sample start of 0 wouldn't work. [AJ] -* [Game] Added CountNotesSeparately and GetMapJudgmentTo(TapNoteScore) - Lua bindings. [AJ] -* [StepMania.cpp] Fix initial aspect ratio on first boot, hopefully. - (See issues 6 and 27) [AJ] - -2011/12/22 ----------- -* [LuaManager] Added ProductFamily() Lua binding. [AJ] - -2011/12/17 ----------- -* [Various] Allow loading of *.jpeg in addition to *.jpg. [AJ] - -2011/12/16 ----------- -* [StreamDisplay] Added VelocityMultiplier, VelocityMin, VelocityMax, - SpringMultiplier and ViscosityMultiplier metrics. [AJ] - -2011/12/12 ----------- -* [ScreenEdit] Add the GAMESTATE:InStepEditor Lua binding. [Wolfman2000] -* [Player, ScreenGameplay] Allow failing on Oni without crashing. This one - took awhile. [Wolfman2000] -* [LifeMeterBattery] Fixed various issues (lives not fully disappearing on fail, - P2 lose life animation having the wrong x zoom, hide the lives number if it - falls below 0). [AJ] - -2011/12/11 ----------- -* [ScreenEdit] Restore cycling the timing segments for jumping between. - The required line somehow never got replaced. [Wolfman2000] - -2011/11/30 ----------- -* [PlayerOptions] Added IsEasierForSongAndSteps(Song,Steps,PlayerNumber) and - IsEasierForCourseAndTrail(Course, Trail) Lua bindings. [AJ] -* [PlayerState] Added GetSuperMeterLevel() Lua binding. [AJ] - -2011/11/28 ----------- -* [ScreenGameplay] Add the SurvivalModOverride metric. Let the themer decide - if mods should be overridden on survival or not. Funny enough, this used - to be true for the old Oni style mode, but...well, we'll cross that bridge - later. [Wolfman2000] -* [LifeMeterBattery] Added MaxLives metric, which limits the maximum amount of - lives. Setting this to 0 will remove the limit. [AJ] - -2011/11/27 ----------- -* [PlayerOptions] Pretty large changes here, namely a bunch of new bindings. - Fixed the logic for GetReversePercentForColumn; It will now return nil for - invalid columns. Also fixed the logic for UsingReverse (now checks for 1.0f) - and SetPassmark (no longer allows values < 0.00f and > 1.0f). [AJ] -* [ScreenEdit] Allow inserting and removing beats and timing changes in - specific note increments instead of just quarter notes (a whole beat). - Those that prefer to keep using the shortcut keys will note that the - behavior has not changed for that: only by going into the Area menu can you - deal with more specific changes. [Wolfman2000] - -2011/11/26 ----------- -* [ScreenEdit] Restore using F9 and F10 to adjust stops by a fixed amount. - Sorry for the delay in this. [Wolfman2000] -* [ScreenEdit] Minor convenience. If you attempt to create a negative stop - segment from scratch, it does not create, and you are not requested to - save on exit, for there is nothing to save. [Wolfman2000] -* [ScreenEdit] Allow Shift + F9/F10 for adjusting delays. This works the same - way as adjusting stops. [Wolfman2000] - -2011/11/25 ----------- -* [PlayerStageStats] Hitting a mine no longer gives you full combo when - [Gameplay] MineHitIncrementsMissCombo=true. [AJ] - -2011/11/24 ----------- -* [PlayerStageStats] Added GetFailed and GetNumControllerSteps Lua bindings. [AJ] - -2011/11/15 ----------- -* [LifeMeterBar] Added the ForceLifeDifficultyOnExtraStage metric and - the ExtraStageLifeDifficulty metric. Let the themer decide if extra stages - should have their own life bar behavior. Note that this metric does NOT - change the lifebar to the battery style. [Wolfman2000/FSX] - -2011/11/14 ----------- -* [Mac OS X] Restore JPEG functionality. [Wolfman2000] - -2011/11/06 ----------- -* [GameState] Add the RefreshNoteSkinData lua binding. This will only - refresh the NS data for the present game, not all games. [Wolfman2000] -* [ScreenSelectMusic] Fixed Rave difficulties not being synced on late join. - Fixes issue 577. [AJ] -* [GameplayAssist] Don't play sounds if the player is dead. Fixes issue 621. [AJ] - -2011/11/04 ----------- -* [ScoreKeeperRave] Revert fix from 2011/10/28. [AJ] -* [ScoreKeeperRave] Fixed Miss and HitMine giving meter life. - (Fixes issue 622.) [AJ] - -2011/11/02 ----------- -* [ArchHooks] Add the GetArchName lua binding. To the themers that use - GetOSName, that function may be deprecated in the future. For now, - both options exist. [vyhd, Wolfman2000] - -2011/11/01 ----------- -* [ArrowEffects] Fix Expand, and possibly other mods, from breaking if - using a second player. [Wolfman2000] -* [ArchHooks] Add the AppHasFocus lua binding. [vyhd, Wolfman2000] - -2011/10/29 ----------- -* [GameState] Add the ResetPlayerOptions lua binding. [Wolfman2000] - -2011/10/28 ----------- -* [ScoreKeeperRave] Fix an issue where the super meter would not decrease back - to 1 after hitting the end of 3. (Fixes issue 314.) [AJ] - -2011/10/27 ----------- -* [Default theme] Fixed the pref controlling timing segments on song meter. [FSX] - -2011/10/18 ----------- -* [LightsManager] Use song beat for menu button lights, allow demonstration to - flash pad lights when BlinkGameplayButtonLightsOnNote is true, light custom - game buttons when pressed during attract mode, general optimizations. [vyhd] - -2011/10/17 ----------- -* [ScreenEdit/NoteField] Fix an editor crash when you exit without saving - after creating new steps. [Wolfman2000] - -2011/10/16 ----------- -* [NoteDataUtil] Add the Backwards mod for games where the intended - definition of Mirror is different. Regarding Pump gameplay, what was - called Mirror in Preview 4 is considered Backwards now, and the original - Mirror is back in its old position. [Wolfman2000] - -2011/10/12 ----------- -* [Steps] Fix a bug where e.g. ".SM" ".DWI" ".Sm" ".sM" files - wouldn't properly load since the code was expecting lowercase. [AJ] - -2011/10/10 ----------- -* [NotesLoaderBMS] Add the time signature segments. [theDtTvB] - -2011/10/09 ----------- -* [NotesLoaderBMS] Fix the bug where keysounds that points to nonexistant file - gets assigned a random one. [theDtTvB] -* [NotesLoaderBMS] Use BMSLoader to load PMS files. [theDtTvB] -* [RageSoundReader_WAV] Fix ADPCM support. [theDtTvB] - -2011/10/08 ----------- -* [GameSoundManager] Add the PlayMusicPart lua binding. [Wolfman2000] -* [ScreenEdit] Add the FadeInPreview and FadeOutPreview metrics. This controls - how long the fade in and fade outs are for playing the preview music. - The default values are 0 and 1.5 respectively. [Wolfman2000] - -2011/10/07 ----------- -* [RageDisplay] Add the GetFPS, GetVPF, and GetCumFPS bindings. [Wolfman2000] - -2011/10/06 ----------- -* Various scoring fixes sourced from http://www47.atwiki.jp/waiei/pages/21.html - [A.C/@waiei, 桜為小鳩/@sakuraponila] - -================================================================================ -StepMania 5.0 Preview 4 | 20111005 --------------------------------------------------------------------------------- - -2011/10/04 ----------- -* [NoteDataUtil] More accurate Left, Right, and Mirror mods for Pump gameplay. - Major thanks to Hudson Felker and Bill Shillito here. [Wolfman2000] - -2011/10/01 ----------- -* [ScreenHighScores] Disable forced screen transition behavior when - ManualScrolling=true. [AJ] - -2011/09/30 ----------- -* [GameState] Added CurrentOptionsDisqualifyPlayer(player), - ApplyPreferredModifiers(player,string) and ApplyStageModifiers(player,string) - Lua bindings. [AJ] - -2011/09/29 ----------- -* [Fallback theme] Fix ImmediateHoldLetGo function. [Wolfman2000] -* [GameState] Add the EditAllowedForExtra metric. Use this if you want edit - steps to be allowed for accessing the extra stage. By default, this is - false. [Wolfman2000] - -2011/09/26 ----------- -* [Default theme] Added Song Timing Display user preference. [AJ] -* [ThemeManager] Add global Scripts dir. [shakesoda] - -2011/09/25 ----------- -* [WheelItemBase] Added GetColor and GetText Lua bindings. [AJ] - -2011/09/24 ----------- -* [ScreenEdit] Disable shifting timing changes down one beat if starting on - beat 0. Important information must stay on that beat. [Wolfman2000] -* [ScreenEdit] Disable converting rows to a stop or beat starting on beat 0. - There should be no reason for this at this time. [Wolfman2000] -* [MusicWheelItem] Add/reinstate MusicWheelItem Mode Normal/Color/OverPart. [AJ] -* [FadingBanner] Added LoadFromSortOrder(SortOrder) Lua binding. [AJ] - -2011/09/23 ----------- -* [ScreenEvaluation] Added RollingNumbersMaxComboClass metric. [AJ] -* [NotesLoaderSM] Fix loading .sm files with non standard difficulty names. - It should be Hard, not Heavy. [Wolfman2000] - -2011/09/22 ----------- -* [ScreenDebugOverlay] Replaced hardcoded toggle command with - ButtonTextToggledCommand metric. [AJ] -* [LoadingWindow_Win32] Make the StepMania window gain focus after the - loading window closes. Fixes issue 424. [AJ] - -2011/09/21 ----------- -* [FadingBanner] Added LoadRandom(), LoadRoulette(), LoadFallback(), - LoadCourseFallback(), and GetBanner(int) Lua bindings. [AJ] - -2011/09/18 ----------- -* [Song] Added GetSampleStart() and GetSampleLength() Lua bindings. [Wolfman2000] - -2011/09/16 ----------- -* [UnlockManager] Added GetNumLockedSongs() Lua binding. [Wolfman2000] -* [UnlockManager] Added IsSongLocked() Lua binding. [Wolfman2000] - -2011/09/12 ----------- -* [NotesLoaderSSC/WriterSSC] Allow all timing tags regardless of what timing - is used. [Wolfman2000] - -2011/09/11 ----------- -* [ScreenEvaluation] Added "evaluation full combo W1" and - "evaluation full combo W2" announcer cues. [AJ] -* [Banner] Added "Banner group fallback" graphic. [AJ] - -2011/09/09 ----------- -* [NotesLoaderBMS] Rewrite the BMS loader, should fix issues 430 and 500. [theDtTvB] - -2011/09/08 ----------- -* [GameManager] Fix shifting of 2P notes in beat mode. [1a2a3a2a1a] - -2011/09/07 ----------- -* [Model] Added GetDefaultAnimation() Lua binding. [AJ] -* [GameState] Added GetEarnedExtraStage() Lua binding. [AJ] - -2011/09/02 ----------- -* [MenuTimer] Added start(), disable() Lua bindings. Also renamed setseconds to - SetSeconds to match GetSeconds. [AJ] -* [GameManager] beat "versus" -> "versus5"; fix beat versus7 being "single7". [1a2a3a2a1a] - -2011/08/27 ----------- -* Updated libjpeg to 8c. -* [SongManager] Added GetCoursesInGroup(sCourseGroup,bIncludeAutogen), - GetSongGroupBannerPath(songGroup), GetCourseGroupBannerPath(courseGroup), - DoesSongGroupExist(songGroup), DoesCourseGroupExist(courseGroup) and - GetPopularSongs() Lua bindings. [AJ] -* [SongManager] Added GetPreferredSortSongs(), GetPreferredSortCourses(courseType,bIncludeAutogen), - and GetPopularCourses(courseType) Lua bindings. [AJ] -* [SongManager] Add SongToPreferredSortSectionName(song), WasLoadedFromAdditionalSongs(song), - and WasLoadedFromAdditionalCourses(course) Lua bindings. [AJ] -* [CryptManager] Add GenerateRandomUUID() Lua binding. [AJ] -* [ThemeManager] Added DoesThemeExist(sTheme), IsThemeSelectable(sTheme), - DoesLanguageExist(sLang), GetCurThemeName(), HasMetric(sGroup,sValue), and - HasString(sGroup,sValue) Lua bindings. [AJ] - -2011/08/23 ----------- -* [Makefile.am] Fixed version date and time handling. [AJ] - -2011/08/22 ----------- -* [PrefsManager, X11Helper] Added ShowMouseCursor preference. [AJ] -* [UnlockManager] Added GetStepOfAllTypes Lua binding. This gets the locked - Steps for all game types based on the difficulty specified. [Wolfman2000] -* [UnlockManager] Added requirepasschallengesteps Lua binding. This is more - self-explanitory: pass challenge to be able to play edits. [Wolfman2000] - -2011/08/21 ----------- -* [NotesLoaderSSC] Fix loading pre-split timing files that had blank timing - tags inside of them. Thanks to Vin.il for the catch. [Wolfman2000] -* [Song] Added Jacket, CD image (a la early DDR), and Disc (PIU-style) support. - Added GetJacketPath(), GetCDImagePath(), GetDiscPath(), HasJacket(), HasDisc(), - and HasCDImage() Lua bindings. [AJ] - -================================================================================ -StepMania 5.0 Preview 3 | 20110820 --------------------------------------------------------------------------------- - -2011/08/20 ----------- -* [PlayerOptions] Add GetMMod() Lua binding. [AJ] -* [Player] Make keysounds respect volume preference. Fixes issue 344. [AJ] - -2011/08/19 ----------- -* [Steps] Add PredictMeter() and GetDisplayBPMType() Lua bindings. [AJ] -* [Song] Add ShowInDemonstrationAndRanking() Lua binding. [AJ] -* Turn off Autogen by default. [shakesoda] -* Disable automatic aspect ratio guessing, default to 854x480 - (16:9 because most newer displays are wide). [shakesoda] -* Turn on FastLoad and FastLoadAdditionalSongs by default. [shakesoda] - -2011/08/18 ----------- -* [RageInput] Added "No input devices were loaded." string to languages. [AJ] -* [RageInputDevice] Added localized names for InputDeviceState. [AJ] -* [Course] Add IsPlayableIn(StepsType) and IsRanking() Lua bindings. [AJ] -* [Trail] Added GetTotalMeter(), GetLengthSeconds(), IsSecret() - and ContainsSong(song) Lua bindings. [AJ] - -2011/08/16 ----------- -* Added PrettyPercent(numerator,denominator) Lua binding. [AJ] - -2011/08/14 ----------- -* [Foreground] Restore Foreground Changes for use in gameplay. Note that it - is recommended to use lua for #FGCHANGES from now on: not all XML changes - will work. [infamouspat] - -2011/08/13 ----------- -* [Theme-side] Added Fancy UI Background preference to Theme Options. [AJ] -* [LowLevelWindow_X11] Don't force the window into the upper left corner. [ZipFile] - -2011/08/07 ----------- -* [LifeMeterBattery] Added LostLife param to LifeChanged message. [AJ] -* [LifeMeterBattery] Converted LifeMeterBattery lives to an AutoActor. [AJ] -* [TimingData] Add HasDelays() Lua binding; HasStops() now only checks stops. [AJ] -* [GameState, SongUtil] Fix Issue 263 by not charging 2x stages for doubles when - not using joint premium. [AJ] -* [BeginnerHelper] Made BeginnerHelper run the OnCommand. [AJ] -* [GameState] add GetExpandedSectionName() Lua binding. [AJ] -* [ScreenSelectMusic] Added IdleCommentSeconds metric and - "ScreenSelectMusic IdleComment" announcer sound. [AJ] -* [NotesLoaderBMS] "Send the actual song file to LoadFromBMSFile in - BMSLoader::LoadNoteDataFromSimfile instead of the dummy one... - This fixes the wrong sound issue [423]..." [theDtTvB] - -2011/08/06 ----------- -* [NoteSkins/beat/default] Fix Issue 425. [AJ] -* [ScoreDisplayRave] Allow (Meter/Level)(X/Y) metrics to work again. [AJ] - -2011/08/05 ----------- -* [NoteField] Added AreaHighlightColor metric. [AJ] - -2011/08/04 ----------- -* [NoteTypes, ScreenEdit] Removed artificial MAX_NOTES_PER_MEASURE limit. [AJ] - -2011/08/02 ----------- -* [NotesSSC] Only write timing/attack tags for the step if there is a - difference from the song. For timing tags, at this time it means that if even - one tag is different, all tags are written. [Wolfman2000] - -2011/08/01 ----------- -* [MusicWheel, RoomWheel] Moved the "- EMPTY -" string to the languages file. [AJ] - -2011/07/31 ----------- -* [ScreenGameplay, LyricDisplay] Stop lyrics from animating on failure. - Fixes issue 298. [AJ] - -2011/07/30 ----------- -* [ProfileManager] Fix an issue when deleting recently created profiles. [AJ] -* Start removing anything related to Guitar mode. This was rushed in, and it - is not worth us keeping at this time. [Wolfman2000] - -2011/07/26 ----------- -* [ScreenEdit] Add a semi working implementation of the often requested - copy/paste selected timing data feature. This should make it easier for - some charters. [Wolfman2000] - -2011/07/21 ----------- -* [BeginnerHelper] Removed DancePadAngle metric in favor of DancePadOnCommand. - The same goes for PlayerAngle, dancer rotation is now handled in - PlayerP1/2OnCommand. [AJ] -* [Course] Bumped up max edit course title length to 16 (still feels too short). - Also added #DESCRIPTION tag and Course:GetDescription() Lua binding. [AJ] - -2011/07/20 ----------- -* [Win32/CrashHandlerChild] Crashlog and log now open in the player's default - text editor. Also, the Show Log button works again, including for people using - Portable.ini. [AJ] - -2011/07/19 ----------- -* [LoadingWindow] Added the ability for themes to have custom splash banners. - (Currently Windows-only.) [AJ] - -2011/07/17 ----------- -* [Cache] No longer store #NOTES in the cache. This should speed things up - on the first load if there is not much to write. (General note: this was - taken from another branch, but results at that point were great.) - [Wolfman2000] - -2011/07/13 ----------- -* [Difficulty] Allow ALL StepsTypes to use CustomDifficulty properly. - There was some unfair targeting of Couple and Routine. [Wolfman2000] -* [Steps] Calculate accurate radar values for Couple charts. [Wolfman2000] -* [ScreenEdit] Display more accurate chart data for Couple and Routine charts - for the future. No more having (almost) every row as a jump! [Wolfman2000] - -2011/07/12 ----------- -* [OptionRowHandler] Add a new metric to ScreenOptionsMaster: - StepsUseChartName. Use this if you want your charts to have a unique name - in the options menu. If there is no #CHARTNAME or it is "Blank", it reverts - to the original behavior. This metric is false by default. [Wolfman2000] -* [ScreenEdit] Fixed a bug involving #ATTACKS. Now when you set an attack, - the mods are reverted back to how they were prior to the attack being set. - [Wolfman2000] - -2011/07/09 ----------- -* [NotesTheUsual] Update the #COMBOS tag to allow for a Miss Combo attribute. - Any files that only use the Combo attribute will have that value copied to - miss combo on next launch. [Wolfman2000] -* [ScoreKeeperNormal] Better match #COMBOS with eval. Scoring formulas should - not be affected, but it may require more testing. [Wolfman2000] -* [Metrics] Have Pump mode lump the checkpoint judgments with Flawless and - Miss judgments on eval. Of course, this goes down to Perfect and Miss if - that is disabled. [Wolfman2000] - -2011/07/07 ----------- -* [ScreenEdit] Fix the NoMines transformation bug, issue 363. [Wolfman2000] -* [CourseLoaderCRS] Don't load BEST# and WORST# where # is greater than the - number of songs installed. Fixes issue 373. [AJ] -* [NotesAllSSC] Add the #CHARTNAME tag to the Steps. #DESCRIPTION is now for - more detailed descriptions, or perhaps some short hand lingo. All files - that used #DESCRIPTION will have their values moved to #CHARTNAME on - load. [Wolfman2000] -* [ScreenEdit] Add a Steps Data menu for getting numerical step data on the - chart. This is a read only menu. Edit Steps Information contains writable - information. [Wolfman2000] -* [NotesAllSSC] Add the Steps version of #DISPLAYBPM. The Song version is - still there, so themes should not have to worry about breakage. - [Wolfman2000] - -2011/07/06 ----------- -* [ScreenEdit] Fix the bug where hitting Enter during playing wouldn't take - the user back to the editor. [Wolfman2000] -* [Gameplay] Fix Fail mods being dishonored. [Midiman] - -2011/07/05 ----------- -* [ScreenEdit] Restore dance-couple and pump-couple for editing purposes. - Saving should still work, but this was never tested yet. [Wolfman2000] -* [ScreenOptions] Mini is now ITG Mini, and Tiny is now Pump Pro Mini. - This will prevent many prior courses from breaking. [sharksoda, Wolfman2000] -* [CharacterManager] Add a lua function to check how many characters you have. - For an example of how this is used, check the default theme's scripts - folder, specifically 03 ThemePrefs.lua. [Wolfman2000] - -2011/07/04 ----------- -* [ScreenEdit] Add a function to switch the notes the routine players have to - hit. In simple terms, Player 1's notes are now Player 2's and vice~versa. - Check it out in the Alter Menu. [Wolfman2000] -* [ScreenEdit] Add two routine mirroring functions. Now you can build sections - of a chart for one player, and mirror the effect for the other player when - finished. For Pump players, it is not a straight mirror, but is more akin - to what is found via normal routine charts. In other words, you'll be happy. - Check it out in the Alter Menu. [Wolfman2000] - -2011/07/03 ----------- -* [ScreenEdit] Fix a crash if one tries to remove an attack that doesn't - exist at that time. [Wolfman2000] - -================================================================================ -StepMania 5.0 Preview 2 | 20110703 --------------------------------------------------------------------------------- - -2011/07/03 ----------- -* [Player] Bring mMods from OpenITG over. Also, a metric was added, - "MModHighCap", to cap the speed mod if required for playing songs like - Tsuhsuixamush. Set the metric to 0 or less to remove the cap. [AJ, sharksoda, - Wolfman2000] - -2011/07/02 ----------- -* [ScreenEdit] Fixed a crash when hitting Enter in the F1 help menu. [AJ] - -2011/06/30 ----------- -* [NotesAll] Use #FIRSTSECOND, #LASTSECOND, and #LASTSECONDHINT instead of the - former BEAT equivalents. Split Timing has made this a necessity thanks to - certain files that abuse Stops/Delays more than usual. [Wolfman2000] -* [ScreenEdit] Add a function in the Area Menu to designate the current beat - as the last second of the song. Please try to be smart and not use this too - early. [Wolfman2000] - -2011/06/28 ----------- -* [ScreenEdit] Add a function to copy/paste the TimingData of a player's - choice. Remember to be in the appropriate mode when copying and pasting. - By default, the song timing is already located in the clipboard, ready for - use. [Wolfman2000] - -2011/06/27 ----------- -* [Steps] Make sure #ATTACKS are copied when requested. [Wolfman2000] -* [ScreenEdit] Have Step Author up front instead of Chart Style. This is - probably going to be better overall. [Wolfman2000] -* [TimingData] Preserve the length of time for Speed Segment scaling when using - beats. [Wolfman2000] -* [NotesLoader/WriterSSC] #OFFSET is to be before #ATTACKS. This is required if - we pursue beat based attacks and not just second based. [Wolfman2000] - -2011/06/26 ----------- -* [UnlockManager] New metric: AutoLockEditSteps. Use this to hide bonus charts - until the Expert steps are beaten. No guarantee that this works with no - challenge steps in the song. This defaults to false. [Wolfman2000] -* [UnlockManager] New metric: SongsNotAdditional. Set to true to keep the - default behavior, false to have the AdditionalSongs folder contain - unlockable material. This is set to true to start. [Wolfman2000] -* [ScreenEdit] Allow jumping between all segments, not just Label segments. - You still use Ctrl + ,/. to jump, but now you use Ctrl + N/M to cycle the - segments. By default, it starts with Label. [Wolfman2000] -* [PlayerOptions] No longer display StepAttacks in the player's list. - Instead, show NoAttacks if attacks are disabled. [Wolfman2000] - -2011/06/24 ----------- -* [Actor] Implement compound(length,tweens) in _fallback/02 Actor.lua. [AJ] -* [UnlockManager] Add a new unlock reward: StepsType. This is similar to - unlocking Steps, but it is targeted for one step in one stepstype rather - than one step in all stepstypes. This needs testing. [Wolfman2000] -* [ScreenEdit] Add the option to convert delays to beats. Just find a better - song to use this on besides Uprock. [Wolfman2000] -* [ScreenEdit] Fix a crash if you don't save any steps on a new song. - [Wolfman2000] -* [NotesLoader/WriterSSC] Add support for Step #ATTACKS. Furthermore, Song - Attacks (or rather, Step Attacks as it should be called now) are turned on - by default instead of off. [Wolfman2000] - -2011/06/19 ----------- -* [EditMenu] Allow all songs to work in Practice Mode, regardless of folder - location. This fixes a crash if everyone had songs in AdditionalSongs. - [Wolfman2000] - -2011/06/17 ----------- -* [LifeMeterBattery] Fixed a bug where MinesSubtractLives was not being honored. - Also added LifeChanged message to changing of life on holds. [AJ] - -2011/06/15 ----------- -* [TimingData] Added many lua bindings for the other timing segments. GetWarps, - GetCombos, GetTimeSignatures, GetTickcounts, GetFakes, GetScrolls, GetSpeeds. - This should cover all of them now. [Wolfman2000] - -2011/06/13 ----------- -* [InputHandler_DirectInput] Fixed MouseWheel input not resetting. [AJ] -* [ScreenTextEntry] Make it so only the keyboard's Enter key can finish the - screen. Should fix issues with buttons whose secondary function is MenuStart. [AJ] -* [InputMapper] Modify default mappings. Use the Hyphen key instead of the - Numlock key for Player 2's GAME_BUTTON_BACK. This should address some - issues with Player 2 being unable to back out if they use a laptop. - [Wolfman2000] -* [NoteDisplay] Add two new metrics. - * DrawRollHeadForTapsOnSameRow: bool, similar to DrawHoldHeadForTapsOnSameRow - * TapHoldRollOnRowMeansHold: bool, true means hold and false means roll - * No noteskins should require updating, as these were placed in common/common - for ease of use. [Wolfman2000] -* [LifeMeterBattery] Added ChangeLives(int) Lua binding. [AJ] -* [LifeMeterBattery] Added DangerThreshold metric. [AJ] -* [LifeMeterBattery] Added some important metrics. [AJ] - * MinScoreToKeepLife='TapNoteScore_*' - any score below this = loss of life. - * SubtractLives=1 - how many lives are lost when going below MinScoreToKeepLife. - * MinesSubtractLives=1 - how many lives are lost when hitting a mine. - * HeldAddLives=0 - how many lives are gained when a hold is completed. - * LetGoSubtractLives=1 - how many lives are lost on a dropped hold. - -2011/06/12 ----------- -* [ScreenNetSelectMusic] Add PlayerOptionsScreen metric. [AJ] -* [ScreenEdit] Restore the old PageUp/PageDown behavior, added Control + - PageUp/PageDown to use recent time signature behavior. Laptop users, that - includes you guys too: semicolon and apostrophe are still good. [Wolfman2000] - -2011/06/11 ----------- -* [ScreenEdit] Allow setting the Music Preview via the Alter Menu. Just select - your area, enter the menu, and choose "Designate as Music Preview". No more - math calculations needed! [Wolfman2000] -* [SongUtil] Added GetPlayableSteps(Song) Lua binding. [AJ] -* [Steps] Allow 255 characters for all chart descriptions, including edits. - We are no longer bound by In The Groove I think. [Wolfman2000] -* [Player] Add GetPlayerTimingData() Lua binding. [Wolfman2000] - -2011/06/10 ----------- -* [ScreenEdit] Split the Area Menu into the Area Menu and Alter Menu. Use the - "A" key to enter the Alter Menu when a selection of notes/rows are - highlighted. Use the Enter key to enter the old Area Menu for the options that - do not depend on selecting NoteData. [Wolfman2000] -* [ScreenEdit] Allow converting selections to Delays, Warps, or Fakes as well - as Stops. Remember, use the Alter Menu for this. [Wolfman2000] - -2011/06/09 ----------- -* [ScreenSyncOverlay] Ensure that F11 / F12 work with all charts due to Split - Timing. [Wolfman2000] - -2011/06/08 ----------- -* Any notes in a fake segment or warp segment are completely ignored for - scoring purposes. Now you can get 100% on your warping goodness! - [Wolfman2000] - -2011/06/06 ----------- -* [PlayerOptions] Removed the ScoreDisplay mod choices. Use lua to make your - own scoring formulas that work in reverse instead. [Wolfman2000] -* [ScreenGameplay] Fix an assist tick bug if there was no Player 1. Note that - this changes the behavior slightly: it is the first enabled player, or - master player, that gets the ticks now. A better solution will be looked at - in the future. [Wolfman2000] -* [NoteDataUtil] Fix a radar issue involving hands. Unfortunately, this means - yet another cache reload for accuracy purposes. [Wolfman2000] - -2011/06/04 ----------- -* Changed default MusicWheelSwitchSpeed to 15 (was 10). [AJ] -* [AnnouncerManager] Fixed a bug where no announcers would be loaded. [AJ] -* Restored the UserPrefAutoSetStyle behavior. [Wolfman2000] -* [NotesLoaderSMA] Better way of identifying beats and seconds. [Wolfman2000] - -================================================================================ -StepMania 5.0 Preview 1a | 20110603 --------------------------------------------------------------------------------- - -2011/06/03 ----------- -* [LifeMeterBattery] Added LivesLeft param to LifeChanged message. [AJ] -* [Windows] Set up directories for pictures and app data in their proper - location. [Henke] -* [NotesLoaderSM] Fix an Offset load bug. [Wolfman2000] - -2011/06/02 ----------- -* [BPMDisplay] Added SetFromSteps Lua binding. [AJ] -* [ScreenDebugOverlay] Switch the R and T keys to be Volume Down and Up - respectively. I have to admit, it makes more sense to have volume up be - on the right instead of the left. [Wolfman2000] -* [SongManager] Make autogen courses have "Autogen" as the Scripter. [AJ] - -2011/06/01 ----------- -* [TimingData] Added the HasScrollChanges lua binding. [Wolfman2000] -* [ScreenEdit] Fix Song Timing behaviors. [Wolfman2000] - -2011/05/31 ----------- -* [Player] Added the BattleRaveMirror metric. This determines if Battle and - Rave mode will have the two players with mirrored charts or not. By default, - this is set to true, preserving the ITG style behavior. [Wolfman2000] -* [TimingData] Added the HasScrollChanges lua binding. [Wolfman2000] - -================================================================================ -StepMania 5.0 Preview 1 | 20110529 --------------------------------------------------------------------------------- - -2011/05/27 ----------- -* [ScreenEdit] Added the LoopOnChartEnd metric. Once you get to the end of - the chart while playing it in the editor, this controls whether it loops and - plays again, or simply stops. By default, this is true, replicating current - behavior. Set to false to replicate older StepMania behavior. [Wolfman2000] - -2011/05/26 ----------- -* [ScoreKeeperNormal] Added the MissComboIsPerRow metric. Similar to the - ComboIsPerRow metric, this determines how much miss combo is earned on missing - a row of notes. By default, this is true. Set to false to replicate Pump Pro - behavior. [Wolfman2000] - -2011/05/25 ----------- -* [NotesLoaderSSC/NotesWriterSSC] Added the ScrollSegments. Think BPM change, - but not. [theDtTvB] - -2011/05/23 ----------- -* [Steps] Added the UsesSplitTiming Lua binding. [Wolfman2000] - -2011/05/20 ----------- -* [CryptManager] Added SHA1File Lua binding. [AJ] - -2011/05/19 ----------- -* [BPMDisplay] Add CourseCycleSpeed metric. [AJ] - -2011/05/17 ----------- -* [NotesWriterSM] Write out OpenITG compatible SM files from here on out. - This includes turning Warps into Negative Stops. For those that wanted - negative BPMs specifically, my apologies, but stops are easier on math. - [Wolfman2000] - -2011/05/16 ----------- -* [ProfileManager] Added ProfileWasLoadedFromMemoryCard(PlayerNumber) - Lua binding. [AJ] -* Added #FAKES to the SSC format. Similar to the fake arrows, these blocks - prevent all judgments within the range. [Wolfman2000] -* Changed the syntax of #WARPS slightly. Now the second value is the relative - distance that is skipped, not the absolute value when you start hitting - arrows again. [Wolfman2000] - -2011/05/15 ----------- -* [ScreenGameplay] Removed hardcoded commands for Debug (give up text) and - replace them with DebugStartOnCommand, DebugBackOnCommand, and - DebugTweenOffCommand. [AJ] -* Added #SPEEDS to the SSC format. This multiplies your scrolling speed during - gameplay, not replaces it (see mod attacks for replacing). [Wolfman2000] - -2011/05/14 ----------- -* [ModIcon] Added StopWords metric. [AJ] -* [ScreenSelectMaster] Add "ScreenEmpty" param to MenuStartP# when the GameCommand - doesn't set a screen. [AJ] -* [StepsDisplay] Added MeterFormatString metric. [AJ] -* [MusicWheel] Added ShowSectionsInBPMSort and ShowSectionsInLengthSort metrics. [AJ] -* [ScreenEvaluation] Stop the Bonus bars from overflowing in course modes. [AJ] -* [Banner] Added ScrollMode and ScrollSortOrder metrics. [AJ] - -2011/05/13 ----------- -* Added Split Timing to .SSC files. All older .SSC files and other file - formats are converted to split timing on cache load. We are no longer bound - by Song Timing for everything. [theDtTvB, Wolfman2000, TeruFSX] - -2011/05/11 ----------- -* [GameSoundManager] Added PlayAnnouncer Lua binding. [AJ] -* [AnnouncerManager] Add support for "gameplay combo #" for announcer. [AJ] - -2011/05/10 ----------- -* [Sprite] Added SetSecondsIntoAnimation Lua binding. [AJ] -* [BPMDisplay] Added SetFromCourse Lua binding. [AJ] - -2011/05/03 ----------- -* [ScreenEdit] Allow changing the Beat 0 Offset, Music Sample Start, and - Music Sample Length via Edit Song Info menu. [Wolfman2000] - -2011/05/02 ----------- -* [ScreenSelectMusic] Added NullScoreString metric. [AJ] - -2011/04/17 --------- -* Use lua for all primary score keeping. Course modes right now still use the - old fashioned system. [TeruFSX, Wolfman2000] - -2011/04/09 --------- -* [Player] Force hold judgments to take place before setting the score. - [theDtTvB] - -2011/04/05 --------- -* [NotesLoaderSSC, NotesWriterSSC] Add the #LABELS tag. This is meant for step - editors to label different parts of their stepcharts. Use Control + , or . to - jump to different labels made. [Wolfman2000] - +StepMania 5 Changelog +________________________________________________________________________________ +The StepMania 5 Changelog covers all post-sm-ssc changes. For a list of changes +from StepMania 4 alpha 5 to sm-ssc v1.2.5, see Changelog_sm-ssc.txt. +________________________________________________________________________________ + +================================================================================ +StepMania 5.0 ???? ?? | 20120??? +-------------------------------------------------------------------------------- + +2012/06/21 +---------- +* [ProfileManager] Added GetPlayerName(pn) Lua binding. [AJ] + +2012/06/05 +---------- +* [GrooveRadar] Added SetFromValues(pn,{f1,f2,f3,f4,f5}) Lua binding. [AJ] + +2012/06/02 +---------- +* [PrefsManager] Added StretchBackgrounds preference. [AJ] +* [BMSLoader] Add #banner support. [hanubeki] + Source: http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=bf8b57b9a662af59de66b9d06ca282f38f9126d9 + +2012/05/31 +---------- +* [PaneDisplay] Added NullCountString metric. [AJ] +* [PlayerOptions] Fixes to Get/Set[C, M, X]Mod Lua bindings. [hanubeki] + Source: http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=97761b5dc87b8c8a1b296985a09814337578c745 + +2012/05/27 +---------- +* [MusicWheel] Added EmptyColor metric. [AJ] +* [PlayerState] Enabled GetPlayerController Lua binding. + +2012/05/21 +---------- +* [NotesLoaderBMS] Support for #BMP based background changes. [theDtTvB] +* [SongManager] Add song to the list of songs before loading it, this fixes + crashes in some BMS files. [theDtTvB] +* [ScreenEdit] Allow a new way of creating and modifying attacks using the + Area Menu. Note: Using the C or V keys is no longer allowed for attacks. + It will simplify things for later. [Wolfman2000] +* [Steps] Modified HasSignificantTimingChanges; the following now disqualify + when using a CMod: Stops, Delays, Warps, Speed Changes, Scroll Changes. + Songs with a non-constant BPM will only disqualify if the High/Low difference + is greater than 3.00. [AJ] + +2012/05/19 +---------- +* [Actor] Made the xy command a source-code level command. + +2012/05/17 +---------- +* [LoadingWindow_Gtk] Actually resolve the path to the Splash file. [djpohly] + +2012/05/16 +---------- +* [ScreenWithMenuElements] Added DelayMusicSeconds metric. [AJ] +* [ScreenOptionsMasterPrefs] Allow for FastLoadAdditionalSongs preference + to be called via the "conf" command. [AJ] + +2012/05/14 +---------- +* [Course] Added AllSongsAreFixed() Lua binding. [AJ] + +================================================================================ +StepMania 5.0 alpha 2 | 20120504 +-------------------------------------------------------------------------------- + +2012/05/03 +---------- +* Add Var "Player" and Var "Controller" for NoteSkin. [hanubeki] + Sourced from http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=824cff29912d1c29a667046ba463d195e81c524a +* [CustomSpeedMods] If a player decides to remove 1x from the machine profile's + custom speed mods, re-add it back in to avoid crashes. [AJ] + +2012/05/02 +---------- +* Make ReceptorArrowRow and GhostArrowRow respect the column draw order. [hanubeki] + Sourced from http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=8ccf7449651eef51e8c42d031aa64da49a0b72ce + +2012/04/25 +---------- +* [Profile] Added GetLastPlayedSong and GetLastPlayedCourse Lua bindings. [AJ] + +2012/04/22 +---------- +* [LifeMeterBar] Reverted a change from 2010 that messed with how the life meter + subtracts life. The life difficulty should match StepMania 3.9 again. [AJ] + +2012/04/08 +---------- +* [ScreenNetworkOptions] Fixed a bug where localized text would not show up + properly. Fixes issue 759. [AJ] +* [Steps, Song] Replace Steps:UsesSplitTiming with + Song:IsStepsUsingDifferentTiming for both C++ and Lua. [wolfman2000] + +2012/04/06 +---------- +* Modify Jousway's planned noteskin to allow it to work with Technomotion + style gameplay. Expect minor bugs. [Jousway, Wolfman2000] + +2012/04/03 +---------- +* [PlayerOptions] Fix setting some effect mods that were always set to Drunk. + I wonder who had too much to drink. [TaroNuke] + +2012/03/31 +---------- +* [GameManager] Allow beat single7 and versus7 to be shown in Demonstration. [AJ] + +2012/03/28 +---------- +* [ScoreKeeperRave] Actually handle hold scores in HandleHoldScore(). + Players should please provide feedback on how this affects gameplay, as this + is a temporary feature. [AJ] +* [GameConstantsAndTypes] Made StageResult Lua-aware. [AJ] +* [GameState] Added GetStageResult(pn) Lua binding. [AJ] +* [Player] Keysounds now respect the volume settings. [hanubeki] + Sourced from hanubeki-modified-sm-ssc rev. 16fc5b714582 + +2012/03/27 +---------- +* [ScreenEditMenu] Don't hardcode stopping the music on pressing the back button. + This interferes with the StopMusicOnBack metric. [AJ] + +2012/03/20 +---------- +* [Background] Fix 3D noteskins and dancing characters from clashing with each other. [shakesoda, AJ] +* [NoteField] Fix 3D noteskins overlapping. [shakesoda, AJ] +* [ScreenEdit] Don't use Step timing by default. [Midiman] +* [ScreenEdit] Allow playback of course modifiers in Course Edit mode [Midiman] + +2012/03/15 +---------- +* [04 Scoring.lua] Added various 3.9 and 3.9+ scoring methods. [hanubeki] + +2012/03/12 +---------- +* Remove libtheora support since ffmpeg already supports theora videos. [cvpcs] + +2012/03/10 +---------- +* Update ffmpeg support to v0.10. [cvpcs] + +2012/03/09 +---------- +* [PlayerOptions] Don't display x-mods when using m-mods. + Sourced from hanubeki-modified-sm-ssc rev. bd08a58dd7cf and OpenITG. + +2012/03/08 +---------- +* [MusicWheel] Added RouletteStopped message, which is broadcast when Roulette + is finished and the wheel is locked. [AJ] +* [WheelBase] Made WheelState a Lua-enabled enum and added + GetWheelState() Lua binding. Deprecated IsLocked() Lua binding. [AJ] + +2012/03/07 +---------- +* [ScreenSelectMaster] Now updates choices on player join; it will move the + scroller to the correct location, but the GainFocus/LoseFocus commands don't + seem to work. [AJ] + +2012/03/05 +---------- +* [GameCommand] Added GetDifficulty(), GetCourseDifficulty(), GetPlayMode(), + GetSortOrder(), GetAnnouncer(), GetPreferredModifiers(), and + GetStageModifiers() Lua bindings. [AJ] + +2012/03/04 +---------- +* [Player] Changed default Hold window to 0.250f, like it was in 3.9. [AJ] + +2012/03/02 +---------- +* [NotesLoaderBMS] Fix calculating stops, Support for #LNOBJ, Don't use #BACKBMP + as song background if main StepsType is beat-*. [hanubeki] + These changes constitute revisions f26caccf103e, 2d114b38c6c9, and b60f021d2b67 + of hanubeki-modified-sm-ssc. (http://code.google.com/r/hanubeki-modified-sm-ssc/) + +2012/03/01 +---------- +* [MemoryCardManager] Disable Memory Cards by default. If you want to use them, +set MemoryCards=1 in Save/Preferences.ini (or Save/Static.ini). [AJ] +* [GameState] Set Premium to Premium_DoubleFor1Credit by default. [AJ] +* [ScreenSelectMusic] Added PlaySoundOnEnteringOptionsMenu metric. [AJ] +* [MusicWheel, WheelBase] Added collapse sound. [AJ] + +================================================================================ +StepMania 5.0 alpha 1a | 20120219 +-------------------------------------------------------------------------------- + +2012/02/19 +---------- +* [Style] Added LockedDifficulty() Lua binding. [AJ] + +2012/02/15 +---------- +* [HighScore] Added Max Combo, Stage Award and Peak Award. New Lua bindings for + HighScore: GetMaxCombo(), GetStageAward(), GetPeakComboAward(). [AJ] + (the specifics of this are subject to change.) + +2012/02/10 +---------- +* [WheelBase, WheelItemBase] Turned WheelItemDataType into a Lua type, + made WheelBase:GetSelectedType() return the enum instead of a number. [AJ] + +2012/02/08 +---------- +* [ScreenEdit] Added support for editing keysounds. Use the Area Menu (Enter) + to either modify what sounds play on that row, or even remove a sound from + the list. Any sounds assigned to empty notes will automatically become + an AutoKeysound, and any AutoKeysounds that have their sound removed will + become empty notes. [Wolfman2000] + +2012/02/08 +---------- +* [ScreenOptionsMaster] Added StepsRowLayoutType metric. + (Valid values are "ShowAllInRow" or "ShowOneInRow".) [AJ] + +2012/01/23 +---------- +* [Player] Tap Note Scores (tns) can now be "AvoidMine" or "HitMine" in +JudgmentMessageCommand. [Saturn2888, shakesoda] + +2012/01/15 +---------- +* [WheelNotifyIcon] Add the NumIconsToShow metric. [Wolfman2000] +* [PlayerOptions] Fix a problem with m-mods where you would get m200 as + the default speed modifier. [AJ] + +2012/01/11 +---------- +* [ScreenEdit] Fix a floating point issue when dealing with speed segments. + [Wolfman2000] + +2012/01/09 +---------- +* [Song] Fix a bug introduced with "Only read certain tags during first load" + where song graphic files wouldn't load. [theDtTvB] + +================================================================================ +StepMania 5.0 alpha 1 | 20120108 +-------------------------------------------------------------------------------- + +2012/01/08 +---------- +* [Song] Add HasPreviewVid and GetPreviewVidPath lua binding [cerbo] + +2012/01/08 +---------- +* [ScreenManager] Made AddScreenToTop take a second (optional) parameter for + posting a ScreenMessage on screen pop. [AJ] +* Only read certain tags during first load; makes song loading faster. [theDtTvB] + +2012/01/07 +---------- +* Fix Portable.ini not working on Mac OS X. [shakesoda] + +2012/01/05 +---------- +* [PercentageDisplay] Remove unused ApplyScoreDisplayOptions metric; + added PercentFormat and RemainderFormat metrics. [AJ] +* Fix Portable.ini not working in Linux. [FSX] + +2012/01/04 +---------- +* Fix a scoring/grading bug with Lifts. [FSX] + +2011/12/27 +---------- +* [MusicWheel] Add IsRouletting Lua binding. [AJ] +* [LuaManager] Remove GetOSName Lua binding; use GetArchName instead. [AJ] + +2011/12/26 +---------- +* [ArchHooks_OSX] Worked around a crash when language detection goes wrong. + Note: a real fix should be looked into. [shakesoda] + +2011/12/23 +---------- +* [Song] Fixed a bug where a sample start of 0 wouldn't work. [AJ] +* [Game] Added CountNotesSeparately and GetMapJudgmentTo(TapNoteScore) + Lua bindings. [AJ] +* [StepMania.cpp] Fix initial aspect ratio on first boot, hopefully. + (See issues 6 and 27) [AJ] + +2011/12/22 +---------- +* [LuaManager] Added ProductFamily() Lua binding. [AJ] + +2011/12/17 +---------- +* [Various] Allow loading of *.jpeg in addition to *.jpg. [AJ] + +2011/12/16 +---------- +* [StreamDisplay] Added VelocityMultiplier, VelocityMin, VelocityMax, + SpringMultiplier and ViscosityMultiplier metrics. [AJ] + +2011/12/12 +---------- +* [ScreenEdit] Add the GAMESTATE:InStepEditor Lua binding. [Wolfman2000] +* [Player, ScreenGameplay] Allow failing on Oni without crashing. This one + took awhile. [Wolfman2000] +* [LifeMeterBattery] Fixed various issues (lives not fully disappearing on fail, + P2 lose life animation having the wrong x zoom, hide the lives number if it + falls below 0). [AJ] + +2011/12/11 +---------- +* [ScreenEdit] Restore cycling the timing segments for jumping between. + The required line somehow never got replaced. [Wolfman2000] + +2011/11/30 +---------- +* [PlayerOptions] Added IsEasierForSongAndSteps(Song,Steps,PlayerNumber) and + IsEasierForCourseAndTrail(Course, Trail) Lua bindings. [AJ] +* [PlayerState] Added GetSuperMeterLevel() Lua binding. [AJ] + +2011/11/28 +---------- +* [ScreenGameplay] Add the SurvivalModOverride metric. Let the themer decide + if mods should be overridden on survival or not. Funny enough, this used + to be true for the old Oni style mode, but...well, we'll cross that bridge + later. [Wolfman2000] +* [LifeMeterBattery] Added MaxLives metric, which limits the maximum amount of + lives. Setting this to 0 will remove the limit. [AJ] + +2011/11/27 +---------- +* [PlayerOptions] Pretty large changes here, namely a bunch of new bindings. + Fixed the logic for GetReversePercentForColumn; It will now return nil for + invalid columns. Also fixed the logic for UsingReverse (now checks for 1.0f) + and SetPassmark (no longer allows values < 0.00f and > 1.0f). [AJ] +* [ScreenEdit] Allow inserting and removing beats and timing changes in + specific note increments instead of just quarter notes (a whole beat). + Those that prefer to keep using the shortcut keys will note that the + behavior has not changed for that: only by going into the Area menu can you + deal with more specific changes. [Wolfman2000] + +2011/11/26 +---------- +* [ScreenEdit] Restore using F9 and F10 to adjust stops by a fixed amount. + Sorry for the delay in this. [Wolfman2000] +* [ScreenEdit] Minor convenience. If you attempt to create a negative stop + segment from scratch, it does not create, and you are not requested to + save on exit, for there is nothing to save. [Wolfman2000] +* [ScreenEdit] Allow Shift + F9/F10 for adjusting delays. This works the same + way as adjusting stops. [Wolfman2000] + +2011/11/25 +---------- +* [PlayerStageStats] Hitting a mine no longer gives you full combo when + [Gameplay] MineHitIncrementsMissCombo=true. [AJ] + +2011/11/24 +---------- +* [PlayerStageStats] Added GetFailed and GetNumControllerSteps Lua bindings. [AJ] + +2011/11/15 +---------- +* [LifeMeterBar] Added the ForceLifeDifficultyOnExtraStage metric and + the ExtraStageLifeDifficulty metric. Let the themer decide if extra stages + should have their own life bar behavior. Note that this metric does NOT + change the lifebar to the battery style. [Wolfman2000/FSX] + +2011/11/14 +---------- +* [Mac OS X] Restore JPEG functionality. [Wolfman2000] + +2011/11/06 +---------- +* [GameState] Add the RefreshNoteSkinData lua binding. This will only + refresh the NS data for the present game, not all games. [Wolfman2000] +* [ScreenSelectMusic] Fixed Rave difficulties not being synced on late join. + Fixes issue 577. [AJ] +* [GameplayAssist] Don't play sounds if the player is dead. Fixes issue 621. [AJ] + +2011/11/04 +---------- +* [ScoreKeeperRave] Revert fix from 2011/10/28. [AJ] +* [ScoreKeeperRave] Fixed Miss and HitMine giving meter life. + (Fixes issue 622.) [AJ] + +2011/11/02 +---------- +* [ArchHooks] Add the GetArchName lua binding. To the themers that use + GetOSName, that function may be deprecated in the future. For now, + both options exist. [vyhd, Wolfman2000] + +2011/11/01 +---------- +* [ArrowEffects] Fix Expand, and possibly other mods, from breaking if + using a second player. [Wolfman2000] +* [ArchHooks] Add the AppHasFocus lua binding. [vyhd, Wolfman2000] + +2011/10/29 +---------- +* [GameState] Add the ResetPlayerOptions lua binding. [Wolfman2000] + +2011/10/28 +---------- +* [ScoreKeeperRave] Fix an issue where the super meter would not decrease back + to 1 after hitting the end of 3. (Fixes issue 314.) [AJ] + +2011/10/27 +---------- +* [Default theme] Fixed the pref controlling timing segments on song meter. [FSX] + +2011/10/18 +---------- +* [LightsManager] Use song beat for menu button lights, allow demonstration to + flash pad lights when BlinkGameplayButtonLightsOnNote is true, light custom + game buttons when pressed during attract mode, general optimizations. [vyhd] + +2011/10/17 +---------- +* [ScreenEdit/NoteField] Fix an editor crash when you exit without saving + after creating new steps. [Wolfman2000] + +2011/10/16 +---------- +* [NoteDataUtil] Add the Backwards mod for games where the intended + definition of Mirror is different. Regarding Pump gameplay, what was + called Mirror in Preview 4 is considered Backwards now, and the original + Mirror is back in its old position. [Wolfman2000] + +2011/10/12 +---------- +* [Steps] Fix a bug where e.g. ".SM" ".DWI" ".Sm" ".sM" files + wouldn't properly load since the code was expecting lowercase. [AJ] + +2011/10/10 +---------- +* [NotesLoaderBMS] Add the time signature segments. [theDtTvB] + +2011/10/09 +---------- +* [NotesLoaderBMS] Fix the bug where keysounds that points to nonexistant file + gets assigned a random one. [theDtTvB] +* [NotesLoaderBMS] Use BMSLoader to load PMS files. [theDtTvB] +* [RageSoundReader_WAV] Fix ADPCM support. [theDtTvB] + +2011/10/08 +---------- +* [GameSoundManager] Add the PlayMusicPart lua binding. [Wolfman2000] +* [ScreenEdit] Add the FadeInPreview and FadeOutPreview metrics. This controls + how long the fade in and fade outs are for playing the preview music. + The default values are 0 and 1.5 respectively. [Wolfman2000] + +2011/10/07 +---------- +* [RageDisplay] Add the GetFPS, GetVPF, and GetCumFPS bindings. [Wolfman2000] + +2011/10/06 +---------- +* Various scoring fixes sourced from http://www47.atwiki.jp/waiei/pages/21.html + [A.C/@waiei, 桜為小鳩/@sakuraponila] + +================================================================================ +StepMania 5.0 Preview 4 | 20111005 +-------------------------------------------------------------------------------- + +2011/10/04 +---------- +* [NoteDataUtil] More accurate Left, Right, and Mirror mods for Pump gameplay. + Major thanks to Hudson Felker and Bill Shillito here. [Wolfman2000] + +2011/10/01 +---------- +* [ScreenHighScores] Disable forced screen transition behavior when + ManualScrolling=true. [AJ] + +2011/09/30 +---------- +* [GameState] Added CurrentOptionsDisqualifyPlayer(player), + ApplyPreferredModifiers(player,string) and ApplyStageModifiers(player,string) + Lua bindings. [AJ] + +2011/09/29 +---------- +* [Fallback theme] Fix ImmediateHoldLetGo function. [Wolfman2000] +* [GameState] Add the EditAllowedForExtra metric. Use this if you want edit + steps to be allowed for accessing the extra stage. By default, this is + false. [Wolfman2000] + +2011/09/26 +---------- +* [Default theme] Added Song Timing Display user preference. [AJ] +* [ThemeManager] Add global Scripts dir. [shakesoda] + +2011/09/25 +---------- +* [WheelItemBase] Added GetColor and GetText Lua bindings. [AJ] + +2011/09/24 +---------- +* [ScreenEdit] Disable shifting timing changes down one beat if starting on + beat 0. Important information must stay on that beat. [Wolfman2000] +* [ScreenEdit] Disable converting rows to a stop or beat starting on beat 0. + There should be no reason for this at this time. [Wolfman2000] +* [MusicWheelItem] Add/reinstate MusicWheelItem Mode Normal/Color/OverPart. [AJ] +* [FadingBanner] Added LoadFromSortOrder(SortOrder) Lua binding. [AJ] + +2011/09/23 +---------- +* [ScreenEvaluation] Added RollingNumbersMaxComboClass metric. [AJ] +* [NotesLoaderSM] Fix loading .sm files with non standard difficulty names. + It should be Hard, not Heavy. [Wolfman2000] + +2011/09/22 +---------- +* [ScreenDebugOverlay] Replaced hardcoded toggle command with + ButtonTextToggledCommand metric. [AJ] +* [LoadingWindow_Win32] Make the StepMania window gain focus after the + loading window closes. Fixes issue 424. [AJ] + +2011/09/21 +---------- +* [FadingBanner] Added LoadRandom(), LoadRoulette(), LoadFallback(), + LoadCourseFallback(), and GetBanner(int) Lua bindings. [AJ] + +2011/09/18 +---------- +* [Song] Added GetSampleStart() and GetSampleLength() Lua bindings. [Wolfman2000] + +2011/09/16 +---------- +* [UnlockManager] Added GetNumLockedSongs() Lua binding. [Wolfman2000] +* [UnlockManager] Added IsSongLocked() Lua binding. [Wolfman2000] + +2011/09/12 +---------- +* [NotesLoaderSSC/WriterSSC] Allow all timing tags regardless of what timing + is used. [Wolfman2000] + +2011/09/11 +---------- +* [ScreenEvaluation] Added "evaluation full combo W1" and + "evaluation full combo W2" announcer cues. [AJ] +* [Banner] Added "Banner group fallback" graphic. [AJ] + +2011/09/09 +---------- +* [NotesLoaderBMS] Rewrite the BMS loader, should fix issues 430 and 500. [theDtTvB] + +2011/09/08 +---------- +* [GameManager] Fix shifting of 2P notes in beat mode. [1a2a3a2a1a] + +2011/09/07 +---------- +* [Model] Added GetDefaultAnimation() Lua binding. [AJ] +* [GameState] Added GetEarnedExtraStage() Lua binding. [AJ] + +2011/09/02 +---------- +* [MenuTimer] Added start(), disable() Lua bindings. Also renamed setseconds to + SetSeconds to match GetSeconds. [AJ] +* [GameManager] beat "versus" -> "versus5"; fix beat versus7 being "single7". [1a2a3a2a1a] + +2011/08/27 +---------- +* Updated libjpeg to 8c. +* [SongManager] Added GetCoursesInGroup(sCourseGroup,bIncludeAutogen), + GetSongGroupBannerPath(songGroup), GetCourseGroupBannerPath(courseGroup), + DoesSongGroupExist(songGroup), DoesCourseGroupExist(courseGroup) and + GetPopularSongs() Lua bindings. [AJ] +* [SongManager] Added GetPreferredSortSongs(), GetPreferredSortCourses(courseType,bIncludeAutogen), + and GetPopularCourses(courseType) Lua bindings. [AJ] +* [SongManager] Add SongToPreferredSortSectionName(song), WasLoadedFromAdditionalSongs(song), + and WasLoadedFromAdditionalCourses(course) Lua bindings. [AJ] +* [CryptManager] Add GenerateRandomUUID() Lua binding. [AJ] +* [ThemeManager] Added DoesThemeExist(sTheme), IsThemeSelectable(sTheme), + DoesLanguageExist(sLang), GetCurThemeName(), HasMetric(sGroup,sValue), and + HasString(sGroup,sValue) Lua bindings. [AJ] + +2011/08/23 +---------- +* [Makefile.am] Fixed version date and time handling. [AJ] + +2011/08/22 +---------- +* [PrefsManager, X11Helper] Added ShowMouseCursor preference. [AJ] +* [UnlockManager] Added GetStepOfAllTypes Lua binding. This gets the locked + Steps for all game types based on the difficulty specified. [Wolfman2000] +* [UnlockManager] Added requirepasschallengesteps Lua binding. This is more + self-explanitory: pass challenge to be able to play edits. [Wolfman2000] + +2011/08/21 +---------- +* [NotesLoaderSSC] Fix loading pre-split timing files that had blank timing + tags inside of them. Thanks to Vin.il for the catch. [Wolfman2000] +* [Song] Added Jacket, CD image (a la early DDR), and Disc (PIU-style) support. + Added GetJacketPath(), GetCDImagePath(), GetDiscPath(), HasJacket(), HasDisc(), + and HasCDImage() Lua bindings. [AJ] + +================================================================================ +StepMania 5.0 Preview 3 | 20110820 +-------------------------------------------------------------------------------- + +2011/08/20 +---------- +* [PlayerOptions] Add GetMMod() Lua binding. [AJ] +* [Player] Make keysounds respect volume preference. Fixes issue 344. [AJ] + +2011/08/19 +---------- +* [Steps] Add PredictMeter() and GetDisplayBPMType() Lua bindings. [AJ] +* [Song] Add ShowInDemonstrationAndRanking() Lua binding. [AJ] +* Turn off Autogen by default. [shakesoda] +* Disable automatic aspect ratio guessing, default to 854x480 + (16:9 because most newer displays are wide). [shakesoda] +* Turn on FastLoad and FastLoadAdditionalSongs by default. [shakesoda] + +2011/08/18 +---------- +* [RageInput] Added "No input devices were loaded." string to languages. [AJ] +* [RageInputDevice] Added localized names for InputDeviceState. [AJ] +* [Course] Add IsPlayableIn(StepsType) and IsRanking() Lua bindings. [AJ] +* [Trail] Added GetTotalMeter(), GetLengthSeconds(), IsSecret() + and ContainsSong(song) Lua bindings. [AJ] + +2011/08/16 +---------- +* Added PrettyPercent(numerator,denominator) Lua binding. [AJ] + +2011/08/14 +---------- +* [Foreground] Restore Foreground Changes for use in gameplay. Note that it + is recommended to use lua for #FGCHANGES from now on: not all XML changes + will work. [infamouspat] + +2011/08/13 +---------- +* [Theme-side] Added Fancy UI Background preference to Theme Options. [AJ] +* [LowLevelWindow_X11] Don't force the window into the upper left corner. [ZipFile] + +2011/08/07 +---------- +* [LifeMeterBattery] Added LostLife param to LifeChanged message. [AJ] +* [LifeMeterBattery] Converted LifeMeterBattery lives to an AutoActor. [AJ] +* [TimingData] Add HasDelays() Lua binding; HasStops() now only checks stops. [AJ] +* [GameState, SongUtil] Fix Issue 263 by not charging 2x stages for doubles when + not using joint premium. [AJ] +* [BeginnerHelper] Made BeginnerHelper run the OnCommand. [AJ] +* [GameState] add GetExpandedSectionName() Lua binding. [AJ] +* [ScreenSelectMusic] Added IdleCommentSeconds metric and + "ScreenSelectMusic IdleComment" announcer sound. [AJ] +* [NotesLoaderBMS] "Send the actual song file to LoadFromBMSFile in + BMSLoader::LoadNoteDataFromSimfile instead of the dummy one... + This fixes the wrong sound issue [423]..." [theDtTvB] + +2011/08/06 +---------- +* [NoteSkins/beat/default] Fix Issue 425. [AJ] +* [ScoreDisplayRave] Allow (Meter/Level)(X/Y) metrics to work again. [AJ] + +2011/08/05 +---------- +* [NoteField] Added AreaHighlightColor metric. [AJ] + +2011/08/04 +---------- +* [NoteTypes, ScreenEdit] Removed artificial MAX_NOTES_PER_MEASURE limit. [AJ] + +2011/08/02 +---------- +* [NotesSSC] Only write timing/attack tags for the step if there is a + difference from the song. For timing tags, at this time it means that if even + one tag is different, all tags are written. [Wolfman2000] + +2011/08/01 +---------- +* [MusicWheel, RoomWheel] Moved the "- EMPTY -" string to the languages file. [AJ] + +2011/07/31 +---------- +* [ScreenGameplay, LyricDisplay] Stop lyrics from animating on failure. + Fixes issue 298. [AJ] + +2011/07/30 +---------- +* [ProfileManager] Fix an issue when deleting recently created profiles. [AJ] +* Start removing anything related to Guitar mode. This was rushed in, and it + is not worth us keeping at this time. [Wolfman2000] + +2011/07/26 +---------- +* [ScreenEdit] Add a semi working implementation of the often requested + copy/paste selected timing data feature. This should make it easier for + some charters. [Wolfman2000] + +2011/07/21 +---------- +* [BeginnerHelper] Removed DancePadAngle metric in favor of DancePadOnCommand. + The same goes for PlayerAngle, dancer rotation is now handled in + PlayerP1/2OnCommand. [AJ] +* [Course] Bumped up max edit course title length to 16 (still feels too short). + Also added #DESCRIPTION tag and Course:GetDescription() Lua binding. [AJ] + +2011/07/20 +---------- +* [Win32/CrashHandlerChild] Crashlog and log now open in the player's default + text editor. Also, the Show Log button works again, including for people using + Portable.ini. [AJ] + +2011/07/19 +---------- +* [LoadingWindow] Added the ability for themes to have custom splash banners. + (Currently Windows-only.) [AJ] + +2011/07/17 +---------- +* [Cache] No longer store #NOTES in the cache. This should speed things up + on the first load if there is not much to write. (General note: this was + taken from another branch, but results at that point were great.) + [Wolfman2000] + +2011/07/13 +---------- +* [Difficulty] Allow ALL StepsTypes to use CustomDifficulty properly. + There was some unfair targeting of Couple and Routine. [Wolfman2000] +* [Steps] Calculate accurate radar values for Couple charts. [Wolfman2000] +* [ScreenEdit] Display more accurate chart data for Couple and Routine charts + for the future. No more having (almost) every row as a jump! [Wolfman2000] + +2011/07/12 +---------- +* [OptionRowHandler] Add a new metric to ScreenOptionsMaster: + StepsUseChartName. Use this if you want your charts to have a unique name + in the options menu. If there is no #CHARTNAME or it is "Blank", it reverts + to the original behavior. This metric is false by default. [Wolfman2000] +* [ScreenEdit] Fixed a bug involving #ATTACKS. Now when you set an attack, + the mods are reverted back to how they were prior to the attack being set. + [Wolfman2000] + +2011/07/09 +---------- +* [NotesTheUsual] Update the #COMBOS tag to allow for a Miss Combo attribute. + Any files that only use the Combo attribute will have that value copied to + miss combo on next launch. [Wolfman2000] +* [ScoreKeeperNormal] Better match #COMBOS with eval. Scoring formulas should + not be affected, but it may require more testing. [Wolfman2000] +* [Metrics] Have Pump mode lump the checkpoint judgments with Flawless and + Miss judgments on eval. Of course, this goes down to Perfect and Miss if + that is disabled. [Wolfman2000] + +2011/07/07 +---------- +* [ScreenEdit] Fix the NoMines transformation bug, issue 363. [Wolfman2000] +* [CourseLoaderCRS] Don't load BEST# and WORST# where # is greater than the + number of songs installed. Fixes issue 373. [AJ] +* [NotesAllSSC] Add the #CHARTNAME tag to the Steps. #DESCRIPTION is now for + more detailed descriptions, or perhaps some short hand lingo. All files + that used #DESCRIPTION will have their values moved to #CHARTNAME on + load. [Wolfman2000] +* [ScreenEdit] Add a Steps Data menu for getting numerical step data on the + chart. This is a read only menu. Edit Steps Information contains writable + information. [Wolfman2000] +* [NotesAllSSC] Add the Steps version of #DISPLAYBPM. The Song version is + still there, so themes should not have to worry about breakage. + [Wolfman2000] + +2011/07/06 +---------- +* [ScreenEdit] Fix the bug where hitting Enter during playing wouldn't take + the user back to the editor. [Wolfman2000] +* [Gameplay] Fix Fail mods being dishonored. [Midiman] + +2011/07/05 +---------- +* [ScreenEdit] Restore dance-couple and pump-couple for editing purposes. + Saving should still work, but this was never tested yet. [Wolfman2000] +* [ScreenOptions] Mini is now ITG Mini, and Tiny is now Pump Pro Mini. + This will prevent many prior courses from breaking. [sharksoda, Wolfman2000] +* [CharacterManager] Add a lua function to check how many characters you have. + For an example of how this is used, check the default theme's scripts + folder, specifically 03 ThemePrefs.lua. [Wolfman2000] + +2011/07/04 +---------- +* [ScreenEdit] Add a function to switch the notes the routine players have to + hit. In simple terms, Player 1's notes are now Player 2's and vice~versa. + Check it out in the Alter Menu. [Wolfman2000] +* [ScreenEdit] Add two routine mirroring functions. Now you can build sections + of a chart for one player, and mirror the effect for the other player when + finished. For Pump players, it is not a straight mirror, but is more akin + to what is found via normal routine charts. In other words, you'll be happy. + Check it out in the Alter Menu. [Wolfman2000] + +2011/07/03 +---------- +* [ScreenEdit] Fix a crash if one tries to remove an attack that doesn't + exist at that time. [Wolfman2000] + +================================================================================ +StepMania 5.0 Preview 2 | 20110703 +-------------------------------------------------------------------------------- + +2011/07/03 +---------- +* [Player] Bring mMods from OpenITG over. Also, a metric was added, + "MModHighCap", to cap the speed mod if required for playing songs like + Tsuhsuixamush. Set the metric to 0 or less to remove the cap. [AJ, sharksoda, + Wolfman2000] + +2011/07/02 +---------- +* [ScreenEdit] Fixed a crash when hitting Enter in the F1 help menu. [AJ] + +2011/06/30 +---------- +* [NotesAll] Use #FIRSTSECOND, #LASTSECOND, and #LASTSECONDHINT instead of the + former BEAT equivalents. Split Timing has made this a necessity thanks to + certain files that abuse Stops/Delays more than usual. [Wolfman2000] +* [ScreenEdit] Add a function in the Area Menu to designate the current beat + as the last second of the song. Please try to be smart and not use this too + early. [Wolfman2000] + +2011/06/28 +---------- +* [ScreenEdit] Add a function to copy/paste the TimingData of a player's + choice. Remember to be in the appropriate mode when copying and pasting. + By default, the song timing is already located in the clipboard, ready for + use. [Wolfman2000] + +2011/06/27 +---------- +* [Steps] Make sure #ATTACKS are copied when requested. [Wolfman2000] +* [ScreenEdit] Have Step Author up front instead of Chart Style. This is + probably going to be better overall. [Wolfman2000] +* [TimingData] Preserve the length of time for Speed Segment scaling when using + beats. [Wolfman2000] +* [NotesLoader/WriterSSC] #OFFSET is to be before #ATTACKS. This is required if + we pursue beat based attacks and not just second based. [Wolfman2000] + +2011/06/26 +---------- +* [UnlockManager] New metric: AutoLockEditSteps. Use this to hide bonus charts + until the Expert steps are beaten. No guarantee that this works with no + challenge steps in the song. This defaults to false. [Wolfman2000] +* [UnlockManager] New metric: SongsNotAdditional. Set to true to keep the + default behavior, false to have the AdditionalSongs folder contain + unlockable material. This is set to true to start. [Wolfman2000] +* [ScreenEdit] Allow jumping between all segments, not just Label segments. + You still use Ctrl + ,/. to jump, but now you use Ctrl + N/M to cycle the + segments. By default, it starts with Label. [Wolfman2000] +* [PlayerOptions] No longer display StepAttacks in the player's list. + Instead, show NoAttacks if attacks are disabled. [Wolfman2000] + +2011/06/24 +---------- +* [Actor] Implement compound(length,tweens) in _fallback/02 Actor.lua. [AJ] +* [UnlockManager] Add a new unlock reward: StepsType. This is similar to + unlocking Steps, but it is targeted for one step in one stepstype rather + than one step in all stepstypes. This needs testing. [Wolfman2000] +* [ScreenEdit] Add the option to convert delays to beats. Just find a better + song to use this on besides Uprock. [Wolfman2000] +* [ScreenEdit] Fix a crash if you don't save any steps on a new song. + [Wolfman2000] +* [NotesLoader/WriterSSC] Add support for Step #ATTACKS. Furthermore, Song + Attacks (or rather, Step Attacks as it should be called now) are turned on + by default instead of off. [Wolfman2000] + +2011/06/19 +---------- +* [EditMenu] Allow all songs to work in Practice Mode, regardless of folder + location. This fixes a crash if everyone had songs in AdditionalSongs. + [Wolfman2000] + +2011/06/17 +---------- +* [LifeMeterBattery] Fixed a bug where MinesSubtractLives was not being honored. + Also added LifeChanged message to changing of life on holds. [AJ] + +2011/06/15 +---------- +* [TimingData] Added many lua bindings for the other timing segments. GetWarps, + GetCombos, GetTimeSignatures, GetTickcounts, GetFakes, GetScrolls, GetSpeeds. + This should cover all of them now. [Wolfman2000] + +2011/06/13 +---------- +* [InputHandler_DirectInput] Fixed MouseWheel input not resetting. [AJ] +* [ScreenTextEntry] Make it so only the keyboard's Enter key can finish the + screen. Should fix issues with buttons whose secondary function is MenuStart. [AJ] +* [InputMapper] Modify default mappings. Use the Hyphen key instead of the + Numlock key for Player 2's GAME_BUTTON_BACK. This should address some + issues with Player 2 being unable to back out if they use a laptop. + [Wolfman2000] +* [NoteDisplay] Add two new metrics. + * DrawRollHeadForTapsOnSameRow: bool, similar to DrawHoldHeadForTapsOnSameRow + * TapHoldRollOnRowMeansHold: bool, true means hold and false means roll + * No noteskins should require updating, as these were placed in common/common + for ease of use. [Wolfman2000] +* [LifeMeterBattery] Added ChangeLives(int) Lua binding. [AJ] +* [LifeMeterBattery] Added DangerThreshold metric. [AJ] +* [LifeMeterBattery] Added some important metrics. [AJ] + * MinScoreToKeepLife='TapNoteScore_*' - any score below this = loss of life. + * SubtractLives=1 - how many lives are lost when going below MinScoreToKeepLife. + * MinesSubtractLives=1 - how many lives are lost when hitting a mine. + * HeldAddLives=0 - how many lives are gained when a hold is completed. + * LetGoSubtractLives=1 - how many lives are lost on a dropped hold. + +2011/06/12 +---------- +* [ScreenNetSelectMusic] Add PlayerOptionsScreen metric. [AJ] +* [ScreenEdit] Restore the old PageUp/PageDown behavior, added Control + + PageUp/PageDown to use recent time signature behavior. Laptop users, that + includes you guys too: semicolon and apostrophe are still good. [Wolfman2000] + +2011/06/11 +---------- +* [ScreenEdit] Allow setting the Music Preview via the Alter Menu. Just select + your area, enter the menu, and choose "Designate as Music Preview". No more + math calculations needed! [Wolfman2000] +* [SongUtil] Added GetPlayableSteps(Song) Lua binding. [AJ] +* [Steps] Allow 255 characters for all chart descriptions, including edits. + We are no longer bound by In The Groove I think. [Wolfman2000] +* [Player] Add GetPlayerTimingData() Lua binding. [Wolfman2000] + +2011/06/10 +---------- +* [ScreenEdit] Split the Area Menu into the Area Menu and Alter Menu. Use the + "A" key to enter the Alter Menu when a selection of notes/rows are + highlighted. Use the Enter key to enter the old Area Menu for the options that + do not depend on selecting NoteData. [Wolfman2000] +* [ScreenEdit] Allow converting selections to Delays, Warps, or Fakes as well + as Stops. Remember, use the Alter Menu for this. [Wolfman2000] + +2011/06/09 +---------- +* [ScreenSyncOverlay] Ensure that F11 / F12 work with all charts due to Split + Timing. [Wolfman2000] + +2011/06/08 +---------- +* Any notes in a fake segment or warp segment are completely ignored for + scoring purposes. Now you can get 100% on your warping goodness! + [Wolfman2000] + +2011/06/06 +---------- +* [PlayerOptions] Removed the ScoreDisplay mod choices. Use lua to make your + own scoring formulas that work in reverse instead. [Wolfman2000] +* [ScreenGameplay] Fix an assist tick bug if there was no Player 1. Note that + this changes the behavior slightly: it is the first enabled player, or + master player, that gets the ticks now. A better solution will be looked at + in the future. [Wolfman2000] +* [NoteDataUtil] Fix a radar issue involving hands. Unfortunately, this means + yet another cache reload for accuracy purposes. [Wolfman2000] + +2011/06/04 +---------- +* Changed default MusicWheelSwitchSpeed to 15 (was 10). [AJ] +* [AnnouncerManager] Fixed a bug where no announcers would be loaded. [AJ] +* Restored the UserPrefAutoSetStyle behavior. [Wolfman2000] +* [NotesLoaderSMA] Better way of identifying beats and seconds. [Wolfman2000] + +================================================================================ +StepMania 5.0 Preview 1a | 20110603 +-------------------------------------------------------------------------------- + +2011/06/03 +---------- +* [LifeMeterBattery] Added LivesLeft param to LifeChanged message. [AJ] +* [Windows] Set up directories for pictures and app data in their proper + location. [Henke] +* [NotesLoaderSM] Fix an Offset load bug. [Wolfman2000] + +2011/06/02 +---------- +* [BPMDisplay] Added SetFromSteps Lua binding. [AJ] +* [ScreenDebugOverlay] Switch the R and T keys to be Volume Down and Up + respectively. I have to admit, it makes more sense to have volume up be + on the right instead of the left. [Wolfman2000] +* [SongManager] Make autogen courses have "Autogen" as the Scripter. [AJ] + +2011/06/01 +---------- +* [TimingData] Added the HasScrollChanges lua binding. [Wolfman2000] +* [ScreenEdit] Fix Song Timing behaviors. [Wolfman2000] + +2011/05/31 +---------- +* [Player] Added the BattleRaveMirror metric. This determines if Battle and + Rave mode will have the two players with mirrored charts or not. By default, + this is set to true, preserving the ITG style behavior. [Wolfman2000] +* [TimingData] Added the HasScrollChanges lua binding. [Wolfman2000] + +================================================================================ +StepMania 5.0 Preview 1 | 20110529 +-------------------------------------------------------------------------------- + +2011/05/27 +---------- +* [ScreenEdit] Added the LoopOnChartEnd metric. Once you get to the end of + the chart while playing it in the editor, this controls whether it loops and + plays again, or simply stops. By default, this is true, replicating current + behavior. Set to false to replicate older StepMania behavior. [Wolfman2000] + +2011/05/26 +---------- +* [ScoreKeeperNormal] Added the MissComboIsPerRow metric. Similar to the + ComboIsPerRow metric, this determines how much miss combo is earned on missing + a row of notes. By default, this is true. Set to false to replicate Pump Pro + behavior. [Wolfman2000] + +2011/05/25 +---------- +* [NotesLoaderSSC/NotesWriterSSC] Added the ScrollSegments. Think BPM change, + but not. [theDtTvB] + +2011/05/23 +---------- +* [Steps] Added the UsesSplitTiming Lua binding. [Wolfman2000] + +2011/05/20 +---------- +* [CryptManager] Added SHA1File Lua binding. [AJ] + +2011/05/19 +---------- +* [BPMDisplay] Add CourseCycleSpeed metric. [AJ] + +2011/05/17 +---------- +* [NotesWriterSM] Write out OpenITG compatible SM files from here on out. + This includes turning Warps into Negative Stops. For those that wanted + negative BPMs specifically, my apologies, but stops are easier on math. + [Wolfman2000] + +2011/05/16 +---------- +* [ProfileManager] Added ProfileWasLoadedFromMemoryCard(PlayerNumber) + Lua binding. [AJ] +* Added #FAKES to the SSC format. Similar to the fake arrows, these blocks + prevent all judgments within the range. [Wolfman2000] +* Changed the syntax of #WARPS slightly. Now the second value is the relative + distance that is skipped, not the absolute value when you start hitting + arrows again. [Wolfman2000] + +2011/05/15 +---------- +* [ScreenGameplay] Removed hardcoded commands for Debug (give up text) and + replace them with DebugStartOnCommand, DebugBackOnCommand, and + DebugTweenOffCommand. [AJ] +* Added #SPEEDS to the SSC format. This multiplies your scrolling speed during + gameplay, not replaces it (see mod attacks for replacing). [Wolfman2000] + +2011/05/14 +---------- +* [ModIcon] Added StopWords metric. [AJ] +* [ScreenSelectMaster] Add "ScreenEmpty" param to MenuStartP# when the GameCommand + doesn't set a screen. [AJ] +* [StepsDisplay] Added MeterFormatString metric. [AJ] +* [MusicWheel] Added ShowSectionsInBPMSort and ShowSectionsInLengthSort metrics. [AJ] +* [ScreenEvaluation] Stop the Bonus bars from overflowing in course modes. [AJ] +* [Banner] Added ScrollMode and ScrollSortOrder metrics. [AJ] + +2011/05/13 +---------- +* Added Split Timing to .SSC files. All older .SSC files and other file + formats are converted to split timing on cache load. We are no longer bound + by Song Timing for everything. [theDtTvB, Wolfman2000, TeruFSX] + +2011/05/11 +---------- +* [GameSoundManager] Added PlayAnnouncer Lua binding. [AJ] +* [AnnouncerManager] Add support for "gameplay combo #" for announcer. [AJ] + +2011/05/10 +---------- +* [Sprite] Added SetSecondsIntoAnimation Lua binding. [AJ] +* [BPMDisplay] Added SetFromCourse Lua binding. [AJ] + +2011/05/03 +---------- +* [ScreenEdit] Allow changing the Beat 0 Offset, Music Sample Start, and + Music Sample Length via Edit Song Info menu. [Wolfman2000] + +2011/05/02 +---------- +* [ScreenSelectMusic] Added NullScoreString metric. [AJ] + +2011/04/17 +-------- +* Use lua for all primary score keeping. Course modes right now still use the + old fashioned system. [TeruFSX, Wolfman2000] + +2011/04/09 +-------- +* [Player] Force hold judgments to take place before setting the score. + [theDtTvB] + +2011/04/05 +-------- +* [NotesLoaderSSC, NotesWriterSSC] Add the #LABELS tag. This is meant for step + editors to label different parts of their stepcharts. Use Control + , or . to + jump to different labels made. [Wolfman2000] + diff --git a/src/ProfileManager.cpp b/src/ProfileManager.cpp index 110cff47b5..a22b027ed1 100644 --- a/src/ProfileManager.cpp +++ b/src/ProfileManager.cpp @@ -1,888 +1,890 @@ -#include "global.h" -#include "ProfileManager.h" -#include "Profile.h" -#include "RageUtil.h" -#include "PrefsManager.h" -#include "RageLog.h" -#include "RageFile.h" -#include "RageFileManager.h" -#include "GameConstantsAndTypes.h" -#include "SongManager.h" -#include "GameState.h" -#include "Song.h" -#include "Steps.h" -#include "Course.h" -#include "GameManager.h" -#include "ProductInfo.h" -#include "RageUtil.h" -#include "ThemeManager.h" -#include "MemoryCardManager.h" -#include "XmlFile.h" -#include "StepsUtil.h" -#include "Style.h" -#include "HighScore.h" -#include "Character.h" -#include "CharacterManager.h" - - -ProfileManager* PROFILEMAN = NULL; // global and accessable from anywhere in our program - -static void DefaultLocalProfileIDInit( size_t /*PlayerNumber*/ i, RString &sNameOut, RString &defaultValueOut ) -{ - sNameOut = ssprintf( "DefaultLocalProfileIDP%d", int(i+1) ); - defaultValueOut = ""; -} - -Preference ProfileManager::m_bProfileStepEdits( "ProfileStepEdits", true ); -Preference ProfileManager::m_bProfileCourseEdits( "ProfileCourseEdits", true ); -Preference1D ProfileManager::m_sDefaultLocalProfileID( DefaultLocalProfileIDInit, NUM_PLAYERS ); - -const RString NEW_MEM_CARD_NAME = ""; -const RString USER_PROFILES_DIR = "/Save/LocalProfiles/"; -const RString MACHINE_PROFILE_DIR = "/Save/MachineProfile/"; -const RString LAST_GOOD_SUBDIR = "LastGood/"; - - -// Directories to search for a profile if m_sMemoryCardProfileSubdir doesn't -// exist, separated by ";": -static Preference g_sMemoryCardProfileImportSubdirs( "MemoryCardProfileImportSubdirs", "" ); - -static RString LocalProfileIDToDir( const RString &sProfileID ) { return USER_PROFILES_DIR + sProfileID + "/"; } -static RString LocalProfileDirToID( const RString &sDir ) { return Basename( sDir ); } - -struct DirAndProfile -{ - RString sDir; - Profile profile; -}; -static vector g_vLocalProfile; - - -static ThemeMetric FIXED_PROFILES ( "ProfileManager", "FixedProfiles" ); -static ThemeMetric NUM_FIXED_PROFILES ( "ProfileManager", "NumFixedProfiles" ); -#define FIXED_PROFILE_CHARACTER_ID( i ) THEME->GetMetric( "ProfileManager", ssprintf("FixedProfileCharacterID%d",int(i+1)) ) - - -ProfileManager::ProfileManager() -{ - m_pMachineProfile = new Profile; - FOREACH_PlayerNumber(pn) - m_pMemoryCardProfile[pn] = new Profile; - - // Register with Lua. - { - Lua *L = LUA->Get(); - lua_pushstring( L, "PROFILEMAN" ); - this->PushSelf( L ); - lua_settable( L, LUA_GLOBALSINDEX ); - LUA->Release( L ); - } -} - -ProfileManager::~ProfileManager() -{ - // Unregister with Lua. - LUA->UnsetGlobal( "PROFILEMAN" ); - - SAFE_DELETE( m_pMachineProfile ); - FOREACH_PlayerNumber(pn) - SAFE_DELETE( m_pMemoryCardProfile[pn] ); -} - -void ProfileManager::Init() -{ - FOREACH_PlayerNumber( p ) - { - m_bWasLoadedFromMemoryCard[p] = false; - m_bLastLoadWasTamperedOrCorrupt[p] = false; - m_bLastLoadWasFromLastGood[p] = false; - m_bNeedToBackUpLastLoad[p] = false; - m_bNewProfile[p] = false; - } - - LoadMachineProfile(); - - RefreshLocalProfilesFromDisk(); - - if( FIXED_PROFILES ) - { - // resize to the fixed number - if( (int)g_vLocalProfile.size() > NUM_FIXED_PROFILES ) - g_vLocalProfile.erase( g_vLocalProfile.begin()+NUM_FIXED_PROFILES, g_vLocalProfile.end() ); - - for( int i=g_vLocalProfile.size(); iGetCharacterFromID( sCharacterID ); - ASSERT_M( pCharacter, sCharacterID ); - RString sProfileID; - bool b = CreateLocalProfile( pCharacter->GetDisplayName(), sProfileID ); - ASSERT( b ); - Profile* pProfile = GetLocalProfile( sProfileID ); - ASSERT_M( pProfile, sProfileID ); - pProfile->m_sCharacterID = sCharacterID; - SaveLocalProfile( sProfileID ); - } - - ASSERT( (int)g_vLocalProfile.size() == NUM_FIXED_PROFILES ); - } -} - -bool ProfileManager::FixedProfiles() const -{ - return FIXED_PROFILES; -} - -ProfileLoadResult ProfileManager::LoadProfile( PlayerNumber pn, RString sProfileDir, bool bIsMemCard ) -{ - LOG->Trace( "LoadingProfile P%d, %s, %d", pn+1, sProfileDir.c_str(), bIsMemCard ); - - ASSERT( !sProfileDir.empty() ); - ASSERT( sProfileDir.Right(1) == "/" ); - - - m_sProfileDir[pn] = sProfileDir; - m_bWasLoadedFromMemoryCard[pn] = bIsMemCard; - m_bLastLoadWasFromLastGood[pn] = false; - m_bNeedToBackUpLastLoad[pn] = false; - - // Try to load the original, non-backup data. - ProfileLoadResult lr = GetProfile(pn)->LoadAllFromDir( m_sProfileDir[pn], PREFSMAN->m_bSignProfileData ); - - RString sBackupDir = m_sProfileDir[pn] + LAST_GOOD_SUBDIR; - - if( lr == ProfileLoadResult_Success ) - { - /* Next time the profile is written, move this good profile into LastGood. */ - m_bNeedToBackUpLastLoad[pn] = true; - } - - m_bLastLoadWasTamperedOrCorrupt[pn] = lr == ProfileLoadResult_FailedTampered; - - // - // Try to load from the backup if the original data fails to load - // - if( lr == ProfileLoadResult_FailedTampered ) - { - lr = GetProfile(pn)->LoadAllFromDir( sBackupDir, PREFSMAN->m_bSignProfileData ); - m_bLastLoadWasFromLastGood[pn] = lr == ProfileLoadResult_Success; - - /* If the LastGood profile doesn't exist at all, and the actual profile was failed_tampered, - * then the error should be failed_tampered and not failed_no_profile. */ - if( lr == ProfileLoadResult_FailedNoProfile ) - { - LOG->Trace( "Profile was corrupt and LastGood for %s doesn't exist; error is ProfileLoadResult_FailedTampered", - sProfileDir.c_str() ); - lr = ProfileLoadResult_FailedTampered; - } - } - - LOG->Trace( "Done loading profile - result %d", lr ); - - return lr; -} - -bool ProfileManager::LoadLocalProfileFromMachine( PlayerNumber pn ) -{ - RString sProfileID = m_sDefaultLocalProfileID[pn]; - if( sProfileID.empty() ) - { - m_sProfileDir[pn] = ""; - return false; - } - - m_sProfileDir[pn] = LocalProfileIDToDir( sProfileID ); - m_bWasLoadedFromMemoryCard[pn] = false; - m_bLastLoadWasFromLastGood[pn] = false; - - if( GetLocalProfile(sProfileID) == NULL ) - { - m_sProfileDir[pn] = ""; - return false; - } - - return true; -} - -void ProfileManager::GetMemoryCardProfileDirectoriesToTry( vector &asDirsToTry ) -{ - /* Try to load the preferred profile. */ - asDirsToTry.push_back( PREFSMAN->m_sMemoryCardProfileSubdir ); - - /* If that failed, try loading from all fallback directories. */ - split( g_sMemoryCardProfileImportSubdirs, ";", asDirsToTry, true ); -} - -bool ProfileManager::LoadProfileFromMemoryCard( PlayerNumber pn, bool bLoadEdits ) -{ - UnloadProfile( pn ); - - // mount slot - if( MEMCARDMAN->GetCardState(pn) != MemoryCardState_Ready ) - return false; - - vector asDirsToTry; - GetMemoryCardProfileDirectoriesToTry( asDirsToTry ); - m_bNewProfile[pn] = true; - - for( unsigned i = 0; i < asDirsToTry.size(); ++i ) - { - const RString &sSubdir = asDirsToTry[i]; - RString sDir = MEM_CARD_MOUNT_POINT[pn] + sSubdir + "/"; - - /* If the load fails with ProfileLoadResult_FailedNoProfile, keep searching. However, - * if it fails with failed_tampered, data existed but couldn't be loaded; - * we don't want to mess with it, since it's confusing and may wipe out - * recoverable backup data. The only time we really want to import data - * is on the very first use, when the new profile doesn't exist at all, - * but we also want to import scores in the case where the player created - * a directory for edits before playing, so keep searching if the directory - * exists with exists with no scores. */ - ProfileLoadResult res = LoadProfile( pn, sDir, true ); - if( res == ProfileLoadResult_Success ) - { - m_bNewProfile[pn] = false; - /* If importing, store the directory we imported from, for display purposes. */ - if( i > 0 ) - m_sProfileDirImportedFrom[pn] = asDirsToTry[i]; - break; - } - - if( res == ProfileLoadResult_FailedTampered ) - { - m_bNewProfile[pn] = false; - break; - } - } - - /* If we imported a profile fallback directory, change the memory card - * directory back to the preferred directory: never write over imported - * scores. */ - m_sProfileDir[pn] = MEM_CARD_MOUNT_POINT[pn] + (RString)PREFSMAN->m_sMemoryCardProfileSubdir + "/"; - - /* Load edits from all fallback directories, newest first. */ - if( bLoadEdits ) - { - for( unsigned i = 0; i < asDirsToTry.size(); ++i ) - { - const RString &sSubdir = asDirsToTry[i]; - RString sDir = MEM_CARD_MOUNT_POINT[pn] + sSubdir + "/"; - - if( m_bProfileStepEdits ) - SONGMAN->LoadStepEditsFromProfileDir( sDir, (ProfileSlot) pn ); - if( m_bProfileCourseEdits ) - SONGMAN->LoadCourseEditsFromProfileDir( sDir, (ProfileSlot) pn ); - } - } - - return true; // If a card is inserted, we want to use the memory card to save - even if the Profile load failed. -} - -bool ProfileManager::LoadFirstAvailableProfile( PlayerNumber pn, bool bLoadEdits ) -{ - if( LoadProfileFromMemoryCard(pn, bLoadEdits) ) - return true; - - if( LoadLocalProfileFromMachine(pn) ) - return true; - - return false; -} - - -bool ProfileManager::FastLoadProfileNameFromMemoryCard( RString sRootDir, RString &sName ) const -{ - vector asDirsToTry; - GetMemoryCardProfileDirectoriesToTry( asDirsToTry ); - - for( unsigned i = 0; i < asDirsToTry.size(); ++i ) - { - const RString &sSubdir = asDirsToTry[i]; - RString sDir = sRootDir + sSubdir + "/"; - - Profile profile; - ProfileLoadResult res = profile.LoadEditableDataFromDir( sDir ); - if( res == ProfileLoadResult_Success ) - { - sName = profile.GetDisplayNameOrHighScoreName(); - return true; - } - else if( res != ProfileLoadResult_FailedNoProfile ) - break; - } - - return false; -} - -bool ProfileManager::SaveProfile( PlayerNumber pn ) const -{ - if( m_sProfileDir[pn].empty() ) - return false; - - /* - * If the profile we're writing was loaded from the primary (non-backup) - * data, then we've validated it and know it's good. Before writing our - * new data, move the old, good data to the backup. (Only do this once; - * if we save the profile more than once, we haven't re-validated the - * newly written data.) - */ - if( m_bNeedToBackUpLastLoad[pn] ) - { - m_bNeedToBackUpLastLoad[pn] = false; - RString sBackupDir = m_sProfileDir[pn] + LAST_GOOD_SUBDIR; - Profile::MoveBackupToDir( m_sProfileDir[pn], sBackupDir ); - } - - bool b = GetProfile(pn)->SaveAllToDir( m_sProfileDir[pn], PREFSMAN->m_bSignProfileData ); - - return b; -} - -bool ProfileManager::SaveLocalProfile( RString sProfileID ) -{ - const Profile *pProfile = GetLocalProfile( sProfileID ); - ASSERT( pProfile != NULL ); - RString sDir = LocalProfileIDToDir( sProfileID ); - bool b = pProfile->SaveAllToDir( sDir, PREFSMAN->m_bSignProfileData ); - return b; -} - -void ProfileManager::UnloadProfile( PlayerNumber pn ) -{ - m_sProfileDir[pn] = ""; - m_sProfileDirImportedFrom[pn] = ""; - m_bWasLoadedFromMemoryCard[pn] = false; - m_bLastLoadWasTamperedOrCorrupt[pn] = false; - m_bLastLoadWasFromLastGood[pn] = false; - m_bNeedToBackUpLastLoad[pn] = false; - m_pMemoryCardProfile[pn]->InitAll(); - SONGMAN->FreeAllLoadedFromProfile( (ProfileSlot) pn ); -} - -const Profile* ProfileManager::GetProfile( PlayerNumber pn ) const -{ - ASSERT( pn >= 0 && pn < NUM_PLAYERS ); - - if( m_sProfileDir[pn].empty() ) - { - // return an empty profile - return m_pMemoryCardProfile[pn]; - } - else if( ProfileWasLoadedFromMemoryCard(pn) ) - { - return m_pMemoryCardProfile[pn]; - } - else - { - RString sProfileID = LocalProfileDirToID( m_sProfileDir[pn] ); - return GetLocalProfile( sProfileID ); - } -} - -RString ProfileManager::GetPlayerName( PlayerNumber pn ) const -{ - const Profile *prof = GetProfile( pn ); - return prof ? prof->GetDisplayNameOrHighScoreName() : RString(); -} - - -void ProfileManager::UnloadAllLocalProfiles() -{ - g_vLocalProfile.clear(); -} - -void ProfileManager::RefreshLocalProfilesFromDisk() -{ - UnloadAllLocalProfiles(); - - vector vsProfileID; - GetDirListing( USER_PROFILES_DIR + "*", vsProfileID, true, true ); - FOREACH_CONST( RString, vsProfileID, p ) - { - g_vLocalProfile.push_back( DirAndProfile() ); - DirAndProfile &dap = g_vLocalProfile.back(); - dap.sDir = *p + "/"; - dap.profile.LoadAllFromDir( dap.sDir, PREFSMAN->m_bSignProfileData ); - } -} - -const Profile *ProfileManager::GetLocalProfile( const RString &sProfileID ) const -{ - RString sDir = LocalProfileIDToDir( sProfileID ); - FOREACH_CONST( DirAndProfile, g_vLocalProfile, dap ) - { - const RString &sOther = dap->sDir; - if( sOther == sDir ) - return &dap->profile; - } - - return NULL; -} - -bool ProfileManager::CreateLocalProfile( RString sName, RString &sProfileIDOut ) -{ - ASSERT( !sName.empty() ); - - // Find a directory directory name that's a number greater than all - // existing numbers. This preserves the "order by create date". - int iMaxProfileNumber = -1; - vector vs; - GetLocalProfileIDs( vs ); - FOREACH_CONST( RString, vs, s ) - iMaxProfileNumber = StringToInt( *s ); - - int iProfileNumber = iMaxProfileNumber + 1; - RString sProfileID = ssprintf( "%08d", iProfileNumber ); - - // Create the new profile. - Profile *pProfile = new Profile; - pProfile->m_sDisplayName = sName; - pProfile->m_sCharacterID = CHARMAN->GetRandomCharacter()->m_sCharacterID; - - // Save it to disk. - RString sProfileDir = LocalProfileIDToDir( sProfileID ); - if( !pProfile->SaveAllToDir(sProfileDir, PREFSMAN->m_bSignProfileData) ) - { - delete pProfile; - sProfileIDOut = ""; - return false; - } - - AddLocalProfileByID( pProfile, sProfileID ); - - sProfileIDOut = sProfileID; - return true; -} - -void ProfileManager::AddLocalProfileByID( Profile *pProfile, RString sProfileID ) -{ - // make sure this id doesn't already exist - ASSERT_M( GetLocalProfile(sProfileID) == NULL, - ssprintf("creating \"%s\" \"%s\" that already exists", - pProfile->m_sDisplayName.c_str(), sProfileID.c_str()) ); - - // insert - g_vLocalProfile.push_back( DirAndProfile() ); - DirAndProfile &dap = g_vLocalProfile.back(); - dap.sDir = LocalProfileIDToDir( sProfileID ); - dap.profile = *pProfile; -} - -bool ProfileManager::RenameLocalProfile( RString sProfileID, RString sNewName ) -{ - ASSERT( !sProfileID.empty() ); - - Profile *pProfile = ProfileManager::GetLocalProfile( sProfileID ); - ASSERT( pProfile ); - pProfile->m_sDisplayName = sNewName; - - RString sProfileDir = LocalProfileIDToDir( sProfileID ); - return pProfile->SaveAllToDir( sProfileDir, PREFSMAN->m_bSignProfileData ); -} - -bool ProfileManager::DeleteLocalProfile( RString sProfileID ) -{ - Profile *pProfile = ProfileManager::GetLocalProfile( sProfileID ); - ASSERT( pProfile ); - RString sProfileDir = LocalProfileIDToDir( sProfileID ); - - // flush directory cache in an attempt to get this working - FILEMAN->FlushDirCache( sProfileDir ); - - FOREACH( DirAndProfile, g_vLocalProfile, i ) - { - if( i->sDir == sProfileDir ) - { - if( DeleteRecursive(sProfileDir) ) - { - g_vLocalProfile.erase( i ); - - // Delete all references to this profileID - FOREACH_CONST( Preference*, m_sDefaultLocalProfileID.m_v, j ) - { - if( (*j)->Get() == sProfileID ) - (*j)->Set( "" ); - } - return true; - } - else - { - LOG->Warn("[ProfileManager::DeleteLocalProfile] DeleteRecursive(%s) failed", - sProfileID.c_str() ); - return false; - } - } - } - - LOG->Warn( "DeleteLocalProfile: ProfileID '%s' doesn't exist", sProfileID.c_str() ); - return false; -} - -void ProfileManager::SaveMachineProfile() const -{ - // If the machine name has changed, make sure we use the new name. - // It's important that this name be applied before the Player profiles - // are saved, so that the Player's profiles show the right machine name. - const_cast (this)->m_pMachineProfile->m_sDisplayName = PREFSMAN->m_sMachineName; - - m_pMachineProfile->SaveAllToDir( MACHINE_PROFILE_DIR, false ); /* don't sign machine profiles */ -} - -void ProfileManager::LoadMachineProfile() -{ - ProfileLoadResult lr = m_pMachineProfile->LoadAllFromDir(MACHINE_PROFILE_DIR, false); - if( lr == ProfileLoadResult_FailedNoProfile ) - { - m_pMachineProfile->InitAll(); - m_pMachineProfile->SaveAllToDir( MACHINE_PROFILE_DIR, PREFSMAN->m_bSignProfileData ); - } - - // If the machine name has changed, make sure we use the new name - m_pMachineProfile->m_sDisplayName = PREFSMAN->m_sMachineName; - - LoadMachineProfileEdits(); -} - -void ProfileManager::LoadMachineProfileEdits() -{ - SONGMAN->FreeAllLoadedFromProfile( ProfileSlot_Machine ); - SONGMAN->LoadStepEditsFromProfileDir( MACHINE_PROFILE_DIR, ProfileSlot_Machine ); - SONGMAN->LoadCourseEditsFromProfileDir( MACHINE_PROFILE_DIR, ProfileSlot_Machine ); -} - -bool ProfileManager::ProfileWasLoadedFromMemoryCard( PlayerNumber pn ) const -{ - return !m_sProfileDir[pn].empty() && m_bWasLoadedFromMemoryCard[pn]; -} - -bool ProfileManager::ProfileFromMemoryCardIsNew( PlayerNumber pn ) const -{ - return GetProfile(pn) && m_bWasLoadedFromMemoryCard[pn] && m_bNewProfile[pn]; -} - -bool ProfileManager::LastLoadWasTamperedOrCorrupt( PlayerNumber pn ) const -{ - return !m_sProfileDir[pn].empty() && m_bLastLoadWasTamperedOrCorrupt[pn]; -} - -bool ProfileManager::LastLoadWasFromLastGood( PlayerNumber pn ) const -{ - return !m_sProfileDir[pn].empty() && m_bLastLoadWasFromLastGood[pn]; -} - -const RString& ProfileManager::GetProfileDir( ProfileSlot slot ) const -{ - switch( slot ) - { - case ProfileSlot_Player1: - case ProfileSlot_Player2: - return m_sProfileDir[slot]; - case ProfileSlot_Machine: - return MACHINE_PROFILE_DIR; - default: - ASSERT(0); - } -} - -RString ProfileManager::GetProfileDirImportedFrom( ProfileSlot slot ) const -{ - switch( slot ) - { - case ProfileSlot_Player1: - case ProfileSlot_Player2: - return m_sProfileDirImportedFrom[slot]; - case ProfileSlot_Machine: - return RString(); - default: - ASSERT(0); - } -} - -const Profile* ProfileManager::GetProfile( ProfileSlot slot ) const -{ - switch( slot ) - { - case ProfileSlot_Player1: - case ProfileSlot_Player2: - return GetProfile( (PlayerNumber)slot ); - case ProfileSlot_Machine: - return m_pMachineProfile; - default: - ASSERT(0); - } -} - -// -// General -// -void ProfileManager::IncrementToastiesCount( PlayerNumber pn ) -{ - if( IsPersistentProfile(pn) ) - ++GetProfile(pn)->m_iNumToasties; - ++GetMachineProfile()->m_iNumToasties; -} - -void ProfileManager::AddStepTotals( PlayerNumber pn, int iNumTapsAndHolds, int iNumJumps, int iNumHolds, int iNumRolls, int iNumMines, int iNumHands, int iNumLifts, float fCaloriesBurned ) -{ - if( IsPersistentProfile(pn) ) - GetProfile(pn)->AddStepTotals( iNumTapsAndHolds, iNumJumps, iNumHolds, iNumRolls, iNumMines, iNumHands, iNumLifts, fCaloriesBurned ); - GetMachineProfile()->AddStepTotals( iNumTapsAndHolds, iNumJumps, iNumHolds, iNumRolls, iNumMines, iNumHands, iNumLifts, fCaloriesBurned ); -} - -// -// Song stats -// -int ProfileManager::GetSongNumTimesPlayed( const Song* pSong, ProfileSlot slot ) const -{ - return GetProfile(slot)->GetSongNumTimesPlayed( pSong ); -} - -void ProfileManager::AddStepsScore( const Song* pSong, const Steps* pSteps, PlayerNumber pn, const HighScore &hs_, int &iPersonalIndexOut, int &iMachineIndexOut ) -{ - HighScore hs = hs_; - hs.SetPercentDP( max(0, hs.GetPercentDP()) ); // bump up negative scores - - iPersonalIndexOut = -1; - iMachineIndexOut = -1; - - // In event mode, set the score's name immediately to the Profile's last - // used name. If no profile last used name exists, use "EVNT". - if( GAMESTATE->IsEventMode() ) - { - Profile* pProfile = GetProfile(pn); - if( pProfile && !pProfile->m_sLastUsedHighScoreName.empty() ) - hs.SetName( pProfile->m_sLastUsedHighScoreName ); - else - hs.SetName( "EVNT" ); - } - else - { - hs.SetName( RANKING_TO_FILL_IN_MARKER[pn] ); - } - - // - // save high score - // - if( IsPersistentProfile(pn) ) - GetProfile(pn)->AddStepsHighScore( pSong, pSteps, hs, iPersonalIndexOut ); - - // don't save machine scores for a failed song - if( hs.GetPercentDP() >= PREFSMAN->m_fMinPercentageForMachineSongHighScore && - hs.GetGrade() != Grade_Failed ) - { - // don't leave machine high scores for edits loaded from the player's card - if( !pSteps->IsAPlayerEdit() ) - GetMachineProfile()->AddStepsHighScore( pSong, pSteps, hs, iMachineIndexOut ); - } - - /* - // save recent score - if( IsPersistentProfile(pn) ) - GetProfile(pn)->SaveStepsRecentScore( pSong, pSteps, hs ); - GetMachineProfile()->SaveStepsRecentScore( pSong, pSteps, hs ); - */ -} - -void ProfileManager::IncrementStepsPlayCount( const Song* pSong, const Steps* pSteps, PlayerNumber pn ) -{ - if( IsPersistentProfile(pn) ) - GetProfile(pn)->IncrementStepsPlayCount( pSong, pSteps ); - GetMachineProfile()->IncrementStepsPlayCount( pSong, pSteps ); -} - -// Course stats -void ProfileManager::AddCourseScore( const Course* pCourse, const Trail* pTrail, PlayerNumber pn, const HighScore &hs_, int &iPersonalIndexOut, int &iMachineIndexOut ) -{ - HighScore hs = hs_; - hs.SetPercentDP(max( 0, hs.GetPercentDP()) ); // bump up negative scores - - iPersonalIndexOut = -1; - iMachineIndexOut = -1; - - // In event mode, set the score's name immediately to the Profile's last - // used name. If no profile last used name exists, use "EVNT". - if( GAMESTATE->IsEventMode() ) - { - Profile* pProfile = GetProfile(pn); - if( pProfile && !pProfile->m_sLastUsedHighScoreName.empty() ) - hs.SetName( pProfile->m_sLastUsedHighScoreName ); - else - hs.SetName( "EVNT" ); - } - else - { - hs.SetName( RANKING_TO_FILL_IN_MARKER[pn] ); - } - - // save high score - if( IsPersistentProfile(pn) ) - GetProfile(pn)->AddCourseHighScore( pCourse, pTrail, hs, iPersonalIndexOut ); - if( hs.GetPercentDP() >= PREFSMAN->m_fMinPercentageForMachineCourseHighScore ) - GetMachineProfile()->AddCourseHighScore( pCourse, pTrail, hs, iMachineIndexOut ); - - /* - // save recent score - if( IsPersistentProfile(pn) ) - GetProfile(pn)->SaveCourseRecentScore( pCourse, pTrail, hs ); - GetMachineProfile()->SaveCourseRecentScore( pCourse, pTrail, hs ); - */ -} - -void ProfileManager::IncrementCoursePlayCount( const Course* pCourse, const Trail* pTrail, PlayerNumber pn ) -{ - if( IsPersistentProfile(pn) ) - GetProfile(pn)->IncrementCoursePlayCount( pCourse, pTrail ); - GetMachineProfile()->IncrementCoursePlayCount( pCourse, pTrail ); -} - -// Category stats -void ProfileManager::AddCategoryScore( StepsType st, RankingCategory rc, PlayerNumber pn, const HighScore &hs_, int &iPersonalIndexOut, int &iMachineIndexOut ) -{ - HighScore hs = hs_; - hs.SetName( RANKING_TO_FILL_IN_MARKER[pn] ); - if( IsPersistentProfile(pn) ) - GetProfile(pn)->AddCategoryHighScore( st, rc, hs, iPersonalIndexOut ); - if( hs.GetPercentDP() > PREFSMAN->m_fMinPercentageForMachineSongHighScore ) - GetMachineProfile()->AddCategoryHighScore( st, rc, hs, iMachineIndexOut ); -} - -void ProfileManager::IncrementCategoryPlayCount( StepsType st, RankingCategory rc, PlayerNumber pn ) -{ - if( IsPersistentProfile(pn) ) - GetProfile(pn)->IncrementCategoryPlayCount( st, rc ); - GetMachineProfile()->IncrementCategoryPlayCount( st, rc ); -} - -bool ProfileManager::IsPersistentProfile( ProfileSlot slot ) const -{ - switch( slot ) - { - case ProfileSlot_Player1: - case ProfileSlot_Player2: - return GAMESTATE->IsHumanPlayer((PlayerNumber)slot) && !m_sProfileDir[slot].empty(); - case ProfileSlot_Machine: - return true; - default: - ASSERT(0); - return false; - } -} - -void ProfileManager::GetLocalProfileIDs( vector &vsProfileIDsOut ) const -{ - vsProfileIDsOut.clear(); - FOREACH_CONST( DirAndProfile, g_vLocalProfile, i) - { - RString sID = LocalProfileDirToID( i->sDir ); - vsProfileIDsOut.push_back( sID ); - } -} - -void ProfileManager::GetLocalProfileDisplayNames( vector &vsProfileDisplayNamesOut ) const -{ - vsProfileDisplayNamesOut.clear(); - FOREACH_CONST( DirAndProfile, g_vLocalProfile, i) - vsProfileDisplayNamesOut.push_back( i->profile.m_sDisplayName ); -} - -int ProfileManager::GetLocalProfileIndexFromID( RString sProfileID ) const -{ - RString sDir = LocalProfileIDToDir( sProfileID ); - FOREACH_CONST( DirAndProfile, g_vLocalProfile, i ) - { - if( i->sDir == sDir ) - return i - g_vLocalProfile.begin(); - } - return -1; -} - -RString ProfileManager::GetLocalProfileIDFromIndex( int iIndex ) -{ - RString sID = LocalProfileDirToID( g_vLocalProfile[iIndex].sDir ); - return sID; -} - -Profile *ProfileManager::GetLocalProfileFromIndex( int iIndex ) -{ - return &g_vLocalProfile[iIndex].profile; -} - -int ProfileManager::GetNumLocalProfiles() const -{ - return g_vLocalProfile.size(); -} - -// lua start -#include "LuaBinding.h" - -/** @brief Allow Lua to have access to the ProfileManager. */ -class LunaProfileManager: public Luna -{ -public: - static int IsPersistentProfile( T* p, lua_State *L ) { lua_pushboolean(L, p->IsPersistentProfile(Enum::Check(L, 1)) ); return 1; } - static int GetProfile( T* p, lua_State *L ) { PlayerNumber pn = Enum::Check(L, 1); Profile* pP = p->GetProfile(pn); ASSERT(pP); pP->PushSelf(L); return 1; } - static int GetMachineProfile( T* p, lua_State *L ) { p->GetMachineProfile()->PushSelf(L); return 1; } - static int SaveMachineProfile( T* p, lua_State *L ) { p->SaveMachineProfile(); return 0; } - static int GetLocalProfile( T* p, lua_State *L ) - { - Profile *pProfile = p->GetLocalProfile(SArg(1)); - if( pProfile ) - pProfile->PushSelf(L); - else - lua_pushnil(L); - return 1; - } - static int GetLocalProfileFromIndex( T* p, lua_State *L ) { Profile *pProfile = p->GetLocalProfileFromIndex(IArg(1)); ASSERT(pProfile); pProfile->PushSelf(L); return 1; } - static int GetLocalProfileIDFromIndex( T* p, lua_State *L ) { lua_pushstring(L, p->GetLocalProfileIDFromIndex(IArg(1)) ); return 1; } - static int GetLocalProfileIndexFromID( T* p, lua_State *L ) { lua_pushnumber(L, p->GetLocalProfileIndexFromID(SArg(1)) ); return 1; } - static int GetNumLocalProfiles( T* p, lua_State *L ) { lua_pushnumber(L, p->GetNumLocalProfiles() ); return 1; } - static int GetProfileDir( T* p, lua_State *L ) { lua_pushstring(L, p->GetProfileDir(Enum::Check(L, 1)) ); return 1; } - static int IsSongNew( T* p, lua_State *L ) { lua_pushboolean(L, p->IsSongNew(Luna::check(L,1)) ); return 1; } - static int ProfileWasLoadedFromMemoryCard( T* p, lua_State *L ) { lua_pushboolean(L, p->ProfileWasLoadedFromMemoryCard(Enum::Check(L, 1)) ); return 1; } - static int LastLoadWasTamperedOrCorrupt( T* p, lua_State *L ) { lua_pushboolean(L, p->LastLoadWasTamperedOrCorrupt(Enum::Check(L, 1)) ); return 1; } - - LunaProfileManager() - { - ADD_METHOD( IsPersistentProfile ); - ADD_METHOD( GetProfile ); - ADD_METHOD( GetMachineProfile ); - ADD_METHOD( SaveMachineProfile ); - ADD_METHOD( GetLocalProfile ); - ADD_METHOD( GetLocalProfileFromIndex ); - ADD_METHOD( GetLocalProfileIDFromIndex ); - ADD_METHOD( GetLocalProfileIndexFromID ); - ADD_METHOD( GetNumLocalProfiles ); - ADD_METHOD( GetProfileDir ); - ADD_METHOD( IsSongNew ); - ADD_METHOD( ProfileWasLoadedFromMemoryCard ); - ADD_METHOD( LastLoadWasTamperedOrCorrupt ); - } -}; - -LUA_REGISTER_CLASS( ProfileManager ) -// lua end - -/* - * (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. - */ +#include "global.h" +#include "ProfileManager.h" +#include "Profile.h" +#include "RageUtil.h" +#include "PrefsManager.h" +#include "RageLog.h" +#include "RageFile.h" +#include "RageFileManager.h" +#include "GameConstantsAndTypes.h" +#include "SongManager.h" +#include "GameState.h" +#include "Song.h" +#include "Steps.h" +#include "Course.h" +#include "GameManager.h" +#include "ProductInfo.h" +#include "RageUtil.h" +#include "ThemeManager.h" +#include "MemoryCardManager.h" +#include "XmlFile.h" +#include "StepsUtil.h" +#include "Style.h" +#include "HighScore.h" +#include "Character.h" +#include "CharacterManager.h" + + +ProfileManager* PROFILEMAN = NULL; // global and accessable from anywhere in our program + +static void DefaultLocalProfileIDInit( size_t /*PlayerNumber*/ i, RString &sNameOut, RString &defaultValueOut ) +{ + sNameOut = ssprintf( "DefaultLocalProfileIDP%d", int(i+1) ); + defaultValueOut = ""; +} + +Preference ProfileManager::m_bProfileStepEdits( "ProfileStepEdits", true ); +Preference ProfileManager::m_bProfileCourseEdits( "ProfileCourseEdits", true ); +Preference1D ProfileManager::m_sDefaultLocalProfileID( DefaultLocalProfileIDInit, NUM_PLAYERS ); + +const RString NEW_MEM_CARD_NAME = ""; +const RString USER_PROFILES_DIR = "/Save/LocalProfiles/"; +const RString MACHINE_PROFILE_DIR = "/Save/MachineProfile/"; +const RString LAST_GOOD_SUBDIR = "LastGood/"; + + +// Directories to search for a profile if m_sMemoryCardProfileSubdir doesn't +// exist, separated by ";": +static Preference g_sMemoryCardProfileImportSubdirs( "MemoryCardProfileImportSubdirs", "" ); + +static RString LocalProfileIDToDir( const RString &sProfileID ) { return USER_PROFILES_DIR + sProfileID + "/"; } +static RString LocalProfileDirToID( const RString &sDir ) { return Basename( sDir ); } + +struct DirAndProfile +{ + RString sDir; + Profile profile; +}; +static vector g_vLocalProfile; + + +static ThemeMetric FIXED_PROFILES ( "ProfileManager", "FixedProfiles" ); +static ThemeMetric NUM_FIXED_PROFILES ( "ProfileManager", "NumFixedProfiles" ); +#define FIXED_PROFILE_CHARACTER_ID( i ) THEME->GetMetric( "ProfileManager", ssprintf("FixedProfileCharacterID%d",int(i+1)) ) + + +ProfileManager::ProfileManager() +{ + m_pMachineProfile = new Profile; + FOREACH_PlayerNumber(pn) + m_pMemoryCardProfile[pn] = new Profile; + + // Register with Lua. + { + Lua *L = LUA->Get(); + lua_pushstring( L, "PROFILEMAN" ); + this->PushSelf( L ); + lua_settable( L, LUA_GLOBALSINDEX ); + LUA->Release( L ); + } +} + +ProfileManager::~ProfileManager() +{ + // Unregister with Lua. + LUA->UnsetGlobal( "PROFILEMAN" ); + + SAFE_DELETE( m_pMachineProfile ); + FOREACH_PlayerNumber(pn) + SAFE_DELETE( m_pMemoryCardProfile[pn] ); +} + +void ProfileManager::Init() +{ + FOREACH_PlayerNumber( p ) + { + m_bWasLoadedFromMemoryCard[p] = false; + m_bLastLoadWasTamperedOrCorrupt[p] = false; + m_bLastLoadWasFromLastGood[p] = false; + m_bNeedToBackUpLastLoad[p] = false; + m_bNewProfile[p] = false; + } + + LoadMachineProfile(); + + RefreshLocalProfilesFromDisk(); + + if( FIXED_PROFILES ) + { + // resize to the fixed number + if( (int)g_vLocalProfile.size() > NUM_FIXED_PROFILES ) + g_vLocalProfile.erase( g_vLocalProfile.begin()+NUM_FIXED_PROFILES, g_vLocalProfile.end() ); + + for( int i=g_vLocalProfile.size(); iGetCharacterFromID( sCharacterID ); + ASSERT_M( pCharacter, sCharacterID ); + RString sProfileID; + bool b = CreateLocalProfile( pCharacter->GetDisplayName(), sProfileID ); + ASSERT( b ); + Profile* pProfile = GetLocalProfile( sProfileID ); + ASSERT_M( pProfile, sProfileID ); + pProfile->m_sCharacterID = sCharacterID; + SaveLocalProfile( sProfileID ); + } + + ASSERT( (int)g_vLocalProfile.size() == NUM_FIXED_PROFILES ); + } +} + +bool ProfileManager::FixedProfiles() const +{ + return FIXED_PROFILES; +} + +ProfileLoadResult ProfileManager::LoadProfile( PlayerNumber pn, RString sProfileDir, bool bIsMemCard ) +{ + LOG->Trace( "LoadingProfile P%d, %s, %d", pn+1, sProfileDir.c_str(), bIsMemCard ); + + ASSERT( !sProfileDir.empty() ); + ASSERT( sProfileDir.Right(1) == "/" ); + + + m_sProfileDir[pn] = sProfileDir; + m_bWasLoadedFromMemoryCard[pn] = bIsMemCard; + m_bLastLoadWasFromLastGood[pn] = false; + m_bNeedToBackUpLastLoad[pn] = false; + + // Try to load the original, non-backup data. + ProfileLoadResult lr = GetProfile(pn)->LoadAllFromDir( m_sProfileDir[pn], PREFSMAN->m_bSignProfileData ); + + RString sBackupDir = m_sProfileDir[pn] + LAST_GOOD_SUBDIR; + + if( lr == ProfileLoadResult_Success ) + { + /* Next time the profile is written, move this good profile into LastGood. */ + m_bNeedToBackUpLastLoad[pn] = true; + } + + m_bLastLoadWasTamperedOrCorrupt[pn] = lr == ProfileLoadResult_FailedTampered; + + // + // Try to load from the backup if the original data fails to load + // + if( lr == ProfileLoadResult_FailedTampered ) + { + lr = GetProfile(pn)->LoadAllFromDir( sBackupDir, PREFSMAN->m_bSignProfileData ); + m_bLastLoadWasFromLastGood[pn] = lr == ProfileLoadResult_Success; + + /* If the LastGood profile doesn't exist at all, and the actual profile was failed_tampered, + * then the error should be failed_tampered and not failed_no_profile. */ + if( lr == ProfileLoadResult_FailedNoProfile ) + { + LOG->Trace( "Profile was corrupt and LastGood for %s doesn't exist; error is ProfileLoadResult_FailedTampered", + sProfileDir.c_str() ); + lr = ProfileLoadResult_FailedTampered; + } + } + + LOG->Trace( "Done loading profile - result %d", lr ); + + return lr; +} + +bool ProfileManager::LoadLocalProfileFromMachine( PlayerNumber pn ) +{ + RString sProfileID = m_sDefaultLocalProfileID[pn]; + if( sProfileID.empty() ) + { + m_sProfileDir[pn] = ""; + return false; + } + + m_sProfileDir[pn] = LocalProfileIDToDir( sProfileID ); + m_bWasLoadedFromMemoryCard[pn] = false; + m_bLastLoadWasFromLastGood[pn] = false; + + if( GetLocalProfile(sProfileID) == NULL ) + { + m_sProfileDir[pn] = ""; + return false; + } + + return true; +} + +void ProfileManager::GetMemoryCardProfileDirectoriesToTry( vector &asDirsToTry ) +{ + /* Try to load the preferred profile. */ + asDirsToTry.push_back( PREFSMAN->m_sMemoryCardProfileSubdir ); + + /* If that failed, try loading from all fallback directories. */ + split( g_sMemoryCardProfileImportSubdirs, ";", asDirsToTry, true ); +} + +bool ProfileManager::LoadProfileFromMemoryCard( PlayerNumber pn, bool bLoadEdits ) +{ + UnloadProfile( pn ); + + // mount slot + if( MEMCARDMAN->GetCardState(pn) != MemoryCardState_Ready ) + return false; + + vector asDirsToTry; + GetMemoryCardProfileDirectoriesToTry( asDirsToTry ); + m_bNewProfile[pn] = true; + + for( unsigned i = 0; i < asDirsToTry.size(); ++i ) + { + const RString &sSubdir = asDirsToTry[i]; + RString sDir = MEM_CARD_MOUNT_POINT[pn] + sSubdir + "/"; + + /* If the load fails with ProfileLoadResult_FailedNoProfile, keep searching. However, + * if it fails with failed_tampered, data existed but couldn't be loaded; + * we don't want to mess with it, since it's confusing and may wipe out + * recoverable backup data. The only time we really want to import data + * is on the very first use, when the new profile doesn't exist at all, + * but we also want to import scores in the case where the player created + * a directory for edits before playing, so keep searching if the directory + * exists with exists with no scores. */ + ProfileLoadResult res = LoadProfile( pn, sDir, true ); + if( res == ProfileLoadResult_Success ) + { + m_bNewProfile[pn] = false; + /* If importing, store the directory we imported from, for display purposes. */ + if( i > 0 ) + m_sProfileDirImportedFrom[pn] = asDirsToTry[i]; + break; + } + + if( res == ProfileLoadResult_FailedTampered ) + { + m_bNewProfile[pn] = false; + break; + } + } + + /* If we imported a profile fallback directory, change the memory card + * directory back to the preferred directory: never write over imported + * scores. */ + m_sProfileDir[pn] = MEM_CARD_MOUNT_POINT[pn] + (RString)PREFSMAN->m_sMemoryCardProfileSubdir + "/"; + + /* Load edits from all fallback directories, newest first. */ + if( bLoadEdits ) + { + for( unsigned i = 0; i < asDirsToTry.size(); ++i ) + { + const RString &sSubdir = asDirsToTry[i]; + RString sDir = MEM_CARD_MOUNT_POINT[pn] + sSubdir + "/"; + + if( m_bProfileStepEdits ) + SONGMAN->LoadStepEditsFromProfileDir( sDir, (ProfileSlot) pn ); + if( m_bProfileCourseEdits ) + SONGMAN->LoadCourseEditsFromProfileDir( sDir, (ProfileSlot) pn ); + } + } + + return true; // If a card is inserted, we want to use the memory card to save - even if the Profile load failed. +} + +bool ProfileManager::LoadFirstAvailableProfile( PlayerNumber pn, bool bLoadEdits ) +{ + if( LoadProfileFromMemoryCard(pn, bLoadEdits) ) + return true; + + if( LoadLocalProfileFromMachine(pn) ) + return true; + + return false; +} + + +bool ProfileManager::FastLoadProfileNameFromMemoryCard( RString sRootDir, RString &sName ) const +{ + vector asDirsToTry; + GetMemoryCardProfileDirectoriesToTry( asDirsToTry ); + + for( unsigned i = 0; i < asDirsToTry.size(); ++i ) + { + const RString &sSubdir = asDirsToTry[i]; + RString sDir = sRootDir + sSubdir + "/"; + + Profile profile; + ProfileLoadResult res = profile.LoadEditableDataFromDir( sDir ); + if( res == ProfileLoadResult_Success ) + { + sName = profile.GetDisplayNameOrHighScoreName(); + return true; + } + else if( res != ProfileLoadResult_FailedNoProfile ) + break; + } + + return false; +} + +bool ProfileManager::SaveProfile( PlayerNumber pn ) const +{ + if( m_sProfileDir[pn].empty() ) + return false; + + /* + * If the profile we're writing was loaded from the primary (non-backup) + * data, then we've validated it and know it's good. Before writing our + * new data, move the old, good data to the backup. (Only do this once; + * if we save the profile more than once, we haven't re-validated the + * newly written data.) + */ + if( m_bNeedToBackUpLastLoad[pn] ) + { + m_bNeedToBackUpLastLoad[pn] = false; + RString sBackupDir = m_sProfileDir[pn] + LAST_GOOD_SUBDIR; + Profile::MoveBackupToDir( m_sProfileDir[pn], sBackupDir ); + } + + bool b = GetProfile(pn)->SaveAllToDir( m_sProfileDir[pn], PREFSMAN->m_bSignProfileData ); + + return b; +} + +bool ProfileManager::SaveLocalProfile( RString sProfileID ) +{ + const Profile *pProfile = GetLocalProfile( sProfileID ); + ASSERT( pProfile != NULL ); + RString sDir = LocalProfileIDToDir( sProfileID ); + bool b = pProfile->SaveAllToDir( sDir, PREFSMAN->m_bSignProfileData ); + return b; +} + +void ProfileManager::UnloadProfile( PlayerNumber pn ) +{ + m_sProfileDir[pn] = ""; + m_sProfileDirImportedFrom[pn] = ""; + m_bWasLoadedFromMemoryCard[pn] = false; + m_bLastLoadWasTamperedOrCorrupt[pn] = false; + m_bLastLoadWasFromLastGood[pn] = false; + m_bNeedToBackUpLastLoad[pn] = false; + m_pMemoryCardProfile[pn]->InitAll(); + SONGMAN->FreeAllLoadedFromProfile( (ProfileSlot) pn ); +} + +const Profile* ProfileManager::GetProfile( PlayerNumber pn ) const +{ + ASSERT( pn >= 0 && pn < NUM_PLAYERS ); + + if( m_sProfileDir[pn].empty() ) + { + // return an empty profile + return m_pMemoryCardProfile[pn]; + } + else if( ProfileWasLoadedFromMemoryCard(pn) ) + { + return m_pMemoryCardProfile[pn]; + } + else + { + RString sProfileID = LocalProfileDirToID( m_sProfileDir[pn] ); + return GetLocalProfile( sProfileID ); + } +} + +RString ProfileManager::GetPlayerName( PlayerNumber pn ) const +{ + const Profile *prof = GetProfile( pn ); + return prof ? prof->GetDisplayNameOrHighScoreName() : RString(); +} + + +void ProfileManager::UnloadAllLocalProfiles() +{ + g_vLocalProfile.clear(); +} + +void ProfileManager::RefreshLocalProfilesFromDisk() +{ + UnloadAllLocalProfiles(); + + vector vsProfileID; + GetDirListing( USER_PROFILES_DIR + "*", vsProfileID, true, true ); + FOREACH_CONST( RString, vsProfileID, p ) + { + g_vLocalProfile.push_back( DirAndProfile() ); + DirAndProfile &dap = g_vLocalProfile.back(); + dap.sDir = *p + "/"; + dap.profile.LoadAllFromDir( dap.sDir, PREFSMAN->m_bSignProfileData ); + } +} + +const Profile *ProfileManager::GetLocalProfile( const RString &sProfileID ) const +{ + RString sDir = LocalProfileIDToDir( sProfileID ); + FOREACH_CONST( DirAndProfile, g_vLocalProfile, dap ) + { + const RString &sOther = dap->sDir; + if( sOther == sDir ) + return &dap->profile; + } + + return NULL; +} + +bool ProfileManager::CreateLocalProfile( RString sName, RString &sProfileIDOut ) +{ + ASSERT( !sName.empty() ); + + // Find a directory directory name that's a number greater than all + // existing numbers. This preserves the "order by create date". + int iMaxProfileNumber = -1; + vector vs; + GetLocalProfileIDs( vs ); + FOREACH_CONST( RString, vs, s ) + iMaxProfileNumber = StringToInt( *s ); + + int iProfileNumber = iMaxProfileNumber + 1; + RString sProfileID = ssprintf( "%08d", iProfileNumber ); + + // Create the new profile. + Profile *pProfile = new Profile; + pProfile->m_sDisplayName = sName; + pProfile->m_sCharacterID = CHARMAN->GetRandomCharacter()->m_sCharacterID; + + // Save it to disk. + RString sProfileDir = LocalProfileIDToDir( sProfileID ); + if( !pProfile->SaveAllToDir(sProfileDir, PREFSMAN->m_bSignProfileData) ) + { + delete pProfile; + sProfileIDOut = ""; + return false; + } + + AddLocalProfileByID( pProfile, sProfileID ); + + sProfileIDOut = sProfileID; + return true; +} + +void ProfileManager::AddLocalProfileByID( Profile *pProfile, RString sProfileID ) +{ + // make sure this id doesn't already exist + ASSERT_M( GetLocalProfile(sProfileID) == NULL, + ssprintf("creating \"%s\" \"%s\" that already exists", + pProfile->m_sDisplayName.c_str(), sProfileID.c_str()) ); + + // insert + g_vLocalProfile.push_back( DirAndProfile() ); + DirAndProfile &dap = g_vLocalProfile.back(); + dap.sDir = LocalProfileIDToDir( sProfileID ); + dap.profile = *pProfile; +} + +bool ProfileManager::RenameLocalProfile( RString sProfileID, RString sNewName ) +{ + ASSERT( !sProfileID.empty() ); + + Profile *pProfile = ProfileManager::GetLocalProfile( sProfileID ); + ASSERT( pProfile ); + pProfile->m_sDisplayName = sNewName; + + RString sProfileDir = LocalProfileIDToDir( sProfileID ); + return pProfile->SaveAllToDir( sProfileDir, PREFSMAN->m_bSignProfileData ); +} + +bool ProfileManager::DeleteLocalProfile( RString sProfileID ) +{ + Profile *pProfile = ProfileManager::GetLocalProfile( sProfileID ); + ASSERT( pProfile ); + RString sProfileDir = LocalProfileIDToDir( sProfileID ); + + // flush directory cache in an attempt to get this working + FILEMAN->FlushDirCache( sProfileDir ); + + FOREACH( DirAndProfile, g_vLocalProfile, i ) + { + if( i->sDir == sProfileDir ) + { + if( DeleteRecursive(sProfileDir) ) + { + g_vLocalProfile.erase( i ); + + // Delete all references to this profileID + FOREACH_CONST( Preference*, m_sDefaultLocalProfileID.m_v, j ) + { + if( (*j)->Get() == sProfileID ) + (*j)->Set( "" ); + } + return true; + } + else + { + LOG->Warn("[ProfileManager::DeleteLocalProfile] DeleteRecursive(%s) failed", + sProfileID.c_str() ); + return false; + } + } + } + + LOG->Warn( "DeleteLocalProfile: ProfileID '%s' doesn't exist", sProfileID.c_str() ); + return false; +} + +void ProfileManager::SaveMachineProfile() const +{ + // If the machine name has changed, make sure we use the new name. + // It's important that this name be applied before the Player profiles + // are saved, so that the Player's profiles show the right machine name. + const_cast (this)->m_pMachineProfile->m_sDisplayName = PREFSMAN->m_sMachineName; + + m_pMachineProfile->SaveAllToDir( MACHINE_PROFILE_DIR, false ); /* don't sign machine profiles */ +} + +void ProfileManager::LoadMachineProfile() +{ + ProfileLoadResult lr = m_pMachineProfile->LoadAllFromDir(MACHINE_PROFILE_DIR, false); + if( lr == ProfileLoadResult_FailedNoProfile ) + { + m_pMachineProfile->InitAll(); + m_pMachineProfile->SaveAllToDir( MACHINE_PROFILE_DIR, PREFSMAN->m_bSignProfileData ); + } + + // If the machine name has changed, make sure we use the new name + m_pMachineProfile->m_sDisplayName = PREFSMAN->m_sMachineName; + + LoadMachineProfileEdits(); +} + +void ProfileManager::LoadMachineProfileEdits() +{ + SONGMAN->FreeAllLoadedFromProfile( ProfileSlot_Machine ); + SONGMAN->LoadStepEditsFromProfileDir( MACHINE_PROFILE_DIR, ProfileSlot_Machine ); + SONGMAN->LoadCourseEditsFromProfileDir( MACHINE_PROFILE_DIR, ProfileSlot_Machine ); +} + +bool ProfileManager::ProfileWasLoadedFromMemoryCard( PlayerNumber pn ) const +{ + return !m_sProfileDir[pn].empty() && m_bWasLoadedFromMemoryCard[pn]; +} + +bool ProfileManager::ProfileFromMemoryCardIsNew( PlayerNumber pn ) const +{ + return GetProfile(pn) && m_bWasLoadedFromMemoryCard[pn] && m_bNewProfile[pn]; +} + +bool ProfileManager::LastLoadWasTamperedOrCorrupt( PlayerNumber pn ) const +{ + return !m_sProfileDir[pn].empty() && m_bLastLoadWasTamperedOrCorrupt[pn]; +} + +bool ProfileManager::LastLoadWasFromLastGood( PlayerNumber pn ) const +{ + return !m_sProfileDir[pn].empty() && m_bLastLoadWasFromLastGood[pn]; +} + +const RString& ProfileManager::GetProfileDir( ProfileSlot slot ) const +{ + switch( slot ) + { + case ProfileSlot_Player1: + case ProfileSlot_Player2: + return m_sProfileDir[slot]; + case ProfileSlot_Machine: + return MACHINE_PROFILE_DIR; + default: + ASSERT(0); + } +} + +RString ProfileManager::GetProfileDirImportedFrom( ProfileSlot slot ) const +{ + switch( slot ) + { + case ProfileSlot_Player1: + case ProfileSlot_Player2: + return m_sProfileDirImportedFrom[slot]; + case ProfileSlot_Machine: + return RString(); + default: + ASSERT(0); + } +} + +const Profile* ProfileManager::GetProfile( ProfileSlot slot ) const +{ + switch( slot ) + { + case ProfileSlot_Player1: + case ProfileSlot_Player2: + return GetProfile( (PlayerNumber)slot ); + case ProfileSlot_Machine: + return m_pMachineProfile; + default: + ASSERT(0); + } +} + +// +// General +// +void ProfileManager::IncrementToastiesCount( PlayerNumber pn ) +{ + if( IsPersistentProfile(pn) ) + ++GetProfile(pn)->m_iNumToasties; + ++GetMachineProfile()->m_iNumToasties; +} + +void ProfileManager::AddStepTotals( PlayerNumber pn, int iNumTapsAndHolds, int iNumJumps, int iNumHolds, int iNumRolls, int iNumMines, int iNumHands, int iNumLifts, float fCaloriesBurned ) +{ + if( IsPersistentProfile(pn) ) + GetProfile(pn)->AddStepTotals( iNumTapsAndHolds, iNumJumps, iNumHolds, iNumRolls, iNumMines, iNumHands, iNumLifts, fCaloriesBurned ); + GetMachineProfile()->AddStepTotals( iNumTapsAndHolds, iNumJumps, iNumHolds, iNumRolls, iNumMines, iNumHands, iNumLifts, fCaloriesBurned ); +} + +// +// Song stats +// +int ProfileManager::GetSongNumTimesPlayed( const Song* pSong, ProfileSlot slot ) const +{ + return GetProfile(slot)->GetSongNumTimesPlayed( pSong ); +} + +void ProfileManager::AddStepsScore( const Song* pSong, const Steps* pSteps, PlayerNumber pn, const HighScore &hs_, int &iPersonalIndexOut, int &iMachineIndexOut ) +{ + HighScore hs = hs_; + hs.SetPercentDP( max(0, hs.GetPercentDP()) ); // bump up negative scores + + iPersonalIndexOut = -1; + iMachineIndexOut = -1; + + // In event mode, set the score's name immediately to the Profile's last + // used name. If no profile last used name exists, use "EVNT". + if( GAMESTATE->IsEventMode() ) + { + Profile* pProfile = GetProfile(pn); + if( pProfile && !pProfile->m_sLastUsedHighScoreName.empty() ) + hs.SetName( pProfile->m_sLastUsedHighScoreName ); + else + hs.SetName( "EVNT" ); + } + else + { + hs.SetName( RANKING_TO_FILL_IN_MARKER[pn] ); + } + + // + // save high score + // + if( IsPersistentProfile(pn) ) + GetProfile(pn)->AddStepsHighScore( pSong, pSteps, hs, iPersonalIndexOut ); + + // don't save machine scores for a failed song + if( hs.GetPercentDP() >= PREFSMAN->m_fMinPercentageForMachineSongHighScore && + hs.GetGrade() != Grade_Failed ) + { + // don't leave machine high scores for edits loaded from the player's card + if( !pSteps->IsAPlayerEdit() ) + GetMachineProfile()->AddStepsHighScore( pSong, pSteps, hs, iMachineIndexOut ); + } + + /* + // save recent score + if( IsPersistentProfile(pn) ) + GetProfile(pn)->SaveStepsRecentScore( pSong, pSteps, hs ); + GetMachineProfile()->SaveStepsRecentScore( pSong, pSteps, hs ); + */ +} + +void ProfileManager::IncrementStepsPlayCount( const Song* pSong, const Steps* pSteps, PlayerNumber pn ) +{ + if( IsPersistentProfile(pn) ) + GetProfile(pn)->IncrementStepsPlayCount( pSong, pSteps ); + GetMachineProfile()->IncrementStepsPlayCount( pSong, pSteps ); +} + +// Course stats +void ProfileManager::AddCourseScore( const Course* pCourse, const Trail* pTrail, PlayerNumber pn, const HighScore &hs_, int &iPersonalIndexOut, int &iMachineIndexOut ) +{ + HighScore hs = hs_; + hs.SetPercentDP(max( 0, hs.GetPercentDP()) ); // bump up negative scores + + iPersonalIndexOut = -1; + iMachineIndexOut = -1; + + // In event mode, set the score's name immediately to the Profile's last + // used name. If no profile last used name exists, use "EVNT". + if( GAMESTATE->IsEventMode() ) + { + Profile* pProfile = GetProfile(pn); + if( pProfile && !pProfile->m_sLastUsedHighScoreName.empty() ) + hs.SetName( pProfile->m_sLastUsedHighScoreName ); + else + hs.SetName( "EVNT" ); + } + else + { + hs.SetName( RANKING_TO_FILL_IN_MARKER[pn] ); + } + + // save high score + if( IsPersistentProfile(pn) ) + GetProfile(pn)->AddCourseHighScore( pCourse, pTrail, hs, iPersonalIndexOut ); + if( hs.GetPercentDP() >= PREFSMAN->m_fMinPercentageForMachineCourseHighScore ) + GetMachineProfile()->AddCourseHighScore( pCourse, pTrail, hs, iMachineIndexOut ); + + /* + // save recent score + if( IsPersistentProfile(pn) ) + GetProfile(pn)->SaveCourseRecentScore( pCourse, pTrail, hs ); + GetMachineProfile()->SaveCourseRecentScore( pCourse, pTrail, hs ); + */ +} + +void ProfileManager::IncrementCoursePlayCount( const Course* pCourse, const Trail* pTrail, PlayerNumber pn ) +{ + if( IsPersistentProfile(pn) ) + GetProfile(pn)->IncrementCoursePlayCount( pCourse, pTrail ); + GetMachineProfile()->IncrementCoursePlayCount( pCourse, pTrail ); +} + +// Category stats +void ProfileManager::AddCategoryScore( StepsType st, RankingCategory rc, PlayerNumber pn, const HighScore &hs_, int &iPersonalIndexOut, int &iMachineIndexOut ) +{ + HighScore hs = hs_; + hs.SetName( RANKING_TO_FILL_IN_MARKER[pn] ); + if( IsPersistentProfile(pn) ) + GetProfile(pn)->AddCategoryHighScore( st, rc, hs, iPersonalIndexOut ); + if( hs.GetPercentDP() > PREFSMAN->m_fMinPercentageForMachineSongHighScore ) + GetMachineProfile()->AddCategoryHighScore( st, rc, hs, iMachineIndexOut ); +} + +void ProfileManager::IncrementCategoryPlayCount( StepsType st, RankingCategory rc, PlayerNumber pn ) +{ + if( IsPersistentProfile(pn) ) + GetProfile(pn)->IncrementCategoryPlayCount( st, rc ); + GetMachineProfile()->IncrementCategoryPlayCount( st, rc ); +} + +bool ProfileManager::IsPersistentProfile( ProfileSlot slot ) const +{ + switch( slot ) + { + case ProfileSlot_Player1: + case ProfileSlot_Player2: + return GAMESTATE->IsHumanPlayer((PlayerNumber)slot) && !m_sProfileDir[slot].empty(); + case ProfileSlot_Machine: + return true; + default: + ASSERT(0); + return false; + } +} + +void ProfileManager::GetLocalProfileIDs( vector &vsProfileIDsOut ) const +{ + vsProfileIDsOut.clear(); + FOREACH_CONST( DirAndProfile, g_vLocalProfile, i) + { + RString sID = LocalProfileDirToID( i->sDir ); + vsProfileIDsOut.push_back( sID ); + } +} + +void ProfileManager::GetLocalProfileDisplayNames( vector &vsProfileDisplayNamesOut ) const +{ + vsProfileDisplayNamesOut.clear(); + FOREACH_CONST( DirAndProfile, g_vLocalProfile, i) + vsProfileDisplayNamesOut.push_back( i->profile.m_sDisplayName ); +} + +int ProfileManager::GetLocalProfileIndexFromID( RString sProfileID ) const +{ + RString sDir = LocalProfileIDToDir( sProfileID ); + FOREACH_CONST( DirAndProfile, g_vLocalProfile, i ) + { + if( i->sDir == sDir ) + return i - g_vLocalProfile.begin(); + } + return -1; +} + +RString ProfileManager::GetLocalProfileIDFromIndex( int iIndex ) +{ + RString sID = LocalProfileDirToID( g_vLocalProfile[iIndex].sDir ); + return sID; +} + +Profile *ProfileManager::GetLocalProfileFromIndex( int iIndex ) +{ + return &g_vLocalProfile[iIndex].profile; +} + +int ProfileManager::GetNumLocalProfiles() const +{ + return g_vLocalProfile.size(); +} + +// lua start +#include "LuaBinding.h" + +/** @brief Allow Lua to have access to the ProfileManager. */ +class LunaProfileManager: public Luna +{ +public: + static int IsPersistentProfile( T* p, lua_State *L ) { lua_pushboolean(L, p->IsPersistentProfile(Enum::Check(L, 1)) ); return 1; } + static int GetProfile( T* p, lua_State *L ) { PlayerNumber pn = Enum::Check(L, 1); Profile* pP = p->GetProfile(pn); ASSERT(pP); pP->PushSelf(L); return 1; } + static int GetMachineProfile( T* p, lua_State *L ) { p->GetMachineProfile()->PushSelf(L); return 1; } + static int SaveMachineProfile( T* p, lua_State *L ) { p->SaveMachineProfile(); return 0; } + static int GetLocalProfile( T* p, lua_State *L ) + { + Profile *pProfile = p->GetLocalProfile(SArg(1)); + if( pProfile ) + pProfile->PushSelf(L); + else + lua_pushnil(L); + return 1; + } + static int GetLocalProfileFromIndex( T* p, lua_State *L ) { Profile *pProfile = p->GetLocalProfileFromIndex(IArg(1)); ASSERT(pProfile); pProfile->PushSelf(L); return 1; } + static int GetLocalProfileIDFromIndex( T* p, lua_State *L ) { lua_pushstring(L, p->GetLocalProfileIDFromIndex(IArg(1)) ); return 1; } + static int GetLocalProfileIndexFromID( T* p, lua_State *L ) { lua_pushnumber(L, p->GetLocalProfileIndexFromID(SArg(1)) ); return 1; } + static int GetNumLocalProfiles( T* p, lua_State *L ) { lua_pushnumber(L, p->GetNumLocalProfiles() ); return 1; } + static int GetProfileDir( T* p, lua_State *L ) { lua_pushstring(L, p->GetProfileDir(Enum::Check(L, 1)) ); return 1; } + static int IsSongNew( T* p, lua_State *L ) { lua_pushboolean(L, p->IsSongNew(Luna::check(L,1)) ); return 1; } + static int ProfileWasLoadedFromMemoryCard( T* p, lua_State *L ) { lua_pushboolean(L, p->ProfileWasLoadedFromMemoryCard(Enum::Check(L, 1)) ); return 1; } + static int LastLoadWasTamperedOrCorrupt( T* p, lua_State *L ) { lua_pushboolean(L, p->LastLoadWasTamperedOrCorrupt(Enum::Check(L, 1)) ); return 1; } + static int GetPlayerName( T* p, lua_State *L ) { PlayerNumber pn = Enum::Check(L, 1); lua_pushstring(L, p->GetPlayerName(pn)); return 1; } + + LunaProfileManager() + { + ADD_METHOD( IsPersistentProfile ); + ADD_METHOD( GetProfile ); + ADD_METHOD( GetMachineProfile ); + ADD_METHOD( SaveMachineProfile ); + ADD_METHOD( GetLocalProfile ); + ADD_METHOD( GetLocalProfileFromIndex ); + ADD_METHOD( GetLocalProfileIDFromIndex ); + ADD_METHOD( GetLocalProfileIndexFromID ); + ADD_METHOD( GetNumLocalProfiles ); + ADD_METHOD( GetProfileDir ); + ADD_METHOD( IsSongNew ); + ADD_METHOD( ProfileWasLoadedFromMemoryCard ); + ADD_METHOD( LastLoadWasTamperedOrCorrupt ); + ADD_METHOD( GetPlayerName ); + } +}; + +LUA_REGISTER_CLASS( ProfileManager ) +// lua end + +/* + * (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. + */ From 4ef48a2bcf8a9d21d9856b0b22c7c900bf8771a4 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 24 Jun 2012 09:39:09 -0400 Subject: [PATCH 3/7] Restore...one file's line endings? ...trying to clean this up is harder than I thought. --- BackgroundEffects/File1FlashOverlay.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/BackgroundEffects/File1FlashOverlay.lua b/BackgroundEffects/File1FlashOverlay.lua index ea88ca18eb..bf059a137d 100644 --- a/BackgroundEffects/File1FlashOverlay.lua +++ b/BackgroundEffects/File1FlashOverlay.lua @@ -9,5 +9,4 @@ t[#t+1] = LoadActor(Var "File1") .. { LoseFocusCommand=cmd(pause); }; - return t; From a517e1dce3ddd68000a69190b19c4722a328ec6f Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Tue, 26 Jun 2012 11:32:41 -0500 Subject: [PATCH 4/7] Move stage display up if Center1Player; fixes issue 777 --- Themes/default/metrics.ini | 4384 ++++++++++++++++++------------------ 1 file changed, 2192 insertions(+), 2192 deletions(-) diff --git a/Themes/default/metrics.ini b/Themes/default/metrics.ini index e8b1e5b107..6885f2ff71 100644 --- a/Themes/default/metrics.ini +++ b/Themes/default/metrics.ini @@ -1,2192 +1,2192 @@ -# 01 # -[Global] -FallbackTheme=_fallback - -[Common] -FirstAttractScreen="" -AutoSetStyle=ThemePrefs.Get("AutoSetStyle") - -# 02 # -[LightsManager] - -[ProfileManager] - -[SongManager] -SongGroupColor1=BoostColor(Color("Orange"),1.2) -SongGroupColor2=BoostColor(Color("Orange"),1.25) -SongGroupColor3=BoostColor(Color("Orange"),1.25) -SongGroupColor4=BoostColor(Color("Orange"),1.25) -SongGroupColor5=BoostColor(Color("Orange"),1.25) -SongGroupColor6=BoostColor(Color("Orange"),1.25) -SongGroupColor7=BoostColor(Color("Orange"),1.25) -SongGroupColor8=BoostColor(Color("Orange"),1.25) -SongGroupColor9=BoostColor(Color("Orange"),1.25) -SongGroupColor10=BoostColor(Color("Orange"),1.25) - -CourseGroupColor1=color("1,1,1,1") - -[UnlockManager] - -# 03 # -[ArrowEffects] - -[Background] - -[Banner] - -[BitmapText] -NumRainbowColors=1 -RainbowColor1=Color("Black"); - -[BPMDisplay] -SetNoBpmCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,Color("White");diffusebottomedge,BoostColor(Color("White"),0.875); -SetNormalCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,Color("White");diffusebottomedge,BoostColor(Color("White"),0.875); -SetChangeCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,Color("White");diffusebottomedge,BoostColor(Color("White"),0.875); -SetRandomCommand=stoptweening;maxwidth,128;linear,0.2;diffuse,color("Green");textglowmode,'TextGlowMode_Inner';glowshift;effectcolor1,color("1,1,1,0.05");effectcolor2,color("1,1,1,0.325"); -SetExtraCommand=stoptweening;maxwidth,128;linear,0.2;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.5);diffuseshift;effectcolor1,color("1,1,1,1");effectcolor2,color("0.475,0.475,0.475,1"); -RandomCycleSpeed=0.2 -- smaller numbers mean the bpm cycles faster - -[CodeDetector] -# For Future Reference: -# @ = Holding -# - = In Conjuction With / Then -# ~ = Released -# + = At The Same Time - -[CodeDetectorOnline] - -[CombinedLifeMeterTug] -# We don't use it. -MeterWidth=512-8 -MeterHeight=40 - -[Combo] -ShowComboAt=2 - -LabelMinZoom=0.875*1 -LabelMaxZoom=0.875*1 - -PulseCommand=%function(self,param) self:finishtweening(); self:diffusealpha(1); self:zoom(1.05*param.Zoom); self:linear(0.05); self:zoom(param.Zoom); self:sleep(2); self:linear(0.5); self:diffusealpha(0); end; -PulseLabelCommand=%function(self,param) self:finishtweening(); self:diffusealpha(1); self:zoom(1.0125*param.LabelZoom); self:linear(0.05); self:zoom(param.LabelZoom); self:sleep(2); self:linear(0.5); self:diffusealpha(0); end; -NumberOnCommand=y,240-216-1.5;shadowlength,1;horizalign,right;vertalign,bottom;skewx,-0.125; - -ComboLabelOnCommand=x,0;y,23;shadowlength,1;zoom,0.75;align,0,1 -MissLabelOnCommand=x,0;y,23;shadowlength,1;zoom,0.75;align,0,1 - -[HoldJudgment] -HoldJudgmentLetGoCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1;linear,0.8;zoom,0.75;sleep,0.5;linear,0.1;diffusealpha,0 -HoldJudgmentHeldCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1;linear,0.3;zoom,0.75;sleep,0.5;linear,0.1;diffusealpha,0 - -[HelpDisplay] -TipShowTime=7 - -[Judgment] -JudgmentW1Command=finishtweening;shadowlength,0;y,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;glowblink;effectperiod,0.05;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.25") -JudgmentW2Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 -JudgmentW3Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.2;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0; -JudgmentW4Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.1;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0; -JudgmentW5Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.0;vibrate;effectmagnitude,1,2,2;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 -JudgmentMissCommand=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1;y,-20;linear,0.8;y,20;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 -# Late/Early -OffsetOnCommand= -OffsetLateCommand= -OffsetEarlyCommand= - -[Protiming] -ProtimingOnCommand=shadowlength,1;horizalign,right;x,30;strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; -AverageOnCommand=shadowlength,1;horizalign,left;x,32;y,8;zoom,0.75;diffuse,ColorLightTone( Color("Green") );strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; -TextOnCommand=shadowlength,1;horizalign,left;x,32;y,-6;zoom,0.5;strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; -# -ProtimingW1Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W1"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -ProtimingW2Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W2"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -ProtimingW3Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W3"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -ProtimingW4Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W4"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -ProtimingW5Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W5"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -ProtimingMissCommand=finishtweening;diffusealpha,1;zoom,1.15;glow,GameColor.Judgment["JudgmentLine_Miss"];linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_Miss"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -# -AveragePulseCommand=finishtweening;diffusealpha,1;zoom,0.75*1.025;decelerate,0.05;zoom,0.75;sleep,2;linear,0.5;diffusealpha,0; -TextPulseCommand=finishtweening;diffusealpha,1;zoom,0.5*1.025;decelerate,0.05;zoom,0.5;sleep,2;linear,0.5;diffusealpha,0; - -[Course] - -[CustomDifficulty] - -[DifficultyList] -ItemsSpacingY=24 -NumShownItems=8 - -[FadingBanner] -BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;accelerate,0.05;glow,Color.Alpha( Color("White"), 0.45 );decelerate,0.175;diffusealpha,0;glow,Color("Invisible"); - -[Gameplay] - -[GameState] - -[GrooveRadar] - -[GroupList] - -[HighScore] - -[Inventory] - -[LifeMeterBar] -OverOnCommand=diffuse,Color("Orange");diffuserightedge,BoostColor(Color("Orange"),1.5) - -[LifeMeterBattery] -BatteryBlinkTime=0.5 -# -BatteryP1X=0 -BatteryP1Y=0 -BatteryP2X=0 -BatteryP2Y=0 -# -NumLivesP2OnCommand=zoomx,-1 -NumLivesP2LoseLifeCommand=zoomx,-1.5;zoomy,1.5;linear,0.15;zoomx,-1;zoomy,1 - -[LifeMeterBattery Percent] -# still asking for this even though it's in fallback... -aj -Format= -# -PercentP2OnCommand=zoom,0.7;zoomx,-0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2) -DancePointsP2OnCommand=zoom,0.7;zoomx,-0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2) - -[LifeMeterTime] - -[LyricDisplay] - -[NotesWriterSM] - -[OptionRow] -TitleOnCommand=shadowlength,0;skewx,-0.1;uppercase,true;wrapwidthpixels,136;maxheight,42;zoom,0.6 -TitleGainFocusCommand=stoptweening;zoom,0.6375*1.125;bounceend,0.2;diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);strokecolor,Color("Black");zoom,0.6375; -# TitleGainFocusCommand=stoptweening;zoom,0.6375*1.25;bounceend,0.2;diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);strokecolor,Color("Black");zoom,0.6375;thump;effectmagnitude,1,1.05,1;effectclock,'beat' -TitleLoseFocusCommand=diffuse,Color("White");strokecolor,Color("Black");stopeffect; - -[OptionRowService] - -[OptionRowExit] -FrameOnCommand=visible,true;diffuse,Color("Red"); -FrameX=SCREEN_CENTER_X - -ItemsMinBaseZoom=1 -ItemOnCommand=shadowlength,1;zoom,0.8;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.75);shadowcolor,BoostColor(Color("Red"),0.35) -ItemGainFocusCommand=stoptweening;linear,0.2;zoom,1;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.75) -ItemLoseFocusCommand=stoptweening;decelerate,0.5;zoom,0.8; -ColorSelected=Color("Red") -ColorNotSelected=Color("Red") -ColorDisabled=Color("Red") - -ItemsLongRowP1X=SCREEN_CENTER_X-1024 -ItemsLongRowP2X=SCREEN_CENTER_X+1024 -ItemsLongRowSharedX=SCREEN_CENTER_X - -[OptionsCursor] - -[OptionsCursorP1] -LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_1) -MiddleOnCommand=;diffuse,PlayerColor(PLAYER_1) -RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_1) - -[OptionsCursorP2] -LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_2) -MiddleOnCommand=;diffuse,PlayerColor(PLAYER_2) -RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_2) - -[OptionsUnderline] - -[OptionsUnderlineP1] -LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_1) -MiddleOnCommand=;diffuse,PlayerColor(PLAYER_1) -RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_1) - -[OptionsUnderlineP2] -LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_2) -MiddleOnCommand=;diffuse,PlayerColor(PLAYER_2) -RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_2) - -[MenuTimer] -Text1OnCommand=stopeffect;stoptweening;halign,1;shadowlength,0;strokecolor,Color("Outline") -Text1FormatFunction=function(fSeconds) fSeconds=math.floor(fSeconds); return string.format("%02.0f",fSeconds) end - -Text2OnCommand=x,2;y,-3;stopeffect;stoptweening;halign,0;shadowlength,0;strokecolor,Color("Outline");zoom,0.65 -Text2FormatFunction=function(fSeconds) local remainder=fSeconds-math.floor(fSeconds); local digit=math.floor(remainder*100); return string.format("%02.0f",digit) end - -Warning10Command=diffuseshift;effectperiod,1;effectcolor2,Color("Red");effectcolor1,color("0.5,0,0,1"); - -[MenuTimerNoSound] - -[MusicWheel] -SwitchSeconds=0.08 -LockedInitialVelocity=7 - -; linear wheel example: -; ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ -; self:y(offsetFromCenter*38); \ -; end; -; 3D wheel example: -; ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ -; local curve = math.pi; \ -; local WHEEL_3D_RADIUS = 245; \ -; local rotationx_radians = scale(offsetFromCenter,-numItems/2,numItems/2,-curve/2,curve/2); \ -; self:x( 0 - math.cos(offsetFromCenter/math.pi) ); \ -; self:y( WHEEL_3D_RADIUS * math.sin(rotationx_radians) ); \ -; self:z( -100 + WHEEL_3D_RADIUS * math.cos(rotationx_radians) ); \ -; self:rotationx( rotationx_radians * 180/math.pi ); --[[ to degrees end]] \ -; end; -ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:x( (1-math.cos(offsetFromCenter/math.pi))*44 ); self:y( offsetFromCenter*46 ); end -MusicWheelSortOnCommand=fov,90; -MusicWheelSortOffCommand=fov,90; -MusicWheelItemSortOnCommand=zoomy,0;bounceend,0.15;zoomy,1 -MusicWheelItemSortOffCommand=linear,0.175;zoomy,0 -HighlightOnCommand=diffuseshift;effecttiming,(1/8),0,(7/8),0;effectcolor2,Color("White");effectcolor1,color("1,1,1,0.5");effectclock,'beatnooffset' -HighlightSortOnCommand=stoptweening;decelerate,0.125;glow,Color("Stealth");zoom,1 -HighlightSortOffCommand=stoptweening;accelerate,0.125;glow,Color("Orange");zoom,1.05 -WheelItemOnDelayOffset=0.04 -WheelItemOffDelayOffset=0.04 - -SectionColor1=Color("Orange") -# -SongRealExtraColor=Color("Red") -SortMenuColor=Color("Orange") - -# - -UseEasyMarkerFlag=true - - -[CourseWheel] - -[OniWheel] -Fallback="CourseWheel" -ModeMenuChoiceNames="Oni,Survival" - -[OnlineMusicWheel] - -[MusicWheelItem] -WheelNotifyIconX=-128-16+0.5 -WheelNotifyIconOnCommand=shadowlength,2; -# -SongNameX=-120 -# -CourseX=-120 -CourseOnCommand=maxwidth,208;horizalign,left -# -SectionExpandedX=-38 -SectionExpandedY=-2 -SectionExpandedOnCommand=maxwidth,194;shadowlength,1;shadowcolor,color("0.1,0.1,0.1,0.25") -# -SectionCollapsedX=-38 -SectionCollapsedY=-2 -SectionCollapsedOnCommand=maxwidth,194;shadowlength,1;shadowcolor,color("0.1,0.1,0.1,0.2") -# -SectionCountX=120 -SectionCountOnCommand=zoom,0.75;strokecolor,Color("Outline") -# -RouletteOnCommand=maxwidth,400;shadowlength,1;basezoom,0.75;rainbowscroll,true;pulse;effectmagnitude,1,1.125,1;effectperiod,3 -# -SortX=-132 -SortY=-2 -SortOnCommand=maxwidth,256;horizalign,left;shadowlength,1;shadowcolor,color("0,0,0,0.325") -# -ModeX=-132 -ModeY=-2 -ModeOnCommand=maxwidth,256;horizalign,left;strokecolor,Color("Outline") -# -GradeP1X=106+16 -GradeP1Y=-8 -GradeP2X=110+16 -GradeP2Y=8 - -[NoteField] -ShowBoard=GAMESTATE:GetCurrentGame():GetName() == "kb7" - -[PlayerStageStats] - -[Player] -# In The Groove -# ReceptorArrowsYStandard=-125 -# ReceptorArrowsYReverse=145 -# StepMania Alpha 4 -# ~ ReceptorArrowsYStandard=-144 -# ~ ReceptorArrowsYReverse=144 -# SM5's default uses a UserPreference for this. -ReceptorArrowsYStandard=GetTapPosition('Standard') -ReceptorArrowsYReverse=GetTapPosition('Reverse') -ComboUnderField=ComboUnderField() -RollBodyIncrementsCombo=ThemePrefs.Get("ComboOnRolls") - -[PlayerOptions] - -[PlayerShared] - -[Profile] - -[RadarValues] - -[RollingNumbers] - -[RollingNumbersEvaluation] - -[RollingNumbersJudgment] - -[ScoreDisplayNormal] -TextOnCommand=shadowlength,1;diffusebottomedge,BoostColor(Color('White'),0.75) - -[ScoreDisplayOni] -TextX= -TextY= -TextOnCommand=shadowlength,1;diffusebottomedge,BoostColor(Color('White'),0.75) -TextOffCommand= - -[ScoreDisplayOni Numbers] -TextX= -TextY= -TextOnCommand=shadowlength,1;diffusebottomedge,BoostColor(Color('White'),0.75) -TextOffCommand= - -[ScoreDisplayLifeTime] -FrameOnCommand=visible,false;spin -# -TimeRemainingY=80 -TimeRemainingOnCommand=zoom,1;shadowlength,1; -# -DeltaSecondsOnCommand=y,80;spin; -DeltaSecondsGainLifeCommand=zoom,0.5; - -[ScoreDisplayPercentage Percent] -PercentP1OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_1);diffusetopedge,BoostColor(PlayerColor(PLAYER_1),1.5) -PercentP2OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_2);diffusetopedge,BoostColor(PlayerColor(PLAYER_2),1.5) - -[ScoreDisplayRave] -MeterP1OnCommand=draworder,-1;texcoordvelocity,1,0 -MeterP2OnCommand=draworder,-1;zoomx,-1;texcoordvelocity,1,0 -LevelP1OnCommand=draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_1) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );x,-144;skewx,-0.125; -LevelP2OnCommand=draworder,105;draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_2) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );x,144;skewx,-0.125; - -[ScoreKeeperRave] - -[ScreenEvaluation Percent] -# TODO: Better name? -PercentP1OnCommand=horizalign,right;shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) ); -PercentP2OnCommand=horizalign,right;shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) ); -PercentRemainderP1OnCommand=horizalign,left;shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) ); -PercentRemainderP2OnCommand=horizalign,left;shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) ); -DancePointsP1X=0 -DancePointsP1Y=0 -DancePointsP1OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) ); -DancePointsP1OffCommand= -DancePointsP2X=0 -DancePointsP2Y=0 -DancePointsP2OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) ); -DancePointsP2OffCommand= -DancePointsDigits=2 -ApplyScoreDisplayOptions=true -PercentDecimalPlaces=2 -PercentTotalSize=5 - -[SoundEffectControl] - -[SoundEffectControl_Off] - -[SoundEffectControl_Speed] - -[SoundEffectControl_Pitch] - -[StepsDisplayListRow] -# TODO: Make this use DifficultyList? -CapitalizeDifficultyNames=false -NumShownItems=5 -ItemsSpacingY=24 -MoveCommand=decelerate,0.3 - -FrameX= - -FrameSetCommand=%function(self,param) \ - if param.CustomDifficulty then \ - self:diffuse(ColorMidTone( CustomDifficultyToColor(param.CustomDifficulty) )); \ - else \ - self:diffuse(color('1,1,1,1')); \ - end; \ -end; -# -NumTicks=10 -MaxTicks=10 -# -ShowMeter=true -MeterX=56 -MeterOnCommand=shadowlength,1;zoom,0.65;textglowmode,'TextGlowMode_Inner'; -MeterSetCommand=%function(self,param) \ - if param.CustomDifficulty then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ - end; \ - if param.Meter then \ - if param.Meter >= 10 then \ - self:textglowmode('TextGlowMode_Inner'); \ - self:glowshift(); \ - else \ - self:stopeffect(); \ - end; \ - end; \ -end; -# -ShowDescription=true -DescriptionX=ThemePrefs.Get("AutoSetStyle") and (-64-8+20) or (-64-8) -DescriptionOnCommand=shadowlength,1;horizalign,left;zoom,0.65;maxwidth,128+8-20;uppercase,true; -DescriptionSetCommand=%function(self,param) \ - if self:GetText() == "" then \ - self:settext("Edit"); \ - end; \ - if param.CustomDifficulty then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ - end; \ -end; -# -ShowAutogen=true -AutogenX=0 -AutogenY=0 -#AutogenOnCommand=diffuseshift;effectcolor1,Color.Alpha( Color("Green") , 0.5 );effectcolor2,ColorLightTone( Color("Green") ); -AutogenOnCommand=blend,Blend.Add;diffuseshift;effectcolor1,color("#FFCC00FF");effectcolor2,color("#FFCC0088"); -# -ShowStepsType=ThemePrefs.Get("AutoSetStyle") -StepsTypeX=-64-8 -StepsTypeY=0 -StepsTypeOnCommand= -StepsTypeSetCommand= - -[SongMeterDisplay] -StreamWidth=380 - -ContainerX= -ContainerY= -ContainerOnCommand= -ContainerOffCommand= - -FrameX=0 -FrameY=0 -FrameOnCommand=sleep,2;linear,0.25;diffuse,Color("Orange");glow,1,1,1,0.5;decelerate,0.6;glow,1,1,1,0 -FrameOffCommand= - -StreamX=0 -StreamY=0 -StreamOnCommand=0 -StreamOffCommand=0 - -TipX=0 -TipY=0 -TipOnCommand= -TipOffCommand= -[SongMeterDisplayP1] -Fallback="SongMeterDisplay" -FrameOnCommand=sleep,2;linear,0.25;diffuse,PlayerColor(PLAYER_1);glow,1,1,1,0.5;decelerate,0.6;glow,1,1,1,0 -[SongMeterDisplayP2] -Fallback="SongMeterDisplay" -FrameOnCommand=sleep,2;linear,0.25;diffuse,PlayerColor(PLAYER_2);glow,1,1,1,0.5;decelerate,0.6;glow,1,1,1,0 - -[StepsDisplayEvaluation] -Fallback="StepsDisplay" - -[StreamDisplay] -; a simple bar life meter: -; PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) local native_width=32; local zoomed_width=12; self:zoomx(zoomed_width/native_width); self:x((itemIndex-(numItems/2))*zoomed_width); end -# PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ - # local fItemWidth = ( 256 / numItems ) \ - # self:x( ((itemIndex-(numItems/2))*fItemWidth) + ( numItems / 2 ) ); \ - # self:zoomtowidth(fItemWidth); \ - # self:diffuseramp(); \ - # self:effectperiod(4); \ - # self:effectoffset((itemIndex-1)/numItems * -1); \ - # self:effectcolor2(color("1,1,1,1")); \ - # self:effectcolor1(color("0.5,0.5,0.5,1")); \ - # self:effectclock('beatnooffset'); \ -# end; -PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ - local fItemWidth = ( 256 / numItems ) \ - self:x( ((itemIndex-(numItems/2))*fItemWidth) + ( numItems / 2 ) ); \ - self:zoomtowidth(fItemWidth); \ -end; -# PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ - # local fItemWidth = ( 256 / numItems ) \ - # self:x( ((itemIndex-(numItems/2))*fItemWidth) + ( numItems / 2 ) ); \ - # self:zoomtowidth(fItemWidth); \ - # self:diffuseramp(); \ - # self:effecttiming(1,0.01875*itemIndex,1,1-(0.01875*itemIndex)); \ - # self:effectclock('beatnooffset'); \ -# end; -TextureCoordScaleX=256/16 -NumPills=16 - -[TextBanner] -TitleOnCommand=horizalign,left;shadowlength,1; -SubtitleOnCommand=horizalign,left;shadowlength,1; -ArtistOnCommand=horizalign,left;shadowlength,1;skewx,-0.2 -ArtistPrependString="" - -[WheelNotifyIcon] - -[Screen] - -[ScreenDebugOverlay] - -[ScreenSystemLayer] -ShowClock=true -CreditsP1OnCommand=horizalign,left;vertalign,bottom;zoom,0.675;shadowlength,1;diffusebottomedge,PlayerColor(PLAYER_1); -# -CreditsP2OnCommand=horizalign,right;vertalign,bottom;zoom,0.675;shadowlength,1;diffusebottomedge,PlayerColor(PLAYER_2); - -[ScreenConsoleOverlay] - -[ScreenInstallOverlay] - -[ScreenSyncOverlay] - -[ScreenStatsOverlay] - -[ScreenWithMenuElements] -WaitForChildrenBeforeTweening=true - -ScreenInDelay=0 -ScreenOutDelay=0 - -FOV=90 -ShowHeader=true -HeaderX=SCREEN_CENTER_X -HeaderY=SCREEN_TOP -HeaderOnCommand=draworder,5; -HeaderOffCommand= - -ShowFooter=true -FooterX=SCREEN_CENTER_X -FooterY=SCREEN_BOTTOM -FooterOnCommand=draworder,5;vertalign,bottom;zoomtowidth,SCREEN_WIDTH+1;diffuse,color("#ffd400"); -FooterOffCommand= - -ShowHelp=true -HelpX=SCREEN_CENTER_X -HelpY=SCREEN_BOTTOM-16 -HelpOnCommand=SetSecsBetweenSwitches,4;zoom,0.675;maxwidth,480/0.675;shadowlength,1;strokecolor,Color("Black");draworder,105;zoomy,0;zoom,1*0.675;linear,0.175 -HelpOffCommand=linear,0.175;zoomy,0 - -AlternateHelpDisplayX=SCREEN_CENTER_X -AlternateHelpDisplayY=SCREEN_BOTTOM-16 -# AlternateHelpDisplayOnCommand=draworder,105; -AlternateHelpDisplayOnCommand=SetSecsBetweenSwitches,4;zoom,0.675;maxwidth,480/0.675;shadowlength,1;strokecolor,Color("Black");draworder,105;zoomy,0;linear,0.175;zoom,1*0.675;diffusealpha,0 -AlternateHelpDisplayOffCommand=linear,0.175;zoomy,0 - -TimerX=SCREEN_RIGHT-36-4 -TimerY=SCREEN_TOP+22 -TimerOnCommand=draworder,6;visible,PREFSMAN:GetPreference("MenuTimer"); -# TimerOnCommand=fov,90;vanishpoint,SCREEN_RIGHT-36-4,SCREEN_TOP+20;draworder,5;visible,PREFSMAN:GetPreference("MenuTimer");rotationy,90;decelerate,0.4;rotationy,0; -TimerOffCommand= -# TimerOffCommand=accelerate,0.4;rotationx,90; - -StageDisplayNumberOffset=1 - -# -StageDisplayUseShortString=false - -# This is useful -ArcadeOverlayX= -ArcadeOverlayY= -ArcadeOverlayOnCommand=draworder,100 -ArcadeOverlayOffCommand= -# -ArcadeOverlay.TextX=SCREEN_CENTER_X -ArcadeOverlay.TextY=SCREEN_BOTTOM-48 -ArcadeOverlay.TextOnCommand= -ArcadeOverlay.TextOffCommand= - -[ScreenWithMenuElementsBlank] -ShowHeader=false -ShowFooter=false - -[ScreenSelectMaster] - -[ScreenSelectMasterBlank] - -[ScreenTextEntry] -QuestionOnCommand=diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);wrapwidthpixels,600 -AnswerOnCommand=diffuse,Color("Blue");glowshift; - - -[ScreenInit] -PrepareScreens="ScreenTitleMenu,ScreenTitleJoin" -GroupedScreens="ScreenInit,ScreenTitleJoin,ScreenTitleMenu" -PersistScreens="ScreenInit,ScreenTitleJoin,ScreenTitleMenu" - -[ScreenTitleMenu] -ShowHeader=false -ShowFooter=false -# -WrapScroller=false -ScrollerTransform=function(self,offset,itemIndex,numItems) self:y((28)*(itemIndex-(numItems-1)/2)); end; -ScrollerSecondsPerItem=0 -ScrollerNumItemsToDraw=20 -ScrollerX=SCREEN_CENTER_X -ScrollerY=SCREEN_CENTER_Y+80 -ScrollerOnCommand=zoom,0;bounceend,0.35;zoom,1 -# -ShowLogo=true -LogoX=SCREEN_CENTER_X -LogoY=SCREEN_CENTER_Y-68 -LogoOnCommand= -LogoOffCommand= -# -ShowCurrentGametype=true -CurrentGametypeX=SCREEN_WIDTH*0.01 -CurrentGametypeY=SCREEN_HEIGHT*0.1575 -CurrentGametypeOnCommand=vertalign,bottom; -CurrentGametypeOffCommand=linear,0.5;cropleft,1 -# -ShowNumSongs=true -NumSongsX=SCREEN_WIDTH*0.99 -NumSongsY=SCREEN_HEIGHT*0.1575+5 -NumSongsOnCommand=vertalign,bottom;horizalign,right;zoom,0.5;playcommand,"Set" -NumSongsOffCommand= -# -# -ShowTimingDifficulty=true -TimingDifficultyX=SCREEN_LEFT+84 -TimingDifficultyY=SCREEN_TOP+22 -TimingDifficultyOnCommand= -TimingDifficultyOffCommand= -# -ShowLifeDifficulty=true -LifeDifficultyX=SCREEN_LEFT+84 -LifeDifficultyY=SCREEN_TOP+48 -LifeDifficultyOnCommand= -LifeDifficultyOffCommand= -# -ShowSystemDirection=false -SystemDirectionX=SCREEN_LEFT+40 -SystemDirectionY=SCREEN_TOP+24 -SystemDirectionOnCommand= -SystemDirectionOffCommand= -# -ShowVersionInfo=true -VersionInfoX=SCREEN_RIGHT-90 -VersionInfoY=SCREEN_BOTTOM-64 -VersionInfoOnCommand= -VersionInfoOffCommand= -# -ShowNetworkStatus=true -NetworkStatusX=SCREEN_LEFT+12 -NetworkStatusY=SCREEN_HEIGHT*0.85 -NetworkStatusOnCommand=halign,0; -NetworkStatusOffCommand=linear,0.5;cropright,1 -# -HelpY=SCREEN_BOTTOM-24 -# -ChoiceNames="GameStart,Options,Edit,Jukebox,Exit" -DefaultChoice="GameStart" - -[ScreenQuickSetupOverview] -IconStartX=SCREEN_CENTER_X-160 -IconStartY=SCREEN_BOTTOM-60 -IconSetX=SCREEN_CENTER_X-160 -IconSetY=SCREEN_BOTTOM-60 -IconBackX=SCREEN_CENTER_X+160 -IconBackY=SCREEN_BOTTOM-60 - -ExplanationX=SCREEN_CENTER_X -ExplanationY=SCREEN_BOTTOM-100 -ExplanationOnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_WIDTH/0.75; -ExplanationOffCommand= - - -[ScreenProfileLoad] -# -ShowHeader=true -ShowFooter=true -ShowHelp=true - -[ScreenSelectProfile] -WaitForChildrenBeforeTweening=true - -[ScreenSelectStyle] -UpdateOnMesage="" -# -FOV=90 -# -PerChoiceScrollElement=false -PerChoiceIconElement=false -# -Choice7Keys="name,7Keys;style,single7;screen,"..Branch.AfterSelectStyle() -Choice10Keys="name,10Keys;style,double5;screen,"..Branch.AfterSelectStyle() -Choice14Keys="name,14Keys;style,double7;screen,"..Branch.AfterSelectStyle() -ChoiceKB7="name,kb7;style,single;screen,"..Branch.AfterSelectStyle() -# -ShowScroller=false -ShowIcon=true -WrapScroller=false -UseIconMetrics=true -# -IconGainFocusCommand=stoptweening;bounceend,0.125;zoom,1; -IconLoseFocusCommand=stoptweening;decelerate,0.25;zoom,0.8; -# -IconChoiceSingleX=SCREEN_CENTER_X-160 -IconChoiceSingleY=SCREEN_CENTER_Y-96 -IconChoiceSingleOnCommand=zoom,0;bounceend,0.35;zoom,1 -IconChoiceSingleOffCommand=linear,0.1175;zoomx,0 -# -IconChoiceDoubleX=SCREEN_CENTER_X-160 -IconChoiceDoubleY=SCREEN_CENTER_Y -IconChoiceDoubleOnCommand=zoom,0;bounceend,0.35;zoom,1 -IconChoiceDoubleOffCommand=linear,0.1175;zoomx,0 -#### -IconChoiceSoloX=SCREEN_CENTER_X-160 -IconChoiceSoloY=SCREEN_CENTER_Y+96 -IconChoiceSoloOnCommand=zoom,0;bounceend,0.35;zoom,1 -IconChoiceSoloOffCommand=linear,0.1175;zoomx,0 -# -IconChoiceHalfDoubleX=SCREEN_CENTER_X-160 -IconChoiceHalfDoubleY=SCREEN_CENTER_Y+96 -IconChoiceHalfDoubleOnCommand=zoom,0;bounceend,0.35;zoom,1 -IconChoiceHalfDoubleOffCommand=linear,0.1175;zoomx,0 -#### -IconChoiceVersusX=SCREEN_CENTER_X+160 -IconChoiceVersusY=string.find(THEME:GetMetric("ScreenSelectStyle","ChoiceNames"),"Routine") and SCREEN_CENTER_Y-96 or SCREEN_CENTER_Y-48 -IconChoiceVersusOnCommand=zoom,0;bounceend,0.35;zoom,1 -IconChoiceVersusOffCommand=linear,0.1175;zoomx,0 -# -IconChoiceCoupleX=SCREEN_CENTER_X+160 -IconChoiceCoupleY=string.find(THEME:GetMetric("ScreenSelectStyle","ChoiceNames"),"Routine") and SCREEN_CENTER_Y or SCREEN_CENTER_Y+48 -IconChoiceCoupleOnCommand=zoom,0;bounceend,0.35;zoom,1 -IconChoiceCoupleOffCommand=linear,0.1175;zoomx,0 -# -IconChoiceRoutineX=SCREEN_CENTER_X+160 -IconChoiceRoutineY=SCREEN_CENTER_Y+96 -IconChoiceRoutineOnCommand=zoom,0;bounceend,0.35;zoom,1 -IconChoiceRoutineOffCommand=linear,0.1175;zoomx,0 -# -IconChoicekb7X=SCREEN_CENTER_X -IconChoicekb7Y=SCREEN_CENTER_Y -IconChoicekb7OnCommand=zoom,0;bounceend,0.35;zoom,1 -IconChoicekb7OffCommand=linear,0.1175;zoomx,0 -# -IconChoice5KeysX=SCREEN_CENTER_X-160 -IconChoice5KeysY=SCREEN_CENTER_Y-48 -IconChoice5KeysOnCommand=zoom,0;bounceend,0.35;zoom,1 -IconChoice5KeysOffCommand=linear,0.1175;zoomx,0 -# -IconChoice7KeysX=SCREEN_CENTER_X-160 -IconChoice7KeysY=SCREEN_CENTER_Y+48 -IconChoice7KeysOnCommand=zoom,0;bounceend,0.35;zoom,1 -IconChoice7KeysOffCommand=linear,0.1175;zoomx,0 -# -IconChoice10KeysX=SCREEN_CENTER_X+160 -IconChoice10KeysY=SCREEN_CENTER_Y-48 -IconChoice10KeysOnCommand=zoom,0;bounceend,0.35;zoom,1 -IconChoice10KeysOffCommand=linear,0.1175;zoomx,0 -# -IconChoice14KeysX=SCREEN_CENTER_X+160 -IconChoice14KeysY=SCREEN_CENTER_Y+48 -IconChoice14KeysOnCommand=zoom,0;bounceend,0.35;zoom,1 -IconChoice14KeysOffCommand=linear,0.1175;zoomx,0 - -[ScreenSelectPlayMode] -PersistScreens="ScreenSelectPlayMode,ScreenSelectMusic" -# -ScreenOutDelay=3 -# -DefaultChoice="Easy" -# ChoiceNames="Normal,Extended" -# -PerChoiceIconElement=false -# -ShowScroller=true -WrapScroller=true -ScrollerX=SCREEN_CENTER_X -ScrollerY=SCREEN_CENTER_Y-60 -ScrollerOnCommand=SetFastCatchup,true; -ScrollerOffCommand=decelerate,0.8;y,SCREEN_CENTER_Y;sleep,2;linear,0.1;zoomy,0 -# -ShowBackgroundFrame=true -BackgroundFrameX=SCREEN_CENTER_X -BackgroundFrameY=SCREEN_CENTER_Y-60 -BackgroundFrameOnCommand=diffuse,Color("Black");diffusealpha,0.7 -BackgroundFrameOffCommand=decelerate,0.8;y,SCREEN_CENTER_Y;sleep,2;linear,0.1;zoomy,0 -# -ShowIcon=true -UseIconMetrics=true -# -IconGainFocusCommand=stoptweening;glowshift;decelerate,0.125;zoom,1; -IconLoseFocusCommand=stoptweening;stopeffect;decelerate,0.125;zoom,0.6; -# IconMinZoom=0.5 -# IconBaseZoom=0.6 -# -IconChoiceEasyX=SCREEN_CENTER_X-(240*(5/6)) -IconChoiceEasyY=SCREEN_BOTTOM-88-64 -IconChoiceEasyOnCommand=zoom,0;bounceend,0.35;zoom,0.8 -IconChoiceEasyOffCommand=linear,0.1175;zoomx,0 -# -IconChoiceNormalX=SCREEN_CENTER_X-80 -IconChoiceNormalY=SCREEN_BOTTOM-88-64 -IconChoiceNormalOnCommand=zoom,0;bounceend,0.35;zoom,0.8 -IconChoiceNormalOffCommand=linear,0.1175;zoomx,0 -# -IconChoiceHardX=SCREEN_CENTER_X+(80*(5/6)) -IconChoiceHardY=SCREEN_BOTTOM-88-64 -IconChoiceHardOnCommand=zoom,0;bounceend,0.35;zoom,0.8 -IconChoiceHardOffCommand=linear,0.1175;zoomx,0 -# -IconChoiceRaveX=SCREEN_CENTER_X+80 -IconChoiceRaveY=SCREEN_BOTTOM-88-64 -IconChoiceRaveOnCommand=zoom,0;bounceend,0.35;zoom,0.8 -IconChoiceRaveOffCommand=linear,0.1175;zoomx,0 -# -IconChoiceNonstopX=SCREEN_CENTER_X-160 -IconChoiceNonstopY=SCREEN_BOTTOM-88 -IconChoiceNonstopOnCommand=zoom,0;bounceend,0.35;zoom,0.8 -IconChoiceNonstopOffCommand=linear,0.1175;zoomx,0 -# -IconChoiceOniX=SCREEN_CENTER_X -IconChoiceOniY=SCREEN_BOTTOM-88 -IconChoiceOniOnCommand=zoom,0;bounceend,0.35;zoom,0.8 -IconChoiceOniOffCommand=linear,0.1175;zoomx,0 -# -IconChoiceEndlessX=SCREEN_CENTER_X+160 -IconChoiceEndlessY=SCREEN_BOTTOM-88 -IconChoiceEndlessOnCommand=zoom,0;bounceend,0.35;zoom,0.8 -IconChoiceEndlessOffCommand=linear,0.1175;zoomx,0 - -[ScreenSelectCharacter] - -[ScreenGameInformation] - -[ScreenSelectMusic] -UsePlayerSelectMenu=false -# OptionsMenuAvailable=(getenv(sMode) ~= Oni) -SelectMenuAvailable=true -# ModeMenuAvailable=(getenv(sMode) == Normal) -# HelpDisplay has things added here to make sure it disappears for another -# actor, which we defined in this screens decorations. -HelpSelectMenuOpenedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675;accelerate,0.125;diffusealpha,0;zoom,0.675*0.75; -HelpSelectMenuClosedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675*0.75;bouncebegin,0.125;diffusealpha,1;zoom,0.675 -# Clone everything from HelpDisplay: we're lazy -ShowAlternateHelpDisplay=true -# AlternateHelpDisplaySelectMenuOpenedMessageCommand=stoptweening;y,SCREEN_BOTTOM-16;accelerate,0.0725/2;y,SCREEN_BOTTOM-16-16;diffusealpha,1;decelerate,0.0725/2;y,SCREEN_BOTTOM-16-32; -# AlternateHelpDisplaySelectMenuClosedMessageCommand=stoptweening;y,SCREEN_BOTTOM-16;smooth,0.125;y,SCREEN_BOTTOM-16;diffusealpha,0; -AlternateHelpDisplaySelectMenuOpenedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675*1.25;bounceend,0.2;diffusealpha,1;zoom,0.675; -AlternateHelpDisplaySelectMenuClosedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675;accelerate,0.125;diffusealpha,0;zoom,0.675*0.75; -# -MusicWheelX=SCREEN_CENTER_X+160 -MusicWheelY=SCREEN_CENTER_Y -MusicWheelOnCommand=draworder,-5;fov,90;vanishpoint,SCREEN_CENTER_X+160,SCREEN_CENTER_Y;addx,SCREEN_CENTER_X;decelerate,0.35;addx,-SCREEN_CENTER_X -MusicWheelOffCommand=bouncebegin,0.15;zoomx,0; -# -ShowNewSong=not GAMESTATE:IsCourseMode() -NewSongX=SCREEN_CENTER_X-160+128-30 -NewSongY=SCREEN_TOP+160-2 -NewSongOnCommand=finishtweening;diffuse,Color("Orange");diffusetopedge,Color("Yellow");strokecolor,Color("Black");zoom,0.675;draworder,106;playcommand,"Set" -NewSongOffCommand=bouncebegin,0.135;zoom,0;diffusealpha,0 -NewSongShowCommand=finishtweening;diffusealpha,1;glowshift;effectclock,'bgm';effectperiod,4;textglowmode,'TextGlowMode_Inner'; -NewSongHideCommand=finishtweening;;diffusealpha,0;stopeffect; -# -ShowSongTime=true -SongTimeX=SCREEN_CENTER_X-160 -SongTimeY=SCREEN_TOP+160+(36/2)+8 -SongTimeOnCommand=zoom,0.75;strokecolor,Color("Outline");shadowlength,1 -SongTimeOffCommand=bouncebegin,0.15;zoom,0;diffusealpha,0; -SongTimeResetCommand=diffuse,Color("White"); -SongTimeAutogenCommand=diffuse,Color("Green"); -SongTimeLongCommand=diffuse,Color("Yellow");diffusebottomedge,Color("Orange"); -SongTimeMarathonCommand=diffuse,Color("Orange");diffusebottomedge,Color("Red"); -# -ShowSortOrderFrame=true -SortOrderFrameX=SCREEN_CENTER_X+128+32 -SortOrderFrameY=SCREEN_TOP+24 -SortOrderFrameOnCommand=draworder,105;shadowlength,1 -SortOrderFrameSortCommand= -SortOrderFrameSongChosenCommand=linear,0.25;diffusealpha,0; -SortOrderFrameOffCommand=bouncebegin,0.15;zoomy,0; -# -ShowSortOrder=true -SortOrderX=SCREEN_CENTER_X+128+32-48+4 -SortOrderY=SCREEN_TOP+24 -SortOrderOnCommand=draworder,105;horizalign,left;strokecolor,Color("Outline");zoom,0.675;maxwidth,114/0.675; -SortOrderSortCommand=finishtweening;zoom,0.675*1.25;diffuse,Color("Yellow");diffusebottomedge,Color("Orange");decelerate,0.5;zoom,0.675;diffuse,Color("White"); -SortOrderSongChosenCommand=linear,0.25;diffusealpha,0; -SortOrderOffCommand=bouncebegin,0.15;zoomy,0; -# -ShowStageDisplay=true -StageDisplayX=SCREEN_LEFT+200+88 -StageDisplayY=SCREEN_TOP+24+3 -StageDisplayOnCommand=skewx,-0.125;draworder,105;fov,90;zoom,0.675;zoomy,0;sleep,0.35;smooth,0.35;zoomy,0.675 -StageDisplayOffCommand=linear,0.25;zoomy,0; -# -ShowDifficultyDisplay=not ThemePrefs.Get("AutoSetStyle") and not GAMESTATE:IsCourseMode() -DifficultyDisplayX=SCREEN_CENTER_X-160 -DifficultyDisplayY=SCREEN_TOP+160-96+2 -DifficultyDisplayOnCommand=draworder,105;fov,90;zoom,1;zoomy,0;sleep,0.35;smooth,0.35;zoomy,1 -DifficultyDisplayOffCommand=linear,0.25;zoomy,0; -# -BannerX=SCREEN_CENTER_X-160 -BannerY=SCREEN_TOP+160-36+4 -BannerOnCommand=draworder,-1;scaletoclipped,256,80;visible,true;ztest,1;addy,-SCREEN_CENTER_Y;decelerate,0.35;addy,SCREEN_CENTER_Y -BannerOffCommand=bouncebegin,0.15;zoomx,0; -# -ShowBannerFrame=true -BannerFrameX=SCREEN_CENTER_X-160 -BannerFrameY=SCREEN_TOP+160-36+4 -BannerFrameOnCommand=draworder,105;addy,-SCREEN_CENTER_Y;decelerate,0.35;addy,SCREEN_CENTER_Y -BannerFrameOffCommand=bouncebegin,0.15;zoomx,0; -# -ShowBPMDisplay=true -BPMDisplayX=SCREEN_CENTER_X-160-90+2 -BPMDisplayY=SCREEN_TOP+160+(36/2)+8 -BPMDisplayOnCommand=finishtweening;maxwidth,128;horizalign,left;strokecolor,Color("Outline");addx,320;zoomx,0;decelerate,0.35;addx,-320;zoomx,1 -BPMDisplayOffCommand=bouncebegin,0.15;zoomx,0; -# -ShowBPMLabel=true -BPMLabelX=SCREEN_CENTER_X-160-90 -BPMLabelY=SCREEN_TOP+160+(36/2)+6 -BPMLabelOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.35;addx,SCREEN_CENTER_X -BPMLabelOffCommand=bouncebegin,0.15;zoomx,0; -# -ShowSegmentDisplay=not GAMESTATE:IsCourseMode() -SegmentDisplayX=SCREEN_CENTER_X-160 -SegmentDisplayY=SCREEN_TOP+160-36+4 -# -ShowDifficultyList=not GAMESTATE:IsCourseMode(); -DifficultyListX=SCREEN_CENTER_X-160 -DifficultyListY=SCREEN_TOP+216 -DifficultyListOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.35;addx,SCREEN_CENTER_X; -DifficultyListOffCommand=bouncebegin,0.15;zoomx,0; -# -DifficultyListTweenOnCommand=stoptweening;bounceend,0.135;zoomx,1 -DifficultyListTweenOffCommand=stoptweening;bouncebegin,0.135;zoomx,0 -# Shrink the difficultylist for viewing panedisplays; -# DifficultyListSelectMenuOpenedMessageCommand=stoptweening;decelerate,0.125;zoom,0.5; -# DifficultyListSelectMenuClosedMessageCommand=stoptweening;accelerate,0.0725;zoom,1; -# -ShowPaneDisplayFrameP1=true -PaneDisplayFrameP1X=SCREEN_CENTER_X-160 -PaneDisplayFrameP1Y=SCREEN_BOTTOM-112-2 -PaneDisplayFrameP1OnCommand=player,PLAYER_1;diffuse,Color("Orange");zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1 -PaneDisplayFrameP1OffCommand=bouncebegin,0.15;zoomx,0; -PaneDisplayFrameP1PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_1 then self:playcommand("On") end end -# -ShowPaneDisplayTextP1=true -PaneDisplayTextP1X=SCREEN_CENTER_X-160 -PaneDisplayTextP1Y=SCREEN_BOTTOM-122-2 -PaneDisplayTextP1OnCommand=player,PLAYER_1;zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1 -PaneDisplayTextP1OffCommand=bouncebegin,0.15;zoomx,0; -PaneDisplayTextP1PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_1 then self:playcommand("On") end end -# -ShowPaneDisplayFrameP2=true -PaneDisplayFrameP2X=SCREEN_CENTER_X+160 -PaneDisplayFrameP2Y=SCREEN_BOTTOM-112-2 -PaneDisplayFrameP2OnCommand=player,PLAYER_2;diffuse,Color("Orange");zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1 -PaneDisplayFrameP2OffCommand=bouncebegin,0.15;zoomx,0; -PaneDisplayFrameP2PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_2 then self:playcommand("On") end end -# -ShowPaneDisplayTextP2=true -PaneDisplayTextP2X=SCREEN_CENTER_X+160 -PaneDisplayTextP2Y=SCREEN_BOTTOM-122-2 -PaneDisplayTextP2OnCommand=player,PLAYER_2;zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1 -PaneDisplayTextP2OffCommand=bouncebegin,0.15;zoomx,0; -PaneDisplayTextP2PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_2 then self:playcommand("On") end end -# -ShowCourseContentsList=false -CourseContentsListX=SCREEN_CENTER_X-160 -CourseContentsListY=SCREEN_TOP+216+6 -CourseContentsListOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.35;addx,SCREEN_CENTER_X -CourseContentsListOffCommand=bouncebegin,0.15;zoomx,0; -# -ShowNumCourseSongs=GAMESTATE:IsCourseMode() -NumCourseSongsX=SCREEN_CENTER_X-160+128 -NumCourseSongsY=SCREEN_TOP+160+(36/2)+8 -NumCourseSongsOnCommand=zoom,0.75;strokecolor,Color("Outline");shadowlength,1 -NumCourseSongsOffCommand=bouncebegin,0.15;zoom,0;diffusealpha,0; -# -ShowSongOptions=true -SongOptionsX=SCREEN_CENTER_X -SongOptionsY=SCREEN_CENTER_Y -SongOptionsOnCommand=visible,false;draworder,1000 -SongOptionsOffCommand= -#-- -SongOptionsShowCommand=visible,true;uppercase,true;zoom,1.2;settext,THEME:GetString("ScreenSelectMusic","Press Start For Options");decelerate,0.3;zoom,1; -SongOptionsEnterCommand=uppercase,true;settext,THEME:GetString("ScreenSelectMusic","Entering Options");sleep,0.5;linear,0.3;zoomy,0; -SongOptionsHideCommand=linear,0.3;zoomy,0; -# -ShowSongOptionsFrame=true -SongOptionsFrameX=SCREEN_CENTER_X -SongOptionsFrameY=SCREEN_CENTER_Y -SongOptionsFrameOnCommand=visible,false;draworder,1000 -SongOptionsFrameOffCommand= -#-- -SongOptionsFrameShowCommand=visible,true;diffuse,Color("Orange");diffusealpha,0.5;zoomy,40*1.5;linear,1.5;zoomy,40; -SongOptionsFrameEnterCommand=sleep,0.5;linear,0.3;diffusealpha,0; -SongOptionsFrameHideCommand=linear,0.3;diffusealpha,0 -# -CDTitleX=SCREEN_CENTER_X-160+90 -CDTitleY=SCREEN_TOP+160+(36/2)+8 -CDTitleFrontCommand=diffuse,color('0.5,0.5,0.5,1');cullmode,'CullMode_Front' -CDTitleBackCommand=cullmode,'CullMode_Back' -CDTitleOnCommand=draworder,106;shadowlength,1;zoom,0.75;diffusealpha,1;zoom,0;bounceend,0.35;zoom,0.75;spin;effectmagnitude,0,180,0; -CDTitleOffCommand=bouncebegin,0.15;zoomx,0; -# -# -# -ScoreP1SortChangeCommand=stoptweening; -ScoreP2SortChangeCommand=stoptweening; -ScoreFrameP1SortChangeCommand=stoptweening; -ScoreFrameP2SortChangeCommand=stoptweening; -# -ShowStepsDisplayP1=GAMESTATE:IsHumanPlayer(PLAYER_1) -StepsDisplayP1X=SCREEN_CENTER_X-160 -StepsDisplayP1Y=SCREEN_BOTTOM-60 -StepsDisplayP1OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP1");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y -StepsDisplayP1OffCommand=bouncebegin,0.15;zoomx,0; -# StepsDisplayP1CurrentStepsP1ChangedMessageCommand=stoptweening;zoom,1.2;decelerate,0.1;zoom,1 -# -ShowStepsDisplayP2=GAMESTATE:IsHumanPlayer(PLAYER_2) -StepsDisplayP2X=SCREEN_CENTER_X+160 -StepsDisplayP2Y=SCREEN_BOTTOM-60 -StepsDisplayP2OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP2");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y -StepsDisplayP2OffCommand=bouncebegin,0.15;zoomx,0; -# StepsDisplayP2CurrentStepsP2ChangedMessageCommand=stoptweening;zoom,1.2;decelerate,0.1;zoom,1 -# -ShowPercentScoreP1=true -PercentScoreP1X=SCREEN_CENTER_X-80-1 -PercentScoreP1Y=SCREEN_BOTTOM-60 -PercentScoreP1OnCommand=player,PLAYER_1;addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y -PercentScoreP1OffCommand=bouncebegin,0.15;zoomx,0; -# -ShowPercentScoreP2=true -PercentScoreP2X=SCREEN_CENTER_X+240-1 -PercentScoreP2Y=SCREEN_BOTTOM-60 -PercentScoreP2OnCommand=player,PLAYER_2;addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y -PercentScoreP2OffCommand=bouncebegin,0.15;zoomx,0; - -[ScreenSelectCourse] -MusicWheelType=GAMESTATE:GetPlayMode() == 'PlayMode_Oni' and "OniWheel" or "CourseWheel" -Codes=GAMESTATE:GetPlayMode() == 'PlayMode_Oni' and "OniCodeDetector" or "CourseCodeDetector" -# -ShowDifficultyList=false -ShowCourseContentsList=true -ShowNumCourseSongs=true -# -UsePlayerSelectMenu=false -SelectMenuAvailable=false -# -ShowPaneDisplayFrameP1=false -ShowPaneDisplayTextP1=false -ShowPaneDisplayFrameP2=false -ShowPaneDisplayTextP2=false - - -[CourseCodeDetector] -NextSort1="" -NextSort2="" -NextSort3="" -NextSort4="" -ModeMenu1="" -ModeMenu2="" - -[OniCodeDetector] -Fallback="CodeDetector" - -[StepsDisplay] -FrameLoadCommand=%function(self,param) end; -NumTicks=10 -MaxTicks=14 -TicksX=0 -TicksY=0 -TicksOnCommand=shadowlength,0; -TicksSetCommand=%function(self,param) end; -MeterX=56-32 -MeterY=0 -MeterOnCommand=shadowlength,1;textglowmode,'TextGlowMode_Inner' -MeterSetCommand=%function(self,param) \ - if param.CustomDifficulty then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ - end; \ - if param.Meter then \ - if param.Meter >= 100 then \ - self:basezoom(0.8); \ - self:glowshift(); \ - elseif param.Meter >= 10 then \ - self:basezoom(1); \ - self:glowshift(); \ - else \ - self:basezoom(1); \ - self:stopeffect(); \ - end; \ - end; \ -end; -# -ShowDescription=true -DescriptionX=-20-32 -DescriptionY=ThemePrefs.Get("AutoSetStyle") and -5 or 0 -DescriptionOnCommand=shadowlength,1;uppercase,true;zoom,0.75;maxwidth,128+8 -DescriptionSetCommand=%function(self,param) \ - if self:GetText() == "" then \ - self:settext("Edit"); \ - end; \ - if param.CustomDifficulty then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ - end; \ -end; -# -ShowAutogen=false -AutogenX=40-32 -AutogenY=0 -AutogenOnCommand= -AutogenSetCommand=%function(self,param) if param.Difficulty then self:diffuse(CustomDifficultyToLightColor(param.Difficulty)); self:strokecolor(CustomDifficultyToDarkColor(param.Difficulty)); end end -# -ShowStepsType=ThemePrefs.Get("AutoSetStyle") -StepsTypeX=-20-32 -StepsTypeY=7 -StepsTypeOnCommand=zoom,0.45 - -[StepsDisplayGameplay] -Fallback="StepsDisplay" - -# -ShowMeter=true -ZeroMeterString="?" -MeterX=56 -MeterY=0 -MeterOnCommand=shadowlength,1;textglowmode,'TextGlowMode_Inner' -MeterSetCommand=%function(self,param) \ - if param.CustomDifficulty then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ - end; \ - if param.Meter then \ - if param.Meter >= 100 then \ - self:zoom(0.8); \ - else \ - self:zoom(1); \ - end; \ - end; \ -end; -# -ShowDescription=true -DescriptionX=-20 -DescriptionY=ThemePrefs.Get("AutoSetStyle") and -5 or 0 -DescriptionOnCommand=shadowlength,1;uppercase,true;zoom,0.75;maxwidth,128+8 -DescriptionSetCommand=%function(self,param) \ - if self:GetText() == "" then \ - self:settext("Edit"); \ - end; \ - if param.CustomDifficulty then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ - end; \ - (cmd(finishtweening;diffusealpha,0;addx,-4;smooth,0.125;addx,4;diffusealpha,1))(self); \ -end; -# -ShowAutogen=false -AutogenX=40 -AutogenY=0 -AutogenOnCommand= -AutogenSetCommand=%function(self,param) if param.Difficulty then self:diffuse(CustomDifficultyToLightColor(param.Difficulty)); self:strokecolor(CustomDifficultyToDarkColor(param.Difficulty)); end end -# -ShowStepsType=ThemePrefs.Get("AutoSetStyle") -StepsTypeX=-20 -StepsTypeY=7 -StepsTypeOnCommand=zoom,0.45 - -[ScreenOptions] -DisqualifyP1X=SCREEN_CENTER_X-176 -DisqualifyP1Y=SCREEN_BOTTOM-98 -DisqualifyP1OnCommand=draworder,100;zoom,0.5;shadowlength,1;player,PLAYER_1 -DisqualifyP2X=SCREEN_CENTER_X+176 -DisqualifyP2Y=SCREEN_BOTTOM-98 -DisqualifyP2OnCommand=draworder,100;zoom,0.5;shadowlength,1;player,PLAYER_2 - -ContainerOnCommand=x,-SCREEN_WIDTH;decelerate,0.35;x,SCREEN_LEFT -CursorOnCommand= - -LineHighlightOnCommand=cropleft,0.1;cropright,0.1;zoomx,1.25;fadeleft,0.05;faderight,0.05;diffuseshift;effectcolor2,color("1,1,1,0.5");effectcolor1,color("1,1,1,0.25");effectclock,'beat' -LineHighlightChangeCommand=linear,0.1;diffuse,Color("White");diffuseshift;effectcolor2,color("1,1,1,0.5");effectcolor1,color("1,1,1,0.25") -LineHighlightChangeToExitCommand=linear,0.1;diffuse,Color("Red");diffuseshift;effectcolor2,color("1,0,0,0.5");effectcolor1,color("1,0,0,0.25") - -[ScreenOptionsMaster] - -[ScreenOptionsSimple] - -[ScreenOptionsSimpleService] - -[ScreenOptionsService] -ShowHeader=false - -LineNames="Sync,GameType,KeyConfig,TestInput,Input,Reload,Arcade,Appearance,Theme,GraphicSound,Profiles,Network,UI,Advanced,Credits" -LineTheme="gamecommand;screen,ScreenOptionsTheme;name,Theme Options" - -# ScreenOptionsSystemDirection" - -NumRowsShown=14 -RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-170+24*offsetFromCenter) end - -SeparateExitRow=false -SeparateExitRowY=SCREEN_BOTTOM-40 - -[ScreenOptionsExtended] -LineNames="2,Sync,3,10,11,4,12,5,Theme" - -[ScreenOptionsServiceChild] - -[ScreenOptionsServiceExtendedChild] - -[ScreenMiniMenu] -HeaderY=SCREEN_TOP -HeaderOnCommand=draworder,100;visible,false -LineHighlightOnCommand=cropleft,0.1;cropright,0.1;zoomx,1.3;fadeleft,0.25;faderight,0.25;diffusealpha,0.375 -LineHighlightChangeCommand= -LineHighlightChangeToExitCommand= - -[OptionRowMiniMenu] -Fallback="OptionRow" -TitleX=SCREEN_CENTER_X-320+48 -TitleOnCommand=horizalign,left;shadowlength,0;uppercase,true;zoom,0.6375;strokecolor,Color("Black"); -ItemsLongRowP1X=SCREEN_CENTER_X-240 -ItemsLongRowP2X=SCREEN_CENTER_X+240 -ItemsLongRowSharedX=SCREEN_CENTER_X+200 -ItemOnCommand=zoom,0.6375 - -ColorSelected=color("1,1,1,1") -ColorNotSelected=color("0.5,0.5,0.5,1") - -[ScreenMiniMenuContext] -PageOnCommand=visible,false -LineHighlightX=SCREEN_CENTER_X/2 - -TitleX=SCREEN_CENTER_X -TitleOnCommand=shadowlength,1; -ItemsStartX=SCREEN_CENTER_X -ItemsEndX=SCREEN_CENTER_X -ItemsGapX=14 -ItemsLongRowP1X=SCREEN_CENTER_X -ItemsLongRowP2X=SCREEN_CENTER_X -ItemsLongRowSharedX=SCREEN_CENTER_X - -[OptionRowMiniMenuContext] - -[ScreenMapControllers] - -[ScreenTestInput] - -[ScreenOptionsSystemDirection] -LineNames="1,2,3,4,5,6,7,8,9,FlashyCombo,RollCombo,10,11,12,13,14,16,LF,17,18,19,20,21,22" -LineLF="lua,ThemePrefRow('LongFail')" -LineRollCombo="lua,ThemePrefRow('ComboOnRolls')" -LineFlashyCombo="lua,ThemePrefRow('FlashyCombo')" - -[ScreenOptionsGraphicsSound] - -[ScreenOptionsAdvanced] -LineNames="Score,3,4,8,11,13,14,16,28,29,30,RollCombo" -LineRollCombo="lua,ThemePrefRow('ComboOnRolls')" - -[ScreenAppearanceOptions] - -[ScreenOptionsUI] - -[ScreenOptionsInput] - -[ScreenOptionsArcade] - -[ScreenOptionsTheme] -Fallback="ScreenOptionsServiceChild" -NextScreen="ScreenOptionsService" -PrevScreen="ScreenOptionsService" -LineNames="gNotePos,gAuto,gScore,gSDisp,TimingDisplay,gOpts,gLongFail,gComboUnderField,FlashyCombo,GameplayFooter,FancyUIBG" -LinegNotePos="lua,ThemePrefRow('NotePosition')" -LinegScore="lua,ThemePrefRow('GameplayShowScore')" -LinegSDisp="lua,ThemePrefRow('GameplayShowStepsDisplay')" -LineTimingDisplay="lua,ThemePrefRow('TimingDisplay')" -LinegOpts="lua,ThemePrefRow('ShowLotsaOptions')" -LinegAuto="lua,ThemePrefRow('AutoSetStyle')" -LinegLongFail="lua,ThemePrefRow('LongFail')" -LinegComboUnderField="lua,ThemePrefRow('ComboUnderField')" -LineFlashyCombo="lua,ThemePrefRow('FlashyCombo')" -LineGameplayFooter="lua,ThemePrefRow('GameplayFooter')" -LineFancyUIBG="lua,ThemePrefRow('FancyUIBG')" - -[ScreenSelectGame] - -[ScreenNetworkOptions] - -[ScreenOptionsManageProfiles] - -[ScreenOptionsEditProfile] - -[ScreenReloadSongs] - -[ScreenPlayerOptions] -LineNames="1,8,14,2,3A,3B,4,5,6,R,7,9,10,11,12,13,16,SF,17" -LineSF="lua,OptionRowScreenFilter()" -Line17="lua,OptionRowProTiming()" -Line18="list,Characters" - -[ScreenPlayerOptionsRestricted] - -[ScreenSplash] - -[ScreenExit] - -[ScreenAttract] - -# -# -# -# - -[ScreenRanking] -# - -# - -# - -# - -# - -# 05 # B - -# 05 # C -[ScreenGameplay] -# -SongMeterDisplayX=SCREEN_CENTER_X -SongMeterDisplayY=SCREEN_TOP+50 -SongMeterDisplayOnCommand=draworder,50;zoom,0;y,SCREEN_TOP-24;sleep,1.5;decelerate,0.5;zoom,1;y,SCREEN_TOP+50 -SongMeterDisplayOffCommand= -# -ShowSongTitle=not GAMESTATE:IsDemonstration(); -SongTitleX=SCREEN_CENTER_X -SongTitleY=SCREEN_TOP+50 -SongTitleOnCommand=draworder,55;shadowlength,1;basezoom,0.5;zoomy,0;sleep,1.5+0.5;smooth,0.5;zoom,1;y,SCREEN_TOP+50 -SongTitleOffCommand= -# -SongMeterDisplayP1X=Center1Player() and SCREEN_CENTER_X or SCREEN_LEFT+16 -SongMeterDisplayP1Y=Center1Player() and SCREEN_TOP+60 or SCREEN_CENTER_Y-32 -SongMeterDisplayP1OnCommand=draworder,5;rotationz,Center1Player() and 0 or -90;zoom,0;addx,-24;sleep,1.5;decelerate,0.5;zoom,1;addx,24 -SongMeterDisplayP1OffCommand= -# -SongMeterDisplayP2X=Center1Player() and SCREEN_CENTER_X or SCREEN_RIGHT-16 -SongMeterDisplayP2Y=Center1Player() and SCREEN_TOP+60 or SCREEN_CENTER_Y-32 -SongMeterDisplayP2OnCommand=draworder,5;rotationz,Center1Player() and 0 or -90;zoom,0;addx,24;sleep,1.5;decelerate,0.5;zoom,1;addx,-24 -SongMeterDisplayP2OffCommand= -# -ShowBPMDisplay=true -BPMDisplayX=Center1Player() and (GAMESTATE:GetMasterPlayerNumber() == PLAYER_1 and THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")) or SCREEN_CENTER_X -# BPMDisplayX=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and (GAMESTATE:GetMasterPlayerNumber() == PLAYER_1 and THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")) or SCREEN_CENTER_X -BPMDisplayY=SCREEN_BOTTOM-17 -BPMDisplayOnCommand=draworder,101 -BPMDisplayOffCommand=bounceend,0.25;zoom,0 -# -ShowStageDisplay=true -StageDisplayX=SCREEN_CENTER_X -StageDisplayY=SCREEN_BOTTOM-50 -StageDisplayOnCommand=draworder,102 -StageDisplayOffCommand=bounceend,0.25;zoom,0 -StageDisplayUseShortString=true -# -ShowScoreFrame=ThemePrefs.Get("GameplayFooter"); -ScoreFrameX=SCREEN_CENTER_X -ScoreFrameY=SCREEN_BOTTOM+4 -ScoreFrameOnCommand=draworder,4;vertalign,bottom;zoomtowidth,SCREEN_WIDTH+4;diffuse,color("#ffd400");addy,80;sleep,2;decelerate,0.5;addy,-80; -ScoreFrameOffCommand= -# -LifeP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -# LifeP1X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -LifeP1Y=SCREEN_TOP+24 -LifeP1OnCommand=finishtweening;addy,-48;sleep,1.25;bounceend,0.35;addy,48; -#~ LifeP1OnCommand=addx,-SCREEN_CENTER_X;sleep,1.25;decelerate,0.35*0.25;addx,SCREEN_CENTER_X*1.5;accelerate,0.35*0.25;addx,-SCREEN_CENTER_X*0.25;bounceend,0.35*0.25;addx,-SCREEN_CENTER_X*0.25 -LifeP1OffCommand= -LifeP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -# LifeP2X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -LifeP2Y=SCREEN_TOP+24 -LifeP2OnCommand=finishtweening;zoomx,-1;addy,-48;sleep,1.25;bounceend,0.35;addy,48; -#~ LifeP2OnCommand=zoomx,-1;addx,SCREEN_CENTER_X;sleep,1.25;decelerate,0.35*0.25;addx,-SCREEN_CENTER_X*1.5;accelerate,0.35*0.25;addx,SCREEN_CENTER_X*0.25;bounceend,0.35*0.25;addx,SCREEN_CENTER_X*0.25 -LifeP2OffCommand= -CombinedLifeX=SCREEN_CENTER_X -CombinedLifeY=SCREEN_TOP+24 -CombinedLifeOnCommand=finishtweening;diffuseleftedge,PlayerColor(PLAYER_1);diffuserightedge,PlayerColor(PLAYER_2);addy,-48;sleep,1.25;bounceend,0.35;addy,48; -CombinedLifeOffCommand= -# -ToastyDisplayP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -# ToastyDisplayP1X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -ToastyDisplayP1Y=SCREEN_CENTER_Y -ToastyDisplayP1OnCommand=visible,false -ToastyDisplayP1OffCommand= -# -ToastyDisplayP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -# ToastyDisplayP2X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -ToastyDisplayP2Y=SCREEN_CENTER_Y -ToastyDisplayP2OnCommand=visible,false -ToastyDisplayP2OffCommand= -# -SongNumberP1X=Center1Player() and SCREEN_CENTER_X - 60 or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") - 60 -SongNumberP1Y=SCREEN_TOP+24+7 -SongNumberP1OnCommand=zoom,0.75;diffuse,PlayerColor(PLAYER_1);strokecolor,BoostColor(PlayerColor(PLAYER_1),0.5) -SongNumberP1OffCommand= -SongNumberP2X=Center1Player() and SCREEN_CENTER_X + 60 or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") + 60 -SongNumberP2Y=SCREEN_TOP+24+7 -SongNumberP2OnCommand=zoom,0.75;diffuse,PlayerColor(PLAYER_2);strokecolor,BoostColor(PlayerColor(PLAYER_2),0.5) -SongNumberP2OffCommand= -# -RemainingTimeP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") + 32 -RemainingTimeP1Y=THEME:GetMetric(Var "LoadingScreen","ScoreP1Y") - 22 -RemainingTimeP1OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_1);diffusebottomedge,ColorMidTone(PlayerColor(PLAYER_1)); -RemainingTimeP1OffCommand= -RemainingTimeP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") + 32 -RemainingTimeP2Y=THEME:GetMetric(Var "LoadingScreen","ScoreP2Y") - 22 -RemainingTimeP2OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_2);diffusebottomedge,ColorMidTone(PlayerColor(PLAYER_2)); -RemainingTimeP2OffCommand= -# -DeltaSecondsP1X=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP1X") - 80 -DeltaSecondsP1Y=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP1Y") -DeltaSecondsP1OnCommand=shadowlength,1;skewx,-0.125 -DeltaSecondsP1GainSecondsCommand=finishtweening;diffusealpha,1;zoom,1;decelerate,0.3;zoom,0.75;sleep,0.5;linear,0.2;diffusealpha,0;zoom,0 -DeltaSecondsP1OffCommand= -DeltaSecondsP2X=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP2X") - 80 -DeltaSecondsP2Y=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP2Y") -DeltaSecondsP2OnCommand=shadowlength,1;skewx,-0.125 -DeltaSecondsP2GainSecondsCommand=finishtweening;diffusealpha,1;zoom,1;decelerate,0.3;zoom,0.75;sleep,0.5;linear,0.2;diffusealpha,0;zoom,0 -DeltaSecondsP2OffCommand= -# -ScoreP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -# ScoreP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -ScoreP1Y=SCREEN_BOTTOM-28 -ScoreP1OnCommand=draworder,101;visible,ThemePrefs.Get("GameplayShowScore");diffuse,PlayerColor(PLAYER_1);sleep,3+0.3;smooth,0.5;y,SCREEN_BOTTOM-50 -ScoreP1OffCommand= -ScoreP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -# ScoreP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -ScoreP2Y=SCREEN_BOTTOM-28 -ScoreP2OnCommand=draworder,101;visible,ThemePrefs.Get("GameplayShowScore");diffuse,PlayerColor(PLAYER_2);sleep,3+0.3;smooth,0.5;y,SCREEN_BOTTOM-50 -ScoreP2OffCommand= -# -StepsDescriptionP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -# StepsDescriptionP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -StepsDescriptionP1Y=SCREEN_CENTER_Y+34 -StepsDescriptionP1OnCommand=draworder,101;zoom,0.5;diffusealpha,0;addy,-10;smooth,0.3;diffusealpha,1;addy,10;sleep,3;smooth,0.5;addy,-10;diffusealpha,0 -StepsDescriptionP1OffCommand= -StepsDescriptionP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -# StepsDescriptionP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -StepsDescriptionP2Y=SCREEN_CENTER_Y+34 -StepsDescriptionP2OnCommand=draworder,101;zoom,0.5;diffusealpha,0;addy,-10;smooth,0.3;diffusealpha,1;addy,10;sleep,3;smooth,0.5;addy,-10;diffusealpha,0 -StepsDescriptionP2OffCommand= -# -PlayerOptionsP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -# PlayerOptionsP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -PlayerOptionsP1Y=SCREEN_CENTER_Y+82 -PlayerOptionsP1OnCommand=draworder,101;vertalign,top;wrapwidthpixels,256*2;zoom,0.5;diffusealpha,0;addy,10;smooth,0.3;diffusealpha,1;addy,-10;sleep,3;smooth,0.5;addy,10;diffusealpha,0 -PlayerOptionsP1OffCommand= -PlayerOptionsP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -# PlayerOptionsP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -PlayerOptionsP2Y=SCREEN_CENTER_Y+82 -PlayerOptionsP2OnCommand=draworder,101;vertalign,top;wrapwidthpixels,256*2;zoom,0.5;diffusealpha,0;addy,10;smooth,0.3;diffusealpha,1;addy,-10;sleep,3;smooth,0.5;addy,10;diffusealpha,0 -PlayerOptionsP2OffCommand= -# -StepsDisplayP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -# StepsDisplayP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -StepsDisplayP1Y=SCREEN_CENTER_Y+58 -StepsDisplayP1OnCommand=draworder,101;zoomy,0;linear,0.3;zoomy,1;sleep,3;queuecommand,( ThemePrefs.Get("GameplayShowStepsDisplay") == true and "Show" or "Hide" ); -StepsDisplayP1ShowCommand=smooth,0.5;y,SCREEN_BOTTOM-20; -StepsDisplayP1HideCommand=linear,0.5;zoomy,0 -StepsDisplayP1OffCommand= -StepsDisplayP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -# StepsDisplayP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -StepsDisplayP2Y=SCREEN_CENTER_Y+58 -StepsDisplayP2OnCommand=draworder,101;zoomy,0;linear,0.3;zoomy,1;sleep,3;queuecommand,( ThemePrefs.Get("GameplayShowStepsDisplay") == true and "Show" or "Hide" ); -StepsDisplayP2ShowCommand=smooth,0.5;y,SCREEN_BOTTOM-20; -StepsDisplayP2HideCommand=linear,0.5;zoomy,0 -StepsDisplayP2OffCommand= -# -SongOptionsX=Center1Player() and (GAMESTATE:GetMasterPlayerNumber() == PLAYER_1 and THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")) or SCREEN_CENTER_X -# SongOptionsX=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and (GAMESTATE:GetMasterPlayerNumber() == PLAYER_1 and THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")) or SCREEN_CENTER_X -SongOptionsY=SCREEN_BOTTOM-32 -SongOptionsOnCommand=draworder,101;zoom,0.5 -SongOptionsOffCommand= -# -LyricDisplaySetNoReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+160 -LyricDisplaySetReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-140 -# This is used if one player is in reverse and the other isn't. -LyricDisplaySetOneReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-160; -LyricDisplayDefaultColor=Color("White") -# -OniGameOverP1X= -OniGameOverP1Y= -OniGameOverP1OnCommand= -OniGameOverP1OffCommand= -# -OniGameOverP2X= -OniGameOverP2Y= -OniGameOverP2OnCommand= -OniGameOverP2OffCommand= -# -SurviveTimeX=SCREEN_CENTER_X -SurviveTimeY=SCREEN_CENTER_Y+40 -SurviveTimeOnCommand=shadowlength,1;zoomx,0;bounceend,1;zoomx,1 -SurviveTimeOffCommand=shadowlength,1;linear,1;zoom,0.75;diffusealpha,0 -# -ActiveAttackListP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -ActiveAttackListP1Y= -ActiveAttackListP1OnCommand=visible,false -ActiveAttackListP1OffCommand= -ActiveAttackListP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -ActiveAttackListP2Y= -ActiveAttackListP2OnCommand=visible,false -ActiveAttackListP2OffCommand= -# - - -[ScreenGameplayShared] - -[ScreenEvaluation] -Class="ScreenEvaluation" -Fallback="ScreenWithMenuElements" -# -StageDisplayNumberOffset=0 -# -NextScreen=Branches.AfterEvaluation() -PrevScreen=Branches.AfterEvaluation() -# -PlayMusic=false -# -PrepareScreens="ScreenProfileSave,ScreenSelectMusic" -PersistScreens="ScreenEvaluation,ScreenProfileSave,ScreenSelectMusic" -# -ShowJudgmentLineW1=true -ShowJudgmentLineW2=true -ShowJudgmentLineW3=true -ShowJudgmentLineW4=true -ShowJudgmentLineW5=true -ShowJudgmentLineHeld=(GAMESTATE:GetCurrentGame():GetName() ~= "pump") -ShowJudgmentLineMiss=true -ShowJudgmentLineMaxCombo=true -ShowGradeArea=true -ShowScoreArea=true -ShowPointsArea=true -ShowSharedJudgmentLineLabels=true -ShowGraphDisplay=true -ShowComboGraph=true -ShowStepsDisplay=true - -# -W1NumberP1X=SCREEN_CENTER_X-160+40 -W1NumberP1Y=SCREEN_TOP+160 -W1NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1 -W1NumberP1OffCommand= -W1NumberP2X=SCREEN_CENTER_X+160-40 -W1NumberP2Y=SCREEN_TOP+160 -W1NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1 -W1NumberP2OffCommand= -W1LabelX=SCREEN_CENTER_X -W1LabelY=SCREEN_TOP+160 -W1LabelOnCommand= -W1LabelOffCommand= -# -W2NumberP1X=SCREEN_CENTER_X-160+40 -W2NumberP1Y=SCREEN_TOP+180 -W2NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1 -W2NumberP1OffCommand= -W2NumberP2X=SCREEN_CENTER_X+160-40 -W2NumberP2Y=SCREEN_TOP+180 -W2NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1 -W2NumberP2OffCommand= -W2LabelX=SCREEN_CENTER_X -W2LabelY=SCREEN_TOP+180 -W2LabelOnCommand= -W2LabelOffCommand= -# -W3NumberP1X=SCREEN_CENTER_X-160+40 -W3NumberP1Y=SCREEN_TOP+200 -W3NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1 -W3NumberP1OffCommand= -W3NumberP2X=SCREEN_CENTER_X+160-40 -W3NumberP2Y=SCREEN_TOP+200 -W3NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1 -W3NumberP2OffCommand= -W3LabelX=SCREEN_CENTER_X -W3LabelY=SCREEN_TOP+200 -W3LabelOnCommand= -W3LabelOffCommand= -# -W4NumberP1X=SCREEN_CENTER_X-160+40 -W4NumberP1Y=SCREEN_TOP+220 -W4NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1 -W4NumberP1OffCommand= -W4NumberP2X=SCREEN_CENTER_X+160-40 -W4NumberP2Y=SCREEN_TOP+220 -W4NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1 -W4NumberP2OffCommand= -W4LabelX=SCREEN_CENTER_X -W4LabelY=SCREEN_TOP+220 -W4LabelOnCommand= -W4LabelOffCommand= -# -W5NumberP1X=SCREEN_CENTER_X-160+40 -W5NumberP1Y=SCREEN_TOP+240 -W5NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1 -W5NumberP1OffCommand= -W5NumberP2X=SCREEN_CENTER_X+160-40 -W5NumberP2Y=SCREEN_TOP+240 -W5NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1 -W5NumberP2OffCommand= -W5LabelX=SCREEN_CENTER_X -W5LabelY=SCREEN_TOP+240 -W5LabelOnCommand= -W5LabelOffCommand= -# -MissNumberP1X=SCREEN_CENTER_X-160+40 -MissNumberP1Y=SCREEN_TOP+260 -MissNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1 -MissNumberP1OffCommand= -MissNumberP2X=SCREEN_CENTER_X+160-40 -MissNumberP2Y=SCREEN_TOP+260 -MissNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1 -MissNumberP2OffCommand= -MissLabelX=SCREEN_CENTER_X -MissLabelY=SCREEN_TOP+260 -MissLabelOnCommand= -MissLabelOffCommand= -# -HeldNumberP1X=SCREEN_CENTER_X-160+40 -HeldNumberP1Y=SCREEN_TOP+280 -HeldNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1 -HeldNumberP1OffCommand= -HeldNumberP2X=SCREEN_CENTER_X+160-40 -HeldNumberP2Y=SCREEN_TOP+280 -HeldNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1 -HeldNumberP2OffCommand= -HeldLabelX=SCREEN_CENTER_X -HeldLabelY=SCREEN_TOP+280 -HeldLabelOnCommand= -HeldLabelOffCommand= -# -MaxComboNumberP1X=SCREEN_CENTER_X-160+40 -MaxComboNumberP1Y=SCREEN_TOP+300 -MaxComboNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1 -MaxComboNumberP1OffCommand= -MaxComboNumberP2X=SCREEN_CENTER_X+160-40 -MaxComboNumberP2Y=SCREEN_TOP+300 -MaxComboNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1 -MaxComboNumberP2OffCommand= -MaxComboLabelX=SCREEN_CENTER_X -MaxComboLabelY=SCREEN_TOP+300 -MaxComboLabelOnCommand= -MaxComboLabelOffCommand= -# -ScoreLabelX=SCREEN_CENTER_X -ScoreLabelY=SCREEN_TOP+330 -ScoreLabelOnCommand= -ScoreLabelOffCommand= -# -ScoreNumberP1X=SCREEN_CENTER_X-160 -ScoreNumberP1Y=SCREEN_TOP+320 -ScoreNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);diffusetopedge,BoostColor(PlayerColor(PLAYER_1),1.5);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;zoom,0.775 -ScoreNumberP1OffCommand= -ScoreNumberP2X=SCREEN_CENTER_X+160 -ScoreNumberP2Y=SCREEN_TOP+320 -ScoreNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);diffusetopedge,BoostColor(PlayerColor(PLAYER_2),1.5);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;zoom,0.775 -ScoreNumberP2OffCommand= -# -PercentFrameP1X=SCREEN_CENTER_X-160 -PercentFrameP1Y=SCREEN_TOP+320 -PercentFrameP1OnCommand=visible,false -PercentFrameP1OffCommand= -# -PercentFrameP2X=SCREEN_CENTER_X+160 -PercentFrameP2Y=SCREEN_TOP+320 -PercentFrameP2OnCommand=visible,false -PercentFrameP2OffCommand= -# -PercentP1X=SCREEN_CENTER_X-160 -PercentP1Y=SCREEN_TOP+320 -PercentP1OnCommand=visible,false -PercentP1OffCommand= -# -PercentP2X=SCREEN_CENTER_X+160 -PercentP2Y=SCREEN_TOP+320 -PercentP2OnCommand=visible,false -PercentP2OffCommand= -# -LargeBannerX=SCREEN_CENTER_X -LargeBannerY=SCREEN_TOP+100 -LargeBannerOnCommand= -LargeBannerOffCommand= -LargeBannerFrameX=SCREEN_CENTER_X -LargeBannerFrameY=SCREEN_TOP+100 -LargeBannerFrameOnCommand= -LargeBannerFrameOffCommand= -# -GradeFrameP1X=SCREEN_CENTER_X-220 -GradeFrameP1Y=SCREEN_TOP+80 -GradeFrameP1OnCommand= -GradeFrameP1OffCommand= -GradeFrameP2X=SCREEN_CENTER_X+220 -GradeFrameP2Y=SCREEN_TOP+80 -GradeFrameP2OnCommand= -GradeFrameP2OffCommand= -# -GradeP1X=SCREEN_CENTER_X-220 -GradeP1Y=SCREEN_TOP+100 -GradeP1OnCommand= -GradeP1OffCommand= -GradeP2X=SCREEN_CENTER_X+220 -GradeP2Y=SCREEN_TOP+100 -GradeP2OnCommand= -GradeP2OffCommand= -# -PlayerOptionsP1X=SCREEN_CENTER_X-160 -PlayerOptionsP1Y=SCREEN_TOP+352 -PlayerOptionsP1OnCommand=zoom,0.5;shadowlength,1 -PlayerOptionsP1OffCommand= -## -PlayerOptionsP2X=SCREEN_CENTER_X+160 -PlayerOptionsP2Y=SCREEN_TOP+352 -PlayerOptionsP2OnCommand=zoom,0.5;shadowlength,1 -PlayerOptionsP2OffCommand= -# -SongOptionsX=SCREEN_CENTER_X -SongOptionsY=SCREEN_BOTTOM-104 -SongOptionsOnCommand=zoom,0.5;shadowlength,1; -SongOptionsOffCommand= -# -DisqualifiedP1X=SCREEN_CENTER_X-220 -DisqualifiedP1Y=SCREEN_TOP+140 -DisqualifiedP1OnCommand= -DisqualifiedP1OffCommand= -DisqualifiedP2X=SCREEN_CENTER_X+220 -DisqualifiedP2Y=SCREEN_TOP+140 -DisqualifiedP2OnCommand= -DisqualifiedP2OffCommand= -# -GraphDisplayP1X=SCREEN_CENTER_X-160 -GraphDisplayP1Y=SCREEN_BOTTOM-100 -GraphDisplayP1OnCommand= -GraphDisplayP1OffCommand= -GraphDisplayP2X=SCREEN_CENTER_X+160 -GraphDisplayP2Y=SCREEN_BOTTOM-100 -GraphDisplayP2OnCommand= -GraphDisplayP2OffCommand= -# -ComboGraphP1X=SCREEN_CENTER_X-160 -ComboGraphP1Y=SCREEN_BOTTOM-100+32-7 -ComboGraphP1OnCommand= -ComboGraphP1OffCommand= -ComboGraphP2X=SCREEN_CENTER_X+160 -ComboGraphP2Y=SCREEN_BOTTOM-100+32-7 -ComboGraphP2OnCommand= -ComboGraphP2OffCommand= -# -MachineRecordP1X=SCREEN_CENTER_X-220 -#MachineRecordP1Y=SCREEN_BOTTOM-156 - -MachineRecordP1Y=SCREEN_TOP+146 -MachineRecordP1OnCommand= -MachineRecordP1OffCommand= -# -MachineRecordP2X=SCREEN_CENTER_X+220 -#MachineRecordP2Y=SCREEN_BOTTOM-156 -MachineRecordP2Y=SCREEN_TOP+146 -MachineRecordP2OnCommand= -MachineRecordP2OffCommand= -# -PersonalRecordP1X=SCREEN_CENTER_X-160 -PersonalRecordP1Y=SCREEN_BOTTOM-144 -PersonalRecordP1OnCommand= -PersonalRecordP1OffCommand= -# -PersonalRecordP2X=SCREEN_CENTER_X+160 -PersonalRecordP2Y=SCREEN_BOTTOM-144 -PersonalRecordP2OnCommand= -PersonalRecordP2OffCommand= -# -StageAwardP1X=SCREEN_CENTER_X-220 -StageAwardP1Y=SCREEN_TOP+130 -StageAwardP1OnCommand=draworder,105;zoom,0.75;diffuse,Color("Yellow");diffusebottomedge,Color("Orange");strokecolor,ColorDarkTone( Color("Orange") );glowshift;textglowmode,'TextGlowMode_Inner' -StageAwardP1OffCommand= -# -StageAwardP2X=SCREEN_CENTER_X+220 -StageAwardP2Y=SCREEN_TOP+130 -StageAwardP2OnCommand=draworder,105;zoom,0.75;diffuse,Color("Yellow");diffusebottomedge,Color("Orange");strokecolor,ColorDarkTone( Color("Orange") );glowshift;textglowmode,'TextGlowMode_Inner' -StageAwardP2OffCommand= -# -PeakComboAwardP1X=SCREEN_CENTER_X-160 -PeakComboAwardP1Y=SCREEN_TOP+300+10 -PeakComboAwardP1OnCommand=draworder,105;zoom,0.5;diffusebottomedge,Color("Blue");strokecolor,ColorDarkTone( Color("Blue") );glowshift;textglowmode,'TextGlowMode_Inner' -PeakComboAwardP1OffCommand= -# -PeakComboAwardP2X=SCREEN_CENTER_X+160 -PeakComboAwardP2Y=SCREEN_TOP+300+10 -PeakComboAwardP2OnCommand=draworder,105;zoom,0.5;diffusebottomedge,Color("Blue");strokecolor,ColorDarkTone( Color("Blue") );glowshift;textglowmode,'TextGlowMode_Inner' -PeakComboAwardP2OffCommand= -# -ShowStepsDisplayP1=GAMESTATE:IsHumanPlayer(PLAYER_1) -StepsDisplayP1X=SCREEN_CENTER_X-160 -StepsDisplayP1Y=SCREEN_BOTTOM-50 -StepsDisplayP1OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP1");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y -StepsDisplayP1OffCommand=bouncebegin,0.15;zoomx,0; -# -ShowStepsDisplayP2=GAMESTATE:IsHumanPlayer(PLAYER_2) -StepsDisplayP2X=SCREEN_CENTER_X+160 -StepsDisplayP2Y=SCREEN_BOTTOM-50 -StepsDisplayP2OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP2");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y -StepsDisplayP2OffCommand=bouncebegin,0.15;zoomx,0; -# -PercentScoreP1X=SCREEN_CENTER_X-82 -PercentScoreP1Y=SCREEN_BOTTOM-50 -PercentScoreP1OnCommand=draworder,100;addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y; -PercentScoreP1OffCommand=bouncebegin,0.15;zoomx,0; -# -PercentScoreP2X=SCREEN_CENTER_X+238 -PercentScoreP2Y=SCREEN_BOTTOM-50 -PercentScoreP2OnCommand=draworder,100;addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y; -PercentScoreP2OffCommand=bouncebegin,0.15;zoomx,0; -# -ShowGameType=true -GameTypeX=SCREEN_CENTER_X -GameTypeY=SCREEN_BOTTOM-48 -GameTypeOnCommand=addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y;zoom,0.675;shadowlength,1;shadowcolor,color("#22222266") -GameTypeOffCommand=bouncebegin,0.15;addy,SCREEN_CENTER_Y; -# -ShowTimingDifficulty=true -TimingDifficultyX=SCREEN_CENTER_X -TimingDifficultyY=SCREEN_TOP+16 -TimingDifficultyOnCommand=zoom,0.675;draworder,105 -TimingDifficultyOffCommand= -# -ShowLifeDifficulty=true -LifeDifficultyX=SCREEN_CENTER_X -LifeDifficultyY=SCREEN_TOP+32 -LifeDifficultyOnCommand=zoom,0.675;draworder,105 -LifeDifficultyOffCommand= -# -ShowSongInformation=true -SongInformationX=SCREEN_CENTER_X -SongInformationY=SCREEN_TOP+100 -SongInformationOnCommand=playcommand,"Set";draworder,105 -SongInformationOffCommand= - -ShowWinArea=GAMESTATE:GetPlayMode() == 'PlayMode_Rave' -WinFrameP1X= -WinFrameP1Y= -WinFrameP1OnCommand= -WinFrameP2X= -WinFrameP2Y= -WinFrameP2OnCommand= -#----# -WinP1X=SCREEN_CENTER_X-224 -WinP1Y=SCREEN_BOTTOM-224 -WinP1OnCommand=draworder,101 -WinP2X=SCREEN_CENTER_X+224 -WinP2Y=SCREEN_BOTTOM-224 -WinP2OnCommand=draworder,101 - -[ScreenEvaluationNormal] -Fallback="ScreenEvaluation" -# -PlayMusic=false -# -ShowBannerFrame=false -# -ShowStageDisplay=true -StageDisplayX=SCREEN_CENTER_X+160 -StageDisplayY=SCREEN_TOP+28 -StageDisplayOnCommand=draworder,105;fov,90;vertalign,bottom;vanishpoint,SCREEN_CENTER_X+160,SCREEN_TOP+28;rotationy,90;decelerate,0.5;rotationy,0; -StageDisplayOffCommand= - -[ScreenEvaluationSummary] -Fallback="ScreenEvaluation" -# -NextScreen=Branch.AfterSummary() -# -PlayMusic=false -# -Summary=true -# -ShowStageDisplay=false -# -SmallBanner1X=SCREEN_CENTER_X-72 -SmallBanner1Y=SCREEN_TOP+100-24 -SmallBanner1OnCommand=zoom,0.5 -SmallBanner1OffCommand= - -SmallBanner2X=SCREEN_CENTER_X-48 -SmallBanner2Y=SCREEN_TOP+100-16 -SmallBanner2OnCommand=zoom,0.5 -SmallBanner2OffCommand= - -SmallBanner3X=SCREEN_CENTER_X-24 -SmallBanner3Y=SCREEN_TOP+100-8 -SmallBanner3OnCommand=zoom,0.5 -SmallBanner3OffCommand= - -SmallBanner4X=SCREEN_CENTER_X+24 -SmallBanner4Y=SCREEN_TOP+100+8 -SmallBanner4OnCommand=zoom,0.5 -SmallBanner4OffCommand= - -SmallBanner5X=SCREEN_CENTER_X+48 -SmallBanner5Y=SCREEN_TOP+100+16 -SmallBanner5OnCommand=zoom,0.5 -SmallBanner5OfCommand= - -SmallBanner6X=SCREEN_CENTER_X+72 -SmallBanner6Y=SCREEN_TOP+100+24 -SmallBanner6OnCommand=zoom,0.5 -SmallBanner6OffCommand= - -[ScreenNameEntry] - -[ScreenProfileSave] - -[ScreenProfileSaveSummary] - -[ScreenGameOver] - -[ScreenPrompt] - -[ScreenOptionsEdit] - -[EditMenu] - -[TextBannerEditMode] - -[ScreenEditMenu] - -[ScreenEdit] - -[ScreenPracticeMenu] - -[PracticeMenu] - -[ScreenPractice] - -[ScreenEditOptions] -LineNames="1,2,3,4,5,6,R,7,8,9,10,Attacks,11,12,13,14,15,16,SF" -Line1="lua,SpeedMods()" -LineSF="lua,OptionRowScreenFilter()" - -[StepsDisplayEdit] -Fallback="StepsDisplayGameplay" - -[ScreenMiniMenuEditHelp] - -[OptionRowMiniMenuEditHelp] - -[ScreenMiniMenuMainMenu] - -[ScreenMiniMenuAreaMenu] - -[ScreenMiniMenuStepsInformation] - -[ScreenMiniMenuSongInformation] - -[ScreenMiniMenuTimingDataInformation] - -[ScreenMiniMenuBackgroundChange] - -[ScreenMiniMenuPreferences] - -[ScreenMiniMenuInsertTapAttack] - -[ScreenMiniMenuInsertCourseAttack] - -[ScreenMiniMenuCourseDisplay] - -[ScreenMiniMenuCourseOptions] - -[ScreenOptionsExportPackage] - -[ScreenOptionsManage] - -[OptionRowManage] - -[OptionRowCourseOverview] - -[ScreenOptionsManageCourses] - -[OptionRowCourse] - -[ScreenOptionsEditCourse] - -[OptionRowEditCourse] - -[ScreenOptionsCourseOverview] - -[ScreenGameplaySyncMachine] -SongMeterDisplayP1OnCommand=visible,false -SongMeterDisplayP2OnCommand=visible,false -StepsDescriptionP1OnCommand=visible,false -StepsDescriptionP2OnCommand=visible,false -StepsDisplayP1OnCommand=visible,false -StepsDisplayP2OnCommand=visible,false -PlayerOptionsP1OnCommand=visible,false -PlayerOptionsP2OnCommand=visible,false - -[PlayerSyncMachine] - -[ScreenHowToInstallSongs] -Class="ScreenSelectMaster" -Fallback="ScreenSelectMaster" -ShowHeader=false - -ShowScroller=true -PerChoiceScrollElement=false -# -ShowIcon=true -UseIconMetrics=false -PerChoiceIconElement=false -# -ScrollerX=SCREEN_LEFT+32 -ScrollerY=SCREEN_CENTER_Y -ScrollerTransform=function(self,offset,itemIndex,numItems) self:y(24*(itemIndex-(numItems-1)/2)); end -ScrollerNumItemsToDraw=20 -ScrollerOffCommand=bouncebegin,0.25;addx,-SCREEN_CENTER_X - -ChoiceNames="WhereToFind,HowToInstall,AdditionalFolders,ReloadSongs,Exit" -ChoiceWhereToFind="urlnoexit,http://code.google.com/p/sm-ssc/wiki/FindingContent;text,"..Screen.String("Finding Songs") -ChoiceHowToInstall="urlnoexit,http://code.google.com/p/sm-ssc/wiki/InstallingContent;text,"..Screen.String("Installing Songs") -ChoiceAdditionalFolders="text,"..Screen.String("Importing Songs") -ChoiceReloadSongs="screen,ScreenReloadSongs;text,"..Screen.String("Reload Songs") -ChoiceExit="screen,"..Branch.TitleMenu()..";text,"..Screen.String("Exit") -DefaultChoice="WhereToFind" - -OptionOrderUp="5:4,4:3,3:2,2:1,1:5" -OptionOrderDown="1:2,2:3,3:4,4:5,5:1" - -[ScreenSMOnlineLogin] - -[ScreenNetSelectBase] - -[ScreenNetSelectMusic] -BPMDisplayX=SCREEN_CENTER_X-160-90+2 -BPMDisplayY=SCREEN_CENTER_Y+156 -BPMDisplayOnCommand=finishtweening;horizalign,left;strokecolor,Color("Outline");maxwidth,128;addx,320;zoomx,0;decelerate,0.35;addx,-320;zoomx,1 -BPMDisplayOffCommand=bouncebegin,0.15;zoomx,0; - -StepsDisplayP1X=SCREEN_CENTER_X-240 -StepsDisplayP1Y=SCREEN_CENTER_Y+185 -StepsDisplayP1OnCommand=horizalign,right;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0 -StepsDisplayP1OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 -#--# -StepsDisplayP2X=SCREEN_CENTER_X-110 -StepsDisplayP2Y=SCREEN_CENTER_Y+185 -StepsDisplayP2OnCommand=horizalign,right;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0 -StepsDisplayP2OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 -#====# - -ShowBPMDisplay=true -BPMDisplayX=SCREEN_CENTER_X+2 -BPMDisplayY=SCREEN_CENTER_Y+188 -BPMDisplayOnCommand=finishtweening;maxwidth,128;horizalign,left;strokecolor,Color("Outline");addx,320;zoomx,0;decelerate,0.35;addx,-320;zoomx,1 -BPMDisplayOffCommand=bouncebegin,0.15;zoomx,0; -#--# -ShowBPMLabel=true -BPMLabelX=SCREEN_CENTER_X -BPMLabelY=SCREEN_CENTER_Y+188 -BPMLabelOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.35;addx,SCREEN_CENTER_X -BPMLabelOffCommand=bouncebegin,0.15;zoomx,0; - -UsersX=SCREEN_CENTER_X-272 -UsersY=SCREEN_CENTER_Y-172 -UsersDX=40 -UsersAY=16 -UsersOnCommand=draworder,2;zoom,0.75;shadowlength,1 -# -ShowDifficultyDisplay=true -DifficultyDisplayX=SCREEN_CENTER_X -DifficultyDisplayY=SCREEN_CENTER_Y+158 -DifficultyDisplayOnCommand=draworder,105;fov,90;zoom,0.75 -DifficultyDisplayOffCommand=linear,0.25;zoomy,0; - -[StepsDisplayNet] - -[ScreenNetRoom] - -[RoomWheel] - -[RoomWheelItem] - -[RoomInfoDisplay] - -[ScreenSMOnlineSelectMusic] - -[ModIcon] - -[ModIconSelectMusic] - -[ModIconRow] - -[ModIconRowSelectMusic] - -[GraphDisplay] - -[ComboGraph] - -[ScreenNetEvaluation] -UserTier02OrBetterCommand=diffuseshift;effectperiod,0.75;effectcolor1,color("1,0.95,0.8,1");effectcolor2,color("0.8,0.95,1,1") - -# Arcade - -[ScreenLogo] -TimerSeconds=10 -ShowLogo=true -LogoX=SCREEN_CENTER_X -LogoY=SCREEN_CENTER_Y-18 -LogoOnCommand=bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.75 -LogoOffCommand=stopeffect;bouncebegin,0.35;zoom,0 - -ArcadeOverlay.TextY=SCREEN_BOTTOM-60 -# - -[ScreenHowToPlay] - -[ScreenTitleJoin] -ShowHelp=false -HelpText=Screen.String("HelpTextTitleJoin") -HelpY=SCREEN_CENTER_Y+100 -HelpOnCommand=visible,false;zoom,1;strokecolor,color("0.125,0.125,0.125,0.5");queuecommand,"Refresh" -HelpCoinIsertedMessageCommand=playcommand,"Refresh" -HelpCoinModeChangedMessageCommand=playcommand,"Refresh" -HelpRefreshCommand=%function(self) \ - local bCanPlay = GAMESTATE:EnoughCreditsToJoin(); \ - local bReady = GAMESTATE:GetNumSidesJoined() > 0; \ - if bCanPlay or bReady then \ - self:SetTipsColonSeperated(THEME:GetString( Var "LoadingScreen","HelpTextPlay")); \ - else \ - self:SetTipsColonSeperated(THEME:GetString( Var "LoadingScreen","HelpTextWait")); \ - end \ -end; -# -LogoX=SCREEN_CENTER_X -LogoY=SCREEN_CENTER_Y-28 -LogoOnCommand=bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.75 -LogoOffCommand=stopeffect;bouncebegin,0.35;rotationz,360;zoom,0 - -VersionInfoX=SCREEN_CENTER_X+114 -VersionInfoY=SCREEN_CENTER_Y+44 -VersionInfoOnCommand=horizalign,right;vertalign,bottom;bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.65;shadowlength,1;shadowcolor,color("0.2,0.2,0.2,0.925"); -ScrollerOnCommand=visible,false; -ArcadeOverlay.TextY=SCREEN_BOTTOM-128 - -[ScreenDemonstration] -SongMeterDisplayOnCommand=visible,false -SongMeterDisplayP1OnCommand=visible,false -SongMeterDisplayP2OnCommand=visible,false -LifeP1OnCommand=visible,false -LifeP2OnCommand=visible,false -ScoreP1OnCommand=visible,false -ScoreP2OnCommand=visible,false -StepsDisplayP1OnCommand=zoomy,0;linear,0.3;zoomy,1;sleep,3;smooth,0.5;y,SCREEN_BOTTOM-20;zoomy,0 -StepsDisplayP2OnCommand=zoomy,0;linear,0.3;zoomy,1;sleep,3;smooth,0.5;y,SCREEN_BOTTOM-20;zoomy,0 -ShowBPMDisplay=false - -[ScreenJukeboxMenu] - -[ScreenJukebox] - -[ScreenCredits] +# 01 # +[Global] +FallbackTheme=_fallback + +[Common] +FirstAttractScreen="" +AutoSetStyle=ThemePrefs.Get("AutoSetStyle") + +# 02 # +[LightsManager] + +[ProfileManager] + +[SongManager] +SongGroupColor1=BoostColor(Color("Orange"),1.2) +SongGroupColor2=BoostColor(Color("Orange"),1.25) +SongGroupColor3=BoostColor(Color("Orange"),1.25) +SongGroupColor4=BoostColor(Color("Orange"),1.25) +SongGroupColor5=BoostColor(Color("Orange"),1.25) +SongGroupColor6=BoostColor(Color("Orange"),1.25) +SongGroupColor7=BoostColor(Color("Orange"),1.25) +SongGroupColor8=BoostColor(Color("Orange"),1.25) +SongGroupColor9=BoostColor(Color("Orange"),1.25) +SongGroupColor10=BoostColor(Color("Orange"),1.25) + +CourseGroupColor1=color("1,1,1,1") + +[UnlockManager] + +# 03 # +[ArrowEffects] + +[Background] + +[Banner] + +[BitmapText] +NumRainbowColors=1 +RainbowColor1=Color("Black"); + +[BPMDisplay] +SetNoBpmCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,Color("White");diffusebottomedge,BoostColor(Color("White"),0.875); +SetNormalCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,Color("White");diffusebottomedge,BoostColor(Color("White"),0.875); +SetChangeCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,Color("White");diffusebottomedge,BoostColor(Color("White"),0.875); +SetRandomCommand=stoptweening;maxwidth,128;linear,0.2;diffuse,color("Green");textglowmode,'TextGlowMode_Inner';glowshift;effectcolor1,color("1,1,1,0.05");effectcolor2,color("1,1,1,0.325"); +SetExtraCommand=stoptweening;maxwidth,128;linear,0.2;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.5);diffuseshift;effectcolor1,color("1,1,1,1");effectcolor2,color("0.475,0.475,0.475,1"); +RandomCycleSpeed=0.2 -- smaller numbers mean the bpm cycles faster + +[CodeDetector] +# For Future Reference: +# @ = Holding +# - = In Conjuction With / Then +# ~ = Released +# + = At The Same Time + +[CodeDetectorOnline] + +[CombinedLifeMeterTug] +# We don't use it. +MeterWidth=512-8 +MeterHeight=40 + +[Combo] +ShowComboAt=2 + +LabelMinZoom=0.875*1 +LabelMaxZoom=0.875*1 + +PulseCommand=%function(self,param) self:finishtweening(); self:diffusealpha(1); self:zoom(1.05*param.Zoom); self:linear(0.05); self:zoom(param.Zoom); self:sleep(2); self:linear(0.5); self:diffusealpha(0); end; +PulseLabelCommand=%function(self,param) self:finishtweening(); self:diffusealpha(1); self:zoom(1.0125*param.LabelZoom); self:linear(0.05); self:zoom(param.LabelZoom); self:sleep(2); self:linear(0.5); self:diffusealpha(0); end; +NumberOnCommand=y,240-216-1.5;shadowlength,1;horizalign,right;vertalign,bottom;skewx,-0.125; + +ComboLabelOnCommand=x,0;y,23;shadowlength,1;zoom,0.75;align,0,1 +MissLabelOnCommand=x,0;y,23;shadowlength,1;zoom,0.75;align,0,1 + +[HoldJudgment] +HoldJudgmentLetGoCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1;linear,0.8;zoom,0.75;sleep,0.5;linear,0.1;diffusealpha,0 +HoldJudgmentHeldCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1;linear,0.3;zoom,0.75;sleep,0.5;linear,0.1;diffusealpha,0 + +[HelpDisplay] +TipShowTime=7 + +[Judgment] +JudgmentW1Command=finishtweening;shadowlength,0;y,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;glowblink;effectperiod,0.05;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.25") +JudgmentW2Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 +JudgmentW3Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.2;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0; +JudgmentW4Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.1;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0; +JudgmentW5Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.0;vibrate;effectmagnitude,1,2,2;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 +JudgmentMissCommand=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1;y,-20;linear,0.8;y,20;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 +# Late/Early +OffsetOnCommand= +OffsetLateCommand= +OffsetEarlyCommand= + +[Protiming] +ProtimingOnCommand=shadowlength,1;horizalign,right;x,30;strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; +AverageOnCommand=shadowlength,1;horizalign,left;x,32;y,8;zoom,0.75;diffuse,ColorLightTone( Color("Green") );strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; +TextOnCommand=shadowlength,1;horizalign,left;x,32;y,-6;zoom,0.5;strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; +# +ProtimingW1Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W1"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingW2Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W2"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingW3Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W3"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingW4Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W4"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingW5Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W5"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingMissCommand=finishtweening;diffusealpha,1;zoom,1.15;glow,GameColor.Judgment["JudgmentLine_Miss"];linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_Miss"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +# +AveragePulseCommand=finishtweening;diffusealpha,1;zoom,0.75*1.025;decelerate,0.05;zoom,0.75;sleep,2;linear,0.5;diffusealpha,0; +TextPulseCommand=finishtweening;diffusealpha,1;zoom,0.5*1.025;decelerate,0.05;zoom,0.5;sleep,2;linear,0.5;diffusealpha,0; + +[Course] + +[CustomDifficulty] + +[DifficultyList] +ItemsSpacingY=24 +NumShownItems=8 + +[FadingBanner] +BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;accelerate,0.05;glow,Color.Alpha( Color("White"), 0.45 );decelerate,0.175;diffusealpha,0;glow,Color("Invisible"); + +[Gameplay] + +[GameState] + +[GrooveRadar] + +[GroupList] + +[HighScore] + +[Inventory] + +[LifeMeterBar] +OverOnCommand=diffuse,Color("Orange");diffuserightedge,BoostColor(Color("Orange"),1.5) + +[LifeMeterBattery] +BatteryBlinkTime=0.5 +# +BatteryP1X=0 +BatteryP1Y=0 +BatteryP2X=0 +BatteryP2Y=0 +# +NumLivesP2OnCommand=zoomx,-1 +NumLivesP2LoseLifeCommand=zoomx,-1.5;zoomy,1.5;linear,0.15;zoomx,-1;zoomy,1 + +[LifeMeterBattery Percent] +# still asking for this even though it's in fallback... -aj +Format= +# +PercentP2OnCommand=zoom,0.7;zoomx,-0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2) +DancePointsP2OnCommand=zoom,0.7;zoomx,-0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2) + +[LifeMeterTime] + +[LyricDisplay] + +[NotesWriterSM] + +[OptionRow] +TitleOnCommand=shadowlength,0;skewx,-0.1;uppercase,true;wrapwidthpixels,136;maxheight,42;zoom,0.6 +TitleGainFocusCommand=stoptweening;zoom,0.6375*1.125;bounceend,0.2;diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);strokecolor,Color("Black");zoom,0.6375; +# TitleGainFocusCommand=stoptweening;zoom,0.6375*1.25;bounceend,0.2;diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);strokecolor,Color("Black");zoom,0.6375;thump;effectmagnitude,1,1.05,1;effectclock,'beat' +TitleLoseFocusCommand=diffuse,Color("White");strokecolor,Color("Black");stopeffect; + +[OptionRowService] + +[OptionRowExit] +FrameOnCommand=visible,true;diffuse,Color("Red"); +FrameX=SCREEN_CENTER_X + +ItemsMinBaseZoom=1 +ItemOnCommand=shadowlength,1;zoom,0.8;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.75);shadowcolor,BoostColor(Color("Red"),0.35) +ItemGainFocusCommand=stoptweening;linear,0.2;zoom,1;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.75) +ItemLoseFocusCommand=stoptweening;decelerate,0.5;zoom,0.8; +ColorSelected=Color("Red") +ColorNotSelected=Color("Red") +ColorDisabled=Color("Red") + +ItemsLongRowP1X=SCREEN_CENTER_X-1024 +ItemsLongRowP2X=SCREEN_CENTER_X+1024 +ItemsLongRowSharedX=SCREEN_CENTER_X + +[OptionsCursor] + +[OptionsCursorP1] +LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_1) +MiddleOnCommand=;diffuse,PlayerColor(PLAYER_1) +RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_1) + +[OptionsCursorP2] +LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_2) +MiddleOnCommand=;diffuse,PlayerColor(PLAYER_2) +RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_2) + +[OptionsUnderline] + +[OptionsUnderlineP1] +LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_1) +MiddleOnCommand=;diffuse,PlayerColor(PLAYER_1) +RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_1) + +[OptionsUnderlineP2] +LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_2) +MiddleOnCommand=;diffuse,PlayerColor(PLAYER_2) +RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_2) + +[MenuTimer] +Text1OnCommand=stopeffect;stoptweening;halign,1;shadowlength,0;strokecolor,Color("Outline") +Text1FormatFunction=function(fSeconds) fSeconds=math.floor(fSeconds); return string.format("%02.0f",fSeconds) end + +Text2OnCommand=x,2;y,-3;stopeffect;stoptweening;halign,0;shadowlength,0;strokecolor,Color("Outline");zoom,0.65 +Text2FormatFunction=function(fSeconds) local remainder=fSeconds-math.floor(fSeconds); local digit=math.floor(remainder*100); return string.format("%02.0f",digit) end + +Warning10Command=diffuseshift;effectperiod,1;effectcolor2,Color("Red");effectcolor1,color("0.5,0,0,1"); + +[MenuTimerNoSound] + +[MusicWheel] +SwitchSeconds=0.08 +LockedInitialVelocity=7 + +; linear wheel example: +; ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ +; self:y(offsetFromCenter*38); \ +; end; +; 3D wheel example: +; ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ +; local curve = math.pi; \ +; local WHEEL_3D_RADIUS = 245; \ +; local rotationx_radians = scale(offsetFromCenter,-numItems/2,numItems/2,-curve/2,curve/2); \ +; self:x( 0 - math.cos(offsetFromCenter/math.pi) ); \ +; self:y( WHEEL_3D_RADIUS * math.sin(rotationx_radians) ); \ +; self:z( -100 + WHEEL_3D_RADIUS * math.cos(rotationx_radians) ); \ +; self:rotationx( rotationx_radians * 180/math.pi ); --[[ to degrees end]] \ +; end; +ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:x( (1-math.cos(offsetFromCenter/math.pi))*44 ); self:y( offsetFromCenter*46 ); end +MusicWheelSortOnCommand=fov,90; +MusicWheelSortOffCommand=fov,90; +MusicWheelItemSortOnCommand=zoomy,0;bounceend,0.15;zoomy,1 +MusicWheelItemSortOffCommand=linear,0.175;zoomy,0 +HighlightOnCommand=diffuseshift;effecttiming,(1/8),0,(7/8),0;effectcolor2,Color("White");effectcolor1,color("1,1,1,0.5");effectclock,'beatnooffset' +HighlightSortOnCommand=stoptweening;decelerate,0.125;glow,Color("Stealth");zoom,1 +HighlightSortOffCommand=stoptweening;accelerate,0.125;glow,Color("Orange");zoom,1.05 +WheelItemOnDelayOffset=0.04 +WheelItemOffDelayOffset=0.04 + +SectionColor1=Color("Orange") +# +SongRealExtraColor=Color("Red") +SortMenuColor=Color("Orange") + +# + +UseEasyMarkerFlag=true + + +[CourseWheel] + +[OniWheel] +Fallback="CourseWheel" +ModeMenuChoiceNames="Oni,Survival" + +[OnlineMusicWheel] + +[MusicWheelItem] +WheelNotifyIconX=-128-16+0.5 +WheelNotifyIconOnCommand=shadowlength,2; +# +SongNameX=-120 +# +CourseX=-120 +CourseOnCommand=maxwidth,208;horizalign,left +# +SectionExpandedX=-38 +SectionExpandedY=-2 +SectionExpandedOnCommand=maxwidth,194;shadowlength,1;shadowcolor,color("0.1,0.1,0.1,0.25") +# +SectionCollapsedX=-38 +SectionCollapsedY=-2 +SectionCollapsedOnCommand=maxwidth,194;shadowlength,1;shadowcolor,color("0.1,0.1,0.1,0.2") +# +SectionCountX=120 +SectionCountOnCommand=zoom,0.75;strokecolor,Color("Outline") +# +RouletteOnCommand=maxwidth,400;shadowlength,1;basezoom,0.75;rainbowscroll,true;pulse;effectmagnitude,1,1.125,1;effectperiod,3 +# +SortX=-132 +SortY=-2 +SortOnCommand=maxwidth,256;horizalign,left;shadowlength,1;shadowcolor,color("0,0,0,0.325") +# +ModeX=-132 +ModeY=-2 +ModeOnCommand=maxwidth,256;horizalign,left;strokecolor,Color("Outline") +# +GradeP1X=106+16 +GradeP1Y=-8 +GradeP2X=110+16 +GradeP2Y=8 + +[NoteField] +ShowBoard=GAMESTATE:GetCurrentGame():GetName() == "kb7" + +[PlayerStageStats] + +[Player] +# In The Groove +# ReceptorArrowsYStandard=-125 +# ReceptorArrowsYReverse=145 +# StepMania Alpha 4 +# ~ ReceptorArrowsYStandard=-144 +# ~ ReceptorArrowsYReverse=144 +# SM5's default uses a UserPreference for this. +ReceptorArrowsYStandard=GetTapPosition('Standard') +ReceptorArrowsYReverse=GetTapPosition('Reverse') +ComboUnderField=ComboUnderField() +RollBodyIncrementsCombo=ThemePrefs.Get("ComboOnRolls") + +[PlayerOptions] + +[PlayerShared] + +[Profile] + +[RadarValues] + +[RollingNumbers] + +[RollingNumbersEvaluation] + +[RollingNumbersJudgment] + +[ScoreDisplayNormal] +TextOnCommand=shadowlength,1;diffusebottomedge,BoostColor(Color('White'),0.75) + +[ScoreDisplayOni] +TextX= +TextY= +TextOnCommand=shadowlength,1;diffusebottomedge,BoostColor(Color('White'),0.75) +TextOffCommand= + +[ScoreDisplayOni Numbers] +TextX= +TextY= +TextOnCommand=shadowlength,1;diffusebottomedge,BoostColor(Color('White'),0.75) +TextOffCommand= + +[ScoreDisplayLifeTime] +FrameOnCommand=visible,false;spin +# +TimeRemainingY=80 +TimeRemainingOnCommand=zoom,1;shadowlength,1; +# +DeltaSecondsOnCommand=y,80;spin; +DeltaSecondsGainLifeCommand=zoom,0.5; + +[ScoreDisplayPercentage Percent] +PercentP1OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_1);diffusetopedge,BoostColor(PlayerColor(PLAYER_1),1.5) +PercentP2OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_2);diffusetopedge,BoostColor(PlayerColor(PLAYER_2),1.5) + +[ScoreDisplayRave] +MeterP1OnCommand=draworder,-1;texcoordvelocity,1,0 +MeterP2OnCommand=draworder,-1;zoomx,-1;texcoordvelocity,1,0 +LevelP1OnCommand=draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_1) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );x,-144;skewx,-0.125; +LevelP2OnCommand=draworder,105;draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_2) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );x,144;skewx,-0.125; + +[ScoreKeeperRave] + +[ScreenEvaluation Percent] +# TODO: Better name? +PercentP1OnCommand=horizalign,right;shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) ); +PercentP2OnCommand=horizalign,right;shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) ); +PercentRemainderP1OnCommand=horizalign,left;shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) ); +PercentRemainderP2OnCommand=horizalign,left;shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) ); +DancePointsP1X=0 +DancePointsP1Y=0 +DancePointsP1OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) ); +DancePointsP1OffCommand= +DancePointsP2X=0 +DancePointsP2Y=0 +DancePointsP2OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) ); +DancePointsP2OffCommand= +DancePointsDigits=2 +ApplyScoreDisplayOptions=true +PercentDecimalPlaces=2 +PercentTotalSize=5 + +[SoundEffectControl] + +[SoundEffectControl_Off] + +[SoundEffectControl_Speed] + +[SoundEffectControl_Pitch] + +[StepsDisplayListRow] +# TODO: Make this use DifficultyList? +CapitalizeDifficultyNames=false +NumShownItems=5 +ItemsSpacingY=24 +MoveCommand=decelerate,0.3 + +FrameX= + +FrameSetCommand=%function(self,param) \ + if param.CustomDifficulty then \ + self:diffuse(ColorMidTone( CustomDifficultyToColor(param.CustomDifficulty) )); \ + else \ + self:diffuse(color('1,1,1,1')); \ + end; \ +end; +# +NumTicks=10 +MaxTicks=10 +# +ShowMeter=true +MeterX=56 +MeterOnCommand=shadowlength,1;zoom,0.65;textglowmode,'TextGlowMode_Inner'; +MeterSetCommand=%function(self,param) \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ + if param.Meter then \ + if param.Meter >= 10 then \ + self:textglowmode('TextGlowMode_Inner'); \ + self:glowshift(); \ + else \ + self:stopeffect(); \ + end; \ + end; \ +end; +# +ShowDescription=true +DescriptionX=ThemePrefs.Get("AutoSetStyle") and (-64-8+20) or (-64-8) +DescriptionOnCommand=shadowlength,1;horizalign,left;zoom,0.65;maxwidth,128+8-20;uppercase,true; +DescriptionSetCommand=%function(self,param) \ + if self:GetText() == "" then \ + self:settext("Edit"); \ + end; \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ +end; +# +ShowAutogen=true +AutogenX=0 +AutogenY=0 +#AutogenOnCommand=diffuseshift;effectcolor1,Color.Alpha( Color("Green") , 0.5 );effectcolor2,ColorLightTone( Color("Green") ); +AutogenOnCommand=blend,Blend.Add;diffuseshift;effectcolor1,color("#FFCC00FF");effectcolor2,color("#FFCC0088"); +# +ShowStepsType=ThemePrefs.Get("AutoSetStyle") +StepsTypeX=-64-8 +StepsTypeY=0 +StepsTypeOnCommand= +StepsTypeSetCommand= + +[SongMeterDisplay] +StreamWidth=380 + +ContainerX= +ContainerY= +ContainerOnCommand= +ContainerOffCommand= + +FrameX=0 +FrameY=0 +FrameOnCommand=sleep,2;linear,0.25;diffuse,Color("Orange");glow,1,1,1,0.5;decelerate,0.6;glow,1,1,1,0 +FrameOffCommand= + +StreamX=0 +StreamY=0 +StreamOnCommand=0 +StreamOffCommand=0 + +TipX=0 +TipY=0 +TipOnCommand= +TipOffCommand= +[SongMeterDisplayP1] +Fallback="SongMeterDisplay" +FrameOnCommand=sleep,2;linear,0.25;diffuse,PlayerColor(PLAYER_1);glow,1,1,1,0.5;decelerate,0.6;glow,1,1,1,0 +[SongMeterDisplayP2] +Fallback="SongMeterDisplay" +FrameOnCommand=sleep,2;linear,0.25;diffuse,PlayerColor(PLAYER_2);glow,1,1,1,0.5;decelerate,0.6;glow,1,1,1,0 + +[StepsDisplayEvaluation] +Fallback="StepsDisplay" + +[StreamDisplay] +; a simple bar life meter: +; PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) local native_width=32; local zoomed_width=12; self:zoomx(zoomed_width/native_width); self:x((itemIndex-(numItems/2))*zoomed_width); end +# PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ + # local fItemWidth = ( 256 / numItems ) \ + # self:x( ((itemIndex-(numItems/2))*fItemWidth) + ( numItems / 2 ) ); \ + # self:zoomtowidth(fItemWidth); \ + # self:diffuseramp(); \ + # self:effectperiod(4); \ + # self:effectoffset((itemIndex-1)/numItems * -1); \ + # self:effectcolor2(color("1,1,1,1")); \ + # self:effectcolor1(color("0.5,0.5,0.5,1")); \ + # self:effectclock('beatnooffset'); \ +# end; +PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ + local fItemWidth = ( 256 / numItems ) \ + self:x( ((itemIndex-(numItems/2))*fItemWidth) + ( numItems / 2 ) ); \ + self:zoomtowidth(fItemWidth); \ +end; +# PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ + # local fItemWidth = ( 256 / numItems ) \ + # self:x( ((itemIndex-(numItems/2))*fItemWidth) + ( numItems / 2 ) ); \ + # self:zoomtowidth(fItemWidth); \ + # self:diffuseramp(); \ + # self:effecttiming(1,0.01875*itemIndex,1,1-(0.01875*itemIndex)); \ + # self:effectclock('beatnooffset'); \ +# end; +TextureCoordScaleX=256/16 +NumPills=16 + +[TextBanner] +TitleOnCommand=horizalign,left;shadowlength,1; +SubtitleOnCommand=horizalign,left;shadowlength,1; +ArtistOnCommand=horizalign,left;shadowlength,1;skewx,-0.2 +ArtistPrependString="" + +[WheelNotifyIcon] + +[Screen] + +[ScreenDebugOverlay] + +[ScreenSystemLayer] +ShowClock=true +CreditsP1OnCommand=horizalign,left;vertalign,bottom;zoom,0.675;shadowlength,1;diffusebottomedge,PlayerColor(PLAYER_1); +# +CreditsP2OnCommand=horizalign,right;vertalign,bottom;zoom,0.675;shadowlength,1;diffusebottomedge,PlayerColor(PLAYER_2); + +[ScreenConsoleOverlay] + +[ScreenInstallOverlay] + +[ScreenSyncOverlay] + +[ScreenStatsOverlay] + +[ScreenWithMenuElements] +WaitForChildrenBeforeTweening=true + +ScreenInDelay=0 +ScreenOutDelay=0 + +FOV=90 +ShowHeader=true +HeaderX=SCREEN_CENTER_X +HeaderY=SCREEN_TOP +HeaderOnCommand=draworder,5; +HeaderOffCommand= + +ShowFooter=true +FooterX=SCREEN_CENTER_X +FooterY=SCREEN_BOTTOM +FooterOnCommand=draworder,5;vertalign,bottom;zoomtowidth,SCREEN_WIDTH+1;diffuse,color("#ffd400"); +FooterOffCommand= + +ShowHelp=true +HelpX=SCREEN_CENTER_X +HelpY=SCREEN_BOTTOM-16 +HelpOnCommand=SetSecsBetweenSwitches,4;zoom,0.675;maxwidth,480/0.675;shadowlength,1;strokecolor,Color("Black");draworder,105;zoomy,0;zoom,1*0.675;linear,0.175 +HelpOffCommand=linear,0.175;zoomy,0 + +AlternateHelpDisplayX=SCREEN_CENTER_X +AlternateHelpDisplayY=SCREEN_BOTTOM-16 +# AlternateHelpDisplayOnCommand=draworder,105; +AlternateHelpDisplayOnCommand=SetSecsBetweenSwitches,4;zoom,0.675;maxwidth,480/0.675;shadowlength,1;strokecolor,Color("Black");draworder,105;zoomy,0;linear,0.175;zoom,1*0.675;diffusealpha,0 +AlternateHelpDisplayOffCommand=linear,0.175;zoomy,0 + +TimerX=SCREEN_RIGHT-36-4 +TimerY=SCREEN_TOP+22 +TimerOnCommand=draworder,6;visible,PREFSMAN:GetPreference("MenuTimer"); +# TimerOnCommand=fov,90;vanishpoint,SCREEN_RIGHT-36-4,SCREEN_TOP+20;draworder,5;visible,PREFSMAN:GetPreference("MenuTimer");rotationy,90;decelerate,0.4;rotationy,0; +TimerOffCommand= +# TimerOffCommand=accelerate,0.4;rotationx,90; + +StageDisplayNumberOffset=1 + +# +StageDisplayUseShortString=false + +# This is useful +ArcadeOverlayX= +ArcadeOverlayY= +ArcadeOverlayOnCommand=draworder,100 +ArcadeOverlayOffCommand= +# +ArcadeOverlay.TextX=SCREEN_CENTER_X +ArcadeOverlay.TextY=SCREEN_BOTTOM-48 +ArcadeOverlay.TextOnCommand= +ArcadeOverlay.TextOffCommand= + +[ScreenWithMenuElementsBlank] +ShowHeader=false +ShowFooter=false + +[ScreenSelectMaster] + +[ScreenSelectMasterBlank] + +[ScreenTextEntry] +QuestionOnCommand=diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);wrapwidthpixels,600 +AnswerOnCommand=diffuse,Color("Blue");glowshift; + + +[ScreenInit] +PrepareScreens="ScreenTitleMenu,ScreenTitleJoin" +GroupedScreens="ScreenInit,ScreenTitleJoin,ScreenTitleMenu" +PersistScreens="ScreenInit,ScreenTitleJoin,ScreenTitleMenu" + +[ScreenTitleMenu] +ShowHeader=false +ShowFooter=false +# +WrapScroller=false +ScrollerTransform=function(self,offset,itemIndex,numItems) self:y((28)*(itemIndex-(numItems-1)/2)); end; +ScrollerSecondsPerItem=0 +ScrollerNumItemsToDraw=20 +ScrollerX=SCREEN_CENTER_X +ScrollerY=SCREEN_CENTER_Y+80 +ScrollerOnCommand=zoom,0;bounceend,0.35;zoom,1 +# +ShowLogo=true +LogoX=SCREEN_CENTER_X +LogoY=SCREEN_CENTER_Y-68 +LogoOnCommand= +LogoOffCommand= +# +ShowCurrentGametype=true +CurrentGametypeX=SCREEN_WIDTH*0.01 +CurrentGametypeY=SCREEN_HEIGHT*0.1575 +CurrentGametypeOnCommand=vertalign,bottom; +CurrentGametypeOffCommand=linear,0.5;cropleft,1 +# +ShowNumSongs=true +NumSongsX=SCREEN_WIDTH*0.99 +NumSongsY=SCREEN_HEIGHT*0.1575+5 +NumSongsOnCommand=vertalign,bottom;horizalign,right;zoom,0.5;playcommand,"Set" +NumSongsOffCommand= +# +# +ShowTimingDifficulty=true +TimingDifficultyX=SCREEN_LEFT+84 +TimingDifficultyY=SCREEN_TOP+22 +TimingDifficultyOnCommand= +TimingDifficultyOffCommand= +# +ShowLifeDifficulty=true +LifeDifficultyX=SCREEN_LEFT+84 +LifeDifficultyY=SCREEN_TOP+48 +LifeDifficultyOnCommand= +LifeDifficultyOffCommand= +# +ShowSystemDirection=false +SystemDirectionX=SCREEN_LEFT+40 +SystemDirectionY=SCREEN_TOP+24 +SystemDirectionOnCommand= +SystemDirectionOffCommand= +# +ShowVersionInfo=true +VersionInfoX=SCREEN_RIGHT-90 +VersionInfoY=SCREEN_BOTTOM-64 +VersionInfoOnCommand= +VersionInfoOffCommand= +# +ShowNetworkStatus=true +NetworkStatusX=SCREEN_LEFT+12 +NetworkStatusY=SCREEN_HEIGHT*0.85 +NetworkStatusOnCommand=halign,0; +NetworkStatusOffCommand=linear,0.5;cropright,1 +# +HelpY=SCREEN_BOTTOM-24 +# +ChoiceNames="GameStart,Options,Edit,Jukebox,Exit" +DefaultChoice="GameStart" + +[ScreenQuickSetupOverview] +IconStartX=SCREEN_CENTER_X-160 +IconStartY=SCREEN_BOTTOM-60 +IconSetX=SCREEN_CENTER_X-160 +IconSetY=SCREEN_BOTTOM-60 +IconBackX=SCREEN_CENTER_X+160 +IconBackY=SCREEN_BOTTOM-60 + +ExplanationX=SCREEN_CENTER_X +ExplanationY=SCREEN_BOTTOM-100 +ExplanationOnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_WIDTH/0.75; +ExplanationOffCommand= + + +[ScreenProfileLoad] +# +ShowHeader=true +ShowFooter=true +ShowHelp=true + +[ScreenSelectProfile] +WaitForChildrenBeforeTweening=true + +[ScreenSelectStyle] +UpdateOnMesage="" +# +FOV=90 +# +PerChoiceScrollElement=false +PerChoiceIconElement=false +# +Choice7Keys="name,7Keys;style,single7;screen,"..Branch.AfterSelectStyle() +Choice10Keys="name,10Keys;style,double5;screen,"..Branch.AfterSelectStyle() +Choice14Keys="name,14Keys;style,double7;screen,"..Branch.AfterSelectStyle() +ChoiceKB7="name,kb7;style,single;screen,"..Branch.AfterSelectStyle() +# +ShowScroller=false +ShowIcon=true +WrapScroller=false +UseIconMetrics=true +# +IconGainFocusCommand=stoptweening;bounceend,0.125;zoom,1; +IconLoseFocusCommand=stoptweening;decelerate,0.25;zoom,0.8; +# +IconChoiceSingleX=SCREEN_CENTER_X-160 +IconChoiceSingleY=SCREEN_CENTER_Y-96 +IconChoiceSingleOnCommand=zoom,0;bounceend,0.35;zoom,1 +IconChoiceSingleOffCommand=linear,0.1175;zoomx,0 +# +IconChoiceDoubleX=SCREEN_CENTER_X-160 +IconChoiceDoubleY=SCREEN_CENTER_Y +IconChoiceDoubleOnCommand=zoom,0;bounceend,0.35;zoom,1 +IconChoiceDoubleOffCommand=linear,0.1175;zoomx,0 +#### +IconChoiceSoloX=SCREEN_CENTER_X-160 +IconChoiceSoloY=SCREEN_CENTER_Y+96 +IconChoiceSoloOnCommand=zoom,0;bounceend,0.35;zoom,1 +IconChoiceSoloOffCommand=linear,0.1175;zoomx,0 +# +IconChoiceHalfDoubleX=SCREEN_CENTER_X-160 +IconChoiceHalfDoubleY=SCREEN_CENTER_Y+96 +IconChoiceHalfDoubleOnCommand=zoom,0;bounceend,0.35;zoom,1 +IconChoiceHalfDoubleOffCommand=linear,0.1175;zoomx,0 +#### +IconChoiceVersusX=SCREEN_CENTER_X+160 +IconChoiceVersusY=string.find(THEME:GetMetric("ScreenSelectStyle","ChoiceNames"),"Routine") and SCREEN_CENTER_Y-96 or SCREEN_CENTER_Y-48 +IconChoiceVersusOnCommand=zoom,0;bounceend,0.35;zoom,1 +IconChoiceVersusOffCommand=linear,0.1175;zoomx,0 +# +IconChoiceCoupleX=SCREEN_CENTER_X+160 +IconChoiceCoupleY=string.find(THEME:GetMetric("ScreenSelectStyle","ChoiceNames"),"Routine") and SCREEN_CENTER_Y or SCREEN_CENTER_Y+48 +IconChoiceCoupleOnCommand=zoom,0;bounceend,0.35;zoom,1 +IconChoiceCoupleOffCommand=linear,0.1175;zoomx,0 +# +IconChoiceRoutineX=SCREEN_CENTER_X+160 +IconChoiceRoutineY=SCREEN_CENTER_Y+96 +IconChoiceRoutineOnCommand=zoom,0;bounceend,0.35;zoom,1 +IconChoiceRoutineOffCommand=linear,0.1175;zoomx,0 +# +IconChoicekb7X=SCREEN_CENTER_X +IconChoicekb7Y=SCREEN_CENTER_Y +IconChoicekb7OnCommand=zoom,0;bounceend,0.35;zoom,1 +IconChoicekb7OffCommand=linear,0.1175;zoomx,0 +# +IconChoice5KeysX=SCREEN_CENTER_X-160 +IconChoice5KeysY=SCREEN_CENTER_Y-48 +IconChoice5KeysOnCommand=zoom,0;bounceend,0.35;zoom,1 +IconChoice5KeysOffCommand=linear,0.1175;zoomx,0 +# +IconChoice7KeysX=SCREEN_CENTER_X-160 +IconChoice7KeysY=SCREEN_CENTER_Y+48 +IconChoice7KeysOnCommand=zoom,0;bounceend,0.35;zoom,1 +IconChoice7KeysOffCommand=linear,0.1175;zoomx,0 +# +IconChoice10KeysX=SCREEN_CENTER_X+160 +IconChoice10KeysY=SCREEN_CENTER_Y-48 +IconChoice10KeysOnCommand=zoom,0;bounceend,0.35;zoom,1 +IconChoice10KeysOffCommand=linear,0.1175;zoomx,0 +# +IconChoice14KeysX=SCREEN_CENTER_X+160 +IconChoice14KeysY=SCREEN_CENTER_Y+48 +IconChoice14KeysOnCommand=zoom,0;bounceend,0.35;zoom,1 +IconChoice14KeysOffCommand=linear,0.1175;zoomx,0 + +[ScreenSelectPlayMode] +PersistScreens="ScreenSelectPlayMode,ScreenSelectMusic" +# +ScreenOutDelay=3 +# +DefaultChoice="Easy" +# ChoiceNames="Normal,Extended" +# +PerChoiceIconElement=false +# +ShowScroller=true +WrapScroller=true +ScrollerX=SCREEN_CENTER_X +ScrollerY=SCREEN_CENTER_Y-60 +ScrollerOnCommand=SetFastCatchup,true; +ScrollerOffCommand=decelerate,0.8;y,SCREEN_CENTER_Y;sleep,2;linear,0.1;zoomy,0 +# +ShowBackgroundFrame=true +BackgroundFrameX=SCREEN_CENTER_X +BackgroundFrameY=SCREEN_CENTER_Y-60 +BackgroundFrameOnCommand=diffuse,Color("Black");diffusealpha,0.7 +BackgroundFrameOffCommand=decelerate,0.8;y,SCREEN_CENTER_Y;sleep,2;linear,0.1;zoomy,0 +# +ShowIcon=true +UseIconMetrics=true +# +IconGainFocusCommand=stoptweening;glowshift;decelerate,0.125;zoom,1; +IconLoseFocusCommand=stoptweening;stopeffect;decelerate,0.125;zoom,0.6; +# IconMinZoom=0.5 +# IconBaseZoom=0.6 +# +IconChoiceEasyX=SCREEN_CENTER_X-(240*(5/6)) +IconChoiceEasyY=SCREEN_BOTTOM-88-64 +IconChoiceEasyOnCommand=zoom,0;bounceend,0.35;zoom,0.8 +IconChoiceEasyOffCommand=linear,0.1175;zoomx,0 +# +IconChoiceNormalX=SCREEN_CENTER_X-80 +IconChoiceNormalY=SCREEN_BOTTOM-88-64 +IconChoiceNormalOnCommand=zoom,0;bounceend,0.35;zoom,0.8 +IconChoiceNormalOffCommand=linear,0.1175;zoomx,0 +# +IconChoiceHardX=SCREEN_CENTER_X+(80*(5/6)) +IconChoiceHardY=SCREEN_BOTTOM-88-64 +IconChoiceHardOnCommand=zoom,0;bounceend,0.35;zoom,0.8 +IconChoiceHardOffCommand=linear,0.1175;zoomx,0 +# +IconChoiceRaveX=SCREEN_CENTER_X+80 +IconChoiceRaveY=SCREEN_BOTTOM-88-64 +IconChoiceRaveOnCommand=zoom,0;bounceend,0.35;zoom,0.8 +IconChoiceRaveOffCommand=linear,0.1175;zoomx,0 +# +IconChoiceNonstopX=SCREEN_CENTER_X-160 +IconChoiceNonstopY=SCREEN_BOTTOM-88 +IconChoiceNonstopOnCommand=zoom,0;bounceend,0.35;zoom,0.8 +IconChoiceNonstopOffCommand=linear,0.1175;zoomx,0 +# +IconChoiceOniX=SCREEN_CENTER_X +IconChoiceOniY=SCREEN_BOTTOM-88 +IconChoiceOniOnCommand=zoom,0;bounceend,0.35;zoom,0.8 +IconChoiceOniOffCommand=linear,0.1175;zoomx,0 +# +IconChoiceEndlessX=SCREEN_CENTER_X+160 +IconChoiceEndlessY=SCREEN_BOTTOM-88 +IconChoiceEndlessOnCommand=zoom,0;bounceend,0.35;zoom,0.8 +IconChoiceEndlessOffCommand=linear,0.1175;zoomx,0 + +[ScreenSelectCharacter] + +[ScreenGameInformation] + +[ScreenSelectMusic] +UsePlayerSelectMenu=false +# OptionsMenuAvailable=(getenv(sMode) ~= Oni) +SelectMenuAvailable=true +# ModeMenuAvailable=(getenv(sMode) == Normal) +# HelpDisplay has things added here to make sure it disappears for another +# actor, which we defined in this screens decorations. +HelpSelectMenuOpenedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675;accelerate,0.125;diffusealpha,0;zoom,0.675*0.75; +HelpSelectMenuClosedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675*0.75;bouncebegin,0.125;diffusealpha,1;zoom,0.675 +# Clone everything from HelpDisplay: we're lazy +ShowAlternateHelpDisplay=true +# AlternateHelpDisplaySelectMenuOpenedMessageCommand=stoptweening;y,SCREEN_BOTTOM-16;accelerate,0.0725/2;y,SCREEN_BOTTOM-16-16;diffusealpha,1;decelerate,0.0725/2;y,SCREEN_BOTTOM-16-32; +# AlternateHelpDisplaySelectMenuClosedMessageCommand=stoptweening;y,SCREEN_BOTTOM-16;smooth,0.125;y,SCREEN_BOTTOM-16;diffusealpha,0; +AlternateHelpDisplaySelectMenuOpenedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675*1.25;bounceend,0.2;diffusealpha,1;zoom,0.675; +AlternateHelpDisplaySelectMenuClosedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675;accelerate,0.125;diffusealpha,0;zoom,0.675*0.75; +# +MusicWheelX=SCREEN_CENTER_X+160 +MusicWheelY=SCREEN_CENTER_Y +MusicWheelOnCommand=draworder,-5;fov,90;vanishpoint,SCREEN_CENTER_X+160,SCREEN_CENTER_Y;addx,SCREEN_CENTER_X;decelerate,0.35;addx,-SCREEN_CENTER_X +MusicWheelOffCommand=bouncebegin,0.15;zoomx,0; +# +ShowNewSong=not GAMESTATE:IsCourseMode() +NewSongX=SCREEN_CENTER_X-160+128-30 +NewSongY=SCREEN_TOP+160-2 +NewSongOnCommand=finishtweening;diffuse,Color("Orange");diffusetopedge,Color("Yellow");strokecolor,Color("Black");zoom,0.675;draworder,106;playcommand,"Set" +NewSongOffCommand=bouncebegin,0.135;zoom,0;diffusealpha,0 +NewSongShowCommand=finishtweening;diffusealpha,1;glowshift;effectclock,'bgm';effectperiod,4;textglowmode,'TextGlowMode_Inner'; +NewSongHideCommand=finishtweening;;diffusealpha,0;stopeffect; +# +ShowSongTime=true +SongTimeX=SCREEN_CENTER_X-160 +SongTimeY=SCREEN_TOP+160+(36/2)+8 +SongTimeOnCommand=zoom,0.75;strokecolor,Color("Outline");shadowlength,1 +SongTimeOffCommand=bouncebegin,0.15;zoom,0;diffusealpha,0; +SongTimeResetCommand=diffuse,Color("White"); +SongTimeAutogenCommand=diffuse,Color("Green"); +SongTimeLongCommand=diffuse,Color("Yellow");diffusebottomedge,Color("Orange"); +SongTimeMarathonCommand=diffuse,Color("Orange");diffusebottomedge,Color("Red"); +# +ShowSortOrderFrame=true +SortOrderFrameX=SCREEN_CENTER_X+128+32 +SortOrderFrameY=SCREEN_TOP+24 +SortOrderFrameOnCommand=draworder,105;shadowlength,1 +SortOrderFrameSortCommand= +SortOrderFrameSongChosenCommand=linear,0.25;diffusealpha,0; +SortOrderFrameOffCommand=bouncebegin,0.15;zoomy,0; +# +ShowSortOrder=true +SortOrderX=SCREEN_CENTER_X+128+32-48+4 +SortOrderY=SCREEN_TOP+24 +SortOrderOnCommand=draworder,105;horizalign,left;strokecolor,Color("Outline");zoom,0.675;maxwidth,114/0.675; +SortOrderSortCommand=finishtweening;zoom,0.675*1.25;diffuse,Color("Yellow");diffusebottomedge,Color("Orange");decelerate,0.5;zoom,0.675;diffuse,Color("White"); +SortOrderSongChosenCommand=linear,0.25;diffusealpha,0; +SortOrderOffCommand=bouncebegin,0.15;zoomy,0; +# +ShowStageDisplay=true +StageDisplayX=SCREEN_LEFT+200+88 +StageDisplayY=SCREEN_TOP+24+3 +StageDisplayOnCommand=skewx,-0.125;draworder,105;fov,90;zoom,0.675;zoomy,0;sleep,0.35;smooth,0.35;zoomy,0.675 +StageDisplayOffCommand=linear,0.25;zoomy,0; +# +ShowDifficultyDisplay=not ThemePrefs.Get("AutoSetStyle") and not GAMESTATE:IsCourseMode() +DifficultyDisplayX=SCREEN_CENTER_X-160 +DifficultyDisplayY=SCREEN_TOP+160-96+2 +DifficultyDisplayOnCommand=draworder,105;fov,90;zoom,1;zoomy,0;sleep,0.35;smooth,0.35;zoomy,1 +DifficultyDisplayOffCommand=linear,0.25;zoomy,0; +# +BannerX=SCREEN_CENTER_X-160 +BannerY=SCREEN_TOP+160-36+4 +BannerOnCommand=draworder,-1;scaletoclipped,256,80;visible,true;ztest,1;addy,-SCREEN_CENTER_Y;decelerate,0.35;addy,SCREEN_CENTER_Y +BannerOffCommand=bouncebegin,0.15;zoomx,0; +# +ShowBannerFrame=true +BannerFrameX=SCREEN_CENTER_X-160 +BannerFrameY=SCREEN_TOP+160-36+4 +BannerFrameOnCommand=draworder,105;addy,-SCREEN_CENTER_Y;decelerate,0.35;addy,SCREEN_CENTER_Y +BannerFrameOffCommand=bouncebegin,0.15;zoomx,0; +# +ShowBPMDisplay=true +BPMDisplayX=SCREEN_CENTER_X-160-90+2 +BPMDisplayY=SCREEN_TOP+160+(36/2)+8 +BPMDisplayOnCommand=finishtweening;maxwidth,128;horizalign,left;strokecolor,Color("Outline");addx,320;zoomx,0;decelerate,0.35;addx,-320;zoomx,1 +BPMDisplayOffCommand=bouncebegin,0.15;zoomx,0; +# +ShowBPMLabel=true +BPMLabelX=SCREEN_CENTER_X-160-90 +BPMLabelY=SCREEN_TOP+160+(36/2)+6 +BPMLabelOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.35;addx,SCREEN_CENTER_X +BPMLabelOffCommand=bouncebegin,0.15;zoomx,0; +# +ShowSegmentDisplay=not GAMESTATE:IsCourseMode() +SegmentDisplayX=SCREEN_CENTER_X-160 +SegmentDisplayY=SCREEN_TOP+160-36+4 +# +ShowDifficultyList=not GAMESTATE:IsCourseMode(); +DifficultyListX=SCREEN_CENTER_X-160 +DifficultyListY=SCREEN_TOP+216 +DifficultyListOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.35;addx,SCREEN_CENTER_X; +DifficultyListOffCommand=bouncebegin,0.15;zoomx,0; +# +DifficultyListTweenOnCommand=stoptweening;bounceend,0.135;zoomx,1 +DifficultyListTweenOffCommand=stoptweening;bouncebegin,0.135;zoomx,0 +# Shrink the difficultylist for viewing panedisplays; +# DifficultyListSelectMenuOpenedMessageCommand=stoptweening;decelerate,0.125;zoom,0.5; +# DifficultyListSelectMenuClosedMessageCommand=stoptweening;accelerate,0.0725;zoom,1; +# +ShowPaneDisplayFrameP1=true +PaneDisplayFrameP1X=SCREEN_CENTER_X-160 +PaneDisplayFrameP1Y=SCREEN_BOTTOM-112-2 +PaneDisplayFrameP1OnCommand=player,PLAYER_1;diffuse,Color("Orange");zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1 +PaneDisplayFrameP1OffCommand=bouncebegin,0.15;zoomx,0; +PaneDisplayFrameP1PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_1 then self:playcommand("On") end end +# +ShowPaneDisplayTextP1=true +PaneDisplayTextP1X=SCREEN_CENTER_X-160 +PaneDisplayTextP1Y=SCREEN_BOTTOM-122-2 +PaneDisplayTextP1OnCommand=player,PLAYER_1;zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1 +PaneDisplayTextP1OffCommand=bouncebegin,0.15;zoomx,0; +PaneDisplayTextP1PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_1 then self:playcommand("On") end end +# +ShowPaneDisplayFrameP2=true +PaneDisplayFrameP2X=SCREEN_CENTER_X+160 +PaneDisplayFrameP2Y=SCREEN_BOTTOM-112-2 +PaneDisplayFrameP2OnCommand=player,PLAYER_2;diffuse,Color("Orange");zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1 +PaneDisplayFrameP2OffCommand=bouncebegin,0.15;zoomx,0; +PaneDisplayFrameP2PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_2 then self:playcommand("On") end end +# +ShowPaneDisplayTextP2=true +PaneDisplayTextP2X=SCREEN_CENTER_X+160 +PaneDisplayTextP2Y=SCREEN_BOTTOM-122-2 +PaneDisplayTextP2OnCommand=player,PLAYER_2;zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1 +PaneDisplayTextP2OffCommand=bouncebegin,0.15;zoomx,0; +PaneDisplayTextP2PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_2 then self:playcommand("On") end end +# +ShowCourseContentsList=false +CourseContentsListX=SCREEN_CENTER_X-160 +CourseContentsListY=SCREEN_TOP+216+6 +CourseContentsListOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.35;addx,SCREEN_CENTER_X +CourseContentsListOffCommand=bouncebegin,0.15;zoomx,0; +# +ShowNumCourseSongs=GAMESTATE:IsCourseMode() +NumCourseSongsX=SCREEN_CENTER_X-160+128 +NumCourseSongsY=SCREEN_TOP+160+(36/2)+8 +NumCourseSongsOnCommand=zoom,0.75;strokecolor,Color("Outline");shadowlength,1 +NumCourseSongsOffCommand=bouncebegin,0.15;zoom,0;diffusealpha,0; +# +ShowSongOptions=true +SongOptionsX=SCREEN_CENTER_X +SongOptionsY=SCREEN_CENTER_Y +SongOptionsOnCommand=visible,false;draworder,1000 +SongOptionsOffCommand= +#-- +SongOptionsShowCommand=visible,true;uppercase,true;zoom,1.2;settext,THEME:GetString("ScreenSelectMusic","Press Start For Options");decelerate,0.3;zoom,1; +SongOptionsEnterCommand=uppercase,true;settext,THEME:GetString("ScreenSelectMusic","Entering Options");sleep,0.5;linear,0.3;zoomy,0; +SongOptionsHideCommand=linear,0.3;zoomy,0; +# +ShowSongOptionsFrame=true +SongOptionsFrameX=SCREEN_CENTER_X +SongOptionsFrameY=SCREEN_CENTER_Y +SongOptionsFrameOnCommand=visible,false;draworder,1000 +SongOptionsFrameOffCommand= +#-- +SongOptionsFrameShowCommand=visible,true;diffuse,Color("Orange");diffusealpha,0.5;zoomy,40*1.5;linear,1.5;zoomy,40; +SongOptionsFrameEnterCommand=sleep,0.5;linear,0.3;diffusealpha,0; +SongOptionsFrameHideCommand=linear,0.3;diffusealpha,0 +# +CDTitleX=SCREEN_CENTER_X-160+90 +CDTitleY=SCREEN_TOP+160+(36/2)+8 +CDTitleFrontCommand=diffuse,color('0.5,0.5,0.5,1');cullmode,'CullMode_Front' +CDTitleBackCommand=cullmode,'CullMode_Back' +CDTitleOnCommand=draworder,106;shadowlength,1;zoom,0.75;diffusealpha,1;zoom,0;bounceend,0.35;zoom,0.75;spin;effectmagnitude,0,180,0; +CDTitleOffCommand=bouncebegin,0.15;zoomx,0; +# +# +# +ScoreP1SortChangeCommand=stoptweening; +ScoreP2SortChangeCommand=stoptweening; +ScoreFrameP1SortChangeCommand=stoptweening; +ScoreFrameP2SortChangeCommand=stoptweening; +# +ShowStepsDisplayP1=GAMESTATE:IsHumanPlayer(PLAYER_1) +StepsDisplayP1X=SCREEN_CENTER_X-160 +StepsDisplayP1Y=SCREEN_BOTTOM-60 +StepsDisplayP1OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP1");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y +StepsDisplayP1OffCommand=bouncebegin,0.15;zoomx,0; +# StepsDisplayP1CurrentStepsP1ChangedMessageCommand=stoptweening;zoom,1.2;decelerate,0.1;zoom,1 +# +ShowStepsDisplayP2=GAMESTATE:IsHumanPlayer(PLAYER_2) +StepsDisplayP2X=SCREEN_CENTER_X+160 +StepsDisplayP2Y=SCREEN_BOTTOM-60 +StepsDisplayP2OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP2");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y +StepsDisplayP2OffCommand=bouncebegin,0.15;zoomx,0; +# StepsDisplayP2CurrentStepsP2ChangedMessageCommand=stoptweening;zoom,1.2;decelerate,0.1;zoom,1 +# +ShowPercentScoreP1=true +PercentScoreP1X=SCREEN_CENTER_X-80-1 +PercentScoreP1Y=SCREEN_BOTTOM-60 +PercentScoreP1OnCommand=player,PLAYER_1;addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y +PercentScoreP1OffCommand=bouncebegin,0.15;zoomx,0; +# +ShowPercentScoreP2=true +PercentScoreP2X=SCREEN_CENTER_X+240-1 +PercentScoreP2Y=SCREEN_BOTTOM-60 +PercentScoreP2OnCommand=player,PLAYER_2;addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y +PercentScoreP2OffCommand=bouncebegin,0.15;zoomx,0; + +[ScreenSelectCourse] +MusicWheelType=GAMESTATE:GetPlayMode() == 'PlayMode_Oni' and "OniWheel" or "CourseWheel" +Codes=GAMESTATE:GetPlayMode() == 'PlayMode_Oni' and "OniCodeDetector" or "CourseCodeDetector" +# +ShowDifficultyList=false +ShowCourseContentsList=true +ShowNumCourseSongs=true +# +UsePlayerSelectMenu=false +SelectMenuAvailable=false +# +ShowPaneDisplayFrameP1=false +ShowPaneDisplayTextP1=false +ShowPaneDisplayFrameP2=false +ShowPaneDisplayTextP2=false + + +[CourseCodeDetector] +NextSort1="" +NextSort2="" +NextSort3="" +NextSort4="" +ModeMenu1="" +ModeMenu2="" + +[OniCodeDetector] +Fallback="CodeDetector" + +[StepsDisplay] +FrameLoadCommand=%function(self,param) end; +NumTicks=10 +MaxTicks=14 +TicksX=0 +TicksY=0 +TicksOnCommand=shadowlength,0; +TicksSetCommand=%function(self,param) end; +MeterX=56-32 +MeterY=0 +MeterOnCommand=shadowlength,1;textglowmode,'TextGlowMode_Inner' +MeterSetCommand=%function(self,param) \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ + if param.Meter then \ + if param.Meter >= 100 then \ + self:basezoom(0.8); \ + self:glowshift(); \ + elseif param.Meter >= 10 then \ + self:basezoom(1); \ + self:glowshift(); \ + else \ + self:basezoom(1); \ + self:stopeffect(); \ + end; \ + end; \ +end; +# +ShowDescription=true +DescriptionX=-20-32 +DescriptionY=ThemePrefs.Get("AutoSetStyle") and -5 or 0 +DescriptionOnCommand=shadowlength,1;uppercase,true;zoom,0.75;maxwidth,128+8 +DescriptionSetCommand=%function(self,param) \ + if self:GetText() == "" then \ + self:settext("Edit"); \ + end; \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ +end; +# +ShowAutogen=false +AutogenX=40-32 +AutogenY=0 +AutogenOnCommand= +AutogenSetCommand=%function(self,param) if param.Difficulty then self:diffuse(CustomDifficultyToLightColor(param.Difficulty)); self:strokecolor(CustomDifficultyToDarkColor(param.Difficulty)); end end +# +ShowStepsType=ThemePrefs.Get("AutoSetStyle") +StepsTypeX=-20-32 +StepsTypeY=7 +StepsTypeOnCommand=zoom,0.45 + +[StepsDisplayGameplay] +Fallback="StepsDisplay" + +# +ShowMeter=true +ZeroMeterString="?" +MeterX=56 +MeterY=0 +MeterOnCommand=shadowlength,1;textglowmode,'TextGlowMode_Inner' +MeterSetCommand=%function(self,param) \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ + if param.Meter then \ + if param.Meter >= 100 then \ + self:zoom(0.8); \ + else \ + self:zoom(1); \ + end; \ + end; \ +end; +# +ShowDescription=true +DescriptionX=-20 +DescriptionY=ThemePrefs.Get("AutoSetStyle") and -5 or 0 +DescriptionOnCommand=shadowlength,1;uppercase,true;zoom,0.75;maxwidth,128+8 +DescriptionSetCommand=%function(self,param) \ + if self:GetText() == "" then \ + self:settext("Edit"); \ + end; \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ + (cmd(finishtweening;diffusealpha,0;addx,-4;smooth,0.125;addx,4;diffusealpha,1))(self); \ +end; +# +ShowAutogen=false +AutogenX=40 +AutogenY=0 +AutogenOnCommand= +AutogenSetCommand=%function(self,param) if param.Difficulty then self:diffuse(CustomDifficultyToLightColor(param.Difficulty)); self:strokecolor(CustomDifficultyToDarkColor(param.Difficulty)); end end +# +ShowStepsType=ThemePrefs.Get("AutoSetStyle") +StepsTypeX=-20 +StepsTypeY=7 +StepsTypeOnCommand=zoom,0.45 + +[ScreenOptions] +DisqualifyP1X=SCREEN_CENTER_X-176 +DisqualifyP1Y=SCREEN_BOTTOM-98 +DisqualifyP1OnCommand=draworder,100;zoom,0.5;shadowlength,1;player,PLAYER_1 +DisqualifyP2X=SCREEN_CENTER_X+176 +DisqualifyP2Y=SCREEN_BOTTOM-98 +DisqualifyP2OnCommand=draworder,100;zoom,0.5;shadowlength,1;player,PLAYER_2 + +ContainerOnCommand=x,-SCREEN_WIDTH;decelerate,0.35;x,SCREEN_LEFT +CursorOnCommand= + +LineHighlightOnCommand=cropleft,0.1;cropright,0.1;zoomx,1.25;fadeleft,0.05;faderight,0.05;diffuseshift;effectcolor2,color("1,1,1,0.5");effectcolor1,color("1,1,1,0.25");effectclock,'beat' +LineHighlightChangeCommand=linear,0.1;diffuse,Color("White");diffuseshift;effectcolor2,color("1,1,1,0.5");effectcolor1,color("1,1,1,0.25") +LineHighlightChangeToExitCommand=linear,0.1;diffuse,Color("Red");diffuseshift;effectcolor2,color("1,0,0,0.5");effectcolor1,color("1,0,0,0.25") + +[ScreenOptionsMaster] + +[ScreenOptionsSimple] + +[ScreenOptionsSimpleService] + +[ScreenOptionsService] +ShowHeader=false + +LineNames="Sync,GameType,KeyConfig,TestInput,Input,Reload,Arcade,Appearance,Theme,GraphicSound,Profiles,Network,UI,Advanced,Credits" +LineTheme="gamecommand;screen,ScreenOptionsTheme;name,Theme Options" + +# ScreenOptionsSystemDirection" + +NumRowsShown=14 +RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-170+24*offsetFromCenter) end + +SeparateExitRow=false +SeparateExitRowY=SCREEN_BOTTOM-40 + +[ScreenOptionsExtended] +LineNames="2,Sync,3,10,11,4,12,5,Theme" + +[ScreenOptionsServiceChild] + +[ScreenOptionsServiceExtendedChild] + +[ScreenMiniMenu] +HeaderY=SCREEN_TOP +HeaderOnCommand=draworder,100;visible,false +LineHighlightOnCommand=cropleft,0.1;cropright,0.1;zoomx,1.3;fadeleft,0.25;faderight,0.25;diffusealpha,0.375 +LineHighlightChangeCommand= +LineHighlightChangeToExitCommand= + +[OptionRowMiniMenu] +Fallback="OptionRow" +TitleX=SCREEN_CENTER_X-320+48 +TitleOnCommand=horizalign,left;shadowlength,0;uppercase,true;zoom,0.6375;strokecolor,Color("Black"); +ItemsLongRowP1X=SCREEN_CENTER_X-240 +ItemsLongRowP2X=SCREEN_CENTER_X+240 +ItemsLongRowSharedX=SCREEN_CENTER_X+200 +ItemOnCommand=zoom,0.6375 + +ColorSelected=color("1,1,1,1") +ColorNotSelected=color("0.5,0.5,0.5,1") + +[ScreenMiniMenuContext] +PageOnCommand=visible,false +LineHighlightX=SCREEN_CENTER_X/2 + +TitleX=SCREEN_CENTER_X +TitleOnCommand=shadowlength,1; +ItemsStartX=SCREEN_CENTER_X +ItemsEndX=SCREEN_CENTER_X +ItemsGapX=14 +ItemsLongRowP1X=SCREEN_CENTER_X +ItemsLongRowP2X=SCREEN_CENTER_X +ItemsLongRowSharedX=SCREEN_CENTER_X + +[OptionRowMiniMenuContext] + +[ScreenMapControllers] + +[ScreenTestInput] + +[ScreenOptionsSystemDirection] +LineNames="1,2,3,4,5,6,7,8,9,FlashyCombo,RollCombo,10,11,12,13,14,16,LF,17,18,19,20,21,22" +LineLF="lua,ThemePrefRow('LongFail')" +LineRollCombo="lua,ThemePrefRow('ComboOnRolls')" +LineFlashyCombo="lua,ThemePrefRow('FlashyCombo')" + +[ScreenOptionsGraphicsSound] + +[ScreenOptionsAdvanced] +LineNames="Score,3,4,8,11,13,14,16,28,29,30,RollCombo" +LineRollCombo="lua,ThemePrefRow('ComboOnRolls')" + +[ScreenAppearanceOptions] + +[ScreenOptionsUI] + +[ScreenOptionsInput] + +[ScreenOptionsArcade] + +[ScreenOptionsTheme] +Fallback="ScreenOptionsServiceChild" +NextScreen="ScreenOptionsService" +PrevScreen="ScreenOptionsService" +LineNames="gNotePos,gAuto,gScore,gSDisp,TimingDisplay,gOpts,gLongFail,gComboUnderField,FlashyCombo,GameplayFooter,FancyUIBG" +LinegNotePos="lua,ThemePrefRow('NotePosition')" +LinegScore="lua,ThemePrefRow('GameplayShowScore')" +LinegSDisp="lua,ThemePrefRow('GameplayShowStepsDisplay')" +LineTimingDisplay="lua,ThemePrefRow('TimingDisplay')" +LinegOpts="lua,ThemePrefRow('ShowLotsaOptions')" +LinegAuto="lua,ThemePrefRow('AutoSetStyle')" +LinegLongFail="lua,ThemePrefRow('LongFail')" +LinegComboUnderField="lua,ThemePrefRow('ComboUnderField')" +LineFlashyCombo="lua,ThemePrefRow('FlashyCombo')" +LineGameplayFooter="lua,ThemePrefRow('GameplayFooter')" +LineFancyUIBG="lua,ThemePrefRow('FancyUIBG')" + +[ScreenSelectGame] + +[ScreenNetworkOptions] + +[ScreenOptionsManageProfiles] + +[ScreenOptionsEditProfile] + +[ScreenReloadSongs] + +[ScreenPlayerOptions] +LineNames="1,8,14,2,3A,3B,4,5,6,R,7,9,10,11,12,13,16,SF,17" +LineSF="lua,OptionRowScreenFilter()" +Line17="lua,OptionRowProTiming()" +Line18="list,Characters" + +[ScreenPlayerOptionsRestricted] + +[ScreenSplash] + +[ScreenExit] + +[ScreenAttract] + +# +# +# +# + +[ScreenRanking] +# + +# + +# + +# + +# + +# 05 # B + +# 05 # C +[ScreenGameplay] +# +SongMeterDisplayX=SCREEN_CENTER_X +SongMeterDisplayY=SCREEN_TOP+50 +SongMeterDisplayOnCommand=draworder,50;zoom,0;y,SCREEN_TOP-24;sleep,1.5;decelerate,0.5;zoom,1;y,SCREEN_TOP+50 +SongMeterDisplayOffCommand= +# +ShowSongTitle=not GAMESTATE:IsDemonstration(); +SongTitleX=SCREEN_CENTER_X +SongTitleY=SCREEN_TOP+50 +SongTitleOnCommand=draworder,55;shadowlength,1;basezoom,0.5;zoomy,0;sleep,1.5+0.5;smooth,0.5;zoom,1;y,SCREEN_TOP+50 +SongTitleOffCommand= +# +SongMeterDisplayP1X=Center1Player() and SCREEN_CENTER_X or SCREEN_LEFT+16 +SongMeterDisplayP1Y=Center1Player() and SCREEN_TOP+60 or SCREEN_CENTER_Y-32 +SongMeterDisplayP1OnCommand=draworder,5;rotationz,Center1Player() and 0 or -90;zoom,0;addx,-24;sleep,1.5;decelerate,0.5;zoom,1;addx,24 +SongMeterDisplayP1OffCommand= +# +SongMeterDisplayP2X=Center1Player() and SCREEN_CENTER_X or SCREEN_RIGHT-16 +SongMeterDisplayP2Y=Center1Player() and SCREEN_TOP+60 or SCREEN_CENTER_Y-32 +SongMeterDisplayP2OnCommand=draworder,5;rotationz,Center1Player() and 0 or -90;zoom,0;addx,24;sleep,1.5;decelerate,0.5;zoom,1;addx,-24 +SongMeterDisplayP2OffCommand= +# +ShowBPMDisplay=true +BPMDisplayX=Center1Player() and (GAMESTATE:GetMasterPlayerNumber() == PLAYER_1 and THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")) or SCREEN_CENTER_X +# BPMDisplayX=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and (GAMESTATE:GetMasterPlayerNumber() == PLAYER_1 and THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")) or SCREEN_CENTER_X +BPMDisplayY=SCREEN_BOTTOM-17 +BPMDisplayOnCommand=draworder,101 +BPMDisplayOffCommand=bounceend,0.25;zoom,0 +# +ShowStageDisplay=true +StageDisplayX=SCREEN_CENTER_X +StageDisplayY=Center1Player() and SCREEN_BOTTOM-76 or SCREEN_BOTTOM-50 +StageDisplayOnCommand=draworder,102 +StageDisplayOffCommand=bounceend,0.25;zoom,0 +StageDisplayUseShortString=true +# +ShowScoreFrame=ThemePrefs.Get("GameplayFooter"); +ScoreFrameX=SCREEN_CENTER_X +ScoreFrameY=SCREEN_BOTTOM+4 +ScoreFrameOnCommand=draworder,4;vertalign,bottom;zoomtowidth,SCREEN_WIDTH+4;diffuse,color("#ffd400");addy,80;sleep,2;decelerate,0.5;addy,-80; +ScoreFrameOffCommand= +# +LifeP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +# LifeP1X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +LifeP1Y=SCREEN_TOP+24 +LifeP1OnCommand=finishtweening;addy,-48;sleep,1.25;bounceend,0.35;addy,48; +#~ LifeP1OnCommand=addx,-SCREEN_CENTER_X;sleep,1.25;decelerate,0.35*0.25;addx,SCREEN_CENTER_X*1.5;accelerate,0.35*0.25;addx,-SCREEN_CENTER_X*0.25;bounceend,0.35*0.25;addx,-SCREEN_CENTER_X*0.25 +LifeP1OffCommand= +LifeP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +# LifeP2X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +LifeP2Y=SCREEN_TOP+24 +LifeP2OnCommand=finishtweening;zoomx,-1;addy,-48;sleep,1.25;bounceend,0.35;addy,48; +#~ LifeP2OnCommand=zoomx,-1;addx,SCREEN_CENTER_X;sleep,1.25;decelerate,0.35*0.25;addx,-SCREEN_CENTER_X*1.5;accelerate,0.35*0.25;addx,SCREEN_CENTER_X*0.25;bounceend,0.35*0.25;addx,SCREEN_CENTER_X*0.25 +LifeP2OffCommand= +CombinedLifeX=SCREEN_CENTER_X +CombinedLifeY=SCREEN_TOP+24 +CombinedLifeOnCommand=finishtweening;diffuseleftedge,PlayerColor(PLAYER_1);diffuserightedge,PlayerColor(PLAYER_2);addy,-48;sleep,1.25;bounceend,0.35;addy,48; +CombinedLifeOffCommand= +# +ToastyDisplayP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +# ToastyDisplayP1X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +ToastyDisplayP1Y=SCREEN_CENTER_Y +ToastyDisplayP1OnCommand=visible,false +ToastyDisplayP1OffCommand= +# +ToastyDisplayP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +# ToastyDisplayP2X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +ToastyDisplayP2Y=SCREEN_CENTER_Y +ToastyDisplayP2OnCommand=visible,false +ToastyDisplayP2OffCommand= +# +SongNumberP1X=Center1Player() and SCREEN_CENTER_X - 60 or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") - 60 +SongNumberP1Y=SCREEN_TOP+24+7 +SongNumberP1OnCommand=zoom,0.75;diffuse,PlayerColor(PLAYER_1);strokecolor,BoostColor(PlayerColor(PLAYER_1),0.5) +SongNumberP1OffCommand= +SongNumberP2X=Center1Player() and SCREEN_CENTER_X + 60 or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") + 60 +SongNumberP2Y=SCREEN_TOP+24+7 +SongNumberP2OnCommand=zoom,0.75;diffuse,PlayerColor(PLAYER_2);strokecolor,BoostColor(PlayerColor(PLAYER_2),0.5) +SongNumberP2OffCommand= +# +RemainingTimeP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") + 32 +RemainingTimeP1Y=THEME:GetMetric(Var "LoadingScreen","ScoreP1Y") - 22 +RemainingTimeP1OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_1);diffusebottomedge,ColorMidTone(PlayerColor(PLAYER_1)); +RemainingTimeP1OffCommand= +RemainingTimeP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") + 32 +RemainingTimeP2Y=THEME:GetMetric(Var "LoadingScreen","ScoreP2Y") - 22 +RemainingTimeP2OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_2);diffusebottomedge,ColorMidTone(PlayerColor(PLAYER_2)); +RemainingTimeP2OffCommand= +# +DeltaSecondsP1X=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP1X") - 80 +DeltaSecondsP1Y=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP1Y") +DeltaSecondsP1OnCommand=shadowlength,1;skewx,-0.125 +DeltaSecondsP1GainSecondsCommand=finishtweening;diffusealpha,1;zoom,1;decelerate,0.3;zoom,0.75;sleep,0.5;linear,0.2;diffusealpha,0;zoom,0 +DeltaSecondsP1OffCommand= +DeltaSecondsP2X=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP2X") - 80 +DeltaSecondsP2Y=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP2Y") +DeltaSecondsP2OnCommand=shadowlength,1;skewx,-0.125 +DeltaSecondsP2GainSecondsCommand=finishtweening;diffusealpha,1;zoom,1;decelerate,0.3;zoom,0.75;sleep,0.5;linear,0.2;diffusealpha,0;zoom,0 +DeltaSecondsP2OffCommand= +# +ScoreP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +# ScoreP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +ScoreP1Y=SCREEN_BOTTOM-28 +ScoreP1OnCommand=draworder,101;visible,ThemePrefs.Get("GameplayShowScore");diffuse,PlayerColor(PLAYER_1);sleep,3+0.3;smooth,0.5;y,SCREEN_BOTTOM-50 +ScoreP1OffCommand= +ScoreP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +# ScoreP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +ScoreP2Y=SCREEN_BOTTOM-28 +ScoreP2OnCommand=draworder,101;visible,ThemePrefs.Get("GameplayShowScore");diffuse,PlayerColor(PLAYER_2);sleep,3+0.3;smooth,0.5;y,SCREEN_BOTTOM-50 +ScoreP2OffCommand= +# +StepsDescriptionP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +# StepsDescriptionP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +StepsDescriptionP1Y=SCREEN_CENTER_Y+34 +StepsDescriptionP1OnCommand=draworder,101;zoom,0.5;diffusealpha,0;addy,-10;smooth,0.3;diffusealpha,1;addy,10;sleep,3;smooth,0.5;addy,-10;diffusealpha,0 +StepsDescriptionP1OffCommand= +StepsDescriptionP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +# StepsDescriptionP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +StepsDescriptionP2Y=SCREEN_CENTER_Y+34 +StepsDescriptionP2OnCommand=draworder,101;zoom,0.5;diffusealpha,0;addy,-10;smooth,0.3;diffusealpha,1;addy,10;sleep,3;smooth,0.5;addy,-10;diffusealpha,0 +StepsDescriptionP2OffCommand= +# +PlayerOptionsP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +# PlayerOptionsP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +PlayerOptionsP1Y=SCREEN_CENTER_Y+82 +PlayerOptionsP1OnCommand=draworder,101;vertalign,top;wrapwidthpixels,256*2;zoom,0.5;diffusealpha,0;addy,10;smooth,0.3;diffusealpha,1;addy,-10;sleep,3;smooth,0.5;addy,10;diffusealpha,0 +PlayerOptionsP1OffCommand= +PlayerOptionsP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +# PlayerOptionsP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +PlayerOptionsP2Y=SCREEN_CENTER_Y+82 +PlayerOptionsP2OnCommand=draworder,101;vertalign,top;wrapwidthpixels,256*2;zoom,0.5;diffusealpha,0;addy,10;smooth,0.3;diffusealpha,1;addy,-10;sleep,3;smooth,0.5;addy,10;diffusealpha,0 +PlayerOptionsP2OffCommand= +# +StepsDisplayP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +# StepsDisplayP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +StepsDisplayP1Y=SCREEN_CENTER_Y+58 +StepsDisplayP1OnCommand=draworder,101;zoomy,0;linear,0.3;zoomy,1;sleep,3;queuecommand,( ThemePrefs.Get("GameplayShowStepsDisplay") == true and "Show" or "Hide" ); +StepsDisplayP1ShowCommand=smooth,0.5;y,SCREEN_BOTTOM-20; +StepsDisplayP1HideCommand=linear,0.5;zoomy,0 +StepsDisplayP1OffCommand= +StepsDisplayP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +# StepsDisplayP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +StepsDisplayP2Y=SCREEN_CENTER_Y+58 +StepsDisplayP2OnCommand=draworder,101;zoomy,0;linear,0.3;zoomy,1;sleep,3;queuecommand,( ThemePrefs.Get("GameplayShowStepsDisplay") == true and "Show" or "Hide" ); +StepsDisplayP2ShowCommand=smooth,0.5;y,SCREEN_BOTTOM-20; +StepsDisplayP2HideCommand=linear,0.5;zoomy,0 +StepsDisplayP2OffCommand= +# +SongOptionsX=Center1Player() and (GAMESTATE:GetMasterPlayerNumber() == PLAYER_1 and THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")) or SCREEN_CENTER_X +# SongOptionsX=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and (GAMESTATE:GetMasterPlayerNumber() == PLAYER_1 and THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")) or SCREEN_CENTER_X +SongOptionsY=SCREEN_BOTTOM-32 +SongOptionsOnCommand=draworder,101;zoom,0.5 +SongOptionsOffCommand= +# +LyricDisplaySetNoReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+160 +LyricDisplaySetReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-140 +# This is used if one player is in reverse and the other isn't. +LyricDisplaySetOneReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-160; +LyricDisplayDefaultColor=Color("White") +# +OniGameOverP1X= +OniGameOverP1Y= +OniGameOverP1OnCommand= +OniGameOverP1OffCommand= +# +OniGameOverP2X= +OniGameOverP2Y= +OniGameOverP2OnCommand= +OniGameOverP2OffCommand= +# +SurviveTimeX=SCREEN_CENTER_X +SurviveTimeY=SCREEN_CENTER_Y+40 +SurviveTimeOnCommand=shadowlength,1;zoomx,0;bounceend,1;zoomx,1 +SurviveTimeOffCommand=shadowlength,1;linear,1;zoom,0.75;diffusealpha,0 +# +ActiveAttackListP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +ActiveAttackListP1Y= +ActiveAttackListP1OnCommand=visible,false +ActiveAttackListP1OffCommand= +ActiveAttackListP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +ActiveAttackListP2Y= +ActiveAttackListP2OnCommand=visible,false +ActiveAttackListP2OffCommand= +# + + +[ScreenGameplayShared] + +[ScreenEvaluation] +Class="ScreenEvaluation" +Fallback="ScreenWithMenuElements" +# +StageDisplayNumberOffset=0 +# +NextScreen=Branches.AfterEvaluation() +PrevScreen=Branches.AfterEvaluation() +# +PlayMusic=false +# +PrepareScreens="ScreenProfileSave,ScreenSelectMusic" +PersistScreens="ScreenEvaluation,ScreenProfileSave,ScreenSelectMusic" +# +ShowJudgmentLineW1=true +ShowJudgmentLineW2=true +ShowJudgmentLineW3=true +ShowJudgmentLineW4=true +ShowJudgmentLineW5=true +ShowJudgmentLineHeld=(GAMESTATE:GetCurrentGame():GetName() ~= "pump") +ShowJudgmentLineMiss=true +ShowJudgmentLineMaxCombo=true +ShowGradeArea=true +ShowScoreArea=true +ShowPointsArea=true +ShowSharedJudgmentLineLabels=true +ShowGraphDisplay=true +ShowComboGraph=true +ShowStepsDisplay=true + +# +W1NumberP1X=SCREEN_CENTER_X-160+40 +W1NumberP1Y=SCREEN_TOP+160 +W1NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1 +W1NumberP1OffCommand= +W1NumberP2X=SCREEN_CENTER_X+160-40 +W1NumberP2Y=SCREEN_TOP+160 +W1NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1 +W1NumberP2OffCommand= +W1LabelX=SCREEN_CENTER_X +W1LabelY=SCREEN_TOP+160 +W1LabelOnCommand= +W1LabelOffCommand= +# +W2NumberP1X=SCREEN_CENTER_X-160+40 +W2NumberP1Y=SCREEN_TOP+180 +W2NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1 +W2NumberP1OffCommand= +W2NumberP2X=SCREEN_CENTER_X+160-40 +W2NumberP2Y=SCREEN_TOP+180 +W2NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1 +W2NumberP2OffCommand= +W2LabelX=SCREEN_CENTER_X +W2LabelY=SCREEN_TOP+180 +W2LabelOnCommand= +W2LabelOffCommand= +# +W3NumberP1X=SCREEN_CENTER_X-160+40 +W3NumberP1Y=SCREEN_TOP+200 +W3NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1 +W3NumberP1OffCommand= +W3NumberP2X=SCREEN_CENTER_X+160-40 +W3NumberP2Y=SCREEN_TOP+200 +W3NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1 +W3NumberP2OffCommand= +W3LabelX=SCREEN_CENTER_X +W3LabelY=SCREEN_TOP+200 +W3LabelOnCommand= +W3LabelOffCommand= +# +W4NumberP1X=SCREEN_CENTER_X-160+40 +W4NumberP1Y=SCREEN_TOP+220 +W4NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1 +W4NumberP1OffCommand= +W4NumberP2X=SCREEN_CENTER_X+160-40 +W4NumberP2Y=SCREEN_TOP+220 +W4NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1 +W4NumberP2OffCommand= +W4LabelX=SCREEN_CENTER_X +W4LabelY=SCREEN_TOP+220 +W4LabelOnCommand= +W4LabelOffCommand= +# +W5NumberP1X=SCREEN_CENTER_X-160+40 +W5NumberP1Y=SCREEN_TOP+240 +W5NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1 +W5NumberP1OffCommand= +W5NumberP2X=SCREEN_CENTER_X+160-40 +W5NumberP2Y=SCREEN_TOP+240 +W5NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1 +W5NumberP2OffCommand= +W5LabelX=SCREEN_CENTER_X +W5LabelY=SCREEN_TOP+240 +W5LabelOnCommand= +W5LabelOffCommand= +# +MissNumberP1X=SCREEN_CENTER_X-160+40 +MissNumberP1Y=SCREEN_TOP+260 +MissNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1 +MissNumberP1OffCommand= +MissNumberP2X=SCREEN_CENTER_X+160-40 +MissNumberP2Y=SCREEN_TOP+260 +MissNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1 +MissNumberP2OffCommand= +MissLabelX=SCREEN_CENTER_X +MissLabelY=SCREEN_TOP+260 +MissLabelOnCommand= +MissLabelOffCommand= +# +HeldNumberP1X=SCREEN_CENTER_X-160+40 +HeldNumberP1Y=SCREEN_TOP+280 +HeldNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1 +HeldNumberP1OffCommand= +HeldNumberP2X=SCREEN_CENTER_X+160-40 +HeldNumberP2Y=SCREEN_TOP+280 +HeldNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1 +HeldNumberP2OffCommand= +HeldLabelX=SCREEN_CENTER_X +HeldLabelY=SCREEN_TOP+280 +HeldLabelOnCommand= +HeldLabelOffCommand= +# +MaxComboNumberP1X=SCREEN_CENTER_X-160+40 +MaxComboNumberP1Y=SCREEN_TOP+300 +MaxComboNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1 +MaxComboNumberP1OffCommand= +MaxComboNumberP2X=SCREEN_CENTER_X+160-40 +MaxComboNumberP2Y=SCREEN_TOP+300 +MaxComboNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1 +MaxComboNumberP2OffCommand= +MaxComboLabelX=SCREEN_CENTER_X +MaxComboLabelY=SCREEN_TOP+300 +MaxComboLabelOnCommand= +MaxComboLabelOffCommand= +# +ScoreLabelX=SCREEN_CENTER_X +ScoreLabelY=SCREEN_TOP+330 +ScoreLabelOnCommand= +ScoreLabelOffCommand= +# +ScoreNumberP1X=SCREEN_CENTER_X-160 +ScoreNumberP1Y=SCREEN_TOP+320 +ScoreNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);diffusetopedge,BoostColor(PlayerColor(PLAYER_1),1.5);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;zoom,0.775 +ScoreNumberP1OffCommand= +ScoreNumberP2X=SCREEN_CENTER_X+160 +ScoreNumberP2Y=SCREEN_TOP+320 +ScoreNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);diffusetopedge,BoostColor(PlayerColor(PLAYER_2),1.5);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;zoom,0.775 +ScoreNumberP2OffCommand= +# +PercentFrameP1X=SCREEN_CENTER_X-160 +PercentFrameP1Y=SCREEN_TOP+320 +PercentFrameP1OnCommand=visible,false +PercentFrameP1OffCommand= +# +PercentFrameP2X=SCREEN_CENTER_X+160 +PercentFrameP2Y=SCREEN_TOP+320 +PercentFrameP2OnCommand=visible,false +PercentFrameP2OffCommand= +# +PercentP1X=SCREEN_CENTER_X-160 +PercentP1Y=SCREEN_TOP+320 +PercentP1OnCommand=visible,false +PercentP1OffCommand= +# +PercentP2X=SCREEN_CENTER_X+160 +PercentP2Y=SCREEN_TOP+320 +PercentP2OnCommand=visible,false +PercentP2OffCommand= +# +LargeBannerX=SCREEN_CENTER_X +LargeBannerY=SCREEN_TOP+100 +LargeBannerOnCommand= +LargeBannerOffCommand= +LargeBannerFrameX=SCREEN_CENTER_X +LargeBannerFrameY=SCREEN_TOP+100 +LargeBannerFrameOnCommand= +LargeBannerFrameOffCommand= +# +GradeFrameP1X=SCREEN_CENTER_X-220 +GradeFrameP1Y=SCREEN_TOP+80 +GradeFrameP1OnCommand= +GradeFrameP1OffCommand= +GradeFrameP2X=SCREEN_CENTER_X+220 +GradeFrameP2Y=SCREEN_TOP+80 +GradeFrameP2OnCommand= +GradeFrameP2OffCommand= +# +GradeP1X=SCREEN_CENTER_X-220 +GradeP1Y=SCREEN_TOP+100 +GradeP1OnCommand= +GradeP1OffCommand= +GradeP2X=SCREEN_CENTER_X+220 +GradeP2Y=SCREEN_TOP+100 +GradeP2OnCommand= +GradeP2OffCommand= +# +PlayerOptionsP1X=SCREEN_CENTER_X-160 +PlayerOptionsP1Y=SCREEN_TOP+352 +PlayerOptionsP1OnCommand=zoom,0.5;shadowlength,1 +PlayerOptionsP1OffCommand= +## +PlayerOptionsP2X=SCREEN_CENTER_X+160 +PlayerOptionsP2Y=SCREEN_TOP+352 +PlayerOptionsP2OnCommand=zoom,0.5;shadowlength,1 +PlayerOptionsP2OffCommand= +# +SongOptionsX=SCREEN_CENTER_X +SongOptionsY=SCREEN_BOTTOM-104 +SongOptionsOnCommand=zoom,0.5;shadowlength,1; +SongOptionsOffCommand= +# +DisqualifiedP1X=SCREEN_CENTER_X-220 +DisqualifiedP1Y=SCREEN_TOP+140 +DisqualifiedP1OnCommand= +DisqualifiedP1OffCommand= +DisqualifiedP2X=SCREEN_CENTER_X+220 +DisqualifiedP2Y=SCREEN_TOP+140 +DisqualifiedP2OnCommand= +DisqualifiedP2OffCommand= +# +GraphDisplayP1X=SCREEN_CENTER_X-160 +GraphDisplayP1Y=SCREEN_BOTTOM-100 +GraphDisplayP1OnCommand= +GraphDisplayP1OffCommand= +GraphDisplayP2X=SCREEN_CENTER_X+160 +GraphDisplayP2Y=SCREEN_BOTTOM-100 +GraphDisplayP2OnCommand= +GraphDisplayP2OffCommand= +# +ComboGraphP1X=SCREEN_CENTER_X-160 +ComboGraphP1Y=SCREEN_BOTTOM-100+32-7 +ComboGraphP1OnCommand= +ComboGraphP1OffCommand= +ComboGraphP2X=SCREEN_CENTER_X+160 +ComboGraphP2Y=SCREEN_BOTTOM-100+32-7 +ComboGraphP2OnCommand= +ComboGraphP2OffCommand= +# +MachineRecordP1X=SCREEN_CENTER_X-220 +#MachineRecordP1Y=SCREEN_BOTTOM-156 + +MachineRecordP1Y=SCREEN_TOP+146 +MachineRecordP1OnCommand= +MachineRecordP1OffCommand= +# +MachineRecordP2X=SCREEN_CENTER_X+220 +#MachineRecordP2Y=SCREEN_BOTTOM-156 +MachineRecordP2Y=SCREEN_TOP+146 +MachineRecordP2OnCommand= +MachineRecordP2OffCommand= +# +PersonalRecordP1X=SCREEN_CENTER_X-160 +PersonalRecordP1Y=SCREEN_BOTTOM-144 +PersonalRecordP1OnCommand= +PersonalRecordP1OffCommand= +# +PersonalRecordP2X=SCREEN_CENTER_X+160 +PersonalRecordP2Y=SCREEN_BOTTOM-144 +PersonalRecordP2OnCommand= +PersonalRecordP2OffCommand= +# +StageAwardP1X=SCREEN_CENTER_X-220 +StageAwardP1Y=SCREEN_TOP+130 +StageAwardP1OnCommand=draworder,105;zoom,0.75;diffuse,Color("Yellow");diffusebottomedge,Color("Orange");strokecolor,ColorDarkTone( Color("Orange") );glowshift;textglowmode,'TextGlowMode_Inner' +StageAwardP1OffCommand= +# +StageAwardP2X=SCREEN_CENTER_X+220 +StageAwardP2Y=SCREEN_TOP+130 +StageAwardP2OnCommand=draworder,105;zoom,0.75;diffuse,Color("Yellow");diffusebottomedge,Color("Orange");strokecolor,ColorDarkTone( Color("Orange") );glowshift;textglowmode,'TextGlowMode_Inner' +StageAwardP2OffCommand= +# +PeakComboAwardP1X=SCREEN_CENTER_X-160 +PeakComboAwardP1Y=SCREEN_TOP+300+10 +PeakComboAwardP1OnCommand=draworder,105;zoom,0.5;diffusebottomedge,Color("Blue");strokecolor,ColorDarkTone( Color("Blue") );glowshift;textglowmode,'TextGlowMode_Inner' +PeakComboAwardP1OffCommand= +# +PeakComboAwardP2X=SCREEN_CENTER_X+160 +PeakComboAwardP2Y=SCREEN_TOP+300+10 +PeakComboAwardP2OnCommand=draworder,105;zoom,0.5;diffusebottomedge,Color("Blue");strokecolor,ColorDarkTone( Color("Blue") );glowshift;textglowmode,'TextGlowMode_Inner' +PeakComboAwardP2OffCommand= +# +ShowStepsDisplayP1=GAMESTATE:IsHumanPlayer(PLAYER_1) +StepsDisplayP1X=SCREEN_CENTER_X-160 +StepsDisplayP1Y=SCREEN_BOTTOM-50 +StepsDisplayP1OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP1");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y +StepsDisplayP1OffCommand=bouncebegin,0.15;zoomx,0; +# +ShowStepsDisplayP2=GAMESTATE:IsHumanPlayer(PLAYER_2) +StepsDisplayP2X=SCREEN_CENTER_X+160 +StepsDisplayP2Y=SCREEN_BOTTOM-50 +StepsDisplayP2OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP2");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y +StepsDisplayP2OffCommand=bouncebegin,0.15;zoomx,0; +# +PercentScoreP1X=SCREEN_CENTER_X-82 +PercentScoreP1Y=SCREEN_BOTTOM-50 +PercentScoreP1OnCommand=draworder,100;addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y; +PercentScoreP1OffCommand=bouncebegin,0.15;zoomx,0; +# +PercentScoreP2X=SCREEN_CENTER_X+238 +PercentScoreP2Y=SCREEN_BOTTOM-50 +PercentScoreP2OnCommand=draworder,100;addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y; +PercentScoreP2OffCommand=bouncebegin,0.15;zoomx,0; +# +ShowGameType=true +GameTypeX=SCREEN_CENTER_X +GameTypeY=SCREEN_BOTTOM-48 +GameTypeOnCommand=addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y;zoom,0.675;shadowlength,1;shadowcolor,color("#22222266") +GameTypeOffCommand=bouncebegin,0.15;addy,SCREEN_CENTER_Y; +# +ShowTimingDifficulty=true +TimingDifficultyX=SCREEN_CENTER_X +TimingDifficultyY=SCREEN_TOP+16 +TimingDifficultyOnCommand=zoom,0.675;draworder,105 +TimingDifficultyOffCommand= +# +ShowLifeDifficulty=true +LifeDifficultyX=SCREEN_CENTER_X +LifeDifficultyY=SCREEN_TOP+32 +LifeDifficultyOnCommand=zoom,0.675;draworder,105 +LifeDifficultyOffCommand= +# +ShowSongInformation=true +SongInformationX=SCREEN_CENTER_X +SongInformationY=SCREEN_TOP+100 +SongInformationOnCommand=playcommand,"Set";draworder,105 +SongInformationOffCommand= + +ShowWinArea=GAMESTATE:GetPlayMode() == 'PlayMode_Rave' +WinFrameP1X= +WinFrameP1Y= +WinFrameP1OnCommand= +WinFrameP2X= +WinFrameP2Y= +WinFrameP2OnCommand= +#----# +WinP1X=SCREEN_CENTER_X-224 +WinP1Y=SCREEN_BOTTOM-224 +WinP1OnCommand=draworder,101 +WinP2X=SCREEN_CENTER_X+224 +WinP2Y=SCREEN_BOTTOM-224 +WinP2OnCommand=draworder,101 + +[ScreenEvaluationNormal] +Fallback="ScreenEvaluation" +# +PlayMusic=false +# +ShowBannerFrame=false +# +ShowStageDisplay=true +StageDisplayX=SCREEN_CENTER_X+160 +StageDisplayY=SCREEN_TOP+28 +StageDisplayOnCommand=draworder,105;fov,90;vertalign,bottom;vanishpoint,SCREEN_CENTER_X+160,SCREEN_TOP+28;rotationy,90;decelerate,0.5;rotationy,0; +StageDisplayOffCommand= + +[ScreenEvaluationSummary] +Fallback="ScreenEvaluation" +# +NextScreen=Branch.AfterSummary() +# +PlayMusic=false +# +Summary=true +# +ShowStageDisplay=false +# +SmallBanner1X=SCREEN_CENTER_X-72 +SmallBanner1Y=SCREEN_TOP+100-24 +SmallBanner1OnCommand=zoom,0.5 +SmallBanner1OffCommand= + +SmallBanner2X=SCREEN_CENTER_X-48 +SmallBanner2Y=SCREEN_TOP+100-16 +SmallBanner2OnCommand=zoom,0.5 +SmallBanner2OffCommand= + +SmallBanner3X=SCREEN_CENTER_X-24 +SmallBanner3Y=SCREEN_TOP+100-8 +SmallBanner3OnCommand=zoom,0.5 +SmallBanner3OffCommand= + +SmallBanner4X=SCREEN_CENTER_X+24 +SmallBanner4Y=SCREEN_TOP+100+8 +SmallBanner4OnCommand=zoom,0.5 +SmallBanner4OffCommand= + +SmallBanner5X=SCREEN_CENTER_X+48 +SmallBanner5Y=SCREEN_TOP+100+16 +SmallBanner5OnCommand=zoom,0.5 +SmallBanner5OfCommand= + +SmallBanner6X=SCREEN_CENTER_X+72 +SmallBanner6Y=SCREEN_TOP+100+24 +SmallBanner6OnCommand=zoom,0.5 +SmallBanner6OffCommand= + +[ScreenNameEntry] + +[ScreenProfileSave] + +[ScreenProfileSaveSummary] + +[ScreenGameOver] + +[ScreenPrompt] + +[ScreenOptionsEdit] + +[EditMenu] + +[TextBannerEditMode] + +[ScreenEditMenu] + +[ScreenEdit] + +[ScreenPracticeMenu] + +[PracticeMenu] + +[ScreenPractice] + +[ScreenEditOptions] +LineNames="1,2,3,4,5,6,R,7,8,9,10,Attacks,11,12,13,14,15,16,SF" +Line1="lua,SpeedMods()" +LineSF="lua,OptionRowScreenFilter()" + +[StepsDisplayEdit] +Fallback="StepsDisplayGameplay" + +[ScreenMiniMenuEditHelp] + +[OptionRowMiniMenuEditHelp] + +[ScreenMiniMenuMainMenu] + +[ScreenMiniMenuAreaMenu] + +[ScreenMiniMenuStepsInformation] + +[ScreenMiniMenuSongInformation] + +[ScreenMiniMenuTimingDataInformation] + +[ScreenMiniMenuBackgroundChange] + +[ScreenMiniMenuPreferences] + +[ScreenMiniMenuInsertTapAttack] + +[ScreenMiniMenuInsertCourseAttack] + +[ScreenMiniMenuCourseDisplay] + +[ScreenMiniMenuCourseOptions] + +[ScreenOptionsExportPackage] + +[ScreenOptionsManage] + +[OptionRowManage] + +[OptionRowCourseOverview] + +[ScreenOptionsManageCourses] + +[OptionRowCourse] + +[ScreenOptionsEditCourse] + +[OptionRowEditCourse] + +[ScreenOptionsCourseOverview] + +[ScreenGameplaySyncMachine] +SongMeterDisplayP1OnCommand=visible,false +SongMeterDisplayP2OnCommand=visible,false +StepsDescriptionP1OnCommand=visible,false +StepsDescriptionP2OnCommand=visible,false +StepsDisplayP1OnCommand=visible,false +StepsDisplayP2OnCommand=visible,false +PlayerOptionsP1OnCommand=visible,false +PlayerOptionsP2OnCommand=visible,false + +[PlayerSyncMachine] + +[ScreenHowToInstallSongs] +Class="ScreenSelectMaster" +Fallback="ScreenSelectMaster" +ShowHeader=false + +ShowScroller=true +PerChoiceScrollElement=false +# +ShowIcon=true +UseIconMetrics=false +PerChoiceIconElement=false +# +ScrollerX=SCREEN_LEFT+32 +ScrollerY=SCREEN_CENTER_Y +ScrollerTransform=function(self,offset,itemIndex,numItems) self:y(24*(itemIndex-(numItems-1)/2)); end +ScrollerNumItemsToDraw=20 +ScrollerOffCommand=bouncebegin,0.25;addx,-SCREEN_CENTER_X + +ChoiceNames="WhereToFind,HowToInstall,AdditionalFolders,ReloadSongs,Exit" +ChoiceWhereToFind="urlnoexit,http://code.google.com/p/sm-ssc/wiki/FindingContent;text,"..Screen.String("Finding Songs") +ChoiceHowToInstall="urlnoexit,http://code.google.com/p/sm-ssc/wiki/InstallingContent;text,"..Screen.String("Installing Songs") +ChoiceAdditionalFolders="text,"..Screen.String("Importing Songs") +ChoiceReloadSongs="screen,ScreenReloadSongs;text,"..Screen.String("Reload Songs") +ChoiceExit="screen,"..Branch.TitleMenu()..";text,"..Screen.String("Exit") +DefaultChoice="WhereToFind" + +OptionOrderUp="5:4,4:3,3:2,2:1,1:5" +OptionOrderDown="1:2,2:3,3:4,4:5,5:1" + +[ScreenSMOnlineLogin] + +[ScreenNetSelectBase] + +[ScreenNetSelectMusic] +BPMDisplayX=SCREEN_CENTER_X-160-90+2 +BPMDisplayY=SCREEN_CENTER_Y+156 +BPMDisplayOnCommand=finishtweening;horizalign,left;strokecolor,Color("Outline");maxwidth,128;addx,320;zoomx,0;decelerate,0.35;addx,-320;zoomx,1 +BPMDisplayOffCommand=bouncebegin,0.15;zoomx,0; + +StepsDisplayP1X=SCREEN_CENTER_X-240 +StepsDisplayP1Y=SCREEN_CENTER_Y+185 +StepsDisplayP1OnCommand=horizalign,right;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0 +StepsDisplayP1OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 +#--# +StepsDisplayP2X=SCREEN_CENTER_X-110 +StepsDisplayP2Y=SCREEN_CENTER_Y+185 +StepsDisplayP2OnCommand=horizalign,right;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0 +StepsDisplayP2OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 +#====# + +ShowBPMDisplay=true +BPMDisplayX=SCREEN_CENTER_X+2 +BPMDisplayY=SCREEN_CENTER_Y+188 +BPMDisplayOnCommand=finishtweening;maxwidth,128;horizalign,left;strokecolor,Color("Outline");addx,320;zoomx,0;decelerate,0.35;addx,-320;zoomx,1 +BPMDisplayOffCommand=bouncebegin,0.15;zoomx,0; +#--# +ShowBPMLabel=true +BPMLabelX=SCREEN_CENTER_X +BPMLabelY=SCREEN_CENTER_Y+188 +BPMLabelOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.35;addx,SCREEN_CENTER_X +BPMLabelOffCommand=bouncebegin,0.15;zoomx,0; + +UsersX=SCREEN_CENTER_X-272 +UsersY=SCREEN_CENTER_Y-172 +UsersDX=40 +UsersAY=16 +UsersOnCommand=draworder,2;zoom,0.75;shadowlength,1 +# +ShowDifficultyDisplay=true +DifficultyDisplayX=SCREEN_CENTER_X +DifficultyDisplayY=SCREEN_CENTER_Y+158 +DifficultyDisplayOnCommand=draworder,105;fov,90;zoom,0.75 +DifficultyDisplayOffCommand=linear,0.25;zoomy,0; + +[StepsDisplayNet] + +[ScreenNetRoom] + +[RoomWheel] + +[RoomWheelItem] + +[RoomInfoDisplay] + +[ScreenSMOnlineSelectMusic] + +[ModIcon] + +[ModIconSelectMusic] + +[ModIconRow] + +[ModIconRowSelectMusic] + +[GraphDisplay] + +[ComboGraph] + +[ScreenNetEvaluation] +UserTier02OrBetterCommand=diffuseshift;effectperiod,0.75;effectcolor1,color("1,0.95,0.8,1");effectcolor2,color("0.8,0.95,1,1") + +# Arcade + +[ScreenLogo] +TimerSeconds=10 +ShowLogo=true +LogoX=SCREEN_CENTER_X +LogoY=SCREEN_CENTER_Y-18 +LogoOnCommand=bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.75 +LogoOffCommand=stopeffect;bouncebegin,0.35;zoom,0 + +ArcadeOverlay.TextY=SCREEN_BOTTOM-60 +# + +[ScreenHowToPlay] + +[ScreenTitleJoin] +ShowHelp=false +HelpText=Screen.String("HelpTextTitleJoin") +HelpY=SCREEN_CENTER_Y+100 +HelpOnCommand=visible,false;zoom,1;strokecolor,color("0.125,0.125,0.125,0.5");queuecommand,"Refresh" +HelpCoinIsertedMessageCommand=playcommand,"Refresh" +HelpCoinModeChangedMessageCommand=playcommand,"Refresh" +HelpRefreshCommand=%function(self) \ + local bCanPlay = GAMESTATE:EnoughCreditsToJoin(); \ + local bReady = GAMESTATE:GetNumSidesJoined() > 0; \ + if bCanPlay or bReady then \ + self:SetTipsColonSeperated(THEME:GetString( Var "LoadingScreen","HelpTextPlay")); \ + else \ + self:SetTipsColonSeperated(THEME:GetString( Var "LoadingScreen","HelpTextWait")); \ + end \ +end; +# +LogoX=SCREEN_CENTER_X +LogoY=SCREEN_CENTER_Y-28 +LogoOnCommand=bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.75 +LogoOffCommand=stopeffect;bouncebegin,0.35;rotationz,360;zoom,0 + +VersionInfoX=SCREEN_CENTER_X+114 +VersionInfoY=SCREEN_CENTER_Y+44 +VersionInfoOnCommand=horizalign,right;vertalign,bottom;bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.65;shadowlength,1;shadowcolor,color("0.2,0.2,0.2,0.925"); +ScrollerOnCommand=visible,false; +ArcadeOverlay.TextY=SCREEN_BOTTOM-128 + +[ScreenDemonstration] +SongMeterDisplayOnCommand=visible,false +SongMeterDisplayP1OnCommand=visible,false +SongMeterDisplayP2OnCommand=visible,false +LifeP1OnCommand=visible,false +LifeP2OnCommand=visible,false +ScoreP1OnCommand=visible,false +ScoreP2OnCommand=visible,false +StepsDisplayP1OnCommand=zoomy,0;linear,0.3;zoomy,1;sleep,3;smooth,0.5;y,SCREEN_BOTTOM-20;zoomy,0 +StepsDisplayP2OnCommand=zoomy,0;linear,0.3;zoomy,1;sleep,3;smooth,0.5;y,SCREEN_BOTTOM-20;zoomy,0 +ShowBPMDisplay=false + +[ScreenJukeboxMenu] + +[ScreenJukebox] + +[ScreenCredits] From 9367c45d78df4cafc87f1135f4fcb120a052dcd4 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Wed, 27 Jun 2012 16:04:10 -0500 Subject: [PATCH 5/7] add finishtweening to hitmine commands for some noteskins; this may have to happen with others --- NoteSkins/dance/Delta/metrics.ini | 136 +++++++++++++------------- NoteSkins/dance/retro/metrics.ini | 154 +++++++++++++++--------------- 2 files changed, 145 insertions(+), 145 deletions(-) diff --git a/NoteSkins/dance/Delta/metrics.ini b/NoteSkins/dance/Delta/metrics.ini index dd9bf2d92c..cfe30cb2ed 100644 --- a/NoteSkins/dance/Delta/metrics.ini +++ b/NoteSkins/dance/Delta/metrics.ini @@ -1,69 +1,69 @@ -[Global] -FallbackNoteSkin=default - -[NoteDisplay] -TapNoteAnimationIsVivid=0 -DrawHoldHeadForTapsOnSameRow=1 -TapNoteAnimationLength=3 -TapAdditionAnimationLength=3 -TapMineAnimationLength=1 -TapLiftAnimationLength=1 -HoldHeadAnimationLength=1 -HoldTopCapAnimationLength=0.5 -HoldBottomCapAnimationLength=0.5 -HoldBodyAnimationLength=0.5 -HoldTailAnimationLength=0.5 -StartDrawingHoldBodyOffsetFromHead=0 -StopDrawingHoldBodyOffsetFromTail=-32 -HoldLetGoGrayPercent=0.25 -ReverseDrawOrder=1101 -HoldHeadIsAboveWavyParts=1 -HoldTailIsAboveWavyParts=1 -FlipHeadAndTailWhenReverse=1 -FlipHoldBodyWhenReverse=1 -TapNoteAdditionTextureCoordOffsetX=0 -TapNoteAdditionTextureCoordOffsetY=0 -TapNoteNoteColorTextureCoordSpacingX=0 -TapNoteNoteColorTextureCoordSpacingY=0.125 -HoldHeadNoteColorTextureCoordSpacingX=0 -HoldHeadNoteColorTextureCoordSpacingY=0.125 - -[GhostArrowDim] -InitCommand= -NoneCommand= -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;decelerate,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 -MissCommand= -W5Command=diffuse,1.0,0.6,1.0,1;sleep,0.1;decelerate,0.4;diffusealpha,0 -W4Command=diffuse,0.6,1.0,1.0,1;sleep,0.1;decelerate,0.4;diffusealpha,0 -W3Command=diffuse,0.6,1.0,0.8,1;sleep,0.1;decelerate,0.4;diffusealpha,0 -W2Command=diffuse,1.0,1.0,0.9,1;sleep,0.1;decelerate,0.4;diffusealpha,0 -W1Command=diffuse,1.0,1.0,1.0,1;sleep,0.1;decelerate,0.4;diffusealpha,0 -LetGoCommand= -HeldCommand=diffuse,1.0,1.0,0.7,1;zoom,1;linear,0.2;zoom,0.9;linear,0.1;diffusealpha,0 - -[GhostArrowBright] -InitCommand= -NoneCommand= -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;decelerate,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 -MissCommand= -W5Command=diffuse,1.0,0.6,1.0,1;sleep,0.1;decelerate,0.4;diffusealpha,0 -W4Command=diffuse,0.6,1.0,1.0,1;sleep,0.1;decelerate,0.4;diffusealpha,0 -W3Command=diffuse,0.6,1.0,0.8,1;sleep,0.1;decelerate,0.4;diffusealpha,0 -W2Command=diffuse,1.0,1.0,0.9,1;sleep,0.1;decelerate,0.4;diffusealpha,0 -W1Command=diffuse,1.0,1.0,1.0,1;sleep,0.1;decelerate,0.4;diffusealpha,0 -LetGoCommand= -HeldCommand=diffuse,1.0,1.0,0.7,1;zoom,1;linear,0.2;zoom,0.9;linear,0.1;diffusealpha,0 - -[HoldGhostArrow] -HoldingOnCommand=diffusealpha,1;glowshift;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.7");effectperiod,0.1 -HoldingOffCommand=diffusealpha,0 -InitCommand=playcommand,"HoldingOff";finishtweening - -[ReceptorArrow] -InitCommand=effectclock,"beat";diffuseramp;effectcolor1,color("0.8,0.8,0.8,1");effectcolor2,color("1,1,1,1");effecttiming,0.2,0,0.8,0;effectoffset,0.05 -NoneCommand=zoom,0.75;linear,0.11;zoom,1 - -[ReceptorOverlay] -InitCommand=diffusealpha,0 -PressCommand=blend,"BlendMode_Add";diffusealpha,0.6 +[Global] +FallbackNoteSkin=default + +[NoteDisplay] +TapNoteAnimationIsVivid=0 +DrawHoldHeadForTapsOnSameRow=1 +TapNoteAnimationLength=3 +TapAdditionAnimationLength=3 +TapMineAnimationLength=1 +TapLiftAnimationLength=1 +HoldHeadAnimationLength=1 +HoldTopCapAnimationLength=0.5 +HoldBottomCapAnimationLength=0.5 +HoldBodyAnimationLength=0.5 +HoldTailAnimationLength=0.5 +StartDrawingHoldBodyOffsetFromHead=0 +StopDrawingHoldBodyOffsetFromTail=-32 +HoldLetGoGrayPercent=0.25 +ReverseDrawOrder=1101 +HoldHeadIsAboveWavyParts=1 +HoldTailIsAboveWavyParts=1 +FlipHeadAndTailWhenReverse=1 +FlipHoldBodyWhenReverse=1 +TapNoteAdditionTextureCoordOffsetX=0 +TapNoteAdditionTextureCoordOffsetY=0 +TapNoteNoteColorTextureCoordSpacingX=0 +TapNoteNoteColorTextureCoordSpacingY=0.125 +HoldHeadNoteColorTextureCoordSpacingX=0 +HoldHeadNoteColorTextureCoordSpacingY=0.125 + +[GhostArrowDim] +InitCommand= +NoneCommand= +HitMineCommand=stoptweening;blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;decelerate,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +MissCommand= +W5Command=diffuse,1.0,0.6,1.0,1;sleep,0.1;decelerate,0.4;diffusealpha,0 +W4Command=diffuse,0.6,1.0,1.0,1;sleep,0.1;decelerate,0.4;diffusealpha,0 +W3Command=diffuse,0.6,1.0,0.8,1;sleep,0.1;decelerate,0.4;diffusealpha,0 +W2Command=diffuse,1.0,1.0,0.9,1;sleep,0.1;decelerate,0.4;diffusealpha,0 +W1Command=diffuse,1.0,1.0,1.0,1;sleep,0.1;decelerate,0.4;diffusealpha,0 +LetGoCommand= +HeldCommand=diffuse,1.0,1.0,0.7,1;zoom,1;linear,0.2;zoom,0.9;linear,0.1;diffusealpha,0 + +[GhostArrowBright] +InitCommand= +NoneCommand= +HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;decelerate,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +MissCommand= +W5Command=diffuse,1.0,0.6,1.0,1;sleep,0.1;decelerate,0.4;diffusealpha,0 +W4Command=diffuse,0.6,1.0,1.0,1;sleep,0.1;decelerate,0.4;diffusealpha,0 +W3Command=diffuse,0.6,1.0,0.8,1;sleep,0.1;decelerate,0.4;diffusealpha,0 +W2Command=diffuse,1.0,1.0,0.9,1;sleep,0.1;decelerate,0.4;diffusealpha,0 +W1Command=diffuse,1.0,1.0,1.0,1;sleep,0.1;decelerate,0.4;diffusealpha,0 +LetGoCommand= +HeldCommand=diffuse,1.0,1.0,0.7,1;zoom,1;linear,0.2;zoom,0.9;linear,0.1;diffusealpha,0 + +[HoldGhostArrow] +HoldingOnCommand=diffusealpha,1;glowshift;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.7");effectperiod,0.1 +HoldingOffCommand=diffusealpha,0 +InitCommand=playcommand,"HoldingOff";finishtweening + +[ReceptorArrow] +InitCommand=effectclock,"beat";diffuseramp;effectcolor1,color("0.8,0.8,0.8,1");effectcolor2,color("1,1,1,1");effecttiming,0.2,0,0.8,0;effectoffset,0.05 +NoneCommand=zoom,0.75;linear,0.11;zoom,1 + +[ReceptorOverlay] +InitCommand=diffusealpha,0 +PressCommand=blend,"BlendMode_Add";diffusealpha,0.6 LiftCommand=diffusealpha,0 \ No newline at end of file diff --git a/NoteSkins/dance/retro/metrics.ini b/NoteSkins/dance/retro/metrics.ini index d2da1913a8..5e4e1812cf 100644 --- a/NoteSkins/dance/retro/metrics.ini +++ b/NoteSkins/dance/retro/metrics.ini @@ -1,78 +1,78 @@ -[Global] -#FallbackNoteSkin=common - -[NoteDisplay] -TapNoteAnimationIsVivid=0 -DrawHoldHeadForTapsOnSameRow=1 -TapNoteAnimationLength=4 -TapAdditionAnimationLength=4 -TapMineAnimationLength=1 -TapLiftAnimationLength=4 -HoldHeadAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway. -StartDrawingHoldBodyOffsetFromHead=0 -StopDrawingHoldBodyOffsetFromTail=-32 // top of tail -HoldLetGoGrayPercent=0.25 -ReverseDrawOrder=1101 -HoldHeadIsAboveWavyParts=1 -HoldTailIsAboveWavyParts=1 -TapNoteAdditionTextureCoordOffsetX=0.5 -TapNoteAdditionTextureCoordOffsetY=0 -FlipHeadAndTailWhenReverse=1 -FlipHoldBodyWhenReverse=1 -TopHoldAnchorWhenReverse=1 - -TapNoteNoteColorTextureCoordSpacingX=0 -TapNoteNoteColorTextureCoordSpacingY=0.125 - -TapFakeNoteColorTextureCoordSpacingX=0 -TapFakeNoteColorTextureCoordSpacingY=0.125 - -HoldHeadNoteColorTextureCoordSpacingX=0 -HoldHeadNoteColorTextureCoordSpacingY=0.125 - -[GhostArrowDim] -NoneCommand= -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 -MissCommand= -W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W3Command=diffuse,0.0,1.0,0.4,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W2Command=diffuse,1.0,1.0,0.3,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W1Command=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -LetGoCommand= -HeldCommand=diffuse,1.0,1.0,0.3,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 - -[GhostArrowBright] -NoneCommand= -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 -MissCommand= -W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W3Command=diffuse,0.0,1.0,0.4,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W2Command=diffuse,1.0,1.0,0.3,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W1Command=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -LetGoCommand= -HeldCommand=diffuse,1.0,1.0,0.3,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 - -[ReceptorArrow] -W3Command=stoptweening;zoom,0.75;linear,0.12;zoom,1 -W2Command=stoptweening;zoom,0.75;linear,0.12;zoom,1 -W1Command=stoptweening;zoom,0.75;linear,0.12;zoom,1 -InitCommand=effectclock,"beat";diffuseramp;effectcolor1,color(".8,.8,.8,1");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05 -NoneCommand=stoptweening;zoom,0.75;linear,0.12;zoom,1 -PressCommand=stoptweening;zoom,0.75;linear,0.12;zoom,1 - -[ReceptorOverlay] -InitCommand=diffusealpha,0 -PressCommand=finishtweening;zoom,1;blend,"BlendMode_Add";diffusealpha,.6 -LiftCommand=finishtweening;decelerate,.12;diffusealpha,0;zoom,1.2 - -[HoldGhostArrow] -#HoldingOnCommand=diffusealpha,0;glowshift;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,.7");effectperiod,.1 -HoldingOnCommand=diffusealpha,1;glowshift;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,.7");effectperiod,.1 -HoldingOffCommand=diffusealpha,0 +[Global] +#FallbackNoteSkin=common + +[NoteDisplay] +TapNoteAnimationIsVivid=0 +DrawHoldHeadForTapsOnSameRow=1 +TapNoteAnimationLength=4 +TapAdditionAnimationLength=4 +TapMineAnimationLength=1 +TapLiftAnimationLength=4 +HoldHeadAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway. +StartDrawingHoldBodyOffsetFromHead=0 +StopDrawingHoldBodyOffsetFromTail=-32 // top of tail +HoldLetGoGrayPercent=0.25 +ReverseDrawOrder=1101 +HoldHeadIsAboveWavyParts=1 +HoldTailIsAboveWavyParts=1 +TapNoteAdditionTextureCoordOffsetX=0.5 +TapNoteAdditionTextureCoordOffsetY=0 +FlipHeadAndTailWhenReverse=1 +FlipHoldBodyWhenReverse=1 +TopHoldAnchorWhenReverse=1 + +TapNoteNoteColorTextureCoordSpacingX=0 +TapNoteNoteColorTextureCoordSpacingY=0.125 + +TapFakeNoteColorTextureCoordSpacingX=0 +TapFakeNoteColorTextureCoordSpacingY=0.125 + +HoldHeadNoteColorTextureCoordSpacingX=0 +HoldHeadNoteColorTextureCoordSpacingY=0.125 + +[GhostArrowDim] +NoneCommand= +HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +MissCommand= +W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W3Command=diffuse,0.0,1.0,0.4,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W2Command=diffuse,1.0,1.0,0.3,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W1Command=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +LetGoCommand= +HeldCommand=diffuse,1.0,1.0,0.3,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 + +[GhostArrowBright] +NoneCommand= +HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +MissCommand= +W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W3Command=diffuse,0.0,1.0,0.4,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W2Command=diffuse,1.0,1.0,0.3,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W1Command=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +LetGoCommand= +HeldCommand=diffuse,1.0,1.0,0.3,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 + +[ReceptorArrow] +W3Command=stoptweening;zoom,0.75;linear,0.12;zoom,1 +W2Command=stoptweening;zoom,0.75;linear,0.12;zoom,1 +W1Command=stoptweening;zoom,0.75;linear,0.12;zoom,1 +InitCommand=effectclock,"beat";diffuseramp;effectcolor1,color(".8,.8,.8,1");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05 +NoneCommand=stoptweening;zoom,0.75;linear,0.12;zoom,1 +PressCommand=stoptweening;zoom,0.75;linear,0.12;zoom,1 + +[ReceptorOverlay] +InitCommand=diffusealpha,0 +PressCommand=finishtweening;zoom,1;blend,"BlendMode_Add";diffusealpha,.6 +LiftCommand=finishtweening;decelerate,.12;diffusealpha,0;zoom,1.2 + +[HoldGhostArrow] +#HoldingOnCommand=diffusealpha,0;glowshift;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,.7");effectperiod,.1 +HoldingOnCommand=diffusealpha,1;glowshift;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,.7");effectperiod,.1 +HoldingOffCommand=diffusealpha,0 InitCommand=finishtweening;playcommand,"HoldingOff" \ No newline at end of file From 3327dc6be79190a1a88232492e7d359aff3d960f Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Wed, 27 Jun 2012 16:05:33 -0500 Subject: [PATCH 6/7] more finishtweening/hitmine stuff --- NoteSkins/dance/midi-note-3d/metrics.ini | 182 +++++++++++----------- NoteSkins/dance/midi-note/metrics.ini | 182 +++++++++++----------- NoteSkins/dance/midi-solo/metrics.ini | 160 +++++++++---------- NoteSkins/dance/midi-vivid-3d/metrics.ini | 176 ++++++++++----------- NoteSkins/dance/midi-vivid/metrics.ini | 176 ++++++++++----------- 5 files changed, 438 insertions(+), 438 deletions(-) diff --git a/NoteSkins/dance/midi-note-3d/metrics.ini b/NoteSkins/dance/midi-note-3d/metrics.ini index d315c3ab14..74a3c5f949 100644 --- a/NoteSkins/dance/midi-note-3d/metrics.ini +++ b/NoteSkins/dance/midi-note-3d/metrics.ini @@ -1,92 +1,92 @@ -[Global] -FallbackNoteSkin=default - -[NoteDisplay] -TapNoteAnimationIsVivid=0 -HoldHeadAnimationIsVivid=0 -DrawHoldHeadForTapsOnSameRow=0 -TapNoteAnimationLength=4 -TapAdditionAnimationLength=4 -TapMineAnimationLength=1 -TapLiftAnimationLength=4 -HoldHeadAnimationLength=1 // doesn't matter. Only 1 frame anyway. -HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway. - -StartDrawingHoldBodyOffsetFromHead=0 -StopDrawingHoldBodyOffsetFromTail=0 - -HoldLetGoGrayPercent=0.125 - -ReverseDrawOrder=1101 -HoldHeadIsAboveWavyParts=1 -HoldTailIsAboveWavyParts=1 -TapNoteAdditionTextureCoordOffsetX=0 -TapNoteAdditionTextureCoordOffsetY=0 -FlipHeadAndTailWhenReverse=1 -FlipHoldBodyWhenReverse=1 -TopHoldAnchorWhenReverse=1 - -TapNoteNoteColorTextureCoordSpacingX=0 -TapNoteNoteColorTextureCoordSpacingY=0.125 - -TapFakeNoteColorTextureCoordSpacingX=0 -TapFakeNoteColorTextureCoordSpacingY=0.125 - -HoldHeadAdditionTextureCoordOffsetX=0 -HoldHeadAdditionTextureCoordOffsetY=0 -HoldHeadNoteColorTextureCoordSpacingX=0 -HoldHeadNoteColorTextureCoordSpacingY=0 -HoldTopCapAdditionTextureCoordOffsetX=0 -HoldTopCapAdditionTextureCoordOffsetY=0 -HoldTopCapNoteColorTextureCoordSpacingX=0 -HoldTopCapNoteColorTextureCoordSpacingY=0 - -[GhostArrowDim] -NoneCommand= -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 -MissCommand=blend,'BlendMode_Add'; -W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -LetGoCommand=blend,'BlendMode_Add'; -HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 - -[GhostArrowBright] -NoneCommand=blend,'BlendMode_Add'; -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 -MissCommand=blend,'BlendMode_Add'; -W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -LetGoCommand=blend,'BlendMode_Add'; -HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 - -[HoldGhostArrow] -HoldingOnCommand=blend,'BlendMode_Add';pulse;effectmagnitude,1,1.125,1;effectperiod,0.05;effectclock,'beatnooffset';visible,true -HoldingOffCommand=blend,'BlendMode_Add';stopeffect;visible,false - -[ReceptorArrow] -W3Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 -W2Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 -W1Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 -InitCommand= -NoneCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1 -PressCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1 -[ReceptorArrowOverlay] -W3Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 -W2Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 -W1Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 -InitCommand=blend,"BlendMode_Add";effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05 -NoneCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1 -PressCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1 -[ReceptorOverlay] -InitCommand=diffusealpha,0;blend,"BlendMode_Add" -PressCommand=finishtweening;zoom,0.85;decelerate,0.12;zoom,1;diffusealpha,0.6; +[Global] +FallbackNoteSkin=default + +[NoteDisplay] +TapNoteAnimationIsVivid=0 +HoldHeadAnimationIsVivid=0 +DrawHoldHeadForTapsOnSameRow=0 +TapNoteAnimationLength=4 +TapAdditionAnimationLength=4 +TapMineAnimationLength=1 +TapLiftAnimationLength=4 +HoldHeadAnimationLength=1 // doesn't matter. Only 1 frame anyway. +HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway. + +StartDrawingHoldBodyOffsetFromHead=0 +StopDrawingHoldBodyOffsetFromTail=0 + +HoldLetGoGrayPercent=0.125 + +ReverseDrawOrder=1101 +HoldHeadIsAboveWavyParts=1 +HoldTailIsAboveWavyParts=1 +TapNoteAdditionTextureCoordOffsetX=0 +TapNoteAdditionTextureCoordOffsetY=0 +FlipHeadAndTailWhenReverse=1 +FlipHoldBodyWhenReverse=1 +TopHoldAnchorWhenReverse=1 + +TapNoteNoteColorTextureCoordSpacingX=0 +TapNoteNoteColorTextureCoordSpacingY=0.125 + +TapFakeNoteColorTextureCoordSpacingX=0 +TapFakeNoteColorTextureCoordSpacingY=0.125 + +HoldHeadAdditionTextureCoordOffsetX=0 +HoldHeadAdditionTextureCoordOffsetY=0 +HoldHeadNoteColorTextureCoordSpacingX=0 +HoldHeadNoteColorTextureCoordSpacingY=0 +HoldTopCapAdditionTextureCoordOffsetX=0 +HoldTopCapAdditionTextureCoordOffsetY=0 +HoldTopCapNoteColorTextureCoordSpacingX=0 +HoldTopCapNoteColorTextureCoordSpacingY=0 + +[GhostArrowDim] +NoneCommand= +HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +MissCommand=blend,'BlendMode_Add'; +W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +LetGoCommand=blend,'BlendMode_Add'; +HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 + +[GhostArrowBright] +NoneCommand=blend,'BlendMode_Add'; +HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +MissCommand=blend,'BlendMode_Add'; +W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +LetGoCommand=blend,'BlendMode_Add'; +HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 + +[HoldGhostArrow] +HoldingOnCommand=blend,'BlendMode_Add';pulse;effectmagnitude,1,1.125,1;effectperiod,0.05;effectclock,'beatnooffset';visible,true +HoldingOffCommand=blend,'BlendMode_Add';stopeffect;visible,false + +[ReceptorArrow] +W3Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 +W2Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 +W1Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 +InitCommand= +NoneCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1 +PressCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1 +[ReceptorArrowOverlay] +W3Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 +W2Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 +W1Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 +InitCommand=blend,"BlendMode_Add";effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05 +NoneCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1 +PressCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1 +[ReceptorOverlay] +InitCommand=diffusealpha,0;blend,"BlendMode_Add" +PressCommand=finishtweening;zoom,0.85;decelerate,0.12;zoom,1;diffusealpha,0.6; LiftCommand=finishtweening;accelerate,0.12;diffusealpha,0;zoom,1.2 \ No newline at end of file diff --git a/NoteSkins/dance/midi-note/metrics.ini b/NoteSkins/dance/midi-note/metrics.ini index d315c3ab14..74a3c5f949 100644 --- a/NoteSkins/dance/midi-note/metrics.ini +++ b/NoteSkins/dance/midi-note/metrics.ini @@ -1,92 +1,92 @@ -[Global] -FallbackNoteSkin=default - -[NoteDisplay] -TapNoteAnimationIsVivid=0 -HoldHeadAnimationIsVivid=0 -DrawHoldHeadForTapsOnSameRow=0 -TapNoteAnimationLength=4 -TapAdditionAnimationLength=4 -TapMineAnimationLength=1 -TapLiftAnimationLength=4 -HoldHeadAnimationLength=1 // doesn't matter. Only 1 frame anyway. -HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway. - -StartDrawingHoldBodyOffsetFromHead=0 -StopDrawingHoldBodyOffsetFromTail=0 - -HoldLetGoGrayPercent=0.125 - -ReverseDrawOrder=1101 -HoldHeadIsAboveWavyParts=1 -HoldTailIsAboveWavyParts=1 -TapNoteAdditionTextureCoordOffsetX=0 -TapNoteAdditionTextureCoordOffsetY=0 -FlipHeadAndTailWhenReverse=1 -FlipHoldBodyWhenReverse=1 -TopHoldAnchorWhenReverse=1 - -TapNoteNoteColorTextureCoordSpacingX=0 -TapNoteNoteColorTextureCoordSpacingY=0.125 - -TapFakeNoteColorTextureCoordSpacingX=0 -TapFakeNoteColorTextureCoordSpacingY=0.125 - -HoldHeadAdditionTextureCoordOffsetX=0 -HoldHeadAdditionTextureCoordOffsetY=0 -HoldHeadNoteColorTextureCoordSpacingX=0 -HoldHeadNoteColorTextureCoordSpacingY=0 -HoldTopCapAdditionTextureCoordOffsetX=0 -HoldTopCapAdditionTextureCoordOffsetY=0 -HoldTopCapNoteColorTextureCoordSpacingX=0 -HoldTopCapNoteColorTextureCoordSpacingY=0 - -[GhostArrowDim] -NoneCommand= -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 -MissCommand=blend,'BlendMode_Add'; -W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -LetGoCommand=blend,'BlendMode_Add'; -HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 - -[GhostArrowBright] -NoneCommand=blend,'BlendMode_Add'; -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 -MissCommand=blend,'BlendMode_Add'; -W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -LetGoCommand=blend,'BlendMode_Add'; -HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 - -[HoldGhostArrow] -HoldingOnCommand=blend,'BlendMode_Add';pulse;effectmagnitude,1,1.125,1;effectperiod,0.05;effectclock,'beatnooffset';visible,true -HoldingOffCommand=blend,'BlendMode_Add';stopeffect;visible,false - -[ReceptorArrow] -W3Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 -W2Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 -W1Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 -InitCommand= -NoneCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1 -PressCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1 -[ReceptorArrowOverlay] -W3Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 -W2Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 -W1Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 -InitCommand=blend,"BlendMode_Add";effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05 -NoneCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1 -PressCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1 -[ReceptorOverlay] -InitCommand=diffusealpha,0;blend,"BlendMode_Add" -PressCommand=finishtweening;zoom,0.85;decelerate,0.12;zoom,1;diffusealpha,0.6; +[Global] +FallbackNoteSkin=default + +[NoteDisplay] +TapNoteAnimationIsVivid=0 +HoldHeadAnimationIsVivid=0 +DrawHoldHeadForTapsOnSameRow=0 +TapNoteAnimationLength=4 +TapAdditionAnimationLength=4 +TapMineAnimationLength=1 +TapLiftAnimationLength=4 +HoldHeadAnimationLength=1 // doesn't matter. Only 1 frame anyway. +HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway. + +StartDrawingHoldBodyOffsetFromHead=0 +StopDrawingHoldBodyOffsetFromTail=0 + +HoldLetGoGrayPercent=0.125 + +ReverseDrawOrder=1101 +HoldHeadIsAboveWavyParts=1 +HoldTailIsAboveWavyParts=1 +TapNoteAdditionTextureCoordOffsetX=0 +TapNoteAdditionTextureCoordOffsetY=0 +FlipHeadAndTailWhenReverse=1 +FlipHoldBodyWhenReverse=1 +TopHoldAnchorWhenReverse=1 + +TapNoteNoteColorTextureCoordSpacingX=0 +TapNoteNoteColorTextureCoordSpacingY=0.125 + +TapFakeNoteColorTextureCoordSpacingX=0 +TapFakeNoteColorTextureCoordSpacingY=0.125 + +HoldHeadAdditionTextureCoordOffsetX=0 +HoldHeadAdditionTextureCoordOffsetY=0 +HoldHeadNoteColorTextureCoordSpacingX=0 +HoldHeadNoteColorTextureCoordSpacingY=0 +HoldTopCapAdditionTextureCoordOffsetX=0 +HoldTopCapAdditionTextureCoordOffsetY=0 +HoldTopCapNoteColorTextureCoordSpacingX=0 +HoldTopCapNoteColorTextureCoordSpacingY=0 + +[GhostArrowDim] +NoneCommand= +HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +MissCommand=blend,'BlendMode_Add'; +W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +LetGoCommand=blend,'BlendMode_Add'; +HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 + +[GhostArrowBright] +NoneCommand=blend,'BlendMode_Add'; +HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +MissCommand=blend,'BlendMode_Add'; +W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +LetGoCommand=blend,'BlendMode_Add'; +HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 + +[HoldGhostArrow] +HoldingOnCommand=blend,'BlendMode_Add';pulse;effectmagnitude,1,1.125,1;effectperiod,0.05;effectclock,'beatnooffset';visible,true +HoldingOffCommand=blend,'BlendMode_Add';stopeffect;visible,false + +[ReceptorArrow] +W3Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 +W2Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 +W1Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 +InitCommand= +NoneCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1 +PressCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1 +[ReceptorArrowOverlay] +W3Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 +W2Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 +W1Command=stoptweening;zoom,0.85;linear,0.12;zoom,1 +InitCommand=blend,"BlendMode_Add";effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05 +NoneCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1 +PressCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1 +[ReceptorOverlay] +InitCommand=diffusealpha,0;blend,"BlendMode_Add" +PressCommand=finishtweening;zoom,0.85;decelerate,0.12;zoom,1;diffusealpha,0.6; LiftCommand=finishtweening;accelerate,0.12;diffusealpha,0;zoom,1.2 \ No newline at end of file diff --git a/NoteSkins/dance/midi-solo/metrics.ini b/NoteSkins/dance/midi-solo/metrics.ini index 698d307fb4..3dc54f0108 100644 --- a/NoteSkins/dance/midi-solo/metrics.ini +++ b/NoteSkins/dance/midi-solo/metrics.ini @@ -1,81 +1,81 @@ -[Global] -FallbackNoteSkin=midi-note - -[NoteDisplay] -TapNoteAnimationIsVivid=0 -DrawHoldHeadForTapsOnSameRow=0 -TapNoteAnimationLength=4 -TapAdditionAnimationLength=4 -TapMineAnimationLength=1 -TapLiftAnimationLength=4 -HoldHeadAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway. - -StartDrawingHoldBodyOffsetFromHead=0 -StopDrawingHoldBodyOffsetFromTail=0 - -HoldLetGoGrayPercent=0.125 - -ReverseDrawOrder=1101 -HoldHeadIsAboveWavyParts=1 -HoldTailIsAboveWavyParts=1 -TapNoteAdditionTextureCoordOffsetX=0 -TapNoteAdditionTextureCoordOffsetY=0 -FlipHeadAndTailWhenReverse=1 -FlipHoldBodyWhenReverse=1 -TopHoldAnchorWhenReverse=1 - -TapNoteNoteColorTextureCoordSpacingX=0 -TapNoteNoteColorTextureCoordSpacingY=0.125 - -TapFakeNoteColorTextureCoordSpacingX=0 -TapFakeNoteColorTextureCoordSpacingY=0.125 - -HoldHeadNoteColorTextureCoordSpacingX=0 -HoldHeadNoteColorTextureCoordSpacingY=0 - -[GhostArrowDim] -NoneCommand= -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 -MissCommand=blend,'BlendMode_Add'; -W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -LetGoCommand=blend,'BlendMode_Add'; -HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 - -[GhostArrowBright] -NoneCommand=blend,'BlendMode_Add'; -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 -MissCommand=blend,'BlendMode_Add'; -W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -LetGoCommand=blend,'BlendMode_Add'; -HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 - -[ReceptorArrow] -W3Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -W2Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -W1Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -InitCommand= -NoneCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 -PressCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 -[ReceptorArrowOverlay] -W3Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -W2Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -W1Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -InitCommand=blend,"BlendMode_Add";effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05 -NoneCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 -PressCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 -[ReceptorOverlay] -InitCommand=diffusealpha,0;blend,"BlendMode_Add" -PressCommand=finishtweening;zoom,1.1;decelerate,0.12;zoom,1;diffusealpha,0.6; +[Global] +FallbackNoteSkin=midi-note + +[NoteDisplay] +TapNoteAnimationIsVivid=0 +DrawHoldHeadForTapsOnSameRow=0 +TapNoteAnimationLength=4 +TapAdditionAnimationLength=4 +TapMineAnimationLength=1 +TapLiftAnimationLength=4 +HoldHeadAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway. + +StartDrawingHoldBodyOffsetFromHead=0 +StopDrawingHoldBodyOffsetFromTail=0 + +HoldLetGoGrayPercent=0.125 + +ReverseDrawOrder=1101 +HoldHeadIsAboveWavyParts=1 +HoldTailIsAboveWavyParts=1 +TapNoteAdditionTextureCoordOffsetX=0 +TapNoteAdditionTextureCoordOffsetY=0 +FlipHeadAndTailWhenReverse=1 +FlipHoldBodyWhenReverse=1 +TopHoldAnchorWhenReverse=1 + +TapNoteNoteColorTextureCoordSpacingX=0 +TapNoteNoteColorTextureCoordSpacingY=0.125 + +TapFakeNoteColorTextureCoordSpacingX=0 +TapFakeNoteColorTextureCoordSpacingY=0.125 + +HoldHeadNoteColorTextureCoordSpacingX=0 +HoldHeadNoteColorTextureCoordSpacingY=0 + +[GhostArrowDim] +NoneCommand= +HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +MissCommand=blend,'BlendMode_Add'; +W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +LetGoCommand=blend,'BlendMode_Add'; +HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 + +[GhostArrowBright] +NoneCommand=blend,'BlendMode_Add'; +HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +MissCommand=blend,'BlendMode_Add'; +W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +LetGoCommand=blend,'BlendMode_Add'; +HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 + +[ReceptorArrow] +W3Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +W2Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +W1Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +InitCommand= +NoneCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 +PressCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 +[ReceptorArrowOverlay] +W3Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +W2Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +W1Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +InitCommand=blend,"BlendMode_Add";effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05 +NoneCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 +PressCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 +[ReceptorOverlay] +InitCommand=diffusealpha,0;blend,"BlendMode_Add" +PressCommand=finishtweening;zoom,1.1;decelerate,0.12;zoom,1;diffusealpha,0.6; LiftCommand=finishtweening;accelerate,0.12;diffusealpha,0;zoom,1.2 \ No newline at end of file diff --git a/NoteSkins/dance/midi-vivid-3d/metrics.ini b/NoteSkins/dance/midi-vivid-3d/metrics.ini index 44b960d8b9..6f0b434b0c 100644 --- a/NoteSkins/dance/midi-vivid-3d/metrics.ini +++ b/NoteSkins/dance/midi-vivid-3d/metrics.ini @@ -1,88 +1,88 @@ -[Global] -FallbackNoteSkin=midi-note - -[NoteDisplay] -TapNoteAnimationIsVivid=1 -TapAdditionAnimationIsVivid=1 -DrawHoldHeadForTapsOnSameRow=1 -TapNoteAnimationLength=4 -TapAdditionAnimationLength=4 -TapMineAnimationLength=1 -TapLiftAnimationLength=4 -HoldHeadAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway. - -StartDrawingHoldBodyOffsetFromHead=0 -StopDrawingHoldBodyOffsetFromTail=0 - -HoldLetGoGrayPercent=0.125 - -ReverseDrawOrder=1101 -HoldHeadIsAboveWavyParts=1 -HoldTailIsAboveWavyParts=1 -TapNoteNoteColorTextureCoordOffsetX=0 -TapNoteNoteColorTextureCoordOffsetY=0 -TapNoteAdditionTextureCoordOffsetX=0 -TapNoteAdditionTextureCoordOffsetY=0 -FlipHeadAndTailWhenReverse=1 -FlipHoldBodyWhenReverse=1 -TopHoldAnchorWhenReverse=1 - -TapNoteNoteColorTextureCoordSpacingX=0 -TapNoteNoteColorTextureCoordSpacingY=0 - -TapFakeNoteColorTextureCoordSpacingX=0 -TapFakeNoteColorTextureCoordSpacingY=0 - -HoldHeadNoteColorTextureCoordSpacingX=0 -HoldHeadNoteColorTextureCoordSpacingY=0 - -[GhostArrowDim] -NoneCommand= -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 -MissCommand=blend,'BlendMode_Add'; -W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -LetGoCommand=blend,'BlendMode_Add'; -HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 - -[GhostArrowBright] -NoneCommand=blend,'BlendMode_Add'; -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 -MissCommand=blend,'BlendMode_Add'; -W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -LetGoCommand=blend,'BlendMode_Add'; -HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 - -[HoldGhostArrow] -HoldingOnCommand=visible,true -HoldingOffCommand=visible,false - -[ReceptorArrow] -W3Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -W2Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -W1Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -InitCommand= -NoneCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 -PressCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 -[ReceptorArrowOverlay] -W3Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -W2Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -W1Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -InitCommand=blend,"BlendMode_Add";effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05 -NoneCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 -PressCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 -[ReceptorOverlay] -InitCommand=diffusealpha,0;blend,"BlendMode_Add" -PressCommand=finishtweening;zoom,1.1;decelerate,0.12;zoom,1;diffusealpha,0.6; -LiftCommand=finishtweening;accelerate,0.12;diffusealpha,0;zoom,1.2 +[Global] +FallbackNoteSkin=midi-note + +[NoteDisplay] +TapNoteAnimationIsVivid=1 +TapAdditionAnimationIsVivid=1 +DrawHoldHeadForTapsOnSameRow=1 +TapNoteAnimationLength=4 +TapAdditionAnimationLength=4 +TapMineAnimationLength=1 +TapLiftAnimationLength=4 +HoldHeadAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway. + +StartDrawingHoldBodyOffsetFromHead=0 +StopDrawingHoldBodyOffsetFromTail=0 + +HoldLetGoGrayPercent=0.125 + +ReverseDrawOrder=1101 +HoldHeadIsAboveWavyParts=1 +HoldTailIsAboveWavyParts=1 +TapNoteNoteColorTextureCoordOffsetX=0 +TapNoteNoteColorTextureCoordOffsetY=0 +TapNoteAdditionTextureCoordOffsetX=0 +TapNoteAdditionTextureCoordOffsetY=0 +FlipHeadAndTailWhenReverse=1 +FlipHoldBodyWhenReverse=1 +TopHoldAnchorWhenReverse=1 + +TapNoteNoteColorTextureCoordSpacingX=0 +TapNoteNoteColorTextureCoordSpacingY=0 + +TapFakeNoteColorTextureCoordSpacingX=0 +TapFakeNoteColorTextureCoordSpacingY=0 + +HoldHeadNoteColorTextureCoordSpacingX=0 +HoldHeadNoteColorTextureCoordSpacingY=0 + +[GhostArrowDim] +NoneCommand= +HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +MissCommand=blend,'BlendMode_Add'; +W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +LetGoCommand=blend,'BlendMode_Add'; +HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 + +[GhostArrowBright] +NoneCommand=blend,'BlendMode_Add'; +HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +MissCommand=blend,'BlendMode_Add'; +W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +LetGoCommand=blend,'BlendMode_Add'; +HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 + +[HoldGhostArrow] +HoldingOnCommand=visible,true +HoldingOffCommand=visible,false + +[ReceptorArrow] +W3Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +W2Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +W1Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +InitCommand= +NoneCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 +PressCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 +[ReceptorArrowOverlay] +W3Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +W2Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +W1Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +InitCommand=blend,"BlendMode_Add";effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05 +NoneCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 +PressCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 +[ReceptorOverlay] +InitCommand=diffusealpha,0;blend,"BlendMode_Add" +PressCommand=finishtweening;zoom,1.1;decelerate,0.12;zoom,1;diffusealpha,0.6; +LiftCommand=finishtweening;accelerate,0.12;diffusealpha,0;zoom,1.2 diff --git a/NoteSkins/dance/midi-vivid/metrics.ini b/NoteSkins/dance/midi-vivid/metrics.ini index 44b960d8b9..6f0b434b0c 100644 --- a/NoteSkins/dance/midi-vivid/metrics.ini +++ b/NoteSkins/dance/midi-vivid/metrics.ini @@ -1,88 +1,88 @@ -[Global] -FallbackNoteSkin=midi-note - -[NoteDisplay] -TapNoteAnimationIsVivid=1 -TapAdditionAnimationIsVivid=1 -DrawHoldHeadForTapsOnSameRow=1 -TapNoteAnimationLength=4 -TapAdditionAnimationLength=4 -TapMineAnimationLength=1 -TapLiftAnimationLength=4 -HoldHeadAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway. -HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway. - -StartDrawingHoldBodyOffsetFromHead=0 -StopDrawingHoldBodyOffsetFromTail=0 - -HoldLetGoGrayPercent=0.125 - -ReverseDrawOrder=1101 -HoldHeadIsAboveWavyParts=1 -HoldTailIsAboveWavyParts=1 -TapNoteNoteColorTextureCoordOffsetX=0 -TapNoteNoteColorTextureCoordOffsetY=0 -TapNoteAdditionTextureCoordOffsetX=0 -TapNoteAdditionTextureCoordOffsetY=0 -FlipHeadAndTailWhenReverse=1 -FlipHoldBodyWhenReverse=1 -TopHoldAnchorWhenReverse=1 - -TapNoteNoteColorTextureCoordSpacingX=0 -TapNoteNoteColorTextureCoordSpacingY=0 - -TapFakeNoteColorTextureCoordSpacingX=0 -TapFakeNoteColorTextureCoordSpacingY=0 - -HoldHeadNoteColorTextureCoordSpacingX=0 -HoldHeadNoteColorTextureCoordSpacingY=0 - -[GhostArrowDim] -NoneCommand= -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 -MissCommand=blend,'BlendMode_Add'; -W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -LetGoCommand=blend,'BlendMode_Add'; -HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 - -[GhostArrowBright] -NoneCommand=blend,'BlendMode_Add'; -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 -MissCommand=blend,'BlendMode_Add'; -W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 -LetGoCommand=blend,'BlendMode_Add'; -HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 - -[HoldGhostArrow] -HoldingOnCommand=visible,true -HoldingOffCommand=visible,false - -[ReceptorArrow] -W3Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -W2Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -W1Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -InitCommand= -NoneCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 -PressCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 -[ReceptorArrowOverlay] -W3Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -W2Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -W1Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 -InitCommand=blend,"BlendMode_Add";effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05 -NoneCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 -PressCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 -[ReceptorOverlay] -InitCommand=diffusealpha,0;blend,"BlendMode_Add" -PressCommand=finishtweening;zoom,1.1;decelerate,0.12;zoom,1;diffusealpha,0.6; -LiftCommand=finishtweening;accelerate,0.12;diffusealpha,0;zoom,1.2 +[Global] +FallbackNoteSkin=midi-note + +[NoteDisplay] +TapNoteAnimationIsVivid=1 +TapAdditionAnimationIsVivid=1 +DrawHoldHeadForTapsOnSameRow=1 +TapNoteAnimationLength=4 +TapAdditionAnimationLength=4 +TapMineAnimationLength=1 +TapLiftAnimationLength=4 +HoldHeadAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway. +HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway. + +StartDrawingHoldBodyOffsetFromHead=0 +StopDrawingHoldBodyOffsetFromTail=0 + +HoldLetGoGrayPercent=0.125 + +ReverseDrawOrder=1101 +HoldHeadIsAboveWavyParts=1 +HoldTailIsAboveWavyParts=1 +TapNoteNoteColorTextureCoordOffsetX=0 +TapNoteNoteColorTextureCoordOffsetY=0 +TapNoteAdditionTextureCoordOffsetX=0 +TapNoteAdditionTextureCoordOffsetY=0 +FlipHeadAndTailWhenReverse=1 +FlipHoldBodyWhenReverse=1 +TopHoldAnchorWhenReverse=1 + +TapNoteNoteColorTextureCoordSpacingX=0 +TapNoteNoteColorTextureCoordSpacingY=0 + +TapFakeNoteColorTextureCoordSpacingX=0 +TapFakeNoteColorTextureCoordSpacingY=0 + +HoldHeadNoteColorTextureCoordSpacingX=0 +HoldHeadNoteColorTextureCoordSpacingY=0 + +[GhostArrowDim] +NoneCommand= +HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +MissCommand=blend,'BlendMode_Add'; +W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +LetGoCommand=blend,'BlendMode_Add'; +HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 + +[GhostArrowBright] +NoneCommand=blend,'BlendMode_Add'; +HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +MissCommand=blend,'BlendMode_Add'; +W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 +LetGoCommand=blend,'BlendMode_Add'; +HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 + +[HoldGhostArrow] +HoldingOnCommand=visible,true +HoldingOffCommand=visible,false + +[ReceptorArrow] +W3Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +W2Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +W1Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +InitCommand= +NoneCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 +PressCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 +[ReceptorArrowOverlay] +W3Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +W2Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +W1Command=stoptweening;zoom,1.15;linear,0.12;zoom,1 +InitCommand=blend,"BlendMode_Add";effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05 +NoneCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 +PressCommand=stoptweening;zoom,1.15;linear,0.12;zoom,1 +[ReceptorOverlay] +InitCommand=diffusealpha,0;blend,"BlendMode_Add" +PressCommand=finishtweening;zoom,1.1;decelerate,0.12;zoom,1;diffusealpha,0.6; +LiftCommand=finishtweening;accelerate,0.12;diffusealpha,0;zoom,1.2 From 9fc8aa589bf249768489695a152cd36e93fcf4e9 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Wed, 27 Jun 2012 16:08:51 -0500 Subject: [PATCH 7/7] even more finishtweening;/hitmine stuff --- NoteSkins/Para/default/metrics.ini | 4 ++-- NoteSkins/kb7/default/metrics.ini | 4 ++-- NoteSkins/kb7/orbital/metrics.ini | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/NoteSkins/Para/default/metrics.ini b/NoteSkins/Para/default/metrics.ini index 01860e31c1..727b708b8e 100644 --- a/NoteSkins/Para/default/metrics.ini +++ b/NoteSkins/Para/default/metrics.ini @@ -41,7 +41,7 @@ HoldHeadNoteColorTextureCoordSpacingX=0 HoldHeadNoteColorTextureCoordSpacingY=0 [GhostArrowDim] -HitMineCommand=blend,"BlendMode_Add";diffuse,1,1,1,1;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +HitMineCommand=finishtweening;blend,"BlendMode_Add";diffuse,1,1,1,1;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 W3Command=diffuse,0.0,1.0,0.4,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 @@ -51,7 +51,7 @@ HeldCommand=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffus [GhostArrowBright] NoneCommand= -HitMineCommand=blend,"BlendMode_Add";diffuse,1,1,1,1;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +HitMineCommand=finishtweening;blend,"BlendMode_Add";diffuse,1,1,1,1;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 AvoidMineCommand= MissCommand= W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 diff --git a/NoteSkins/kb7/default/metrics.ini b/NoteSkins/kb7/default/metrics.ini index 2215640713..6f1f91a104 100644 --- a/NoteSkins/kb7/default/metrics.ini +++ b/NoteSkins/kb7/default/metrics.ini @@ -32,7 +32,7 @@ HoldHeadNoteColorTextureCoordSpacingY=0.125 [GhostArrowDim] NoneCommand= -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;smooth,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;smooth,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 MissCommand= W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0 W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0 @@ -45,7 +45,7 @@ HeldCommand=diffuse,1.0,1.0,0.3,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffuse [GhostArrowBright] NoneCommand= -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 MissCommand= W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0 W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0 diff --git a/NoteSkins/kb7/orbital/metrics.ini b/NoteSkins/kb7/orbital/metrics.ini index 7ad5692c97..f9399725ee 100644 --- a/NoteSkins/kb7/orbital/metrics.ini +++ b/NoteSkins/kb7/orbital/metrics.ini @@ -32,7 +32,7 @@ HoldHeadNoteColorTextureCoordSpacingY=0 [GhostArrowDim] NoneCommand= -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;smooth,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;smooth,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 MissCommand= W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0 W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0 @@ -45,7 +45,7 @@ HeldCommand=diffuse,1.0,1.0,0.3,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffuse [GhostArrowBright] NoneCommand= -HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 +HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0 MissCommand= W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0 W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0