Skip to content

Commit

Permalink
Merge pull request #75 from monkeyx-net/MultiPlayerManicMiner
Browse files Browse the repository at this point in the history
Multi Player Manic Miner
  • Loading branch information
Cebion authored Feb 12, 2024
2 parents 25deecb + a765447 commit cde868f
Show file tree
Hide file tree
Showing 7 changed files with 147 additions and 0 deletions.
57 changes: 57 additions & 0 deletions ports/multimanicminer/Multi Player Manic Miner.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#!/bin/bash

if [ -d "/opt/system/Tools/PortMaster/" ]; then
controlfolder="/opt/system/Tools/PortMaster"
elif [ -d "/opt/tools/PortMaster/" ]; then
controlfolder="/opt/tools/PortMaster"
else
controlfolder="/roms/ports/PortMaster"
fi

source $controlfolder/control.txt

get_controls

GAMEDIR=/$directory/ports/multimanicminer/
CONFDIR="$GAMEDIR/conf/"

# Ensure the conf directory exists
mkdir -p "$GAMEDIR/conf"

# Set the XDG environment variables for config & savefiles
export XDG_CONFIG_HOME="$CONFDIR"
export XDG_DATA_HOME="$CONFDIR"

cd $GAMEDIR

runtime="frt_3.5.2"
if [ ! -f "$controlfolder/libs/${runtime}.squashfs" ]; then
# Check for runtime if not downloaded via PM
if [ ! -f "$controlfolder/harbourmaster" ]; then
echo "This port requires the latest PortMaster to run, please go to https://portmaster.games/ for more info." > /dev/tty0
sleep 5
exit 1
fi

$ESUDO $controlfolder/harbourmaster --quiet --no-check runtime_check "${runtime}.squashfs"
fi

# Setup Godot
godot_dir="$HOME/godot"
godot_file="$controlfolder/libs/${runtime}.squashfs"
$ESUDO mkdir -p "$godot_dir"
$ESUDO umount "$godot_file" || true
$ESUDO mount "$godot_file" "$godot_dir"
PATH="$godot_dir:$PATH"

export FRT_NO_EXIT_SHORTCUTS=FRT_NO_EXIT_SHORTCUTS

$ESUDO chmod 666 /dev/uinput
$GPTOKEYB "$runtime" -c "./multimanicminer.gptk" &
SDL_GAMECONTROLLERCONFIG="$sdl_controllerconfig" "$runtime" --main-pack "multimanicminer.pck"

$ESUDO umount "$godot_dir"
$ESUDO kill -9 $(pidof gptokeyb)
$ESUDO systemctl restart oga_events &
printf "\033c" > /dev/tty0

22 changes: 22 additions & 0 deletions ports/multimanicminer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## Notes

This is a recreation of the first level, the Central Cavern, of Manic Miner, except it allows up to 4 players to play simultaneously on the same PC.

It's a race to be the first to collect all the keys and then get back to the flashing waffle-type thing, using either gamepads or the keyboard.

Thanks to [Steven Smith](https://github.com/SteveSmith16384/ManicMinerMultiplayer) for this game.

## Controls

| Button | Action |
|--|--|
|L1|One player start + Jump|
|L2|Two Player start + Jump|
|R1|Third player Start + Jump|


## Compile

```shell
Game inputs amended to allow key input as mapped in gptk file.
```
22 changes: 22 additions & 0 deletions ports/multimanicminer/multimanicminer/multimanicminer.gptk
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
back = esc
start = enter
a = space
b = space
x = \"
y = \"
l1 = space
l2 = \"
r1 = p
r2 = o
up = \"
down = \"
left = a
right = d
left_analog_up =\"
left_analog_down = \"
left_analog_left = a
left_analog_right = d
right_analog_up = \"
right_analog_down = \"
right_analog_left = n
right_analog_right = m
Binary file not shown.
21 changes: 21 additions & 0 deletions ports/multimanicminer/multimanicminer/multimanicminer_LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License for Multiplayer Manic Miner

Copyright (c) 2021 Steve Smith

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
25 changes: 25 additions & 0 deletions ports/multimanicminer/port.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"version": 2,
"name": "multimanicminer.zip",
"items": [
"Multi Player Manic Miner.sh",
"multimanicminer"
],
"items_opt": [],
"attr": {
"title": "Multi Player Manic Miner",
"porter": [
"monkeyx.net"
],
"desc": "This is a recreation of the first level, the Central Cavern, of Manic Miner, except it allows up to 4 players to play simultaneously on the same PC.",
"inst": "Ready to run",
"genres": [
"platformer"
],
"image": null,
"rtr": true,
"exp": false,
"runtime": null,
"reqs": []
}
}
Binary file added ports/multimanicminer/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit cde868f

Please sign in to comment.