String Length: There will be no real string length as they will be stored in a localization file. I guess we *can* put up a limitation of 500 or 1,000 characters or something.
Parameters: Screw negatives. We will use 0 - 99,999. I talked with Ryex about that already.
Percentages: We will use 0 - 100,000 because some percentage values can be negative. This is yet again the limit of 100,000, similar to attributes.
"The skies the limit" values": Values like that will have 999,999,999 as limit. Only level will have 999. This is basically there just to have a limit and satisfy all needs. If somebody needs high than that, then obviously they are doing something wrong.
I suggest that we put these settings into a configuration file for the editor. If somebody wants to change the limits, they can edit that file instead of having to make a script.
Limits are always reasonable. The problem with RMXP was that the limits were way too low. The imposed limit on HP to 99,999 is just wrong.
All these limits are arbitrary limits for the editor, but the user will be able to specify a game limit as well. This should be a special script that is generated internally and added to the game before running or something like that. You know, if you go over 9999 HP, that it limits the HP to 9999.
@Ryex: If you cast a signed integer into an unsigned integer, store it, load it and cast it back, everything will be fine. Unsigned and signed integers differ only in their logical ranges, the data is exactly the same. Besides that, we can always change the format and allow 64 bit integers to be stored if we need. In fact, for integers that require more than 32 bits I suggest that we use an additional type that stores the number of bytes used and then stores the value byte by byte. This makes a lot more sense to me. But generally I think we should disallow that somebody exceeds 32 bits in the editor.
[sarcasm-counter]Savegames are still stored in Marshal format.
[/sarcasm-counter]