Ya i my DB 3ds2x convertor doesnt work for crap. it tried a buncha stuff but i found somthing that works for me.. if you got 3dsmax here is some max script you can run...al this does is export each frame of animation seperately..
utility savesequence "DarkBASIC Sequence Export"
(
local savefilename
--edittext filename "Base filename:"
label l2 "written by Guy Savoie"
spinner start "Start Frame:" type:#integer range

0,1000,animationrange.start]
spinner end "End Frame:" type:#integer range

0,1000,1] --animationrange.end]
spinner outstart "Output from:" type:#integer range

0,1000,animationrange.start]
--button pickdir "Select Output File"
button saveit "Save 3DS Sequence"
on saveit pressed do
(
animbuttonstate = true
savefilename = getsavefilename types:"3DS(*.3ds)|*.3ds"
if (savefilename != undefined) then
(
for f = start.value to end.value do
(
slidertime = f
curfilename = (getfilenamepath savefilename) + (substring (getfilenamefile savefilename) 1 6)
framenum = f as string
curfilename = curfilename + framenum +".3ds"
print curfilename
exportfile curfilename #noprompt
)
)
)
)
then after you run that you should have a folder loaded with animations right? ya you dont want that.. 1 good file or 2 is good enough. Well i ran into some DB code for this
filename$ = "morphdata.dat":rem the name of the animation data file.
lastframe = 39:rem frames are assumed to run from 1 to lastframe - you can customize this
sync on:sync rate 0
for i = 1 to lastframe
cls
text 0,0,buildfilename$(i)
load object buildfilename$(i),1
sync
make mesh from object 1,1
make memblock from mesh 99,1
vcount = memblock dword(99,0)
voffset = memblock dword(99,4)
ncount = memblock dword(99,8)
noffset = memblock dword(99,12)
FCount = memblock dword(99,16)
FOffset = memblock dword(99,20)
FDSize = memblock dword(99,24)
UVOffset = memblock dword(99,28)
vsize = (vcount*12)+ncount*12
fullsize = vsize*lastframe
if i = 1 then make memblock 1,fullsize
copy memblock 99,1,voffset,(i-1)*vsize,vsize
next i
if file exist(filename$) then delete file filename$
open to write 1,filename$
write memblock 1,1
close file 1
end
function buildfilename$(i)
rem this below here is your model file so change the directory and name of your animation
s$ = "lance\lance"+str$(i)+".3ds"
endfunction s$
after you run that prog on your model all you have to do to get it to run in your game is basically code something remotely close to this
set window on
set window layout 1,1,1
set window title "Getting my Damn model to animate"
filename$ = "morphdata.dat":rem the vertex animation file
imagename$="test\lance1b.bmp":rem UV bitmap
lastframe = 39:rem same number of frames.
sync on:sync rate 0
framerate1 = 10
animationp = 5
frameamount = 5
angolo = 0
rem Load the animation data
open to read 1,filename$
read memblock 1,1
close file 1
load image "test\lance1b.bmp", 1
rem Load the base object
load object "lance\lance0.3ds",1
turn object left 1,-110
rem copy it into a mesh object - we need the UV data and the
rem face data.
make mesh from object 1,1
make memblock from mesh 99,1
rem assigning textures and options
vcount = memblock dword(99,0)
voffset = memblock dword(99,4)
ncount = memblock dword(99,8)
noffset = memblock dword(99,12)
FCount = memblock dword(99,16)
FOffset = memblock dword(99,20)
FDSize = memblock dword(99,24)
UVOffset = memblock dword(99,28)
rem VSize is the size of one frame of vertex/normal data
vsize = (vcount*12) +ncount*12
fullsize = vsize*lastframe
rem Load the UV texture
load image imagename$,1
rem Make the generic cube object, and set the right texture
delete object 1
make object cube 1,100
set camera to object orientation 1
texture object 1,1
set object 1,1,1,0
position object 1,0,200,0
turn object left 1,50
rem This is the animation frame
i = 0
while mouseclick() = 0
poopshark = poopshark + 1
if poopshark >=framerate1
i = i + 1
if i > animationp then i = i-frameamount
rem Load the proper animation data
copy memblock 1,99,(i-1)*vsize,voffset,vsize
change mesh from memblock 1,99
rem Load the proper animation data
change mesh 1,0,1
poopshark = 0
endif
text 0,0,"Wrath's 3d Test game"
text 0,415, str$(fcount)+" Polygons"
text 0,430, "Frame Rate: "+str$(screen fps())+" fps"
sync
endwhile
end
run that and your model should work...the only thing you'll need is 1 animation frame 3ds file like Lance0.3ds and the dat file and your good to go.. also the cool thing about this is it makes it really hard for people to steal your models if you make them yourself like me.
if lance = stoned then darkbasic = ?