ROM Hack Discussion Fire Emblem: Three Houses General Hacking

  • Thread starter Thread starter Ultimos54
  • Start date Start date
  • Views Views 1,709,721
  • Replies Replies 3,836
  • Likes Likes 35
i know our first priority is to make the cheats for version 1.10 but felt like i should report that the injectable characters can not be imported on the save editor it gives a message about invalid file size can we have a solution for that?
i dont know if this will work with everyone, but the character file for v1.0.2 is 220 bytes, the new version character files for v1.1.0 is 24B, so i tested this by addng enough 00 to make a previous sothis injectable file from 220 to 24B and it work....i dont know what the extra 0 are for, my guess is the extra classes and character supports?
Edit: I found out I still to match 0x88 and 1xDC. When I get back home I will update the char.zip if no one beats me to it
 
Last edited by Gamerjin,
ok, for those using the new editor but get the wrong filesize error when importing, try these. note i did remove anna, as she is now actually in the game....
Edit: while I did match 0x88 and 1xDC, I don't know if something else has changed, so if while playing as imported character something went wrong, pm me which character and what was wrong
 

Attachments

Last edited by Gamerjin,
It has come to my attention that some of the codes I've posted are not working sometimes, such as the XP and skill booster or the inf mat code.
if that's the case, try these first, then let me know...

1) restart the game and use only that code. (and if this works, then use method 2 or 3 to fix it)
2) Use the line 400X0000 00000000 00000000 where the X is the code register (0 most likely for the ASM hacks)
3) change the code to use a different register.
Code:
[Inf Materials/Gifts on]
40000000 00000000 00000000  <-- method 2
04000000 003bc5a8 4B1F014A
04000000 003bc5d8 4B1F014A

[Inf Materials/Gifts on]   
040F0000 003bc5a8 4B1F014A <--method 3
040F0000 003bc5d8 4B1F014A <--method 3
 
Last edited by Gamerjin,
@Falo I think I got why all NG+ record is overwritten by the new Save Editor. I checked the Player data definition and found out that you have commented out some of the variables which are supposed to fill up the remaining bytes of Player data.

I then tried to replace those commented variables with one variable new_game_plus_related with the exact amount of 2391 bytes to fill up the remaining bytes. Now the NG+ record has come back as expected.

Hope you can also check to see if this will fix the bug totally. So far I can use the editor normally again.

Code:
[StructLayout(LayoutKind.Sequential, Pack = 1, Size = SIZE)]
public struct Player
{
  public const int SIZE = 0x1EC8;
  public const int COUNT_SUPPORT = 270;

  [MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x18)]
  public byte[] field_0;

  [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  public CharacterDataPart1[] OnlineCharacter; //0x18

  [MarshalAs(UnmanagedType.ByValArray, SizeConst = 48)]
  public byte[] field_888; //0x888

  [MarshalAs(UnmanagedType.ByValArray, SizeConst = 48)]
  public byte[] field_8B8; //0x8B8

  [MarshalAs(UnmanagedType.ByValArray, SizeConst = 48)]
  public byte[] field_8E8; //0x8E8

  [MarshalAs(UnmanagedType.ByValArray, SizeConst = 48)]
  public byte[] field_918; //0x918

  [MarshalAs(UnmanagedType.ByValArray, SizeConst = 232)]
  public byte[] field_948; //0x948

  [MarshalAs(UnmanagedType.ByValArray, SizeConst = 200)]
  public Battalion[] Battalions; //0xA30

  public uint Playtime, Money, field_1078, Chapter;

  [MarshalAs(UnmanagedType.ByValArray, SizeConst = COUNT_SUPPORT)]
  public ushort[] CharacterSupportValues;

  public byte Difficulty, Gamestyle, Route, field_1283, MapID;

  [MarshalAs(UnmanagedType.ByValArray, SizeConst = 272)]
  public byte[] field_1285;

  [MarshalAs(UnmanagedType.ByValArray, SizeConst = 223)]
  public byte[] MiscItems; //0x1395

  [MarshalAs(UnmanagedType.ByValArray, SizeConst = 225)]
  public byte[] GiftItems; //0x1474

  [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2391)]
  public byte[] new_game_plus_related; // Fill up all the remaining bytes in Player class

  /*
  [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
  public byte[] field_1555;
  [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
  public short[] field_155A;
  [MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
  public short[] field_175A;
  [MarshalAs(UnmanagedType.ByValArray, SizeConst = 1860)]
  public byte[] field_1782;
  public short field_1EC6;
  */

  public string GetPlaytime()
  {
    return $"{Playtime / 3600}:{Playtime % 3600 / 60}";
  }
}
 
Last edited by nhannaruto,
The injectable characters you provided are working now,can you take a look at few more to see if you can fix them up for the new version of the save editor
 

Attachments

The injectable characters you provided are working now,can you take a look at few more to see if you can fix them up for the new version of the save editor
I'm not at home right now, but I can take a look at it.
Edit: I must say I'm impressed, this list might take me a little time, of course I also got work. So, the closest time I can modify them is in about 8 hours.
 
What language are cheats written in? If I'm getting completely ignored here I might as well learn how to fix my problems myself.
 
What language are cheats written in? If I'm getting completely ignored here I might as well learn how to fix my problems myself.
I'm sorry if you think I was ignoring you. I don't know what to for in the save file, I do better with memory manipulation....
As for the cheats, they aren't written in a specific language, but by this manual:
https://sx.xecuter.com/download/cheathacker_guide.txt
However, may I ask why you think cheats will help you with hex editing a system save file?

