Comments (4)
This does however raise the issue of file permissions. When the binaries and assets are installed into a system folder (like /usr/share/...
), it is not possible to write level records and settings.bin
to disk without being root.
Having these files stored at user-local level, e.g. in ~/.local/share/marble-marcher-ce/...
, is preferable since that does not require additional permissions.
from marble-marcher-community-edition.
+1! I'd like to package this for NixOS, but right now I have to work around the lack of PREFIX, and there's still the settings.bin problem
from marble-marcher-community-edition.
@fgaz This is tangential, but I created a nix derivation that appears to work, except that input doesn't work correctly (ball rolls to the left as if A was constantly held and the other keys don't seem to affect movement) but I don't know if that's related to the packaging or some other factor in my environment.
{ cmake, makeWrapper, stdenv, eigen, sfml, anttweakbar, glew, glm, openalSoft }:
stdenv.mkDerivation {
pname = "marble-marcher-ce";
version = "git-2021-09-01";
buildInputs = [makeWrapper cmake eigen sfml anttweakbar glew glm openalSoft];
prePatch = ''
substituteInPlace CMakeLists.txt \
--replace '/home/MMCE' $out
'';
postInstall = ''
mkdir $out/bin
mv $out/MarbleMarcher $out/bin/
wrapProgram $out/bin/MarbleMarcher --run "cd $out"
'';
src = ./.;
}
Edit: The input issue is orthogonal to the packaging, as this works around the issue (so it must be some device being interpreted as a joystick):
diff --git a/src/Main.cpp b/src/Main.cpp
index 2ecbc5d..7614bf9 100644
--- a/src/Main.cpp
+++ b/src/Main.cpp
@@ -601,8 +601,8 @@ int main(int argc, char *argv[]) {
(all_keys[SETTINGS.stg.control_mapping[RIGHT]] ? 1.0f : 0.0f);
}
//Collect gamepad input
- force_y -= io_state.axis_value[SETTINGS.stg.control_mapping[JOYSTICK_MOVE_AXIS_Y]];
- force_x += io_state.axis_value[SETTINGS.stg.control_mapping[JOYSTICK_MOVE_AXIS_X]];
+ // force_y -= io_state.axis_value[SETTINGS.stg.control_mapping[JOYSTICK_MOVE_AXIS_Y]];
+ // force_x += io_state.axis_value[SETTINGS.stg.control_mapping[JOYSTICK_MOVE_AXIS_X]];
InputRecord record = GetRecord();
Edit 2: The main issue is also relevant here, since the immutable $out path means that some things, e.g. screenshots, don't get saved.
from marble-marcher-community-edition.
Yeah my package was similar... I never made a pr because unfortunately it doesn't work on my old/slow gpu so I couldn't test it :-/
from marble-marcher-community-edition.
Related Issues (20)
- Option to permanently show the FPS
- Option to disable the temporal denoiser
- Change ingame timer from jiffies to milliseconds
- Option for native/window resolution
- Option to reset the settings to default HOT 1
- Change default language selection to english HOT 2
- Duplicated / stretched pixels at the left and right screen borders
- Animated levels seem to keep moving when opening the settings HOT 1
- changing the auto-exposure target seems to give a performance boost
- During sped up countdown the mouse sensitivity is greatly increased
- When finishing the game, the end music still plays even with music & fx disabled HOT 1
- Add some stages where the marble has a weapon of some kind and does a boss fight HOT 1
- No video output on Arch Linux HOT 19
- Mac OS Building Issues HOT 5
- Ship as Snap, Flatpak or AppImage HOT 1
- Pause menu DoF is not cleared when clicking restart HOT 1
- how is the renderer so efficient? HOT 1
- Mouse causes lag HOT 3
- White screen on macOS, `Compute shader compilation error.` in the log HOT 5
- white screen (exept ui) HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from marble-marcher-community-edition.