<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
<object>
  <spriteName>&lt;undefined&gt;</spriteName>
  <solid>0</solid>
  <visible>-1</visible>
  <depth>0</depth>
  <persistent>0</persistent>
  <parentName>&lt;undefined&gt;</parentName>
  <maskName>&lt;undefined&gt;</maskName>
  <events>
    <event eventtype="0" enumb="0">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>global.curropt = 0;
if (!global.shaders_compiled &amp;&amp; !global.mod_gamebeaten) global.curropt = 2;
var tempnumcounter = 0;
/*
    This list dictates the order of selection in the Extras Menu. 
    Also, the list in User Defined 0 needs to be in order.
*/

if (global.shaders_compiled) num_bwfilter = tempnumcounter++;
num_baby = tempnumcounter++;

if (global.shaders_compiled) num_MSRfusion = tempnumcounter++;
num_IGT = tempnumcounter++;

lastitem = tempnumcounter; // This value will be one number higher than the last number in the list above.


vTargetY = 18 * lastitem + 30;

active = 0;
alarm[0] = 5;
i = 0;
repeat (lastitem + 1) {
    canedit[i] = 1;
    i += 1;
}
targety = y;
view_object[0] = id;
timer = 0;
event_user(0);
with (oSS_Control) active = 1;
with (oSS_Fg) {
    active = 1;
}



tip[num_baby] = get_text("ExtrasMenu", "EarlyBaby_Tip");
if (global.shaders_compiled) tip[num_MSRfusion] = get_text("ExtrasMenu", "FusionMSRsuit_Tip");
if (global.shaders_compiled) tip[num_bwfilter] = get_text("ExtrasMenu", "GBFilter_Tip");
tip[num_IGT] = get_text("ExtrasMenu", "IGT_Tip");


tip[lastitem] = get_text("GlobalOptions", "ExitMain_Tip");
global.tiptext = tip[global.curropt];
alarm[1] = 1;

