View difference between Paste ID: eCvYDcyw and d3c4Q7vT
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