Compare commits

...

20 commits

Author SHA1 Message Date
44f21443b0
Merge branch 'master' into gci 2023-10-16 17:29:25 +09:00
c9d3b824ca
Merge branch 'master' into gci 2023-10-16 17:25:07 +09:00
60837c18c6
Merge branch 'master' into gci 2023-07-15 14:21:59 +09:00
eeee31178f
make sure there is enough space for 06 code of GCI Loader 2023-05-16 03:21:43 +09:00
7cd877119f
GCI Loader 0.5: Added error messages 2023-05-16 02:09:52 +09:00
72276927af
Merge remote-tracking branch 'gct/master' into gci 2023-05-16 00:31:20 +09:00
3e2c9435b0
GCI Loader 0.4: Fixed hook address of GMSE01 code 2023-05-16 00:14:49 +09:00
2d18a0a330 Merge branch 'master' into gci 2023-02-22 00:09:35 +09:00
79bfdb7ff4 Fix GCI file name for GMSJ0A 2023-02-20 20:41:06 +09:00
7ea259a1ee Put Memory Card Patch codes in GCT instead of GCI 2023-02-20 20:04:56 +09:00
9791299788 fix typo 2023-02-15 04:21:58 +09:00
c8ad137d39 Added instruction to use GCI file (en-US, ja-JP) 2023-02-15 03:55:44 +09:00
059ff10784 Merge branch 'master' into gci 2023-02-15 03:47:31 +09:00
0abd284817 Merge branch 'master' into gci 2023-02-12 04:41:19 +09:00
3e0dbe0a1e Put IntroSkip in GCT instead of GCI to prevent softlock 2023-02-11 04:24:17 +09:00
1b1d156d0b Ported GCI Loader to all versions 2023-02-11 03:33:39 +09:00
ac637e0712 Merge remote-tracking branch 'gct/master' into gci 2023-02-11 02:17:18 +09:00
0470daacf8
Merge branch 'master' into gci 2022-11-20 01:46:36 +09:00
215af313de Add GCI+XXX as download format; Add return code for GCI Loader 2022-11-16 17:20:53 +09:00
918eb0eb50 add GCI Loader; support GCI as download format (NTSC-J 1.0 only) 2022-11-11 22:00:13 +09:00
20 changed files with 1034 additions and 13 deletions

767
Codes.xml
View file

