Annotation of projects/fnaify/fnaify.1, Revision 1.3
1.1 thfr 1: .Dd $Mdocdate: September 21 2019 $
2: .Dt FNAIFY 1
3: .Os
4: .Sh NAME
5: .Nm fnaify
6: .Nd script to get FNA-based games ready to run on OpenBSD
7: .Sh SYNOPSIS
8: .Nm
9: .Op Fl i | y
10: .Op Fl hv
11: .Op Fl d Ar depdir
12: .Op Fl m Ar monopath
13: .Op Ar gamedir
14: .Sh DESCRIPTION
15: .Nm
16: sets up games based on the FNA engine to operate with OpenBSD-native
1.3 ! thfr 17: libraries and its
! 18: .Xr mono 1
! 19: runtime.
1.1 thfr 20: .Pp
21: As of version 2.0,
22: .Nm
23: has been extended to attempt configuring XNA games as well.
24: .Nm
1.3 ! thfr 25: can be run in 3 basic modes regarding the addition of missing libraries:
! 26: restrictive, interactive, and permissive.
1.1 thfr 27: .Pp
28: The arguments are as follows:
29: .Bl -tag -width Ds
30: .It Fl i | y
31: The mode determines how
32: .Nm
33: handles situations where compatibility problems are identified that can
34: be addressed with drop-in DLL replacements, or where an option needs to
35: be selected.
36: With
1.3 ! thfr 37: .Fl i ,
1.1 thfr 38: .Nm
39: runs in interactive mode, meaning the user will be prompted in every
40: case.
41: With
1.3 ! thfr 42: .Fl y ,
1.1 thfr 43: .Nm
1.3 ! thfr 44: runs in permissive mode
! 45: .Po
1.1 thfr 46: .Fl y
47: for
1.3 ! thfr 48: .Dq yes
! 49: to all
! 50: .Pc .
! 51: This means that any suggested drop-in DLLs will be installed,
1.1 thfr 52: and if different options are possible (like picking among several .exe
53: files for the launch script), the first one will be selected
54: automatically.
55: If neither
56: .Fl i
57: nor
58: .Fl y
59: is specified,
60: .Nm
61: runs in restrictive mode, that is no drop-in DLLs will be installed.
62: .It Fl d Ar depdir
63: Add
64: .Ar depdir
1.3 ! thfr 65: to the directories to search for native library dependencies.
! 66: A directory specified this way will be searched
1.1 thfr 67: .Em before
1.3 ! thfr 68: the default locations
! 69: .Pq Pa /usr/local/lib No etc. .
1.1 thfr 70: .It Fl m Ar monopath
71: Add
72: .Ar monopath
1.3 ! thfr 73: to the directories the
! 74: .Xr mono 1
! 75: runtime will search for DLLs.
1.1 thfr 76: .It Fl h
77: Prints help text.
78: .It Fl v
79: Verbose mode.
80: .It Ar gamedir
1.3 ! thfr 81: Optional.
! 82: Path to the game directory to process.
! 83: If not specified, the current working directory will be used.
1.1 thfr 84: .El
85: .Sh SUPPORTED GAMES
1.3 ! thfr 86: .Bl -item -compact
! 87: .It
1.1 thfr 88: The Adventures of Shuggy
1.3 ! thfr 89: .It
1.1 thfr 90: Apotheon
1.3 ! thfr 91: .It
1.1 thfr 92: Bleed
1.3 ! thfr 93: .It
1.1 thfr 94: Bleed 2
1.3 ! thfr 95: .It
1.1 thfr 96: Breath of Death VII
1.3 ! thfr 97: .It
1.1 thfr 98: Brushwood Buddies
1.3 ! thfr 99: .It
1.1 thfr 100: Capsized
1.3 ! thfr 101: .It
1.1 thfr 102: Chaos Heart
1.3 ! thfr 103: .It
1.1 thfr 104: Charlie Murder
1.3 ! thfr 105: .It
1.1 thfr 106: Chasm
1.3 ! thfr 107: .It
1.1 thfr 108: CometStriker
1.3 ! thfr 109: .It
1.1 thfr 110: Cryptark
1.3 ! thfr 111: .It
1.1 thfr 112: Cthulhu Saves the World
1.3 ! thfr 113: .It
1.1 thfr 114: Curse of the Crescent Isle DX
1.3 ! thfr 115: .It
1.1 thfr 116: Dad Quest
1.3 ! thfr 117: .It
1.1 thfr 118: Dead Pixels II
1.3 ! thfr 119: .It
1.1 thfr 120: The Dishwasher: Vampire Smile
1.3 ! thfr 121: .It
1.1 thfr 122: Dust: An Elysian Tail
1.3 ! thfr 123: .It
1.1 thfr 124: Escape Goat
1.3 ! thfr 125: .It
1.1 thfr 126: Escape Goat 2
1.3 ! thfr 127: .It
1.1 thfr 128: FEZ
1.3 ! thfr 129: .It
1.1 thfr 130: Fist Puncher
1.3 ! thfr 131: .It
1.1 thfr 132: Flinthook
1.3 ! thfr 133: .It
1.1 thfr 134: Flotilla
1.3 ! thfr 135: .It
1.1 thfr 136: Gateways
1.3 ! thfr 137: .It
1.1 thfr 138: Growing Pains
1.3 ! thfr 139: .It
1.1 thfr 140: HackNet
1.3 ! thfr 141: .It
1.1 thfr 142: Hive
1.3 ! thfr 143: .It
1.1 thfr 144: Hyphen
1.3 ! thfr 145: .It
1.1 thfr 146: Jon Shafer's At the Gates
1.3 ! thfr 147: .It
1.1 thfr 148: LaserCat
1.3 ! thfr 149: .It
1.1 thfr 150: Mercenary Kings
1.3 ! thfr 151: .It
1.1 thfr 152: Ninja Warrior
1.3 ! thfr 153: .It
1.1 thfr 154: One Finger Death Punch
1.3 ! thfr 155: .It
1.1 thfr 156: Overdriven Reloaded
1.3 ! thfr 157: .It
1.1 thfr 158: Owlboy
1.3 ! thfr 159: .It
1.1 thfr 160: Paladin
1.3 ! thfr 161: .It
1.1 thfr 162: Penny Arcade's On the Rain-Slick Precipice of Darkness 3
1.3 ! thfr 163: .It
1.1 thfr 164: Penny Arcade's On the Rain-Slick Precipice of Darkness 4
1.3 ! thfr 165: .It
1.1 thfr 166: Press X to Not Die
1.3 ! thfr 167: .It
1.1 thfr 168: Rex Rocket
1.3 ! thfr 169: .It
1.1 thfr 170: Rogue Legacy
1.3 ! thfr 171: .It
1.1 thfr 172: Salt and Sanctuary
1.3 ! thfr 173: .It
1.1 thfr 174: Shipwreck
1.3 ! thfr 175: .It
1.1 thfr 176: Skulls of the Shogun
1.3 ! thfr 177: .It
1.1 thfr 178: Soulcaster 1 & 2
1.3 ! thfr 179: .It
1.1 thfr 180: SpeedRunners
1.3 ! thfr 181: .It
1.1 thfr 182: Stardew Valley
1.3 ! thfr 183: .It
1.1 thfr 184: Sumico
1.3 ! thfr 185: .It
1.1 thfr 186: Super Amazing Wagon Adventure
1.3 ! thfr 187: .It
1.1 thfr 188: Super Rad Raygun
1.3 ! thfr 189: .It
1.1 thfr 190: Timespinner
1.3 ! thfr 191: .It
1.1 thfr 192: TowerFall: Ascension
1.3 ! thfr 193: .It
1.1 thfr 194: Unexplored
1.3 ! thfr 195: .It
1.1 thfr 196: Unholy Heights (no audio)
1.3 ! thfr 197: .It
1.1 thfr 198: The Useful Dead
1.3 ! thfr 199: .It
1.1 thfr 200: Wizorb
1.3 ! thfr 201: .It
1.1 thfr 202: Wyv and Keep
1.3 ! thfr 203: .El
1.1 thfr 204: .Sh FILES
205: .Bl -tag -width Ds
206: .It Pa ~/.config/fnaify/fnaify.dllmap.config
207: Configuration file to map DLLs to native libraries, based on OpenBSD
208: library naming.
209: .El
210: .Sh EXIT STATUS
211: .Nm
212: returns 1 if an error occurred with the arguments of files provided,
213: otherwise 0.
214: .Sh EXAMPLES
215: Run in permissive mode, suitable to set up most supported games
216: automatically.
217: .Pp
218: .Dl $ fnaify -y path/to/game/directory
219: .Pp
220: Run in interactive mode.
221: .Nm
222: will prompt the user if any additional DLLs are recommended, or if a
223: file needs to be selected for the launch script.
224: .Pp
225: .Dl $ fnaify -i path/to/game/directory
226: .Sh SEE ALSO
227: .Xr mono 1
228: .Sh HISTORY
229: The
230: .Nm
231: utility was originally created in December 2017 by
232: .An Thomas Frohwein Aq Mt thfr@openbsd.org
1.2 thfr 233: .Sh RELEASE HISTORY
234: .Bl -tag -width Ds
235: .It 2.0
1.3 ! thfr 236: Add support for XNA games.
! 237: Introduce modes
1.2 thfr 238: .Fl i | y
239: to facilitate adding in needed assemblies/libraries.
240: .It 1.3
1.3 ! thfr 241: Add prompt to download and replace
! 242: .Pa FNA.dll
! 243: if incompatible version is found.
! 244: Detect steamstubs directory and use Steamworks stubs if present.
1.2 thfr 245: .It 1.2
246: FreeBSD portability fixes, account for more special cases (MidBoss,
247: Adventures of Shuggy, Atom Zombie Smasher), add directory path to plug
248: in additional libraries.
249: .It 1.1
250: Fix bug selecting .exe by separating input variables.
251: .It 1.0
252: Initial release.
253: .El
1.1 thfr 254: .Sh AUTHORS
255: .An -nosplit
256: .An Thomas Frohwein Aq Mt thfr@openbsd.org
Contact: <mail@mail.thfr.info>