After pulling my hair out for a couple dozen hours, I did it! This allows for an extra 97 saved player units than before by killing the link arena, or an extra 51 if leaving the link arena alone.
When the player has >45 units in their party, additional units are sent to storage upon saving. They can be accessed through the preparations menu. This is compatible with or without SkillSys, and it does not touch your EMS configuration. (Conveniently, EMS does not touch the last 5,860 bytes of SRAM.) It also uses the 0x2028 bytes in the debug printing buffer at 0x2026E30 during the prep screen.
This uses global flag 0xEB to init SRAM used. This way I can ensure old save files won’t try and show any junk data as units. I also added an ASMC: EnsureUnitInParty(unitID). This needs to be used in your cutscenes that use that unit ID once your party has >45 units, as otherwise they could be hidden away in storage and common commands like GetUnitStatus or LOAD wouldn’t find them.
Shoutouts to @Eebit, @Mokha, and anyone else who helped decompile various preparations menu functions. I couldn’t have done this without their amazing work.
When you leave preparations, it should look like this. You can then load up to 62 units at a time and whenever you save, units past the 45th slot will be saved separately. There’s space for an extra 97 units to be saved this way and they are accessible via preparations.
@ everyone else - I added a global flag to be used to init sram to 0. I’ve set 0xEB as the default. This way I can ensure old save files won’t try and show any junk data as units.
I also added an ASMC: EnsureUnitInParty(unitID). This needs to be used in your cutscenes that use that unit ID once your party has >45 units, as otherwise they could be hidden away in storage and common commands like GetUnitStatus or LOAD wouldn’t find them.
Hoy there! While absolutely stellar, there is a bit of a weird thing with the unit expansion thing, it seems if you hide a character from the party with the ‘REMU’ command or just use the party swap thing it’ll end up ignoring that so you can still just use them anyway.
Lily was hidden with REMU, Max, Kiri and Adil are ‘Ephraim’s party’
This also ended up happening when scrolling to those four as well in the item management menu.
Maybe tomorrow I’ll have proper time to? I’ll let you know whenever I may!
huh neat got a bit of time today.
So if you kill characters (And don’t clear them) you’re they can also appear in the item management and when picking units. I had three dead characters and it seemed to only show one at a time, with whichever it showed cycling after selecting the currently visible one which’d also make that one disappear.
This also happens with Innes for whatever reason.
Hey, just thought I’d let you know that after trying this patch, it seems that it causes enemy status staff users to go crazy and run all across the map to get right next to your unit (presumably to achieve the highest accuracy condition). They moved way beyond their movement range through impassable terrain (peaks) and even went to occupy the space taken up by another enemy.
Pressing B on a unit will open their status screen
Too many people playing pokemblem never find their R button, so I’ve made it so that pressing B will also open the status screen (R still opens it, too). These same people complain that they cannot see the damage they will deal, or that they cannot see the opponent’s HP, so there are some things I just cannot make easier for them.
//BYTE $84 // Start instead of B
Just noting that since releasing this, pokemblem playtesting has helped me catch a few bugs with this hack. I just fixed a serious one this morning that can lead to an eventual game crash. For me, it was after changing an enemy to a player and acting with it, but it might have happened elsewhere, too. It was because I used memset instead of InitUnits which led to some new units having no deployment id. In any case, you should update to the latest version of this hack if you’re using it.
Makes a variety of things faster if you are holding A/B or if you have flag 0xEA on.
The following is sped up: LevelUps, GotItem, GotGold, Poison, Vuln Animation, Ai Target Cursor, Summon Anim, LightRuneSpawn Anim, Exp Bar, Various delays between rounds, Movement, and “BMX Fade” (apparently fog related, but it takes 16 frames after every action).
Note that the faster ai decision making part is not included. It makes the ai prefer closer targets over dealing the highest dmg and is only for pokemblem, as it conflicts with barricade, shade+, and steal+ and has ballistas & stealing turned off atm. If you want to use that part anyway, you’ll have to deal with those things yourself.
Also the added option “Turbo” is not included, either. You can grab it from pokemblem/patches/gameoptions if you want. Or you can just have an event that sets the flag if the player wants things sped up.
This patch does a lot of stuff, so use it at your own risk for now.