OK, I removed the data statements and created the images with the code.
rem The Bouncing Kirbys v1.00
rem by the comet
rem setup screen
sync on
sync rate 30
backdrop on
color backdrop 0
hide mouse
autocam off
rem dimensions
g=0
for r=2 to 5
for t=3 to 5
inc g
dim obj_grav#(g)
next t
next r
rem wood
create bitmap 1,64,64
ink rgb(50,0,0),0
for t=0 to 64
line 0,t,64,t
next t
for t=1 to 200
ink rgb(rnd(30)+35,0,0),0
x=rnd(64):lenght=rnd(64):y=rnd(64)
line x,y,x+lenght,y
next t
get image 1,0,0,64,64
delete bitmap 1
rem cloth
create bitmap 1,64,64
ink rgb(0,155,155),0
for t=0 to 64
line 0,t,64,t
next t
ink rgb(0,0,155),0
for t=1 to 50
circle rnd(64),rnd(64),rnd(15)
next t
get image 4,0,0,64,64
delete bitmap 1
create bitmap 1,256,128
paste image 4,0,0
paste image 4,64,0
paste image 4,128,0
paste image 4,192,0
paste image 4,0,64
paste image 4,64,64
paste image 4,128,64
paste image 4,192,64
get image 2,0,0,256,128
delete bitmap 1
delete image 4
rem kirbyface
create bitmap 1,49,33
for t=0 to 33
ink rgb(253,199,215),0
line 0,t,49,t
next t
ink 0,0
for r=0 to 1
for t=0 to 8
ellipse 16+r,8,t/2,t
ellipse 32+r,8,t/2,t
next t
next r
for t=0 to 5
ink rgb(255-(t*8),255-(t*8),255-(t*8)),0
ellipse 16,4,t/2,t/1.4
ellipse 32,4,t/2,t/1.4
next t
for t=0 to 4
ink rgb(0,0,255-(t*25)),0
ellipse 16,10,t/2,t/1.4
ellipse 32,10,t/2,t/1.4
next t
for t=0 to 5
ink rgb(255-(t*25),0,0),0
ellipse 8,16,t,t/2
ellipse 41,16,t,t/2
next t
ink 0,0
line 21,22,27,22
line 21,23,27,23
line 21,24,27,24
line 22,25,26,25
line 22,26,26,26
line 23,27,25,27
line 24,28,24,28
ink rgb(255,0,0),0
dot 24,27
get image 3,0,0,49,33
delete bitmap 1
rem make holding object
make object box 1,1000,400,500
make object box 2,10,300,10
position object 2,-495,350,-245
make object box 3,10,300,10
position object 3,-495,350,245
make object box 4,10,300,10
position object 4,495,350,-245
make object box 5,10,300,10
position object 5,495,350,245
make object box 6,10,10,500
position object 6,-495,495,0
make object box 7,10,10,500
position object 7,495,495,0
for t=2 to 7
make mesh from object 1,t
delete object t
add limb 1,t-1,1
delete mesh 1
next t
texture object 1,1
rem make a matrix
make matrix 1,1000,500,50,25
position matrix 1,-500,500,-250
prepare matrix texture 1,2,50,25
t=0
for y=0 to 24
for x=0 to 49
inc t
set matrix tile 1,x,y,(x+y*50)+1
next y
next x
update matrix 1
rem create kirby
for r=2 to 8
if r<>6
rem scale face down
create bitmap 1,465,215
ink rgb(253,199,215),0
for t=0 to 215
line 0,t,465,t
next t
paste image 3,232-24.5,107-16.5
get image 4,0,0,465,215
delete bitmap 1
rem make body
make object sphere 100,80
yrotate object 100,90
make mesh from object 1,100
delete object 100
make object 100,1,1
rem make arms
make object sphere 101,48
scale object 101,50,90,50
position object 101,0,0,32
xrotate object 101,340
make object sphere 102,48
scale object 102,50,90,50
position object 102,0,0,-32
xrotate object 102,20
rem make feet
make object sphere 103,48
scale object 103,90,50,50
position object 103,0,-36,16
make object sphere 104,48
scale object 104,90,50,50
position object 104,0,-36,-16
rem make core
make object plain r,0,0
make mesh from object 1,100
delete object 100
add limb r,1,1
texture limb r,1,4
delete mesh 1
rem create limbs
for t=101 to 104
make mesh from object 1,t
delete object t
make object plain t,0,0
add limb t,1,1
make mesh from object 1,t
delete object t
add limb r,t-99,1
delete mesh 1
if t<103
color limb r,t-99,rgb(253,199,215)
else
color limb r,t-99,rgb(255,0,0)
endif
next t
make object collision box r,-40,-40,-40,40,40,40,0
endif
next r
delete image 3
rem animate
gosub run
rem intro
gosub intro
rem play all kirbys
for t=2 to 5:set object speed t,30:loop object t:next t
rem main loop
camhigh#=800
do
rem control camera
angle#=wrapvalue(angle#+mousemovex())
camhigh#=camhigh#-mousemovey()*2
if camhigh#>1000 then camhigh#=1000
if camhigh#<-1000 then camhigh#=-1000
set camera to follow 0,0,0,angle#,800,camhigh#,3,0
point camera 0,0,0
rem control balls
gosub ball1
gosub ball2
gosub ball3
gosub ball4
rem restore matrix
for x=0 to 49
set matrix height 1,x,25,get ground height(1,x*20,1)
next x
for y=0 to 24
t#=-3.6
for x=0 to 49
inc t#,3.6
flux#=(sin(y*7.2)*50)+100
s#=sin(t#+180)*flux#
g#=get ground height(1,x*20,y*20)
h#=g#+(s#-g#)/30
set matrix height 1,x,y,h#
next y
next x
rem update positions
inc update:if update=1 then update matrix 1:update=0
rem refresh screen
sync
rem end of main loop
loop
rem end program
end
rem ******************************************
rem * SUBROUTINES *
rem ******************************************
ball1:
rem collision with ball
x#=object position x(2)
y#=object position y(2)
z#=object position z(2)
grav#=grav#-0.2
x#=x#+gravx#
y#=y#+grav#
z#=z#+gravz#
position object 2,x#,y#,z#
rotate object 2,wrapvalue(object angle x(2)+gravx#*1.5),0,wrapvalue(object angle z(2)+gravz#*1.5)
rem dint in cloth
t#=-3.6
inc t#,(25+(x#/20))*3.6
flux#=(sin((12.5+(z#/20))*7.2)*50)+100
s#=sin(t#+180)*flux#
ink rgb(255,255,255),0
if y#<s#+545 and x#>-500 and x#<500 and z#>-250 and z#<250
inc grav#,0.9
if grav#<0
rem variables
centerx=(x#/20)+25
centery=(z#/20)+12.5
spread#=10
intensity=(s#-y#)/40
dec gravx#,x#/1000
dec gravz#,z#/1000
for y=0 to 24
t#=-3.6
for x=0 to 49
rem smooth matrix
inc t#,3.6
flux#=(sin(y*7.2)*50)+100
s#=sin(t#+180)*flux#
g#=get ground height(1,x*20,y*20)
h#=g#+(s#-g#)/30
rem use gaussian function
xterm#=((x-centerx)/spread#)^2
yterm#=((y-centery)/spread#)^2
height#=intensity*2.718281828^(0-(xterm#+yterm#))
set matrix height 1,x,y,h#+height#
next x
next y
endif
endif
if y#<0
position object 2,rnd(1000)-500,rnd(300)+700,rnd(500)-250
grav#=0
gravx#=0
gravz#=0
rotate object 2,0,0,0
endif
return
ball2:
rem collision with ball
x2#=object position x(3)
y2#=object position y(3)
z2#=object position z(3)
grav2#=grav2#-0.2
x2#=x2#+gravx2#
y2#=y2#+grav2#
z2#=z2#+gravz2#
position object 3,x2#,y2#,z2#
rotate object 3,wrapvalue(object angle x(3)+gravx2#*1.5),0,wrapvalue(object angle z(3)+gravz2#*1.5)
rem dint in cloth
t#=-3.6
inc t#,(25+(x2#/20))*3.6
flux#=(sin((12.5+(z2#/20))*7.2)*50)+100
s#=sin(t#+180)*flux#
ink rgb(255,255,255),0
if y2#<s#+545 and x2#>-500 and x2#<500 and z2#>-250 and z2#<250
inc grav2#,0.9
if grav2#<0
rem variables
centerx=(x2#/20)+25
centery=(z2#/20)+12.5
spread#=8
intensity=(s#-y2#)/40
dec gravx2#,x2#/1000
dec gravz2#,z2#/1000
for y=0 to 24
t#=-3.6
for x=0 to 49
rem smooth matrix
inc t#,3.6
flux#=(sin(y*7.2)*50)+100
s#=sin(t#+180)*flux#
g#=get ground height(1,x*20,y*20)
h#=g#+(s#-g#)/30
rem use gaussian function
xterm#=((x-centerx)/spread#)^2
yterm#=((y-centery)/spread#)^2
height#=intensity*2.718281828^(0-(xterm#+yterm#))
set matrix height 1,x,y,h#+height#
next x
next y
endif
endif
if y2#<0
position object 3,rnd(1000)-500,rnd(300)+700,rnd(500)-250
grav2#=0
gravx2#=0
gravz2#=0
rotate object 3,0,0,0
endif
return
ball3:
rem collision with ball
x3#=object position x(4)
y3#=object position y(4)
z3#=object position z(4)
grav3#=grav3#-0.2
x3#=x3#+gravx3#
y3#=y3#+grav3#
z3#=z3#+gravz3#
position object 4,x3#,y3#,z3#
rotate object 4,wrapvalue(object angle x(4)+gravx3#*1.5),0,wrapvalue(object angle z(4)+gravz3#*1.5)
rem dint in cloth
t#=-3.6
inc t#,(25+(x3#/20))*3.6
flux#=(sin((12.5+(z3#/20))*7.2)*50)+100
s#=sin(t#+180)*flux#
ink rgb(255,255,255),0
if y3#<s#+545 and x3#>-500 and x3#<500 and z3#>-250 and z3#<250
inc grav3#,0.9
if grav3#<0
rem variables
centerx=(x3#/20)+25
centery=(z3#/20)+12.5
spread#=8
intensity=(s#-y3#)/40
dec gravx3#,x3#/1000
dec gravz3#,z3#/1000
for y=0 to 24
t#=-3.6
for x=0 to 49
rem smooth matrix
inc t#,3.6
flux#=(sin(y*7.2)*50)+100
s#=sin(t#+180)*flux#
g#=get ground height(1,x*20,y*20)
h#=g#+(s#-g#)/30
rem use gaussian function
xterm#=((x-centerx)/spread#)^2
yterm#=((y-centery)/spread#)^2
height#=intensity*2.718281828^(0-(xterm#+yterm#))
set matrix height 1,x,y,h#+height#
next x
next y
endif
endif
if y3#<0
position object 4,rnd(1000)-500,rnd(300)+700,rnd(500)-250
grav3#=0
gravx3#=0
gravz3#=0
rotate object 4,0,0,0
endif
return
ball4:
rem collision with ball
x4#=object position x(5)
y4#=object position y(5)
z4#=object position z(5)
grav4#=grav4#-0.2
x4#=x4#+gravx4#
y4#=y4#+grav4#
z4#=z4#+gravz4#
position object 5,x4#,y4#,z4#
rotate object 5,wrapvalue(object angle x(5)+gravx4#*1.5),0,wrapvalue(object angle z(5)+gravz4#*1.5)
rem dint in cloth
t#=-3.6
inc t#,(25+(x4#/20))*3.6
flux#=(sin((12.5+(z4#/20))*7.2)*50)+100
s#=sin(t#+180)*flux#
ink rgb(255,255,255),0
if y4#<s#+545 and x4#>-500 and x4#<500 and z4#>-250 and z4#<250
inc grav4#,0.9
if grav4#<0
rem variables
centerx=(x4#/20)+25
centery=(z4#/20)+12.5
spread#=8
intensity=(s#-y4#)/40
dec gravx4#,x4#/1000
dec gravz4#,z4#/1000
for y=0 to 24
t#=-3.6
for x=0 to 49
rem smooth matrix
inc t#,3.6
flux#=(sin(y*7.2)*50)+100
s#=sin(t#+180)*flux#
g#=get ground height(1,x*20,y*20)
h#=g#+(s#-g#)/30
rem use gaussian function
xterm#=((x-centerx)/spread#)^2
yterm#=((y-centery)/spread#)^2
height#=intensity*2.718281828^(0-(xterm#+yterm#))
set matrix height 1,x,y,h#+height#
next x
next y
endif
endif
if y4#<0
position object 5,rnd(1000)-500,rnd(300)+700,rnd(500)-250
grav4#=0
gravx4#=0
gravz4#=0
rotate object 5,0,0,0
endif
return
run:
for r=2 to 5
runstart=0
frame=0
rem use sine command to smooth effect
for t=0 to 360 step 20
angle#=sin(t)*35
inc frame
rem rotate body
rotate limb r,1,0,wrapvalue(angle#/2),0
offset limb r,1,0,sin(t*2)/2,0
rem rotate arms
rotate limb r,2,0,wrapvalue(angle#/2),wrapvalue(0-angle#+180)
rotate limb r,3,0,wrapvalue(angle#/2),wrapvalue(angle#+180)
offset limb r,2,0,2+(sin(t*2)/2),0
offset limb r,3,0,2+(sin(t*2)/2),0
rem rotate legs
rotate limb r,4,0,0,wrapvalue(0-angle#)
rotate limb r,5,0,0,wrapvalue(angle#)
offset limb r,4,0,sin(t+90)/2,0
offset limb r,5,0,sin(t-90)/2,0
rem set the keyframe
set object keyframe r,frame
next t
runend=frame
next r
return
intro:
rem animate and play
for t=2 to 5:hide object t:next t
make object plain 6,5,3
position object 6,-3.5,2.8,8
color object 6,rgb(100,100,100)
ghost object on 6
lock object on 6
hide object 6
hide object 8
yrotate object 7,190
yrotate object 8,190
gosub winke
gosub idle
gosub back_flip_jump
rem don`t let user miss the spectacular start!
position camera 100000,100000,100000
repeat
center text 320,20,"press enter to start"
sync
until returnkey()=1
cls:sync
set object speed 7,60
set object speed 8,60
position object 7,-200,250,0
position object 8,-200,250,0
position camera 0,500,500
play object 7
do
if object playing(7)=0 then exit
set camera to follow -200,250,0,280,170,290,18,0
point camera -200,250,0
sync
loop
hide object 7
show object 8
loop object 8,idlestart,idleend
s=-2
show object 6
do
rem swoop up text box
inc s,2
scale object 6,s,s,s
if s=100 then exit
zrotate object 6,s*1.8
set camera to follow -200,250,0,280,170,290,18,0
point camera -200,250,0
sync
loop
zrotate object 6,0
ink rgb(255,255,255),0
rem display text (messy code, I know)
t=0
do
inc t
if t>0 then text 30,30,"Hello and Welcome to <The"
if t>2 then text 30,45,"Bouncing Kirbys> demo, created"
if t>4 then text 30,60,"by TheComet for the DBC physics"
if t>6 then text 30,75,"Challenge!"
if t>8 then text 30,90,"Press Space to continue..."
if spacekey()=1 and t>50 then exit
set camera to follow -200,250,0,280,170,290,18,0
point camera -200,250,0
sync
loop
t=10
repeat
dec t
if t>0 then text 30,30,"Hello and Welcome to <The"
if t>2 then text 30,45,"Bouncing Kirbys> demo, created"
if t>4 then text 30,60,"by TheComet for the DBC physics"
if t>6 then text 30,75,"Challenge!"
if t>8 then text 30,90,"Press Space to continue..."
sync
until t<0
do
inc t
if t>0 then text 30,30,"What do you mean I`m fat?!"
if t>2 then text 30,45,"I`m not fat!! It`s the designer!"
if t>4 then text 30,60,"He fed us up with cakes and pies"
if t>6 then text 30,75,"So we would bounce better!"
if t>8 then text 30,90,"It`s him you should blame!"
if spacekey()=1 and t>50 then exit
sync
loop
t=10
repeat
dec t
if t>0 then text 30,30,"What do you mean I`m fat?!"
if t>2 then text 30,45,"I`m not fat!! It`s the designer!"
if t>4 then text 30,60,"He fed us up with cakes and pies"
if t>6 then text 30,75,"So we would bounce better!"
if t>8 then text 30,90,"It`s him you should blame!"
sync
until t<0
do
inc t
if t>0 then text 30,30,"Anyway, above me is the carpet on"
if t>2 then text 30,45,"which me and my friends will bounce"
if t>4 then text 30,60," on. I think TheComet used sin()"
if t>6 then text 30,75,"commands and something called"
if t>8 then text 30,90,"<The gaussian function> that bends"
if t>10 then text 30,105,"the matrix when we bounce off it."
if t<30 then xrotate camera wrapvalue(0-(t*2))
if t>70:if camera angle x()>270 or camera angle x()<15 then xrotate camera wrapvalue(camera angle x()+2):endif
if spacekey()=1 and t>150 then exit
sync
loop
t=12:point camera -200,250,0
repeat
dec t
if t>0 then text 30,30,"Anyway, above me is the carpet on"
if t>2 then text 30,45,"which me and my friends will bounce"
if t>4 then text 30,60,"on. I think TheComet used sin()"
if t>6 then text 30,75,"commands and something called"
if t>8 then text 30,90,"<The gaussian function> that bends"
if t>10 then text 30,105,"the matrix when we bounce off it."
sync
until t<0
do
inc t
if t>0 then text 30,30,"Here are the controls:"
if t>2 then text 30,45,"Move the mouse to view"
if t>6 then text 30,75,"that`s it!"
if spacekey()=1 and t>50 then exit
sync
loop
t=12
repeat
dec t
if t>0 then text 30,30,"Here are the controls:"
if t>2 then text 30,45,"Move the mouse to view"
if t>6 then text 30,75,"that`s it!"
sync
until t<0
do
inc t
if t>0 then text 30,30,"So, all I can say is:enjoy!"
if t>2 then text 30,45,"And tell TheComet to put me"
if t>4 then text 30,60,"and my friends on a Diet!!!"
if t>6 then text 30,75,"Thanks in advance,"
if t>10 then text 30,115," Kirby"
if spacekey()=1 and t>50 then exit
sync
loop
t=12
repeat
dec t
if t>0 then text 30,30,"So, all I can say is:enjoy!"
if t>2 then text 30,45,"And tell TheComet to put me"
if t>4 then text 30,60,"and my friends on a Diet!!!"
if t>6 then text 30,75,"Thanks in advance,"
if t>10 then text 30,115," Kirby"
sync
until t<0
s=100
do
dec s,2
scale object 6,s,s,s
if s=100 then exit
zrotate object 6,s*1.8
if s<3 then exit
sync
loop
delete object 6
delete object 7
for t=2 to 5:show object t:next t
stop object 8
set object speed 8,80
set object frame 8,backflipjumpstart
loop object 8,backflipjumpstart,backflipjumpend
repeat
position object 8,-200,object position y(8)+6,0
point camera -200,object position y(8),0
move camera -3
sync
until object position y(8)>700
delete object 8
return
idle:
idlestart=0
frame=0
rem use sin command to smooth effect
for t=1 to 360 step 5
s#=sin(t)*20
inc frame
rem rotate head
rotate limb 8,1,0,0,wrapvalue(0-(s#/2))
offset limb 8,1,0,s#/40,0
rem rotate arms
rotate limb 8,2,0,wrapvalue(s#/4),wrapvalue(s#)
offset limb 8,2,s#/30,0,0
rotate limb 8,3,0,wrapvalue(s#/4),wrapvalue(s#)
offset limb 8,3,s#/30,0,0
rem rotate legs
rotate limb 8,4,0,0,wrapvalue(s#/2)
offset limb 8,4,0-(s#/15),0,0
rotate limb 8,5,0,0,wrapvalue(s#/2)
offset limb 8,5,0-(s#/15),0,0
rem set the keyframe
set object keyframe 8,frame
next t
idleend=frame
return
winke:
winkestart=0
frame=0
rem rotate head
for t=1 to 90 step 5
s#=sin(t)*15
rotate limb 7,1,wrapvalue(s#),0,0
offset limb 7,1,0,0,0
inc frame
set object keyframe 7,frame
next t
rem use sin command to smooth effect
for t=270 to 1710 step 8
s#=sin(t)*80
inc frame
rem rotate arms
rotate limb 7,2,0,0,0
offset limb 7,2,0,0,0
rotate limb 7,3,0,90,wrapvalue(s#+110)
offset limb 7,3,30,(s#/8)+10,-30
rem rotate legs
rotate limb 7,4,0,0,0
offset limb 7,4,0,0,0
rotate limb 7,5,0,0,0
offset limb 7,5,0,0,0
rem set the keyframe
set object keyframe 7,frame
next t
rem rotate head
for t=91 to 180 step 5
s#=sin(t)*15
rotate limb 7,1,wrapvalue(s#),0,0
offset limb 7,1,0,0,0
rotate limb 7,3,0,0,0
offset limb 7,3,0,0,0
inc frame
set object keyframe 7,frame
next t
winkeend=frame
return
back_flip_jump:
backflipjumpstart=frame+1
rem use sin command to smooth effect
make object box 100,10,10,10
for t=1 to 90 step 6
s#=sin(t)*180
inc frame
rem rotate head
rotate limb 8,1,0,0,0
offset limb 8,1,0,0,0
rem rotate arms
rotate limb 8,2,0,0,wrapvalue(0-s#)
rotate limb 8,3,0,0,wrapvalue(0-s#)
offset limb 8,2,0,s#/90,0
offset limb 8,3,0,s#/90,0
rem rotate legs
rotate limb 8,4,0,0,wrapvalue(s#/9)
offset limb 8,4,0-(s#/67.5),0,0
rotate limb 8,5,0,0,wrapvalue(s#/9)
offset limb 8,5,0-(s#/67.5),0,0
rem flip back
rotate limb 8,1,0,0,wrapvalue(0-t)
rotate limb 8,2,0,0,wrapvalue(0-(t+s#))
position object 100,0,0,0
rotate object 100,90,0,wrapvalue(0-(t+s#))
move object 100,2
x#=object position x(100):y#=object position y(100)
offset limb 8,2,x#,y#,0
rotate limb 8,3,0,0,wrapvalue(0-(t+s#))
offset limb 8,3,x#,y#,0
position object 100,0,0,0
rotate object 100,90,0,wrapvalue(0-(t+(s#/2)))
move object 100,s#/67.5
x#=object position x(100):y#=object position y(100)
rotate limb 8,4,0,0,wrapvalue(0-t)
offset limb 8,4,x#,y#,0
rotate limb 8,5,0,0,wrapvalue(0-t)
offset limb 8,5,x#,y#,0
rem set keyframe
set object keyframe 8,frame
next t
rem backflip
for t=91 to 270 step 6
inc frame
rotate limb 8,1,0,0,wrapvalue(0-t)
rotate limb 8,2,0,0,wrapvalue(0-(t+s#))
position object 100,0,0,0
rotate object 100,90,0,wrapvalue(0-(t+s#))
move object 100,2
x#=object position x(100):y#=object position y(100)
offset limb 8,2,x#,y#,0
rotate limb 8,3,0,0,wrapvalue(0-(t+s#))
offset limb 8,3,x#,y#,0
position object 100,0,0,0
rotate object 100,90,0,wrapvalue(0-(t+(s#/2)))
move object 100,s#/67.5
x#=object position x(100):y#=object position y(100)
rotate limb 8,4,0,0,wrapvalue(0-t)
offset limb 8,4,x#,y#,0
rotate limb 8,5,0,0,wrapvalue(0-t)
offset limb 8,5,x#,y#,0
set object keyframe 8,frame
next t
rem move arms back in place
for t=91 to 180 step 6
s#=sin(t)*180
inc frame
rem rotate head
rotate limb 8,1,0,0,0
offset limb 8,1,0,0,0
rem rotate arms
rotate limb 8,2,0,0,wrapvalue(0-s#)
rotate limb 8,3,0,0,wrapvalue(0-s#)
offset limb 8,2,0,s#/90,0
offset limb 8,3,0,s#/90,0
rem rotate legs
rotate limb 8,4,0,0,wrapvalue(s#/9)
offset limb 8,4,0-(s#/67.5),0,0
rotate limb 8,5,0,0,wrapvalue(s#/9)
offset limb 8,5,0-(s#/67.5),0,0
rem flip back
g=t+180
rotate limb 8,1,0,0,wrapvalue(0-g)
rotate limb 8,2,0,0,wrapvalue(0-(g+s#))
position object 100,0,0,0
rotate object 100,90,0,wrapvalue(0-(g+s#))
move object 100,2
x#=object position x(100):y#=object position y(100)
offset limb 8,2,x#,y#,0
rotate limb 8,3,0,0,wrapvalue(0-(g+s#))
offset limb 8,3,x#,y#,0
position object 100,0,0,0
rotate object 100,90,0,wrapvalue(0-(g+(s#/2)))
move object 100,s#/67.5
x#=object position x(100):y#=object position y(100)
rotate limb 8,4,0,0,wrapvalue(0-g)
offset limb 8,4,x#,y#,0
rotate limb 8,5,0,0,wrapvalue(0-g)
offset limb 8,5,x#,y#,0
rem set keyframe
set object keyframe 8,frame
next t
delete object 100
backflipjumpend=frame
return
But yet again, the code snippit doubled the space required for my code...
I attached the dba file, you should download that instead of copying the code snippit...
TheComet