News: 11 March 2016 - Forum Rules

Author Topic: Shining Force II Limit Characters  (Read 831 times)

VladimirColossal

  • Jr. Member
  • **
  • Posts: 2
    • View Profile
Shining Force II Limit Characters
« on: October 17, 2021, 09:42:44 am »
Hello. How to modife Shining Force II limit maximum characters was 15 or 20, but not 12. If you can with instructions.

FAST6191

  • Hero Member
  • *****
  • Posts: 3344
    • View Profile
Re: Shining Force II Limit Characters
« Reply #1 on: October 17, 2021, 10:31:50 am »
Characters on a menu list, characters in the text box, playable characters in the game itself?

Most usually want to edit menus or text boxes so I will assume that. It can be quite a different thing even if they are both text; fixed length menus work a different way to more dynamic text boxes.

It is generally not an easy task either.
In the text handler there will usually be something that indicates what the end of a text line/box is. Whether this is a hard limit in the case of fixed length menus where it just takes every 12 or so bytes or something that deals in pointers or some kind of markup in the text (if this start new line sort of thing) you first start by having to find that and figure out how its underlying code works.
In the case of fixed length text for menus you probably get to redo the whole menus -- if it is normally grabbing 12 bytes at location 0, 12, 24, 36, 48... bytes then suddenly making it 15 or 20 (neither of which are particularly useful in a coding environment*) means you are going to have overlap.

In the case of more conventional text then yeah time to figure out when a game decides to start a new line. If you are lucky then the game will be purely pointer based and it might accept you making them longer by yourself. At that point you probably get to figure out how to extend the text box background graphics, though you will probably have to do that for 99% of games you expand the displayed text length size for.

Actually you might want to look up guides on how to implement variable width fonts as it is essentially the same problem, or at least faces it when making one.


*there is a reason many things in computing are multiples of 8 or powers of 2 (1,2,4,8,16,32,64,128,256,512,1024...)

So for my money there are two approaches to figuring this out.
1) Use of graphics system to work backwards to figure out how it makes the numbers it feeds said graphics system** for the location (quite quick as it is usually not so many steps between things here)
2) Finding text in the ROM and following that forwards through the code as it gets read and turned into something that can be displayed on screen (bit slower than graphics but still a very viable method, and might include some other info you want to know, especially if you want to add more characters to decode in your hack)

**text happens in one of three ways on a console
i) Uses the background/BG area of graphics or whatever it is called on your given system. If you listen to the device makers and look at most games then this is what should be being used as BG is designed to cover large areas and usually has the options for it.
ii) Uses the sprites. Not the suggested method (sprites are not usually designed to cover large areas and the amount of things that can be handled is minimal) but has been seen in a handful of games, and might be used for smaller things.
iii) Text as graphics. Usually reserved for more decorative text approaches, or things in the game world.
You then get to look up the hardware for your system, figure out which method is being used (there is a reason emulators feature bg/map viewers and sprite/obj viewers), set relevant breakpoints for anything twiddling those locations or handling the screen position of them (in Nintendo consoles sprites tend to be handled by the obj(ect) area memory aka OAM but sega stuff varies in what they call it) and then find the thing that says to add whatever width to the text location each time until end of line is reached and then edit that to read more.




In the case you want to add a bunch more playable characters then actually the above stuff tends to come back in, except it is even more abstract.


Other than the pointers thing you are not likely to get an answer of "change this byte from this to this and there you go", and even if you do then one or more of the things above will have gone into it to get you to that point. It is also not something many hackers do without specific intent or find by accident as most are content to work within the limits.

Possible alternative if it is for a menu or something smaller. Pseudo variable width font. If a character is 16x8 or something you might be able to get thin characters with multiple in one tile or multiple across a couple of tiles. For instance l (that is lower case L for those with odd fonts in their browser), i, j,1 and such are often noted as at least being able to be thin characters compared to w, m and most others. To this end things like hello might be able to be shortened a bit into a 4 character in the game word but display as 5. This you do by finding the font and graphical editing along with basic text editing. I would not do this for a whole game but some have done things like it to save space at times.

VladimirColossal

  • Jr. Member
  • **
  • Posts: 2
    • View Profile
Re: Shining Force II Limit Characters
« Reply #2 on: October 17, 2021, 11:45:05 am »
I mean Shining Force II I can select for playing just 12 characters from 30. For example: I would like have team: Bowie, Sarah, Kazin, Slade, Jaha, Peter, May, Sheela, Karna, Taya, Chester, Lemon, Gerhalt, Rick, Tyrin (15) but game give me select just 12.
May be you can do this modification if I will sent you my Shining Force 2 game's file?

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 7255
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: Shining Force II Limit Characters
« Reply #3 on: October 17, 2021, 07:27:15 pm »
Sorry but that's not how we do things.

We aim to teach the user how to do things themselves.
There is one thread where it is allowed to ask others to do things.
http://www.romhacking.net/forum/index.php?topic=3282.0

But I'll tell you that is unlikely somebody else will just do it.
Almost certainly one reason the game has a limit to how many characters you may use at once is RAM limits.
Adding more characters without corrupting other data is not likely to be a simple job.
"My watch says 30 chickens" Google, 2018

FAST6191

  • Hero Member
  • *****
  • Posts: 3344
    • View Profile
Re: Shining Force II Limit Characters
« Reply #4 on: October 18, 2021, 09:18:24 am »
As above this sort of thing without source code to a game would rank among the harder hacks, or be assumed to be such without evidence otherwise. This also presumes the AI is not going to be troubled by this; you might be lucky as this is megadrive and they will be primed to only go for the nearest person in range but at the same time the same thing with the fixed length stuff I mentioned above I would not be surprised to encounter where the AI selects from things within a range* and thus you get to find out that and fix it. There is also the difficulty issue as most maps are designed to trouble your coverage, counter options, be balanced enough in the damage per unit such that it poses a challenge**. That might be mitigated by tweaking stats either for the enemies or yourself but it is another area to play with.

*whether it has a unit limit per map and just assigns them a "team" value or the player and the AI is separate I don't know, there are perks to both, and if it is the unit limit approach then you might be able to steal some of the unit count from the AI and give it to your team (though we are back to the stats problem).

**though I suppose not amazingly well and any dev doing well there today I am still impressed by, never mind 16 bit era.

If there is a PC fan game, or open source game you could adapt the art to then that would be a better choice. Don't think I have ever seen a Shining Force fan game though, and while I have played a few open source turn based strategy games then I am not aware of any that would make a particularly good base for this sort of thing (though I have certainly not played anywhere close to all of them).