| CODE |
| MinimumBuild 1231 SetFunc ScriptPath FNPath %0% // Basically the only values to change Set Column 0 // The Intial PointerX Set Row 0 // The Intial PointerY Set Size 36 Set MaxRows 4 Set MaxColumns 4 Set PointerColor Blue CreateBlankImage Pointer %Size% %Size% Gosub CenterGrid :PointerLoop SetFunc Input IQPeekMsgID If %Input% != "" Gosub InputHandler Gosub DrawPointer Goto PointerLoop :InputHandler IQWaitMsg Any Switch %MSG_ID% Case UI_UP If# %Row% != 0 Then Sub Row 1 EndIf EndCase Case UI_DN If# %Row% != %MaxRows% Then Add Row 1 EndIf EndCase Case UI_LF If# %Column% != 0 Then Sub Column 1 EndIf EndCase Case UI_RT If# %Column% != %MaxColumns% Then Add Column 1 EndIf EndCase Case UI_SELECT Gosub Click EndCase Case UI_BACK Quit EndCase EndSwitch Return :DrawPointer Set TempPointer %Row%%Column% For Y = 0 To %MaxRows% For X = 0 To %MaxColumns% If# %TempPointer% == %Y%%X% Then Set PointerX %(X*Size+AlignX)% Set PointerY %(Y*Size+AlignY)% Break EndIf Next Next BeginDrawTarget Pointer UseCurrent Box %PointerX% %PointerY% %Size% %Size% %PointerColor% %PointerColor% EndDraw Return :CenterGrid Set ScreenLeft 0 Set ScreenTop 0 Set ScreenWidth 640 Set ScreenHeight 480 Set AlignX %((ScreenWidth-(MaxColumns*Size))/2)% Set AlignY %((ScreenHeight-(MaxRows*Size))/2)% Return |