Pastebin
Retrouvez, créez et partagez vos snippets en temps réel.
Rechercher un Pastebin
Aucun paste trouvé.
Créer un paste
Pastebin
Blog
sdvfdfd
void GameGraphics_render(GameGraphics* self) { assert(self && "self must not be NULL"); Scene* scene = self->m_scene; Camera* camera = Scene_getCamera(scene); float scale = Camera_getWorldToViewScale(camera); GameCore* core = scene->m_gameCore; SDL_FRect rect = { 0 }; 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]); 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; SDL_FRect playerRect = rect; playerRect.x = rect.x + rect.w * 0.5f; playerRect.y = rect.y + rect.h * 0.5f; bool isSelected = (i == self->m_selectedRowIndex && j == self->m_selectedColIndex); SDL_Color color = g_colors.gray8; SDL_SetRenderDrawColor(g_renderer, color.r, color.g, color.b, 255); SDL_RenderFillRect(g_renderer, &rect); switch (GameCore_getEntityType(core, i, j)) { case GRID_CRATE: SpriteGroup_render(self->m_spriteCrate, 0, &rect, Vec2_anchor_north_west, 1.0f); break; case GRID_MONSTER: SpriteGroup_render(self->m_spriteMonster, 0, &rect, Vec2_anchor_north_west, 1.0f); break; case GRID_KEY: SpriteGroup_render(self->m_spriteKey, 0, &rect, Vec2_anchor_north_west, 1.0f); break; case GRID_WEAPON: SpriteGroup_render(self->m_spriteWeapon, 0, &rect, Vec2_anchor_north_west, 1.0f); break; case GRID_CRYSTAL: SpriteGroup_render(self->m_spriteCrystal, 0, &rect, Vec2_anchor_north_west, 1.0f); break; case GRID_PILLAR: SpriteGroup_render(self->m_spritePillar, 0, &rect, Vec2_anchor_north_west, 1.0f); break; case GRID_GATE: SpriteGroup_render(self->m_spriteGate, 0, &rect, Vec2_anchor_north_west, 1.0f); break; default: break; } if (isSelected) { /* SpriteGroup_render( self->m_spritePlayer, Dice_getframefromTop(&core->m_player->dice, core->m_player->HasWeapon, core->m_player->HasKey), &rect, Vec2_anchor_north_west, 1.0f );*/ SpriteGroup_renderRotated( self->m_spritePlayer, Dice_getframefromTop(&core->m_player->dice, core->m_player->HasWeapon, core->m_player->HasKey), &playerRect, (Vec2){0.5f, 0.5f}, core->m_player->orientation, NULL, SDL_FLIP_NONE ); } } } }
Créé il y a 1 mois.