• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!
  • Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

[Solved] YYC Fails To Compile. Clang++.exe Using Over 8GB of Memory

Trisuniel

Member
Trying to figure out why the Yoyo Compiler fails to compile and just freezes at "Build for architecture -x86". It doesn't do it for another game I was working on though so it has to be something with my code but no idea because I don't get any errors about the code.

The only thing I notice is that "Clang++.exe just keeps increasing in memory. Eventually it went over 8GB so I just had to kill it before it used to much.

When I killed it I did get this error message in the compile window:
"linking Beyond_The_Gate.exe
Microsoft (R) Windows (R) Resource Compiler Version 6.2.9200.20789
Copyright (C) Microsoft Corporation. All rights reserved.
LINK : fatal error LNK1181: cannot open input file 'C:\Users\danie\Documents\GameMaker\Cache\Beyond The Gate\Default\Scripts\Release\x86\gml_Object_obj_Battle_Step_0.gml.o'
C:\Users\danie\AppData\Local\gm_ttt_95489\gm_ttt_70080\Beyond_The_Gate.manifest : general error c1010070: Failed to load and parse the manifest. The system cannot find the file specified.
Stats : GMA : Elapsed=183149.412
Stats : GMA : sp=3,au=0,bk=1,pt=0,sc=3,sh=0,fo=0,tl=0,ob=3,ro=2,da=0,ex=0,ma=2,fm=0x8F40220
Asset Compile finished: 10:14:38 PM
Compile finished: 10:14:38 PM"

So no idea what is going on. Is there something in my code that isn't compatible or something? What should I be looking for?
 

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
I've had a similar issue. The project eventually would compile, but while using up more or less all available resources,
upload_2017-2-7_9-15-48.png
The culprit turned out to be one particular oversized script, which I had made even worse by marking most of other scripts that it calls with gml_pragma("forceinline"). Switching a number of helper scripts to not be force-inlined fixed the issue (RAM usage down to ~1GB).
 

Trisuniel

Member
I don't really have any scripts that are all that complicated. For me it is the step event of this object which is quite complicated and using a lot of loops. What could you recommend I try doing to fix this?

I did do some testing to see how long it would take to compile a very small chunk of the object.
Code:
//Bullet Side
for(i=0; i<BulletIDPosition; i+=1){
  EndLoop = 0;
  //Increase current order for bullets when step delay/time reaches 0.
  if (ds_list_find_value(WaveBullet[6],i) == 0)
    {
      if (EndLoop == 0)
        {
        if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+0] == 0)
          {
          if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+23] == 0) ds_list_replace(WaveBullet[6], i, round(global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+1] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+0] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+0] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+0] * ds_list_find_value(WaveBullet[3],i)));
          else ds_list_replace(WaveBullet[6], i, round((global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+1] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+0] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+0] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+0] * ds_list_find_value(WaveBullet[3],i)) - (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*(ds_list_find_value(WaveBullet[17],i)-1)+1] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*(ds_list_find_value(WaveBullet[17],i)-1)+0] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*(ds_list_find_value(WaveBullet[17],i)-1)+0] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*(ds_list_find_value(WaveBullet[17],i)-1)+0] * ds_list_find_value(WaveBullet[3],i))));
          if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+15] == 1)
            {
            if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+34] == 0) ds_list_replace(WaveBullet[7], i, global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+16] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+11] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+11] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+11] * ds_list_find_value(WaveBullet[3],i));
            else ds_list_replace(WaveBullet[7], i, ds_list_find_value(WaveBullet[7],i) + global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+16] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+11] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+11] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+11] * ds_list_find_value(WaveBullet[3],i));
            if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+35] == 0) ds_list_replace(WaveBullet[8], i, global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+17] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+12] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+12] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+12] * ds_list_find_value(WaveBullet[3],i));
            else ds_list_replace(WaveBullet[8], i, ds_list_find_value(WaveBullet[8],i) + global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+17] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+12] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+12] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+12] * ds_list_find_value(WaveBullet[3],i));
            }
          if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+4] == 0)
            {
            if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+24] == 0) ds_list_replace(WaveBullet[9], i, random_range(global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+5] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+1] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+1] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+1] * ds_list_find_value(WaveBullet[3],i),global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+6] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+2] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+2] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+2] * ds_list_find_value(WaveBullet[3],i)));
            else ds_list_replace(WaveBullet[9], i, ds_list_find_value(WaveBullet[9],i) + random_range(global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+5] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+1] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+1] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+1] * ds_list_find_value(WaveBullet[3],i),global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+6] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+2] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+2] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+2] * ds_list_find_value(WaveBullet[3],i)));
            }
          else ds_list_replace(WaveBullet[9], i, point_direction(ds_list_find_value(WaveBullet[7],i), ds_list_find_value(WaveBullet[8],i), WavePlayer[0], WavePlayer[1]) + random_range(global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+5] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+1] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+1] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+1] * ds_list_find_value(WaveBullet[3],i),global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+6] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+2] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+2] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+2] * ds_list_find_value(WaveBullet[3],i)));    
          if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+26] == 0) ds_list_replace(WaveBullet[10], i, global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+7] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+3] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+3] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+3] * ds_list_find_value(WaveBullet[3],i));
          else ds_list_replace(WaveBullet[10], i, ds_list_find_value(WaveBullet[10],i) + global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+7] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+3] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+3] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+3] * ds_list_find_value(WaveBullet[3],i));
          if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+27] == 0) ds_list_replace(WaveBullet[11], i, global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+8] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+4] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+4] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+4] * ds_list_find_value(WaveBullet[3],i));
          else ds_list_replace(WaveBullet[11], i, ds_list_find_value(WaveBullet[11],i) + global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+8] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+4] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+4] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+4] * ds_list_find_value(WaveBullet[3],i));
          if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+28] == 0) ds_list_replace(WaveBullet[12], i, global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+9] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+5] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+5] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+5] * ds_list_find_value(WaveBullet[3],i));
          else ds_list_replace(WaveBullet[12], i, ds_list_find_value(WaveBullet[12],i) + global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+9] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+5] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+5] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+5] * ds_list_find_value(WaveBullet[3],i));
          if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+29] == 0) ds_list_replace(WaveBullet[13], i, random_range(global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+10] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+6] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+6] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+6] * ds_list_find_value(WaveBullet[3],i),global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+11] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+7] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+7] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+7] * ds_list_find_value(WaveBullet[3],i)));
          else ds_list_replace(WaveBullet[13], i, ds_list_find_value(WaveBullet[13],i) + random_range(global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+10] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+6] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+6] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+6] * ds_list_find_value(WaveBullet[3],i),global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+11] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+7] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+7] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+7] * ds_list_find_value(WaveBullet[3],i)));
          if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+31] == 0) ds_list_replace(WaveBullet[14], i, global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+12] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+8] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+8] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+8] * ds_list_find_value(WaveBullet[3],i));
          else ds_list_replace(WaveBullet[14], i, ds_list_find_value(WaveBullet[14],i) + global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+12] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+8] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+8] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+8] * ds_list_find_value(WaveBullet[3],i));
          if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+32] == 0) ds_list_replace(WaveBullet[15], i, global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+13] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+9] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+9] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+9] * ds_list_find_value(WaveBullet[3],i));
          else ds_list_replace(WaveBullet[15], i, ds_list_find_value(WaveBullet[15],i) + global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+13] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+9] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+9] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+9] * ds_list_find_value(WaveBullet[3],i));
          if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+33] == 0) ds_list_replace(WaveBullet[16], i, global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+14] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+10] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+10] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+10] * ds_list_find_value(WaveBullet[3],i));
          else ds_list_replace(WaveBullet[16], i, ds_list_find_value(WaveBullet[16],i) + global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+14] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+10] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+10] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+10] * ds_list_find_value(WaveBullet[3],i));
          if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+18] == 1)
            {
            if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+36] == 0) WaveShaking[0] = global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+19] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+13] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+13] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+13] * ds_list_find_value(WaveBullet[3],i);
            else WaveShaking[0] += global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+19] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+13] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+13] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+13] * ds_list_find_value(WaveBullet[3],i);
            if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+37] == 0) WaveShaking[1] = global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+20] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+14] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+14] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+14] * ds_list_find_value(WaveBullet[3],i);
            else WaveShaking[1] += global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+20] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+14] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+14] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+14] * ds_list_find_value(WaveBullet[3],i);
            if (global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+39] == 0) WaveShaking[2] = round(global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+22] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+16] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+16] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+16] * ds_list_find_value(WaveBullet[3],i));
            else WaveShaking[2] += round(global.Bullets[ds_list_find_value(WaveBullet[0],i),global.BArray*ds_list_find_value(WaveBullet[17],i)+22] + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+0,global.GArray*ds_list_find_value(WaveBullet[17],i)+16] * ds_list_find_value(WaveBullet[1],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+1,global.GArray*ds_list_find_value(WaveBullet[17],i)+16] * ds_list_find_value(WaveBullet[2],i) + global.BulletGroups[3*ds_list_find_value(WaveBullet[0],i)+2,global.GArray*ds_list_find_value(WaveBullet[17],i)+16] * ds_list_find_value(WaveBullet[3],i));
            }
          }
        }
      }
    }
