Jump to content

Cross-platform Infinity Engine Mod Package - brainstorming


AL|EN

Infinity Engine Mod Package file extension  

10 members have voted

You do not have permission to vote in this poll, or see the poll results. Please sign in or register to vote in this poll.

Recommended Posts

I'm not sure what the "bad thing" refers to. Either way, running weidu doesn't need a console, you just have to manually tell it when clicking (usually only once btw, double clicking is not the default to trigger actions) ... unless the mime type has been registered like Wisp already mentioned. In which case it works automatically and there's no need for per-mod hacks whatsoever. But yes, something has to do it initially and it's not clear what should bear that responsibility.

Link to post
On 7/16/2019 at 4:02 AM, AL|EN said:

Let me understand what you actually trying to achieve:

I'm not trying to achieve anything in particular.  Just to keep things as simple and easy as possible for the user.  The current versions of mods for MacOS are kind of a mess. 

In any event I've updated the MWL (MacOS Weidu Launcher, yes I'm going to starts using a super-cool acronym 😎 ) and I think it beats any other existing way to install mods.  So what interests me most is that the download file format includes an easy way for Mac users to put the mod folder, and only the mod folder, into their game directory.

 

EDIT - actually I can be clearer than that. I'm from a time when the underlying architectures were vastly different and lots of mods didn't work at all on Macs without lots of work adapting them. 

If it seems like I don't really care about the .command files you want to include with mods, it's because those are only ever going to be included with a fraction of the mods out there, and they aren't going to go very far to make things better for players on that platform. I think it's much more important to put efforts into making sure the underlying mods themselves actually work. 

Edited by subtledoctor
Link to post

Also, the way G3 mods preface their download filenames with "osx-" drives me fracking bonkers.  First of all, that's not even the name of the operating system anymore.  Second, and much more importantly, it disrupts the alphabetical file sorting in my downloads folder and make it hard to browse for stuff I'm looking for.  ("Where's the Glam Vrock NPC pack again?  Oh right, under "o" 🙄 )

Link to post
3 hours ago, subtledoctor said:

Also, the way G3 mods preface their download filenames with "osx-" drives me fracking bonkers.  First of all, that's not even the name of the operating system anymore.  Second, and much more importantly, it disrupts the alphabetical file sorting in my downloads folder and make it hard to browse for stuff I'm looking for.  ("Where's the Glam Vrock NPC pack again?  Oh right, under "o" 🙄 )

Yep, it makes me angry too! Ii's the same story with 'setup-modname.exe' in order to modify selected mod components. Lucky, when you have one zip file for all platforms, it doesn't  need os prefix.

Link to post

Looking at the contents of the example cross-platform package, the Mac version of WeiDU is used for the "setup-modexample" executable; however, the readmes and the script ("runs-on: ubuntu-latest") indicate that the cross-platform package works on Linux. Will the Mac WeiDU magically run on Linux or is the player currently still required to manually download and replace the installer?

Edited by skellytz
Link to post

@skellytz The "cross-platform" refers to .iemod package which doesn't have weidu executable. Mod manager will handle the installation by calling it's own provisioned weidu. When it comes to the .zip packages (or downloaded master branch as zip) and linux, nothing has been changed and I understand that this is extremely uncomfortable. If you have any idea how to make things better for linux users, feel free to share.

Link to post

Sorry for chiming in so late, I don't know if it's still relevant, but anyway:

  1. I think that .iemod thing is good in general.
  2. I don't care about the extension specifically, it could've been zip as far as I'm concerned. I guess it's more convenient for Windows users to have a specialized extension, though.
  3. I agree that there's no reason to pack copies of weidu and other tools within .iemod. It's specifically desigined to be consumed by mod managers, and mod managers can take care of the tools themselves.

  4. I do not understand the fuss about including or not including weidu executable inside, as well as other files (tisunpack.exe, thumbs.db and whatever). I would rather think of this in terms of IFTT (if this than that). What are you going to do if "setup-mymod.exe is included", and why?
    - Not including it is not a problem, as far as I can see.
    - Including it is not also not a problem, as far as I can see. A mod manager doesn't have to use files that exist on filesystem.
    OR do you actually plan to abort mod installation because there are files you don't like inside? (Aren't you causing the problem you wanted to avoid in the first place??)
    @AL|EN has pointed out to me that some antiviruses throw a false positive on weidu. I say: this is a problem with these antiviruses. Not with weidu. If a user purchased an antivirus, and it throws a false positive, it's the antivirus' fault. It must be communicated clearly to the user, the company producing the antivirus, and all other involved parties. I shall not budge a single inch on this.

  5. All the talking and agreeing is nice, but I do not see the actual file format definition. Not as an editable forum post, but as something versionable, like an .md doc on github, at least? The reason I'm asking is that I might want/need to add automatic packaging to Golem.

Link to post
On 1/16/2020 at 7:25 PM, qwerty1234567 said:
  1. All the talking and agreeing is nice, but I do not see the actual file format definition. Not as an editable forum post, but as something versionable, like an .md doc on github, at least? The reason I'm asking is that I might want/need to add automatic packaging to Golem.

First draft: https://github.com/WeiDUorg/zeitgeist/blob/master/iemod_spec

Some issues remain:

1. A tighter specification of the ZIP format and allowed/disallowed features. I need to do some boning up.

2. I can see legitimate reasons for why a mod might want to include archive files in the mod package, and I really don't think we are at a point where we can safely exclude .bat files from mod packages, so table may-exclude may be trimmed a bit.

3. Possibly some mention of files/directories that differ only in case, or maybe ZIP already has that covered.

Edited by Wisp
Link to post

@Wisp

1. Primary goal is compatibility with all/most OSs and unzipping tools so my vote goes for: Store (no compression), Deflate

2. Regarding .bat - are you thinking about legacy mods which uses .bat in order to handle ogg>wav audio? Regarding archives inside archives - it is probably the edge case and should not affect anything.

3. Zip can store case-sensitive files or even the duplication of the same files but during extraction, files are overwritten.

P.S You need to add .md file extension in order to get properly formatted markdown.

Edited by AL|EN
Link to post

2. That and TIZ stuff. IEMOD is platform-agnostic, but it seems unnecessary to demand the contents are, as well. Especially since it means legacy mods could not be repackaged without being re-coded. Archives - right, it is of no particular concern if the IEMOD contains any, and it's unlikely enough that it would.

4. Anyway, I've updated the spec with some technical details, notably I think we need to specify that the contents should be in UTF-8, or extra-ASCII characters won't translate across locales. Seems less restrictive than requiring everything to be in ASCII. Diff.

Link to post
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...