Do we know how do commands send text to the battle message marquee?
The text is stored at 0x009AD1E0 where I assume it is picked up for later use.
I give in trying to make it work over the limit.
00419a62
0041D0D5
00419A62
Those are important parts of how it places the data into the window.. but even if you know how to change it all it is probably more hassle than it is worth.
At least you can now display the box even when enemy has more than limit.
You're off by a little bit. The trouble is in 0x0041D090, but the value gets limited further down starting at 0x0041D1B5. and 0x00419A62 is called by text code EB which displays the name of an item, not a number.
I agree with DLPB that it's more trouble than it's worth.
Here's the problem: While examining 0x009AD1E0 during a sense it stored the data like this:
ED 00 05 <Name of Actor in slot 5>
EF FF FF <Letter (blank in this case)>
00 <Space>
00 <Space>
2C 45 56 45 4C 1A "Level:"
EC 00 0E <Number value 14>
00 <Space>
FF <\n>
28 30 1A "HP:"
EC 00 C8 <Value: 200>
0F "/"
EC 00 C8 <Value: 200>
So as you can probably see, the EC code in this context only takes a WORD value (probably signed or the limit might be 50000). This is the bottleneck of the issue. If this could be expanded to accommodate a DWORD then it would be possible to see HP values upward of 2 Bil.
When the text parser comes across EC the code at 0x00419BA5 is executed. All the text codes (EA - F1) take WORD valued arguments. If the handler for EC could be hooked (like via Aali's driver) then it could extend the value that EC is supplied in order to make it accept a DWORD value. Rewriting the exe is probably out of the question since it's going to require a lot of additional code to work right.
Comes down to five things (in order of complexity starting from most basic):
1. Extend the limit at 0x5CA10F. If you don't want to go through the hassle of the next few steps then you're limited to a 65535 HP cap. That's not so bad, but it doesn't really allow many more enemies to be sensed.
2. The scene.bin might need to be altered. Any String Display AI that might use this function. Occurs in 0% of vanilla-flavored scene.bin, but a custom one might have this.
3. The KERNEL.BIN or kernel2.bin would need to be changed to reflect this. Specifically, the Battle Text. There's only 11 places where this occurs.
4. 0x0041D090 would need to be rewritten to write DWORD values (again, with some kind of hook).
5. The handler for EC should be hooked (it's a jump, not a function call) and extended to allow for the extended text length.
There you go. Problem solved*.
*Untested