Jump to content

Dynaheir installation problem


Guest Ravens

Recommended Posts

Guest Ravens

Hi everyone, I'm just trying to install this great mod to my clear easytutu conversion and everything seemed gone well till the dynaheir romance contents.

Here's the error

 

ERROR locating resource for 'COPY'

Resource [x#winski.cre] not found in KEY file:

[./chitin.key]

Stopping installation because of error.

Stopping installation because of error.

 

ERROR Installing [The BG1 NPC Project: Dynaheir's Romance Core (teen content)], rolling back to previous state

[bg1npc/backup/12/UNSETSTR.12] SET_STRING uninstall info not found

Will uninstall 88 files for [bG1NPC.TP2] component 12.

Uninstalled 88 files for [bG1NPC.TP2] component 12.

ERROR: Failure("resource [x#winski.cre] not found for 'COPY'")

PLEASE email the file SETUP-BG1NPC.DEBUG to The BG1 NPC Project Team: forums.gibberlings3.net/index.php?showforum=45

Using Language [English]

 

 

Is there a problem with the vanilla BG installation, missing this "x#winski.cre" file?

 

No problem with the other contents and romances. Only troubles with the dynaheir one (damn, the which one i care about!)

 

Help very appreciated!

 

PS

Hope my english doesn't suck too much! :p

Link to comment
Guest Mr.Misfit

Ay, problem persists, folks.

I too cannot install the bg1npc-dynaheir romance, although I have the exact same installation on both my mobile pc and desktop computer.

And I am wondering, why does it work on my mobile pc?

Link to comment

x#winski.cre is copied over in the Banters, Quests, and Interjections component. The interim solution for players is to install that component before installing Dynaheir's romance.

 

Edit: the reason this error hasn't been reported more often is because it requires that the Banter/Quest/Interjection component not be installed and the Add Portraits to Non-Joinable NPCs component be installed.

Link to comment

Darn - never thought of that loophole. So we need a recode of this.

 

 

OK, Logic check. Dy's Quest embedded in the {banters, quests, interjections} component adds x#winski.cre.

 

The Portraits component installs a flag file if it is chosen, X#NJNPCPortrait.G3

then does its stuff. At that point it does not refer to x#winski -

 

  COPY_EXISTING ~%tutu_var%winski.cre~ ~override~
WRITE_ASCII 0x34 ~winskis~ #8 //  small portrait
 BUT_ONLY_IF_IT_CHANGES
 COPY_EXISTING ~%tutu_var%winski2.cre~ ~override~
WRITE_ASCII 0x34 ~winskis~ #8 //  small portrait
 BUT_ONLY_IF_IT_CHANGES

 

BUT

 

in the Dynaheir Romance materials, the only screening flag for x#winski is the potrait flag, X#NJNPCPortrait.G3

 

which means if someone does not install the banter component, but does install the NPC portrait component,

 

the resource is missing.

 

Fix:

 

bg1npc.tp2, lines 6055 - 6069

  /* Add Portraits if NJNPC Portraits was chosen */
 ACTION_IF FILE_EXISTS_IN_GAME ~X#NJNPCPortrait.G3~ THEN BEGIN
COPY_EXISTING ~x#nell.cre~ ~override~
  WRITE_ASCII 0x34 ~madams~ #8 // small portrait
COPY_EXISTING ~x#madr.cre~ ~override~
  WRITE_ASCII 0x34 ~madrinas~ #8 // small portrait
COPY_EXISTING ~x#bhet.cre~ ~override~
  WRITE_ASCII 0x34 ~bhetels~ #8 // small portrait
COPY_EXISTING ~x#sveet.cre~ ~override~
  WRITE_ASCII 0x34 ~sveetlas~ #8 // small portrait
COPY_EXISTING ~x#winski.cre~ ~override~
  WRITE_ASCII 0x34 ~winskis~ #8 // small portrait
COPY_EXISTING ~x#setta.cre~ ~override~
  WRITE_ASCII 0x34 ~settas~ #8 // small portrait
 END

 

replace with

 

  /* Add Portraits if NJNPC Portraits was chosen */
 ACTION_IF FILE_EXISTS_IN_GAME ~X#NJNPCPortrait.G3~ THEN BEGIN
COPY_EXISTING ~x#nell.cre~ ~override~
  WRITE_ASCII 0x34 ~madams~ #8 // small portrait
COPY_EXISTING ~x#madr.cre~ ~override~
  WRITE_ASCII 0x34 ~madrinas~ #8 // small portrait
COPY_EXISTING ~x#bhet.cre~ ~override~
  WRITE_ASCII 0x34 ~bhetels~ #8 // small portrait
COPY_EXISTING ~x#sveet.cre~ ~override~
  WRITE_ASCII 0x34 ~sveetlas~ #8 // small portrait
COPY_EXISTING ~x#winski.cre~ ~override~
  WRITE_ASCII 0x34 ~winskis~ #8 // small portrait
COPY_EXISTING ~x#setta.cre~ ~override~
  WRITE_ASCII 0x34 ~settas~ #8 // small portrait
ACTION_IF FILE_EXISTS_IN_GAME ~x#winski.cre~ THEN BEGIN
  COPY_EXISTING ~x#winski.cre~ ~override~
		WRITE_ASCII 0x34 ~winskis~ #8 // small portrait
  END
 END

 

and we need to go recheck if anything else automatically messes with x#winski that way -

 

Searching for: X#winski

bg1npc_docs\bg1npcvarindex.htm(17566): <td>X#WinskiTakeDyna</td>

phase2\baf\x#dynaquest.baf(337): CreateCreatureObjectDoor("X#WINSKI",Player1,0,0,0)

phase2\baf\x#dyqwin.baf(91): Global("X#WinskiTakeDyna","GLOBAL",1)

phase2\baf\x#dyqwin.baf(107): SetGlobal("X#WinskiTakeDyna","GLOBAL",2)

phase2\baf\x#impspl.baf(170): SetGlobal("X#WinskiTakeDyna","GLOBAL",1)

phase2\dlg\x#dynaquest.d(8): BEGIN ~X#WINSKI~

phase2\dlg\x#dynaquest.d(354): /* Initial teleport added to Dynaheir's BCS: _YNAHEIR.BCS X#WINSKI used as walking, instead of %tutu_var%WINSKI2 9sleeping man anim, existing D, and existing .BCS */

phase2\dlg\x#dynaquest.d(355): APPEND ~X#WINSKI~

phase2\dlg\x#dynaquest.d(364): == ~X#WINSKI~ @132 EXTERN ~%DYNAHEIR_BANTER%~ X#DYWIN62

phase2\dlg\x#dynaquest.d(369): == ~X#WINSKI~ IF ~InParty("minsc") InMyArea("minsc") !StateCheck("minsc",CD_STATE_NOTVALID)~ THEN @135

phase2\dlg\x#dynaquest.d(370): == ~X#WINSKI~ @136 DO ~SetGlobal("X#DYQUImpAttack","GLOBAL",1) SetGlobal("X#WinskiTakeDyna","GLOBAL",1) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1)~ EXIT

phase2\dlg\x#dynaquest.d(376): + ~Class(Player1,THIEF_ALL)~ + @139 EXTERN ~X#WINSKI~ X#DYWIN61love

phase2\dlg\x#dynaquest.d(377): + ~Class(Player1,BARD)~ + @140 EXTERN ~X#WINSKI~ X#DYWIN61love

phase2\dlg\x#dynaquest.d(378): + ~Class(Player1,FIGHTER_ALL)~ + @141 EXTERN ~X#WINSKI~ X#DYWIN61love

phase2\dlg\x#dynaquest.d(379): + ~Class(Player1,PALADIN)~ + @142 EXTERN ~X#WINSKI~ X#DYWIN61love

phase2\dlg\x#dynaquest.d(380): + ~Class(Player1,RANGER_ALL)~ + @143 EXTERN ~X#WINSKI~ X#DYWIN61love

phase2\dlg\x#dynaquest.d(381): + ~Class(Player1,CLERIC_ALL)~ + @144 EXTERN ~X#WINSKI~ X#DYWIN61love

phase2\dlg\x#dynaquest.d(382): + ~Class(Player1,DRUID_ALL)~ + @145 EXTERN ~X#WINSKI~ X#DYWIN61love

phase2\dlg\x#dynaquest.d(383): + ~Class(Player1,MONK)~ + @146 EXTERN ~X#WINSKI~ X#DYWIN61love

phase2\dlg\x#dynaquest.d(384): + ~Class(Player1,MAGE_ALL)~ + @147 EXTERN ~X#WINSKI~ X#DYWIN61love

phase2\dlg\x#dynaquest.d(385): + ~Class(Player1,SORCERER)~ + @148 EXTERN ~X#WINSKI~ X#DYWIN61love

phase2\dlg\x#dynaquest.d(388): ++ @151 EXTERN ~X#WINSKI~ X#DYWIN62cash

phase2\dlg\x#dynaquest.d(389): ++ @152 EXTERN ~X#WINSKI~ X#DYWIN61love

phase2\dlg\x#dynaquest.d(395): IF ~~ THEN EXTERN ~X#WINSKI~ X#DYWIN62swear1

phase2\dlg\x#dynaquest.d(399): APPEND ~X#WINSKI~

phase2\dlg\x#dynaquest.d(441): CHAIN IF WEIGHT #-4 ~%BGT_VAR% Global("X#DynaJournal","GLOBAL",8) InParty("dynaheir") InMyArea("dynaheir") !StateCheck("dynaheir",CD_STATE_NOTVALID)~ THEN ~%tutu_var%WINSKI~ X#WinskiFinal

phase3\wait\dlg\x#npcwait.d(390): IF ~Global("X#WinskiTakeDyna","GLOBAL",1)~ THEN EXIT

phase3\wait\dlg\x#npcwait.d(420): IF ~Global("X#WinskiTakeDyna","GLOBAL",1)~ THEN EXIT

phase3\wait\dlg\x#npcwait.d(560): IF ~Global("X#WinskiTakeDyna","GLOBAL",1)~ THEN EXIT

phase3\wait\dlg\x#npcwait.d(590): IF ~Global("X#WinskiTakeDyna","GLOBAL",1)~ THEN EXIT

Found 30 occurrence(s) in 6 file(s)

 

 

hmmm... no reference to x#winski in the romance - oh.

 

 

ok, well, that gives a quick fix, replace that block in the .tp2, and everything works, but it leaves x#winski's portrait out of the mix for the folks who just have the quest, not the romance installed.

 

Perhaps this would be better served falling in the portraits component in the first place, since the rest of this stuff is installed with the romance, making it install-order-independent.

 

So, for the real fix in v18, I need to remember to move lines 6065 and 6066 to the portrait component around line 5153,

 

  ACTION_IF (FILE_EXISTS_IN_GAME ~X#BG1NPCPhase1.G3~) THEN BEGIN
 /* Phase2 Quest NPCs */

 

It still leaves a loophole - if someone installs the portrait component first, right after the required component, then they will not get any of the phase1/phase2 portraits installed.

 

bleh.

 

 

Well, I guess the question is, is it worth it to simply ask in the core required component,

 

'do you want to add Non-Joinable NPC portraits to quests and dialogues?' via READLN and set that as a variable, then toss a macro to patch 'em in.

 

I am not sure it is worth the mess of using DEPRECIATED and such.

Link to comment

Yes, it seems like the x#winski.cre portrait change doesn't belong in the Dynaheir romance component. If put this in the portraits component:

 

	ACTION_IF FILE_EXISTS_IN_GAME ~x#winski.cre~ THEN BEGIN
  COPY_EXISTING ~x#winski.cre~ ~override~
		WRITE_ASCII 0x34 ~winskis~ #8 // small portrait
END

Then the changes will be applied to x#winski.cre regardless of whether the portraits component is installed first or the banters/quests/interjections component is installed first, since the b/q/i component creates x#winski.cre out of %tutu_var%winski.cre, which gets modified by the portraits component.

 

To ensure install-order independence for the Phase 1 and 2 creatures that aren't spawned from existing creatures with the same portrait, you can either add this patch to each file as they are copied over:

 

	PATCH_IF FILE_EXISTS_IN_GAME ~X#NJNPCPortrait.G3~ THEN BEGIN
  WRITE_ASCII 0x34 ~blahblah~ #8 // small portrait
END

 

Or try to duplicate the block that the portrait component uses to modify them with the change on the IF statement condition.

Link to comment

Repaired by adding that line to the Banters/Quests/Interjections component, but to ensure that someone can actually just install Dy's romance without the Banters/Quests/interjections (why the heck anyone would do that, I don't know, but you never know ) added the following to the beginning of Dy's Romance component;

 

ACTION_IF NOT FILE_EXISTS_IN_GAME ~x#winski.cre~ THEN BEGIN
 COPY_EXISTING ~%tutu_var%winski2.cre~ ~override~
WRITE_EVALUATED_ASCII 0x2cc ~%tutu_var%WINSKI~ #8
WRITE_ASCII 0x280 ~winski2~ #32

 COPY_EXISTING ~%tutu_var%winski.cre~ ~override/x#winski.cre~
END

 

and the portrait assignment portion left in place, with an added B_O_I_I_C.

 

Going back now to look at size checks and code cleanup on some of this. I suspect I should macro the puppy with a ACTION_FOR_EACH ~crefile~ IN, but it seems a PITA. I am not completely sure we should be making it possivble to install the portrait component first, then everything else later - on an install/uninstall routine, WeiDU picks up and reintroduces materials fine. But to install the Portrait component, *then* the romances, *then* the banters/quests/interjections, specifically out of order... for the time being, I am repairing the situation where someone wants just the Portraits + Romance or Romance = Portraits.

 

For docs:

 

<li> <a href="http://forums.gibberlings3.net/index.php?showtopic=16958">Mike1072's Winski Portrait Fix</li>

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...