Annotation of projects/fnaify/fnaify.1, Revision 1.5
1.4 thfr 1: .Dd $Mdocdate: September 24 2019 $
1.1 thfr 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.4 thfr 152: Mount Your Friends
153: .It
1.1 thfr 154: Ninja Warrior
1.3 thfr 155: .It
1.1 thfr 156: One Finger Death Punch
1.3 thfr 157: .It
1.1 thfr 158: Overdriven Reloaded
1.3 thfr 159: .It
1.1 thfr 160: Owlboy
1.3 thfr 161: .It
1.1 thfr 162: Paladin
1.3 thfr 163: .It
1.1 thfr 164: Penny Arcade's On the Rain-Slick Precipice of Darkness 3
1.3 thfr 165: .It
1.1 thfr 166: Penny Arcade's On the Rain-Slick Precipice of Darkness 4
1.3 thfr 167: .It
1.1 thfr 168: Press X to Not Die
1.3 thfr 169: .It
1.1 thfr 170: Rex Rocket
1.3 thfr 171: .It
1.1 thfr 172: Rogue Legacy
1.3 thfr 173: .It
1.1 thfr 174: Salt and Sanctuary
1.3 thfr 175: .It
1.1 thfr 176: Shipwreck
1.3 thfr 177: .It
1.1 thfr 178: Skulls of the Shogun
1.3 thfr 179: .It
1.1 thfr 180: Soulcaster 1 & 2
1.3 thfr 181: .It
1.1 thfr 182: SpeedRunners
1.3 thfr 183: .It
1.1 thfr 184: Stardew Valley
1.3 thfr 185: .It
1.1 thfr 186: Sumico
1.3 thfr 187: .It
1.1 thfr 188: Super Amazing Wagon Adventure
1.3 thfr 189: .It
1.4 thfr 190: Super Blood Hockey
191: .It
1.1 thfr 192: Super Rad Raygun
1.4 thfr 193: .It
194: Sword of the Stars: The Pit
1.3 thfr 195: .It
1.1 thfr 196: Timespinner
1.3 thfr 197: .It
1.1 thfr 198: TowerFall: Ascension
1.3 thfr 199: .It
1.1 thfr 200: Unexplored
1.3 thfr 201: .It
1.1 thfr 202: Unholy Heights (no audio)
1.3 thfr 203: .It
1.1 thfr 204: The Useful Dead
1.3 thfr 205: .It
1.5 ! thfr 206: Weapon of Choice
! 207: .It
1.1 thfr 208: Wizorb
1.3 thfr 209: .It
1.1 thfr 210: Wyv and Keep
1.3 thfr 211: .El
1.1 thfr 212: .Sh FILES
213: .Bl -tag -width Ds
214: .It Pa ~/.config/fnaify/fnaify.dllmap.config
215: Configuration file to map DLLs to native libraries, based on OpenBSD
216: library naming.
217: .El
218: .Sh EXIT STATUS
219: .Nm
220: returns 1 if an error occurred with the arguments of files provided,
221: otherwise 0.
222: .Sh EXAMPLES
223: Run in permissive mode, suitable to set up most supported games
224: automatically.
225: .Pp
226: .Dl $ fnaify -y path/to/game/directory
227: .Pp
228: Run in interactive mode.
229: .Nm
230: will prompt the user if any additional DLLs are recommended, or if a
231: file needs to be selected for the launch script.
232: .Pp
233: .Dl $ fnaify -i path/to/game/directory
234: .Sh SEE ALSO
235: .Xr mono 1
236: .Sh HISTORY
237: The
238: .Nm
239: utility was originally created in December 2017 by
240: .An Thomas Frohwein Aq Mt thfr@openbsd.org
1.2 thfr 241: .Sh RELEASE HISTORY
242: .Bl -tag -width Ds
243: .It 2.0
1.3 thfr 244: Add support for XNA games.
245: Introduce modes
1.2 thfr 246: .Fl i | y
247: to facilitate adding in needed assemblies/libraries.
248: .It 1.3
1.3 thfr 249: Add prompt to download and replace
250: .Pa FNA.dll
251: if incompatible version is found.
252: Detect steamstubs directory and use Steamworks stubs if present.
1.2 thfr 253: .It 1.2
254: FreeBSD portability fixes, account for more special cases (MidBoss,
255: Adventures of Shuggy, Atom Zombie Smasher), add directory path to plug
256: in additional libraries.
257: .It 1.1
258: Fix bug selecting .exe by separating input variables.
259: .It 1.0
260: Initial release.
261: .El
1.1 thfr 262: .Sh AUTHORS
263: .An -nosplit
264: .An Thomas Frohwein Aq Mt thfr@openbsd.org
Contact: <mail@mail.thfr.info>