Should gfx library be improved, in newer version?

General discussion for topics related to the FreeBASIC project or its community.
angros47
Posts: 2387
Joined: Jun 21, 2005 19:04

Post by angros47 »

whoops--- my fault!
roook_ph
Posts: 402
Joined: Apr 01, 2006 20:50
Location: philippines
Contact:

Post by roook_ph »

Quote:
Its not a very good practice to change language every time there is a newer version out.
I don't really understand this opinion. FreeBASIC isn't a standardised language, it's a new language. The language should improve with each new revision. Is adding major features like UDT properties OK, but not adding a new library routine?
I am referring to adding functionalities to an existing command , It might cause conflicts to my existing freebasic programs. Adding libraries is fine if that is your opinion, and your opinion does not mess up my codes
Last edited by roook_ph on Jun 01, 2010 10:59, edited 1 time in total.
Sebastian
Posts: 131
Joined: Jun 18, 2005 14:01
Location: Europe / Germany
Contact:

Post by Sebastian »

roook_ph wrote:I am referring to adding functionalities to an existing command , It might cause conflicts to my existing freebasic programs. Adding libraries is fine if that is your opinion, and your opinion does not mess up my codes!
It won't break your code if one could write

Code: Select all

BLOAD "myfile.png", buffer
and not only

Code: Select all

BLOAD "mylargefile.bmp", buffer
in later versions. ;-)
1000101
Posts: 2556
Joined: Jun 13, 2005 23:14
Location: SK, Canada

Post by 1000101 »

Bload will never load pngs, deal with it. Use fbpng.
vdecampo
Posts: 2992
Joined: Aug 07, 2007 23:20
Location: Maryland, USA
Contact:

Post by vdecampo »

1000101 wrote:Bload will never load pngs, deal with it. Use fbpng.
Why do you need to bloat the language with a bunch of specific things like loading PNGs or JPGs when you can just as easily build a library to accomplish this. This is the reason FB is so great. It may not do everything, but what it does it does well, and it gives you the tools to make it do more. Improvements that address compatibility with libraries is one thing, but adding a bunch of stuff that can be done with libraries doesn't make much sense to me.

-Vince
Sebastian
Posts: 131
Joined: Jun 18, 2005 14:01
Location: Europe / Germany
Contact:

Post by Sebastian »

vdecampo wrote:Why do you need to bloat the language with a bunch of specific things like loading PNGs or JPGs
...because IMHO the BMP-only restriction is 1990-style - simply old-fashioned. ;-)
1000101 wrote:Bload will never load pngs, deal with it. Use fbpng.
I know fbpng. On the German FB portal we have an entire tutorial just on loading and saving PNGs but I think the current ways are more complicated than necessary.

An open source programming community doesn't need to be more conservative than the Pope himself. Just my two cents. ;-)
vdecampo
Posts: 2992
Joined: Aug 07, 2007 23:20
Location: Maryland, USA
Contact:

Post by vdecampo »

Sebastian wrote:...because IMHO the BMP-only restriction is 1990-style - simply old-fashioned. ;-)
I don't see any restrictions, if one is willing to put some effort into coding a solution.

-Vince
angros47
Posts: 2387
Joined: Jun 21, 2005 19:04

Post by angros47 »

Implementing transformation matrices in the PUT command should not be difficult:

http://en.wikipedia.org/wiki/Transformation_matrix

It could be done with no change to the syntax, because it would only require to add four optional parameters.

It would allow rotations, scaling and shearing in an easy way, making MultiPut unnecessary.
1000101
Posts: 2556
Joined: Jun 13, 2005 23:14
Location: SK, Canada

Post by 1000101 »

Only four more parameters to push onto the stack? Well why not add a clipping volume, ROPs, post render effects, pre render effects, etc, etc. Maybe we can break 1MB on the amount of crap you aren't doing that's getting pushed onto the stack so people can be lazy and just use PUT for everything!

No.

Don't be lazy, quit $#@$& that bmp's are from the 90's (because they are actually from the 70's). The only reason we have things like BLoad to begin with is QB compatibility and imo it should be dropped altogether for external libraries which do specific tasks like fbpng or maybe even fbbmp for bitmaps, fbjpg for jpegs, etc.

