njin
Engine 2D gọn nhẹ để tự tay làm game theo ý mình. Vibe coding cũng ổn luôn
Loading...
Searching...
No Matches
njin_cfg.h
1#pragma once
2#include "_types.h"
3
4namespace njin {
5struct context;
6
9
11struct config {
12 const char *title;
17 rgba clear_bg_color = { .r = 1.0, .g = 1.0, .b = 1.0, .a = 1.0 };
19 f32 fixed_hz = 60.0f;
24 bool resizable = false;
26 const char *app_name = nullptr;
32 bool integer_scale = true;
36 bool vsync = false;
42 bool crisp_text = true;
51 bool smooth_ui = false;
70};
71
78f32 fps(const context &ctx);
79
89vec2 screen_size(const context &ctx);
91}
f32 fps(const context &ctx)
Trả về FPS mục tiêu đã cấu hình (target_fps).
vec2 screen_size(const context &ctx)
Trả về kích thước màn hình mà game vẽ lên, tính bằng pixel.
key_code
Mã phím bàn phím, dùng với key_pressed(), action_bind_key() và các hàm liên quan.
Definition _types.h:340
@ key_escape
Esc.
Definition _types.h:414
std::int32_t i32
Số nguyên có dấu 32 bit.
Definition _types.h:14
float f32
Số thực 32 bit.
Definition _types.h:28
Cấu hình cửa sổ và vòng lặp, truyền vào create().
Definition njin_cfg.h:11
key_code exit_key
Phím đóng game ngay lập tức.
Definition njin_cfg.h:22
rgba clear_bg_color
Màu nền xóa mỗi frame. Mặc định là trắng.
Definition njin_cfg.h:17
f32 target_fps
FPS mục tiêu của vòng lặp.
Definition njin_cfg.h:15
bool smooth_ui
Vẽ giao diện ở độ phân giải thật của cửa sổ, cho UI mịn.
Definition njin_cfg.h:51
f32 width
Chiều rộng cửa sổ (pixel).
Definition njin_cfg.h:13
bool crisp_text
Vẽ chữ ở độ phân giải thật của cửa sổ khi máy có GPU thật, để chữ nét ở mọi cỡ cửa sổ (mặc định bật).
Definition njin_cfg.h:42
bool vsync
Đồng bộ dọc: mỗi frame chờ màn hình làm tươi xong mới hiện, nên không xé hình và GPU,...
Definition njin_cfg.h:36
f32 height
Chiều cao cửa sổ (pixel).
Definition njin_cfg.h:14
bool integer_scale
Với độ phân giải ảo: chỉ phóng theo bội số nguyên (mọi pixel ảo to bằng nhau), phần thừa của cửa sổ l...
Definition njin_cfg.h:32
const char * title
Tiêu đề cửa sổ.
Definition njin_cfg.h:12
i32 render_scale
Khử răng cưa bằng supersampling: thế giới và giao diện được vẽ ở độ phân giải gấp render_scale lần (t...
Definition njin_cfg.h:69
const char * app_name
Tên thư mục lưu game, xem save_path(). Để trống thì dùng title.
Definition njin_cfg.h:26
vec2 virtual_size
Độ phân giải ảo, ví dụ {320, 180} cho pixel art.
Definition njin_cfg.h:29
bool resizable
Cho phép người dùng kéo đổi kích thước cửa sổ.
Definition njin_cfg.h:24
f32 fixed_hz
Số lần phase_fixed_update chạy mỗi giây. Mặc định 60.
Definition njin_cfg.h:19
Màu gồm đỏ, xanh lá, xanh dương và alpha.
Definition _types.h:64
Vector 2 chiều. Dùng cho vị trí, kích thước, độ dời.
Definition _types.h:39