Yes it's pretty messy I suck at writing neat code.

And for something like that takes around a 1 minute to get through that part of the compiling stage. There is a lot more than that that it needs to compile for that object. But from what you are saying is that it will eventually compile but will just take a while?

I've never had anything use that much of my memory so I'm scared of what could happen if it gets close to the max of memory I have which is 16GB. Is there nothing really to worry about if it approaches that.

Or maybe is there something I could try doing to the code to allow it to compile quicker?
 

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
But from what you are saying is that it will eventually compile but will just take a while?
Indeed - it should.
I've never had anything use that much of my memory so I'm scared of what could happen if it gets close to the max of memory I have which is 16GB. Is there nothing really to worry about if it approaches that.
Ideally you should modify the game code so that it does not use up all system resources.
For example, my laptop has 16GB RAM as well, but tends to hang for a while if running out of RAM (and resorting to using page file).
Or maybe is there something I could try doing to the code to allow it to compile quicker?
Well, your code surely is... something. On a glance I cannot see the pattern in per-case code, but you should definitely see about assigning repeating bits of code into local variables or making scripts to handle repeating parts of code that only have different indexes.
 

Trisuniel

Member
So I decided to see if it could eventually compile it if I just left it running. It crashed my computer when it got close to 100% of memory. I guess I can try and see if there is any repeating code I can put into scripts. The problem is though is that a lot of those parts while being very close, have major changes to the formula used to calculate what the variable is.

Could it be something to do with using arrays in ds_list? I never had this problem before I didn't use ds_list but I ended up having to switch over and add ds_list into it because the game was getting slow even with using yyc. ds_list sure did improve the performance but that was also around the same time yyc decided to stop compiling. I haven't really used any ds before and that was when I actually needed to learn about it so no idea if ds could do something like that?

EDIT: Well I think I might have figured out a solution to this. Not 100% since I haven't tested it with all the code but it turns out that if I split up the code into scripts without actually changing anything in the code but just simply splitting it up so it all isn't together in one big area. And then call all those scripts, it seems to work.

EDIT2: Yep, it worked. So from what I've learned is too not have too much going on in one place. Split it up.
 
Last edited:
Top