Jump to content


Photo

[Repaired] Slight problem with v18 Jaheira Picture


12 replies to this topic

#1 Nermie

Nermie
  • Members
  • 5 posts

Posted 21 September 2009 - 10:03 AM

Ok, so the problem is, Jaheira doesn't have her BG2 picture. I used v17 on an installation before, and she had it then, but using v18, now she uses her original one. And this is the only mod I'm using that changes character portraits. Also, Imoen has HER BG2 portrait, just to rule out a wide-range lack of BG2 portraits. It's not really a big deal, except for the fact that Jaheira's BG2 portrait is VASTLY superior to her BG1 one. Anyways.

Edited by cmorgan, 17 September 2011 - 11:10 AM.


#2 aVENGER_(RR)

aVENGER_(RR)

    Sneaksie!

  • Fixpackers
  • 1008 posts
  • Gender:Male

Posted 21 September 2009 - 10:40 AM

A slight coding mishap, Jaheira's CREs are a bit trickier to catch with regexps due to the odd file naming conventions. This should be more reliable:

COPY_EXISTING_REGEXP GLOB ~^_?jahei.*\.cre$~ ~override~ // Jaheira
  PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files
	READ_LONG 0x08 "strref"
	  PATCH_IF (("%strref%" = 9456) OR ("%strref%" = 9475)) THEN BEGIN // exclude harper cre files
		WRITE_ASCII 0x34 ~NJAHEIRS~ #8 // small portrait
		WRITE_ASCII 0x3c ~NJAHEIRM~ #8 // medium portrait
	  END
  END
BUT_ONLY_IF_IT_CHANGES

BTW, Viconia may be similarly affected, so use this code for her:

COPY_EXISTING_REGEXP GLOB ~^\(bg\|_\)?viconi[0-9]*\.cre$~ ~override~ // Viconia
  PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files
	WRITE_ASCII 0x34 "NVICONS" #8 // small portrait
	WRITE_ASCII 0x3c "NVICONM" #8 // medium portrait
  END
BUT_ONLY_IF_IT_CHANGES

Edited by aVENGER_(RR), 21 September 2009 - 10:52 AM.

Retired modder

Rogue Rebalancing - Author
aTweaks - Author
Wizard Slayer Rebalancing - Co-Author
BG2 Fixpack - Contributor

#3 cmorgan

cmorgan

    journeyman investigator

  • Gibberlings
  • 6901 posts
  • Gender:Male
  • Location:Glencoe, IL, USA

Posted 21 September 2009 - 11:08 AM

Got it - I am going to clean this up right away.

Should I run out a "silent" update tonight, rather than wait for 6 months and a version up, for this and the journal entry report?
I love deadlines. I love the whooshing noise they make as they go by. - Douglas Adams

#4 aVENGER_(RR)

aVENGER_(RR)

    Sneaksie!

  • Fixpackers
  • 1008 posts
  • Gender:Male

Posted 21 September 2009 - 11:39 AM

Heh, this is pretty much why I favor the minor/maintenance release numbering method.

People tend to have fewer expectations when a mod jumps from say v4 to v4.1 instead of going straight for v5 in case I'm just including a translation update and some minor bugfixes. ???
Retired modder

Rogue Rebalancing - Author
aTweaks - Author
Wizard Slayer Rebalancing - Co-Author
BG2 Fixpack - Contributor

#5 Wisp

Wisp
  • Modders
  • 967 posts
  • Gender:Male

Posted 21 September 2009 - 01:18 PM

Now we are arguably outside the realm where the regexp approach is a time saver.
Might as well hard code the lot of them while we are at it, to avoid inadvertently patching away that portrait that only the BG2 version of the NPC should have had, or whatever.

/* Portrait Changes */
/* Edwin */
BEGIN @1022 /* The BG1 NPC Project: Give Edwin his BG2 portrait. */
  GROUP @1008  /* The BG1 NPC Project: Portrait Changes and Additions */
  REQUIRE_FILE ~override/X#BG1NPCCore.G3~ @1004 /* BG1 NPC Required Changes component is not installed. */
  ACTION_FOR_EACH edwin IN edwin edwin2 edwin4 edwin6 _edwin _edwin2 _edwin4 _edwin6 BEGIN
	ACTION_IF FILE_EXISTS_IN_GAME "%edwin%.cre" BEGIN
	  COPY_EXISTING "%edwin%.cre" ~override~
		PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files
			WRITE_ASCII 0x34 ~NEDWINS~ #8 // small portrait
			WRITE_ASCII 0x3c ~NEDWINM~ #8 // medium portrait
		END
	  BUT_ONLY_IF_IT_CHANGES
	END
  END

