-
-
Notifications
You must be signed in to change notification settings - Fork 158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
***DISCUSSION*** pygame-ce 3.0 API changes #2760
Comments
Old scrap is deprecated and new scrap only supports text. SDL3 supports a range of MIME types. IMO we should wrap the SDL3 clipboard API to replace scrap completely with fancy new code that isn't as bad as old scrap, and is more reliable than I remember old scrap being |
With pygame 3.0, I believe dropping the support of queuing a |
Things off the top of my head: Lots of deprecated could stuff could get removed. |
We should really think long and hard about locking and maybe deprecate a bunch of manual locking/unlocking in favour of enforcing with-statements. |
I think we should also drop returning rects/ rects lists in functions like blit/blits since it was a thing only as an optimization for display.update(), but as @MyreMylar found out, it's no longer relevant and isn't applicable in most if not all cases anymore. |
Possibly we could also make all alphablit algorithms no longer behave as SDL1 (which to be fair it's kinda weird). This should be investigated further but i suspect it could allow us to further optimize them. This could slightly change visual results but not by a huge margin, or at least not in common usecases. |
Consider a "quirks mode" or "pygame 1.9 compatibility flag" to support old textbooks. |
We could consider deprecating the whole sprite system and write a new one. |
Rename scale() to help indicate if it use scalar(s) or pixels.
|
How about allowing multiple windows created within one process? Or compatible with other interface packages like Tkinter? |
this won't have to wait for SDL 3.0.
This is unfortunately not in our hands, but it depends on implementation details of SDL, CPython, and Tk |
Thanks for your reply.
It seems that pygame can be used together with PyQt5 with some adjustments. There are some cases of using both. |
|
PyQt5 seems to have some problem on commerical use, maybe PySide6 is better. We can develop some default button, menu APIs with PySide6. |
Far out ideas:
|
will pygame-ce be switching to SDL3 when it releases? is this confirmed? |
That's the plan! Probably two release cycles for a while until the SDL3 stuff becomes stable, then the 2.x releases will stop eventually. SDL3 adoption isn't going to be a quick process though |
Fix line drawing so that the ends are actually right angles? |
Fix |
Looking at pygame-geometry floats are used by default for most shapes, so maybe for consistency's sake we should make |
Rework font API to be cleaner/more cohesive? |
Adding this here, credits to MyreMylar, we could remove the Edit starbuck: Link to this proposal: #2836 (comment) |
We could get rid of our hand rolled TGA saving support for pygame.image.save, since TGA isn't a common format these days. |
I've been looking through mixer a lot over the last couple days, we could stand to reevaluate a lot of defaults there. Like it defaults to only 8 playable sounds at once. Also the audio device setting defaults are weird. Another thing is that mixer.init()'s ALLOWED_CHANGES thing is weird. If a user explicitly asks for frequency=xyz, it's unintuitive they also need to pass another parameter flagging that as unallowed change. |
With SDL3 making large changes to it's audio system, it would be nice to see the pygame audio system updated to utilize the changes. Specifically the ability to have multiple music streams playing at once through |
That would be a nice improvement to utilize (although it would be challenging from an API perspective). But they haven't added that to SDL3_mixer, so there's nothing new to utilize with regards to multiple music streams. |
If SDL3 will be used by pygame 3, then in pygame 3 there should be the |
We should make this not allowed: Almost every piece of the API that takes a sequence of two numbers allows unlimited-depth tuple-ception, because they have a centralized implementation in pg_TwoIntsFromObj. |
I need Apple Metal api support that SDL3 have. Thats all I need to make myself happy |
Why do you need metal? What do you plan on doing? What does this have to do with SDL3, are there new SDL functions you’re referring to? |
Looks like SDL3 is going to add |
assuming pygame3=SDL3 as suggested by @ankith26, SDL_GetSystemTheme, can be adapted as Also, if this PR is merged and added to the new features, |
I'd love to see the following supported:
Maybe some of this already exists in some way shape or form. Just some ideas I had some easier said than done but long story short we should have more hooks/insertion points for custom functions and calls as well as finer grained control over some lower level things like hardware, events, timers, loaded files, and the main pygame objects themselves like Rects and Vectors. |
I would prefer to keep it, but you gave me another idea, what about turning some functions of
I'm not particularly a big fan of this proposal, Imo it should be to the user to implement this system with decorators.
This idea was mentionned last month, but currently we don't see its benefit as not many people play with 3D physics with pygame.
The idea is amazing, it would be written in python directly for example.
If I remember, there is someone who was working on loading gif files in pygame, I don't know the current work progress state.
Good question. |
Hi again community !
|
This is already done, no? |
Forgot to mention I'd like to see pygame.time.set_timer() support multiple events of the same type. I forget what exactly I was trying to do but it was along the lines of using the same event type but with different dict values and I was extremely disappointed when I couldn't do it. For a moment my name was big sad. |
Before that, yes, one could post events by id only. |
If my PR gets ever merged, posting by event objects would be possible. |
With the addition in SDL3 of Additionally, |
pygame 3 should also have the goal to
|
This is a tracker and discussion forum for API changes that we want to make when we are working on 3.x.x now that SDL3 is nearing prerelease (and thus release in the not-so-distant future). Want a piece of API gone or modified? Or maybe new API? Suggest it!
The text was updated successfully, but these errors were encountered: