Annotation of projects/fnaify/fnaify.1, Revision 1.6
1.6 ! thfr 1: .Dd $Mdocdate: October 4 2019 $
1.1 thfr 2: .Dt FNAIFY 1
3: .Os
4: .Sh NAME
5: .Nm fnaify
1.6 ! thfr 6: .Nd run FNA/XNA games on OpenBSD
1.1 thfr 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.6 ! thfr 90: Akane the Kunoichi
! 91: .It
! 92: Amazing Princess Sarah
! 93: .It
1.1 thfr 94: Apotheon
1.3 thfr 95: .It
1.6 ! thfr 96: Apple Jack 1&2
! 97: .It
1.1 thfr 98: Bleed
1.3 thfr 99: .It
1.1 thfr 100: Bleed 2
1.3 thfr 101: .It
1.1 thfr 102: Breath of Death VII
1.3 thfr 103: .It
1.1 thfr 104: Brushwood Buddies
1.3 thfr 105: .It
1.1 thfr 106: Capsized
1.3 thfr 107: .It
1.1 thfr 108: Chaos Heart
1.3 thfr 109: .It
1.1 thfr 110: Charlie Murder
1.3 thfr 111: .It
1.1 thfr 112: Chasm
1.3 thfr 113: .It
1.1 thfr 114: CometStriker
1.3 thfr 115: .It
1.1 thfr 116: Cryptark
1.3 thfr 117: .It
1.1 thfr 118: Cthulhu Saves the World
1.3 thfr 119: .It
1.1 thfr 120: Curse of the Crescent Isle DX
1.3 thfr 121: .It
1.1 thfr 122: Dad Quest
1.3 thfr 123: .It
1.6 ! thfr 124: Dead Pixels
! 125: .It
1.1 thfr 126: Dead Pixels II
1.3 thfr 127: .It
1.1 thfr 128: The Dishwasher: Vampire Smile
1.3 thfr 129: .It
1.6 ! thfr 130: Draw a Stickman: EPIC
! 131: .It
1.1 thfr 132: Dust: An Elysian Tail
1.3 thfr 133: .It
1.1 thfr 134: Escape Goat
1.3 thfr 135: .It
1.1 thfr 136: Escape Goat 2
1.3 thfr 137: .It
1.6 ! thfr 138: Explosionade
! 139: .It
1.1 thfr 140: FEZ
1.3 thfr 141: .It
1.1 thfr 142: Fist Puncher
1.3 thfr 143: .It
1.1 thfr 144: Flinthook
1.3 thfr 145: .It
1.1 thfr 146: Flotilla
1.3 thfr 147: .It
1.6 ! thfr 148: Game Type
! 149: .It
1.1 thfr 150: Gateways
1.3 thfr 151: .It
1.6 ! thfr 152: Grand Class Melee 2
! 153: .It
1.1 thfr 154: Growing Pains
1.3 thfr 155: .It
1.1 thfr 156: HackNet
1.3 thfr 157: .It
1.1 thfr 158: Hive
1.3 thfr 159: .It
1.1 thfr 160: Hyphen
1.3 thfr 161: .It
1.1 thfr 162: Jon Shafer's At the Gates
1.3 thfr 163: .It
1.1 thfr 164: LaserCat
1.3 thfr 165: .It
1.1 thfr 166: Mercenary Kings
1.3 thfr 167: .It
1.4 thfr 168: Mount Your Friends
169: .It
1.1 thfr 170: Ninja Warrior
1.3 thfr 171: .It
1.1 thfr 172: One Finger Death Punch
1.3 thfr 173: .It
1.1 thfr 174: Overdriven Reloaded
1.3 thfr 175: .It
1.1 thfr 176: Owlboy
1.3 thfr 177: .It
1.1 thfr 178: Paladin
1.3 thfr 179: .It
1.1 thfr 180: Penny Arcade's On the Rain-Slick Precipice of Darkness 3
1.3 thfr 181: .It
1.1 thfr 182: Penny Arcade's On the Rain-Slick Precipice of Darkness 4
1.6 ! thfr 183: .It
! 184: Phoenix Force
1.3 thfr 185: .It
1.1 thfr 186: Press X to Not Die
1.3 thfr 187: .It
1.1 thfr 188: Rex Rocket
1.3 thfr 189: .It
1.1 thfr 190: Rogue Legacy
1.3 thfr 191: .It
1.1 thfr 192: Salt and Sanctuary
1.3 thfr 193: .It
1.1 thfr 194: Shipwreck
1.3 thfr 195: .It
1.1 thfr 196: Skulls of the Shogun
1.3 thfr 197: .It
1.1 thfr 198: Soulcaster 1 & 2
1.3 thfr 199: .It
1.1 thfr 200: SpeedRunners
1.3 thfr 201: .It
1.1 thfr 202: Stardew Valley
1.3 thfr 203: .It
1.1 thfr 204: Sumico
1.3 thfr 205: .It
1.1 thfr 206: Super Amazing Wagon Adventure
1.3 thfr 207: .It
1.4 thfr 208: Super Blood Hockey
209: .It
1.1 thfr 210: Super Rad Raygun
1.4 thfr 211: .It
212: Sword of the Stars: The Pit
1.3 thfr 213: .It
1.1 thfr 214: Timespinner
1.3 thfr 215: .It
1.1 thfr 216: TowerFall: Ascension
1.3 thfr 217: .It
1.1 thfr 218: Unexplored
1.3 thfr 219: .It
1.1 thfr 220: Unholy Heights (no audio)
1.3 thfr 221: .It
1.1 thfr 222: The Useful Dead
1.3 thfr 223: .It
1.5 thfr 224: Weapon of Choice
225: .It
1.1 thfr 226: Wizorb
1.3 thfr 227: .It
1.1 thfr 228: Wyv and Keep
1.3 thfr 229: .El
1.1 thfr 230: .Sh FILES
231: .Bl -tag -width Ds
232: .It Pa ~/.config/fnaify/fnaify.dllmap.config
233: Configuration file to map DLLs to native libraries, based on OpenBSD
234: library naming.
235: .El
236: .Sh EXIT STATUS
237: .Nm
238: returns 1 if an error occurred with the arguments of files provided,
239: otherwise 0.
240: .Sh EXAMPLES
241: Run in permissive mode, suitable to set up most supported games
242: automatically.
243: .Pp
244: .Dl $ fnaify -y path/to/game/directory
245: .Pp
246: Run in interactive mode.
247: .Nm
248: will prompt the user if any additional DLLs are recommended, or if a
249: file needs to be selected for the launch script.
250: .Pp
251: .Dl $ fnaify -i path/to/game/directory
252: .Sh SEE ALSO
253: .Xr mono 1
254: .Sh HISTORY
255: The
256: .Nm
257: utility was originally created in December 2017 by
258: .An Thomas Frohwein Aq Mt thfr@openbsd.org
1.2 thfr 259: .Sh RELEASE HISTORY
260: .Bl -tag -width Ds
261: .It 2.0
1.3 thfr 262: Add support for XNA games.
263: Introduce modes
1.2 thfr 264: .Fl i | y
265: to facilitate adding in needed assemblies/libraries.
266: .It 1.3
1.3 thfr 267: Add prompt to download and replace
268: .Pa FNA.dll
269: if incompatible version is found.
270: Detect steamstubs directory and use Steamworks stubs if present.
1.2 thfr 271: .It 1.2
272: FreeBSD portability fixes, account for more special cases (MidBoss,
273: Adventures of Shuggy, Atom Zombie Smasher), add directory path to plug
274: in additional libraries.
275: .It 1.1
276: Fix bug selecting .exe by separating input variables.
277: .It 1.0
278: Initial release.
279: .El
1.1 thfr 280: .Sh AUTHORS
281: .An -nosplit
282: .An Thomas Frohwein Aq Mt thfr@openbsd.org
Contact: <mail@mail.thfr.info>