Skip to content

Commit

Permalink
Merge pull request #881 from JanTrueno/The-Void-Rains-Upon-Her-Heart
Browse files Browse the repository at this point in the history
New Port: The Void Rains Upon Her Heart
  • Loading branch information
kloptops authored Oct 31, 2024
2 parents 00127fa + e26123f commit e587ffa
Show file tree
Hide file tree
Showing 25 changed files with 1,147 additions and 0 deletions.
21 changes: 21 additions & 0 deletions ports/tvruhh/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## Notes

A thanks goes out to the following:
- [Veyeral Games](https://store.steampowered.com/search/?developer=Veyeral%20Games) for creating [this amazing game](https://store.steampowered.com/app/790060/The_Void_Rains_Upon_Her_Heart/).
- [JanTrueno](https://portmaster.games/profile.html?porter=JanTrueno) for doing the porting work.
- Fraxinus88 for initiating and thorough testing of older versions of this port.
- JohnnyOnFlame for gmloader-next.

This game keeps aspect ratio to 16:9. Handhelds with the rk3326 chipset will experience slowdown at a playable speed. This game is still in development, currently only the mentioned version is supported (September 2024).

## Controls

| Button | Action |
|--|--|
|D-pad/L-stick|Move Heart|
|A|Focus|
|B|Panic|
|X|Charge|
|Start|Pause|


60 changes: 60 additions & 0 deletions ports/tvruhh/The Void Rains Upon Her Heart.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#!/bin/bash

XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share}

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

source $controlfolder/control.txt
[ -f "${controlfolder}/mod_${CFW_NAME}.txt" ] && source "${controlfolder}/mod_${CFW_NAME}.txt"
get_controls

# Variables
GAMEDIR="/$directory/ports/tvruhh"

# CD and set permissions
cd $GAMEDIR
> "$GAMEDIR/log.txt" && exec > >(tee "$GAMEDIR/log.txt") 2>&1

# Check for file existence before trying to manipulate them:
[ -f "./gamedata/data.win" ] && mv gamedata/data.win gamedata/game.droid
[ -f "./gamedata/game.unx" ] && mv gamedata/game.unx gamedata/game.droid

# Exports
export LD_LIBRARY_PATH="/usr/lib:$GAMEDIR/lib:$LD_LIBRARY_PATH"

# Check for .ogg files and move to APK
if [ -n "$(ls ./gamedata/*.ogg 2>/dev/null)" ]; then
mkdir -p ./assets
mv ./gamedata/*.ogg ./assets/
echo "Moved .ogg files to ./assets/"

zip -r -0 ./game.apk ./assets/
echo "Zipped contents to ./game.apk"

rm -rf ./assets
echo "Deleted assets directory"
else
echo "No .ogg files found"
fi

# Display loading splash
if [ -f "$GAMEDIR/gamedata/game.droid" ]; then
$ESUDO ./tools/splash "splash.png" 1
$ESUDO ./tools/splash "splash.png" 5000
fi

# Run the game
$GPTOKEYB "gmloadernext" &
pm_platform_helper "$GAMEDIR/gmloadernext"
./gmloadernext

# Kill processes
pm_finish
Binary file added ports/tvruhh/cover.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions ports/tvruhh/gameinfo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<gameList>
<game>
<path>./The Void Rains Upon Her Heart.sh</path>
<name>The Void Rains Upon Her Heart</name>
<desc>Help her heart battle tough bosses in this Boss Rush, Bullet-hell with rogue-like elements. Fight through several randomly chosen boss battles leading up to a final battle. Each defeated monster will give her random gifts that power up her heart. Don't let her heart break!</desc>
<developer>Veyeral Games</developer>
<publisher>The Hidden Levels</publisher>
<genre>Action</genre>
<image>./tvruhh/cover.png</image>
</game>
</gameList>
31 changes: 31 additions & 0 deletions ports/tvruhh/port.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"version": 3,
"name": "tvruhh.zip",
"items": [
"The Void Rains Upon Her Heart.sh",
"tvruhh"
],
"items_opt": [],
"attr": {
"title": "The Void Rains Upon Her Heart",
"porter": [
"Fraxinus88",
"JanTrueno"
],
"desc": "Help her heart battle tough bosses in this Boss Rush, Bullet-hell with rogue-like elements. Fight through several randomly chosen boss battles leading up to a final battle. Each defeated monster will give her random gifts that power up her heart. Don't let her heart break!",
"desc_md": null,
"inst": "Install portfiles. Download this specific version of the game with the steam console: \"download_depot 790060 790061 7858860086893173396\". Copy all gamefiles to the gamedata folder.",
"inst_md": "- Install portfiles.\n- Download this specific version of the game with the steam console: \"download_depot 790060 790061 7858860086893173396\"\n- Copy all gamefiles to the gamedata folder.",
"genres": [
"action"
],
"image": null,
"rtr": false,
"exp": false,
"runtime": null,
"reqs": [],
"arch": [
"aarch64"
]
}
}
Binary file added ports/tvruhh/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ports/tvruhh/tvruhh/game.apk
Binary file not shown.
Empty file.
Binary file added ports/tvruhh/tvruhh/gmloadernext
Binary file not shown.
17 changes: 17 additions & 0 deletions ports/tvruhh/tvruhh/lib/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# What are those?

Those are native Android libraries meant to be loaded into the guest environment,
and the come from a [prebuilt AOSP image provided by google](https://ci.android.com/builds/branches/aosp-main/grid).

# What are these files for then?

They provide a similar-to-android implementation to all of the supported libraries,
allowing us to make less guesswork, and provide more accurate renditions of a lot
of those functionalities, specially for libc++ where a lot of guesswork was done
in the past.

OpenAL, OpenGL and libc.so are provided from the host (via thunking where needed) or
via reimplementations.

You still need a suitable GameMaker Android title/runner. You can source those from
either [freeware Android APKs](https://itch.io) or finding a [suitable runner](https://gamemaker.io/account/runtimes) for hacking.
Binary file not shown.
Binary file not shown.
Binary file added ports/tvruhh/tvruhh/lib/arm64-v8a/libm.so
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added ports/tvruhh/tvruhh/lib/armeabi-v7a/libm.so
Binary file not shown.
Binary file added ports/tvruhh/tvruhh/lib/libcrypto.so.1.1
Binary file not shown.
Binary file added ports/tvruhh/tvruhh/lib/libopenal.so.1
Binary file not shown.
Binary file added ports/tvruhh/tvruhh/lib/libzip.so.5
Binary file not shown.
Loading

0 comments on commit e587ffa

Please sign in to comment.