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.


Topics - Zamadatix

Pages: [1]
1
I was working on some code where the source buffer for updating a texture was shared from another thread and of a different frame rate than the GUI thread. It looks something like:

Code: [Select]
// GUI Thread (handles menus, events, and display)
while(window.isOpen())
{
// Rest of GUI and event logic

if(atomicOutputPixelsUpdated)
{
sharedData.outputPixelsMutex.lock();
atomicOutputPixelsUpdated = false;
// Copy pixel data into outputTexture
sharedData.outputPixelsMutex.unlock();
}

outputTexture.update(&texturePixels[0]);

window.draw(outputSprite);
window.display();
}

Mutexes, atomics, and threads are the builtins provided by the std lib (<mutex>, <atomic>, and <thread>) rather than SFML. In a separate thread there is code along the lines of:

Code: [Select]
// Do a bunch of logic
sharedData.outputPixelsMutex.lock();
// Copy the results into the shared buffer
atomicOutputPixelsUpdated = true;
sharedData.outputPixelsMutex.unlock();

// Naively rate limit the task so we don't eat up the core
std::this_thread::sleep_for(std::chrono::milliseconds(1));

Note that in each case the mutex only locks at the read/write pixels portion of the logic, not the entire function.

For some reason if I run this with setVerticalSync enabled the logic thread will only update 60 times per second. If I use this with setFrameRate(60) then the logic updates ~1000 times per second. Why is this? I would figure since the mutex is unlocked before draw() is called it shouldn't be blocked by the vsync wait? Is there any way I can have asynchronus data fed into my draw thread without causing the other thread to run in lockstep?

2
General / sf:utf16 and std::vector<uint16_t>
« on: May 28, 2015, 05:49:38 am »
Hello all,

I have been writing an open client that can connect to an existing server model (that I have no control of). The server sends node names in UTF-16 format. I decode this into a null terminated std::vector<uint16_t>. Here is where I run into problems... std::u16string seems new and doesn't have nearly as much documentation or functions on conversions as std::string or std::wchar. I tried doing some string.resize() and memcpy magic but it always caused application crashes. std::wchar (in my understanding) isn't proper UTF-16 as it is today so I want to avoid using that as much information there is on it. I am using sfml for the graphics anyways so I figure I might as well use sf::utf16. Is there any way to convert std::vector<uint16_t> to sf::utf16?

Thank you,

zamadatix

3
General / SFML 2 graphics fails to build
« on: August 11, 2011, 11:45:04 pm »
After making the project files for codeblocks in cmake SFML builds fine until it runs into errors at sfml graphics with the log

