Next generation modding platform for Final Fantasy VII and Final Fantasy VIII ( with native Steam 2013 release support! )
FFNx is an attempt to move forward what you were used to know as FF7_OpenGL driver, made by Aali.
In general, what you can expect out of FFNx is:
- One single .dll file to be copied
- Support for 7h 1.x/2.x
- Support for newest video and audio codecs ( WEBM, H.265, etc.)
- VGMStream built-in library WITH LOOP support for .ogg files!
- Five different Rendering Backends:
- OpenGL ( safe default )
- DirectX 9 ( Tech Preview: Not Recommended )
- DirectX 11 ( suggested alternative to OpenGL )
- DirectX 12
- Vulkan
- ...and much more!
For a more detailed feature list, feel free to check the related Features wiki page.
Installation instructions, configuration and much more can be found at this address: https://github.com/julianxhokaxhiu/FFNx/wiki
Vanilla/Steam |
---|
If you're curious to know it, FFNx is made with:
- C++ code base
- Latest MSVC available on Visual Studio 2019 Community Edition
- CMake ( as make files )
- BGFX ( as backend renderer )
- BIMG ( for custom textures )
- FFMpeg with H/W Accelleration support
- VGMStream using FFMpeg as backend (with loop support!)
- tomlplusplus ( for the configuration management )
- StackWalker ( for stack traces in the log file )
- pugixml ( for the Steam XML manifest )
- md5 ( for the Steam XML manifest )
- libpng ( for a better and faster PNG texture support )
- imgui ( to better debug the in-game engine )
- discohash ( to extract an hash from palette game textures data known as animated textures )
- SoLoud ( as the audio engine used to playback audio, music or voice files )
- openpsf ( as the MINIPSF emulation engine to playback PSX/PS2 music files )
Tested build profiles:
- x86-Release ( default, the same used to release artifacts in this Github page )
- x86-RelWithDebInfo ( used while developing to better debug some issues )
Output folder: .dist/build/[CHOSEN_PROFILE]/bin
( eg. .dist/build/x86-Release/bin
)
Please note:
By default Visual Studio will pick the x86-Release build configuration, but you can choose any other profile available.
- Download the the latest Visual Studio Community installer
- Run the installer and import this .vsconfig file in the installer to pick the required components to build this project
- Once installed, open this repository as a folder in Visual Studio 2019 and click the build button.
- REQUIRED! Follow up the steps to install Visual Studio, which will also install the MSVC toolchain
- Download and install the latest Visual Studio Code release
- Install the following extensions:
- Open this repository as a folder in Visual Studio code
- Choose as build profile in the status bar
CMake: [Release]
( or one of the aforementioned profiles ) - Click the button on the status bar
Build
FFNx offers multiple support channels, pick the one you prefer
- Qhimm Forum: http://forums.qhimm.com/index.php?topic=19970.0
- Tsunamods Forum: https://forum.tsunamods.com/viewtopic.php?p=41#p41
- Qhimm FFNx-FF7 ( Final Fantasy VII only): https://discord.gg/N6M6pKS
- Qhimm FFNx-FF8 ( Final Fantasy VIII only): https://discord.gg/u6M7DnY
- Tsunamods FFNx: https://discord.gg/Urq67Uz ( remember to hit the Red Chocobo reaction! )
This project could have not been a reality if those people would have not worked on FF7 and FF8 with their deep passion and knowledge. FFNx makes use also of their work, and I will never be enough grateful to those people. The order is purely Alphabetical.
These people are:
- Aali:
- for the original Driver code FFNx is based on.
- Chrysalis:
- for the battle fullscreen hext patch
- for the menu cursor vertical centering in menu
- DLPB:
- for original Hext concept and specification that FFNx implemented as well
- for the field vertical centering hext patch, which FFNx provides a default patch for
- for the Soft-Reset original concept
- for the no battle original concept
- dziugo:
- for the original FMV skip concept
- ficedula:
- for 7h 1.x which FFNx provides support for
- Iros:
- for 7h 1.x which FFNx provides support for
- JWP:
- for imgui integration within FFNx
- Kranmer
- for PHS save everywhere Hext patch
- for the no battle original concept
- Maki:
- for FF8 UV Hext Patch in the world map, which FFNx provides a default patch for
- for the help in getting the first iterations of FFNx running on FF8 2000/2013 release
- myst6re:
- for the great tools like Makou Reactor, Deling and many others he did which helped a lot in improving FF8 while working on the code
- for the great help in the code implementing the MINIPSF emulation layer being present inside FFNx
- for the heavy testing and lifting of a lot of bugs being catched in FFNx, for FF8
- for the Steam savegame logic in the manifest.xml for FF8
- for the real-time SFX volume change for FF7
- quantumpencil and Nax:
- for the original CMake files FFNx has based its work upon
- for all the help in getting some logics wired up in the game engine and a lot of hex addresses I would never been able to figure out myself
- Satsuki:
- for the heavy testing and lifting of a lot of bugs being catched in FFNx, for FF7
- for the field vertical centering hext patch, which FFNx provides a default patch for
- for a lot of hex addresses I would have never been able to figure out myself otherwise
- for the original Speedhack concept and help in getting it natively into FFNx
- Sebanisu:
- for the help in getting the first iterations of FFNx running on FF8 2000/2013 release
- for the heavy testing and lifting of a lot of bugs being catched in FFNx, for FF8
- sithlord48:
- for the Steam savegame logic in the manifest.xml for FF7
- TurBoss:
- for 7h 1.x source code release and FFNx enablement
- unab0mb:
- for the official integration of FFNx within 7thHeaven 2.3+
I'm sure I forgot many others through the route. In case you feel you're missing here, feel free to open a PR! I'll be happy to include you because you deserve this.
FFNx is released under GPLv3 license, and you can get a copy of the license here: COPYING.txt
If you paid for it, remember to ask for a refund to the person who sold you a copy. Make also sure you get a copy of the source code if you got it as a binary only.
If the person who gave you a copy will refuse to give you the source code, report it here: https://www.gnu.org/licenses/gpl-violation.html
All rights belong to their respective owners.