Welcome, Guest. Please login or register. Did you miss your activation email?

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Merick

Pages: [1]
1
General / SFML in FreeBasic
« on: December 05, 2008, 05:13:44 pm »
FB is heading towards OO,  but it is not yet fully implemented.  Although FB can link to c++ (or libs made by other OO compilers), it doesn't have inheritance or virtual functions (and a few other things I can't remember off the top of my head) and so it would require a bit more work to get it running than with the ansi c version.

2
General / SFML in FreeBasic
« on: December 05, 2008, 02:58:23 pm »
Alright, if anyone's interested, here's a set of headers for use with FreeBASIC. They're based off the CSFML version, and I've included the mingw import libs and dll's from the CSFML windows package (I left out the -s and -s-d versions because FB spit out a bunch of linker errors when I tried to use them)

http://freefile.kristopherw.us/uploads/merick/sfml.rar

To use these with FB, you will need to copy the SFML folder into FreeBASIC\inc, the *.a libs into FreeBASIC\lib\win32, and the dlls to wherever your compiled programs can find them.

Here is the example from the CFSML docs converted to FB syntax:

Code: [Select]
#include once "SFML/Audio.bi"
#include once "SFML/Graphics.bi"

dim as sfWindowSettings Settings => (24, 8, 0)
dim as sfVideoMode Mode => (800, 600, 32)
dim as sfRenderWindow ptr App
dim as sfImage ptr Image
dim as sfSprite ptr Sprite
dim as sfFont ptr Font
dim as sfString ptr Text
dim as sfMusic ptr Music
dim as sfEvent Event


/' Create the main window '/
App = sfRenderWindow_Create(Mode, @"SFML window", sfResize or sfClose, Settings)
if App = NULL then goto fail

/' Load a sprite to display '/
Image = sfImage_CreateFromFile("image.jpg")
if Image = NULL then goto fail

Sprite = sfSprite_Create()
sfSprite_SetImage(Sprite, Image)
 
/' Create a graphical string to display '/
Font = sfFont_CreateFromFile("arial.ttf", 50, cast(wchar_t ptr, @""))

if Font = NULL then goto fail    
   
Text = sfString_Create()
sfString_SetText(Text, "Hello SFML")
sfString_SetFont(Text, Font)
sfString_SetSize(Text, 50)
 
/' Load a music to play '/
Music = sfMusic_CreateFromFile("music.ogg")
if Music = NULL then goto fail

/' Play the music '/
sfMusic_Play(Music)
 
/' Start the game loop '/
while sfRenderWindow_IsOpened(App) = sfTrue

    /' Process events '/
    if sfRenderWindow_GetEvent(App, @Event) = sfTrue then
       
        /' Close window : exit '/
        if Event.Type_ = sfEvtClosed then
            sfRenderWindow_Close(App)
        endif
       
    endif

    /' Draw the sprite '/
    sfRenderWindow_DrawSprite(App, Sprite)
 
    /' Draw the string '/
    sfRenderWindow_DrawString(App, Text)
 
    /' Update the window '/
    sfRenderWindow_Display(App)
wend

fail:
/' Cleanup resources '/
sfMusic_Destroy(Music)
sfString_Destroy(Text)
sfFont_Destroy(Font)
sfSprite_Destroy(Sprite)
sfImage_Destroy(Image)
sfRenderWindow_Destroy(App)

3
General / SFML in FreeBasic
« on: December 05, 2008, 04:44:30 am »
Thank you.

I've just finished using swig to convert the headers for use with FB. I'll need to clean them up a little and do some testing, but I can probably get them uploaded in the next couple of days.

4
General / SFML in FreeBasic
« on: December 04, 2008, 04:09:14 pm »
I'm looking to get SFML working in FreeBASIC using the C/mingw version of the libs. Can someone explain what the -d, and -s in the filenames of the libs stand for?

Pages: [1]