version 1.24, 2020/08/04 22:31:10 |
version 1.49, 2020/10/07 20:31:26 |
|
|
.Sh SYNOPSIS |
.Sh SYNOPSIS |
.Nm |
.Nm |
.Op Fl i | y |
.Op Fl i | y |
.Op Fl hv |
.Op Fl hsv |
.Op Fl c Ar configfile |
.Op Fl c Ar configfile |
.Op Fl d Ar depdir |
.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 |
libraries and its |
.Xr mono 1 |
.Xr mono 1 |
runtime. |
runtime. |
|
|
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 |
All games require additional libraries from ports, like SDL2. Some of |
them can be found in fnaify-extralibs package, like libatomstb or |
them can be found in the fnaify-extralibs package, like libatomstb or |
libfmod_SDL. |
libfmod_SDL. |
.Pp |
.Pp |
The arguments are as follows: |
The arguments are as follows: |
|
|
creates |
creates |
.Pa ~/.config/fnaify/fnaify.dllmap.config |
.Pa ~/.config/fnaify/fnaify.dllmap.config |
with default settings. |
with default settings. |
.It Fl d Ar depdir |
.It Fl D Ar depdir |
Add |
Add |
.Ar depdir |
.Ar depdir |
to the directories to search for native library dependencies. |
to the directories to search for native library dependencies. |
|
|
.Em before |
.Em before |
the default locations |
the default locations |
.Pq Pa /usr/local/lib No etc. . |
.Pq Pa /usr/local/lib No 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 |
to the directories the |
.Xr mono 1 |
.Xr mono 1 |
runtime will search for DLLs. |
runtime will search for DLLs. |
.It Fl h |
.It Fl s |
Prints help text. |
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. |
Optional. |
Path to the game directory to process. |
Flags that are passed to the game as arguments |
If not specified, the current working directory will be used. |
|
.El |
.El |
.Sh SUPPORTED GAMES |
.Sh SUPPORTED GAMES |
.Bl -item -compact |
.Bl -item -compact |
|
|
.It |
.It |
Atom Zombie Smasher |
Atom Zombie Smasher |
.It |
.It |
Before the Echo |
A Virus Named TOM [!] |
.It |
.It |
|
Before the Echo [!] |
|
.It |
|
Bird Assassin |
|
.It |
Bleed |
Bleed |
.It |
.It |
Bleed 2 |
Bleed 2 |
|
|
.It |
.It |
Brushwood Buddies |
Brushwood Buddies |
.It |
.It |
|
Camera Obscura |
|
.It |
Capsized |
Capsized |
.It |
.It |
Celeste (no audio) [!] |
Celeste (no audio) |
.It |
.It |
Chaos Heart |
Chaos Heart |
.It |
.It |
|
|
.It |
.It |
Dust: An Elysian Tail |
Dust: An Elysian Tail |
.It |
.It |
|
Eagle Island |
|
.It |
Eliza |
Eliza |
.It |
.It |
Escape Goat |
Escape Goat |
|
|
.It |
.It |
EXAPUNKS |
EXAPUNKS |
.It |
.It |
Explosionade [!] |
|
.It |
|
FEZ |
FEZ |
.It |
.It |
Fist Puncher |
Fist Puncher |
|
|
.It |
.It |
Flotilla |
Flotilla |
.It |
.It |
Game Type [!] |
|
.It |
|
Gateways |
Gateways |
.It |
.It |
Grand Class Melee 2 [!] |
Grand Class Melee 2 [!] |
|
|
.It |
.It |
HackNet |
HackNet |
.It |
.It |
Hive [!] - sometimes doesn't start up |
Hidden in Plain Sight |
.It |
.It |
|
Hive |
|
.It |
Hyphen |
Hyphen |
.It |
.It |
Jon Shafer's At the Gates |
Jon Shafer's At the Gates |
|
|
.It |
.It |
Molek-Syntez |
Molek-Syntez |
.It |
.It |
Mount Your Friends |
Mount Your Friends [!] |
.It |
.It |
NeuroVoider |
NeuroVoider |
.It |
.It |
|
|
.It |
.It |
Phoenix Force |
Phoenix Force |
.It |
.It |
|
PlanetFriend |
|
.It |
Press X to Not Die |
Press X to Not Die |
.It |
.It |
Rex Rocket |
Rex Rocket |
.It |
.It |
Rogue Legacy |
Rogue Legacy |
.It |
.It |
|
Ruggnar |
|
.It |
Salt and Sanctuary |
Salt and Sanctuary |
.It |
.It |
|
Session Seven |
|
.It |
Shenzhen I/O |
Shenzhen I/O |
.It |
.It |
Shipwreck |
Shipwreck |
.It |
.It |
|
Signs of Life |
|
.It |
Skulls of the Shogun |
Skulls of the Shogun |
.It |
.It |
Soulcaster 1 & 2 |
Soulcaster 1 & 2 |
.It |
.It |
SpaceChem |
SpaceChem [!] |
.It |
.It |
SpeedRunners |
SpeedRunners |
.It |
.It |
|
|
.It |
.It |
Sumico |
Sumico |
.It |
.It |
Super Amazing Wagon Adventure |
Super Amazing Wagon Adventure [!] |
.It |
.It |
Super Blood Hockey |
Super Blood Hockey |
.It |
.It |
Super Rad Raygun |
Super Rad Raygun |
.It |
.It |
Sword of the Stars: The Pit |
Sword of the Stars: The Pit [!] |
.It |
.It |
Terraria |
Terraria |
.It |
.It |
|
|
.It |
.It |
TowerFall: Ascension |
TowerFall: Ascension |
.It |
.It |
|
Ultra Hat Dimension |
|
.It |
Unexplored |
Unexplored |
.It |
.It |
Unholy Heights (no audio) |
Unholy Heights (no audio) |
.It |
.It |
The Useful Dead |
The Useful Dead |
.It |
.It |
Weapon of Choice |
Weapon of Choice [!] |
.It |
.It |
Wizorb |
Wizorb |
.It |
.It |
|
|
.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 |
.Xr mono-config 5 |
|
|
.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 2.3 |
.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. |
Support for several Zachtronics games. Add libstubborn use to dllmap. |
Symlinking for MonoGame, e.g. NeuroVoider. |
Symlinking for MonoGame, e.g. NeuroVoider. |
|
Preferential use of installed FNA.dll over bundled one. |
.It 2.2 |
.It 2.2 |
Fix config for mono 6. Add support for libcestub. |
Fix config for mono 6. Add support for libcestub. |
.It 2.1 |
.It 2.1 |
Support for additional XNA games. Add MONO_FORCE_COMPAT quirk. |
Support for additional XNA games. Add MONO_FORCE_COMPAT quirk. |
.It 2.0 |
.It 2.0 |
Add support for XNA games. |
Add support for XNA games. |
Introduce modes |
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 |
|
|
.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 |