Well, SFML is annoying.

Pages: 1234
So there was all this hype about 2.0, so I switched over. Nothing but issues. First I was having this odd bug with sf::Text, so I just got rid of that. Didn't really need it. Now I was just playing around with the new shape classes, and they don't even work. Can't get a single shape to display.

Is it just me, or do libraries suck? I preferred using DirectX over this crap. At least there I have control over what is happening.
And maybe I've been spoiled here, but the community over there seems to be filled with a bunch of ass hats. I can't just ask a simple question without having my intelligence questioned, like everybody is just supposed to know the ins and outs of that damn library.

I don't tend to ask questions unless I've thoroughly read documentation and other sources, so I don't understand where they come from with their full-blown narcissistic attitude.
What is it with you and SFML-related posts? I have come to know about it through you.

Keep it going, I am enjoying these posts :D
Well this isn't a very productive post. I'm happy to help with sfml issues when I can. But you don't seem to be posting what your issues are... just complaining about them. Maybe this would be better to go in the lounge? ;P

Anyway I'm sure the Shape classes work. You're probably just using them wrong.

Is it just me, or do libraries suck?


It's just you. Also DirectX is a library. Also you have control over what's happening in SFML too.

EDIT: also if you don't like SFML's graphic interface, you can use OpenGL directly. Just use SFML for easier texture loading and window management. OpenGL is very similar to DirectX so you might feel more at home there.

And maybe I've been spoiled here, but the community over there seems to be filled with a bunch of ass hats.


Can't comment on that as I don't really know anyone there. I posted a few times back when I was trying to work on an indie project, but I sort of fell out once I realized I didn't have time for it =x
Last edited on
I've had some bad luck with SFML haha
I once pointed out that the Vector template classes use equality/inequality operations on components, in the case that the naive user may use Vector2<float>. And not a single "thank you, will fix" was given that day, rather "it's fine as it is". So it seems their mentality hasn't changed much since then.

Anyway, I would suggest Delta3D (which is really a shooter engine), but I don't want to be a hypocrite since I couldn't learn to use it myself.
I somewhat agree with them on the Vector2<float> issue. The vector class should be comparable (nothing wrong with it for Vector2<int>, for example). It's not a problem with Vector2, but with float. And building a generalized template class so that it's geared towards only two types in particular kind of defeats the point of making it a template.

I suppose a compromise solution would be to specialize the template for float, double, and long double... but that seems excessive for side-stepping an issue that's rooted in the core functionality of the C++ language.
SFML was written in C++, mainly for use in C++ projects.
So if there is "an issue that's rooted in the core functionality of the C++ language", they had better side-step it.
Last edited on
Well the thing is you're asking that they add functionality to forbid something that the language specifically allows. It's kind of backwards.

Besides... the == operator isn't pure evil. It can even be useful even with floating points. You might use a vector as a sentinel and you would want to compare it with ==, or something similar.
Last edited on
Well the thing is you're asking that they add functionality to forbid something that the language specifically allows. It's kind of backwards.

You're right. I guess the chances of operator== and operator!= blowing up in the user's face are quite low. Because what can you do, as a library developer? It's better letting the user handle it.

Besides... the == operator isn't pure evil. It can even be useful even with floating points. You might use a vector as a sentinel and you would want to compare it with ==, or something similar.

I never thought of that, thanks. I knew there had to be a good reason for the way those operators are written as they are, but I could never figure it out on my own.
Wow, ha ha: http://cplusplus.com/forum/unices/74881/


That is pretty great.

I've got a topic up at SFML about my current issue, and I can't believe how many people will respond with the same thing. It's like they don't even read the thread. -_-
I just saw your thread, and they're not as cannibalistic as you imply they are. You, on the other hand, seem to be a bit hostile. But I like that attitude, because I dislike SFML.

And I checked the current Vector templates, that issue is still not fixed.
The shape code you posted on the sfml forum works for me. Are you getting any errors?
I get no errors, just doesn't display anything.
Since you're all talking about this problem... how about posting the problem here (or linking to the therad on the sfml forums) so I can know what you're talking about?
Ah will do Disch, I didn't actually intend on discussing the problem here. Just wanted to vent :D Here's the link though:

http://en.sfml-dev.org/forums/index.php?topic=8530.0
Really the only thing I can think of is if you're not setting up the rendering window properly. What's the code for your initialization?
Thanks. I'll try this out when I get home from work.
Can you try this
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <SFML/Graphics.hpp>

int main()
{
    // Create the main window
    sf::RenderWindow window(sf::VideoMode(800, 600), "SFML window");
    
    sf::CircleShape ball;
    ball.setRadius(250);
    ball.setFillColor(sf::Color::Red);
    ball.setOutlineColor(sf::Color::Red);

    // Start the game loop
    while (window.isOpen())
    {
        // Process events
        sf::Event event;
        while (window.pollEvent(event))
        {
            // Close window : exit
            if (event.type == sf::Event::Closed)
			{
                window.close();			 
			}
        }
	if(sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))
	{
	
		window.close();
	}
	window.clear();
	window.draw(ball);
        window.display();
    }
	
    return EXIT_SUCCESS;
}
Last edited on
Pages: 1234