Author Topic: BETA 2 Download  (Read 43704 times)

Offline icelus

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3173
  • Gender: Male
BETA 2 Download
« on: April 30, 2006, 12:52:02 PM »
Alright, I've fixed most of the bugs from the first BETA, added some of Salk's and devsin's suggestions, and compromised on the store issues. 

Hopefully this beta will have far fewer bugs and will install without issue on non-TotSC installations.

Try and use this thread for bugs from BETA 2 installations only, though.  If you're still using BETA 1, that thread is still around, just not stickied.
<Moongaze> Luckily BWL has a very understanding and friendly admin.

Offline LoneRogue

  • RPGA & Squadron Member
  • Planewalker
  • *****
  • Posts: 40
  • Gender: Male
  • ~ Master Gamer ~
Re: BETA 2 Download
« Reply #1 on: May 01, 2006, 10:16:58 AM »
Hey Icelus,

Before I install this version, did you make compatible with FotD?

Thanks,
LoneRogue
"I Find Your Lack of Faith Disturbing..."

Offline icelus

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3173
  • Gender: Male
Re: BETA 2 Download
« Reply #2 on: May 01, 2006, 10:55:46 AM »
I don't know.  That's why you guys are testing it.  I've made changes to whatever bugs have been found so far.
<Moongaze> Luckily BWL has a very understanding and friendly admin.

Offline Salk

  • Planewalker
  • *****
  • Posts: 873
Re: BETA 2 Download
« Reply #3 on: May 01, 2006, 11:15:51 AM »
Icelus,

since Echon is soon releasing version 1.05 I thought to test UB Beta 2 in the new platform as people would no longer have 1.04 on their systems. We will have to postpone a bit the release but perhaps in the meantime you can work on the TuTu version...

Offline Echon

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1944
  • Gender: Male
    • The Fields of the Dead
Re: BETA 2 Download
« Reply #4 on: May 01, 2006, 11:18:55 AM »
Heh, I doubt Icelus has suddenly made UB compatible with FotD, and I am not going to make the two magically compatible with 1.05. It contains little beyond bug fixes.

-Echon

Offline icelus

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3173
  • Gender: Male
Re: BETA 2 Download
« Reply #5 on: May 01, 2006, 11:19:16 AM »
I would like to have the public version out by next weekend.  It's been postponed long enough.
<Moongaze> Luckily BWL has a very understanding and friendly admin.

Offline Echon

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1944
  • Gender: Male
    • The Fields of the Dead
Re: BETA 2 Download
« Reply #6 on: May 01, 2006, 12:26:29 PM »
That sounds like a good idea. There is no reason to delay it because of a FotD update.

-Echon

Offline devSin

  • Moderator
  • Planewalker
  • *****
  • Posts: 1632
  • Gender: Male
Re: BETA 2 Download
« Reply #7 on: May 01, 2006, 12:31:24 PM »
u!minor1.d - The RandomNum() calls need to be die,roll (e.g., 7,n)
Code: [Select]
REPLACE_STATE_TRIGGER LAHL 1 ~Global("Kaishas1","GLOBAL",1) RandomNum(1,7) !Dead("karoug")~
REPLACE_STATE_TRIGGER LAHL 2 ~Global("Kaishas1","GLOBAL",1) RandomNum(2,7) !Dead("karoug")~
REPLACE_STATE_TRIGGER LAHL 3 ~Global("Kaishas1","GLOBAL",1) RandomNum(3,7) !Dead("karoug")~
REPLACE_STATE_TRIGGER LAHL 4 ~Global("Kaishas1","GLOBAL",1) RandomNum(4,7) !Dead("karoug")~
REPLACE_STATE_TRIGGER LAHL 5 ~Global("Kaishas1","GLOBAL",1) RandomNum(5,7) !Dead("karoug")~
REPLACE_STATE_TRIGGER LAHL 6 ~Global("Kaishas1","GLOBAL",1) RandomNum(6,7) !Dead("karoug")~
REPLACE_STATE_TRIGGER LAHL 7 ~Global("Kaishas1","GLOBAL",1) RandomNum(7,7) !Dead("karoug")~

u!totscminor.d - WeiDU has a hack to fix these, but the ActionOverride() calls are missing the closing parenthesis. You may also want to chop off the trailing Enemy() in State 4.
Code: [Select]
REPLACE KIERES
IF ~~ THEN BEGIN 3
  SAY #22049
  IF ~~ THEN DO ~Enemy()
