Author Topic: GAME_IS sod  (Read 8027 times)

Offline CamDawg

  • Infidel
  • Planewalker
  • *****
  • Posts: 859
  • Dreaming of a red Xmas
    • The Gibberlings Three
GAME_IS sod
« on: February 17, 2016, 12:57:09 PM »
What'cha need to make this happen for v240?
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.

Offline Wisp

  • Moderator
  • Planewalker
  • *****
  • Posts: 1176
Re: GAME_IS sod
« Reply #1 on: February 20, 2016, 12:13:06 PM »
A file that is guaranteed to be unique to sod, or a set of files which can be used to identify sod through boolean algebra. I'd also like to know if sod includes any other games, for the purposes of GAME_INCLUDES.

Offline CamDawg

  • Infidel
  • Planewalker
  • *****
  • Posts: 859
  • Dreaming of a red Xmas
    • The Gibberlings Three
Re: GAME_IS sod
« Reply #2 on: March 03, 2016, 06:05:33 AM »
Use bd1000.are for detection, and it's an expansion for BGEE.
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.

Offline Wisp

  • Moderator
  • Planewalker
  • *****
  • Posts: 1176
Re: GAME_IS sod
« Reply #3 on: March 04, 2016, 03:29:00 PM »
Done.

Offline CamDawg

  • Infidel
  • Planewalker
  • *****
  • Posts: 859
  • Dreaming of a red Xmas
    • The Gibberlings Three
Re: GAME_IS sod
« Reply #4 on: March 05, 2016, 09:09:40 AM »
Thanks!
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.

Offline subtledoctor

  • Planewalker
  • *****
  • Posts: 131
Re: GAME_IS sod
« Reply #5 on: March 08, 2016, 09:38:59 PM »
So, what will this mean for how we code GAME_IS?  I'm prepping compatibility releases that I would like to make public as soon as SoD ships/Weidu 240 ships.

Will "...GAME_IS ~bgee sod~ ..." be proper?  Or redundant?  Or, perhaps, harmlessly redundant?

Offline CamDawg

  • Infidel
  • Planewalker
  • *****
  • Posts: 859
  • Dreaming of a red Xmas
    • The Gibberlings Three
Re: GAME_IS sod
« Reply #6 on: March 09, 2016, 05:57:13 AM »
Will "...GAME_IS ~bgee sod~ ..." be proper?  Or redundant?  Or, perhaps, harmlessly redundant?
Proper, and necessary. Just as you have to target BG2 with ~soa tob~, you'll have to do the same for BGEE with ~bgee sod~.
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.

Offline subtledoctor

  • Planewalker
  • *****
  • Posts: 131
Re: GAME_IS sod
« Reply #7 on: March 29, 2016, 09:27:35 PM »
Anyone know when this will work?  I don't suppose we'll have Weidu v240 on SoD launch day...?

EDIT - also I'm a bit confused by CamDawg's answer.  Is SoD an expansion the way TotSC is an expansion?  Or TOB?  As in, it installs over BGEE and now, the game is not BGEE but is in fact SoD?  (And in this SoD game, you can elect to do a BG1 start)

So once someone installs SoD, then any mod with "GAME_IS ~bgee~" simply won't affect it at all?
« Last Edit: March 29, 2016, 10:54:24 PM by subtledoctor »

Offline CamDawg

  • Infidel
  • Planewalker
  • *****
  • Posts: 859
  • Dreaming of a red Xmas
    • The Gibberlings Three
Re: GAME_IS sod
« Reply #8 on: March 30, 2016, 06:26:59 AM »
GAME_IS is designed to only be true for one value on the game list at a time. GAME_IS ~soa~ returns false on a BG2 game where ToB is installed, despite the fact that all of the SoA assets are present; it also returns false on BGT, Tutu, or IWD-in-BG2 games. GAME_IS ~iwd~ fails on IWD with HoW installed, GAME_IS ~bg1~ fails on BG with TotSC installed, etc. SoD is an expansion for BGEE, which means GAME_IS ~bgee~ will now return false on BGEE games where SoD is installed (once the sod option is live). 

That's why you need to swap over to GAME_IS ~bgee sod~ if your content works on both.
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.

Offline AL|EN

  • Planewalker
  • *****
  • Posts: 391
  • Gender: Male
