Jump to content


Photo

[Fixed] Problem in AR9000 and gnome slave


  • Please log in to reply
5 replies to this topic

#1 Hoppy

Hoppy

    Mage Hunter

  • Member
  • 2107 posts

Posted 26 December 2009 - 08:15 PM

Hi,

Great mod so far and I may have a botched install but ti is good for my testing purposes. I freed the gnome guy from all the orcs goblins and he doesn't start dialog, I have to do it. His dialog looks like he should yell for help and he doesn't have a shout script. This is minor.

My AR9000 is not responding to the create item that is in AGGNOM01.DLG. It says to create an amber gem in container 1 but the container doesn't have it. I looked at the container in the area file and it looks really weird as most containers have a name but this doesn't (maybe negligible). When I open the area file in NI it says

Hole:AR9000 off: 2eb0h len: 44

and any attempts of me editing the area result in nulling and destroying it.


I don't know what else to look at but I want to mention just in case there is an incompatibility somewhere or coding error. My debug says only errors were with the reduced gold from dialogs which failed and was previously mentioned.


Oh... unused bytes fro AR9000 =

ef 11 a4 0a f8 11 9a 0a 01 12 9f 0a 03 12 a5 0a 04 12 cd 0a 0d 12 d2 0a 0d 12 d9 0a c1 07 e0 0c f2 07 fb 0c f2 07 c8 0c c1 07 ac 0c


One more info nugget:

Mods affecting AR9000.ARE:
00000: /* from game biffs */ ~SETUP-BGT.TP2~ 0 0 // Baldur's Gate Trilogy - Core 1.05b
00001: /* from game biffs */ ~SETUP-NTOTSC.TP2~ 0 0 // NTotSC for BGT-Weidu v1.60 Mod
00002: /* from game biffs */ ~SETUP-BGTTWEAK.TP2~ 0 11 // TuTu-style levelled spawns
00003: /* from game biffs */ ~AURORA/SETUP-AURORA.TP2~ 0 0 // Aurora's Shoes and Boots
00004: /* from game biffs */ ~SETUP-BGTMUSIC.TP2~ 0 0 // Full Baldur's Gate and Tales of the Sword Coast Music

Edited by Hoppy, 27 December 2009 - 08:59 AM.

?May God defend me from my friends; I can defend myself from my enemies.? - Voltaire

"If you think that a size of the mod indicates an amount of bugs that it introduces and their severity you're totally wrong...
Try not to use next time a load of shitty "super-mega-improving-tweaking-revising" small mods that you have installed and try to meet Wulfgar once again."
- King Diamond


Posted Image The Definitive Guide to Trolls

"Finding food and a place to sleep is your own business. I imagine Paul the Cat should have some fun with you, too" - Potencius in The Darkest Day
"You have been warned, little bastard!" -Khelben to a young <CHARNAME>in Check the Bodies
There are those who will snivel, and offer nothing in return except criticism, meanwhile never lifting a finger to do other than to cut other peoples labor down simply for the fact that they lack the capability to put anything of their own together. -erebusant

#2 Miloch

Miloch

    Barbarian

  • Modder
  • 6573 posts

Posted 27 December 2009 - 11:41 AM

I freed the gnome guy from all the orcs goblins and he doesn't start dialog, I have to do it. His dialog looks like he should yell for help and he doesn't have a shout script. This is minor.

This is intentional. He's been a prisoner for some time and doesn't really expect help, though of course he wants to be freed. Anyway, he's chained up, so you have to approach him and free him - he shouldn't be able to come to you. I suppose we could add a DisplayStringHead() or something, but he's probably afraid to cry out when there are goblins present (which are exceedingly cruel to gnomes).

My AR9000 is not responding to the create item that is in AGGNOM01.DLG. It says to create an amber gem in container 1 but the container doesn't have it. I looked at the container in the area file and it looks really weird as most containers have a name but this doesn't (maybe negligible). When I open the area file in NI it says

Hole:AR9000 off: 2eb0h len: 44

I can confirm this is getting buggered on BWP somehow, though the same code works on Tutu (only difference is the area name). Probably something with vertices not getting updated properly, which is a serious pain in the arse. GeN1e claimed here to have an ADD_AREA_CONTAINER macro, which I'd be happy to use instead, provided a) it works and b) it's roughly the same amount or less code than currently included and c) it works. This is another macro that should really be built into WeiDU, considering there's already an ADD_AREA_REGION_TRIGGER which is similar, but probably even more arcane.

