On my script, I started having the compiler error when I added the last 3 functions. The error info suggests lines beyond the actual code.
Below is the code in question (menu.ang).
void Menu_TransIn( CSpriteScript2d @script )
{
script.SetAlpha( 0 );
FadeTo( 250, script.GetDefaultAlpha(), script );
}
void Menu_TransOut( CSpriteScript2d @script )
{
FadeTo( 250, 0, script );
}
void Control_TransIn( CSpriteScript2d @script )
{
g_allowEvent = true;
script.SetAlpha( 0 );
FadeTo( 250, script.GetDefaultAlpha(), script );
if( g_allowEvent )
{
g_allowEvent = false;
DispatchEvent( EGE_MENU_TRANS_IN, ETC_END );
}
}
void Control_TransOut( CSpriteScript2d @script )
{
g_allowEvent = true;
FadeTo( 250, 0, script );
if( g_allowEvent )
{
g_allowEvent = false;
DispatchEvent( EGE_MENU_TRANS_OUT, ETC_END );
}
}
void Control_Inactive( CSpriteScript2d @script )
{
script.SetDefaultColor();
}
void Control_Hidden( CSpriteScript2d @script )
{
script.SetVisible( false );
}
void Control_Active( CSpriteScript2d @script )
{
script.SetVisible( true );
script.SetDefaultColor();
CColor hiColor = script.GetDefaultColor();
hiColor.TransformHSV( 0, 1, 1.3 );
CColor lowColor = script.GetDefaultColor();
lowColor.TransformHSV( 0, 1, .5 );
while(true)
{
ColorTo( 500, hiColor, script );
ColorTo( 500, lowColor, script );
}
}
void Control_Solid_Active( CSpriteScript2d @script )
{
script.SetVisible( true );
script.SetDefaultColor();
CColor hiColor = script.GetDefaultColor();
hiColor.TransformHSV( 0, 1, 1.1 );
CColor lowColor = script.GetDefaultColor();
lowColor.TransformHSV( 0, 1, .5 );
while(true)
{
ColorTo( 500, hiColor, script );
ColorTo( 500, lowColor, script );
}
}
void Control_Face_Selected( CSpriteScript2d @script )
{
script.SetVisible( true );
script.SetDefaultColor();
CColor hiColor = script.GetDefaultColor();
hiColor.TransformHSV( 0, 1, 1.7 );
CColor lowColor = script.GetDefaultColor();
lowColor.TransformHSV( 0, 1, .6 );
script.SetColor( hiColor );
ColorTo( 120, lowColor, script );
ColorTo( 120, hiColor, script );
script.SetColor( script.GetDefaultColor() );
DispatchEvent( EGE_MENU_SELECT_EXECUTE );
}
void Control_Frame_Selected( CSpriteScript2d @script )
{
script.SetVisible( true );
script.SetDefaultColor();
CColor hiColor = script.GetDefaultColor();
hiColor.TransformHSV( 0, 1, 1.7 );
CColor lowColor = script.GetDefaultColor();
lowColor.TransformHSV( 0, 1, .6 );
script.SetColor( hiColor );
ColorTo( 120, lowColor, script );
ColorTo( 120, hiColor, script );
script.SetVisible( false );
}
void Control_Solid_Selected( CSpriteScript2d @script )
{
script.SetVisible( true );
script.SetDefaultColor();
CColor hiColor = script.GetDefaultColor();
hiColor.TransformHSV( 0, 1, 1.5 );
CColor lowColor = script.GetDefaultColor();
lowColor.TransformHSV( 0, 1, .6 );
script.SetColor( hiColor );
ColorTo( 120, lowColor, script );
ColorTo( 100, hiColor, script );
script.SetVisible( false );
}
void Control_Fast_Face_Selected( CSpriteScript2d @script )
{
script.SetVisible( true );
script.SetDefaultColor();
CColor hiColor = script.GetDefaultColor();
hiColor.TransformHSV( 0, 1, 1.7 );
script.SetColor( hiColor );
Hold( 50 );
script.SetDefaultColor();
}
void Control_Fast_Frame_Selected( CSpriteScript2d @script )
{
script.SetVisible( true );
script.SetDefaultColor();
CColor hiColor = script.GetDefaultColor();
hiColor.TransformHSV( 0, 1, 1.7 );
script.SetColor( hiColor );
Hold( 50 );
script.SetVisible( false );
}
void Control_Fast_Solid_Selected( CSpriteScript2d @script )
{
script.SetVisible( true );
script.SetDefaultColor();
CColor hiColor = script.GetDefaultColor();
hiColor.TransformHSV( 0, 1, 1.5 );
script.SetColor( hiColor );
Hold( 50 );
script.SetVisible( false );
}
Below is the error info. The "}" of the very last function is line 188. There's no code after this point.
data/objects/2d/scripts/menu.ang (189, 2) : ERROR : Expected identifier
data/objects/2d/scripts/menu.ang (189, 2) : ERROR : Instead found '('
data/objects/2d/scripts/menu.ang (192, 12) : ERROR : Expected identifier
data/objects/2d/scripts/menu.ang (192, 12) : ERROR : Instead found '.'
data/objects/2d/scripts/menu.ang (194, 11) : ERROR : Expected identifier
data/objects/2d/scripts/menu.ang (194, 11) : ERROR : Instead found '.'
data/objects/2d/scripts/menu.ang (196, 9) : ERROR : Expected identifier
data/objects/2d/scripts/menu.ang (196, 9) : ERROR : Instead found '('
Now if I do the below to the last two functions, the code will compile and run as expected. All I did was remove the spaces before the lines of code. As you can see, most of the functions are similar.
void Control_Fast_Frame_Selected( CSpriteScript2d @script )
{
script.SetVisible( true );
script.SetDefaultColor();
CColor hiColor = script.GetDefaultColor();
hiColor.TransformHSV( 0, 1, 1.7 );
script.SetColor( hiColor );
Hold( 50 );
script.SetVisible( false );
}
void Control_Fast_Solid_Selected( CSpriteScript2d @script )
{
script.SetVisible( true );
script.SetDefaultColor();
CColor hiColor = script.GetDefaultColor();
hiColor.TransformHSV( 0, 1, 1.5 );
script.SetColor( hiColor );
Hold( 50 );
script.SetVisible( false );
}
The only thing I can think of is there's a limit to how big the code file is? Any ideas? I'm using version 2.29.2