Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Drug Wars
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Blood Money
      2. Frontier Pursuits
      3. Find Lobbies & Outlaws
      4. Help & Support
    3. Crews

    1. Grand Theft Auto Series

      1. Bugs*
      2. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    6. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    7. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    4. Featured Mods

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Movies & TV
      5. Music
      6. Sports
      7. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Announcements

    2. Forum Support

    3. Suggestions

Cleo draw texture problem (wrong/white texture)


Recommended Posts








Any thoughts?

Some people report that textures (or their alpha) suddenly turned white, and in rare cases displayed wrong texture.
Been experiencing this many times, so i tried to track this problem. And so far i only got few things:

  • Happens if main.scm tries to draw texture. Aside from casino/arcade i recall GTA: UG's radio logo triggers same problem.
  • Textures from main.scm only got white texture problem while ones from cleo got either white or wrong texture.
  • The wrong texture supposed to be used by main.scm.
  • It seems the bug affect several textures that rendered last. At least that's how it looks from script.
  • Draw box also involved with this bug, not sure with texts

Script dependant drawings supposed to fix this, however it kinda obsolete when cleo include that fix.

But still, it seems the cleo fix only solves problem that comes from cleo scripts, not main.scm.

Posting this problem here since i just feel like i should, and don't know where i should post it. I'm not sure if mod like SP would tackle this problem, and not sure if CLEO is still active, either.

Edited by MKKJ
Link to comment
Share on other sites

It's because you should only use texture IDs which aren't used anywhere else, so there arent any conflicts with IDs to begin with.


And if there are, just check if all of the textures are loaded (here's an example from UG) and reload them if needed. Plus, don't draw anything when cutscene widescreen is enabled (when it comes to radio icons) and factor in the decreased volume for stations to use accordingly.

// 0C0C: script_sprite %d loadedOpcodeResult UG_SCM_API ScriptAPI::IsScriptSpriteLoaded(CRunningScript* pRunningScript){pRunningScript->CollectParameters(1);pRunningScript->UpdateCompareFlag(CTheScripts::ScriptSprites[CollectiveArray[0].m_dwParam - 1].texture != nullptr);return OR_CONTINUE;}
Edited by dkluin
Link to comment
Share on other sites

It's because you should only use texture IDs which aren't used anywhere else, so there arent any conflicts with IDs to begin with.

Was texture IDs the one assigned at 038F?

038F=2,load_sprite %1d% from %2h%

I tried moved the IDs to start 61 onwards so it's out of blackjack range (1-53).

But strangely, i got this instead.








Link to comment
Share on other sites

Yes, the texture ID passed to opcode 038F is the same as the index in CTheScripts::ScriptSprites. Just subtract 1 from the index, then multiply the index by 4 to then add the address of CTheScripts::ScriptSprites to get the final address of the sprite. To check if it has been loaded, just check if the RwTexture pointer isn't NULL.

Link to comment
Share on other sites

I don't have any database for addresses, unfortunately. So i can't try it right away.


But so, basically, i simply check all IDs, see if that ID already contains textures from a thread, and if it's empty, then load texture in that slot.


Check ID 1 > Loaded

Check ID 2 > Loaded



Check ID 54 > NULL > 038F: load_sprite 54 from "TEST"



Did i get that right?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.