Fix crash when launching at 720p or lower resolutions#981
Merged
codeHusky merged 1 commit intosmartcmd:mainfrom Mar 8, 2026
Merged
Fix crash when launching at 720p or lower resolutions#981codeHusky merged 1 commit intosmartcmd:mainfrom
codeHusky merged 1 commit intosmartcmd:mainfrom
Conversation
The HD skin libraries (skinHD.swf, skinHDHud.swf, etc.) are loaded unconditionally on Win64/Durango/Orbis, and they import the Iggy library "platformskinHD.swf" by name. However, the platform skin path and registration name were gated behind a runtime resolution check (m_fScreenHeight > 720.0f), so at exactly 720p the skin was registered as "platformskin.swf" instead, and below 720p the non-HD .swf file was loaded entirely. This caused Iggy to fail resolving the import, which cascaded into a failed scene load and hit a __debugbreak(). Always use the HD platform skin on these platforms since the HD libraries that depend on it are always loaded regardless of resolution. PS3/PSVita are unaffected as they have their own non-HD skin loading path.
Contributor
Author
|
@codeHusky to be merged, really easy to review, tested |
Collaborator
|
are you sure forcing HD makes sense? you can still play consoles at 720p |
Contributor
Author
|
For now yes, it would me much more invasive doing otherwise, i also have in program to address this better, for now it's good, provides good visibility at pretty much any resolutions from my tests |
Collaborator
|
@MrTheShy We have multiple players reporting that at non-HD resolutions the HD textures are blurry. realistically you need to fix whatever the root cause was in sub-HD resolutions as iggy scales things super blurry with HD assets. |
piebotc
pushed a commit
to piebotc/LegacyEvolved
that referenced
this pull request
Mar 9, 2026
The HD skin libraries (skinHD.swf, skinHDHud.swf, etc.) are loaded unconditionally on Win64/Durango/Orbis, and they import the Iggy library "platformskinHD.swf" by name. However, the platform skin path and registration name were gated behind a runtime resolution check (m_fScreenHeight > 720.0f), so at exactly 720p the skin was registered as "platformskin.swf" instead, and below 720p the non-HD .swf file was loaded entirely. This caused Iggy to fail resolving the import, which cascaded into a failed scene load and hit a __debugbreak(). Always use the HD platform skin on these platforms since the HD libraries that depend on it are always loaded regardless of resolution. PS3/PSVita are unaffected as they have their own non-HD skin loading path.
Kamenkovic
pushed a commit
to Kamenkovic/FpsLimit
that referenced
this pull request
Mar 9, 2026
The HD skin libraries (skinHD.swf, skinHDHud.swf, etc.) are loaded unconditionally on Win64/Durango/Orbis, and they import the Iggy library "platformskinHD.swf" by name. However, the platform skin path and registration name were gated behind a runtime resolution check (m_fScreenHeight > 720.0f), so at exactly 720p the skin was registered as "platformskin.swf" instead, and below 720p the non-HD .swf file was loaded entirely. This caused Iggy to fail resolving the import, which cascaded into a failed scene load and hit a __debugbreak(). Always use the HD platform skin on these platforms since the HD libraries that depend on it are always loaded regardless of resolution. PS3/PSVita are unaffected as they have their own non-HD skin loading path.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Description
Fix crash on startup when the game window is at 720p or below on Windows64.
Changes
Previous Behavior
Launching the game at 1280x720 or any resolution with height ≤720 caused an immediate crash during UI initialization. Iggy reported "Attempted to import undefined library platformskinHD.swf", followed by "Failed to load iggy scene!" and a
__debugbreak()inUIScene::loadMovie().Root Cause
In
UIController::loadSkins(), the platform skin path and its Iggy registration name were chosen based on a runtime check (m_fScreenHeight > 720.0f). At 720p this evaluates to false, so the skin was loaded fromskinWin.swfand registered as"platformskin.swf". Below 720p, the same non-HD path was taken.However, further down in the same function, the HD skin libraries (
skinHD.swf,skinHDHud.swf,skinHDInGame.swf, etc.) are loaded unconditionally on Win64/Durango/Orbis — there is no resolution gate around them. These SWFs internallyimport platformskinHD.swf, which was never registered at ≤720p, causing Iggy to fail the import and every dependent scene to fail loading.This is an original 4J bug — the HD block was written assuming these platforms always run above 720p, which is true for consoles but not for PC where the window can be any size.
New Behavior
The game starts and runs correctly at any resolution on Windows64, including 720p and 480p.
Fix Implementation
Removed the runtime resolution conditional for the platform skin path on Win64/Durango/Orbis. These platforms now always load the HD variant (
skinHDWin.swf/skinHDDurango.swf/skinHDOrbis.swf) and always register it as"platformskinHD.swf", matching what the unconditionally-loaded HD skin libraries expect. The registration was changed from a runtimeifto a compile-time#ifto make the platform split explicit. PS3/PSVita are unaffected as they have their own separate non-HD skin loading path.AI Use Disclosure
No AI was used to write the code in this PR.
Related Issues