summaryrefslogtreecommitdiff
path: root/src/render_player.c
diff options
context:
space:
mode:
authorcoco875 <59367621+coco875@users.noreply.github.com>2023-12-30 23:46:05 +0100
committerGitHub <noreply@github.com>2023-12-30 15:46:05 -0700
commite5a215cb7c999bf7c4af423192f780e37631dc21 (patch)
tree3094895b5ff584669249504932544c39ad7ac6de /src/render_player.c
parenta38d338bf0f01774d756a8eeda3eecb5eb65535d (diff)
Add bss render player and spawn player (#518)
* finish render_player * finish normally spawn_player bss
Diffstat (limited to 'src/render_player.c')
-rw-r--r--src/render_player.c43
1 files changed, 35 insertions, 8 deletions
diff --git a/src/render_player.c b/src/render_player.c
index d5438af9a..a869830fd 100644
--- a/src/render_player.c
+++ b/src/render_player.c
@@ -20,6 +20,7 @@
#include "hud_renderer.h"
#include "common_textures.h"
#include "skybox_and_splitscreen.h"
+#include "spawn_players.h"
s8 gRenderingFramebufferByPlayer[] = {
0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02
@@ -27,11 +28,37 @@ s8 gRenderingFramebufferByPlayer[] = {
s32 gPlayersToRenderCount = 0;
+
// Can't find anything that actually references these...
UNUSED void *D_800DDB5C[3] = {
gFramebuffer0, gFramebuffer1, gFramebuffer2
};
+s16 D_80164AB0[8];
+s16 D_80164AC0[8];
+Player *D_80164AD0[8];
+s16 gMatrixEffectCount;
+s32 D_80164AF4[3];
+struct_D_802F1F80 *gPlayerPalette;
+u8 *D_80164B08;
+u8 *D_80164B0C;
+u16 gPlayerRedEffect[8];
+u16 gPlayerGreenEffect[8];
+u16 gPlayerBlueEffect[8];
+u16 gPlayerCyanEffect[8];
+u16 gPlayerMagentaEffect[8];
+u16 gPlayerYellowEffect[8];
+//if it's also a color effect like before
+UNUSED u16 gPlayerWhiteEffect[8];
+s32 D_80164B80[296];
+s16 D_80165020[40];
+Vec3f D_80165070[8];
+s16 D_801650D0[4][8];
+s16 D_80165110[4][8];
+s16 D_80165150[4][8];
+s16 D_80165190[4][8];
+s16 D_801651D0[4][8];
+
void func_8001F980(s32 *arg0, s32 *arg1) {
if ((gDemoMode == 1) || (D_80164A28 != 0) || (D_8015F894 != 0)) {
*arg0 = 0xAA;
@@ -243,8 +270,8 @@ void func_80020524(void) {
osRecvMesg(&gDmaMesgQueue, &gMainReceivedMesg, OS_MESG_BLOCK);
}
- mio0decode(D_802DFB80[D_801651D0[D_80164ABE[gPlayersToRenderCount]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164ABE[gPlayersToRenderCount]][D_80164AB0[gPlayersToRenderCount-1]].unk_00,
- D_802BFB80[D_801651D0[D_80164ABE[gPlayersToRenderCount]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164ABE[gPlayersToRenderCount]][D_80164AB0[gPlayersToRenderCount-1]].pixel_index_array);
+ mio0decode(D_802DFB80[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]].unk_00,
+ D_802BFB80[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]].pixel_index_array);
}
void func_8002088C(void) {
@@ -268,8 +295,8 @@ void func_8002088C(void) {
D_802BFB80[D_801651D0[D_80164AC0[var_s0 - 1]][D_80164AB0[var_s0 - 1]]][D_80164AC0[var_s0 - 1]][D_80164AB0[var_s0 - 1]].pixel_index_array);
osRecvMesg(&gDmaMesgQueue, &gMainReceivedMesg, OS_MESG_BLOCK);
}
- mio0decode(D_802DFB80[D_801651D0[D_80164ABE[gPlayersToRenderCount]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164ABE[gPlayersToRenderCount]][D_80164AB0[gPlayersToRenderCount-1]].unk_00,
- D_802BFB80[D_801651D0[D_80164ABE[gPlayersToRenderCount]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164ABE[gPlayersToRenderCount]][D_80164AB0[gPlayersToRenderCount-1]].pixel_index_array);
+ mio0decode(D_802DFB80[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]].unk_00,
+ D_802BFB80[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]].pixel_index_array);
}
void func_80020BF4(void) {
@@ -287,8 +314,8 @@ void func_80020BF4(void) {
D_802BFB80[D_801651D0[D_80164AC0[var_s0 - 1]][D_80164AB0[var_s0 - 1]]][D_80164AC0[var_s0 - 1] - 2][D_80164AB0[var_s0 - 1] + 4].pixel_index_array);
osRecvMesg(&gDmaMesgQueue, &gMainReceivedMesg, OS_MESG_BLOCK);
}
- mio0decode(D_802DFB80[D_801651D0[D_80164ABE[gPlayersToRenderCount]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164ABE[gPlayersToRenderCount] - 2][D_80164AB0[gPlayersToRenderCount-1] + 4].unk_00,
- D_802BFB80[D_801651D0[D_80164ABE[gPlayersToRenderCount]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164ABE[gPlayersToRenderCount] - 2][D_80164AB0[gPlayersToRenderCount-1] + 4].pixel_index_array);
+ mio0decode(D_802DFB80[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1] - 2][D_80164AB0[gPlayersToRenderCount-1] + 4].unk_00,
+ D_802BFB80[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1] - 2][D_80164AB0[gPlayersToRenderCount-1] + 4].pixel_index_array);
}
void func_80020F1C(void) {
@@ -306,8 +333,8 @@ void func_80020F1C(void) {
D_802BFB80[D_801651D0[D_80164AC0[var_s0 - 1]][D_80164AB0[var_s0 - 1]]][D_80164AC0[var_s0 - 1] - 2][D_80164AB0[var_s0 - 1] + 4].pixel_index_array);
osRecvMesg(&gDmaMesgQueue, &gMainReceivedMesg, OS_MESG_BLOCK);
}
- mio0decode(D_802DFB80[D_801651D0[D_80164ABE[gPlayersToRenderCount]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164ABE[gPlayersToRenderCount] - 2][D_80164AB0[gPlayersToRenderCount-1] + 4].unk_00,
- D_802BFB80[D_801651D0[D_80164ABE[gPlayersToRenderCount]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164ABE[gPlayersToRenderCount] - 2][D_80164AB0[gPlayersToRenderCount-1] + 4].pixel_index_array);
+ mio0decode(D_802DFB80[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1] - 2][D_80164AB0[gPlayersToRenderCount-1] + 4].unk_00,
+ D_802BFB80[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1] - 2][D_80164AB0[gPlayersToRenderCount-1] + 4].pixel_index_array);
}
void try_render_player(Player *player, s8 playerId, s8 arg2) {