ActionOverride("leaggu1",Enemy())
ActionOverride("leaggu1",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu2",Enemy())
ActionOverride("leaggu2",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu3",Enemy())
ActionOverride("leaggu3",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu4",Enemy())
ActionOverride("leaggu4",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu5",Enemy())
ActionOverride("leaggu5",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu6",Enemy())
ActionOverride("leaggu6",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu7",Enemy())
ActionOverride("leaggu7",AttackReevaluate(LastTalkedToBy("kieres"),8)
~ JOURNAL #23519 EXIT
END

IF ~~ THEN BEGIN 4
  SAY #22050
  IF ~~ THEN DO ~Enemy()
ActionOverride("leaggu1",Enemy())
ActionOverride("leaggu1",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu2",Enemy())
ActionOverride("leaggu2",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu3",Enemy())
ActionOverride("leaggu3",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu4",Enemy())
ActionOverride("leaggu4",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu5",Enemy())
ActionOverride("leaggu5",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu6",Enemy())
ActionOverride("leaggu6",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu7",Enemy())
ActionOverride("leaggu7",AttackReevaluate(LastTalkedToBy("kieres"),8)Enemy()~ JOURNAL #23519 EXIT
END
END

ubedie.d - I like the work you did here. You may want to change !GlobalTimerExpired in Waiting to GlobalTimerNotExpired (!GlobalTimerExpired() will also return true if the timer hasn't even been set). The way the dialogue is structured, though, it won't make any difference.
Code: [Select]
IF ~Global("GaveUBEdiePotion","GLOBAL",1)
!GlobalTimerExpired("UBEdie","GLOBAL")~ THEN BEGIN Waiting
  SAY #15175 /* ~Please be quiet. I'm trying to study.~ */
  IF ~~ THEN DO ~~ EXIT
END

ubkivan.baf - Should this have a Global("UBKivanTazokDead","GLOBAL",0) check?
Code: [Select]
IF
  InParty(Myself)
  Dead("Tazok")
THEN
  RESPONSE #100
           SetGlobal("UBKivanTazokDead","GLOBAL",1)
           ActionOverride("Kivan",Dialogue([PC]))
END

setup-bg1ub.tp2 - I don't think these guys are used, but should this be RANDFLY?
Code: [Select]
COPY_EXISTING BIRD_INE.CRE OVERRIDE
              BIRD_INN.CRE OVERRIDE
              BIRD_INS.CRE OVERRIDE
              BIRD_INW.CRE OVERRIDE
WRITE_ASCII 0x258 ~RANDWALK~
BUT_ONLY_IF_IT_CHANGES

setup-bg1ub.tp2 - Some of the item patching code in creature corrections is still using absolute offsets (around L. 1158). You can replace the code for dead2, deadfuck, drelik, jamie, lothan, and sakul with the following (ugly) code. I've already tested the patch with default TotSC; everything works as expected, and this should make these patches compatible with FotD and any other BG1 mod that may touch any of these files.
Code: [Select]
COPY_EXISTING DEAD2.CRE OVERRIDE    // Amnish Soldier (various)
              DEADFUCK.CRE OVERRIDE // Amnish Soldier (AR5403, Nashkel Mines)
              DRELIK.CRE OVERRIDE   // Drelik         (AR0010, Baldur's Gate)
              JAMIE.CRE OVERRIDE    // Jamie          (AR4805, Nashkel manor)
              LOTHAN.CRE OVERRIDE   // Lothander      (various, Baldur's Gate)
              SAKUL.CRE OVERRIDE    // Sakul          (AR5506, Catacombs)
PATCH_IF (SOURCE_SIZE > 0x2d3) BEGIN
  READ_LONG 0x2bc itemOff
  FOR (READ_LONG 0x2c0 numItem; numItem; numItem -= 0x1) BEGIN
    READ_ASCII itemOff resRef
    PATCH_IF !("%resRef%" STRING_COMPARE_CASE "SWIH04") BEGIN          // Fixes a typo (SWIH04 does not exist)
      WRITE_ASCII itemOff "SW1H04" #8          // Long Sword
    END ELSE PATCH_IF !("%resRef%" STRING_COMPARE_CASE "SCRL1J") BEGIN // Fixes a typo (SCRL1J does not exist)
      PATCH_IF !("%SOURCE_RES%" STRING_COMPARE_CASE "SAKUL") BEGIN
        WRITE_ASCII itemOff "SCRL1I" #8        // Hold Person
      END ELSE WRITE_ASCII itemOff "SCRL1L" #8 // Monster Summoning I
    END ELSE PATCH_IF !("%resRef%" STRING_COMPARE_CASE "B00T01") BEGIN // Fixes a typo (B00T01 does not exist)
      WRITE_ASCII itemOff "BOOT01" #8          // Boots of Speed
    END
    itemOff += 0x14
  END
END
BUT_ONLY_IF_IT_CHANGES

setup-bg1ub.tp2 - The morale break field is a single byte and should use WRITE_BYTE (WRITE_SHORT is just overwriting the racial enemy, though, so it doesn't make much difference). Additionally, 3 is pretty low for the break for an innocent; you may want to just flip the current values of 6 and 8 (which does occur for some innocents by default; would be WRITE_BYTE 0x23f 0x8 and WRITE_BYTE 0x240 0x6), but it's not a big deal.
Code: [Select]
COPY_EXISTING WILTON.CRE OVERRIDE
ADD_CRE_ITEM ~CLCK01~ #1 #0 #0 ~NONE~ ~INV1 INV2~ // Adds Cloak of Protection +1
WRITE_ASCII 0x2cc ~UBWILTON~                      // Assigns edited dialog file
WRITE_ASCII 0x280 ~Wilton~                        // Assigns death variable
WRITE_SHORT 0x240 0x03                            // Fix his morale setting
BUT_ONLY_IF_IT_CHANGES

A couple of the ARE patches are still using absolute offsets, but it'll take more than a couple seconds to go over them. I can do it later, if you want. Everything else appears to be fine on first glance.

Offline icelus

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3173
  • Gender: Male
Re: BETA 2 Download
« Reply #8 on: May 01, 2006, 01:02:57 PM »
Cool, I'll make these changes this evening, thanks.  :)
<Moongaze> Luckily BWL has a very understanding and friendly admin.

Offline devSin

  • Moderator
  • Planewalker
  • *****
  • Posts: 1632
  • Gender: Male
Re: BETA 2 Download (BG1UB-Readme)
« Reply #9 on: May 01, 2006, 01:04:07 PM »
K - "timefram" typo, "but was" -> "that was"?
Code: [Select]
This component, coded by SimDing0, restores him during this timefram, using dialogue from the original game release but was never implemented.P - I'd prefer this to say "oversight" instead of "overlooked bug"
Code: [Select]
Thanks to devSin, this overlooked bug from the original game is now solved.AA - "Baldur's Game" -> "Baldur's Gate"
Code: [Select]
The Original Saga, the re-release of the original Baldur's Game that included the Tales of the Sword Coast expansion, had an error regarding in-game music, which this component should correct.I actually enjoyed the read me. Very well done!

Offline icelus

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3173
  • Gender: Male
Re: BETA 2 Download
« Reply #10 on: May 01, 2006, 01:51:37 PM »
I was hoping someone would proofread the readme.  I typed it up in about an hour or so, so I figured it had some nasty typos and stuff.
<Moongaze> Luckily BWL has a very understanding and friendly admin.

Offline Salk

  • Planewalker
  • *****
  • Posts: 873
Re: BETA 2 Download
« Reply #11 on: May 01, 2006, 01:57:35 PM »
Okay! Then I will reinstall FotD 1.04 and continue betatesting so hopefully I will have it covered by the weekend...

Offline devSin

  • Moderator
  • Planewalker
  • *****
  • Posts: 1632
  • Gender: Male
Re: BETA 2 Download (ARE updates)
« Reply #12 on: May 01, 2006, 01:58:37 PM »
All tested with a clean TotSC install and confirmed as working.

AR4800 trigger string update @L:2584
Code: [Select]
COPY_EXISTING AR4800.ARE OVERRIDE // Nashkel
READ_LONG 0x5c trigOff ELSE 0x0
PATCH_IF (trigOff) BEGIN
  FOR (READ_SHORT 0x5a numTrig; numTrig; numTrig -= 0x1) BEGIN
    READ_ASCII trigOff name         // Trigger name
    READ_SHORT trigOff + 0x20 type  // Trigger type
    READ_LONG trigOff + 0x64 string // Info point StrRef
    PATCH_IF (!("%name%" STRING_COMPARE_CASE "INFO4801") &&
               (type == 0x1) && (string == 16266)) BEGIN
      SAY trigOff + 0x64 #11696 // Renames the area info trigger for the inn to say "The Northern Light"
    END
    trigOff += 0xc4
  END
END
BUT_ONLY_IF_IT_CHANGES

I think this is supposed to be EFF_P22C @L:2798 (this is what I use in Baldur's Gate II, where the same issue exists); if you listen to the WAV, it should sound obvious.
Code: [Select]
COPY_EXISTING BOLT03.ITM OVERRIDE  // Bolt of Lightning
WRITE_ASCII 0x11e ~EFF_M22B~       // Replace invalid wav file reference
BUT_ONLY_IF_IT_CHANGES
(It's supposed to be a fake projectile travel sound since Bolt Shocking is really just Bolt, but it sucks because the WAV only plays on a successful hit.)

Updating the Gullykin halfling enforcer trap scripts @L:3080, it turns out that the traps weren't being enabled. Fixed; code updated for compatibility.
Code: [Select]
COPY_EXISTING AR4002.ARE OVERRIDE // Gullykin house
              AR4008.ARE OVERRIDE // Gullykin house
              AR4010.ARE OVERRIDE // Gullykin house
READ_LONG 0x70 contOff ELSE 0x0
PATCH_IF (contOff) BEGIN
  FOR (READ_SHORT 0x74 numCont; numCont; numCont -= 0x1) BEGIN
    READ_ASCII contOff name // Container name
    PATCH_IF !("%name%" STRING_COMPARE_CASE "LCHEST") BEGIN // LChest container
      WRITE_ASCII contOff + 0x48 ACT13 #8 // Summon halfling enforcers
      WRITE_SHORT contOff + 0x2c 0x64     // Trap undetectable
      WRITE_SHORT contOff + 0x2e 0x64     // Trap unremovable
      WRITE_SHORT contOff + 0x30 0x1      // Enable trap
    END
    contOff += 0xc0
  END
END
BUT_ONLY_IF_IT_CHANGES

The fire drake traps @L:3094
Code: [Select]
COPY_EXISTING AR0512.ARE OVERRIDE // Durlag's Tower, Firedrake Statue Room
READ_LONG 0x5c trigOff ELSE 0x0
PATCH_IF (trigOff) BEGIN
  FOR (READ_SHORT 0x5a numTrig; numTrig; numTrig -= 0x1) BEGIN
    READ_ASCII trigOff name (10)   // Trigger name
    READ_SHORT trigOff + 0x20 type // Trigger type
    PATCH_IF !("%name%" STRING_COMPARE_CASE "FIREDRAKE1" || type) BEGIN
      WRITE_ASCII trigOff + 0x7c FDRAKET1 // Firedrake Trap 1, sets new script
    END ELSE
    PATCH_IF !("%name%" STRING_COMPARE_CASE "FIREDRAKE2" || type) BEGIN
      WRITE_ASCII trigOff + 0x7c FDRAKET2 // Firedrake Trap 2, sets new script
    END ELSE
    PATCH_IF !("%name%" STRING_COMPARE_CASE "FIREDRAKE3" || type) BEGIN
      WRITE_ASCII trigOff + 0x7c FDRAKET3 // Firedrake Trap 3, sets new script
    END ELSE
    PATCH_IF !("%name%" STRING_COMPARE_CASE "FIREDRAKE4" || type) BEGIN
      WRITE_ASCII trigOff + 0x7c FDRAKET4 // Firedrake Trap 4, sets new script
    END ELSE
    PATCH_IF !("%name%" STRING_COMPARE_CASE "FIREDRAKE5" || type) BEGIN
      WRITE_ASCII trigOff + 0x7c FDRAKET5 // Firedrake Trap 5, sets new script
    END ELSE
    PATCH_IF !("%name%" STRING_COMPARE_CASE "FIREDRAKE6" || type) BEGIN
      WRITE_ASCII trigOff + 0x7c FDRAKET6 // Firedrake Trap 6, sets new script
    END
    trigOff += 0xc4
  END
END
BUT_ONLY_IF_IT_CHANGES

The only thing left I see is the initial ulgoth.sto fix (~ Line 2624); this probably borks FotD. Maybe later.

Offline devSin

  • Moderator
  • Planewalker
  • *****
  • Posts: 1632
  • Gender: Male
Re: BETA 2 Download
« Reply #13 on: May 01, 2006, 02:13:46 PM »
I was hoping someone would proofread the readme.  I typed it up in about an hour or so, so I figured it had some nasty typos and stuff.
These were just the most obvious issues; I didn't want to start pointing out "Thanks, Bioware, for such an enjoyble game!" and stuff (er, yeah, actual issue; BioWare and enjoyable, plz), or complaining about dialog or alright and whatnot ;-)

Offline devSin

  • Moderator
  • Planewalker
  • *****
  • Posts: 1632
  • Gender: Male
Re: BETA 2 Download
« Reply #14 on: May 01, 2006, 03:44:34 PM »
I'm not going to submit this as a replacement, since I don't actually agree with some of the ulgoth.sto changes. Usually, items with a stock > 1 shouldn't have unlimited quantity; mundane arrows, bolts, and bullets (and sometimes darts) usually should have infinite supply (in which case the supply doesn't matter). Additionally, I really think that having an unlimited supply of scimitars and hide armor was intentional, as there are very few of these in the game (with magical variants even more rare).

The following patch corrects those items where the stock > 1 (throwing axes, all darts, spears, magical ammo), leaves scimitars, hide armor, arrows, bolts, and bullets as unlimited, and makes sure that all the items are coming up identified (some of the magic missile weapons aren't flagged). I can't test this one right now, but I doubt there's any issue with the patch; it's up to you if you want to supplement the existing code, replace it, or just ignore me. :-)
Code: [Select]
COPY_EXISTING ULGOTH.STO OVERRIDE // Ulgoth's Beard Store and Inn
PATCH_IF (SOURCE_SIZE > 0x78) BEGIN
READ_LONG 0x34 saleOff
FOR (READ_LONG 0x3c numSale; numSale; numSale -= 0x1) BEGIN
  READ_BYTE saleOff + 0x10 flag
  WRITE_BYTE saleOff + 0x10 flag | 0x1 // Mark items identified
  READ_LONG saleOff + 0x14 stock  // Amount available
  READ_LONG saleOff + 0x18 supply // (Un)limited supply
  PATCH_IF ((stock > 0x1) && supply) BEGIN
    WRITE_LONG saleOff + 0x18 0x0 // Removes infinite flag for items with in-stock numbers > 1
  END
  saleOff += 0x1c
END
END
BUT_ONLY_IF_IT_CHANGES

Done. Assuming it all installs, I'd say it's ready for release when you are.

Offline Salk

  • Planewalker
  • *****
  • Posts: 873
Re: BETA 2 Download
« Reply #15 on: May 02, 2006, 10:15:08 AM »
I can confirm no installation errors on a platform including Baldurdash, Dudleyfixes, The Vault 4.0, The Fields of the Dead 1.04, BG1: In Candlelight and Beta 2

Offline Salk

  • Planewalker
  • *****
  • Posts: 873
Re: BETA 2 Download
« Reply #16 on: May 02, 2006, 10:18:02 AM »
* The component Shilo-Chen is confirmed to be working!

Offline icelus

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3173
  • Gender: Male
Re: BETA 2 Download
« Reply #17 on: May 07, 2006, 12:18:56 PM »
u!minor1.d - The RandomNum() calls need to be die,roll (e.g., 7,n)
Code: [Select]
REPLACE_STATE_TRIGGER LAHL 1 ~Global("Kaishas1","GLOBAL",1) RandomNum(1,7) !Dead("karoug")~
REPLACE_STATE_TRIGGER LAHL 2 ~Global("Kaishas1","GLOBAL",1) RandomNum(2,7) !Dead("karoug")~
REPLACE_STATE_TRIGGER LAHL 3 ~Global("Kaishas1","GLOBAL",1) RandomNum(3,7) !Dead("karoug")~
REPLACE_STATE_TRIGGER LAHL 4 ~Global("Kaishas1","GLOBAL",1) RandomNum(4,7) !Dead("karoug")~
REPLACE_STATE_TRIGGER LAHL 5 ~Global("Kaishas1","GLOBAL",1) RandomNum(5,7) !Dead("karoug")~
REPLACE_STATE_TRIGGER LAHL 6 ~Global("Kaishas1","GLOBAL",1) RandomNum(6,7) !Dead("karoug")~
REPLACE_STATE_TRIGGER LAHL 7 ~Global("Kaishas1","GLOBAL",1) RandomNum(7,7) !Dead("karoug")~

u!totscminor.d - WeiDU has a hack to fix these, but the ActionOverride() calls are missing the closing parenthesis. You may also want to chop off the trailing Enemy() in State 4.
Code: [Select]
REPLACE KIERES
IF ~~ THEN BEGIN 3
  SAY #22049
  IF ~~ THEN DO ~Enemy()
ActionOverride("leaggu1",Enemy())
ActionOverride("leaggu1",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu2",Enemy())
ActionOverride("leaggu2",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu3",Enemy())
ActionOverride("leaggu3",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu4",Enemy())
ActionOverride("leaggu4",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu5",Enemy())
ActionOverride("leaggu5",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu6",Enemy())
ActionOverride("leaggu6",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu7",Enemy())
ActionOverride("leaggu7",AttackReevaluate(LastTalkedToBy("kieres"),8)
~ JOURNAL #23519 EXIT
END

IF ~~ THEN BEGIN 4
  SAY #22050
  IF ~~ THEN DO ~Enemy()
ActionOverride("leaggu1",Enemy())
ActionOverride("leaggu1",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu2",Enemy())
ActionOverride("leaggu2",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu3",Enemy())
ActionOverride("leaggu3",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu4",Enemy())
ActionOverride("leaggu4",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu5",Enemy())
ActionOverride("leaggu5",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu6",Enemy())
ActionOverride("leaggu6",AttackReevaluate(LastTalkedToBy("kieres"),8)
ActionOverride("leaggu7",Enemy())
ActionOverride("leaggu7",AttackReevaluate(LastTalkedToBy("kieres"),8)Enemy()~ JOURNAL #23519 EXIT
END
END

ubedie.d - I like the work you did here. You may want to change !GlobalTimerExpired in Waiting to GlobalTimerNotExpired (!GlobalTimerExpired() will also return true if the timer hasn't even been set). The way the dialogue is structured, though, it won't make any difference.
Code: [Select]
IF ~Global("GaveUBEdiePotion","GLOBAL",1)
!GlobalTimerExpired("UBEdie","GLOBAL")~ THEN BEGIN Waiting
  SAY #15175 /* ~Please be quiet. I'm trying to study.~ */
  IF ~~ THEN DO ~~ EXIT
END

ubkivan.baf - Should this have a Global("UBKivanTazokDead","GLOBAL",0) check?
Code: [Select]
IF
  InParty(Myself)
  Dead("Tazok")
THEN
  RESPONSE #100
           SetGlobal("UBKivanTazokDead","GLOBAL",1)
           ActionOverride("Kivan",Dialogue([PC]))
END

setup-bg1ub.tp2 - I don't think these guys are used, but should this be RANDFLY?
Code: [Select]
COPY_EXISTING BIRD_INE.CRE OVERRIDE
              BIRD_INN.CRE OVERRIDE
              BIRD_INS.CRE OVERRIDE
              BIRD_INW.CRE OVERRIDE
WRITE_ASCII 0x258 ~RANDWALK~
BUT_ONLY_IF_IT_CHANGES

setup-bg1ub.tp2 - Some of the item patching code in creature corrections is still using absolute offsets (around L. 1158). You can replace the code for dead2, deadfuck, drelik, jamie, lothan, and sakul with the following (ugly) code. I've already tested the patch with default TotSC; everything works as expected, and this should make these patches compatible with FotD and any other BG1 mod that may touch any of these files.
Code: [Select]
COPY_EXISTING DEAD2.CRE OVERRIDE    // Amnish Soldier (various)
              DEADFUCK.CRE OVERRIDE // Amnish Soldier (AR5403, Nashkel Mines)
              DRELIK.CRE OVERRIDE   // Drelik         (AR0010, Baldur's Gate)
              JAMIE.CRE OVERRIDE    // Jamie          (AR4805, Nashkel manor)
              LOTHAN.CRE OVERRIDE   // Lothander      (various, Baldur's Gate)
              SAKUL.CRE OVERRIDE    // Sakul          (AR5506, Catacombs)
PATCH_IF (SOURCE_SIZE > 0x2d3) BEGIN
  READ_LONG 0x2bc itemOff
  FOR (READ_LONG 0x2c0 numItem; numItem; numItem -= 0x1) BEGIN
    READ_ASCII itemOff resRef
    PATCH_IF !("%resRef%" STRING_COMPARE_CASE "SWIH04") BEGIN          // Fixes a typo (SWIH04 does not exist)
      WRITE_ASCII itemOff "SW1H04" #8          // Long Sword
    END ELSE PATCH_IF !("%resRef%" STRING_COMPARE_CASE "SCRL1J") BEGIN // Fixes a typo (SCRL1J does not exist)
      PATCH_IF !("%SOURCE_RES%" STRING_COMPARE_CASE "SAKUL") BEGIN
        WRITE_ASCII itemOff "SCRL1I" #8        // Hold Person
      END ELSE WRITE_ASCII itemOff "SCRL1L" #8 // Monster Summoning I
    END ELSE PATCH_IF !("%resRef%" STRING_COMPARE_CASE "B00T01") BEGIN // Fixes a typo (B00T01 does not exist)
      WRITE_ASCII itemOff "BOOT01" #8          // Boots of Speed
    END
    itemOff += 0x14
  END
END
BUT_ONLY_IF_IT_CHANGES

setup-bg1ub.tp2 - The morale break field is a single byte and should use WRITE_BYTE (WRITE_SHORT is just overwriting the racial enemy, though, so it doesn't make much difference). Additionally, 3 is pretty low for the break for an innocent; you may want to just flip the current values of 6 and 8 (which does occur for some innocents by default; would be WRITE_BYTE 0x23f 0x8 and WRITE_BYTE 0x240 0x6), but it's not a big deal.
Code: [Select]
COPY_EXISTING WILTON.CRE OVERRIDE
ADD_CRE_ITEM ~CLCK01~ #1 #0 #0 ~NONE~ ~INV1 INV2~ // Adds Cloak of Protection +1
WRITE_ASCII 0x2cc ~UBWILTON~                      // Assigns edited dialog file
WRITE_ASCII 0x280 ~Wilton~                        // Assigns death variable
WRITE_SHORT 0x240 0x03                            // Fix his morale setting
BUT_ONLY_IF_IT_CHANGES

A couple of the ARE patches are still using absolute offsets, but it'll take more than a couple seconds to go over them. I can do it later, if you want. Everything else appears to be fine on first glance.

All fixed.
<Moongaze> Luckily BWL has a very understanding and friendly admin.

Offline icelus

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3173
  • Gender: Male
Re: BETA 2 Download
« Reply #18 on: May 07, 2006, 12:19:20 PM »
K - "timefram" typo, "but was" -> "that was"?
Code: [Select]
This component, coded by SimDing0, restores him during this timefram, using dialogue from the original game release but was never implemented.P - I'd prefer this to say "oversight" instead of "overlooked bug"
Code: [Select]
Thanks to devSin, this overlooked bug from the original game is now solved.AA - "Baldur's Game" -> "Baldur's Gate"
Code: [Select]
The Original Saga, the re-release of the original Baldur's Game that included the Tales of the Sword Coast expansion, had an error regarding in-game music, which this component should correct.I actually enjoyed the read me. Very well done!

Fixed.
<Moongaze> Luckily BWL has a very understanding and friendly admin.

Offline icelus

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3173
  • Gender: Male
Re: BETA 2 Download
« Reply #19 on: May 07, 2006, 12:20:32 PM »
All tested with a clean TotSC install and confirmed as working.

AR4800 trigger string update @L:2584
Code: [Select]
COPY_EXISTING AR4800.ARE OVERRIDE // Nashkel
READ_LONG 0x5c trigOff ELSE 0x0
PATCH_IF (trigOff) BEGIN
  FOR (READ_SHORT 0x5a numTrig; numTrig; numTrig -= 0x1) BEGIN
    READ_ASCII trigOff name         // Trigger name
    READ_SHORT trigOff + 0x20 type  // Trigger type
    READ_LONG trigOff + 0x64 string // Info point StrRef
    PATCH_IF (!("%name%" STRING_COMPARE_CASE "INFO4801") &&
               (type == 0x1) && (string == 16266)) BEGIN
      SAY trigOff + 0x64 #11696 // Renames the area info trigger for the inn to say "The Northern Light"
    END
    trigOff += 0xc4
  END
END
BUT_ONLY_IF_IT_CHANGES

I think this is supposed to be EFF_P22C @L:2798 (this is what I use in Baldur's Gate II, where the same issue exists); if you listen to the WAV, it should sound obvious.
Code: [Select]
COPY_EXISTING BOLT03.ITM OVERRIDE  // Bolt of Lightning
WRITE_ASCII 0x11e ~EFF_M22B~       // Replace invalid wav file reference
BUT_ONLY_IF_IT_CHANGES
(It's supposed to be a fake projectile travel sound since Bolt Shocking is really just Bolt, but it sucks because the WAV only plays on a successful hit.)

Updating the Gullykin halfling enforcer trap scripts @L:3080, it turns out that the traps weren't being enabled. Fixed; code updated for compatibility.
Code: [Select]
COPY_EXISTING AR4002.ARE OVERRIDE // Gullykin house
              AR4008.ARE OVERRIDE // Gullykin house
              AR4010.ARE OVERRIDE // Gullykin house
READ_LONG 0x70 contOff ELSE 0x0
PATCH_IF (contOff) BEGIN
  FOR (READ_SHORT 0x74 numCont; numCont; numCont -= 0x1) BEGIN
    READ_ASCII contOff name // Container name
    PATCH_IF !("%name%" STRING_COMPARE_CASE "LCHEST") BEGIN // LChest container
      WRITE_ASCII contOff + 0x48 ACT13 #8 // Summon halfling enforcers
      WRITE_SHORT contOff + 0x2c 0x64     // Trap undetectable
      WRITE_SHORT contOff + 0x2e 0x64     // Trap unremovable
      WRITE_SHORT contOff + 0x30 0x1      // Enable trap
    END
    contOff += 0xc0
  END
END
BUT_ONLY_IF_IT_CHANGES

The fire drake traps @L:3094
Code: [Select]
COPY_EXISTING AR0512.ARE OVERRIDE // Durlag's Tower, Firedrake Statue Room
READ_LONG 0x5c trigOff ELSE 0x0
PATCH_IF (trigOff) BEGIN
  FOR (READ_SHORT 0x5a numTrig; numTrig; numTrig -= 0x1) BEGIN
    READ_ASCII trigOff name (10)   // Trigger name
    READ_SHORT trigOff + 0x20 type // Trigger type
    PATCH_IF !("%name%" STRING_COMPARE_CASE "FIREDRAKE1" || type) BEGIN
      WRITE_ASCII trigOff + 0x7c FDRAKET1 // Firedrake Trap 1, sets new script
    END ELSE
    PATCH_IF !("%name%" STRING_COMPARE_CASE "FIREDRAKE2" || type) BEGIN
      WRITE_ASCII trigOff + 0x7c FDRAKET2 // Firedrake Trap 2, sets new script
    END ELSE
    PATCH_IF !("%name%" STRING_COMPARE_CASE "FIREDRAKE3" || type) BEGIN
      WRITE_ASCII trigOff + 0x7c FDRAKET3 // Firedrake Trap 3, sets new script
    END ELSE
    PATCH_IF !("%name%" STRING_COMPARE_CASE "FIREDRAKE4" || type) BEGIN
      WRITE_ASCII trigOff + 0x7c FDRAKET4 // Firedrake Trap 4, sets new script
    END ELSE
    PATCH_IF !("%name%" STRING_COMPARE_CASE "FIREDRAKE5" || type) BEGIN
      WRITE_ASCII trigOff + 0x7c FDRAKET5 // Firedrake Trap 5, sets new script
    END ELSE
    PATCH_IF !("%name%" STRING_COMPARE_CASE "FIREDRAKE6" || type) BEGIN
      WRITE_ASCII trigOff + 0x7c FDRAKET6 // Firedrake Trap 6, sets new script
    END
    trigOff += 0xc4
  END
END
BUT_ONLY_IF_IT_CHANGES

The only thing left I see is the initial ulgoth.sto fix (~ Line 2624); this probably borks FotD. Maybe later.

Fixed.

I'll comment out the part with the Ulgoth Beard infinite flag fixes.  I have no idea how to properly fix it, and it's too trivial to spend a lot of time on in order to ensure compatibility.

EDIT:  It'd help if I read the entire thread before I started replying.  I didn't realize you'd already fixed it.  :)
<Moongaze> Luckily BWL has a very understanding and friendly admin.

Offline icelus

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3173
  • Gender: Male
Re: BETA 2 Download
« Reply #20 on: May 07, 2006, 12:22:32 PM »
I was hoping someone would proofread the readme.  I typed it up in about an hour or so, so I figured it had some nasty typos and stuff.
These were just the most obvious issues; I didn't want to start pointing out "Thanks, Bioware, for such an enjoyble game!" and stuff (er, yeah, actual issue; BioWare and enjoyable, plz), or complaining about dialog or alright and whatnot ;-)

Fixed all instances of BioWare and dialog/dialogue.  I couldn't find "alright" so I'm assuming you were just using a general example.  :)

Please, though... everyone report any typos you find.
<Moongaze> Luckily BWL has a very understanding and friendly admin.

Offline icelus

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3173
  • Gender: Male
Re: BETA 2 Download
« Reply #21 on: May 07, 2006, 12:23:51 PM »
I'm not going to submit this as a replacement, since I don't actually agree with some of the ulgoth.sto changes. Usually, items with a stock > 1 shouldn't have unlimited quantity; mundane arrows, bolts, and bullets (and sometimes darts) usually should have infinite supply (in which case the supply doesn't matter). Additionally, I really think that having an unlimited supply of scimitars and hide armor was intentional, as there are very few of these in the game (with magical variants even more rare).

The following patch corrects those items where the stock > 1 (throwing axes, all darts, spears, magical ammo), leaves scimitars, hide armor, arrows, bolts, and bullets as unlimited, and makes sure that all the items are coming up identified (some of the magic missile weapons aren't flagged). I can't test this one right now, but I doubt there's any issue with the patch; it's up to you if you want to supplement the existing code, replace it, or just ignore me. :-)
Code: [Select]
COPY_EXISTING ULGOTH.STO OVERRIDE // Ulgoth's Beard Store and Inn
PATCH_IF (SOURCE_SIZE > 0x78) BEGIN
READ_LONG 0x34 saleOff
FOR (READ_LONG 0x3c numSale; numSale; numSale -= 0x1) BEGIN
  READ_BYTE saleOff + 0x10 flag
  WRITE_BYTE saleOff + 0x10 flag | 0x1 // Mark items identified
  READ_LONG saleOff + 0x14 stock  // Amount available
  READ_LONG saleOff + 0x18 supply // (Un)limited supply
  PATCH_IF ((stock > 0x1) && supply) BEGIN
    WRITE_LONG saleOff + 0x18 0x0 // Removes infinite flag for items with in-stock numbers > 1
  END
  saleOff += 0x1c
END
END
BUT_ONLY_IF_IT_CHANGES

Done. Assuming it all installs, I'd say it's ready for release when you are.

Works for me.  :)
<Moongaze> Luckily BWL has a very understanding and friendly admin.

Offline devSin

  • Moderator
  • Planewalker
  • *****
  • Posts: 1632
  • Gender: Male
Re: BETA 2 Download
« Reply #22 on: May 07, 2006, 07:33:30 PM »
I read the read me. I suck.
Fixed all instances of BioWare and dialog/dialogue.  I couldn't find "alright" so I'm assuming you were just using a general example.  :)
Fixed the one instance of "dialog" in the read me... by breaking every other one! :P

C.
occuring -> occurring
F.
dialogueue -> dialogue
H.
and yet she originally said nothing to him in the original game -> and, originally, in the original report, I wasn't going to have any original comments, but I decided to be original and do something I hadn't originally planned: I'd suggest just changing "she originally said" to "she said" :D
J.
Black Coral -> Horn Coral
dialogueue -> dialogue
K.
occured -> occurred
dialogueue -> dialogue
Q.
dialogueue -> dialogue
VI.
Feledepost's -> Feldepost's

Offline icelus

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3173
  • Gender: Male
Re: BETA 2 Download
« Reply #23 on: May 07, 2006, 07:42:09 PM »
Oh.  Fuck.
<Moongaze> Luckily BWL has a very understanding and friendly admin.

Offline icelus

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3173
  • Gender: Male
Re: BETA 2 Download
« Reply #24 on: May 07, 2006, 07:44:44 PM »
This is the most embarrassing day in my life EVAR.
<Moongaze> Luckily BWL has a very understanding and friendly admin.

 

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)?: