PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Программирование для PSP (https://www.pspx.ru/forum/forumdisplay.php?f=101)
-   -   SDL. Вопросы. (https://www.pspx.ru/forum/showthread.php?t=97148)

PSPDev 03.06.2012 11:03

SDL. Вопросы.
 
Вложений: 1
Есть проект, ссылку на которую сейчас дам.
Запускаю исполняемый файл на Linux - все без тормазов.
Собираю под PSP - жуткие лаги.
main.c выглядет так:
Код:

int main()
{
        InitSDL(); //Ясно
        LoadBlock();//Грузим текстуры в bmp
        DrawBG(); //рисуем задний фон
       
        while(game==0)
        {
                if (build==0){ BuildMap(); } //Генерируем мир
               
                SDL_Delay(100); //ФПС
                while(SDL_PollEvent(&event))
                {
                        if (event.type==SDL_QUIT) {game=1;} //Выход
                }
               
                keyss = SDL_GetKeyState(NULL);
                if(keyss[SDLK_RIGHT]){ReDraw(); posX-=0.2; } //ReDraw - это всего лишь DrawBG... т.е я вначале рисую фон, меняю pos,
                //после этого идет на RenderMap, где прогоняется массив с картой, и рисуется уровень
                if(keyss[SDLK_LEFT]){ReDraw(); posX+=0.2; }
                if(keyss[SDLK_UP]){ReDraw(); posY+=0.2;}
                if(keyss[SDLK_DOWN]){ReDraw(); posY-=0.2;}
                //MoveP(posX,posY);
                //FPS
                RenderMap(); //см ниже
                SDL_Flip(screen);//Вывод из буфера(наверно к UpdateRects обращается)
        }
        SDL_Quit();
        return 0;
}

RenderMap():
Код:

void RenderMap()
{
        int x,y;
        for (x=0; x < gX; x++) //gX -макс значение ширины мира
        {       
                for (y=0; y < gY-1; y++) //gY- макс высота
                {       
                        if (posX > 0) {posX=0;} //Левая граница
                        if (posX < (-135)) {posX=-135;} //Правая граница
                        DrawMap(map[y][x],x+posX-cameraX,y+posY-cameraY); //выресовка
                }
        }

Мне кажется, проблема в неправльном рендеренге... уж больно странно рендерить, постоянно рисуя фон сверху...
Кто что может сказать по этому поводу?

}

Линукс.
Вложение 6967

PSPDev 03.06.2012 15:17

+1 Вопрос:
Что записать в make для psp, чтобы SDL_ttf работало?
А то пишет:
Код:

splice@asus1201n:~/2DCRAFT/SRC$ make clean && make -lSDL_ttf
rm -f mainPSP.elf  mainPSP.o PARAM.SFO EBOOT.PBP EBOOT.PBP
psp-gcc -I/opt/pspsdk/psp/sdk/include/libc -I. -I/opt/pspsdk/psp/sdk/include -I/opt/pspsdk/psp/sdk/../../psp/include/SDL -Dmain=SDL_main  -D_PSP_FW_VERSION=150  -c -o mainPSP.o mainPSP.c
psp-gcc -I/opt/pspsdk/psp/sdk/include/libc -I. -I/opt/pspsdk/psp/sdk/include -I/opt/pspsdk/psp/sdk/../../psp/include/SDL -Dmain=SDL_main  -D_PSP_FW_VERSION=150  -L. -L/opt/pspsdk/psp/sdk/lib "-L`psp-config --pspsdk-path`/lib -lc -lpspuser -lpsputility" --with-sdl-prefix=`psp-config --psp-prefix` --with-freetype-prefix=`psp-config --psp-prefix` --without-x --prefix=`psp-config --psp-prefix`  mainPSP.o -L/opt/pspsdk/psp/sdk/../../psp/lib -lSDLmain -lSDL -lm -lGL -lpspvfpu -L/opt/pspsdk/psp/sdk/../../psp/sdk/lib -lpspirkeyb -lpsppower -lpspdebug -lpspgu -lpspctrl -lpspge -lpspdisplay -lpsphprm -lpspsdk -lpsprtc -lpspaudio -lc -lpspuser -lpsputility -lpspkernel -lpspnet_inet  -lpspdebug -lpspdisplay_driver -lpspctrl_driver -lpspsdk  -lpspkernel -o mainPSP.elf
mainPSP.o: In function `InitSDL':
mainPSP.c:(.text+0x50): undefined reference to `TTF_Init'
mainPSP.o: In function `WriteText':
mainPSP.c:(.text+0x114): undefined reference to `TTF_OpenFont'
mainPSP.c:(.text+0x14c): undefined reference to `TTF_RenderText_Blended'
mainPSP.c:(.text+0x188): undefined reference to `TTF_CloseFont'
collect2: ld returned 1 exit status
make: *** [mainPSP.elf] Ошибка 1


frostegater 05.06.2012 00:54

Не думаю что у нас есть либофилы. Тут в основном хакеры да глубинные разрабы. Тебе на сайберфорум.


Текущее время: 10:59. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.