Assuming it doesn't crash your area though (apparently not) this is minor gameplay-wise, as you can just CLUA in the item in question. I don't think it's essential for any quests.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#3 Hoppy

Hoppy

    Mage Hunter

  • Member
  • 2107 posts

Posted 27 December 2009 - 01:11 PM

One thing that is worth noting is that the door added by NTotSC is no more so there may be a bigger incompatibility. I have no problem CLUA the item or add it to a creature but the door to AR9001 is not accessible any more. It goes to AR9001 where Haeball is in that little tower and it appears to be added as a travel trigger with the stair icon, not coded in as an actual door in the area if that helps.

Thanks man!

EDIT: The area doesn't crash but if I restore a backup before the container is added and try to add the container myself with NI or DLTCEP, the whole area goes to s@#! and DLTCEP freaks out and crashes when I try to load the edit. To me something may have screwed it previously.


EDIT2: I see what you are saying with the dialog but I noticed 2 triggers in the dialog for SEE and they never get used.

Edited by Hoppy, 27 December 2009 - 01:31 PM.

?May God defend me from my friends; I can defend myself from my enemies.? - Voltaire

"If you think that a size of the mod indicates an amount of bugs that it introduces and their severity you're totally wrong...
Try not to use next time a load of shitty "super-mega-improving-tweaking-revising" small mods that you have installed and try to meet Wulfgar once again."
- King Diamond


Posted Image The Definitive Guide to Trolls

"Finding food and a place to sleep is your own business. I imagine Paul the Cat should have some fun with you, too" - Potencius in The Darkest Day
"You have been warned, little bastard!" -Khelben to a young <CHARNAME>in Check the Bodies
There are those who will snivel, and offer nothing in return except criticism, meanwhile never lifting a finger to do other than to cut other peoples labor down simply for the fact that they lack the capability to put anything of their own together. -erebusant

#4 Miloch

Miloch

    Barbarian

  • Modder
  • 6573 posts

Posted 27 December 2009 - 02:32 PM

The area doesn't crash but if I restore a backup before the container is added and try to add the container myself with NI or DLTCEP, the whole area goes to s@#! and DLTCEP freaks out and crashes when I try to load the edit. To me something may have screwed it previously.

I wouldn't try to do it with NI, but I can add a container and vertices manually with DLTCEP, save it and load the file fine. I don't have exactly the same mods, but just about (BGT, NTotSC, BG2 Tweaks, BGT Music and BGSpawn). Even without Aurora (but with those other mods) DLTCEP does complain about "Trigger region #1 (FW29000 [718.859]) has invalid bounding box, possibly damaged polygon" which I think is part of the spawn system. And a bunch of invalid creature references (such as RDBG185) also for spawns, but BGT must be able to resolve those somehow... anyway they shouldn't really affect this issue, though invalid triggers might. Not sure how NTotSC patches the area, but the macro code looks like it may have come from Ascension64. Not that I'm blaming him, normally his code is fine, but it would be essentially the same code we use in Aurora to add the container.

EDIT2: I see what you are saying with the dialog but I noticed 2 triggers in the dialog for SEE and they never get used.

They (should) get used. The first block triggers if he still sees enemies (goblins) around, conditions under which he can't feasibly be set free. The second See() block triggers if there are no enemies (i.e. they're all dead, charmed, etc.). You're probably better off looking at the raw .d file than trying to look at the compiled .dlg with an editor.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#5 Hoppy

Hoppy

    Mage Hunter

  • Member
  • 2107 posts

Posted 27 December 2009 - 05:47 PM

Cool! I will talk to him again in that scenario when I fix the area and do the quest again. I have had better luck with area editing with DLTCEP but maybe because I did something in NI first made it buggy. Also I did notice all those errors too about the travel regions, spawns, etc. It is hard to tell what actually creates a problem and what doesn't in these cases.

Thanks!

EDIT: I edited it and it works great now. I must have had a series of brain farts through that whole ordeal. Hope you can fix it for the next release :coolthumb:

Edited by Hoppy, 27 December 2009 - 06:27 PM.

?May God defend me from my friends; I can defend myself from my enemies.? - Voltaire

