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
_types.h
1#pragma once
2
3#include <cstddef>
4#include <cstdint>
5
6namespace njin {
9
12using i8 = std::int8_t;
13using i16 = std::int16_t;
14using i32 = std::int32_t;
15using i64 = std::int64_t;
17
20using u8 = std::uint8_t;
21using u16 = std::uint16_t;
22using u32 = std::uint32_t;
23using u64 = std::uint64_t;
25
28using f32 = float;
29using f64 = double;
31
34using usize = std::size_t;
35using isize = std::ptrdiff_t;
37
39struct vec2 {
42};
43
47struct vec3 {
51};
52
54struct vec4 {
59};
60
64struct rgba {
69};
70
80
86 u32 id = 0;
87};
88
94 u32 id = 0;
95};
96
102 u32 id = 0;
103};
104
110 u32 id = 0;
111};
112
117 u32 id = 0;
118};
119
124 u32 id = 0;
125};
126
132 u32 id = 0;
133};
134
140 u32 id = 0;
141};
142
147 u32 id = 0;
148};
149
154 u32 id = 0;
155};
156
161 u32 id = 0;
162};
163
168 u32 id = 0;
169};
170
175 u32 id = 0;
176};
177
182 u32 id = 0;
183};
184
189 u32 id = 0;
190};
191
197 u32 id = 0;
198};
199
203 u32 id = 0;
204};
205
210 u32 id = 0;
211};
212
216 u32 id = 0;
217};
218
223 u32 id = 0;
224};
225
230 u32 id = 0;
231};
232
237 u32 id = 0;
238};
239
244 u32 id = 0;
245};
246
251 u32 id = 0;
252};
253
260 u32 id = 0;
261 u32 gen = 0;
262};
263
271 u32 id = 0;
272 u32 gen = 0;
273};
274
279 u32 id = 0;
280};
281
287 u32 id = 0;
288};
289
294 u32 id = 0;
295};
296
301 u32 id = 0;
302};
303
308 u32 id = 0;
309};
310
315 u32 id = 0;
316};
317
323 u32 id = 0;
324};
325
331 u32 id = 0;
332};
333
334
335
338
342
343 // Letters
370
371 // Numbers
382
383 // Function keys
396
397 // Navigation
402
409
410 // General
416
422
423 // Symbols
435
436 // Modifiers
441
446
447 // Keypad
458
466
468};
469
471inline constexpr i32 gamepad_max = 4;
472
484
510
521
522} // namespace njin
constexpr i32 gamepad_max
Số tay cầm tối đa được theo dõi. Chỉ số tay cầm hợp lệ là 0..gamepad_max-1.
Definition _types.h:471
gamepad_button
Nút tay cầm, dùng với pad_pressed(), action_bind_pad() và các hàm liên quan.
Definition _types.h:489
gamepad_axis
Trục analog của tay cầm, dùng với pad_axis() và axis_bind_pad().
Definition _types.h:512
mouse_button
Nút chuột, dùng với mouse_pressed(), action_bind_mouse() và các hàm liên quan.
Definition _types.h:474
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
@ pad_face_left
Nút mặt trái (X trên Xbox, Vuông trên PlayStation).
Definition _types.h:498
@ pad_l2
Cò trái, đọc như nút.
Definition _types.h:500
@ pad_dpad_down
D-pad xuống.
Definition _types.h:493
@ pad_dpad_right
D-pad phải.
Definition _types.h:492
@ pad_r1
Nút vai phải.
Definition _types.h:501
@ pad_face_up
Nút mặt trên (Y trên Xbox, Tam giác trên PlayStation).
Definition _types.h:495
@ pad_left_thumb
Nhấn cần trái.
Definition _types.h:506
@ pad_none
Không có nút. Không hợp lệ khi bind hay truy vấn.
Definition _types.h:490
@ pad_face_down
Nút mặt dưới (A trên Xbox, Chéo trên PlayStation).
Definition _types.h:497
@ pad_l1
Nút vai trái.
Definition _types.h:499
@ gamepad_button_count
Số lượng nút tay cầm. Không phải một nút thật.
Definition _types.h:508
@ pad_dpad_up
D-pad lên.
Definition _types.h:491
@ pad_guide
Nút Guide / Home.
Definition _types.h:504
@ pad_r2
Cò phải, đọc như nút.
Definition _types.h:502
@ pad_face_right
Nút mặt phải (B trên Xbox, Tròn trên PlayStation).
Definition _types.h:496
@ pad_start
Nút Start / Menu.
Definition _types.h:505
@ pad_select
Nút Select / Back / Share.
Definition _types.h:503
@ pad_right_thumb
Nhấn cần phải.
Definition _types.h:507
@ pad_dpad_left
D-pad trái.
Definition _types.h:494
@ pad_axis_left_x
Cần trái, trục ngang (-1 là trái, 1 là phải).
Definition _types.h:513
@ gamepad_axis_count
Số lượng trục. Không phải một trục thật.
Definition _types.h:519
@ pad_axis_right_y
Cần phải, trục dọc.
Definition _types.h:516
@ pad_axis_left_y
Cần trái, trục dọc (-1 là lên, 1 là xuống).
Definition _types.h:514
@ pad_axis_left_trigger
Cò trái. Nghỉ ở -1, nhấn hết đọc 1.
Definition _types.h:517
@ pad_axis_right_x
Cần phải, trục ngang.
Definition _types.h:515
@ pad_axis_right_trigger
Cò phải. Nghỉ ở -1, nhấn hết đọc 1.
Definition _types.h:518
@ mouse_back
Nút lùi.
Definition _types.h:481
@ mouse_extra
Nút phụ.
Definition _types.h:479
@ mouse_side
Nút bên.
Definition _types.h:478
@ mouse_button_count
Số lượng nút chuột. Không phải một nút thật.
Definition _types.h:482
@ mouse_left
Chuột trái.
Definition _types.h:475
@ mouse_forward
Nút tiến.
Definition _types.h:480
@ mouse_right
Chuột phải.
Definition _types.h:476
@ mouse_middle
Chuột giữa (nhấn bánh xe).
Definition _types.h:477
@ key_kp_1
Bàn phím số: 1.
Definition _types.h:449
@ key_count
Số lượng mã phím. Không phải một phím thật.
Definition _types.h:467
@ key_comma
Dấu phẩy.
Definition _types.h:425
@ key_m
Phím M.
Definition _types.h:356
@ key_f4
Phím F4.
Definition _types.h:387
@ key_0
Phím 0 (hàng số).
Definition _types.h:372
@ key_p
Phím P.
Definition _types.h:359
@ key_1
Phím 1 (hàng số).
Definition _types.h:373
@ key_kp_divide
Bàn phím số: chia.
Definition _types.h:460
@ key_i
Phím I.
Definition _types.h:352
@ key_period
Dấu chấm.
Definition _types.h:427
@ key_left_super
Windows/Super trái.
Definition _types.h:440
@ key_kp_0
Bàn phím số: 0.
Definition _types.h:448
@ key_escape
Esc.
Definition _types.h:414
@ key_c
Phím C.
Definition _types.h:346
@ key_6
Phím 6 (hàng số).
Definition _types.h:378
@ key_kp_6
Bàn phím số: 6.
Definition _types.h:454
@ key_kp_multiply
Bàn phím số: nhân.
Definition _types.h:461
@ key_7
Phím 7 (hàng số).
Definition _types.h:379
@ key_f1
Phím F1.
Definition _types.h:384
@ key_apostrophe
Dấu nháy đơn.
Definition _types.h:424
@ key_slash
Dấu gạch chéo.
Definition _types.h:428
@ key_o
Phím O.
Definition _types.h:358
@ key_space
Phím cách.
Definition _types.h:411
@ key_z
Phím Z.
Definition _types.h:369
@ key_enter
Enter.
Definition _types.h:412
@ key_left_bracket
Ngoặc vuông trái.
Definition _types.h:431
@ key_u
Phím U.
Definition _types.h:364
@ key_right_super
Windows/Super phải.
Definition _types.h:445
@ key_right
Mũi tên phải.
Definition _types.h:401
@ key_kp_3
Bàn phím số: 3.
Definition _types.h:451
@ key_left_alt
Alt trái.
Definition _types.h:439
@ key_minus
Dấu trừ
Definition _types.h:426
@ key_backspace
Backspace.
Definition _types.h:415
@ key_f9
Phím F9.
Definition _types.h:392
@ key_up
Mũi tên lên.
Definition _types.h:398
@ key_f6
Phím F6.
Definition _types.h:389
@ key_kp_add
Bàn phím số: cộng.
Definition _types.h:463
@ key_end
End.
Definition _types.h:404
@ key_s
Phím S.
Definition _types.h:362
@ key_kp_equal
Bàn phím số: bằng.
Definition _types.h:465
@ key_f2
Phím F2.
Definition _types.h:385
@ key_4
Phím 4 (hàng số).
Definition _types.h:376
@ key_kp_enter
Bàn phím số: Enter.
Definition _types.h:464
@ key_delete
Delete.
Definition _types.h:408
@ key_k
Phím K.
Definition _types.h:354
@ key_q
Phím Q.
Definition _types.h:360
@ key_grave
Dấu huyền.
Definition _types.h:434
@ key_tab
Tab.
Definition _types.h:413
@ key_page_up
Page Up.
Definition _types.h:405
@ key_t
Phím T.
Definition _types.h:363
@ key_d
Phím D.
Definition _types.h:347
@ key_caps_lock
Caps Lock.
Definition _types.h:417
@ key_kp_4
Bàn phím số: 4.
Definition _types.h:452
@ key_a
Phím A.
Definition _types.h:344
@ key_left_control
Ctrl trái.
Definition _types.h:438
@ key_y
Phím Y.
Definition _types.h:368
@ key_right_control
Ctrl phải.
Definition _types.h:443
@ key_kp_subtract
Bàn phím số: trừ
Definition _types.h:462
@ key_insert
Insert.
Definition _types.h:407
@ key_f7
Phím F7.
Definition _types.h:390
@ key_kp_7
Bàn phím số: 7.
Definition _types.h:455
@ key_r
Phím R.
Definition _types.h:361
@ key_f
Phím F.
Definition _types.h:349
@ key_right_alt
Alt phải.
Definition _types.h:444
@ key_f12
Phím F12.
Definition _types.h:395
@ key_kp_8
Bàn phím số: 8.
Definition _types.h:456
@ key_b
Phím B.
Definition _types.h:345
@ key_f10
Phím F10.
Definition _types.h:393
@ key_equal
Dấu bằng.
Definition _types.h:430
@ key_semicolon
Dấu chấm phẩy.
Definition _types.h:429
@ key_kp_2
Bàn phím số: 2.
Definition _types.h:450
@ key_right_shift
Shift phải.
Definition _types.h:442
@ key_num_lock
Num Lock.
Definition _types.h:419
@ key_f5
Phím F5.
Definition _types.h:388
@ key_5
Phím 5 (hàng số).
Definition _types.h:377
@ key_w
Phím W.
Definition _types.h:366
@ key_j
Phím J.
Definition _types.h:353
@ key_n
Phím N.
Definition _types.h:357
@ key_f11
Phím F11.
Definition _types.h:394
@ key_3
Phím 3 (hàng số).
Definition _types.h:375
@ key_v
Phím V.
Definition _types.h:365
@ key_f8
Phím F8.
Definition _types.h:391
@ key_9
Phím 9 (hàng số).
Definition _types.h:381
@ key_none
Không có phím. Không hợp lệ khi bind hay truy vấn.
Definition _types.h:341
@ key_backslash
Dấu gạch chéo ngược.
Definition _types.h:432
@ key_h
Phím H.
Definition _types.h:351
@ key_l
Phím L.
Definition _types.h:355
@ key_pause
Pause/Break.
Definition _types.h:421
@ key_right_bracket
Ngoặc vuông phải.
Definition _types.h:433
@ key_x
Phím X.
Definition _types.h:367
@ key_kp_5
Bàn phím số: 5.
Definition _types.h:453
@ key_page_down
Page Down.
Definition _types.h:406
@ key_kp_9
Bàn phím số: 9.
Definition _types.h:457
@ key_f3
Phím F3.
Definition _types.h:386
@ key_g
Phím G.
Definition _types.h:350
@ key_kp_decimal
Bàn phím số: dấu thập phân.
Definition _types.h:459
@ key_left_shift
Shift trái.
Definition _types.h:437
@ key_home
Home.
Definition _types.h:403
@ key_down
Mũi tên xuống.
Definition _types.h:399
@ key_scroll_lock
Scroll Lock.
Definition _types.h:418
@ key_2
Phím 2 (hàng số).
Definition _types.h:374
@ key_left
Mũi tên trái.
Definition _types.h:400
@ key_8
Phím 8 (hàng số).
Definition _types.h:380
@ key_e
Phím E.
Definition _types.h:348
@ key_print_screen
Print Screen.
Definition _types.h:420
std::int64_t i64
Số nguyên có dấu 64 bit.
Definition _types.h:15
std::int16_t i16
Số nguyên có dấu 16 bit.
Definition _types.h:13
double f64
Số thực 64 bit.
Definition _types.h:29
std::uint8_t u8
Số nguyên không dấu 8 bit.
Definition _types.h:20
std::int32_t i32
Số nguyên có dấu 32 bit.
Definition _types.h:14
std::size_t usize
Số nguyên không dấu cỡ con trỏ, dùng cho kích thước và chỉ số.
Definition _types.h:34
std::uint64_t u64
Số nguyên không dấu 64 bit.
Definition _types.h:23
std::int8_t i8
Số nguyên có dấu 8 bit.
Definition _types.h:12
std::ptrdiff_t isize
Số nguyên có dấu cỡ con trỏ, dùng cho hiệu của hai chỉ số.
Definition _types.h:35
std::uint16_t u16
Số nguyên không dấu 16 bit.
Definition _types.h:21
float f32
Số thực 32 bit.
Definition _types.h:28
std::uint32_t u32
Số nguyên không dấu 32 bit.
Definition _types.h:22
Định danh của một action nhập liệu, tạo bởi action_register().
Definition _types.h:85
Định danh của một máy trạng thái animation, tạo bởi anim_graph_create().
Definition _types.h:330
Định danh của một sprite sheet có animation, tạo bởi anim_sheet_load() hoặc anim_sheet_grid().
Definition _types.h:322
Định danh của một atlas, tạo bởi atlas_create().
Definition _types.h:300
Định danh của một axis nhập liệu, tạo bởi axis_register().
Definition _types.h:93
Định danh của một body vật lý 3D, tạo bởi body3d_create().
Definition _types.h:160
Góc nhìn 2D đang được dùng để vẽ, lấy từ camera_active().
Definition _types.h:74
f32 zoom
Độ phóng đại. 1 là không phóng.
Definition _types.h:75
vec2 offset
Vị trí trên màn hình (pixel) nơi target được vẽ.
Definition _types.h:77
f32 rotation
Góc xoay tính bằng độ, theo chiều kim đồng hồ.
Definition _types.h:76
vec2 target
Điểm trong thế giới mà camera nhìn vào.
Definition _types.h:78
Định danh của một nhân vật vật lý 3D, tạo bởi character3d_create().
Definition _types.h:167
Định danh của một decal, tạo bởi decal3d_add().
Definition _types.h:259
u32 gen
Lần dùng thứ mấy của ô này.
Definition _types.h:261
Định danh của một font, tạo bởi font_load().
Definition _types.h:131
Định danh của một bộ đặt chân (IK chân chạm đất), tạo bởi foot3d_create().
Definition _types.h:215
Định danh của một thảm cỏ trên địa hình, tạo bởi grass3d_create().
Definition _types.h:243
Định danh của một khối lồi dùng để dò va chạm, tạo bởi physics3d_hull_create().
Definition _types.h:188
Định danh của một bộ đệm instance, tạo bởi instance_buffer_create().
Definition _types.h:109
Định danh của một khớp nối vật lý 3D, tạo bởi joint3d_create().
Definition _types.h:174
Định danh của một model 3D, tạo bởi model_load().
Definition _types.h:153
Định danh của một bản nhạc stream (music), tạo bởi music_load().
Definition _types.h:123
Định danh của một tác tử đi trên navmesh, tạo bởi nav3d_agent_add().
Definition _types.h:286
Định danh của một navmesh 3D, tạo bởi navmesh3d_create().
Definition _types.h:278
Định danh của một prefab, tạo bởi prefab_register().
Definition _types.h:314
Định danh của một ragdoll, tạo bởi ragdoll3d_create().
Definition _types.h:181
Định danh của một render texture, tạo bởi render_texture_load().
Definition _types.h:307
Định danh của một cách chép animation từ bộ xương này sang bộ xương khác, tạo bởi retarget3d_create()...
Definition _types.h:209
Màu gồm đỏ, xanh lá, xanh dương và alpha.
Definition _types.h:64
f32 r
Đỏ.
Definition _types.h:65
f32 a
Độ đục (0 = trong suốt, 1 = đục hoàn toàn).
Definition _types.h:68
f32 g
Xanh lá.
Definition _types.h:66
f32 b
Xanh dương.
Definition _types.h:67
Định danh của một lớp vật rải trên địa hình (đá, cây), tạo bởi scatter3d_create().
Definition _types.h:250
Định danh của một scene, tạo bởi scene_register().
Definition _types.h:139
Định danh của một shader, tạo bởi shader_load().
Definition _types.h:101
Định danh của một vật mềm (vải, bóng, khối cao su), tạo bởi softbody3d_create() hoặc cloth3d_create()...
Definition _types.h:196
Định danh của một âm thanh ngắn (sound), tạo bởi sound_load().
Definition _types.h:116
Định danh của một bộ xương lò xo (tóc, đuôi, áo choàng), tạo bởi spring3d_create().
Definition _types.h:202
Định danh của một địa hình, tạo bởi terrain3d_create().
Definition _types.h:229
Định danh của một texture, tạo bởi texture_load().
Definition _types.h:146
Vector 2 chiều. Dùng cho vị trí, kích thước, độ dời.
Definition _types.h:39
f32 y
Thành phần dọc (trong không gian màn hình, y tăng khi đi xuống).
Definition _types.h:41
f32 x
Thành phần ngang.
Definition _types.h:40
Vector 3 chiều.
Definition _types.h:47
f32 x
Thành phần thứ nhất.
Definition _types.h:48
f32 z
Thành phần thứ ba.
Definition _types.h:50
f32 y
Thành phần thứ hai.
Definition _types.h:49
Vector 4 chiều. Dùng để truyền giá trị vec4 vào uniform của shader.
Definition _types.h:54
f32 x
Thành phần thứ nhất.
Definition _types.h:55
f32 y
Thành phần thứ hai.
Definition _types.h:56
f32 z
Thành phần thứ ba.
Definition _types.h:57
f32 w
Thành phần thứ tư.
Definition _types.h:58
Định danh của một xe có bánh, tạo bởi vehicle3d_create().
Definition _types.h:222
Định danh của một video, mở bởi video_open().
Definition _types.h:293
Định danh của một tiếng đang phát trong không gian 3D, tạo bởi sound_play3d() hoặc sound_loop3d().
Definition _types.h:270
u32 gen
Lần dùng thứ mấy của ô này.
Definition _types.h:272
Định danh của một mặt nước (hồ, biển), tạo bởi water3d_create().
Definition _types.h:236