-Sent from my phone-
 
Last edited by Gamerjin,
However, may I ask why you think cheats will help you with hex editing a system save file?

Finally someone notices me! Even if no one knew the solution to my problem, I wish they'd have just said that sort of thing hadn't been explored yet.
...and that's why I turned to cheats, honestly. As I said, I just want to change what "system" thinks the last three save slots are, and since I couldn't figure out how to edit that file I thought I could write a cheat that forcibly rewrote it instead, if that makes any sense.

Thanks for replying! Really :)

P.S. I'm getting an error accessing your link: "Error code: SSL_ERROR_RX_RECORD_TOO_LONG". Is that common?
 
Finally someone notices me! Even if no one knew the solution to my problem, I wish they'd have just said that sort of thing hadn't been explored yet.
...and that's why I turned to cheats, honestly. As I said, I just want to change what "system" thinks the last three save slots are, and since I couldn't figure out how to edit that file I thought I could write a cheat that forcibly rewrote it instead, if that makes any sense.

Thanks for replying! Really :)

P.S. I'm getting an error accessing your link: "Error code: SSL_ERROR_RX_RECORD_TOO_LONG". Is that common?
that's weird. no, it was supposed to be a text file. I'll upload it here....
 

Attachments

@Kaede_
when I said original byte I work best when i have the 4 bytes before and after it to compare, because the search for
1A93A668 gave me a couple of results, not just 2. i would have need the other byte for comparison. to that end i had to uninstall everything, reinstall the game and update v.1.0.2 to get the bytes i need to compare. After this, i dont how long my luck will hold for update asm codes, i been lucky so far...

Code:
[ALL ability point +1 level up(On)]
04000000 003a9bac F1001D1F
04000000 003a9ca8 11000539
04000000 003a9e34 11000539
04000000 003a8f64 F1001F1F
04000000 003a9020 11000668
04000000 003a9220 11000668

[ALL ability point +1 level up(Off)]
04000000 003a9bac F100251F
04000000 003a9ca8 1A89D539
04000000 003a9e34 1A89D539
04000000 003a8f64 F100271F
04000000 003a9020 1A93A668
04000000 003a9220 1A93A668

[Inf Materials/Gifts on]
04000000 003bc5a8 4B1F014A
04000000 003bc5d8 4B1F014A

[Inf Materials/Gifts off]
04000000 003bc5a8 0B02014A
04000000 003bc5d8 4B02014A
@Moonmaxi ,
Can you test inf materials for me?
thx,i found another all stats+1 code for 1.1.0, do u know how to turn off it?
Code:
[+1 to all Stats with growth rate>0 on Levelup]
04000000 003A9010 2A1403E0
04000000 003A9210 2A1403E0
 
thx,i found another all stats+1 code for 1.1.0, do u know how to turn off it?
[+1 to all Stats with growth rate>0 on Levelup]
04000000 003A9010 2A1403E0
04000000 003A9210 2A1403E0

Looking at sxos memory viewer:
Code:
[random rate on Levelup]
04000000 003A9010 2A1703E0
04000000 003A9210 2A1703E0
How did you find that?
 
@Tsebe ,
First, Thank you for the boss inject. Second, i have them so that they are injectable, but there are a few issues....
  • Death knight's Class i had to re-hack (as this was a problem the first time)
  • Death Knight and Rodrigue suffer from some glitch where if you don't dismount -> mount. the game crashes if they go into combat.
  • Even if you do the fix for DK and Rodney(nicknames) if anyone goes into combat, they go back to a glitched stated.
  • Gatekeeper has no presence, literally. he's a shadow indication that someone should but isn't.
  • the village child........wth? he's WAY OVERPOWERED, seriously!!
  • should i even ask how you manage to kidnapped child Dimitri? (and yes i am joking with you on this)
 

Attachments

Last edited by Gamerjin,
Can someone please update the change gender code? I was able to use them before the latest update, now it crashes the game on latest update.

[Byleth Male]
580F0000 019D76F0
780F0000 00000668
610F0000 00000000 00000000

[Byleth Female]
580F0000 019D76F0
780F0000 00000668
610F0000 00000000 00000001
 
Can someone please update the change gender code? I was able to use them before the latest update, now it crashes the game on latest update.
All you need to do is change the pointer

[Byleth Male]
580F0000 01ABAF60
780F0000 00000668
610F0000 00000000 00000000

[Byleth Female]
580F0000 01ABAF60
780F0000 00000668
610F0000 00000000 00000001

That should fix it...
 
  • Like
Reactions: Sergiopal
All you need to do is change the pointer

[Byleth Male]
580F0000 01ABAF60
780F0000 00000668
610F0000 00000000 00000000

[Byleth Female]
580F0000 01ABAF60
780F0000 00000668
610F0000 00000000 00000001

That should fix it...

Thank you :D! It works
 
ok, for those using the new editor but get the wrong filesize error when importing, try these. note i did remove anna, as she is now actually in the game....
Edit: while I did match 0x88 and 1xDC, I don't know if something else has changed, so if while playing as imported character something went wrong, pm me which character and what was wrong

what do you mean by while playing as imported character.
 

Site & Scene News

Popular threads in this forum