"If you think that a size of the mod indicates an amount of bugs that it introduces and their severity you're totally wrong...
Try not to use next time a load of shitty "super-mega-improving-tweaking-revising" small mods that you have installed and try to meet Wulfgar once again."
- King Diamond


Posted Image The Definitive Guide to Trolls

"Finding food and a place to sleep is your own business. I imagine Paul the Cat should have some fun with you, too" - Potencius in The Darkest Day
"You have been warned, little bastard!" -Khelben to a young <CHARNAME>in Check the Bodies
There are those who will snivel, and offer nothing in return except criticism, meanwhile never lifting a finger to do other than to cut other peoples labor down simply for the fact that they lack the capability to put anything of their own together. -erebusant

#6 erebusant

erebusant

    It takes a village...

  • Modder
  • 2109 posts

Posted 08 January 2010 - 10:15 PM

The area doesn't crash but if I restore a backup before the container is added and try to add the container myself with NI or DLTCEP, the whole area goes to s@#! and DLTCEP freaks out and crashes when I try to load the edit. To me something may have screwed it previously.

I wouldn't try to do it with NI, but I can add a container and vertices manually with DLTCEP, save it and load the file fine. I don't have exactly the same mods, but just about (BGT, NTotSC, BG2 Tweaks, BGT Music and BGSpawn). Even without Aurora (but with those other mods) DLTCEP does complain about "Trigger region #1 (FW29000 [718.859]) has invalid bounding box, possibly damaged polygon" which I think is part of the spawn system. And a bunch of invalid creature references (such as RDBG185) also for spawns, but BGT must be able to resolve those somehow... anyway they shouldn't really affect this issue, though invalid triggers might. Not sure how NTotSC patches the area, but the macro code looks like it may have come from Ascension64. Not that I'm blaming him, normally his code is fine, but it would be essentially the same code we use in Aurora to add the container.

EDIT2: I see what you are saying with the dialog but I noticed 2 triggers in the dialog for SEE and they never get used.

They (should) get used. The first block triggers if he still sees enemies (goblins) around, conditions under which he can't feasibly be set free. The second See() block triggers if there are no enemies (i.e. they're all dead, charmed, etc.). You're probably better off looking at the raw .d file than trying to look at the compiled .dlg with an editor.

The travel region code is solid. Same code used throughout Worldmap .tph's and every other mod I've worked with that adds travel regions. Here's some functional container adding code if your interested. I used it in my version of Domains of Dread
COPY_EXISTING ~ARDEM.ARE~ ~override~

READ_LONG 0x54 "actors_offset"

READ_SHORT 0x58 "actors_num"

READ_SHORT 0x5a "infotrig_num"

READ_LONG 0x5c "infotrig_offset"

READ_LONG 0x60 "spawns_offset"

READ_LONG 0x64 "spawns_num"

READ_LONG 0x68 "entrances_offset"

READ_LONG 0x6c "entrances_num"

READ_LONG 0x70 "cont_offset"

READ_SHORT 0x74 "cont_num"

READ_SHORT 0x76 "items_num"

READ_LONG 0x78 "items_offset"

READ_LONG 0x7c "vert_offset"

READ_SHORT 0x80 "vert_num"

READ_SHORT 0x82 "amb_num"

READ_LONG 0x84 "amb_offset"

READ_LONG 0x88 "vars_offset"

READ_LONG 0x8c "vars_num"

READ_LONG 0xa0 "expbmp_offset"

READ_LONG 0xa4 "doors_num"

READ_LONG 0xa8 "doors_offset"

READ_LONG 0xac "anim_num"

READ_LONG 0xb0 "anim_offset"

READ_LONG 0xb4 "tiled_num"

READ_LONG 0xb8 "tiled_offset"

READ_LONG 0xbc "songs_offset"

READ_LONG 0xc0 "rest_spawns_offset"

READ_LONG 0xc4 "automap_offset"

READ_LONG 0xc8 "automap_num"

SET info_1=1

FOR( cnt=0; cnt<"%cont_num%"; cnt=cnt+1 ) BEGIN //containers loop

READ_ASCII ("%cont_offset%"+0xc0*cnt) "cont_name" (16)

PATCH_IF (("%info_name%" STRING_COMPARE_CASE "Rillifane Statue")=0) BEGIN //if already exists

info_1=0

END

END

