Author Topic: Strange behavior: blanking sound references  (Read 2258 times)

Offline cmorgan

  • Planewalker
  • *****
  • Posts: 1424
  • Gender: Male
  • Searcher of Bugs
Strange behavior: blanking sound references
« on: August 24, 2006, 04:13:29 PM »
Well, somewhere along the line, I included the following entries for blanking unwanted sound references on COPY_EXISTING and COPY. I have had this explained to me several times, so I apologise, but what I want is these strings referenced by editors as the default vale, e.g. in NI, "-1".

Code: [Select]
WRITE_LONG MORALE (BNOT 0x0)
compiling this and opening up the .cre does have a "no such index", but certainly is not the expected -1;
in hex, it is ff ff ff 7f; in decimal 255 255 255 127, in binary 11111111 11111111 11111111 01111111;

it lists as string number 2147483647.

Please help me figure out what tp2 line to place for blanking these references; somehow I keep half-understanding.

Offline Grim Squeaker

  • Fallen
  • Planewalker
  • *****
  • Posts: 1019
  • Gender: Male
Re: Strange behavior: blanking sound references
« Reply #1 on: August 24, 2006, 05:08:15 PM »
I'd just do:

Code: [Select]
SAY ~~
Or I guess until that WeiDU sound bug is fixed I guess you'd actually want something like (just to make sure you don't get some random injury string):

Code: [Select]
SAY ~[BLANK]~
« Last Edit: August 24, 2006, 05:09:47 PM by Grim Squeaker »
"You alone can make my song take flight..."

Offline cmorgan

  • Planewalker
  • *****
  • Posts: 1424
  • Gender: Male
  • Searcher of Bugs
Re: Strange behavior: blanking sound references
« Reply #2 on: August 24, 2006, 05:29:10 PM »
now why didn't I think of that... ??? That means that the easy way to make sure that each and every entry for your Tutu creature is set correctly regardless of install is to do this (before TRA), especially on a COPY_EXISTING, but as an example...
Code: [Select]
COPY ~BG1NPC/Phase2/CRE/X#KABAND.CRE~ ~override~
SAY NAME1 ~Caravan Bandit Leader~
SAY NAME2 ~Caravan Bandit Leader~

SAY INITIAL_MEETING ~[FEMALE THREAT 5] Methinks you'll be pushing up daisies before the eve is through.~ [_GENFT05]
SAY MORALE ~~
SAY HAPPY ~~
SAY UNHAPPY_ANNOYED ~~
SAY UNHAPPY_SERIOUS ~~
SAY UNHAPPY_BREAKING ~~
SAY LEADER ~~
SAY TIRED ~~
SAY BORED ~~
SAY BATTLE_CRY1 ~[FEMALE THREAT 2] Looks like I'll be ending your life where you stand.~ [_GENFT02]
SAY BATTLE_CRY2 ~[FEMALE THREAT 4] Your end shall be quick, if you let it.~ [GENFT04]
SAY BATTLE_CRY3 ~[FEMALE THREAT 4] Your end shall be quick, if you let it.~ [GENFT04]
SAY DAMAGE ~[ABELA 3]~ [_ABELA03]
SAY DYING ~[ABELA 4]~ [_ABELA04]
SAY HURT ~~
SAY AREA_FOREST ~~
SAY AREA_CITY ~~
SAY AREA_DUNGEON ~~
SAY AREA_DAY ~~
SAY AREA_NIGHT ~~
SAY SELECT_COMMON1 ~~
SAY SELECT_COMMON2 ~~
SAY SELECT_COMMON3 ~~
SAY SELECT_COMMON4 ~~
SAY SELECT_COMMON5 ~~
SAY SELECT_COMMON6 ~~
SAY SELECT_ACTION1 ~~
SAY SELECT_ACTION2 ~~
SAY SELECT_ACTION3 ~~
SAY SELECT_ACTION4 ~~
SAY SELECT_ACTION5 ~~
SAY SELECT_ACTION6 ~~
SAY SELECT_ACTION7 ~~
SAY SELECT_RARE1 ~~
SAY SELECT_RARE2 ~~
SAY CRITICAL_HIT ~~
SAY CRITICAL_MISS ~~
SAY TARGET_IMMUNE ~~
SAY INVENTORY_FULL ~~
SAY PICKED_POCKET ~~
SAY HIDDEN_IN_SHADOWS ~~
SAY SPELL_DISRUPTED ~~
SAY SET_A_TRAP ~~
SAY BIO ~~
WRITE_ASCII 0x34 ~XKBANDS~ #8 //small portrait
WRITE_ASCII 0x0248 ~X#KABND2~ #8 // Creature script - Override
WRITE_ASCII 0x0250 ~NONE~ #8 // Creature script - Class
WRITE_ASCII 0x0258 ~NONE~ #8 // Creature script - Race
WRITE_ASCII 0x0260 ~NONE~ #8 // Creature script - General
WRITE_ASCII 0x0268 ~_TASIGHT~ #8 // Creature script - Default
WRITE_BYTE 0x270 ~128~ //Allegiance = Neutral
WRITE_ASCII 0x280 ~X#KABAND~ #32// death variable
WRITE_ASCII 0x2CC ~X#KABAND~ #8// dialog
ADD_CRE_ITEM ~X#SILSH~ #0 #0 #0 ~IDENTIFIED~ ~INV5~

