I wonder if this is a bug or something I am doing wrong, but here's my code:
Code:
initialize();
fadeIn();
fadeOut();
titleScreen();
forVar1, forVar2, forVar3, aniCounter, ballAniFrm;
EXPORT ssballsprites()
BEGIN
initialize();
fadeOut();
titleScreen();
// end of program (for now)
END;
titleScreen()
BEGIN
LOCAL colHeight := 0, heightChg := 0, heightChgDir := .03, bgOffset := 0, enterPressed := 0; //Error: Invalid input happens here
// Generate title background
FOR forVar2 FROM 0 TO 240 STEP 16 DO
FOR forVar1 FROM 0 TO 320 STEP 16 DO
BLIT_P(G5,forVar1,forVar2,forVar1+16,forVar2+16,G2,0,160,16,176);
END;
END;
// Main title loop
WHILE enterPressed=0 DO
BLIT_P(G3,0,0,320,240,G5,bgOffset,bgOffset,320+bgOffset,240+bgOffset);
FOR forVar1 FROM 0 TO 62.75 STEP .25 DO
heightChg := heightChg+heightChgDir;
IF heightChg>.5 OR heightChg<-.5 THEN
heightChgDir := -heightChgDir;
END;
heightChg := heightChg+heightChg;
BLIT_P(G3,32+(forVar1*4),30-heightChg,34+(forVar1*4),114+heightChg,G1,forVar1,0,forVar1+1,15,RGB(128,0,128));
END;
bgOffset := bgOffset+1;
IF bgOffset=16 THEN
bgOffset := 0;
END;
FOR forVar1 FROM 0 TO 14 DO
FOR forVar2 FROM 0 TO 1 DO
BLIT_P(G3,304*forVar2,16*forVar1,304*forVar2+16,16*forVar1+16,G2,0,16*ballAniFrm+448,16,16*ballAniFrm+464,RGB(128,0,128));
END;
END;
FOR forVar1 FROM 0 TO 3 DO
FOR forVar2 FROM 0 TO 3 DO
IF (forVar2=0 OR forVar2=2) AND forVar1<2 THEN
BLIT_P(G3,64*forVar2+32,110*forVar1+5,64*forVar2+158,110*forVar1+20,G1,RGB(128,0,128));
END;
TEXTOUT_P("©2014 DJ Omnimaga - www.omnimaga.org",G3,17+forVar2,215+forVar1,3,#000039);
IF ballAniFrm=1 THEN
TEXTOUT_P("Press Enter",G3,107+forVar2,151+forVar1,6,#000039);
END;
END;
END;
TEXTOUT_P("©2014 DJ Omnimaga - www.omnimaga.org",G3,18,216,3,#FFFFFF);
IF ballAniFrm=1 THEN
TEXTOUT_P("Press Enter",G3,108,152,6,#FFFFFF);
END;
IF aniCounter=0 THEN
aniCounter := 1;
fadeIn();
ELSE
BLIT_P(G0,G3);
aniCounter := aniCounter+1;
IF aniCounter=3 THEN
aniCounter := 1;
ballAniFrm := NOT(ballAniFrm);
IF ISKEYDOWN(30) THEN
enterPressed := 1;
fadeOut();
END;
END;
END;
END;
END;
fadeIn()
BEGIN
BLIT_P(G4,G3);
FOR forVar1 FROM 16 DOWNTO 2 DO
BLIT_P(G3,0,0,320/forVar1,240/forVar1,G4,0,0,320,240);
FILLPOLY_P(G3,{{0,0},{320,0},{320,240},{0,240}}, #000000, (16*forVar1)-16);
BLIT_P(G0,0,0,320,240,G3,0,0,320/forVar1,240/forVar1);
END;
END;
fadeOut()
BEGIN
BLIT_P(G4,G0);
FOR forVar1 FROM 2 TO 16 DO
BLIT_P(G3,0,0,320/forVar1,240/forVar1,G4,0,0,320,240);
FILLPOLY_P(G3,{{0,0},{320,0},{320,240},{0,240}}, #000000, 16*forVar1);
BLIT_P(G0,0,0,320,240,G3,0,0,320/forVar1,240/forVar1);
END;
END;
initialize()
BEGIN
// Temporary screen and background storages
DIMGROB_P(G3,320,240);
DIMGROB_P(G4,320,240);
DIMGROB_P(G5,336,256);
// Sprite data
DIMGROB_P(G2,16,560,RGB(128,0,128,128));
// <sprite data here, but I removed it since it won't fit in one post>
// Title screen logo data (removed so this fits in a post)
DIMGROB_P(G1,63,15,RGB(0,128,0));
END;
Basically, on the "LOCAL" line, I get an Invalid Input error. I checked some other people's source code for the right syntax and I seem to have the right one, so I am unsure what's wrong. Am I triggering some firmware bug or am I doing something wrong? ???
Any help would be appreciated, else I'll have to stick to global variables and in the worst case scenario, switch back to A-Z vars as I was using before (which makes the code more confusing and isn't good practice).