PATCH_IF (info_1=1) BEGIN //adding 1 new container***************************

SET offset = ("%cont_offset%"+0xc0*"%cont_num%") //adding 1 new container

INSERT_BYTES offset 0xc0

WRITE_ASCII offset ~Rillifane Statue~

WRITE_SHORT (offset+0x20) 375 //location X

WRITE_SHORT (offset+0x22) 518 //location Y

WRITE_SHORT (offset+0x24) 7 //altar

WRITE_SHORT (offset+0x38) 281 //bounding box left

WRITE_SHORT (offset+0x3a) 541 //bounding box top

WRITE_SHORT (offset+0x3c) 336 //bounding box right

WRITE_SHORT (offset+0x3e) 579 //bounding box bottom

WRITE_LONG (offset+0x40) "%items_num%" //1st item index

WRITE_LONG (offset+0x44) 0 //empty

WRITE_ASCII (offset+0x48) ~DEMOPORT~ //trap script

WRITE_LONG (offset+0x50) "%vert_num%" //1st vertex index

WRITE_SHORT (offset+0x54) 4 //vertices number

SET "cont_num" = "%cont_num%" + 1

WRITE_SHORT 0x74 "%cont_num%"

SET "info_ext"=0xc0

PATCH_IF ("%actors_offset%">="%cont_offset%") BEGIN

"actors_offset"="%actors_offset%"+"%info_ext%"

WRITE_LONG 0x54 "%actors_offset%"

END

PATCH_IF ("%spawns_offset%">="%cont_offset%") BEGIN

"spawns_offset"="%spawns_offset%"+"%info_ext%"

WRITE_LONG 0x60 "%spawns_offset%"

END

PATCH_IF ("%entrances_offset%">="%cont_offset%") BEGIN

"entrances_offset"="%entrances_offset%"+"%info_ext%"

WRITE_LONG 0x68 "%entrances_offset%"

END

PATCH_IF ("%infotrig_offset%">="%cont_offset%") BEGIN

"infotrig_offset"="%infotrig_offset%"+"%info_ext%"

WRITE_LONG 0x5c "%infotrig_offset%"

END

PATCH_IF ("%items_offset%">="%cont_offset%") BEGIN

"items_offset"="%items_offset%"+"%info_ext%"

WRITE_LONG 0x78 "%items_offset%"

END

PATCH_IF ("%vert_offset%">="%cont_offset%") BEGIN

"vert_offset"="%vert_offset%"+"%info_ext%"

WRITE_LONG 0x7c "%vert_offset%"

END

PATCH_IF ("%amb_offset%">="%cont_offset%") BEGIN

"amb_offset"="%amb_offset%"+"%info_ext%"

WRITE_LONG 0x84 "%amb_offset%"

END

PATCH_IF ("%vars_offset%">="%cont_offset%") BEGIN

"vars_offset"="%vars_offset%"+"%info_ext%"

WRITE_LONG 0x88 "%vars_offset%"

END

PATCH_IF ("%expbmp_offset%">="%cont_offset%") BEGIN

"expbmp_offset"="%expbmp_offset%"+"%info_ext%"

WRITE_LONG 0xa0 "%expbmp_offset%"

END

PATCH_IF ("%doors_offset%">="%cont_offset%") BEGIN

"doors_offset"="%doors_offset%"+"%info_ext%"

WRITE_LONG 0xa8 "%doors_offset%"

END

PATCH_IF ("%anim_offset%">="%cont_offset%") BEGIN

"anim_offset"="%anim_offset%"+"%info_ext%"

WRITE_LONG 0xb0 "%anim_offset%"

END

PATCH_IF ("%tiled_offset%">="%cont_offset%") BEGIN

"tiled_offset"="%tiled_offset%"+"%info_ext%"

WRITE_LONG 0xb8 "%tiled_offset%"

END

PATCH_IF ("%songs_offset%">="%cont_offset%") BEGIN

"songs_offset"="%songs_offset%"+"%info_ext%"

WRITE_LONG 0xbc "%songs_offset%"

END

PATCH_IF ("%rest_spawns_offset%">="%cont_offset%") BEGIN

"rest_spawns_offset"="%rest_spawns_offset%"+"%info_ext%"

WRITE_LONG 0xc0 "%rest_spawns_offset%"

END

