void DrawKeycards(HUD *hud) { int keyFlags[] = { FLAGS_KEYCARD_YELLOW, FLAGS_KEYCARD_GREEN, FLAGS_KEYCARD_BLUE, FLAGS_KEYCARD_RED }; int i; int xOffset = -30; int xOffsetIncr = 20; int yOffset = 20; for (i = 0; i < 4; i++) { if (hud->mission->KeyFlags & keyFlags[i]) { const Pic *pic = KeyPickupClass(hud->mission->keyStyle, i)->Pic; Blit( &gGraphicsDevice, pic, Vec2iNew(CenterX(pic->size.x) - xOffset, yOffset)); } xOffset += xOffsetIncr; } }
void DrawKey(UIObject *o, GraphicsDevice *g, Vec2i pos, void *vData) { EditorBrushAndCampaign *data = vData; if (data->Brush.ItemIndex == -1) { // No key; don't draw return; } const Pic *pic = KeyPickupClass(gMission.keyStyle, data->Brush.ItemIndex)->Pic; pos = Vec2iAdd(Vec2iAdd(pos, o->Pos), Vec2iScaleDiv(o->Size, 2)); pos = Vec2iMinus(pos, Vec2iScaleDiv(pic->size, 2)); Blit(g, pic, pos); }
void DrawKey(UIObject *o, GraphicsDevice *g, struct vec2i pos, void *vData) { const IndexedEditorBrush *data = vData; if (data->u.ItemIndex == -1) { // No key; don't draw return; } const Mission *m = CampaignGetCurrentMission(&gCampaign); const Pic *pic = CPicGetPic( &KeyPickupClass(m->KeyStyle, data->u.ItemIndex)->Pic, 0); pos = svec2i_add(svec2i_add(pos, o->Pos), svec2i_scale_divide(o->Size, 2)); pos = svec2i_subtract(pos, svec2i_scale_divide(pic->size, 2)); Blit(g, pic, pos); }