Author Topic: error installing >256 kits  (Read 19073 times)

Offline subtledoctor

  • Planewalker
  • *****
  • Posts: 131
error installing >256 kits
« on: June 28, 2019, 01:43:57 PM »
I just got this error when trying to install a kitpack on BG2EE:

Code: [Select]
ERROR: Failure("The game requires ToBEx or GemRB to support more than 256 kits.")
I pushed the install above the 256 number on purpose.  I'm trying to test something.  Any idea how I can make Weidu ignore the limit, at least temporarily?

For instance: is there a way to spoof ToBEx detection? Does it look for a marker file, or MOD_IS_INSTALLED, or something?

Even better: could I INCLUDE my own alternate ADD_KIT that omits this restriction?
« Last Edit: June 28, 2019, 05:56:47 PM by subtledoctor »

Offline Wisp

  • Moderator
  • Planewalker
  • *****
  • Posts: 1176
Re: error installing >256 kits
« Reply #1 on: June 29, 2019, 04:32:16 AM »
The EE engine supports more kits these days, then? Last I worked on this it apparently did not.

You might be able to spoof ToBEx by creating the file tobex_ini/tobexver.txt with the contents 20 (or a greater number).

Offline subtledoctor

  • Planewalker
  • *****
  • Posts: 131
Re: error installing >256 kits
« Reply #2 on: June 29, 2019, 09:48:01 AM »
The EE engine may support unlimited kits - as long as the ones beyond row #256 in kitlist.2da don't call for the engine to read their CLAB tables. 

Conveniently, I am working on several mods that introduce multiclass kits, which do not require the engine to read their CLAB tables.  I want to investigate whether I can back-load these types of kits.  That would allow up to 256 regular kits, and a functionally unlimited number of kits past that.  Especially in cases such as, for instance, you want to make a "Priest of God X" kit, and want it to effectively be available to any/all multiclass cleric combinations.  Currently, the 5 kits required to do that all count toward the 256 limit.  In a mod designed to add lots of deities and several multiclass combinations for each deity, reducing the 'footprint' by up to 80% would give us a LOT more breathing room...

Offline subtledoctor

  • Planewalker
  • *****
  • Posts: 131
Re: error installing >256 kits
« Reply #3 on: July 02, 2019, 01:10:23 PM »
You might be able to spoof ToBEx by creating the file tobex_ini/tobexver.txt with the contents 20 (or a greater number).

No go, it fails on the 257th kit with:
Code: [Select]
ERROR: Failure("int_of_string")

Offline subtledoctor

  • Planewalker
  • *****
  • Posts: 131
Re: error installing >256 kits
« Reply #4 on: July 11, 2019, 07:40:29 PM »
Gonna bump this, I'm not sure what to do. If my hypothesis is correct, then Weidu's ADD_KIT should be modified to proceed normally on kits numbered 257+ if those kits are added for class #s 7, 8, 9, 10, 13, 14, 15, 16, 17, or 18. (For the EE games, which are the only time someone will add multiclass kits.)

I just can't test the hypothesis in order to confirm it and formally request the change. (But I'm fairly confident in it - it stems from information from Kjeron...)

Offline Wisp

  • Moderator
  • Planewalker
  • *****
  • Posts: 1176
Re: error installing >256 kits
« Reply #5 on: July 17, 2019, 02:35:37 PM »
You might be able to spoof ToBEx by creating the file tobex_ini/tobexver.txt with the contents 20 (or a greater number).

No go, it fails on the 257th kit with:
Code: [Select]
ERROR: Failure("int_of_string")
The code reading the file is quite fragile. Likely it's failing on whitespace or something. You can copy the file from the ToBEx distribution available from SHS.

Offline subtledoctor

  • Planewalker
  • *****
  • Posts: 131
Re: error installing >256 kits
« Reply #6 on: July 30, 2019, 08:24:33 AM »
Thanks, that worked. And with testing done, I can confirm that multiclass kits installed with the QDmulti function do indeed work fine when they are higher that #256. So, there are several alternative courses of action:

1) Bundle QDmulti, or similar code, with Weidu. Have ADD_KIT do a count of kitlist rows; if it detects the kit to be installed is #257+, then it can use the QDmulti method.

2) Have ADD_KIT do a count of kitlist rows, and only allow kit installation to proceed if its class value indicates a multiclass. (On tbe presumption that the mod will necessarily use QDmulti to install multiclass kits.

3) Don't change Weidu at all; mods installing kits with the expectation that they might go over the 256 limit can use QDmulti and spoof ToBEx detection. (We are only talking about EE games, here, so that should hopefully be harmless... or maybe the kit mod can remove the ToBex identifier file after installing the kits?)
« Last Edit: October 09, 2019, 07:45:17 PM by subtledoctor »

Offline The Imp

  • Planewalker
  • *****
  • Posts: 288
  • Gender: Male
Re: error installing >256 kits
« Reply #7 on: August 02, 2019, 02:02:00 PM »
... that worked. And with testing done, I can confirm
Excuse the giant ignorance staring at your face, and could you just state exactly what you did in .tp2 code... just for the hell of it. Nobody's going to notice.

Offline subtledoctor

  • Planewalker
  • *****
  • Posts: 131
Re: error installing >256 kits
« Reply #8 on: August 03, 2019, 01:52:04 PM »
... that worked. And with testing done, I can confirm
Excuse the giant ignorance staring at your face, and could you just state exactly what you did in .tp2 code... just for the hell of it. Nobody's going to notice.

Nothing. I just installed a bunch of kit mods to get kitlist up to ~240 rows. Then installed my own kitpack with ~40 multiclass kits. Then played one of the kits numbered above 256. They worked fine.

Offline Wisp

  • Moderator
  • Planewalker
  • *****
  • Posts: 1176
Re: error installing >256 kits
« Reply #9 on: August 16, 2019, 01:05:01 PM »
My plan has been to implement the ADD_KIT portion of the process into fl#add_kit_ee, include that by some other name into WeiDU proper and effectively deprecate the ADD_KIT action. The function could then have an option for performing the safety-check or not, but maybe your option 2 is less likely to languish indefinitely.

Offline subtledoctor

  • Planewalker
  • *****
  • Posts: 131
Re: error installing >256 kits
« Reply #10 on: August 26, 2019, 01:22:51 PM »
Up to you. Option 2 would of course be easier for us, but I don't know how much work it would be for you to do the class check. Theoretically, we could add the ToBEx spoof file at the beginning of the mod, and delete it at the end. That would be very little extra work for us, now that I have it working. And has the benefit of being a stable solution that works now and will continue to work until you make the major changes to ADD_KIT. 

Babby

  • Guest
Re: error installing >256 kits
« Reply #11 on: August 21, 2020, 08:14:07 PM »
I seem to be in a minority, but I like the idea of having lots of kits without having to constantly mess with my installation (especially when some kits implement some other features that basically would require me to reinstall the entire set of mods, which takes well over an hour with my current setup on a pretty slow HDD.). And as such I have been trying to figure out how to spoof TOBex on my EET installation and get the installer to recognize the files, but it doesn't seem to pick up the tobex_ini.txt or tobexver.txt when placed in the base directory (same spot as the game exe), am I doing something incorrectly? At first I thought it didn't recognize it maybe because the installer was still running, so I quit out and restarted the installation but it still threw the exception.

Offline subtledoctor

  • Planewalker
  • *****
  • Posts: 131
Re: error installing >256 kits
« Reply #12 on: September 01, 2020, 08:48:40 AM »
Are you actually hitting the kit limit? I think that’s pretty hard. I only get up to about 200 kits.

Also, while you can spoof ToBEx to allow kits to be installed, that will not make them *work* in the game. The 257th kit will cause a hard crash if you try to use it. So there's not much point.

(The exception being multiclass kits - they work fine. If you want to install multiclass kits beyond 256, then I recommend using mods that support doing so by using a method that works - lime ADD_KIT_EX.
« Last Edit: September 02, 2020, 04:13:27 PM by subtledoctor »

 

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