[BACK]Return to fnaify.1 CVS log [TXT][DIR] Up to [local] / projects / fnaify

Diff for /projects/fnaify/fnaify.1 between version 1.2 and 1.49

version 1.2, 2019/09/21 20:02:52 version 1.49, 2020/10/07 20:31:26
Line 3 
Line 3 
 .Os  .Os
 .Sh NAME  .Sh NAME
 .Nm fnaify  .Nm fnaify
 .Nd script to get FNA-based games ready to run on OpenBSD  .Nd run FNA/XNA games on OpenBSD
 .Sh SYNOPSIS  .Sh SYNOPSIS
 .Nm  .Nm
 .Op Fl i | y  .Op Fl i | y
 .Op Fl hv  .Op Fl hsv
 .Op Fl d Ar depdir  .Op Fl c Ar configfile
   .Op Fl D Ar depdir
   .Op Fl d Ar gamedir
   .Op Fl f Ar frameworkfile | Fl F Ar frameworkversion
 .Op Fl m Ar monopath  .Op Fl m Ar monopath
 .Op Ar gamedir  .Op Ar userflags
 .Sh DESCRIPTION  .Sh DESCRIPTION
 .Nm  .Nm
 sets up games based on the FNA engine to operate with OpenBSD-native  runs games based on the FNA engine with OpenBSD-native
 libraries and its mono(1) runtime.  libraries and its
   .Xr mono 1
   runtime.
 .Pp  .Pp
 As of version 2.0,  As of version 2.0,
 .Nm  .Nm
 has been extended to attempt configuring XNA games as well.  has been extended to attempt configuring XNA games as well.
 .Nm  .Nm
 can be run in 3 basic modes regarding the addition of missing libraries  can be run in 3 basic modes regarding the addition of missing libraries:
 - restrictive, interactive, and permissive.  restrictive
   .Po
   default
   .Pc
   , interactive, and permissive.
 .Pp  .Pp
   As of version 3.0,
   .Nm
   unifies both setup and launch of supported games in one command.
   .Pp
   All games require additional libraries from ports, like SDL2. Some of
   them can be found in the fnaify-extralibs package, like libatomstb or
   libfmod_SDL.
   .Pp
 The arguments are as follows:  The arguments are as follows:
 .Bl -tag -width Ds  .Bl -tag -width Ds
 .It Fl i | y  .It Fl i | y
Line 32 
Line 49 
 be addressed with drop-in DLL replacements, or where an option needs to  be addressed with drop-in DLL replacements, or where an option needs to
 be selected.  be selected.
 With  With
 .Fl i  .Fl i ,
 ,  
 .Nm  .Nm
 runs in interactive mode, meaning the user will be prompted in every  runs in interactive mode, meaning the user will be prompted in every
 case.  case.
 With  With
 .Fl y  .Fl y ,
 ,  
 .Nm  .Nm
 runs in permissive mode (  runs in permissive mode
   .Po
 .Fl y  .Fl y
 for  for
 .Qq yes  .Dq yes
 to all). This means that any suggested drop-in DLLs will be installed,  to all
   .Pc .
   This means that any suggested drop-in DLLs will be installed,
 and if different options are possible (like picking among several .exe  and if different options are possible (like picking among several .exe
 files for the launch script), the first one will be selected  files for the launch script), the first one will be selected
 automatically.  automatically.
