Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What's the status of this repo? #20

Open
cloudrac3r opened this issue Dec 16, 2018 · 17 comments
Open

What's the status of this repo? #20

cloudrac3r opened this issue Dec 16, 2018 · 17 comments

Comments

@cloudrac3r
Copy link

I run Linux. I want to play OneShot, and I want a good first experience. I don't have a physical Windows machine.

I tried running the game in a virtual machine, and the closest I've got so far is Windows 7 in VirtualBox, and the game actually starts, but the floor texture disappears whenever I change rooms (but only after leaving the first building). It comes back when I restart the game. This is obviously not ideal.

I could try using Steam Play/Proton, but according to the ProtonDB entry the "meta" elements of the game don't really transfer over too well. I've seen a few of these meta elements already.

I see that you're still updating this repo, so my hopes are high, but is it actually a good idea to try using this repo for my first playthrough, or will the experience just sort of fall apart?

Sorry for opening an issue for this, but I couldn't find another place to contact you at. If you want to reply privately, you're more than welcome to use the contact details from here.

@KockaAdmiralac
Copy link
Contributor

(Not a maintainer of this repo but I worked on the Linux port that got merged into here.) I use a build script to build this on Linux. What distribution and desktop environment are you using?

I haven't yet gotten to packaging this into a single executable because of some dependency issues (and switching to a new build system) but if you're having issues with the build you can either reply here or contact me via mail ([email protected]) or Discord (KockaAdmiralac#9306).

@queengooborg
Copy link
Contributor

queengooborg commented Dec 16, 2018

Officially, we're also working on the Linux port as a fork of this repository, found on Gooborg Studios' account. @KockaAdmiralac is working on the Linux portions of this fork, and the build script minus dependency installation is included there. 😉

@cloudrac3r
Copy link
Author

Ubuntu 18.04, Openbox WM.

You're saying that GooborgStudios/synglechance#linux is the way to go for the most accurate experience?

@queengooborg
Copy link
Contributor

That's correct! It's where we've implemented all the Linux code and whatnot. 😉

@cloudrac3r
Copy link
Author

Thanks! I'll give that a try. Should I use KockaAdmiralac's build script for that repo? Or should I read the readme and figure it out myself?

@queengooborg
Copy link
Contributor

queengooborg commented Dec 17, 2018

Kocka's build script is more robust than the one in the repository. I would use theirs as it installs the required dependencies along with compiling the game code!

Edit: Actually reading through it a little, I realize that Kocka's script already uses the fork. XD

@cloudrac3r
Copy link
Author

Thank you so much for your help! I'll try that now.

@cloudrac3r
Copy link
Author

cloudrac3r commented Dec 17, 2018

So, partial success.

apt install can't find ruby-2.3, so I install 2.5 instead.

SDL2_image fails on the make install step. I install libsdl2-image-dev from the package manager and execute the other commands in the script one by one.

qmake can't find ruby 2.3, so I change the .pro file to make it look for 2.5 instead.

Everything else seems to work, but running the new OneShot binary says that it couldn't initialise the SteamWorks API. I assume that since I just compiled the game engine, I have the put the data files from Steam into some folder so it can find them, but I don't know how to do that.

@KockaAdmiralac
Copy link
Contributor

To resolve the SteamWorks API error, you can try recompiling without Steam support by removing STEAM from flags in mkxp.pro and also removing the block that mentions steam.cpp/steamshim_child.cpp (leaving steam-binding.cpp) should be alright.

If you want Steam support as well, you can compile the Steamshim parent, create steam_appid.txt file with 420530 as its contents inside the same directory as the OneShot executable, rename OneShot to oneshot, place the Steamshim parent inside that directory and run it.

What does the echo $XDG_CURRENT_DESKTOP command output for you?

@cloudrac3r
Copy link
Author

cloudrac3r commented Dec 17, 2018

Removed the recommended instances of steam from mkxp.pro, then ran qmake, make, cp and ruby from the script file to hopefully update those changes.

Game window opens to a black screen, then instantly closes and I get:

$ ./OneShot
ALC_SOFT_pause_device present 
GL Vendor    : X.Org 
GL Renderer  : Radeon RX 570 Series (POLARIS10 / DRM 3.23.0 / 4.15.0-38-generic, LLVM 6.0.0) 
GL Version   : 3.0 Mesa 18.0.5 
GLSL Version : 1.30 
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_M_construct null not valid
Aborted (core dumped)

What does the echo $XDG_CURRENT_DESKTOP command output for you?

Empty string. (Output is a blank line.)

@KockaAdmiralac
Copy link
Contributor

Interesting. It never really segfaulted for me that early during startup, so I'll have to install Openbox to investigate this.

The build script probably didn't mention or do this, but the files from synglechance/patches/assets need to be copied to the directory with the built executable (while merging the directories). Then copy OneShot's Windows files into that directory (while merging the directories but not overwriting the files, Data/xScripts.rxdata and the patches must not be overwritten) and the game should, under normal circumstances, be playable from that point. If you don't have OneShot's Windows files, the build script installs SteamCMD from which you can download them so you can:

  • Run steamcmd command
  • Run login <username> to log in to Steam
  • Run @sSteamCmdForcePlatformType windows
  • Use app_update 420530 validate and the files should be downloaded to ~/.steam/steamapps/common/OneShot

If it doesn't work past that point then it's an issue with the executable itself.

@cloudrac3r
Copy link
Author

It still segfaults.

I was planning to install a new OS soon anyway, so I could do that now and then try OneShot again, starting from scratch. Might work out. I've got a feeling something's wrong with my current setup.

@KockaAdmiralac
Copy link
Contributor

I believe the issue is that you don't have a DE so this tries to create a string out of NULL:

std::string desktop(getenv("XDG_CURRENT_DESKTOP"));

I'll try to fix this today, but I don't know if I'll be able to replicate changing the desktop background on Openbox soon.

@cloudrac3r
Copy link
Author

Openbox doesn't have a built-in way to set the desktop background. Most people, including me, install and use feh:

feh --bg-fill "/home/cloud/path/picture.png"

This is "fill" mode, so the background will be uniformly zoomed to cover the entire screen. The image doesn't stretch and there aren't black bars. Parts of the image may be offscreen if the aspect ratios are different.

@queengooborg
Copy link
Contributor

We'll probably use the fallback for "Other DEs" for Openbox. If feh isn't installed by default, we can't trust that it will always be there for us to use.

@KockaAdmiralac
Copy link
Contributor

I'm a bit late, but GooborgStudios@6ebb92c should fix the crash on Openbox. feh's logic for setting the background starts from here and it's... pretty complex. I'm not sure if we could handle something like that inside OneShot easily.

Anyways, could you do a git pull origin linux from the synglechance directory and then remake the executable and try to run it again?

@cloudrac3r
Copy link
Author

Note: I've since wiped out my Ubuntu install in favour of Arch. Everything outside /home has been destroyed. I did this because I've been encountering numerous issues with building other packages that worked fine before, and I didn't want you to waste your time on trying to deal with whatever jankery was going on.

I started over with Kocka's Arch install script (using the same directories and their contents as before) and the game now starts and appears to run fine after a moment of walking around and examining things.

Thank you SO much for your hard work on this port!

codedwrench pushed a commit to codedwrench/mkxp-oneshot that referenced this issue Nov 14, 2022
Cleanup (remove fiber, gamejolt and discord bindings)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants