it's still not working.
and yes i did check which menu is selected.
if check display mode(1024,768,32)=1
set display mode 1024,768,32
else
set display mode 640,480,32
endif
sync on : sync rate 0
global filenum
global filenum2
global filenum3
autocam off
set ambient light 100
sync on
sync rate 60
global file$
start bbb gui `"Media\Ruby.msstyles"
windows set font 7,"Arial",0,0,0,0
windows set icon "Media\dbpro_icon.ico"
windows set visibility 1
dbpro_w=get dbpro window() : set main window dbpro_w
`This command makes empty menu bar
menu=make menu()
`File - 1
sub1=make submenu() : menu append submenu menu,sub1,"File"
submenu insert item sub1,"New",1
submenu insert separator sub1
submenu insert item sub1,"Open",2
submenu insert item sub1,"Save",3
submenu insert item sub1,"Save As...",4
submenu insert separator sub1
submenu insert item sub1,"Import",5
submenu insert item sub1,"Export",6
submenu insert separator sub1
submenu insert item sub1,"Exit",17
`Edit - 2
sub2=make submenu() : menu append submenu menu,sub2,"Edit"
submenu insert item sub2,"Undo",13
submenu insert item sub2,"Redo",14
menu enable item sub2,13,0
sub3=make submenu()
submenu insert item sub3,"SubItem1",8
submenu insert item sub3,"SubItem2",9
link submenu sub1,4,sub3
sub4=make submenu()
submenu insert item sub4,"SubSubItem1",10 : menu check item sub4,10,1
submenu insert item sub4,"SubSubItem2",11
submenu insert item sub4,"SubSubItem3",12
link submenu sub3,9,sub4
`This command shows rhe menu in our window
`NOTE: It is important that this command is called after all
` submenus are added
apply menu dbpro_w,menu
`Now we will create a popup menu (or context menu) - this is the menu
`that pops up when you right click on the screen
sub=make submenu()
submenu insert item sub,"Item1",1
submenu insert item sub,"Item2",2
submenu insert item sub,"Item3",3
submenu insert item sub,"Item4",4
submenu insert separator sub
submenu insert item sub,"Item5",5
submenu insert item sub,"Item6",6
sub5=make submenu()
submenu insert item sub5,"SubItem1",7
submenu insert item sub5,"SubItem2",8
submenu insert item sub5,"SubItem3",9
submenu insert item sub5,"SubItem4",10
link submenu sub, 4, sub5
sub6=make submenu()
submenu insert item sub6,"SubSubItem1",11
submenu insert item sub6,"SubSubItem2",12
submenu insert item sub6,"SubSubItem3",13
link submenu sub5, 7, sub6
`This commands tells bbb gui plugin that we want this submenu to popup when
`right mouse button is clicked
show submenu sub, dbpro_w
`If you don't want this menu to be shown on right click then put zero as
`window handle like this:
`show menu sub, 0
set window on
make object box 1,2,2,2
string1$=space$(64)
string2$=space$(64)
do
if keystate(44)
inc xrotation#
else
if keystate(45)
dec xrotation#
endif
endif
rotate camera xrotation#,camera angle y(),camera angle z()
if controlkey() and keystate(24)
gosub _load
endif
if not shiftkey()
speed# = 2
else
speed# = 4
endif
move camera (keystate(17)-keystate(31) or upkey()-downkey())*speed#
turn camera left (keystate(30)-keystate(32) or leftkey()-rightkey())*speed#
if getFileExtension(file$)="JPG" or getFileExtension(file$)="Jpg" or getFileExtension(file$)="jpg" or getFileExtension(file$)="BMP" or getFileExtension(file$)="Bmp" or getFileExtension(file$)="bmp" or getFileExtension(file$)="PNG" or getFileExtension(file$)="Png" or getFileExtension(file$)="png"
for x=1 to 0x3E8
if object exist(x)
delete objects 1,x
endif
next x
if image exist(filenum)
paste image filenum,0,0
text 10,150,"ext:"+getfileExtension(file$)
text 10,170,"folder:"+get_folder(file$)
text 10,190,"name:"+file$
text 10,210,"filenum:"+str$(filenum)
text 10,230,"filenum2:"+str$(filenum2)
text 10,250,"filenum3:"+str$(filenum3)
endif
endif
if file$<>""
if getFileExtension(file$)="3DS" or getFileExtension(file$)="3ds" or getfileExtension(file$)="DBO" or getFileExtension(file$)="dbo" or getFileExtension(file$)="X" or getFileExtension(file$)="x"
if filenum2<>0
text 10,10,"object xrotation:"+str$(object angle x(1))
text 10,30,"object yrotation:"+str$(object angle y(1))
text 10,50,"object zrotation:"+str$(object angle z(1))
text 10,70,"camera xrotation:"+str$(camera angle x())
text 10,90,"camera yrotation:"+str$(camera angle y())
text 10,110,"camera zrotation:"+str$(camera angle z())
text 10,130,"name:"+file$
text 10,150,"filenum:"+str$(filenum)
text 10,170,"filenum2:"+str$(filenum2)
text 10,190,"filenum3:"+str$(filenum3)
endif
endif
endif
if music exist(filenum3)
text 10,10,"music:"+str$(music playing(filenum3))
text 10,30,"filenum:"+str$(filenum)
text 10,50,"filenum2:"+str$(filenum2)
text 10,70,"filenum3:"+str$(filenum3)
endif
if image exist(filenum)
text 10,30,"picture:"+str$(image exist(filenum))
text 10,50,"filenum:"+str$(filenum)
text 10,70,"filenum2:"+str$(filenum2)
text 10,90,"filenum3:"+str$(filenum3)
endif
`Get the id of selected menu item
s=MENU GET SELECTED ITEM ID()
if s=2 then end
if s>0 then MENU GET SELECTED ITEM STRING string1$
if s>10 and s<13
menu check radio item menu,11,12,s
endif
text 20,20,"Last selected menu item string: "+string1$
s=POPUP MENU GET SELECTED ITEM ID()
if s>0 then POPUP MENU GET SELECTED ITEM STRING string2$
text 20,40,"Last selected popup menu item string: "+string2$
text 20,60,str$(MENU GET ITEM STATE(Menu, 11))
text 20,80,str$(MENU GET ITEM STATE(sub4, 10))
repeat
get event
h=event get handle()
m=event get message()
if h=get main window()
if m=WM_CLOSE
a=make message box("Are you sure you want to quit?","BBB Gui plugin",MB_YESNO)
if a=IDYES then end bbb gui : end
endif
endif
until m=0
yrotate object 1,object angle y(1)+1
sync
loop
_load:
inc filenum
inc filenum2
inc filenum3
file$=getFileName("Select your file^","Music MP3, OGG, MID, MIDI, MOD^*mp3;*.ogg;*.mid;*.midi;*.mod^Image BMP, GIF, JPG^*.bmp;*.gif;*.jpg^3D Models 3DS, DBO, X^*.3ds;*.dbo;*.x^^")
if file$<>""
if getFileExtension(file$)="JPG" or getFileExtension(file$)="Jpg" or getFileExtension(file$)="jpg" or getFileExtension(file$)="BMP" or getFileExtension(file$)="Bmp" or getFileExtension(file$)="bmp" or getFileExtension(file$)="PNG" or getFileExtension(file$)="Png" or getFileExtension(file$)="png"
for x=1 to 0x3E8
if object exist(x)
delete objects 1,x
endif
next x
load image file$,filenum
endif
endif
if file$<>""
if getFileExtension(file$)="3DS" or getFileExtension(file$)="3ds" or getfileExtension(file$)="DBO" or getFileExtension(file$)="dbo" or getFileExtension(file$)="X" or getFileExtension(file$)="x"
for x=1 to 0x3E8
if image exist(x)
delete image x
endif
next x
load object file$,filenum2
if object exist(filenum2)
point camera object position x(filenum2),object position y(filenum2),object position z(filenum2)
position object filenum2,camera position x(),camera position y(),camera position z()
rotate object filenum2,0,0,0
fix object pivot filenum2
endif
endif
endif
if file$<>""
if getFileExtension(file$) = "MP3" or getFileExtension(file$)="Mp3" or getFileExtension(file$)="mp3" or getFileExtension(file$)="OGG" or getFileExtension(file$)="Ogg" or getFileExtension(file$)="ogg" or getFileExtension(file$)="MID" or getFileExtension(file$)="Mid" or getFileExtension(file$)="mid" or getFileExtension(file$)="MIDI" or getFileExtension(file$)="Midi" or getFileExtension(file$)="midi" or getFileExtension(file$)="MOD" or getFileExtension(file$)="Mod" or getFileExtension(file$)="mod"
load music file$,filenum3
stop music filenum3
if music playing(filenum3)=0
play music filenum3
endif
endif
else
set cursor 10,10
sync
print "file not loaded..."
sync
wait 1000
cls
set cursor 10,10
print "Exiting..."
sync
wait 1000
end
endif
return
Function GetCL$()
CommandLine$ = cl$()
C$ = left$(CommandLine$,len(CommandLine$)-1)
C2$ = right$(C$,len(CommandLine$) - 2)
endfunction C2$
function get_folder(string$)
leng=len(string$)
folderlen=leng
while done=0
if mid$(string$,c)<>"\" and mid$(string$,c)<>"/"
inc folderlen
done=1
endif
endwhile
for c=1 to folderlen
folder$=folder$+mid$(string$,c)
next
endfunction folder$
function get_file(string$)
leng=len(string$)
folderlen=leng
while done=0
if mid$(string$,c)<>"\" and mid$(string$,c)<>"/"
dec folderlen
done=1
endif
endwhile
for c=folderlen+1 to leng
file$=file$+mid$(string$,c)
next
endfunction file$
function getFileExtension(name$ as string)
length = len(name$)
i = length
while (mid$(name$, i) <> ".")
dec i
endwhile
ext$ = right$(name$, length - i)
endfunction ext$
rem show the file identification dialog
function getFileName(FileBoxTitle$,FileFilter$)
load dll "user32.dll",1
load dll "kernel32.dll",2
load dll "comdlg32.dll",3
rem Memblock Table
OFN_MB = 1
PathBuffer_MB = 2
FileFilter_MB = 3
FileBoxTitle_MB = 4
rem Offset Table OPENFILENAME Struct
lStructSize = 0
hwndOwner = 4
hInstance = 8
lpstrFilter = 12
lpstrCustomFilter = 16
nMaxCustFilter = 20
nFilterIndex = 24
lpstrFile = 28
nMaxFile = 32
lpstrFileTitle = 36
nMaxFileTitle = 40
lpstrInitialDir = 44
lpstrTitle = 48
Flags = 52
nFileOffset = 56
nFileExtension = 58
lpstrDefExt = 60
lCustData = 64
lpfnHook = 68
lpTemplateName = 72
StructEnd = 76
rem OPENFILENAME Flag Table
OFN_ALLOWMULTISELECT = 512:rem 0x00000200
OFN_CREATEPROMPT = 8192:rem 0x00002000
OFN_ENABLEHOOK = 32:rem 0x00000020
OFN_ENABLETEMPLATE = 64:rem 0x00000040
OFN_ENABLETEMPLATEHANDLE = 128:rem 0x00000080
OFN_EXPLORER = 524288:rem 0x00080000
OFN_EXTENSIONDIFFERENT = 1024:rem 0x00000400
OFN_FILEMUSTEXIST = 4096:rem 0x00001000
OFN_HIDEREADONLY = 4:rem 0x00000004
OFN_LONGNAMES = 2097152:rem 0x00200000
OFN_NOCHANGEDIR = 8:rem 0x00000008
OFN_NODEREFERENCELINKS = 1048576:rem 0x00100000
OFN_NOLONGNAMES = 262144:rem 0x00040000
OFN_NONETWORKBUTTON = 131072:rem 0x00020000
OFN_NOREADONLYRETURN = 32768:rem 0x00008000
OFN_NOTESTFILECREATE = 65536:rem 0x00010000
OFN_NOVALIDATE = 256:rem 0x00000100
OFN_OVERWRITEPROMPT = 2:rem 0x00000002
OFN_PATHMUSTEXIST = 2048:rem 0x00000800
OFN_READONLY = 1:rem 0x00000001
OFN_SHAREAWARE = 16384:rem 0x00004000
OFN_SHOWHELP = 16:rem 0x00000010
rem FileBox Info
FileBoxFlags = OFN_EXPLORER + OFN_FILEMUSTEXIST + OFN_PATHMUSTEXIST + OFN_LONGNAMES + OFN_HIDEREADONLY + OFN_NONETWORKBUTTON
PathBufferSize = 256
hWnd = call dll(1,"GetActiveWindow")
hMod = call dll(2,"GetModuleHandleA",0)
rem Create Memblock Struct
make memblock OFN_MB,StructEnd
make memblock PathBuffer_MB,PathBufferSize
make memblock FileFilter_MB,len(FileFilter$)
make memblock FileBoxTitle_MB,len(FileBoxTitle$)
OFN = get memblock ptr(OFN_MB)
PathBuffer = get memblock ptr(PathBuffer_MB)
FileFilter = get memblock ptr(FileFilter_MB)
FileBoxTitle = get memblock ptr(FileBoxTitle_MB)
rem Dump Strings to Memblock
dump(FileFilter_MB,FileFilter$)
dump(FileBoxTitle_MB,FileBoxTitle$)
rem Write to OPENFILENAME Struct
write memblock dword OFN_MB,lStructSize,StructEnd
write memblock dword OFN_MB,hWndOwner,hWnd
write memblock dword OFN_MB,hInstance,hMod
write memblock dword OFN_MB,lpstrFilter,FileFilter
write memblock dword OFN_MB,lpstrFile,PathBuffer
write memblock dword OFN_MB,nMaxFile,PathBufferSize
write memblock dword OFN_MB,Flags,FileBoxFlags
write memblock dword OFN_MB,lpstrTitle,FileBoxTitle
rem Open FileBox
call dll 3,"GetOpenFileNameA",OFN
result$ = getstr(PathBuffer_MB)
rem Delete Memblock Struct
delete memblock OFN_MB
delete memblock PathBuffer_MB
delete memblock FileFilter_MB
delete memblock FileBoxTitle_MB
delete dll 1
delete dll 2
delete dll 3
endfunction result$
rem fonctions utilisées pour l'identification d'une fichier
function dump(m,s$)
for p=1 to len(s$)
b=asc(mid$(s$,p))
if b=asc("^") then b=0
write memblock byte m,p-1,b
next p
endfunction
function getstr(m)
p=0:s$=""
do
b=memblock byte(m,p)
if b=0 then exit
s$=s$+chr$(b)
inc p
loop
endfunction s$
CHECK OUT SOME MUSIC FROM MY NEW TECHNO CD! TECHNOKINESIS
http://www.youtube.com/watch?v=4a8KedfgVv0
ALSO, CHECK OUT MY NEW TECHNO CD! http://www.imageposeidon.com/