SHOW:
|
|
- or go back to the newest paste.
1 | Hello, everybody! | |
2 | the HP Bar speed is one of the most critiqued aspects of Gen 4 games. Thanks to the combined efforts of Mikelan and moi, we now have a way to make that better! | |
3 | ||
4 | - | The game stores the speed-changing instruction at `0x2E17A` offset of uncompressed overlay22 (HGSS) or `0x2D038` in overlay16 (Platinum). |
4 | + | The game stores the speed-changing instruction at `0x2E17A` offset of uncompressed overlay22 (HGSS) or `0x2D046` in overlay16 (Platinum). |
5 | ||
6 | For HGSS, you'll normally see `00 02` there. | |
7 | ||
8 | --------------------------------- | |
9 | **HGSS** | |
10 | **How to double/halve the speed animation [No ARM9 Expansion needed]:** | |
11 | Here's a table of useful values that you can replace `00 02` with: | |
12 | - `80 01` [x0.25] | |
13 | - `C0 01` [x0.5] | |
14 | - `40 02` [x2] | |
15 | - `80 02` [x4] | |
16 | - `C0 02` [x8] | |
17 | ||
18 | Alternatively, assemble this instruction `LSLS R0, R0, #yourNumber` yourself [for ARM processors] and paste it there. Default `#yourNumber` is 8, which means the base speed is 2^8 = *256*. | |
19 | ||
20 | ----- **Platinum:** | |
21 | - | - `08 18` [x1] |
21 | + | - `88 1E` [x2] |
22 | - | - `88 1C` [x2] |
22 | + | - `C8 1E` [x3] |
23 | - | - `C8 1C` [x3] |
23 | + | - `08 1F` [x4] |
24 | - | - `08 1D` [x4] |
24 | + | - `48 1F` [x5] |
25 | - | - `48 1D` [x5] |
25 | + | - `88 1F` [x6] |
26 | - | - `88 1D` [x6] |
26 | + | - `C8 1F` [x7] |
27 | - | - `C8 1D` [x6] |
27 | + | |
28 | **How to fine-tune the speed Animation - HGSS __[ARM9 Expansion needed]__:** | |
29 | ||
30 | 1] Paste this at 0x14FF0 of your synthetic overlay file: | |
31 | ```2D 2D 48 50 20 42 41 52 20 53 50 45 45 44 2D 2D | |
32 | 80 21 49 00 48 43 11 1C 70 47 C0 46 FF FF FF FF``` | |
33 | ||
34 | The first byte of the second row (default is `0x80`) represents the speed "fine control". | |
35 | ||
36 | `80 21 49 00` means the speed is 128\*2 = 256. [x1] | |
37 | `A0 21 49 00` means the speed is 160\*2 = 320. [x1.25] | |
38 | `C0 21 49 00` means the speed is 192\*2 = 384. [x1.5] | |
39 | ...up to | |
40 | `FF 21 49 00`, which means the speed is 255\*2 = 510. [x1.9921] | |
41 | ||
42 | ||
43 | The third byte of the second row (default is `0x49`) acts as a cumulative multiplier, or "coarse control". Increasing that value will allow you to set the speed even higher. | |
44 | ||
45 | `60 21 89 00` means the speed is 96\*4 = 384. [x1.5] | |
46 | `80 21 89 00` means the speed is 128\*4 = 512. [x2] | |
47 | `EC 21 89 00` means the speed is 236\*4 = 944. [x3.6875] | |
48 | ...up to | |
49 | `FF 21 89 00`, which means the speed is 255\*4 = 1020. [x3.9843] | |
50 | ||
51 | 2] Paste `77 F1 D1 FA` at `0x2E17A` offset of uncompressed overlay12. | |
52 | ---------------------------------------- | |
53 | ||
54 | (thanks to @Nitram#3774 for making this work in Platinum ROMs too) | |
55 | Enjoy! | |
56 |