PATCH_IF ("%automap_offset%">="%cont_offset%") BEGIN

"automap_offset"="%automap_offset%"+"%info_ext%"

WRITE_LONG 0xc4 "%automap_offset%"

END

//adding 4 new vertices for container

SET offset = ("%vert_offset%"+0x04*"%vert_num%")

INSERT_BYTES offset (0x04*4)

WRITE_SHORT offset 336

WRITE_SHORT (offset+2) 560

WRITE_SHORT (offset+4) 313

WRITE_SHORT (offset+6) 541

WRITE_SHORT (offset+<img src='http://www.shsforums.net/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='8)' /> 281

WRITE_SHORT (offset+10) 558

WRITE_SHORT (offset+12) 305

WRITE_SHORT (offset+14) 579

SET "vert_num"="%vert_num%"+4

WRITE_SHORT 0x80 "%vert_num%"

SET "info_ext"=0x04*4

PATCH_IF ("%actors_offset%">="%vert_offset%") BEGIN

"actors_offset"="%actors_offset%"+"%info_ext%"

WRITE_LONG 0x54 "%actors_offset%"

END

PATCH_IF ("%spawns_offset%">="%vert_offset%") BEGIN

"spawns_offset"="%spawns_offset%"+"%info_ext%"

WRITE_LONG 0x60 "%spawns_offset%"

END

PATCH_IF ("%entrances_offset%">="%vert_offset%") BEGIN

"entrances_offset"="%entrances_offset%"+"%info_ext%"

WRITE_LONG 0x68 "%entrances_offset%"

END

PATCH_IF ("%cont_offset%">="%vert_offset%") BEGIN

"cont_offset"="%cont_offset%"+"%info_ext%"

WRITE_LONG 0x70 "%cont_offset%"

END

PATCH_IF ("%items_offset%">="%vert_offset%") BEGIN

"items_offset"="%items_offset%"+"%info_ext%"

WRITE_LONG 0x78 "%items_offset%"

END

PATCH_IF ("%infotrig_offset%">="%vert_offset%") BEGIN

"infotrig_offset"="%infotrig_offset%"+"%info_ext%"

WRITE_LONG 0x5c "%infotrig_offset%"

END

PATCH_IF ("%amb_offset%">="%vert_offset%") BEGIN

"amb_offset"="%amb_offset%"+"%info_ext%"

WRITE_LONG 0x84 "%amb_offset%"

END

PATCH_IF ("%vars_offset%">="%vert_offset%") BEGIN

"vars_offset"="%vars_offset%"+"%info_ext%"

WRITE_LONG 0x88 "%vars_offset%"

END

PATCH_IF ("%expbmp_offset%">="%vert_offset%") BEGIN

"expbmp_offset"="%expbmp_offset%"+"%info_ext%"

WRITE_LONG 0xa0 "%expbmp_offset%"

END

PATCH_IF ("%doors_offset%">="%vert_offset%") BEGIN

"doors_offset"="%doors_offset%"+"%info_ext%"

WRITE_LONG 0xa8 "%doors_offset%"

END

PATCH_IF ("%anim_offset%">="%vert_offset%") BEGIN

"anim_offset"="%anim_offset%"+"%info_ext%"

WRITE_LONG 0xb0 "%anim_offset%"

END

PATCH_IF ("%tiled_offset%">="%vert_offset%") BEGIN

"tiled_offset"="%tiled_offset%"+"%info_ext%"

WRITE_LONG 0xb8 "%tiled_offset%"

END

PATCH_IF ("%songs_offset%">="%vert_offset%") BEGIN

"songs_offset"="%songs_offset%"+"%info_ext%"

WRITE_LONG 0xbc "%songs_offset%"

END

PATCH_IF ("%rest_spawns_offset%">="%vert_offset%") BEGIN

"rest_spawns_offset"="%rest_spawns_offset%"+"%info_ext%"

WRITE_LONG 0xc0 "%rest_spawns_offset%"

END

PATCH_IF ("%automap_offset%">="%vert_offset%") BEGIN

"automap_offset"="%automap_offset%"+"%info_ext%"

WRITE_LONG 0xc4 "%automap_offset%"

END

END //main info_1

BUT_ONLY_IF_IT_CHANGES //******************************************************** ~ARDEM.are~


Edited by erebusant, 08 January 2010 - 10:16 PM.

It takes a village...