Jump to content

Graion Dilach

Modders
  • Posts

    1,130
  • Joined

Posts posted by Graion Dilach

  1. @20886432 Have you tried copying the folder out from Steam to a new location - say, "C:\Baldur's Gate II - modded" and install Tweaks there? Creating a desktop shortcut of Baldur.exe in the folder allows the game to run immediately, this game is portable in that regard and does not depend on Steam launching it.

    Keep in mind that Steam autoupdates break mods (and this offers you to have an imminent backup if something goes wrong).

  2. @AL|EN I find the opposite of your workflow more logical and elegant. In your workflow, you derive the git tag from the tp2 version string and your proposal necessitates one to have a local automation to prepare for the packaging automation. What I'm proposing is to derive the version string from the git tag instead. This is less invasive to a personal workflow (because it does not need any local preparation step or a separate tool) at the cost of a more complicated packaging automation and at the possibility of introducing a difference between the source (having a placeholder version string) and the packaged version (which, considering how much you favor anti-tampering mechanisms, might be even a bonus to you). You can look at OpenRA to see how that works in practice (and it works well there because this mindset was deployed in 2015, got copied into the official ModSDK at it's start in 2017 and over the years I never heard anyone ending up with a wrongly tagged release when proper tagging is relevant there because differently tagged builds are not multiplayer-compatible).

    Also, you're using your lecturing tone again. I don't like that.

  3. That mod literally doesn't check for anything. It lacks safeguards. I'm not that certain at all about it not causing issues with other mods or in EET itself.

    Please, let the actual modders decide when and how their mod becomes EET compatible and how they make that known.

  4. 8 hours ago, Guest Juan Lopez said:

    Hi, when I try to install SOB with EET using BWS Tool it says that the component 122 of SOB is incompatible with EET (something about SOD npcs being unusable), is it really uncompatible or should I just ignore the warning? And is the current version of SOB still compatible with BG2 v2.5?

    Last I checked, Roxanne has component 121 and 122 mixed up but also all the weapon proficiency revamp tweaks (this includes both Tweaks Anthology, not just SoB) are installed at a wrong time, so there are actual bugs in the result caused by a wrong install order. The best longterm solution is to abandon that tool in favor of Project Infinity.

    (Also keep in mind that the Sandrah mods are installed last, way after the tweakmods so they will ignore any proficiency revamps which is why she implies all those kind of tweaks are a bugged mess.)

  5. A polish request I have here - could we have the BG1/SoD NPC voiceovers fixed in EET? 2.6 expanded on the voice slots and the 8 slots after BIO can be used for it. (what NearInfinity shows as BG2EE_SELECT_RARE1-4 as the former four works as the annoyed multiclick responses - and what it lists as BGEE_ACTION4-7 works as simple action 4-7).

    This also affects the Beamdog PC voices imported over to a lesser extent.

    EDIT/UPDATE - It probably would be better if this would be done during the BG resource import stage because while this affects some mods like Chatty Imoen and NPC mods, adding special-casing for this into EET_End would probably complicate things further (especially if the mods claim EET compatibility but does install themselves with the same voice issues the OG NPCs have now). I'll go through the compatible BG1 NPC mods at one point to have them updated with this.

  6. 4 hours ago, kjeron said:

    You're better off ignoring what's in SNDSLOT.IDS, and mapping it yourself with custom labels (per game) for each sound.  Use CHARSND.2da to determine if a slot is used by the game, not SNDSLOTS.IDS.

    Partially disagreeing with this one - the IWD1 slot restorations are not used in any of the new voicesets (thereby dummied out in CHARSND.2DA on all characters), but they are part of the game and they function and one's only aware of this if said one looked at SNDSLOT.IDS. I do agree one should use custom labels though and not what it provides, which is why in the EE soundset tool has human-readable variable names for the slots as well.

  7. There are subtle differences between handling. Select_Rare5-8 doesn't exist in all games and IIRC Action7's slot differs.

    https://github.com/Gibberlings3/EE_soundset_tool/blob/master/cd_soundsets/tph/cd_add_soundset.tph#L96-110 contains the order in the 2DA. Or just read the whole file because this is what you want to reimplement pretty much.

    I haven't looked at PSTEE because that's on a hardfork AFAIK and this 2.6 update doesn't roll out to it.

  8. @TaylanThe pseudo-code is mostly right. Mostly because it ignores the UI lua edit to switch the CHARSND.2DA coloumn header into a tlk entry and give the player a human-readable input instead of the WAV name (keep in mind that IE is limited to the 8.3 filename format) and to fall back to -1 on the entries which doesn't exist because the game is able to reroll the sound variant where it's supported so you don't have to duplicate sounds just to fill the variants (was a nice assumption though). How proper Python it is, I've no idea though (personal opinion; Python itself is ugly compared to C/C++/C#) and honestly I agree with @subtledoctor here, reinventing the wheel because "it's not a general-purpose language" does sound like a lot of wasted effort for covering the sheer amount of things WeiDU accomplished.

    Funnily I'm coming from a modding community where the games are modded through INIs and I tell you - INI is severely limited, because it offers little grouping (sure this isn't required for soundsets but for the rest it will). C&C Generals devs broke the INI format for their own gain back in 2002-2003 and when OpenRA started, it also ran into issues with INI's limitations and they went with a YAML subset in the end instead (which is relevant because YAML would work better as a general-purpose "decompiled" variant of some of the file formats here). Your example also ignores the fact that you need to extract CHARSND.2da first from the game (something which WeiDU covers, haven't looked up iesh to see if that does as well).

    In my topic, there are two people already who have posted custom soundsets using my mods as template. I can understand that if you only want to touch soundsets, then WeiDU is a huge burden to deal with and offers more complications than bonuses in this regard, but I don't think that is enough to justify reinventing a wheel.

  9. 17 hours ago, Taylan said:

    EDIT: Looks like someone beat me to it when it comes to writing a smart sound set installer:

    https://forums.beamdog.com/discussion/82008/

    https://github.com/GraionDilach/Planescape-Torment-Voice-Pack-for-EE-2.6

    But that kinda proves my point when you look at the code. It's so over-complicated, defining huge tables and all. (Maybe there's still a better way to do it, dunno. Code clarity might not have been the top priority of the author.) And with that much complexity, you may as well use a regular programming language anyway.

    Hey, that's my thread!

    Code quality is actually a priority in that project  - it is based on https://github.com/Gibberlings3/EE_soundset_tool which is supposed to be the tutorial behind it - so could you explain the issues you have with it? I understand that there are some complications in it (and we just discussed this morning in the G3 Discord how to abstract away the prettyname additions with an inlined plaintext and normalize this up, I'll clean that up this week as soon as I find time for it and try to PR that into the tutorial mod). It is my first mod for the Infinity Engine though, so I can imagine some of that could be even better (esp. considering that the PST pack was what I started with, I'm realllllly not proud of some of the commits in it's history).

    The main aim there is to expose the least amount of mess to the novice modder though and the fact that this starts traified (and I include the optional prettyname UI edit to expose a human-friendly name to be exposed into a selection menu instead of the internal filename) requires some complication though. The strategy is to try to minimize the tp2 content to just what the soundset creator needs to declarea nd obscure everything else into the tpa macro (again, I know that the prettyname function violates this but that's because I always seen that as a messy haxxx workaround and I didn't know until this morning how to fix it properly).

    Sure this can be even simpler, you don't even need WeiDU for soundmods even. WeiDU only starts being required if you want to use a sound slot which doesn't have a single-character suffix and/or you want subtitle support.

    Yes, WeiDU isn't really a common language, but I don't consider it bad about it. I mean, you bring Python up and I couldn't stand that one at all back at the uni (disclaimer; I work as a Linux admin). In fact back at the uni I had neural networks as a course and working with WeiDU somewhat reminds me of that... both needs a different mindset compared to the more common and widely-known languages. It's still fairly human-readable for the most part so I guess it's still better than dealing with the formats in binary (and it uses regexp, that can be helpful in the longterm) .

    EDIT: Oh, @kjeron just FYI, 2.6 heavily expanded CHARSND.2DA. It has more than 70 elements by now, although some of them are padding, but basically the NPC slots are all available and listed now.

×
×
  • Create New...