diff --git a/Codes.xml b/Codes.xml index a5d1b59..3c7aa6d 100644 --- a/Codes.xml +++ b/Codes.xml @@ -340,9 +340,10 @@ - misc + savestate Coin Count Savestate Münzenzahl Speicherstand + コイン数状態保存 Psychonauter 1.0 @@ -363,6 +364,12 @@ | D-Pad Links | Speichere aktuellen Münzenstand | | D-Pad Rechts | Lade gespeicherten Müneznstand | + + | ボタン | 機能 | + | ---------- | -------------------------- | + | 十字キー左 | コイン数をセーブ | + | 十字キー右 | コイン数をロード | + Jul 24, 2021 80000001 80578A60 @@ -1550,8 +1557,8 @@ Sélecteur de niveau レベルセレクト Psychonauter, Dan Salvato, Noki Doki - 1.15 - Jul 5, 2021 + 1.16 + Jul 9, 2023 Allows warping to other levels when starting a file or when exiting a level by holding the combination until the screen turns black. @@ -1668,12 +1675,12 @@ 48000134 2C060002 4082000C 39000105 48000124 2C060006 - 4082000C 39000107 + 4082000C 39000106 48000114 2C060004 - 4082000C 39000108 + 4082000C 39000107 48000104 2C060005 - 4082000C 39000109 - 480000F4 39000102 + 4082000C 39000108 + 480000F4 39000109 480000EC 2C070040 40820010 39001400 39202E00 480000C4 @@ -1796,12 +1803,12 @@ 48000134 2C060002 4082000C 39000105 48000124 2C060006 - 4082000C 39000107 + 4082000C 39000106 48000114 2C060004 - 4082000C 39000108 + 4082000C 39000107 48000104 2C060005 - 4082000C 39000109 - 480000F4 39000102 + 4082000C 39000108 + 480000F4 39000109 480000EC 2C070040 40820010 39001400 39202E00 480000C4 @@ -1924,12 +1931,12 @@ 48000134 2C060002 4082000C 39000105 48000124 2C060006 - 4082000C 39000107 + 4082000C 39000106 48000114 2C060004 - 4082000C 39000108 + 4082000C 39000107 48000104 2C060005 - 4082000C 39000109 - 480000F4 39000102 + 4082000C 39000108 + 480000F4 39000109 480000EC 2C070040 40820010 39001400 39202E00 480000C4 @@ -2052,12 +2059,12 @@ 48000134 2C060002 4082000C 39000105 48000124 2C060006 - 4082000C 39000107 + 4082000C 39000106 48000114 2C060004 - 4082000C 39000108 + 4082000C 39000107 48000104 2C060005 - 4082000C 39000109 - 480000F4 39000102 + 4082000C 39000108 + 480000F4 39000109 480000EC 2C070040 40820010 39001400 39202E00 480000C4 @@ -3064,9 +3071,9 @@ Erzwungene Plaza Events Forcer les événements de la place Delfino ドルピックタウンイベントの強制再生 - Noki Doki - 1.0 - Mar 8, 2020 + Noki Doki, sup39(サポミク) + 1.1 + Feb 23, 2023 Forces the unlock events for Ricco, Gelato and Yoshi to happen any time the correct version of the plaza is loaded via the Level Select code. @@ -3085,7 +3092,7 @@ la priorité sur celui de Yoshi si leurs conditions sont remplies. - 強制的に次のイベントを再生します: 「リコの解除イベント」「マンマの解除イベント」「正しいバージョンのドルピックタウンがロードされるたびに出現するヨッシー」 + 強制的に次のイベントを再生します: 「リコの解除イベント」「マンマの解除イベント」「正しいバージョンのドルピックタウンがロードされるたびに出現するヨッシー」。 「ノズルロック解除イベント」は、条件が満たされている場合、ヨッシーのイベントよりも優先されます。 @@ -3094,6 +3101,12 @@ 042B78C4 48000018 042B78F0 60000000 042B7940 60000000 + C22B7764 00000005 + 806D9FA0 899D0001 + 558BF7BC 7D8C5B78 + 558C16FA 3D60FFF3 + 616BFF01 5D6B6636 + 99630070 00000000 0410C4C8 48000018 @@ -3101,6 +3114,12 @@ 0410C57C 48000018 0410C5A8 60000000 0410C5F8 60000000 + C210C41C 00000005 + 806D97D0 899D0001 + 558BF7BC 7D8C5B78 + 558C16FA 3D60FFF3 + 616BFF01 5D6B6636 + 99630070 00000000 04297020 48000018 @@ -3108,6 +3127,12 @@ 042970D4 48000018 04297100 60000000 04297150 60000000 + C2296F74 00000005 + 806D9E60 899D0001 + 558BF7BC 7D8C5B78 + 558C16FA 3D60FFF3 + 616BFF01 5D6B6636 + 99630070 00000000 042AF7E0 48000018 @@ -3115,6 +3140,12 @@ 042AF894 48000018 042AF8C0 60000000 042AF910 60000000 + C22AF734 00000005 + 806D9EC8 899D0001 + 558BF7BC 7D8C5B78 + 558C16FA 3D60FFF3 + 616BFF01 5D6B6636 + 99630070 00000000 @@ -3789,62 +3820,75 @@ 0.2.0 Apr 28, 2022 - When you pressed the buttons configured in [#Button Config](#config) simultaneously, - you can restart the current area without selecting "Exit Area" in pause menu. - Note that the restart function behaves differently than pressing Y or Z with "Level Select". - This code only supports restarting 1 area only. - For example, you can restart outside a secret stage or inside a secret stage individually, - but you can NOT restart a combination of outside+inside a secret stage. + When you pressed the buttons configured in [#Button Config](#config) simultaneously, + you can restart the current area without selecting "Exit Area" in pause menu. + Note that the restart function behaves differently than pressing Y or Z with "Level Select". + This code only supports restarting 1 area only. + For example, you can restart outside a secret stage or inside a secret stage individually, + but you can NOT restart a combination of outside+inside a secret stage. - ::: warning - You can NOT restart after destroying the last platform in Bowser fight at the moment. - ::: + ::: warning + You can NOT restart after destroying the last platform in Bowser fight at the moment. + ::: - [#ボタン設定](#config)で設定したボタンを同時に押すと、ポーズメニューから「コースから出る」を選択せずに所在のエリアをやり直すことができます。ただし、Level SelectのYとZのやり直し機能と異なり、エリアごとのやり直ししかできないので注意してください。例えば、ヒミツ外部のみ、ヒミツ内部のみといった一つのエリアのやり直しはできますが、ヒミツ外部+ヒミツ内部といった組み合わせのやり直しはできません。 + [#ボタン設定](#config)で設定したボタンを同時に押すと、ポーズメニューから「コースから出る」を選択せずに所在のエリアをやり直すことができます。ただし、Level SelectのYとZのやり直し機能と異なり、エリアごとのやり直ししかできないので注意してください。例えば、ヒミツ外部のみ、ヒミツ内部のみといった一つのエリアのやり直しはできますが、ヒミツ外部+ヒミツ内部といった組み合わせのやり直しはできません。 - ::: warning - 現時点ではクッパ戦で最後の足場を破壊するとやり直しできません。 - ::: + ::: warning + 現時点ではクッパ戦で最後の足場を破壊するとやり直しできません。 + ::: - C20EAFA0 0000000A - 3C608040 A0A30D50 - 28050808 40A20038 - 3C60817F 38A00001 - 98A300B3 98A30100 - 3C60803E 84A3600E - 90A30004 38A00040 - 90A30000 3C60800E - 6063B3F8 7C6803A6 - 4E800020 2C000002 - 60000000 00000000 - - - C227768C 0000000A - 3C60803F A0A35428 - 28050808 40A20038 - 3C60817F 38A00001 - 98A300B3 98A30100 - 3C60803E 84A3A8EE - 90A30004 38A00040 - 90A30000 3C608027 - 60637AE4 7C6803A6 - 4E800020 2C000002 - 60000000 00000000 + C20EAFA0 0000000A + 3C608040 A0A30D50 + 28050208 40A20038 + 3C60817F 38A00001 + 98A300B3 98A30100 + 3C60803E 84A3600E + 90A30004 38A00040 + 90A30000 3C60800E + 6063B3F8 7C6803A6 + 4E800020 2C000002 + 60000000 00000000 - C22979E4 0000000A - 3C608040 A0A34454 - 28050808 40A20038 - 3C60817F 38A00001 - 98A300B3 98A30100 - 3C60803F 84A3970E - 90A30004 38A00040 - 90A30000 3C608029 - 60637E3C 7C6803A6 - 4E800020 2C000002 - 60000000 00000000 + C22979E4 0000000A + 3C608040 A0A34454 + 28050208 40A20038 + 3C60817F 38A00001 + 98A300B3 98A30100 + 3C60803F 84A3970E + 90A30004 38A00040 + 90A30000 3C608029 + 60637E3C 7C6803A6 + 4E800020 2C000002 + 60000000 00000000 + + + C228F87C 0000000A + 3C608040 A0A3BBF4 + 28050208 40A20038 + 3C60817F 38A00001 + 98A300B3 98A30100 + 3C60803E 84A310CE + 90A30004 38A00040 + 90A30000 3C608028 + 6063FCD4 7C6803A6 + 4E800020 2C000002 + 60000000 00000000 + + + C227768C 0000000A + 3C60803F A0A35428 + 28050208 40A20038 + 3C60817F 38A00001 + 98A300B3 98A30100 + 3C60803E 84A3A8EE + 90A30004 38A00040 + 90A30000 3C608027 + 60637AE4 7C6803A6 + 4E800020 2C000002 + 60000000 00000000 @@ -3927,22 +3971,77 @@ 70000061 4C423102 60000000 00000000 28400D51 00000024 - 040ECF14 b01a004c - 040ec5d0 70000061 + 040ECF14 B01A004C + 040EC5D0 70000061 + E0000000 00000000 + + + 28404454 00000028 + C2299990 0000000A + 899A0064 2C0C0001 + 40A20040 819A0074 + 818C0094 816C02B8 + 2C0B0003 41A1002C + 41A00018 3D80803F + 818C9734 39600000 + 916C0018 48000014 + 3863000F 907A0054 + 3B800000 48000008 + B01A004C 00000000 + C229904C 00000004 + 807F0074 80630094 + 806302B8 2C830000 + 70000061 4C423102 + 60000000 00000000 + 28404455 00000024 + 04299990 B01A004C + 0429904C 70000061 + E0000000 00000000 + + + 283FBBF4 00000028 + C2291828 0000000A + 899A0064 2C0C0001 + 40A20040 819A0074 + 818C0094 816C08DC + 2C0B0003 41A1002C + 41A00018 3D80803E + 818C10F4 39600000 + 916C0018 48000014 + 3863000F 907A0054 + 3B800000 48000008 + B01A004C 00000000 + C2290EE4 00000004 + 807F0074 80630094 + 806308DC 2C830000 + 70000061 4C423102 + 60000000 00000000 + 283FBBF5 00000024 + 04291828 B01A004C + 04290EE4 70000061 E0000000 00000000 283F5428 00000028 - C2279640 00000005 + C2279640 0000000A 899A0064 2C0C0001 - 4182000C B01A004C - 48000010 3863000F - 907A0054 3B800000 + 40A20040 819A0074 + 818C0094 816C02BC + 2C0B0003 41A1002C + 41A00018 3D80803E + 818CA914 39600000 + 916C0018 48000014 + 3863000F 907A0054 + 3B800000 48000008 + B01A004C 00000000 + C2278CFC 00000004 + 807F0074 80630094 + 806302BC 2C830000 + 70000061 4C423102 60000000 00000000 - 04278D00 60000000 283F5429 00000024 04279640 B01A004C - 04278D00 418204EC + 04278CFC 70000061 E0000000 00000000 @@ -3994,6 +4093,75 @@ 4E800021 A01F00FC 60000000 00000000 + + C228102C 0000000A + 807F03F0 3C808040 + A0844454 54800436 + 2C000800 40820034 + 54840EFD 4182002C + 3C006300 5C0027BE + 980300D0 80030008 + 9003000C 807F03F0 + 3D808028 618C11A8 + 7D8803A6 4E800020 + 60000000 00000000 + C21BC5C4 00000009 + 3C808040 A0844454 + 54800436 2C000800 + 4082002C 54840EFD + 41820024 806D9F28 + 806303F0 93E300F0 + 7FE3FB78 81830000 + 818C0104 7D8803A6 + 4E800021 A01F00FC + 60000000 00000000 + + + C2278DB8 0000000A + 807F03F0 3C808040 + A084BBF4 54800436 + 2C000800 40820034 + 54840EFD 4182002C + 3C006300 5C0027BE + 980300D0 80030008 + 9003000C 807F03F0 + 3D808027 618C8F34 + 7D8803A6 4E800020 + 60000000 00000000 + C21B447C 00000009 + 3C808040 A084BBF4 + 54800436 2C000800 + 4082002C 54840EFD + 41820024 806D9E50 + 806303F0 93E300F0 + 7FE3FB78 81830000 + 818C0104 7D8803A6 + 4E800021 A01F00FC + 60000000 00000000 + + + C2260D7C 0000000A + 807F03F0 3C80803F + A0845428 54800436 + 2C000800 40820034 + 54840EFD 4182002C + 3C006300 5C0027BE + 980300D0 80030008 + 9003000C 807F03F0 + 3D808026 618C0EF8 + 7D8803A6 4E800020 + 60000000 00000000 + C219C34C 00000009 + 3C80803F A0845428 + 54800436 2C000800 + 4082002C 54840EFD + 41820024 806D9DE8 + 806303F0 93E300F0 + 7FE3FB78 81830000 + 818C0104 7D8803A6 + 4E800021 A01F00FC + 60000000 00000000 + misc @@ -4008,7 +4176,7 @@ | Combination | Result | |---------------|------| |B + D-Pad Left | Fast forward 4x | - |B + D-Pad Right| Fast forward 8x (may cause lag) | + |B + D-Pad Right| Fast forward 8x (lag may occur) | ::: warning SGT will be inaccurate with this code. @@ -4020,18 +4188,34 @@ | ボタン | 効果 | |--------------|------| |B + 十字キー左|4倍速| - |B + 十字キー右|8倍速(ラグが発生する可能性がある)| + |B + 十字キー右|8倍速(ラグが発生する可能性があります)| ::: warning このコードを使うとシャインゲットタイマーのタイムがずれます。 ::: - 020ecde2 00000258 + 020ECDE2 00000258 28400D50 00000201 - 020ecde2 00000960 + 020ECDE2 00000960 28400D51 00000202 - 020ecde2 000012C0 + 020ECDE2 000012C0 + E0000000 00000000 + + + 0229985E 00000258 + 28404454 00000201 + 0229985E 00000960 + 28404455 00000202 + 0229985E 000012C0 + E0000000 00000000 + + + 022916F6 00000258 + 283FBBF4 00000201 + 022916F6 00000960 + 283FBBF5 00000202 + 022916F6 000012C0 E0000000 00000000 @@ -4048,12 +4232,15 @@ Instant Level Select レベル選択DX sup39(サポミク) - 0.3 - Feb 08, 2023 + 0.4 + Feb 21, 2023 ::: warning Shine Get Timer does not restart with this code. ::: + ::: warning + Z menu will be disabled + ::: #### Instant Restart - Press `B + D-Pad Up` to **restart the current area** @@ -4081,6 +4268,9 @@ ::: warning シャインゲットタイマーには未対応です。 ::: + ::: warning + Zメニューは無効化されます。 + ::: #### ポーズせずにやり直し - `B+十字キー上`で**現在のエリアをやり直す** @@ -4103,6 +4293,7 @@ 4. これで好きなだけハニスキを練習できます。他のエリアに入ろうとする時に自動的にやり直すので、手動でやり直す必要がありません。必要であれば`B + 十字キー上`でやり直すこともできます。 + C60EB020 800EB02C C20F9B74 00000046 3C80817F 816D97D0 3D808040 80AC0D80 @@ -4176,6 +4367,7 @@ 3BBD0005 00000000 + C627770C 80277718 C2285FCC 00000046 3C80817F 816D9E60 3D80803F 80AC5458 @@ -4249,6 +4441,7 @@ 3BBD0005 00000000 + C628F8FC 8028F908 C229E080 00000046 3C80817F 816D9EC8 3D808040 80ACBC24 @@ -4322,6 +4515,7 @@ 3BBD0005 00000000 + C6297A64 80297A70 C22A6170 00000046 3C80817F 816D9FA0 3D808040 80AC4484 @@ -4395,4 +4589,730 @@ 3BBD0005 00000000 + + savestate + Red Coin Savestate + 赤コイン状態保存 + sup39(サポミク) + 1.0 + Feb 11, 2023 + + | Combination | Result | + | ------------| ---------------------------- | + | D-Pad Left | Save current red coin state | + | D-Pad Right | Load saved red coin state | + + + | ボタン | 機能 | + | ---------- | -------------------------- | + | 十字キー左 | 赤コインの状態をセーブ | + | 十字キー右 | 赤コインの状態をロード | + + + C0000000 00000017 + 3D808040 A18C0D50 + 2B8C0001 419E000C + 280C0002 4CA20020 + 818D9A18 7D8C6379 + 4D820020 812C0018 + 814C0014 554A103A + 7D495214 3C60817F + 816D97D0 A003002C + 5405800E 419E0020 + 5400063F 900B00F4 + 40820014 880B00E5 + 70000002 41820008 + 38A00000 7C0A4840 + 40810038 858AFFFC + 800C0000 6C00803C + 280015AC 40A20020 + 800C00F0 54A5083E + 419E0010 50A007FE + 50A01F38 900C00F0 + 500507FE 4BFFFFC8 + 4C9E0020 98A3002C + 800B00F4 9803002D + 4E800020 4E800020 + + + C0000000 00000017 + 3D80803F A18C5428 + 2B8C0001 419E000C + 280C0002 4CA20020 + 818D9C10 7D8C6379 + 4D820020 812C0018 + 814C0014 554A103A + 7D495214 3C60817F + 816D9E60 A003002C + 5405800E 419E0020 + 5400063F 900B00F4 + 40820014 880B00E5 + 70000002 41820008 + 38A00000 7C0A4840 + 40810038 858AFFFC + 800C0000 6C00803B + 2800A0C4 40A20020 + 800C00F0 54A5083E + 419E0010 50A007FE + 50A01F38 900C00F0 + 500507FE 4BFFFFC8 + 4C9E0020 98A3002C + 800B00F4 9803002D + 4E800020 4E800020 + + + C0000000 00000017 + 3D808040 A18CBBF4 + 2B8C0001 419E000C + 280C0002 4CA20020 + 818D9C78 7D8C6379 + 4D820020 812C0018 + 814C0014 554A103A + 7D495214 3C60817F + 816D9EC8 A003002C + 5405800E 419E0020 + 5400063F 900B00F4 + 40820014 880B00E5 + 70000002 41820008 + 38A00000 7C0A4840 + 40810038 858AFFFC + 800C0000 6C00803C + 280013A4 40A20020 + 800C00F0 54A5083E + 419E0010 50A007FE + 50A01F38 900C00F0 + 500507FE 4BFFFFC8 + 4C9E0020 98A3002C + 800B00F4 9803002D + 4E800020 4E800020 + + + C0000000 00000017 + 3D808040 A18C4454 + 2B8C0001 419E000C + 280C0002 4CA20020 + 818D9D50 7D8C6379 + 4D820020 812C0018 + 814C0014 554A103A + 7D495214 3C60817F + 816D9FA0 A003002C + 5405800E 419E0020 + 5400063F 900B00F4 + 40820014 880B00E5 + 70000002 41820008 + 38A00000 7C0A4840 + 40810038 858AFFFC + 800C0000 6C00803C + 28009BB4 40A20020 + 800C00F0 54A5083E + 419E0010 50A007FE + 50A01F38 900C00F0 + 500507FE 4BFFFFC8 + 4C9E0020 98A3002C + 800B00F4 9803002D + 4E800020 4E800020 + + + + savestate + QF Time Savestate + QFタイム状態保存 + sup39(サポミク) + 1.0 + Feb 11, 2023 + + | Combination | Result | + | ------------| ---------------------------- | + | D-Pad Left | Save current QF Time | + | D-Pad Right | Load saved QF Time | + + + | ボタン | 機能 | + | ---------- | -------------------------- | + | 十字キー左 | 現在のQFタイムをセーブ | + | 十字キー右 | セーブしたQFタイムをロード | + + + C0000000 00000009 + 80AD97E8 7CA52B79 + 4D820020 3C60817F + 3D808040 A18C0D50 + 2B8C0001 419E0020 + 280C0002 4CA20020 + 80030030 9005005C + 900303CC 38000000 + 900300BC 8005005C + 90030030 4E800020 + + + C0000000 00000009 + 80AD9E78 7CA52B79 + 4D820020 3C60817F + 3D80803F A18C5428 + 2B8C0001 419E0020 + 280C0002 4CA20020 + 80030030 9005005C + 900303CC 38000000 + 900300BC 8005005C + 90030030 4E800020 + + + C0000000 00000009 + 80AD9EE0 7CA52B79 + 4D820020 3C60817F + 3D808040 A18CBBF4 + 2B8C0001 419E0020 + 280C0002 4CA20020 + 80030030 9005005C + 900303CC 38000000 + 900300BC 8005005C + 90030030 4E800020 + + + C0000000 00000009 + 80AD9FB8 7CA52B79 + 4D820020 3C60817F + 3D808040 A18C4454 + 2B8C0001 419E0020 + 280C0002 4CA20020 + 80030030 9005005C + 900303CC 38000000 + 900300BC 8005005C + 90030030 4E800020 + + + + savestate + In-Game Time Savestate + ゲーム内タイム状態保存 + sup39(サポミク) + 1.0 + Feb 11, 2023 + + | Combination | Result | + | ------------| ---------------------------- | + | D-Pad Left | Save current In-Game Time | + | D-Pad Right | Load saved In-Game Time | + + + | ボタン | 機能 | + | ---------- | -------------------------------- | + | 十字キー左 | 現在のゲーム内タイムをセーブ | + | 十字キー右 | セーブしたゲーム内タイムをロード | + + + C220C428 00000003 + 3D80817F 39600000 + 916C0034 916C0038 + 7C0802A6 00000000 + C0000000 00000013 + 3D808040 A18C0D50 + 2B8C0001 419E000C + 280C0002 4CA20020 + 816D97E8 7D6B5B79 + 4D820020 3D80817F + 7D2D42E6 7D4C42E6 + 7C0D42E6 7C090000 + 4082FFF0 806B0110 + 80AB0114 7D455010 + 7D234910 806B00F0 + 80AB00F4 7D455014 + 7D234914 409E0020 + 806B00C8 80AB00CC + 7CA55010 7C634910 + 906C0034 90AC0038 + 4E800020 806C0034 + 80AC0038 7CA55010 + 7C634910 906B00C8 + 90AB00CC 4E800020 + + + C212C3C0 00000003 + 3D80817F 39600000 + 916C0034 916C0038 + 7C0802A6 00000000 + C0000000 00000013 + 3D80803F A18C5428 + 2B8C0001 419E000C + 280C0002 4CA20020 + 816D9E78 7D6B5B79 + 4D820020 3D80817F + 7D2D42E6 7D4C42E6 + 7C0D42E6 7C090000 + 4082FFF0 806B0110 + 80AB0114 7D455010 + 7D234910 806B00F0 + 80AB00F4 7D455014 + 7D234914 409E0020 + 806B00C8 80AB00CC + 7CA55010 7C634910 + 906C0034 90AC0038 + 4E800020 806C0034 + 80AC0038 7CA55010 + 7C634910 906B00C8 + 90AB00CC 4E800020 + + + C213FC5C 00000003 + 3D80817F 39600000 + 916C0034 916C0038 + 7C0802A6 00000000 + C0000000 00000013 + 3D808040 A18CBBF4 + 2B8C0001 419E000C + 280C0002 4CA20020 + 816D9EE0 7D6B5B79 + 4D820020 3D80817F + 7D2D42E6 7D4C42E6 + 7C0D42E6 7C090000 + 4082FFF0 806B0110 + 80AB0114 7D455010 + 7D234910 806B00F0 + 80AB00F4 7D455014 + 7D234914 409E0020 + 806B00C8 80AB00CC + 7CA55010 7C634910 + 906C0034 90AC0038 + 4E800020 806C0034 + 80AC0038 7CA55010 + 7C634910 906B00C8 + 90AB00CC 4E800020 + + + C214AFCC 00000003 + 3D80817F 39600000 + 916C0034 916C0038 + 7C0802A6 00000000 + C0000000 00000013 + 3D808040 A18C4454 + 2B8C0001 419E000C + 280C0002 4CA20020 + 816D9FB8 7D6B5B79 + 4D820020 3D80817F + 7D2D42E6 7D4C42E6 + 7C0D42E6 7C090000 + 4082FFF0 806B0110 + 80AB0114 7D455010 + 7D234910 806B00F0 + 80AB00F4 7D455014 + 7D234914 409E0020 + 806B00C8 80AB00CC + 7CA55010 7C634910 + 906C0034 90AC0038 + 4E800020 806C0034 + 80AC0038 7CA55010 + 7C634910 906B00C8 + 90AB00CC 4E800020 + + + + misc + Deathless Blooper Surfing + 死なないイカサーフィン + sup39(サポミク) + 1.0 + Feb 11, 2023 + + Prevent Mario from dying when he crashes into a wall + while Blooper Surfing. + + + イカサーフィン中に壁にぶつかっても死なないようにします。 + + + C21397D0 00000008 + 818D9A10 812C0018 + 814C0014 554A103A + 7D495214 858AFFFC + 800C0000 6C00803C + 280060C0 40A20010 + A00C00F2 7000FFF6 + B00C00F2 7C0A4840 + 4181FFDC 00000000 + + + C223A090 00000008 + 818D9C08 812C0018 + 814C0014 554A103A + 7D495214 858AFFFC + 800C0000 6C00803B + 2800EBD8 40A20010 + A00C00F2 7000FFF6 + B00C00F2 7C0A4840 + 4181FFDC 00000000 + + + C22520CC 00000008 + 818D9C70 812C0018 + 814C0014 554A103A + 7D495214 858AFFFC + 800C0000 6C00803C + 28005EB8 40A20010 + A00C00F2 7000FFF6 + B00C00F2 7C0A4840 + 4181FFDC 00000000 + + + C225A340 00000008 + 818D9D48 812C0018 + 814C0014 554A103A + 7D495214 858AFFFC + 800C0000 6C00803C + 2800E6C8 40A20010 + A00C00F2 7000FFF6 + B00C00F2 7C0A4840 + 4181FFDC 00000000 + + + + savestate + Mario Savestate + マリオ状態保存 + sup39(サポミク) + 1.0 + Feb 13, 2023 + + Allows to save and load the following states: + - Mario's current state (e.g. dive, ground pound) + - Mario's speed + - Last held object + - FLUDD's water amount + + | Combination | Result | + | ------------| ------------------------------- | + | D-Pad Left | Save the states mentioned above | + | D-Pad Right | Load the states mentioned above | + + + 次の状態をセーブ・ロードできるようにします: + - マリオの状態(ダイブ、ヒップドロップなど) + - マリオの速度 + - 最後に掴んだオブジェクト + - ポンプの水量 + + | ボタン | 機能 | + | ---------- | ------------------ | + | 十字キー左 | 上記の状態をセーブ | + | 十字キー右 | 上記の状態をロード | + + + 48000000 8040A378 + DE000000 80008180 + 80000000 817F0040 + 80000001 817F0050 + 80000002 817F0058 + 80000003 817F005C + 80000004 817F0060 + 92210005 000003E4 + 80000006 817F0064 + 28400D50 00000001 + 9C0010F0 0000007C + 9C0008F1 00000118 + 9C0004F2 000000B0 + 9C0004F3 000000A8 + 9C0004F4 00000384 + 9C000456 00001C80 + 28400D51 00000002 + 237F0040 00000000 + 9A00100F 0000007C + 9A00081F 00000118 + 9A00042F 000000B0 + 9A00043F 000000A8 + 9A00044F 00000384 + 9A000465 00001C80 + E0000000 00000000 + C20EFA34 00000003 + 90010004 3D80817F + 38000000 900C0040 + 60000000 00000000 + + + 48000000 803FEF88 + DE000000 80008180 + 80000000 817F0040 + 80000001 817F0050 + 80000002 817F0058 + 80000003 817F005C + 80000004 817F0060 + 92210005 000003E4 + 80000006 817F0064 + 283F5428 00000001 + 9C0010F0 0000007C + 9C0008F1 00000118 + 9C0004F2 000000B0 + 9C0004F3 000000A8 + 9C0004F4 00000384 + 9C000456 00001C80 + 283F5429 00000002 + 237F0040 00000000 + 9A00100F 0000007C + 9A00081F 00000118 + 9A00042F 000000B0 + 9A00043F 000000A8 + 9A00044F 00000384 + 9A000465 00001C80 + E0000000 00000000 + C227C218 00000003 + 90010004 3D80817F + 38000000 900C0040 + 60000000 00000000 + + + 48000000 804057B0 + DE000000 80008180 + 80000000 817F0040 + 80000001 817F0050 + 80000002 817F0058 + 80000003 817F005C + 80000004 817F0060 + 92210005 000003E4 + 80000006 817F0064 + 283FBBF4 00000001 + 9C0010F0 0000007C + 9C0008F1 00000118 + 9C0004F2 000000B0 + 9C0004F3 000000A8 + 9C0004F4 00000384 + 9C000456 00001C80 + 283FBBF5 00000002 + 237F0040 00000000 + 9A00100F 0000007C + 9A00081F 00000118 + 9A00042F 000000B0 + 9A00043F 000000A8 + 9A00044F 00000384 + 9A000465 00001C80 + E0000000 00000000 + C2294400 00000003 + 90010004 3D80817F + 38000000 900C0040 + 60000000 00000000 + + + 48000000 8040E0E8 + DE000000 80008180 + 80000000 817F0040 + 80000001 817F0050 + 80000002 817F0058 + 80000003 817F005C + 80000004 817F0060 + 92210005 000003E4 + 80000006 817F0064 + 28404454 00000001 + 9C0010F0 0000007C + 9C0008F1 00000118 + 9C0004F2 000000B0 + 9C0004F3 000000A8 + 9C0004F4 00000384 + 9C000456 00001C80 + 28404455 00000002 + 237F0040 00000000 + 9A00100F 0000007C + 9A00081F 00000118 + 9A00042F 000000B0 + 9A00043F 000000A8 + 9A00044F 00000384 + 9A000465 00001C80 + E0000000 00000000 + C229C524 00000003 + 90010004 3D80817F + 38000000 900C0040 + 60000000 00000000 + + + + misc + No Shine Get Animation + sup39(サポミク) + 1.0 + Feb 13, 2023 + + Prevent Mario from starting the 'Shine Get' animation + when touching a shine. + + Note that the shine is not counted as collected + when this code is enabled. + + | Combination | Result | + | ------------------- | ---------------- | + | L + X + D-Pad Left | Enable the code | + | L + X + D-Pad Right | Disable the code | + + + シャインキャッチの時にマリオがSHINE GETアニメーションを始めないようにします。 + + このコードを有効にするとキャッチしたシャインは実際に取得されません。 + + | ボタン | 機能 | + | ------------------ | ---------------------- | + | L + X + 十字キー左 | このコードを有効にする | + | L + X + 十字キー右 | このコードを無効にする | + + + 28400D50 00000441 + C210C3D4 00000003 + 3D80817F 39600000 + 916C003C 7C030378 + 60000000 00000000 + C2120540 00000008 + 3D80817F 81630058 + 916C003C 8163005C + 396B0004 556B003A + 916C00B8 3800FFFF + 900C00BC 880C0479 + 980C0478 A16C04A4 + 396B0001 B16C04A4 + 60000000 00000000 + C2195304 00000005 + 3D80817F 800C003C + 816D97E8 816B0058 + 7C005850 28000004 + 916C003C 4C810020 + 7C0802A6 00000000 + C212055C 00000002 + 80030064 5400003C + 90030064 00000000 + C2120564 00000003 + 3C000C40 60000201 + 901F007C 38000000 + 901F0084 00000000 + 28400D51 00000442 + 04120540 4BFCD5A9 + 0412055C 4E800021 + 04120564 B01F0084 + 04195304 7C0802A6 + E0000000 00000000 + + + 283F5428 00000441 + C2296F2C 00000003 + 3D80817F 39600000 + 916C003C 7C030378 + 60000000 00000000 + C2221148 00000008 + 3D80817F 81630058 + 916C003C 8163005C + 396B0004 556B003A + 916C00B8 3800FFFF + 900C00BC 880C0479 + 980C0478 A16C04A4 + 396B0001 B16C04A4 + 60000000 00000000 + C219D0BC 00000005 + 3D80817F 800C003C + 816D9E78 816B0058 + 7C005850 28000004 + 916C003C 4C810020 + 7C0802A6 00000000 + C2221164 00000002 + 80030064 5400003C + 90030064 00000000 + C222116C 00000003 + 3C000C40 60000201 + 901F007C 38000000 + 901F0084 00000000 + 283F5429 00000442 + 04221148 480590CD + 04221164 4E800021 + 0422116C B01F0084 + 0419D0BC 7C0802A6 + E0000000 00000000 + + + 283FBBF4 00000441 + C22AF6EC 00000003 + 3D80817F 39600000 + 916C003C 7C030378 + 60000000 00000000 + C223918C 00000008 + 3D80817F 81630058 + 916C003C 8163005C + 396B0004 556B003A + 916C00B8 3800FFFF + 900C00BC 880C0479 + 980C0478 A16C04A4 + 396B0001 B16C04A4 + 60000000 00000000 + C21B51EC 00000005 + 3D80817F 800C003C + 816D9EE0 816B0058 + 7C005850 28000004 + 916C003C 4C810020 + 7C0802A6 00000000 + C22391A8 00000002 + 80030064 5400003C + 90030064 00000000 + C22391B0 00000003 + 3C000C40 60000201 + 901F007C 38000000 + 901F0084 00000000 + 283FBBF5 00000442 + 0423918C 48059271 + 042391A8 4E800021 + 042391B0 B01F0084 + 041B51EC 7C0802A6 + E0000000 00000000 + + + 28404454 00000441 + C22B771C 00000003 + 3D80817F 39600000 + 916C003C 7C030378 + 60000000 00000000 + C2241400 00000008 + 3D80817F 81630058 + 916C003C 8163005C + 396B0004 556B003A + 916C00B8 3800FFFF + 900C00BC 880C0479 + 980C0478 A16C04A4 + 396B0001 B16C04A4 + 60000000 00000000 + C21BD334 00000005 + 3D80817F 800C003C + 816D9FB8 816B0058 + 7C005850 28000004 + 916C003C 4C810020 + 7C0802A6 00000000 + C224141C 00000002 + 80030064 5400003C + 90030064 00000000 + C2241424 00000003 + 3C000C40 60000201 + 901F007C 38000000 + 901F0084 00000000 + 28404455 00000442 + 04241400 48059165 + 0424141C 4E800021 + 04241424 B01F0084 + 041BD334 7C0802A6 + E0000000 00000000 + + + + misc + Fruit Never Time Out + 永久フルーツ + sup39(サポミク) + 1.0 + Feb 13, 2023 + + Make fruits never time out. + + + フルーツを時間経過で消えないようにします。 + + + 044091A8 7FFFFFFF + + + 043FD858 7FFFFFFF + + + 04404078 7FFFFFFF + + + 0440C918 7FFFFFFF + + diff --git a/Readme.md b/Readme.md index 1dae04d..00372b1 100644 --- a/Readme.md +++ b/Readme.md @@ -54,7 +54,19 @@ Some codes store some states in the games memory starting from address 0x817F000 | ![](./docs/reserved.svg) | `0x28` | `0x29` | Instant Level Select: Last Selected Area ID | | ![](./docs/reserved.svg) | `0x2A` | `0x2A` | Instant Level Select: Last Selected Episode Number | | ![](./docs/reserved.svg) | `0x2B` | `0x2B` | Instant Level Select: Area Lock Flag | -| ![](./docs/unallocated.svg) | `0x2C` | `0x93` | Not Allocated | +| ![](./docs/reserved.svg) | `0x2C` | `0x2C` | Red Coin Savestate: Red Coin state | +| ![](./docs/reserved.svg) | `0x2D` | `0x2D` | Red Coin Savestate: Red Coin Count | +| ![](./docs/unallocated.svg) | `0x2E` | `0x2F` | Not Allocated | +| ![](./docs/reserved.svg) | `0x30` | `0x33` | QF Time Savestate: Stored QF Time | +| ![](./docs/reserved.svg) | `0x34` | `0x3B` | In-Game Time Savestate: Stored Elapsed Time | +| ![](./docs/reserved.svg) | `0x3C` | `0x3F` | Open World Shine Get: Last Touched Shine Game QF | +| ![](./docs/reserved.svg) | `0x40` | `0x4F` | Mario Savestate: Stored State (0x7C-0x8B) | +| ![](./docs/reserved.svg) | `0x50` | `0x57` | Mario Savestate: Stored Flag (0x118-0x123) | +| ![](./docs/reserved.svg) | `0x58` | `0x5B` | Mario Savestate: Stored Horizontal Speed | +| ![](./docs/reserved.svg) | `0x5C` | `0x5F` | Mario Savestate: Stored Vertical Speed | +| ![](./docs/reserved.svg) | `0x60` | `0x63` | Mario Savestate: Stored Last Grab Target | +| ![](./docs/reserved.svg) | `0x64` | `0x67` | Mario Savestate: Stored Water Amount | +| ![](./docs/unallocated.svg) | `0x68` | `0x93` | Not Allocated | | ![](./docs/reserved.svg) | `0x94` | `0xA3` | QF Timer: Coordinates of the Text box (LTRB) | | ![](./docs/reserved.svg) | `0xA4` | `0xB0` | QF Timer: Timer Format String | | ![](./docs/reserved.svg) | `0xB0` | `0xB1` | QF Timer: (Unused) | diff --git a/changelog.md b/changelog.md index 536c728..368f738 100644 --- a/changelog.md +++ b/changelog.md @@ -1,4 +1,30 @@ # Changelog +## Jul 15, 2023 +### Ported 'FastForward', 'InstantRestart', 'SpawnYoshi', 'StageIntroSkip' to all versions + +## Jul 9, 2023 +### Updated 'Level Select' +The peaceful plaza (after unlocking Ricco and Gelato) is now available as C↘ + Y, later plazas have their shortcuts moved clockwise, and the post-Corona plaza no longer has a dedicated shortcut. To access it, simply load Corona (X with neutral C stick) or Bowser (C↖ + Y + L) then exit to the plaza. + +## Feb 23, 2023 +### Updated 'Force Plaza Events' +Set the correct BH/RH/GB unlock flag + +## Feb 21, 2023 +Disable Z menu for Instant Level Select to prevent broken texture + +## Feb 13, 2023 +- Added 'Mario State Savestate' +- Added 'No Shine Get Animation' +- Added 'Fruit Never Time Out' + +## Feb 11, 2023 +- Added 'Deathless Blooper Surfing' +- Added 'In-Game Time Savestate' +- Added 'QF Time Savestate' +- Added 'Red Coin Savestate' +- Added 'Previous Downloaded Codes' as a preset + ## Feb 08, 2023 ### Updated 'Instant Level Select' Overwrite button input value to prevent Level Select being activated when AreaLock is enabled diff --git a/site/.vuepress/components/CodeList.vue b/site/.vuepress/components/CodeList.vue index 4749823..4aed5b2 100644 --- a/site/.vuepress/components/CodeList.vue +++ b/site/.vuepress/components/CodeList.vue @@ -66,6 +66,7 @@ import { translateCode, translate } from '../i18n/localeHelper'; import codeCategories from '../data/codeCategories.json'; import presetCategories from '../data/presetCategories.json'; +import {lskeyLDC} from './DownloadButton.vue'; export default { props: { @@ -98,10 +99,16 @@ export default { }, methods: { getPresetOptions() { - return presetCategories.map((c) => ({ - label: c.i18nKey, - value: c.identifier, - })); + return [ + ...presetCategories.map((c) => ({ + label: c.i18nKey, + value: c.identifier, + })), + { + label: 'generatorconfig.presets.@lastDLCodes', + value: lskeyLDC, + }, + ]; }, emitChangeEvent() { const selectedCodes = this.availableCodes.filter((c) => c.selected); @@ -120,8 +127,23 @@ export default { return; } - for (const code of this.availableCodes) { - code.selected = code.presets.includes(identifier); + if (identifier === lskeyLDC) { + // previous downloaded code + let titles = new Set(); + try { + const o = JSON.parse(localStorage.getItem(lskeyLDC)); + if (o instanceof Array) { + titles = new Set(o); + } + } catch {} + for (const code of this.availableCodes) { + code.selected = titles.has(code.title.find(o => o.lang === 'en-US').content); + } + } else { + // regular preset + for (const code of this.availableCodes) { + code.selected = code.presets.includes(identifier); + } } this.unselectStageLoader(); diff --git a/site/.vuepress/components/DownloadButton.vue b/site/.vuepress/components/DownloadButton.vue index d7ea060..5602644 100644 --- a/site/.vuepress/components/DownloadButton.vue +++ b/site/.vuepress/components/DownloadButton.vue @@ -18,6 +18,8 @@ import { translate, translateCode } from '../i18n/localeHelper'; // customizable code import codegens from './codes/codegen.js'; +export const lskeyLDC = '@/lastDLCodes'; + export default { props: { codes: { type: Array }, @@ -60,6 +62,12 @@ export default { ]); } catch {} + // save download code list + try { + const codeTitles = codeList.map(c => c.title.find(o => o.lang === 'en-US').content); + localStorage.setItem(lskeyLDC, JSON.stringify(codeTitles)); + } catch {} + const fileName = gameVersions.find((v) => v.identifier === this.versionIdentifier).version; // apply customizable codes diff --git a/site/.vuepress/components/codes/InstantRestart/codegen.js b/site/.vuepress/components/codes/InstantRestart/codegen.js index 9f6dfc2..ba78cfb 100644 --- a/site/.vuepress/components/codes/InstantRestart/codegen.js +++ b/site/.vuepress/components/codes/InstantRestart/codegen.js @@ -14,56 +14,15 @@ export const buttonValues = { DR: 0x0002, DL: 0x0001, }; - -const baseCodes = { - GMSJ01: (b) => ` -C20EAFA0 0000000A -3C608040 A0A30D50 -2805${b} 40A20038 -3C60817F 38A00001 -98A300B3 98A30100 -3C60803E 84A3600E -90A30004 38A00040 -90A30000 3C60800E -6063B3F8 7C6803A6 -4E800020 2C000002 -60000000 00000000 -`, - GMSJ0A: (b) => ` -C227768C 0000000A -3C60803F A0A35428 -2805${b} 40A20038 -3C60817F 38A00001 -98A300B3 98A30100 -3C60803E 84A3A8EE -90A30004 38A00040 -90A30000 3C608027 -60637AE4 7C6803A6 -4E800020 2C000002 -60000000 00000000 -`, - GMSE01: (b) => ` -C22979E4 0000000A -3C608040 A0A34454 -2805${b} 40A20038 -3C60817F 38A00001 -98A300B3 98A30100 -3C60803F 84A3970E -90A30004 38A00040 -90A30000 3C608029 -60637E3C 7C6803A6 -4E800020 2C000002 -60000000 00000000 -`, -}; const zCodes = { - GMSJ01: '040eb024 60000000', - GMSJ0A: '04277710 60000000', - GMSE01: '04297A68 60000000', + GMSJ01: '040EB02460000000', + GMSE01: '04297A6860000000', + GMSP01: '0428F90060000000', + GMSJ0A: '0427771060000000', }; export const defaultConfig = { - button: buttonValues.Y | buttonValues.DU, + button: buttonValues.B | buttonValues.DU, }; export function getConfig() { return { @@ -71,13 +30,11 @@ export function getConfig() { ...(parseJSON(localStorage.getItem(lskey)) ?? {}), }; } -export default function codegen(version) { +export default function codegen(version, src) { const { button } = getConfig(); - const g = baseCodes[version]; - if (g == null) return ''; - let code = g(button.toString(16).padStart(4, '0')); + let code = src.slice(0, 36) + button.toString(16).padStart(4, '0') + src.slice(40); if (button & buttonValues.Z) { code += zCodes[version]; } - return code.replace(/\s/g, ''); + return code; } diff --git a/site/.vuepress/data/codeCategories.json b/site/.vuepress/data/codeCategories.json index c6492c3..4606a1e 100644 --- a/site/.vuepress/data/codeCategories.json +++ b/site/.vuepress/data/codeCategories.json @@ -19,6 +19,11 @@ "i18nKey": "generatorconfig.categories.metadata", "exclusive": true }, + { + "identifier": "savestate", + "i18nKey": "generatorconfig.categories.savestate", + "exclusive": false + }, { "identifier": "misc", "i18nKey": "generatorconfig.categories.misc", diff --git a/site/.vuepress/i18n/en-US.json b/site/.vuepress/i18n/en-US.json index 81a767e..fb61537 100644 --- a/site/.vuepress/i18n/en-US.json +++ b/site/.vuepress/i18n/en-US.json @@ -55,6 +55,7 @@ "qol": "Quality of Life", "loader": "Loaders", "timer": "Timers", + "savestate": "Savestate", "misc": "Misc", "memcardpatch": "Memory Card Patches", "cosmetic": "Cosmetic", @@ -66,7 +67,8 @@ "recommended": "Recommended", "il": "IL Runs", "fap": "Fast Any%", - "hfsetup": "Hacked File Setup" + "hfsetup": "Hacked File Setup", + "@lastDLCodes": "(Previous Downloaded Codes)" } }, "landingpage": { diff --git a/site/.vuepress/i18n/ja-JP.json b/site/.vuepress/i18n/ja-JP.json index 47727f0..e065a6e 100644 --- a/site/.vuepress/i18n/ja-JP.json +++ b/site/.vuepress/i18n/ja-JP.json @@ -32,6 +32,14 @@ "gcm": "CheatManager TXT" } }, + "presets": { + "standard": "標準", + "recommended": "おすすめ", + "il": "IL Runs", + "fap": "Fast Any%", + "hfsetup": "Hacked Fileセットアップ", + "@lastDLCodes": "(前回ダウンロードしたコード)" + }, "alert": { "gct": "生成されたGCTファイルのサイズが5000バイトを超えました({size}バイト)。NintendontでこのGCTファイルを使う時、全ての機能が動作しなくなることがあるため、5000バイトを超えないようにいくつかの機能を減らすことをおすすめします。", "dolphin": "コードの合計サイズが3256バイトを超えました({size}バイト)。Dolphinで全てのコードをONにすると、全ての機能が動作しなくなることがあります。その場合はいくつかのコードをOFFにしてください。" diff --git a/site/.vuepress/public/img/levelselect.png b/site/.vuepress/public/img/levelselect.png index 4b4de51..bfb4647 100644 Binary files a/site/.vuepress/public/img/levelselect.png and b/site/.vuepress/public/img/levelselect.png differ