@@ -1057,7 +1057,9 @@ void ctr_internal_media_image_calculate_motion(MediaIMG* m) {
1057
1057
m -> gspeed = 0 ;
1058
1058
}
1059
1059
if (m -> mov > 0 && m -> dir > -1 ) {
1060
+ if (m -> x != m -> tx )
1060
1061
m -> x += dt * m -> mov * cos (m -> dir * M_PI / 180 );
1062
+ if (m -> y != m -> ty )
1061
1063
m -> y -= dt * m -> mov * sin (m -> dir * M_PI / 180 );
1062
1064
// an image reaches its destination if the destination falls between
1063
1065
// this step and the previous one (i.e. tx is between ox and x and ty
@@ -1404,18 +1406,22 @@ ctr_object* ctr_media_screen(ctr_object* myself, ctr_argument* argumentList) {
1404
1406
if (ctr_internal_media_mouse_down (event )) return CtrStdFlow ;
1405
1407
break ;
1406
1408
case SDL_FINGERDOWN :
1407
- if (event .tfinger .x * windowWidth > player -> x ) {
1408
- ctr_internal_media_keydown_right (& dir );
1409
- }
1410
- else if (event .tfinger .x * windowWidth < player -> x - (player -> w /player -> anims )) {
1411
- ctr_internal_media_keydown_left (& dir );
1412
- }
1413
- if (event .tfinger .y * windowHeight > player -> y - player -> h ) {
1414
- ctr_internal_media_keydown_down (& dir , & c4speed );
1415
- }
1416
- else if (event .tfinger .y * windowHeight < player -> y - player -> h ) {
1417
- ctr_internal_media_keydown_up (& dir , & c4speed );
1409
+ if (event .tfinger .y > 0.75 ) {
1410
+ if (event .tfinger .x < 0.1 ) {
1411
+ ctr_internal_media_keydown_left (& dir );
1412
+ }
1413
+ if (event .tfinger .x > 0.1 && event .tfinger .x < 0.2 ) {
1414
+ ctr_internal_media_keydown_right (& dir );
1415
+ }
1418
1416
}
1417
+ if (event .tfinger .x > 0.9 ) {
1418
+ if (event .tfinger .y > 0.8 ) {
1419
+ ctr_internal_media_keydown_down (& dir , & c4speed );
1420
+ }
1421
+ if (event .tfinger .y < 0.8 && event .tfinger .y > 0.5 ) {
1422
+ ctr_internal_media_keydown_up (& dir , & c4speed );
1423
+ }
1424
+ }
1419
1425
break ;
1420
1426
case SDL_FINGERUP :
1421
1427
ctr_internal_media_keyup_right (& dir , & c4speed );
@@ -3101,7 +3107,7 @@ void ctr_internal_media_init() {
3101
3107
#ifdef FULLSCREEN
3102
3108
CtrMediaWindow = SDL_CreateWindow ("Citrine" , SDL_WINDOWPOS_CENTERED , SDL_WINDOWPOS_CENTERED , 100 , 100 , SDL_WINDOW_OPENGL | SDL_WINDOW_FULLSCREEN );
3103
3109
#else
3104
- CtrMediaWindow = SDL_CreateWindow ("Citrine" , SDL_WINDOWPOS_CENTERED , SDL_WINDOWPOS_CENTERED , 100 , 100 , SDL_WINDOW_OPENGL );
3110
+ CtrMediaWindow = SDL_CreateWindow ("Citrine" , SDL_WINDOWPOS_CENTERED , SDL_WINDOWPOS_CENTERED , 100 , 100 , SDL_WINDOW_OPENGL | SDL_WINDOW_FULLSCREEN_DESKTOP );
3105
3111
#endif
3106
3112
if (CtrMediaWindow == NULL ) ctr_internal_media_fatalerror ("Unable to create window" , SDL_GetError ());
3107
3113
CtrMediaFlagSoftwareVSync = 0 ;
0 commit comments