yaodema

Eventual artist

  • she/they

https://yaodema.com/


building the Hyperion setting, writing and drawing comics for that and others' worlds -- plus making tools for others to use for their own art!


Researchying (OOPs lore and other things)


I made that transformation hazard sign
(and self-replication too)


Zelda years old (1986)


spent the last couple of days taking the foundations of rendering and windowing code for my engine, swapping out winit and putting in sdl2 in place of it. takes a bit of a fight, but I eventually figure it all out.

found out resizing the window doesn't update the contents of the window continuously, something winit let me do practically out of the box. looks stupid. want it fixed.

spend many hours poring through documentation, working with one of my partners to help figure out what I'm missing in Rust code in general. several fights with the borrow checker, construction of part of a new event loop system running alongside sdl2's event pump. run the code, and... it still blocks on resizing the window or dragging it around on screen. because I tried to put the code for actually fixing the surface size and rendering it in the normal event loop, after the event queue ends, not realizing that it wasn't holding the events until the window drag ended, it was blocking execution on that thread entirely.

search around, finding out that this is just how sdl2 has been for over a decade, and the only workaround would be to finish making an alternative event loop that I was trying not to do, and flush the event queue regularly to make sure it doesn't get overflowed. which sounds like an absolute pain. before November of last year, it wouldn't even have been possible, without going into OS native APIs.

... sdl2 has outstayed its welcome. I'm putting winit back in my project.


You must log in to comment.

in reply to @yaodema's post:

Wow, I found the GitHub issue for this one and it is a trip. If you ever as a software maintainer find yourself arguing that the win32 api is incorrect in Windows you probably need to step back. Way back.

yeeeep, that was the point where I just went, "this isn't worth fighting the devs over." when they start acting like a thing every other window framework or app does is somehow impossible, and fight people over it, what do we even say?
[sound of dll being dunked in a trash bin]

Pinned Tags