Code: [Select]
||=== SFML, all ===|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Set_Pixel_Sizes'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Get_Char_Index'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Get_Char_Index'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Get_Kerning'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Done_Face'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Done_FreeType'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Init_FreeType'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Open_Face'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Select_Charmap'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Init_FreeType'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_New_Memory_Face'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Select_Charmap'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Init_FreeType'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_New_Face'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Select_Charmap'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Init_FreeType'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_New_Memory_Face'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Select_Charmap'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Load_Char'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Get_Glyph'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Glyph_To_Bitmap'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Bitmap_Embolden'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Glyph_To_Bitmap'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Done_Glyph'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Outline_Embolden'|
CMakeFiles\sfml-graphics.dir\objects.a(Font.cpp.obj)Font.cpp|| undefined reference to `FT_Glyph_To_Bitmap'|
CMakeFiles\sfml-graphics.dir\objects.a(GLCheck.cpp.obj)GLCheck.cpp|| undefined reference to `glewInit'|
CMakeFiles\sfml-graphics.dir\objects.a(ImageLoader.cpp.obj)ImageLoader.cpp|| undefined reference to `jpeg_std_error'|
CMakeFiles\sfml-graphics.dir\objects.a(ImageLoader.cpp.obj)ImageLoader.cpp|| undefined reference to `jpeg_CreateCompress'|
CMakeFiles\sfml-graphics.dir\objects.a(ImageLoader.cpp.obj)ImageLoader.cpp|| undefined reference to `jpeg_stdio_dest'|
CMakeFiles\sfml-graphics.dir\objects.a(ImageLoader.cpp.obj)ImageLoader.cpp|| undefined reference to `jpeg_set_defaults'|
CMakeFiles\sfml-graphics.dir\objects.a(ImageLoader.cpp.obj)ImageLoader.cpp|| undefined reference to `jpeg_set_quality'|
CMakeFiles\sfml-graphics.dir\objects.a(ImageLoader.cpp.obj)ImageLoader.cpp|| undefined reference to `jpeg_start_compress'|
CMakeFiles\sfml-graphics.dir\objects.a(ImageLoader.cpp.obj)ImageLoader.cpp|| undefined reference to `jpeg_write_scanlines'|
CMakeFiles\sfml-graphics.dir\objects.a(ImageLoader.cpp.obj)ImageLoader.cpp|| undefined reference to `jpeg_finish_compress'|
CMakeFiles\sfml-graphics.dir\objects.a(ImageLoader.cpp.obj)ImageLoader.cpp|| undefined reference to `jpeg_destroy_compress'|
CMakeFiles\sfml-graphics.dir\objects.a(Renderer.cpp.obj)Renderer.cpp|| undefined reference to `__GLEW_EXT_blend_func_separate'|
CMakeFiles\sfml-graphics.dir\objects.a(Renderer.cpp.obj)Renderer.cpp|| undefined reference to `__glewBlendFuncSeparateEXT'|
CMakeFiles\sfml-graphics.dir\objects.a(Renderer.cpp.obj)Renderer.cpp|| undefined reference to `__glewUseProgramObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(RenderTextureImplFBO.cpp.obj)RenderTextureImplFBO.cpp|| undefined reference to `__glewDeleteFramebuffersEXT'|
CMakeFiles\sfml-graphics.dir\objects.a(RenderTextureImplFBO.cpp.obj)RenderTextureImplFBO.cpp|| undefined reference to `__glewDeleteFramebuffersEXT'|
CMakeFiles\sfml-graphics.dir\objects.a(RenderTextureImplFBO.cpp.obj)RenderTextureImplFBO.cpp|| undefined reference to `__glewDeleteFramebuffersEXT'|
CMakeFiles\sfml-graphics.dir\objects.a(RenderTextureImplFBO.cpp.obj)RenderTextureImplFBO.cpp|| undefined reference to `__glewDeleteFramebuffersEXT'|
CMakeFiles\sfml-graphics.dir\objects.a(RenderTextureImplFBO.cpp.obj)RenderTextureImplFBO.cpp|| undefined reference to `__glewGenFramebuffersEXT'|
CMakeFiles\sfml-graphics.dir\objects.a(RenderTextureImplFBO.cpp.obj)RenderTextureImplFBO.cpp|| undefined reference to `__glewBindFramebufferEXT'|
CMakeFiles\sfml-graphics.dir\objects.a(RenderTextureImplFBO.cpp.obj)RenderTextureImplFBO.cpp|| undefined reference to `__glewFramebufferTexture2DEXT'|
CMakeFiles\sfml-graphics.dir\objects.a(RenderTextureImplFBO.cpp.obj)RenderTextureImplFBO.cpp|| undefined reference to `__glewCheckFramebufferStatusEXT'|
CMakeFiles\sfml-graphics.dir\objects.a(RenderTextureImplFBO.cpp.obj)RenderTextureImplFBO.cpp|| undefined reference to `__glewBindFramebufferEXT'|
CMakeFiles\sfml-graphics.dir\objects.a(RenderTextureImplFBO.cpp.obj)RenderTextureImplFBO.cpp|| undefined reference to `__glewGenRenderbuffersEXT'|
CMakeFiles\sfml-graphics.dir\objects.a(RenderTextureImplFBO.cpp.obj)RenderTextureImplFBO.cpp|| undefined reference to `__glewBindRenderbufferEXT'|
CMakeFiles\sfml-graphics.dir\objects.a(RenderTextureImplFBO.cpp.obj)RenderTextureImplFBO.cpp|| undefined reference to `__glewRenderbufferStorageEXT'|
CMakeFiles\sfml-graphics.dir\objects.a(RenderTextureImplFBO.cpp.obj)RenderTextureImplFBO.cpp|| undefined reference to `__glewFramebufferRenderbufferEXT'|
CMakeFiles\sfml-graphics.dir\objects.a(RenderTextureImplFBO.cpp.obj)RenderTextureImplFBO.cpp|| undefined reference to `__GLEW_EXT_framebuffer_object'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewGetHandleARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewUseProgramObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewGetUniformLocationARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewUniform1fARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewUseProgramObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewGetHandleARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewUseProgramObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewGetUniformLocationARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewUniform2fARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewUseProgramObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewGetHandleARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewUseProgramObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewGetUniformLocationARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewUniform3fARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewUseProgramObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewGetHandleARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewUseProgramObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewGetUniformLocationARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewUniform4fARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewUseProgramObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewGetUniformLocationARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewUseProgramObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__GLEW_ARB_shading_language_100'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__GLEW_ARB_shader_objects'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__GLEW_ARB_vertex_shader'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__GLEW_ARB_fragment_shader'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewCreateProgramObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewCreateShaderObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewCreateShaderObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewShaderSourceARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewShaderSourceARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewCompileShaderARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewCompileShaderARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewGetObjectParameterivARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewGetObjectParameterivARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewAttachObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewAttachObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewDeleteObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewDeleteObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewLinkProgramARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewGetObjectParameterivARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewGetInfoLogARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewDeleteObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewDeleteObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewDeleteObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewDeleteObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewGetInfoLogARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewDeleteObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewGetInfoLogARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewUniform1iARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewActiveTextureARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewActiveTextureARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewUseProgramObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewUniform1iARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewDeleteObjectARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Shader.cpp.obj)Shader.cpp|| undefined reference to `__glewGetUniformLocationARB'|
CMakeFiles\sfml-graphics.dir\objects.a(Texture.cpp.obj)Texture.cpp|| undefined reference to `__GLEW_ARB_texture_non_power_of_two'|
||=== Build finished: 110 errors, 0 warnings (0 minutes, 3 seconds) ===|


Any ideas as to why it's failing? I've done everything to the guide in the tutorial section.

4
General / SFML 2 change I don't know how to fix
« on: April 18, 2011, 12:56:19 am »
After a winter break I have come back to coding and updated SFML2 to the latest svn to find that some things have changed while I was gone. Can anyone tell me how to fix this error?


Code: [Select]
49 while (Window.IsOpened())
50    {
51        while (Window.GetEvent(Event))
52        {

C:\Users\Daniel\BMP\main.cpp|51|error: 'class sf::RenderWindow' has no member named 'GetEvent'|

5
Graphics / Fastest way of drawing a matrix
« on: December 07, 2010, 02:15:35 am »
Let's say that I have a matrix of color values, each color represents a type of data that the CPU calculates and changes the matrix accordingly each frame. What is the fastest way to get this matrix to drawn on the screen as a sprite?

6
General / Can't run sfml applications
« on: November 25, 2010, 12:44:01 am »
I find myself almost out of idiot hill getting sfml2 to work only to find that some way in the last few days I broke sfml. Not only do applications I compile not run, some of the others I downloaded from the projects section wont run either. I copied a simple open window program that I made onto my laptop and it ran fine but on my development desktop it just opens a blank console window which has no text or cpu usage, the same for others. Any ideas?

7
General / Setting up sfml 2 and cmake with codeblocks
« on: November 24, 2010, 09:47:21 pm »
I have decided to move to sfml 2 but am stuck and getting cmake to work. With a new normal codeblocks install and new cmake 2.8 install can anyone explain how to get cmake to make the projects for mingw properly (i get a lot of errors trying to follow the guid in the tutorial section)

8
Graphics / Post Effects question
« on: November 21, 2010, 12:50:02 am »
Is it possible to have a post effect return a variable (other than pixel data) back to the program directly?

9
C / Strings giving exit error
« on: October 20, 2010, 04:38:51 am »
Code: [Select]
#include <SFML/Audio.h>
#include <SFML/Graphics.h>
#include <SFML/Config.h>
#include <SFML/Network/IPAddress.h>
#include <SFML/Network/SocketStatus.h>
#include <SFML/Network/Types.h>

 int main()
 {
    char Running = 1; // Hold boolean that says if we need to process a close
    int BackgroundRed = 55, BackgroundGreen = 238, BackgroundBlue = 0, mnMnuLoc = 1, gameState = 1; // Set initial color values, will likely be tiled image in future
    sfWindowSettings Settings = {32, 8, 2}; // Window settings
    sfVideoMode Mode = {800, 600, 32}; // Set render area and color depth

    // Prepare the SFML packages
    sfRenderWindow* App;
    sfImage* mnuLoadImage;
    sfSprite* mnuLoadSprite;
    sfFont* mnuFont;
    sfString* mnuText1;
    sfString* mnuText2;
    sfString* mnuText3;
    sfString* mnuText4;
    sfMusic* mnuMusic;
    sfEvent Event;

    // Create the main window
    App = sfRenderWindow_Create(Mode, "Fast Track Racers", sfResize | sfClose, Settings);
    sfWindow_UseVerticalSync(App, 1);

    // Load and play the menu music
    mnuMusic = sfMusic_CreateFromFile("Audio/Menu.ogg");
    sfMusic_SetLoop(mnuMusic, sfTrue);
    sfMusic_Play(mnuMusic);

    // Load a sprite to display
    mnuLoadImage = sfImage_CreateFromFile("Images/menu_Car.jpg");
    mnuLoadSprite = sfSprite_Create();
    sfSprite_SetImage(mnuLoadSprite, mnuLoadImage);
    sfSprite_SetPosition(mnuLoadSprite, 60, 100);

    // Load Main Menu Text
    mnuFont = sfFont_CreateFromFile("Fonts/arial.ttf", 50, NULL);
    mnuText1 = sfString_Create();
    mnuText2 = sfString_Create();
    mnuText3 = sfString_Create();
    mnuText4 = sfString_Create();
    sfString_SetPosition(mnuText1, 100, 100);
    sfString_SetPosition(mnuText2, 100, 150);
    sfString_SetPosition(mnuText3, 100, 200);
    sfString_SetPosition(mnuText4, 100, 250);
    sfString_SetText(mnuText1, "Single Player");
    sfString_SetText(mnuText2, "Multiplayer");
    sfString_SetText(mnuText3, "Options");
    sfString_SetText(mnuText4, "Exit");
    sfString_SetFont(mnuText1, mnuFont);
    sfString_SetFont(mnuText2, mnuFont);
    sfString_SetFont(mnuText3, mnuFont);
    sfString_SetFont(mnuText4, mnuFont);
    sfString_SetSize(mnuText1, 32);
    sfString_SetSize(mnuText2, 32);
    sfString_SetSize(mnuText3, 32);
    sfString_SetSize(mnuText4, 32);


    // Start the game loop
    while (sfRenderWindow_IsOpened(App))
    {
        // Process events
        while (sfRenderWindow_GetEvent(App, &Event))
        {
            switch(gameState)
            {
                case(0):
                    Running = 0;
                    break;
                case(1): // Main menu
                    if (Event.Type == sfEvtKeyPressed)
                    {
                            if(Event.Key.Code == sfKeyReturn && mnMnuLoc == 4)
                                gameState = 0;
                            if (Event.Key.Code == sfKeyUp)
                                mnMnuLoc--;
                            if (Event.Key.Code == sfKeyDown)
                                mnMnuLoc++;
                            if (Event.Key.Code == sfKeyEscape)
                                sfRenderWindow_Close(App);
                    }
            }

        }
        // Clear the screen
        sfRenderWindow_Clear(App, sfColor_FromRGB(BackgroundRed,BackgroundGreen,BackgroundBlue));
        switch(gameState)
        {
            case(0): // End the game
                sfRenderWindow_Close(App);
                break;
            case(1): // Main menu
                // Draw mnuString
                sfRenderWindow_DrawString(App, mnuText1);
                sfRenderWindow_DrawString(App, mnuText2);
                sfRenderWindow_DrawString(App, mnuText3);
                sfRenderWindow_DrawString(App, mnuText4);
                // Main Menu Handling
                if(mnMnuLoc<1)
                    mnMnuLoc = 4;
                if(mnMnuLoc>4)
                    mnMnuLoc = 1;
                switch(mnMnuLoc)
                {
                    case(1):
                        sfSprite_SetPosition(mnuLoadSprite, 60, 100);
                        break;
                    case(2):
                        sfSprite_SetPosition(mnuLoadSprite, 60, 150);
                        break;
                    case(3):
                        sfSprite_SetPosition(mnuLoadSprite, 60, 200);
                        break;
                    case(4):
                        sfSprite_SetPosition(mnuLoadSprite, 60, 250);
                        break;
                }
                // Draw the sprite
                sfRenderWindow_DrawSprite(App, mnuLoadSprite);
                break;
        }
        // Update the window
        sfRenderWindow_Display(App);
    }
    sfMusic_Destroy(mnuMusic);
    sfString_Destroy(mnuText1);
    sfString_Destroy(mnuText2);
    sfString_Destroy(mnuText3);
    sfString_Destroy(mnuText4);
    sfFont_Destroy(mnuFont);
    sfFont_Destroy(mnuFont);
    sfFont_Destroy(mnuFont);
    sfFont_Destroy(mnuFont);
    sfSprite_Destroy(mnuLoadSprite);
    sfImage_Destroy(mnuLoadImage);
    sfRenderWindow_Destroy(App);

    return EXIT_SUCCESS;
 }


can anyone explain why the text freezes the program on exit?

10
Window / How to use sf::Window::ShowMouseCursor(); properly?
« on: August 27, 2010, 10:55:32 pm »
I'm trying to find out where/how to use sf::Window::ShowMouseCursor(false) in my program to hide the mouse cursor but I keep getting an error:

Code: [Select]
error: cannot call member function 'void sf::Window::ShowMouseCursor(bool)' without object|

I've tried putting it everwhere in this section (this seems like the logical place but it gives the above error):
Code: [Select]

sf::RenderWindow App(sf::VideoMode::GetMode(0), "SFML", sf::Style::Fullscreen, sf::WindowSettings::WindowSettings ( 24, 8, 16));
    sf::Window::ShowMouseCursor(false);

Pages: [1]
anything