14
14
********************************************************************************************/
15
15
16
16
#include "raylib.h"
17
+ #define RAYMATH_IMPLEMENTATION
17
18
#include "raymath.h"
18
19
19
20
void raylib_js_set_entry (void (* entry )(void ));
@@ -81,6 +82,16 @@ void UpdateCameraPlayerBoundsPush(Camera2D *camera, Player *player, EnvItem *env
81
82
"Follow player center horizontally; update player center vertically after landing" ,
82
83
"Player push camera on getting too close to screen edge"
83
84
};
85
+
86
+ //custom MATH funcitons
87
+ float myfminf (float a , float b ) {
88
+ if (b < a ) return b ;
89
+ return a ;
90
+ }
91
+ float myfmaxf (float a , float b ) {
92
+ if (b > a ) return b ;
93
+ return a ;
94
+ }
84
95
85
96
void GameFrame () {
86
97
@@ -232,10 +243,10 @@ void UpdateCameraCenterInsideMap(Camera2D *camera, Player *player, EnvItem *envI
232
243
for (int i = 0 ; i < envItemsLength ; i ++ )
233
244
{
234
245
EnvItem * ei = envItems + i ;
235
- minX = fminf (ei -> rect .x , minX );
236
- maxX = fmaxf (ei -> rect .x + ei -> rect .width , maxX );
237
- minY = fminf (ei -> rect .y , minY );
238
- maxY = fmaxf (ei -> rect .y + ei -> rect .height , maxY );
246
+ minX = myfminf (ei -> rect .x , minX );
247
+ maxX = myfmaxf (ei -> rect .x + ei -> rect .width , maxX );
248
+ minY = myfminf (ei -> rect .y , minY );
249
+ maxY = myfmaxf (ei -> rect .y + ei -> rect .height , maxY );
239
250
}
240
251
241
252
Vector2 max = GetWorldToScreen2D ((Vector2 ){ maxX , maxY }, * camera );
@@ -259,7 +270,7 @@ void UpdateCameraCenterSmoothFollow(Camera2D *camera, Player *player, EnvItem *e
259
270
260
271
if (length > minEffectLength )
261
272
{
262
- float speed = fmaxf (fractionSpeed * length , minSpeed );
273
+ float speed = myfmaxf (fractionSpeed * length , minSpeed );
263
274
camera -> target = Vector2Add (camera -> target , Vector2Scale (diff , speed * delta /length ));
264
275
}
265
276
}
0 commit comments