Closed throwaway1611 closed 3 years ago
I also added 1GB to my datasize-cur in login.conf under the staff login class (total 2.5GB). And it still threw out the same error so I don't think ulimit is the problem.
Also when I try fnaify 2.2 and the older FNA.dll it install, I get a different crash message. Which is strange, it used to work just fine with fnaify 2.2 and that dll.
Axiom Verge broke recently because mojoshader API keeps changing. It's not fnaify. Axiom Verge has been updated recently, but that one (version from the Epic Games Store) didn't launch either for me.
ultimately we need either for upstream to get Axiom Verge fixed for recent versions, or maybe someone can come up with a more backwards-compatible approach to mojoshader. I took a look at it a few months ago, but trying to acommodate old and new API is not trivial at all.
@throwaway1611 can you let me know what version of Axiom Verge you have? Epic Games Store, Steam, or the disc?
@throwaway1611 Are you on OpenBSD 6.8? -release, -stable, or -current? What version are your
$ pkg_info | grep -E "fna|mojoshader|faudio"
You could check with FNA upstream (@flibitijibibo) if they have an idea why the most recent Axiom Verge versions might cause such an error...
AV has two spec violations in it: https://gist.github.com/flibitijibibo/ffdd7c6fe32b9846a83807dab24be8fd
I haven't played Axiom Verge since you first had it working on Fnaify, I could test it out over the weekend on 6.9. I have the disc version.
It probably won't work. Will probably need to figure out a way to deal with the spec violations. I have the disc version myself and that hasn't worked.
hm, there may be ways either with a custom FNA.dll just for Axiom Verge, or a runtime adjustment with Harmony. Custom FNA.dll would probably be preferrable. I'll see if I can come up with something for Axiom Verge.
@throwaway1611 @ddkn If you're on -current, you could try the update for fna port at https://thfr.info/tmp/fna-av.diff, ideally with both Axiom Verge and other FNA games that you may have. This fixes Axiom Verge for me - that's with the Epic Games Store version (1.51, or the beta with the randomizer). Will need some testing that it doesn't break anything else if that is to go into the port.
Im using OpenBSD -current. The game version is the collectors edition disc. Do you think the diff will fix the disc version? I will give it a try.
Yeah, no dice. Patching the fna port with your diff doesn't fix the disc version. I would hate to have to buy the game again just to play it lol.
The disc version is 1.34, So I guess I need 1.50 to get the game to work.
I'll take a look at the disc version, too. Got it somewhere. I got it on the Epic store when they gave it away a few months ago. If you should get it from there, I have a draft for a CLI downloader named "legendary" so that booting into Win/Linux won't be necessary. Not being able to get updates for the Collector's Edition might be a problem...
I just tested the Collector's Edition that I have and I can run it. Steps on -current with the patched FNA.dll from the above ports update:
$ unzip Axiom\ Verge\ -\ Windows.zip
$ cd Axiom\ Verge\ -\ Windows
$ fnaify /glprofile:es3 # es3 because I am on an Intel Comet Lake GPU that has a bug in the Iris driver
Per the include changelog, this should be version 1.34 of the game, too.
Okay so the problem is I don't don't how to properly apply a diff file. I thought patch -p1 < fna-av.diff
was all I needed to do but it just dumps the patch files in the fna ports folder. When I run make install it doesn't apply the patches. How do I apply this?
I'll test other FNA games this weekend, make sure they don't break, and unless there are unexpected problems I will update the port and you can just get a fresh package after it's been built.
In my case, I do the following to build an updated port:
$ cd /usr/ports/mystuff/games
$ cp -R /usr/ports/games/fna .
$ patch < /path/to/fna-av.diff
$ # double-check output that diff applied cleanly
$ make update
The patch needs to be applied to a checkout of the ports tree. Not sure if you have a working a current ports tree - otherwise instructions are in here.
Success! Got it working. However your instructions didn't work verbatim, I had to manually create the "patches" folder in /usr/ports /mystuff/games/fna. Copy the patches into fna/patches. cd into the folder run
cd "make show=WRKSRC"
patch < /path/fna-av.diff
cd -
make update-patches
So I had patches in both locations to hedge my bets because I really don't know what the hell I'm doing. Then I bumped the revision to 1 and ran doas make update install
.
I don't what the issue was, but it worked. FNA patched and the game runs now. I'd like to learn more about porting and patching code, Im a total noob. Anyways thanks for the patches and thank you and thanks to the FNA developer. Keep up the great work!
the port now deals with it:
https://marc.info/?l=openbsd-ports-cvs&m=161420579714039&w=2
Full output
fnaify runtime configuration
fnaify Version: 3.0 Game Directory: /home/glitch/games/Axiom Verge - Windows Mono Binary: /usr/local/bin/mono Mono Path: /usr/local/lib/steamworks-nosteam:/usr/local/share/FNA Main Assembly: AxiomVerge.exe Native Library Directories: /usr/local/lib/steamworks-nosteam:/usr/local/lib:/usr/X11R6/lib Framework File: /usr/local/share/FNA/FNA.dll Framework File Version: 21.1.0.0 Symlinks to Config: AxiomVerge.exe.config Config File: /usr/local/share/FNA/FNA.dll.config Other Runtime Environment: Runtime Flags:
Datasize Limit: 1953 M
AT LEAST 2G are recommended for most games. See ksh(1) for ulimit command documentation
2021-02-01 02:58:01,233 - Setting SDL Hint to Allow Joystick Background Events 2021-02-01 02:58:01,271 - RunGame() Begin 2021-02-01 02:58:01,419 - Creating Game. 2021-02-01 02:58:01,989 - Attempting to load Settings.xml 2021-02-01 02:58:01,992 - Settings object was null; initializing new object. 2021-02-01 02:58:01,993 - Initializing settings data. 2021-02-01 02:58:01,993 - Initializing Settings Data. 2021-02-01 02:58:01,993 - Initializing control mappings. 2021-02-01 02:58:02,004 - Creating Graphics object. 2021-02-01 02:58:02,005 - Creating Graphics Device Manager. 2021-02-01 02:58:02,009 - Caught exception constructing THGame(). System.NullReferenceException: Object reference not set to an instance of an object at fl.k () [0x0003f] in <3fad6b5f176845b793b1cc841485018b>:0 at fl..ctor (c A_0) [0x0006e] in <3fad6b5f176845b793b1cc841485018b>:0 at c..ctor () [0x00121] in <3fad6b5f176845b793b1cc841485018b>:0 at cm.a () [0x00011] in <3fad6b5f176845b793b1cc841485018b>:0 2021-02-01 02:58:02,018 - game was null. 2021-02-01 02:58:02,018 - RunGame() End
Running OpenBSD 6.8 -current