Re: GAME_IS sod
« Reply #9 on: March 30, 2016, 09:00:36 AM »
Quote
which means GAME_IS ~bgee~ will now return false on BGEE games where SoD is installed (once the sod option is live).
Are you aware about the amount of the mods which will fail to install after this? Such interpretation from the old days will break every mod which can be installed for BG1EE+SoD without problems. Since no one knows about the expansion and it's name, nobody expect that putting "bgee" to GAME_IS will not be sufficient when the expansion will be released. In the era of EE we need new interpretation which won't instantly break every mod out there. Please change logic so it won't touch currently released mods.
Project Infinity public BETA - mod manager for Infinity Engine games
Modder's Guide to Github - you cannot have progress without committing changes

Offline subtledoctor

  • Planewalker
  • *****
  • Posts: 131
Re: GAME_IS sod
« Reply #10 on: March 30, 2016, 09:21:28 AM »
Got it, thanks for the clarification.

I wonder if ENGINE_IS could be used/adapted to address AL|EN's concern... but, personally, I don't share the concern.  This is how the logic has always been and consistency is a good thing in this regard.

AL|EN, any mods using GAME_IS ~eet~ will work for EET installations with BGEE and SoD installed (right?) so this doesn't create that much of an extra burden.  (Or, is the issue that some mods are meant to be installed on BGEE *before* EET?)

Offline CamDawg

  • Infidel
  • Planewalker
  • *****
  • Posts: 859
  • Dreaming of a red Xmas
    • The Gibberlings Three
Re: GAME_IS sod
« Reply #11 on: March 30, 2016, 09:45:33 AM »
Quote
which means GAME_IS ~bgee~ will now return false on BGEE games where SoD is installed (once the sod option is live).
Are you aware about the amount of the mods which will fail to install after this?
Painfully. This is why we have ENGINE_IS and GAME_INCLUDES as alternatives to GAME_IS, even if no one uses them.

GAME_IS has always been to explicitly target a specific game.
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.

Offline The Imp

  • Planewalker
  • *****
  • Posts: 288
  • Gender: Male
Re: GAME_IS sod
« Reply #12 on: March 30, 2016, 11:01:29 AM »
Painfully. This is why we have ENGINE_IS and GAME_INCLUDES as alternatives to GAME_IS, even if no one uses them.
GAME_IS has always been to explicitly target a specific game.
Well, adding a simple tutorial here could help... :P Not that the IMP is going to read them, but.

I for example am somewhat confused on what all those would be best used at, and especially how.... I will make the same assumption for most, as an example, let's take the Wisp, as he made a functional .tpa for the kit installs, this has a GAME_IS line, at line 228:
Code: [Select]
ACTION_IF GAME_IS ~bgee bg2ee iwdee~ BEGIN That the sod marker will invalidate and every one of the EE compatible kit installs needs an updated fl#add_kit_ee.tpa for SoD and EET games for them to work. Not that it's his fault. ...
« Last Edit: March 30, 2016, 11:34:25 AM by The Imp »

Offline Wisp

  • Moderator
  • Planewalker
  • *****
  • Posts: 1176
Re: GAME_IS sod
« Reply #13 on: March 30, 2016, 02:40:55 PM »
(GAME|ENGINE)_IS are a clusterfuck any which way you do it. SoD is its own, mutually exclusive engine, too, just like ToB or TotSC. ENGINE_IS is only intended to cover X-in-Y-type games: BG1-in-BG2 or what have you.

One way to do it would be with feature checks, much like how GAME_INCLUDES work, but for engine features instead. However, the concept of engine feature worth checking for is rather fuzzy.
« Last Edit: March 30, 2016, 02:50:10 PM by Wisp »

Offline subtledoctor

  • Planewalker
  • *****
  • Posts: 131
Re: GAME_IS sod
« Reply #14 on: March 30, 2016, 03:40:54 PM »
Btw one thing that might help is to have GAME_IS checks fail more gracefully (for lack of a better way to describe it). 

Example: if I update my mod from
Code: [Select]
GAME_IS ~bgee~to
Code: [Select]
GAME_IS ~bgee sod eet...with Weidu v239, the mod won't install.  So I can't update my code now, in advance, and then simply add Weidu v240 when it is released.  Weidu doesn't recognize "sod" and just stops in its tracks.  So, I have to wait for v240 to release, and only THEN go into my code, make all the replacements, upload the new version, etc.  And who knows what my schedule will be like on that day (whatever day it is).