Does it matter that the engine will have a string entry of blank now? I assume the engine automatically skips invalid strrefs, but here the engine will be pulling a string entry (just a vacant one).

WeiDU v195 works fine TRAing a file with player sounds; it simply refuses to TRA them:
after TRA, tp2 code remains
Code: [Select]
SAY NAME2 @136
SAY LEADER ~~ [FEMALE4B]
SAY TIRED ~~ [FEMALE4C]

funny thing is, the TRA file skips the numbers as if they were actual entries. The problem with the sound refernce stuff those guys were talking about is exact match text strings (so pretty rare..) pretty much ~Yes?~ ~No?~ etc.
« Last Edit: August 24, 2006, 05:36:54 PM by cmorgan »

Offline cmorgan

  • Planewalker
  • *****
  • Posts: 1424
  • Gender: Male
  • Searcher of Bugs
Re: Strange behavior: blanking sound references
« Reply #3 on: August 24, 2006, 08:49:51 PM »
would
SAY MORALE #-1 work? I think Andyr sugessted it to me early on, but BNOT0 looked so cool :)

Offline Grim Squeaker

  • Fallen
  • Planewalker
  • *****
  • Posts: 1019
  • Gender: Male
Re: Strange behavior: blanking sound references
« Reply #4 on: August 25, 2006, 04:34:08 AM »
would
SAY MORALE #-1 work? I think Andyr sugessted it to me early on, but BNOT0 looked so cool :)

I imagine that would work, yes.
"You alone can make my song take flight..."

Offline devSin

  • Planewalker
  • *****
  • Posts: 1632
  • Gender: Male
Re: Strange behavior: blanking sound references
« Reply #5 on: August 25, 2006, 01:32:57 PM »
No. Say #-1 will write 2^31 - 1, or (drum roll) 2147483647.

Given the BNOT code you posted, there's no way on a fine August day that it should ever write anything other than -1. I have no idea why you're getting a 31-bit value. Make sure you're not trying to SAY or write some other value to the same field at some later point.

Offline cmorgan

  • Planewalker
  • *****
  • Posts: 1424
  • Gender: Male
  • Searcher of Bugs
Re: Strange behavior: blanking sound references
« Reply #6 on: August 25, 2006, 01:59:55 PM »
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.

Offline cmorgan

  • Planewalker
  • *****
  • Posts: 1424
  • Gender: Male
  • Searcher of Bugs
Re: Strange behavior: blanking sound references
« Reply #7 on: August 25, 2006, 02:36:53 PM »
Actually, before anyone explains anything, i am going to stop blanking creature sounds and wait a bit, because...


almost all of the creatures in my Tutu install have the 2147483647 string reference for every sound in the soundset that is supposed to be blank!

Fresh install of EasyTutu_TOB, no mods:

most characters have <invalid strref> and an error  "please enter an integer between 1 and 10000000" (or something like that). I tested random stock actors, and most of them have this value
  1. MORALE                <Invalid Reference>  String reference  2147483647

instead of the expected
  1. MORALE                <Not Available>  String reference -1 
that i have on creatures added in with tpo2 patching via BG1NPC.

Paging Macready, perhaps?

Offline devSin

  • Planewalker
  • *****
  • Posts: 1632
  • Gender: Male
Re: Strange behavior: blanking sound references
« Reply #8 on: August 25, 2006, 03:02:52 PM »
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...
Because WeiDU uses 31-bit ints, and this is the largest value you can get with 31 bits. I believe Wes said somewhere that it's an OCaml thing.

As long as the player doesn't have 2147483647 strings in dialog.tlk, the game doesn't care. The behavior will be the same if you use 2147483647 or 4294967296 (-1).

Offline cmorgan

  • Planewalker
  • *****
  • Posts: 1424
  • Gender: Male
  • Searcher of Bugs