modeindex = 0;
if (global.gamemode == 3) modeindex = get_text("Title-Additions", "GameSlot_NewGame_ClassicMode");
if (global.gamemode == 4) modeindex = get_text("Title-Additions", "GameSlot_NewGame_AM2Random");
if (global.gamemode == 5) modeindex = get_text("Title-Additions", "GameSlot_NewGame_SplitRandom");
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="1" enumb="0">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>event_user(1);
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="2" enumb="1">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string></string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="2" enumb="0">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>active = 1;
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="3" enumb="0">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>
if (active) {
    if (oControl.kDown &gt; 0 &amp;&amp; (oControl.kDownPushedSteps == 0 || oControl.kDownPushedSteps &gt; 30 &amp;&amp; timer == 0)) {
        global.curropt += 1;
        if (global.curropt &gt; lastitem) global.curropt = 0;
        while (canedit[global.curropt] == 0) global.curropt += 1;
        if (global.curropt &gt; lastitem) global.curropt = 0;
        targety = op[global.curropt].y + lastitem;
        if (targety &gt; vTargetY) targety = vTargetY;
        sfx_play(sndMenuMove);
        global.tiptext = tip[global.curropt];
    }
    if (oControl.kUp &gt; 0 &amp;&amp; (oControl.kUpPushedSteps == 0 || oControl.kUpPushedSteps &gt; 30 &amp;&amp; timer == 0)) {
        global.curropt -= 1;
        if (global.curropt &lt; 0) global.curropt = lastitem;
        while (canedit[global.curropt] == 0) 
        {
            global.curropt -= 1;
            if (global.curropt &lt; 0) global.curropt = lastitem;
        }
        targety = op[global.curropt].y + lastitem;
        if (targety &gt; vTargetY) targety = vTargetY;
        sfx_play(sndMenuMove);
        global.tiptext = tip[global.curropt];
    }
    
  
    if (oControl.kLeft &gt; 0 &amp;&amp; oControl.kLeftPushedSteps == 0 &amp;&amp; oControl.kDown == 0 &amp;&amp; oControl.kUp == 0)
    {
        if (global.shaders_compiled) {    
            if (global.curropt == num_bwfilter)
            {
                oControl.palette_number--;
                scr_shader_control();
            }
        }
    } // End Left
    
    
    if (oControl.kRight &gt; 0 &amp;&amp; oControl.kRightPushedSteps == 0 &amp;&amp; oControl.kDown == 0 &amp;&amp; oControl.kUp == 0) 
    {  
        if (global.shaders_compiled) {  
            if (global.curropt == num_bwfilter)
            {
                oControl.palette_number++;
                scr_shader_control();
            }
        }
    } // End Right
    //End Controller
    
     
    if (oControl.kLeft &gt; 0 &amp;&amp; oControl.kLeftPushedSteps == 0 || oControl.kRight &gt; 0 &amp;&amp; oControl.kRightPushedSteps == 0 &amp;&amp; global.curropt &lt; lastitem &amp;&amp; oControl.kDown == 0 &amp;&amp; oControl.kUp == 0) {
        if (global.curropt == num_baby) oControl.mod_earlybaby = !oControl.mod_earlybaby;
        if (global.shaders_compiled) {
            if (global.curropt == num_MSRfusion) oControl.msr_fusionsuit = !oControl.msr_fusionsuit;
        }
        //if (global.curropt == num_exmonsters) oControl.mod_monstersextremecheck = !oControl.mod_monstersextremecheck;
        if (global.curropt == num_IGT) oControl.mod_IGT = !oControl.mod_IGT;
        
        sfx_play(sndMenuMove);
        event_user(2);
    }
    
    
    
    if (oControl.kMenu1 &amp;&amp; oControl.kMenu1PushedSteps == 0) {

        if (global.curropt == lastitem) {
            save_gameoptions();
            view_object[0] = noone;
            view_yview[0] = 0;
            instance_create(50, 92, oOptionsMain);
            instance_destroy();
            sfx_play(sndMenuSel);
        }
    } // if (oControl.kMenu1 &amp;&amp; oControl.kMenu1PushedSteps == 0)
} // if (active)
if (targety != y) y += (targety - y) / 10;
timer -= 1;
if (timer &lt; 0) timer = 8;
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="7" enumb="12">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>if (global.shaders_compiled) {
    if (oControl.palette_number == 0) op[num_bwfilter].optext = get_text("ExtrasMenu", "GBoff");
    if (oControl.palette_number == 1) op[num_bwfilter].optext = get_text("ExtrasMenu", "GBolive");
    if (oControl.palette_number == 2) op[num_bwfilter].optext = get_text("ExtrasMenu", "GBblue");
    if (oControl.palette_number == 3) op[num_bwfilter].optext = get_text("ExtrasMenu", "GBblack");
    if (oControl.palette_number == 4) op[num_bwfilter].optext = get_text("ExtrasMenu", "GBred");
    if (oControl.palette_number == 5) op[num_bwfilter].optext = get_text("ExtrasMenu", "GBgreen");
    if (oControl.palette_number == 6) op[num_bwfilter].optext = get_text("ExtrasMenu", "GBcustom");
}

if (oControl.mod_earlybaby == 1) {
    op[num_baby].optext = get_text("GlobalOptions", "Enabled");
} else op[num_baby].optext = get_text("GlobalOptions", "Disabled");
if (global.mod_gamebeaten == 0) {
    op[num_baby].optext = get_text("ExtrasMenu", "Locked");
}

/*if (oControl.mod_monstersextremecheck == 1) {
    op[num_exmonsters].optext = get_text("GlobalOptions", "Enabled");
} else op[num_exmonsters].optext = get_text("GlobalOptions", "Disabled");
if (global.mod_gamebeaten == 0) {
    op[num_exmonsters].optext = get_text("ExtrasMenu", "Locked");
}*/
if (global.shaders_compiled) {
    if (oControl.msr_fusionsuit == 1) {
        op[num_MSRfusion].optext = get_text("ExtrasMenu", "MSR");
    } else op[num_MSRfusion].optext = get_text("ExtrasMenu", "Default");
    if (global.mod_fusion_unlocked == 0) {
        op[num_MSRfusion].optext = get_text("ExtrasMenu", "Locked");
    }
}

