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

Annotation of projects/fnaify/fnaify.1, Revision 1.40

1.40    ! thfr        1: .Dd $Mdocdate: August 8 2020 $
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
1.7       thfr       11: .Op Fl c Ar configfile
1.1       thfr       12: .Op Fl d Ar depdir
                     13: .Op Fl m Ar monopath
                     14: .Op Ar gamedir
                     15: .Sh DESCRIPTION
                     16: .Nm
                     17: sets up games based on the FNA engine to operate with OpenBSD-native
1.3       thfr       18: libraries and its
                     19: .Xr mono 1
                     20: runtime.
1.1       thfr       21: .Pp
                     22: As of version 2.0,
                     23: .Nm
                     24: has been extended to attempt configuring XNA games as well.
                     25: .Nm
1.3       thfr       26: can be run in 3 basic modes regarding the addition of missing libraries:
                     27: restrictive, interactive, and permissive.
1.1       thfr       28: .Pp
1.19      thfr       29: All games require additional libraries from ports, like SDL2. Some of
                     30: them can be found in fnaify-extralibs package, like libatomstb or
                     31: libfmod_SDL.
                     32: .Pp
1.1       thfr       33: The arguments are as follows:
                     34: .Bl -tag -width Ds
                     35: .It Fl i | y
                     36: The mode determines how
                     37: .Nm
                     38: handles situations where compatibility problems are identified that can
                     39: be addressed with drop-in DLL replacements, or where an option needs to
                     40: be selected.
                     41: With
1.3       thfr       42: .Fl i ,
1.1       thfr       43: .Nm
                     44: runs in interactive mode, meaning the user will be prompted in every
                     45: case.
                     46: With
1.3       thfr       47: .Fl y ,
1.1       thfr       48: .Nm
1.3       thfr       49: runs in permissive mode
                     50: .Po
1.1       thfr       51: .Fl y
                     52: for
1.3       thfr       53: .Dq yes
                     54: to all
                     55: .Pc .
                     56: This means that any suggested drop-in DLLs will be installed,
1.1       thfr       57: and if different options are possible (like picking among several .exe
                     58: files for the launch script), the first one will be selected
                     59: automatically.
                     60: If neither
                     61: .Fl i
                     62: nor
                     63: .Fl y
                     64: is specified,
                     65: .Nm
                     66: runs in restrictive mode, that is no drop-in DLLs will be installed.
1.7       thfr       67: .It Fl c Ar configfile
                     68: Optional. Use
                     69: .Ar configfile
                     70: for the configuration of
                     71: .Xr mono 1 .
                     72: This sets up dllmap/dllentry settings to use the correct libraries. See
                     73: .Xr mono-config 5
                     74: for details. If this option is omitted,
                     75: .Nm
                     76: looks first for
1.9       thfr       77: .Pa ~/.config/fnaify/fnaify.dllmap.config
1.7       thfr       78: and then for
1.9       thfr       79: .Pa /usr/local/share/fnaify/fnaify.dllmap.config .
1.7       thfr       80: If neither one is found,
                     81: .Nm
                     82: creates
                     83: .Pa ~/.config/fnaify/fnaify.dllmap.config
                     84: with default settings.
1.1       thfr       85: .It Fl d Ar depdir
                     86: Add
                     87: .Ar depdir
1.3       thfr       88: to the directories to search for native library dependencies.
                     89: A directory specified this way will be searched
1.1       thfr       90: .Em before
1.3       thfr       91: the default locations
                     92: .Pq Pa /usr/local/lib No etc. .
1.1       thfr       93: .It Fl m Ar monopath
                     94: Add
                     95: .Ar monopath
1.3       thfr       96: to the directories the
                     97: .Xr mono 1
                     98: runtime will search for DLLs.
1.1       thfr       99: .It Fl h
                    100: Prints help text.
                    101: .It Fl v
                    102: Verbose mode.
                    103: .It Ar gamedir
1.3       thfr      104: Optional.
                    105: Path to the game directory to process.
                    106: If not specified, the current working directory will be used.
1.1       thfr      107: .El
                    108: .Sh SUPPORTED GAMES
1.3       thfr      109: .Bl -item -compact
                    110: .It
1.1       thfr      111: The Adventures of Shuggy
1.3       thfr      112: .It
1.6       thfr      113: Akane the Kunoichi
                    114: .It
                    115: Amazing Princess Sarah
                    116: .It
1.1       thfr      117: Apotheon
1.3       thfr      118: .It
1.6       thfr      119: Apple Jack 1&2
                    120: .It
1.19      thfr      121: Atom Zombie Smasher
                    122: .It
1.36      thfr      123: A Virus Named TOM [!]
                    124: .It
1.25      thfr      125: Before the Echo [!]
1.40    ! thfr      126: .It
        !           127: Bird Assassin
1.24      thfr      128: .It
1.1       thfr      129: Bleed
1.3       thfr      130: .It
1.1       thfr      131: Bleed 2
1.3       thfr      132: .It
1.1       thfr      133: Breath of Death VII
1.3       thfr      134: .It
1.1       thfr      135: Brushwood Buddies
1.3       thfr      136: .It
1.37      thfr      137: Camera Obscura
                    138: .It
1.1       thfr      139: Capsized
1.3       thfr      140: .It
1.37      thfr      141: Celeste (no audio)
1.19      thfr      142: .It
1.1       thfr      143: Chaos Heart
1.3       thfr      144: .It
1.1       thfr      145: Charlie Murder
1.3       thfr      146: .It
1.1       thfr      147: Chasm
1.3       thfr      148: .It
1.1       thfr      149: CometStriker
1.3       thfr      150: .It
1.1       thfr      151: Cryptark
1.3       thfr      152: .It
1.23      thfr      153: Cthulhu Saves the World
1.3       thfr      154: .It
1.1       thfr      155: Curse of the Crescent Isle DX
1.3       thfr      156: .It
1.1       thfr      157: Dad Quest
1.3       thfr      158: .It
1.22      thfr      159: Dead Pixels [!]
1.6       thfr      160: .It
1.22      thfr      161: Dead Pixels II [!]
1.3       thfr      162: .It
1.1       thfr      163: The Dishwasher: Vampire Smile
1.3       thfr      164: .It
1.6       thfr      165: Draw a Stickman: EPIC
                    166: .It
1.1       thfr      167: Dust: An Elysian Tail
1.3       thfr      168: .It
1.38      thfr      169: Eagle Island
                    170: .It
1.15      thfr      171: Eliza
                    172: .It
1.1       thfr      173: Escape Goat
1.3       thfr      174: .It
1.1       thfr      175: Escape Goat 2
1.3       thfr      176: .It
1.15      thfr      177: EXAPUNKS
                    178: .It
1.22      thfr      179: Explosionade [!]
1.6       thfr      180: .It
1.1       thfr      181: FEZ
1.3       thfr      182: .It
1.1       thfr      183: Fist Puncher
1.3       thfr      184: .It
1.1       thfr      185: Flinthook
1.3       thfr      186: .It
1.1       thfr      187: Flotilla
1.3       thfr      188: .It
1.22      thfr      189: Game Type [!]
1.6       thfr      190: .It
1.1       thfr      191: Gateways
1.3       thfr      192: .It
1.22      thfr      193: Grand Class Melee 2 [!]
1.6       thfr      194: .It
1.1       thfr      195: Growing Pains
1.3       thfr      196: .It
1.24      thfr      197: HackNet
1.3       thfr      198: .It
1.32      thfr      199: Hidden in Plain Sight
                    200: .It
1.22      thfr      201: Hive [!] - sometimes doesn't start up
1.3       thfr      202: .It
1.1       thfr      203: Hyphen
1.3       thfr      204: .It
1.1       thfr      205: Jon Shafer's At the Gates
1.3       thfr      206: .It
1.39      thfr      207: Khet 2.0
                    208: .It
1.26      thfr      209: LaserCat
1.3       thfr      210: .It
1.13      thfr      211: Little Racers STREET
                    212: .It
1.1       thfr      213: Mercenary Kings
1.19      thfr      214: .It
                    215: MidBoss
1.3       thfr      216: .It
1.15      thfr      217: Molek-Syntez
                    218: .It
1.32      thfr      219: Mount Your Friends [!]
1.16      thfr      220: .It
                    221: NeuroVoider
1.4       thfr      222: .It
1.1       thfr      223: Ninja Warrior
1.3       thfr      224: .It
1.28      thfr      225: One Finger Death Punch
1.3       thfr      226: .It
1.29      thfr      227: Opus Magnum
1.15      thfr      228: .It
1.1       thfr      229: Overdriven Reloaded
1.3       thfr      230: .It
1.1       thfr      231: Owlboy
1.3       thfr      232: .It
1.1       thfr      233: Paladin
1.3       thfr      234: .It
1.1       thfr      235: Penny Arcade's On the Rain-Slick Precipice of Darkness 3
1.3       thfr      236: .It
1.1       thfr      237: Penny Arcade's On the Rain-Slick Precipice of Darkness 4
1.6       thfr      238: .It
1.30      thfr      239: Phoenix Force
1.3       thfr      240: .It
1.32      thfr      241: PlanetFriend
                    242: .It
1.31      thfr      243: Press X to Not Die
1.3       thfr      244: .It
1.1       thfr      245: Rex Rocket
1.3       thfr      246: .It
1.1       thfr      247: Rogue Legacy
1.3       thfr      248: .It
1.32      thfr      249: Ruggnar
                    250: .It
1.1       thfr      251: Salt and Sanctuary
1.3       thfr      252: .It
1.32      thfr      253: Session Seven
                    254: .It
1.18      thfr      255: Shenzhen I/O
                    256: .It
