anticitizn / creamlinux

CreamAPI-like DLC unlocker for Linux
MIT License
91 stars 12 forks source link

Cities Skylines #7

Open DoodleSchrank opened 1 year ago

DoodleSchrank commented 1 year ago

Heyo, I',m back at it again, newest version obv., this time with logs:

ERROR: ld.so: object '/home/user/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/user/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/user/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/user/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
cp: cannot stat '/home/user/.local/share/Steam/steamapps/common/Cities_Skylines/libsteam_api.so': No such file or directory
ERROR: ld.so: object '/home/user/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/tmp/lib64Creamlinux.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/tmp/libsteam_api.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/user/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/tmp/lib32Creamlinux.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/tmp/libsteam_api.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/user/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/tmp/lib32Creamlinux.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/tmp/libsteam_api.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/user/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/user/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/user/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
rm: cannot remove '/tmp/libsteam_api.so': No such file or directory

I hope this helps

anticitizn commented 1 year ago

Hi, thanks for testing and providing the logs. I don't have Cities Skylines yet unfortunately so I'm unable to do much until it's on sale, but I'll still look into it.

anticitizn commented 1 year ago

Quick update, managed to get Cities Skylines on sale. Will test in depth soon.

gospodin55 commented 1 year ago

libsteam_api.so for Cities Skylines seems to be at Cities_Data/Plugins/x86_64/libsteam_api.so, but if I change the script, the game just crashes after launch, maybe this happens because I run steam in flatpak

anticitizn commented 1 year ago

I got it to run with a modified launch script with the following launch parameters:

konsole --hold -e sh ./cream.sh "Cities.x64" %command%

However that still doesn't help with the DLCs. I looked a bit into what 20PercentRendered was doing to make it work and apparently some Unity games use a different mechanism to load shared libraries than Paradox games. I have some ideas on how to hook into dlsym without messing everything else up, but going through exams so don't expect anything too quick :P

ghahramani commented 2 months ago

Maybe look at https://cs.rin.ru/forum/viewtopic.php?f=29&t=70576 to see how it sorted out the problem, they have released it for linux as well and it works for CS 1 for linux native version