It would be nice if, upon encountering a game it doesn't recognize, Weidu could simply ignore it.  Treat it the same as if the game check returned false and keep processing the rest of the mod.

Offline CamDawg

  • Infidel
  • Planewalker
  • *****
  • Posts: 859
  • Dreaming of a red Xmas
    • The Gibberlings Three
Re: GAME_IS sod
« Reply #15 on: March 30, 2016, 06:40:42 PM »
(GAME|ENGINE)_IS are a clusterfuck any which way you do it. SoD is its own, mutually exclusive engine, too, just like ToB or TotSC. ENGINE_IS is only intended to cover X-in-Y-type games: BG1-in-BG2 or what have you.
Yeah, GAME_IS works great for an ossified system. With a new entry coming out every couple of years like we have now it breaks down fairly quickly. I feel like ENGINE_IS was supposed to be bigg's answer for just testing whether, for example, an engine supported modern stuff like kits or 3e rules.

It would be nice if, upon encountering a game it doesn't recognize, Weidu could simply ignore it.  Treat it the same as if the game check returned false and keep processing the rest of the mod.
Yeah, this. At the most I would like a warning (maybe MODDER only?) if I've fat-fingered tostc, but if I want to speculate and guess at future games I'd rather WeiDU quietly return those entries false and move on.

