Misc
FM
There’s an object that seems to represent higher-level file operations.
FM | FileManage |
---|---|
Location | 8095fcbc |
Pointer | 80578260 (static) | aka r13 (=8057c6a0 ) - 0x4440 |
Size | 0x840 |
Methods:
80013af0
| ?? (usually run after a file operation)
80014610
| copy
800146d0
| delete
80014770
| save
800153d0
| ??
80014610: void FM::copy() {
cf.fileCopy(this[0x835], this[0x834]);
cf->selectedFileNo = this[0x834];
this->FUN_80013af0();
cf._u0[0] = 1;
}
800146d0: void FM::delete() {
cf.fileClearA(); // 0 → FA
cf.fileSaveSelected-2(); // FA → FS
this->FUN_80013af0();
cf._u0[0] = 1;
}
80014770: void FM::save() {
if (this[0x82c] == 0 && cf.errorFlag != 1 && cf->_u0[4] != 0) {
if (cf->_u0[1] == 1) {
cf.fileA[0x53ad] = 0;
cf.fileSaveSelected();
this->FUN_80013af0();
cf._u0[0] = 1;
} else {
cf.fileSaveSelected();
cf._u0[0] = 1;
this->FUN_80012d00();
this[0x838] = 1;
}
}
}
Link
An object representing Link.
Link | |
---|---|
Location | (variable) |
Pointer | 805789ec , 80578a18 (static, seem identical) |
Size | ? |
offset | size | description |
---|---|---|
ba | [2] | θ (facing angle) |
c0 | [4] | x (position) |
c4 | [4] | y (position) |
c8 | [4] | z (position) |
13e | [2] | vθ (movement angle) |
Misc
Another object:
?? | ?? |
---|---|
Location | 809553ac |
Pointer | 80578338 (static) | aka r13 (=8057c6a0 ) - 0x4368 |
Size | ≤0xb0 |
Methods | 80052e10 , 80052e60 , etc. |
80004204
–F
: 12B of free space for cheat-code flags
Heap starts at 809511e4
?
Commits: some higher-level wrapping fn calls:
802e1900 v [higher level]
800c0820 loading zone post-load routine?
- 800bfcb0 story flags
- 800bfdd0 inv flags
- 800c0060 heartbeat
800bfba0