In any event, only newbs want this crap added bloating fb even more for no good reason.
fernando.inf
Posts: 28
Joined: Mar 10, 2009 1:41

Post by fernando.inf »

Well apparently I said + what should I suggested a functionality, and ended up creating a big confusion!. I apologize!

analyzing the posts, I experienced that + is right, if implement all features directly into gfxlib FB, end up making it too heavy, and many people would not use everything, just some funcionalidadades, then I think it is best to use libs outside it, as fbpng and etc ...

When I talked about support for ms-dos have been abandoned, DRV said I left the maintenance of the same (am I right?).

And also feel shortage of help and resources for ms-dos, since the DOS forum is not busy, and I think most of the staff that came up was FreeBASIC because it is the basic language + similar as possible with that many people used Qbasic for years, even just for a hobby as I, despite already having done commercial application in it.

Sorry for bad english. :)
angros47
Posts: 2387
Joined: Jun 21, 2005 19:04

Post by angros47 »

1000101 wrote:In any event, only newbs want this crap added bloating fb even more for no good reason.

Maybe my point has been misunderstood:
1) I agree that support for more graphic formats should not be integrated in FBGFX: there are too many formats (PNG, JPG, TGA, animated GIF, TIFF... and why not PIC? or LBM? or PCX? Or PCD?). To mess with other graphic formats, there are dedicated libraries, APIs, and much more.

2)Adding more commands won't bloat anything: the additional code won't be linked to your program, unless you use new commands (the library is made of several .o files, and only ones that are needed will be linked in the final program)

3) I believe that some features (in particular scaling, rotations, and maybe even pixel-perfect-collisions) are general-purpose, and they should be featured by a generic graphic library.

FBGFX should respect the basic philosophy: even a beginner should be able to use it, doing almost everything: when a faster/more specialized library is needed, fbgfx can be disabled.

I'm suggesting that because, in current situation, if you want to develop a game in FB, you can either use fbgfx (but too often your game will look like you've made it in qbasic), or use some other library (but, if so, where is the advantage of using freebasic and not c++?). A common criticism on FreeBasic is "it's actually C (or C++) with a BASIC syntax"; that's because, even if FreeBasic itself is a very good language, easy and powerful, if you have to use system APIs, or to load a lot of include files (for pixel-perfect collision, for rotations, for sound...) it won't be beginner-friendly anymore.

@Printchard:
I believe that my suggestions actually are "BASIC" functionalities (because they might come in hndy in a "basic" program). And they won't limit advanced programming in any way.

You can call it FreeBasic Deluxe, but... why not?
1000101
Posts: 2556
Joined: Jun 13, 2005 23:14
Location: SK, Canada

Post by 1000101 »

How about we forget about adding a heap of new problems onto the library and fix the existing problems first? There are still unresolved tickets in the tracker. Spend more effort on ways to resolve those before we worry about adding new tickets to the tracker.
Voltage
Posts: 110
Joined: Nov 19, 2005 7:36
Location: Sydney, Australia
Contact:

Post by Voltage »

1000101 wrote:How about we forget about adding a heap of new problems onto the library and fix the existing problems first? There are still unresolved tickets in the tracker. Spend more effort on ways to resolve those before we worry about adding new tickets to the tracker.
I'd like to try my hand at fixing some of these issues. Anyone care to help a noob get started?

What I'm asking for specifically is the steps required to test a fix (Download source, compile tools) and the steps to submit a fix (or patch).

I'll try to get this done by myself, but I thought I'd ask here as well.
Voltage
Posts: 110
Joined: Nov 19, 2005 7:36
Location: Sydney, Australia
Contact:

Post by Voltage »

angros47
Posts: 2387
Joined: Jun 21, 2005 19:04

Post by angros47 »

1000101 wrote:How about we forget about adding a heap of new problems onto the library and fix the existing problems first? There are still unresolved tickets in the tracker. Spend more effort on ways to resolve those before we worry about adding new tickets to the tracker.
No: every software has bugs. Noboby ever fixed all bugs of a program, because when you fix one, other come out. You could spend you entire life fixing them (fighiting agains bugs that normal users will never encounter)
If you don't add new features before all bugs are fixed, you will never add new feature, and you will wait forever.
Post Reply