Quote from Lanthanide
I found a minor display bug in the emulator / SCR.
The following map works correctly in 1.16.1, but displays a bug in SCR. http://www.staredit.net/sc1db/file/4030/
If you select the Dark Archon and hover your mouse over Mind Control, you'll see in SCR that it has a spurious "tack Move" in green at the end of the string, that does not appear in 1.16.1. The problem seems to be when the stat_tbl editing ends on a 4-byte boundary, that the terminating <0> is ignored. See imgur for example of SCR buggy display vs 1.16.1 working display. It's not related to the Korean characters, that's just what I happen to have in this string. I've had it occur with fully english strings too.
https://imgur.com/a/PEwWY
The following map works correctly in 1.16.1, but displays a bug in SCR. http://www.staredit.net/sc1db/file/4030/
If you select the Dark Archon and hover your mouse over Mind Control, you'll see in SCR that it has a spurious "tack Move" in green at the end of the string, that does not appear in 1.16.1. The problem seems to be when the stat_tbl editing ends on a 4-byte boundary, that the terminating <0> is ignored. See imgur for example of SCR buggy display vs 1.16.1 working display. It's not related to the Korean characters, that's just what I happen to have in this string. I've had it occur with fully english strings too.
https://imgur.com/a/PEwWY
Ok, I debugged the problem. It has nothing to do with alignment. The string table for the stat_txt that your EUD map is patching is buggy. While SC1.16.1 is happy with it, SC:R validates all the string offsets.
There's one offset at 0x68C3:
Quote
000068C0: BE EE 00 ^^77-03 42 75 79-20 03 57 01-65 61 70 6F ╛ε w♥Buy ♥W☺eapo
The next string in the string table is at 0x68C8:
Quote
000068C0: BE EE 00 77-03 42 75 79-^^20 03 57 01-65 61 70 6F ╛ε w♥Buy ♥W☺eapo
The offset 0x68C8 is a remnant from the old stat txt that was originally pointing to:
Quote
000068C0: 63 6B 20 55-6E 69 74 00-^41 74 74 61-63 6B 20 54 ck Unit Attack T
To fix your map, update that offset (at 0x72C). Cutting a string with \0 is not enough for SC:R in certain situations.
Quote
00000720: 78 68 85 68-91 68 98 68-A4 68 B7 ^68-C8 68 D4 68 xhàhæhÿhñh╖h╚h╘h
To decommision a string, have it point to offset 0xb000 then it should become empty but valid string.
Please let me know.