/* Imoen */
BEGIN @1023 /* The BG1 NPC Project: Give Imoen her BG2 portrait. */
  GROUP @1008  /* The BG1 NPC Project: Portrait Changes and Additions */
  REQUIRE_FILE ~override/X#BG1NPCCore.G3~ @1004 /* BG1 NPC Required Changes component is not installed. */
  ACTION_FOR_EACH imoen IN imoen imoen1 imoen2 imoen4 imoen61 _imoen _imoen1 _imoen2 _imoen4 _imoen6 BEGIN
	ACTION_IF FILE_EXISTS_IN_GAME "%imoen%.cre" BEGIN
	  COPY_EXISTING "%imoen%.cre" ~override~
		PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files
			WRITE_ASCII 0x34 ~NIMOENS~ #8 // small portrait
			WRITE_ASCII 0x3c ~NIMOENM~ #8 // medium portrait
		END
	  BUT_ONLY_IF_IT_CHANGES
	END
  END

/* Jaheira */
BEGIN @1024  /* The BG1 NPC Project: Give Jaheira her BG2 portrait. */
  GROUP @1008  /* The BG1 NPC Project: Portrait Changes and Additions */
  REQUIRE_FILE ~override/X#BG1NPCCore.G3~ @1004 /* BG1 NPC Required Changes component is not installed. */
	ACTION_FOR_EACH jaheira IN jaheir jaheir2 jaheir4 jaheir6 _jaheir _jaheir2 _jaheir4 _jaheir6 BEGIN
	  ACTION_IF FILE_EXISTS_IN_GAME "%jaheira%.cre" BEGIN
		COPY_EXISTING "%jaheira%.cre" ~override~ // Jaheira
		  PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files
			WRITE_ASCII 0x34 ~NJAHEIRS~ #8 // small portrait
			WRITE_ASCII 0x3c ~NJAHEIRM~ #8 // medium portrait
		  END
		BUT_ONLY_IF_IT_CHANGES
	  END
	END

/* Minsc */
BEGIN @1025 /* The BG1 NPC Project: Give Minsc his BG2 portrait. */
  GROUP @1008  /* The BG1 NPC Project: Portrait Changes and Additions */
  REQUIRE_FILE ~override/X#BG1NPCCore.G3~ @1004 /* BG1 NPC Required Changes component is not installed. */
	ACTION_FOR_EACH minsc IN minsc minsc2 minsc4 minsc6 _minsc _minsc2 _minsc4 _minsc6 BEGIN
	  ACTION_IF FILE_EXISTS_IN_GAME "%minsc%.cre" BEGIN
		COPY_EXISTING "%minsc%.cre" ~override~
		  PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files
			  WRITE_ASCII 0x34 ~NMINSCS~ #8 // small portrait
			  WRITE_ASCII 0x3c ~NMINSCM~ #8 // medium portrait
		  END
		BUT_ONLY_IF_IT_CHANGES
	  END
	END
  
/* Viconia */
BEGIN @1026  /* The BG1 NPC Project: Give Viconia her BG2 portrait. */
  GROUP @1008  /* The BG1 NPC Project: Portrait Changes and Additions */
  REQUIRE_FILE ~override/X#BG1NPCCore.G3~ @1004 /* BG1 NPC Required Changes component is not installed. */
	ACTION_FOR_EACH viconia IN viconi viconi4 viconi61 _viconi _viconi4 _viconi6 BEGIN
	  ACTION_IF FILE_EXISTS_IN_GAME "%viconia%.cre" BEGIN
		COPY_EXISTING "%viconia%.cre" ~override~ // Viconia
		  PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files
			WRITE_ASCII 0x34 "NVICONS" #8 // small portrait
			WRITE_ASCII 0x3c "NVICONM" #8 // medium portrait
		  END
		BUT_ONLY_IF_IT_CHANGES
	  END
	END
  
  /* Kivan */
