right i have the splash thing done and tested
function load_splash(side_filename$, side_img_num, base_filename$, base_img_num, xz_scale#, y_scale#)
load image side_filename$, side_img_num
load image base_filename$, base_img_num
i=start_splash_obj_num
load object "FXgeo.dbo", i
texture object i, 0, base_img_num
texture limb i, 1, side_img_num
texture limb i, 2, side_img_num
scale object texture i, 0.25, 0.25
scroll object texture i,-0.25,-0.25
scale object i, xz_scale#, y_scale#, xz_scale#
xrotate object i,-90
hide object i
for i=start_splash_obj_num+1 to end_splash_obj_num
clone object i,start_splash_obj_num
scale object texture i, 0.25, 0.25
scroll object texture i,-0.25,-0.25
splash_in_use(i-start_splash_obj_num)=false
hide object i
next i
next_splash=0
endfunction
function spawn_splash(x#,y#,z#)
splash_obj_num=next_splash+start_splash_obj_num
position object splash_obj_num,x#,y#,z#
show object splash_obj_num
splash_in_use(next_splash)=1
inc next_splash
if next_splash >= end_splash_obj_num-start_splash_obj_num then next_splash=0
endfunction
function handle_splashes()
for splash_obj_num=start_splash_obj_num to end_splash_splash_obj_num
ref_num=splash_obj_num-start_splash_obj_num
if splash_in_use(ref_num)=1
if splash_frame(ref_num) = 0 then scroll object texture splash_obj_num, 0.25, 0.25
if splash_frame(ref_num) = 1 then scroll object texture splash_obj_num, 0.25, 0
if splash_frame(ref_num) = 2 then scroll object texture splash_obj_num, 0.25, 0
if splash_frame(ref_num) = 3 then scroll object texture splash_obj_num, 0.25, 0
if splash_frame(ref_num) = 4 then scroll object texture splash_obj_num, 0.25, 0.25
if splash_frame(ref_num) = 5 then scroll object texture splash_obj_num, 0.25, 0
if splash_frame(ref_num) = 6 then scroll object texture splash_obj_num, 0.25, 0
if splash_frame(ref_num) = 7 then scroll object texture splash_obj_num, 0.25, 0
if splash_frame(ref_num) = 8 then scroll object texture splash_obj_num, 0.25, 0.25
if splash_frame(ref_num) = 9 then scroll object texture splash_obj_num, 0.25, 0
if splash_frame(ref_num) = 10 then scroll object texture splash_obj_num, 0.25, 0
if splash_frame(ref_num) = 11 then scroll object texture splash_obj_num, 0.25, 0
if splash_frame(ref_num) = 12 then scroll object texture splash_obj_num, 0.25, 0.25
if splash_frame(ref_num) = 13 then scroll object texture splash_obj_num, 0.25, 0
if splash_frame(ref_num) = 14 then scroll object texture splash_obj_num, 0.25, 0
if splash_frame(ref_num) = 15 then scroll object texture splash_obj_num, 0.25, 0
splash_frame(ref_num) = splash_frame(ref_num) + 1
if splash_frame(ref_num) = 16 then splash_frame(ref_num) = 0 : hide object splash_obj_num : splash_in_use(ref_num)=0
endif
next splash_obj_num
endfunction
that's the functions
if (timer()-splash_timerold)>splash_frametime
splash_timepassed=timer()-splash_timerold
for i=1 to (timepassed/splash_frametime)
handle_splashes()
next i
splash_timerold=timer()-(splash_timepassed mod splash_frametime)
endif
that's what i recommend doing every loop so it goes at the same rate for everyone.
global start_splash_obj_num=10
global end_splash_obj_num=100
dim splash_frame(end_splash_obj_num-start_splash_obj_num)
dim splash_in_use(end_splash_obj_num-start_splash_obj_num) as boolean
global next_splash=1
and that's the globals you need to define
edit: wierd, the code tags seem to have stopped working for me, it just gets rid of the tags in the post and dumps their contents out like normal text
edit: and of course you'll need the media that i almost forgot to attach.