Skip to content

Commit 5b9af44

Browse files
committed
feat: update raylib to 5.5
1 parent 7554408 commit 5b9af44

16 files changed

Lines changed: 18998 additions & 11110 deletions

CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ set(CMAKE_CXX_FLAGS_DEBUG "-g")
2323
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
2424

2525
# version doesn't seem to pick correct version
26-
#find_package(raylib 4.5 QUIET EXACT)
26+
#find_package(raylib 5.5 QUIET EXACT)
2727
if (NOT raylib_FOUND)
2828
include(FetchContent)
2929
FetchContent_Declare(
3030
raylib
3131
GIT_REPOSITORY https://github.com/raysan5/raylib.git
32-
GIT_TAG 4.5.0
32+
GIT_TAG 5.5
3333
GIT_SHALLOW TRUE
3434
)
3535
FetchContent_GetProperties(raylib)
@@ -75,7 +75,7 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
7575
SUFFIX ".node"
7676
)
7777

78-
target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_11)
78+
target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_23)
7979

8080
target_include_directories(${PROJECT_NAME} PUBLIC
8181
"${CMAKE_JS_INC}"

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
Tested only on ARM MacOS.
2+
13
![node-raylib Logo](logo/raylib-node_256x256.png)
24

35
# node-raylib [![npm version](http://img.shields.io/npm/v/raylib.svg)](https://npmjs.org/package/raylib "View this project on npm") [![Tests](https://github.com/RobLoach/node-raylib/workflows/Tests/badge.svg)](https://github.com/RobLoach/node-raylib/actions?query=workflow%3ATests+branch%3Amaster "See automated test status on GitHub Actions")

examples/core/core_2d_camera.js

Lines changed: 92 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,136 +1,158 @@
11
/*******************************************************************************************
2-
*
3-
* raylib [core] example - 2d camera
4-
*
5-
* This example has been created using raylib 1.5 (www.raylib.com)
6-
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
7-
*
8-
* Copyright (c) 2016 Ramon Santamaria (@raysan5)
9-
*
10-
********************************************************************************************/
2+
*
3+
* raylib [core] example - 2d camera
4+
*
5+
* This example has been created using raylib 1.5 (www.raylib.com)
6+
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
7+
*
8+
* Copyright (c) 2016 Ramon Santamaria (@raysan5)
9+
*
10+
********************************************************************************************/
1111

12-
const r = require('raylib')
12+
const r = require("../../index.js");
1313

14-
const MAX_BUILDINGS = 100
14+
const MAX_BUILDINGS = 100;
1515

1616
// Initialization
1717
// --------------------------------------------------------------------------------------
18-
const screenWidth = 800
19-
const screenHeight = 450
18+
const screenWidth = 800;
19+
const screenHeight = 450;
2020

21-
r.InitWindow(screenWidth, screenHeight, 'raylib [core] example - 2d camera')
21+
r.InitWindow(screenWidth, screenHeight, "raylib [core] example - 2d camera");
2222

23-
const player = r.Rectangle(400, 280, 40, 40)
24-
const buildings = []
25-
const buildColors = []
23+
const player = r.Rectangle(400, 280, 40, 40);
24+
const buildings = [];
25+
const buildColors = [];
2626

27-
let spacing = 0
27+
let spacing = 0;
2828

2929
for (let i = 0; i < MAX_BUILDINGS; i++) {
30-
const height = r.GetRandomValue(100, 800)
30+
const height = r.GetRandomValue(100, 800);
3131
const newBuilding = r.Rectangle(
3232
-6000 + spacing,
3333
screenHeight - 130 - height,
3434
r.GetRandomValue(50, 200),
3535
height
36-
)
37-
spacing += newBuilding.width
38-
buildings.push(newBuilding)
39-
buildColors.push(r.Color(r.GetRandomValue(200, 240), r.GetRandomValue(200, 240), r.GetRandomValue(200, 250), 255))
36+
);
37+
spacing += newBuilding.width;
38+
buildings.push(newBuilding);
39+
buildColors.push(
40+
r.Color(
41+
r.GetRandomValue(200, 240),
42+
r.GetRandomValue(200, 240),
43+
r.GetRandomValue(200, 250),
44+
255
45+
)
46+
);
4047
}
4148

4249
const camera = r.Camera2D(
4350
r.Vector2(screenWidth / 2, screenHeight / 2),
4451
r.Vector2(player.x + 20, player.y + 20),
45-
0, 1)
52+
0,
53+
1
54+
);
4655

47-
r.SetTargetFPS(60) // Set our game to run at 60 frames-per-second
56+
r.SetTargetFPS(60); // Set our game to run at 60 frames-per-second
4857
// --------------------------------------------------------------------------------------
4958

5059
// Main game loop
51-
while (!r.WindowShouldClose()) { // Detect window close button or ESC key
60+
while (!r.WindowShouldClose()) {
61+
// Detect window close button or ESC key
5262
// Update
5363
// ----------------------------------------------------------------------------------
5464
if (r.IsKeyDown(r.KEY_RIGHT)) {
55-
player.x += 2 // Player movement
56-
camera.offset.x -= 2 // Camera displacement with player movement
65+
player.x += 2; // Player movement
66+
camera.offset.x -= 2; // Camera displacement with player movement
5767
} else if (r.IsKeyDown(r.KEY_LEFT)) {
58-
player.x -= 2 // Player movement
59-
camera.offset.x += 2 // Camera displacement with player movement
68+
player.x -= 2; // Player movement
69+
camera.offset.x += 2; // Camera displacement with player movement
6070
}
6171

6272
// Camera target follows player
63-
camera.target = r.Vector2(player.x + 20, player.y + 20)
73+
camera.target = r.Vector2(player.x + 20, player.y + 20);
6474

6575
// Camera rotation controls
6676
if (r.IsKeyDown(r.KEY_A)) {
67-
camera.rotation--
77+
camera.rotation--;
6878
} else if (r.IsKeyDown(r.KEY_S)) {
69-
camera.rotation++
79+
camera.rotation++;
7080
}
7181

7282
// Limit camera rotation to 80 degrees (-40 to 40)
7383
if (camera.rotation > 40) {
74-
camera.rotation = 40
84+
camera.rotation = 40;
7585
} else if (camera.rotation < -40) {
76-
camera.rotation = -40
86+
camera.rotation = -40;
7787
}
7888

7989
// Camera zoom controls
80-
camera.zoom += r.GetMouseWheelMove() * 0.05
90+
camera.zoom += r.GetMouseWheelMove() * 0.05;
8191

82-
if (camera.zoom > 3) camera.zoom = 3
83-
else if (camera.zoom < 0.1) camera.zoom = 0.1
92+
if (camera.zoom > 3) camera.zoom = 3;
93+
else if (camera.zoom < 0.1) camera.zoom = 0.1;
8494

8595
// Camera reset (zoom and rotation)
8696
if (r.IsKeyPressed(r.KEY_R)) {
87-
camera.zoom = 1.0
88-
camera.rotation = 0
97+
camera.zoom = 1.0;
98+
camera.rotation = 0;
8999
}
90100
// ----------------------------------------------------------------------------------
91101

92102
// Draw
93103
// ----------------------------------------------------------------------------------
94-
r.BeginDrawing()
104+
r.BeginDrawing();
95105

96-
r.ClearBackground(r.RAYWHITE)
106+
r.ClearBackground(r.RAYWHITE);
97107

98-
r.BeginMode2D(camera)
108+
r.BeginMode2D(camera);
99109

100-
r.DrawRectangle(-6000, 320, 13000, 8000, r.DARKGRAY)
110+
r.DrawRectangle(-6000, 320, 13000, 8000, r.DARKGRAY);
101111

102112
for (let i = 0; i < MAX_BUILDINGS; i++) {
103-
r.DrawRectangleRec(buildings[i], buildColors[i])
113+
r.DrawRectangleRec(buildings[i], buildColors[i]);
104114
}
105115

106-
r.DrawRectangleRec(player, r.RED)
107-
108-
r.DrawLine(camera.target.x, -screenHeight * 10, camera.target.x, screenHeight * 10, r.GREEN)
109-
r.DrawLine(-screenWidth * 10, camera.target.y, screenWidth * 10, camera.target.y, r.GREEN)
110-
111-
r.EndMode2D()
112-
113-
r.DrawText('SCREEN AREA', 640, 10, 20, r.RED)
114-
115-
r.DrawRectangle(0, 0, screenWidth, 5, r.RED)
116-
r.DrawRectangle(0, 5, 5, screenHeight - 10, r.RED)
117-
r.DrawRectangle(screenWidth - 5, 5, 5, screenHeight - 10, r.RED)
118-
r.DrawRectangle(0, screenHeight - 5, screenWidth, 5, r.RED)
119-
120-
r.DrawRectangle(10, 10, 250, 113, r.Fade(r.SKYBLUE, 0.5))
121-
r.DrawRectangleLines(10, 10, 250, 113, r.BLUE)
122-
123-
r.DrawText('Free 2d camera controls:', 20, 20, 10, r.BLACK)
124-
r.DrawText('- Right/Left to move Offset', 40, 40, 10, r.DARKGRAY)
125-
r.DrawText('- Mouse Wheel to Zoom in-out', 40, 60, 10, r.DARKGRAY)
126-
r.DrawText('- A / S to Rotate', 40, 80, 10, r.DARKGRAY)
127-
r.DrawText('- R to reset Zoom and Rotation', 40, 100, 10, r.DARKGRAY)
128-
129-
r.EndDrawing()
116+
r.DrawRectangleRec(player, r.RED);
117+
118+
r.DrawLine(
119+
camera.target.x,
120+
-screenHeight * 10,
121+
camera.target.x,
122+
screenHeight * 10,
123+
r.GREEN
124+
);
125+
r.DrawLine(
126+
-screenWidth * 10,
127+
camera.target.y,
128+
screenWidth * 10,
129+
camera.target.y,
130+
r.GREEN
131+
);
132+
133+
r.EndMode2D();
134+
135+
r.DrawText("SCREEN AREA", 640, 10, 20, r.RED);
136+
137+
r.DrawRectangle(0, 0, screenWidth, 5, r.RED);
138+
r.DrawRectangle(0, 5, 5, screenHeight - 10, r.RED);
139+
r.DrawRectangle(screenWidth - 5, 5, 5, screenHeight - 10, r.RED);
140+
r.DrawRectangle(0, screenHeight - 5, screenWidth, 5, r.RED);
141+
142+
r.DrawRectangle(10, 10, 250, 113, r.Fade(r.SKYBLUE, 0.5));
143+
r.DrawRectangleLines(10, 10, 250, 113, r.BLUE);
144+
145+
r.DrawText("Free 2d camera controls:", 20, 20, 10, r.BLACK);
146+
r.DrawText("- Right/Left to move Offset", 40, 40, 10, r.DARKGRAY);
147+
r.DrawText("- Mouse Wheel to Zoom in-out", 40, 60, 10, r.DARKGRAY);
148+
r.DrawText("- A / S to Rotate", 40, 80, 10, r.DARKGRAY);
149+
r.DrawText("- R to reset Zoom and Rotation", 40, 100, 10, r.DARKGRAY);
150+
151+
r.EndDrawing();
130152
// ----------------------------------------------------------------------------------
131153
}
132154

133155
// De-Initialization
134156
// --------------------------------------------------------------------------------------
135-
r.CloseWindow() // Close window and OpenGL context
157+
r.CloseWindow(); // Close window and OpenGL context
136158
// --------------------------------------------------------------------------------------

package-lock.json

Lines changed: 9 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"name": "raylib",
3-
"version": "0.14.0",
4-
"description": "Node.js bindings for raylib.",
2+
"name": "@r1tsuu/raylib",
3+
"version": "0.15.0",
4+
"description": "Node.js bindings for raylib 5.5",
55
"main": "index.js",
66
"types": "src/generated/node-raylib.d.ts",
77
"scripts": {
@@ -22,7 +22,7 @@
2222
"gen:code": "node tools/generate.js",
2323
"gen:docs": "jsdoc2md > docs/API.md"
2424
},
25-
"repository": "github:RobLoach/node-raylib",
25+
"repository": "github:r1tsuu/node-raylib",
2626
"engines": {
2727
"node": ">=10"
2828
},
@@ -66,7 +66,7 @@
6666
"module-alias": "^2.2.2"
6767
},
6868
"devDependencies": {
69-
"@raylib/api": "~4.5.0",
69+
"@raylib/api": "5.5.0",
7070
"@vitest/ui": "^0.29.7",
7171
"archiver": "^5.3.1",
7272
"jsdoc-to-markdown": "^8.0.0",
@@ -78,5 +78,6 @@
7878
"files": [
7979
"src/generated/node-raylib.js"
8080
]
81-
}
81+
},
82+
"packageManager": "pnpm@9.15.1+sha512.1acb565e6193efbebda772702950469150cf12bcc764262e7587e71d19dc98a423dff9536e57ea44c49bdf790ff694e83c27be5faa23d67e0c033b583be4bfcf"
8283
}

0 commit comments

Comments
 (0)