Merge branch 'master' into gci
This commit is contained in:
commit
0abd284817
8 changed files with 447 additions and 9 deletions
384
Codes.xml
384
Codes.xml
|
@ -340,9 +340,10 @@
|
|||
</source>
|
||||
</code>
|
||||
<code>
|
||||
<category>misc</category>
|
||||
<category>savestate</category>
|
||||
<title lang="en-US">Coin Count Savestate</title>
|
||||
<title lang="de-CH">Münzenzahl Speicherstand</title>
|
||||
<title lang="ja-JP">コイン数状態保存</title>
|
||||
<author>Psychonauter</author>
|
||||
<version>1.0</version>
|
||||
<description lang="en-US">
|
||||
|
@ -363,6 +364,12 @@
|
|||
| D-Pad Links | Speichere aktuellen Münzenstand |
|
||||
| D-Pad Rechts | Lade gespeicherten Müneznstand |
|
||||
</description>
|
||||
<description lang="ja-JP">
|
||||
| ボタン | 機能 |
|
||||
| ---------- | -------------------------- |
|
||||
| 十字キー左 | コイン数をセーブ |
|
||||
| 十字キー右 | コイン数をロード |
|
||||
</description>
|
||||
<date>Jul 24, 2021</date>
|
||||
<source version="GMSE01">
|
||||
80000001 80578A60
|
||||
|
@ -5083,4 +5090,379 @@
|
|||
4E800020 4E800020
|
||||
</source>
|
||||
</code>
|
||||
<code>
|
||||
<category>savestate</category>
|
||||
<title lang="en-US">Red Coin Savestate</title>
|
||||
<title lang="ja-JP">赤コイン状態保存</title>
|
||||
<author>sup39(サポミク)</author>
|
||||
<version>1.0</version>
|
||||
<date>Feb 11, 2023</date>
|
||||
<description lang="en-US">
|
||||
| Combination | Result |
|
||||
| ------------| ---------------------------- |
|
||||
| D-Pad Left | Save current red coin state |
|
||||
| D-Pad Right | Load saved red coin state |
|
||||
</description>
|
||||
<description lang="ja-JP">
|
||||
| ボタン | 機能 |
|
||||
| ---------- | -------------------------- |
|
||||
| 十字キー左 | 赤コインの状態をセーブ |
|
||||
| 十字キー右 | 赤コインの状態をロード |
|
||||
</description>
|
||||
<source version="GMSJ01">
|
||||
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
|
||||
</source>
|
||||
<source version="GMSJ0A">
|
||||
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
|
||||
</source>
|
||||
<source version="GMSP01">
|
||||
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
|
||||
</source>
|
||||
<source version="GMSE01">
|
||||
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
|
||||
</source>
|
||||
</code>
|
||||
<code>
|
||||
<category>savestate</category>
|
||||
<title lang="en-US">QF Time Savestate</title>
|
||||
<title lang="ja-JP">QFタイム状態保存</title>
|
||||
<author>sup39(サポミク)</author>
|
||||
<version>1.0</version>
|
||||
<date>Feb 11, 2023</date>
|
||||
<description lang="en-US">
|
||||
| Combination | Result |
|
||||
| ------------| ---------------------------- |
|
||||
| D-Pad Left | Save current QF Time |
|
||||
| D-Pad Right | Load saved QF Time |
|
||||
</description>
|
||||
<description lang="ja-JP">
|
||||
| ボタン | 機能 |
|
||||
| ---------- | -------------------------- |
|
||||
| 十字キー左 | 現在のQFタイムをセーブ |
|
||||
| 十字キー右 | セーブしたQFタイムをロード |
|
||||
</description>
|
||||
<source version="GMSJ01">
|
||||
C0000000 00000009
|
||||
80AD97E8 7CA52B79
|
||||
4D820020 3C60817F
|
||||
3D808040 A18C0D50
|
||||
2B8C0001 419E0020
|
||||
280C0002 4CA20020
|
||||
80030030 9005005C
|
||||
900303CC 38000000
|
||||
900300BC 8005005C
|
||||
90030030 4E800020
|
||||
</source>
|
||||
<source version="GMSJ0A">
|
||||
C0000000 00000009
|
||||
80AD9E78 7CA52B79
|
||||
4D820020 3C60817F
|
||||
3D80803F A18C5428
|
||||
2B8C0001 419E0020
|
||||
280C0002 4CA20020
|
||||
80030030 9005005C
|
||||
900303CC 38000000
|
||||
900300BC 8005005C
|
||||
90030030 4E800020
|
||||
</source>
|
||||
<source version="GMSP01">
|
||||
C0000000 00000009
|
||||
80AD9EE0 7CA52B79
|
||||
4D820020 3C60817F
|
||||
3D808040 A18CBBF4
|
||||
2B8C0001 419E0020
|
||||
280C0002 4CA20020
|
||||
80030030 9005005C
|
||||
900303CC 38000000
|
||||
900300BC 8005005C
|
||||
90030030 4E800020
|
||||
</source>
|
||||
<source version="GMSE01">
|
||||
C0000000 00000009
|
||||
80AD9FB8 7CA52B79
|
||||
4D820020 3C60817F
|
||||
3D808040 A18C4454
|
||||
2B8C0001 419E0020
|
||||
280C0002 4CA20020
|
||||
80030030 9005005C
|
||||
900303CC 38000000
|
||||
900300BC 8005005C
|
||||
90030030 4E800020
|
||||
</source>
|
||||
</code>
|
||||
<code>
|
||||
<category>savestate</category>
|
||||
<title lang="en-US">In-Game Time Savestate</title>
|
||||
<title lang="ja-JP">ゲーム内タイム状態保存</title>
|
||||
<author>sup39(サポミク)</author>
|
||||
<version>1.0</version>
|
||||
<date>Feb 11, 2023</date>
|
||||
<description lang="en-US">
|
||||
| Combination | Result |
|
||||
| ------------| ---------------------------- |
|
||||
| D-Pad Left | Save current In-Game Time |
|
||||
| D-Pad Right | Load saved In-Game Time |
|
||||
</description>
|
||||
<description lang="ja-JP">
|
||||
| ボタン | 機能 |
|
||||
| ---------- | -------------------------------- |
|
||||
| 十字キー左 | 現在のゲーム内タイムをセーブ |
|
||||
| 十字キー右 | セーブしたゲーム内タイムをロード |
|
||||
</description>
|
||||
<source version="GMSJ01">
|
||||
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
|
||||
</source>
|
||||
<source version="GMSJ0A">
|
||||
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
|
||||
</source>
|
||||
<source version="GMSP01">
|
||||
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
|
||||
</source>
|
||||
<source version="GMSE01">
|
||||
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
|
||||
</source>
|
||||
</code>
|
||||
<code>
|
||||
<category>misc</category>
|
||||
<title lang="en-US">Deathless Blooper Surfing</title>
|
||||
<title lang="ja-JP">死なないイカサーフィン</title>
|
||||
<author>sup39(サポミク)</author>
|
||||
<version>1.0</version>
|
||||
<date>Feb 11, 2023</date>
|
||||
<description lang="en-US">
|
||||
Prevent Mario from dying when he crashes into a wall
|
||||
while Blooper Surfing.
|
||||
</description>
|
||||
<description lang="ja-JP">
|
||||
イカサーフィン中に壁にぶつかっても死なないようにします。
|
||||
</description>
|
||||
<source version="GMSJ01">
|
||||
C21397D0 00000008
|
||||
818D9A10 812C0018
|
||||
814C0014 554A103A
|
||||
7D495214 858AFFFC
|
||||
800C0000 6C00803C
|
||||
280060C0 40A20010
|
||||
A00C00F2 7000FFF6
|
||||
B00C00F2 7C0A4840
|
||||
4181FFDC 00000000
|
||||
</source>
|
||||
<source version="GMSJ0A">
|
||||
C223A090 00000008
|
||||
818D9C08 812C0018
|
||||
814C0014 554A103A
|
||||
7D495214 858AFFFC
|
||||
800C0000 6C00803B
|
||||
2800EBD8 40A20010
|
||||
A00C00F2 7000FFF6
|
||||
B00C00F2 7C0A4840
|
||||
4181FFDC 00000000
|
||||
</source>
|
||||
<source version="GMSP01">
|
||||
C22520CC 00000008
|
||||
818D9C70 812C0018
|
||||
814C0014 554A103A
|
||||
7D495214 858AFFFC
|
||||
800C0000 6C00803C
|
||||
28005EB8 40A20010
|
||||
A00C00F2 7000FFF6
|
||||
B00C00F2 7C0A4840
|
||||
4181FFDC 00000000
|
||||
</source>
|
||||
<source version="GMSE01">
|
||||
C225A340 00000008
|
||||
818D9D48 812C0018
|
||||
814C0014 554A103A
|
||||
7D495214 858AFFFC
|
||||
800C0000 6C00803C
|
||||
2800E6C8 40A20010
|
||||
A00C00F2 7000FFF6
|
||||
B00C00F2 7C0A4840
|
||||
4181FFDC 00000000
|
||||
</source>
|
||||
</code>
|
||||
</codes>
|
||||
|
|
|
@ -54,7 +54,12 @@ 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/unallocated.svg) | `0x3C` | `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) |
|
||||
|
|
|
@ -1,4 +1,11 @@
|
|||
# Changelog
|
||||
## 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 10, 2023
|
||||
Ported GCI Loader to all versions
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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 },
|
||||
|
@ -61,6 +63,11 @@ export default {
|
|||
} catch {}
|
||||
|
||||
const version = gameVersions.find((v) => v.identifier === this.versionIdentifier).version;
|
||||
// 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 {}
|
||||
|
||||
// apply customizable codes
|
||||
for (const code of codeList) {
|
||||
|
|
|
@ -19,6 +19,11 @@
|
|||
"i18nKey": "generatorconfig.categories.metadata",
|
||||
"exclusive": true
|
||||
},
|
||||
{
|
||||
"identifier": "savestate",
|
||||
"i18nKey": "generatorconfig.categories.savestate",
|
||||
"exclusive": false
|
||||
},
|
||||
{
|
||||
"identifier": "misc",
|
||||
"i18nKey": "generatorconfig.categories.misc",
|
||||
|
|
|
@ -60,6 +60,7 @@
|
|||
"qol": "Quality of Life",
|
||||
"loader": "Loaders",
|
||||
"timer": "Timers",
|
||||
"savestate": "Savestate",
|
||||
"misc": "Misc",
|
||||
"memcardpatch": "Memory Card Patches",
|
||||
"cosmetic": "Cosmetic",
|
||||
|
@ -71,7 +72,8 @@
|
|||
"recommended": "Recommended",
|
||||
"il": "IL Runs",
|
||||
"fap": "Fast Any%",
|
||||
"hfsetup": "Hacked File Setup"
|
||||
"hfsetup": "Hacked File Setup",
|
||||
"@lastDLCodes": "(Previous Downloaded Codes)"
|
||||
}
|
||||
},
|
||||
"landingpage": {
|
||||
|
|
|
@ -36,6 +36,14 @@
|
|||
"gci": "GCI"
|
||||
}
|
||||
},
|
||||
"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にしてください。",
|
||||
|
|
Loading…
Reference in a new issue