yes the end function is there, and I have declared hold array in the main program.. here is the Main Program code which calls this function.
Then the load.bb file code is:
Hope this helps, as I think I either have a logic error, or my blitz3d installation is messed up.
Graphics3D 1024,768,16,2 Include "load.bb" Type gameitems Field item Field anim1 Field anim2 Field gridx% Field gridy% Field points% Field time% Field lives% Field ID% Field status% Field puzzle% Field nextitem% End Type Global GX# Global GY# Global Current_Piece% ;use this to track what piece player should hit. Global currlevel% ;use this to track the current level we are on. Global countx% Dim hold.gameitems(18) For countx% = 0 To 18 hold.gameitems(countx%) = New gameitems Next GX# = 64 GY# = 64 LoadMyStuff() Repeat RenderWorld Flip Until KeyHit(1)
Then the load.bb file code is:
Function LoadMyStuff() count% = 0 If count% = 0 hold(count%)\item = nS_LoadImage("../media/image0.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 1 Then hold(count%)\item = nS_LoadImage("../media/image1.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 2 Then hold(count%)\item = nS_LoadImage("../media/image2.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 3 Then hold(count%)\item = nS_LoadImage("../media/image3.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 4 Then hold(count%)\item = nS_LoadImage("../media/image4.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 5 Then hold(count%)\item = nS_LoadImage("../media/image5.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 6 Then hold(count%)\item = nS_LoadImage("../media/image6.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 7 Then hold(count%)\item = nS_LoadImage("../media/image7.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 8 Then hold(count%)\item = nS_LoadImage("../media/image8.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 9 Then hold(count%)\item = nS_LoadImage("../media/image9.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 10 Then hold(count%)\item = nS_LoadImage("../media/image10.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 11 Then hold(count%)\item = nS_LoadImage("../media/image11.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 12 Then hold(count%)\item = nS_LoadImage("../media/image12.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 13 Then hold(count%)\item = nS_LoadImage("../media/image13.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 14 Then hold(count%)\item = nS_LoadImage("../media/image14.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 15 Then hold(count%)\item = nS_LoadImage("../media/image15.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 16 Then hold(count%)\item = nS_LoadImage("../media/image16.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 17 Then hold(count%)\item = nS_LoadImage("../media/image17.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf If count% = 18 Then hold(count%)\item = nS_LoadImage("../media/image18.jpg",4,True) hold(count%)\anim1 = nS_LoadAnimImage("../media/particle1.jpg",GX#,GY#,0,10,4,True) hold(count%)\anim2 = nS_LoadAnimImage("../media/particle2.jpg",GX#,GY#,0,10,4,True) hold(count%)\gridx% = -1 hold(count%)\gridy% = -1 hold(count%)\points% = 0 ;0=stopped hold(count%)\time% = 0 hold(count%)\lives% = 0 hold(count%)\ID% = count% hold(count%)\status% = 0 ;0=stopped hold(count%)\puzzle% = 0 ;not a puzzle piece hold(count%)\nextitem% = ID_free count% = count% + 1 EndIf End Function
Hope this helps, as I think I either have a logic error, or my blitz3d installation is messed up.