mirror of
https://github.com/RocketRobz/SuperAllStarPhotoStudio.git
synced 2025-06-18 17:15:35 -04:00
3DS: Update Rocket Robz logo screen
This commit is contained in:
parent
25091be2c5
commit
2119f2a895
@ -266,7 +266,7 @@ int main()
|
||||
if (isInit) {
|
||||
delay++;
|
||||
if (rocketRobzScreen) {
|
||||
if (delay > iFps*(gfxIsWide() ? 12 : 9)) {
|
||||
if (delay > iFps*(gfxIsWide() ? 13 : 10)) {
|
||||
Gui::setScreen(std::make_unique<PhotoStudio>(), true); // Set after delay to the photo studio.
|
||||
isInit = false;
|
||||
}
|
||||
|
@ -16,7 +16,20 @@ static int rr_fadeType = true;
|
||||
#ifdef _3DS
|
||||
static int robzXpos = 135+220;
|
||||
static int robzYpos = 19+220;
|
||||
static int rrFlashFade = 255;
|
||||
static int rrTextFade = 255;
|
||||
static int rrTextGlowFade = 127;
|
||||
static int rrBgYpos = 240;
|
||||
|
||||
static int floorLineYpos[36] = {
|
||||
0, 0, 1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 33, 36, 39, 42, 45, 50, 54, 58, 62, 66, 70
|
||||
};
|
||||
static int floorLineCurrentYpos[3] = {0, 12, 24};
|
||||
static bool floorLineMoveOdd[3] = {false, false, false};
|
||||
|
||||
#define rrTopGradient C2D_Color32(64, 0, 96, 255)
|
||||
#define rrBottomGradient C2D_Color32(169, 0, 254, 255)
|
||||
#define wireframeColor C2D_Color32(0, 255, 0, 255)
|
||||
#endif
|
||||
|
||||
void RocketRobz::Draw(void) const {
|
||||
@ -25,31 +38,158 @@ void RocketRobz::Draw(void) const {
|
||||
#ifdef _3DS
|
||||
Gui::ScreenDraw(Top);
|
||||
|
||||
// Top half gradient
|
||||
C2D_DrawRectangle(
|
||||
64, 42, 0, 280, 76,
|
||||
C2D_Color32(82, 0, 121, 255), C2D_Color32(82, 0, 121, 255),
|
||||
C2D_Color32(169, 0, 254, 255), C2D_Color32(169, 0, 254, 255));
|
||||
// Bottom half gradient
|
||||
C2D_DrawRectangle(
|
||||
64, 118, 0, 280, 86,
|
||||
C2D_Color32(169, 0, 254, 255), C2D_Color32(169, 0, 254, 255),
|
||||
C2D_Color32(71, 0, 104, 255), C2D_Color32(71, 0, 104, 255));
|
||||
bool robzInPos = (robzXpos == 135 && robzYpos == 19);
|
||||
if (robzInPos) {
|
||||
if (rrBgYpos > 0) {
|
||||
Gui::Draw_Rect(0, 0, 400, rrBgYpos, rrTopGradient);
|
||||
}
|
||||
// Top half gradient
|
||||
C2D_DrawRectangle(
|
||||
0, rrBgYpos, 0, 400, 120,
|
||||
rrTopGradient, rrTopGradient,
|
||||
rrBottomGradient, rrBottomGradient);
|
||||
// Bottom half gradient
|
||||
C2D_DrawRectangle(
|
||||
0, rrBgYpos+120, 0, 400, 120,
|
||||
rrBottomGradient, rrBottomGradient,
|
||||
rrTopGradient, rrTopGradient);
|
||||
|
||||
// Top half gradient
|
||||
C2D_DrawRectangle(
|
||||
0, rrBgYpos+240, 0, 400, 120,
|
||||
rrTopGradient, rrTopGradient,
|
||||
rrBottomGradient, rrBottomGradient);
|
||||
// Bottom half gradient
|
||||
C2D_DrawRectangle(
|
||||
0, rrBgYpos+240+120, 0, 400, 120,
|
||||
rrBottomGradient, rrBottomGradient,
|
||||
rrTopGradient, rrTopGradient);
|
||||
|
||||
GFX::DrawSpriteLinearBlend(sprites_rr_robz_idx, robzXpos-7, robzYpos, C2D_Color32(255, 0, 0, 127), 0.5, 1);
|
||||
GFX::DrawSpriteLinearBlend(sprites_rr_robz_idx, robzXpos+7, robzYpos, C2D_Color32(0, 0, 255, 127), 0.5, 1);
|
||||
Gui::Draw_Rect(400-50, 0, 50, 240, C2D_Color32(0, 0, 0, 255));
|
||||
GFX::DrawSpriteLinear(sprites_rr_shapeBG_idx, 50, 0, 0.5, 1);
|
||||
Gui::Draw_Rect(0, 238, 400, 2, C2D_Color32(0, 0, 0, 255)); // Hide line from other texture(s)
|
||||
GFX::DrawSpriteLinear(sprites_rr_robz_idx, robzXpos, robzYpos, 0.5, 1);
|
||||
if (robzXpos == 135 && robzYpos == 19) {
|
||||
GFX::DrawSpriteLinear(sprites_logo_rocketrobz_idx, 54, 74, 0.5, 1);
|
||||
if (rrTextFade > 0) GFX::DrawSpriteLinearBlend(sprites_logo_rocketrobz_idx, 54, 74, C2D_Color32(255, 255, 255, rrTextFade), 0.5, 1);
|
||||
rrTextFade -= 16;
|
||||
if (rrTextFade < 0) rrTextFade = 0;
|
||||
} else {
|
||||
robzXpos -= 4;
|
||||
robzYpos -= 4;
|
||||
// Ceiling
|
||||
C2D_DrawLine(0, 64, wireframeColor, 400, 64, wireframeColor, 1, 0);
|
||||
C2D_DrawLine(200, 0, wireframeColor, 200, 64, wireframeColor, 1, 0);
|
||||
int xTop = 0;
|
||||
int xBot = 0;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
xTop += 80;
|
||||
xBot += 48;
|
||||
C2D_DrawLine(200-xTop, 0, wireframeColor, 200-xBot, 64, wireframeColor, 1, 0);
|
||||
C2D_DrawLine(200+xTop, 0, wireframeColor, 200+xBot, 64, wireframeColor, 1, 0);
|
||||
}
|
||||
for (int i = 0; i < 3; i++) {
|
||||
C2D_DrawLine(0, 64-floorLineYpos[floorLineCurrentYpos[i]], wireframeColor, 400, 64-floorLineYpos[floorLineCurrentYpos[i]], wireframeColor, 1, 0);
|
||||
}
|
||||
|
||||
// Floor
|
||||
C2D_DrawLine(0, 240-64, wireframeColor, 400, 240-64, wireframeColor, 1, 0);
|
||||
C2D_DrawLine(200, 240-64, wireframeColor, 200, 240, wireframeColor, 1, 0);
|
||||
xTop = 0;
|
||||
xBot = 0;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
xTop += 48;
|
||||
xBot += 80;
|
||||
C2D_DrawLine(200-xTop, 240-64, wireframeColor, 200-xBot, 240, wireframeColor, 1, 0);
|
||||
C2D_DrawLine(200+xTop, 240-64, wireframeColor, 200+xBot, 240, wireframeColor, 1, 0);
|
||||
}
|
||||
for (int i = 0; i < 3; i++) {
|
||||
C2D_DrawLine(0, (240-64)+floorLineYpos[floorLineCurrentYpos[i]], wireframeColor, 400, (240-64)+floorLineYpos[floorLineCurrentYpos[i]], wireframeColor, 1, 0);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
switch (iFps) {
|
||||
default:
|
||||
floorLineCurrentYpos[i]++;
|
||||
break;
|
||||
case 30:
|
||||
floorLineCurrentYpos[i]+=2;
|
||||
break;
|
||||
case 24:
|
||||
floorLineCurrentYpos[i] += 2+floorLineMoveOdd[i];
|
||||
floorLineMoveOdd[i] = !floorLineMoveOdd[i];
|
||||
break;
|
||||
}
|
||||
if (floorLineCurrentYpos[i] > 36) floorLineCurrentYpos[i] = floorLineMoveOdd[i];
|
||||
}
|
||||
|
||||
// Top half gradient
|
||||
C2D_DrawRectangle(
|
||||
0, 0, 0, 400, 120,
|
||||
0, 0,
|
||||
rrTopGradient, rrTopGradient);
|
||||
// Bottom half gradient
|
||||
C2D_DrawRectangle(
|
||||
0, 120, 0, 400, 120,
|
||||
rrTopGradient, rrTopGradient,
|
||||
0, 0);
|
||||
|
||||
}
|
||||
if (robzInPos) {
|
||||
GFX::DrawSpriteLinearBlend(sprites_rr_robz_idx, robzXpos-7, robzYpos, C2D_Color32(255, 0, 0, 127), 0.5, 1);
|
||||
GFX::DrawSpriteLinearBlend(sprites_rr_robz_idx, robzXpos+7, robzYpos, C2D_Color32(0, 0, 255, 127), 0.5, 1);
|
||||
Gui::Draw_Rect(0, 0, 50, 240, C2D_Color32(rrFlashFade, rrFlashFade, rrFlashFade, 255));
|
||||
Gui::Draw_Rect(400-50, 0, 50, 240, C2D_Color32(rrFlashFade, rrFlashFade, rrFlashFade, 255));
|
||||
GFX::DrawSpriteLinearBlend(sprites_rr_shapeBG_idx, 50, 0, C2D_Color32(rrFlashFade, rrFlashFade, rrFlashFade, 255), 0.5, 1);
|
||||
Gui::Draw_Rect(0, 238, 400, 2, C2D_Color32(rrFlashFade, rrFlashFade, rrFlashFade, 255)); // Hide line from other texture(s)
|
||||
}
|
||||
GFX::DrawSpriteLinear(sprites_rr_robz_idx, robzXpos, robzYpos, 0.5, 1);
|
||||
if (robzInPos) {
|
||||
if (rrTextFade != 255) GFX::DrawSpriteLinear(sprites_logo_rocketrobz_idx, 54, 74, 0.5, 1);
|
||||
if (rrTextFade > 0) {
|
||||
if (rrTextGlowFade > 0) {
|
||||
GFX::DrawSpriteLinearBlend(sprites_logo_rocketrobz_idx, 39, 64, C2D_Color32(0, 255, 0, rrTextGlowFade), 0.55, 1.2);
|
||||
}
|
||||
GFX::DrawSpriteLinearBlend(sprites_logo_rocketrobz_idx, 54, 74, C2D_Color32(0, 255, 0, rrTextFade), 0.5, 1);
|
||||
}
|
||||
switch (iFps) {
|
||||
default:
|
||||
rrFlashFade -= 16;
|
||||
rrBgYpos -= 2;
|
||||
break;
|
||||
case 30:
|
||||
rrFlashFade -= 32;
|
||||
rrBgYpos -= 4;
|
||||
break;
|
||||
case 24:
|
||||
rrFlashFade -= 40;
|
||||
rrBgYpos -= 6;
|
||||
break;
|
||||
}
|
||||
if (rrFlashFade < 0) {
|
||||
rrFlashFade = 0;
|
||||
switch (iFps) {
|
||||
default:
|
||||
rrTextFade -= 4;
|
||||
rrTextGlowFade -= 8;
|
||||
break;
|
||||
case 30:
|
||||
rrTextFade -= 8;
|
||||
rrTextGlowFade -= 16;
|
||||
break;
|
||||
case 24:
|
||||
rrTextFade -= 10;
|
||||
rrTextGlowFade -= 20;
|
||||
break;
|
||||
}
|
||||
if (rrTextFade < 0) rrTextFade = 0;
|
||||
if (rrTextGlowFade < 0) rrTextGlowFade = 0;
|
||||
}
|
||||
if (rrBgYpos < -240) rrBgYpos += 240;
|
||||
} else {
|
||||
switch (iFps) {
|
||||
default:
|
||||
robzXpos -= 2;
|
||||
robzYpos -= 2;
|
||||
break;
|
||||
case 30:
|
||||
robzXpos -= 4;
|
||||
robzYpos -= 4;
|
||||
break;
|
||||
case 24:
|
||||
robzXpos -= 6;
|
||||
robzYpos -= 6;
|
||||
break;
|
||||
}
|
||||
if (robzXpos < 135) robzXpos = 135;
|
||||
if (robzYpos < 19) robzYpos = 19;
|
||||
}
|
||||
@ -93,7 +233,7 @@ void RocketRobz::Draw(void) const {
|
||||
}
|
||||
|
||||
#ifdef _3DS
|
||||
if (delay > iFps*9 && gfxIsWide()) {
|
||||
if (delay > iFps*10 && gfxIsWide()) {
|
||||
if (prevSubMode != 0) {
|
||||
rr_fadeType = false;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user