Commit graph

14 commits

Author SHA1 Message Date
Gered 2e57311fe0 try to clean up module 'use' stuff with new prelude modules
though i am not sure how good an idea my approach was with a bunch of
intermediate preludes. i was thinking it might be nice to be able to
only pick out the preludes that you wanted (if not all), but ... would
i ever really need to do that? somehow i am thinking, no, but i will
give it some more thought
2023-03-09 19:10:11 -05:00
Gered 986a2a9677 make fonts generic over GeneralBitmap types
this also includes a semi-important change where the existing
BitmaskCharacter draw implementation will now not draw anything if
FontRenderOpts::None is passed in, instead of just substituting color 0.

this probably makes more sense this way anyway
2023-03-09 16:20:44 -05:00
Gered aab19ba6b3 moved indexed (256 colour) graphics stuff into new "indexed" module
in preparation for adding 32-bit graphics stuff, i want to keep things
separate using modules
2023-03-08 14:16:54 -05:00
Gered 9e06a13c6d move vsync and target_framerate options back into System
since i realized there is an SDL hint that can be used to toggle this

the reason why the rust-sdl "Canvas" struct (which abstracts an
"SDL_Renderer") is not being created in System directly (which would
allow vsync to be toggled on/off via System directly without the use of
a hint) is because not all future SystemResource implementations will
need it (e.g. a future OpenGL implementation definitely won't).
2023-03-07 17:33:42 -05:00
Gered f1c04d85e3 move video, audio and input to new SystemResources trait/structs
System now uses a generic SystemResources structure to provide video,
audio and input devices

the DosLike implementation of SystemResources provides the same
functionality that this library has had to date.

this change is to prepare for future addition of things like 32-bit
Bitmap support and other possible audio device implementations, etc.
the idea is a custom SystemResources implementation can be substituted
in to configure everything with the desired functionality.
2023-03-07 16:46:16 -05:00
Gered 58340c03fe rename from libretrogd to ggdt
i'll admit i never totally liked the name "libretrogd"
2023-03-02 16:11:59 -05:00
Gered eb6a363afd formatting
note that i'm intentionally not using rustfmt. i've tried to like that
tool, but in the end i just really don't like it. too many edge cases
and subjectivity and not enough customization. which is probably the
intent. which makes me hate it that much more. fuck you, rustfmt.
2023-03-02 15:10:27 -05:00
Gered f2f7ae5dee update examples with new input device and main loop event handling stuff 2023-02-27 14:51:55 -05:00
Gered b010c044ef remove explicit sdl2 dependency from example apps
they all still depend on sdl2 through the libretrogd dependency, but
the benefit is that future sdl2 version updates are much easier to
accomplish for most apps, since only libretrogd needs to be updated
(in theory).
2023-01-18 17:04:25 -05:00
Gered 592be161c3 update example apps to not use sdl2 event types 2023-01-18 17:03:21 -05:00
Gered 7c568fd09d update to a more recent version of sdl2. only tested on linux for now
0.35.2 is the latest version available via cargo right now, and that
version has some issues building for me that have been resolved in
subsequent commit(s). for some reason the maintainers have not pushed
a new version of sdl2 to cargo for quite some time despite numerous
fixes and updates being available ...? bah!

also the current sdl2 `features` set will probably only work for linux
builds. i will try to work out windows + mac build issues shortly
2023-01-18 13:30:25 -05:00
Gered 66bf1e40cc pin anyhow and thiserror versions
due to encountering some compile errors on a fresh system which pulled
down the newest minor versions of both. these two libraries do not seem
to follow "good" semantic versioning ... ? ugh. will try to work out
the compiler issues with the latest versions of these later ...
2023-01-18 13:26:53 -05:00
Gered bc03961a49 bitmap font/char rendering now requires a FontRenderOpts
this is more flexible for future font types, which may not require
only a simple u8 color value (e.g. bitmap fonts)
2022-05-27 17:52:23 -04:00
Gered 0afc7e822a add template_minimal example 2022-05-26 18:43:22 -04:00