Ported 'FastForward', 'InstantRestart', 'SpawnYoshi', 'StageIntroSkip' to all versions
This commit is contained in:
parent
55e65f1cd5
commit
7f5511307a
3 changed files with 225 additions and 112 deletions
209
Codes.xml
209
Codes.xml
|
@ -4214,7 +4214,7 @@
|
||||||
<source version="GMSJ01">
|
<source version="GMSJ01">
|
||||||
C20EAFA0 0000000A
|
C20EAFA0 0000000A
|
||||||
3C608040 A0A30D50
|
3C608040 A0A30D50
|
||||||
28050808 40A20038
|
28050208 40A20038
|
||||||
3C60817F 38A00001
|
3C60817F 38A00001
|
||||||
98A300B3 98A30100
|
98A300B3 98A30100
|
||||||
3C60803E 84A3600E
|
3C60803E 84A3600E
|
||||||
|
@ -4224,23 +4224,10 @@
|
||||||
4E800020 2C000002
|
4E800020 2C000002
|
||||||
60000000 00000000
|
60000000 00000000
|
||||||
</source>
|
</source>
|
||||||
<source version="GMSJ0A">
|
|
||||||
C227768C 0000000A
|
|
||||||
3C60803F A0A35428
|
|
||||||
28050808 40A20038
|
|
||||||
3C60817F 38A00001
|
|
||||||
98A300B3 98A30100
|
|
||||||
3C60803E 84A3A8EE
|
|
||||||
90A30004 38A00040
|
|
||||||
90A30000 3C608027
|
|
||||||
60637AE4 7C6803A6
|
|
||||||
4E800020 2C000002
|
|
||||||
60000000 00000000
|
|
||||||
</source>
|
|
||||||
<source version="GMSE01">
|
<source version="GMSE01">
|
||||||
C22979E4 0000000A
|
C22979E4 0000000A
|
||||||
3C608040 A0A34454
|
3C608040 A0A34454
|
||||||
28050808 40A20038
|
28050208 40A20038
|
||||||
3C60817F 38A00001
|
3C60817F 38A00001
|
||||||
98A300B3 98A30100
|
98A300B3 98A30100
|
||||||
3C60803F 84A3970E
|
3C60803F 84A3970E
|
||||||
|
@ -4250,6 +4237,32 @@
|
||||||
4E800020 2C000002
|
4E800020 2C000002
|
||||||
60000000 00000000
|
60000000 00000000
|
||||||
</source>
|
</source>
|
||||||
|
<source version="GMSP01">
|
||||||
|
C228F87C 0000000A
|
||||||
|
3C608040 A0A3BBF4
|
||||||
|
28050208 40A20038
|
||||||
|
3C60817F 38A00001
|
||||||
|
98A300B3 98A30100
|
||||||
|
3C60803E 84A310CE
|
||||||
|
90A30004 38A00040
|
||||||
|
90A30000 3C608028
|
||||||
|
6063FCD4 7C6803A6
|
||||||
|
4E800020 2C000002
|
||||||
|
60000000 00000000
|
||||||
|
</source>
|
||||||
|
<source version="GMSJ0A">
|
||||||
|
C227768C 0000000A
|
||||||
|
3C60803F A0A35428
|
||||||
|
28050208 40A20038
|
||||||
|
3C60817F 38A00001
|
||||||
|
98A300B3 98A30100
|
||||||
|
3C60803E 84A3A8EE
|
||||||
|
90A30004 38A00040
|
||||||
|
90A30000 3C608027
|
||||||
|
60637AE4 7C6803A6
|
||||||
|
4E800020 2C000002
|
||||||
|
60000000 00000000
|
||||||
|
</source>
|
||||||
</code>
|
</code>
|
||||||
<code>
|
<code>
|
||||||
<category>qol</category>
|
<category>qol</category>
|
||||||
|
@ -4331,22 +4344,77 @@
|
||||||
70000061 4C423102
|
70000061 4C423102
|
||||||
60000000 00000000
|
60000000 00000000
|
||||||
28400D51 00000024
|
28400D51 00000024
|
||||||
040ECF14 b01a004c
|
040ECF14 B01A004C
|
||||||
040ec5d0 70000061
|
040EC5D0 70000061
|
||||||
|
E0000000 00000000
|
||||||
|
</source>
|
||||||
|
<source version="GMSE01">
|
||||||
|
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
|
||||||
|
</source>
|
||||||
|
<source version="GMSP01">
|
||||||
|
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
|
E0000000 00000000
|
||||||
</source>
|
</source>
|
||||||
<source version="GMSJ0A">
|
<source version="GMSJ0A">
|
||||||
283F5428 00000028
|
283F5428 00000028
|
||||||
C2279640 00000005
|
C2279640 0000000A
|
||||||
899A0064 2C0C0001
|
899A0064 2C0C0001
|
||||||
4182000C B01A004C
|
40A20040 819A0074
|
||||||
48000010 3863000F
|
818C0094 816C02BC
|
||||||
907A0054 3B800000
|
2C0B0003 41A1002C
|
||||||
|
41A00018 3D80803E
|
||||||
|
818CA914 39600000
|
||||||
|
916C0018 48000014
|
||||||
|
3863000F 907A0054
|
||||||
|
3B800000 48000008
|
||||||
|
B01A004C 00000000
|
||||||
|
C2278CFC 00000004
|
||||||
|
807F0074 80630094
|
||||||
|
806302BC 2C830000
|
||||||
|
70000061 4C423102
|
||||||
60000000 00000000
|
60000000 00000000
|
||||||
04278D00 60000000
|
|
||||||
283F5429 00000024
|
283F5429 00000024
|
||||||
04279640 B01A004C
|
04279640 B01A004C
|
||||||
04278D00 418204EC
|
04278CFC 70000061
|
||||||
E0000000 00000000
|
E0000000 00000000
|
||||||
</source>
|
</source>
|
||||||
</code>
|
</code>
|
||||||
|
@ -4398,6 +4466,75 @@
|
||||||
4E800021 A01F00FC
|
4E800021 A01F00FC
|
||||||
60000000 00000000
|
60000000 00000000
|
||||||
</source>
|
</source>
|
||||||
|
<source version="GMSE01">
|
||||||
|
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
|
||||||
|
</source>
|
||||||
|
<source version="GMSP01">
|
||||||
|
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
|
||||||
|
</source>
|
||||||
|
<source version="GMSJ0A">
|
||||||
|
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
|
||||||
|
</source>
|
||||||
</code>
|
</code>
|
||||||
<code>
|
<code>
|
||||||
<category>misc</category>
|
<category>misc</category>
|
||||||
|
@ -4412,7 +4549,7 @@
|
||||||
| Combination | Result |
|
| Combination | Result |
|
||||||
|---------------|------|
|
|---------------|------|
|
||||||
|B + D-Pad Left | Fast forward 4x |
|
|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
|
::: warning
|
||||||
SGT will be inaccurate with this code.
|
SGT will be inaccurate with this code.
|
||||||
|
@ -4424,18 +4561,34 @@
|
||||||
| ボタン | 効果 |
|
| ボタン | 効果 |
|
||||||
|--------------|------|
|
|--------------|------|
|
||||||
|B + 十字キー左|4倍速|
|
|B + 十字キー左|4倍速|
|
||||||
|B + 十字キー右|8倍速(ラグが発生する可能性がある)|
|
|B + 十字キー右|8倍速(ラグが発生する可能性があります)|
|
||||||
|
|
||||||
::: warning
|
::: warning
|
||||||
このコードを使うとシャインゲットタイマーのタイムがずれます。
|
このコードを使うとシャインゲットタイマーのタイムがずれます。
|
||||||
:::
|
:::
|
||||||
</description>
|
</description>
|
||||||
<source version="GMSJ01">
|
<source version="GMSJ01">
|
||||||
020ecde2 00000258
|
020ECDE2 00000258
|
||||||
28400D50 00000201
|
28400D50 00000201
|
||||||
020ecde2 00000960
|
020ECDE2 00000960
|
||||||
28400D51 00000202
|
28400D51 00000202
|
||||||
020ecde2 000012C0
|
020ECDE2 000012C0
|
||||||
|
E0000000 00000000
|
||||||
|
</source>
|
||||||
|
<source version="GMSE01">
|
||||||
|
0229985E 00000258
|
||||||
|
28404454 00000201
|
||||||
|
0229985E 00000960
|
||||||
|
28404455 00000202
|
||||||
|
0229985E 000012C0
|
||||||
|
E0000000 00000000
|
||||||
|
</source>
|
||||||
|
<source version="GMSP01">
|
||||||
|
022916F6 00000258
|
||||||
|
283FBBF4 00000201
|
||||||
|
022916F6 00000960
|
||||||
|
283FBBF5 00000202
|
||||||
|
022916F6 000012C0
|
||||||
E0000000 00000000
|
E0000000 00000000
|
||||||
</source>
|
</source>
|
||||||
<source version="GMSJ0A">
|
<source version="GMSJ0A">
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
## Jul 15, 2023
|
||||||
|
### Ported 'FastForward', 'InstantRestart', 'SpawnYoshi', 'StageIntroSkip' to all versions
|
||||||
|
|
||||||
## Jul 9, 2023
|
## Jul 9, 2023
|
||||||
### Updated 'Level Select'
|
### 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.
|
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.
|
||||||
|
|
|
@ -14,56 +14,15 @@ export const buttonValues = {
|
||||||
DR: 0x0002,
|
DR: 0x0002,
|
||||||
DL: 0x0001,
|
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 = {
|
const zCodes = {
|
||||||
GMSJ01: '040eb024 60000000',
|
GMSJ01: '040EB02460000000',
|
||||||
GMSJ0A: '04277710 60000000',
|
|
||||||
GMSE01: '04297A6860000000',
|
GMSE01: '04297A6860000000',
|
||||||
|
GMSP01: '0428F90060000000',
|
||||||
|
GMSJ0A: '0427771060000000',
|
||||||
};
|
};
|
||||||
|
|
||||||
export const defaultConfig = {
|
export const defaultConfig = {
|
||||||
button: buttonValues.Y | buttonValues.DU,
|
button: buttonValues.B | buttonValues.DU,
|
||||||
};
|
};
|
||||||
export function getConfig() {
|
export function getConfig() {
|
||||||
return {
|
return {
|
||||||
|
@ -71,13 +30,11 @@ export function getConfig() {
|
||||||
...(parseJSON(localStorage.getItem(lskey)) ?? {}),
|
...(parseJSON(localStorage.getItem(lskey)) ?? {}),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
export default function codegen(version) {
|
export default function codegen(version, src) {
|
||||||
const { button } = getConfig();
|
const { button } = getConfig();
|
||||||
const g = baseCodes[version];
|
let code = src.slice(0, 36) + button.toString(16).padStart(4, '0') + src.slice(40);
|
||||||
if (g == null) return '';
|
|
||||||
let code = g(button.toString(16).padStart(4, '0'));
|
|
||||||
if (button & buttonValues.Z) {
|
if (button & buttonValues.Z) {
|
||||||
code += zCodes[version];
|
code += zCodes[version];
|
||||||
}
|
}
|
||||||
return code.replace(/\s/g, '');
|
return code;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue