Skip to content

FF8: Remastered compatibility (unstable)#887

Draft
myst6re wants to merge 2 commits intojulianxhokaxhiu:masterfrom
myst6re:feature/ff8-zzz
Draft

FF8: Remastered compatibility (unstable)#887
myst6re wants to merge 2 commits intojulianxhokaxhiu:masterfrom
myst6re:feature/ff8-zzz

Conversation

@myst6re
Copy link
Copy Markdown
Contributor

@myst6re myst6re commented Feb 7, 2026

Summary

Bring Final Fantasy VIII Remastered compatibility with FFNx

Motivation

Because I can

How to test

Read how_to_install.md
Battle will crash, please wait for the remastered mod on junction VIII to fix battle. (tsunamods-codes/Junction-VIII-Catalogs#111)

Details

Already in master

  • Add FS archive support for LZ4 compression
  • Add more memory for field models

Current PR

  • Remastered detection (if FFVIII.exe exists, then remastered flag is enabled)
  • Load data from main.zzz archive
  • Read sounds from other.zzz archive
  • Read movies from other.zzz using ffmpeg
  • Read music from other.zzz using VGMSTREAM
  • Read wav from other.zzz using VGMSTREAM
  • Read external textures from main.zzz using pnglib
  • Fix FS archive lang paths for field
  • Link game to Steam and redirect created files to Remaster paths
  • Make steam dll linking external and optionnal
  • Ensure the official launcher can start the game with FFNx
  • Reduce scale size of remaster models
  • Add more memory for battle effects
  • Add minimal support for remaster model textures field
  • Add full support for remaster textures field
  • Add support for remaster textures world (textures/field.fs/field_hd_new/wmset_014_0.png)
  • Add minimal support for remaster model textures battle
  • Update installation steps
  • Add support for high res menu font and icons
  • Add support for high res triple triad
  • Update ff8_high_res_font parameter
  • Add a new parameter to enable/disable remastered textures

Part 2

  • Fix hang for battle models with more vertices (Main characters + Weapons + G-Forces + Some monsters)
  • Add support for new texture animation system in field
  • Add support for new texture animation system in battle
  • Add full support for remaster textures battle
  • Add chocobo world item drop to Angelo limit break
  • dinput, xinput, keyboard icons auto selection support (hires\iconfl01.tex\en\4_xinput.png)
2026-02-20 13_52_49-Final Fantasy VIII (Direct3D11) devel 2026-02-20 13_53_08-Final Fantasy VIII (Direct3D11) devel 2026-02-20 13_53_24-Final Fantasy VIII (Direct3D11) devel 2026-02-20 13_54_44-Final Fantasy VIII (Direct3D11) devel 2026-02-20 13_55_20-Final Fantasy VIII (Direct3D11) devel 2026-02-20 13_57_17-Final Fantasy VIII (Direct3D11) devel

ACKs

  • I have updated the Changelog.md file
  • N/A I did test my code on FF7
  • I did test my code on FF8 Remastered
  • I did test my code on FF8 Steam

@julianxhokaxhiu
Copy link
Copy Markdown
Owner

What is the reasoning behind changing the entire Steam API dll linking out of curiosity?

@myst6re
Copy link
Copy Markdown
Contributor Author

myst6re commented Feb 7, 2026

What is the reasoning behind changing the entire Steam API dll linking out of curiosity?

FFNx overrides the steam api dll of the game. On 2013 version it works because we have basically the same dll, but with the remastered, the launcher and FFVIII.exe links to a 64-bit steam dll untrue, a more recent steam dll which is not compatible with ours. Using our dll prevent the launcher from starting, that's all :)

@julianxhokaxhiu
Copy link
Copy Markdown
Owner

Appreciated, let's discuss this internally then on how we could tackle it better, but it's not a blocker for now so feel free to keep working with this approach, there are other major things to fix before anyway and this is a minor ( but nevertheless important ) nuance. Thanks!

@myst6re myst6re force-pushed the feature/ff8-zzz branch 3 times, most recently from a415346 to e784f96 Compare February 11, 2026 21:50
Comment thread src/ff8/mod.cpp Outdated
@myst6re myst6re force-pushed the feature/ff8-zzz branch 6 times, most recently from ad5edbb to fe2a3ba Compare February 13, 2026 22:54
@julianxhokaxhiu julianxhokaxhiu force-pushed the master branch 2 times, most recently from ccbcf2b to b205326 Compare February 15, 2026 01:36
@myst6re myst6re force-pushed the feature/ff8-zzz branch 4 times, most recently from c5739e1 to 2e27b8a Compare February 20, 2026 12:52
@myst6re
Copy link
Copy Markdown
Contributor Author

myst6re commented Feb 20, 2026

Added support for menu texture + some screenshots

@myst6re myst6re force-pushed the feature/ff8-zzz branch 10 times, most recently from 10c1e6d to 7823db7 Compare February 22, 2026 12:44
@zaphod77

This comment was marked as spam.

@UnblessedSouls
Copy link
Copy Markdown

@myst6re for the hangs on the remastered version I'm not sure if this helps but I was learning how to research stuff in the remastered version and came across this information if its already known then feel free to ignore

FF8 Remastered: Found Hardcoded 12-bit Vertex Mask in FFVIII_EFIGS.dll

Description
While investigating the "battle hang" issue when loading high-poly models in the Remastered version, I've isolated the specific hardware mask responsible for the vertex limit. The logic is confirmed to live inside the legacy engine wrapper (FFVIII_EFIGS.dll).

Technical Breakdown
The engine uses a bitwise AND to truncate the vertex count at 4,095 (0xFFF) before memory allocation. Attempting to patch this mask to 0xFFFF via debugger results in a "Vertex Explosion," suggesting that the subsequent rendering pipeline expects a specific 12-bit data structure or is reading adjacent UV/Texture data as geometry.

Location Data

Target Module: FFVIII_EFIGS.dll

The Mask Instruction: AND EBX, 00000FFF

AoB Signature: 8B D8 C1 E8 0C 81 E3 FF 0F 00 00
(Note: This translates to mov ebx,eax, shr eax,0C, and ebx,0x0FFF)

Call Stack for Hooking:

Read Vertex Count: FFVIII_EFIGS.dll + 159B273 (movzx eax,ax from .dat buffer)

Part Pointer Loop: FFVIII_EFIGS.dll + 81171B

Main Builder Function: FFVIII_EFIGS.dll + 7F967A

Observations
Manual modification of the mask in the active process confirmed it is the master gatekeeper for all battle models (Characters, Weapons, GFs). A proper fix will likely require a detour hook to re-allocate or manage the buffer offset to prevent the vertex explosion seen here:.
Screenshot 2026-02-24 204218

@myst6re
Copy link
Copy Markdown
Contributor Author

myst6re commented Feb 24, 2026

@myst6re for the hangs on the remastered version I'm not sure if this helps but I was learning how to research stuff in the remastered version and came across this information if its already known then feel free to ignore

Firstly, thanks for the investigation! I needed help, and here you are! The sub you talk about is a remastered hook that's rewrite the original sub entirely, maybe just to add the mask, or maybe for more. I guess I'll eventually rewrite the entire sub too. I done the same for field models, so that's not surprising.

@myst6re myst6re force-pushed the feature/ff8-zzz branch 5 times, most recently from 3c4ccf8 to 8837e0a Compare February 26, 2026 21:43
@myst6re myst6re force-pushed the feature/ff8-zzz branch 2 times, most recently from 0467e38 to 4532039 Compare February 27, 2026 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants