Miloch Posted May 8, 2008 Share Posted May 8, 2008 In cre_v1.htm, the listing at 0x00a4 has: (4*100 (Strref*100)) Strrefs pertaining to the character. Most are connected with the sound-set (see SOUNDOFF.IDS (BG1) and (SNDSLOT.IDS for (BG2)).The next listing starts at 0x0234 (level in primary class). Firstly, it'd be helpful to have links to those files (/bg1/soundoff/htm and /bg2/sndslot.ids) from that page. But more importantly, I can't find any details for that reference, namely the hex offsets for the relevant sound clips, and what they represent. I know they're somewhere, but I can't find them in the IESDP for the life of me, and NI only has "Sound: Unknown" for a good number of them that *should* be known (i.e., they have associated sound clips for a number of characters) and DLTCEP does not provide hex references. [On a minor note, it might be helpful to provide a link from ids.htm to ids/bg2/index.htm etc. (yeah I know this might be different for each game, but there could be a horizontal link across the top... like I said, a minor thing).] Cheers. Link to comment
Nythrun Posted May 8, 2008 Share Posted May 8, 2008 There aren't any offsets to the .wav files; they're referenced by the strref listed in that soundslot. Link to comment
Bearwere Posted May 8, 2008 Share Posted May 8, 2008 if you find the number of the sound from DTLCEP, what's the problem with calculating the offset you need? Link to comment
Miloch Posted May 8, 2008 Author Share Posted May 8, 2008 Eh... ok, maybe I didn't phrase that rightly or maybe I'm just being daft. What I'd like to see on the CRE page in the IESDP, instead of the vague entry at 0x00a4 is a more detailed listing of soundset offsets. So in other words, instead of: 0x00a4 4*100 (Strref*100) Strrefs pertaining to the character...I'd like to see:0x00a4 4 (dword) Sound: INITIAL_MEETING0x00a8 4 (dword) Sound: MORALE And so on. I can use NI until I get to 0x0158, which has "Sound: Unknown" in NI, even though it's linked to (for example) "[EDWIN 36] Must you crowd so close? 'Tis bad enough... blah blah blah." Incidentally, DLTCEP has "Unknown (45)" at this offset in the CRE record. Obviously, Edwin says this string (or perhaps not) in response to something, doesn't he? And it's not idle curiosity that spurs this question nor does it have anything to do with Edwin. I'm trying to reverse-engineer a non-WeiDU mod that has soundclips, most of which are neither transcribed nor documented and several of which are either mapped inappropriately or not mapped at all and need to be. Fun, eh? (Shame, really, 'cause the voice acting is quite good for the most part...) Link to comment
Bearwere Posted May 8, 2008 Share Posted May 8, 2008 Yep, that would be convenient. About the sound - it's Edwin's INSULT. Compliments and insults were used in BG1 instead of banters. They aren't used in BG2, but they do work in ToB. Actually, I have a tweak that restores them to work in BG2 (only for BGT, of course) Link to comment
Nythrun Posted May 8, 2008 Share Posted May 8, 2008 Yeah, if you want what the soundslot is used for, then that'd be the second or third of the three insult slots (not labeled in soundoff.ids, so there's no official ids token for it). No idea how the engine decides which to run in BG, they may not all be used. Link to comment
Miloch Posted May 8, 2008 Author Share Posted May 8, 2008 Yep, that would be convenient. About the sound - it's Edwin's INSULT.Well I guess since the previous slot is INSULT then that should be INSULT1 and this should be INSULT2 and the next "unknown" is INSULT3. No longer unknown - yay!Compliments and insults were used in BG1 instead of banters. They aren't used in BG2, but they do work in ToB. Actually, I have a tweak that restores them to work in BG2 (only for BGT, of course)Where is this mythical mod, in the same extraplanar dimension as Nythrun's Tweaks? (Not to be confused with 'Level 1 NPCs'.)No idea how the engine decides which to run in BG, they may not all be used.Hmm. So if I'm converting a BG1 mod to the BG2 engine (Tutu, BGT), is it pointless to include them as soundsets? I don't really want to try to remap them as dialogue... Link to comment
Bearwere Posted May 8, 2008 Share Posted May 8, 2008 Well I guess since the previous slot is INSULT then that should be INSULT1 and this should be INSULT2 and the next "unknown" is INSULT3. No longer unknown - yay! yep, these are all insults. IIRC, Responces to insults are not all listed in dtlcep, too. Where is this mythical mod, in the same extraplanar dimension as Nythrun's Tweaks? (Not to be confused with 'Level 1 NPCs'.) it's, uhm, on my home computer=). I can release it..tomorrow, I think. I need a cool name for it). But I want to get Nythrun's Tweaks in return! Hmm. So if I'm converting a BG1 mod to the BG2 engine (Tutu, BGT), is it pointless to include them as soundsets? I don't really want to try to remap them as dialogue... I don't quite understand. Are you converting an NPC mod? Link to comment
Miloch Posted May 8, 2008 Author Share Posted May 8, 2008 Where is this mythical mod, in the same extraplanar dimension as Nythrun's Tweaks? (Not to be confused with 'Level 1 NPCs'.)it's, uhm, on my home computer=). I can release it..tomorrow, I think. I need a cool name for it).'Bearwere's Tweaks'? Eh, I'm sure you'll think of something... what's in a name, anyway...But I want to get Nythrun's Tweaks in return!Don't we all, don't we all... she's holding out on us. Maybe she's trying to think of a cool name too...I don't quite understand. Are you converting an NPC mod?Um, sort of... I'm helping convert DSotSC which has like, what, 6 NPCs? I know it's been done for BGT but I'm doing it for Tutu, and the BGT version isn't much of a reference when it has, say, "@20015 = ~~ [CONCHO15]" in the BGT setup.tra, and in the original I'm working off has @931 = ~[Concho15]~ [DS#CON15], and the sound clip doesn't exist for either, and I'm trying to figure out whether the 2 unmapped soundclips for Conchobhair in both versions should map to the two slots that reference an nonexistent clip, but yeah, figuring out the slot names helps somewhat, but doesn't help determine whether anyone will ever hear them in the BG2 engine... maybe I shouldn't waste my time with them if they have no effect as clips in the BG2 engine, but the voicing is actually quite good and I'm like 98% done with my bit anyway... always has to be something petty like this that hangs things up... Link to comment
Bearwere Posted May 8, 2008 Share Posted May 8, 2008 as I said, they do work, most definitely (i mean, compliments and insults, maybe you've got something else?). However, it's not just writing 2 references into .cre. You have to adjust interact.2da accordingly. Plus, there's a frame rate problem. BG1 has about 30 frames per second, while BG2 can run up to 90 frames per second. And responces to compliments/insults seems to fire after certain number of frames, based on length of the sound of compliment/insult. On high rates and long lines response to insult may fire before the end of the insult itself, overlapping. It's not crucial, but somewhat I don't like, so I had to make a component that lengthens these sounds according to framerate. Link to comment
Guest Guest Posted May 8, 2008 Share Posted May 8, 2008 dltcep uses some ids file(s) for labeling the sound slots. If you want them named correctly, modify your ids file. Link to comment
Miloch Posted May 8, 2008 Author Share Posted May 8, 2008 as I said, they do work, most definitely (i mean, compliments and insults, maybe you've got something else?).I've got one that sounds like a response_to_insult ("Hmm, I'll say I... hey, wait a minute!") and one that sounds like a react_to_die_general/specific ("Well *sigh*, so much for living forever, huh?"). The latter isn't a "dying" clip since one is already mapped there, but they could go in the other slots mentioned (only one of which is occupied in both cases, of more than one slot).However, it's not just writing 2 references into .cre. You have to adjust interact.2da accordingly. Plus, there's a frame rate problem. BG1 has about 30 frames per second, while BG2 can run up to 90 frames per second. And responces to compliments/insults seems to fire after certain number of frames, based on length of the sound of compliment/insult. On high rates and long lines response to insult may fire before the end of the insult itself, overlapping. It's not crucial, but somewhat I don't like, so I had to make a component that lengthens these sounds according to framerate. Ach. Well, sounds a bit complicated for my poor orcish brain, but this tweak of yours certainly sounds useful, maybe even as an optional component for a mod like this converted from the BG1 to the BG2 engine, if not a standalone tweak mod.dltcep uses some ids file(s) for labeling the sound slots. If you want them named correctly, modify your ids file. Hmm, you are right, this should be perhaps a "Super Happy Modder" addition where it adds to sndslot.ids the entries: 45 INSULT2 46 INSULT3 And maybe a few more... though I'm wondering what happens in the case of the duplicate entries I see (71 EXISTANCE2, 71 SPELL_DISRUPTED) but whatever... Dunno about the NI labels, which seem erratic (sometimes they appear properly, sometimes not...) I guess I'll leave that to devSin. Not that I use NI much, except to figure out hex offsets, since DLTCEP doesn't providet that option... Though of course, all this info should all be in the IESDP anyway... Link to comment
devSin Posted May 8, 2008 Share Posted May 8, 2008 Near Infinity uses the SNDSLOT (or SOUNDOFF if that can't be found) IDS file to label these fields. If you want correct labels, you'll need to edit your IDS file to include the additional used fields (BG2 SOUNDOFF contains more slot labels than default BG/TotSC, so you could start with it). In general, you just need to add from one unknown to the next known field with numbered labels from the preceding known field (e.g., SELECT_COMMON1-2-3, EXISTENCE1-2-3, INSULT1-2-3). IIRC, the EXISTENCE fields are the last supported ones (although I'm not sure if they all work or if only the one at 0x1b8 works). The first matching entry for a particular value is used (if you have 71 EXISTENCE and 71 SPELL_DISRUPTED, NI will pick the one coming first in the file). Note also that some of the default labels in BG/TotSC's IDS are off (DIALOG_DEFAULT and DIALOG_HOSTILE, at least). Link to comment
Bearwere Posted May 8, 2008 Share Posted May 8, 2008 now when i look at it, super modder pack seems to cover pretty much all of them, only #45 and #46 are not added, they are insult2 and insult3 Link to comment
Miloch Posted May 9, 2008 Author Share Posted May 9, 2008 Ok, well here's the full list. Most of this is available elsewhere, but here it is to make it easier for igi to copy and paste into the IESDP : CRE v1 (Strrefs pertaining to the character): Offset Size (type) Description 0x00a4 4 (strref) Sound: INITIAL_MEETING 0x00a8 4 (strref) Sound: MORALE 0x00ac 4 (strref) Sound: HAPPY 0x00b0 4 (strref) Sound: UNHAPPY_ANNOYED 0x00b4 4 (strref) Sound: UNHAPPY_SERIOUS 0x00b8 4 (strref) Sound: UNHAPPY_BREAKING_POINT 0x00bc 4 (strref) Sound: LEADER 0x00c0 4 (strref) Sound: TIRED 0x00c4 4 (strref) Sound: BORED 0x00c8 4 (strref) Sound: BATTLE_CRY1 0x00cc 4 (strref) Sound: BATTLE_CRY2 0x00d0 4 (strref) Sound: BATTLE_CRY3 0x00d4 4 (strref) Sound: BATTLE_CRY4 0x00d8 4 (strref) Sound: BATTLE_CRY5 0x00dc 4 (strref) Sound: ATTACK1 0x00e0 4 (strref) Sound: ATTACK2 0x00e4 4 (strref) Sound: ATTACK3 0x00e8 4 (strref) Sound: ATTACK4 0x00ec 4 (strref) Sound: DAMAGE 0x00f0 4 (strref) Sound: DYING 0x00f4 4 (strref) Sound: HURT 0x00f8 4 (strref) Sound: AREA_FOREST 0x00fc 4 (strref) Sound: AREA_CITY 0x0100 4 (strref) Sound: AREA_DUNGEON 0x0104 4 (strref) Sound: AREA_DAY 0x0108 4 (strref) Sound: AREA_NIGHT 0x010c 4 (strref) Sound: SELECT_COMMON1 0x0110 4 (strref) Sound: SELECT_COMMON2 0x0114 4 (strref) Sound: SELECT_COMMON3 0x0118 4 (strref) Sound: SELECT_COMMON4 0x011c 4 (strref) Sound: SELECT_COMMON5 0x0120 4 (strref) Sound: SELECT_COMMON6 0x0124 4 (strref) Sound: SELECT_ACTION1 0x0128 4 (strref) Sound: SELECT_ACTION2 0x012c 4 (strref) Sound: SELECT_ACTION3 0x0130 4 (strref) Sound: SELECT_ACTION4 0x0134 4 (strref) Sound: SELECT_ACTION5 0x0138 4 (strref) Sound: SELECT_ACTION6 0x013c 4 (strref) Sound: SELECT_ACTION7 0x0140 4 (strref) Sound: INTERACTION1 0x0144 4 (strref) Sound: INTERACTION2 0x0148 4 (strref) Sound: INTERACTION3 0x014c 4 (strref) Sound: INTERACTION4 0x0150 4 (strref) Sound: INTERACTION5 0x0154 4 (strref) Sound: INSULT1 0x0158 4 (strref) Sound: INSULT2 0x015c 4 (strref) Sound: INSULT3 0x0160 4 (strref) Sound: COMPLIMENT1 0x0164 4 (strref) Sound: COMPLIMENT2 0x0168 4 (strref) Sound: COMPLIMENT3 0x016c 4 (strref) Sound: SPECIAL1 0x0170 4 (strref) Sound: SPECIAL2 0x0174 4 (strref) Sound: SPECIAL3 0x0178 4 (strref) Sound: REACT_TO_DIE_GENERAL 0x017c 4 (strref) Sound: REACT_TO_DIE_SPECIFIC 0x0180 4 (strref) Sound: RESPONSE_TO_COMPLIMENT1 [MISCELLANEOUS] 0x0184 4 (strref) Sound: RESPONSE_TO_COMPLIMENT2 0x0188 4 (strref) Sound: RESPONSE_TO_COMPLIMENT3 0x018c 4 (strref) Sound: RESPONSE_TO_INSULT1 0x0190 4 (strref) Sound: RESPONSE_TO_INSULT2 0x0194 4 (strref) Sound: RESPONSE_TO_INSULT3 0x0198 4 (strref) Sound: DIALOG_HOSTILE 0x019c 4 (strref) Sound: DIALOG_DEFAULT 0x01a0 4 (strref) Sound: SELECT_RARE1 0x01a4 4 (strref) Sound: SELECT_RARE2 0x01a8 4 (strref) Sound: CRITICAL_HIT 0x01ac 4 (strref) Sound: CRITICAL_MISS 0x01b0 4 (strref) Sound: TARGET_IMMUNE 0x01b4 4 (strref) Sound: INVENTORY_FULL 0x01b8 4 (strref) Sound: PICKED_POCKET 0x01bc 4 (strref) Sound: HIDDEN_IN_SHADOWS [EXISTANCE1] 0x01c0 4 (strref) Sound: SPELL_DISRUPTED [EXISTANCE2] 0x01c4 4 (strref) Sound: SET_A_TRAP [EXISTANCE3] 0x01c8 4 (strref) Sound: EXISTANCE4 0x01cc 4 (strref) String: BIO [EXISTANCE5] I left the "EXISTANCE" typo - dunno if fixing it is gonna break anything. Anyhow, most of them, with the exception of EXISTANCE4 (which seems unused on all the NPCs I looked at) appear to be better defined by the other labels I put before them. So maybe those can be moved up in the IDS files, via Super Happy Modder pack or whatever. I also added BIO which is not in any of the IDS files, but it's obvious and is also a WeiDU constant$. One more question while I'm here. Anyone know when the INTERACTION clips are supposed to trigger, and where they're defined? Looking at Kivan, for example, they all seem specific to Viconia. I vaguely recall seeing this definition somewhere but my brain is like grey ooze these days... Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.