GM:S 1.4 AssetCompiler Error

Discussion in 'Legacy GameMaker Community Tech Support' started by BaconMuncher, Nov 28, 2019.

  1. BaconMuncher

    BaconMuncher Member

    Joined:
    Jul 11, 2017
    Posts:
    7
    Okay, my game was running just fine last time I ran it and then compiled it into an exe a couple of weeks ago. The exe game works perfectly. And I haven't done anything with the asset project folder since then, nor I have logged into GameMaker at all since a I compiled it a couple weeks back.

    Today, I launched GameMaker 1.4 and tried to load into my game project to work on it and it all loads fine but when I hit the PLAY green arrow, it starts compiling and eventually comes up with an "Index was outside the bounds of the array" error. It gives me no more information than that, and running the debugger also comes up with the same window.

    My questions are WHY? Why is GameMaker suddenly not able to run my project when NOTHING HAS CHANGED and the last thing I did was compile an exe which runs perfectly with no errors?

    My second questions is WHY doesn't GameMaker give me more specific information so I can figure out and fix whatever is wrong? Whatever is wrong seems to be an issue CAUSED BY GAMEMAKER, not anything I did as I've already explained

    Third question... Is there someway I can fix this quickly rather than randomly pouring through my 15,000 lines of code in all my objects without a clue of how to fix this problem?


    Thanks!
     
  2. RATED ARCADE

    RATED ARCADE Member

    Joined:
    Dec 19, 2019
    Posts:
    13
    I have the same issue relating to the assetcompiler message popping up after I hit the green arrow. My message states " Path, File name too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters."
    Did you figure out how to fix your error message?
     
  3. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    4,880
    That error message is pretty self explanatory.
    Check the compiler log for the paths it is generating, find which one(s) are too long and take action to make sure they are as short as possible.

    If you still aren't sure, post the contents of the log here inside a code and spoiler tags.
     
    RATED ARCADE likes this.
  4. RATED ARCADE

    RATED ARCADE Member

    Joined:
    Dec 19, 2019
    Posts:
    13
    I'm not sure which paths are too long. How do I post the contents of the log here inside a code and spoiler tags?
     
  5. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    4,880
    Highlight the text in the log, copy it, then post here by clicking the icon above the textbox named "Insert", choose "Spoiler" and paste the text.

    Click "Post Reply".
     
    RATED ARCADE likes this.
  6. RATED ARCADE

    RATED ARCADE Member

    Joined:
    Dec 19, 2019
    Posts:
    13
    Compile started: 7:14:26 PM
    "C:\Users\justi\AppData\Roaming\GameMaker-Studio\GMAssetCompiler.exe" /c /m=win /config="Default" /tgt=64 /obob=True /obpp=False /obru=True /obes=False /i=3 /j=12 /cvm /tp=2048 /mv=1 /iv=0 /rv=0 /bv=9999 /gn="Dual Threat" /td="C:\Users\justi\AppData\Local" /cd="C:\Users\justi\OneDrive\Documents\GameMaker\Cache" /sh=True /dbgp="6502" /hip="127.0.0.1" /hprt="51268" /o="C:\Users\justi\AppData\Local\gm_ttt_33459\gm_ttt_35993" "C:\RATED ARCADE PROJECT\Dual Threat.gmx\Dual Threat.project.gmx"
    Reading project file....Warning : Unable to find audio resource "Game_Complete_Sound"- using default sound (Windows Ding)
    finished.
    Compile Constants...finished.
    Remove DnD...finished.
    Compile Scripts...finished.
    Compile Objects...finished.
    Compile Timelines...finished.
    Compile Triggers...finished.
    Compile Rooms...finished.
    Compile Extensions...finished.
    Global scripts...finished.
    Final Compile...finished.
    Saving IFF file... C:\Users\justi\AppData\Local\gm_ttt_33459\gm_ttt_35993\Dual Threat.win
    Writing Chunk... GEN8
    Writing Chunk... OPTN
    Writing Chunk... LANG
    Writing Chunk... EXTN
    Writing Chunk... SOND
    Converting Sound_Booing to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting QB_Hike to Ogg with bit rate 512, quality 6, stereo @ 48000Hz
    Converting crowd to Ogg with bit rate 192, quality 3, stereo @ 44100Hz
    Converting Game_Background_Music to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting Spin_Move to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting Button_Pressed to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting Powerup to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting Target_Breaking to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting TD_Cheers to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting Alien_Arcade_Game_Intro_sound to Wav 16bit mono @ 44100Hz
    Converting Arcade_Sound_Suck_Into_Game_Intro to Wav 16bit mono @ 44100Hz
    Converting QB_Sack to Wav 16bit mono @ 44100Hz
    Converting sound_Instant_Transmission to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting sound_Final_Flash_Attack_1 to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting sound_Speed_Up to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting sound_Explosion_1 to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting Fireball_Football to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting Sacked to Ogg with bit rate 192, quality 3, stereo @ 44100Hz
    Converting sound_Trunks_Hand_Motion to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting sound_SSJ2_PowerUp_1 to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting Game_Title_Intro to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting Rushing_Touchdown to Ogg with bit rate 192, quality 3, stereo @ 44100Hz
    Converting Rated_Arcade_Presents to Ogg with bit rate 192, quality 3, stereo @ 44100Hz
    Converting sound_SS2_Powerup to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting Times_Up to Ogg with bit rate 192, quality 3, stereo @ 44100Hz
    Converting sound34 to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting Game_Over_Try_Again to Ogg with bit rate 192, quality 3, stereo @ 44100Hz
    Converting Bonus_Level_Complete to Ogg with bit rate 192, quality 3, stereo @ 44100Hz
    Converting Bonus_Level_Failed to Ogg with bit rate 192, quality 3, stereo @ 44100Hz
    Converting Tackled to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting Bounce_off_Goal_Post to Ogg with bit rate 192, quality 3, mono @ 44100Hz
    Converting Receiving_Touchdown to Ogg with bit rate 192, quality 3, stereo @ 44100Hz
    Converting Windows Ding to Ogg with bit rate 192, quality 3, stereo @ 44100Hz
    Converting Level_Complete to Ogg with bit rate 192, quality 3, stereo @ 44100Hz
    *writing audio file Sound_Booing.ogg...
    *writing audio file Powerup.ogg...
    *writing audio file QB_Hike.ogg...
    *writing audio file TD_Cheers.ogg...
    *writing audio file Button_Pressed.ogg...
    *writing audio file Game_Background_Music.ogg...
    *writing audio file crowd.ogg...
    *writing audio file Spin_Move.ogg...
    *writing audio file Target_Breaking.ogg...
    *writing audio file Game_Title_Intro.ogg...
    *writing audio file Fireball_Football.ogg...
    *writing audio file sound_SS2_Powerup.ogg...
    *writing audio file sound_SSJ2_PowerUp_1.ogg...
    *writing audio file sound_Final_Flash_Attack_1.ogg...
    *writing audio file sound_Instant_Transmission.ogg...
    *writing audio file sound_Trunks_Hand_Motion.ogg...
    *writing audio file sound_Explosion_1.ogg...
    *writing audio file sound_Speed_Up.ogg...
    *writing audio file Sacked.ogg...
    *writing audio file Rushing_Touchdown.ogg...
    *writing audio file Rated_Arcade_Presents.ogg...
    *writing audio file Receiving_Touchdown.ogg...
    *writing audio file Times_Up.ogg...
    *writing audio file Level_Complete.ogg...
    *writing audio file Game_Over_Try_Again.ogg...
    *writing audio file Bonus_Level_Complete.ogg...
    *writing audio file Bonus_Level_Failed.ogg...
    *writing audio file Windows Ding.ogg...
    *writing audio file Tackled.ogg...
    *writing audio file Bounce_off_Goal_Post.ogg...
    *writing audio file sound34.ogg...
    Writing Chunk... AGRP
    Writing Chunk... SPRT
    Warning : resource sprite_Top_Passer_Logo_sprite_Top_Passer_Logo_0 rescaled from 2190,310 to 1095,155
    Warning : resource sprite_Rated_Arcade_Sports_Logo_sprite_Rated_Arcade_Sports_Logo_0 rescaled from 3190,2020 to 1595,1010


    Unhandled Exception: Unhandled Exception: Unhandled Exception: Unhandled Exception: Unhandled Exception: System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
    at System.IO.Path.SafeSetStackPointerValue(Char* buffer, Int32 index, Char value)
    at System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
    at System.IO.Path.GetFullPathInternal(String path)
    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
    at System.Xml.XmlTextWriter..ctor(String filename, Encoding encoding)
    at ..(String , Bitmap , Boolean , Boolean , Int32 , String )
    at ..(String , String , Boolean , Boolean , Int32 , String )
    at ..(String , Boolean , Boolean , Int32 , String , String , String[] )
    at GMAssetCompiler.WADSaver`1.(KeyValuePair`2 )
    at GMAssetCompiler.Program..(Object )
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)
    System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
    at System.IO.Path.SafeSetStackPointerValue(Char* buffer, Int32 index, Char value)
    at System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
    at System.IO.Path.GetFullPathInternal(String path)
    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
    at System.Xml.XmlTextWriter..ctor(String filename, Encoding encoding)
    at ..(String , Bitmap , Boolean , Boolean , Int32 , String )
    at ..(String , String , Boolean , Boolean , Int32 , String )
    at ..(String , Boolean , Boolean , Int32 , String , String , String[] )
    at GMAssetCompiler.WADSaver`1.(KeyValuePair`2 )
    at GMAssetCompiler.Program..(Object )
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)
    System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
    at System.IO.Path.SafeSetStackPointerValue(Char* buffer, Int32 index, Char value)
    at System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
    at System.IO.Path.GetFullPathInternal(String path)
    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
    at System.Xml.XmlTextWriter..ctor(String filename, Encoding encoding)
    at ..(String , Bitmap , Boolean , Boolean , Int32 , String )
    at ..(String , String , Boolean , Boolean , Int32 , String )
    at ..(String , Boolean , Boolean , Int32 , String , String , String[] )
    at GMAssetCompiler.WADSaver`1.(KeyValuePair`2 )
    at GMAssetCompiler.Program..(Object )
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)
    System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
    at System.IO.Path.SafeSetStackPointerValue(Char* buffer, Int32 index, Char value)
    at System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
    at System.IO.Path.GetFullPathInternal(String path)
    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
    at System.Xml.XmlTextWriter..ctor(String filename, Encoding encoding)
    at ..(String , Bitmap , Boolean , Boolean , Int32 , String )
    at ..(String , String , Boolean , Boolean , Int32 , String )
    at ..(String , Boolean , Boolean , Int32 , String , String , String[] )
    at GMAssetCompiler.WADSaver`1.(KeyValuePair`2 )
    at GMAssetCompiler.Program..(Object )
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)
    System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
    at System.IO.Path.SafeSetStackPointerValue(Char* buffer, Int32 index, Char value)
    at System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
    at System.IO.Path.GetFullPathInternal(String path)
    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
    at System.Xml.XmlTextWriter..ctor(String filename, Encoding encoding)
    at ..(String , Bitmap , Boolean , Boolean , Int32 , String )
    at ..(String , String , Boolean , Boolean , Int32 , String )
    at ..(String , Boolean , Boolean , Int32 , String , String , String[] )
    at GMAssetCompiler.WADSaver`1.(KeyValuePair`2 )
    at GMAssetCompiler.Program..(Object )
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)
    Warning : resource sprite_Game_Objective_Logo_sprite_Game_Objective_Logo_0 rescaled from 2817,310 to 1408,155
    Asset Compile finished: 7:17:44 PM
    Compile finished: 7:17:44 PM
     
  7. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    4,880
    @RATED ARCADE
    The first thing I noticed is this line:
    Code:
    C:\Users\justi\OneDrive\Documents\GameMaker\Cache
    Are you using OneDrive to either store your projects or as the installation folder for GMS itself?
    If not, what is OneDrive doing showing up as the Cache folder?

    Always use local drives, using online storage such as OneDrive and Dropbox can cause issues with the locking of files and versioning which can lead to complete project corruption in a worst case scenario.

    The next thing I notice is:
    Code:
    C:\RATED ARCADE PROJECT\Dual Threat.gmx\Dual Threat.project.gmx
    Doesn't seem related, but stranger things have happened so try saving your project as another name (File > Save As) and make sure it only contains standard alpha-numeric characters (a-z, A-Z, 0-9 and underscore) and make it as short as possible.

    The actual "filepath too long" error seems to come after the auto-resizing of sprites that are too big for your texture page size (might want to fix that) and the sprite resource name seems to be:
    Code:
    sprite_Rated_Arcade_Sports_Logo_sprite_Rated_Arcade_Sports_Logo_0
    Is that the actual name of the sprite?

    ---------------------

    Lastly, I'm not sure why you made made multiple threads and necro'd 2-3yr old threads asking the same question to people that aren't even members of the forum anymore (I counted at least 6 threads), but apart from making it impossible to keep all the information and replies to your problem in one place, it's against forum rules and just comes across as spamming.

    You also PM'd me out of the blue with a dump of your AssetCompiler log.

    Relax, when people who may be able to help you with your issue see your first thread they will reply, but remember it's almost Xmas and people have lives that don't revolve around the forum.
     
    Last edited: Dec 22, 2019
  8. RATED ARCADE

    RATED ARCADE Member

    Joined:
    Dec 19, 2019
    Posts:
    13
    Understood, my apologies I was just overreacting and overwhelmed. But to answer your questions:

    1. I’m saving strictly to my C drive idk why my Onedrive/documents are involved.

    2. I will change the same to only short letters & numerical & I’ll check & resize the sprites that are too big for the texture page size.

    3. The sprite:
    sprite_Rated_Arcade_Sports_Logois one sprite idk why theirs a
    sprite_Rated_Arcade_Sports_Logo_0 showing up as well.
     
  9. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    4,880
    1) Have a look in File > Preferences > General and see if any of the paths have been changed to use your OneDrive folder.
    Specifically check the Asset Cache path as this seems liek it may be directly related to your error.

    2) You can either resize the images to fit or change the texture page size - both will prevent GMS auto-resizing your sprites and losing quality.

    3) Not sure either, I haven't used 1.4 for a long time so I can't remember if there was any weirdness with it's log outputs or why it would be reporting that.

    Try testing those sprites in a fresh project and see if it compiles or not or gives the same error.
    Save the project in the same place as this one, with a similar name length and using the same sprites and objects with the same names.

    From there work backwards changing things and retesting until the smaller example compiles - this way you are working with less variables and it will be easier to pinpoint the change which fixed things which you can then apply to the main project and hope it has the same effect.
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice