shadps4: use eboot.bin instead

This commit is contained in:
Ryan Omasta 2025-05-24 16:58:14 -06:00
parent d721272be0
commit 15a6e88a3a
No known key found for this signature in database

View file

@ -22,13 +22,16 @@
in
pkgs.runCommand "OpenOrbis-PNG-Sample"
{
nativeBuildInputs = with pkgs; [ unzip ];
nativeBuildInputs = with pkgs; [
unzip
liborbispkg-pkgtool
];
meta.license = lib.licenses.gpl3Only;
}
''
unzip ${sample-packages} samples/IV0000-BREW00086_00-IPNGDRAWEX000000.pkg
mkdir $out
mv samples/IV0000-BREW00086_00-IPNGDRAWEX000000.pkg $out/OpenOrbis-PNG-Sample.pkg
mkdir -p $out/OpenOrbis-PNG-Sample
pkgtool pkg_extract samples/IV0000-BREW00086_00-IPNGDRAWEX000000.pkg $out/OpenOrbis-PNG-Sample
'';
systemPackages = with pkgs; [
@ -91,53 +94,24 @@
machine.wait_for_text("Play Time")
machine.screenshot("0002-shadps4-started")
with subtest("installing example works"):
with subtest("running example works"):
# Ensure that chosen openorbis logo colour isn't present already
assert (
check_for_color(openorbisColor)(True) == False
), "openorbisColor {} was present on the screen before we launched anything!".format(openorbisColor)
machine.succeed("xdotool mousemove 20 30 click 1") # click on "File"
machine.wait_for_text("Install Packages")
machine.wait_for_text("Boot Game")
machine.send_key("down")
machine.send_key("ret")
# Pick the PNG sample (hello world runs too, but text-only output is currently broken)
machine.wait_for_text("Look in")
machine.send_chars("/etc/openorbis-sample-packages/OpenOrbis-PNG-Sample.pkg\n")
# Install to default dir
machine.wait_for_text("which directory")
machine.send_key("ret")
# Wait for installation getting done & return to main window
machine.wait_for_text("successfully installed")
machine.send_key("ret")
# Sample should now be listed
machine.wait_for_text("OpenOrbis PNG Sample")
machine.screenshot("0003-shadps4-sample-installed")
with subtest("emulation works-ish"):
# Ensure that selection colours isn't present already
assert (
check_for_color(selectionColor)(True) == False
), "selectionColor {} was present on the screen before we selected anything!".format(selectionColor)
# Select first installed app
machine.succeed("xdotool mousemove 20 150 click 1")
# Waiting for selection to be confirmed
with machine.nested("Waiting for the screen to have selectionColor {} on it:".format(selectionColor)):
retry(check_for_color(selectionColor))
# Ensure that chosen openorbis logo colour isn't present already
assert (
check_for_color(openorbisColor)(True) == False
), "openorbisColor {} was present on the screen before we selected anything!".format(openorbisColor)
# Click launch button
machine.succeed("xdotool mousemove 40 60 click 1")
machine.wait_for_console_text("Entering draw loop...")
machine.send_chars("/etc/openorbis-sample-packages/OpenOrbis-PNG-Sample/uroot/eboot.bin\n")
# Look for logo
with machine.nested("Waiting for the screen to have openorbisColor {} on it:".format(openorbisColor)):
retry(check_for_color(openorbisColor))
machine.screenshot("0004-shadps4-sample-running")
machine.screenshot("0003-shadps4-sample-running")
'';
}