Back from independent testing with another more experienced modder, and there is definitely some strangeness here, but it is not WeiDU. I double checked the syntax, and I am following the correct procedure, here:
devSin is (drumroll, please...) right as always!
It is the other way around. All of the .cre entries that I manually set using the tp2 code above give the correct value in DLTCEP (-1). I was just starting the unnessesary-but-done-because-I-am-a-neat-freak blank-via-tp2, and closer examination shows that I was getting this error message on a number of the creature files, but not all of them; and the exact offsets were ones untouched by the tp2. So the problem is not the WRITE_LONG, but the original .cres. I opened them up, and...
somewhere along the line, someone "blanked" some of the sound references manually. It could even have been me (it has been a long summer with lost of new things to learn
). So the problem is the original creature files, which I will set up to properly blank using
WRITE_LONG MORALE (BNOT 0x0).
Please, for the non-mathematicians and beginner coders (like me)... why does SAY #-1 equal {offset} 2147483647 ? I thought I had learned the bit about hex offset vs. hexidecimal value vs. decimal value vs. string reference vs. weidu constant vs. ids entry vs. 2da entry...
I guess I was wrong.