[FE7] Hide status screen of specific character/class

FE7 does not allow you to view the status screen of Natalie and wasted Nils. Why? Probably to hide the 25 CON given to their classes to prevent them from being rescued.


Disable R button to check status:

Routine at 0801C218. Return 0 in r0 to prevent viewing. Return 1 in r0 to allow viewing.

0801C21E 2849 cmp r0, #0x49
Compares class number to 0x49 (fallen child)

0801C226 289e cmp r0, #0x9e
Compares character number to 0x9E (Natalie)


Disable ability to scroll to character from within status screen:

080805C2 2a49 cmp r2, #0x49
Compares class number to 0x49 (fallen child)

080805C8 2d9e cmp r5, #0x9e
Compares character number to 0x9E (Natalie)

If there is a match, skip character.


There doesn’t seem to be any built-in methods to hide characters/classes on the screen accessed via “Unit” command. But it’s not an issue if you’re hiding the status of an enemy or NPC.

In regards to Fire Shell, it would probably be a good idea to not have these hard-coded values remain.

2 Likes

Um
There’s an ability for that in the C&C bitmap…

Hmm? I don’t see any unusual abilities for Natalie or wasted Nils.
Do you mean ability 3 0x10 (prevents controlling)? You can still view the stat screen of units with that ability.

Oh really? I never knew that prevention to access the status screen was hardcoded. You should add it to that ability or employ an array to check characters

Hehe maybe you could make a “hardcore” mode where you can’t check your enemies’ stats :wink:

I wasn’t aware that fake difficulty = hardcore
I’ll be sure to write that down.

1 Like

Rerwrite the routine to make the ability the one that determines if you can’t view the statscreen.

1 Like

That’s what I already said

necrolol fuck it

I’m trying to find somewhere to replace either 0x49 or 0x9E with 0x6E (custom class)

is there an offset somewhere that has either one of those pointers?

i thought that was it, but it doesn’t exist :<

XOR 0x8000000 from the address to get the offset

1 Like

For people unversed in the above

[10:58:44 PM] it’s an address
[10:58:44 PM] Brendor: you need to ^ 0x8000000
[10:59:22 PM] ghast: come again
[10:59:32 PM] Brendor: you need to ^ 0x8000000
[10:59:41 PM] ghast: ^
[10:59:43 PM] ghast: like
[10:59:45 PM] Brendor: 0801C21E
[10:59:56 PM] Brendor: 0x1C21E
[11:00:04 PM] ghast: OH
[11:00:05 PM] ghast: LOL
[11:00:07 PM] ghast: okie
[11:00:23 PM] Brendor: learn to binary operators
[11:00:30 PM] ghast: ask me if i give a fuck
[11:00:39 PM] ghast: about binary operators
[11:00:46 PM] Brendor: do you give a fuck about binary operators ?
[11:00:52 PM] ghast: fuck
[11:00:53 PM] ghast: no
[11:00:55 PM] ghast: :wink:

3 Likes

In other words: Just remove the 08.

08ABCDEF = Address in GBA’s memory. Use this value when working with a memory viewer or debugger.
ABCDEF = ROM offset for Nightmare and hex editors.