Momodora: Reverie Under the Moonlight
 กระทู้นี้ถูกปักหมุด เพราะฉะนั้นอาจเป็นกระทู้สำคัญ
rdein  [ผู้พัฒนา] 15 ก.พ. 2018 @ 8: 50am
Bugs in Linux/Mac Release
Troubleshooting - Linux

Issue: Achievements aren't unlocking
Solution: Try launching the game from the terminal

--

Current issues under investigation

Mac/Linux (?)
-Crash when beating Choir boss http://steamcommunity.com/app/428550/discussions/0/2860219962082753445/?ctp=5#c2860219962089144396

Mac
-Game crash related to gamepad: http://steamcommunity.com/app/428550/discussions/0/2860219962082753445/?ctp=5#c2860219962089156588

Linux
-libcurl version `CURL_OPENSSL_3' not found http://steamcommunity.com/app/428550/discussions/0/2860219962082753445/?ctp=4#c2860219962086146590
แก้ไขล่าสุดโดย rdein; 7 พ.ค. 2018 @ 11: 13am
< >
กำลังแสดง 46-60 จาก 310 ความเห็น
[Linux FIX] libcurl version `CURL_OPENSSL_3' not found

On some distros, like Arch, libcurl.so.4 is built against gnutls, which prevents native Steam from running the game. To fix this, you need to convince the game to use libcurl.so.3 instead, else the game will crash with the error:

$ ./MomodoraRUtM ./MomodoraRUtM: /usr/lib32/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by ./MomodoraRUtM)

Option 1
Since it's just one library it's easy to preload another version of the library as launch option (properties: "General>Set Launch Options..."):
LD_PRELOAD=/usr/lib32/libcurl.so.3 %command%
The path might differ depending on your installation.

Option 2
Symlink the correct library and search the game directory for libraries.
  1. Open a terminal in or cd to the game directory ("steamapps/common/Momodora RUtM")

  2. Create a symlink to the 32bit system library ending in .3 but name it .4
    ln -s /usr/lib32/libcurl.so.3 ./libcurl.so.4
    The game folder now contains (ls -l):
    assets libcurl.so.4 -> /usr/lib32/libcurl.so.3 libsteam_api.so MomodoraRUtM

  3. Make the game prefer libraries in its own directory when loading.
    The update-safe way to do this without modifying the game files would be to go to the game properties and set "General>Set Launch Options..." to
    LD_LIBRARY_PATH=$(pwd):$LD_LIBRARY_PATH %command%
    What this does is add the game folder to the beginning of the library search path list, so our symlink from the previous step is used.

//Update: Thanks to sarcastic cat for further explanation.

แก้ไขล่าสุดโดย kekstee; 17 ก.พ. 2018 @ 3: 19pm
rdein  [ผู้พัฒนา] 16 ก.พ. 2018 @ 4: 59am 
I'll merge this with the Linux Bugs thread so we can have it all in one place!
If I go left at the start and jump off the boat and die, I get the below message when i click retry.

https://imgur.com/a/vIbFL
โพสต์ดั้งเดิมโดย eggman:
If I go left at the start and jump off the boat and die, I get the below message when i click retry.

https://imgur.com/a/vIbFL
This is the same locale bug as with savegames.
rdein  [ผู้พัฒนา] 16 ก.พ. 2018 @ 8: 39am 
โพสต์ดั้งเดิมโดย eggman:
If I go left at the start and jump off the boat and die, I get the below message when i click retry.

https://imgur.com/a/vIbFL

That's the same issue as you posted previously, actually. Try setting up the launch options as noted in some posts in page 2 and it should hopefully fix the save problem
Hey rdein, thanks so much for the Linux release! I really appreciate it :gonheart:

I'm having a bug with the controller support.

I think it's just using the first gamepad it finds, which unfortunately for me is a problem because for some reason in Linux my mouse shows up as a gamepad and is always first in the list. So when I get into the game it's acting as if I'm always pressing down-and-right on the d-pad.

Here's the console output dealing with the gamepads:
GAMEPAD: Initialising Ubuntu support Attempting to set gamepadcount to 4 GAMEPAD: Enumerating 3 GAMEPAD: device name Corsair Corsair M65 RGB Gaming Mouse GAMEPAD: buttons - 32, axes - 24 GAMEPAD: Enumerating 4 GAMEPAD: device name Sony Interactive Entertainment Wireless Controller GAMEPAD: buttons - 13, axes - 8

I know it's a weird scenario, so maybe there could just be an option in the config file to manually override the gamepad "slot" that it uses?

