fix(ILSEx): disable while paused, map B to Z #3
4 changed files with 135 additions and 89 deletions
|
@ -19,7 +19,8 @@
|
||||||
- Pressing `D-Pad Down` in Plaza has no effect
|
- Pressing `D-Pad Down` in Plaza has no effect
|
||||||
|
|
||||||
#### Level Select
|
#### Level Select
|
||||||
Press `{the following button combination} + D-Pad Up` to warp to other area instantly:
|
Press `{the following button combination} + D-Pad Up` to warp to other area instantly.
|
||||||
|
As the alternatives of `Z` button, you can also press `B` or `Start`.
|
||||||
![Level Select Combinations](/img/levelselect.png)
|
![Level Select Combinations](/img/levelselect.png)
|
||||||
|
|
||||||
- For `Z + D-Pad Up`, the current area will be restarted, but the **respawn position will be reset**. It is like `D-Pad Up`, but the respawn position will be the default position instead of the previous one
|
- For `Z + D-Pad Up`, the current area will be restarted, but the **respawn position will be reset**. It is like `D-Pad Up`, but the respawn position will be the default position instead of the previous one
|
||||||
|
@ -47,9 +48,11 @@
|
||||||
|
|
||||||
#### シャイン選択画面からやり直し
|
#### シャイン選択画面からやり直し
|
||||||
- `十字キー下`で**現在のステージのシャイン選択画面からやり直す**
|
- `十字キー下`で**現在のステージのシャイン選択画面からやり直す**
|
||||||
|
- ポーズ中にこのコードは無効化されます
|
||||||
|
|
||||||
#### レベル選択
|
#### レベル選択
|
||||||
`{次のボタン}+十字キー上`でレベル選択
|
`{次のボタン}+十字キー上`でレベル選択
|
||||||
|
`Z`ボタンの代わりに`B`か`Start`ボタンを押すこともできます
|
||||||
|
|
||||||
![レベル選択](/img/levelselect.png)
|
![レベル選択](/img/levelselect.png)
|
||||||
|
|
||||||
|
@ -66,7 +69,7 @@
|
||||||
4. これで好きなだけハニスキを練習できます。他のエリアに入ろうとする時に自動的にやり直すので、手動でやり直す必要がありません。必要であれば`十字キー上`でやり直すこともできます。
|
4. これで好きなだけハニスキを練習できます。他のエリアに入ろうとする時に自動的にやり直すので、手動でやり直す必要がありません。必要であれば`十字キー上`でやり直すこともできます。
|
||||||
</description>
|
</description>
|
||||||
<source version="GMSJ01">
|
<source version="GMSJ01">
|
||||||
C20F9B74 0000004D
|
C20F9B74 00000052
|
||||||
3C80817F 816D97D0
|
3C80817F 816D97D0
|
||||||
3D808040 80AC0D80
|
3D808040 80AC0D80
|
||||||
20050022 540A043D
|
20050022 540A043D
|
||||||
|
@ -75,25 +78,30 @@
|
||||||
28830001 4C451102
|
28830001 4C451102
|
||||||
40A2000C 38A00008
|
40A2000C 38A00008
|
||||||
90AC0D80 7C7D1B79
|
90AC0D80 7C7D1B79
|
||||||
41820220 70A00004
|
41820248 818D97E8
|
||||||
41A20034 881F000E
|
7D8C6379 41820010
|
||||||
3D40803B 394A40E8
|
880C0064 2C000005
|
||||||
7CEA00AE 2C070001
|
41820230 70A00004
|
||||||
40810200 38070001
|
41A20040 881F0008
|
||||||
5400EFFE 7CE70214
|
2C000008 41820034
|
||||||
54E7403E 60E700FF
|
881F000E 3D40803B
|
||||||
480000F8 70A00008
|
394A40E8 7CEA00AE
|
||||||
41A201E0 4800003D
|
2C070001 40810204
|
||||||
00141516 0017181D
|
38070001 5400EFFE
|
||||||
34000090 2F2E3020
|
7CE70214 54E7403E
|
||||||
32293328 2A1FBA3C
|
60E700FF 480000FC
|
||||||
371E213A 0E2C3900
|
70A00008 41A201E4
|
||||||
00010507 08090200
|
4800003D 00141516
|
||||||
123457D0 24567000
|
0017181D 34000090
|
||||||
12234070 23467001
|
2F2E3020 32293328
|
||||||
7D2802A6 54A6CF38
|
2A1FBA3C 371E213A
|
||||||
50A6F77A 50A6E7BC
|
0E2C3900 00010507
|
||||||
50A6D7FE 54A0C738
|
08090200 123457D0
|
||||||
|
24567000 12234070
|
||||||
|
23467001 7D2802A6
|
||||||
|
54A6CF3A 50A6E7BC
|
||||||
|
50A6D7FE 54A0F77A
|
||||||
|
7CC60378 54A0C738
|
||||||
50A0B77C 7CC60378
|
50A0B77C 7CC60378
|
||||||
54A3873F 41820054
|
54A3873F 41820054
|
||||||
2C030009 41820098
|
2C030009 41820098
|
||||||
|
@ -146,7 +154,7 @@
|
||||||
60000000 00000000
|
60000000 00000000
|
||||||
</source>
|
</source>
|
||||||
<source version="GMSE01">
|
<source version="GMSE01">
|
||||||
C22A6170 0000004D
|
C22A6170 00000052
|
||||||
3C80817F 816D9FA0
|
3C80817F 816D9FA0
|
||||||
3D808040 80AC4484
|
3D808040 80AC4484
|
||||||
20050022 540A043D
|
20050022 540A043D
|
||||||
|
@ -155,25 +163,30 @@
|
||||||
28830001 4C451102
|
28830001 4C451102
|
||||||
40A2000C 38A00008
|
40A2000C 38A00008
|
||||||
90AC4484 7C7D1B79
|
90AC4484 7C7D1B79
|
||||||
41820220 70A00004
|
41820248 818D9FB8
|
||||||
41A20034 881F000E
|
7D8C6379 41820010
|
||||||
3D40803E 394AF498
|
880C0064 2C000005
|
||||||
7CEA00AE 2C070001
|
41820230 70A00004
|
||||||
40810200 38070001
|
41A20040 881F0008
|
||||||
5400EFFE 7CE70214
|
2C000008 41820034
|
||||||
54E7403E 60E700FF
|
881F000E 3D40803E
|
||||||
480000F8 70A00008
|
394AF498 7CEA00AE
|
||||||
41A201E0 4800003D
|
2C070001 40810204
|
||||||
00141516 0017181D
|
38070001 5400EFFE
|
||||||
34000090 2F2E3020
|
7CE70214 54E7403E
|
||||||
32293328 2A1FBA3C
|
60E700FF 480000FC
|
||||||
371E213A 0E2C3900
|
70A00008 41A201E4
|
||||||
00010507 08090200
|
4800003D 00141516
|
||||||
123457D0 24567000
|
0017181D 34000090
|
||||||
12234070 23467001
|
2F2E3020 32293328
|
||||||
7D2802A6 54A6CF38
|
2A1FBA3C 371E213A
|
||||||
50A6F77A 50A6E7BC
|
0E2C3900 00010507
|
||||||
50A6D7FE 54A0C738
|
08090200 123457D0
|
||||||
|
24567000 12234070
|
||||||
|
23467001 7D2802A6
|
||||||
|
54A6CF3A 50A6E7BC
|
||||||
|
50A6D7FE 54A0F77A
|
||||||
|
7CC60378 54A0C738
|
||||||
50A0B77C 7CC60378
|
50A0B77C 7CC60378
|
||||||
54A3873F 41820054
|
54A3873F 41820054
|
||||||
2C030009 41820098
|
2C030009 41820098
|
||||||
|
@ -226,7 +239,7 @@
|
||||||
60000000 00000000
|
60000000 00000000
|
||||||
</source>
|
</source>
|
||||||
<source version="GMSP01">
|
<source version="GMSP01">
|
||||||
C229E080 0000004D
|
C229E080 00000052
|
||||||
3C80817F 816D9EC8
|
3C80817F 816D9EC8
|
||||||
3D808040 80ACBC24
|
3D808040 80ACBC24
|
||||||
20050022 540A043D
|
20050022 540A043D
|
||||||
|
@ -235,25 +248,30 @@
|
||||||
28830001 4C451102
|
28830001 4C451102
|
||||||
40A2000C 38A00008
|
40A2000C 38A00008
|
||||||
90ACBC24 7C7D1B79
|
90ACBC24 7C7D1B79
|
||||||
41820220 70A00004
|
41820248 818D9EE0
|
||||||
41A20034 881F000E
|
7D8C6379 41820010
|
||||||
3D40803D 394A6DB0
|
880C0064 2C000005
|
||||||
7CEA00AE 2C070001
|
41820230 70A00004
|
||||||
40810200 38070001
|
41A20040 881F0008
|
||||||
5400EFFE 7CE70214
|
2C000008 41820034
|
||||||
54E7403E 60E700FF
|
881F000E 3D40803D
|
||||||
480000F8 70A00008
|
394A6DB0 7CEA00AE
|
||||||
41A201E0 4800003D
|
2C070001 40810204
|
||||||
00141516 0017181D
|
38070001 5400EFFE
|
||||||
34000090 2F2E3020
|
7CE70214 54E7403E
|
||||||
32293328 2A1FBA3C
|
60E700FF 480000FC
|
||||||
371E213A 0E2C3900
|
70A00008 41A201E4
|
||||||
00010507 08090200
|
4800003D 00141516
|
||||||
123457D0 24567000
|
0017181D 34000090
|
||||||
12234070 23467001
|
2F2E3020 32293328
|
||||||
7D2802A6 54A6CF38
|
2A1FBA3C 371E213A
|
||||||
50A6F77A 50A6E7BC
|
0E2C3900 00010507
|
||||||
50A6D7FE 54A0C738
|
08090200 123457D0
|
||||||
|
24567000 12234070
|
||||||
|
23467001 7D2802A6
|
||||||
|
54A6CF3A 50A6E7BC
|
||||||
|
50A6D7FE 54A0F77A
|
||||||
|
7CC60378 54A0C738
|
||||||
50A0B77C 7CC60378
|
50A0B77C 7CC60378
|
||||||
54A3873F 41820054
|
54A3873F 41820054
|
||||||
2C030009 41820098
|
2C030009 41820098
|
||||||
|
@ -306,7 +324,7 @@
|
||||||
60000000 00000000
|
60000000 00000000
|
||||||
</source>
|
</source>
|
||||||
<source version="GMSJ0A">
|
<source version="GMSJ0A">
|
||||||
C2285FCC 0000004D
|
C2285FCC 00000052
|
||||||
3C80817F 816D9E60
|
3C80817F 816D9E60
|
||||||
3D80803F 80AC5458
|
3D80803F 80AC5458
|
||||||
20050022 540A043D
|
20050022 540A043D
|
||||||
|
@ -315,25 +333,30 @@
|
||||||
28830001 4C451102
|
28830001 4C451102
|
||||||
40A2000C 38A00008
|
40A2000C 38A00008
|
||||||
90AC5458 7C7D1B79
|
90AC5458 7C7D1B79
|
||||||
41820220 70A00004
|
41820248 818D9E78
|
||||||
41A20034 881F000E
|
7D8C6379 41820010
|
||||||
3D40803D 394AF9B8
|
880C0064 2C000005
|
||||||
7CEA00AE 2C070001
|
41820230 70A00004
|
||||||
40810200 38070001
|
41A20040 881F0008
|
||||||
5400EFFE 7CE70214
|
2C000008 41820034
|
||||||
54E7403E 60E700FF
|
881F000E 3D40803D
|
||||||
480000F8 70A00008
|
394AF9B8 7CEA00AE
|
||||||
41A201E0 4800003D
|
2C070001 40810204
|
||||||
00141516 0017181D
|
38070001 5400EFFE
|
||||||
34000090 2F2E3020
|
7CE70214 54E7403E
|
||||||
32293328 2A1FBA3C
|
60E700FF 480000FC
|
||||||
371E213A 0E2C3900
|
70A00008 41A201E4
|
||||||
00010507 08090200
|
4800003D 00141516
|
||||||
123457D0 24567000
|
0017181D 34000090
|
||||||
12234070 23467001
|
2F2E3020 32293328
|
||||||
7D2802A6 54A6CF38
|
2A1FBA3C 371E213A
|
||||||
50A6F77A 50A6E7BC
|
0E2C3900 00010507
|
||||||
50A6D7FE 54A0C738
|
08090200 123457D0
|
||||||
|
24567000 12234070
|
||||||
|
23467001 7D2802A6
|
||||||
|
54A6CF3A 50A6E7BC
|
||||||
|
50A6D7FE 54A0F77A
|
||||||
|
7CC60378 54A0C738
|
||||||
50A0B77C 7CC60378
|
50A0B77C 7CC60378
|
||||||
54A3873F 41820054
|
54A3873F 41820054
|
||||||
2C030009 41820098
|
2C030009 41820098
|
||||||
|
|
|
@ -12,7 +12,8 @@
|
||||||
- Pressing `D-Pad Down` in Plaza has no effect
|
- Pressing `D-Pad Down` in Plaza has no effect
|
||||||
|
|
||||||
### Level Select
|
### Level Select
|
||||||
Press `{the following button combination} + D-Pad Up` to warp to other area instantly:
|
Press `{the following button combination} + D-Pad Up` to warp to other area instantly.
|
||||||
|
As the alternatives of `Z` button, you can also press `B` or `Start`.
|
||||||
![Level Select Combinations](../.img/levelselect.png)
|
![Level Select Combinations](../.img/levelselect.png)
|
||||||
|
|
||||||
- For `Z + D-Pad Up`, the current area will be restarted, but the **respawn position will be reset**. It is like `D-Pad Up`, but the respawn position will be the default position instead of the previous one
|
- For `Z + D-Pad Up`, the current area will be restarted, but the **respawn position will be reset**. It is like `D-Pad Up`, but the respawn position will be the default position instead of the previous one
|
||||||
|
|
|
@ -19,7 +19,8 @@
|
||||||
- Pressing `D-Pad Down` in Plaza has no effect
|
- Pressing `D-Pad Down` in Plaza has no effect
|
||||||
|
|
||||||
#### Level Select
|
#### Level Select
|
||||||
Press `{the following button combination} + D-Pad Up` to warp to other area instantly:
|
Press `{the following button combination} + D-Pad Up` to warp to other area instantly.
|
||||||
|
As the alternatives of `Z` button, you can also press `B` or `Start`.
|
||||||
![Level Select Combinations](/img/levelselect.png)
|
![Level Select Combinations](/img/levelselect.png)
|
||||||
|
|
||||||
- For `Z + D-Pad Up`, the current area will be restarted, but the **respawn position will be reset**. It is like `D-Pad Up`, but the respawn position will be the default position instead of the previous one
|
- For `Z + D-Pad Up`, the current area will be restarted, but the **respawn position will be reset**. It is like `D-Pad Up`, but the respawn position will be the default position instead of the previous one
|
||||||
|
@ -47,9 +48,11 @@
|
||||||
|
|
||||||
#### シャイン選択画面からやり直し
|
#### シャイン選択画面からやり直し
|
||||||
- `十字キー下`で**現在のステージのシャイン選択画面からやり直す**
|
- `十字キー下`で**現在のステージのシャイン選択画面からやり直す**
|
||||||
|
- ポーズ中にこのコードは無効化されます
|
||||||
|
|
||||||
#### レベル選択
|
#### レベル選択
|
||||||
`{次のボタン}+十字キー上`でレベル選択
|
`{次のボタン}+十字キー上`でレベル選択
|
||||||
|
`Z`ボタンの代わりに`B`か`Start`ボタンを押すこともできます
|
||||||
|
|
||||||
![レベル選択](/img/levelselect.png)
|
![レベル選択](/img/levelselect.png)
|
||||||
|
|
||||||
|
|
|
@ -54,10 +54,27 @@
|
||||||
beq .L.done
|
beq .L.done
|
||||||
|
|
||||||
|
|
||||||
|
## disable the code if paused
|
||||||
|
.L.checkPaused:
|
||||||
|
### r12 = *gpMarDirector
|
||||||
|
lwz r12, gpMarDirector$r13(r13)
|
||||||
|
mr. r12, r12
|
||||||
|
beq .L.checkPaused.done
|
||||||
|
### if (u8) @ *gpMarDirector + 0x64 == 5
|
||||||
|
lbz r0, 0x64(r12)
|
||||||
|
cmpwi r0, 5
|
||||||
|
beq .L.done
|
||||||
|
.L.checkPaused.done:
|
||||||
|
|
||||||
|
|
||||||
## check button (Shine Select)
|
## check button (Shine Select)
|
||||||
.L.checkButton.ShineSelect:
|
.L.checkButton.ShineSelect:
|
||||||
andi. r0, rBtn, $btnShineSelect
|
andi. r0, rBtn, $btnShineSelect
|
||||||
beq+ .L.checkButton.ShineSelect.done
|
beq+ .L.checkButton.ShineSelect.done
|
||||||
|
### disable Shine Select when already in Shine Select
|
||||||
|
lbz r0, 0x8(rApp) # directory type
|
||||||
|
cmpwi r0, 8 # shine select
|
||||||
|
beq .L.checkButton.ShineSelect.done
|
||||||
.ShineSelect:
|
.ShineSelect:
|
||||||
## rAns = shineStageTable[curArea]
|
## rAns = shineStageTable[curArea]
|
||||||
lbz r0, 0xE(rApp) # current area
|
lbz r0, 0xE(rApp) # current area
|
||||||
|
@ -121,12 +138,14 @@
|
||||||
|
|
||||||
.L.main:
|
.L.main:
|
||||||
## calc index
|
## calc index
|
||||||
## btn: S YXZA -LRZ ----
|
## btn: S YXBA -LRZ ----
|
||||||
## XZRL=8,4,2,1
|
## XBRL=8,4,2,1
|
||||||
rlwinm rIdx, rBtn, 32-7, 0x8 # X=8
|
rlwinm rIdx, rBtn, 32-7, 0xC # X,B=8,4
|
||||||
rlwimi rIdx, rBtn, 32-2, 0x4 # Z=4
|
|
||||||
rlwimi rIdx, rBtn, 32-4, 0x2 # R=2
|
rlwimi rIdx, rBtn, 32-4, 0x2 # R=2
|
||||||
rlwimi rIdx, rBtn, 32-6, 0x1 # L=1
|
rlwimi rIdx, rBtn, 32-6, 0x1 # L=1
|
||||||
|
## Z=4
|
||||||
|
rlwinm r0, rBtn, 32- 2, 0x4 # Z=4
|
||||||
|
or rIdx, rIdx, r0
|
||||||
## YSY=8,4,2
|
## YSY=8,4,2
|
||||||
rlwinm r0, rBtn, 32- 8, 0x8 # Y=+8
|
rlwinm r0, rBtn, 32- 8, 0x8 # Y=+8
|
||||||
rlwimi r0, rBtn, 32-10, 0x6 # S,Y=4,+2
|
rlwimi r0, rBtn, 32-10, 0x6 # S,Y=4,+2
|
||||||
|
|
Loading…
Reference in a new issue