diff --git a/src/game/propobj.c b/src/game/propobj.c index f7867abc0..69a2e3b73 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -46937,12 +46937,11 @@ Gfx *propsRenderBeams(Gfx *gdl) return gdl; } -GLOBAL_ASM( -glabel tvscreenSetImage -/* f07f918: ac850000 */ sw $a1,0x0($a0) -/* f07f91c: 03e00008 */ jr $ra -/* f07f920: a4800004 */ sh $zero,0x4($a0) -); +void tvscreenSetImage(struct tvscreen *screen, void *image) +{ + screen->image = image; + screen->offset = 0; +} u32 g_TvImage00 = 0x00000007; u32 var80069d94 = 0x0000001d; diff --git a/src/include/game/propobj.h b/src/include/game/propobj.h index 8adf88e51..5bd1eb684 100644 --- a/src/include/game/propobj.h +++ b/src/include/game/propobj.h @@ -204,7 +204,7 @@ bool propCanRegen(struct prop *prop); u32 func0f07e474(struct prop *prop); s32 objTick(struct prop *prop); Gfx *propsRenderBeams(Gfx *gdl); -void tvscreenSetImage(struct tvscreen *screen, void *arg1); +void tvscreenSetImage(struct tvscreen *screen, void *image); void tvscreenSetImageByNum(struct tvscreen *screen, s32 imagenum); u32 func0f07fbf0(void); u32 func0f07fbf8(void); diff --git a/src/include/types.h b/src/include/types.h index 82271e8f5..c5f943cf1 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -1518,35 +1518,45 @@ struct monitorthing { }; struct tvscreen { - /*0x00*/ u32 unk00; - /*0x04*/ u32 unk04; + /*0x00*/ void *image; + /*0x04*/ u16 offset; + /*0x06*/ u16 pause60; /*0x08*/ u32 unk08; - /*0x0c*/ u32 unk0c; - /*0x10*/ u32 unk10; - /*0x14*/ u32 unk14; - /*0x18*/ u32 unk18; - /*0x1c*/ u32 unk1c; - /*0x20*/ u32 unk20; - /*0x24*/ u32 unk24; - /*0x28*/ u32 unk28; - /*0x2c*/ u32 unk2c; - /*0x30*/ u32 unk30; - /*0x34*/ u32 unk34; - /*0x38*/ u32 unk38; - /*0x3c*/ u32 unk3c; - /*0x40*/ u32 unk40; - /*0x44*/ u32 unk44; - /*0x48*/ u32 unk48; - /*0x4c*/ u32 unk4c; - /*0x50*/ u32 unk50; - /*0x54*/ u32 unk54; - /*0x58*/ u32 unk58; - /*0x5c*/ u32 unk5c; - /*0x60*/ u32 unk60; - /*0x64*/ u32 unk64; - /*0x68*/ u32 unk68; - /*0x6c*/ u32 unk6c; - /*0x70*/ u32 unk70; + /*0x0c*/ u32 rot; + /*0x10*/ u32 xscale; + /*0x14*/ u32 xscalefrac; + /*0x18*/ u32 xscaleinc; + /*0x1c*/ u32 xscaleold; + /*0x20*/ u32 xscalenew; + /*0x24*/ u32 yscale; + /*0x28*/ u32 yscalefrac; + /*0x2c*/ u32 yscaleinc; + /*0x30*/ u32 yscaleold; + /*0x34*/ u32 yscalenew; + /*0x38*/ u32 xmid; + /*0x3c*/ u32 xmidfrac; + /*0x40*/ u32 xmidinc; + /*0x44*/ u32 xmidold; + /*0x48*/ u32 xmidnew; + /*0x4c*/ u32 ymid; + /*0x50*/ u32 ymidfrac; + /*0x54*/ u32 ymidinc; + /*0x58*/ u32 ymidold; + /*0x5c*/ u32 ymidnew; + /*0x60*/ u8 red; + /*0x61*/ u8 redold; + /*0x62*/ u8 rednew; + /*0x63*/ u8 green; + /*0x64*/ u8 greenold; + /*0x65*/ u8 greennew; + /*0x66*/ u8 blue; + /*0x67*/ u8 blueold; + /*0x68*/ u8 bluenew; + /*0x69*/ u8 alpha; + /*0x6a*/ u8 alphaold; + /*0x6b*/ u8 alphanew; + /*0x6c*/ u32 colfrac; + /*0x70*/ u32 colinc; }; struct hov {