-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathImplementationDetails.txt
37 lines (25 loc) · 2.8 KB
/
ImplementationDetails.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Known issues in the README.md. Most of the stuff in this file is just for me so I can keep track of stuff.
Some changes I made to the engine:
- Reworked Str/Mag growthgetters to use a different table for class growths when named unit (units 0x0-0x3F and all units with boss flag set). For these units: growth = char + class growth.
- Changed Skill_Getter to not get skills for generic units. Also changed MSS page1 RText & MSS page1 so that skills won't display on the status screen for generic units. I described in the previous point what units Vanilla considers generic. SkillSys seems to save skills for units up to charID 0x46 instead of 0x3F. To be safe, I'm not using units 0x40-0x46 for any purpose.
- Changed LevelUp.event in ExternalHacks/StrMagSplit/StrMagSplit/LevelUp. It now uses WritePromotoRAM2.dmp which does the same thing as WritePromotoRAM.dmp, but uses the unit's level instead of level 1 for the promo `level-up' screen. We also nopped out an instruction, making level not reset upon promotion. When a unit reaches their maximum level, their EXP is set to 0xFF to prevent them from gaining more EXP. Promoting comes with a higher level cap and thus sets EXP to 0 to allow EXP to be gained again.
- Units can no longer rescue units, unless a rescue staff is used. Unit State +0xC bits 5 and 6 (to do with rescuing) are no longer saved. Instead two more unit level bits are saved.
- Base staff accuracy was increased from 30 to 50.
- Deleted guide entries: Arena, Impaired vision.
- FaceDisplayBits flag 0x80000000 can be set to set the portrait's mosaicbit, OAM0 0x1000.
USED FLAGS:
- 0x71-0x77 for indicating whether a WM node should be set as destination or not.
- 0x86 for indicating whether Leona or Milo shows up (set in ch0).
- 0x87 for indicating Manage Forts menu command is now available.
- 0xB0 if set, casual mode enabled.
- 0xB1 if set, applies fixed growths. Set in Ch0.
- Flags 0x122-0x12C are used for guide entries. Old entries use 0x12C for read and display. New entries use different flags for read. New entries use 0x12C for display if they're immediately relevant, otherwise different flags again.
USED FREE RAM:
- bit 7 of byte 0x39 of enemy RAM unit structs. Holds DR-active bit.
- 0x300 0006, byte, holds Danger Radius count.
- 0x300 0007, byte, bitfield:
0x1: Don't change LCDIO DISPCNT during fadein or fadout (NewFadeIn & NewFadeOut).
0x2: Don't buffer minimugs. Necessary when drawing multiple minimnugs in a frame.
- [0x3003F48, 0x300408C) Used to hold BG horizontal & vertical offsets during sinusoid HBlank. Can be re-used
when no sinusoid is active. First byte is also used when loading units to keep track of
player army level.