Compare commits

...

3 Commits

Author SHA1 Message Date
kayomn 95f48b28c7 Fix compilation error when calling runGraphics
continuous-integration/drone/push Build is passing Details
2022-10-04 14:20:32 +01:00
kayomn d6fad7288d Fix Zig errors appearing as GCC errors in VS Code 2022-10-04 14:19:34 +01:00
kayomn 28e61f846a Improve clarity of SDL2_WaitThread behavior comment 2022-10-04 13:54:17 +01:00
3 changed files with 6 additions and 6 deletions

2
.vscode/tasks.json vendored
View File

@ -23,7 +23,7 @@
}, },
"problemMatcher": { "problemMatcher": {
"source": "gcc", "source": "zig",
"owner": "cpptools", "owner": "cpptools",
"fileLocation": [ "fileLocation": [

View File

@ -11,7 +11,7 @@ const sys = @import("./sys.zig");
/// Entry point. /// Entry point.
/// ///
pub fn main() anyerror!void { pub fn main() anyerror!void {
return sys.runGraphics(anyerror, run); return nosuspend sys.runGraphics(anyerror, run);
} }
test { test {

View File

@ -108,8 +108,8 @@ pub const EventLoop = opaque {
{ {
var status = @as(c_int, 0); var status = @as(c_int, 0);
// SDL2 defines waiting on a null thread reference as a no-op. // SDL2 defines waiting on a null thread reference as a no-op. See
// https://wiki.libsdl.org/SDL_WaitThread // https://wiki.libsdl.org/SDL_WaitThread for more information
ext.SDL_WaitThread(implementation.file_system_thread, &status); ext.SDL_WaitThread(implementation.file_system_thread, &status);
if (status != 0) { if (status != 0) {
@ -616,13 +616,13 @@ pub const GraphicsContext = opaque {
/// ///
/// ///
pub fn GraphicsRunner(comptime Errors: type) type { pub fn GraphicsRunner(comptime Errors: type) type {
return fn (*EventLoop, *GraphicsContext) Errors!void; return fn (*EventLoop, *GraphicsContext) callconv(.Async) Errors!void;
} }
/// ///
/// ///
/// ///
pub fn runGraphics(comptime Errors: anytype, run: GraphicsRunner(Errors)) Errors!void { pub fn runGraphics(comptime Errors: anytype, comptime run: GraphicsRunner(Errors)) Errors!void {
if (ext.SDL_Init(ext.SDL_INIT_EVERYTHING) != 0) { if (ext.SDL_Init(ext.SDL_INIT_EVERYTHING) != 0) {
ext.SDL_LogCritical(ext.SDL_LOG_CATEGORY_APPLICATION, "Failed to initialize runtime"); ext.SDL_LogCritical(ext.SDL_LOG_CATEGORY_APPLICATION, "Failed to initialize runtime");