(I was thinking of a new feature that would allow modders to define new conditions for GAME_IS on the fly. Then it evolved into having a conditional library that you could use with a GAME_IS-like check (think PATCH_IF ~kits kits_ee~ BEGIN or ACTION_IF ~ee tobex~ BEGIN) and I wrote quite a bit about it. In the end I couldn't think of a good example where it would accomplish anything tangible beyond easier-to-read code at the expense of Wisp using his time productively, e.g. getting a beer.)
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.

Offline Wisp

  • Moderator
  • Planewalker
  • *****
  • Posts: 1176
Re: GAME_IS sod
« Reply #16 on: April 02, 2016, 04:51:09 AM »
Anyone know when this will work?  I don't suppose we'll have Weidu v240 on SoD launch day...?
239.01 will be released soon-ish, I think.
It would be nice if, upon encountering a game it doesn't recognize, Weidu could simply ignore it.  Treat it the same as if the game check returned false and keep processing the rest of the mod.
Yeah, this. At the most I would like a warning (maybe MODDER only?) if I've fat-fingered tostc, but if I want to speculate and guess at future games I'd rather WeiDU quietly return those entries false and move on.
Can do. I'll print something but not alter installation status.

There's probably enough use for something like ENGINE_INCLUDES to warrant the effort. I'll start with some basic stuff and support feasible requests as they come in.

Offline AL|EN

  • Planewalker
  • *****
  • Posts: 391
  • Gender: Male
Re: GAME_IS sod
« Reply #17 on: April 03, 2016, 02:23:49 AM »
Since this bug is solved, could you also fix https://github.com/WeiDUorg/weidu/issues/60 / http://forums.pocketplane.net/index.php/topic,29470.0.html? I think that I've already made false bug reports because of this problem.

And since you analyzing GAME_IS/ENGINE_IS, would you take look at http://forums.pocketplane.net/index.php/topic,29454.msg337367.html#msg337367 / https://github.com/WeiDUorg/weidu/issues/73 If i undestand correctly, the way of telling new weidu that the mod is only for SoD is via ENGINE_INCLUDES?
 
Project Infinity public BETA - mod manager for Infinity Engine games
Modder's Guide to Github - you cannot have progress without committing changes

Offline smeagolheart

  • Planewalker
  • *****
  • Posts: 12
Re: GAME_IS sod
« Reply #18 on: April 09, 2016, 12:09:34 AM »
bd1000.are is vanilla BGEE isn't it?   Need to use something specific to siege right?

Offline The Imp

  • Planewalker
  • *****
  • Posts: 288
  • Gender: Male
Re: GAME_IS sod
« Reply #19 on: April 09, 2016, 07:51:22 AM »
bd1000.are is vanilla BGEE isn't it?   Need to use something specific to siege right?
No. It's ar****.are's, just like the normal BG1, there's significant other differences, so the two are not identified based on that ... the EET will use bg****.are's, as those, and id****.are's and iw****.are's. for the IwD1 and 2 are's, among other things.
« Last Edit: April 09, 2016, 08:43:24 AM by The Imp »

Offline CamDawg

  • Infidel
  • Planewalker
  • *****
  • Posts: 859
  • Dreaming of a red Xmas
    • The Gibberlings Three
Re: GAME_IS sod
« Reply #20 on: April 09, 2016, 08:46:06 AM »
Are you thinking of oh1000.are? That's BGEE; bd1000.are is Siege.
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.

Offline The Imp

  • Planewalker
  • *****
  • Posts: 288
  • Gender: Male
Re: GAME_IS sod
« Reply #21 on: April 09, 2016, 09:26:31 AM »
I ? If that's the file that's associated as the game being BG(1)EE ... then not exactly, all the BG1's use the same ar****.are files for the same areas. Well, the Tutu and BGT-weidu don't but anyways... and the BG(1)EE also has a ph0001.are and tu00xy.are's, x being 1, and y being 5-9.
Somebody should probably make a spreadsheet that combers the various info in these: BG1, BG2, IwD1, that info and yeah these too.
Have fun.

Offline jastey

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1524
  • Gender: Female
Re: GAME_IS sod
« Reply #22 on: May 03, 2016, 03:32:55 AM »
which means GAME_IS ~bgee~ will now return false on BGEE games where SoD is installed (once the sod option is live). 

That's why you need to swap over to GAME_IS ~bgee sod~ if your content works on both.
This means that for weidu 239.01 and higher, all mods currently working for bg:ee v2.x and sod will no longer install on sod game? Meaning that this thread that currently collect mods compatible with 2.x + sod will be for naught and the testing will have to start again?

Also, that all mods currently not maintained but so far bg:ee compatible will break for bg:ee with sod expansion?

Gha..

EDIT: Or, to phrase it differently: Wouldn't it have been cool to implement GAME_IS ~bgee~ in a way that it denies SoD. Since it didn't, this means the game detection definition for bg:ee will be changed?
I understand the principal advantage of making ~bgee sod~ equivalent to ~bg1 totsc~ but wasn't there a policy about not to change weidu definitions that break backwards compatibility of mods?

I appreciate your work, and very much so. Sorry if my complaint sounds differently. I'm just stunned by the impact of this.
« Last Edit: May 03, 2016, 04:16:29 AM by jastey »

Offline Wisp

  • Moderator
  • Planewalker
  • *****
  • Posts: 1176
Re: GAME_IS sod
« Reply #23 on: May 03, 2016, 03:32:18 PM »
This isn't breaking backward-compatibility. BG:EE without SoD continues to detect as BG:EE without SoD. Additionally, the documentation of GAME_IS has been clear on the subject since long before BG:EE was a thing.

I'm open to having bgee not exclude sod. I don't care.

Offline jastey

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1524
  • Gender: Female
Re: GAME_IS sod
« Reply #24 on: May 04, 2016, 12:54:13 AM »
With backwards comp I meant that currently, BG:EE content in SoD is detected by ~bgee~, which will change after the WeiDU update. I do understand that it is not feasible nor possible to code things before knowing them. My apologies if my post annoyed. But I fear the players' frustration once the changes apply and all BG:EE mods fail to install on SoD. I also fear for the mods that were updated in community effort because I know I won't do it again.
The above post was more of a sign of my current state of mind than criticism. I am kind of overwhelmed by all the changes. Personally, I need to halt modding activity until things have stabilized or I'll lose motivation completely. it's my personal problem currently.

One question for discussion, though: For bg1 and totsc, it was a must that the two games were detected individually, because the engine was different. Thus, a mod with bg1 content had to be coded differently if it was to be installed on a BG:TotSC game.

For the EE games constantly developped, though, do I see it correctly that the engines of BG:EE and SoD are updated at the same time with the same changes? Meaning, do we need a possibility to detect the different games or do we only need a way to detect whether the extended content is present. With the assumtpion of the engines being similar, I'd be happy with ~bgee~ detecting sod, too, and ~sod~ excluding a BG:EE game. It would be a content-detection for additional mod content, only. But inconsistent with the current definition of ~tutu~ ~tutu_totsc~, and probably also the definition of GAME_IS, I guess.

Can I achieve this with GAME_INCLUDES? If I change my current use of GAME_IS ~bgee~ to GAME_INCLUDES ~bgee~, will the mods install on SoD? Or is there an even better way?

 

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