WinBlitz 3d
Blitz3D Forums/Blitz3D Programming/WinBlitz 3d
| ||
What ever happened to WinBlitz 3d? I have a program where I desperately need it to embed a web browser inside of my app (which would consist of many moveable windows, so I can get away with it). So, is WinBlitz 3d still existant, and does it have any support so that I can persuade the author to make an internet window gadget thingy? Otherwise, I recall there being another way to do that, so if it is in fact completely stable, could you show me that too please? |
| ||
I have WinBlitz3D. I emailed the author last month. I'll exchange something for a .zip of winblitz emailed to you. Tell me when APOE is going to be finished!!! (Not exactly...obviously...but about how much longer do I have to wait?????) And I will email it to you. I WANT APOE! APOE looks great! If you don't finish it, I will have to use my cruddy one I made! You tell me how much longer I have to suffer for waiting for APOE, and you get WinBlitz3D! :D |
| ||
I want WinBlitz3D! |
| ||
Yay! A chance to advertise my ridiculously slowly made program :) um... Progress is being posted and updated in the APOE worklog. I'm going to do more work now. Basically, it's all smooth sailing from here to the research beta release (which I mentioned. It's a release without any saving planned yet, so that I can collect feature requests and bug reports, which I will be more easily able to integrate because there's no file format to worry about). I still need to add joints, but they are stored the same way as geometries, and the coding isn't much different for them. Advanced objects and other more cool feautres are not in for the first release except for ropes. I expect an early February/late January release (although, I said the same thing last month)... Yes, I am slow. Do you think there's any chance of getting explorer embedded in a winblitz application? |
| ||
A description or link please on what WinBlitz3D is/does... thanx! |
| ||
It is a gui for blitz 3d that creates windows and gadgets via Windows. |
| ||
I used it for Texturewobbler ( http://www.melog.ch/wobbler/ ). It's pretty good, tho that time it still had some bugs that required to ship around them. The diffrence to other GUIs is, it will create a System Window and then Hook the Blitzwin onto this created window. The gui elements may be used in the entire system window, but blitz accesses only the blitz window. This way it may be impossible to do custom gfx operations in the system gadgets zones - IF i remember right, it's some months ago when I used it the last time. |
| ||
Who made it anyway? I need to force him to add an explorer window thing. |
| ||
Its been dead for a while now. For some reason, around here, lots of people say that they made WinBlitz... Very odd. But the author doesn't work on it anymore. I emailed him a month ago and he said it was dead. But do you still want it emailed to you? It is no longer available anywhere online. |
| ||
I don't know which version I have - just that it's referred to as the freeware version... I think it's the oldest one though because I lost interest after getting it when it was first given out. So sure, please email it to me at DylanMcCall@... edit: Now that I realize that it seems to be quite open source, I'm wondering if anyone here has some idea how to get the windows explorer window to come up (like with the file requester) except running a web page (simply by changing the starting directory to a web url (thank god for weirdos suing MS for no reason), which I don't know how to do) and embedded in the main program window? Oh good god. I had hoped that I would never be one of those dumb people who parrots the same request 6 times in the same thread each within one post of eachother... At least I'm not bumping the thread. Much. |
| ||
Hey! I Want WinBlitz3D Too!!! |
| ||
I don't know your email Conan. Pickle: Its sent. |
| ||
Oh! yeah, sorry! rohanmaster@... |
| ||
Ok. Thanks. Sorry for the delay, I have been working in OpenGL+Pascal like crazy lately. Its comin right now. |
| ||
Thanks, It's real good! At least I like it... |
| ||
Can i get a copy too Ducky? ^.^ Pretty please.... :D |
| ||
Sure thing Cyg! Itsa comin! |
| ||
I agree, it's a great gui and I plan to use it from now on. It doesn't match my current insane plans though, which is a shame, but I think it may end up doing so though. |
| ||
Can I be a pain and ask for a copy too? I did see an early version of this, and it looked like it had potential. Shame it disappeared. Cheers. |
| ||
Sent. |
| ||
send to mrcyanide@... please, posted on bcoder a day ago just noticed this topic! :D |
| ||
Done. Done for you too Tim. |
| ||
can you send to makai@... too ? would be great! thx a lot |
| ||
Can you rename it to a .jpg and post it as a screen shot in the gallery so we can all download it? |
| ||
Would somebody please upload it somewhere, so people don't have to search it every other day? I have an old version, I'd host it, but I think it would be better to upload the latest Version. |
| ||
Ok, here's the version I got, beta 0.16b. He says it's the latest release, but I'm not sure if he really stopped the project: http://www.melog.ch/dl/WinBlitz3Dbeta016b.zip |
| ||
That's what I have. I've been thinking actually, that it is not actually too hard to do this, and I'm wondering why so few people have tried? |
| ||
I think most of us Basic Coders don't like windows very much (VB anyone? :P ). Many come from the Amiga and ST. They are kind of not fully assimilated :) Personally I still don't like the whole Windows stuff. I have great sympthy for Apps that are skipping the WinGui and use their own (and remain portable, BTW), like Lightwave,Blender or the MAGIX products. |
| ||
Wow! Is WinBlitz really that good a GUI? I see lots of people want it. Is it any better than the other GUIs available on the Blitz website's Toolbox section? |
| ||
Hi All Im the coder that wrote WinBlitz3D yes its been close to a year ive done some updates for winblitz3d i will make the latest version available over the coming days, these include blitz3d debugger fixes and minor gadget fixes plus little other bits. anyway time out from blitz was needed because the wife and i have just had a son. plus i other problems at home made it almost impossable to work on it. so those still intrested in an updated version it will be available soon. Kev |
| ||
Great kev, Thanks for your work with WinBlitz3d... looking forward for the update. /Alienforce |
| ||
Thanks, Kev. Yes, please. Looking forward to it, and thanks for taking the time to do and then share the work that I, for one, am not capable of doing. |
| ||
Any updates yet Kev ? /Alienforce |
| ||
It's a good UI because it is a real Windows GUI. My favourite part about that, is that it supports CapsLock, Insert, Copy&Paste (I just put this in a second ago with a handy flag that I found in the Win32 constants), End, Home, and Undo (Which I just discovered works)!!. And on top of all that, it also looks like Windows, thus producing a very professional look. I'm doing a lot with it right now. I may make a tutorial if I ever am bored, which would include a load of alterations that I made. |
| ||
..hey folks...I wanna try this Winblitz3D too..email it to me too please... |
| ||
Hi All Ive made available the latest version of winblitz3d this version contains the debug mode fix and other bits. ive put this project on hold while i get to grips with blitzmax. http://myweb.tiscali.co.uk/blitzbasic/WinBlitz3D.zip kev |
| ||
Thanks Kev, Good luck with the gripping :) /Alienforce |
| ||
FYI: There is a conflict with blitzui.decls atleast for me :) Temp solution move blitzui.decls out of userlib ;) /Alienforce |
| ||
Nice! Thanks Kev :D While you're here, I may as well tell you this: As it is, trying to copy or paste with ctrl-c and ctrl-v will crash the program. BUT! It's not a bug! it's a feature! Const WM_COPY = $0301 Const WM_PASTE = $0302 Add those constants into the text fields, and the user can copy and paste their contents :D |
| ||
thanks for the tip Mr. Picklesworth, i will add them now so i dont forget when coming back to working on winblitz3d. Alienforce blitzmax's gripping coming along nice, blitzmax is great to use. ive a little blitzplus gui style module working in max. but im looking at a convert 'foxtoolkit' http://www.fox-toolkit.org/ now that i managed to get blitzmax working under linux :) ive never used linux before. kev |
| ||
Looking forward to some screenshots from your Blitzmax Gui. Keep up the good work. /Alienforce |
| ||
Hey guys I just found out about that great library. It rocks. But I have a little problem in my program: I am using this event loop (very inspired by the examples' code) to manage my two radio button groups. The problem is that it seems to handle only the first event. If I select one of the radio buttons and then I select other buttons, only the first buttonb click will be processed. Anybody know what I am doing wrong? Thanks in advance. ; loop until user close's window. While events <> $803 events = WaitEvent() Select events Case $401 GadgetSelected = EventSource() Select GadgetSelected Case RADIObutton_1 screenWidth=640 screenHeight=480 Case RADIObutton_2 screenWidth=800 screenHeight=600 Case RADIObutton_3 screenWidth=1024 screenHeight=768 Case RADIObutton_4 windowed=1 Case RADIObutton_5 windowed=2 End Select End Select Wend |
| ||
Alienforce no pics just yet, i post some as soon as ive a working module. cyberyoyo can you explain a little more your problem, what windows os are you using? the example below works fine. ; Include "../WinBlitz3D_Include.bb" ; create gui window. Global GUIwindow = CreateWindow("WinBlitz3D Buttons Example",10,15,300,200,0,2) Global RADIObutton_1 = CreateButton("Click Me 1",10,10,100,20,GUIwindow,3) Global RADIObutton_2 = CreateButton("Click Me 2",10,30,100,20,GUIwindow,3) Global RADIObutton_3 = CreateButton("Click Me 3",10,50,100,20,GUIwindow,3) Global RADIObutton_4 = CreateButton("Click Me 4",10,70,100,20,GUIwindow,3) Global RADIObutton_5 = CreateButton("Click Me 5",10,90,100,20,GUIwindow,3) ; loop until user close's window. While events <> $803 events = WaitEvent() Select events Case $401 GadgetSelected = EventSource() Select GadgetSelected Case RADIObutton_1 Notify "RADIObutton_1" Case RADIObutton_2 Notify "RADIObutton_2" Case RADIObutton_3 Notify "RADIObutton_3" Case RADIObutton_4 Notify "RADIObutton_4" Case RADIObutton_5 Notify "RADIObutton_5" End Select End Select Wend End kev |
| ||
Asked for help with something... but never mind, I got it... sort of. Bit of a hack job, but I'm just glad to have a solution that works :D What is the $401 event checking for? Is there a specific window message to check if a line on a list view is selected? |
| ||
kev: I am using XP SP1 (maybe that's the problem) but the problem actually is if I click several radiobuttons, the additional events are not processed. Only the first radiobutton event is ever processed. For example if I select one resolution, then change my mind and select another one, the first choice is processed but not the second one. It does the same for all radiobuttons, regardless of their grouping. |
| ||
Oh and about your example code: the notify calls do work (the examples in the lib are all working) but strangely enough my example doesn't work. And the variables are declared global and everything. |
| ||
cyberyoyo im using winxp sp1, can you email me some example code? kev12340poole@... Mr. Picklesworth $401 is the gadget event code, aka like blitzplus. listview's with icons are not working(buggy), use them without icons and there fine. kev |
| ||
This is great... But is it possible to use the windows gui elements inside the blitz window? So for instance, if you make a 3D game, but want a windows menu or something similar? (actually I need it so I can add a text field that users can use to chat with eachother). Maybe it is, but all the examples opened a new window... EDIT : ok, so I modified the CreateWindow function so that it doesn't hide the blitz window (it still tries to get it's handle), it doesn't create a new window, and it returns the blitz window handle, and now all the gui stuff is added on the blitz window, which is good. Unless someone has a reason why this isn't advisable. I was just wondering, would it be possible to make the gui elemants transparant? :) |
| ||
Fall_x... could you post that? i couldnt get that to work, and it was the reason i couldnt use this in a few projects! :D |
| ||
GUI elements are transparent with a Windows style constand I found yesterday... Don't remember it though. Check www.msdn.com for the name, then google it for the value. |
| ||
@ Cygnus : here it is, I only tested it with one of the examples that came with it (button.bb) and it works, but maybe not with everything... and maybe only on some windows platforms (I'm at work, using win2000, I'll test with xp later today). it's quick and dirty, meaning I just commented out some sections etc, but anyway : Function CreateWindow(title$,x,y,width,height,group=0,style=0) Local CLASSbank Local WINBLITZ3D_CLASS_NAME$ = "WinBlitz3D_CLASS" Local statusCLASS$ = "" Local hwnd Local statusbar ; create class and winproc function. If FIRST_CREATE_CLASS = 0 Then ; hide the blitz runtime window. RUNTIME_Window$ = "Initializing GUI" AppTitle RUNTIME_Window runtimewindow = apiFindWindow("",RUNTIME_Window$) ;apiShowWindow runtimewindow,SW_HIDE ; INITCOMMONCONTROLSEX struct CommonControls = CreateBank(8) PokeInt CommonControls,0,BankSize(CommonControls) PokeInt CommonControls,4,ICC_WIN95_CLASSES ; Registers and initializes the common controls. bm = apiInitCommonControls(GRAB_BankAddr(CommonControls)) ; create the winproc function. WinProcBank = CreateBank(1256) Restore CREATE_WINPROC_FUNCTION Repeat Read e_data If e_data = 999 Then Exit PokeByte WinProcBank,next_entry_data,e_data next_entry_data = next_entry_data + 1 Forever ; location offset where to copy defwindowproc data. winproc_poke_offset = next_entry_data ; store address of bank to hold winproc return values. WinProcReturn = CreateBank(124) WinProcReturnAddr = GRAB_BankAddr(WinProcReturn) ; poke the address of the bank to store winproc return values. PokeByte WinProcBank,03,WinProcReturnAddr And 255 PokeByte WinProcBank,04,WinProcReturnAddr Shr 8 And 255 PokeByte WinProcBank,05,WinProcReturnAddr Shr 16 And 255 PokeByte WinProcBank,06,WinProcReturnAddr Shr 24 ; defwinbank = CreateBank(256) Restore DEF_WINDOW_PROC next_entry_data = 0 Repeat Read e_data If e_data = 999 Then Exit PokeByte defwinbank,next_entry_data,e_data next_entry_data = next_entry_data + 1 Forever ; get thunk to defwindowproc USER32 = apiGetModuleHandle(GRAB_StringAddr("user32.dll")) DefProcA = apiGetProcAddress(USER32,"DefWindowProcA") ; poke defwindowproc thunk memory pointer. PokeByte defwinbank,18,DefProcA And 255 PokeByte defwinbank,19,DefProcA Shr 8 And 255 PokeByte defwinbank,20,DefProcA Shr 16 And 255 PokeByte defwinbank,21,DefProcA Shr 24 ; copy defwindowproc bank to winproc bank. CopyBank defwinbank,0,WinProcBank,winproc_poke_offset,26 FreeBank defwinbank ; create winblitz3d's class. ;WINBLITZ3D_CLASS_NAME$ = "WinBlitz3D_CLASS" CLASSbank = CreateBank($30) PokeInt CLASSbank,$00,BankSize(CLASSbank) PokeInt CLASSbank,$04,CS_HREDRAW Or CS_VREDRAW Or CS_GLOBALCLASS PokeInt CLASSbank,$08,GRAB_BankAddr(WinProcBank) PokeInt CLASSbank,$14,apiGetModuleHandle(0) PokeInt CLASSbank,$18,apiLoadIcon(hModule,32512) PokeInt CLASSbank,$20,apiGetSysColorBrush(COLOR_BTNFACE) PokeInt CLASSbank,$28,GRAB_StringAddr(WINBLITZ3D_CLASS_NAME$) ; attempt to register the class. WinBlitzClass = apiRegisterClass(GRAB_BankAddr(CLASSbank)) If WinBlitzClass = 0 Then DebugLog "Error Creating WinBlitz3D Class!" Stop EndIf ;WinProcBlitz3D = apiGetWindowLong(runtimewindow,GWL_WNDPROC) ;apiSetWindowLong runtimewindow,GWL_WNDPROC,GRAB_BankAddr(WinProcBank) FIRST_CREATE_CLASS = 1 EndIf If group = 0 Then group = apiGetDesktopWindow() EndIf Select style Case 0 ; borderless popup window style = WS_POPUP Case 1 ; no resize with close button style = WS_CAPTION Or WS_SYSMENU Or WS_POPUP Case 2 ; resize and statusbar statusCLASS$ = "msctls_statusbar32" style = WS_MINIMIZEBOX Or WS_SYSMENU Or WS_TABSTOP Or WS_THICKFRAME Or WS_VISIBLE Default ; passed own style style = style End Select ;hwnd = apiCreateWindow(0,WINBLITZ3D_CLASS_NAME$,title$,style,x,y,width,height,group,0,apiGetModuleHandle(0),0) ;apiShowWindow hwnd,$5 ;apiUpdateWindow(hwnd) hwnd=runtimewindow ; attach window status bar If statusCLASS$ = "msctls_statusbar32" Then statusbar = apiCreateWindow(0,statusCLASS$,"",WS_CHILD Or WS_VISIBLE,0,0,100,100,hwnd,0,apiGetModuleHandle(0),0) statuspartsbank = CreateBank(255) apiSetWindowLong statusbar,GWL_USERDATA,statuspartsbank EndIf ; bank = CreateBank(256) PokeByte bank,0,BB_ID_WINDOW PokeInt bank,4,statusbar apiSetWindowLong hwnd,GWL_USERDATA,bank Return hwnd End Function |
| ||
Hmmm... as soon as I print something on the screen with the blitz commands, it starts flickering. Don't know if this can be solved. I tried playing around with double buffering but this didn't work (and I don't think it could be the solution). Another option would be using the Create3DScene function which parents the blitz screen to the new window, but I don't think you'll be able to do full screen stuff then (but I could be wrong). So if someone finds an ideal solution, I'd be very happy :) |
| ||
Someone send it to me: steven -AT- noenemies -DOT- com |
| ||
the link is somewhere in this topic, so just download it yourself :) |
| ||
Cheers for that, I'll check that out later :) |
| ||
I tried shoving Winblitz into the runtime window and got a load of trouble. I think it's some style flag that Blitz uses... |
| ||
I could not get gadgets working from within the blitz runtime window it seems that flip causes winblitz3d lots of problems. if anyone does find a fix for this email me the information and i would add the feature. kev |
| ||
Heh. I tried the above, but the gadgets keeps dissapearnig. Oh well. Cheers anyway :) |
| ||
There is no reason why I could possible explain this... But there's a chance that I just fixed the blitz runtime-window problem. And totally by accident.BB_3D_View = Create3DScene(VisWin,0,0,width-255,height-75,0) style = apiGetWindowLong(BB_3D_View,GWL_STYLE) style = style Or WS_CLIPSIBLINGS ;Why this makes it work, I will never know. apiSetWindowLong(BB_3D_View,GWL_STYLE,style) The reason why this seems crazy is because WinDowse claims that the WS_CLIPSIBLINGS style already was applied to the runtime window. Furthermore, the problem that it fixed was the runtime window messing with its children - not its siblings. Um... That was nonsense. I'm good at nonsense. Basically, setting that style on the Blitz Runtime window appears to make it possible to parent another totally operating win32 window to it. |