if (oControl.mod_IGT == 1) {
    op[num_IGT].optext = get_text("GlobalOptions", "Enabled");
} else op[num_IGT].optext = get_text("GlobalOptions", "Disabled");
if (global.mod_gamebeaten == 0) {
    op[num_IGT].optext = get_text("ExtrasMenu", "Locked");
}
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="7" enumb="11">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>for (var i = 0; i &lt;= lastitem; i++)
{
    with (op[i]) instance_destroy();
}

with (op[50]) instance_destroy();
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="7" enumb="10">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>//This list needs to be in order. It won't work correctly otherwise.

sep = 16;
op[50] = instance_create(x, y, oMenuLabel);
op[50].text = get_text("ExtrasMenu", "Title_Extras");

var tempcount = 1;
if (global.shaders_compiled) {
    op[num_bwfilter] = instance_create(x, y + sep * tempcount++, oOptionLR);
    op[num_bwfilter].label = get_text("ExtrasMenu", "GBFilter");
    op[num_bwfilter].optionid = num_bwfilter;
}

op[num_baby] = instance_create(x, y + sep * tempcount++, oOptionLR);
op[num_baby].label = get_text("ExtrasMenu", "EarlyBaby");
op[num_baby].optionid = num_baby;
if (global.mod_gamebeaten == 0) {
    op[num_baby].enabled = 0;
    canedit[num_baby] = 0;
}

/*op[num_exmonsters] = instance_create(x, y + sep * tempcount++, oOptionLR);
op[num_exmonsters].label = get_text("ExtrasMenu", "ExtremeMonsters");
op[num_exmonsters].optionid = num_exmonsters;
if (global.mod_gamebeaten == 0) {
    op[num_exmonsters].enabled = 0;
    canedit[num_exmonsters] = 0;
}*/
if (global.shaders_compiled) {
    op[num_MSRfusion] = instance_create(x, y + sep * tempcount++, oOptionLR);
    op[num_MSRfusion].label = get_text("ExtrasMenu", "FusionMSRsuit");
    op[num_MSRfusion].optionid = num_MSRfusion;
    if (global.mod_fusion_unlocked == 0) {
        op[num_MSRfusion].enabled = 0;
        canedit[num_MSRfusion] = 0;
    }
}

op[num_IGT] = instance_create(x, y + sep * tempcount++, oOptionLR);
op[num_IGT].label = get_text("ExtrasMenu", "IGT");
op[num_IGT].optionid = num_IGT;
if (global.mod_gamebeaten == 0) {
    op[num_IGT].enabled = 0;
    canedit[num_IGT] = 0;
}

op[lastitem] = instance_create(x, y + sep * (lastitem + 1), oPauseOption);
op[lastitem].optionid = lastitem;
op[lastitem].label = get_text("GlobalOptions", "Exit");
event_user(2);



</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="8" enumb="0">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>if (room == rm_subscreen) {
    if(global.gamemode == 3 || global.gamemode == 4 || global.gamemode == 5) {
        draw_cool_text(50, 60 - 8, get_text("Misc", "ExtrasMode") + ": " + modeindex, c_black, c_gray, c_dkgray, 1)
        draw_cool_text(50, 73 - 8, get_text("Misc", "ExtrasSeed") + ": " + string(oControl.seed), c_black, c_gray, c_dkgray, 1);
    }
}
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="9" enumb="120">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>event_user(2);
</string>
          </argument>
        </arguments>
      </action>
    </event>
  </events>
  <PhysicsObject>0</PhysicsObject>
  <PhysicsObjectSensor>0</PhysicsObjectSensor>
  <PhysicsObjectShape>0</PhysicsObjectShape>
  <PhysicsObjectDensity>0.5</PhysicsObjectDensity>
  <PhysicsObjectRestitution>0.100000001490116</PhysicsObjectRestitution>
  <PhysicsObjectGroup>0</PhysicsObjectGroup>
  <PhysicsObjectLinearDamping>0.100000001490116</PhysicsObjectLinearDamping>
  <PhysicsObjectAngularDamping>0.100000001490116</PhysicsObjectAngularDamping>
  <PhysicsObjectFriction>0.200000002980232</PhysicsObjectFriction>
  <PhysicsObjectAwake>-1</PhysicsObjectAwake>
  <PhysicsObjectKinematic>0</PhysicsObjectKinematic>
  <PhysicsShapePoints/>
</object>
