blt4linux / blt4l

PAYDAY 2 SteamOS/Linux LUA loader.
Other
57 stars 14 forks source link

BLT 2 Update for BLT4Linux #79

Open dribbleondo opened 7 years ago

dribbleondo commented 7 years ago

May as well post it here, But I managed to port over the Base files from regular BLT to make it work on BLT4Linux. It admittedly wasn't that hard to do. I just had to delete calls relating to finding image files for mods.

Grab BLT4L 2.1 fix here Grab BLT4L 2.2.1 fix (this is more up to date!)

The only downsides are that because I've deleted the portion of the code that tells BLT to load images from mods, images don't load in the new swanky download manager. Also no controller support in the download manager...

The update isn't really necessary, but for those who want BLT 2 functionality in BLT4L, go nuts!

RomanHargrave commented 7 years ago

I was just thinking about this today.

I have some time before work tomorrow that I can take to see if any changes to the BLT native API are necessary for immediate compatibility with the BLT lua.

---- On Tue, 05 Sep 2017 00:34:48 -0700 notifications@github.com wrote ----

May as well post it here, But I managed to port over the Base files from regular BLT to make it work on BLT4Linux. It admittedly wasn't that hard to do. I just had to delete calls relating to finding image files for mods.

Grab it here

The only downside is that because I've deleted the portion of the code that tells BLT to load images from mods, images don't load in the new swanky download manager.

The update isn't really necessary, but for those who want BLT 2 functionality in BLT4L, go nuts!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

dribbleondo commented 7 years ago

So far, the only thing the loader appears to be missing is the ability to load icons from mods, but i'm sure you'll be able to find other things =)

Kazenin commented 7 years ago

May I download and test this newer version? Many mods does not work with current version of BLT4L

dribbleondo commented 7 years ago

Go ahead. It's made to work, though BLT 2 got an update to make the update system bit faster, so if you can hold off for a few hours, i'll update the relevant files for BLT4L compatibility.

On 6 September 2017 at 16:57, Kazenin notifications@github.com wrote:

May I download and test this newer version? Many mods does not work with current version of BLT4L

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/blt4linux/blt4l/issues/79#issuecomment-327530304, or mute the thread https://github.com/notifications/unsubscribe-auth/AInZsUnFc7o5Qav2eTudcacDWSVG4Tb0ks5sfsEFgaJpZM4PMjMs .

dribbleondo commented 7 years ago

Okay, new version is up HERE ,not tested it as i'm not on my Linux partition at the moment. Gotta play Paladins somehow =)

Kazenin commented 7 years ago

I will test here. By the way, I use Fedora 26 and I will feedback you later. Thanks, mate

dribbleondo commented 7 years ago

Okay, got onto my linux mint partition, and i made a boo boo: Here is the fixed version

Kazenin commented 7 years ago

Well, I tested.. and the game does not open. Verifying with ldd:

./libblt_loader.so: /lib64/libcurl.so.4: no version information available (required by ./libblt_loader.so)
    linux-vdso.so.1 (0x00007ffe49bfe000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f1bf4019000)
    libcrypto.so.1.0.0 => not found
    libcurl.so.4 => /lib64/libcurl.so.4 (0x00007f1bf3d99000)
    libz.so.1 => /lib64/libz.so.1 (0x00007f1bf3b82000)
    libc++.so.1 => /lib64/libc++.so.1 (0x00007f1bf38c4000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f1bf35ae000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f1bf3397000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f1bf2fc6000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f1bf443a000)
    libnghttp2.so.14 => /lib64/libnghttp2.so.14 (0x00007f1bf2da1000)
    libidn2.so.0 => /lib64/libidn2.so.0 (0x00007f1bf2b84000)
    libssh2.so.1 => /lib64/libssh2.so.1 (0x00007f1bf2957000)
    libpsl.so.5 => /lib64/libpsl.so.5 (0x00007f1bf2749000)
    libssl3.so => /lib64/libssl3.so (0x00007f1bf24fc000)
    libsmime3.so => /lib64/libsmime3.so (0x00007f1bf22d5000)
    libnss3.so => /lib64/libnss3.so (0x00007f1bf1fac000)
    libnssutil3.so => /lib64/libnssutil3.so (0x00007f1bf1d7c000)
    libplds4.so => /lib64/libplds4.so (0x00007f1bf1b78000)
    libplc4.so => /lib64/libplc4.so (0x00007f1bf1973000)
    libnspr4.so => /lib64/libnspr4.so (0x00007f1bf1734000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f1bf1515000)
    libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f1bf12c8000)
    libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f1bf0fe1000)
    libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f1bf0dae000)
    libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f1bf0baa000)
    liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007f1bf099b000)
    libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007f1bf0749000)
    libc++abi.so.1 => /lib64/libc++abi.so.1 (0x00007f1bf0501000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f1bf02f9000)
    libunistring.so.2 => /lib64/libunistring.so.2 (0x00007f1beff87000)
    libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f1befd1b000)
    libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f1bef890000)
    libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f1bef681000)
    libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f1bef47d000)
    libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f1bef264000)
    libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007f1bef047000)
    libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f1beee1f000)
    libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f1beebe9000)
    libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f1bee976000)
    libfreebl3.so => /lib64/libfreebl3.so (0x00007f1bee773000)

