Pastebin
Retrouvez, créez et partagez vos snippets en temps réel.
Rechercher un Pastebin
Aucun paste trouvé.
Créer un paste
Pastebin
Blog
ssddsdsd
void GameGraphics_update(GameGraphics* self) { assert(self && "self must not be NULL"); Scene* scene = self->m_scene; Input* input = Scene_getInput(scene); Camera* camera = Scene_getCamera(scene); GameCore* core = scene->m_gameCore; self->m_selectedColIndex = core->m_player->col; self->m_selectedRowIndex = core->m_player->row; GameGraphics_updateCells(self); Vec2 mouseWorldPos = { 0 }; Camera_viewToWorld(camera, input->mouse.position.x, input->mouse.position.y, &mouseWorldPos); if (self->m_enabled == false) { return; } if (input->mouse.leftPressed) { for (int i = 0; i < GAME_GRID_SIZE_I; i++) { for (int j = 0; j < GAME_GRID_SIZE_J; j++) { AABB* cellAABB = &(self->m_cells[i][j]); if (AABB_containsPoint(cellAABB, mouseWorldPos) && GameCore_isGridAccessible(core, i, j)) { Dice_rollUpdate(&core->m_player->dice, self->m_selectedRowIndex, self->m_selectedColIndex, i, j); core->m_player->row = i; core->m_player->col = j; GameCore_getPlayerAbilities(core); } } } } if ((input->mouse.wheel == 1) && core->m_player->CanRotate == true) // 1 vers le haut { printf("je tourne a gauche\n"); Dice_rotateleft(&core->m_player->dice); core->m_player->orientation += 90.0f; // Correction : définition de rect et passage des bons arguments /* SDL_FRect rect = { 0 }; int row = core->m_player->row; int col = core->m_player->col; AABB* cellAABB = &(self->m_cells[row][col]); float scale = Camera_getWorldToViewScale(camera); rect.x = Camera_worldToViewX(camera, cellAABB->lower.x); rect.y = Camera_worldToViewY(camera, cellAABB->upper.y); rect.w = (cellAABB->upper.x - cellAABB->lower.x) * scale; rect.h = (cellAABB->upper.y - cellAABB->lower.y) * scale; SpriteGroup_renderRotated( self->m_spritePlayer, Dice_getframefromTop(&core->m_player->dice, core->m_player->HasWeapon, core->m_player->HasKey), &rect, (Vec2){ 0.5f, 0.5f }, 90.0, NULL, SDL_FLIP_NONE );*/ } else if ((input->mouse.wheel == -1) && core->m_player->CanRotate == true) // -1 vers le bas { printf("je tourne a droite \n"); Dice_rotateRight(&core->m_player->dice); core->m_player->orientation -= 90.0f; //SDL_FRect rect = { 0 }; //int row = core->m_player->row; //int col = core->m_player->col; //AABB* cellAABB = &(self->m_cells[row][col]); //float scale = Camera_getWorldToViewScale(camera); //rect.x = Camera_worldToViewX(camera, cellAABB->lower.x); //rect.y = Camera_worldToViewY(camera, cellAABB->upper.y); //rect.w = (cellAABB->upper.x - cellAABB->lower.x) * scale; //rect.h = (cellAABB->upper.y - cellAABB->lower.y) * scale; //SpriteGroup_renderRotated( // self->m_spritePlayer, // Dice_getframefromTop(&core->m_player->dice, core->m_player->HasWeapon, core->m_player->HasKey), // &rect, // (Vec2) //{0.5f, 0.5f}, // -90.0, // NULL, // SDL_FLIP_NONE //); } }
Créé il y a 1 mois.