Re: Strange behavior: blanking sound references
« Reply #9 on: August 25, 2006, 04:45:54 PM »
got it... so the editors will gerenate error messages and keep that annoying "please enter an integer" message each time I work with one of these files (it asks once for each of the many strrefs :( ) but I can safely leave this behavior alone. It will not have an unwanted in-game effect for a player's install.

As a side note, I am glad it wasn't me... the creatures this shows up on are the COPY_EXISTING created creatures where we have not blanked the strrefs via tp2. I will just go back and do a blanket rebuild of each COPY_EXISTING in the tp2 and make sure those are done with the WRITE_LONG entries for the unwanted offsets.

Offline Avenger_teambg

  • Planewalker
  • *****
  • Posts: 399
Re: Strange behavior: blanking sound references
« Reply #10 on: August 26, 2006, 05:30:52 AM »
which editor?

Offline cmorgan

  • Planewalker
  • *****
  • Posts: 1424
  • Gender: Male
  • Searcher of Bugs
Re: Strange behavior: blanking sound references
« Reply #11 on: August 26, 2006, 07:52:28 AM »
DLTCEP has nice little popup fields on edits that chime and remind you to put in a valid strref... a feature that has saved me from typos on more than one occasion.


Just to add to the scope of this (meaningless in-game but annoying nonetheless)...

ALL original, untouched .cres on my EasyTutu installation have this 2147483647 instead of -1. I think the Tutu conversion process itself must set this up; any creature i create using COPY_EXISTING has more strref problems than ones the project created from scratch.

c'est la vie, c'est la meme chose. I guess if there is no potential for editors or game installs to have problems with this, it is one of those behind-the-scenes things that is not worth "fixing".

Offline Ghreyfain

  • Moderator
  • Planewalker
  • *****
  • Posts: 4705
  • Gender: Male
    • Pocket Plane Group
Re: Strange behavior: blanking sound references
« Reply #12 on: August 27, 2006, 02:00:24 AM »
Actually I think it's BG1, not any conversion or mod, that does this. BG2 used -1 for its blank strref.

I'm going to go check this now...

Edit: Okay, my mistake. They use strref 0, which is "Someone disturbs me?!?  I have no time to talk with you <CHARNAME>.  Don't take it personally, I'm just a very busy man."

I knew it was something other than -1, but couldn't remember if it was 14981743295872349587 (or whatever) or what.

Regardless, a string of 093856430596830495862938475823745 shouldn't affect anything.

...Unless you have BGT-BP-NeJ-AfdlkjertASDFtoirgtDRF v5.7j installed, in which case your dialog.tlk is probably the size of King Kong.
« Last Edit: August 27, 2006, 02:03:17 AM by Ghreyfain »
Earn Money Sleeping.

Offline cmorgan

  • Planewalker
  • *****
  • Posts: 1424
  • Gender: Male
  • Searcher of Bugs
Re: Strange behavior: blanking sound references
« Reply #13 on: August 27, 2006, 12:00:39 PM »
I am happy with the current state of affairs, then; as long as nothing chokes, this is purely cosmetic, and I am the only person to notcice it (or else it would have been posted a long time ago). Thank you for double-checking, Ghreyfain; I am working strictly on (Easy)Tutu, so it is fine. If it ticks me off that much, Baronius has a tool built that blanks strrefs above 500 000 to -1, and I could run it on all the .cres in my install and stop whining!

 Although it is interesting to note that BG1 had a common statement; a huge task, but some silly detail to add to some mod sometime to set "Yo, don't talk to me, I got nuttin to say" lines appropriate to the characters in Tutu. Something to doodle on during interminable faculty meetings, I guess...

Offline SimDing0

  • Back In Black
  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3496
  • Gender: Male
  • Word Enhancer
Re: Strange behavior: blanking sound references
« Reply #14 on: August 27, 2006, 12:04:48 PM »
Having an extremely high strref instead of -1 might be problematic for, say, spells which shouldn't display any text, since you'll get:

<CHARNAME> -

No?

Offline Ghreyfain

  • Moderator
  • Planewalker
  • *****
  • Posts: 4705
  • Gender: Male
    • Pocket Plane Group
Re: Strange behavior: blanking sound references
« Reply #15 on: August 27, 2006, 12:48:18 PM »
Beats me.
Earn Money Sleeping.

Offline cmorgan

  • Planewalker
  • *****
  • Posts: 1424
  • Gender: Male
  • Searcher of Bugs
Re: Strange behavior: blanking sound references
« Reply #16 on: August 28, 2006, 08:21:23 AM »
Well, just to be sure, the fix for Easytutu is easy (Macready, I'll send you a pm referencing this post) -

Baronius tossed together a fixit tool and posted it on the BG1NPC gerneral forum; http://forums.gibberlings3.net/index.php?s=&showtopic=7401&view=findpost&p=63995

It works quickly and efficiently, wirth a mask for .cre files and the opportunity to change the range of strings you are looking for. It is a drag to file containing .cre files, drop, and fire tool, so if Macready tosses his EasyTutu override for ETT_SoA and _ToB there, it is handled for most new english-using folks; for non-english modders who use Tutu v4 it just means finding and using the tool. If there is a potential problem for Tutu and BG2, we might as well stop it before it becomes a problem for someone rather than just a minor annoyance for me.

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
What color is grass?:
What is the seventh word in this sentence?:
What is five minus two (use the full word)?: