a32b53f4d6
* Add better structure for build.zig Temporarily disabled the tests * Cleanup build.zig a bit * Fixed zemscripten and cleanup other platforms * Make opengl_version selection more restritive * Add traslateC to build; Renable examples * Add raygui build to build.zig * Deny glfw from android target * Fix android platform includes * Add Zig project example * Add Zig project mention to README * Set right name for web build in zig example * Cleanup last parts of build.zig * Add linking method for build.zig * Fix lshcore link for glfw and rgfw build.zig * Fix weird sdl linkage build.zig * Add zig example to zig project * Fix win32, mac build bugs in build.zig * Rename argument lshcore to shcore build.zig
74 lines
3.1 KiB
Zig
74 lines
3.1 KiB
Zig
//*******************************************************************************************
|
|
//*
|
|
//* raylib [core] example - Basic window (adapted for HTML5 platform)
|
|
//*
|
|
//* This example is prepared to compile for PLATFORM_WEB and PLATFORM_DESKTOP
|
|
//* As you will notice, code structure is slightly different to the other examples...
|
|
//* To compile it for PLATFORM_WEB just uncomment #define PLATFORM_WEB at beginning
|
|
//*
|
|
//* This example has been created using raylib 6.0 (www.raylib.com)
|
|
//* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
|
|
//*
|
|
//* Copyright (c) 2015 Ramon Santamaria (@raysan5)
|
|
//* Rewrite in Zig by HaxSam (@haxsam)
|
|
//*
|
|
//*******************************************************************************************
|
|
|
|
const rl = @import("raylib");
|
|
const std = @import("std");
|
|
const builtin = @import("builtin");
|
|
|
|
//----------------------------------------------------------------------------------
|
|
// Global Variables Definition
|
|
//----------------------------------------------------------------------------------
|
|
const screenWidth: c_int = 800;
|
|
const screenHeight: c_int = 450;
|
|
|
|
//----------------------------------------------------------------------------------
|
|
// Program main entry point
|
|
//----------------------------------------------------------------------------------
|
|
pub fn main() void {
|
|
// Initialization
|
|
//--------------------------------------------------------------------------------------
|
|
rl.InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window");
|
|
|
|
if (builtin.os.tag == .emscripten) {
|
|
std.os.emscripten.emscripten_set_main_loop(UpdateDrawFrame, 0, 1);
|
|
} else {
|
|
rl.SetTargetFPS(60); // Set our game to run at 60 frames-per-second
|
|
//--------------------------------------------------------------------------------------
|
|
|
|
// Main game loop
|
|
while (!rl.WindowShouldClose()) // Detect window close button or ESC key
|
|
{
|
|
UpdateDrawFrame();
|
|
}
|
|
}
|
|
|
|
// De-Initialization
|
|
//--------------------------------------------------------------------------------------
|
|
rl.CloseWindow(); // Close window and OpenGL context
|
|
//--------------------------------------------------------------------------------------
|
|
}
|
|
|
|
//----------------------------------------------------------------------------------
|
|
// Module Functions Definition
|
|
//----------------------------------------------------------------------------------
|
|
fn UpdateDrawFrame() callconv(.c) void {
|
|
// Update
|
|
//----------------------------------------------------------------------------------
|
|
// TODO: Update your variables here
|
|
//----------------------------------------------------------------------------------
|
|
|
|
// Draw
|
|
//----------------------------------------------------------------------------------
|
|
rl.BeginDrawing();
|
|
|
|
rl.ClearBackground(rl.RAYWHITE);
|
|
|
|
rl.DrawText("Congrats! You created your first window!", 190, 200, 20, rl.LIGHTGRAY);
|
|
|
|
rl.EndDrawing();
|
|
//----------------------------------------------------------------------------------
|
|
}
|