Jump to content


Photo

Mods for both BG:EE and BG2:EE


  • Please log in to reply
10 replies to this topic

#1 temnix

temnix
  • Member
  • 983 posts

Posted 25 November 2017 - 10:47 AM

I'm making a mod with spells that begin in the first game, that is, if the player can find them and scribe them. I would like these spells to accompany the character to the sequel. How do I do that? Tell the players to install the mod for both games? All right, but what if I also want certain markers and checks to be transferred? Globals set while playing the first game won't follow, obviously, so just what can I bring along? How about spell states on exported characters, are they preserved when importing? Or hidden items to smuggle in?



#2 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5150 posts

Posted 25 November 2017 - 12:12 PM

Just enforce EET and you got all of this covered. No need to do a double install, exportation or things.

Or you could be a rational person and not bother with what sound like a bad implementation of an idea. As effects are either permanent, or non-permanent.


Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#3 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 25 November 2017 - 02:52 PM

The games are not (yet?) uniform under the hood, so anything you append to kit.ids, splstate.ids, spell.ids, etc. will likely have different entries. Meaning anything you try to add across from one game to another will likely be scrambled.

If a player uses EET, they get both games in a single engine, and only need to install mods once, so it naturally cures this issue.

#4 Miloch

Miloch

    Barbarian

  • Modder
  • 6573 posts

Posted 25 November 2017 - 10:04 PM

IF (has item or condition) and GAME_IS checks should suffice; many other mods do the same - check the tp2 files. You need to have a fair bit of logic in them (as most good tp2 files do), but there's no real need to "enforce EET" or the like for what you describe; just take different actions based on what GAME_IS returns.


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 Roxanne

Roxanne

    Modder

  • Member
  • 3564 posts

Posted 26 November 2017 - 01:10 AM

IF (has item or condition) and GAME_IS checks should suffice; many other mods do the same - check the tp2 files. You need to have a fair bit of logic in them (as most good tp2 files do), but there's no real need to "enforce EET" or the like for what you describe; just take different actions based on what GAME_IS returns.

This is valid for the installation of the features onto different games,

This does not support the idea, that the features, abilities etc gained from the mod by the PC during one game part will be applied to the cre if you export and import to a different game part. (This is where EET comes in, since in fact nothing is exported/imported as everything is part of the one game.)


The Sandrah Saga

another piece of *buggy, cheesy, unbalanced junk*

 


#6 temnix

temnix
  • Member
  • 983 posts

Posted 26 November 2017 - 01:57 AM

I'd rather not force players to adopt any special modification of the games - they are already restricted to using Enhanced Editions (because I want to be able to use the latest features without worrying whether they will work on someone's old-style BG). And Miloch is right about Weidu checks. But what about my question about import and export, other than with this EET? Is there any way to store information in character files, or whatever package the sequel grabs to import? Let's say I change the SPECIFICS value of the main character on Sarevok's death (or what would be the same kind of penultimate moment in SoD), then add a check to the sequel to read that value, reset it and set a global. Would that work?



#7 Avenger_teambg

Avenger_teambg
  • Member
  • 604 posts

Posted 26 November 2017 - 01:22 PM

If you want to keep variables after an import, use the varimprt.2da


Avenger

#8 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 26 November 2017 - 03:55 PM

Again: you can bring all sorts of information over from one game to the other. But if some of that information consists of references to .IDS tables, and the .IDS tables differ between the two games, then that information will be scrambled.

Play a mod kit through BGEE and import the character to BG2EE, you'll see what I mean. The same issue will apply to anything automatically appended to the next open slot in splstate.ids, splprot.2da, maybe msectype.2da, etc. You don't have to force EET on people, but it's a fact that EET utterly solves these issues in one fell swoop.

Edited by subtledoctor, 26 November 2017 - 03:55 PM.


#9 temnix

temnix
  • Member
  • 983 posts

Posted 27 November 2017 - 08:54 AM

Why would the main IDS files be different for BG:EE and BG2:EE, both up to date? I'm going to test everything, obviously, but just because mods with their multitudinous changes might not transfer well doesn't mean the basic structure is different. Or did they invent more genders for BG2? And I'm not putting any entries into the next open slot. I'm either using existing entries, like spell states, or I create my own far out in the high numbers. This doesn't work for every application, but I already know when it does.

 

Now what Avenger said...



#10 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 27 November 2017 - 09:11 AM

The games are different, some of their underlying files are different. E.g. Wilson the bear is in BG2 but not in BG1, so his 'kit' occupies an extra row in kit.ids and kitlist.2da in the second game. The upshot is, if a player installs the Arcane Archer kit mod on both games, and finishes BG1 and imports their Arcane Archer into BG2, that character will have the 'Grizzly Bear' kit and will need to be manually fixed. As I said, kits are just one example of this issue.

Moreover, we as modders cannot control how and whether players change their games before installing our mod. So those files can get even more out of sync, or files that were in sync can get out of sync. My only point is, there's no way to be sure.

#11 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5150 posts

Posted 27 November 2017 - 09:22 AM

And if you install a second kit, the character gets a Priest of Tyr kit... This should be fixed... and there's very good method to do it, by assigning the new kits ids values that are lower than 0x4020, as there's space in those... but it needs to be done before you start the each of the games, and install kit mods.

Aka, the kit.ids that looks like this in BG2EE:

0x4020 Blackguard
0x4021 SHADOWDANCER
0x4022 DWARVEN_DEFENDER
0x4023 DRAGON_DISCIPLE
0x4024 DARK_MOON
0x4025 SUN_SOUL
0x4027 GRIZZLY_BEAR
0x4028 OHTYR

Should look like:

0x4016 Blackguard
0x4017 SHADOWDANCER
0x4018 DWARVEN_DEFENDER
0x4019 DRAGON_DISCIPLE
0x401A DARK_MOON
0x401B SUN_SOUL
0x401C GRIZZLY_BEAR
0x401D OHTYR

the 0x4020 being the point where the weidu's ADD_KIT function starts to add kits into the file, like seen with the Blackguard... yeah, EE makers used weidu to add the files into the game... :devil: :ROFL:

And the 0x4015 is the last kit from the vanilla game, Priest of Lathander.


Edited by The Imp, 27 November 2017 - 09:29 AM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.