Decompile bviewDrawIntroFaderBlur

This commit is contained in:
Ryan Dwyer
2022-05-29 20:52:48 +10:00
parent 0290561f9e
commit 7cb9578e69
5 changed files with 247 additions and 446 deletions
+200 -399
View File
File diff suppressed because it is too large Load Diff
+17 -17
View File
@@ -1121,7 +1121,7 @@ Gfx *lvRender(Gfx *gdl)
}
}
bviewSetBlur(bluramount);
bviewSetMotionBlur(bluramount);
gSPDisplayList(gdl++, &var800613a0);
@@ -1160,7 +1160,7 @@ Gfx *lvRender(Gfx *gdl)
}
if (g_Vars.lockscreen) {
gdl = bviewRenderMotionBlur(gdl, 0xffffffff, 255);
gdl = bviewDrawMotionBlur(gdl, 0xffffffff, 255);
g_Vars.lockscreen--;
} else if (var8009dfc0) {
gdl = viRenderViewportEdges(gdl);
@@ -1372,7 +1372,7 @@ Gfx *lvRender(Gfx *gdl)
case 0x1e5:
// Horizon scanner in Air Base intro
if (g_CutsceneCurAnimFrame60 > 839 && g_CutsceneCurAnimFrame60 < 1411) {
gdl = bviewRenderHorizonScanner(gdl);
gdl = bviewDrawHorizonScanner(gdl);
}
break;
case 0x181:
@@ -1394,7 +1394,7 @@ Gfx *lvRender(Gfx *gdl)
g_CutsceneStaticActive = false;
}
gdl = bviewRenderFilmLens(gdl, 0xffffffff, 0xffffffff);
gdl = bviewDrawFilmInterlace(gdl, 0xffffffff, 0xffffffff);
if (g_CutsceneStaticTimer < TICKS(15)) {
if (g_CutsceneStaticActive == false) {
@@ -1413,7 +1413,7 @@ Gfx *lvRender(Gfx *gdl)
}
if (cutscenestatic) {
gdl = bviewRenderStatic(gdl, 0xffffffff, cutscenestatic);
gdl = bviewDrawStatic(gdl, 0xffffffff, cutscenestatic);
}
}
break;
@@ -1427,7 +1427,7 @@ Gfx *lvRender(Gfx *gdl)
// Slayer rocket shows static when flying out of bounds
if (g_Vars.currentplayer->visionmode == VISIONMODE_SLAYERROCKET
&& g_Vars.tickmode != TICKMODE_CUTSCENE) {
gdl = bviewRenderSlayerRocketLens(gdl, 0xffffffff, 0xffffffff);
gdl = bviewDrawSlayerRocketInterlace(gdl, 0xffffffff, 0xffffffff);
if (g_Vars.currentplayer->badrockettime > 0) {
u32 slayerstatic = g_Vars.currentplayer->badrockettime * 255 / TICKS(90);
@@ -1436,13 +1436,13 @@ Gfx *lvRender(Gfx *gdl)
slayerstatic = 255;
}
gdl = bviewRenderStatic(gdl, 0x4fffffff, slayerstatic);
gdl = bviewDrawStatic(gdl, 0x4fffffff, slayerstatic);
}
}
#if VERSION >= VERSION_NTSC_1_0
if (g_Vars.currentplayer->visionmode == VISIONMODE_SLAYERROCKETSTATIC) {
gdl = bviewRenderStatic(gdl, 0x4fffffff, 255);
gdl = bviewDrawStatic(gdl, 0x4fffffff, 255);
g_Vars.currentplayer->visionmode = VISIONMODE_NORMAL;
}
#endif
@@ -1459,7 +1459,7 @@ Gfx *lvRender(Gfx *gdl)
#endif
}
gdl = bviewRenderZoomBlur(gdl, 0xffffffff, xraything, 1.05f, 1.05f);
gdl = bviewDrawZoomBlur(gdl, 0xffffffff, xraything, 1.05f, 1.05f);
}
// Handle combat boosts
@@ -1471,14 +1471,14 @@ Gfx *lvRender(Gfx *gdl)
}
if (g_Vars.speedpillchange < (PAL ? 13 : 15)) {
gdl = bviewRenderZoomBlur(gdl, 0xffffffff,
gdl = bviewDrawZoomBlur(gdl, 0xffffffff,
g_Vars.speedpillchange * 180 / (PAL ? 13 : 15),
(f32)g_Vars.speedpillchange * (PAL ? 0.023076923564076f : 0.02000000141561f) + 1.1f,
(f32)g_Vars.speedpillchange * (PAL ? 0.023076923564076f : 0.02000000141561f) + 1.1f);
gdl = playerDrawFade(gdl, 0xff, 0xff, 0xff,
g_Vars.speedpillchange * (PAL ? 0.0076923076994717f : 0.0066666668280959f));
} else {
gdl = bviewRenderZoomBlur(gdl, 0xffffffff,
gdl = bviewDrawZoomBlur(gdl, 0xffffffff,
((PAL ? 26 : 30) - g_Vars.speedpillchange) * 180 / (PAL ? 13 : 15),
(f32)((PAL ? 26 : 30) - g_Vars.speedpillchange) * (PAL ? 0.023076923564076f : 0.02000000141561f) + 1.1f,
(f32)((PAL ? 26 : 30) - g_Vars.speedpillchange) * (PAL ? 0.023076923564076f : 0.02000000141561f) + 1.1f);
@@ -1508,8 +1508,8 @@ Gfx *lvRender(Gfx *gdl)
}
if (bluramount) {
bviewClearBlur();
gdl = bviewRenderMotionBlur(gdl, 0xffffffff, bluramount);
bviewClearMotionBlur();
gdl = bviewDrawMotionBlur(gdl, 0xffffffff, bluramount);
}
// Handle blur effect in cutscenes (Extraction intro?)
@@ -1520,7 +1520,7 @@ Gfx *lvRender(Gfx *gdl)
#if VERSION < VERSION_PAL_BETA
u32 stack;
#endif
gdl = bviewRenderMotionBlur(gdl, 0xffffff00, cutsceneblurfrac * 255);
gdl = bviewDrawMotionBlur(gdl, 0xffffff00, cutsceneblurfrac * 255);
}
}
@@ -1538,11 +1538,11 @@ Gfx *lvRender(Gfx *gdl)
#endif
if (debugGetMotionBlur() == 1) {
gdl = bviewRenderMotionBlur(gdl, 0xffffff00, 128);
gdl = bviewDrawMotionBlur(gdl, 0xffffff00, 128);
} else if (debugGetMotionBlur() == 2) {
gdl = bviewRenderMotionBlur(gdl, 0xffffff00, 192);
gdl = bviewDrawMotionBlur(gdl, 0xffffff00, 192);
} else if (debugGetMotionBlur() == 3) {
gdl = bviewRenderMotionBlur(gdl, 0xffffff00, 230);
gdl = bviewDrawMotionBlur(gdl, 0xffffff00, 230);
}
// Render white when teleporting
+10 -10
View File
@@ -5281,14 +5281,14 @@ Gfx *playerRenderHud(Gfx *gdl)
&& g_InCutscene == 0
&& (!g_Vars.currentplayer->eyespy || (g_Vars.currentplayer->eyespy && !g_Vars.currentplayer->eyespy->active))
&& ((g_Vars.currentplayer->devicesactive & ~g_Vars.currentplayer->devicesinhibit) & DEVICE_NIGHTVISION)) {
gdl = bviewRenderNvLens(gdl);
gdl = bviewRenderNvBinoculars(gdl);
gdl = bviewDrawNvLens(gdl);
gdl = bviewDrawNvBinoculars(gdl);
} else if (g_Vars.currentplayer->isdead == false
&& g_InCutscene == 0
&& (!g_Vars.currentplayer->eyespy || (g_Vars.currentplayer->eyespy && !g_Vars.currentplayer->eyespy->active))
&& ((g_Vars.currentplayer->devicesactive & ~g_Vars.currentplayer->devicesinhibit) & DEVICE_IRSCANNER)) {
gdl = bviewRenderIrLens(gdl);
gdl = bviewRenderIrBinoculars(gdl);
gdl = bviewDrawIrLens(gdl);
gdl = bviewDrawIrBinoculars(gdl);
}
if (g_Vars.currentplayer->eyesshutfrac > 0) {
@@ -5508,7 +5508,7 @@ Gfx *playerRenderHud(Gfx *gdl)
gdl = bgunRenderSight(gdl);
if (bgunGetWeaponNum(HAND_RIGHT) == WEAPON_HORIZONSCANNER) {
gdl = bviewRenderHorizonScanner(gdl);
gdl = bviewDrawHorizonScanner(gdl);
}
if (optionsGetAmmoOnScreen(g_Vars.currentplayerstats->mpindex)) {
@@ -5529,24 +5529,24 @@ Gfx *playerRenderHud(Gfx *gdl)
if (g_Vars.currentplayer->eyespy) {
if (g_Vars.currentplayer->eyespy->startuptimer60 < TICKS(50)) {
gdl = bviewRenderFisheye(gdl, -1, 255, 0, g_Vars.currentplayer->eyespy->startuptimer60, g_Vars.currentplayer->eyespy->hit);
gdl = bviewDrawFisheye(gdl, -1, 255, 0, g_Vars.currentplayer->eyespy->startuptimer60, g_Vars.currentplayer->eyespy->hit);
} else {
s32 time = g_Vars.currentplayer->eyespy->camerashuttertime;
if (time > 0) {
if (g_Vars.currentplayer->eyespy->mode == EYESPYMODE_CAMSPY) {
gdl = bviewRenderFisheye(gdl, -1, 255, time, TICKS(50), g_Vars.currentplayer->eyespy->hit);
gdl = bviewDrawFisheye(gdl, -1, 255, time, TICKS(50), g_Vars.currentplayer->eyespy->hit);
} else {
gdl = bviewRenderFisheye(gdl, -1, 255, 0, TICKS(50), g_Vars.currentplayer->eyespy->hit);
gdl = bviewDrawFisheye(gdl, -1, 255, 0, TICKS(50), g_Vars.currentplayer->eyespy->hit);
}
g_Vars.currentplayer->eyespy->camerashuttertime -= g_Vars.lvupdate240_60;
} else {
gdl = bviewRenderFisheye(gdl, -1, 255, 0, TICKS(50), g_Vars.currentplayer->eyespy->hit);
gdl = bviewDrawFisheye(gdl, -1, 255, 0, TICKS(50), g_Vars.currentplayer->eyespy->hit);
}
}
gdl = bviewRenderEyespyDecorations(gdl);
gdl = bviewDrawEyespyMetrics(gdl);
}
if (g_Vars.currentplayer->mpmenuon) {
+1 -1
View File
@@ -9310,7 +9310,7 @@ Gfx *titleRenderRarePresents(Gfx *gdl)
gdl = func0f153a34(gdl, x + 2, y, x + 12, y + 20, colour);
}
gdl = bviewRenderRarePresents(gdl);
gdl = bviewDrawIntroText(gdl);
if (g_TitleTimer > TICKS(222)) {
f32 alpha = ((g_TitleTimer - TICKS(222.0f)) / TICKS(78.0f));
+19 -19
View File
@@ -4,27 +4,27 @@
#include "data.h"
#include "types.h"
Gfx *bviewRenderIrRect(Gfx *gdl, s32 x1, s32 y1, s32 x2, s32 y2);
Gfx *bviewRenderLensRect(Gfx *gdl, u8 *fb, s32 top, s32 arg3, s32 arg4, f32 arg5, s32 left, s32 width);
Gfx *bviewRenderFisheyeRect(Gfx *gdl, s32 arg1, f32 arg2, s32 arg3, s32 arg4);
Gfx *bviewDrawIrRect(Gfx *gdl, s32 x1, s32 y1, s32 x2, s32 y2);
Gfx *bviewCopyPixels(Gfx *gdl, u8 *fb, s32 top, s32 arg3, s32 arg4, f32 arg5, s32 left, s32 width);
Gfx *bviewDrawFisheyeRect(Gfx *gdl, s32 arg1, f32 arg2, s32 arg3, s32 arg4);
Gfx *bviewPrepareStaticRgba16(Gfx *gdl, u32 colour, u32 alpha);
Gfx *bviewPrepareStaticI8(Gfx *gdl, u32 colour, u32 alpha);
Gfx *bviewRenderMotionBlur(Gfx *gdl, u32 colour, u32 alpha);
Gfx *bviewRenderStatic(Gfx *gdl, u32 arg1, s32 arg2);
Gfx *bviewRenderSlayerRocketLens(Gfx *gdl, u32 arg1, u32 arg2);
Gfx *bviewRenderFilmLens(Gfx *gdl, u32 colour, u32 alpha);
Gfx *bviewRenderZoomBlur(Gfx *gdl, u32 colour, s32 alpha, f32 arg3, f32 arg4);
Gfx *bviewDrawMotionBlur(Gfx *gdl, u32 colour, u32 alpha);
Gfx *bviewDrawStatic(Gfx *gdl, u32 arg1, s32 arg2);
Gfx *bviewDrawSlayerRocketInterlace(Gfx *gdl, u32 arg1, u32 arg2);
Gfx *bviewDrawFilmInterlace(Gfx *gdl, u32 colour, u32 alpha);
Gfx *bviewDrawZoomBlur(Gfx *gdl, u32 colour, s32 alpha, f32 arg3, f32 arg4);
f32 bview0f142d74(s32 arg0, f32 arg1, f32 arg2, f32 arg3);
Gfx *bviewRenderFisheye(Gfx *gdl, s32 arg1, u32 arg2, u32 arg3, u32 arg4, u32 arg5);
Gfx *bviewRenderEyespySideRect(Gfx *gdl, s32 *points, u8 r, u8 g, u8 b, u8 alpha);
Gfx *bviewRenderEyespyDecorations(Gfx *gdl);
Gfx *bviewRenderNvLens(Gfx *gdl);
Gfx *bviewRenderIrLens(Gfx *gdl);
Gfx *bviewRenderRarePresents(Gfx *gdl);
Gfx *bviewRenderHorizonScanner(Gfx *gdl);
Gfx *bviewRenderIrBinoculars(Gfx *gdl);
void bviewSetBlur(u32 bluramount);
void bviewClearBlur(void);
Gfx *bviewRenderNvBinoculars(Gfx *gdl);
Gfx *bviewDrawFisheye(Gfx *gdl, s32 arg1, u32 arg2, u32 arg3, u32 arg4, u32 arg5);
Gfx *bviewDrawEyespySideRect(Gfx *gdl, s32 *points, u8 r, u8 g, u8 b, u8 alpha);
Gfx *bviewDrawEyespyMetrics(Gfx *gdl);
Gfx *bviewDrawNvLens(Gfx *gdl);
Gfx *bviewDrawIrLens(Gfx *gdl);
Gfx *bviewDrawIntroText(Gfx *gdl);
Gfx *bviewDrawHorizonScanner(Gfx *gdl);
Gfx *bviewDrawIrBinoculars(Gfx *gdl);
void bviewSetMotionBlur(u32 bluramount);
void bviewClearMotionBlur(void);
Gfx *bviewDrawNvBinoculars(Gfx *gdl);
#endif