From c92d35a02331c188f76f1cbbbb8163442df98500 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Tue, 21 Apr 2026 12:21:31 -0400 Subject: [PATCH] Reorganize files for new image. Add new paths in home directory. Start on game launchers and installers. --- .gitignore | 2 + .../system/stormux-service-state.service | 11 + home/stormux/.bash_profile | 4 +- home/stormux/.clirc | 4 +- home/stormux/.config/stormux/keymode.toml | 4 +- home/stormux/.local/.install/.gitkeep | 1 + .../audiogame-manager/A Hero's Call.sh | 9 + .../audiogame-manager/Adrian's Doom.sh | 4 + .../audiogame-manager/Adventurers At C.sh | 5 + .../audiogame-manager/Alien Outback.sh | 12 + .../.install/audiogame-manager/Angel Gift.sh | 4 + .../.install/audiogame-manager/AudioDisc.sh | 4 + .../.install/audiogame-manager/AudioQuake.sh | 8 + .../.install/audiogame-manager/Axel Pong.sh | 4 + .../audiogame-manager/BG 15 Puzzle.sh | 5 + .../.install/audiogame-manager/BG 2048.sh | 5 + .../audiogame-manager/BG Aces Up Solitaire.sh | 5 + .../.install/audiogame-manager/BG Alchemy.sh | 5 + .../audiogame-manager/BG Battleship.sh | 5 + .../.install/audiogame-manager/BG Boggle.sh | 5 + .../.install/audiogame-manager/BG Boxes.sh | 5 + .../.install/audiogame-manager/BG Brainiac.sh | 5 + .../audiogame-manager/BG Chess Challenge.sh | 5 + .../audiogame-manager/BG Code Breaker.sh | 5 + .../BG Cribbage Solitaire.sh | 5 + .../.install/audiogame-manager/BG Cribbage.sh | 5 + .../audiogame-manager/BG Crossword Puzzle.sh | 5 + .../audiogame-manager/BG Draw Dominoes.sh | 5 + .../audiogame-manager/BG Elevens Solitaire.sh | 5 + .../audiogame-manager/BG Fives Dominoes.sh | 5 + .../BG Free Cell Solitaire.sh | 5 + .../audiogame-manager/BG Golf Solitaire.sh | 5 + .../.install/audiogame-manager/BG Hangman.sh | 5 + .../.install/audiogame-manager/BG Hearts.sh | 5 + .../BG Klondike Solitaire.sh | 5 + .../.install/audiogame-manager/BG LAP.sh | 5 + .../audiogame-manager/BG Master Mind.sh | 5 + .../audiogame-manager/BG Mine Sweeper.sh | 5 + .../audiogame-manager/BG Nomination Whist.sh | 5 + .../audiogame-manager/BG Penguin Solitaire.sh | 5 + .../audiogame-manager/BG Poker Solitaire.sh | 5 + .../audiogame-manager/BG Pyramid Solitaire.sh | 5 + .../BG Scorpion Solitaire.sh | 5 + .../.install/audiogame-manager/BG Scrabble.sh | 5 + .../.install/audiogame-manager/BG Simon.sh | 5 + .../audiogame-manager/BG Spider Solitaire.sh | 5 + .../.install/audiogame-manager/BG Sudoku.sh | 5 + .../audiogame-manager/BG Tablic Solitaire.sh | 5 + .../BG Tri-Peaks Solitaire.sh | 5 + .../audiogame-manager/BG Twenty 20 Cricket.sh | 5 + .../.install/audiogame-manager/BG Uno.sh | 5 + .../audiogame-manager/BG Word Builder.sh | 5 + .../audiogame-manager/BG Word Candy.sh | 5 + .../audiogame-manager/BG Word Jumble.sh | 5 + .../audiogame-manager/BG Word Maze.sh | 5 + .../audiogame-manager/BG Word Solitaire.sh | 5 + .../audiogame-manager/BG Word Target.sh | 5 + .../audiogame-manager/BG Word Yahtzee.sh | 5 + .../.install/audiogame-manager/BG Yahtzee.sh | 5 + .../.install/audiogame-manager/Balatro.sh | 15 + .../.install/audiogame-manager/Battle Zone.sh | 5 + .../audiogame-manager/Battle of the Hunter.sh | 6 + .../audiogame-manager/Battlefield 2D.sh | 7 + .../audiogame-manager/Beatstar Pro.sh | 8 + .../audiogame-manager/Blades of Glory.sh | 6 + .../.install/audiogame-manager/Blind Drive.sh | 9 + .../.install/audiogame-manager/Bloodshed.sh | 5 + .../audiogame-manager/Bokurano Daibouken 2.sh | 6 + .../audiogame-manager/Bokurano Daibouken 3.sh | 27 + .../audiogame-manager/Bokurano Daibouken.sh | 6 + .../.install/audiogame-manager/Bombercats.sh | 6 + .../audiogame-manager/Bop It Emulator.sh | 5 + .../audiogame-manager/Bounce Bounce.sh | 5 + .../audiogame-manager/Breed Memorial.sh | 6 + .../audiogame-manager/Breu2 Shadow Hunt.sh | 6 + .../.install/audiogame-manager/Castaways 2.sh | 7 + .../.install/audiogame-manager/Castaways.sh | 7 + .../Challenge of the Horse.sh | 5 + .../audiogame-manager/Change Reaction.sh | 12 + .../.install/audiogame-manager/Chillingham.sh | 4 + .../audiogame-manager/Chopper Challenge.sh | 4 + .../audiogame-manager/Christmas Chaos.sh | 7 + .../audiogame-manager/Christmas WhoopAss.sh | 4 + .../audiogame-manager/Clashes of the Sky.sh | 6 + .../audiogame-manager/Code Dungeon.sh | 9 + .../.install/audiogame-manager/Conjury.sh | 5 + .../audiogame-manager/Constant Battle.sh | 6 + .../audiogame-manager/Copter Mission.sh | 5 + .../.install/audiogame-manager/Crazy Party.sh | 7 + .../audiogame-manager/Crazy Tennis.sh | 4 + .../audiogame-manager/Crime Hunter.sh | 6 + .../.install/audiogame-manager/Danger City.sh | 9 + .../audiogame-manager/Danger on the Wheel.sh | 6 + .../audiogame-manager/Dark Destroyer.sh | 6 + .../Daytona and the Book of Gold.sh | 7 + .../audiogame-manager/Death on the Road.sh | 5 + .../.install/audiogame-manager/Deathmatch.sh | 6 + .../audiogame-manager/Dog Who Hates Toast.sh | 9 + .../.install/audiogame-manager/Dragon Pong.sh | 6 + .../.install/audiogame-manager/Dreamland.sh | 22 + .../.install/audiogame-manager/Duck Hunt.sh | 4 + .../.install/audiogame-manager/DynaMan.sh | 12 + .../audiogame-manager/ESP Pinball Classic.sh | 12 + .../audiogame-manager/ESP Pinball Extreme.sh | 12 + .../ESP Pinball Party Pack.sh | 13 + .../audiogame-manager/Easter Quest.sh | 4 + .../audiogame-manager/Endless Runner.sh | 4 + .../.install/audiogame-manager/Entombed.sh | 28 + .../.install/audiogame-manager/Eurofly.sh | 9 + .../audiogame-manager/Executioner's Rage.sh | 14 + .../.install/audiogame-manager/Extant.sh | 4 + .../.install/audiogame-manager/Fartman.sh | 5 + .../audiogame-manager/Finger Panic.sh | 4 + .../audiogame-manager/Fuck That Bird.sh | 5 + .../audiogame-manager/GMA Tank Commander.sh | 20 + .../audiogame-manager/Galactic Strike.sh | 7 + .../audiogame-manager/Grizzly Gulch.sh | 6 + .../audiogame-manager/Hammer of Glory.sh | 5 + .../.install/audiogame-manager/Hunter.sh | 40 ++ .../Inquisitor's Heartbeat.sh | 9 + .../audiogame-manager/Insect Therapy.sh | 5 + .../.install/audiogame-manager/Interceptor.sh | 4 + .../audiogame-manager/Judgement Day.sh | 12 + .../audiogame-manager/Kitchensinc Games.sh | 8 + .../audiogame-manager/Kringle Crash.sh | 4 + .../audiogame-manager/Laser Breakout.sh | 6 + .../audiogame-manager/Light Battles.sh | 5 + .../.install/audiogame-manager/Light Cars.sh | 8 + .../.install/audiogame-manager/Lockpick.sh | 4 + .../.install/audiogame-manager/Lone Wolf.sh | 15 + .../.local/.install/audiogame-manager/Lost.sh | 4 + .../.install/audiogame-manager/Lunimals.sh | 10 + .../.install/audiogame-manager/Manamon 2.sh | 5 + .../.install/audiogame-manager/Manamon.sh | 5 + .../audiogame-manager/Marina Break.sh | 8 + .../.install/audiogame-manager/Maze Craze.sh | 15 + .../.install/audiogame-manager/Mist World.sh | 12 + .../audiogame-manager/Monkey Business.sh | 12 + .../audiogame-manager/MudSplat English.sh | 33 ++ .../.install/audiogame-manager/Oh Shit.sh | 7 + .../Operation BlackSquare.sh | 5 + .../audiogame-manager/Pacman Talks.sh | 4 + .../audiogame-manager/Palace Punch Up.sh | 4 + .../audiogame-manager/Paladin of the Sky.sh | 5 + .../.install/audiogame-manager/Park Boss.sh | 7 + .../.install/audiogame-manager/Paw Prints.sh | 7 + .../.install/audiogame-manager/Penta Path.sh | 7 + .../audiogame-manager/Perilous Hearts.sh | 4 + .../audiogame-manager/Pigeon Panic.sh | 4 + .../audiogame-manager/Pipe 2 Blast Chamber.sh | 40 ++ .../audiogame-manager/Preludeamals.sh | 7 + .../audiogame-manager/Psycho Strike.sh | 5 + .../audiogame-manager/Puzzle Divided.sh | 6 + .../.local/.install/audiogame-manager/Q9.sh | 4 + .../.install/audiogame-manager/RS Games.sh | 6 + .../.install/audiogame-manager/Rettou.sh | 6 + .../.install/audiogame-manager/Revelation.sh | 6 + .../.install/audiogame-manager/Rhythm Rage.sh | 5 + .../audiogame-manager/River Raiders.sh | 8 + .../audiogame-manager/Road to Rage Offline.sh | 5 + .../audiogame-manager/Road to Rage.sh | 6 + .../audiogame-manager/Run For Your Life.sh | 5 + .../audiogame-manager/Sammy Center.sh | 6 + ...d the Castle of Witchcraft and Wizardry.sh | 5 + .../.install/audiogame-manager/Scramble!.sh | 9 + .../audiogame-manager/Screaming Strike 2.sh | 7 + .../audiogame-manager/Scrolling Battles.sh | 8 + .../audiogame-manager/Sequence Storm.sh | 8 + .../audiogame-manager/Shades of Doom 1.2.sh | 4 + .../audiogame-manager/Shades of Doom.sh | 5 + .../.install/audiogame-manager/Shadow Line.sh | 23 + .../.install/audiogame-manager/Shooter.sh | 6 + .../.install/audiogame-manager/Shooter_rw.sh | 7 + .../.install/audiogame-manager/Side Party.sh | 16 + .../audiogame-manager/Silver Dollar.sh | 12 + .../audiogame-manager/Simple Fighter.sh | 11 + .../audiogame-manager/Skateboarder Pro.sh | 7 + .../.install/audiogame-manager/Sketchbook.sh | 7 + .../audiogame-manager/Slender Lost Vision.sh | 5 + .../.install/audiogame-manager/Smashathon.sh | 4 + .../.install/audiogame-manager/Sonic Zoom.sh | 5 + .../audiogame-manager/Sonic the Hedgehog.sh | 5 + .../audiogame-manager/Space Defender.sh | 6 + .../Star Trek Final Conflict.sh | 4 + .../audiogame-manager/Super Deekout.sh | 33 ++ .../audiogame-manager/Super Dogs Bone Hunt.sh | 4 + .../audiogame-manager/Super Egg Hunt.sh | 4 + .../audiogame-manager/Super Mario Bros.sh | 5 + .../.install/audiogame-manager/Swamp.sh | 19 + .../audiogame-manager/Tactical Battle.sh | 6 + .../audiogame-manager/Tarot Assistant.sh | 6 + .../.install/audiogame-manager/Technoshock.sh | 8 + .../audiogame-manager/Ten Pin Alley.sh | 13 + .../audiogame-manager/The Blind Swordsman.sh | 4 + .../.install/audiogame-manager/The Gate.sh | 6 + .../.install/audiogame-manager/The Vale.sh | 9 + .../They'll Come from the Moon.sh | 11 + .../.install/audiogame-manager/Thief.sh | 5 + .../audiogame-manager/Three D velocity.sh | 10 + .../.install/audiogame-manager/Tomb Hunter.sh | 4 + .../.install/audiogame-manager/Top Speed 2.sh | 4 + .../.install/audiogame-manager/Top Speed 3.sh | 7 + .../.install/audiogame-manager/Toy Mania.sh | 6 + .../Traders of Known Space.sh | 4 + .../audiogame-manager/Triple Triad.sh | 6 + .../.install/audiogame-manager/Troopanum2.sh | 41 ++ .../.install/audiogame-manager/Tube Sim.sh | 7 + .../audiogame-manager/Ultimate SounDoku.sh | 12 + .../audiogame-manager/Undead Assault.sh | 5 + .../.install/audiogame-manager/VIP Mud.sh | 8 + .../audiogame-manager/Villains From Beyond.sh | 6 + .../.install/audiogame-manager/Warsim.sh | 6 + .../audiogame-manager/Wave of the Undead.sh | 11 + .../audiogame-manager/World of War.sh | 5 + .../audiogame-manager/haunted Party.sh | 7 + .../.install/linux-game-manager/Alter Aeon.sh | 3 + .../linux-game-manager/Audio Quake.sh | 3 + .../.install/linux-game-manager/Audo.sh | 4 + .../.install/linux-game-manager/Auroboros.sh | 4 + .../linux-game-manager/Ball Bouncer.sh | 5 + .../.install/linux-game-manager/Bladius.sh | 4 + .../.install/linux-game-manager/Chimera.sh | 4 + .../linux-game-manager/Christmas Dash.sh | 9 + .../linux-game-manager/Constant Motion.sh | 7 + .../linux-game-manager/Critter Sanctuary.sh | 6 + .../.install/linux-game-manager/E.X.O..sh | 4 + .../linux-game-manager/Echo Command.sh | 5 + .../.install/linux-game-manager/EmpireMUD.sh | 3 + .../linux-game-manager/End of Time.sh | 3 + .../linux-game-manager/Fantasy Story II.sh | 4 + .../.install/linux-game-manager/FreeDoom.sh | 45 ++ .../linux-game-manager/Legends of Kallisti.sh | 3 + .../linux-game-manager/Monkey Spank.sh | 2 + .../.install/linux-game-manager/Numnastics.sh | 2 + .../.install/linux-game-manager/Onslaught.sh | 5 + .../Periphery Synthetic EP.sh | 4 + .../linux-game-manager/Play Palace.sh | 69 +++ .../.install/linux-game-manager/S.E.A..sh | 4 + .../linux-game-manager/Slay the Spire.sh | 71 +++ .../linux-game-manager/Slay the Text.sh | 3 + .../.install/linux-game-manager/Soulblaze.sh | 4 + .../.install/linux-game-manager/SoundRTS.sh | 6 + .../linux-game-manager/Stardew Valley.sh | 16 + .../.install/linux-game-manager/StickMUD.sh | 3 + .../.install/linux-game-manager/Super Liam.sh | 4 + .../linux-game-manager/System Fault.sh | 5 + .../The Great Toy Robbery.sh | 4 + .../linux-game-manager/The Omega Reach.sh | 7 + .../linux-game-manager/The Tornado Chicken.sh | 6 + .../.install/linux-game-manager/Top Speed.sh | 24 + .../Upheaval Commandline.sh | 5 + .../linux-game-manager/Upheaval Gui.sh | 7 + .../linux-game-manager/Wheels of Prio.sh | 6 + .../linux-game-manager/Wicked Quest.sh | 12 + .../.install/linux-game-manager/Wurmus.sh | 4 + .../.install/linux-game-manager/Zombowl.sh | 12 + .../linux-game-manager/soundStrider.sh | 4 + home/stormux/.local/.launch/.gitkeep | 1 + .../.launch/linux-game-manager/Aliens.sh | 1 + .../linux-game-manager/Alter Aeon.game | 9 + .../.launch/linux-game-manager/Alter Aeon.sh | 1 + .../linux-game-manager/Audio Quake.game | 67 +++ .../.launch/linux-game-manager/Audio Quake.sh | 1 + .../.launch/linux-game-manager/Audo.game | 2 + .../.launch/linux-game-manager/Auroboros.game | 2 + .../linux-game-manager/Ball Bouncer.game | 3 + .../linux-game-manager/Ball Bouncer.sh | 1 + .../linux-game-manager/Battle Weary.sh | 1 + .../.launch/linux-game-manager/Bladius.game | 2 + .../.launch/linux-game-manager/Cacophony.sh | 1 + .../.launch/linux-game-manager/Chimera.game | 2 + .../linux-game-manager/Christmas Dash.game | 14 + .../linux-game-manager/Christmas Dash.sh | 1 + .../linux-game-manager/Constant Motion.game | 4 + .../linux-game-manager/Constant Motion.sh | 1 + .../linux-game-manager/Critter Sanctuary.game | 2 + .../.launch/linux-game-manager/Donate.sh | 1 + .../.launch/linux-game-manager/E.X.O..game | 2 + .../linux-game-manager/Echo Command.game | 2 + .../linux-game-manager/Echo Commander.sh | 1 + .../.launch/linux-game-manager/EmpireMUD.game | 9 + .../linux-game-manager/End of Time.game | 9 + .../.launch/linux-game-manager/End of Time.sh | 1 + .../linux-game-manager/Fantasy Story II.game | 2 + .../linux-game-manager/Fantasy Story II.sh | 1 + .../.launch/linux-game-manager/FreeDoom.game | 11 + .../.launch/linux-game-manager/FreeDoom.sh | 1 + .../Legends of Kallisti.game | 9 + .../linux-game-manager/Monkey Spank.game | 2 + .../linux-game-manager/Numnastics.game | 2 + .../.launch/linux-game-manager/Onslaught.game | 2 + .../Periphery Synthetic EP.game | 2 + .../Periphery Synthetic EP.sh | 1 + .../linux-game-manager/Play Palace.game | 18 + .../.launch/linux-game-manager/Play Palace.sh | 1 + .../linux-game-manager/QuentinC Play Room.sh | 1 + .../.launch/linux-game-manager/S.E.A..game | 2 + .../linux-game-manager/Slay the Spire.game | 33 ++ .../linux-game-manager/Slay the Spire.sh | 1 + .../linux-game-manager/Slay the Text.game | 2 + .../.launch/linux-game-manager/Soulblaze.game | 2 + .../.launch/linux-game-manager/Soulblaze.sh | 1 + .../.launch/linux-game-manager/SoundRTS.game | 0 .../.launch/linux-game-manager/SoundRTS.sh | 1 + .../linux-game-manager/Stardew Valley.game | 2 + .../linux-game-manager/Stardew Valley.sh | 1 + .../.launch/linux-game-manager/StickMUD.game | 10 + .../linux-game-manager/Super Liam.game | 4 + .../.launch/linux-game-manager/Super Liam.sh | 1 + .../linux-game-manager/System Fault.game | 2 + .../linux-game-manager/System Fault.sh | 1 + .../The Great Toy Robbery.game | 4 + .../The Great Toy Robbery.sh | 1 + .../linux-game-manager/The Omega Reach.game | 4 + .../linux-game-manager/The Omega Reach.sh | 1 + .../The Tornado Chicken.game | 3 + .../linux-game-manager/The Tornado Chicken.sh | 1 + .../.launch/linux-game-manager/Top Speed.game | 14 + .../.launch/linux-game-manager/Top Speed.sh | 1 + .../.launch/linux-game-manager/Trigaea.sh | 1 + .../Upheaval Commandline.game | 2 + .../linux-game-manager/Upheaval Gui.game | 2 + .../.launch/linux-game-manager/Upheaval.sh | 1 + .../linux-game-manager/Wheels of Prio.game | 3 + .../linux-game-manager/Wheels of Prio.sh | 1 + .../linux-game-manager/Wicked Quest.game | 7 + .../linux-game-manager/Wicked Quest.sh | 1 + .../.launch/linux-game-manager/Wurmus.game | 2 + .../.launch/linux-game-manager/Zombowl.game | 2 + .../.launch/linux-game-manager/Zombowl.sh | 1 + .../linux-game-manager/soundStrider.game | 2 + .../stormux/.local}/bin/apple_2e.py | 0 .../stormux/.local}/bin/audio_manager.py | 0 .../stormux/.local}/bin/battery_monitor.py | 0 .../stormux/.local}/bin/convert-to-video.sh | 0 .../stormux/.local}/bin/diagnostics.sh | 0 .../stormux/.local}/bin/game_launcher.py | 199 +++---- .../stormux/.local}/bin/install_to_disk.sh | 0 .../stormux/.local}/bin/ip_info.py | 0 .../stormux/.local}/bin/keymode.py | 0 .../stormux/.local}/bin/live-update.sh | 0 .../stormux/.local}/bin/music_player.py | 0 {usr/local => home/stormux/.local}/bin/ocr.py | 0 .../stormux/.local}/bin/record.sh | 0 .../stormux/.local}/bin/rom_launcher.py | 0 .../.local}/bin/select_audio_convert.sh | 2 +- .../stormux/.local}/bin/set-timezone.sh | 0 .../stormux/.local}/bin/set-voice.py | 0 .../stormux/.local}/bin/speechd_rate.py | 0 .../.local}/bin/stormux_install_helper.sh | 0 .../.local/bin/stormux_launch_helpers.sh | 140 +++++ .../.local/bin/stormux_service_state.sh | 97 ++++ .../stormux/.local}/bin/sync_time.sh | 0 home/stormux/.xbindkeysrc | 4 +- home/stormux/.xinitrc | 491 +----------------- .../systemd/system/battery-monitor.service | 4 +- 356 files changed, 2652 insertions(+), 611 deletions(-) create mode 100644 etc/systemd/system/stormux-service-state.service create mode 100644 home/stormux/.local/.install/.gitkeep create mode 100644 home/stormux/.local/.install/audiogame-manager/A Hero's Call.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Adrian's Doom.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Adventurers At C.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Alien Outback.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Angel Gift.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/AudioDisc.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/AudioQuake.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Axel Pong.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG 15 Puzzle.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG 2048.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Aces Up Solitaire.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Alchemy.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Battleship.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Boggle.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Boxes.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Brainiac.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Chess Challenge.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Code Breaker.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Cribbage Solitaire.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Cribbage.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Crossword Puzzle.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Draw Dominoes.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Elevens Solitaire.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Fives Dominoes.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Free Cell Solitaire.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Golf Solitaire.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Hangman.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Hearts.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Klondike Solitaire.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG LAP.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Master Mind.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Mine Sweeper.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Nomination Whist.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Penguin Solitaire.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Poker Solitaire.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Pyramid Solitaire.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Scorpion Solitaire.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Scrabble.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Simon.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Spider Solitaire.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Sudoku.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Tablic Solitaire.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Tri-Peaks Solitaire.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Twenty 20 Cricket.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Uno.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Word Builder.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Word Candy.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Word Jumble.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Word Maze.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Word Solitaire.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Word Target.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Word Yahtzee.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/BG Yahtzee.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Balatro.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Battle Zone.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Battle of the Hunter.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Battlefield 2D.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Beatstar Pro.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Blades of Glory.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Blind Drive.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Bloodshed.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Bokurano Daibouken 2.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Bokurano Daibouken 3.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Bokurano Daibouken.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Bombercats.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Bop It Emulator.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Bounce Bounce.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Breed Memorial.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Breu2 Shadow Hunt.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Castaways 2.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Castaways.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Challenge of the Horse.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Change Reaction.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Chillingham.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Chopper Challenge.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Christmas Chaos.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Christmas WhoopAss.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Clashes of the Sky.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Code Dungeon.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Conjury.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Constant Battle.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Copter Mission.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Crazy Party.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Crazy Tennis.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Crime Hunter.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Danger City.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Danger on the Wheel.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Dark Destroyer.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Daytona and the Book of Gold.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Death on the Road.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Deathmatch.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Dog Who Hates Toast.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Dragon Pong.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Dreamland.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Duck Hunt.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/DynaMan.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/ESP Pinball Classic.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/ESP Pinball Extreme.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/ESP Pinball Party Pack.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Easter Quest.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Endless Runner.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Entombed.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Eurofly.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Executioner's Rage.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Extant.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Fartman.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Finger Panic.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Fuck That Bird.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/GMA Tank Commander.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Galactic Strike.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Grizzly Gulch.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Hammer of Glory.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Hunter.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Inquisitor's Heartbeat.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Insect Therapy.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Interceptor.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Judgement Day.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Kitchensinc Games.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Kringle Crash.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Laser Breakout.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Light Battles.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Light Cars.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Lockpick.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Lone Wolf.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Lost.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Lunimals.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Manamon 2.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Manamon.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Marina Break.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Maze Craze.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Mist World.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Monkey Business.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/MudSplat English.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Oh Shit.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Operation BlackSquare.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Pacman Talks.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Palace Punch Up.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Paladin of the Sky.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Park Boss.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Paw Prints.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Penta Path.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Perilous Hearts.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Pigeon Panic.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Pipe 2 Blast Chamber.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Preludeamals.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Psycho Strike.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Puzzle Divided.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Q9.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/RS Games.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Rettou.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Revelation.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Rhythm Rage.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/River Raiders.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Road to Rage Offline.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Road to Rage.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Run For Your Life.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Sammy Center.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Sarah and the Castle of Witchcraft and Wizardry.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Scramble!.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Screaming Strike 2.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Scrolling Battles.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Sequence Storm.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Shades of Doom 1.2.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Shades of Doom.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Shadow Line.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Shooter.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Shooter_rw.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Side Party.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Silver Dollar.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Simple Fighter.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Skateboarder Pro.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Sketchbook.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Slender Lost Vision.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Smashathon.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Sonic Zoom.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Sonic the Hedgehog.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Space Defender.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Star Trek Final Conflict.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Super Deekout.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Super Dogs Bone Hunt.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Super Egg Hunt.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Super Mario Bros.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Swamp.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Tactical Battle.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Tarot Assistant.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Technoshock.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Ten Pin Alley.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/The Blind Swordsman.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/The Gate.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/The Vale.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/They'll Come from the Moon.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Thief.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Three D velocity.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Tomb Hunter.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Top Speed 2.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Top Speed 3.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Toy Mania.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Traders of Known Space.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Triple Triad.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Troopanum2.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Tube Sim.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Ultimate SounDoku.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Undead Assault.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/VIP Mud.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Villains From Beyond.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Warsim.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/Wave of the Undead.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/World of War.sh create mode 100644 home/stormux/.local/.install/audiogame-manager/haunted Party.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Alter Aeon.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Audio Quake.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Audo.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Auroboros.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Ball Bouncer.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Bladius.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Chimera.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Christmas Dash.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Constant Motion.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Critter Sanctuary.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/E.X.O..sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Echo Command.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/EmpireMUD.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/End of Time.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Fantasy Story II.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/FreeDoom.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Legends of Kallisti.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Monkey Spank.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Numnastics.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Onslaught.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Periphery Synthetic EP.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Play Palace.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/S.E.A..sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Slay the Spire.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Slay the Text.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Soulblaze.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/SoundRTS.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Stardew Valley.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/StickMUD.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Super Liam.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/System Fault.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/The Great Toy Robbery.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/The Omega Reach.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/The Tornado Chicken.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Top Speed.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Upheaval Commandline.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Upheaval Gui.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Wheels of Prio.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Wicked Quest.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Wurmus.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/Zombowl.sh create mode 100644 home/stormux/.local/.install/linux-game-manager/soundStrider.sh create mode 100644 home/stormux/.local/.launch/.gitkeep create mode 100644 home/stormux/.local/.launch/linux-game-manager/Aliens.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Alter Aeon.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/Alter Aeon.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Audio Quake.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/Audio Quake.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Audo.game create mode 100644 home/stormux/.local/.launch/linux-game-manager/Auroboros.game create mode 100644 home/stormux/.local/.launch/linux-game-manager/Ball Bouncer.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/Ball Bouncer.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Battle Weary.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Bladius.game create mode 100644 home/stormux/.local/.launch/linux-game-manager/Cacophony.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Chimera.game create mode 100644 home/stormux/.local/.launch/linux-game-manager/Christmas Dash.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/Christmas Dash.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Constant Motion.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/Constant Motion.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Critter Sanctuary.game create mode 100644 home/stormux/.local/.launch/linux-game-manager/Donate.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/E.X.O..game create mode 100644 home/stormux/.local/.launch/linux-game-manager/Echo Command.game create mode 100644 home/stormux/.local/.launch/linux-game-manager/Echo Commander.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/EmpireMUD.game create mode 100644 home/stormux/.local/.launch/linux-game-manager/End of Time.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/End of Time.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Fantasy Story II.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/Fantasy Story II.sh create mode 100755 home/stormux/.local/.launch/linux-game-manager/FreeDoom.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/FreeDoom.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Legends of Kallisti.game create mode 100644 home/stormux/.local/.launch/linux-game-manager/Monkey Spank.game create mode 100644 home/stormux/.local/.launch/linux-game-manager/Numnastics.game create mode 100644 home/stormux/.local/.launch/linux-game-manager/Onslaught.game create mode 100644 home/stormux/.local/.launch/linux-game-manager/Periphery Synthetic EP.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/Periphery Synthetic EP.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Play Palace.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/Play Palace.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/QuentinC Play Room.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/S.E.A..game create mode 100755 home/stormux/.local/.launch/linux-game-manager/Slay the Spire.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/Slay the Spire.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Slay the Text.game create mode 100644 home/stormux/.local/.launch/linux-game-manager/Soulblaze.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/Soulblaze.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/SoundRTS.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/SoundRTS.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Stardew Valley.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/Stardew Valley.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/StickMUD.game create mode 100644 home/stormux/.local/.launch/linux-game-manager/Super Liam.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/Super Liam.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/System Fault.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/System Fault.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/The Great Toy Robbery.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/The Great Toy Robbery.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/The Omega Reach.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/The Omega Reach.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/The Tornado Chicken.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/The Tornado Chicken.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Top Speed.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/Top Speed.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Trigaea.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Upheaval Commandline.game create mode 100644 home/stormux/.local/.launch/linux-game-manager/Upheaval Gui.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/Upheaval.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Wheels of Prio.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/Wheels of Prio.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Wicked Quest.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/Wicked Quest.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/Wurmus.game create mode 100644 home/stormux/.local/.launch/linux-game-manager/Zombowl.game create mode 120000 home/stormux/.local/.launch/linux-game-manager/Zombowl.sh create mode 100644 home/stormux/.local/.launch/linux-game-manager/soundStrider.game rename {usr/local => home/stormux/.local}/bin/apple_2e.py (100%) rename {usr/local => home/stormux/.local}/bin/audio_manager.py (100%) rename {usr/local => home/stormux/.local}/bin/battery_monitor.py (100%) rename {usr/local => home/stormux/.local}/bin/convert-to-video.sh (100%) rename {usr/local => home/stormux/.local}/bin/diagnostics.sh (100%) rename {usr/local => home/stormux/.local}/bin/game_launcher.py (84%) rename {usr/local => home/stormux/.local}/bin/install_to_disk.sh (100%) rename {usr/local => home/stormux/.local}/bin/ip_info.py (100%) rename {usr/local => home/stormux/.local}/bin/keymode.py (100%) rename {usr/local => home/stormux/.local}/bin/live-update.sh (100%) rename {usr/local => home/stormux/.local}/bin/music_player.py (100%) rename {usr/local => home/stormux/.local}/bin/ocr.py (100%) rename {usr/local => home/stormux/.local}/bin/record.sh (100%) rename {usr/local => home/stormux/.local}/bin/rom_launcher.py (100%) rename {usr/local => home/stormux/.local}/bin/select_audio_convert.sh (97%) rename {usr/local => home/stormux/.local}/bin/set-timezone.sh (100%) rename {usr/local => home/stormux/.local}/bin/set-voice.py (100%) rename {usr/local => home/stormux/.local}/bin/speechd_rate.py (100%) rename {usr/local => home/stormux/.local}/bin/stormux_install_helper.sh (100%) create mode 100755 home/stormux/.local/bin/stormux_launch_helpers.sh create mode 100755 home/stormux/.local/bin/stormux_service_state.sh rename {usr/local => home/stormux/.local}/bin/sync_time.sh (100%) diff --git a/.gitignore b/.gitignore index 3ff1f7e..ea35bda 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,8 @@ image/* *.img *.img.xz +__pycache__/ +tests/ # AI assistant files AGENTS.md diff --git a/etc/systemd/system/stormux-service-state.service b/etc/systemd/system/stormux-service-state.service new file mode 100644 index 0000000..a2656f4 --- /dev/null +++ b/etc/systemd/system/stormux-service-state.service @@ -0,0 +1,11 @@ +[Unit] +Description=Apply persistent Stormux service state +After=local-fs.target +RequiresMountsFor=/home/stormux/.local/.services + +[Service] +Type=oneshot +ExecStart=/home/stormux/.local/bin/stormux_service_state.sh apply + +[Install] +WantedBy=multi-user.target diff --git a/home/stormux/.bash_profile b/home/stormux/.bash_profile index e0d2785..c219bdd 100644 --- a/home/stormux/.bash_profile +++ b/home/stormux/.bash_profile @@ -41,7 +41,7 @@ if ! [[ -e "/tmp/startup_complete" ]]; then play -qV0 /usr/share/sounds/stormux/start.opus fi if [[ "$(tty)" == "/dev/tty1" ]]; then - /usr/local/bin/diagnostics.sh - exec /usr/local/bin/game_launcher.py + /home/stormux/.local/bin/diagnostics.sh + exec /home/stormux/.local/bin/game_launcher.py exit fi diff --git a/home/stormux/.clirc b/home/stormux/.clirc index f4599c3..2f86234 100755 --- a/home/stormux/.clirc +++ b/home/stormux/.clirc @@ -109,10 +109,10 @@ case "$GAME" in nmtui-connect ;; "Install to Disk") - /usr/local/bin/install_to_disk.sh + /home/stormux/.local/bin/install_to_disk.sh ;; "Set Timezone") - sudo /usr/local/bin/set-timezone.sh + sudo /home/stormux/.local/bin/set-timezone.sh ;; *".md") /usr/bin/markdown -toc "$GAME" | /usr/bin/w3m -T text/html ;; "/usr/bin/"*) $GAME ;; diff --git a/home/stormux/.config/stormux/keymode.toml b/home/stormux/.config/stormux/keymode.toml index 713e6a1..c48f5c4 100644 --- a/home/stormux/.config/stormux/keymode.toml +++ b/home/stormux/.config/stormux/keymode.toml @@ -19,7 +19,7 @@ sound = "play -qV0 \"|sox -np synth .07 sq 400\" \"|sox -np synth .5 sq 800\" fa # Escape always exits without action (built-in) # Unbound keys are ignored - the mode waits for a valid key -a = "/usr/local/bin/select_audio_convert.sh" +a = "/home/stormux/.local/bin/select_audio_convert.sh" i = "/usr/bin/access-irc" -r = "/usr/local/bin/record.sh" +r = "/home/stormux/.local/bin/record.sh" w = "brave" diff --git a/home/stormux/.local/.install/.gitkeep b/home/stormux/.local/.install/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/home/stormux/.local/.install/.gitkeep @@ -0,0 +1 @@ + diff --git a/home/stormux/.local/.install/audiogame-manager/A Hero's Call.sh b/home/stormux/.local/.install/audiogame-manager/A Hero's Call.sh new file mode 100644 index 0000000..910612e --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/A Hero's Call.sh @@ -0,0 +1,9 @@ +download "https://blindgamers.com/downloads/a-heros-call-freeware.zip" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll" +export winVer="win7" +export winetricksSettings="vd=1024x768" +install_wine_bottle +# Dotnet is evil. That is all. +LC_ALL=C DISPLAY="" winetricks -q dotnet462 xna40 +wineserver -k # Really! +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/a-heros-call-freeware.zip" +add_launcher "c:\Program Files\a-heros-call\A Hero's Call.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Adrian's Doom.sh b/home/stormux/.local/.install/audiogame-manager/Adrian's Doom.sh new file mode 100644 index 0000000..388b980 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Adrian's Doom.sh @@ -0,0 +1,4 @@ +download "https://agarchive.net/games/mt/adrian's%20doom.exe" +install_wine_bottle +wine "${cache}/adrian's doom.exe" /silent +add_launcher "c:\Program Files (x86)\Two Caring Citizens\Adrian's Doom!\adrian.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Adventurers At C.sh b/home/stormux/.local/.install/audiogame-manager/Adventurers At C.sh new file mode 100644 index 0000000..2cc8472 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Adventurers At C.sh @@ -0,0 +1,5 @@ +download "http://www.vgstorm.com/aac/aac.zip" "https://www.agarchive.net/games/vg/adventure%20at%20c%20stages.7z" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/aac" "${cache}/aac.zip" +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files/aac/stages" "${cache}/adventure at c stages.7z" +add_launcher "c:\Program Files\aac\aac.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Alien Outback.sh b/home/stormux/.local/.install/audiogame-manager/Alien Outback.sh new file mode 100644 index 0000000..cbcaa02 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Alien Outback.sh @@ -0,0 +1,12 @@ +download "http://download.dracoent.com/Windows/classic/AOSetup.exe" +# Uses standard wine path based on architecture (win32/win64) +export winVer="win7" +install_wine_bottle vb6run dx8vb quartz +cp -fv "${cache}/AOSetup.exe" "$WINEPREFIX/drive_c/windows/temp/" +wine "c:/windows/temp/AOSetup.exe" /sp- /silent +rm -fv "$WINEPREFIX/drive_c/windows/temp/AOSetup.exe" +# warning warning warning: Do not change location, or installer will not function. +# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang. +winetricks -q dotnet20 +wineserver -k # Damn you, dotnet. +add_launcher "c:\Program Files (x86)\Draconis Entertainment\Alien Outback\ao.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Angel Gift.sh b/home/stormux/.local/.install/audiogame-manager/Angel Gift.sh new file mode 100644 index 0000000..bf032e4 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Angel Gift.sh @@ -0,0 +1,4 @@ +download "https://agarchive.net/games/other/AngelGift.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/Angel Gift" "$cache/AngelGift.zip" +add_launcher 'c:\Program Files\Angel Gift\ag.exe' diff --git a/home/stormux/.local/.install/audiogame-manager/AudioDisc.sh b/home/stormux/.local/.install/audiogame-manager/AudioDisc.sh new file mode 100644 index 0000000..4cb354a --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/AudioDisc.sh @@ -0,0 +1,4 @@ +download "https://agarchive.net/games/other/audiodisc.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/audiodisc.zip" +add_launcher "c:\Program Files\audiodisc\disco.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/AudioQuake.sh b/home/stormux/.local/.install/audiogame-manager/AudioQuake.sh new file mode 100644 index 0000000..c90ce1c --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/AudioQuake.sh @@ -0,0 +1,8 @@ +# shellcheck shell=bash disable=SC2154 # cache and WINEPREFIX are set by audiogame-manager +download "https://github.com/matatk/agrip/releases/download/2020.0-beta1/AudioQuake+LDL_2020.0-beta1_Windows.zip" "https://stormgames.wolfe.casa/downloads/quake.zip" +export winVer="win7" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/AudioQuake+LDL_2020.0-beta1_Windows.zip" +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/AudioQuake/id1" "${cache}/quake.zip" +add_launcher "c:\Program Files\AudioQuake\AudioQuake.exe" +alert "After you launch the game, press tab then enter and it should begin speaking." diff --git a/home/stormux/.local/.install/audiogame-manager/Axel Pong.sh b/home/stormux/.local/.install/audiogame-manager/Axel Pong.sh new file mode 100644 index 0000000..adab859 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Axel Pong.sh @@ -0,0 +1,4 @@ +download "https://axelek.pl/index/axel_pong.7z" +install_wine_bottle +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files/Axel Pong" "${cache}/axel_pong.7z" +add_launcher "c:\Program Files\Axel Pong\axel_pong.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG 15 Puzzle.sh b/home/stormux/.local/.install/audiogame-manager/BG 15 Puzzle.sh new file mode 100644 index 0000000..1cd6654 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG 15 Puzzle.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG 15 Puzzle]}" +install_wine_bottle +wine "${cache}/FPB32Setup10a.exe" /silent +add_launcher "c:\Program Files (x86)\Games\FifteenB\FifteenB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG 2048.sh b/home/stormux/.local/.install/audiogame-manager/BG 2048.sh new file mode 100644 index 0000000..7e331fc --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG 2048.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG 2048]}" +install_wine_bottle +wine "${cache}/BG204832Setup10a.exe" /silent +add_launcher "c:\Program Files (x86)\Games\BG2048B\BG2048.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Aces Up Solitaire.sh b/home/stormux/.local/.install/audiogame-manager/BG Aces Up Solitaire.sh new file mode 100644 index 0000000..460bbfa --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Aces Up Solitaire.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Aces Up Solitaire]}" +install_wine_bottle +wine "${cache}/ASB32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\AcesUpB\AcesUpB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Alchemy.sh b/home/stormux/.local/.install/audiogame-manager/BG Alchemy.sh new file mode 100644 index 0000000..f1d08b5 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Alchemy.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Alchemy]}" +install_wine_bottle +wine "${cache}/BAC32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\AlchemyB\AlchemyB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Battleship.sh b/home/stormux/.local/.install/audiogame-manager/BG Battleship.sh new file mode 100644 index 0000000..f860414 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Battleship.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Battleship]}" +install_wine_bottle +wine "${cache}/BGB32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\BattleshipB\BGBattleship.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Boggle.sh b/home/stormux/.local/.install/audiogame-manager/BG Boggle.sh new file mode 100644 index 0000000..a49b9f2 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Boggle.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Boggle]}" +install_wine_bottle +wine "${cache}/BGB32Setup10a.exe" /silent +add_launcher "c:\Program Files (x86)\Games\BoggleB\BoggleB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Boxes.sh b/home/stormux/.local/.install/audiogame-manager/BG Boxes.sh new file mode 100644 index 0000000..9e4903f --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Boxes.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Boxes]}" +install_wine_bottle +wine "${cache}/BXB32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\BoxesB\BoxesB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Brainiac.sh b/home/stormux/.local/.install/audiogame-manager/BG Brainiac.sh new file mode 100644 index 0000000..db32c75 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Brainiac.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Brainiac]}" +install_wine_bottle +wine "${cache}/BRN32Setup10a.exe" /silent +add_launcher "c:\Program Files (x86)\Games\BrainiacB\BrainiacB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Chess Challenge.sh b/home/stormux/.local/.install/audiogame-manager/BG Chess Challenge.sh new file mode 100644 index 0000000..7f327a0 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Chess Challenge.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Chess Challenge]}" +install_wine_bottle +wine "${cache}/BGC32Setup10d.exe" /silent +add_launcher "c:\Program Files (x86)\Games\ChessB\BGChess.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Code Breaker.sh b/home/stormux/.local/.install/audiogame-manager/BG Code Breaker.sh new file mode 100644 index 0000000..5a3c6b8 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Code Breaker.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Code Breaker]}" +install_wine_bottle +wine "${cache}/BCB32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\CodeBreakerB\BGCodeBreaker.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Cribbage Solitaire.sh b/home/stormux/.local/.install/audiogame-manager/BG Cribbage Solitaire.sh new file mode 100644 index 0000000..42ef3bb --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Cribbage Solitaire.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Cribbage Solitaire]}" +install_wine_bottle +wine "${cache}/BCS32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\CribSolB\CribSolB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Cribbage.sh b/home/stormux/.local/.install/audiogame-manager/BG Cribbage.sh new file mode 100644 index 0000000..cdaa0b1 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Cribbage.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Cribbage]}" +install_wine_bottle +wine "${cache}/BGC32Setup12e.exe" /silent +add_launcher "c:\Program Files (x86)\Games\CribbageB\CribbageB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Crossword Puzzle.sh b/home/stormux/.local/.install/audiogame-manager/BG Crossword Puzzle.sh new file mode 100644 index 0000000..831faa3 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Crossword Puzzle.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Crossword Puzzle]}" +install_wine_bottle +wine "${cache}/BGX32Setup10h.exe" /silent +add_launcher "c:\Program Files (x86)\Games\CrosswordB\CrosswordB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Draw Dominoes.sh b/home/stormux/.local/.install/audiogame-manager/BG Draw Dominoes.sh new file mode 100644 index 0000000..9e74d6d --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Draw Dominoes.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Draw Dominoes]}" +install_wine_bottle +wine "${cache}/BDD32Setup.exe" /silent +add_launcher "c:\Program Files (x86)\Games\DrawDominoesB\DrawDominoesB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Elevens Solitaire.sh b/home/stormux/.local/.install/audiogame-manager/BG Elevens Solitaire.sh new file mode 100644 index 0000000..58d7f15 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Elevens Solitaire.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Elevens Solitaire]}" +install_wine_bottle +wine "${cache}/ESB32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\ElevensB\ElevensB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Fives Dominoes.sh b/home/stormux/.local/.install/audiogame-manager/BG Fives Dominoes.sh new file mode 100644 index 0000000..b922fc3 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Fives Dominoes.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Fives Dominoes]}" +install_wine_bottle +wine "${cache}/BFD32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\FivesDominoesB\FivesDominoesB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Free Cell Solitaire.sh b/home/stormux/.local/.install/audiogame-manager/BG Free Cell Solitaire.sh new file mode 100644 index 0000000..e07b817 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Free Cell Solitaire.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Free Cell Solitaire]}" +install_wine_bottle +wine "${cache}/BGF32Setup20.exe" /silent +add_launcher "c:\Program Files (x86)\Games\FreecellB\FreecellB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Golf Solitaire.sh b/home/stormux/.local/.install/audiogame-manager/BG Golf Solitaire.sh new file mode 100644 index 0000000..f85a0fd --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Golf Solitaire.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Golf Solitaire]}" +install_wine_bottle +wine "${cache}/GSB32Setup10a.exe" /silent +add_launcher "c:\Program Files (x86)\Games\GolfSolitaireB\GolfSolitaireB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Hangman.sh b/home/stormux/.local/.install/audiogame-manager/BG Hangman.sh new file mode 100644 index 0000000..f068ae5 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Hangman.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Hangman]}" +install_wine_bottle +wine "${cache}/HMB32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\HangmanB\HangmanB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Hearts.sh b/home/stormux/.local/.install/audiogame-manager/BG Hearts.sh new file mode 100644 index 0000000..7d9f1a9 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Hearts.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Hearts]}" +install_wine_bottle +wine "${cache}/${BGH32Setup10b.exe}" /silent +add_launcher "c:\Program Files (x86)\Games\HeartsB\HeartsB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Klondike Solitaire.sh b/home/stormux/.local/.install/audiogame-manager/BG Klondike Solitaire.sh new file mode 100644 index 0000000..1c5838b --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Klondike Solitaire.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Klondike Solitaire]}" +install_wine_bottle +wine "${cache}/BGK32Setup10b.exe" /silent +add_launcher "c:\Program Files (x86)\Games\KlondikeB\KlondikeB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG LAP.sh b/home/stormux/.local/.install/audiogame-manager/BG LAP.sh new file mode 100644 index 0000000..f9140df --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG LAP.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG LAP]}" +install_wine_bottle +wine "${cache}/LAP32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\LAP\LAP.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Master Mind.sh b/home/stormux/.local/.install/audiogame-manager/BG Master Mind.sh new file mode 100644 index 0000000..6612af3 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Master Mind.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Master Mind]}" +install_wine_bottle +wine "${cache}/BMM32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\MastermindB\BGMasterMind.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Mine Sweeper.sh b/home/stormux/.local/.install/audiogame-manager/BG Mine Sweeper.sh new file mode 100644 index 0000000..f8fa38c --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Mine Sweeper.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Mine Sweeper]}" +install_wine_bottle +wine "${cache}/MSB32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\MinesweeperB\MinesweeperB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Nomination Whist.sh b/home/stormux/.local/.install/audiogame-manager/BG Nomination Whist.sh new file mode 100644 index 0000000..8d843fc --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Nomination Whist.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Nomination Whist]}" +install_wine_bottle +wine "${cache}/BNW32Setup10a.exe" /silent +add_launcher "c:\Program Files (x86)\Games\NomWhistB\NomWhistB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Penguin Solitaire.sh b/home/stormux/.local/.install/audiogame-manager/BG Penguin Solitaire.sh new file mode 100644 index 0000000..01b24f0 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Penguin Solitaire.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Penguin Solitaire]}" +install_wine_bottle +wine "${cache}/BPS32Setup10c.exe" /silent +add_launcher "c:\Program Files (x86)\Games\PenguinB\PenguinB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Poker Solitaire.sh b/home/stormux/.local/.install/audiogame-manager/BG Poker Solitaire.sh new file mode 100644 index 0000000..ca5b82b --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Poker Solitaire.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Poker Solitaire]}" +install_wine_bottle +wine "${cache}/BPS32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\PokerSolB\PokerSolB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Pyramid Solitaire.sh b/home/stormux/.local/.install/audiogame-manager/BG Pyramid Solitaire.sh new file mode 100644 index 0000000..44eb424 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Pyramid Solitaire.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Pyramid Solitaire]}" +install_wine_bottle +wine "${cache}/PSB32Setup10a.exe" /silent +add_launcher "c:\Program Files (x86)\Games\PyramidB\PyramidB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Scorpion Solitaire.sh b/home/stormux/.local/.install/audiogame-manager/BG Scorpion Solitaire.sh new file mode 100644 index 0000000..7132b4d --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Scorpion Solitaire.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Scorpion Solitaire]}" +install_wine_bottle +wine "${cache}/BSS32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\ScorpionB\ScorpionB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Scrabble.sh b/home/stormux/.local/.install/audiogame-manager/BG Scrabble.sh new file mode 100644 index 0000000..de2bb8a --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Scrabble.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Scrabble]}" +install_wine_bottle +wine "${cache}/BGS32Setup20.exe" /silent +add_launcher "c:\Program Files (x86)\Games\ScrabbleB\ScrabbleB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Simon.sh b/home/stormux/.local/.install/audiogame-manager/BG Simon.sh new file mode 100644 index 0000000..3547a74 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Simon.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Simon]}" +install_wine_bottle +wine "${cache}/BGS32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\SimonB\SimonB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Spider Solitaire.sh b/home/stormux/.local/.install/audiogame-manager/BG Spider Solitaire.sh new file mode 100644 index 0000000..f65a2db --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Spider Solitaire.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Spider Solitaire]}" +install_wine_bottle +wine "${cache}/SPB32Setup10b.exe" /silent +add_launcher "c:\Program Files (x86)\Games\SpiderB\SpiderB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Sudoku.sh b/home/stormux/.local/.install/audiogame-manager/BG Sudoku.sh new file mode 100644 index 0000000..01d8c3b --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Sudoku.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Sudoku]}" +install_wine_bottle +wine "${cache}/SDB32Setup10a.exe" /silent +add_launcher "c:\Program Files (x86)\Games\SudokuB\SudokuB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Tablic Solitaire.sh b/home/stormux/.local/.install/audiogame-manager/BG Tablic Solitaire.sh new file mode 100644 index 0000000..613591c --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Tablic Solitaire.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Tablic Solitaire]}" +install_wine_bottle +wine "${cache}/SDB32Setup10a.exe" /silent +add_launcher "c:\Program Files (x86)\Games\TabSolB\BGTabSol.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Tri-Peaks Solitaire.sh b/home/stormux/.local/.install/audiogame-manager/BG Tri-Peaks Solitaire.sh new file mode 100644 index 0000000..0ef4d81 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Tri-Peaks Solitaire.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Tri-Peaks Solitaire]}" +install_wine_bottle +wine "${cache}/TPB32Setup10a.exe" /silent +add_launcher "c:\Program Files (x86)\Games\TriPeaksB\TriPeaksB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Twenty 20 Cricket.sh b/home/stormux/.local/.install/audiogame-manager/BG Twenty 20 Cricket.sh new file mode 100644 index 0000000..c96e0ba --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Twenty 20 Cricket.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Twenty 20 Cricket]}" +install_wine_bottle +wine "${cache}/T20B32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\T20CricketB\CricketB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Uno.sh b/home/stormux/.local/.install/audiogame-manager/BG Uno.sh new file mode 100644 index 0000000..3573c63 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Uno.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Uno]}" +install_wine_bottle +wine "${cache}/BGU32Setup11a.exe" /silent +add_launcher "c:\Program Files (x86)\Games\UnoB\UnoB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Word Builder.sh b/home/stormux/.local/.install/audiogame-manager/BG Word Builder.sh new file mode 100644 index 0000000..3e28ff3 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Word Builder.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Word Builder]}" +install_wine_bottle +wine "${cache}/BWB32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\WordBuilderB\WordBuilderB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Word Candy.sh b/home/stormux/.local/.install/audiogame-manager/BG Word Candy.sh new file mode 100644 index 0000000..370d482 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Word Candy.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Word Candy]}" +install_wine_bottle +wine "${cache}/WCB32Setup10a.exe" /silent +add_launcher "c:\Program Files (x86)\Games\WordCandyB\WordCandyB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Word Jumble.sh b/home/stormux/.local/.install/audiogame-manager/BG Word Jumble.sh new file mode 100644 index 0000000..d0eb5d8 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Word Jumble.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Word Jumble]}" +install_wine_bottle +wine "${cache}/BWJ32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\WordJumbleB\WordJumbleB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Word Maze.sh b/home/stormux/.local/.install/audiogame-manager/BG Word Maze.sh new file mode 100644 index 0000000..87dcd9e --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Word Maze.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Word Maze]}" +install_wine_bottle +wine "${cache}/BWM32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\WordMazeB\WordMazeB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Word Solitaire.sh b/home/stormux/.local/.install/audiogame-manager/BG Word Solitaire.sh new file mode 100644 index 0000000..0a1a58d --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Word Solitaire.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Word Solitaire]}" +install_wine_bottle +wine "${cache}/WSB32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\WordSolitaireB\WordSolitaireB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Word Target.sh b/home/stormux/.local/.install/audiogame-manager/BG Word Target.sh new file mode 100644 index 0000000..ed7ad30 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Word Target.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Word Target]}" +install_wine_bottle +wine "${cache}/WTB32Setup10a.exe" /silent +add_launcher "c:\Program Files (x86)\Games\WordTargetB\WordTargetB.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Word Yahtzee.sh b/home/stormux/.local/.install/audiogame-manager/BG Word Yahtzee.sh new file mode 100644 index 0000000..e58545c --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Word Yahtzee.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Word Yahtzee]}" +install_wine_bottle +wine "${cache}/BWY32Setup10.exe" /silent +add_launcher "c:\Program Files (x86)\Games\WordYahtzeeB\BGWordYahtzee.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/BG Yahtzee.sh b/home/stormux/.local/.install/audiogame-manager/BG Yahtzee.sh new file mode 100644 index 0000000..8292cdb --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/BG Yahtzee.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[BG Yahtzee]}" +install_wine_bottle +wine "${cache}/BGY32Setup10a.exe" /silent +add_launcher "c:\Program Files (x86)\Games\yahtzeeB\BGYahtzee.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Balatro.sh b/home/stormux/.local/.install/audiogame-manager/Balatro.sh new file mode 100644 index 0000000..3318572 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Balatro.sh @@ -0,0 +1,15 @@ +export WINEARCH=win64 +export winVer="win10" +install_wine_bottle +get_steam "2379780" "https://store.steampowered.com/app/2379780/Balatro/" +mkdir -p "$WINEPREFIX/drive_c/users/$USER/AppData/Roaming/Balatro/Mods" +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/users/$USER/AppData/Roaming/Balatro" "$cache/BlackHole-Release.zip" +pushd "$WINEPREFIX/drive_c/users/$USER/AppData/Roaming/Balatro/Mods" +(cat mod_urls.txt ; echo) | while read -r x ; do + git clone "$x" +done +cp -fv BlackHole/bin/*.dll "$WINEPREFIX/drive_c/Program Files/Balatro" +cp -fv "$cache/Tolk.dll" "$WINEPREFIX/drive_c/Program Files/Balatro/tolk.dll" +cp -fv "$cache/Tolk.dll" BlackHole/bin/tolk.dll +cp -fv ../version.dll "$WINEPREFIX/drive_c/Program Files/Balatro" +add_launcher 'c:\Program Files\Balatro\Balatro.exe' 'export WINEDLLOVERRIDES=version=n,b' diff --git a/home/stormux/.local/.install/audiogame-manager/Battle Zone.sh b/home/stormux/.local/.install/audiogame-manager/Battle Zone.sh new file mode 100644 index 0000000..170720d --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Battle Zone.sh @@ -0,0 +1,5 @@ +download "https://www.agarchive.net/games/gameMadnessInteractive/battle%20zone%2013.5%20setup.exe" +export winVer="win7" +install_wine_bottle +wine "${cache}/battle zone 13.5 setup.exe" /silent +add_launcher "c:\Program Files (x86)\Battle Zone\ss.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Battle of the Hunter.sh b/home/stormux/.local/.install/audiogame-manager/Battle of the Hunter.sh new file mode 100644 index 0000000..a680212 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Battle of the Hunter.sh @@ -0,0 +1,6 @@ +download "http://files.tunmi13.com/projects_archive/bth.zip" +# Uses standard wine path based on architecture (win32/win64) +export winVer="win7" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/$game" "${cache}/bth.zip" +add_launcher "c:\Program Files\\${game}\bth.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Battlefield 2D.sh b/home/stormux/.local/.install/audiogame-manager/Battlefield 2D.sh new file mode 100644 index 0000000..0a69452 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Battlefield 2D.sh @@ -0,0 +1,7 @@ +get_installer "bf.zip" "https://tunmi13.itch.io/battlefield-2d" +export WINEARCH=win64 +export winVer="win8" +# Uses standard wine path based on architecture (win32/win64) +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/bf.zip" +add_launcher "c:\Program Files\bf\bf.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Beatstar Pro.sh b/home/stormux/.local/.install/audiogame-manager/Beatstar Pro.sh new file mode 100644 index 0000000..d59ce2d --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Beatstar Pro.sh @@ -0,0 +1,8 @@ +#// +download "https://oriolgomez.com/games/beat_windows.zip" +# Sapi is broken on win64 for now, and this game doesn't support nvda it seems. +export WINEARCH=win64 +export winVer="win7" +install_wine_bottle mf +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/Beatstar Pro" "${cache}/beat_windows.zip" +add_launcher "c:\Program Files\Beatstar Pro\beatstar.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Blades of Glory.sh b/home/stormux/.local/.install/audiogame-manager/Blades of Glory.sh new file mode 100644 index 0000000..b9ab202 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Blades of Glory.sh @@ -0,0 +1,6 @@ +#//Disable +download "https://nibblenerds.com/static/blades_of_glory.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/Blades of Glory" "${cache}/blades_of_glory.zip" +install_discord_rpc_bridge +add_launcher "c:\Program Files\Blades of Glory\blades_of_glory.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Blind Drive.sh b/home/stormux/.local/.install/audiogame-manager/Blind Drive.sh new file mode 100644 index 0000000..e32c49e --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Blind Drive.sh @@ -0,0 +1,9 @@ +get_installer "Blind Drive 1.1.112.00i-win64.zip" "https://lofipeople.itch.io/blind-drive" +export WINEARCH=win64 +export winVer="win8" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/blind-drive" "${cache}/Blind Drive 1.1.112.00i-win64.zip" +# Weird work around to get keyboard working. +winetricks -q usetakefocus=y +winetricks -q usetakefocus=n +add_launcher "c:\Program Files\blind-drive\Blind Drive.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Bloodshed.sh b/home/stormux/.local/.install/audiogame-manager/Bloodshed.sh new file mode 100644 index 0000000..be2c5bd --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Bloodshed.sh @@ -0,0 +1,5 @@ +export WINEARCH="win64" # Migrated to wine64 +download "${ipfs[Bloodshed]}" +install_wine_bottle +cp "${cache}/bloodshed.exe" "$WINEPREFIX/drive_c/Program Files/" +add_launcher "c:\Program Files\bloodshed.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Bokurano Daibouken 2.sh b/home/stormux/.local/.install/audiogame-manager/Bokurano Daibouken 2.sh new file mode 100644 index 0000000..a69643c --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Bokurano Daibouken 2.sh @@ -0,0 +1,6 @@ +export WINEARCH="win64" # Migrated to wine64 +download "https://www.nyanchangames.com/softs/nn2_setup.exe" +export winVer="win7" +install_wine_bottle +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/nyanchangame/bk2" "${cache}/nn2_setup.exe" +add_launcher "c:\nyanchangame\bk2\play.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Bokurano Daibouken 3.sh b/home/stormux/.local/.install/audiogame-manager/Bokurano Daibouken 3.sh new file mode 100644 index 0000000..06b8911 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Bokurano Daibouken 3.sh @@ -0,0 +1,27 @@ +export WINEARCH="win64" # Migrated to wine64 +download "https://www.nyanchangames.com/softs/nn3_setup.exe" +export winVer="win7" +install_wine_bottle +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/nyanchangame/bk3" "${cache}/nn3_setup.exe" +if [[ ! -r "${cache}/bk3-dict.dat" ]]; then + echo "http://www.nyanchangames.com/order/bk3translate.html" | xclip -selection clipboard 2> /dev/null + agm_msgbox "Bokurano Daibouken 3" "Bokurano Daibouken 3" "If you would like English translations, the file is available at http://www.nyanchangames.com/order/bk3translate.html. Save the dict.dat file to your Downloads or Desktop directory. For convenience the url has been copied to your clipboard. Press enter when you are ready to continue." +fi +dictFile="" +for i in "${HOME}/Downloads/dict.dat" "${HOME}/Desktop/dict.dat" ; do + if [[ -r "$i" ]]; then + dictFile="$i" + fi +done +if [[ "${#dictFile}" -ge 3 ]] && [[ ! -r "${cache}/bk3-dict.dat" ]]; then + agm_yesno "Bokurano Daibouken 3" "Bokurano Daibouken 3" "Possible English translation file found at $dictFile. Would you like to use it for BK3?" && cp -fv "$dictFile" "${cache}/bk3-dict.dat" +fi +if [[ -f "${cache}/bk3-dict.dat" ]] ; then + cp -fv "${cache}/bk3-dict.dat" "${WINEPREFIX}/drive_c/nyanchangame/bk3/dict.dat" + if [[ -f "${cache}/nvdaControllerClient32.dll" ]] ; then + cp -fv "${cache}/nvdaControllerClient32.dll" "${WINEPREFIX}/drive_c/nyanchangame/bk3/data/nvdaControllerClient32.dll" + fi +else + rm -fv "${WINEPREFIX}/drive_c/nyanchangame/bk3/data/nvdaControllerClient32.dll" +fi +add_launcher "c:\nyanchangame\bk3\play.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Bokurano Daibouken.sh b/home/stormux/.local/.install/audiogame-manager/Bokurano Daibouken.sh new file mode 100644 index 0000000..f1303ef --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Bokurano Daibouken.sh @@ -0,0 +1,6 @@ +download "https://www.nyanchangames.com/softs/nn_setup.exe" +export WINEARCH="win64" # Migrated to wine64 +export winVer="win7" +install_wine_bottle +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/nyanchangame/bk" "${cache}/nn_setup.exe" +add_launcher "c:\nyanchangame\bk\play.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Bombercats.sh b/home/stormux/.local/.install/audiogame-manager/Bombercats.sh new file mode 100644 index 0000000..5adb37f --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Bombercats.sh @@ -0,0 +1,6 @@ +download "http://oriolgomez.com/games/bombercats_en.zip" +# Uses standard wine path based on architecture (win32/win64) +export winVer="win7" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/bomvercats" "${cache}/bombercats_en.zip" +add_launcher "c:\Program Files\bomvercats\game.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Bop It Emulator.sh b/home/stormux/.local/.install/audiogame-manager/Bop It Emulator.sh new file mode 100644 index 0000000..d867b5b --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Bop It Emulator.sh @@ -0,0 +1,5 @@ +download "http://www.masonasons.me/softs/BopItEmulator3.1PasswordIsBopIt.7z" +export winVer="win7" +install_wine_bottle +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files/Bop It" "${cache}/BopItEmulator3.1PasswordIsBopIt.7z" -pBopIt +add_launcher "c:\Program Files\Bop It\bop.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Bounce Bounce.sh b/home/stormux/.local/.install/audiogame-manager/Bounce Bounce.sh new file mode 100644 index 0000000..6f588ae --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Bounce Bounce.sh @@ -0,0 +1,5 @@ +export WINEARCH=win64 +get_installer "bounce_bounce.rar" "https://kavyapriya.itch.io/bounce-bounce" +install_wine_bottle +unrar x "${cache}/bounce_bounce.rar" -op"$WINEPREFIX/drive_c/Program Files" +add_launcher "c:\Program Files\bounce_bounce\bounce.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Breed Memorial.sh b/home/stormux/.local/.install/audiogame-manager/Breed Memorial.sh new file mode 100644 index 0000000..fa1342b --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Breed Memorial.sh @@ -0,0 +1,6 @@ +#// +download "https://hirotaka2014.sakura.ne.jp/mh0406/game/breed_memorial.zip" "${nvdaControllerClient32Dll}" +export winVer="win7" +install_wine_bottle cjkfonts +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/breed_memorial.zip" +add_launcher "c:\Program Files\Breed memorial\Breed memorial\breed memorial.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Breu2 Shadow Hunt.sh b/home/stormux/.local/.install/audiogame-manager/Breu2 Shadow Hunt.sh new file mode 100644 index 0000000..6f11a0e --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Breu2 Shadow Hunt.sh @@ -0,0 +1,6 @@ +get_installer "breu2.zip" "https://breu.itch.io/shadowhunt" +export WINEARCH=win64 +export winVer="win8" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/breu2.zip" +add_launcher "c:\Program Files\breu2\breu2.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Castaways 2.sh b/home/stormux/.local/.install/audiogame-manager/Castaways 2.sh new file mode 100644 index 0000000..7689a53 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Castaways 2.sh @@ -0,0 +1,7 @@ +download "http://www.kaldobsky.com/audiogames/castaways2beta.zip" +# Uses standard wine path based on architecture (win32/win64) +export winVer="win7" +install_wine_bottle vb6run dx8vb +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/castaways2" "${cache}/castaways2beta.zip" +wine "c:\Program Files\castaways2\Checkup.exe" /verysilent +add_launcher "c:\Program Files\castaways2\Castaways2.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Castaways.sh b/home/stormux/.local/.install/audiogame-manager/Castaways.sh new file mode 100644 index 0000000..51fb608 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Castaways.sh @@ -0,0 +1,7 @@ +download "https://www.kaldobsky.com/audiogames/castaways.zip" +# Uses standard wine path based on architecture (win32/win64) +export winVer="win7" +install_wine_bottle vb6run dx8vb +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/castaways" "${cache}/castaways.zip" +wine "c:\Program Files\castaways\Checkup.exe" /verysilent +add_launcher "c:\Program Files\castaways\Castaways.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Challenge of the Horse.sh b/home/stormux/.local/.install/audiogame-manager/Challenge of the Horse.sh new file mode 100644 index 0000000..94a2907 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Challenge of the Horse.sh @@ -0,0 +1,5 @@ +download "http://files.tunmi13.com/projects_archive/coth.zip" +export winVer="win7" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/$game" "${cache}/coth.zip" +add_launcher "c:\Program Files\\${game}\game.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Change Reaction.sh b/home/stormux/.local/.install/audiogame-manager/Change Reaction.sh new file mode 100644 index 0000000..6b81fca --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Change Reaction.sh @@ -0,0 +1,12 @@ +download "https://download.dracoent.com/Windows/ChangeReactionSetup.exe" +# Uses standard wine path based on architecture (win32/win64) +export winVer="win7" +install_wine_bottle vb6run dx8vb quartz +cp -fv "${cache}/ChangeReactionSetup.exe" "$WINEPREFIX/drive_c/windows/temp/" +wine "c:/windows/temp/ChangeReactionSetup.exe" /sp- /silent +rm -fv "$WINEPREFIX/drive_c/windows/temp/ChangeReactionSetup.exe" +# warning warning warning: Do not change location, or installer will not function. +# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang. +winetricks -q dotnet20 +wineserver -k # Damn you, dotnet. +add_launcher "c:\Program Files (x86)\Draconis Entertainment\Change Reaction\ChangeReactionGui.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Chillingham.sh b/home/stormux/.local/.install/audiogame-manager/Chillingham.sh new file mode 100644 index 0000000..992acad --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Chillingham.sh @@ -0,0 +1,4 @@ +download "https://stormgames.wolfe.casa/downloads/chillingham.zip" +install_wine_bottle vb6run mfc42 +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "$cache/chillingham.zip" +add_launcher "c:\Program Files\chillingham\Chillingham.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Chopper Challenge.sh b/home/stormux/.local/.install/audiogame-manager/Chopper Challenge.sh new file mode 100644 index 0000000..675639e --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Chopper Challenge.sh @@ -0,0 +1,4 @@ +download "${ipfs[Chopper Challenge]}" +install_wine_bottle vb6run dx8vb +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/chopper challenge.zip" +add_launcher "c:\Program Files\chopper challenge\Chopper.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Christmas Chaos.sh b/home/stormux/.local/.install/audiogame-manager/Christmas Chaos.sh new file mode 100644 index 0000000..471d82f --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Christmas Chaos.sh @@ -0,0 +1,7 @@ +export WINEARCH=win64 +export winVer="win7" +download "${ipfs[Christmas Chaos]}" "https://stormgames.wolfe.casa/downloads/Tolk.dll" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/ChristmasChaos.zip" +find "${WINEPREFIX}" -type f -name 'Tolk.dll' -exec cp -fv "${cache}/Tolk.dll" "{}" \; +add_launcher "c:\Program Files\ChristmasChaos\ChristmasChaos.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Christmas WhoopAss.sh b/home/stormux/.local/.install/audiogame-manager/Christmas WhoopAss.sh new file mode 100644 index 0000000..dacd2ea --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Christmas WhoopAss.sh @@ -0,0 +1,4 @@ +download "https://www.agarchive.net/games/draconis/christmas%20whoopass%20setup.exe" +install_wine_bottle vb6run dx8vb +wine "${cache}/christmas whoopass setup.exe" /sp- /silent +add_launcher "c:\Program Files (x86)\Draconis Entertainment\Christmas Whoop Ass\wa.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Clashes of the Sky.sh b/home/stormux/.local/.install/audiogame-manager/Clashes of the Sky.sh new file mode 100644 index 0000000..865304f --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Clashes of the Sky.sh @@ -0,0 +1,6 @@ +get_installer "clashes_of_the_sky.zip" "https://tunmi13.itch.io/clashes-of-the-sky" +# Uses standard wine path based on architecture (win32/win64) +export winVer="win7" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/clashes_of_the_sky.zip" +add_launcher 'c:\Program Files\clashes_of_the_sky\clash.exe' diff --git a/home/stormux/.local/.install/audiogame-manager/Code Dungeon.sh b/home/stormux/.local/.install/audiogame-manager/Code Dungeon.sh new file mode 100644 index 0000000..1d97f17 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Code Dungeon.sh @@ -0,0 +1,9 @@ +get_installer "codedungeon-win-64.zip" "https://stealcase.itch.io/codedungeon" +export WINEARCH=win64 +export winVer="win8" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/code-dungeon" "${cache}/codedungeon-win-64.zip" +# Weird work around to get keyboard working. +winetricks -q usetakefocus=y +winetricks -q usetakefocus=n +add_launcher "c:\Program Files\code-dungeon\Code Dungeon.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Conjury.sh b/home/stormux/.local/.install/audiogame-manager/Conjury.sh new file mode 100644 index 0000000..46c00ef --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Conjury.sh @@ -0,0 +1,5 @@ +export WINEARCH=win64 +export winVer="win8" +install_wine_bottle +get_steam 2684520 "https://store.steampowered.com/app/2684520/Conjury/" +add_launcher 'c:\Program Files\Conjury\release\Conjury.exe' diff --git a/home/stormux/.local/.install/audiogame-manager/Constant Battle.sh b/home/stormux/.local/.install/audiogame-manager/Constant Battle.sh new file mode 100644 index 0000000..1e61d75 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Constant Battle.sh @@ -0,0 +1,6 @@ +#// +export winVer="win7" +download "https://renovagames.com/bc/BC-Setup.exe" +install_wine_bottle cjkfonts +wine "${cache}/BC-Setup.exe" /silent +#add_launcher "c:\Program Files (x86)\" diff --git a/home/stormux/.local/.install/audiogame-manager/Copter Mission.sh b/home/stormux/.local/.install/audiogame-manager/Copter Mission.sh new file mode 100644 index 0000000..75ac279 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Copter Mission.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "http://oriolgomez.com/games/copter_en.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/copter mission" "${cache}/copter_en.zip" +add_launcher "c:\Program Files\copter mission\game.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Crazy Party.sh b/home/stormux/.local/.install/audiogame-manager/Crazy Party.sh new file mode 100644 index 0000000..156f6a6 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Crazy Party.sh @@ -0,0 +1,7 @@ +download "http://pragmapragma.free.fr/crazy-party/Crazy-Party-beta82.zip" "https://stormgames.wolfe.casa/downloads/Tolk.dll" +export WINEARCH=win64 +export winVer="win8" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/Crazy-Party-beta82.zip" +find "${WINEPREFIX}" -type f -name 'Tolk.dll' -exec cp -fv "${cache}/Tolk.dll" "{}" \; +add_launcher "c:\Program Files\Crazy-Party-beta82\Crazy Party.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Crazy Tennis.sh b/home/stormux/.local/.install/audiogame-manager/Crazy Tennis.sh new file mode 100644 index 0000000..319a1cb --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Crazy Tennis.sh @@ -0,0 +1,4 @@ +download "https://www.agarchive.net/games/VIP/crazy%20tennis%20setup.exe" +install_wine_bottle +wine "${cache}/crazy tennis setup.exe" /sp- /silent +add_launcher "c:\Program Files (x86)\Crazytennis\crazytennis.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Crime Hunter.sh b/home/stormux/.local/.install/audiogame-manager/Crime Hunter.sh new file mode 100644 index 0000000..9de71d2 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Crime Hunter.sh @@ -0,0 +1,6 @@ +export WINEARCH=win64 +export winVer="win7" +download "http://masonasons.me/softs/CH2.0Win.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/crime-hunter" "${cache}/CH2.0Win.zip" +add_launcher "c:\Program Files\crime-hunter\ch.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Danger City.sh b/home/stormux/.local/.install/audiogame-manager/Danger City.sh new file mode 100644 index 0000000..71c0820 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Danger City.sh @@ -0,0 +1,9 @@ +download "https://www.agarchive.net/games/xl/DangerCityBeta2.exe" +install_wine_bottle vb6run dx8vb +wine "$cache/DangerCityBeta2.exe" /silent & +xdotool sleep 15 key --clearmodifiers --delay 200 Return 2> /dev/null +xdotool sleep 5 key --clearmodifiers --delay 200 Return 2> /dev/null +xdotool sleep 5key --clearmodifiers --delay 200 Return 2> /dev/null +xdotool sleep 10 --clearmodifiers --delay 200 Return 2> /dev/null +wineserver -w +add_launcher 'c:\Program Files\Danger City\dc.exe' diff --git a/home/stormux/.local/.install/audiogame-manager/Danger on the Wheel.sh b/home/stormux/.local/.install/audiogame-manager/Danger on the Wheel.sh new file mode 100644 index 0000000..6cc3fd7 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Danger on the Wheel.sh @@ -0,0 +1,6 @@ +download "http://oriolgomez.com/games/wheel_en.zip" +# Uses standard wine path based on architecture (win32/win64) +export winVer="win7" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/danger on the wheel" "${cache}/wheel_en.zip" +add_launcher "c:\Program Files\danger on the wheel\game.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Dark Destroyer.sh b/home/stormux/.local/.install/audiogame-manager/Dark Destroyer.sh new file mode 100644 index 0000000..90bedcc --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Dark Destroyer.sh @@ -0,0 +1,6 @@ +#// +# No custom bottle needed - use standard wine path based on architecture +download "https://www.agarchive.net/games/pb/Dark-Destroyer-Setup.exe" +install_wine_bottle ie6 +wine "$cache/Dark-Destroyer-Setup.exe" /silent +add_launcher 'c:\Pbgames\Dark_destroyer\darkdestroyer.exe' diff --git a/home/stormux/.local/.install/audiogame-manager/Daytona and the Book of Gold.sh b/home/stormux/.local/.install/audiogame-manager/Daytona and the Book of Gold.sh new file mode 100644 index 0000000..fa087f7 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Daytona and the Book of Gold.sh @@ -0,0 +1,7 @@ +export winVer="win7" +export winetricksSettings="vd=1024x768" +download "https://kaldobsky.com/audiogames/Daytona.zip" +install_wine_bottle vb6run dx8vb quartz +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/daytona" "${cache}/Daytona.zip" +wine 'c:\Program Files\daytona\checkup.exe' /verysilent +add_launcher "c:\Program Files\daytona\Daytona.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Death on the Road.sh b/home/stormux/.local/.install/audiogame-manager/Death on the Road.sh new file mode 100644 index 0000000..072e11f --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Death on the Road.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "http://oriolgomez.com/games/road_en.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/death on the road" "${cache}/road_en.zip" +add_launcher "c:\Program Files\death on the road\game.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Deathmatch.sh b/home/stormux/.local/.install/audiogame-manager/Deathmatch.sh new file mode 100644 index 0000000..763c23b --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Deathmatch.sh @@ -0,0 +1,6 @@ +export winVer="win7" +export winetricksSettings="vd=1024x768" +download "https://www.agarchive.net/games/realitySoftware/death%20match%20project%20alpha%20setup.exe" +install_wine_bottle quartz +wine "${cache}/death match project alpha setup.exe" /silent +add_launcher "c:\Program Files (x86)\reality software\death match project alpha\dm1.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Dog Who Hates Toast.sh b/home/stormux/.local/.install/audiogame-manager/Dog Who Hates Toast.sh new file mode 100644 index 0000000..e8c7f1c --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Dog Who Hates Toast.sh @@ -0,0 +1,9 @@ +export WINEARCH="win64" # Migrated to wine64 with WINETRICKS_FORCE=1 +export winVer="win7" +export winetricksSettings="vd=1024x768" +download "https://www.kaldobsky.com/audiogames/dogwhohatestoast.zip" +install_wine_bottle sapi vb6run dx8vb quartz +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/dogwhohatestoast" "${cache}/dogwhohatestoast.zip" +wine 'c:\Program Files\dogwhohatestoast\checkup.exe' /verysilent +add_launcher "c:\Program Files\dogwhohatestoast\DogwhoHatesToast.exe" +echo "Note: Dog who Hates Toast installed. Once you start the game, you must press tab until you hear sapi on to get speech." >&2 diff --git a/home/stormux/.local/.install/audiogame-manager/Dragon Pong.sh b/home/stormux/.local/.install/audiogame-manager/Dragon Pong.sh new file mode 100644 index 0000000..fd80b4e --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Dragon Pong.sh @@ -0,0 +1,6 @@ +#// +export winVer="win7" +install_wine_bottle +download "https://www.iamtalon.me/games/dragonpong.zip" +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/dragonpong.zip" +add_launcher "c:\Program Files\dragonpong\DragonPong.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Dreamland.sh b/home/stormux/.local/.install/audiogame-manager/Dreamland.sh new file mode 100644 index 0000000..aeae5c4 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Dreamland.sh @@ -0,0 +1,22 @@ +export winVer="win10" +export WINEARCH="win64" # Migrated to wine64 +# WINEPREFIX will be set automatically by install_wine_bottle to ~/.local/wine64 + +download https://scwl-1251129685.cos.ap-shanghai.myqcloud.com/dreamland/Win/DreamLandSetup.exe + +install_wine_bottle + +winetricks -q vcrun2019 d3dcompiler_47 + +# Run installer silently (shows a dialog but completes successfully) +# Using C:\DreamLand instead of Program Files to avoid potential permission issues +{ + echo "# Installing Dreamland..." + timeout 120 wine "${cache}/DreamLandSetup.exe" /VERYSILENT /NORESTART /DIR="C:\DreamLand" 2>&1 || true + echo "# Installation complete" +} | agm_progressbox "Installing Game" "Installing Dreamland (this may take a minute)..." + +# Kill any game processes that may have auto-launched +wineserver -k 2>/dev/null || true + +add_launcher "c:\DreamLand\DreamLand.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Duck Hunt.sh b/home/stormux/.local/.install/audiogame-manager/Duck Hunt.sh new file mode 100644 index 0000000..fa4717a --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Duck Hunt.sh @@ -0,0 +1,4 @@ +download "http://files.l-works.net/dhsetup.exe" +install_wine_bottle vb6run dx8vb +wine "${cache}/dhsetup.exe" /silent +add_launcher "c:\Program Files (x86)\Lworks\Duck Hunt\duckhunt.exe" \ No newline at end of file diff --git a/home/stormux/.local/.install/audiogame-manager/DynaMan.sh b/home/stormux/.local/.install/audiogame-manager/DynaMan.sh new file mode 100644 index 0000000..97b56ce --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/DynaMan.sh @@ -0,0 +1,12 @@ +export winVer="win7" +# Uses standard wine path based on architecture (win32/win64) +download "http://download.dracoent.com/Windows/classic/DMSetup.exe" +install_wine_bottle vb6run dx8vb quartz +cp -fv "${cache}/DMSetup.exe" "$WINEPREFIX/drive_c/windows/temp/" +wine "c:/windows/temp/DMSetup.exe" /sp- /silent +rm -fv "$WINEPREFIX/drive_c/windows/temp/DMSetup.exe" +# warning warning warning: Do not change location, or installer will not function. +# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang. +winetricks -q dotnet20 +wineserver -k # Damn you, dotnet. +add_launcher "c:\Program Files (x86)\Draconis Entertainment\DynaMan\dm.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/ESP Pinball Classic.sh b/home/stormux/.local/.install/audiogame-manager/ESP Pinball Classic.sh new file mode 100644 index 0000000..38e9e4a --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/ESP Pinball Classic.sh @@ -0,0 +1,12 @@ +export winVer="win7" +# Uses standard wine path based on architecture (win32/win64) +download "http://download.dracoent.com/Windows/classic/PBCSetup.exe" +install_wine_bottle vb6run dx8vb quartz +cp -fv "${cache}/PBCSetup.exe" "$WINEPREFIX/drive_c/windows/temp/" +wine "c:/windows/temp/PBCSetup.exe" /sp- /silent +rm -fv "$WINEPREFIX/drive_c/windows/temp/PBCSetup.exe" +# warning warning warning: Do not change location, or installer will not function. +# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang. +winetricks -q dotnet20 +wineserver -k # Damn you, dotnet. +add_launcher "c:\Program Files (x86)\Draconis Entertainment\ESP Pinball Classic\pbc.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/ESP Pinball Extreme.sh b/home/stormux/.local/.install/audiogame-manager/ESP Pinball Extreme.sh new file mode 100644 index 0000000..ea19496 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/ESP Pinball Extreme.sh @@ -0,0 +1,12 @@ +export winVer="win7" +# Uses standard wine path based on architecture (win32/win64) +download "http://download.dracoent.com/Windows/classic/PBXSetup.exe" +install_wine_bottle vb6run dx8vb quartz +cp -fv "${cache}/PBXSetup.exe" "$WINEPREFIX/drive_c/windows/temp/" +wine "c:/windows/temp/PBXSetup.exe" /sp- /silent +rm -fv "$WINEPREFIX/drive_c/windows/temp/PBXSetup.exe" +# warning warning warning: Do not change location, or installer will not function. +# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang. +winetricks -q dotnet20 +wineserver -k # Damn you, dotnet. +add_launcher "c:\Program Files (x86)\Draconis Entertainment\ESP Pinball Xtreme\pbx.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/ESP Pinball Party Pack.sh b/home/stormux/.local/.install/audiogame-manager/ESP Pinball Party Pack.sh new file mode 100644 index 0000000..1278a6c --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/ESP Pinball Party Pack.sh @@ -0,0 +1,13 @@ +export winVer="win7" +# Uses standard wine path based on architecture (win32/win64) +download "http://download.dracoent.com/Windows/classic/PP1Setup.exe" +install_wine_bottle vb6run dx8vb quartz +# Only works in conjunction with esp pinball extreme. +if ! [ -f "$WINEPREFIX/drive_c/Program Files (x86)/Draconis Entertainment/ESP Pinball Xtreme/pbx.exe" ] ; then + echo "Error: You need to install ESP Pinball Extreme first to use this game. Please do so before continuing." >&2 + exit 1 +fi +cp -fv "${cache}/PP1Setup.exe" "$WINEPREFIX/drive_c/windows/temp/" +wine "c:/windows/temp/PP1Setup.exe" /sp- /silent +rm -fv "$WINEPREFIX/drive_c/windows/temp/PP1Setup.exe" +add_launcher "c:\Program Files (x86)\Draconis Entertainment\ESP Pinball Xtreme\pbx.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Easter Quest.sh b/home/stormux/.local/.install/audiogame-manager/Easter Quest.sh new file mode 100644 index 0000000..8ad3e88 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Easter Quest.sh @@ -0,0 +1,4 @@ +download "https://agarchive.net/games/mt/easter%20quest%20setup.exe" +install_wine_bottle +wine "${cache}/easter quest setup.exe" /silent +add_launcher "c:\Program Files (x86)\MTGames\Easter Quest\easter.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Endless Runner.sh b/home/stormux/.local/.install/audiogame-manager/Endless Runner.sh new file mode 100644 index 0000000..b1426f8 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Endless Runner.sh @@ -0,0 +1,4 @@ +download "http://www.masonasons.me/softs/EndlessRunner.7z" +install_wine_bottle +install_with_progress 7z "Extracting game files..." x -y -o"$WINEPREFIX/drive_c/Program Files/Endless Runner" "${cache}/EndlessRunner.7z" -prunner +add_launcher "c:\Program Files\Endless Runner\runner.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Entombed.sh b/home/stormux/.local/.install/audiogame-manager/Entombed.sh new file mode 100644 index 0000000..eb87e87 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Entombed.sh @@ -0,0 +1,28 @@ +#// Borken, candidate for removal +export WINEARCH="win64" # Migrated to wine64 with WINETRICKS_FORCE=1 - complex .NET dependencies, test carefully +download "http://blind-games.com/newentombed/EntombedSetup.exe" "https://download.microsoft.com/download/E/C/1/EC1B2340-67A0-4B87-85F0-74D987A27160/SSCERuntime-ENU.exe" "https://stormgames.wolfe.casa/downloads/Entombed.exe.config" "https://stormgames.wolfe.casa/downloads/mfplat.dll" +export winVer="win7" +install_wine_bottle sapi msvcrt40 gdiplus ie7 wmp11 mf +# Ok, more dotnet. +LC_ALL=C DISPLAY="" winetricks -q dotnet40 xna40 +wineserver -k # Sigh. +mkdir -p "${WINEPREFIX}/drive_c/temp" +pushd "${WINEPREFIX}/drive_c/temp" +install_with_progress 7z "Extracting game files..." x "${cache}/SSCERuntime-ENU.exe" +wine msiexec /i "${WINEPREFIX}/drive_c/temp/SSCERuntime_x86-ENU.msi" /q +rm * +popd +pushd "${WINEPREFIX}/drive_c/Program Files/Microsoft SQL Server Compact Edition/v3.5" +wine regsvr32 sqlceoledb35.dll +wine regsvr32 sqlceca35.dll +popd +wine "${cache}/EntombedSetup.exe" /silent +pushd "${WINEPREFIX}/drive_c/Program Files/Entombed" +cp ../Microsoft\ SQL\ Server\ Compact\ Edition/v3.5/Private/System.Data.SqlServerCe.Entity.dll ../Microsoft\ SQL\ Server\ Compact\ Edition/v3.5/Private/System.Data.SqlServerCe.dll . +cp ../Microsoft\ SQL\ Server\ Compact\ Edition/v3.5/sql* . +cp "${cache}/Entombed.exe.config" . +popd +if [ ! -f "${WINEPREFIX}/drive_c/windows/system32/mfplat.dll" ] ; then + cp "${cache}/mfplat.dll" "${WINEPREFIX}/drive_c/windows/system32/" +fi +add_launcher "c:\Program Files (x86)\Entombed\Entombed.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Eurofly.sh b/home/stormux/.local/.install/audiogame-manager/Eurofly.sh new file mode 100644 index 0000000..cf8976c --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Eurofly.sh @@ -0,0 +1,9 @@ +#// +export winVer="win7" +export winetricksSettings="vd=1024x768" +download "https://www.stefankiss.sk/files/eurofly2/Launcher_1.2.zip" "https://www.stefankiss.sk/files/eurofly2/Eurofly_2_ful_setup.exe" +install_wine_bottle comctl32 +wine "${cache}/Eurofly_2_ful_setup.exe" /silent +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Eurofly" "${cache}/Launcher_1.2.zip" +add_launcher "c:\Eurofly\launcher.exe" +echo "Note: On first and sometimes later launch, Eurofly may take a very long time to download required files, please be patient..." diff --git a/home/stormux/.local/.install/audiogame-manager/Executioner's Rage.sh b/home/stormux/.local/.install/audiogame-manager/Executioner's Rage.sh new file mode 100644 index 0000000..6adc04b --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Executioner's Rage.sh @@ -0,0 +1,14 @@ +# shellcheck shell=bash disable=SC2154 # cache, WINEPREFIX, and game are set by audiogame-manager +gameVersion=2.4.1 +download "https://dl.tweesecake.app/rage/rage${gameVersion}.zip" +export WINEARCH=win64 +export winVer="win10" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/rage${gameVersion}.zip" +add_launcher "c:\Program Files\rage\rage.exe" +url="https://techcake.games/games/executioners-rage/" +message="Before you can login, you need to create an account at:\n${url}" +if echo "$url" | xclip -selection clipboard 2> /dev/null ; then + message+="\n\nThe URL has been copied to the clipboard." +fi +alert "Executioner's Rage" "Executioner's Rage" "$message" diff --git a/home/stormux/.local/.install/audiogame-manager/Extant.sh b/home/stormux/.local/.install/audiogame-manager/Extant.sh new file mode 100644 index 0000000..bc36403 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Extant.sh @@ -0,0 +1,4 @@ +download "https://agarchive.net/games/other/extant.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/extant" "${cache}/extant.zip" +add_launcher "c:\Program Files\extant\Extant.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Fartman.sh b/home/stormux/.local/.install/audiogame-manager/Fartman.sh new file mode 100644 index 0000000..b2d6bd4 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Fartman.sh @@ -0,0 +1,5 @@ +#// +download "http://www.agarchive.net/games/bpc/fartman.exe" +install_wine_bottle dx8vb vb6run +wine "${cache}/fartman.exe" /silent +#add_launcher "c:\Program Files (x86)\" diff --git a/home/stormux/.local/.install/audiogame-manager/Finger Panic.sh b/home/stormux/.local/.install/audiogame-manager/Finger Panic.sh new file mode 100644 index 0000000..02a9c5c --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Finger Panic.sh @@ -0,0 +1,4 @@ +download "http://www.agarchive.net/games/bsc/FingerPanicSetup.exe" +install_wine_bottle dx8vb vb6run +wine "${cache}/FingerPanicSetup.exe" /sp- /silent +add_launcher "c:\Program Files (x86)\Finger Panic 1.0\FingerPanic.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Fuck That Bird.sh b/home/stormux/.local/.install/audiogame-manager/Fuck That Bird.sh new file mode 100644 index 0000000..37ae9bd --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Fuck That Bird.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "http://oriolgomez.com/games/bird_en.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/fuck that bird" "${cache}/bird_en.zip" +add_launcher "c:\Program Files\fuck that bird\game.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/GMA Tank Commander.sh b/home/stormux/.local/.install/audiogame-manager/GMA Tank Commander.sh new file mode 100644 index 0000000..5c66fa0 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/GMA Tank Commander.sh @@ -0,0 +1,20 @@ +download "http://www.gmagames.com/gtc120.exe" +install_wine_bottle vb6run dx8vb +wine "${cache}/gtc120.exe" /silent & +xdotool sleep 10 key --clearmodifiers alt+y 2> /dev/null +xdotool sleep 15 type --clearmodifiers --delay 100 "${USER^}" 2> /dev/null +xdotool key --clearmodifiers Tab 2> /dev/null +xdotool sleep 10 type --clearmodifiers --delay 100 "${HOSTNAME^}" 2> /dev/null +xdotool key --clearmodifiers Tab 2> /dev/null +xdotool sleep 10 type --clearmodifiers --delay 100 "na@na.na" 2> /dev/null +xdotool key --clearmodifiers Tab 2> /dev/null +xdotool sleep 10 type --clearmodifiers --delay 100 "uuuuuuu" 2> /dev/null +xdotool key --clearmodifiers Tab 2> /dev/null +xdotool key --clearmodifiers Return 2> /dev/null +xdotool sleep 10 key --clearmodifiers Return 2> /dev/null +wineserver -w +echo "To accurately set your information, edit the file:" +echo "${WINEPREFIX}/drive_c/Program\ Files/GMA\ Tank\ Commander/config.dat" +echo "The default country is US. The fields are:" +echo -e "\"Firstname Lastname\"\n\"Email address\"\n\"Country code\"" +add_launcher "c:\Program Files (x86)\GMA Tank Commander\gtc.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Galactic Strike.sh b/home/stormux/.local/.install/audiogame-manager/Galactic Strike.sh new file mode 100644 index 0000000..fef8d67 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Galactic Strike.sh @@ -0,0 +1,7 @@ +# shellcheck shell=bash disable=SC2154 # cache and WINEPREFIX are set by audiogame-manager +get_installer "Galactic Strike 1.2.zip" "https://fusion-forged-games.itch.io/galactic-strike" +export winVer="win10" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/Galactic Strike" "${cache}/Galactic Strike 1.2.zip" +add_launcher "c:\Program Files\Galactic Strike\Galactic Strike.exe" +alert "Use controls wasd to movi and navigate the menu.\nUse m to fire and select items from the menu." diff --git a/home/stormux/.local/.install/audiogame-manager/Grizzly Gulch.sh b/home/stormux/.local/.install/audiogame-manager/Grizzly Gulch.sh new file mode 100644 index 0000000..d17dbb9 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Grizzly Gulch.sh @@ -0,0 +1,6 @@ +# shellcheck shell=bash disable=SC2154 # cache and WINEPREFIX are set by audiogame-manager +download "https://stormgames.wolfe.casa/downloads/grizzly-gulch.zip" +install_wine_bottle vb6run mfc42 +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "$cache/grizzly-gulch.zip" +add_launcher "c:\Program Files\grizzly-gulch\Grizzly Gulch.exe" +alert "If the combat sequences happen too slow for your tastes, while in the town square, you can use f12 to turn up the combat speed and f11 to lower it." diff --git a/home/stormux/.local/.install/audiogame-manager/Hammer of Glory.sh b/home/stormux/.local/.install/audiogame-manager/Hammer of Glory.sh new file mode 100644 index 0000000..2a0be77 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Hammer of Glory.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "http://oriolgomez.com/games/hammer_en.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/hammer of glory" "${cache}/hammer_en.zip" +add_launcher "c:\Program Files\hammer of glory\game.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Hunter.sh b/home/stormux/.local/.install/audiogame-manager/Hunter.sh new file mode 100644 index 0000000..fc3058a --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Hunter.sh @@ -0,0 +1,40 @@ +download "http://www.agarchive.net/games/bsc/HunterSetup.exe" "https://www.agarchive.net/games/bsc/BSC%20unlock%20code%20generator.7z" +install_wine_bottle vb6run dx8vb +# FIXME: Hacky, but it works. Install dotnet35 by itself so it actually doesn't hang. +winetricks -q dotnet35sp1 +wineserver -k # Damn you, dotnet. +wine "${cache}/HunterSetup.exe" /silent & +xdotool sleep 10 key --clearmodifiers alt+y 2> /dev/null +sleep 30 && wineserver -k # Sometimes the installer finishes but the wineserver has more processes that don't exit, so we can't depend on wineserver -w. +mkdir -p "$WINEPREFIX/drive_c/Program Files/bsc-key-generator" +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files/bsc-key-generator" "${cache}/BSC unlock code generator.7z" +echo "$USER"$'\n'"$(hostname)"$'\n'"none"$'\n'"US" > "$WINEPREFIX/drive_c/Program Files/Hunter/config.dat" +unix2dos "$WINEPREFIX/drive_c/Program Files/Hunter/config.dat" +if command -v xclip &> /dev/null && command -v xdotool &> /dev/null ; then + wine "c:\Program Files\Hunter\HunterRegistration.exe" & + xdotool sleep 10 key Return sleep 2 key Return sleep 2 key Alt+n + sleep 1 + regcode="$(xclip -selection clipboard -o)" + xdotool sleep 1 key Shift+Tab sleep 1 key Return + # FIXME: Kind of hacky, but let's make sure it actually exitted. + sleep 5 + wineserver -k + wine "c:\Program Files\bsc-key-generator\BlindsoftwareUnlockCodeGenerator.exe" & + xdotool sleep 10 key Return sleep 2 type h + xdotool sleep 1 key Tab sleep 1 type $regcode + xdotool sleep 1 key Tab sleep 1 key Return + sleep 2 + regcode="$(xclip -selection clipboard -o)" # Might as well reuse the variable. + # FIXME: Kind of hacky, but let's make sure it actually exitted since I can't find a good way to exit this program. + sleep 5 + wineserver -k + wine "c:\Program Files\Hunter\HunterRegistration.exe" & + echo "$regcode" | xclip -selection clipboard + xdotool sleep 10 key Return sleep 2 key Shift+Tab sleep 1 key Shift+Tab sleep 1 key Return + # FIXME: Kind of hacky, but let's make sure it actually exitted. + sleep 5 + wineserver -k +else + echo "Warning: You need xclip and xdotool for this installer to finish the registration process, however, you don't have them. Either remove the program, install the stated tools, and reinstall it, or go on your own. Caveat Emptor, go to jail, do not pass go, do not collect audiogame rewards and all that stuff." +fi +add_launcher "c:\Program Files (x86)\Hunter\HunterRun.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Inquisitor's Heartbeat.sh b/home/stormux/.local/.install/audiogame-manager/Inquisitor's Heartbeat.sh new file mode 100644 index 0000000..06c6c49 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Inquisitor's Heartbeat.sh @@ -0,0 +1,9 @@ +get_installer "Inquisitor_windows_ENG.zip" "https://www.audiogame.store/en/products/inquisitors-heartbeat--windows/ios-only" +export WINEARCH=win64 +export winVer="win8" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/Inquisitor_windows_ENG.zip" +# Weird work around to get keyboard working. +winetricks -q usetakefocus=y +winetricks -q usetakefocus=n +add_launcher "c:\Program Files\Inquisitor_windows_ENG\Inquisitor's Heartbeat.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Insect Therapy.sh b/home/stormux/.local/.install/audiogame-manager/Insect Therapy.sh new file mode 100644 index 0000000..725ec8c --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Insect Therapy.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "http://oriolgomez.com/games/insect_en.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/insect therapy" "${cache}/insect_en.zip" +add_launcher "c:\Program Files\insect therapy\game.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Interceptor.sh b/home/stormux/.local/.install/audiogame-manager/Interceptor.sh new file mode 100644 index 0000000..c63e53c --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Interceptor.sh @@ -0,0 +1,4 @@ +download "http://www.valiantgalaxy.com/interceptor/Interceptor0.0.2.0Installer.exe" +install_wine_bottle +wine "${cache}/Interceptor0.0.2.0Installer.exe" /silent +add_launcher "c:\Program Files (x86)\VGA\interceptor\launch_interceptor.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Judgement Day.sh b/home/stormux/.local/.install/audiogame-manager/Judgement Day.sh new file mode 100644 index 0000000..9158086 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Judgement Day.sh @@ -0,0 +1,12 @@ +download "http://files.l-works.net/judgmentdayfullsetup.exe" +install_wine_bottle vb6run dx8vb quartz +wine "${cache}/judgmentdayfullsetup.exe" /silent +cat << EOF > /tmp/judgementday.reg +Windows Registry Editor Version 5.00 + +[HKEY_CURRENT_USER\Software\VB and VBA Program Settings\judgmentday\config] +"name"="$USER" +EOF +wine regedit /s /tmp/judgementday.reg +rm /tmp/judgementday.reg +add_launcher "c:\Program Files (x86)\Lworks\Judgment Day\judgmentday.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Kitchensinc Games.sh b/home/stormux/.local/.install/audiogame-manager/Kitchensinc Games.sh new file mode 100644 index 0000000..8542198 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Kitchensinc Games.sh @@ -0,0 +1,8 @@ +export WINEARCH="win64" # Migrated to wine64 with WINETRICKS_FORCE=1 +export winVer="win7" +export winetricksSettings="vd=1024x768" +download "${ipfs[Kitchensinc Games]}" +install_wine_bottle sapi vb6run dx8vb +echo "Extracting files..." +tar xf "${cache}/kitchen.tar.xz" -C "$WINEPREFIX/drive_c/Program Files/" +add_launcher "c:\Program Files\Kitchen's Sink\gamemenu.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Kringle Crash.sh b/home/stormux/.local/.install/audiogame-manager/Kringle Crash.sh new file mode 100644 index 0000000..f319ea3 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Kringle Crash.sh @@ -0,0 +1,4 @@ +download "https://www.agarchive.net/games/blastbay/kringle%20crash%20setup.exe" +install_wine_bottle +wine "${cache}/kringle crash setup.exe" /silent +add_launcher "c:\Program Files (x86)\Kringle Crash\kringlecrash.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Laser Breakout.sh b/home/stormux/.local/.install/audiogame-manager/Laser Breakout.sh new file mode 100644 index 0000000..e90dce6 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Laser Breakout.sh @@ -0,0 +1,6 @@ +export winVer="win7" +download "https://www.agarchive.net/games/nyanchan/laser%20breakout.7z" "https://stormgames.wolfe.casa/downloads/laser-breakout-options.dat" +install_wine_bottle +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/nyanchangame/" "$cache/laser breakout.7z" +cp -fv "$cache/laser-breakout-options.dat" "$WINEPREFIX/drive_c/nyanchangame/laser breakout/options.dat" +add_launcher "c:\nyanchangame\laser breakout\play.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Light Battles.sh b/home/stormux/.local/.install/audiogame-manager/Light Battles.sh new file mode 100644 index 0000000..3608feb --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Light Battles.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "https://prometheus-enterprises.com/games/CoL.exe" +install_wine_bottle +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files/Light Battles" "${cache}/CoL.exe" +add_launcher "c:\Program Files\Light Battles\battles.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Light Cars.sh b/home/stormux/.local/.install/audiogame-manager/Light Cars.sh new file mode 100644 index 0000000..22429f1 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Light Cars.sh @@ -0,0 +1,8 @@ +download "https://www.agarchive.net/games/lighttech/light%20cars%20setup.exe" +install_wine_bottle dx8vb vb6run +wine "${cache}/light cars setup.exe" & +xdotool sleep 10 key --clearmodifiers alt+n sleep 1 key --clearmodifiers alt+a key --clearmodifiers space sleep 1 key --clearmodifiers alt+n sleep 1 key --clearmodifiers alt+n sleep 1 key --clearmodifiers alt+i sleep 30 key --clearmodifiers Tab sleep 1 key --clearmodifiers Return 2> /dev/null +wineserver -w +echo -e "${USER} ${HOST}\nna@na.na\nUS" > ~/.local/wine/light-cars/drive_c/Program\ Files/Lighttech\ Interactive/Light\ Cars/config.dat +unix2dos ~/.local/wine/light-cars/drive_c/Program\ Files/Lighttech\ Interactive/Light\ Cars/config.dat +add_launcher "c:\Program Files\Lighttech Interactive\Light Cars\lightCars.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Lockpick.sh b/home/stormux/.local/.install/audiogame-manager/Lockpick.sh new file mode 100644 index 0000000..b121e91 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Lockpick.sh @@ -0,0 +1,4 @@ +download "http://files.l-works.net/lockpicksetup.exe" +install_wine_bottle vb6run dx8vb +wine "${cache}/lockpicksetup.exe" /silent +add_launcher "c:\Program Files (x86)\lWorks\Lockpick\lockpick.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Lone Wolf.sh b/home/stormux/.local/.install/audiogame-manager/Lone Wolf.sh new file mode 100644 index 0000000..5590559 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Lone Wolf.sh @@ -0,0 +1,15 @@ +download "http://www.gmagames.com/lw350.exe" +install_wine_bottle vb6run dx8vb +wine "${cache}/lw350.exe" /silent & +xdotool sleep 10 key --clearmodifiers alt+y 2> /dev/null +xdotool sleep 10 type --clearmodifiers --delay 100 "$USER" 2> /dev/null +xdotool key --clearmodifiers Tab 2> /dev/null +xdotool type --clearmodifiers --delay 100 "$HOSTNAME" 2> /dev/null +xdotool key --clearmodifiers Tab 2> /dev/null +xdotool type --clearmodifiers --delay 100 "na@na.na" 2> /dev/null +xdotool key --clearmodifiers Tab 2> /dev/null +xdotool type --clearmodifiers --delay 100 "uuuuuu" 2> /dev/null +xdotool key --clearmodifiers Tab 2> /dev/null +xdotool key --clearmodifiers Return 2> /dev/null +wineserver -w +add_launcher "c:\Program Files (x86)\Lone Wolf\lw.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Lost.sh b/home/stormux/.local/.install/audiogame-manager/Lost.sh new file mode 100644 index 0000000..dcadd3d --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Lost.sh @@ -0,0 +1,4 @@ +download "https://agarchive.net/games/danZ/lost.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/lost" "$cache/lost.zip" +add_launcher 'c:\Program Files\lost\lost.exe' diff --git a/home/stormux/.local/.install/audiogame-manager/Lunimals.sh b/home/stormux/.local/.install/audiogame-manager/Lunimals.sh new file mode 100644 index 0000000..24616d1 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Lunimals.sh @@ -0,0 +1,10 @@ +# shellcheck shell=bash disable=SC2154 # cache and WINEPREFIX are set by audiogame-manager +export WINEARCH="win64" # Migrated to wine64 with WINETRICKS_FORCE=1 +export winVer="win7" +export winetricksSettings="vd=1024x768" +download "https://kaldobsky.com/audiogames/lunimals.zip" +install_wine_bottle sapi vb6run dx8vb quartz +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/lunimals" "${cache}/lunimals.zip" +wine 'c:\Program Files\lunimals\checkup.exe' /verysilent +add_launcher "c:\Program Files\lunimals\Lunimals.exe" +alert "Note: Lunimals installed. Once you start the game, you must press tab until you hear sapi on to get speech." diff --git a/home/stormux/.local/.install/audiogame-manager/Manamon 2.sh b/home/stormux/.local/.install/audiogame-manager/Manamon 2.sh new file mode 100644 index 0000000..870ed34 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Manamon 2.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "http://www.vgstorm.com/manamon2/manamon2_installer.exe" +install_wine_bottle +wine "${cache}/manamon2_installer.exe" /silent +add_launcher "c:\Program Files (x86)\VGStorm.com\Manamon 2\rpg.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Manamon.sh b/home/stormux/.local/.install/audiogame-manager/Manamon.sh new file mode 100644 index 0000000..78bc8fb --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Manamon.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "https://www.vgstorm.com/manamon/manamon_installer.exe" +install_wine_bottle +wine "${cache}/manamon_installer.exe" /silent +add_launcher "c:\Program Files (x86)\VGStorm.com\Manamon\rpg.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Marina Break.sh b/home/stormux/.local/.install/audiogame-manager/Marina Break.sh new file mode 100644 index 0000000..58cf4f0 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Marina Break.sh @@ -0,0 +1,8 @@ +#// +# Uses standard wine path based on architecture (win32/win64) +export winVer="win7" +install_wine_bottle +wine "${cache}/MbSetupE.exe" & +xdotool sleep 10 key Return +wineserver -w +add_launcher "c:\nyanchangame\MarinaBreak\marinabreak.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Maze Craze.sh b/home/stormux/.local/.install/audiogame-manager/Maze Craze.sh new file mode 100644 index 0000000..8e95ed3 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Maze Craze.sh @@ -0,0 +1,15 @@ +download "http://www.danielzingaro.com/maze_craze_setup.exe" +install_wine_bottle vb6run dx8vb +wine "${cache}/maze_craze_setup.exe" & +xdotool sleep 15 key --delay 100 y 2> /dev/null +xdotool sleep 3 key --delay 250 alt+n 2> /dev/null +xdotool key --delay 250 alt+a 2> /dev/null +xdotool key --delay 250 space 2> /dev/null +xdotool key --delay 250 alt+n 2> /dev/null +xdotool key --delay 250 alt+n 2> /dev/null +xdotool key --delay 250 alt+n 2> /dev/null +xdotool key --delay 250 alt+i 2> /dev/null +xdotool sleep 15 key --delay 250 alt+f 2> /dev/null +xdotool sleep 3 key --delay 250 n 2> /dev/null +wineserver -k +add_launcher "c:\Program Files\Maze Craze 1.4\mazecraze.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Mist World.sh b/home/stormux/.local/.install/audiogame-manager/Mist World.sh new file mode 100644 index 0000000..820931e --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Mist World.sh @@ -0,0 +1,12 @@ +# shellcheck shell=bash disable=SC2154 # cache and WINEPREFIX are set by audiogame-manager +export WINEARCH="win64" # Migrated to wine64 +export winVer="win7" + +get_installer "Mist World_Setup.exe" "https://drive.google.com/uc?export=download&id=12YeUqorkkMT46ZSR5pcfWxSY8DHOLxZ-" +install_wine_bottle +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files/Mist World" "$cache/Mist World_Setup.exe" +sed -i 's/1024m/768m/g' "$WINEPREFIX/drive_c/Program Files/Mist World/mw.exe.vmoptions" +cp "$WINEPREFIX/drive_c/Program Files/Mist World/"{mw.exe.vmoptions,update.exe.vmoptions} +mkdir "$WINEPREFIX/drive_c/Program Files/Mist World/"{user,users} +add_launcher 'c:\Program Files\Mist World\mw.exe' +alert "If you do not have an account, There is a script in game-scripts to help.\nLaunch the game, press enter on create account, then drop into a console so the game window does not lose focus.\nChange to the game-scripts directory and run\n./mist_world_account_creator.sh and follow the prompts.\n\nTo login, type your email address, press tab, and type your password.\nIf you want to enable automatic login, press tab two times followed by space, then tab and enter.\nIf you do not want to auto login, you can just press enter after typing your password." diff --git a/home/stormux/.local/.install/audiogame-manager/Monkey Business.sh b/home/stormux/.local/.install/audiogame-manager/Monkey Business.sh new file mode 100644 index 0000000..def270d --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Monkey Business.sh @@ -0,0 +1,12 @@ +export winVer="win7" +# Uses standard wine path based on architecture (win32/win64) +download "http://download.dracoent.com/Windows/classic/MBSetup.exe" +install_wine_bottle vb6run dx8vb quartz +cp -fv "${cache}/MBSetup.exe" "$WINEPREFIX/drive_c/windows/temp/" +wine "c:/windows/temp/MBSetup.exe" /sp- /silent +rm -fv "$WINEPREFIX/drive_c/windows/temp/MBSetup.exe" +# warning warning warning: Do not change location, or installer will not function. +# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang. +winetricks -q dotnet20 +wineserver -k # Damn you, dotnet. +add_launcher "c:\Program Files (x86)\Draconis Entertainment\Monkey Business\mb.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/MudSplat English.sh b/home/stormux/.local/.install/audiogame-manager/MudSplat English.sh new file mode 100644 index 0000000..62161fc --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/MudSplat English.sh @@ -0,0 +1,33 @@ +#//!/bin/bash +case "${game}" in + "MudSplat English") +a="a" +f="f" +i="i" +n="n" + ;; + "MudSplat French") +# Variables may be already set for English installation, so make sure not to overwrite them. +a="${a:-j}" +f="${f:-t}" +i="${i:-i}" +n="${n:-s}" + ;; + "MudSplat Swedish") +# Variables may be already set for French installation, so make sure not to overwrite them. +a="${a:-a}" +f="${f:-f}" +i="${i:-i}" +n="${n:-n}" + ;; +esac +download "https://www.agarchive.net/games/other/Mudsplat-install.exe" +install_wine_bottle +wine "${cache}/Mudsplat-install.exe" & +# Select the language. +xdotool sleep 10 type --clearmodifiers ${game:9:1} 2> /dev/null +xdotool sleep 1 key --clearmodifiers Return sleep 1 key alt+${n} sleep 1 key alt+${a} sleep 1 key alt+${n} sleep 1 key space sleep 1 key alt+${n} sleep 1 key alt+${n} sleep 1 key alt+${i} sleep 10 key space sleep 1 key alt+${f} 2> /dev/null +wineserver -w +mudsplatLauncher="$(find "$WINEPREFIX/drive_c/Program Files/TiM/MudSplat" -name 'mudsplat-*.exe')" +mudsplatLauncher="${mudsplatLauncher##*/}" +add_launcher "c:\Program Files\TiM\MudSplat\\${mudsplatLauncher}" \ No newline at end of file diff --git a/home/stormux/.local/.install/audiogame-manager/Oh Shit.sh b/home/stormux/.local/.install/audiogame-manager/Oh Shit.sh new file mode 100644 index 0000000..10af502 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Oh Shit.sh @@ -0,0 +1,7 @@ +export WINEARCH="win64" # Migrated to wine64 with WINETRICKS_FORCE=1 +export winVer="win7" +export norh="true" # Requires sapi even though uses nvda +download "${ipfs[Oh Shit]}" +install_wine_bottle sapi +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/OhShit.zip" +add_launcher "c:\Program Files\oh_shit\OhShit.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Operation BlackSquare.sh b/home/stormux/.local/.install/audiogame-manager/Operation BlackSquare.sh new file mode 100644 index 0000000..922e06d --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Operation BlackSquare.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "https://www.iamtalon.me/games/blacksquare.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/blacksquare.zip" +add_launcher "c:\Program Files\blacksquare\OperationBlackSquare.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Pacman Talks.sh b/home/stormux/.local/.install/audiogame-manager/Pacman Talks.sh new file mode 100644 index 0000000..7b84ffb --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Pacman Talks.sh @@ -0,0 +1,4 @@ +download "http://www.gmagames.com/pmt101.exe" +install_wine_bottle +wine "${cache}/pmt101.exe" /sp- /silent +add_launcher "c:\Program Files (x86)\Pacman Talks\pmt.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Palace Punch Up.sh b/home/stormux/.local/.install/audiogame-manager/Palace Punch Up.sh new file mode 100644 index 0000000..da65626 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Palace Punch Up.sh @@ -0,0 +1,4 @@ +download "https://www.agarchive.net/games/blastbay/palace%20punch-up%20setup.exe" +install_wine_bottle +wine "${cache}/palace punch-up setup.exe" /silent +add_launcher "c:\Program Files (x86)\Palace Punch-up\palace.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Paladin of the Sky.sh b/home/stormux/.local/.install/audiogame-manager/Paladin of the Sky.sh new file mode 100644 index 0000000..1701730 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Paladin of the Sky.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "http://www.vgstorm.com/cod/pots/paladin_installer.exe" +install_wine_bottle +wine "${cache}/paladin_installer.exe" /silent +add_launcher "c:\Program Files (x86)\VGStorm.com\Paladin of the Sky\game.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Park Boss.sh b/home/stormux/.local/.install/audiogame-manager/Park Boss.sh new file mode 100644 index 0000000..56bc370 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Park Boss.sh @@ -0,0 +1,7 @@ +export winVer="win7" +download "http://www.ndadamson.com/downloads/Park%20Boss%201.01%20setup.exe" +install_wine_bottle +wine "${cache}/Park Boss 1.01 setup.exe" /silent & +xdotool sleep 10 key --clearmodifiers Return sleep 1 key alt+n sleep 1 key alt+a sleep 1 key alt+i sleep 10 key alt+f 2> /dev/null +wineserver -w +add_launcher "c:\Program Files (x86)\NASoft\ParkBoss\pbMain.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Paw Prints.sh b/home/stormux/.local/.install/audiogame-manager/Paw Prints.sh new file mode 100644 index 0000000..4f82225 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Paw Prints.sh @@ -0,0 +1,7 @@ +export winVer="win7" +export winetricksSettings="vd=1024x768" +download "https://www.kaldobsky.com/audiogames/pawprints.zip" +install_wine_bottle vb6run dx8vb quartz +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/pawprints" "${cache}/pawprints.zip" +wine 'c:\Program Files\pawprints\checkup.exe' /verysilent +add_launcher "c:\Program Files\pawprints\PawPrints.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Penta Path.sh b/home/stormux/.local/.install/audiogame-manager/Penta Path.sh new file mode 100644 index 0000000..c6e8a23 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Penta Path.sh @@ -0,0 +1,7 @@ +export winVer="win7" +export winetricksSettings="vd=1024x768" +download "http://www.kaldobsky.com/audiogames/pentapath.zip" +install_wine_bottle vb6run dx8vb quartz +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/pentapath" "${cache}/pentapath.zip" +wine 'c:\Program Files\pentapath\checkup.exe' /verysilent +add_launcher "c:\Program Files\pentapath\PentaPath.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Perilous Hearts.sh b/home/stormux/.local/.install/audiogame-manager/Perilous Hearts.sh new file mode 100644 index 0000000..b4cee03 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Perilous Hearts.sh @@ -0,0 +1,4 @@ +download "https://www.agarchive.net/games/blastbay/perilous%20hearts%20concept%20demo.exe" +install_wine_bottle +wine "${cache}/perilous hearts concept demo.exe" /silent +add_launcher "c:\Program Files (x86)\Perilous Hearts Concept Demo\perilous_hearts.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Pigeon Panic.sh b/home/stormux/.local/.install/audiogame-manager/Pigeon Panic.sh new file mode 100644 index 0000000..5c90fcf --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Pigeon Panic.sh @@ -0,0 +1,4 @@ +download "http://agarchive.net/games/lworks/pigeon%20panic%20setup.exe" +install_wine_bottle vb6run dx8vb +wine "${cache}/pigeon panic setup.exe" /silent +add_launcher "c:\Program Files (x86)\Lworks\Pigeon Panic\pigeonPanic.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Pipe 2 Blast Chamber.sh b/home/stormux/.local/.install/audiogame-manager/Pipe 2 Blast Chamber.sh new file mode 100644 index 0000000..e255099 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Pipe 2 Blast Chamber.sh @@ -0,0 +1,40 @@ +install_wine_bottle vb6run dx8vb +# FIXME: Hacky, but it works. Install dotnet35 by itself so it actually doesn't hang. +winetricks -q dotnet35sp1 +wineserver -k # Damn you, dotnet. +download "http://www.agarchive.net/games/bsc/BlastChamberSetup.exe" "https://www.agarchive.net/games/bsc/BSC%20unlock%20code%20generator.7z" +wine "${cache}/BlastChamberSetup.exe" /silent & +xdotool sleep 10 key --clearmodifiers alt+y 2> /dev/null +sleep 30 && wineserver -k # Sometimes the installer finishes but the wineserver has more processes that don't exit, so we can't depend on wineserver -w. +mkdir -p "$WINEPREFIX/drive_c/Program Files/bsc-key-generator" +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files/bsc-key-generator" "${cache}/BSC unlock code generator.7z" +echo "$USER"$'\n'"$(hostname)"$'\n'"none"$'\n'"US" > "$WINEPREFIX/drive_c/Program Files/Blast Chamber/config.dat" +unix2dos "$WINEPREFIX/drive_c/Program Files/Blast Chamber/config.dat" +if command -v xclip &> /dev/null && command -v xdotool &> /dev/null ; then + wine "c:\Program Files\Blast Chamber\register.exe" & + xdotool sleep 10 key Return sleep 2 key Return sleep 2 key Alt+n + sleep 1 + regcode="$(xclip -selection clipboard -o)" + xdotool sleep 1 key Shift+Tab sleep 1 key Return + # FIXME: Kind of hacky, but let's make sure it actually exitted. + sleep 5 + wineserver -k + wine "c:\Program Files\bsc-key-generator\BlindsoftwareUnlockCodeGenerator.exe" & + xdotool sleep 10 key Return sleep 2 type b + xdotool sleep 1 key Tab sleep 1 type $regcode + xdotool sleep 1 key Tab sleep 1 key Return + sleep 2 + regcode="$(xclip -selection clipboard -o)" # Might as well reuse the variable. + # FIXME: Kind of hacky, but let's make sure it actually exitted since I can't find a good way to exit this program. + sleep 5 + wineserver -k + wine "c:\Program Files\Blast Chamber\register.exe" & + echo "$regcode" | xclip -selection clipboard + xdotool sleep 10 key Return sleep 2 key Shift+Tab sleep 1 key Shift+Tab sleep 1 key Return + # FIXME: Kind of hacky, but let's make sure it actually exitted. + sleep 5 + wineserver -k +else + echo "Warning: You need xclip and xdotool for this installer to finish the registration process, however, you don't have them. Either remove the program, install the stated tools, and reinstall it, or go on your own. Caveat Emptor, go to jail, do not pass go, do not collect audiogame rewards and all that stuff." +fi +add_launcher "c:\Program Files (x86)\Blast Chamber\pipe.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Preludeamals.sh b/home/stormux/.local/.install/audiogame-manager/Preludeamals.sh new file mode 100644 index 0000000..640f762 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Preludeamals.sh @@ -0,0 +1,7 @@ +export winVer="win7" +export winetricksSettings="vd=1024x768" +download "https://www.kaldobsky.com/audiogames/Preludeamals.zip" +install_wine_bottle vb6run dx8vb quartz +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/preludeamals" "${cache}/Preludeamals.zip" +wine 'c:\Program Files\preludeamals\checkup.exe' /verysilent +add_launcher "c:\Program Files\preludeamals\Preludeamals.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Psycho Strike.sh b/home/stormux/.local/.install/audiogame-manager/Psycho Strike.sh new file mode 100644 index 0000000..0667c60 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Psycho Strike.sh @@ -0,0 +1,5 @@ +#// +download "http://www.vgstorm.com/psycho_strike_installer.exe" +install_wine_bottle +wine "${cache}/psycho_strike_installer.exe" /silent +add_launcher "c:\Program Files (x86)\VGStorm.com\Psycho Strike\strike.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Puzzle Divided.sh b/home/stormux/.local/.install/audiogame-manager/Puzzle Divided.sh new file mode 100644 index 0000000..4fd7117 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Puzzle Divided.sh @@ -0,0 +1,6 @@ +export winVer="win7" +export winetricksSettings="vd=1024x768" +download "https://www.kaldobsky.com/audiogames/puzzledivided.zip" +install_wine_bottle vb6run dx8vb quartz +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/puzzledivided" "${cache}/puzzledivided.zip" +add_launcher "c:\Program Files\puzzledivided\PuzzleDivided.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Q9.sh b/home/stormux/.local/.install/audiogame-manager/Q9.sh new file mode 100644 index 0000000..91b3597 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Q9.sh @@ -0,0 +1,4 @@ +download "http://www.blastbay.com/q9_english_installer.exe" +install_wine_bottle +wine "${cache}/q9_english_installer.exe" /silent +add_launcher "c:\Program Files (x86)\Q9 Action Game\q9.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/RS Games.sh b/home/stormux/.local/.install/audiogame-manager/RS Games.sh new file mode 100644 index 0000000..ebd6695 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/RS Games.sh @@ -0,0 +1,6 @@ +download "http://rsgames.org/rsdownloads/rsgclient/rsgames-client-setup-2.01.exe" +export WINEARCH=win64 +export winVer="win7" +install_wine_bottle +wine "${cache}/rsgames-client-setup-2.01.exe" /silent +add_launcher "c:\Program Files (x86)\RS Games Client\rsg.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Rettou.sh b/home/stormux/.local/.install/audiogame-manager/Rettou.sh new file mode 100644 index 0000000..123eb63 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Rettou.sh @@ -0,0 +1,6 @@ +export winVer="win7" +export winetricksSettings="vd=1024x768" +download "http://www.kaldobsky.com/audiogames/rettou.zip" +install_wine_bottle vb6run dx8vb quartz +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/rettou" "${cache}/rettou.zip" +add_launcher "c:\Program Files\rettou\Rettou.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Revelation.sh b/home/stormux/.local/.install/audiogame-manager/Revelation.sh new file mode 100644 index 0000000..b352829 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Revelation.sh @@ -0,0 +1,6 @@ +export winVer="win7" +export winetricksSettings="vd=1024x768" +download "https://www.kaldobsky.com/audiogames/revelation.zip" +install_wine_bottle vb6run dx8vb quartz +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/revelation" "${cache}/revelation.zip" +add_launcher "c:\Program Files\revelation\Revelation.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Rhythm Rage.sh b/home/stormux/.local/.install/audiogame-manager/Rhythm Rage.sh new file mode 100644 index 0000000..e2a8d18 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Rhythm Rage.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "http://oriolgomez.com/games/rr_en.zip" "${nvdaControllerClient32Dll}" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/rhythm rage" "${cache}/rr_en.zip" +add_launcher "c:\Program Files\rhythm rage\game.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/River Raiders.sh b/home/stormux/.local/.install/audiogame-manager/River Raiders.sh new file mode 100644 index 0000000..0d81533 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/River Raiders.sh @@ -0,0 +1,8 @@ +download "https://www.agarchive.net/games/XSight/River%20Raiders%201.3.5.exe" +install_wine_bottle dsound directmusic +wine "$cache/River Raiders 1.3.5.exe" & +xdotool sleep 10 type y 2> /dev/null +xdotool sleep 2 type y 2> /dev/null +xdotool sleep 2 key --clearmodifiers alt+n sleep 2 key alt+n sleep 2 key alt+n sleep 2 key alt+i sleep 10 key alt+f 2> /dev/null +wineserver -w +add_launcher "c:\Program Files\River Raiders\raid.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Road to Rage Offline.sh b/home/stormux/.local/.install/audiogame-manager/Road to Rage Offline.sh new file mode 100644 index 0000000..f79b132 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Road to Rage Offline.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "https://agarchive.net/games/talon/the%20road%20to%20rage%20offline.7z" +install_wine_bottle +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files" "${cache}/the road to rage offline.7z" +add_launcher "c:\Program Files\RTR Offline\rtr.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Road to Rage.sh b/home/stormux/.local/.install/audiogame-manager/Road to Rage.sh new file mode 100644 index 0000000..a441cb4 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Road to Rage.sh @@ -0,0 +1,6 @@ +export WINEARCH=win64 +export winVer="win7" +download "https://iamtalon.me/games/rtr_ultimate.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/rtr_ultimate.zip" +add_launcher "c:\Program Files\rtr_Ultimate\trtr.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Run For Your Life.sh b/home/stormux/.local/.install/audiogame-manager/Run For Your Life.sh new file mode 100644 index 0000000..432e2bd --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Run For Your Life.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "http://oriolgomez.com/games/rfyl_en.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/run for your life" "${cache}/rfyl_en.zip" +add_launcher "c:\Program Files\run for your life\game.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Sammy Center.sh b/home/stormux/.local/.install/audiogame-manager/Sammy Center.sh new file mode 100644 index 0000000..c28183a --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Sammy Center.sh @@ -0,0 +1,6 @@ +#// +export winVer="win7" +download "http://www.samtupy.com/games/SCSetup.exe" "${nvdaControllerClient32Dll}" +install_wine_bottle +wine "${cache}/SCSetup.exe" /silent +add_launcher "c:\Program Files (x86)\Sam Tupy\SammyCenter\SammyCenter.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Sarah and the Castle of Witchcraft and Wizardry.sh b/home/stormux/.local/.install/audiogame-manager/Sarah and the Castle of Witchcraft and Wizardry.sh new file mode 100644 index 0000000..c46a62a --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Sarah and the Castle of Witchcraft and Wizardry.sh @@ -0,0 +1,5 @@ +download "http://www.pcs-games.net/Sarah10.exe" "http://www.pcs-games.net/Sarah-Patch4.exe" +install_wine_bottle vb6run dx8vb +wine "${cache}/Sarah10.exe" /sp- /verysilent +wine "${cache}/Sarah-Patch4.exe" /sp- /verysilent +add_launcher "c:\Program Files\Sarah and the Castle of Witchcraft and Wizardry 10\scw.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Scramble!.sh b/home/stormux/.local/.install/audiogame-manager/Scramble!.sh new file mode 100644 index 0000000..ba0d356 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Scramble!.sh @@ -0,0 +1,9 @@ +# shellcheck shell=bash disable=SC2154 # cache and WINEPREFIX are set by audiogame-manager +# shellcheck disable=SC2034 # consumed by shared bottle setup +winetricksSettings="vd=1024x768" +export winVer="win7" +download "https://stevend.net/downloads/scramble_win32.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/scramble_win32.zip" +alert "Note: When you first start the game, it will say that tts initialization failed. Please answer that you do not want to attempt initialization of tts when the game starts to allow easy speech through speech dispatcher." +add_launcher "c:\Program Files\scramble_win32\scramble.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Screaming Strike 2.sh b/home/stormux/.local/.install/audiogame-manager/Screaming Strike 2.sh new file mode 100644 index 0000000..2536b53 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Screaming Strike 2.sh @@ -0,0 +1,7 @@ +export winVer="win7" +download "https://www.nyanchangames.com/softs/screamingStrike2.exe" "${nvdaControllerClient32Dll}" +install_wine_bottle fakejapanese +wine "${cache}/screamingStrike2.exe" & +xdotool sleep 10 key Return +wineserver -w +add_launcher "c:\nyanchangame\Screaming Strike 2\play.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Scrolling Battles.sh b/home/stormux/.local/.install/audiogame-manager/Scrolling Battles.sh new file mode 100644 index 0000000..fcc5ebb --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Scrolling Battles.sh @@ -0,0 +1,8 @@ +export WINEARCH=win64 +export winVer="win7" +get_installer "sbrw-win.zip" "https://masonasons.itch.io/sbrw" +download "https://stormgames.wolfe.casa/downloads/Tolk.dll" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/sbrw" "${cache}/sbrw-win.zip" +find "${WINEPREFIX}" -type f -name 'Tolk.dll' -exec cp -fv "${cache}/Tolk.dll" "{}" \; +add_launcher "c:\Program Files\sbrw\sb.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Sequence Storm.sh b/home/stormux/.local/.install/audiogame-manager/Sequence Storm.sh new file mode 100644 index 0000000..18b2454 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Sequence Storm.sh @@ -0,0 +1,8 @@ +get_installer "sequence-storm-win64.zip" "https://special-magic-games-llc.itch.io/sequence-storm" +export WINEARCH=win64 +export winVer="win10" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/sequence-storm" "${cache}/sequence-storm-win64.zip" +write_sequence_storm_reader +curl -L --output "$WINEPREFIX/drive_c/Program Files/sequence-storm/settings.json" "https://stormgames.wolfe.casa/downloads/sequencestorm-settings.json" +add_launcher "c:\Program Files\sequence-storm\SequenceStorm.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Shades of Doom 1.2.sh b/home/stormux/.local/.install/audiogame-manager/Shades of Doom 1.2.sh new file mode 100644 index 0000000..1b89f4e --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Shades of Doom 1.2.sh @@ -0,0 +1,4 @@ +download "http://gmagames.com/sod1208.exe" +install_wine_bottle vb6run dx8vb +wine "${cache}/sod1208.exe" /sp- /verysilent +add_launcher "c:\Program Files\Shades of Doom 1.2\sod.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Shades of Doom.sh b/home/stormux/.local/.install/audiogame-manager/Shades of Doom.sh new file mode 100644 index 0000000..b7635a1 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Shades of Doom.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "http://www.gmagames.com/sod20024.exe" +install_wine_bottle vb6run dx8vb +wine "${cache}/sod20024.exe" /silent +add_launcher "c:\Program Files (x86)\Shades of Doom 2.0\sod.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Shadow Line.sh b/home/stormux/.local/.install/audiogame-manager/Shadow Line.sh new file mode 100644 index 0000000..50449da --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Shadow Line.sh @@ -0,0 +1,23 @@ +# shellcheck shell=bash disable=SC2154 # cache and WINEPREFIX are set by audiogame-manager +#//Disable since it's not working +download "https://www.mm-galabo.com/sr/Download_files_srfv/shadowrine_fullvoice3.171.exe" "https://raw.githubusercontent.com/LordLuceus/sr-english-localization/master/language_en.dat" +export WINEARCH="win64" # Migrated to wine64 with WINETRICKS_FORCE=1 +export winVer="win8" +install_wine_bottle fakejapanese +# Add bcrypt DLL override required for Shadow Line to run +cat > /tmp/bcrypt_override.reg << 'EOF' +[HKEY_CURRENT_USER\Software\Wine\DllOverrides] +"bcryptprimitives"="native,builtin" +EOF +wine regedit /tmp/bcrypt_override.reg +rm /tmp/bcrypt_override.reg +{ + echo "# Installing Shadow Line..." + timeout 300 wine "${cache}/shadowrine_fullvoice3.171.exe" /sp- /VERYSILENT /SUPPRESSMSGBOXES 2>&1 || true + echo "# Installation complete" +} | agm_progressbox "Installing Game" "Installing Shadow Line (this may take a few minutes)..." +# Kill any auto-launched game processes (installer lacks skipifsilent flag) +wineserver -k 2>/dev/null || true +mv -v "${cache}/language_en.dat" "${WINEPREFIX}/drive_c/Program Files (x86)/GalaxyLaboratory/ShadowRine_FullVoice/SystemData/language_en.dat" +add_launcher "c:\Program Files (x86)\GalaxyLaboratory\ShadowRine_FullVoice\play_sr.exe" +alert "Please set the language to English when the game opens.\nGo to options and press enter.\nPress down arrow 5 times and press enter.\nPress down arrow 1 time and press enter.\nPress up arrow 2 times and press enter.\nIf everything worked as expected you should be back on the game menu and speech should work." diff --git a/home/stormux/.local/.install/audiogame-manager/Shooter.sh b/home/stormux/.local/.install/audiogame-manager/Shooter.sh new file mode 100644 index 0000000..c310908 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Shooter.sh @@ -0,0 +1,6 @@ +export WINEARCH=win64 +export winVer="win7" +get_installer "shooter-win.zip" "https://brynify.itch.io/shooter" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/shooter" "${cache}/shooter-win.zip" +add_launcher "c:\Program Files\shooter\Shooter.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Shooter_rw.sh b/home/stormux/.local/.install/audiogame-manager/Shooter_rw.sh new file mode 100644 index 0000000..7994839 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Shooter_rw.sh @@ -0,0 +1,7 @@ +export WINEARCH=win64 +export winVer="win7" +get_installer "shooterrw-win.zip" "https://masonasons.itch.io/shooterrw" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/shooter_rw" "${cache}/shooterrw-win.zip" +find "$WINEPREFIX/drive_c/Program Files/shooter_rw" -type d -exec chmod 755 "{}" + +add_launcher "c:\Program Files\shooter_rw\Shooter.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Side Party.sh b/home/stormux/.local/.install/audiogame-manager/Side Party.sh new file mode 100644 index 0000000..86ce036 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Side Party.sh @@ -0,0 +1,16 @@ +source "${0%/*}/../.includes/dialog-interface.sh" + +export WINEARCH=win64 +export winVer="win7" +get_installer "sideparty-win.zip" "https://masonasons.itch.io/sideparty" + "https://stormgames.wolfe.casa/downloads/SidePartySettings.dat" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/Side Party" "${cache}/sideparty-win.zip" +add_launcher "c:\Program Files\Side Party\SideParty.exe" +alert +sidePartyUser="$(agm_inputbox "Side Party Installation" "Side Party Installation" "Please enter a user name for Side Party score board:" "")" +mkdir -p "$WINEPREFIX/drive_c/Program Files/Side Party/masonasons.me/SideParty" +cp -fv "${cache}/SidePartySettings.dat" "$WINEPREFIX/drive_c/Program Files/Side Party/masonasons.me/SideParty/settings.dat" +if [[ ${#sidePartyUser} -gt 3 ]]; then + sed -i "s/Anonymous/${sidePartyUser}/" "$WINEPREFIX/drive_c/Program Files/Side Party/masonasons.me/SideParty/settings.dat" +fi diff --git a/home/stormux/.local/.install/audiogame-manager/Silver Dollar.sh b/home/stormux/.local/.install/audiogame-manager/Silver Dollar.sh new file mode 100644 index 0000000..c4c1cda --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Silver Dollar.sh @@ -0,0 +1,12 @@ +export winVer="win7" +# Uses standard wine path based on architecture (win32/win64) +download "http://download.dracoent.com/Windows/SilverDollarSetup.exe" +install_wine_bottle +cp -fv "${cache}/SilverDollarSetup.exe" "$WINEPREFIX/drive_c/windows/temp/" +wine "c:/windows/temp/SilverDollarSetup.exe" /sp- /silent +rm -fv "$WINEPREFIX/drive_c/windows/temp/SilverDollarSetup.exe" +# warning warning warning: Do not change location, or installer will not function. +# FIXME: Hacky, but it works. Install dotnet40 by itself so it actually doesn't hang. +DISPLAY="" winetricks -q dotnet40 +wineserver -k # Damn you, dotnet. +add_launcher "c:\Program Files (x86)\Draconis Entertainment\Silver Dollar\SilverDollarGui.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Simple Fighter.sh b/home/stormux/.local/.install/audiogame-manager/Simple Fighter.sh new file mode 100644 index 0000000..c9f6faa --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Simple Fighter.sh @@ -0,0 +1,11 @@ +export WINEARCH=win64 +export winVer="win7" +get_installer "simple fighter.exe" "https://tsatria03.itch.io/simple-fighter" +if [[ ! -r "${cache}/simple-fighter-sounds.7z" ]] && [[ ! -r "${cache}/sounds.7z" ]]; then + get_installer "sounds.7z" "https://tsatria03.itch.io/simple-fighter" + mv "${cache}/sounds.7z" "${cache}/simple-fighter-sounds.7z" +fi +install_wine_bottle +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files/simple fighter" "${cache}/simple fighter.exe" +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files/simple fighter/sounds" "${cache}/simple-fighter-sounds.7z" +add_launcher "c:\Program Files\simple fighter\game.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Skateboarder Pro.sh b/home/stormux/.local/.install/audiogame-manager/Skateboarder Pro.sh new file mode 100644 index 0000000..6dec0e7 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Skateboarder Pro.sh @@ -0,0 +1,7 @@ +download "https://tunmi13.com/projects/sb_pro_rw.zip" +export WINEARCH=win64 +export winVer="win8" +# No custom bottle - use standard wine64 path +install_wine_bottle sapi +install_with_progress unzip "Extracting Skateboarder Pro..." -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/sb_pro_rw.zip" +add_launcher "c:\Program Files\sb_pro_rw\sb_pro.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Sketchbook.sh b/home/stormux/.local/.install/audiogame-manager/Sketchbook.sh new file mode 100644 index 0000000..9facb45 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Sketchbook.sh @@ -0,0 +1,7 @@ +export winVer="win7" +download "http://sbyw.games/SBYW/SBYW.zip" "http://sbyw.games/SBYW/sounds.zip" "${nvdaControllerClient32Dll}" +install_wine_bottle +mv -v "${cache}/sounds.zip" "${cache}/SBYW-sounds.zip" +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/sketchbook" "${cache}/SBYW.zip" +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/sketchbook" "${cache}/SBYW-sounds.zip" +add_launcher "c:\Program Files\sketchbook\SBYW.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Slender Lost Vision.sh b/home/stormux/.local/.install/audiogame-manager/Slender Lost Vision.sh new file mode 100644 index 0000000..4ccd531 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Slender Lost Vision.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "https://www.iamtalon.me/games/slender.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/slender.zip" +add_launcher "c:\Program Files\slender\slender.exe" \ No newline at end of file diff --git a/home/stormux/.local/.install/audiogame-manager/Smashathon.sh b/home/stormux/.local/.install/audiogame-manager/Smashathon.sh new file mode 100644 index 0000000..f8f1f5e --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Smashathon.sh @@ -0,0 +1,4 @@ +download "https://agarchive.net/games/lworks/Smashathon0.02.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "$cache/Smashathon0.02.zip" +add_launcher 'c:\Program Files\Smashathon0.02\smashathon.exe' diff --git a/home/stormux/.local/.install/audiogame-manager/Sonic Zoom.sh b/home/stormux/.local/.install/audiogame-manager/Sonic Zoom.sh new file mode 100644 index 0000000..02a29eb --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Sonic Zoom.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "http://wwwx.cs.unc.edu/Research/assist/et/projects/SonicZoom/soniczoom11.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/soniczoom11.zip" +add_launcher "c:\Program Files\Sonic Zoom\SonicZoom.exe" \ No newline at end of file diff --git a/home/stormux/.local/.install/audiogame-manager/Sonic the Hedgehog.sh b/home/stormux/.local/.install/audiogame-manager/Sonic the Hedgehog.sh new file mode 100644 index 0000000..63d4fa8 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Sonic the Hedgehog.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "https://www.agarchive.net/games/jeqoconGames/sonic%20the%20hedgehog.7z" +install_wine_bottle +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files/Sonic the Hedgehog" "${cache}/sonic the hedgehog.7z" +add_launcher "c:\Program Files\Sonic the Hedgehog\sth.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Space Defender.sh b/home/stormux/.local/.install/audiogame-manager/Space Defender.sh new file mode 100644 index 0000000..6a45abb --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Space Defender.sh @@ -0,0 +1,6 @@ +export WINEARCH="win64" +export winVer="win7" +download "http://tunmi13.ddns.net/projects/space_defender.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/space_defender.zip" +add_launcher "c:\Program Files\space_defender\sdefender.exe" \ No newline at end of file diff --git a/home/stormux/.local/.install/audiogame-manager/Star Trek Final Conflict.sh b/home/stormux/.local/.install/audiogame-manager/Star Trek Final Conflict.sh new file mode 100644 index 0000000..9fca283 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Star Trek Final Conflict.sh @@ -0,0 +1,4 @@ +download "https://agarchive.net/games/USA/star%20trek%20final%20conflict%20Setup.exe" +install_wine_bottle +wine "${cache}/star trek final conflict Setup.exe" /silent +add_launcher "c:\Program Files (x86)\USA Games\Final Conflict\stfc.exe" \ No newline at end of file diff --git a/home/stormux/.local/.install/audiogame-manager/Super Deekout.sh b/home/stormux/.local/.install/audiogame-manager/Super Deekout.sh new file mode 100644 index 0000000..e5b503c --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Super Deekout.sh @@ -0,0 +1,33 @@ +# shellcheck shell=bash disable=SC2154 # cache and WINEPREFIX are set by audiogame-manager +download "http://www.danielzingaro.com/superdeekout_setup.exe" "http://www.danielzingaro.com/sd_full.exe" +install_wine_bottle vb6run dx8vb +wine "${cache}/superdeekout_setup.exe" & +xdotool sleep 15 key --delay 100 y 2> /dev/null +xdotool sleep 3 key --delay 250 alt+n 2> /dev/null +xdotool key --delay 250 alt+a 2> /dev/null +xdotool key --delay 250 space 2> /dev/null +xdotool key --delay 250 alt+n 2> /dev/null +xdotool key --delay 250 alt+n 2> /dev/null +xdotool key --delay 250 alt+n 2> /dev/null +xdotool key --delay 250 alt+i 2> /dev/null +xdotool sleep 15 key --delay 250 alt+f 2> /dev/null +xdotool sleep 3 key --delay 250 n 2> /dev/null +wineserver -k +install_with_progress 7z "Extracting game files..." x -y -o"$WINEPREFIX/drive_c/Program Files/Super Deekout" "${cache}/sd_full.exe" +alert "Super Deekout needs some information before it will run." +read -erp "Please enter your first name: " fname +read -erp "Please enter your last name: " lname +read -erp "Please enter your email address: " email +wine "c:\Program Files\Super Deekout\config.exe" & +xdotool sleep 5 key --delay 100 Return 2> /dev/null +xdotool sleep 3 type --clearmodifiers --delay 100 "${fname}" +xdotool key --clearmodifiers --delay 100 Tab 2> /dev/null +xdotool sleep 1 type --clearmodifiers --delay 100 "${lname}" +xdotool key --clearmodifiers --delay 100 Tab 2> /dev/null +xdotool sleep 1 type --clearmodifiers --delay 100 "${email}" +xdotool key --clearmodifiers --delay 100 Tab 2> /dev/null +xdotool sleep 15 key --delay 100 u 2> /dev/null +xdotool key --clearmodifiers --delay 100 Tab 2> /dev/null +xdotool sleep 1 key --delay 250 Return 2> /dev/null +wineserver -k +add_launcher "c:\Program Files\Super Deekout\super.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Super Dogs Bone Hunt.sh b/home/stormux/.local/.install/audiogame-manager/Super Dogs Bone Hunt.sh new file mode 100644 index 0000000..a7cd187 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Super Dogs Bone Hunt.sh @@ -0,0 +1,4 @@ +download "http://www.pcs-games.net/SBH11.exe" +install_wine_bottle vb6run dx8vb +wine "${cache}/SBH11.exe" /sp- /silent +add_launcher "c:\Program Files (x86)\SuperDog's Bone Hunt\sbh.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Super Egg Hunt.sh b/home/stormux/.local/.install/audiogame-manager/Super Egg Hunt.sh new file mode 100644 index 0000000..5bd2d14 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Super Egg Hunt.sh @@ -0,0 +1,4 @@ +download "https://l-works.net/files/superegghuntsetup.exe" +install_wine_bottle +wine "${cache}/superegghuntsetup.exe" /silent +add_launcher "c:\Program Files (x86)\Lworks\super egg hunt\superegghunt.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Super Mario Bros.sh b/home/stormux/.local/.install/audiogame-manager/Super Mario Bros.sh new file mode 100644 index 0000000..77339b1 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Super Mario Bros.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "https://www.agarchive.net/games/jeqoconGames/super%20mario%20bros.7z" +install_wine_bottle +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files/Super Mario Bros" "${cache}/super mario bros.7z" +add_launcher "c:\Program Files\Super Mario Bros\Mario.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Swamp.sh b/home/stormux/.local/.install/audiogame-manager/Swamp.sh new file mode 100644 index 0000000..ae037e9 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Swamp.sh @@ -0,0 +1,19 @@ +export WINEARCH="win64" # Migrated to wine64 +export winetricksSettings="vd=1024x768" +agm_yesno "Swamp Installation" "Swamp Installation" "If you do not have a full 32 bit gstreamer installation, the Swamp music can cause stuttering and crashes. Would you like to remove the music directory after installation?" +deleteMusic=$? +download "https://www.kaldobsky.com/audiogames/Swamp.zip" +install_wine_bottle dx8vb quartz vb6run +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/Swamp.zip" +# make sure the latest version is installed. +if curl -L --output "${cache}/SwampPatch.zip" "https://www.kaldobsky.com/audiogames/SwampPatch.zip" ; then + install_with_progress unzip "Installing Swamp patch..." -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/SwampPatch.zip" +fi +wine 'c:\Program Files\swamp\Checkup.exe' /verysilent +#wine cmd.exe /c 'cd /d c:\Program Files\swamp && Windows64bit.bat' +# Delete music if requested. +if [[ $deleteMusic -eq 0 ]]; then + rm -frv "$WINEPREFIX/drive_c/Program Files/swamp/sounds/Music/" +fi +rm -fv "$WINEPREFIX/drive_c/Program Files/swamp/maps/sub2" +add_launcher "c:\Program Files\swamp\Swamp.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Tactical Battle.sh b/home/stormux/.local/.install/audiogame-manager/Tactical Battle.sh new file mode 100644 index 0000000..8fe3e51 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Tactical Battle.sh @@ -0,0 +1,6 @@ +download "https://blindgamers.com/downloads/Tactical%20Battle%20Dev.zip" +install_wine_bottle +LC_ALL=C DISPLAY="" winetricks -q dotnet462 +wineserver -k +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/Tactical Battle" "${cache}/Tactical Battle Dev.zip" +add_launcher "c:\Program Files\Tactical Battle\Tactical Battle.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Tarot Assistant.sh b/home/stormux/.local/.install/audiogame-manager/Tarot Assistant.sh new file mode 100644 index 0000000..eb0e356 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Tarot Assistant.sh @@ -0,0 +1,6 @@ +export winVer="win7" +download "https://www.kaldobsky.com/audiogames/tarot.zip" +install_wine_bottle vb6run dx8vb +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/Tarot Assistant" "${cache}/tarot.zip" +wine "c:\Program Files\Tarot Assistant\Checkup.exe" /verysilent +add_launcher "c:\Program Files\Tarot Assistant\TarotAssistant.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Technoshock.sh b/home/stormux/.local/.install/audiogame-manager/Technoshock.sh new file mode 100644 index 0000000..110ac65 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Technoshock.sh @@ -0,0 +1,8 @@ +download "http://tiflocomp.ru/download/games/technoshock_140b_en.zip" "http://tiflocomp.ru/download/games/technoshock140b_en_update.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/technoshock_140b_en.zip" +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/technoshock_140b_en_update.zip" +wine "$WINEPREFIX/drive_c/Program Files/setup_eng.exe" /silent +wineserver -w +wine "$WINEPREFIX/drive_c/Program Files/setup_eng_update_pack.exe" /silent +add_launcher "c:\Program Files (x86)\Tiflocomp Games\Technoshock\ts.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Ten Pin Alley.sh b/home/stormux/.local/.install/audiogame-manager/Ten Pin Alley.sh new file mode 100644 index 0000000..4c2b7d2 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Ten Pin Alley.sh @@ -0,0 +1,13 @@ +export winVer="win7" +# Uses standard wine path based on architecture (win32/win64) +download "http://download.dracoent.com/Windows/classic/TPAXPSetup.exe" +install_wine_bottle vb6run dx8vb quartz +cp -fv "${cache}/TPAXPSetup.exe" "$WINEPREFIX/drive_c/windows/temp/" +wine "c:/windows/temp/TPAXPSetup.exe" /sp- /silent +rm -fv "$WINEPREFIX/drive_c/windows/temp/TPAXPSetup.exe" +#winetricks -q msdxmocx # I think having this installed first breaks things. +# warning warning warning: Do not change location, or installer will not function. +# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang. +winetricks -q dotnet20 +wineserver -k # Damn you, dotnet. +add_launcher "c:\Program Files (x86)\Draconis Entertainment\Ten Pin Alley\tpa.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/The Blind Swordsman.sh b/home/stormux/.local/.install/audiogame-manager/The Blind Swordsman.sh new file mode 100644 index 0000000..bb9d720 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/The Blind Swordsman.sh @@ -0,0 +1,4 @@ +download "https://www.agarchive.net/games/other/the%20blind%20swordsmanPC.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/the blind swordsmanPC.zip" +add_launcher "c:\Program Files\TheBlindSwordsman.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/The Gate.sh b/home/stormux/.local/.install/audiogame-manager/The Gate.sh new file mode 100644 index 0000000..b83f2f0 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/The Gate.sh @@ -0,0 +1,6 @@ +#// +export winVer="win7" +download "http://www.vgstorm.com/the_gate_installer.exe" +install_wine_bottle +wine "${cache}/the_gate_installer.exe" /silent +add_launcher "c:\Program Files (x86)\VGStorm.com\The Gate\gate.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/The Vale.sh b/home/stormux/.local/.install/audiogame-manager/The Vale.sh new file mode 100644 index 0000000..039379a --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/The Vale.sh @@ -0,0 +1,9 @@ +get_installer "the-vale-win.zip" "https://falling-squirrel.itch.io/the-vale" +export WINEARCH=win64 +export winVer="win8" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/the-vale" "${cache}/the-vale-win.zip" +# Weird work around to get keyboard working. +winetricks -q usetakefocus=y +winetricks -q usetakefocus=n +add_launcher "c:\Program Files\the-vale\TheVale.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/They'll Come from the Moon.sh b/home/stormux/.local/.install/audiogame-manager/They'll Come from the Moon.sh new file mode 100644 index 0000000..db9e717 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/They'll Come from the Moon.sh @@ -0,0 +1,11 @@ +# shellcheck shell=bash disable=SC2154 # cache and WINEPREFIX are set by audiogame-manager +get_installer "theyll-come-from-the-moon-windows.zip" "https://soundrascal.itch.io/theyll-come-from-the-moon" +export WINEARCH=win64 +export winVer="win8" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/tcftm" "${cache}/theyll-come-from-the-moon-windows.zip" +# Weird work around to get keyboard working. +winetricks -q usetakefocus=y +winetricks -q usetakefocus=n +add_launcher "c:\Program Files\tcftm\They'll Come from the Moon!.exe" +alert "When the game launches, press the enter key to load the game which will begin to speak." diff --git a/home/stormux/.local/.install/audiogame-manager/Thief.sh b/home/stormux/.local/.install/audiogame-manager/Thief.sh new file mode 100644 index 0000000..33e2905 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Thief.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "http://oriolgomez.com/games/thief_en.zip" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/thief" "${cache}/thief_en.zip" +add_launcher "c:\Program Files\thief\game.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Three D velocity.sh b/home/stormux/.local/.install/audiogame-manager/Three D velocity.sh new file mode 100644 index 0000000..e086067 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Three D velocity.sh @@ -0,0 +1,10 @@ +export winVer="win10" +export WINEARCH=win64 +export norh=false # Must install a voice, and rhvoice works easily with 64 bit. +download "https://github.com/munawarb/Three-D-Velocity-Binaries/archive/master.zip" +install_wine_bottle sapi vcrun2008 gdiplus xact dotnet48 xna40 +# Dotnet is evil. That is all. +# LC_ALL=C winetricks -q dotnet48 +# wineserver -k # Ha ha ha. +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/master.zip" +add_launcher "c:\Program Files\Three-D-Velocity-Binaries-master\tdv.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Tomb Hunter.sh b/home/stormux/.local/.install/audiogame-manager/Tomb Hunter.sh new file mode 100644 index 0000000..3e14666 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Tomb Hunter.sh @@ -0,0 +1,4 @@ +download "http://masonasons.me/softs/th_freeware_password_is_tombhunter.7z" +install_wine_bottle +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files/Tomb Hunter" "${cache}/th_freeware_password_is_tombhunter.7z" -ptombhunter +add_launcher "c:\Program Files\Tomb Hunter\th.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Top Speed 2.sh b/home/stormux/.local/.install/audiogame-manager/Top Speed 2.sh new file mode 100644 index 0000000..ea05f2c --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Top Speed 2.sh @@ -0,0 +1,4 @@ +download "http://users.pandora.be/playinginthedark/downloads/Tspeed_2.00.exe" +install_wine_bottle +wine "${cache}/Tspeed_2.00.exe" /silent +add_launcher "c:\Program Files (x86)\Playing in the dark\Top Speed 2\TopSpeed.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Top Speed 3.sh b/home/stormux/.local/.install/audiogame-manager/Top Speed 3.sh new file mode 100644 index 0000000..7400644 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Top Speed 3.sh @@ -0,0 +1,7 @@ +download "https://github.com/PlayingintheDark/TopSpeed/releases/download/h/Tspeed_3.0.3.exe" +if [[ "$(uname -m)" == "aarch64" ]]; then + export WINEARCH=win64 +fi +install_wine_bottle directplay +wine "${cache}/Tspeed_3.0.3.exe" /silent +add_launcher "c:\Program Files (x86)\Playing in the dark\Top Speed 3\TopSpeed.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Toy Mania.sh b/home/stormux/.local/.install/audiogame-manager/Toy Mania.sh new file mode 100644 index 0000000..623d1b9 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Toy Mania.sh @@ -0,0 +1,6 @@ +export WINEARCH=win64 +export winVer="win7" +get_installer "ToyMania_windows_portable_password_is_GrateCollector.7z" "https://tsatria03.itch.io/toymania" +install_wine_bottle +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files/ToyMania" "${cache}/ToyMania_windows_portable_password_is_GrateCollector.7z" -pGrateCollector +add_launcher "c:\Program Files\ToyMania\tm.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Traders of Known Space.sh b/home/stormux/.local/.install/audiogame-manager/Traders of Known Space.sh new file mode 100644 index 0000000..97a5f0e --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Traders of Known Space.sh @@ -0,0 +1,4 @@ +download "http://www.valiantgalaxy.com/tks/tradersOfKnownSpace0.0.0.5Installer.exe" +install_wine_bottle +wine "${cache}/tradersOfKnownSpace0.0.0.5Installer.exe" /silent +add_launcher "c:\Program Files (x86)\VGA\TKS\tradersOfKnownSpace.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Triple Triad.sh b/home/stormux/.local/.install/audiogame-manager/Triple Triad.sh new file mode 100644 index 0000000..c8ce849 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Triple Triad.sh @@ -0,0 +1,6 @@ +export winVer="win7" +download "https://www.kaldobsky.com/audiogames/tripletriad.zip" +install_wine_bottle vb6run dx8vb +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/Triple Triad" "${cache}/tripletriad.zip" +wine "c:\Program Files\Triple Triad\Checkup.exe" /verysilent +add_launcher "c:\Program Files\Triple Triad\TripleTriad.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Troopanum2.sh b/home/stormux/.local/.install/audiogame-manager/Troopanum2.sh new file mode 100644 index 0000000..d4359c6 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Troopanum2.sh @@ -0,0 +1,41 @@ +download "https://www.agarchive.net/games/bsc/Troopanum2Setup.exe" "https://www.agarchive.net/games/bsc/BSC%20unlock%20code%20generator.7z" +install_wine_bottle vb6run dx8vb +# FIXME: Hacky, but it works. Install dotnet35 by itself so it actually doesn't hang. +winetricks -q dotnet35sp1 +wineserver -k # Damn you, dotnet. +wine "${cache}/Troopanum2Setup.exe" /silent & +xdotool sleep 10 key --clearmodifiers alt+y 2> /dev/null +sleep 30 && wineserver -k # Sometimes the installer finishes but the wineserver has more processes that don't exit, so we can't depend on wineserver -w. +mkdir -p "$WINEPREFIX/drive_c/Program Files/bsc-key-generator" +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files/bsc-key-generator" "${cache}/BSC unlock code generator.7z" +echo "$USER"$'\n'"$(hostname)"$'\n'"none"$'\n'"US" > "$WINEPREFIX/drive_c/Program Files/Troopanum 2.0/config.dat" +unix2dos "$WINEPREFIX/drive_c/Program Files/Troopanum 2.0/config.dat" +if command -v xclip &> /dev/null && command -v xdotool &> /dev/null ; then + wine "c:\Program Files\Troopanum 2.0\register.exe" & + xdotool sleep 10 key Return sleep 2 key Return sleep 2 key Alt+n + sleep 1 + regcode="$(xclip -selection clipboard -o)" + xdotool sleep 1 key Shift+Tab sleep 1 key Return + # FIXME: Kind of hacky, but let's make sure it actually exitted. + sleep 5 + wineserver -k + wine "c:\Program Files\bsc-key-generator\BlindsoftwareUnlockCodeGenerator.exe" & + xdotool sleep 10 key Return sleep 2 type t + xdotool sleep 1 type t + xdotool sleep 1 key Tab sleep 1 type $regcode + xdotool sleep 1 key Tab sleep 1 key Return + sleep 2 + regcode="$(xclip -selection clipboard -o)" # Might as well reuse the variable. + # FIXME: Kind of hacky, but let's make sure it actually exitted since I can't find a good way to exit this program. + sleep 5 + wineserver -k + wine "c:\Program Files\Troopanum 2.0\register.exe" & + echo "$regcode" | xclip -selection clipboard + xdotool sleep 10 key Return sleep 2 key Shift+Tab sleep 1 key Shift+Tab sleep 1 key Return + # FIXME: Kind of hacky, but let's make sure it actually exitted. + sleep 5 + wineserver -k +else + echo "Warning: You need xclip and xdotool for this installer to finish the registration process, however, you don't have them. Either remove the program, install the stated tools, and reinstall it, or go on your own. Caveat Emptor, go to jail, do not pass go, do not collect audiogame rewards and all that stuff." +fi +add_launcher "c:\Program Files (x86)\Troopanum 2.0\troop.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Tube Sim.sh b/home/stormux/.local/.install/audiogame-manager/Tube Sim.sh new file mode 100644 index 0000000..61e809e --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Tube Sim.sh @@ -0,0 +1,7 @@ +export winVer="win7" +download "http://www.ndadamson.com/downloads/TubeSim1_1_Install.exe" +install_wine_bottle +wine "${cache}/TubeSim1_1_Install.exe" /silent & +xdotool sleep 10 key --clearmodifiers Return sleep 1 key alt+n sleep 1 key alt+a sleep 1 key alt+i sleep 10 key alt+f 2> /dev/null +wineserver -w +add_launcher "c:\Program Files (x86)\NASoft\TubeSim\tsMain.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Ultimate SounDoku.sh b/home/stormux/.local/.install/audiogame-manager/Ultimate SounDoku.sh new file mode 100644 index 0000000..77cc2a9 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Ultimate SounDoku.sh @@ -0,0 +1,12 @@ +export winVer="win7" +# Uses standard wine path based on architecture (win32/win64) +download "http://download.dracoent.com/Windows/classic/USSetup.exe" +install_wine_bottle vb6run dx8vb quartz +cp -fv "${cache}/USSetup.exe" "$WINEPREFIX/drive_c/windows/temp/" +wine "c:/windows/temp/USSetup.exe" /sp- /silent +rm -fv "$WINEPREFIX/drive_c/windows/temp/USSetup.exe" +# warning warning warning: Do not change location, or installer will not function. +# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang. +winetricks -q dotnet20 +wineserver -k # Damn you, dotnet. +add_launcher "c:\Program Files (x86)\Draconis Entertainment\Ultimate Soundoku\soundoku.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Undead Assault.sh b/home/stormux/.local/.install/audiogame-manager/Undead Assault.sh new file mode 100644 index 0000000..8a2493f --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Undead Assault.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "http://undead-assault.com/static/files/public/undead_assault.zip" "${nvdaControllerClient32Dll}" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/undead_assault" "${cache}/undead_assault.zip" +add_launcher "c:\Program Files\undead_assault\Undead Assault.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/VIP Mud.sh b/home/stormux/.local/.install/audiogame-manager/VIP Mud.sh new file mode 100644 index 0000000..f6d432a --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/VIP Mud.sh @@ -0,0 +1,8 @@ +# shellcheck shell=bash disable=SC2154 # cache and WINEPREFIX are set by audiogame-manager +export WINEARCH="win64" # Migrated to wine64 with WINETRICKS_FORCE=1 +export winVer="win7" +install_wine_bottle sapi vb6run dx8vb +wine "${cache}/vipmud20016.exe" /silent +mkdir -p "${HOME}/.local/wine/vip-mud/drive_c/users/${USER}/Documents/VIP Mud" +add_launcher "c:\Program Files (x86)\VIPMud 2.0\vipmud2.exe" +alert "When you first launch VIP Mud You will be presented with several inaccessible dialogs.\nTo bypass these dialogs, press alt+o, then press enter until speech starts.\nTo be sure that each new dialog has had time to complete, wait a second between each press of enter.\nIn each subsequent launch, you will need to hit enter a couple times before it starts speaking." diff --git a/home/stormux/.local/.install/audiogame-manager/Villains From Beyond.sh b/home/stormux/.local/.install/audiogame-manager/Villains From Beyond.sh new file mode 100644 index 0000000..50f6e4d --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Villains From Beyond.sh @@ -0,0 +1,6 @@ +export WINEARCH="win64" # Migrated to wine64 with WINETRICKS_FORCE=1 +export winVer="win7" +download "${ipfs[Villains From Beyond]}" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/villains from beyond" "${cache}/villains_en.zip" +add_launcher "c:\Program Files\villains from beyond\game.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Warsim.sh b/home/stormux/.local/.install/audiogame-manager/Warsim.sh new file mode 100644 index 0000000..26cd8ba --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Warsim.sh @@ -0,0 +1,6 @@ +get_installer "Warsim Full Game.zip" "https://huw2k8.itch.io/warsim" +export WINEARCH=win64 +export winVer="win7" +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/Warsim/" "${cache}/Warsim Full Game.zip" +add_launcher "c:\Program Files\Warsim\Warsim.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/Wave of the Undead.sh b/home/stormux/.local/.install/audiogame-manager/Wave of the Undead.sh new file mode 100644 index 0000000..7158e70 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/Wave of the Undead.sh @@ -0,0 +1,11 @@ +export WINEARCH=win64 +export winVer="win7" +install_wine_bottle +wine "${cache}/Wave-of-the-Undead-Setup.exe" & + xdotool sleep 20 key Alt+n sleep 2 key Alt+n sleep 2 key Alt+n + xdotool sleep 2 key Alt+i + xdotool sleep 20 key Alt+n + xdotool sleep 2 key space + xdotool sleep 2 key Alt+f + wineserver -w +add_launcher "c:\Program Files (x86)\Wave Of The Undead\wave_of_the_undead.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/World of War.sh b/home/stormux/.local/.install/audiogame-manager/World of War.sh new file mode 100644 index 0000000..eece8e9 --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/World of War.sh @@ -0,0 +1,5 @@ +export winVer="win7" +download "https://www.agarchive.net/games/nyanchan/world%20of%20war%20English.7z" +install_wine_bottle +install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/nyanchangame" "${cache}/world of war English.7z" +add_launcher "c:\nyanchangame\world of war English\world of war.exe" diff --git a/home/stormux/.local/.install/audiogame-manager/haunted Party.sh b/home/stormux/.local/.install/audiogame-manager/haunted Party.sh new file mode 100644 index 0000000..e5c08ca --- /dev/null +++ b/home/stormux/.local/.install/audiogame-manager/haunted Party.sh @@ -0,0 +1,7 @@ +get_installer "hp.zip" "https://tunmi13.itch.io/haunted-party" +export WINEARCH=win64 +export winVer="win8" +# Uses standard wine path based on architecture (win32/win64) +install_wine_bottle +install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/hp.zip" +add_launcher "c:\Program Files\hp\hp.exe" diff --git a/home/stormux/.local/.install/linux-game-manager/Alter Aeon.sh b/home/stormux/.local/.install/linux-game-manager/Alter Aeon.sh new file mode 100644 index 0000000..a97fbfc --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Alter Aeon.sh @@ -0,0 +1,3 @@ +check_dependencies git sox tt++ +git -C "${installPath}/" clone --recurse-submodules https://github.com/lilmike/tintin-alteraeon.git | \ + ui_progressbox "Game Installer" "Installing \"${game}\", please wait..." diff --git a/home/stormux/.local/.install/linux-game-manager/Audio Quake.sh b/home/stormux/.local/.install/linux-game-manager/Audio Quake.sh new file mode 100644 index 0000000..25fd16d --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Audio Quake.sh @@ -0,0 +1,3 @@ +check_architecture x86_64 +download "https://michaels.world/aq-linux.zip" +unzip -d "${installPath}/AudioQuake" "${cache}/aq-linux.zip" diff --git a/home/stormux/.local/.install/linux-game-manager/Audo.sh b/home/stormux/.local/.install/linux-game-manager/Audo.sh new file mode 100644 index 0000000..c8922fb --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Audo.sh @@ -0,0 +1,4 @@ +check_architecture x86_64 +get_installer "Audo-linux-x64.zip" "https://shiftbacktick.itch.io/audo" +mkdir -p "${installPath}/Audo" +unzip -d "${installPath}/Audo" "${cache}/Audo-linux-x64.zip" diff --git a/home/stormux/.local/.install/linux-game-manager/Auroboros.sh b/home/stormux/.local/.install/linux-game-manager/Auroboros.sh new file mode 100644 index 0000000..a56e3a1 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Auroboros.sh @@ -0,0 +1,4 @@ +check_architecture x86_64 +get_installer "Auroboros-linux-x64.zip" "https://shiftbacktick.itch.io/auroboros" +mkdir -p "${installPath}/Auroboros" +unzip -d "${installPath}/Auroboros" "${cache}/Auroboros-linux-x64.zip" diff --git a/home/stormux/.local/.install/linux-game-manager/Ball Bouncer.sh b/home/stormux/.local/.install/linux-game-manager/Ball Bouncer.sh new file mode 100644 index 0000000..acfcd0c --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Ball Bouncer.sh @@ -0,0 +1,5 @@ +version=1.3.5 +check_architecture x86_64 +download "https://files.sooslandia.ru/BallBouncer/${version}/BallBouncer-linux-${version}.zip" +unzip -d "${installPath}/" "${cache}/BallBouncer-linux-${version}.zip" +chmod +x "${installPath}/BallBouncer/BallBouncer" diff --git a/home/stormux/.local/.install/linux-game-manager/Bladius.sh b/home/stormux/.local/.install/linux-game-manager/Bladius.sh new file mode 100644 index 0000000..84c5079 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Bladius.sh @@ -0,0 +1,4 @@ +check_architecture x86_64 +get_installer "Bladius-linux-x64.zip" "https://shiftbacktick.itch.io/bladius" +mkdir -p "${installPath}/Bladius" +unzip -d "${installPath}/Bladius" "${cache}/Bladius-linux-x64.zip" diff --git a/home/stormux/.local/.install/linux-game-manager/Chimera.sh b/home/stormux/.local/.install/linux-game-manager/Chimera.sh new file mode 100644 index 0000000..4a13417 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Chimera.sh @@ -0,0 +1,4 @@ +check_architecture x86_64 +get_installer "Chimera-linux-x64.zip" "https://shiftbacktick.itch.io/chimera" +mkdir -p "${installPath}/Chimera" +unzip -d "${installPath}/Chimera" "${cache}/Chimera-linux-x64.zip" diff --git a/home/stormux/.local/.install/linux-game-manager/Christmas Dash.sh b/home/stormux/.local/.install/linux-game-manager/Christmas Dash.sh new file mode 100644 index 0000000..c6b0a45 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Christmas Dash.sh @@ -0,0 +1,9 @@ +check_architecture x86_64 +get_installer "christmas_dash_linux.zip" "https://tunmi13.itch.io/christmas-dash" +unzip -d "${installPath}" "${cache}/christmas_dash_linux.zip" +if [[ -d "${installPath}/Christmas Dash/christmas_dash_linux" ]]; then + rm -rf "${installPath}/christmas_dash_linux" + mv -v "${installPath}/Christmas Dash/christmas_dash_linux" "${installPath}/christmas_dash_linux" + rmdir "${installPath}/Christmas Dash" 2> /dev/null || true +fi +chmod +x "${installPath}/christmas_dash_linux/game.bin" diff --git a/home/stormux/.local/.install/linux-game-manager/Constant Motion.sh b/home/stormux/.local/.install/linux-game-manager/Constant Motion.sh new file mode 100644 index 0000000..270afc2 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Constant Motion.sh @@ -0,0 +1,7 @@ +check_architecture x86_64 +installPath="${installPath:-${HOME}/.local/games}" +cache="${cache:-${XDG_CACHE_HOME:-$HOME/.cache}/linux-game-manager}" +download "https://samtupy.com/games/cm.tar.gz" +mkdir -p "${installPath}/Constant Motion" +tar -xzf "${cache}/cm.tar.gz" -C "${installPath}/Constant Motion" +chmod +x "${installPath}/Constant Motion/cm" diff --git a/home/stormux/.local/.install/linux-game-manager/Critter Sanctuary.sh b/home/stormux/.local/.install/linux-game-manager/Critter Sanctuary.sh new file mode 100644 index 0000000..b116b66 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Critter Sanctuary.sh @@ -0,0 +1,6 @@ +check_architecture x86_64 +get_installer "critter-sanctuary-linux.zip" "https://punishedfelix.itch.io/critter-sanctuary" +mkdir -p "${installPath}/critter-sanctuary" +unzip -d "${installPath}/critter-sanctuary" "${cache}/critter-sanctuary-linux.zip" +mkdir -p "${XDG_DATA_HOME:-${HOME}/.local}/share/godot/app_userdata/OverworldMovementEngine" +cp -v "${installPath}/critter-sanctuary/blind_options.save" "${XDG_DATA_HOME:-${HOME}/.local}/share/godot/app_userdata/OverworldMovementEngine/options.save" diff --git a/home/stormux/.local/.install/linux-game-manager/E.X.O..sh b/home/stormux/.local/.install/linux-game-manager/E.X.O..sh new file mode 100644 index 0000000..13fc9a6 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/E.X.O..sh @@ -0,0 +1,4 @@ +check_architecture x86_64 +get_installer "EXO-linux-x64.zip" "https://shiftbacktick.itch.io/exo" +mkdir -p "${installPath}/E.X.O." +unzip -d "${installPath}/E.X.O." "${cache}/EXO-linux-x64.zip" diff --git a/home/stormux/.local/.install/linux-game-manager/Echo Command.sh b/home/stormux/.local/.install/linux-game-manager/Echo Command.sh new file mode 100644 index 0000000..201939b --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Echo Command.sh @@ -0,0 +1,5 @@ +check_architecture x86_64 +get_installer "Echo Command.tar.xz" "https://pancakedev.itch.io/echo-command" +mkdir -p "${installPath}/Echo-Command" +tar xf "${cache}/Echo Command.tar.xz" -C "${installPath}/Echo-Command" +ln -sr "${installPath}/Echo-Command/Echo Command.x86_64" "${installPath}/Echo-Command/Echo_Command.x86_64" diff --git a/home/stormux/.local/.install/linux-game-manager/EmpireMUD.sh b/home/stormux/.local/.install/linux-game-manager/EmpireMUD.sh new file mode 100644 index 0000000..0775dfd --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/EmpireMUD.sh @@ -0,0 +1,3 @@ +check_dependencies git sox tt++ +git -C "${installPath}/" clone --recurse-submodules https://github.com/lilmike/tintin-empiremud.git | \ + ui_progressbox "Game Installer" "Installing \"${game}\", please wait..." diff --git a/home/stormux/.local/.install/linux-game-manager/End of Time.sh b/home/stormux/.local/.install/linux-game-manager/End of Time.sh new file mode 100644 index 0000000..159e973 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/End of Time.sh @@ -0,0 +1,3 @@ +check_dependencies git opusdec sox tt++ +git -C "${installPath}/" clone https://git.2mb.codes/~stormdragon2976/tintin-endoftime | \ + ui_progressbox "Game Installer" "Installing \"${game}\", please wait..." diff --git a/home/stormux/.local/.install/linux-game-manager/Fantasy Story II.sh b/home/stormux/.local/.install/linux-game-manager/Fantasy Story II.sh new file mode 100644 index 0000000..38eb281 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Fantasy Story II.sh @@ -0,0 +1,4 @@ +check_architecture x86_64 +get_installer "FS2_3.0_Linux.zip" "https://drive.google.com/file/d/15Y5nxR1zl9vVNzMilpaXdCSBFhNUIDC9/view" +unzip -d "${installPath}" "${cache}/FS2_3.0_Linux.zip" +chmod +x "${installPath}/FS2_3.0_Linux/fs2.x86_64" diff --git a/home/stormux/.local/.install/linux-game-manager/FreeDoom.sh b/home/stormux/.local/.install/linux-game-manager/FreeDoom.sh new file mode 100644 index 0000000..ad91d70 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/FreeDoom.sh @@ -0,0 +1,45 @@ +tobyVersion="9.0" +mkdir -p "${installPath}/doom" +doomPath="$(find /usr/share -type d -name "doom" 2> /dev/null)" +if [[ ${#doomPath} -lt 5 ]]; then + ui_yesno "Linux Game Manager" "Linux Game Manager" "Do you want Linux Game Manager to install freedoom and gzdoom for you? If you want to do this manually, select no." || exit 0 + if command -v yay &> /dev/null ; then + yay -Sy --noconfirm --sudoloop freedoom gzdoom freedm blasphemer-wad + elif command -v slapt-src &> /dev/null ; then + su -c 'slapt-src -i freedoom gzdoom' + elif command -v dnf &> /dev/null ; then + sudo dnf copr -y enable nalika/gzdoom + sudo dnf -q -y install freedoom + sudo dnf -q -y install gzdoom + else + ui_msgbox "Linux Game Manager" "Linux Game Manager" "No supported package managers found. Please install the freedoom and gzdoom packages manually." + exit 0 + fi +fi +doomPath="$(find /usr/share -type d -name "doom" 2> /dev/null | head -1)" +# The url breaks the normal download function +download_named "keyshare-universal.pk3" "https://forum.zdoom.org/download/file.php?id=42262" +download "${ipfsGateway}/ipfs/QmU6REFot8CGVSBy2YWQxnmXoh7M4EF74RxFtLzvtJxoGC?filename=toby_doom_${tobyVersion}_full.zip" +unzip -n -d "${installPath}/doom" "${cache}/toby_doom_${tobyVersion}_full.zip" +# Move contents from nested folder up one directory (including hidden files) +shopt -s dotglob +mv "${installPath}/doom/TobyAccessibilityMod_Version9"*/* "${installPath}/doom/" +shopt -u dotglob +# Remove the now-empty nested folder +rmdir "${installPath}/doom/TobyAccessibilityMod_Version9"* +#unzip -n -d "${installPath}/doom" "${cache}/OpMDK_ForV${tobyVersion}.zip" +cp -v "${cache}/keyshare-universal.pk3" "${installPath}/doom" +rm -fv "${installPath}/doom/"*.{bat,exe,dll,ps1} +rm -rfv "${installPath}/doom/_internal" +#if [[ -e /usr/share/doom/blasphem.wad ]]; then + #ln -s /usr/share/doom/blasphem.wad "${installPath}/doom/" +#fi +mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom" +cp "${installPath}/doom/TobyConfig.ini" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" +cp "${installPath}/doom/zcajun/bots.cfg" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/" + sed -i "s;^\[IWADSearch.Directories\]$;[IWADSearch.Directories]\nPath=${doomPath}\nPath=${installPath}/doom;" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" + sed -i "s;^\[FileSearch.Directories\]$;[FileSearch.Directories]\nPath=${doomPath}\nPath=${installPath}/doom;" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" + sed -i "s;^\[SoundfontSearch.Directories\]$;[SoundfontSearch.Directories]\nPath=${doomPath}/fm_banks\nPath=${doomPath}/soundfonts\nPath=${installPath}/doom/soundfonts\nPath=${installPath}/doom/fm_banks;" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" + # sed -i 's/Mouse1=+attack/CTRL=+attack/' "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" +launcherPath="$(readlink -f "$0")" +launcherPath="${launcherPath%/*}" diff --git a/home/stormux/.local/.install/linux-game-manager/Legends of Kallisti.sh b/home/stormux/.local/.install/linux-game-manager/Legends of Kallisti.sh new file mode 100644 index 0000000..c9467b9 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Legends of Kallisti.sh @@ -0,0 +1,3 @@ +check_dependencies git sox tt++ +git -C "${installPath}/" clone --recurse-submodules https://github.com:hjozwiak/tintin-kallisti-pack | \ + ui_progressbox "Game Installer" "Installing \"${game}\", please wait..." diff --git a/home/stormux/.local/.install/linux-game-manager/Monkey Spank.sh b/home/stormux/.local/.install/linux-game-manager/Monkey Spank.sh new file mode 100644 index 0000000..cdf50f2 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Monkey Spank.sh @@ -0,0 +1,2 @@ +check_dependencies python-pygame:pygame python-xdg:xdg python-pyperclip:pyperclip python-requests:requests python-setproctitle:setproctitle +git -C "${installPath}" clone --recurse-submodules https://gitlab.com/stormdragon2976/monkeyspank.git diff --git a/home/stormux/.local/.install/linux-game-manager/Numnastics.sh b/home/stormux/.local/.install/linux-game-manager/Numnastics.sh new file mode 100644 index 0000000..ba9e351 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Numnastics.sh @@ -0,0 +1,2 @@ +check_dependencies python-pygame:pygame python-xdg:xdg python-pyperclip:pyperclip python-requests:requests python-setproctitle:setproctitle +git -C "${installPath}" clone --recurse-submodules https://gitlab.com/stormdragon2976/numnastics.git diff --git a/home/stormux/.local/.install/linux-game-manager/Onslaught.sh b/home/stormux/.local/.install/linux-game-manager/Onslaught.sh new file mode 100644 index 0000000..dbe3aab --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Onslaught.sh @@ -0,0 +1,5 @@ +check_architecture x86_64 +get_installer "onslaught.AppImage" "https://lightsoutgames.itch.io/onslaught" +mkdir -p "${installPath}/Onslaught" +cp -v "${cache}/onslaught.AppImage" "${installPath}/Onslaught/onslaught.AppImage" +chmod +x "${installPath}/Onslaught/onslaught.AppImage" diff --git a/home/stormux/.local/.install/linux-game-manager/Periphery Synthetic EP.sh b/home/stormux/.local/.install/linux-game-manager/Periphery Synthetic EP.sh new file mode 100644 index 0000000..f66c07a --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Periphery Synthetic EP.sh @@ -0,0 +1,4 @@ +check_architecture x86_64 +get_installer "periphery-synthetic-ep-linux-x64.zip" "https://shiftbacktick.itch.io/periphery-synthetic-ep" +mkdir -p "${installPath}/periphery-synthetic-ep" +unzip -d "${installPath}/periphery-synthetic-ep" "${cache}/periphery-synthetic-ep-linux-x64.zip" diff --git a/home/stormux/.local/.install/linux-game-manager/Play Palace.sh b/home/stormux/.local/.install/linux-game-manager/Play Palace.sh new file mode 100644 index 0000000..b310d0d --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Play Palace.sh @@ -0,0 +1,69 @@ +check_dependencies git uv python-speechd:speechd + +# shellcheck disable=SC2154 # set by linux-game-manager.sh +gameRoot="${installPath}/PlayPalace11" +desktopPath="${gameRoot}/clients/desktop" +hostPythonDir="${desktopPath}/.host-python" +speechdFilePath="" +speechdCopySourcePath="" + +if [[ -e "${gameRoot}" ]]; then + ui_msgbox "Game Installer" "Game Installer" "\"${gameRoot}\" already exists. Remove it first or choose a different game." + exit 1 +fi + +mkdir -p "${installPath}" || { + ui_msgbox "Game Installer" "Game Installer" "Could not create ${installPath}." + exit 1 +} + +if ! git -C "${installPath}" clone "https://github.com/XGDevGroup/PlayPalace11.git"; then + ui_msgbox "Game Installer" "Game Installer" "Could not clone Play Palace from GitHub." + exit 1 +fi + +if ! pushd "${desktopPath}" > /dev/null; then + ui_msgbox "Game Installer" "Game Installer" "Could not find desktop client path at ${desktopPath}." + exit 1 +fi + +if ! uv sync; then + popd > /dev/null || exit 1 + ui_msgbox "Game Installer" "Game Installer" "uv sync failed for Play Palace." + exit 1 +fi +popd > /dev/null || exit 1 + +speechdFilePath="$(python3 -c 'import pathlib,speechd; print(pathlib.Path(speechd.__file__).resolve())' 2> /dev/null)" +if [[ -z "${speechdFilePath}" ]]; then + ui_msgbox "Game Installer" "Game Installer" "Could not import python module speechd from host Python.\nInstall speech-dispatcher python bindings and try again." + exit 1 +fi + +if [[ "${speechdFilePath##*/}" == "__init__.py" ]]; then + speechdCopySourcePath="${speechdFilePath%/*}" +elif [[ "${speechdFilePath##*/}" == "speechd.py" ]]; then + speechdCopySourcePath="${speechdFilePath}" +else + speechdCopySourcePath="${speechdFilePath}" +fi + +if ! [[ -r "${speechdCopySourcePath}" ]]; then + ui_msgbox "Game Installer" "Game Installer" "Could not read speechd python binding at ${speechdCopySourcePath}." + exit 1 +fi + +mkdir -p "${hostPythonDir}" || { + ui_msgbox "Game Installer" "Game Installer" "Could not create ${hostPythonDir}." + exit 1 +} + +if [[ -d "${speechdCopySourcePath}" ]]; then + if ! cp -a "${speechdCopySourcePath}" "${hostPythonDir}/"; then + ui_msgbox "Game Installer" "Game Installer" "Could not copy speechd package into ${hostPythonDir}." + exit 1 + fi +elif ! cp -a "${speechdCopySourcePath}" "${hostPythonDir}/speechd.py"; then + ui_msgbox "Game Installer" "Game Installer" "Could not copy speechd module into ${hostPythonDir}." + exit 1 +fi diff --git a/home/stormux/.local/.install/linux-game-manager/S.E.A..sh b/home/stormux/.local/.install/linux-game-manager/S.E.A..sh new file mode 100644 index 0000000..e3d06cc --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/S.E.A..sh @@ -0,0 +1,4 @@ +check_architecture x86_64 +get_installer "SEA-linux-x64.zip" "https://shiftbacktick.itch.io/sea" +mkdir -p "${installPath}/S.E.A." +unzip -d "${installPath}/S.E.A." "${cache}/SEA-linux-x64.zip" diff --git a/home/stormux/.local/.install/linux-game-manager/Slay the Spire.sh b/home/stormux/.local/.install/linux-game-manager/Slay the Spire.sh new file mode 100644 index 0000000..647775e --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Slay the Spire.sh @@ -0,0 +1,71 @@ +# shellcheck shell=bash disable=SC2154 # installPath and cache are set by linux-game-manager.sh +check_architecture x86_64 +alert "Game Installer" "Game Installer" "Please note this requires the game to be available either in your Steam library or as the installer purchased from gog.com.\n\nIf using the gog.com installer, please use the default path when prompted." +installMethod=$(ui_menu "Installation Method" "Installation Method" "Select installation method" "gog" "GOG" "steam" "Steam") +appId="646570" +gogFileName="slay_the_spire_2020_12_15_8735c9fe3cc2280b76aa3ec47c953352a7df1f65_43444.sh" +if [[ "$installMethod" == "steam" ]]; then + # Steam Installation + check_dependencies steamcmd + steamUser=$(ui_inputbox "Game Installer" "Game Installer" "Please enter Steam user name:" "") + if ! steamcmd +@sSteamCmdForcePlatformType linux +force_install_dir "${HOME}/.local/games/SlayTheSpire" +login "$steamUser" +app_update "$appId" +quit; then + ui_msgbox "Game Installer" "Game Installer" "Error installing game through Steam." + exit 1 + fi +else + # GOG Installation + get_installer "$gogFileName" "https://www.gog.com/en/game/slay_the_spire" + if DISPLAY="" find ~/Downloads -maxdepth 1 -type f -name "$gogFileName" -exec bash "{}" \; || + DISPLAY="" find ~/Desktop -maxdepth 1 -type f -name "$gogFileName" -exec bash "{}" \;; then + ln -sf "${HOME}/GOG Games/Slay the Spire/game" "${installPath}/SlayTheSpire" || + { ui_msgbox "Game Installer" "Game Installer" "Error creating link to game directory." + exit 1; } + else + ui_msgbox "Game Installer" "Game Installer" "Error installing game from GOG installer." + exit 1 + fi +fi +# Move files into place +mkdir -p "${HOME}/.config/ModTheSpire" +if [[ -f ~"/.config/ModTheSpire/mod_lists.json" ]]; then + ui_yesno "Game Installer" "Game Installer" "Existing mod_lists.json file found. Would you like to replace it?" && + cp -v .files/SlayTheSpire/mod_lists.json "${HOME}/.config/ModTheSpire/mod_lists.json" +else + cp -v .files/SlayTheSpire/mod_lists.json "${HOME}/.config/ModTheSpire/mod_lists.json" +fi +cp -v .files/SlayTheSpire/MTS.sh "${HOME}/.local/games/SlayTheSpire/" +# Get mods +declare -A modsMap=( + [mod the spire]=1605060445 + [base mod]=1605833019 + [stslib]=1609158507 + [curses come first]=2304840098 + [achievement enabler]=1692554109 + [say the spire]=2239220106 +) +declare -a installArgs=() +for modId in "${modsMap[@]}" ; do + installArgs+=("+workshop_download_item" "$appId" "$modId") +done +if ! steamcmd +@sSteamCmdForcePlatformType linux +force_install_dir "${HOME}/.local/games/SlayTheSpire/" +login anonymous "${installArgs[@]}" +quit; then + ui_msgbox "Game Installer" "Game Installer" "Error installing required mods. Some accessibility features may not be available." + exit 1 +fi +mkdir -p "$HOME/.local/games/SlayTheSpire/mods" +for modName in "${!modsMap[@]}" ; do + if [[ "$modName" == "mod the spire" ]]; then + if ! ln -sr "$HOME/.local/games/SlayTheSpire/steamapps/workshop/content/$appId/${modsMap[$modName]}"/* "$HOME/.local/games/SlayTheSpire/"; then + if [[ "$modName" == "say the spire" ]]; then + ui_msgbox "Game Installer" "Game Installer" "Error installing SayTheSpire mod. Screen reader support will not be available." + exit 1 + fi + fi + else + if ! ln -sr "$HOME/.local/games/SlayTheSpire/steamapps/workshop/content/$appId/${modsMap[$modName]}"/* "$HOME/.local/games/SlayTheSpire/mods/"; then + if [[ "$modName" == "say the spire" ]]; then + ui_msgbox "Game Installer" "Game Installer" "Error installing SayTheSpire mod. Screen reader support will not be available." + exit 1 + fi + fi + fi +done diff --git a/home/stormux/.local/.install/linux-game-manager/Slay the Text.sh b/home/stormux/.local/.install/linux-game-manager/Slay the Text.sh new file mode 100644 index 0000000..d77aa23 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Slay the Text.sh @@ -0,0 +1,3 @@ +check_dependencies python-ansimarkup:ansimarkup +git -C "${installPath}/" clone https://github.com/Difio3333/slaythetext.git | \ + ui_progressbox "Game Installer" "Installing \"${game}\", please wait..." diff --git a/home/stormux/.local/.install/linux-game-manager/Soulblaze.sh b/home/stormux/.local/.install/linux-game-manager/Soulblaze.sh new file mode 100644 index 0000000..a16d4a4 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Soulblaze.sh @@ -0,0 +1,4 @@ +check_architecture x86_64 +get_installer "soulblaze-linux-beta.zip" "https://sword-and-quill.itch.io/soulblaze" +mkdir -p "${installPath}/Soulblaze" +unzip -d "${installPath}/Soulblaze" "${cache}/soulblaze-linux-beta.zip" diff --git a/home/stormux/.local/.install/linux-game-manager/SoundRTS.sh b/home/stormux/.local/.install/linux-game-manager/SoundRTS.sh new file mode 100644 index 0000000..ffe2116 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/SoundRTS.sh @@ -0,0 +1,6 @@ +check_dependencies python3 +mkdir -p "${installPath}" +git -C "${installPath}" clone "https://github.com/soundmud/soundrts.git" +git -C "${installPath}/soundrts" checkout v1.3.8 +sed -i 's;git+https://github.com/soundmud/accessible_output2;accessible_output2;' "${installPath}/soundrts/requirements.txt" +python3 -m venv --system-site-packages "${installPath}/soundrts/.venv" diff --git a/home/stormux/.local/.install/linux-game-manager/Stardew Valley.sh b/home/stormux/.local/.install/linux-game-manager/Stardew Valley.sh new file mode 100644 index 0000000..9829d17 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Stardew Valley.sh @@ -0,0 +1,16 @@ +# shellcheck shell=bash disable=SC2154 # installPath and cache are set by linux-game-manager.sh +check_architecture x86_64 +DISPLAY="" +alert "Game Installer" "Game Installer" "Please select the default path when prompted by the installer." +get_installer "stardew_valley_1_5_6_1988831614_53040.sh" "https://www.gog.com/game/stardew_valley" +bash "${cache}/stardew_valley_1_5_6_1988831614_53040.sh" || + { ui_msgbox "Game Installer" "Game Installer" "Error installing game." + exit 1; } +smapiVersion="3.18.4" +download "https://github.com/Pathoschild/SMAPI/releases/download/${smapiVersion}/SMAPI-${smapiVersion}-installer.zip" "https://stormgames.wolfe.casa/downloads/stardew-valley/Mods.tar.xz" +smapiTmp="$(mktemp -d)" +unzip "${cache}/SMAPI-${smapiVersion}-installer.zip" -d "$smapiTmp" +alert "Game Installer" "Game Installer" "Preparing to install mods. Please select the same path as before when prompted.\n\nWhen it says SMAPI has been installed, press enter to finish installation." +bash "${smapiTmp}/SMAPI ${smapiVersion} installer/install on Linux.sh" +ln -sf "${HOME}/GOG Games/Stardew Valley/game" "${installPath}/StardewValley" +tar -xvf "${cache}/Mods.tar.xz" -C "${installPath}/StardewValley/" diff --git a/home/stormux/.local/.install/linux-game-manager/StickMUD.sh b/home/stormux/.local/.install/linux-game-manager/StickMUD.sh new file mode 100644 index 0000000..f786bf3 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/StickMUD.sh @@ -0,0 +1,3 @@ +check_dependencies git sox tt++ +git -C "${installPath}/" clone --recurse-submodules https://github.com/stormdragon2976/tintin-stickmud.git | \ + ui_progressbox "Game Installer" "Installing \"${game}\", please wait..." diff --git a/home/stormux/.local/.install/linux-game-manager/Super Liam.sh b/home/stormux/.local/.install/linux-game-manager/Super Liam.sh new file mode 100644 index 0000000..4f5aee2 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Super Liam.sh @@ -0,0 +1,4 @@ +# shellcheck shell=bash disable=SC2154 # installPath and cache are set by linux-game-manager.sh +check_architecture x86_64 +download "https://l-works.net/files/SuperLiam_linux.tar.gz" +tar -xzf "$cache/SuperLiam_linux.tar.gz" -C "${installPath}" diff --git a/home/stormux/.local/.install/linux-game-manager/System Fault.sh b/home/stormux/.local/.install/linux-game-manager/System Fault.sh new file mode 100644 index 0000000..e5934c8 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/System Fault.sh @@ -0,0 +1,5 @@ +check_architecture x86_64 +get_installer "system-fault-linux-x86_64.AppImage" "https://lightsoutgames.itch.io/systemfault" +mkdir -p "${installPath}/System_Fault" +cp -v "${cache}/system-fault-linux-x86_64.AppImage" "${installPath}/System_Fault/system-fault-linux-x86_64.AppImage" +chmod +x "${installPath}/System_Fault/system-fault-linux-x86_64.AppImage" diff --git a/home/stormux/.local/.install/linux-game-manager/The Great Toy Robbery.sh b/home/stormux/.local/.install/linux-game-manager/The Great Toy Robbery.sh new file mode 100644 index 0000000..c660d51 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/The Great Toy Robbery.sh @@ -0,0 +1,4 @@ +# shellcheck shell=bash disable=SC2154 # installPath and cache are set by linux-game-manager.sh +check_architecture x86_64 +download "https://l-works.net/files/tgtr_linux.tar.gz" +tar -xzf "$cache/tgtr_linux.tar.gz" -C "${installPath}" diff --git a/home/stormux/.local/.install/linux-game-manager/The Omega Reach.sh b/home/stormux/.local/.install/linux-game-manager/The Omega Reach.sh new file mode 100644 index 0000000..3138450 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/The Omega Reach.sh @@ -0,0 +1,7 @@ +# shellcheck shell=bash disable=SC2154 # installPath and cache are set by linux-game-manager.sh +check_architecture x86_64 +get_installer "the-omega-reach-linux-x64.zip" "https://shiftbacktick.itch.io/the-omega-reach" +mkdir -p "${installPath}/Omega Reach" +unzip -d "${installPath}/Omega Reach" "${cache}/the-omega-reach-linux-x64.zip" +chmod +x "${installPath}/Omega Reach/the-omega-reach" +chmod +x "${installPath}/Omega Reach/chrome-sandbox" diff --git a/home/stormux/.local/.install/linux-game-manager/The Tornado Chicken.sh b/home/stormux/.local/.install/linux-game-manager/The Tornado Chicken.sh new file mode 100644 index 0000000..9a8f096 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/The Tornado Chicken.sh @@ -0,0 +1,6 @@ +# shellcheck shell=bash disable=SC2154 # installPath and cache are set by linux-game-manager.sh +check_architecture x86_64 +get_installer "Ttc v3.2 linux.zip" "https://renzivan.itch.io/the-tornado-chicken" +unzip -d "${installPath}/The Tornado Chicken" "${cache}/Ttc v3.2 linux.zip" +chmod +x "${installPath}/The Tornado Chicken/Ttc" +alert "Game Installer" "Game Installer" "Note: When the game first starts it will be playing very loud music with the built in suboptimal voice.\n\nYou are recommended to press page down several times to turn down the music, then go to settings and enable speech with screen reader, using speech dispatcher.\n\nYou may then press page up to set the music to your liking." diff --git a/home/stormux/.local/.install/linux-game-manager/Top Speed.sh b/home/stormux/.local/.install/linux-game-manager/Top Speed.sh new file mode 100644 index 0000000..c79fc5b --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Top Speed.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +# shellcheck disable=SC2154 # set by linux-game-manager.sh +check_architecture x86_64 + +releaseMetadataFile="TopSpeed-release-build.json" +releaseMetadataPath="${cache}/${releaseMetadataFile}" +releaseMetadataUrl="https://api.github.com/repos/diamondStar35/top_speed/releases/tags/release-build" +assetPattern='^TopSpeed-linux-x64-Release-v-.*\.zip$' + +rm -f "${releaseMetadataPath}" +download_named "${releaseMetadataFile}" "${releaseMetadataUrl}" + +assetName="$(jq -r --arg assetPattern "${assetPattern}" '.assets[] | select(.name | test($assetPattern)) | .name' "${releaseMetadataPath}" | head -n 1)" +assetUrl="$(jq -r --arg assetPattern "${assetPattern}" '.assets[] | select(.name | test($assetPattern)) | .browser_download_url' "${releaseMetadataPath}" | head -n 1)" + +if [[ -z "${assetName}" ]] || [[ -z "${assetUrl}" ]] || [[ "${assetName}" == "null" ]] || [[ "${assetUrl}" == "null" ]]; then + ui_msgbox "Linux Game Manager" "Linux Game Manager" "Unable to find the latest Top Speed Linux download in the GitHub release metadata." + exit 1 +fi + +download_named "${assetName}" "${assetUrl}" +mkdir -p "${installPath}/TopSpeed" +unzip -o -d "${installPath}/TopSpeed" "${cache}/${assetName}" +chmod +x "${installPath}/TopSpeed/TopSpeed" diff --git a/home/stormux/.local/.install/linux-game-manager/Upheaval Commandline.sh b/home/stormux/.local/.install/linux-game-manager/Upheaval Commandline.sh new file mode 100644 index 0000000..6c37c8b --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Upheaval Commandline.sh @@ -0,0 +1,5 @@ +check_architecture x86_64 +check_dependencies dmidecode +get_installer "upheaval-linux-console.zip" "https://leonegaming.itch.io/upheaval" +mkdir -p "${installPath}/Upheaval_Commandline" +unzip -d "${installPath}/Upheaval_Commandline" "${cache}/upheaval-linux-console.zip" diff --git a/home/stormux/.local/.install/linux-game-manager/Upheaval Gui.sh b/home/stormux/.local/.install/linux-game-manager/Upheaval Gui.sh new file mode 100644 index 0000000..8df4f4b --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Upheaval Gui.sh @@ -0,0 +1,7 @@ +# shellcheck shell=bash disable=SC2154 # installPath and cache are set by linux-game-manager.sh +check_architecture x86_64 +check_dependencies dmidecode +get_installer "upheaval-linux.zip" "https://leonegaming.itch.io/upheaval" +mkdir -p "${installPath}/Upheaval_Gui" +unzip -d "${installPath}/Upheaval_Gui" "${cache}/upheaval-linux.zip" +alert "Game Installer" "Game Installer" "To enable accessibility, press shift t when the game starts." diff --git a/home/stormux/.local/.install/linux-game-manager/Wheels of Prio.sh b/home/stormux/.local/.install/linux-game-manager/Wheels of Prio.sh new file mode 100644 index 0000000..3b5e304 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Wheels of Prio.sh @@ -0,0 +1,6 @@ +# shellcheck shell=bash disable=SC2154 # installPath and cache are set by linux-game-manager.sh +check_architecture x86_64 +get_installer "Wp v3.0 linux.zip" "https://psyra-productions.itch.io/wheels-of-prio" +unzip -d "${installPath}/Wheels of Prio" "${cache}/Wp v3.0 linux.zip" +chmod +x "${installPath}/Wheels of Prio/Wp" +alert "Game Installer" "Game Installer" "Note: When the game first starts it will be playing very loud music with the built in suboptimal voice.\n\nYou are recommended to press page down several times to turn down the music, then go to settings and enable speech with screen reader, using speech dispatcher.\n\nYou may then press page up to set the music to your liking." diff --git a/home/stormux/.local/.install/linux-game-manager/Wicked Quest.sh b/home/stormux/.local/.install/linux-game-manager/Wicked Quest.sh new file mode 100644 index 0000000..05119aa --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Wicked Quest.sh @@ -0,0 +1,12 @@ +local arch=$(uname -m) +local gameName + +if [[ "$arch" == "aarch64" ]]; then + gameName="wicked_quest-linux-aarch64.zip" +else + gameName="wicked_quest-linux-x86_64.zip" +fi + +get_installer "$gameName" "https://stormdragon2976.itch.io/wicked-quest" +mkdir -p "${installPath}/Wicked_Quest" +unzip -d "${installPath}/" "${cache}/$gameName" diff --git a/home/stormux/.local/.install/linux-game-manager/Wurmus.sh b/home/stormux/.local/.install/linux-game-manager/Wurmus.sh new file mode 100644 index 0000000..0c68fbb --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Wurmus.sh @@ -0,0 +1,4 @@ +check_architecture x86_64 +get_installer "Wurmus-linux-x64.zip" "https://shiftbacktick.itch.io/wurmus" +mkdir -p "${installPath}/Wurmus" +unzip -d "${installPath}/Wurmus" "${cache}/Wurmus-linux-x64.zip" diff --git a/home/stormux/.local/.install/linux-game-manager/Zombowl.sh b/home/stormux/.local/.install/linux-game-manager/Zombowl.sh new file mode 100644 index 0000000..c161e9c --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/Zombowl.sh @@ -0,0 +1,12 @@ +architecture="$(uname -m)" +if [[ "${architecture}" == "aarch64" ]]; then + pkgname="Zombowl-Linux-aarch64.zip" +elif [[ "${architecture}" == "x86_64" ]]; then + pkgname="Zombowl-Linux-X86_64.zip" +else + ui_msgbox "Game Installer" "Game Installer" "Architecture ${architecture} is not supported." + exit 1 +fi +get_installer "${pkgname}" "https://stormdragon2976.itch.io/zombowl" +mkdir -p "${installPath}/" +unzip -d "${installPath}/" "${cache}/${pkgname}" diff --git a/home/stormux/.local/.install/linux-game-manager/soundStrider.sh b/home/stormux/.local/.install/linux-game-manager/soundStrider.sh new file mode 100644 index 0000000..5ee7386 --- /dev/null +++ b/home/stormux/.local/.install/linux-game-manager/soundStrider.sh @@ -0,0 +1,4 @@ +check_architecture x86_64 +get_installer "soundStrider-linux-x64.zip" "https://shiftbacktick.itch.io/soundstrider" +mkdir -p "${installPath}/soundStrider" +unzip -d "${installPath}/soundStrider" "${cache}/soundStrider-linux-x64.zip" diff --git a/home/stormux/.local/.launch/.gitkeep b/home/stormux/.local/.launch/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/home/stormux/.local/.launch/.gitkeep @@ -0,0 +1 @@ + diff --git a/home/stormux/.local/.launch/linux-game-manager/Aliens.sh b/home/stormux/.local/.launch/linux-game-manager/Aliens.sh new file mode 100644 index 0000000..5f37fd8 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Aliens.sh @@ -0,0 +1 @@ +open_url "https://files.jantrid.net/aliens/" diff --git a/home/stormux/.local/.launch/linux-game-manager/Alter Aeon.game b/home/stormux/.local/.launch/linux-game-manager/Alter Aeon.game new file mode 100644 index 0000000..b76f733 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Alter Aeon.game @@ -0,0 +1,9 @@ +mudPath="${installPath}/tintin-alteraeon/aa.tin" +pushd "${mudPath%/*}" +git pull | \ +dialog --progressbox "Checking for updates, please wait..." -1 -1 +if [[ -n "${COLORTERM}" ]]; then + terminal_emulator "${mudPath%/*}" "tt++" "${mudPath##*/}" +else + tt++ ${mudPath##*/} +fi diff --git a/home/stormux/.local/.launch/linux-game-manager/Alter Aeon.sh b/home/stormux/.local/.launch/linux-game-manager/Alter Aeon.sh new file mode 120000 index 0000000..228e7b1 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Alter Aeon.sh @@ -0,0 +1 @@ +Alter Aeon.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/Audio Quake.game b/home/stormux/.local/.launch/linux-game-manager/Audio Quake.game new file mode 100644 index 0000000..67948d5 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Audio Quake.game @@ -0,0 +1,67 @@ +configure_audio() { + local sudo=$(command -v sudo) + sudo="${sudo:-doas}" + local audioProvider + if pgrep pipewire &> /dev/null ; then + audioProvider="pipewire" + elif pgrep pulse &> /dev/null ; then + audioProvider="pulseaudio" + else + audioProvider="alsa" + fi + lsmod | grep snd_aloop || $sudo modprobe snd_aloop + cardNumber="$(aplay -l |grep -P '^card \d+: Loopback' |head -n1 | cut -d\ -f2 | cut -d: -f1)" + if ! [[ "$cardNumber" =~ ^[0-9]+$ ]] ; then + dialog --backtitle "Linux Game Manager" \ + --msgbox "The loopback module card number was not properly set.\nThis could mean that you failed to type your password for root privileges, or something else has gone wrong.\n If you think root privileges were succesfully obtained, please report this to the maintainers. Mention the card value: ${cardNumber}." -1 -1 + exit 1 + fi + alsaloop -C hw:${cardNumber},1,0 -P default &> /dev/null & +} + + +configure_webkit() { + local webkitPath + local sudo=$(command -v sudo) + sudo="${sudo:-doas}" + # First check if it's already properly set up + [[ -d /usr/libexec/webkit2gtk-4.0 ]] && return 0 + webkitPath=$(find /usr/lib* /usr/local/lib* -type d -name 'webkit2gtk-4.0' 2>/dev/null | head -n1) + if [[ -z "${webkitPath}" ]]; then + dialog --backtitle "Linux Game manager" \ + --msgbox "Error: webkit2gtk-4.0 not found. Please install webkit2gtk package for your distribution." -1 -1 + exit 1 + fi + # Create libexec directory if it doesn't exist + if [[ ! -d /usr/libexec ]]; then + if ! $sudo mkdir -p /usr/libexec; then + echo "Error: Failed to create /usr/libexec directory" + exit 1 + fi + fi + if ! $sudo ln -s "${webkitPath}" /usr/libexec/webkit2gtk-4.0; then + echo "Error: Failed to create symlink for webkit2gtk-4.0" + exit 1 + fi +} + +set_sound_device() { + if ! grep -q 'set s_device' "${installPath}/AudioQuake/data/id1/config.cfg" ; then + echo "set s_device hw:${cardNumber},0,0" >> "${installPath}/AudioQuake/data/id1/config.cfg" + else + sed -E -i 's/set s_device/set s_device hw:${cardNumber},0,0/g' "${installPath}/AudioQuake/data/id1/config.cfg" + fi + if ! grep -q 'set s_device' "${installPath}/AudioQuake/data/oq/config.cfg" ; then + echo "set s_device hw:${cardNumber},0,0" >> "${installPath}/AudioQuake/data/oq/config.cfg" + else + sed -E -i 's/set s_device/set s_device hw:${cardNumber},0,0/g' "${installPath}/AudioQuake/data/oq/config.cfg" + fi +} + + +trap 'pkill -P $$' EXIT +configure_audio +configure_webkit +set_sound_device +pushd "${installPath}/AudioQuake" +./AudioQuake diff --git a/home/stormux/.local/.launch/linux-game-manager/Audio Quake.sh b/home/stormux/.local/.launch/linux-game-manager/Audio Quake.sh new file mode 120000 index 0000000..19e44e1 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Audio Quake.sh @@ -0,0 +1 @@ +Audio Quake.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/Audo.game b/home/stormux/.local/.launch/linux-game-manager/Audo.game new file mode 100644 index 0000000..18933a3 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Audo.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +${installPath}/Audo/Audo diff --git a/home/stormux/.local/.launch/linux-game-manager/Auroboros.game b/home/stormux/.local/.launch/linux-game-manager/Auroboros.game new file mode 100644 index 0000000..162b756 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Auroboros.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/Auroboros/Auroboros" diff --git a/home/stormux/.local/.launch/linux-game-manager/Ball Bouncer.game b/home/stormux/.local/.launch/linux-game-manager/Ball Bouncer.game new file mode 100644 index 0000000..9f819d4 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Ball Bouncer.game @@ -0,0 +1,3 @@ +check_architecture x86_64 +pushd "${installPath}/BallBouncer" +${fex}./BallBouncer diff --git a/home/stormux/.local/.launch/linux-game-manager/Ball Bouncer.sh b/home/stormux/.local/.launch/linux-game-manager/Ball Bouncer.sh new file mode 120000 index 0000000..0bba7b1 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Ball Bouncer.sh @@ -0,0 +1 @@ +Ball Bouncer.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/Battle Weary.sh b/home/stormux/.local/.launch/linux-game-manager/Battle Weary.sh new file mode 100644 index 0000000..7fb1575 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Battle Weary.sh @@ -0,0 +1 @@ +open_url "https://lonespelunker.itch.io/battle-weary" diff --git a/home/stormux/.local/.launch/linux-game-manager/Bladius.game b/home/stormux/.local/.launch/linux-game-manager/Bladius.game new file mode 100644 index 0000000..83b2ecf --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Bladius.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/Bladius/Bladius" diff --git a/home/stormux/.local/.launch/linux-game-manager/Cacophony.sh b/home/stormux/.local/.launch/linux-game-manager/Cacophony.sh new file mode 100644 index 0000000..df3481e --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Cacophony.sh @@ -0,0 +1 @@ +open_url "https://tianmaru.itch.io/cacophony" diff --git a/home/stormux/.local/.launch/linux-game-manager/Chimera.game b/home/stormux/.local/.launch/linux-game-manager/Chimera.game new file mode 100644 index 0000000..ba6b996 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Chimera.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/Chimera/Chimera" diff --git a/home/stormux/.local/.launch/linux-game-manager/Christmas Dash.game b/home/stormux/.local/.launch/linux-game-manager/Christmas Dash.game new file mode 100644 index 0000000..989439b --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Christmas Dash.game @@ -0,0 +1,14 @@ +gameDir="${installPath}/christmas_dash_linux" +gameExecutable="${gameDir}/game.bin" +if [[ ! -d "$gameDir" ]]; then + ui_msgbox "Linux Game Manager" "Linux Game Manager" "Christmas Dash is not installed." + return 1 +fi +if [[ ! -x "$gameExecutable" ]]; then + ui_msgbox "Linux Game Manager" "Linux Game Manager" "Unable to find ${gameExecutable}." + return 1 +fi +pushd "${gameDir}" +SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt \ +REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt \ +"${gameExecutable}" diff --git a/home/stormux/.local/.launch/linux-game-manager/Christmas Dash.sh b/home/stormux/.local/.launch/linux-game-manager/Christmas Dash.sh new file mode 120000 index 0000000..473fd00 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Christmas Dash.sh @@ -0,0 +1 @@ +Christmas Dash.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/Constant Motion.game b/home/stormux/.local/.launch/linux-game-manager/Constant Motion.game new file mode 100644 index 0000000..78acdae --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Constant Motion.game @@ -0,0 +1,4 @@ +check_architecture x86_64 +gameExecutable="${installPath}/Constant Motion/cm" +pushd "${installPath}/Constant Motion" +${fex}"${gameExecutable}" diff --git a/home/stormux/.local/.launch/linux-game-manager/Constant Motion.sh b/home/stormux/.local/.launch/linux-game-manager/Constant Motion.sh new file mode 120000 index 0000000..1bd0202 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Constant Motion.sh @@ -0,0 +1 @@ +Constant Motion.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/Critter Sanctuary.game b/home/stormux/.local/.launch/linux-game-manager/Critter Sanctuary.game new file mode 100644 index 0000000..f0e43f0 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Critter Sanctuary.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/critter-sanctuary/linux.x86_64" diff --git a/home/stormux/.local/.launch/linux-game-manager/Donate.sh b/home/stormux/.local/.launch/linux-game-manager/Donate.sh new file mode 100644 index 0000000..bd3c40b --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Donate.sh @@ -0,0 +1 @@ +open_url "https://ko-fi.com/stormux" diff --git a/home/stormux/.local/.launch/linux-game-manager/E.X.O..game b/home/stormux/.local/.launch/linux-game-manager/E.X.O..game new file mode 100644 index 0000000..a7f8cba --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/E.X.O..game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/E.X.O./EXO" diff --git a/home/stormux/.local/.launch/linux-game-manager/Echo Command.game b/home/stormux/.local/.launch/linux-game-manager/Echo Command.game new file mode 100644 index 0000000..edd2e7c --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Echo Command.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/Echo-Command/Echo_Command.x86_64" diff --git a/home/stormux/.local/.launch/linux-game-manager/Echo Commander.sh b/home/stormux/.local/.launch/linux-game-manager/Echo Commander.sh new file mode 100644 index 0000000..d09f757 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Echo Commander.sh @@ -0,0 +1 @@ +open_url "https://echo-commander.vercel.app/" diff --git a/home/stormux/.local/.launch/linux-game-manager/EmpireMUD.game b/home/stormux/.local/.launch/linux-game-manager/EmpireMUD.game new file mode 100644 index 0000000..c257e63 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/EmpireMUD.game @@ -0,0 +1,9 @@ +mudPath="${installPath}/tintin-empiremud/em.tin" +pushd "${mudPath%/*}" +git pull | \ +dialog --progressbox "Checking for updates, please wait..." -1 -1 +if [[ -n "${COLORTERM}" ]]; then + terminal_emulator "${mudPath%/*}" "tt++" "${mudPath##*/}" +else + tt++ ${mudPath##*/} +fi diff --git a/home/stormux/.local/.launch/linux-game-manager/End of Time.game b/home/stormux/.local/.launch/linux-game-manager/End of Time.game new file mode 100644 index 0000000..4e7ca31 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/End of Time.game @@ -0,0 +1,9 @@ +mudPath="${installPath}/tintin-endoftime/eot.tin" +pushd "${mudPath%/*}" +git pull | \ +dialog --progressbox "Checking for updates, please wait..." -1 -1 +if [[ -n "${COLORTERM}" ]]; then + terminal_emulator "${mudPath%/*}" "tt++" "${mudPath##*/}" +else + tt++ "${mudPath##*/}" +fi diff --git a/home/stormux/.local/.launch/linux-game-manager/End of Time.sh b/home/stormux/.local/.launch/linux-game-manager/End of Time.sh new file mode 120000 index 0000000..232c7b0 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/End of Time.sh @@ -0,0 +1 @@ +End of Time.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/Fantasy Story II.game b/home/stormux/.local/.launch/linux-game-manager/Fantasy Story II.game new file mode 100644 index 0000000..8dacf35 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Fantasy Story II.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/FS2_3.0_Linux/fs2.x86_64" "-ESpeakApplication=espeak-ng" diff --git a/home/stormux/.local/.launch/linux-game-manager/Fantasy Story II.sh b/home/stormux/.local/.launch/linux-game-manager/Fantasy Story II.sh new file mode 120000 index 0000000..6a49bc8 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Fantasy Story II.sh @@ -0,0 +1 @@ +Fantasy Story II.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/FreeDoom.game b/home/stormux/.local/.launch/linux-game-manager/FreeDoom.game new file mode 100755 index 0000000..4324353 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/FreeDoom.game @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +gamePath=~/.local/games/doom +check_dependencies python-pyside6:PySide6 python-setproctitle:setproctitle +pushd "${gamePath}" +if ! [[ -d "toby-doom-launcher" ]]; then + git clone https://git.stormux.org/storm/toby-doom-launcher.git +else + git -C "${gamePath}/toby-doom-launcher" pull +fi +"toby-doom-launcher/Toby Doom Launcher.py" diff --git a/home/stormux/.local/.launch/linux-game-manager/FreeDoom.sh b/home/stormux/.local/.launch/linux-game-manager/FreeDoom.sh new file mode 120000 index 0000000..26595fa --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/FreeDoom.sh @@ -0,0 +1 @@ +FreeDoom.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/Legends of Kallisti.game b/home/stormux/.local/.launch/linux-game-manager/Legends of Kallisti.game new file mode 100644 index 0000000..e79b729 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Legends of Kallisti.game @@ -0,0 +1,9 @@ +mudPath="${installPath}/tintin-kallisti-pack/kallisti.tin" +pushd "${mudPath%/*}" +git pull | \ +dialog --progressbox "Checking for updates, please wait..." -1 -1 +if [[ -n "${COLORTERM}" ]]; then + terminal_emulator "${mudPath%/*}" "tt++" "${mudPath##*/}" +else + tt++ ${mudPath##*/} +fi diff --git a/home/stormux/.local/.launch/linux-game-manager/Monkey Spank.game b/home/stormux/.local/.launch/linux-game-manager/Monkey Spank.game new file mode 100644 index 0000000..bfa6490 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Monkey Spank.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/monkeyspank/monkeyspank" diff --git a/home/stormux/.local/.launch/linux-game-manager/Numnastics.game b/home/stormux/.local/.launch/linux-game-manager/Numnastics.game new file mode 100644 index 0000000..f2bb13a --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Numnastics.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/numnastics/numnastics" diff --git a/home/stormux/.local/.launch/linux-game-manager/Onslaught.game b/home/stormux/.local/.launch/linux-game-manager/Onslaught.game new file mode 100644 index 0000000..f93cfca --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Onslaught.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/Onslaught/onslaught.AppImage" diff --git a/home/stormux/.local/.launch/linux-game-manager/Periphery Synthetic EP.game b/home/stormux/.local/.launch/linux-game-manager/Periphery Synthetic EP.game new file mode 100644 index 0000000..0e30257 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Periphery Synthetic EP.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/periphery-synthetic-ep/periphery-synthetic-ep" diff --git a/home/stormux/.local/.launch/linux-game-manager/Periphery Synthetic EP.sh b/home/stormux/.local/.launch/linux-game-manager/Periphery Synthetic EP.sh new file mode 120000 index 0000000..70d2740 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Periphery Synthetic EP.sh @@ -0,0 +1 @@ +Periphery Synthetic EP.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/Play Palace.game b/home/stormux/.local/.launch/linux-game-manager/Play Palace.game new file mode 100644 index 0000000..43bcee9 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Play Palace.game @@ -0,0 +1,18 @@ +check_dependencies uv + +# shellcheck disable=SC2154 # set by linux-game-manager.sh +gamePath="${installPath}/PlayPalace11/clients" +desktopPath="${gamePath}/desktop" +hostPythonDir="${desktopPath}/.host-python" + +if ! [[ -d "${desktopPath}" ]]; then + ui_msgbox "Linux Game Manager" "Linux Game Manager" "Play Palace is not installed at ${desktopPath}." + exit 1 +fi + +if [[ -d "${hostPythonDir}" ]]; then + export PYTHONPATH="${hostPythonDir}${PYTHONPATH:+:${PYTHONPATH}}" +fi + +pushd "${desktopPath}" || exit 1 +uv run python client.py diff --git a/home/stormux/.local/.launch/linux-game-manager/Play Palace.sh b/home/stormux/.local/.launch/linux-game-manager/Play Palace.sh new file mode 120000 index 0000000..e34cc0c --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Play Palace.sh @@ -0,0 +1 @@ +Play Palace.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/QuentinC Play Room.sh b/home/stormux/.local/.launch/linux-game-manager/QuentinC Play Room.sh new file mode 100644 index 0000000..a7fbb4e --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/QuentinC Play Room.sh @@ -0,0 +1 @@ +open_url "https://qcsalon.net/" diff --git a/home/stormux/.local/.launch/linux-game-manager/S.E.A..game b/home/stormux/.local/.launch/linux-game-manager/S.E.A..game new file mode 100644 index 0000000..0db62d0 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/S.E.A..game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/S.E.A./SEA" diff --git a/home/stormux/.local/.launch/linux-game-manager/Slay the Spire.game b/home/stormux/.local/.launch/linux-game-manager/Slay the Spire.game new file mode 100755 index 0000000..a914399 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Slay the Spire.game @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +menulist() { + # Args: menu options. + # returns: selected tag + local i + local menuList + for i in $@ ; do + menuList+=("$i" "$i") + done + dialog --backtitle "Select a Slay the Spire profile." \ + --clear \ + --no-tags \ + --menu "$(gettext "Please select one")" 0 0 0 "${menuList[@]}" --stdout + if [[ $? -ne 1 ]]; then + exit 0 + fi +} + +# Create a list of profiles +profiles=($(jq -r '.lists | keys[]' "${HOME}/.config/ModTheSpire/mod_lists.json")) + +if [[ "${#profiles[@]}" -ne 1 ]]; then + currentProfile="$(menulist "${profiles[@]}")" +else + currentProfile="Default" +fi + +pushd "${HOME}/.local/games/SlayTheSpire" +./MTS.sh --profile "$currentProfile" +popd + +exit 0 diff --git a/home/stormux/.local/.launch/linux-game-manager/Slay the Spire.sh b/home/stormux/.local/.launch/linux-game-manager/Slay the Spire.sh new file mode 120000 index 0000000..9e64f3a --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Slay the Spire.sh @@ -0,0 +1 @@ +Slay the Spire.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/Slay the Text.game b/home/stormux/.local/.launch/linux-game-manager/Slay the Text.game new file mode 100644 index 0000000..78622ef --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Slay the Text.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/slaythetext/main.py" diff --git a/home/stormux/.local/.launch/linux-game-manager/Soulblaze.game b/home/stormux/.local/.launch/linux-game-manager/Soulblaze.game new file mode 100644 index 0000000..d43f4ac --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Soulblaze.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/Soulblaze/Soulblaze.x86_64" diff --git a/home/stormux/.local/.launch/linux-game-manager/Soulblaze.sh b/home/stormux/.local/.launch/linux-game-manager/Soulblaze.sh new file mode 120000 index 0000000..f669ef8 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Soulblaze.sh @@ -0,0 +1 @@ +Soulblaze.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/SoundRTS.game b/home/stormux/.local/.launch/linux-game-manager/SoundRTS.game new file mode 100644 index 0000000..e69de29 diff --git a/home/stormux/.local/.launch/linux-game-manager/SoundRTS.sh b/home/stormux/.local/.launch/linux-game-manager/SoundRTS.sh new file mode 120000 index 0000000..e1be83d --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/SoundRTS.sh @@ -0,0 +1 @@ +SoundRTS.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/Stardew Valley.game b/home/stormux/.local/.launch/linux-game-manager/Stardew Valley.game new file mode 100644 index 0000000..d812165 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Stardew Valley.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/StardewValley/StardewValley" diff --git a/home/stormux/.local/.launch/linux-game-manager/Stardew Valley.sh b/home/stormux/.local/.launch/linux-game-manager/Stardew Valley.sh new file mode 120000 index 0000000..14613cc --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Stardew Valley.sh @@ -0,0 +1 @@ +Stardew Valley.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/StickMUD.game b/home/stormux/.local/.launch/linux-game-manager/StickMUD.game new file mode 100644 index 0000000..daa7e3e --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/StickMUD.game @@ -0,0 +1,10 @@ +pushd "${installPath}" +mudPath="${installPath}/tintin-stickmud/stickmud.tin" +pushd "${mudPath%/*}" +git pull | \ +dialog --progressbox "Checking for updates, please wait..." -1 -1 +if [[ -n "${COLORTERM}" ]]; then + terminal_emulator "${mudPath%/*}" "tt++" "${mudPath##*/}" +else + tt++ ${mudPath##*/} +fi diff --git a/home/stormux/.local/.launch/linux-game-manager/Super Liam.game b/home/stormux/.local/.launch/linux-game-manager/Super Liam.game new file mode 100644 index 0000000..8a1923c --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Super Liam.game @@ -0,0 +1,4 @@ +check_architecture x86_64 +gamePath="${installPath}/Super Liam" +pushd "${gamePath}" +${fex}./SuperLiam diff --git a/home/stormux/.local/.launch/linux-game-manager/Super Liam.sh b/home/stormux/.local/.launch/linux-game-manager/Super Liam.sh new file mode 120000 index 0000000..03c2420 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Super Liam.sh @@ -0,0 +1 @@ +Super Liam.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/System Fault.game b/home/stormux/.local/.launch/linux-game-manager/System Fault.game new file mode 100644 index 0000000..a1d745a --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/System Fault.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/System_Fault/system-fault-linux-x86_64.AppImage" diff --git a/home/stormux/.local/.launch/linux-game-manager/System Fault.sh b/home/stormux/.local/.launch/linux-game-manager/System Fault.sh new file mode 120000 index 0000000..ee3d7c3 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/System Fault.sh @@ -0,0 +1 @@ +System Fault.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/The Great Toy Robbery.game b/home/stormux/.local/.launch/linux-game-manager/The Great Toy Robbery.game new file mode 100644 index 0000000..37fa955 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/The Great Toy Robbery.game @@ -0,0 +1,4 @@ +check_architecture x86_64 +gamePath="${installPath}/The Great Toy Robbery" +pushd "${gamePath}" +${fex}./tgtr diff --git a/home/stormux/.local/.launch/linux-game-manager/The Great Toy Robbery.sh b/home/stormux/.local/.launch/linux-game-manager/The Great Toy Robbery.sh new file mode 120000 index 0000000..a72c0b5 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/The Great Toy Robbery.sh @@ -0,0 +1 @@ +The Great Toy Robbery.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/The Omega Reach.game b/home/stormux/.local/.launch/linux-game-manager/The Omega Reach.game new file mode 100644 index 0000000..fbe2037 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/The Omega Reach.game @@ -0,0 +1,4 @@ +# shellcheck shell=bash disable=SC2154 # installPath is set by linux-game-manager.sh +gamePath="${installPath}/Omega Reach" +pushd "${gamePath}" || return 1 +"${gamePath}/the-omega-reach" diff --git a/home/stormux/.local/.launch/linux-game-manager/The Omega Reach.sh b/home/stormux/.local/.launch/linux-game-manager/The Omega Reach.sh new file mode 120000 index 0000000..9ed53b7 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/The Omega Reach.sh @@ -0,0 +1 @@ +The Omega Reach.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/The Tornado Chicken.game b/home/stormux/.local/.launch/linux-game-manager/The Tornado Chicken.game new file mode 100644 index 0000000..7acbb5b --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/The Tornado Chicken.game @@ -0,0 +1,3 @@ +check_architecture x86_64 +pushd "${installPath}/The Tornado Chicken" +${fex}./Ttc diff --git a/home/stormux/.local/.launch/linux-game-manager/The Tornado Chicken.sh b/home/stormux/.local/.launch/linux-game-manager/The Tornado Chicken.sh new file mode 120000 index 0000000..e2d2668 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/The Tornado Chicken.sh @@ -0,0 +1 @@ +The Tornado Chicken.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/Top Speed.game b/home/stormux/.local/.launch/linux-game-manager/Top Speed.game new file mode 100644 index 0000000..0164d09 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Top Speed.game @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# shellcheck disable=SC2154 # set by linux-game-manager.sh +gameExecutable="${installPath}/TopSpeed/TopSpeed" +gameDir="${gameExecutable%/*}" +if [[ ! -d "$gameDir" ]]; then + ui_msgbox "Linux Game Manager" "Linux Game Manager" "Top Speed is not installed." + return 1 +fi +if [[ ! -x "$gameExecutable" ]]; then + ui_msgbox "Linux Game Manager" "Linux Game Manager" "Unable to find ${gameExecutable}." + return 1 +fi +pushd "${gameDir}" || return 1 +"${gameExecutable}" diff --git a/home/stormux/.local/.launch/linux-game-manager/Top Speed.sh b/home/stormux/.local/.launch/linux-game-manager/Top Speed.sh new file mode 120000 index 0000000..8139005 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Top Speed.sh @@ -0,0 +1 @@ +Top Speed.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/Trigaea.sh b/home/stormux/.local/.launch/linux-game-manager/Trigaea.sh new file mode 100644 index 0000000..95fd31f --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Trigaea.sh @@ -0,0 +1 @@ +open_url "https://ryngm.itch.io/trigaea" diff --git a/home/stormux/.local/.launch/linux-game-manager/Upheaval Commandline.game b/home/stormux/.local/.launch/linux-game-manager/Upheaval Commandline.game new file mode 100644 index 0000000..9980648 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Upheaval Commandline.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/Upheaval_Commandline/Upheaval_Command_Line" diff --git a/home/stormux/.local/.launch/linux-game-manager/Upheaval Gui.game b/home/stormux/.local/.launch/linux-game-manager/Upheaval Gui.game new file mode 100644 index 0000000..39f030b --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Upheaval Gui.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/Upheaval_Gui/Upheaval" diff --git a/home/stormux/.local/.launch/linux-game-manager/Upheaval.sh b/home/stormux/.local/.launch/linux-game-manager/Upheaval.sh new file mode 120000 index 0000000..595ffb1 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Upheaval.sh @@ -0,0 +1 @@ +Upheaval.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/Wheels of Prio.game b/home/stormux/.local/.launch/linux-game-manager/Wheels of Prio.game new file mode 100644 index 0000000..b7b9e58 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Wheels of Prio.game @@ -0,0 +1,3 @@ +check_architecture x86_64 +pushd "${installPath}/Wheels of Prio" +${fex}./Wp diff --git a/home/stormux/.local/.launch/linux-game-manager/Wheels of Prio.sh b/home/stormux/.local/.launch/linux-game-manager/Wheels of Prio.sh new file mode 120000 index 0000000..4102d2b --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Wheels of Prio.sh @@ -0,0 +1 @@ +Wheels of Prio.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/Wicked Quest.game b/home/stormux/.local/.launch/linux-game-manager/Wicked Quest.game new file mode 100644 index 0000000..a146c1e --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Wicked Quest.game @@ -0,0 +1,7 @@ +local arch=$(uname -m) +if [[ "$arch" == "aarch64" ]]; then + pushd "${installPath}/wicked_quest-linux-aarch64" +else + pushd "${installPath}/wicked_quest-linux-x86_64" +fi +./wicked_quest diff --git a/home/stormux/.local/.launch/linux-game-manager/Wicked Quest.sh b/home/stormux/.local/.launch/linux-game-manager/Wicked Quest.sh new file mode 120000 index 0000000..ba3e917 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Wicked Quest.sh @@ -0,0 +1 @@ +Wicked Quest.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/Wurmus.game b/home/stormux/.local/.launch/linux-game-manager/Wurmus.game new file mode 100644 index 0000000..7a20377 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Wurmus.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/Wurmus/Wurmus" diff --git a/home/stormux/.local/.launch/linux-game-manager/Zombowl.game b/home/stormux/.local/.launch/linux-game-manager/Zombowl.game new file mode 100644 index 0000000..fc7de8a --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Zombowl.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/${pkgname%.*}/Zombowl" diff --git a/home/stormux/.local/.launch/linux-game-manager/Zombowl.sh b/home/stormux/.local/.launch/linux-game-manager/Zombowl.sh new file mode 120000 index 0000000..166ea3b --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/Zombowl.sh @@ -0,0 +1 @@ +Zombowl.game \ No newline at end of file diff --git a/home/stormux/.local/.launch/linux-game-manager/soundStrider.game b/home/stormux/.local/.launch/linux-game-manager/soundStrider.game new file mode 100644 index 0000000..ed26329 --- /dev/null +++ b/home/stormux/.local/.launch/linux-game-manager/soundStrider.game @@ -0,0 +1,2 @@ +pushd "${installPath}" +"${installPath}/soundStrider/soundStrider" diff --git a/usr/local/bin/apple_2e.py b/home/stormux/.local/bin/apple_2e.py similarity index 100% rename from usr/local/bin/apple_2e.py rename to home/stormux/.local/bin/apple_2e.py diff --git a/usr/local/bin/audio_manager.py b/home/stormux/.local/bin/audio_manager.py similarity index 100% rename from usr/local/bin/audio_manager.py rename to home/stormux/.local/bin/audio_manager.py diff --git a/usr/local/bin/battery_monitor.py b/home/stormux/.local/bin/battery_monitor.py similarity index 100% rename from usr/local/bin/battery_monitor.py rename to home/stormux/.local/bin/battery_monitor.py diff --git a/usr/local/bin/convert-to-video.sh b/home/stormux/.local/bin/convert-to-video.sh similarity index 100% rename from usr/local/bin/convert-to-video.sh rename to home/stormux/.local/bin/convert-to-video.sh diff --git a/usr/local/bin/diagnostics.sh b/home/stormux/.local/bin/diagnostics.sh similarity index 100% rename from usr/local/bin/diagnostics.sh rename to home/stormux/.local/bin/diagnostics.sh diff --git a/usr/local/bin/game_launcher.py b/home/stormux/.local/bin/game_launcher.py similarity index 84% rename from usr/local/bin/game_launcher.py rename to home/stormux/.local/bin/game_launcher.py index a6e3e13..ca7bfff 100755 --- a/usr/local/bin/game_launcher.py +++ b/home/stormux/.local/bin/game_launcher.py @@ -17,6 +17,61 @@ import pathlib import re import simpleaudio as sa import json +import shlex +from dataclasses import dataclass +from pathlib import Path + + +@dataclass(frozen=True) +class GameEntry: + section: str + name: str + installScript: Path + launchScript: Path | None = None + + @property + def isInstalled(self): + return self.launchScript is not None + + @property + def defaultAction(self): + return "Play" if self.isInstalled else "Install" + + +def find_launch_script(launchRoot, section, gameName): + sectionRoot = Path(launchRoot) / section + for suffix in (".sh", ".game"): + candidate = sectionRoot / f"{gameName}{suffix}" + if candidate.exists(): + if suffix == ".sh": + return candidate + break + return None + + +def discover_game_entries(installRoot=None, launchRoot=None): + installRoot = Path(installRoot or Path.home() / ".local" / ".install") + launchRoot = Path(launchRoot or Path.home() / ".local" / ".launch") + entries = [] + + if not installRoot.is_dir(): + return entries + + for sectionRoot in sorted(path for path in installRoot.iterdir() if path.is_dir()): + section = sectionRoot.name + for installScript in sorted(sectionRoot.glob("*.sh")): + gameName = installScript.stem + launchScript = find_launch_script(launchRoot, section, gameName) + entries.append(GameEntry(section, gameName, installScript, launchScript)) + + return entries + + +def build_game_command(entry): + if entry.launchScript is not None: + launchPath = str(entry.launchScript) + return f"STORMUX_LAUNCH_SCRIPT={launchPath!r} startx" + return shlex.quote(str(entry.installScript)) class VoicedMenu: def __init__(self, title="Stormux Game Menu"): @@ -312,14 +367,8 @@ class VoicedMenu: self.speechClient.close() self.speechClient = None - # Execute the appropriate command based on current status - action = "" - if serviceName not in ["fenrirscreenreader-tty.service", "minidlna.service"]: - action = "disable" if isActive else "enable" - else: - action = "stop" if isActive else "start" - - command = f"sudo systemctl {action} {serviceName} --now" + action = "disable" if isActive else "enable" + command = f"sudo /home/stormux/.local/bin/stormux_service_state.sh {action} {serviceName}" try: os.system(command) @@ -1057,123 +1106,13 @@ if __name__ == "__main__": # Create the menu with sections menu = VoicedMenu(title="Stormux Gaming Menu") - # Add arcade section - menu.add_section("Arcade") - menu.add_item("Arcade", "Audio Disc", "GAME='Audio Disc' startx") - menu.add_item("Arcade", "BallBouncer", "GAME=BallBouncer startx") - menu.add_item("Arcade", "Battle of the Hunter", "GAME='Battle of the Hunter' startx") - menu.add_item("Arcade", "Challenge of the Horse", "GAME='Challenge of the Horse' startx") - menu.add_item("Arcade", "Clashes of the Sky", "GAME='Clashes of the Sky' startx") - menu.add_item("Arcade", "Constant Motion", "GAME='Constant Motion' startx") - menu.add_item("Arcade", "Crazy Party", "GAME='Crazy Party' startx") - menu.add_item("Arcade", "Doom", "GAME=Doom startx") - menu.add_item("Arcade", "Haunted House", "GAME='Haunted House' startx") - menu.add_item("Arcade", "Haunted Party", "GAME='Haunted Party' startx") - menu.add_item("Arcade", "kaskade", "GAME=Kaskade startx") - - # Add Kitchen's Sink only on x86_64 (alphabetically positioned) - if platform.machine() == "x86_64": - menu.add_item("Arcade", "Kitchensinc", "GAME=Kitchensinc startx") - - menu.add_item("Arcade", "Oh Shitt", "GAME='Oh Shit' startx") - menu.add_item("Arcade", "Q9 Action Game", "GAME='Q9 Action Game' startx") - menu.add_item("Arcade", "River Raiders", "GAME='River Raiders' startx") - menu.add_item("Arcade", "Scramble", "GAME=Scramble startx") - menu.add_item("Arcade", "Screaming Strike 2", "GAME='Screaming Strike 2' startx") - menu.add_item("Arcade", "Scrolling Battles", "GAME='Scrolling Battles' startx") - menu.add_item("Arcade", "Shooter", "GAME=Shooter startx") - menu.add_item("Arcade", "Side Party", "GAME='Side Party' startx") - menu.add_item("Arcade", "Skateboarder Pro", "GAME='Skateboarder Pro' startx") - menu.add_item("Arcade", "Sketchbook (Your World)", "GAME='Sketchbook (Your World)' startx") - menu.add_item("Arcade", "Super Egg Hunt", "GAME='Super Egg Hunt' startx") - menu.add_item("Arcade", "Super Liam", "GAME='Super Liam' startx") - - # Add Swamp only on x86_64 (alphabetically positioned) - if platform.machine() == "x86_64": - menu.add_item("Arcade", "Swamp", "GAME='Swamp' startx") - menu.add_item("Arcade", "The Blind Swordsman", "GAME='The Blind Swordsman' startx") - menu.add_item("Arcade", "The Great Toy Robbery", "GAME='The Great Toy Robbery' startx") - menu.add_item("Arcade", "The Tornado Chicken", "GAME='The Tornado Chicken' startx") - menu.add_item("Arcade", "Toy Mania", "GAME='Toy Mania' startx") - menu.add_item("Arcade", "Villains From Beyond", "GAME='Villains From Beyond' startx") - menu.add_item("Arcade", "Wicked Quest", "GAME='Wicked Quest' startx") - menu.add_item("Arcade", "Wreckingball", "GAME='Wreckingball' startx") - menu.add_item("Arcade", "Wreckingball (Pulped)", "GAME='Wreckingball (Pulped)' startx") - menu.add_item("Arcade", "Zombowl", "GAME='Zombowl' startx") + for gameEntry in discover_game_entries(): + label = gameEntry.name if gameEntry.isInstalled else f"{gameEntry.name} (install)" + menu.add_item(gameEntry.section, label, build_game_command(gameEntry)) - # Add board and card games section - menu.add_section("Board and Card Games") - menu.add_item("Board and Card Games", "RS Games", "GAME='RS Games' startx") - - # Add emulators section menu.add_section("Emulators") - menu.add_item("Emulators", "Apple 2e", "/usr/local/bin/apple_2e.py") - menu.add_item("Emulators", "Bop It", "GAME='Bop It' startx") - menu.add_item("Emulators", "Dosbox", "GAME=Dosbox startx") - menu.add_item("Emulators", "Game Console Menu", "/usr/local/bin/rom_launcher.py") - menu.add_item("Emulators", "Retro Arch", "GAME='Retro Arch' startx") - - # Add Steam only on x86_64 - if platform.machine() == "x86_64": - menu.add_item("Emulators", "Steam", "GAME='Steam' startx") - - # Add MUD section - menu.add_section("MUDs") - menu.add_item("MUDs", "Alter Aeon", "GAME='Alter Aeon' /home/stormux/.clirc") - menu.add_item("MUDs", "Empire MUD", "GAME='Empire MUD' /home/stormux/.clirc") - menu.add_item("MUDs", "End of Time", "GAME='End of Time' /home/stormux/.clirc") - menu.add_item("MUDs", "Kallisti MUD", "GAME='Kallisti MUD' /home/stormux/.clirc") - - # Add racing section - menu.add_section("Racing") - menu.add_item("Racing", "Mach1", "GAME=Mach1 startx") - menu.add_item("Racing", "Mine Racer", "GAME='Mine Racer' startx") - menu.add_item("Racing", "Top Speed 3", "GAME=\"Top Speed 3\" startx") - menu.add_item("Racing", "Wheels of Prio", "GAME=\"Wheels of Prio\" startx") - - # Add rpg section - menu.add_section("RPG") - menu.add_item("RPG", "Bokurano Daibouken", "GAME='Bokurano Daibouken' startx") - menu.add_item("RPG", "Bokurano Daibouken 2", "GAME='Bokurano Daibouken 2' startx") - menu.add_item("RPG", "Bokurano Daibouken 3", "GAME='Bokurano Daibouken 3' startx") - menu.add_item("RPG", "Fantasy Story 2", "GAME='Fantasy Story 2' startx") - menu.add_item("RPG", "Manamon 2", "GAME='Manamon 2' startx") - menu.add_item("RPG", "Shadow Line", "GAME='Shadow Line' startx") - - # Add sports section - menu.add_section("Sports") - menu.add_item("Sports", "Golf", "GAME=Golf startx") - menu.add_item("Sports", "Horseshoes", "GAME=Horseshoes startx") - menu.add_item("Sports", "Pong", "GAME=Pong startx") - - # Add strategy section - menu.add_section("Strategy") - menu.add_item("Strategy", "SoundRTS", "GAME=SoundRTS startx") - menu.add_item("Strategy", "Warsim", "/home/stormux/.Warsim") - - # Add text games section - menu.add_section("Text Games") - menu.add_item("Text Games", "BPG", "GAME=BPG /home/stormux/.clirc") - menu.add_item("Text Games", "Colossal Cave Adventure", "GAME=/usr/bin/adventure /home/stormux/.clirc") - menu.add_item("Text Games", "Go Fish", "GAME=/usr/bin/gofish /home/stormux/.clirc") - menu.add_item("Text Games", "RS Games", "GAME=\"RS Games\" /home/stormux/.clirc") - menu.add_item("Text Games", "Slay the Text", "GAME=\"Slay the Text\" /home/stormux/.clirc") - menu.add_item("Text Games", "Stationfall", "GAME=Stationfall /home/stormux/.clirc") - menu.add_item("Text Games", "Planetfall", "GAME=Planetfall /home/stormux/.clirc") - menu.add_item("Text Games", "The Hitchhiker's Guide to the Galaxy", "GAME=\"The Hitchhiker's Guide to the Galaxy\" /home/stormux/.clirc") - menu.add_item("Text Games", "Upheaval", "GAME=Upheaval /home/stormux/.Upheaval") - menu.add_item("Text Games", "Zork 1", "GAME='Zork 1' /home/stormux/.clirc") - menu.add_item("Text Games", "Zork 2", "GAME='Zork 2' /home/stormux/.clirc") - menu.add_item("Text Games", "Zork 3", "GAME='Zork 3' /home/stormux/.clirc") - - # Add web section - menu.add_section("Web") - menu.add_item("Web", "Aliens", "GAME=https://files.jantrid.net/aliens// startx") - menu.add_item("Web", "Echo Commander", "GAME=https://echo-commander.vercel.app/ startx") - menu.add_item("Web", "Periphery Synthetic EP", "GAME=https://shiftbacktick.itch.io/periphery-synthetic-ep startx") - menu.add_item("Web", "Pontoon", "GAME='https://oneswitch.org.uk/jsbeeb/?autotype=CHAIN%22PONTOON%22%0A&disc=/Blind_Access/Pontoon_1983_2025.dsd' startx") - menu.add_item("Web", "QuentinC Play Room", "GAME=https://qcsalon.net/ startx") - menu.add_item("Web", "soundStrider", "GAME=https://shiftbacktick.itch.io/soundstrider startx") + menu.add_item("Emulators", "Apple 2e", "/home/stormux/.local/bin/apple_2e.py") + menu.add_item("Emulators", "Game Console Menu", "/home/stormux/.local/bin/rom_launcher.py") # Add help and documentation section menu.add_section("Help and Documentation") @@ -1184,15 +1123,15 @@ if __name__ == "__main__": # Add media section menu.add_section("Media") - menu.add_item("Media", "Music Player", "/usr/local/bin/music_player.py") + menu.add_item("Media", "Music Player", "/home/stormux/.local/bin/music_player.py") menu.add_item("Media", "BookStorm", "GAME=BookStorm startx") menu.add_item("Media", "Upload Files", "/home/stormux/.local/upload_server/uploader.py") # Add accessories section menu.add_section("Accessories") - menu.add_item("Accessories", "Local IP Address", "/usr/local/bin/ip_info.py local") - menu.add_item("Accessories", "Remote IP Address", "/usr/local/bin/ip_info.py remote") - menu.add_item("Accessories", "Sound and Volume", "/usr/local/bin/audio_manager.py") + menu.add_item("Accessories", "Local IP Address", "/home/stormux/.local/bin/ip_info.py local") + menu.add_item("Accessories", "Remote IP Address", "/home/stormux/.local/bin/ip_info.py remote") + menu.add_item("Accessories", "Sound and Volume", "/home/stormux/.local/bin/audio_manager.py") menu.add_item("Accessories", "Web Browser", "GAME=Brave startx") menu.add_item("Accessories", "LibreOffice", lambda: menu.install_and_launch("libreoffice", "gui")) menu.add_item("Accessories", "Thunderbird", lambda: menu.install_and_launch("thunderbird", "gui")) @@ -1207,11 +1146,11 @@ if __name__ == "__main__": menu.add_item("System", "Internet Configuration", "GAME=\"Network Configuration\" /home/stormux/.clirc") menu.add_item("System", "Enable Screen", lambda: menu.toggle_screen("screen")) menu.add_item("System", "Disable Screen", lambda: menu.toggle_screen("headless")) - menu.add_item("System", "Set System Speech Settings", "/usr/local/bin/speechd_rate.py") - menu.add_item("System", "Set Default Voice", "/usr/local/bin/set-voice.py") + menu.add_item("System", "Set System Speech Settings", "/home/stormux/.local/bin/speechd_rate.py") + menu.add_item("System", "Set Default Voice", "/home/stormux/.local/bin/set-voice.py") menu.add_item("System", "Set Timezone", "GAME='Set Timezone' /home/stormux/.clirc") menu.add_item("System", "Download Files", "/home/stormux/.local/download_server.py") - menu.add_item("System", "Update System", "sudo /usr/local/bin/live-update.sh") + menu.add_item("System", "Update System", "sudo /home/stormux/.local/bin/live-update.sh") menu.add_item("System", "Restart: Can Take Several Minutes", "sudo reboot") menu.add_item("System", "Power Off: Wait 2 Minutes Before Disconnecting Power", "sudo poweroff") # Service menu items will be added dynamically in run() method via update_service_menu_items() diff --git a/usr/local/bin/install_to_disk.sh b/home/stormux/.local/bin/install_to_disk.sh similarity index 100% rename from usr/local/bin/install_to_disk.sh rename to home/stormux/.local/bin/install_to_disk.sh diff --git a/usr/local/bin/ip_info.py b/home/stormux/.local/bin/ip_info.py similarity index 100% rename from usr/local/bin/ip_info.py rename to home/stormux/.local/bin/ip_info.py diff --git a/usr/local/bin/keymode.py b/home/stormux/.local/bin/keymode.py similarity index 100% rename from usr/local/bin/keymode.py rename to home/stormux/.local/bin/keymode.py diff --git a/usr/local/bin/live-update.sh b/home/stormux/.local/bin/live-update.sh similarity index 100% rename from usr/local/bin/live-update.sh rename to home/stormux/.local/bin/live-update.sh diff --git a/usr/local/bin/music_player.py b/home/stormux/.local/bin/music_player.py similarity index 100% rename from usr/local/bin/music_player.py rename to home/stormux/.local/bin/music_player.py diff --git a/usr/local/bin/ocr.py b/home/stormux/.local/bin/ocr.py similarity index 100% rename from usr/local/bin/ocr.py rename to home/stormux/.local/bin/ocr.py diff --git a/usr/local/bin/record.sh b/home/stormux/.local/bin/record.sh similarity index 100% rename from usr/local/bin/record.sh rename to home/stormux/.local/bin/record.sh diff --git a/usr/local/bin/rom_launcher.py b/home/stormux/.local/bin/rom_launcher.py similarity index 100% rename from usr/local/bin/rom_launcher.py rename to home/stormux/.local/bin/rom_launcher.py diff --git a/usr/local/bin/select_audio_convert.sh b/home/stormux/.local/bin/select_audio_convert.sh similarity index 97% rename from usr/local/bin/select_audio_convert.sh rename to home/stormux/.local/bin/select_audio_convert.sh index 30a658e..c691e22 100755 --- a/usr/local/bin/select_audio_convert.sh +++ b/home/stormux/.local/bin/select_audio_convert.sh @@ -4,7 +4,7 @@ # Accessibility notes: Uses yad with titles, text labels, and standard GTK keyboard navigation. AUDIO_DIR="$HOME/Audio" -CONVERTER="/usr/local/bin/convert-to-video.sh" +CONVERTER="/home/stormux/.local/bin/convert-to-video.sh" # Check if Audio directory exists if [[ ! -d "$AUDIO_DIR" ]]; then diff --git a/usr/local/bin/set-timezone.sh b/home/stormux/.local/bin/set-timezone.sh similarity index 100% rename from usr/local/bin/set-timezone.sh rename to home/stormux/.local/bin/set-timezone.sh diff --git a/usr/local/bin/set-voice.py b/home/stormux/.local/bin/set-voice.py similarity index 100% rename from usr/local/bin/set-voice.py rename to home/stormux/.local/bin/set-voice.py diff --git a/usr/local/bin/speechd_rate.py b/home/stormux/.local/bin/speechd_rate.py similarity index 100% rename from usr/local/bin/speechd_rate.py rename to home/stormux/.local/bin/speechd_rate.py diff --git a/usr/local/bin/stormux_install_helper.sh b/home/stormux/.local/bin/stormux_install_helper.sh similarity index 100% rename from usr/local/bin/stormux_install_helper.sh rename to home/stormux/.local/bin/stormux_install_helper.sh diff --git a/home/stormux/.local/bin/stormux_launch_helpers.sh b/home/stormux/.local/bin/stormux_launch_helpers.sh new file mode 100755 index 0000000..8a3353d --- /dev/null +++ b/home/stormux/.local/bin/stormux_launch_helpers.sh @@ -0,0 +1,140 @@ +#!/usr/bin/env bash + +export installPath="${installPath:-${HOME}/.local/games}" + +start_screen_reader() { + cthulhu & +} + +fex_load() { + local gameDir="$1" + local exeName="$2" + + export SPD_SOCKET=/run/user/1000/speech-dispatcher/speechd.sock + pushd "${installPath}/${gameDir}" > /dev/null || return 1 + if [[ "$(uname -m)" != "x86_64" ]]; then + FEX_NO_SANDBOX=1 MESA_GL_VERSION_OVERRIDE=3.2 BOX64_DYNAREC_STRONGMEM=1 DISPLAY=:0 FEXLoader "./${exeName}" + else + MESA_GL_VERSION_OVERRIDE=3.2 DISPLAY=:0 "./${exeName}" + fi + popd > /dev/null || return 1 +} + +run_wine() { + local gameDir="$1" + local exeName="$2" + local needNvda="${3:-}" + + pushd "${installPath}/${gameDir}" > /dev/null || return 1 + if [[ -n "$needNvda" ]]; then + systemctl --user start "${needNvda}.service" + fi + + if [[ "$(uname -m)" != "x86_64" ]]; then + FEXBash -c "wine \"${exeName}\"" + else + wine "$exeName" + fi + + if [[ -n "$needNvda" ]]; then + systemctl --user stop "${needNvda}.service" + fi + popd > /dev/null || return 1 +} + +run_native() { + local gameDir="$1" + local exeName="$2" + + pushd "${installPath}/${gameDir}" > /dev/null || return 1 + case "${exeName##*.}" in + py) python3 "$exeName" ;; + *) "./${exeName}" ;; + esac + popd > /dev/null || return 1 +} + +run_web() { + start_screen_reader + exec brave "$1" +} + +run_mame_apple2e() { + local diskPath="$1" + + xbindkeys + exec mame apple2ee \ + -sl1 echoii \ + -flop1 "${HOME}/.local/games/apple2e/Echo II - Textalker DOS 3.3.dsk" \ + ${diskPath:+-flop2 "$diskPath"} \ + -samplerate 48000 \ + -sound pulse +} + +run_rom() { + local romPath="$1" + + exec mednafen -sounddriver sdl -sound 1 "$romPath" +} + +find_launch_script() { + local gameName="$1" + local launchRoot="${HOME}/.local/.launch" + local scriptPath + + while IFS= read -r -d '' scriptPath; do + printf '%s\n' "$scriptPath" + return 0 + done < <( + find "$launchRoot" -type f \( -name "${gameName}.sh" -o -name "${gameName}.game" \) -print0 2> /dev/null | sort -z + ) + + return 1 +} + +dispatch_launch_request() { + local launchScript="${STORMUX_LAUNCH_SCRIPT:-}" + + if [[ -z "$launchScript" && -n "${GAME:-}" ]]; then + launchScript="$(find_launch_script "$GAME" || true)" + fi + + if [[ -n "$launchScript" ]]; then + if [[ ! -f "$launchScript" ]]; then + printf 'Launch script not found: %s\n' "$launchScript" >&2 + return 1 + fi + # shellcheck source=/dev/null + source "$launchScript" + return $? + fi + + case "${GAME:-}" in + "") + printf 'No game specified.\n' >&2 + return 1 + ;; + "Brave") + run_web "" + ;; + "BookStorm") + exec /usr/bin/bookstorm + ;; + "DISK_ONLY:"*) + run_mame_apple2e "${GAME#DISK_ONLY:}" + ;; + *".dsk") + run_mame_apple2e "$GAME" + ;; + *"/Roms/"*) + run_rom "$GAME" + ;; + "https://"*|"http://"*) + run_web "$GAME" + ;; + *) + printf 'No launch script found for %s\n' "$GAME" >&2 + return 1 + ;; + esac +} diff --git a/home/stormux/.local/bin/stormux_service_state.sh b/home/stormux/.local/bin/stormux_service_state.sh new file mode 100755 index 0000000..4af6b85 --- /dev/null +++ b/home/stormux/.local/bin/stormux_service_state.sh @@ -0,0 +1,97 @@ +#!/usr/bin/env bash + +set -euo pipefail + +serviceDir="${STORMUX_SERVICE_DIR:-/home/stormux/.local/.services}" +systemctlCommand="${STORMUX_SYSTEMCTL:-systemctl}" +managedUnits=( + brltty.path + minidlna.service + fenrirscreenreader-tty.service + bluetooth.service + sshd.service + battery-monitor.service +) + +usage() { + printf 'Usage: %s enable|disable|apply [unit]\n' "${0##*/}" >&2 +} + +die() { + printf '%s\n' "$1" >&2 + exit 1 +} + +validate_unit_name() { + local unitName="$1" + + [[ "$unitName" =~ ^[A-Za-z0-9_.@-]+\.(service|socket|timer|path)$ ]] || die "Invalid unit name: ${unitName}" +} + +is_marked() { + local unitName="$1" + + [[ -e "${serviceDir}/${unitName}" ]] +} + +enable_unit() { + local unitName="$1" + + validate_unit_name "$unitName" + mkdir -p "$serviceDir" + "$systemctlCommand" start "$unitName" + touch "${serviceDir}/${unitName}" +} + +disable_unit() { + local unitName="$1" + + validate_unit_name "$unitName" + "$systemctlCommand" stop "$unitName" || true + rm -f "${serviceDir}/${unitName}" +} + +apply_state() { + local unitPath + local unitName + local managedUnit + + mkdir -p "$serviceDir" + shopt -s nullglob + for unitPath in "${serviceDir}"/*.{service,socket,timer,path}; do + unitName="${unitPath##*/}" + validate_unit_name "$unitName" + "$systemctlCommand" start "$unitName" || true + done + + for managedUnit in "${managedUnits[@]}"; do + if ! is_marked "$managedUnit"; then + "$systemctlCommand" stop "$managedUnit" || true + fi + done +} + +main() { + local action="${1:-}" + local unitName="${2:-}" + + case "$action" in + enable) + [[ -n "$unitName" ]] || { usage; exit 2; } + enable_unit "$unitName" + ;; + disable) + [[ -n "$unitName" ]] || { usage; exit 2; } + disable_unit "$unitName" + ;; + apply) + apply_state + ;; + *) + usage + exit 2 + ;; + esac +} + +main "$@" diff --git a/usr/local/bin/sync_time.sh b/home/stormux/.local/bin/sync_time.sh similarity index 100% rename from usr/local/bin/sync_time.sh rename to home/stormux/.local/bin/sync_time.sh diff --git a/home/stormux/.xbindkeysrc b/home/stormux/.xbindkeysrc index 9302866..2b6d90c 100644 --- a/home/stormux/.xbindkeysrc +++ b/home/stormux/.xbindkeysrc @@ -7,11 +7,11 @@ "pgrep -c barnard &> /dev/null && echo 'talk' | sudo -u stormux tee /home/stormux/.config/barnard/cmd &> /dev/null" Super_R -"/usr/local/bin/ocr.py" +"/home/stormux/.local/bin/ocr.py" Alt + F5 "spd-say -C" Shift + Alt + F5 -"/usr/local/bin/record.sh" +"/home/stormux/.local/bin/record.sh" Shift + F3 diff --git a/home/stormux/.xinitrc b/home/stormux/.xinitrc index 69a0747..8766ac1 100755 --- a/home/stormux/.xinitrc +++ b/home/stormux/.xinitrc @@ -1,489 +1,40 @@ #!/usr/bin/env bash -# Source installation helper -source /usr/local/bin/stormux_install_helper.sh +set -u -# Function to run a game with FEXLoader -fex_load() { - local gameDir="$1" - local exeName="$2" - export SPD_SOCKET=/run/user/1000/speech-dispatcher/speechd.sock - pushd "$HOME/.local/games/$gameDir" - if [[ "$(uname -m)" != "x86_64" ]]; then - export FEX_NO_SANDBOX=1 - export MESA_GL_VERSION_OVERRIDE=3.2 - FEX_NO_SANDBOX=1 MESA_GL_VERSION_OVERRIDE=3.2 BOX64_DYNAREC_STRONGMEM=1 DISPLAY=:0 FEXLoader ./$exeName - else - export MESA_GL_VERSION_OVERRIDE=3.2 - MESA_GL_VERSION_OVERRIDE=3.2 DISPLAY=:0 ./$exeName - fi - popd -} +# STORMUX_LAUNCH_SCRIPT may point at a selected .launch recipe; otherwise GAME is used as a fallback lookup key. +# shellcheck disable=SC1091 +source /home/stormux/.local/bin/stormux_launch_helpers.sh -# Function to run a Windows game with wine via FEXBash -run_wine() { - local gameDir="$1" - local exeName="$2" - local needNvda="${3:-}" - pushd "$HOME/.local/games/$gameDir" - if [[ "$(uname -m)" != "x86_64" ]]; then - if [[ ${#needNvda} -gt 1 ]]; then - systemctl --user start "${needNvda}.service" - FEXBash -c "wine \"$exeName\"" - systemctl --user stop "${needNvda}.service" - else - FEXBash -c "wine $exeName" - fi - else - if [[ ${#needNvda} -gt 1 ]]; then - systemctl --user start "${needNvda}.service" - wine "$exeName" - systemctl --user stop "${needNvda}.service" - else - wine "$exeName" - fi - fi - popd -} - -# Function to handle downloadable games with installation -setup_and_run_downloadable() { - local zipName="$1" - local gameDir="$2" - local executable="$3" - local fallbackUrl="$4" - local needNvda="$5" - local zipPath=~/Downloads/"$zipName" - local extractDir="$HOME/.local/games/$gameDir" - if [[ -e "$zipPath" ]]; then - # Recreate extractDir - rm -rf "$extractDir" - mkdir -p "$extractDir" - # Get the first path component of each file in the zip - mapfile -t topDirs < <(unzip -l "$zipPath" | awk 'NR>3 {print $4}' | grep '/$' | cut -d/ -f1 | sort -u | grep -v '^$') - if [[ ${#topDirs[@]} -eq 1 ]]; then - # Zip has a single top-level dir �se it as final dir - unzip -q "$zipPath" -d ~/.local/games - else - # Unzips file into the given directory without creating a subdirectory - unzip -q "$zipPath" -d "$extractDir" - fi - # Copy NVDA DLLs - for i in 32 64; do - find "$extractDir" -type f -name "nvdaControllerClient${i}.dll" -exec cp -v "$HOME/.local/games/nvda/nvdaControllerClient${i}.dll" '{}' \; - done - rm -f "$zipPath" - fi - if [[ -e "$extractDir/$executable" ]]; then - run_wine "${extractDir##*/}" "./$executable" "$needNvda" - else - run_web "$fallbackUrl" - fi -} - -# Enhanced function to handle downloadable games with direct URL support -setup_and_run_downloadable_url() { - local downloadUrl="$1" - local gameDir="$2" - local executable="$3" - local fallbackUrl="$4" - local needNvda="$5" - local extractDir="$HOME/.local/games/$gameDir" - local tempZip="/tmp/${gameDir}_download.zip" - - # Check if game is already installed - if [[ -e "$extractDir/$executable" ]]; then - run_wine "$gameDir" "./$executable" "$needNvda" - return - fi - - # Download the game - echo "Downloading $gameDir..." - if curl -L -o "$tempZip" "$downloadUrl"; then - # Recreate extractDir - rm -rf "$extractDir" - mkdir -p "$extractDir" - - # Get the first path component of each file in the zip - mapfile -t topDirs < <(unzip -l "$tempZip" | awk 'NR>3 {print $4}' | grep '/$' | cut -d/ -f1 | sort -u | grep -v '^$') - if [[ ${#topDirs[@]} -eq 1 ]]; then - # Zip has a single top-level dir - extract to ~/.local/games, then rename - unzip -q "$tempZip" -d ~/.local/games - # If the extracted dir name differs from gameDir, rename it - if [[ "${topDirs[0]}" != "$gameDir" ]]; then - mv ~/.local/games/"${topDirs[0]}" "$extractDir" - fi - else - # Unzips file into the given directory without creating a subdirectory - unzip -q "$tempZip" -d "$extractDir" - fi - - # Copy NVDA DLLs - for i in 32 64; do - find "$extractDir" -type f -name "nvdaControllerClient${i}.dll" -exec cp -v "$HOME/.local/games/nvda/nvdaControllerClient${i}.dll" '{}' \; - done - - rm -f "$tempZip" - echo "Download and installation complete!" - - # Now run the game - if [[ -e "$extractDir/$executable" ]]; then - run_wine "$gameDir" "./$executable" "$needNvda" - else - echo "Error: Game executable not found after installation" - run_web "$fallbackUrl" - fi - else - echo "Download failed, opening fallback URL" - run_web "$fallbackUrl" - fi -} - -# Function to handle all web-based games -run_web() { - cthulhu & - exec brave "$1" -} - -# Function to handle unpacked web games -# Function to handle unpacked web games -setup_and_run_web_game() { - local zipName="$1" - local gameDir="$2" - local htmlPath="$3" - local fallbackUrl="$4" - local zipPath=~/Downloads/"$zipName" - local extractDir="$HOME/.local/games/$gameDir" - if [[ -e "$zipPath" ]]; then - # Recreate extractDir - rm -rf "$extractDir" - mkdir -p "$extractDir" - # Get the first path component of each file in the zip - mapfile -t topDirs < <(unzip -l "$zipPath" | awk 'NR>3 {print $4}' | grep '/$' | cut -d/ -f1 | sort -u | grep -v '^$') - if [[ ${#topDirs[@]} -eq 1 ]]; then - # Zip has a single top-level dir - extract to ~/.local/games - unzip -q "$zipPath" -d "$HOME/.local/games" - else - # Unzips file into the given directory - unzip -q "$zipPath" -d "$extractDir" - fi - rm -f "$zipPath" - fi - if [[ -e "$extractDir/$htmlPath" ]]; then - run_web "$extractDir/$htmlPath" - else - run_web "$fallbackUrl" - fi -} - -# Function to run native applications -run_native() { - local gameDir="$1" - local exeName="$2" - pushd "/home/stormux/.local/games/$gameDir" - case "${exeName##*.}" in - "py") - python3 "$exeName" - ;; - *) - ./"$exeName" - ;; - esac - popd -} - -# Initial setup if [[ -e /etc/X11/xorg.conf.d/10-headless.conf ]]; then export LIBGL_ALWAYS_SOFTWARE=1 fi -[ -f /etc/xprofile ] && . /etc/xprofile -[ -f ~/.xprofile ] && . ~/.xprofile +if [[ -f /etc/xprofile ]]; then + # shellcheck source=/dev/null + source /etc/xprofile +fi + +if [[ -f "${HOME}/.xprofile" ]]; then + # shellcheck source=/dev/null + source "${HOME}/.xprofile" +fi + if [[ "$(uname -m)" != "x86_64" ]]; then - export BOX64_PATH="$HOME/.fex-emu/RootFS/ArchLinux/usr/bin" + export BOX64_PATH="${HOME}/.fex-emu/RootFS/ArchLinux/usr/bin" export BOX64_NOBANNER=1 export BOX64_DYNAREC_STRONGMEM=1 fi + export MESA_GL_VERSION_OVERRIDE=3.2 export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus export DBUS_SESSION_BUS_PID -exec dwm & + +dwm & xbindkeys +dispatch_launch_request +launchStatus=$? -# Main game launcher -case "$GAME" in - "Apple 2e") - exec mame apple2ee -sl1 echoii -flop1 ~/.local/games/apple2e/Echo\ II\ -\ Textalker\ DOS\ 3.3.dsk -samplerate 48000 -sound pulse - ;; - "Audio Disc") - run_wine "audiodisc" "disco.exe" - ;; - "BallBouncer") - fex_load BallBouncer BallBouncer - ;; - "Battle of the Hunter") - run_wine "Battle of the Hunter" "bth.exe" "nvda2speechd" - ;; - "blueman-manager") - cthulhu & - blueman-manager - ;; - "BookStorm") - exec /usr/bin/bookstorm - ;; - "Bokurano Daibouken") - /home/stormux/.local/files/clipboard_translator.sh play.exe bokurano-daibouken & - run_wine "bk" "play.exe" - killall speech-dispatcher - ;; - "Bokurano Daibouken 2") - /home/stormux/.local/files/clipboard_translator.sh play.exe bokurano-daibouken2 & - run_wine "bk2" "play.exe" - killall speech-dispatcher - ;; - "Bokurano Daibouken 3") - if [[ -d /home/stormux/.local/games/bk3/dict ]] || [[ -e ~/Downloads/dict.dat ]]; then - [[ -e ~/Downloads/dict.dat ]] && mv ~/Downloads/dict.dat /home/stormux/.local/games/bk3/ - run_wine "bk3" "play.exe" "nvda2speechd" - else - /home/stormux/.local/files/clipboard_translator.sh play.exe bokurano-daibouken3 & - run_wine "bk3" "play.exe" - fi - killall speech-dispatcher - ;; - "Bop It") - ~/.local/files/speak_window_title.sh bop.exe & - run_wine "BopIt" "bop.exe" - ;; - "Brave") - run_web "" # Runs brave without a specific URL - ;; - "Challenge of the Horse") - run_wine "Challenge of the Horse" "game.exe" "nvda2speechd" - ;; - "Clashes of the Sky") - run_wine "clashes_of_the_sky" "clash.exe" "nvda2speechd" - ;; - "Constant Motion") - run_wine "ConstantMotion" "cm.exe" "nvda2speechd" - ;; - "Crazy Party") - run_wine "Crazy-Party-beta82" "Crazy Party.exe" "nvda2speechd-important" - ;; - "Doom") - pushd /home/stormux/.local/games/doom/toby-doom-launcher - git pull -q - cthulhu & - exec "./Toby Doom Launcher.py" - popd - ;; - "Dosbox") - exec dosbox-x -fastlaunch -conf /opt/talking-dosbox/dosbox-x.conf - ;; - "Fantasy Story 2") - pushd "/home/stormux/.local/games/Fantasy Story 2/FS2_3.0_Linux" - if [[ "$(uname -m)" != "x86_64" ]]; then - FEXBash './fs2.x86_64' - else - './fs2.x86_64' - fi - popd - ;; - "Golf") - run_wine "golf" "golf.exe" - ;; - "Horseshoes") - pushd /home/stormux/.local/games/horseshoes - ./horseshoes - popd - ;; - "Haunted House") - pushd /home/stormux/.local/games/haunted-house - ./runner haunted-house - popd - ;; - "Haunted Party") - setup_and_run_downloadable "hp.zip" "hp" "hp.exe" "https://tunmi13.itch.io/haunted-party" "nvda2speechd" - ;; - "Kaskade") - setup_and_run_downloadable "battlefield-2d-win.zip" "bf" "bf.exe" "https://tunmi13.itch.io/kaskade" "nvda2speechd" - ;; - "Mach1") - run_wine "mach1" "mach1.exe" - ;; - "Manamon 2") - run_wine "Manamon 2" "rpg.exe" "nvda2speechd" - ;; - "Mine Racer") - pushd /home/stormux/.local/games/Mineracer - ./mineracer - popd - ;; - "Oh Shit") - run_wine "oh_shit" "OhShit.exe" "nvda2speechd" - ;; - "Pong") - run_wine "pong" "pong.exe" - ;; - "Q9 Action Game") - run_wine "Q9 Action Game" "q9.exe" - ;; - "Retro Arch") - /usr/bin/retroarch --accessibility - killall speech-dispatcher - ;; - "River Raiders") - run_wine "River Raiders" "raid.exe" - ;; - "RS Games") - run_wine "RS Games Client" "rsg.exe" "nvda2speechd-important" - ;; - "Scramble") - run_wine "scramble_win32" "scramble.exe" "nvda2speechd" - ;; - "Screaming Strike 2") - run_wine "Screaming Strike 2" "play.exe" "nvda2speechd" - ;; - "Scrolling Battles") - run_wine "Scrolling Battles" "sb.exe" "nvda2speechd" - ;; - "Shadow Line") - run_wine "ShadowRine_FullVoice" "play_sr.exe" "nvda2speechd" - ;; - "Shooter") - run_wine "shooter" "Shooter.exe" "nvda2speechd" - ;; - "Side Party") - setup_and_run_downloadable "sideparty-win.zip" "SideParty" "SideParty.exe" "https://masonasons.itch.io/sideparty" "nvda2speechd" - ;; - "Skateboarder Pro") - run_wine "sb_pro_rw" "sb_pro.exe" "nvda2speechd" - ;; - "Sketchbook (Your World)") - run_wine "SBYW" "SBYW.exe" "nvda2speechd-important" - ;; - "SoundRTS") - run_native "SoundRTS" "soundrts.py" - ;; - "Steam") - cthulhu & - exec steam -bigpicture - ;; - "thunderbird") - auto_install "thunderbird" - cthulhu & - exec thunderbird - ;; - "libreoffice") - auto_install "libreoffice" - cthulhu & - exec libreoffice - ;; - "Super Egg Hunt") - run_wine "super egg hunt" "superegghunt.exe" - ;; - "Super Liam") - fex_load "Super Liam" "SuperLiam" - ;; - "The Blind Swordsman") - if [[ "$(uname -m)" != "x86_64" ]]; then - FEXBash -c 'wine ~/.local/games/TheBlindSwordsman.exe' - else - wine ~/.local/games/TheBlindSwordsman.exe - fi - ;; - "The Great Toy Robbery") - fex_load "The Great Toy Robbery" "tgtr" - ;; - "The Tornado Chicken") - fex_load "The Tornado Chicken" "Ttc" - ;; - "Top Speed 3") - fex_load "Top Speed 3" "TopSpeed" - ;; - "Toy Mania") - if [[ -e ~/Downloads/ToyMania_windows_portable_password_is_GrateCollector.7z ]]; then - rm -rf ~/.local/games/ToyMania - mkdir -p ~/.local/games/ToyMania - 7z x ~/Downloads/ToyMania_windows_portable_password_is_GrateCollector.7z -o/home/stormux/.local/games/ToyMania -pGrateCollector - rm -f ~/Downloads/ToyMania_windows_portable_password_is_GrateCollector.7z - fi - if [[ -e ~/.local/games/ToyMania/tm.exe ]]; then - cp ~/.local/games/nvda/nvdaControllerClient64.dll ~/.local/games/ToyMania/lib/nvdaControllerClient64.dll - systemctl --user start nvda2speechd-important.service - pushd ~/.local/games/ToyMania - if [[ "$(uname -m)" != "x86_64" ]]; then - exec FEXBash -c 'wine ./tm.exe' - else - exec wine ./tm.exe - fi - popd - systemctl --user stop nvda2speechd-important.service - else - cthulhu & - exec brave "https://tsatria03.itch.io/toymania" - fi - ;; - "Upheaval") - setup_and_run_downloadable "upheaval-linux-console.zip" "Upheaval" "Upheaval_Command_Line" "https://leonegaming.itch.io/upheaval" - ;; - "Villains From Beyond") - run_wine "villains from beyond" "game.exe" - ;; - "Warsim") - setup_and_run_downloadable "Warsim Full Game.zip" "Warsim" "Warsim.exe" "https://huw2k8.itch.io/warsim" - ;; - "Wheels of Prio") - fex_load "Wheels of Prio" "Wp" - ;; - "Wicked Quest") - git -C /home/stormux/.local/games/wicked-quest pull - git -C /home/stormux/.local/games/wicked-quest submodule update - run_native "wicked-quest" "wicked_quest.py" - ;; - "Wreckingball") - auto_install "wreckingball" && run_wine "wreckingball" "wreckingball.exe" "nvda2speechd" - ;; - "Wreckingball (Pulped)") - auto_install "wreckingball-pulped" && run_wine "wreckingball-pulped" "wreckingball.exe" "nvda2speechd" - ;; - "Kitchensinc") - pushd "/home/stormux/.wine32/drive_c/Program Files/Kitchen's Sink" - WINEPREFIX=/home/stormux/.wine32 /home/stormux/.local/wine32/bin/wine gamemenu.exe - popd - ;; - "Swamp") - pushd "/home/stormux/.wine32/drive_c/Program Files/swamp" - WINEPREFIX=/home/stormux/.wine32 /home/stormux/.local/wine32/bin/wine Swamp.exe - popd - ;; - "Zombowl") - run_native "zombowl" "zombowl.py" - ;; - "https://shiftbacktick.itch.io/periphery-synthetic-ep") - setup_and_run_web_game "periphery-synthetic-ep-html5.zip" "periphery-synthetic-ep" "index.html" "$GAME" - ;; - "https://"*) - run_web "$GAME" - ;; - "DISK_ONLY:"*) - DISK_PATH="${GAME#DISK_ONLY:}" - xbindkeys - exec mame apple2ee -sl1 echoii -flop1 "$DISK_PATH" -samplerate 48000 -sound pulse - ;; - *".dsk") - xbindkeys - exec mame apple2ee -sl1 echoii -flop1 ~/.local/games/apple2e/Echo\ II\ -\ Textalker\ DOS\ 3.3.dsk -flop2 "$GAME" -samplerate 48000 -sound pulse - ;; - *"/Roms/"*) - exec mednafen -sounddriver sdl -sound 1 "$GAME" - ;; - *) - echo "No valid game specified in \$GAME" - sleep 5 - ;; -esac - -# Make sure X goes down after game ends pkill -15 Xorg +exit "$launchStatus" diff --git a/usr/lib/systemd/system/battery-monitor.service b/usr/lib/systemd/system/battery-monitor.service index 6431cba..5292cf1 100644 --- a/usr/lib/systemd/system/battery-monitor.service +++ b/usr/lib/systemd/system/battery-monitor.service @@ -6,7 +6,7 @@ ConditionPathExists=/sys/class/power_supply [Service] Type=simple -ExecStart=/usr/local/bin/battery_monitor.py +ExecStart=/home/stormux/.local/bin/battery_monitor.py Restart=always RestartSec=30 User=stormux @@ -24,4 +24,4 @@ Environment=PULSE_RUNTIME_PATH=/run/user/1000/pulse # This requires sudoers configuration [Install] -WantedBy=default.target \ No newline at end of file +WantedBy=default.target