Coder Social home page Coder Social logo

whdload-game-launcher's Introduction

WHDLoad Game Launcher

Latest release

v0.8-beta

Older versions can be found in Releases.

Summary

WHDLoad Game Launcher is a startup-sequence solution for launching WHDLoad games on UAE based Amiga emulators

It supports three modes of operation:

  • Slave Target - to target a specific slave file.
  • Slave Selection - to select from multiple slave files.
  • Slave Collection - to use a Game Launcher for your games collection.

As summary of the setup and options can be seen below:

Summary Diagram

Two release versions are provided:

  • .zip - this is the recommended directory version. Unzip this and mount as a Directory (DH0:) in UAE.
  • .hdf - this is the legacy HDF version. Mount as a Hardfile (DH0:) in UAE.

Features

  • Locates the .slave file automatically - no need to rename it to game.slave

    • If a game.slave file is detected a warning is displayed.
  • Single Slave mode: Sinlge WHDLoad game slave file gets launched automatically.

  • Supports multiple WHDLoad game slave files. Methods supported:

    • Slave Target mode: The WHDLoad game slave file selected based the Volume name of DH1:
      • This mode is not supported when DH1: is mounted with a .lha or .zip WHDLoad game file.
    • Slave Selection mode: WHDLoad game slave files selection using ABS (Amiga Boot Selector)
      • Joystick or Keyboard used for selection
  • Games are launched with WHDload options from ToolTypes in the game .info file.

  • Slave Collection mode: when no WHDLoad game slave file detected a Game Launcher is launched.

    • GAMES: is assigned to DH1: (if not already assigned).
    • The game launcher can be configured to point to DH1: or GAMES: as the games repository.
  • Workbench mode: A minimal Workbench is loaded at the end, after game exit (use F10).

    • Multiview can be used to view readme, guides, solutions, etc documents.
    • Files and directories can be managed and renamed - i.e. rename the game.slave file.

Requirements

See the diagram above for reference.

Setup

See the diagram above for reference.

  • DH0: is the WHDLoad boot drive. Must be writeable.

    • You need to put your kickstarts (including rom.key for Cloanto Amiga Forever kickstarts) in the System:Dev/Kickstarts directory
  • DH1: is the game or games drive. Must be writeable.

    • Slave Target mode:
      • DH1: must be mounted as a Directory and the Volume name set to target slave file name.
      • Slave file) must be in the root of DH1:
      • Slave files in subdirectories are not supported.
    • Slave Selection mode:
      • DH1: can be mounted as a Directory or HDF
      • Slave files must be in the root of DH1:
      • Slave files in subdirectories are not supported.
    • Slave Collection mode:
      • The game collection must be mounted on DH1: it is up to the Game Launcher to scan for games, which may include subdirectories support.
    • For .lha / .zip files mounted on DH1:
      • DH1: becomes READONLY
      • The Volume name must be in the following format: <GameDirName>.<ext> Where <GameDirName> is the game subdirectory in the .lha or .zip file. Where <ext> is the compression extension - either .lha or .zip
      • The Volume name, including the extension cannot exceed 30 characters.
      • WHDLoad option SavePath=SYS:WHDSaves is added to allow save games to DH0:WHDSaves

Slave Target mode

There needs to be a method to specify directly which slave file you want to launch.

The method used is what is called the Slave Target method. This method makes use of the Volume name of DH1:. This is explained further below.

There are several hard drive formats supported by UAE:

  • Directory
  • Hardfile (HDF)
  • Archive
  • Plain File

The first two are generally the preferred/typical methods.

However, when a Hardfile HDF file is used, the volume name is taken from inside the .hdf file and not the actual filename. When a HDF file is created (for example, using ADF Opus) you specify the volume name for it.

When a Directory (or Archive or Plain File) is used, you can manually specify the volume name.

Thus, if you have multiple game slave files in your WHDL game partition and want to specify the game slave file to launch, the WHDLoad game must be mounted as a Directory and the game slave file name (including the .slave extension) is used as the volume name. Otherwise, a selection dialogue will be used to ask the user to select a game slave file to launch.

It is also recommended that both the WHDLoad boot DH0: and the Game/Games DH1: partition are mounted as as a directories - it just allows managing them much easier on the host emulation system

Slave Selection mode

If multiple slave files are detected, and if Slave Target method is not used, then a selection method is used.

The selector method used is the excellent ABS (Amiga Boot Selector)

http://ohmygibs.free.fr/ohmygibs/Amiga_Boot_Selector.html

You can use the joystick or keyboard to make the selection.

The following options can be set by pressing the following keys:

  • K - Change 'Kickstart' theme
  • B - Enable/Disable Boing Balls animation

AGS will remember the last settings used (stored in S:AmigaBootSelector/Options.cfg)

Up to a maximum of 12 game slave files are supported using ABS.

Slave Collection mode

If no slave files are detected on DH1: a Game Launcher will be launched.

Currently, the excellent TinyLauncher is included.

http://ohmygibs.free.fr/ohmygibs/TinyLauncher.html

On first run, you will need configure it and scan for your games in DH1:, or GAMES:.

The following options can be set from the main screen by pressing the following keys:

  • ESC - Exit
  • F10 - Exit with return code 5
  • A (on AZERTY keyboards) - Add to Favorites (in Game memu)
  • Q (on QWERTY keyboards) - Add to Favorites (in Game memu)
  • D - Delete from Favorites (in Favorites menu)
  • R - Enable/disable RAD
  • T - Enable/Disable Tool Types
  • I - Enter Infodesk
  • F - Change Font - Topaz or Speccy-Gibs
  • H - Show Help menu
  • C - Enable/Disable display of game Covers / screenshots / images
  • B - Boot HD / CD
  • 0-4 - Set Jump To:
    • 0 = Disable/Enable Jump To
    • 1 = Games
    • 2 = Demos
    • 3 = Mods
    • 4 = Favourites
  • UP key / UP joystick direction - for one second activates Fast Nav mode

When in a Jump To screen, use 0 to enable/disable Jump To. If disabled, you can use ESC to go back to the main screen.

WHDLoad

  • QuitKey has been set to $59 - i.e F10.
    • Configurable in S/WHDLoad.prefs
  • ToolTypes:
    • WHDLoad options specified as ToolTypes are recognised and used to load the game.

To Do / Roadmap

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.