libcrypto.so.1.0.0 => not found. This package is already installed. Do you have any idea?

RomanHargrave commented 7 years ago

@kazenin

This package is already installed. Do you have any idea?

Make sure you have the 64-bit version installed, and then make sure that that package actually provides that file. Run ldconfig (as root) and check that the file shows up.

You either have a newer or older version, and thus an incompatible libcrypto, or your ld and library path is mismanaged/misconfigured.

Kazenin commented 7 years ago

@dribbleondo Do you have the source code and compile instructions? the pre built did not work for me. Thank you so much

dribbleondo commented 7 years ago

I should've clarified @Kazenin ,the loader is completely unchanged from BLT4L P1. the only thing that has changed is the files and folders within the "mods" folder. If you already have a working loader that you have compiled, then give that a go.

hellow554 commented 7 years ago

How does this differ from the original lua scripts? Okay, it only differs by the GetModImage function. My solution should be "the better one", because it makes it possible for me to show up the BLT Mod Menu.

Also: i do occur a strange error, because you commented out the GetModImage function completly. I managed to get it working by just returning nil

base/req/BLTMod.lua

function BLTMod:GetModImage()
    return nil
end
dribbleondo commented 7 years ago

I didn't think of that. I'll update my version to 2.2.2 later. @RomanHargrave I'd make a new prebuilt download (or nick the one I've made here) as some mods, once updated to be BLT 2 compatible, don't work at all on BLT 2 p1 or below.

RomanHargrave commented 7 years ago

@dribbleondo I'll run off a new set of prebuilts

@punkkeks BLT lua should be able to detect if its running with BLT4L because we have a version API. I need to let James know that so that we can at least get some compatibility

hellow554 commented 7 years ago

awesome, thank you :heart:

dribbleondo commented 7 years ago

Cheers @RomanHargrave . You da best.

RomanHargrave commented 7 years ago

@dribbleondo @punkkeks @Kazenin

Just to satisfy my curiosity, what distros do you guys use?

hellow554 commented 7 years ago

Arch Linux

dribbleondo commented 7 years ago

Linux Mint 18.2.

RomanHargrave commented 7 years ago

@dribbleondo @punkkeks @Kazenin @BangL @ZNixian @Ozymandias117 @LeonardKoenig @blt4linux/website @blt4linux/developers

I created a distro (mainly) survey: https://goo.gl/forms/7lxv8PBWpbiEyQUg1

It's also linked in the repo description.

Kazenin commented 7 years ago

@RomanHargrave thanks for newer version. I compiled here and works great. But, some mods does not work yet. See the list:

1 - Assault survived 2 - Assault states 3 - Nepgearsy HUD

and other BLT 2.x version mods.

RomanHargrave commented 7 years ago

Do you know why they don't work?

RomanHargrave commented 7 years ago

@dribbleondo new builds @ https://github.com/blt4linux/blt4l/releases/tag/2.0-pre2

Kazenin commented 7 years ago