BEGIN @1027  /* The BG1 NPC Project: Kivan's "Kivan and Deheriana Companions" portrait */
GROUP @1008  /* The BG1 NPC Project: Portrait Changes and Additions */
REQUIRE_FILE ~override/X#BG1NPCCore.G3~ @1004 /* BG1 NPC Required Changes component is not installed. */
  COPY ~BG1NPC/Phase2/Portraits/P#KI2L.bmp~ ~override~
  COPY ~BG1NPC/Phase2/Portraits/P#KI2M.bmp~ ~override~
  COPY ~BG1NPC/Phase2/Portraits/P#KI2S.bmp~ ~override~
  ACTION_FOR_EACH kivan IN kivan kivan4 kivan6 _kivan _kivan4 _kivan6 BEGIN
	ACTION_IF FILE_EXISTS_IN_GAME "%kivan%.cre" BEGIN
	  COPY_EXISTING "%kivan%.cre" ~override~
		PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files
			WRITE_ASCII 0x34 ~P#KI2S~ #8 // small portrait
			WRITE_ASCII 0x3c ~P#KI2M~ #8 // medium portrait
		END
	  BUT_ONLY_IF_IT_CHANGES
	END
  END

Assuming this in an open referendum, I vote for the silent update.

Also, the offline readme is missing its icon due to a mismatch between the name of the icon file (g3.ico) and the file name in the readme (g3icon.ico).

#6 ScuD

ScuD
  • Members
  • 132 posts
  • Gender:Male

Posted 21 September 2009 - 06:40 PM

More info for the silent update.
X#ANDART.BCS after the installation has _WOLFDR in the BGT install.

#7 aVENGER_(RR)

aVENGER_(RR)

    Sneaksie!

  • Fixpackers
  • 1008 posts
  • Gender:Male

Posted 22 September 2009 - 07:10 AM

Now we are arguably outside the realm where the regexp approach is a time saver.
Might as well hard code the lot of them while we are at it, to avoid inadvertently patching away that portrait that only the BG2 version of the NPC should have had, or whatever.


Nice work! ??? I think your approach is slightly more efficient speed wise too.

Cmorgan, I've updated the soundset expansion code in a similar manner.
Retired modder

Rogue Rebalancing - Author
aTweaks - Author
Wizard Slayer Rebalancing - Co-Author
BG2 Fixpack - Contributor

#8 cmorgan

cmorgan

    journeyman investigator

  • Gibberlings
  • 6901 posts
  • Gender:Male
  • Location:Glencoe, IL, USA

Posted 22 September 2009 - 01:04 PM

More info for the silent update.
X#ANDART.BCS after the installation has _WOLFDR in the BGT install.

ScuD, can you please reconfirm? I am not getting that in my BGT install with v18, and all I have is

Search "wolfdr" (2 hits in 1 files)
F:\BG1NPC_Workspace\bg1npc-v18\bg1npc\phase2\baf\x#andart.baf (2 hits)
Line 59: CreateCreature("%tutu_var%WOLFDR",[-1.-1],0)
Line 60: CreateCreature("%tutu_var%WOLFDR",[-1.-1],0)

so something else might be going wrong.
I love deadlines. I love the whooshing noise they make as they go by. - Douglas Adams

#9 cmorgan

cmorgan

    journeyman investigator

  • Gibberlings
  • 6901 posts
  • Gender:Male
  • Location:Glencoe, IL, USA

Posted 22 September 2009 - 01:25 PM

OK, while I am at it, there are still a few blocks of "do a bunch of these things if it is Tutu, or else do the exact same thing with another set of references if it is BGT".
Tutu:
[codebox] ACTION_FOR_EACH imoen IN imoen1 imoen2 imoen4 imoen61 _imoen _imoen1 _imoen2 _imoen4 _imoen6 BEGIN
ACTION_IF FILE_EXISTS_IN_GAME "%imoen%.cre" BEGIN
COPY_EXISTING "%imoen%.cre" ~override~ // Imoen
PATCH_IF (SOURCE_SIZE > 0x2d3) AND (FILE_EXISTS_IN_GAME ~AR7200.are~) THEN BEGIN // protects against invalid files
WRITE_ASCII 0x248 ~BGIMOEN~ #8 // override script for BGT
END
PATCH_IF (SOURCE_SIZE > 0x2d3) AND (FILE_EXISTS_IN_GAME ~FW0100.are~) THEN BEGIN // protects against invalid files
WRITE_ASCII 0x248 ~_IMOEN2~ #8 // override script for Tutu
END
BUT_ONLY_IF_IT_CHANGES
END
END[/codebox]
[/size]
No else statement, so it doesn't trigger for 0 byte files and such - any quicker, cleaner suggestions?
I love deadlines. I love the whooshing noise they make as they go by. - Douglas Adams

