Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Project: ProjectZ
- // Created: 2016-04-22
- // set window properties
- SetWindowTitle( "ProjectZ" )
- SetWindowSize( 1024,683, 0 )
- // set display properties
- SetVirtualResolution( 1024, 683 )
- SetOrientationAllowed( 1, 1, 1, 1 )
- SetScissor(0,0,0,0)
- setsyncrate(60,0)
- Create3DPhysicsWorld()
- Set3DPhysicsGravity(0,-0.27,0)
- #include "keys.agc"
- #constant maxobjects = 5000
- type Tobjects
- name$ as string
- sx# as float
- sy# as float
- sz# as float
- cx# as float
- cy# as float
- cz# as float
- objID as integer
- image as integer
- physhape as integer
- phybody as integer
- shape as integer
- transparency as integer
- selecttodelete as integer
- oldimage as integer
- red as integer
- green as integer
- blue as integer
- endtype
- dim Tobject[maxobjects] as Tobjects
- dim deleted[maxobjects]
- global found=0
- global level=1
- global quit=0
- global cursorobject=7000
- global cx#=0
- global cy#=0
- global cz#=0
- global objectnumber=1
- global currenttexture=1
- global FrameTime#
- global CameraDistance# = 8
- global gridx# = 0.5
- global gridz# = 0.5
- global gridy# = 0.5
- global sx#=1
- global sy#=1
- global sz#=1
- global phybody=1
- global physhape=0
- global shape=0
- global obj = 0
- global objectsselected = 0
- global object1 = 0
- global object2 = 0
- global red=255
- global green=255
- global blue=255
- global myname$=""
- load_images()
- Init()
- Repeat
- control()
- FrameTime#=GetFrameTime()
- //Print( ScreenFPS() )
- if GetPointerPressed()=1
- PointerStartX#=GetPointerX()
- PointerStartY#=GetPointerY()
- endif
- if GetPointerState()=1
- PointerX#=GetPointerX()
- PointerY#=GetPointerY()
- //calculate the distance the pointer traveled while pressing
- PointerDistX#=PointerX#-PointerStartX#
- PointerDistY#=PointerY#-PointerStartY#
- // here we calculate if we swipe vertically or horizontally
- if abs(PointerDistX#)>abs(PointerDistY#)
- // change the camera angle in dependence of the frametime
- CameraAngleY#=CameraAngleY#-PointerDistX#*1.5*FrameTime#
- else
- // change the camera distance in dependence of the frametime
- CameraDistance#=CameraDistance#-PointerDistY#*0.1*FrameTime#
- endif
- endif
- //sin and cos of the camera angle
- Sin#=sin(CameraAngleY#)
- Cos#=cos(CameraAngleY#)
- // calculate the camera position, with curvevalue for the smooth movement
- CameraX#=curvevalue(sin(CameraAngleY#),CameraX#,3)
- CameraZ#=curvevalue(cos(CameraAngleY#),CameraZ#,3)
- setcameraposition(1,cx#+CameraDistance#*0.6*CameraX#,cy#+CameraDistance#,cz#+CameraDistance#*0.6*CameraZ#)
- setcameralookat(1,cx#,cy#,cz#,0)
- setobjectposition(cursorobject,cx#,cy#,cz#)
- Sync()
- Until quit=1
- function control()
- oldxpos#=getobjectx(cursorobject)
- oldypos#=getobjecty(cursorobject)
- oldzpos#=getobjectz(cursorobject)
- if getrawkeypressed(KEY_Q)
- quit=1
- endif
- if getrawkeypressed(KEY_L)
- load_model(currenttexture)
- endif
- if getrawkeypressed(KEY_DELETE)
- for n=1 to maxobjects
- if Tobject[n].selecttodelete=1
- deleted[n]=Tobject[n].objID
- Tobject[n].selecttodelete=0
- deleteobject(Tobject[n].objID)
- reset_object(Tobject[n].objID)
- endif
- next
- endif
- if getrawkeypressed(KEY_C)
- clear_level()
- endif
- if getrawkeypressed(KEY_A)
- cy#=cy#+gridy#
- endif
- if getrawkeypressed(KEY_Z)
- cy#=cy#-gridy#
- endif
- if getrawkeypressed(KEY_LEFT)
- cx#=cx#+gridx#
- endif
- if getrawkeypressed(KEY_RIGHT)
- cx#=cx#-gridx#
- endif
- if getrawkeypressed(KEY_UP)
- cz#=cz#-gridz#
- endif
- if getrawkeypressed(KEY_DOWN)
- cz#=cz#+gridz#
- endif
- if getrawkeypressed(KEY_P)
- inc phybody
- if phybody>2
- phybody=1
- endif
- endif
- if getrawkeypressed(KEY_S)
- inc physhape
- if physhape>1
- physhape=0
- endif
- endif
- if getrawkeypressed(KEY_T)
- save(level)
- hide_stuff()
- test_level()
- show_stuff()
- endif
- if getrawkeyreleased(KEY_SPACE)
- for n=1 to maxobjects
- if deleted[n]>0
- oldnumber=objectnumber
- objectnumber=deleted[n]
- reset_object(objectnumber)
- deleted[n]=0
- found=1
- exit
- endif
- next
- select shape
- case 0
- createobjectbox(objectnumber,sx#,sy#,sz#)
- setobjectposition(objectnumber,cx#,cy#,cz#)
- setobjectimage(objectnumber,currenttexture,0)
- SetObjectUVScale(objectnumber, 0, sx#, sz# )
- setobjectcolor(objectnumber,red,green,blue,255)
- endcase
- case 1
- createobjectsphere(objectnumber,1,16,16)
- setobjectposition(objectnumber,cx#,cy#,cz#)
- setobjectimage(objectnumber,currenttexture,0)
- setobjectcolor(objectnumber,red,green,blue,255)
- endcase
- endselect
- set_value(objectnumber)
- if found=1
- objectnumber=oldnumber
- endif
- if found=0
- inc objectnumber
- endif
- found=0
- endif
- if GetRawKeyReleased(KEY_SHIFT)
- caster(oldxpos#,oldypos#,oldzpos#)
- if obj>0 and obj <> cursorobject
- inc objectsselected
- if objectsselected=1
- object1=obj
- endif
- if objectsselected=2
- object2=obj
- endif
- Tobject[obj].oldimage=Tobject[obj].image
- oldred=Tobject[obj].red
- oldgreen=Tobject[obj].green
- oldblue=Tobject[obj].blue
- select Tobject[obj].selecttodelete
- case 0
- setobjectcolor(obj,255,255,0,255)
- `setobjectimage(obj,22,0)
- Tobject[obj].selecttodelete=1
- SetObjectTransparency(obj,1)
- endcase
- case 1
- setobjectcolor(obj,oldred,oldgreen,oldblue,255)
- Tobject[obj].selecttodelete=0
- dec objectsselected
- `setobjectimage(obj,myobject[obj].oldimage,0)
- Tobject[obj].oldimage=0
- SetObjectTransparency(obj,0)
- endcase
- endselect
- endif
- endif
- if getrawkeypressed(KEY_SLASH)
- inc currenttexture
- setspriteimage(1,currenttexture)
- endif
- if getrawkeypressed(KEY_PERIOD)
- dec currenttexture
- setspriteimage(1,currenttexture)
- endif
- if getrawkeypressed(KEY_H)
- sx#=sx#+1
- deleteobject(cursorobject)
- createobjectbox(cursorobject,sx#,sy#,sz#)
- setobjectposition(cursorobject,cx#,cy#,cz#)
- setobjectcolor(cursorobject,0,100,0,100)
- SetObjectTransparency(cursorobject,1)
- endif
- if getrawkeypressed(KEY_G)
- sx#=sx#-1
- deleteobject(cursorobject)
- createobjectbox(cursorobject,sx#,sy#,sz#)
- setobjectposition(cursorobject,cx#,cy#,cz#)
- setobjectcolor(cursorobject,0,100,0,100)
- SetObjectTransparency(cursorobject,1)
- endif
- if getrawkeypressed(KEY_F2)
- save(level)
- endif
- if getrawkeypressed(KEY_F1)
- load(level)
- endif
- read_boxes()
- endfunction
- function set_value(ob)
- Tobject[ob].name$ = myname$
- Tobject[ob].objID=objectnumber
- Tobject[ob].phybody=phybody
- Tobject[ob].physhape=physhape
- Tobject[ob].shape=shape
- Tobject[ob].image=currenttexture
- Tobject[ob].red=red
- Tobject[ob].green=green
- Tobject[ob].blue=blue
- Tobject[ob].cx#=cx#
- Tobject[ob].cy#=cy#
- Tobject[ob].cz#=cz#
- Tobject[ob].sx#=sx#
- Tobject[ob].sy#=sy#
- Tobject[ob].sz#=sz#
- endfunction
- function cameracontrol(xpos#,ypos#,zpos#)
- if GetPointerPressed()=1
- PointerStartX#=GetPointerX()
- PointerStartY#=GetPointerY()
- endif
- if GetPointerState()=1
- PointerX#=GetPointerX()
- PointerY#=GetPointerY()
- //calculate the distance the pointer traveled while pressing
- PointerDistX#=PointerX#-PointerStartX#
- PointerDistY#=PointerY#-PointerStartY#
- // here we calculate if we swipe vertically or horizontally
- if abs(PointerDistX#)>abs(PointerDistY#)
- // change the camera angle in dependence of the frametime
- CameraAngleY#=CameraAngleY#-PointerDistX#*1.5*FrameTime#
- else
- // change the camera distance in dependence of the frametime
- CameraDistance#=CameraDistance#-PointerDistY#*0.1*FrameTime#
- endif
- endif
- //sin and cos of the camera angle
- Sin#=sin(CameraAngleY#)
- Cos#=cos(CameraAngleY#)
- // calculate the camera position, with curvevalue for the smooth movement
- CameraX#=curvevalue(sin(CameraAngleY#),CameraX#,3)
- CameraZ#=curvevalue(cos(CameraAngleY#),CameraZ#,3)
- setcameraposition(1,xpos#+CameraDistance#*0.6*CameraX#,ypos#+CameraDistance#,zpos#+CameraDistance#*0.6*CameraZ#)
- setcameralookat(1,xpos#,ypos#,zpos#,0)
- endfunction
- Function Init()
- setclearcolor(60,0,0)
- create_my_editbox(1,240,20,2,255,0,0,0,30,18,255,"1") //phybody#
- create_my_editbox(2,240,50,2,255,0,0,0,30,18,255,"0") //physhape#
- create_my_editbox(3,240,80,2,255,0,0,0,30,18,255,"1.0") //sizex#
- create_my_editbox(4,240,110,2,255,0,0,0,30,18,255,"1.0") //sizey#
- create_my_editbox(5,240,140,2,255,0,0,0,30,18,255,"1.0") //sizez#
- create_my_editbox(6,460,20,2,255,0,0,0,30,18,255,"255")
- create_my_editbox(7,460,50,2,255,0,0,0,30,18,255,"255")
- create_my_editbox(8,460,80,2,255,0,0,0,30,18,255,"255")
- create_my_text(1,38,18,25,255,0,0,"PhyBody --- ",0)
- create_my_text(2,38,48,25,255,0,0,"PhyShape--- ",0)
- create_my_text(3,38,78,25,255,0,0,"SizeX# --- ",0)
- create_my_text(4,38,108,25,255,0,0,"SizeY# --- ",0)
- create_my_text(5,38,138,25,255,0,0,"SizeZ# --- ",0)
- createobjectbox(cursorobject,sx#,sy#,sz#)
- setobjectposition(cursorobject,cx#,cy#,cz#)
- setobjectcolor(cursorobject,0,100,0,100)
- SetObjectTransparency(cursorobject,1)
- createsprite(1,currenttexture)
- setspritesize(1,128,128)
- setspriteposition(1,900,550)
- endfunction
- function create_my_editbox(number,x#,y#,bordersize#,r,g,b,backcolor,bsizex#,bsizey#,alpha,box$)
- createeditbox(number)
- SetEditBoxBorderSize(number,bordersize#)
- SetEditBoxTextColor(number,r,g,b)
- SetEditBoxBorderColor(number,r,g,b,alpha)
- SetEditBoxBackgroundColor( number, 0, 0, 0, alpha )
- seteditboxsize(number,bsizex#,bsizey#)
- SetEditBoxPosition(number,x#,y#)
- FixEditBoxToScreen(number,1)
- seteditboxdepth(number,0)
- SetEditBoxText(number,box$)
- endfunction
- function create_my_text(number,x#,y#,size,r,g,b,mystring$,depth)
- createtext(number,mystring$)
- settextsize(number,size)
- settextcolor(number,r,b,g,255)
- SetTextPosition(number,x#,y#)
- FixTextToScreen(number,1)
- settextdepth(number,depth)
- //SetTextFontImage ( number, 2 )
- endfunction
- function curvevalue(Destination#,Current#,Smooth#)
- Current#=Current#+((Destination#-Current#)/Smooth#)
- endfunction Current#
- function PI()
- endfunction 3.14159265
- function set_physics(objectnumber,phyb,phys)
- select phyb
- case 1
- Create3DPhysicsstaticBody(objectnumber)
- endcase
- case 2
- Create3DPhysicsdynamicBody(objectnumber)
- endcase
- endselect
- select phys
- case 0
- SetObjectShapebox(objectnumber)
- endcase
- case 1
- SetObjectShapeSphere(objectnumber)
- endcase
- endselect
- endfunction
- function load_images()
- for n=1 to 100
- f$=str(n) + ".png"
- if getfileexists(f$)
- loadimage (n,f$)
- SetImageWrapU(n,sx#/1.0)
- SetImageWrapV(n,sy#/1.0)
- endif
- next
- endfunction
- Function Test_level()
- for n=1 to 5000
- if Tobject[n].objID>0
- set_physics(n,Tobject[n].phybody,Tobject[n].physhape)
- endif
- next n
- Repeat
- if getrawkeypressed(KEY_E)
- quit=1
- endif
- Step3DPhysicsWorld()
- sync()
- until quit=1
- quit=0
- clear_physics()
- reset_object_positions()
- endfunction
- function clear_physics()
- for n=1 to maxobjects
- if getobjectexists(n)
- delete3dphysicsbody(n)
- endif
- next n
- //Delete3DPhysicsCharacterController(player)
- endfunction
- function reset_object_positions()
- for n=1 to maxobjects
- if Tobject[n].objID>0
- setobjectposition(n,Tobject[n].cx#,Tobject[n].cy#,Tobject[n].cz#)
- setobjectrotation(n,0,0,0)
- endif
- next n
- endfunction
- Function Save(level)
- f$=""
- f$="levelR"
- f$=f$+str(level)
- f$=f$+".lev"
- myfile=opentowrite(f$,0)
- for n=1 to maxobjects
- writestring(myfile,Tobject[n].name$)
- writeinteger(myfile,Tobject[n].objID)
- writeinteger(myfile,Tobject[n].image)
- writeinteger(myfile,Tobject[n].phybody)
- writeinteger(myfile,Tobject[n].physhape)
- writeinteger(myfile,Tobject[n].shape)
- writeinteger(myfile,Tobject[n].transparency)
- writeinteger(myfile,Tobject[n].red)
- writeinteger(myfile,Tobject[n].green)
- writeinteger(myfile,Tobject[n].blue)
- writeinteger(myfile,deleted[n])
- writefloat(myfile,Tobject[n].cx#)
- writefloat(myfile,Tobject[n].cy#)
- writefloat(myfile,Tobject[n].cz#)
- writefloat(myfile,Tobject[n].sx#)
- writefloat(myfile,Tobject[n].sy#)
- writefloat(myfile,Tobject[n].sz#)
- next n
- closefile(myfile)
- endfunction
- Function load(level)
- clear_level()
- f$=""
- f$="levelR"
- f$=f$+str(level)
- f$=f$+".lev"
- myfile=opentoread(f$)
- for n=1 to maxobjects
- Tobject[n].name$=readstring(myfile)
- Tobject[n].objID =readinteger(myfile)
- Tobject[n].image=readinteger(myfile)
- Tobject[n].phybody=readinteger(myfile)
- Tobject[n].physhape=readinteger(myfile)
- Tobject[n].shape=readinteger(myfile)
- Tobject[n].transparency=readinteger(myfile)
- Tobject[n].red=readinteger(myfile)
- Tobject[n].green=readinteger(myfile)
- Tobject[n].blue=readinteger(myfile)
- deleted[n]=readinteger(myfile)
- Tobject[n].cx#=readfloat(myfile)
- Tobject[n].cy#=readfloat(myfile)
- Tobject[n].cz#=readfloat(myfile)
- Tobject[n].sx#=readfloat(myfile)
- Tobject[n].sy#=readfloat(myfile)
- Tobject[n].sz#=readfloat(myfile)
- if Tobject[n].objID>0
- if Tobject[n].name$=""
- select Tobject[n].shape
- case 0
- createobjectbox(Tobject[n].objID,Tobject[n].sx#,Tobject[n].sy#,Tobject[n].sz#)
- setobjectposition(Tobject[n].objID,Tobject[n].cx#,Tobject[n].cy#,Tobject[n].cz#)
- setobjectimage(Tobject[n].objID,Tobject[n].image,0)
- SetObjectUVScale(Tobject[n].objID, 0, Tobject[n].sx#, Tobject[n].sz#)
- SetObjectTransparency(Tobject[n].objID,Tobject[n].transparency)
- SetObjectcolor(Tobject[n].objID,Tobject[n].red,Tobject[n].green,Tobject[n].blue,255)
- endcase
- case 1
- createobjectsphere(Tobject[n].objID,1,16,16)
- setobjectposition(Tobject[n].objID,Tobject[n].cx#,Tobject[n].cy#,Tobject[n].cz#)
- setobjectimage(Tobject[n].objID,Tobject[n].image,0)
- setobjectcolor(Tobject[n].objID,Tobject[n].red,Tobject[n].green,Tobject[n].blue,255)
- endcase
- endselect
- endif
- if Tobject[n].name$<>""
- loadobject(Tobject[n].objID,Tobject[n].name$)
- setobjectposition(Tobject[n].objID,Tobject[n].cx#,Tobject[n].cy#,Tobject[n].cz#)
- setobjectimage(Tobject[n].objID,Tobject[n].image,0)
- setobjectcolor(Tobject[n].objID,Tobject[n].red,Tobject[n].green,Tobject[n].blue,255)
- endif
- endif
- next n
- closefile(myfile)
- for n=1 to maxobjects
- if objectnumber<=Tobject[n].objID
- objectnumber=Tobject[n].objID+1
- endif
- next n
- endfunction
- Function read_boxes()
- if getrawkeypressed(KEY_ENTER)
- repeat
- focus=GetCurrentEditBox()
- select focus
- case 1
- t$=geteditboxtext(1)
- t=val(t$)
- phybody=t
- endcase
- case 2
- t$=geteditboxtext(2)
- t=val(t$)
- physhape=t
- endcase
- case 3
- t$=geteditboxtext(3)
- t#=valfloat(t$)
- sx#=t#
- redo_cursor(sx#,sy#,sz#)
- endcase
- case 4
- t$=geteditboxtext(4)
- t#=valfloat(t$)
- sy#=t#
- redo_cursor(sx#,sy#,sz#)
- endcase
- case 5
- t$=geteditboxtext(5)
- t#=valfloat(t$)
- sz#=t#
- redo_cursor(sx#,sy#,sz#)
- endcase
- case 6
- t$=geteditboxtext(6)
- t=val(t$)
- red=t
- setspritecolor(1,red,green,blue,255)
- endcase
- case 7
- t$=geteditboxtext(7)
- t=val(t$)
- green=t
- setspritecolor(1,red,green,blue,255)
- endcase
- case 8
- t$=geteditboxtext(8)
- t=val(t$)
- blue=t
- setspritecolor(1,red,green,blue,255)
- endcase
- endselect
- sync()
- until GetRawKeyReleased(KEY_ENTER)
- endif
- endfunction
- function redo_cursor(sizex#,sizey#,sizez#)
- deleteobject(cursorobject)
- createobjectbox(cursorobject,sizex#,sizey#,sizez#)
- setobjectposition(cursorobject,cx#,cy#,cz#)
- setobjectcolor(cursorobject,0,100,0,100)
- SetObjectTransparency(cursorobject,1)
- endfunction
- function show_stuff()
- for n=1 to 1000
- if gettextexists(n)
- SetTextVisible(n,1)
- endif
- if GetEditBoxExists(n)
- SetEditBoxVisible(n,1)
- endif
- next n
- SetSpriteVisible(1,1)
- sync()
- endfunction
- function hide_stuff()
- for n=1 to 1000
- if gettextexists(n)
- SetTextVisible(n,0)
- endif
- if GetEditBoxExists(n)
- SetEditBoxVisible(n,0)
- endif
- next n
- SetSpriteVisible(1,0)
- sync()
- endfunction
- function clear_level()
- for n=1 to maxobjects
- if getobjectexists(n)
- deleteobject(n)
- Tobject[n].name$=""
- Tobject[n].cz#=0
- Tobject[n].cy#=0
- Tobject[n].cx#=0
- Tobject[n].phybody=0
- Tobject[n].image=0
- Tobject[n].objID=0
- Tobject[n].physhape=0
- Tobject[n].shape=0
- Tobject[n].transparency=0
- Tobject[n].red=0
- Tobject[n].green=0
- Tobject[n].blue=0
- Tobject[n].sx#=0
- Tobject[n].sy#=0
- Tobject[n].sz#=0
- endif
- next n
- objectnumber=1
- sync()
- endfunction
- Function reset_object(obj)
- Tobject[obj].name$=""
- Tobject[obj].objID =0
- Tobject[obj].image=0
- Tobject[obj].phybody=0
- Tobject[obj].physhape=0
- Tobject[obj].shape=0
- Tobject[obj].transparency=0
- Tobject[obj].cx#=0
- Tobject[obj].cy#=0
- Tobject[obj].cz#=0
- Tobject[obj].red=0
- Tobject[obj].green=0
- Tobject[obj].blue=0
- Tobject[obj].sx#=0
- Tobject[obj].sy#=0
- Tobject[obj].sz#=0
- endfunction
- function caster(oldx#,oldy#,oldz#)
- pobj = ObjectsphereCast(0,oldx#,oldy#,oldz#,cx#,cy#,cz#,0.5)
- if pobj>0
- obj=GetObjectRayCastHitID(0)
- endif
- endfunction obj
- function load_model(currenttexture)
- for n=1 to maxobjects
- if deleted[n]>0
- oldnumber=objectnumber
- objectnumber=deleted[n]
- deleted[n]=0
- found=1
- exit
- endif
- next
- model$=ChooseRawFile("*.obj")
- if model$>""
- myname$=model$
- `myobject[objectnumber].name$=myname$
- loadobject(objectnumber,model$)
- set_value(objectnumber)
- repeat
- If getrawkeypressed(KEY_E)
- quit=1
- endif
- if getrawkeypressed(KEY_LEFT)
- cx#=cx#+gridx#
- endif
- if getrawkeypressed(KEY_RIGHT)
- cx#=cx#-gridx#
- endif
- if getrawkeypressed(KEY_UP)
- cz#=cz#-gridz#
- endif
- if getrawkeypressed(KEY_DOWN)
- cz#=cz#+gridz#
- endif
- if GetPointerPressed()=1
- PointerStartX#=GetPointerX()
- PointerStartY#=GetPointerY()
- endif
- if GetPointerState()=1
- PointerX#=GetPointerX()
- PointerY#=GetPointerY()
- //calculate the distance the pointer traveled while pressing
- PointerDistX#=PointerX#-PointerStartX#
- PointerDistY#=PointerY#-PointerStartY#
- // here we calculate if we swipe vertically or horizontally
- if abs(PointerDistX#)>abs(PointerDistY#)
- // change the camera angle in dependence of the frametime
- CameraAngleY#=CameraAngleY#-PointerDistX#*1.5*FrameTime#
- else
- // change the camera distance in dependence of the frametime
- CameraDistance#=CameraDistance#-PointerDistY#*0.1*FrameTime#
- endif
- endif
- //sin and cos of the camera angle
- Sin#=sin(CameraAngleY#)
- Cos#=cos(CameraAngleY#)
- // calculate the camera position, with curvevalue for the smothe movement
- CameraX#=curvevalue(sin(CameraAngleY#),CameraX#,3)
- CameraZ#=curvevalue(cos(CameraAngleY#),CameraZ#,3)
- setcameraposition(1,cx#+CameraDistance#*0.6*CameraX#,cy#+CameraDistance#,cz#+CameraDistance#*0.6*CameraZ#)
- // set the camera to look at the balls position
- setcameralookat(1,cx#,cy#,cz#,0)
- setobjectposition(objectnumber,cx#,cy#,cz#)
- setobjectposition(cursorobject,cx#,cy#,cz#)
- sync()
- until quit=1
- if found=1
- objectnumber=oldnumber
- endif
- if found=0
- inc objectnumber
- endif
- found=0
- quit=0
- endif
- endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement