LINUX.ORG.RU

История изменений

Исправление Dron, (текущая версия) :

Компилируй, запускай и смотри в каком месте ступор у тебя, так как хрен его знает чего у тебя тут не так ::)

while(!quit)
{
    printf("step_1\n");
    unsigned int ticks;
    ticks = SDL_GetTicks();
    printf("step_2\n");
    while(SDL_PollEvent(&event))
    {
        printf("step_3\n");
        switch (event.type)
        {
        case SDL_QUIT:
        {
            quit = 1;
        }
        break;
        case SDL_MOUSEBUTTONDOWN:
        {
            if (event.button.button == SDL_BUTTON_LEFT)
            {
                printf("step_4\n");
                map_open(event.button.x, event.button.y);
                printf("step_5\n");
                map_draw();
                printf("step_6\n");
            }
            else if (event.button.button == SDL_BUTTON_RIGHT)
            {
                printf("step_7\n");
                map_set_flag(event.button.x, event.button.y);
                printf("step_8\n");
                map_draw();
                printf("step_9\n");
            }
        }
        break;
        }
    }
    printf("step_10\n");
    if((SDL_GetTicks() - ticks) < 1000 / 30)
    {
        printf("step_11\n");

        SDL_Delay( ( 1000 / 30 ) - SDL_GetTicks() - ticks);

        printf("step_12\n");
    }
}

Исходная версия Dron, :

Компилируй, запускай и смотри в каком месте ступор у тебя, так как хрен его знает чего у тебя тут не так ::)

while(!quit)
{
    printf("step_1\n");
    int ticks;
    ticks = SDL_GetTicks();
    printf("step_2\n");
    while(SDL_PollEvent(&event))
    {
        printf("step_3\n");
        switch (event.type)
        {
        case SDL_QUIT:
        {
            quit = 1;
        }
        break;
        case SDL_MOUSEBUTTONDOWN:
        {
            if (event.button.button == SDL_BUTTON_LEFT)
            {
                printf("step_4\n");
                map_open(event.button.x, event.button.y);
                printf("step_5\n");
                map_draw();
                printf("step_6\n");
            }
            else if (event.button.button == SDL_BUTTON_RIGHT)
            {
                printf("step_7\n");
                map_set_flag(event.button.x, event.button.y);
                printf("step_8\n");
                map_draw();
                printf("step_9\n");
            }
        }
        break;
        }
    }
    printf("step_10\n");
    if((SDL_GetTicks() - ticks) < 1000 / 30)
    {
        printf("step_11\n");

        SDL_Delay( ( 1000 / 30 ) - SDL_GetTicks() - ticks);

        printf("step_12\n");
    }
}