Line 56 
Line 74 
 is specified,  is specified,
 .Nm  .Nm
 runs in restrictive mode, that is no drop-in DLLs will be installed.  runs in restrictive mode, that is no drop-in DLLs will be installed.
 .It Fl d Ar depdir  .It Fl c Ar configfile
   Optional. Use
   .Ar configfile
   for the configuration of
   .Xr mono 1 .
   This sets up dllmap/dllentry settings to use the correct libraries. See
   .Xr mono-config 5
   for details. If this option is omitted,
   .Nm
   looks first for
   .Pa ~/.config/fnaify/fnaify.dllmap.config
   and then for
   .Pa /usr/local/share/fnaify/fnaify.dllmap.config .
   If neither one is found,
   .Nm
   creates
   .Pa ~/.config/fnaify/fnaify.dllmap.config
   with default settings.
   .It Fl D Ar depdir
 Add  Add
 .Ar depdir  .Ar depdir
 to the directories to search for native library dependencies. A  to the directories to search for native library dependencies.
 directory specified this way will be searched  A directory specified this way will be searched
 .Em before  .Em before
 the default locations (  the default locations
 .Pa /usr/local/lib  .Pq Pa /usr/local/lib No etc. .
 etc.).  .It Fl d Ar gamedir
   Path to the game's directory
   .Pq defaults to the current working directory .
   .It Fl F Ar frameworkversion
   Choose a specific framework version to use.
   .It Fl f Ar frameworkfile
   Framework file to use. Typically
   .Pa FNA.dll
   or
   .Pa MonoGame.Framework.dll .
   By default will automatically identify the bundled file in the
   game's directory.
   .It Fl h
   Prints help text.
 .It Fl m Ar monopath  .It Fl m Ar monopath
 Add  Add
 .Ar monopath  .Ar monopath
 to the directories the mono(1) runtime will search for DLLs.  to the directories the
 .It Fl h  .Xr mono 1
 Prints help text.  runtime will search for DLLs.
   .It Fl s
   Force (re-)running setup.
   .It Fl V
   Display version of
   .Nm .
 .It Fl v  .It Fl v
 Verbose mode.  Verbose mode.
 .It Ar gamedir  .It Ar userflags
 Optional. Path to the game directory to process. If not specified, the current working directory will be used.  Optional.
   Flags that are passed to the game as arguments
 .El  .El
 .Sh SUPPORTED GAMES  .Sh SUPPORTED GAMES
   .Bl -item -compact
   .It
 The Adventures of Shuggy  The Adventures of Shuggy
 .br  .It
   Akane the Kunoichi
   .It
   Amazing Princess Sarah
   .It
 Apotheon  Apotheon
 .br  .It
   Apple Jack 1&2
   .It
   Atom Zombie Smasher
   .It
   A Virus Named TOM [!]
   .It
   Before the Echo [!]
   .It
   Bird Assassin
   .It
 Bleed  Bleed
 .br  .It
 Bleed 2  Bleed 2
 .br  .It
 Breath of Death VII  Breath of Death VII
 .br  .It
 Brushwood Buddies  Brushwood Buddies
 .br  .It
   Camera Obscura
   .It
 Capsized  Capsized
 .br  .It
   Celeste (no audio)
   .It
 Chaos Heart  Chaos Heart
 .br  .It
 Charlie Murder  Charlie Murder
 .br  .It
 Chasm  Chasm
 .br  .It
 CometStriker  CometStriker
 .br  .It
 Cryptark  Cryptark
 .br  .It
 Cthulhu Saves the World  Cthulhu Saves the World
 .br  .It
 Curse of the Crescent Isle DX  Curse of the Crescent Isle DX
 .br  .It
 Dad Quest  Dad Quest
 .br  .It
 Dead Pixels II  Dead Pixels [!]
 .br  .It
   Dead Pixels II [!]
   .It
 The Dishwasher: Vampire Smile  The Dishwasher: Vampire Smile
 .br  .It
   Draw a Stickman: EPIC
   .It
 Dust: An Elysian Tail  Dust: An Elysian Tail
 .br  .It
   Eagle Island
   .It
   Eliza
   .It
 Escape Goat  Escape Goat
 .br  .It
 Escape Goat 2  Escape Goat 2
 .br  .It
   EXAPUNKS
   .It
 FEZ  FEZ
 .br  .It
 Fist Puncher  Fist Puncher
 .br  .It
 Flinthook  Flinthook
 .br  .It
 Flotilla  Flotilla
 .br  .It
 Gateways  Gateways
 .br  .It
   Grand Class Melee 2 [!]
   .It
 Growing Pains  Growing Pains
 .br  .It
 HackNet  HackNet
 .br  .It
   Hidden in Plain Sight
   .It
 Hive  Hive
 .br  .It
 Hyphen  Hyphen
 .br  .It
 Jon Shafer's At the Gates  Jon Shafer's At the Gates
 .br  .It
 LaserCat  LaserCat
 .br  .It
   Little Racers STREET
   .It
 Mercenary Kings  Mercenary Kings
 .br  .It
   MidBoss
   .It
   Molek-Syntez
   .It
   Mount Your Friends [!]
   .It
   NeuroVoider
   .It
 Ninja Warrior  Ninja Warrior
 .br  .It
 One Finger Death Punch  One Finger Death Punch
 .br  .It
   Opus Magnum
   .It
 Overdriven Reloaded  Overdriven Reloaded
 .br  .It
 Owlboy  Owlboy
 .br  .It
 Paladin  Paladin
 .br  .It
 Penny Arcade's On the Rain-Slick Precipice of Darkness 3  Penny Arcade's On the Rain-Slick Precipice of Darkness 3
 .br  .It
 Penny Arcade's On the Rain-Slick Precipice of Darkness 4  Penny Arcade's On the Rain-Slick Precipice of Darkness 4
 .br  .It
   Phoenix Force
   .It
   PlanetFriend
   .It
 Press X to Not Die  Press X to Not Die
 .br  .It
 Rex Rocket  Rex Rocket
 .br  .It
 Rogue Legacy  Rogue Legacy
 .br  .It
   Ruggnar
   .It
 Salt and Sanctuary  Salt and Sanctuary
 .br  .It
   Session Seven
   .It
   Shenzhen I/O
   .It
 Shipwreck  Shipwreck
 .br  .It
   Signs of Life
   .It
 Skulls of the Shogun  Skulls of the Shogun
 .br  .It
 Soulcaster 1 & 2  Soulcaster 1 & 2
 .br  .It
   SpaceChem [!]
   .It
 SpeedRunners  SpeedRunners
 .br  .It
 Stardew Valley  Stardew Valley
 .br  .It
 Sumico  Sumico
 .br  .It
 Super Amazing Wagon Adventure  Super Amazing Wagon Adventure [!]
 .br  .It
   Super Blood Hockey
   .It
 Super Rad Raygun  Super Rad Raygun
 .br  .It
   Sword of the Stars: The Pit [!]
   .It
   Terraria
   .It
 Timespinner  Timespinner
 .br  .It
 TowerFall: Ascension  TowerFall: Ascension
 .br  .It
   Ultra Hat Dimension
   .It
 Unexplored  Unexplored
 .br  .It
 Unholy Heights (no audio)  Unholy Heights (no audio)
 .br  .It
 The Useful Dead  The Useful Dead
 .br  .It
   Weapon of Choice [!]
   .It
 Wizorb  Wizorb
 .br  .It
 Wyv and Keep  Wyv and Keep
   .El
 .Sh FILES  .Sh FILES
 .Bl -tag -width Ds  .Bl -tag -width Ds
   .It Pa /usr/local/share/fnaify/fnaify.dllmap.config
   Default configuration file to map DLLs to native libraries.
 .It Pa ~/.config/fnaify/fnaify.dllmap.config  .It Pa ~/.config/fnaify/fnaify.dllmap.config
 Configuration file to map DLLs to native libraries, based on OpenBSD  User directory configuration file. Takes precedence if it exists.
 library naming.  Make sure to keep it up-to-date!
 .El  .El
 .Sh EXIT STATUS  .Sh EXIT STATUS
 .Nm  .Nm
 returns 1 if an error occurred with the arguments of files provided,  returns 1 if an error occurred, otherwise 0.
 otherwise 0.  
 .Sh EXAMPLES  .Sh EXAMPLES
 Run in permissive mode, suitable to set up most supported games  Run in permissive mode, suitable to set up most supported games
 automatically.  automatically.
 .Pp  .Pp
 .Dl $ fnaify -y path/to/game/directory  .Dl $ fnaify -y -d path/to/game/directory
 .Pp  .Pp
 Run in interactive mode.  Run in interactive mode.
 .Nm  .Nm
 will prompt the user if any additional DLLs are recommended, or if a  will prompt the user if any additional DLLs are recommended, or if a
 file needs to be selected for the launch script.  file needs to be selected for the launch script.
 .Pp  .Pp
 .Dl $ fnaify -i path/to/game/directory  .Dl $ fnaify -i
 .Sh SEE ALSO  .Sh SEE ALSO
 .Xr mono 1  .Xr mono 1 ,
   .Xr mono-config 5
 .Sh HISTORY  .Sh HISTORY
 The  The
 .Nm  .Nm
 utility was originally created in December 2017 by  utility was originally created in December 2017 by
 .An Thomas Frohwein Aq Mt thfr@openbsd.org  .An Thomas Frohwein Aq Mt thfr@openbsd.org .
 .Sh RELEASE HISTORY  .Sh RELEASE HISTORY
 .Bl -tag -width Ds  .Bl -tag -width Ds
   .It 3.0
   Stop creating launch script. Instead use fnaify for both
   setup and launch.
   Support for several Zachtronics games. Add libstubborn use to dllmap.
   Symlinking for MonoGame, e.g. NeuroVoider.
   Preferential use of installed FNA.dll over bundled one.
   .It 2.2
   Fix config for mono 6. Add support for libcestub.
   .It 2.1
   Support for additional XNA games. Add MONO_FORCE_COMPAT quirk.
 .It 2.0  .It 2.0
 Add support for XNA games. Introduce modes  Add support for XNA games.
   Introduce interactivity flags
 .Fl i | y  .Fl i | y
 to facilitate adding in needed assemblies/libraries.  to facilitate adding in needed assemblies/libraries.
 .It 1.3  .It 1.3
 Add prompt to download and replace FNA.dll if incompatible version is  Add prompt to download and replace
 found. Detect steamstubs directory and use Steamworks stubs if present.  .Pa FNA.dll
   if incompatible version is found.
   Detect steamstubs directory and use Steamworks stubs if present.
 .It 1.2  .It 1.2
 FreeBSD portability fixes, account for more special cases (MidBoss,  FreeBSD portability fixes, account for more special cases (MidBoss,
 Adventures of Shuggy, Atom Zombie Smasher), add directory path to plug  Adventures of Shuggy, Atom Zombie Smasher), add directory path to plug
Line 242 
Line 383 
 .Sh AUTHORS  .Sh AUTHORS
 .An -nosplit  .An -nosplit
 .An Thomas Frohwein Aq Mt thfr@openbsd.org  .An Thomas Frohwein Aq Mt thfr@openbsd.org
   .An Mariusz Zaborski

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.49

Contact: <mail@mail.thfr.info>