that the version number be bumped to 2.0. Secondly, why do you think
your needs are so important that it is worth breaking the semantics for
There’s a difference between “this is what I need” and “this may be a
better idea, why is it not done this way so future applications would be
cleaner?”.
Yes there is. I apparently came to the wrong conclusion about what you
were asking for.
I’ve already taken care of my needs, thank you. I skipped event
handling and got the gamepads to work by polling. And thanks for
suggesting the dummy video device; I’ve done a simple experiment and it
turns out joystick event handling still works. That in itself suggests
that event handling is NOT really tied to video as SDL’s handling of it
implies.
Again, you need to look at the source code. The SDL joystick code is
factored out of the rest of the event code. It is built in such away
that you that it is possible to get joystick events even when you can’t
get any other type of events. I don’t know if it was designed that way,
it just works that way.
Joysticks are treated as a special case because they so often are a
special case. For example, if the X server is properly configured using
the X input extension all input devices are handled by the server and
they all come to your application over the connection to the server and
are all tied tightly to the video systems. You can not get them unless
you have a window. But, X servers are rarely configured to handle
joysticks correctly so they have to be handled by a polling loop.
Windows does things differently. But, generally the joysticks are either
tied closely to the video system, or they are not.
So, what do you do if you want to have a portable consistent way of
handling joystick input? You make it all look like events even though it
may be polled. It is easy to make a polling loop push events on an event
queue.
In other words what you did does not prove what you think it does. It
tells you something about the way joysticks are implemented on the
machine you are working on. Try to take a global view.
You assume that I’m posting to this list because I want some other
developer to work on my needs.
Yes, I did think that. I came to that conclusion from what I read in
your messages. You apologized in the message title and I apologize for
misunderstanding you.
I’m not like that – I get my stuff done
and I have a track record of modifying open source applications to my
internal needs, even back when I was in the professional software
industry. On top of that, I’ve been working with SDL (not modifying it
directly until now, but I’ve been using it in all of my class-related
work and teaching duties) and I’ve extolled its virtues to all of my
students.
I also use SDL in my teaching my game programming class. What do you
teach, and where?
I joined this list primarily because I want to start contributing to the
project that I’ve benefitted from, and have some intelligent discussions
on its architecture with other developers so that it will become a
better system.
Good.
I didn’t expect to be flamed for asking a question which
is important in terms of SDL’s overall design (in the sense that it will
break stuff if ever it’s changed).
I am surprised to hear that you consider what I said to be a flame.
Honestly, I doubt you have ever seen a flame. I am absolutely serious
about that.
worked on. I, personally, am spending every spare second I have working
on features for 1.3. Making changes to SDL is not a trivial process. Sam
And I applaud you for that, but it’s bad for your health to assume that
just because you’re contributing a lot to the project means that
everyone else is just asking you to do stuff for them.
I made no such assumption. I was challenging you to justify what you
wanted. I put it in realistic terms.
Chill down, ok?
I just did half an hour of standing meditation plus some other Chi Kung
and some Tai Chi Chuan. I’m feeling very mellow right now. What do you
do to balance your life?
I know it’s not a trivial process. I know that a change this big will
break a lot of applications. That’s why I’m posting suggestions to this
list and see different viewpoints on SDL’s design. I haven’t given you
a reason to flame me either
Like I said, if you consider that a flame, you’ve never seen a flame.
– I just asked a question on why it’s done
like so, and that I don’t see why it has to be that way. I’m sorry it
ruffles your feathers.
Consider how many people tried to answer your questions. Why do you
think I spend time trying to answer peoples questions? Is it because I
like to be verbally abused for trying to point them at the correct
source of information?
I mean, look, I’m willing to contribute a lot to
this project, so please don’t scare me away.
If I read it right you are in Australia? And I am in Texas. What can I
possibly do to scare you? You can contribute to this project, even
become the biggest and most important developer on it and completely
ignore me. You can put me in your kill file and never see an email from
me again. I can also be a developer and completely ignore you.
is up to his eye balls with work. Between his day job, and being a new
father I am surprised you ever answers email.
Congrats to Sam, by the way.
Sounds like a great project. Set up CVS, down load the code, and start
working.
I already did a week ago (well, actually I grabbed the latest snapshot
because for some reason CVS doesn’t want to go past my firewall). And
I’ve been working on it even before I first posted here.
Good.
Before you make statements like that you need to look at the code and
think about how many different systems are supported by SDL. You admit
Similarly, before you imply that I’m not looking at the code, you should
be a bit more considerate when you post.
Grow a thicker skin. Seriously, I have no reason to abuse you. I have
done nothing that I consider to be abusive. The level of push back you
have received is trivial compared to a real design review or even a
water cooler technical discussion.
Not all of us can understand
other people’s code in lightspeed time. Or maybe that’s just me – I
admit I’m not a very good coder, but give me enough time and I can
actually do stuff. (Look, ma, no (win32) handles!)
Oh, here is where the real reason for your irritation comes out. I have
tripped into one of you major insecurities. Sorry about that. Remember,
reacting according to your insecurities is your problem and is
completely under you control. It isn’t my fault that I walked into this
part of your personality. Blaming me for your problem is not healthy.
Expecting me to act as if I know you have this problem is silly. I can
not read your mind.
You do need to be careful about posting such revealing personal
information in a public place. A capable flamer with a background in
psychology and a cruel streak can use this kind of information to
inflict serious psychological harm.
And again, I’m not telling people how it should be done – I’m asking
people here why it’s done one way when it seems more logical (okay, at
least to me, just so to be very clear on that) in another way.
And, we have been trying to answer your questions. Sometimes the correct
answer is UTSL “Use the source, Luke”. At this point you need to dive
into the source, and think about it from as global a point of view as
you can.
There are a few gotchas in the code. I spent several weeks wondering why
nothing worked until I noticed the macro definitions in SDL_sysvideo.c
#define SDL_VideoSurface (current_video->screen)
#define SDL_ShadowSurface (current_video->shadow)
#define SDL_PublicSurface (current_video->visible)
Those things make the code look really nice. I spent way to long
thinking that SDL_VideoSurface and friends was a global variable.
Similar macro tricks are used in the X11 code (where I am currently
working). It makes making some kinds of changes very tricky
It is a good idea to get to know the SDL_VideoDevice structure. Any API
that has anything to do with video will eventually dive through a vector
in that structure. You’ll notice that it has an entry for a system/video
specific PollEvent structure, but not for joysticks. If you want to see
where keyboard, mouse, and joystick events come together you need to
look at SDL_PumpEvents in SDL_events.c
Bob PendletonOn Tue, 2004-11-23 at 02:29, Eric Vidal wrote:
–
±-------------------------------------+