#10 ScuD

ScuD
  • Members
  • 132 posts
  • Gender:Male

Posted 22 September 2009 - 03:13 PM

ScuD, can you please reconfirm? I am not getting that in my BGT install with v18, and all I have is

Search "wolfdr" (2 hits in 1 files)
F:\BG1NPC_Workspace\bg1npc-v18\bg1npc\phase2\baf\x#andart.baf (2 hits)
Line 59: CreateCreature("%tutu_var%WOLFDR",[-1.-1],0)
Line 60: CreateCreature("%tutu_var%WOLFDR",[-1.-1],0)

so something else might be going wrong.

Did a thorough research. It seems SCS is to blame. After the BG1NPC install and before SCS everything is correct. Sorry for the confusion.
I'll look more into the matter.

Edited by ScuD, 22 September 2009 - 03:23 PM.


#11 Kulyok

Kulyok
  • Members
  • 5435 posts
  • Gender:Female
  • Location:Moscow, Russia

Posted 12 February 2011 - 11:18 PM

Unfortunately, Jaheira's BG2 picture still isn't working. It's been nearly a year and a half, and seeing Jaheira with her non-BG2 portrait is rather uncomfortable, so I'd gladly see a solution. (It's still old code in the installation package, but new code isn't workng for me, either - neither of them, so in the meantime, I guess, Shadowkeeper is the only option).

#12 cmorgan

cmorgan

    journeyman investigator

  • Gibberlings
  • 6901 posts
  • Gender:Male
  • Location:Glencoe, IL, USA

Posted 13 February 2011 - 09:51 AM

Confirmed: fresh install of available package, on clean EasyTutu, shows all of the other components changing correctly, but Jaheira's regep is having hiccups.

from the DEBUG
Install Component [The BG1 NPC Project: Give Jaheira her BG2 portrait]?
[I]nstall, or [N]ot Install or [Q]uit? 
Installing [The BG1 NPC Project: Give Jaheira her BG2 portrait]
[./override/FW0100.are] loaded, 30444 bytes

