Author Topic: INSTALL_ORDER/INSTALL_SEQUENCE keyword won't work  (Read 939 times)

Offline AL|EN

  • Planewalker
  • *****
  • Posts: 391
  • Gender: Male
INSTALL_ORDER/INSTALL_SEQUENCE keyword won't work
« on: July 30, 2017, 05:01:17 AM »
Quote
Would this be sufficiently fine-grained to be of use? If two mods are to be installed at the end, which is installed last?
Having a basic install order, donne by the modder themself, would be very handy.
That's a concrete way of doing it, but this is improvable

Add a INSTALL_ORDER metadata, that require a number betwenn 0 and 1000 (or 0 and 10000)
give some threshold (that are not restrictive) for the modder to chose an install number
- 0-100 : mod that require to be installed first( like the BG2fixpack)
- 100-200 : big quest mod
- 200-300 : quest mod
- 300-500 : NPC mod
- 500-600 : tweak/kit mod
- 600-700 : AI mod
- 700-800 : tweak/kit mod
- 900-1000 : mod that need to be installed very late (EET-end, worldmap)

in case of indentical number, have weidu/zeitgeist use the modname to sort them

I'm afraid that INSTALL_ORDER/INSTALL_SEQUENCE won't work. Take a look at this file: https://bitbucket.org/BigWorldSetup/bigworldsetup/src/cbc0a41a491a60e1f7c82ace1d6cf3676451e978/BiG%20World%20Setup/Config/BG2EE/Select.txt?at=master&fileviewer=file-view-default

There are over 3000 components for EET. So obviously, a range number for INSTALL_ORDER must be from 100000 to 999999. But that is not a problem. The problem lies with the fact that tp2 code is spread across multiple sources:
 
Mod-ABC.tp2
Quote
BEGIN "ABC First component"
DESIGNATED 10
INSTALL_ORDER 100000

BEGIN "ABC Second component"
DESIGNATED 20
INSTALL_ORDER 100001


BEGIN "ABC Third component"
DESIGNATED 30
INSTALL_ORDER 100002


BEGIN "ABC Last component"
DESIGNATED 40
INSTALL_ORDER 100003

Mod-XXX.tp2

Quote
BEGIN "XXX First component"
DESIGNATED 100
INSTALL_ORDER 90000

BEGIN "XXX Second component"
DESIGNATED 200
INSTALL_ORDER 100002

BEGIN "XXX Third component"
DESIGNATED 300
INSTALL_ORDER 100100

Install order loaded from the code ( using DESIGNATED ):
XXX 100
ABC 10
ABC 20
ABC 30
XXX 200 <
ABC 40
XXX 300

But according to the intention of the author, XXX 200 component should be installed BEFORE "ABC 30". Let's say that authors of those mods will cooperate and correct INSTALL_SEQUENCE numbers. But because those are two independent tp2 files, even after modification of INSTALL_SEQUENCE numbers for one mod, to correct such unwanted install order, there might be other mods (Mod-ZZZ) which will face the same problem because of the introduced changes and it would be never ending domino of changes.
 
Trying to use INSTALL_SEQUENCE in such way is like trying to setup the install order of 10000 mod components by using 1000 separate files. It will never work practically.
 
Maybe if the will be GUID/UUID for each component and such GUID/UUID could be registered into global mod/conflict/install order webpage where mod authors can see other mods position and manipulate INSTALL_SEQUENCE in relation to other mods would give us desired results. Otherwise I don't see how it can work but I'm open to proposition.
 
« Last Edit: July 30, 2017, 05:14:13 AM by AL|EN »
Project Infinity public BETA - mod manager for Infinity Engine games
Modder's Guide to Github - you cannot have progress without committing changes

Offline ikki

  • Planewalker
  • *****
  • Posts: 10
Re: INSTALL_ORDER/INSTALL_SEQUENCE keyword won't work
« Reply #1 on: July 30, 2017, 06:51:55 AM »
I was thinking that this INSTALL_ORDER/INSTALL_SEQUENCE keyword would do a "basic" sorting, so that at least zeitgeist/bws_next could install the bg2fixpack first and the worldmap mod last, (maybe a little more), without aiming to reach a perfect install order

but without such a keyword, someone will have to provide a standard install order ( Leonardo Watson did it once, you have expended it) but it require a lot of work that the modder himself should think about


 

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