Skip to content

Commit d9f27f4

Browse files
committed
Do not allow player to cross window borders.
1 parent 564fe2d commit d9f27f4

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

plugins/media/media.c

+13
Original file line numberDiff line numberDiff line change
@@ -1096,6 +1096,19 @@ void ctr_internal_media_image_calculate_motion(MediaIMG* m) {
10961096
m->x += dt * CtrMediaContactSurface->mov * cos(CtrMediaContactSurface->dir * M_PI / 180);
10971097
m->y -= dt * CtrMediaContactSurface->mov * sin(CtrMediaContactSurface->dir * M_PI / 180);
10981098
}
1099+
if (m == player && CtrMediaControlMode < 5) {
1100+
int xmin = 0;
1101+
int ymin = 0;
1102+
int xmax = windowWidth - (m->w/m->anims);
1103+
int ymax = windowHeight - (m->h);
1104+
if (m->x > xmax) m->x = xmax;
1105+
if (m->y > ymax) m->y = ymax;
1106+
if (m->x < xmin) m->x = xmin;
1107+
if (CtrMediaControlMode != 1 || !CtrMediaJump) {
1108+
// in platform games, players are allowed to jump 'out of vision' at the top
1109+
if (m->y < ymin) m->y = ymin;
1110+
}
1111+
}
10991112
}
11001113
}
11011114

0 commit comments

Comments
 (0)