@ -2964,6 +2964,7 @@
<code> <code>
<category>qol</category> <category>qol</category>
<presets>standard,recommended,il</presets> <presets>standard,recommended,il</presets>
<id>IntroSkip</id>
<title lang="en-US">Intro Skip</title> <title lang="en-US">Intro Skip</title>
<title lang="de-CH">Überspringbare Intros</title> <title lang="de-CH">Überspringbare Intros</title>
<title lang="fr-FR">Passer l'intro</title> <title lang="fr-FR">Passer l'intro</title>
@ -4598,6 +4599,772 @@
</source> </source>
</code> </code>
<code> <code>
<category>lib</category>
<id>GCILoader</id>
<title lang="en-US">GCI Loader</title>
<author>sup39(サポミク), Psychonauter</author>
<version>0.5</version>
<date>May 16, 2023</date>
<description lang="en-US">
Execute Gecko code loaded from GCI file.
::: warning
You will need to reset the game if you hotplug your memory card
:::
</description>
<source version="GMSE01">
077FD800 00000586
9421FFE8 7C0802A6
93C10010 7C9E2378
38800001 93810008
93A1000C 7C7C1B78
93E10014 7CDD3378
9001001C 7CBF2B78
4AAB50E5 2C030000
408200AC 807C0000
7FE4FB78 7FC5F378
4AB5BB45 7C7F1B79
40820064 3D20817F
6129E800 7D3D4850
2809BFFF 40810088
38A00000 7FA4EB78
60A5C000 38C00000
7FC3F378 4AB5C4A5
7C7F1B79 40820070
7FC3F378 4AB5BC79
8001001C 7FE3FB78
83810008 83A1000C
7C0803A6 83C10010
83E10014 38210018
4E800020 2C1FFFFC
41A2FFD8 8001001C
3BE0FFFE 7FE3FB78
83810008 83A1000C
7C0803A6 83C10010
83E10014 38210018
4E800020 3BE0FFFF
4BFFFFA8 3BE0FFFD
4BFFFFA0 3BE0FFFB
4BFFFF98 9421FF08
7C0802A6 93C100F0
7C9E2378 93E100F4
7C7F1B78 900100FC
90A10088 90C1008C
90E10090 91010094
91210098 9141009C
40860024 D82100A0
D84100A8 D86100B0
D88100B8 D8A100C0
D8C100C8 D8E100D0
D90100D8 3D208041
80DF0004 8089E188
38E00002 38A00000
39410100 39210080
98E10070 98A10071
38610008 391F000C
38FF0008 38A00000
91410074 91210078
4AAD0369 A95F0000
3D004330 A93F0002
3CC08180 6D478000
910100E0 6D298000
90E100E4 912100EC
3CE08180 910100E8
7FC5F378 C006DC9C
38610008 C96100E8
38C10070 C98100E0
388000FF 813F0004
FD8C0028 91410024
FC0B0028 C167DCA0
91210064 FD806018
91210060 FC000018
D1610034 D181002C
D0010030 4AAD01B1
800100FC 83C100F0
83E100F4 7C0803A6
382100F8 4E800020
9421FFF0 3CA08180
7C0802A6 39200001
93E1000C 3FE0817F
38DF17F8 38A5DCF8
38C60008 90010014
913F17F8 4BFFFDAD
2C030000 40820008
38600002 80010014
907F17F8 7C0803A6
83E1000C 38210010
4E800020 9421FFE8
93A1000C 3FA0817F
813D17F8 93C10010
7C9E2378 2C090000
93E10014 7C7F1B78
40810020 83A1000C
7FC4F378 7FE3FB78
83C10010 83E10014
38210018 4AAB4614
38DD17F8 3CA08180
7C0802A6 39200001
38C60008 38A5DCF8
9001001C 913D17F8
4BFFFD21 2C030000
4182002C 8001001C
907D17F8 7C0803A6
83A1000C 7FC4F378
7FE3FB78 83C10010
83E10014 38210018
4AAB45C0 8001001C
38600002 907D17F8
7C0803A6 4BFFFFD4
9421FFE8 7C0802A6
9001001C 4AACC6AD
3D20803F 89299708
28090003 40810070
3D20817F 3D408180
80A917F8 392ADC8C
80CADC8C 39450005
80E90004 280A0007
81090008 8129000C
90C10008 90E1000C
91010010 91210014
41810020 3D208180
554A103A 3929DC6C
7D49502E 7D2A4A14
7D2903A6 4E800420
3C808180 38610008
3884DD70 4CC63182
4BFFFD4D 8001001C
38210018 7C0803A6
4E800020 3C808180
38610008 3884DD5C
4CC63182 4BFFFD29
4BFFFFDC 3C808180
38610008 3884DD24
4CC63182 4BFFFD11
4BFFFFC4 3C808180
38610008 3884DD04
4CC63182 4BFFFCF9
4BFFFFAC 3C808180
38610008 3884DCE4
4CC63182 4BFFFCE1
4BFFFF94 3C808180
38610008 3884DCC0
4CC63182 4BFFFCC9
4BFFFF7C 3C808180
38610008 3884DCA4
4CC63182 4BFFFCB1
4BFFFF64 3C808180
38610008 3884DD3C
4CC63182 4BFFFC99
4BFFFF4C FFFFFF70
FFFFFF88 FFFFFFA0
FFFFFFB8 FFFFFFD0
FFFFFFE8 FFFFFF58
FFFFFF48 001001B8
00000020 FF3333BB
FF3333BB 59800004
00000000 4661696C
20746F20 6D6F756E
74206D65 6D6F7279
20636172 64000000
4661696C 20746F20
6F70656E 20474349
2066696C 653A2047
43545F47 4D534530
31000000 47434920
66696C65 20746F6F
206C6172 67653A20
4743545F 474D5345
30310000 47434920
66696C65 206E6F74
20657869 7374733A
20474354 5F474D53
45303100 4661696C
20746F20 72656164
20474349 2066696C
65000000 50726570
6172696E 6720746F
206C6F61 64204743
49206669 6C652E2E
2E000000 4C6F6164
696E6720 47434920
66696C65 2E2E2E00
556E6B6E 6F776E20
47434920 4572726F
723A2025 64000000
042B17D0 4954C2AD
042A62B0 49557879
C0000000 00000005
3C60817F 840317F8
2C000002 4C820020
7C0F2214 90030004
39E30008 7DE47850
4E800020 4E800020
</source>
<source version="GMSJ01">
077FD800 00000586
9421FFE8 7C0802A6
93C10010 7C9E2378
38800001 93810008
93A1000C 7C7C1B78
93E10014 7CDD3378
9001001C 7CBF2B78
4A90A321 2C030000
408200AC 807C0000
7FE4FB78 7FC5F378
4A8A6465 7C7F1B79
40820064 3D20817F
6129E800 7D3D4850
2809BFFF 40810088
38A00000 7FA4EB78
60A5C000 38C00000
7FC3F378 4A8A6DC5
7C7F1B79 40820070
7FC3F378 4A8A6599
8001001C 7FE3FB78
83810008 83A1000C
7C0803A6 83C10010
83E10014 38210018
4E800020 2C1FFFFC
41A2FFD8 8001001C
3BE0FFFE 7FE3FB78
83810008 83A1000C
7C0803A6 83C10010
83E10014 38210018
4E800020 3BE0FFFF
4BFFFFA8 3BE0FFFD
4BFFFFA0 3BE0FFFB
4BFFFF98 9421FF08
7C0802A6 93C100F0
7C9E2378 93E100F4
7C7F1B78 900100FC
90A10088 90C1008C
90E10090 91010094
91210098 9141009C
40860024 D82100A0
D84100A8 D86100B0
D88100B8 D8A100C0
D8C100C8 D8E100D0
D90100D8 3D208041
80DF0004 8089A2B8
38E00002 38A00000
39410100 39210080
98E10070 98A10071
38610008 391F000C
38FF0008 38A00000
91410074 91210078
4A819425 A95F0000
3D004330 A93F0002
3CC08180 6D478000
910100E0 6D298000
90E100E4 912100EC
3CE08180 910100E8
7FC5F378 C006DC9C
38610008 C96100E8
38C10070 C98100E0
388000FF 813F0004
FD8C0028 91410024
FC0B0028 C167DCA0
91210064 FD806018
91210060 FC000018
D1610034 D181002C
D0010030 4A81926D
800100FC 83C100F0
83E100F4 7C0803A6
382100F8 4E800020
9421FFF0 3CA08180
7C0802A6 39200001
93E1000C 3FE0817F
38DF17F8 38A5DCF8
38C60008 90010014
913F17F8 4BFFFDAD
2C030000 40820008
38600002 80010014
907F17F8 7C0803A6
83E1000C 38210010
4E800020 9421FFE8
93A1000C 3FA0817F
813D17F8 93C10010
7C9E2378 2C090000
93E10014 7C7F1B78
40810020 83A1000C
7FC4F378 7FE3FB78
83C10010 83E10014
38210018 4A909838
38DD17F8 3CA08180
7C0802A6 39200001
38C60008 38A5DCF8
9001001C 913D17F8
4BFFFD21 2C030000
4182002C 8001001C
907D17F8 7C0803A6
83A1000C 7FC4F378
7FE3FB78 83C10010
83E10014 38210018
4A9097E4 8001001C
38600002 907D17F8
7C0803A6 4BFFFFD4
9421FFE8 7C0802A6
9001001C 4A8156E9
3D20803E 89296008
28090003 40810070
3D20817F 3D408180
80A917F8 392ADC8C
80CADC8C 39450005
80E90004 280A0007
81090008 8129000C
90C10008 90E1000C
91010010 91210014
41810020 3D208180
554A103A 3929DC6C
7D49502E 7D2A4A14
7D2903A6 4E800420
3C808180 38610008
3884DD70 4CC63182
4BFFFD4D 8001001C
38210018 7C0803A6
4E800020 3C808180
38610008 3884DD5C
4CC63182 4BFFFD29
4BFFFFDC 3C808180
38610008 3884DD24
4CC63182 4BFFFD11
4BFFFFC4 3C808180
38610008 3884DD04
4CC63182 4BFFFCF9
4BFFFFAC 3C808180
38610008 3884DCE4
4CC63182 4BFFFCE1
4BFFFF94 3C808180
38610008 3884DCC0
4CC63182 4BFFFCC9
4BFFFF7C 3C808180
38610008 3884DCA4
4CC63182 4BFFFCB1
4BFFFF64 3C808180
38610008 3884DD3C
4CC63182 4BFFFC99
4BFFFF4C FFFFFF70
FFFFFF88 FFFFFFA0
FFFFFFB8 FFFFFFD0
FFFFFFE8 FFFFFF58
FFFFFF48 001001B8
00000020 FF3333BB
FF3333BB 59800004
00000000 4661696C
20746F20 6D6F756E
74206D65 6D6F7279
20636172 64000000
4661696C 20746F20
6F70656E 20474349
2066696C 653A2047
43545F47 4D534A30
31000000 47434920
66696C65 20746F6F
206C6172 67653A20
4743545F 474D534A
30310000 47434920
66696C65 206E6F74
20657869 7374733A
20474354 5F474D53
4A303100 4661696C
20746F20 72656164
20474349 2066696C
65000000 50726570
6172696E 6720746F
206C6F61 64204743
49206669 6C652E2E
2E000000 4C6F6164
696E6720 47434920
66696C65 2E2E2E00
556E6B6E 6F776E20
47434920 4572726F
723A2025 64000000
041069F4 496F7089
040F9CB4 49703E75
C0000000 00000005
3C60817F 840317F8
2C000002 4C820020
7C0F2214 90030004
39E30008 7DE47850
4E800020 4E800020
</source>
<source version="GMSP01">
077FD800 00000586
9421FFE8 7C0802A6
93C10010 7C9E2378
38800001 93810008
93A1000C 7C7C1B78
93E10014 7CDD3378
9001001C 7CBF2B78
4AAACFF5 2C030000
408200AC 807C0000
7FE4FB78 7FC5F378
4AB53D65 7C7F1B79
40820064 3D20817F
6129E800 7D3D4850
2809BFFF 40810088
38A00000 7FA4EB78
60A5C000 38C00000
7FC3F378 4AB546C5
7C7F1B79 40820070
7FC3F378 4AB53E99
8001001C 7FE3FB78
83810008 83A1000C
7C0803A6 83C10010
83E10014 38210018
4E800020 2C1FFFFC
41A2FFD8 8001001C
3BE0FFFE 7FE3FB78
83810008 83A1000C
7C0803A6 83C10010
83E10014 38210018
4E800020 3BE0FFFF
4BFFFFA8 3BE0FFFD
4BFFFFA0 3BE0FFFB
4BFFFF98 9421FF08
7C0802A6 93C100F0
7C9E2378 93E100F4
7C7F1B78 900100FC
90A10088 90C1008C
90E10090 91010094
91210098 9141009C
40860024 D82100A0
D84100A8 D86100B0
D88100B8 D8A100C0
D8C100C8 D8E100D0
D90100D8 3D208040
80DF0004 80895850
38E00002 38A00000
39410100 39210080
98E10070 98A10071
38610008 391F000C
38FF0008 38A00000
91410074 91210078
4AAC83FD A95F0000
3D004330 A93F0002
3CC08180 6D478000
910100E0 6D298000
90E100E4 912100EC
3CE08180 910100E8
7FC5F378 C006DC9C
38610008 C96100E8
38C10070 C98100E0
388000FF 813F0004
FD8C0028 91410024
FC0B0028 C167DCA0
91210064 FD806018
91210060 FC000018
D1610034 D181002C
D0010030 4AAC8245
800100FC 83C100F0
83E100F4 7C0803A6
382100F8 4E800020
9421FFF0 3CA08180
7C0802A6 39200001
93E1000C 3FE0817F
38DF17F8 38A5DCF8
38C60008 90010014
913F17F8 4BFFFDAD
2C030000 40820008
38600002 80010014
907F17F8 7C0803A6
83E1000C 38210010
4E800020 9421FFE8
93A1000C 3FA0817F
813D17F8 93C10010
7C9E2378 2C090000
93E10014 7C7F1B78
40810020 83A1000C
7FC4F378 7FE3FB78
83C10010 83E10014
38210018 4AAAC524
38DD17F8 3CA08180
7C0802A6 39200001
38C60008 38A5DCF8
9001001C 913D17F8
4BFFFD21 2C030000
4182002C 8001001C
907D17F8 7C0803A6
83A1000C 7FC4F378
7FE3FB78 83C10010
83E10014 38210018
4AAAC4D0 8001001C
38600002 907D17F8
7C0803A6 4BFFFFD4
9421FFE8 7C0802A6
9001001C 4AAC4741
3D20803E 892910C8
28090003 40810070
3D20817F 3D408180
80A917F8 392ADC8C
80CADC8C 39450005
80E90004 280A0007
81090008 8129000C
90C10008 90E1000C
91010010 91210014
41810020 3D208180
554A103A 3929DC6C
7D49502E 7D2A4A14
7D2903A6 4E800420
3C808180 38610008
3884DD70 4CC63182
4BFFFD4D 8001001C
38210018 7C0803A6
4E800020 3C808180
38610008 3884DD5C
4CC63182 4BFFFD29
4BFFFFDC 3C808180
38610008 3884DD24
4CC63182 4BFFFD11
4BFFFFC4 3C808180
38610008 3884DD04
4CC63182 4BFFFCF9
4BFFFFAC 3C808180
38610008 3884DCE4
4CC63182 4BFFFCE1
4BFFFF94 3C808180
38610008 3884DCC0
4CC63182 4BFFFCC9
4BFFFF7C 3C808180
38610008 3884DCA4
4CC63182 4BFFFCB1
4BFFFF64 3C808180
38610008 3884DD3C
4CC63182 4BFFFC99
4BFFFF4C FFFFFF70
FFFFFF88 FFFFFFA0
FFFFFFB8 FFFFFFD0
FFFFFFE8 FFFFFF58
FFFFFF48 001001B8
00000020 FF3333BB
FF3333BB 59800004
00000000 4661696C
20746F20 6D6F756E
74206D65 6D6F7279
20636172 64000000
4661696C 20746F20
6F70656E 20474349
2066696C 653A2047
43545F47 4D535030
31000000 47434920
66696C65 20746F6F
206C6172 67653A20
4743545F 474D5350
30310000 47434920
66696C65 206E6F74
20657869 7374733A
20474354 5F474D53
50303100 4661696C
20746F20 72656164
20474349 2066696C
65000000 50726570
6172696E 6720746F
206C6F61 64204743
49206669 6C652E2E
2E000000 4C6F6164
696E6720 47434920
66696C65 2E2E2E00
556E6B6E 6F776E20
47434920 4572726F
723A2025 64000000
042A96E0 4955439D
0429E1C0 4955F969
C0000000 00000005
3C60817F 840317F8
2C000002 4C820020
7C0F2214 90030004
39E30008 7DE47850
4E800020 4E800020
</source>
<source version="GMSJ0A">
077FD800 00000586
9421FFE8 7C0802A6
93C10010 7C9E2378
38800001 93810008
93A1000C 7C7C1B78
93E10014 7CDD3378
9001001C 7CBF2B78
4AA94E05 2C030000
408200AC 807C0000
7FE4FB78 7FC5F378
4AB3B445 7C7F1B79
40820064 3D20817F
6129E800 7D3D4850
2809BFFF 40810088
38A00000 7FA4EB78
60A5C000 38C00000
7FC3F378 4AB3BDA5
7C7F1B79 40820070
7FC3F378 4AB3B579
8001001C 7FE3FB78
83810008 83A1000C
7C0803A6 83C10010
83E10014 38210018
4E800020 2C1FFFFC
41A2FFD8 8001001C
3BE0FFFE 7FE3FB78
83810008 83A1000C
7C0803A6 83C10010
83E10014 38210018
4E800020 3BE0FFFF
4BFFFFA8 3BE0FFFD
4BFFFFA0 3BE0FFFB
4BFFFF98 9421FF08
7C0802A6 93C100F0
7C9E2378 93E100F4
7C7F1B78 900100FC
90A10088 90C1008C
90E10090 91010094
91210098 9141009C
40860024 D82100A0
D84100A8 D86100B0
D88100B8 D8A100C0
D8C100C8 D8E100D0
D90100D8 3D208040
80DF0004 8089F028
38E00002 38A00000
39410100 39210080
98E10070 98A10071
38610008 391F000C
38FF0008 38A00000
91410074 91210078
4AAAFB79 A95F0000
3D004330 A93F0002
3CC08180 6D478000
910100E0 6D298000
90E100E4 912100EC
3CE08180 910100E8
7FC5F378 C006DC9C
38610008 C96100E8
38C10070 C98100E0
388000FF 813F0004
FD8C0028 91410024
FC0B0028 C167DCA0
91210064 FD806018
91210060 FC000018
D1610034 D181002C
D0010030 4AAAF9C1
800100FC 83C100F0
83E100F4 7C0803A6
382100F8 4E800020
9421FFF0 3CA08180
7C0802A6 39200001
93E1000C 3FE0817F
38DF17F8 38A5DCF8
38C60008 90010014
913F17F8 4BFFFDAD
2C030000 40820008
38600002 80010014
907F17F8 7C0803A6
83E1000C 38210010
4E800020 9421FFE8
93A1000C 3FA0817F
813D17F8 93C10010
7C9E2378 2C090000
93E10014 7C7F1B78
40810020 83A1000C
7FC4F378 7FE3FB78
83C10010 83E10014
38210018 4AA9437C
38DD17F8 3CA08180
7C0802A6 39200001
38C60008 38A5DCF8
9001001C 913D17F8
4BFFFD21 2C030000
4182002C 8001001C
907D17F8 7C0803A6
83A1000C 7FC4F378
7FE3FB78 83C10010
83E10014 38210018
4AA94328 8001001C
38600002 907D17F8
7C0803A6 4BFFFFD4
9421FFE8 7C0802A6
9001001C 4AAABEBD
3D20803E 8929A8E8
28090003 40810070
3D20817F 3D408180
80A917F8 392ADC8C
80CADC8C 39450005
80E90004 280A0007
81090008 8129000C
90C10008 90E1000C
91010010 91210014
41810020 3D208180
554A103A 3929DC6C
7D49502E 7D2A4A14
7D2903A6 4E800420
3C808180 38610008
3884DD70 4CC63182
4BFFFD4D 8001001C
38210018 7C0803A6
4E800020 3C808180
38610008 3884DD5C
4CC63182 4BFFFD29
4BFFFFDC 3C808180
38610008 3884DD24
4CC63182 4BFFFD11
4BFFFFC4 3C808180
38610008 3884DD04
4CC63182 4BFFFCF9
4BFFFFAC 3C808180
38610008 3884DCE4
4CC63182 4BFFFCE1
4BFFFF94 3C808180
38610008 3884DCC0
4CC63182 4BFFFCC9
4BFFFF7C 3C808180
38610008 3884DCA4
4CC63182 4BFFFCB1
4BFFFF64 3C808180
38610008 3884DD3C
4CC63182 4BFFFC99
4BFFFF4C FFFFFF70
FFFFFF88 FFFFFFA0
FFFFFFB8 FFFFFFD0
FFFFFFE8 FFFFFF58
FFFFFF48 001001B8
00000020 FF3333BB
FF3333BB 59800004
00000000 4661696C
20746F20 6D6F756E
74206D65 6D6F7279
20636172 64000000
4661696C 20746F20
6F70656E 20474349
2066696C 653A2047
43545F47 4D534A30
41000000 47434920
66696C65 20746F6F
206C6172 67653A20
4743545F 474D534A
30410000 47434920
66696C65 206E6F74
20657869 7374733A
20474354 5F474D53
4A304100 4661696C
20746F20 72656164
20474349 2066696C
65000000 50726570
6172696E 6720746F
206C6F61 64204743
49206669 6C652E2E
2E000000 4C6F6164
696E6720 47434920
66696C65 2E2E2E00
556E6B6E 6F776E20
47434920 4572726F
723A2025 64000000
04291538 4956C545
0428610C 49577A1D
C0000000 00000005
3C60817F 840317F8
2C000002 4C820020
7C0F2214 90030004
39E30008 7DE47850
4E800020 4E800020
</source>
</code>
<code>
<id>qfst</id> <id>qfst</id>
<category>misc</category> <category>misc</category>
<title lang="en-US">Quarterframe Section Timer</title> <title lang="en-US">Quarterframe Section Timer</title>