I don`t know but, all mods are detected by BLT and in game these mods does not work. the developer told me that it gave compatibility to version 2 of the BLT. So I believe this is the problem.

RomanHargrave commented 7 years ago

Are you using version 2 of the BLT base?

Kazenin commented 7 years ago

the base folder ?

Kazenin commented 7 years ago

If I use the base folder from the newer version the "mod options" not appears

BangL commented 7 years ago

using the old base folder is not an option at all, the new blt needs the new one.

for more info about the mod options, see this: https://github.com/JamesWilko/Payday-2-BLT/issues/140

Kazenin commented 7 years ago

Nice. I created new save files and all works correctly, except mods with xml config files. Thank you

dribbleondo commented 7 years ago

@RomanHargrave It may be wise to tell people going to the downloads page to use the new "mods" folder if upgrading from BLT to BLT2, as not many people may know that there have been some folder changes too.

EDIT: Tried the new BLT, and the Base folder needs to be updated. It breaks HUD mods, and the new Base folder has backwards compatibility anyway.

MEXAHOTABOP commented 7 years ago

wolfhud have problems with blt4l tested on 2.0pre2 with fresh mods folder after wolfhud commit https://github.com/Kamikaze94/WolfHUD/commit/7e461d5a32672b26799a639f20a5fdbdfd82ced7 its looks like look at menu menu text broken, game have very poor fps and all buttons inactive log https://gist.github.com/MEXAHOTABOP/da3d6f11c2132e599f17c930830b0915

dribbleondo commented 7 years ago

Nag @RomanHargrave to update the Base folder.

Kazenin commented 7 years ago

When I use WolfHUD the game does not load

MEXAHOTABOP commented 7 years ago

@Kazenin you use git version of wolfhud? you removed old mods folder?

Kazenin commented 7 years ago

@MEXAHOTABOP the wolfHUD version is 10e6df7 and I am using the latest version of base mods folder

dribbleondo commented 7 years ago

When I get back onto Mint @Kazenin i'll take a gander.

MEXAHOTABOP commented 7 years ago

you can try (re)move old mods folder and install in fresh mods folder from pre2 to be sure

but anyway its useless because https://github.com/blt4linux/blt4l/issues/79#issuecomment-329131566

if you need wolfhud then download pre blt2 revision for example https://github.com/Kamikaze94/WolfHUD/commit/ae91f2c57526bc5cc5f19ca11ad6dbc5a68c3190 this will work even with old blt4l

git checkout ae91f2c57526bc5cc5f19ca11ad6dbc5a68c3190

RomanHargrave commented 7 years ago

@dribbleondo

Nag @RomanHargrave to update the Base folder.

Done @ 7867157

Kazenin commented 7 years ago

@MEXAHOTABOP thanks for the tip. works fine. @RomanHargrave thanks for newer version of blt4l. But I needed to use @ZNixian solution for crash on game start #69

dribbleondo commented 7 years ago

@Kazenin WolfHUD appears to crash because it's trying to find BLT.mod, which is a variable found in /base/req/BLTMod.lua, something which isn't in the BLT4L base folder for some reason. Why @RomanHargrave hasn't changed over to the new BLT2 format completely is a mystery. though it could be to do with the loading of images.

It also has the unfortunate side-effect of BLT2-updated mods can't use their own settings menu, as it won't appear.

BangL commented 7 years ago

hey my linux loving friends... i might have something useful for you guys here.. i recently created a mod that disables loading of images completely, since i dont think these images are worth the increased loading times. this means the missing DB: functions are never called when using this mod. http://paydaymods.com/mods/551/mll

the hash functions will still be missing, therefore auto update checks at start will fail as well. this can be surpressed by this (secret) mod: http://download.paydaymods.com/download/latest/554

hope this helps

dribbleondo commented 7 years ago

@BangL I was going to suggest to you on MWS to try and find out if you can incorporate these into BLT somehow. But since you found this place, no need! At the very least, an option checkbox should be made for those who want images.

BangL commented 7 years ago

@dribbleondo currently its hard to incorporate anything into BLT since Wilko, who is pretty much the only one who can accept pull requests, kinda left us alone with this half-baked draft of blt2 and doesnt seem to look into pull requests for atleast 8 days already now, as you can see here: https://github.com/JamesWilko/Payday-2-BLT-Lua/pulls

EDIT: ..which is btw also the reason for this: https://modworkshop.net/mydownloads.php?action=view_down&did=20879

dribbleondo commented 7 years ago

@BangL Yeah, it's kind of a shame. That being said, i'll probably go through that list and do one gigantic pull request for BLT4L to fix the problems in those pull requests. Though i'll doa seperate pull request for keybinds as that's annoying me the most.

It's overkills fault btw that I have a small understanding of Lua.

EDIT: I've made a fork which adds base files to BLT4L here as a way of making pull requests for commits to BLT4L, and to add the new base files.

ZNixian commented 7 years ago

RomanHargrave hasn't changed over to the new BLT2 format completely is a mystery. though it could be to do with the loading of images.

@dribbleondo Is this in the version of base supplied, or something in C? If it's the latter, I could probably fix it quickly for you.

Kazenin commented 7 years ago

Please, test this mod: Assault States It is not working with this version of blt4l. And yes, the base folder is updated.

ZNixian commented 7 years ago

@Kazenin Crashing? Not doing what it's supposed to? What do I need to do to reproduce it?

Kazenin commented 7 years ago

@ZNixian this mod is loaded, because I see in options > lua mods, but in gameplay does not work. The assault banner is not changed, like this

ZNixian commented 7 years ago

@Kazenin ok, thanks.

BangL commented 7 years ago

assault states depends on beardlib. and i doubt that beardlib is working well on linux