I actually ran into this same issue with Risk of Rain in Linux (which is also using GameMaker: Studio) and they completely ignored my bug reports. I still can't play it to this day :lilimsob:
rdein  [ผู้พัฒนา] 16 ก.พ. 2018 @ 9: 06am 
โพสต์ดั้งเดิมโดย svanheulen:
Hey rdein, thanks so much for the Linux release! I really appreciate it :gonheart:

I'm having a bug with the controller support.

I think it's just using the first gamepad it finds, which unfortunately for me is a problem because for some reason in Linux my mouse shows up as a gamepad and is always first in the list. So when I get into the game it's acting as if I'm always pressing down-and-right on the d-pad.

Here's the console output dealing with the gamepads:
GAMEPAD: Initialising Ubuntu support Attempting to set gamepadcount to 4 GAMEPAD: Enumerating 3 GAMEPAD: device name Corsair Corsair M65 RGB Gaming Mouse GAMEPAD: buttons - 32, axes - 24 GAMEPAD: Enumerating 4 GAMEPAD: device name Sony Interactive Entertainment Wireless Controller GAMEPAD: buttons - 13, axes - 8

I know it's a weird scenario, so maybe there could just be an option in the config file to manually override the gamepad "slot" that it uses?

I actually ran into this same issue with Risk of Rain in Linux (which is also using GameMaker: Studio) and they completely ignored my bug reports. I still can't play it to this day :lilimsob:

I can't do anything about it myself, but this will looked into next week! My apologies for the inconvenience.
แก้ไขล่าสุดโดย rdein; 16 ก.พ. 2018 @ 9: 06am
โพสต์ดั้งเดิมโดย svanheulen:
Hey rdein, thanks so much for the Linux release! I really appreciate it :gonheart:

I'm having a bug with the controller support.

I think it's just using the first gamepad it finds, which unfortunately for me is a problem because for some reason in Linux my mouse shows up as a gamepad and is always first in the list. So when I get into the game it's acting as if I'm always pressing down-and-right on the d-pad.

Here's the console output dealing with the gamepads:
GAMEPAD: Initialising Ubuntu support Attempting to set gamepadcount to 4 GAMEPAD: Enumerating 3 GAMEPAD: device name Corsair Corsair M65 RGB Gaming Mouse GAMEPAD: buttons - 32, axes - 24 GAMEPAD: Enumerating 4 GAMEPAD: device name Sony Interactive Entertainment Wireless Controller GAMEPAD: buttons - 13, axes - 8

I know it's a weird scenario, so maybe there could just be an option in the config file to manually override the gamepad "slot" that it uses?

I actually ran into this same issue with Risk of Rain in Linux (which is also using GameMaker: Studio) and they completely ignored my bug reports. I still can't play it to this day :lilimsob:
Sadly, it looks like GameMaker completely ignores anything beyond js0. Internetz are full of such reports for different games.
You can "fix" it by rm-ing /dev/input/js0 and symlinking /dev/input/js1 (or actual gamepad device) to it. For a more permanent solution you can try https://github.com/denilsonsa/udev-joystick-blacklist
rdein  [ผู้พัฒนา] 16 ก.พ. 2018 @ 9: 31am 
I opened the source code (Windows, but this part should be the same for all platforms) real quick and we have it like this:

// Current gamepad_device
gamepad_device = 0;

// Set first available gamepad as controlling gamepad
var gp_num = gamepad_get_device_count();
show_debug_message('gamepad get device count: ' + string(gp_num))
for (var i = 0; i < gp_num; i++;)
{
if gamepad_is_connected(i)
{
gamepad_device = i;
show_debug_message('gamepad connected on slot ' + string(i))
break;
}
else
{
show_debug_message('gamepad not connected!!!!')
}
}

(Please excuse the very unprofessional debug messages. EDIT: and the lack of formatting, thanks Steam)

If you are familiar with Game Maker Studio you'll notice that it's basically a copy and paste from the documentation, which is the recommended practice.

What this does, though, is that it only picks one device to act as gamepad. At least that's what should be happening. The reports here are that mouse AND gamepad are being recognized at the same time, which shouldn't be possible as the gamepad_device variable can only hold one value (0 for mouse, or 1 for gamepad). That's why this is a bit confusing.

I could of course try to force it to be 1 by default, or 2 or whatever number the user wants, but would that even fix this issue?
แก้ไขล่าสุดโดย rdein; 16 ก.พ. 2018 @ 9: 34am
โพสต์ดั้งเดิมโดย rdein:
I opened the source code (Windows, but this part should be the same for all platforms) real quick and we have it like this:

// Current gamepad_device
gamepad_device = 0;

// Set first available gamepad as controlling gamepad
var gp_num = gamepad_get_device_count();
show_debug_message('gamepad get device count: ' + string(gp_num))
for (var i = 0; i < gp_num; i++;)
{
if gamepad_is_connected(i)
{
gamepad_device = i;
show_debug_message('gamepad connected on slot ' + string(i))
break;
}
else
{
show_debug_message('gamepad not connected!!!!')
}
}

(Please excuse the very unprofessional debug messages. EDIT: and the lack of formatting, thanks Steam)

If you are familiar with Game Maker Studio you'll notice that it's basically a copy and paste from the documentation, which is the recommended practice.

What this does, though, is that it only picks one device to act as gamepad. At least that's what should be happening. The reports here are that mouse AND gamepad are being recognized at the same time, which shouldn't be possible as the gamepad_device variable can only hold one value (0 for mouse, or 1 for gamepad). That's why this is a bit confusing.

I could of course try to force it to be 1 by default, or 2 or whatever number the user wants, but would that even fix this issue?

Nope, but that would probably break gamepad for everyone else.
The real problem is that on Linux some mouses (and probably other devices) are presented both as mouse and as gamepad, e.g. as two different devices. So gamemaker (and your code) will rightfully think that it's a gamepad. I can't really think of any way of fixing it from gamemaker/momodora side, except whitelist or blacklist of devices.
That's really a linux bug, rather than GM/Momodora.
โพสต์ดั้งเดิมโดย rdein:
I opened the source code (Windows, but this part should be the same for all platforms) real quick and we have it like this:

// Current gamepad_device
gamepad_device = 0;

// Set first available gamepad as controlling gamepad
var gp_num = gamepad_get_device_count();
show_debug_message('gamepad get device count: ' + string(gp_num))
for (var i = 0; i < gp_num; i++;)
{
if gamepad_is_connected(i)
{
gamepad_device = i;
show_debug_message('gamepad connected on slot ' + string(i))
break;
}
else
{
show_debug_message('gamepad not connected!!!!')
}
}

(Please excuse the very unprofessional debug messages. EDIT: and the lack of formatting, thanks Steam)

If you are familiar with Game Maker Studio you'll notice that it's basically a copy and paste from the documentation, which is the recommended practice.

What this does, though, is that it only picks one device to act as gamepad. At least that's what should be happening. The reports here are that mouse AND gamepad are being recognized at the same time, which shouldn't be possible as the gamepad_device variable can only hold one value (0 for mouse, or 1 for gamepad). That's why this is a bit confusing.

I could of course try to force it to be 1 by default, or 2 or whatever number the user wants, but would that even fix this issue?
I think my issue is that Linux actually sets up my mouse as a joystick/gamepad, that's why the game is selecting it. From what "sarcastic cat" said, it's probably not fixable on your end, but I'll test out the fix they suggested and let you know.
rdein  [ผู้พัฒนา] 16 ก.พ. 2018 @ 9: 43am 
Did I misread it then? I thought it was reported that gamepads were working, but on top of it there was extra mouse input that was also affecting movement. If it's only one or another, it could be an option in the config.ini for the user to pick the "slot".
rdein  [ผู้พัฒนา] 16 ก.พ. 2018 @ 9: 46am 
โพสต์ดั้งเดิมโดย sarcastic cat:
Nope, but that would probably break gamepad for everyone else.

We could make it optional just for those players who have this issue in the first place. It will require manual editing of a file on their end. For everyone else, the game will pick the first gamepad it finds normally (as it is now).
แก้ไขล่าสุดโดย rdein; 16 ก.พ. 2018 @ 9: 47am
โพสต์ดั้งเดิมโดย rdein:
Did I misread it then? I thought it was reported that gamepads were working, but on top of it there was extra mouse input that was also affecting movement. If it's only one or another, it could be an option in the config.ini for the user to pick the "slot".
Yep, option in config should work.
โพสต์ดั้งเดิมโดย rdein:
Did I misread it then? I thought it was reported that gamepads were working, but on top of it there was extra mouse input that was also affecting movement. If it's only one or another, it could be an option in the config.ini for the user to pick the "slot".
Ideal solution would be adding selection to options (using gamepad_get_description to get gamepad name). This would also help in another corner case: when user actually has multiple gamepads connected.
< >
กำลังแสดง 46-60 จาก 310 ความเห็น
ต่อหน้า: 1530 50