View file

@ -14,16 +14,27 @@ The peaceful plaza (after unlocking Ricco and Gelato) is now available as C↘ +
- Added font for NTSC-U - Added font for NTSC-U
- Fixed the encoding of NTSC-U and PAL (should be Windows-1252 instead of latin1) - Fixed the encoding of NTSC-U and PAL (should be Windows-1252 instead of latin1)
## May 16, 2023
### GCI Loader 0.5
Added error messages
### GCI Loader 0.4
Fixed hook address of GMSE01 code
## Feb 28, 2023 ## Feb 28, 2023
Fix preview of Controller Input Display Fix preview of Controller Input Display
## Feb 23, 2023 ## Feb 23, 2023
### Updated 'Force Plaza Events' ### Updated 'Force Plaza Events'
Set the correct BH/RH/GB unlock flag Set the correct BH/RH/GB unlock flag
>>>>>>> gct/master
## Feb 21, 2023 ## Feb 21, 2023
Disable Z menu for Instant Level Select to prevent broken texture Disable Z menu for Instant Level Select to prevent broken texture
## Feb 20, 2023
- Put Memory Card Patch codes in GCT instead of GCI
- Fix GCI file name for GMSJ0A
## Feb 13, 2023 ## Feb 13, 2023
- Added 'Mario State Savestate' - Added 'Mario State Savestate'
- Added 'No Shine Get Animation' - Added 'No Shine Get Animation'
@ -38,6 +49,9 @@ Disable Z menu for Instant Level Select to prevent broken texture
- Added 'Red Coin Savestate' - Added 'Red Coin Savestate'
- Added 'Previous Downloaded Codes' as a preset - Added 'Previous Downloaded Codes' as a preset
## Feb 10, 2023
Ported GCI Loader to all versions
## Feb 08, 2023 ## Feb 08, 2023
### Updated 'Instant Level Select' ### Updated 'Instant Level Select'
Overwrite button input value to prevent Level Select being activated when AreaLock is enabled Overwrite button input value to prevent Level Select being activated when AreaLock is enabled
@ -100,6 +114,15 @@ Reworked the existing freezes and added the option to freeze when mounting Yoshi
## Nov 19, 2022 ## Nov 19, 2022
Added `CAngle` for 'Customized Display' to show camera angle Added `CAngle` for 'Customized Display' to show camera angle
## Nov 16, 2022
- Add GCI+XXX as download format
- Add return code for GCI Loader
- Smaller GCI file (0xE000 bytes to 0x4000 bytes)
## Nov 11, 2022
- Add GCI Loader (NTSC-J 1.0 only)
- Support GCI as download format (NTSC-J 1.0 only)
## Nov 9, 2022 ## Nov 9, 2022
### Added 'Fast Piantissimo' ### Added 'Fast Piantissimo'
To make Piantissimo go as fast as he will in a level, you need to beat him with an in-game time under 25 seconds and grab his Shine. Or you could just use this code. To make Piantissimo go as fast as he will in a level, you need to beat him with an in-game time under 25 seconds and grab his Shine. Or you could just use this code.

View file

@ -94,7 +94,12 @@ export default {
]); ]);
} catch {} } catch {}
const fileName = gameVersions.find((v) => v.identifier === this.versionIdentifier).version; 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 // apply customizable codes
for (const code of codeList) { for (const code of codeList) {
@ -104,21 +109,56 @@ export default {
} }
} }
let format;
const formats = this.format.split('+');
if (formats[0] === 'gci') {
format = formats[1];
const codeListGCT = [];
const codeListGCI = codeList.splice(0).flatMap(c => {
// TODO
if (c.id === 'IntroSkip' || c.category === 'memcardpatch') {
codeListGCT.push(c);
return [];
}
return c;
});
// download GCI Loader + GCT only code as remaining format
const {codes} = gameVersions.find((v) => v.identifier === this.versionIdentifier);
const gciLoader = codes.find(code => code.id === 'GCILoader');
codeList.push({
...gciLoader,
title: translateCode(gciLoader, this.$lang).title,
}, ...codeListGCT);
if (!format && codeListGCT.length) {
const list = codeListGCT.map(c => (
c.title.find(o => o.lang === this.$lang) ??
c.title.find(o => o.lang === 'en-US')
).content).join(', ');
alert(translate('generatorconfig.alert.gci-compatibility', this.$lang)+list);
}
// download GCI file
if (codeListGCI.length) {
this.generateGCI(codeListGCI, version);
}
} else {
format = formats[0];
}
// 16 = 8(00D0C0DE 00D0C0DE) + 8(F0000000 00000000)
const codeSize = codeList.reduce((a, e) => a + e.source.length, 0) / 2 + 16;
// generate file // generate file
const codeSize = codeList.reduce((a, e) => a + e.source.length, 0) / 2 + 16; // 8(00D0)+8(F000) switch (format) {
// console.log(codeSize, codeList);
switch (this.format) {
case 'gct': case 'gct':
this.alertGCTCodeSize(codeSize); this.alertGCTCodeSize(codeSize);
this.generateGCT(codeList, fileName); this.generateGCT(codeList, version);
break; break;
case 'dolphin': case 'dolphin':
this.alertDolphinCodeSize(codeSize); this.alertDolphinCodeSize(codeSize);
this.generateDolphinINI(codeList, fileName); this.generateDolphinINI(codeList, version);
break; break;
case 'gcm': case 'gcm':
this.alertDolphinCodeSize(codeSize); this.alertDolphinCodeSize(codeSize);
this.generateCheatManagerTXT(codeList, fileName); this.generateCheatManagerTXT(codeList, version);
break; break;
} }
}, },
@ -136,6 +176,11 @@ export default {
); );
} }
}, },
getGCILoader() {
const {codes} = gameVersions.find((v) => v.identifier === this.versionIdentifier);
const code = codes.find(code => code.id === 'GCILoader');
return [code];
},
generateGCT(codes, version) { generateGCT(codes, version) {
let code = '00D0C0DE00D0C0DE'; let code = '00D0C0DE00D0C0DE';
codes.forEach((c) => (code += c.source)); codes.forEach((c) => (code += c.source));
@ -178,6 +223,33 @@ export default {
this.downloadFile(data, `${version}.txt`); this.downloadFile(data, `${version}.txt`);
}, },
generateGCI(codes, version) {
let code = '';
codes.forEach((c) => (code += c.source));
code += 'C0000000000000023C60817F81E317FC7DE478504E800020'; // return
const codeSize = code.length>>1;
const fileName = `GCT_${this.versionIdentifier}`; // GMSJ0A
const blockCount = 6; // Math.ceil(codeSize/0x2000); // TODO
const headSize = 0x40;
const gciSize = headSize+0x2000*blockCount;
const rawData = new Uint8Array(gciSize);
for (let iD=headSize, iC=0; iC<code.length; iD++, iC+=2) {
rawData[iD] = parseInt(code.slice(iC, iC+2), 16);
}
// game id
[...new TextEncoder().encode(version), 0xff, 0x00].forEach((e, i) => rawData[i] = e);
// file name
[...new TextEncoder().encode(fileName)].forEach((e, i) => rawData[0x8+i] = e);
// block count
rawData[0x39] = blockCount;
// ff*6
for (let i=0x3A; i<0x40; i++) rawData[i] = 0xff;
this.downloadFile(rawData, `01-${version.slice(0, 4)}-${fileName}.gci`);
},
downloadFile(data, filename) { downloadFile(data, filename) {
var file = new Blob([data], { var file = new Blob([data], {
type: 'application/octet-stream', type: 'application/octet-stream',

View file

@ -10,5 +10,21 @@
{ {
"target": "gcm", "target": "gcm",
"i18nKey": "generatorconfig.downloadformat.options.gcm" "i18nKey": "generatorconfig.downloadformat.options.gcm"
},
{
"target": "gci+gct",
"i18nKey": "generatorconfig.downloadformat.options.gci+gct"
},
{
"target": "gci+dolphin",
"i18nKey": "generatorconfig.downloadformat.options.gci+dolphin"
},
{
"target": "gci+gcm",
"i18nKey": "generatorconfig.downloadformat.options.gci+gcm"
},
{
"target": "gci",
"i18nKey": "generatorconfig.downloadformat.options.gci"
} }
] ]

View file

@ -44,7 +44,11 @@
"options": { "options": {
"gct": "GCT", "gct": "GCT",
"dolphin": "Dolphin INI", "dolphin": "Dolphin INI",
"gcm": "CheatManager TXT" "gcm": "CheatManager TXT",
"gci+gct": "GCI + GCT",
"gci+dolphin": "GCI + Dolphin INI",
"gci+gcm": "GCI + CheatManager TXT",
"gci": "GCI"
} }
}, },
"categories": { "categories": {

View file

@ -44,12 +44,17 @@
"options": { "options": {
"gct": "GCT", "gct": "GCT",
"dolphin": "Dolphin INI", "dolphin": "Dolphin INI",
"gcm": "CheatManager TXT" "gcm": "CheatManager TXT",
"gci+gct": "GCI + GCT",
"gci+dolphin": "GCI + Dolphin INI",
"gci+gcm": "GCI + CheatManager TXT",
"gci": "GCI"
} }
}, },
"alert": { "alert": {
"gct": "The generated GCT file size exceeds 5000 bytes ({size} bytes). All of the codes may not work when using this file on Nintendont.", "gct": "The generated GCT file size exceeds 5000 bytes ({size} bytes). All of the codes may not work when using this file on Nintendont.",
"dolphin": "The total code size exceeds 3256 bytes ({size} bytes). All of the codes may not work when all of them are enabled on Dolphin. Try to disable some codes in that case." "dolphin": "The total code size exceeds 3256 bytes ({size} bytes). All of the codes may not work when all of them are enabled on Dolphin. Try to disable some codes in that case.",
"gci-compatibility": "The following code is not included in the GCI file due to incompatibility: "
}, },
"categories": { "categories": {
"qol": "Quality of Life", "qol": "Quality of Life",

View file

@ -29,7 +29,11 @@
"options": { "options": {
"gct": "GCT", "gct": "GCT",
"dolphin": "Dolphin INI", "dolphin": "Dolphin INI",
"gcm": "CheatManager TXT" "gcm": "CheatManager TXT",
"gci+gct": "GCI + GCT",
"gci+dolphin": "GCI + Dolphin INI",
"gci+gcm": "GCI + CheatManager TXT",
"gci": "GCI"
} }
} }
}, },

View file

@ -29,7 +29,11 @@
"options": { "options": {
"gct": "GCT", "gct": "GCT",
"dolphin": "Dolphin INI", "dolphin": "Dolphin INI",
"gcm": "CheatManager TXT" "gcm": "CheatManager TXT",
"gci+gct": "GCI + GCT",
"gci+dolphin": "GCI + Dolphin INI",
"gci+gcm": "GCI + CheatManager TXT",
"gci": "GCI"
} }
}, },
"presets": { "presets": {
@ -42,7 +46,8 @@
}, },
"alert": { "alert": {
"gct": "生成されたGCTファイルのサイズが5000バイトを超えました({size}バイト)。NintendontでこのGCTファイルを使う時、全ての機能が動作しなくなることがあるため、5000バイトを超えないようにいくつかの機能を減らすことをおすすめします。", "gct": "生成されたGCTファイルのサイズが5000バイトを超えました({size}バイト)。NintendontでこのGCTファイルを使う時、全ての機能が動作しなくなることがあるため、5000バイトを超えないようにいくつかの機能を減らすことをおすすめします。",
"dolphin": "コードの合計サイズが3256バイトを超えました({size}バイト)。Dolphinで全てのコードをONにすると、全ての機能が動作しなくなることがあります。その場合はいくつかのコードをOFFにしてください。" "dolphin": "コードの合計サイズが3256バイトを超えました({size}バイト)。Dolphinで全てのコードをONにすると、全ての機能が動作しなくなることがあります。その場合はいくつかのコードをOFFにしてください。",
"gci-compatibility": "互換性がないため次のコードはGCIファイルに含まれません"
} }
}, },
"landingpage": { "landingpage": {

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

View file

@ -139,3 +139,76 @@ Right click the game in Dolphin and click on "Properties". In the "Game Config"
### Using the codes ### Using the codes
Select the "Gecko-Codes" tab in the game properties and check all the codes you want to be active. Most (but not all codes) will work with Dolphin. Select the "Gecko-Codes" tab in the game properties and check all the codes you want to be active. Most (but not all codes) will work with Dolphin.
## Appendix: Using large cheat file with Nintendont
There is a file size limit of 5000 bytes in Nintendont.
To use cheat file with size larger than 5000 bytes,
you need to store the cheat file in your Gamecube memory card
and load it on runtime.
### Preparation: Installing GCMM
You need GCMM to store the cheat file to your Gamecube memory card.
[Download the latest GCMM release](https://github.com/suloku/gcmm/releases/download/1.4f/gcmm_1.4f.zip) and unzip it.
Copy the `apps/gcmm` folder to `/apps/` folder in your SD card.
![File list after GCMM is installed](/img/gci/0-gcmm-files.jpg)
### [Step 1/3] Generating cheat file
Select the game version and the functions you want in [GCT Generator](/).
Choose `GCI + GCT` as Download Format and press the download button.
There will be 2 files being downloaded.
Put the first file (GCI) in `/MCBACKUP/` folder
and the second file (GCT) in `/codes/` folder in your SD card.
Create the folders if they do not exist.
![File list after downloading the cheat files](/img/gci/1-cheat-files.jpg)
### [Step 2/3] Write the GCI file to Gamecube memory card with GCMM
Open your Homebrew channel and run GCMM.
![Run GCMM in Homebrew channel](/img/gci/2-0-open-gcmm.png)
Press A if you are using SD card, or B if you are using USB.
![Choose device](/img/gci/2-1-choose-device.png)
Press X (Restore) in mode selection.
![Choose mode](/img/gci/2-2-choose-mode.png)
Put your Gamecube memory card in slot A and press A.
Press B instead if you put it in slot B.
![Choose slot](/img/gci/2-3-choose-slot.png)
Use D-Pad to select the downloaded GCI file,
and then press A to restore the file to your Gamecube memory card.
![Choose file](/img/gci/2-4-choose-file.png)
After the message "Restore Complete" appears,
press A to return to the main menu,
and then press Start to return to Homebrew.
![Restore Complete](/img/gci/2-5-complete.png)
#### For the second time and onwards
There will be a message to confirm
whether you want to overwrite the file since the second time.
Press B and then Z to overwrite.
![Overwrite confirm 1](/img/gci/2-6-overwrite-1.png)
![Overwrite confirm 2](/img/gci/2-6-overwrite-2.png)
### [Step 3/3] Run the game with Nintendont
Run the game with Nintendont with your Gamecube memory card plugged in.
The GCI file stored in your memory card will be loaded automatically.
You can remove your memory card
after confirming the functions you selected work.

View file

@ -142,4 +142,56 @@ Dolphinを起動し、「Option」->「Configuration」から「Settings」を
### チートコードの使い方 ### チートコードの使い方
ゲームのプロパティで「Gecko-Codes」タブを選択し、有効にしたい全てのコードにチェックを入れてください。Dolphinにおいても、ほとんどのチートコードが動作します。全てのチートコードが動作するわけではないので注意 ゲームのプロパティで「Gecko-Codes」タブを選択し、有効にしたい全てのコードにチェックを入れてください。Dolphinにおいても、ほとんどのチートコードが動作します。全てのチートコードが動作するわけではないので注意
## 付録大きなチートファイルをNintendontで使うためには
Nintendontには5000バイトのファイルサイズ制限があります。5000バイト超えのチートファイルを使うためには、チートファイルをGCメモリカードに保存してゲーム実行時にGCメモリカードから読み込む必要があります。
### 準備GCMMのインストール
チートファイルをGCメモリカードに書き込むためにはGCMMを使います。[最新版のGCMM](https://github.com/suloku/gcmm/releases/download/1.4f/gcmm_1.4f.zip)をダウンロードして解凍します。その中にある`apps/gcmm`フォルダをSDカードの`/apps/`フォルダにコピーします。
![GCMMをインストールした後のファイル一覧](/img/gci/0-gcmm-files.jpg)
### [ステップ 1/3] チートファイルの作成
[GCT Generator](/ja/)でゲームバージョンと入れたい機能を選択し、ダウンロードフォーマットを`GCI + GCT`にしてダウンロードボタンを押します。
二つのファイルがダウンロードされますが、一つ目のGCIファイルをSDカードの`/MCBACKUP/`フォルダに、二つ目のGCTファイルを`/codes/`フォルダにダウンロードします。上記のフォルダが存在しない場合は作成してください。
![チートファイルをダウンロードした後のファイル一覧](/img/gci/1-cheat-files.jpg)
### [ステップ 2/3] GCMMでGCIファイルをGCメモリカードに書き込む
WiiでHomebrewチャンネルを開いてGCMMを起動します。
![HomebrewチャンネルでGCMMを起動](/img/gci/2-0-open-gcmm.png)
SDカードを使っているのであればAボタン、USBを使っているのであればBボタンを押します。
![デバイス選択](/img/gci/2-1-choose-device.png)
モード選択では「Xボタン」(Restore)を押します。
![モード選択](/img/gci/2-2-choose-mode.png)
GCメモリカードをスロットAに挿して「Aボタン」を押します。スロットBに挿した場合はBボタンを押します。
![スロット選択](/img/gci/2-3-choose-slot.png)
十字キーでダウンロードしたGCIファイルを選択し、「Aボタン」を押してGCIファイルをGCメモリカードに書き込みます。
![ファイル選択](/img/gci/2-4-choose-file.png)
「Restore Complete」というメッセージが出たら成功です。「Aボタン」を押してメニュー画面に戻って「スタートボタン」を押してHomebrewに戻ります。
![完成](/img/gci/2-5-complete.png)
#### 二回目以降の書き込み
二回目以降GCIファイルを書き込む際に「ファイルを上書きしますか」という確認するメッセージが出てきます。「Bボタン」そして「Zボタン」を押して上書きします。
![上書き確認1](/img/gci/2-6-overwrite-1.png)
![上書き確認2](/img/gci/2-6-overwrite-2.png)
### [ステップ 3/3] Nintendontでゲームを起動
GCメモリカードを挿したままNintendontでゲームを起動します。GCメモリカードに保存したGCIファイルは自動的に読み込まれます。入れた機能が動作することを確認できたらメモリカードを取り外しても構いません。
<!-- prettier-ignore-end --> <!-- prettier-ignore-end -->