Coming soon!

Archives Forums/BlitzPlus Programming/Coming soon!

marksibly(Posted 2004) [#1]
Simon says...

I've been given BlitzPlus fixing duties, here's what I've done to date. Feel free to request any features you feel strongly about:

; v139 changes

; CreateImage now defaults to dynamic (LoadImage still defaults to managed)

; CreateHtmlView supports style parameter - 1=NOCONTEXTMENU 2=NONAVIGATE (clicks generate event instead)

; HtmlView now generates GadgetEvents with eventdata setings 0=pageloads 1=usernavigate

; new HtmlView commands : HtmlViewCurrentURL() HtmlViewEventURL(html) HtmlViewStatus(html)

; RemoveGadgetItem on last item now clears Tabber completely

; RequestFile and RequestDir now have optional default values

; RequestFile no longer appends "All Files" option when extension$ parameter is used

; Win32DSMovie DrawMovie render now uses BitBlt if IDirectSurface::Blt fails due to unsupported pixel conversion

; better checking for negative sized banks and copybank ranges

By Simon Armstrong...


Orca(Posted 2004) [#2]
yay! our prayers have been heard.....(well a few of em)


Rob(Posted 2004) [#3]
Thanks Simon! good stuff there, esp the html


Orca(Posted 2004) [#4]
Things that would be nice to see sometime soon...

-explorer gadget(s) like in purebasic :)

-We need a way to make use of requestfont()-- ie get the face name, size, etc

-a frame style for panels would be very nice.

-better control of min/max buttons on a window

-multiple status texts per window..

-treeview icons

K I'll leave it at that for now :)

*crosses fingers*


MrCredo(Posted 2004) [#5]
Yahoooooo....

must-have-feature: treeview-icons


Wiebo(Posted 2004) [#6]
First: Cool, an update instead of only bug fixes!

I think BlitzPlus also needs MORE gadget types... The obvious are Groupboxes, Splitters, Spinners, etc. I've manually created these for my form editor, but having them natively would be soo much better.

Toolbar: The y-position parameter doesn't work. A toolbar can only appear at the top of it's parent. Also, making a toolbar vertical would be handy.

Canvas: I don't know if it's possible, but resizing a canvas with SetGadgetShape would be much better than having to re-create it everytime I resize a window.

Tabbers: It would be cool if we could link a gadget to a tabber item, so blitzplus can hide or show it. The panel method feels like a workaround.


CS_TBL(Posted 2004) [#7]
oh pleaseplaesepleaseprettyplease:

--> reference arguements for a function <--

Qbasic had this one already :)

furthermore:

Better stability in windows 98se, everytime something crashes here (image functions when you didn't activate a valid canvas causes crashes here, and I *need* to reboot the whole system then!)

Bounds-checking for banks .. that is: the user should turn this on/off to prevent my system from crashing :)

conditional debug.. when working in debugmode ALL stuff is slow, even stuff that's working correctly already (think filling large arrays, loading images etc. etc.)


Wiebo(Posted 2004) [#8]
Mark,

Here is another blitzplus feature wishlist thread: http://www.blitzbasic.com/Community/posts.php?topic=31762


EOF(Posted 2004) [#9]
Hi there Simon,
Feel free to request any features you feel strongly about
Being able to tab through gadgets. Especially text fields. It *can* be done in the current B+ with a userlib call but you get annoying audio beeps (due to pressing TAB in a textfield).
Also, a ActiveGadget() function to find the currently focused gadget.

Talking of audio ... In the new update will the FMOD lib still be initialised even if you use no sounds?

With the RequestFile() fix can you also do something like this for extensions (instead of single entries):

Image (*.bmp , *.jpg , *.tga)
Audio (*.wav , *.mp3)


skn3(Posted 2004) [#10]
Mouse tooltips. I know we have them for the iconbar, but they are possible to create for any rect / gadget .. so should be added. I attempted very hard to make a fully working userlib for them, but it was impossible as I was unable to catch certain events which lead to the tooltip vanishing until you restart your app.

Being able to detect the raw windows messages.

Non - blocking tcp/udp

Multi-column listbox

Change to use custom label class (one that allows background colors etc)

Drag and drop read capability

Right click context menus

Tray icon + tray icon menu

Group gadget

Full status bar support

Clipboard support for text/image (using streams and images)

Registry support

Printer support

Add icons to app menu

Finish adding style flags for all gadgets


code(Posted 2004) [#11]
text areas need the right click menu funtions. THey would be really handy in the IDE i made.


Snarty(Posted 2004) [#12]
Simon,

Please, please, please dont forget to sort out tabbing between gadgets.


Snarty(Posted 2004) [#13]
Also,

Remember there is a bug with HotKeys. Looks like when using a shortcut with a modifier then using a single shortcut (without modifier) the last modifier is still held. You need to press the last modifier used on it's own for it to sort itself out.


Hotcakes(Posted 2004) [#14]
I would like to see proper Windoze event codes returned, not your mapped/filtered ones. TCP events are really needed. Or threading, but we all know that won't happen anytime soon ;]


skn3(Posted 2004) [#15]
handle = ActiveGadget()

We need to be able to return the currently active gadget.


Michael Reitzenstein(Posted 2004) [#16]
I would like to see proper Windoze event codes returned, not your mapped/filtered ones. TCP events are really needed. Or threading, but we all know that won't happen anytime soon ;]

An option to retrieve windows events and the addition of network events are excellent suggestions, why dilute their quality with something like requesting threading? :)


skn3(Posted 2004) [#17]
Events when a gadget activates, and when a gadget deactivates. "OnFocus" "OnLoseFocus"


skn3(Posted 2004) [#18]
Appresume event doesn't trigger, if you re-activate the window by clickign and dragging the title bar (moving the window) It will only trigger after you release.

(im just doing some coding, and noticing these things btw)

[edit]

Setbuffer GadgetBuffer(gadget)
rect 0,0,10,10,1
flipgadget(gadget)

Would this be possible using gdi ?


Wiebo(Posted 2004) [#19]
Yes, the floodgates have opened =]


Kuron(Posted 2004) [#20]
supporting standard Windows gadgets and tooltips for buttons, are a must have for Windows applications. An application (real application, not game development tool) needs to conform to the "normal" windows standards.

Image Buttons would also be nice.

Blitz Plus is capable of turning otu very good applications, but is hindered by a lack of support for standard gadgets and tooltips.


*(Posted 2004) [#21]
I would like the FileRequest to remember what directory its in and not keep defaulting to 'My Documents'


Mark Tiffany(Posted 2004) [#22]
A couple more:

Double click event
Networking events
Separater bars in toolbars (and vertical ones)
And amongst other bugs, fix this one: http://www.blitzbasic.com/Community/posts.php?topic=32373

And how about a 'RaiseEvent', in order to roll yout own versions of the above (And others), but have them trapped in the event queue...admittedly dangerous so make sure we have a clear range that are allowed for our events!


skn3(Posted 2004) [#23]
I'm gonna keep adding these as I think of them.

GadgetType , GadgetClass , GadgetRoot

GadgetType:
Would return a number identifier of the specified type of gadget

GadgetClass:
Would return the class name as a string of the gadget

GadgetRoot:
Would return the root window the gadget is attached too. Currently not possible at all. Windows has a GetAncestor function, but is limited to "win98"/"nt 4 sp1" and above. It would be possible to role your own with gadgetgroup + gadgettype, but there is no gadgettype.


Eikon(Posted 2004) [#24]
Wonderful news! :D


Binary_Moon(Posted 2004) [#25]
I was going to add a couple but most of them have been listed above. One thing that would be cool though is the ability to add icons to menu items.


rdodson41(Posted 2004) [#26]
Yay!!! I've been waiting for the HTML stuff. Now i can finish my browser!

By the way, TreeView icons would be pretty helpfull, too.


Craig Watson(Posted 2004) [#27]
ActiveX container objects.


JoshK(Posted 2004) [#28]
List view gadgets presently do not generate an event if the arrow key is used to change the gadget item selection.

GadgetText$() should return the current address of an HTML view gadget. SetGadgetText() should force the gadget to go to the specified address.


Cold Harbour(Posted 2004) [#29]
Nice to hear about the bugfixes. If I could add a wishlist then they would be these.

Treeview Icons (please please please add this)
Printer support
IgnoreEvent($xxx)

Well, you don't ask, you dont get. :)

Thanks


Kevin_(Posted 2004) [#30]
I'd given up all hope of an update for BlitzPlus so I am very happy now. Thanks.


Qube(Posted 2004) [#31]
1) Printer support

2) Ability to resize a canvas without it scaling

3) Multi column listbox

4) Clipboard support

If you want me to pay you to do the above, just ask :)


skn3(Posted 2004) [#32]
Btw multi-column listbox in blitzplus
http://skn3.acsv.net/junk/multicolumn.zip

Id apreciate some feedback on performance. I got the impression from somone who tested that it was slugish.

features
- progress bars (not in demo)
- align text left/right
- icons
- select multi line
- shift click select
- auto scroll (go past bottom / top of listbox while selecting)
- Hide title for standard listbox
- 3d frame
- 2d frame
- no frame
- customizable colors
- more

I'll release it soon,.. just gotta finish it up X)


Eikon(Posted 2004) [#33]
Clipboard support via userlib: http://www.blitzbasic.com/codearcs/codearcs.php?code=699


skidracer(Posted 2004) [#34]
Thanks for all the suggestions people.

I just got HtmlViewRun working which allows scripting of the HtmlView gadget:

format_code('
window=CreateWindow( "HtmlView",0,0,640,480 )

html=CreateHtmlView( 0,0,ClientWidth(window),ClientHeight(window)-20,window,2 )

script$="document.body.innerText='Hello Simon'"

HtmlViewRun html,script

While WaitEvent()<>$803
Wend
End
')


pantsonhead.com(Posted 2004) [#35]
Excellent News to see B+ is still being developed.

Personally, I'd like to see some more long standing bugs fixed before anything is new is added. Better to have a smaller reliable toolbox than a big one full of bugs ;)

How about these for starters:

Arrow key does not generate event when used with Listview
http://www.blitzbasic.com/Community/posts.php?topic=29466

ListBox scroll/resize bug
http://www.blitzbasic.com/Community/posts.php?topic=31138

MinimizeWindow Event
http://www.blitzbasic.com/Community/posts.php?topic=30857

Anybody else got a confirmed bug that they desperately want addressed?


skn3(Posted 2004) [#36]
If you set an imagebuffer, and then dont set to a canvas/desktop/graphics buffer before you end the app. Then you end the app. You will get an error in debug, or crash in no debug.


CS_TBL(Posted 2004) [#37]
yeah.. that image/canvas stuff is kinda crappy to work with.. when it crashes here in 98, I have to reboot my system, otherwise B+ continues to crash (also with empty sources!)..

furhtermore: native access to wave files, images, for reading/writing etc.


skn3(Posted 2004) [#38]
mousemove, mouseenter, mouseleave don't trigger for panel, but mousedown,mouseup,keydown,keyup,keystroke do.


EOF(Posted 2004) [#39]
One other good addition would be to support *.bp for BlitzPlus-only source code.

So, When you load/save you have:format_code('Files of type: [BlitzBasic/Plus (*.bb , *.bp) ]')


Richard Betson(Posted 2004) [#40]
I would like a gadget command to apply bitmaps to buttons and other gadgets. So I can skin stuff up. :)

L8r,


morduun(Posted 2004) [#41]
Network Events
A Rand that doesn't break across processors
Printer support
support for more data types (doubles, for instance)
Access to more of FMOD (seek to ms/pattern, VU meters, etc)


CS_TBL(Posted 2004) [#42]
To support all suggested features would be nice, but I fear that Mark doesn't want to delay BlitzMax by adding so many new features to B+ so that B+ eventually becomes BMax :)

Imagebuttons, Labels with a bmp in the background etc. can be made by any B+ coder who has average experience. I'm more and more using my own gadgets rather than the built-in ones. It's perfectly possible.. see the tutorials-section for my gadget tutorial using banks. An image-button that can act as radiobutton and checkbox takes you only a small day to make!

I suggest asking for structural enhancements that can't be imitated using the current command-set.


skn3(Posted 2004) [#43]
The thing is, using directX in a canvas, for your own gadget is insane. If we had full access to GDI and the ability to manipulate the WM_PAINT message, and if panels would have all the events that a canvas currently has, then true, we could make some very good replacement gadgets.

Untill then, there is a bottleneck as to how much you can draw per refresh.


Pineapple(Posted 2004) [#44]
Just read the post, great news... I was just about to give up on Blitz+ and go for DB, just to make appware, and since it is getting updated a load more... But I'll hold on a bit longer!!! :D

Just make sure you can use BP to actually 'build' simple app stuff, without any external help... like userlibs etc etc, because in it's present form, you couldnt even build a complete Notepad clone with BP, and that's one bare-arsed app!!! :)

Again, great news, please keep us posted

Dabz

:)


Mark Tiffany(Posted 2004) [#45]
Agreed - You should be able to create a reasonably decent...

Editor
Paint App
MP3 Player
Email App
File Explorer
Internet Browser

...with BlitzPlus. At the moment, you can't. All it needs are a select few of the above issues to be addressed.

(The above app list is intended to represent my ideas of what the most people are most likely to try to write Blitz+ as a first app, and to cover a reasonable spread of app functionalities).


CS_TBL(Posted 2004) [#46]
hmm hmm hmm.. basicly you're right about reinventing the wheel, or: selling ice on the northpole. (that is, if I understand your hint ^^;) However, I can imagine that a game-editor I'd like to make could include an integrated text-editor for character-speech. There are more things which are very serious/business-alike, but still can be used in something innocent as a map-editor/game-editor.


rdodson41(Posted 2004) [#47]
Bitmaps on gadgets and other stuff would be cool. Makine your own skins!


code(Posted 2004) [#48]
Yeah i would really love to have skinning functions for them! That would rock.


Kevin_(Posted 2004) [#49]
Being able to draw directly to a panel would be nice.


WillKoh(Posted 2004) [#50]
I only have 2D / 3D versions, not Plus, but in neither of my do I have an ImageFrames(img) function. That would be something to add for both plus/3d.


skidracer(Posted 2004) [#51]
Mask and alpha for canvas would be nice.


skn3(Posted 2004) [#52]
"Being able to draw directly to a panel would be nice."
Can be done already, with a simpel GDI userlib. It is just you can't do it properly...


Mark Tiffany(Posted 2004) [#53]
@skidracer: talking to yourself now?!? Or hinting at something you've just implemented? ;-)


Russell(Posted 2004) [#54]
Well, at least we got *something* finally...

By the title, I thought Mark was going to announce the *actual* release of BlitzMax. Oh well :(

At least it's not just a bug-fix release.

Russell


Makepool(Posted 2004) [#55]
Simon says? Who does the updates for Blitz Max then? I was under the impression everything was done by Mark.


CS_TBL(Posted 2004) [#56]
iirc 'simon says' is an expression .. dunno if that was the intention.. (tho I think so)

'Die Hard with Avengence' had that same line btw when the bad guy gives orders to Brucy :)


BlitzSupport(Posted 2004) [#57]
'Simon' is Simon Armstrong/skidracer...


Davo(Posted 2004) [#58]
Not sure if this has already been said... but I'd really like to see an option to be able to change the colours of the background, buttons and text in GUI mode.


klasix(Posted 2004) [#59]
Thanks for asking !

Allow multiple Blitz program instances to access the Backbuffer. The issue of "who flips?" could be instance specific. Locking could be similar to "Lock/UnlockBuffer BackBuffer()". Allow multi-instance comm, data space sharing (shared "banks"?). Suspend/Resume other instances?


Pineapple(Posted 2004) [#60]
Sorry, nothing really, I just dont want to see this topic slip down the forums... we might forget there's an update coming!!! :D

Anyway, any WIP news???

Dabz

:)


skn3(Posted 2004) [#61]
I thought of something else.

Make the listbox 1 based.

Currently countgadgetitems can return 0 for none. But selectedgadgetitem can't return a value for "none selected" as 0, is counted as the first item. Yes you can do if countgadgetitems(...) = 0, but that is not sensible.


Gabriel(Posted 2004) [#62]
Network Events would definitely be top of my list.


Michael Reitzenstein(Posted 2004) [#63]
Bump


AndyBoy_UK(Posted 2004) [#64]

Feel free to request any features you feel strongly about



Hehe, you just asked for trouble with a comment like that Mark :)


Robert(Posted 2004) [#65]
But selectedgadgetitem can't return a value for "none selected" as 0, is counted as the first item


In Windows, all controls have item indicies which are zero based. When an item is not selected, SelectedGadgetItem should return -1.

In fact, it should do this already, assuming Mark is using the standard API commands. From the MSDN documentation for LB_GETCURSEL:

In a single-selection list box, the return value is the zero-based index of the currently selected item. If there is no selection, the return value is LB_ERR [-1].



semar(Posted 2004) [#66]
Feel free to request any features you feel strongly about

Here you are:

- a MIDI library, in order to send and receive midi signals (note and system exclusive) to musical instruments
---> Purpose: midi sequencer, editor/librarian for midi instruments, full control on the sound card midi instruments, ecc..

- Blitz DLL; to write our own DLLs for using in other blitz or non blitz applications (ex. VB)

- Ability to use DLL written in VB6

- Network events handlers, and events in general (OOP ?)

- Ability to load media from banks (useful for file packing)

- 2D transparency

- More control over sounds: effects (reverb, echo), reverse, recording audio,..

- Smaller executable files..

- Better documentation :-)

Off topic: Maplet 2.0, with import functionality of a .B3D lightmapped file...

Thanks for your attention,
Sergio.


Kanati(Posted 2004) [#67]
- Ability to use DLL written in VB6


That would mean full COM support... Which would also be NICE. But you can already create dlls in VB6 as long as you use a tool that creates exportable functions. BlitzData and BlitzPrint userlibs are both written in VB6.


skn3(Posted 2004) [#68]
( i've probably gone overboard, but with all these gadgets, it would make designing anything in b+ 100 times easier)

Just for the hell of it, some much needed gadgets and links to their msdn info.

listview


http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/listview/listview.asp

group boxes

http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/buttons/buttontypesandstyles.asp

ip

http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/ipaddress/ipaddress.asp

Rebar

http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/rebar/rebar.asp

Trackbar

http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/trackbar/trackbar.asp

UpDown

http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/updown/updown.asp

Tooltip

http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/tooltip/tooltipintro.asp

Full status bar support

http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/status/status.asp


Shagwana(Posted 2004) [#69]
Image gadgets please! - proper ones and the ability to toggle gadgets up / down without resorting to trickery!


code(Posted 2004) [#70]
Easy skin supporting! That would be so nice. When's the update gonna be here?


*(Posted 2004) [#71]
Image buttons so we can have images on buttons


Eikon(Posted 2004) [#72]
Just noticed an autosuspend bug. I wrote a small Mp3 player that shuffles a playlist and plays a random song. Whenever I go into a big fullscreen program like UT2k4 the music stops and doesnt play again. I have to close and reopen my player to get it to work.

If I put AutoSuspend 1 in my program then the music stops when UT2k4 is activated, but resumes properly when I put focus on the player. When I use AutoSuspend 0 the player will continue to play during UT2k4 (correct behavior) about every 1/10 execution, the other 9 times it dies completely as predescribed.

I know its not a sound channel problem because I have an Audigy 2. Can anyone else confirm that events are sometimes not recieved when minimized with AutoSuspend 0?

*placed in bug forum*


Hotcakes(Posted 2004) [#73]
I've noticed that B+'s sound works in differant ways when two B+ programs have been loaded, or a B+ and a B3D program has been loaded, possibly it's affected by any DirectX app?


Pineapple(Posted 2004) [#74]
Also noticed that when you use the HTML Views commands, and you right-click to open a webpage up in a new window, you cannot close the blitz window to the taskbar again (Using kev's userlib)... which is a bit iffy!!!

I'd put it in the bug forum, but dont know if it has anything to do with kev's taskbar dll!!!

Dabz

:)


skn3(Posted 2004) [#75]
Setting a sliders value, currently also enables teh slider.
Example of the bug:
format_code('
window = CreateWindow("test",100,100,200,200,0,1)
slider = CreateSlider(0,0,ClientWidth(window),ClientHeight(window),window,True)
DisableGadget(slider)
SetSliderValue(slider,0)
WaitEvent()
')


Eikon(Posted 2004) [#76]
Another big issue is that you can't delete a menu item without deleting the entire window and rebuilding from scratch. Please let me know if theres an easier way.

* Experimented with GetSystemMenu and DeleteMenu API to no avail *


Orca(Posted 2004) [#77]
I think style settings should be added to canvas's like so:

0 - default
1 - no filtering/blur during a resize
2 - noscale ( so we dont have to recreate the canvas during a resize, to keep our graphics the same size)


skn3(Posted 2004) [#78]
linked to poeds post --> http://www.blitzbasic.com/Community/posts.php?topic=33433

0 - default


1 - No filtering / blur



Beaker(Posted 2004) [#79]
Some extra Movie commands would be good:
MovieSeek() particularly.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_mci_seek.asp

And CurrentMovieFrame() or similar ( CurrentMovieMillis() ? ).


Eikon(Posted 2004) [#80]
New info snipped from Simon's latest worklog:

BlitzPlus v139 is still unreleased, apparently there is some FMod / music patches going in. In the few days the build was in my care I was able to add the following:

new HtmlView command: HtmlViewRun(html,script$)

Delay now resets negative parameters to 0

Added FontSize FontName FontStyle FontAscend and FontDescend getters

Return key on List Item now causes event, still no arrow key messages:(

TreeViewNodes now have icon parameters and TreeView supports SetGadgetIconStrip


HtmlViewRun example:
format_code('
HtmlViewRun html,"document.body.innerHTML='<form method=GET><input type=text name=login value=simon></form>'"
')
The biggest improvement is with the control of the HtmlView gadget. Being able to issue scripts and receive user GET and POST events should open a lot of possibilities including hosting and controlling of ActiveX controls (speech, database, spreadsheets...) embedded in the view.


Orca(Posted 2004) [#81]
Awesome^^

:)


Hotcakes(Posted 2004) [#82]
It's incredibly relieveing to hear that Mark has finally let someone else hack away at (some of:) the code!


Rook Zimbabwe(Posted 2004) [#83]
I want it all!!! It all sounds good!!!


kochOn(Posted 2004) [#84]
If one day most of those gui enhancements have to be done,
i d love to see an option to reduce the size of the compiled exe(for those who only want to use the enhanced gui functions).


REDi(Posted 2004) [#85]
Please, please, please include some more FMOD sound commands to blitz+ (and Blitz3D), something like ChannelSeek(), ChannelPosition() ect would be great. Maybe even some of the FSOUND_FX commands like FSOUND_FX_SetEcho ;)

As far as I know, there isn't a basic anywhere that gives that kind of control over sounds, you could be the first! lol

Yeah, Its a long shot, but you never know :)


Kuron(Posted 2004) [#86]
PLEASE fix the bug with OpenGL windows being run fullscreen. They seem to crach upon closing on a wude variety of system setups.


pantsonhead.com(Posted 2004) [#87]
Today, it's been one month since this announcement.

Is it still coming soon?


CS_TBL(Posted 2004) [#88]
"Miss Leonowens-sir, in Siam you will soon find out, everything has its own time"

(Anna and the King, 1999 - 20th Century Fox)


skn3(Posted 2004) [#89]
Is it still coming soon?


Well considering the ton of suggestions above (which I hope at least some are included), and the mentioned fmod update...


Grisu(Posted 2004) [#90]
Hopefully the update won't be buggy itself...

So take all time you need Mark!
Good things always take time! :)


*fooby(Posted 2004) [#91]
>> Feel free to request any features you feel strongly about:

"TRANSPARENCY"
Being able to alpha blend images, by setting a percentage, or a grayscale image defining the transparent areas.
This is the single most important feature, I would like to see added.

(I don't care whether this is done completely 2-D or requires 3-D hardware, as long as it can be done in realtime.)


Hotcakes(Posted 2004) [#92]
Get Blitz3D.


*fooby(Posted 2004) [#93]
@ hotcakes: I don't want any 3-D capabilities.
Besides, I don't think using Blitz 3-D is practical for compositing 2-D alpha images.
(You can't easily blend pure 2-D techniques with 3-D. (drawing 2-D->3-D->2-D->3-D,etc.))


skn3(Posted 2004) [#94]
fooby no, you would use a 3d as 2d method. which envolves building and destroying 1 big mesh each render. But, 2d based alpha & (rotate/scale ?) should definatly be added to b+!


*fooby(Posted 2004) [#95]
You're right skn3[ac].

But a straightforward, fast way of drawing transparent images in Blitz Plus would be great. I really hope Mark can implement this.


Hotcakes(Posted 2004) [#96]
Well it would have to be done in software and I don't think Mark would be able to do it *much* faster than those who have already attempted. It's not in DirectX. It wasn't in DX7 so it's definately not gunna be available in B+. However it's available in OpenGL, so maybe Mark could write a command for just that part of B+ (and maybe do software rendering for the DX version of the command)... Then OpenGL games would really have the edge ;]


skn3(Posted 2004) [#97]
Currently (if im not mistaken) blitz performs all pixel operations direct to video memory. Int by int (pixel by pixel), this is very slow, especialy for reading.

There are then 2 things which could greatly improve the speed of doing pixel ops:
A) Allow the use of buffers in system memory (currently graphics buffers are stored in video mem)
B) Allow batch operations. Eg:, dump the pixel data into a bank, then send to the video card in big batch.

I wrote a lense effect in b+, it was reasonably fast. A mate of myn then ported the code to alegro, and it run much much faster. This was because of the things stated above. So whilst it is impossible to have hundereds of alpha sprites on screen, it is definatly possible to have more software alpha operations, than currently possible using b+ commands.


*fooby(Posted 2004) [#98]
What about these commands:
Load3DImage( filename$ )
Draw3DImage( image, x, y )
->Draws directly to backbuffer, no renderworld as in B3D.

Scale3DImage (image, percentage or pixel dimensions)
Alpha3DImage (image,a grayscale image or a value 0-255)
Rotate3DImage (image, degrees)
Tint3DImage (image,rgb)

They could work similarly to Patrick Lester's Extended B2D dll:
http://www.blitzcoder.com/cgi-bin/showcase/showcase_showentry.pl?id=turtle177605192003023744&comments=no

With such commands we could take advantage of the 3-D hardware whenever we really need such effects in realtime, and could composite with the purely 2-D methods.

In the Extended dll, this works very nicely, except that it doesn't work in fullscreen.


dmaz(Posted 2004) [#99]
I really would like to use the new HTML commands... It would be great just to get the update that Simon has finished and not have to wait for all these other great suggestions. My request would be to see a couple of smaller updates earlier rather than later.


Craig Watson(Posted 2004) [#100]
Er, I believe the extended DLL only works in fullscreen, not in windowed mode.


*fooby(Posted 2004) [#101]
Yeah, sorry, I typed it wrong.
.. (the extended dll) ... doesn't work in *windowed* mode.


Zenith(Posted 2004) [#102]
.


RiK(Posted 2004) [#103]
But, 2d based alpha & (rotate/scale ?) should definatly be added to b+!

Would be a very welcome addition indeed. Big thumbs up here..


Orca(Posted 2004) [#104]

I really would like to use the new HTML commands... It would be great just to get the update that Simon has finished and not have to wait for all these other great suggestions. My request would be to see a couple of smaller updates earlier rather than later.


I agree. If anything, I'm more excited about the file requestor & font stuff. I need those right now.


Curly J(Posted 2004) [#105]
not sure if this is the place to say so, but the off line help really needs an update. its just not possible for me to connect and use the online help.
ta!


Darkuni(Posted 2004) [#106]
Well, I'll chime in:

- 2D Transparency ... its only been like 4 years we've been asking for it. Help us out here. :) I shouldn't have to use Blitz3D to make dissolving particles for a 2D game.

- Allow DIRECT setting of Window/Program icon. Making a daily build hacking with Reshacker or other programs makes the build process a REAL PAIN.

- Better MOD support (the same everyone else has been crying for; vu meters and seeking at the VERY least). How can we write megaleet demos without vu meters? :))

- DIRECT systray iconifying. A simple flag allowing "minimize = minimize to systray" would be enough. As it stands, I have to recommend to my customers they use some third party app to minimize my stuff to systray. That's just not right.

- Audio seeking support. I'd like to be able to load an MP3, get the runtime back in millisecs, then be able to drop the playback to any given millisec. That's REAL BASIC "mp3 player" type stuff, and we can't do it.

- My god ... CLIPBOARD SUPPORT. How can someone be asked to write an app of just about ANY kind without having SOME sort of clipboard support? Oh sure, there is a userlib hack to do it, but c'mon now ... PUTCLIPBOARD() and GETCLIPBOARD() ... please ... even if its just TEXT for starters ...

That will do it for now ... I'm sure I got more stuff in here somewhere ... but this would be a nice start.


Beaker(Posted 2004) [#107]
You're a bit late, but never mind, there is always next time. :)


Darkuni(Posted 2004) [#108]
Alas, I saw that ... Like you said ... there is always next time! :)


Kanati(Posted 2004) [#109]
Holy crap... Shane crawled outta a hole in the wall somewhere!!! Where have YOU been hiding?


Darkuni(Posted 2004) [#110]
In the really real world. :) Thanks for noticing tho!


aab(Posted 2004) [#111]
As Darkuni said, 2d transparency would be really usefull!
Although im sure there will be som eway of faking it with blitz....

Also, is it possible for a 'savestate' command to be created:
What i mean is, rather than all variable that i wish to write to a Dat file being Written and Read individually, would it instead be possible to make a command that saves all variables of all types within the program, to a data file, rather than the programmer (me*) having to flesh them all out individually?


Darkuni(Posted 2004) [#112]
I wouldn't mind a built in .ini system. I've considered writing my own functions for a 'generic shell' version where you could pass it stuff en masse - but I'd love to have a GETINI, PUTINI command where I could easily add a new name/value pair or retrieve an existing value.

GETINI filename$,variablename

PUTINI filename$,variablename,value

If the ini doesn't exist, create it. If the name/value pair isn't there, create it.


Clyde(Posted 2004) [#113]
How about also a built in triangle drawing command


Hotcakes(Posted 2004) [#114]
Poly and Polyf in BB2 on the Miggy were useful. For some people. I assume. I couldn't figure the thing out ;]


AntonyWells(Posted 2004) [#115]
Glad I wasn't the only one baffled beyond sanity by those poly funcs...pure witchcraft ;p


Sonari Eclipsi Onimari(Posted 2007) [#116]
Right now, I would love to see a function to return if a listbox was right clicked or left clicked...


Ked(Posted 2007) [#117]
You do know that BlitzPlus is done being updated?


Starwar(Posted 2007) [#118]
Cool.

Things that would be nice to see sometime soon:
Printer support including graphics.
Titlebar icon
Systray Functions/Icons
Rightclick context menu support
listviews (see skn36[ac] post)
sound/movie functions to start playing sounds/movies at a special time position

And...A undo function in the editor...;-)


Seldon(Posted 2007) [#119]
@Darkuni:
Look at WIN32 API functions to manage INI files. That's what you are looking for.