Hey, please take a look on this screen, there's something I would like to know.
Can you tell me what exactly does this mean ?
1049 = max strings the map can handle ?
1025 = currently created (existing) strings ?
78.3% = how many created strings are being used in triggers ?
Is this right ? Or wrong ?
None.
We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch
you got the counts right, but % is total chars of the string section used (max 65535)
Thank you, that was exactly what I have been trying to figure out
Well, this string limit is kinda annoying, but I can still recycle lots of them.
None.
1049 = max strings the map can handle ?
No, maps can technically have more strings by changing around things in the STR section (the 'numStrings' value tops off at 65535, but the theoretical is lowered 32768 strings due to each string offset taking 2 bytes, each of which would have to be messily coded into the string offsets themselves; what I like to think of as the true max (where the string section is 'proper' as in strings are all 1 character and NUL terminated, no sub-string recycling, no repeated strings, no use of metadata as string data) at 16384 strings).
That's mostly useless info though, all you'll usually need to know is max 65535 bytes+(length of longest string (must be placed in last slot for this to work))-1 is all the string data you can have, and that SCMDraft tends to gets weird when you start using more than 1024 in a map (likes to shout out string corruption and stuff).
1025 = currently created (existing) strings ?
Yep
TheNitesWhoSay - Clan Aura -
githubReached the top of StarCraft theory crafting 2:12 AM CST, August 2nd, 2014.
Math + Physics + StarCraft = Zoan
So, just to be clear, I could have, say, 2000 strings (assuming SCMDraft2, obvi.) only as long as the total amount of bytes due to those strings is under (2^16)-1 bytes? Or am I understanding this totally wrong?
OR is it like this: 1049 # of strings is the MAX # of strings, AND (2^16)-1 Bytes is the MAX number of Bytes? (Allowing either to be a limiting factor)
Post has been edited 2 time(s), last time on Mar 7 2014, 9:17 pm by Zoan.
Max bytes is the major limiting factor, a properly formatted string section will work like this:
Number of bytes used = 2+3*numStrings+numCharacters
(that's 2 bytes for numStrings and 2 for each string offset, 1 for each NUL character)
Max bytes (normal) = 65535
Max bytes (using last-string trick) = 65535+sizeOfLastString-1
You can have 2000 strings, but don't be surprised if SCMDraft behaves funny
Post has been edited 2 time(s), last time on Mar 7 2014, 9:36 pm by jjf28.
TheNitesWhoSay - Clan Aura -
githubReached the top of StarCraft theory crafting 2:12 AM CST, August 2nd, 2014.