Decompile itemOnGround.c

This commit is contained in:
Marcus Huderle
2020-09-24 19:33:15 -05:00
parent 82654cd402
commit 3b78407194
13 changed files with 990 additions and 1633 deletions
+73 -2
View File
@@ -5,10 +5,12 @@
#include "room.h"
extern void sub_0805E5A8();
extern void sub_08080BC4(void);
extern RoomControls gRoomControls;
extern u32 gUnk_0200B650;
extern u32 gUnk_02025EB0;
extern u8 gUnk_02000070;
extern void DoExitTransition(ScreenTransitionData*);
extern void sub_080809D4();
@@ -53,7 +55,6 @@ void sub_08080930(void)
}
u32* GetLayerByIndex(u32 param_1)
{
if (param_1 == 2) {
@@ -64,9 +65,79 @@ u32* GetLayerByIndex(u32 param_1)
}
void sub_08080964(u16 time, u32 magnitude)
{
gRoomControls.screenShakeTime = time;
gRoomControls.screenShakeMagnitude = magnitude & 7;
return;
}
void sub_08080974(u32 arg0, u32 arg1) {
u32 var0, var1;
RoomControls* roomControls = &gRoomControls;
var0 = roomControls->roomOriginX;
if (arg0 <= var0 + 120) {
roomControls->roomScrollX = var0;
} else {
var0 += roomControls->width;
var1 = var0 - 120;
if (arg0 < var1) {
var1 = arg0;
}
roomControls->roomScrollX = var1 - 120;
}
var0 = roomControls->roomOriginY;
if (arg1 <= var0 + 80) {
roomControls->roomScrollY = var0;
} else {
var0 += roomControls->height;
var1 = var0 - 80;
if (arg1 < var1) {
var1 = arg1;
}
roomControls->roomScrollY = var1 - 80;
}
sub_080809D4();
gUnk_02000070 = 1;
}
void sub_080809D4(void) {
register Entity* target asm("r4");
int x, y;
int var1, var0;
RoomControls* roomControls = &gRoomControls;
roomControls->unk6 &= 0xFB;
target = roomControls->cameraTarget;
x = target->x.HALF.HI;
var0 = roomControls->roomOriginX;
if (x <= var0 + 120) {
roomControls->roomScrollX = var0;
} else {
var0 += roomControls->width;
var1 = var0 - 120;
if (x < var1) {
var1 = (u16)target->x.HALF.HI;
}
roomControls->roomScrollX = var1 - 120;
}
target = roomControls->cameraTarget;
y = target->y.HALF.HI;
var0 = roomControls->roomOriginY;
if (y <= var0 + 80) {
roomControls->roomScrollY = var0;
} else {
var0 += roomControls->height;
var1 = var0 - 80;
if (y < var1) {
var1 = (u16)target->y.HALF.HI;
}
roomControls->roomScrollY = var1 - 80;
}
sub_08080BC4();
gUnk_02000070 = 1;
}