Page 1 of 2
PB version differences
Posted: Sat Mar 31, 2007 5:27 pm
by Amiga5k
In the docs, at the bottom of the Sprite page that lists all of the sprite commands, it says "OS Supported: ALL", but a few of the commands on that same page, such as CreateSprite() list Windows as the only supported OS.
So which is correct?
I've noticed that the vast majority of the commands that are not supported on all platforms (not counting Amiga) are the Engine3D commands (Windows and Linux only). Are there plans to synchronize Windows, Linux and Macintosh commands so that you can truly write your code
one time and then compile for all platforms (except Amiga)? This would be the 'Holy Grail' of PB programming, if you ask me (another one would be OOP capability, but I don't want to open THAT can of worms again!

)
Thanks!
Russell
Posted: Sun Apr 01, 2007 4:56 am
by Amiga5k
Darn, I was hoping someone would have replied to this by now...
<bump>
Russell
Posted: Mon Apr 02, 2007 4:15 am
by Amiga5k
Ok, over 80 views, but no replies...
Either I touched on a sensitive subject or no one has an answer?
I just want to know if, for example, the Sprite commands truly work on all OS's or is the documentation a little off here? I don't have a Mac or a Linux machine to test it on... I do have several Amigas, but I don't plan on supporting that platform actively
Russell
Posted: Mon Apr 02, 2007 9:31 am
by PB
> Ok, over 80 views, but no replies
Well, only the author can truly answer the question.

Posted: Mon Apr 02, 2007 12:17 pm
by freak
Man, you're impatient...
Well, it is true. The help information is a bit outdated. I plan on updating all of that soon,
but it will be a lot of work.
When in doubt, you'll just have to try it.
Except for the things mentioned below, the differences between the OS are really only such commands
that have no meaning on one OS, or really cannot be done because the support for
it is lacking on one OS. Those will never be 100% synced, as it is simply not possible.
Also for the GUI libs sometimes not all flags are supported, but i think this is a minor issues,
as those are usually just optical things.
For linux, the Sprite3D is only available in the opengl subsystem.
For OSX, the 3DEngine is not done and also the SysTray lib (as there is really no systray there)
The Printer lib is also not done everywhere iirc.
Sprite commands should work everywhere.
Posted: Thu Apr 05, 2007 4:16 pm
by Amiga5k
Thanks everyone! I guess I was a little impatient

(But there were actually 80 views, so 80 people had an opportunity to answer...

)
But anyways, I figured that they were a little outdated because it would just be plain silly if PB didn't support Sprites on all platforms!
Say, freak, I just want you to know (if you are the one who does the docs) that overall, you've done a fantastic job! Sure, there is some information that needs to be updated, but it is organized very well, I think (especially when compared to BlitzMax's).
Maybe I could help update the docs for you?
Russell
Posted: Thu Apr 05, 2007 4:34 pm
by freak
Andre does most of the docs work.
I usually just write or update entries when i write new commands/libraries.
If you want to help with the docs, just contact Fred about access to the CVS system.
Posted: Mon Apr 09, 2007 2:09 pm
by freak
So... after a boring day of work, here is the full list of OS differences:
http://freak.purearea.net/v4/FunctionList.html
We are automating this now, so the information in the Help about what is
supported will be correct in the future.
This list may look huge at first look, but you have to keep in mind that there
are currently 878 functions in the Windows version, which makes this list not appear that big anymore
There is certainly still room for improvement. Some of the platform dependent libs,
and some of the individual commands may be possible to be implemented for all OS.
However, there are also those that simply have no meaning on some OS (where is the systray on OSX ?),
and those will therefore never be entirely crossplatform. (which is no problem imho)
This certainly shows though, that vast majority of commands actually IS fully crossplatform.
Posted: Wed Apr 11, 2007 4:45 am
by Amiga5k
Man, you really WERE bored, weren't you?!
However, this is actually useful information. Thanks!
I don't need the CVS info, though, because Microsoft's free 'Html Help Workshop' has a built-in decompiler, which can decompile a .chm file into its original .hhk and .hhc files (You have to create the .hhp project file yourself, but this is very easy to do within the program). I found quite a few grammar and spelling errors in there already, and I'm only about 2% through it!

(Understandable if english is not your primary language). I'll upload the completed docs when I finish (in the year 2032...).
Anyway, good job guys!
Russell
Posted: Wed Apr 11, 2007 4:50 am
by Matt
Using the CVS would be a brighter idea if you really plan on updating all of the pages....
Posted: Wed Apr 11, 2007 5:09 am
by Amiga5k
To be honest, CVS looks like the world's UN-easiest to use program and I can't understand why people like to use it, but that's just me, maybe. CVS seems to be quite popular in the developer's world, so there must be something to it, but I'll be damned if I can figure out what that something is..
On a similar note, though, I thought about writing my own helpfile creator (in PB, of course) that would be a lot easier to use than MS's HHW and would still allow a person to easily update info in that helpfile. I'll keep you posted.
Russell
Posted: Wed Apr 11, 2007 12:35 pm
by freak
The PureBasic docs are written in a custom text format with tags which is the base for
the several output formats (on linux, the docs are not in html for example)
The DocMaker tool in the PureBasic LibrarySDK is used for that.
Editing the final product (.chm) is not very useful, as the errors will be back with the next re-generation of the help.
CVS may be a bit complicated at first, but it is essential for this kind of group work,
as changes are well documented and easy to trace (which is also important for the translations),
and everybody gets notified when somebody else does a change.
Posted: Wed Apr 11, 2007 12:57 pm
by Comtois
freak wrote:and everybody gets notified when somebody else does a change.
Not always
I used CVS Update, and I receive those files, I did not receive a notification for the change ?
Perhaps the changes relate to only english doc ?
Database.txt
Gadget.txt
Misc.txt
Sprite.txt
Systray.txt
Window.txt
compilerdirectives.txt
inlinedasm.txt
Posted: Wed Apr 11, 2007 1:39 pm
by freak
Make sure your spamfilter does not catch the messages.
I had that problem a lot.
Posted: Thu Apr 12, 2007 5:16 pm
by Amiga5k
freak wrote:The PureBasic docs are written in a custom text format with tags which is the base for
the several output formats (on linux, the docs are not in html for example)
The DocMaker tool in the PureBasic LibrarySDK is used for that.
Editing the final product (.chm) is not very useful, as the errors will be back with the next re-generation of the help.
CVS may be a bit complicated at first, but it is essential for this kind of group work,
as changes are well documented and easy to trace (which is also important for the translations),
and everybody gets notified when somebody else does a change.
Why not just use html for all platforms? Surely Linux has a bazillion html viewers/editors available?
If I fix the errors and then recompile the .chm, how could they reappear?
Maybe I'll give CVS another try, but I'm stubborn

If something doesn't immediately make sense to me (intuitive), I'm jaded right away. PhotoShop is an example of this: I know how to use it, but it is not something you can start using right away without reading the directions as a total newbie. It is also excruciatingly slow...
Anyway, that's all I got for now
Russell