Jump to content

AL|EN

Modders
  • Content Count

    764
  • Joined

  • Last visited

About AL|EN

  • Birthday 03/22/1982

Profile Information

  • Gender
    Male
  • Location
    Poland

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I was able to create what I wanted for macOS. But I can't get away the feeling that it's overkill. I even created a version which allows for pining specified version of WeiDU for the first installation of the mod, but it breaks re-installation - I guess such feature must be part of proper mod manager, not some custom script which cannot handle more complex logic. Variant 3 macOS: - it eliminates the need for WeiDU executable for every mod and even for initial installation of the first extracted mod - latest WeiDU version will be downloaded and shared globally, every time when the new version will be available online - works correctly regardless of 'MyMod\mymod.tp2' or 'MyMod\setup-mymod.tp2' - you can name the .command file "MyMod-Setup.command" if you care about 'setup' word and still keep "search by keyboard" feature #!/bin/bash cd "${0%/*}" ScriptName="${0##*/}" BaseName="${ScriptName%.*}" ID="${BaseName/setup-/}" ID="${ID/-setup/}" Version=$(git ls-remote --tags git://github.com/weiduorg/weidu.git | awk '{print $2}' | grep -v '{}' | awk -F"/" '{print $3}' | tail -n 1) Version=${Version/v/} Version=${Version/.*/} if ! [ -f "/usr/local/bin/weidu-$Version" ] ; then Name="WeiDU-Mac-$Version" Url="http://www.weidu.org/~thebigg/$Name.zip" wget -qO- $Url -O /tmp/$Name.zip && unzip -o -q /tmp/$Name.zip -d /tmp/ && rm /tmp/$Name.zip mv "/tmp/WeiDU-Mac/bin/amd64/weidu" "/usr/local/bin/weidu-$Version" && chmod +x "/usr/local/bin/weidu-$Version" fi # --no-exit-pause prevents 'double Enter' for macOS if [ -f "$ID/$ID.tp2" ] ; then "/usr/local/bin/weidu-$Version" "$ID/$ID.tp2" --no-exit-pause --log "$ID.debug" else "/usr/local/bin/weidu-$Version" "$ID/setup-$ID.tp2" --no-exit-pause --log "$ID.debug" fi It was fun hacking and experimenting, I will leave it here as a reference if someone wana try it.
  2. Well, the wariant 2 where the weidu is globally shared between mods and games cannot be used if there is no way to check (& download if missing) for a latest weidu version. Without such feature, avoiding distribution of the per-mod weidu executable is impossible.
  3. Does anyone thinks that 'setup-' is important for newcomers because it somehow indicate installation file?
  4. Let me understand what you actually trying to achieve: A. Distribute mod package with per-mod .command file + per-mod weidu = current, old ways of doing things B. Distribute mod package with per-mod .command file + global weidu = my new solution C. Distribute mod package with per-mod "Mac OS WeiDU Launcher" as .app + global weidu = you current method of mod distribution D. Distribute mod package with per-mod "Mac OS WeiDU Launcher" as .command + global weidu = is this is what you want? E. Distribute separate global "Mac OS WeiDU Launcher" (as app or as .command) + separate global weidu and separate mod package without either per-mod weidu, per-mod .command or per-mod "Mac OS WeiDU Launcher" as app/.command in it = this is what I would like to see It's the D variant which you are trying to achieve? Why I'm against 'keeping "Mac OS WeiDU Launcher" as part od mod package"? Because if a modder will use older version of this application and include it inside mod package, then it can overwrite new version which comes from new mods. Actually, no one is distributing mods like that and you won't find similar approach when you take look at the other games mod distribution.
  5. Moved game dir into /Users/you/Desktop, trying to launch setup-mymod.app, still the same issue. It appears that it's a new security model for Mojave.
  6. But I'm extracting "setup-mymod.app" into game directory, then I'm launching it. How I can do it otherwise? Do you have the same popups/Mojave? Ok, I've read beamdog reply
  7. Yes, the idea is to have two packages: one iemod with only mod files and zip with addition of three platform-specific stuff inside the mod archive: mymod.desktop, mymod.command and mymod.bat. The motivation is: currently, there is no released mod manager which works on macOS/Linux so the modders can't repack their mods and require mod manager which would open the .iemod files. So there is a need for temporary solution: creating two types of packages until there will be mod manager for macOS/Linux. So far, my proposed solution combines two worlds: not including per-mod weidu and at the same time keeping "Double-Click to install" feature. As for removing "interactive-installer parts" you said it: a fun guessing game, we have to confront today's reality, not some undecided future. Besides: it would be a matter of removing 3 files from mod package, that's all. P.S. AFAIK, "Zeigeist" support double-click for .iemod files and has "global weidu" support. Why not just release it and make the secondary package unnecessary?
  8. Sorry but I didn't understand any of this, my command works so I was counting on the feedback regarding 'How convince is to use it for linux players' under the assumption that they want to have the same, easy way of installing weidu mods as windows users.
  9. Well, there is one more issue with the concept of setup-modname.app: Mac OS Mojave, after launching .app: - first window with confirmation: - after clicking "OK" another window for confirmation: then finally console appears. And from what I've found, there is no way to avoid it (please correct me if I'm wrong, I'm not familiar with macOS at all) thus .command files still have one advantage of not requiring such confirmation (if using 'setup-modname' approach, I'm much more of a fan of separate 'mod manager')
  10. Yes Ups... not goona work Well, the nonsense bullish of 'setup-' strikes again...Just screw this, I guess this will enforce the standardization even more.
  11. @subtledoctor You don't have to care about 'setup-', trust me on this. Just use replace function from this https://stackoverflow.com/a/38042023 and remove 'setup-' from mod_name variable and execute the code above.
  12. @subtledoctor Quick tip: instead of creating symlink/alias, can you try to simply execute bundled weidu with parameters? Like this: ./weidu ${mod_name}/${mod_name}.tp2 --log "${mod_name}.debug"
  13. @subtledoctor So you basically want to exclude all weidu/weidu launchers from mod packages, right? Well, you can do this right now: Setp 1. Remove "Mac WeiDU Launcher.app" from you mods and also 'setup-modname.exe' Setp 2. Make announcment that you mods need "mod manager": in order to install mods, players have to: Automatic way: Windows: install via Project Infinity or "Zeigeist" macOS: install via "Mac WeiDU Launcher.app" or "Zeigeist" Linux: install via "Zeigeist" Manual way: - download weidu for you OS, extract it, rename to 'setup-modname' and launch Step .3 Profit. It's done, right? Or did I miss something? EDIT: Regarding 'burden for players' - it's only one 'extra' thing to download (same as one extra mod), requirements to use mod managers are totally normal thing for 90% of games. No one will complain that he need to download and use mod manager if it is in fact the easiest way to install mods. A modder or site hosing admin could literally change the destiny of ie mods in one day, for the better ofc.
  14. And I'm using it for program/application, it's weidu which I execute. The goal is to eliminate weidu executable from mod packages and still keeping 'Double-Click to install' feature. The .bat/.command/.desktop files would not be included inside .iemod archive at all. It's for .zip package version since modders still want them as of today.
  15. Second piece of the package content: universal mymod.desktop file for Linux The problem with Linux is that there is no easy way for "Double-Click feature out of the box", the only solution which I found is to use so called .desktop files: - it doesn't need to be edited, only renamed to reflect 'mymod' basename - it remove requirements to manually open shell - it has ability to self-elevate - when you click "Mark Executable" it will no longer require elevation 1. A variant which still requires Linux WeiDU inside package, doesn't require 'setup-' and still keep "double-click install" for players [Desktop Entry] Type=Application Name=iemoda Exec=bash -c "export fullpath=%k ; export ScriptName=${fullpath##/*/} ; export BaseName=${ScriptName%%.*} ; export ID=${BaseName/setup-/} ; chmod +x weidu ; fi ; ./weidu ${ID}/${ID}.tp2 --log ${ID}.debug ; ./weidu ${ID}/setup-${ID}.tp2 --log ${ID}.debug" Terminal=true - it eliminates the need for WeiDU executable for every mod but initial download of Linux WeiDU executable is required 2. A variant which doesn't require Linux WeiDU to be included inside package, doesn't require 'setup-' and still keep "double-click install" for players [Desktop Entry] Type=Application Name=iemoda Exec=bash -c "export fullpath=%k ; export ScriptName=${fullpath##/*/} ; export BaseName=${ScriptName%%.*} ; export ID=${BaseName/setup-/}; if ! [ -f weidu ] ; then wget 'https://onedrive.live.com/download?cid=E5A3B6F0BF342ED6&resid=E5A3B6F0BF342ED6%%21607964&authkey=%%21AASbkjCjybEpfJg' -O weidu -q ; chmod +x weidu ; fi ; ./weidu ${ID}/${ID}.tp2 --log ${ID}.debug ; ./weidu ${ID}/setup-${ID}.tp2 --log ${ID}.debug" Terminal=true - it eliminates the need for WeiDU executable for every mod and even for initial installation of the first extracted mod - it can be expanded in order to download the specified WeiDU version (but it might be challenge) @lynx @Angel As linux users, do you have any comments?
×