Skip to content

Instantly share code, notes, and snippets.

@flibitijibibo
Last active April 5, 2024 06:00
Show Gist options
  • Star 21 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save flibitijibibo/f06e3f60eb66e5462da824e490229591 to your computer and use it in GitHub Desktop.
Save flibitijibibo/f06e3f60eb66e5462da824e490229591 to your computer and use it in GitHub Desktop.
Use this to update a game's FNA installation!
#!/bin/bash
# FNA Update Script
# Written by Ethan "flibitijibibo" Lee
#
# Released under public domain.
# No warranty implied; use at your own risk.
#
# Run this script in the game's executable folder.
#
# This script requires the following programs:
# - git
# - msbuild, which should include a C# compiler
#
# You may want to update MonoKickstart as well!
# https://github.com/flibitijibibo/MonoKickstart/tree/master/precompiled
# Be Smart. Be Safe.
set -e
# Move to script's directory
cd "`dirname "$0"`"
# Grab native libraries
curl -O https://fna.flibitijibibo.com/archive/fnalibs.tar.bz2
tar xvfj fnalibs.tar.bz2 lib64
rm fnalibs.tar.bz2 # Wouldn't want to waste disk space, would we...
# Download and build latest FNA
if [ -d "FNA" ]; then
cd FNA
git pull
git submodule update
else
git clone --recursive https://github.com/FNA-XNA/FNA
cd FNA
curl -o FNA.Settings.props https://flibitijibibo.com/Terraria.Settings.props
fi
msbuild /p:Configuration=Release /p:Platform=x86 FNA.sln
cd ..
cp FNA/bin/Release/* .
# We out.
echo Complete!
@luna-nas
Copy link

For anyone in the future, I fixed this by downloading FNA myself and changing the Makefile to have
lib/SDL2-CS/src/SDL2_gfx.cs \ lib/SDL2-CS/src/SDL2_image.cs \ lib/SDL2-CS/src/SDL2_mixer.cs \ lib/SDL2-CS/src/SDL2_ttf.cs \
at the bottom of the sources list, game runs significantly better now

@MyNameIsKeegan
Copy link

It runs now! And of course much better performance, thank you for your help! Audio is a bit crunchy and crackly now which is annoying but a big step forward from black screen.

@libjared
Copy link

msbuild can be installed on arch linux with the mono-msbuild package

@CoolGirlAyden
Copy link

Msbuild doesn't seem to work for me, so instead I just used xbuild and it worked flawlessly

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment