Command Expansion WishList

Blitz3D Forums/Blitz3D Programming/Command Expansion WishList

Apocalypse(Posted 2004) [#1]
I'm new to Blitz but not to programming. I think I'm familiar enough with the Blitz language to see that there are some functions found in other languages that might be nice to have in Blitz.

What I'm offering is to write a DLL to include as many new functions you guys can think of and that are possible for me to produce in a 3rd party DLL. Specific 3D manipulations or processing Blitz objects may not be necessarily possible (since I don't have any inside info regarding their structures) but I can do functions like...

GetTickCount
GetTickFrequency
Inc <Var>
Dec <Var>
etc...

If you guys could start a wish list of stuff, perhaps I could accomodate. I also am pretty good at ASM so I could potentially speed up some functions that might otherwise be too slow in native Blitz.

Whaddaya Think?!


poopla(Posted 2004) [#2]
Hmm.. very nice offer, can't think of anything right off hand though.


John Blackledge(Posted 2004) [#3]
I'd like to see the more obscure but useful Windows commands like GetModuleFilename().
Also LoadIcon() and DrawIcon(). I'd have an immediate use for those.
Oh, and while I think, a good drag-drop mechanism, which is, lets face it, bloody easy in C but impossible in Blitz.


slenkar(Posted 2004) [#4]
you could try increasing the speed of picks??


Apocalypse(Posted 2004) [#5]
<John>
Those functions are easily accessed by creating a .decls file with the DLL prototype. While I can include some of those, I was thinking of perhaps more complex functions not already available via the WinAPI.

How about things like...
Format$ - formatting a strings output similar to VB
DateAdd - Adding to or subtracting from a date by days/months/years.

Or maybe a new set of File I/O functions that can read/write structures or arrays at once.

Or functions to create/manipulate memory buffers.

Or testing for existence of a file or directory.

Or setting or testing for individual bits in a variable. (without AND/OR/XOR).

Or accessing MCI commands.

Gee, I got some good ideas on my own. :-)

Truthfully, the more I think about it, the real benefit would come from creating a new IDE that incorporated not only these functions, but allowed for MACROS, syntax checking, function organization.

I don't know if I want to take on creating a new IDE.

:-\


AbbaRue(Posted 2004) [#6]
A way to transfer handles from say a texture to a sprite.
Or from a texture to a memory bank.
So we don't have to use copy rect. Just change the handle from a texture handle to a bank handle, and vis versa.
Also would be nice to be able to tile a terrain. Now that might be very intensive programing though.
Or how about after rendering a scene far into the distance.
Be able to make a snapshot of it and place the snapshot on a sky box. Then one could render a scene far into the distance once
and use that as a horizon, for the scene. Then render once in a while to update the skybox.


mearrin69(Posted 2004) [#7]
I'd like macros and preprocessing - if they're fast. You're right, though, that's more of an IDE thing.

I'd like fast alpha aware 2D commands - don't know if you can do it in a DLL. Maybe with the buffer access techniques that've been tossed around recently?

A decent sound library would be nice - with the capability to actually load in music instead of just stream it. Channel management, tempo control (???), sound blending, etc. would be cool too.

I guess you can't really do anything about it but I'd like to have Static declarations - to retain variable values in functions. Module level variables would also be cool - like VB. I'm almost positive this can't be done, though.

Finally, especially barring the previous, how about IncludeOnce("filename.bb")? I like to declare module-related globals in the modules themselves (by module, I mean that I put related functions in a single file) but sometimes things get garfed up when something refers to something that hasn't been declared yet (an array commonly).

Anyway, just some ideas. Generous of you to contribute your expertise to the community :)

M

[edit]Oh, almost all of your ideas above sound like winners too. I'd love the bit setting stuff.[/edit]