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
|
||||
|
||||
#### 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)
|
||||
|
||||
- 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)
|
||||
|
||||
|
@ -66,7 +69,7 @@
|
|||
4. これで好きなだけハニスキを練習できます。他のエリアに入ろうとする時に自動的にやり直すので、手動でやり直す必要がありません。必要であれば`十字キー上`でやり直すこともできます。
|
||||
</description>
|
||||
<source version="GMSJ01">
|
||||
C20F9B74 0000004D
|
||||
C20F9B74 00000052
|
||||
3C80817F 816D97D0
|
||||
3D808040 80AC0D80
|
||||
20050022 540A043D
|
||||
|
@ -75,25 +78,30 @@
|
|||
28830001 4C451102
|
||||
40A2000C 38A00008
|
||||
90AC0D80 7C7D1B79
|
||||
41820220 70A00004
|
||||
41A20034 881F000E
|
||||
3D40803B 394A40E8
|
||||
7CEA00AE 2C070001
|
||||
40810200 38070001
|
||||
5400EFFE 7CE70214
|
||||
54E7403E 60E700FF
|
||||
480000F8 70A00008
|
||||
41A201E0 4800003D
|
||||
00141516 0017181D
|
||||
34000090 2F2E3020
|
||||
32293328 2A1FBA3C
|
||||
371E213A 0E2C3900
|
||||
00010507 08090200
|
||||
123457D0 24567000
|
||||
12234070 23467001
|
||||
7D2802A6 54A6CF38
|
||||
50A6F77A 50A6E7BC
|
||||
50A6D7FE 54A0C738
|
||||
41820248 818D97E8
|
||||
7D8C6379 41820010
|
||||
880C0064 2C000005
|
||||
41820230 70A00004
|
||||
41A20040 881F0008
|
||||
2C000008 41820034
|
||||
881F000E 3D40803B
|
||||
394A40E8 7CEA00AE
|
||||
2C070001 40810204
|
||||
38070001 5400EFFE
|
||||
7CE70214 54E7403E
|
||||
60E700FF 480000FC
|
||||
70A00008 41A201E4
|
||||
4800003D 00141516
|
||||
0017181D 34000090
|
||||
2F2E3020 32293328
|
||||
2A1FBA3C 371E213A
|
||||
0E2C3900 00010507
|
||||
08090200 123457D0
|
||||
24567000 12234070
|
||||
23467001 7D2802A6
|
||||
54A6CF3A 50A6E7BC
|
||||
50A6D7FE 54A0F77A
|
||||
7CC60378 54A0C738
|
||||
50A0B77C 7CC60378
|
||||
54A3873F 41820054
|
||||
2C030009 41820098
|
||||
|
@ -146,7 +154,7 @@
|
|||
60000000 00000000
|
||||
</source>
|
||||
<source version="GMSE01">
|
||||
C22A6170 0000004D
|
||||
C22A6170 00000052
|
||||
3C80817F 816D9FA0
|
||||
3D808040 80AC4484
|
||||
20050022 540A043D
|
||||
|
@ -155,25 +163,30 @@
|
|||
28830001 4C451102
|
||||
40A2000C 38A00008
|
||||
90AC4484 7C7D1B79
|
||||
41820220 70A00004
|
||||
41A20034 881F000E
|
||||
3D40803E 394AF498
|
||||
7CEA00AE 2C070001
|
||||
40810200 38070001
|
||||
5400EFFE 7CE70214
|
||||
54E7403E 60E700FF
|
||||
480000F8 70A00008
|
||||
41A201E0 4800003D
|
||||
00141516 0017181D
|
||||
34000090 2F2E3020
|
||||
32293328 2A1FBA3C
|
||||
371E213A 0E2C3900
|
||||
00010507 08090200
|
||||
123457D0 24567000
|
||||
12234070 23467001
|
||||
7D2802A6 54A6CF38
|
||||
50A6F77A 50A6E7BC
|
||||
50A6D7FE 54A0C738
|
||||
41820248 818D9FB8
|
||||
7D8C6379 41820010
|
||||
880C0064 2C000005
|
||||
41820230 70A00004
|
||||
41A20040 881F0008
|
||||
2C000008 41820034
|
||||
881F000E 3D40803E
|
||||
394AF498 7CEA00AE
|
||||
2C070001 40810204
|
||||
38070001 5400EFFE
|
||||
7CE70214 54E7403E
|
||||
60E700FF 480000FC
|
||||
70A00008 41A201E4
|
||||
4800003D 00141516
|
||||
0017181D 34000090
|
||||
2F2E3020 32293328
|
||||
2A1FBA3C 371E213A
|
||||
0E2C3900 00010507
|
||||
08090200 123457D0
|
||||
24567000 12234070
|
||||
23467001 7D2802A6
|
||||
54A6CF3A 50A6E7BC
|
||||
50A6D7FE 54A0F77A
|
||||
7CC60378 54A0C738
|
||||
50A0B77C 7CC60378
|
||||
54A3873F 41820054
|
||||
2C030009 41820098
|
||||
|
@ -226,7 +239,7 @@
|
|||
60000000 00000000
|
||||
</source>
|
||||
<source version="GMSP01">
|
||||
C229E080 0000004D
|
||||
C229E080 00000052
|
||||
3C80817F 816D9EC8
|
||||
3D808040 80ACBC24
|
||||
20050022 540A043D
|
||||
|
@ -235,25 +248,30 @@
|
|||
28830001 4C451102
|
||||
40A2000C 38A00008
|
||||
90ACBC24 7C7D1B79
|
||||
41820220 70A00004
|
||||
41A20034 881F000E
|
||||
3D40803D 394A6DB0
|
||||
7CEA00AE 2C070001
|
||||
40810200 38070001
|
||||
5400EFFE 7CE70214
|
||||
54E7403E 60E700FF
|
||||
480000F8 70A00008
|
||||
41A201E0 4800003D
|
||||
00141516 0017181D
|
||||
34000090 2F2E3020
|
||||
32293328 2A1FBA3C
|
||||
371E213A 0E2C3900
|
||||
00010507 08090200
|
||||
123457D0 24567000
|
||||
12234070 23467001
|
||||
7D2802A6 54A6CF38
|
||||
50A6F77A 50A6E7BC
|
||||
50A6D7FE 54A0C738
|
||||
41820248 818D9EE0
|
||||
7D8C6379 41820010
|
||||
880C0064 2C000005
|
||||
41820230 70A00004
|
||||
41A20040 881F0008
|
||||
2C000008 41820034
|
||||
881F000E 3D40803D
|
||||
394A6DB0 7CEA00AE
|
||||
2C070001 40810204
|
||||
38070001 5400EFFE
|
||||
7CE70214 54E7403E
|
||||
60E700FF 480000FC
|
||||
70A00008 41A201E4
|
||||
4800003D 00141516
|
||||
0017181D 34000090
|
||||
2F2E3020 32293328
|
||||
2A1FBA3C 371E213A
|
||||
0E2C3900 00010507
|
||||
08090200 123457D0
|
||||
24567000 12234070
|
||||
23467001 7D2802A6
|
||||
54A6CF3A 50A6E7BC
|
||||
50A6D7FE 54A0F77A
|
||||
7CC60378 54A0C738
|
||||
50A0B77C 7CC60378
|
||||
54A3873F 41820054
|
||||
2C030009 41820098
|
||||
|
@ -306,7 +324,7 @@
|
|||
60000000 00000000
|
||||
</source>
|
||||
<source version="GMSJ0A">
|
||||
C2285FCC 0000004D
|
||||
C2285FCC 00000052
|
||||
3C80817F 816D9E60
|
||||
3D80803F 80AC5458
|
||||
20050022 540A043D
|
||||
|
@ -315,25 +333,30 @@
|
|||
28830001 4C451102
|
||||
40A2000C 38A00008
|
||||
90AC5458 7C7D1B79
|
||||
41820220 70A00004
|
||||
41A20034 881F000E
|
||||
3D40803D 394AF9B8
|
||||
7CEA00AE 2C070001
|
||||
40810200 38070001
|
||||
5400EFFE 7CE70214
|
||||
54E7403E 60E700FF
|
||||
480000F8 70A00008
|
||||
41A201E0 4800003D
|
||||
00141516 0017181D
|
||||
34000090 2F2E3020
|
||||
32293328 2A1FBA3C
|
||||
371E213A 0E2C3900
|
||||
00010507 08090200
|
||||
123457D0 24567000
|
||||
12234070 23467001
|
||||
7D2802A6 54A6CF38
|
||||
50A6F77A 50A6E7BC
|
||||
50A6D7FE 54A0C738
|
||||
41820248 818D9E78
|
||||
7D8C6379 41820010
|
||||
880C0064 2C000005
|
||||
41820230 70A00004
|
||||
41A20040 881F0008
|
||||
2C000008 41820034
|
||||
881F000E 3D40803D
|
||||
394AF9B8 7CEA00AE
|
||||
2C070001 40810204
|
||||
38070001 5400EFFE
|
||||
7CE70214 54E7403E
|
||||
60E700FF 480000FC
|
||||
70A00008 41A201E4
|
||||
4800003D 00141516
|
||||
0017181D 34000090
|
||||
2F2E3020 32293328
|
||||
2A1FBA3C 371E213A
|
||||
0E2C3900 00010507
|
||||
08090200 123457D0
|
||||
24567000 12234070
|
||||
23467001 7D2802A6
|
||||
54A6CF3A 50A6E7BC
|
||||
50A6D7FE 54A0F77A
|
||||
7CC60378 54A0C738
|
||||
50A0B77C 7CC60378
|
||||
54A3873F 41820054
|
||||
2C030009 41820098
|
||||
|
|
|
@ -12,7 +12,8 @@
|
|||
- Pressing `D-Pad Down` in Plaza has no effect
|
||||
|
||||
### 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)
|
||||
|
||||
- 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
|
||||
|
||||
#### 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)
|
||||
|
||||
- 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)
|
||||
|
||||
|
|
|
@ -54,10 +54,27 @@
|
|||
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)
|
||||
.L.checkButton.ShineSelect:
|
||||
andi. r0, rBtn, $btnShineSelect
|
||||
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:
|
||||
## rAns = shineStageTable[curArea]
|
||||
lbz r0, 0xE(rApp) # current area
|
||||
|
@ -121,12 +138,14 @@
|
|||
|
||||
.L.main:
|
||||
## calc index
|
||||
## btn: S YXZA -LRZ ----
|
||||
## XZRL=8,4,2,1
|
||||
rlwinm rIdx, rBtn, 32-7, 0x8 # X=8
|
||||
rlwimi rIdx, rBtn, 32-2, 0x4 # Z=4
|
||||
## btn: S YXBA -LRZ ----
|
||||
## XBRL=8,4,2,1
|
||||
rlwinm rIdx, rBtn, 32-7, 0xC # X,B=8,4
|
||||
rlwimi rIdx, rBtn, 32-4, 0x2 # R=2
|
||||
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
|
||||
rlwinm r0, rBtn, 32- 8, 0x8 # Y=+8
|
||||
rlwimi r0, rBtn, 32-10, 0x6 # S,Y=4,+2
|
||||
|
|
Loading…
Reference in a new issue