1.1       thfr      257: Shipwreck
1.39      thfr      258: .It
                    259: Signs of Life
1.3       thfr      260: .It
1.1       thfr      261: Skulls of the Shogun
1.3       thfr      262: .It
1.1       thfr      263: Soulcaster 1 & 2
1.3       thfr      264: .It
1.32      thfr      265: SpaceChem [!]
1.20      thfr      266: .It
1.1       thfr      267: SpeedRunners
1.3       thfr      268: .It
1.1       thfr      269: Stardew Valley
1.3       thfr      270: .It
1.1       thfr      271: Sumico
1.3       thfr      272: .It
1.32      thfr      273: Super Amazing Wagon Adventure [!]
1.3       thfr      274: .It
1.4       thfr      275: Super Blood Hockey
                    276: .It
1.1       thfr      277: Super Rad Raygun
1.4       thfr      278: .It
1.32      thfr      279: Sword of the Stars: The Pit [!]
1.3       thfr      280: .It
1.11      thfr      281: Terraria
                    282: .It
1.1       thfr      283: Timespinner
1.3       thfr      284: .It
1.1       thfr      285: TowerFall: Ascension
1.3       thfr      286: .It
1.32      thfr      287: Ultra Hat Dimension
                    288: .It
1.1       thfr      289: Unexplored
1.3       thfr      290: .It
1.1       thfr      291: Unholy Heights (no audio)
1.3       thfr      292: .It
1.1       thfr      293: The Useful Dead
1.3       thfr      294: .It
1.32      thfr      295: Weapon of Choice [!]
1.36      thfr      296: .It
                    297: Wizorb
1.3       thfr      298: .It
1.1       thfr      299: Wyv and Keep
1.3       thfr      300: .El
1.1       thfr      301: .Sh FILES
                    302: .Bl -tag -width Ds
1.10      thfr      303: .It Pa /usr/local/share/fnaify/fnaify.dllmap.config
                    304: Default configuration file to map DLLs to native libraries.
1.9       thfr      305: .It Pa ~/.config/fnaify/fnaify.dllmap.config
1.10      thfr      306: User directory configuration file. Takes precedence if it exists.
1.15      thfr      307: Make sure to keep it up-to-date!
1.1       thfr      308: .El
                    309: .Sh EXIT STATUS
                    310: .Nm
                    311: returns 1 if an error occurred with the arguments of files provided,
                    312: otherwise 0.
                    313: .Sh EXAMPLES
                    314: Run in permissive mode, suitable to set up most supported games
                    315: automatically.
                    316: .Pp
                    317: .Dl $ fnaify -y path/to/game/directory
                    318: .Pp
                    319: Run in interactive mode.
                    320: .Nm
                    321: will prompt the user if any additional DLLs are recommended, or if a
                    322: file needs to be selected for the launch script.
                    323: .Pp
                    324: .Dl $ fnaify -i path/to/game/directory
                    325: .Sh SEE ALSO
1.7       thfr      326: .Xr mono 1 ,
                    327: .Xr mono-config 5
1.1       thfr      328: .Sh HISTORY
                    329: The
                    330: .Nm
                    331: utility was originally created in December 2017 by
1.7       thfr      332: .An Thomas Frohwein Aq Mt thfr@openbsd.org .
1.2       thfr      333: .Sh RELEASE HISTORY
                    334: .Bl -tag -width Ds
1.33      thfr      335: .It 3.0
1.34      thfr      336: Enable modes (\fIsetup\fP, \fIrun\fP).
1.17      thfr      337: Support for several Zachtronics games. Add libstubborn use to dllmap.
                    338: Symlinking for MonoGame, e.g. NeuroVoider.
1.14      thfr      339: .It 2.2
                    340: Fix config for mono 6. Add support for libcestub.
1.8       thfr      341: .It 2.1
1.12      thfr      342: Support for additional XNA games. Add MONO_FORCE_COMPAT quirk.
1.2       thfr      343: .It 2.0
1.3       thfr      344: Add support for XNA games.
1.35      thfr      345: Introduce interactivity flags
1.2       thfr      346: .Fl i | y
                    347: to facilitate adding in needed assemblies/libraries.
                    348: .It 1.3
1.3       thfr      349: Add prompt to download and replace
                    350: .Pa FNA.dll
                    351: if incompatible version is found.
                    352: Detect steamstubs directory and use Steamworks stubs if present.
1.2       thfr      353: .It 1.2
                    354: FreeBSD portability fixes, account for more special cases (MidBoss,
                    355: Adventures of Shuggy, Atom Zombie Smasher), add directory path to plug
                    356: in additional libraries.
                    357: .It 1.1
                    358: Fix bug selecting .exe by separating input variables.
                    359: .It 1.0
                    360: Initial release.
                    361: .El
1.1       thfr      362: .Sh AUTHORS
                    363: .An -nosplit
                    364: .An Thomas Frohwein Aq Mt thfr@openbsd.org

Contact: <mail@mail.thfr.info>