Tutu detected: support at www.gibberlings3.net
[./override/FW0100.are] loaded, 30444 bytes
Copying and patching 1 file ...
[BG1NPC/TRA/english/BG1NPC_tmp.tra] loaded, 83768 bytes
BG1NPC/TRA/english/BG1NPC.tra copied to bg1npc/backup/4/BG1NPC.tra, 82535 bytes
Copied [BG1NPC/TRA/english/BG1NPC_tmp.tra] to [BG1NPC/TRA/english/BG1NPC.tra]
loading 1 tra file
[BG1NPC/TRA/english/BG1NPC.tra] has 580 translation strings
Checking for required files ...
[override/X#BG1NPCCore.G3] found: 83 bytes
Copying and patching 5 files ...
Copied [JAHEI1.CRE] to [override/JAHEI1.CRE]
Copied [JAHEI2.CRE] to [override/JAHEI2.CRE]
Copied [JAHEI3.CRE] to [override/JAHEI3.CRE]
Copied [JAHEI4.CRE] to [override/JAHEI4.CRE]
so only the BG2 harpers get changed as reported above.

Confirmation screen:
vanilla_easytutu.PNG

But the new code works like a charm, as far as i can see... replacing lines 4885 - 4894 in setup-bg1npc.tp2 to
this code,

/* Jaheira */
BEGIN @1024  /* The BG1 NPC Project: Give Jaheira her BG2 portrait. */
  GROUP @1008  /* The BG1 NPC Project: Portrait Changes and Additions */
  REQUIRE_FILE ~override/X#BG1NPCCore.G3~ @1004 /* BG1 NPC Required Changes component is not installed. */
	ACTION_FOR_EACH jaheira IN jaheir jaheir2 jaheir4 jaheir6 _jaheir _jaheir2 _jaheir4 _jaheir6 BEGIN
	  ACTION_IF FILE_EXISTS_IN_GAME "%jaheira%.cre" BEGIN
		COPY_EXISTING "%jaheira%.cre" ~override~ // Jaheira
		  PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files
			WRITE_ASCII 0x34 ~NJAHEIRS~ #8 // small portrait
			WRITE_ASCII 0x3c ~NJAHEIRM~ #8 // medium portrait
		  END
		BUT_ONLY_IF_IT_CHANGES
	  END
	END

results in the following:

Install Component [The BG1 NPC Project: Give Jaheira her BG2 portrait]?
[I]nstall, or [N]ot Install or [Q]uit? 
Installing [The BG1 NPC Project: Give Jaheira her BG2 portrait]
[./override/FW0100.are] loaded, 30444 bytes

Tutu detected: support at www.gibberlings3.net
[./override/FW0100.are] loaded, 30444 bytes
Copying and patching 1 file ...
[BG1NPC/TRA/english/BG1NPC_tmp.tra] loaded, 83768 bytes
BG1NPC/TRA/english/BG1NPC.tra copied to bg1npc/backup/4/BG1NPC.tra, 82535 bytes
Copied [BG1NPC/TRA/english/BG1NPC_tmp.tra] to [BG1NPC/TRA/english/BG1NPC.tra]
loading 1 tra file
[BG1NPC/TRA/english/BG1NPC.tra] has 580 translation strings
Checking for required files ...
[override/X#BG1NPCCore.G3] found: 83 bytes
[./override/_jaheir.cre] loaded, 1964 bytes
Copying and patching 1 file ...
[./override/_jaheir.cre] loaded, 1964 bytes
override/_jaheir.cre copied to bg1npc/backup/4/_jaheir.cre, 1964 bytes
Copied [_jaheir.cre] to [override/_jaheir.cre]
[./override/_jaheir2.cre] loaded, 1976 bytes
Copying and patching 1 file ...
[./override/_jaheir2.cre] loaded, 1976 bytes
override/_jaheir2.cre copied to bg1npc/backup/4/_jaheir2.cre, 1976 bytes
Copied [_jaheir2.cre] to [override/_jaheir2.cre]
[./override/_jaheir4.cre] loaded, 2316 bytes
Copying and patching 1 file ...
[./override/_jaheir4.cre] loaded, 2316 bytes
override/_jaheir4.cre copied to bg1npc/backup/4/_jaheir4.cre, 2316 bytes
Copied [_jaheir4.cre] to [override/_jaheir4.cre]
[./override/_jaheir6.cre] loaded, 2388 bytes
Copying and patching 1 file ...
[./override/_jaheir6.cre] loaded, 2388 bytes
override/_jaheir6.cre copied to bg1npc/backup/4/_jaheir6.cre, 2388 bytes
Copied [_jaheir6.cre] to [override/_jaheir6.cre]

and a confirmation screen:
after_recode.PNG


As a reminder, any changes to .cre files will not appear in-game from a saved game (the .cre is saved in the file and we try not to mess with saves at any point in the whole project). To make the change occur, it needs to be a new game. If your .DEBUG file entries from the new code show that the .cres are being skipped, please post the code used and the debug snippet, so I can help track it down and fix whatever is going wrong on your install.

Until I get a new one out (hopefully the French Translation version), the best way to deal with this on Tutu is to edit in the code or just use ShadowKeeper (which is saved-game friendly). The BWP folks already fix this in their Fixpack for BGT, I think.

Edited by cmorgan, 13 February 2011 - 09:53 AM.

I love deadlines. I love the whooshing noise they make as they go by. - Douglas Adams

#13 cmorgan

cmorgan

    journeyman investigator

  • Gibberlings
  • 6901 posts
  • Gender:Male
  • Location:Glencoe, IL, USA

Posted 17 September 2011 - 10:49 AM

confirmed repaired v19 09.17.2011
I love deadlines. I love the whooshing noise they make as they go by. - Douglas Adams



Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users