port GetDoor

This commit is contained in:
rr- 2021-02-25 18:24:07 +01:00
parent 2c4d416e88
commit bd1a7963fc
4 changed files with 35 additions and 7 deletions

View file

@ -162,7 +162,7 @@
<rect width="12.00" height="12.00" x="126.00" y="59.00" fill="lightpink"/>
<rect width="12.00" height="12.00" x="140.00" y="59.00" fill="lightpink"/>
<rect width="12.00" height="12.00" x="154.00" y="59.00" fill="lightpink"/>
<rect width="12.00" height="12.00" x="168.00" y="59.00" fill="lightpink"/>
<rect width="12.00" height="12.00" x="168.00" y="59.00" fill="forestgreen"/>
<rect width="12.00" height="12.00" x="182.00" y="59.00" fill="lightpink"/>
<rect width="12.00" height="12.00" x="196.00" y="59.00" fill="lightpink"/>
<rect width="12.00" height="12.00" x="210.00" y="59.00" fill="lightpink"/>
@ -1232,7 +1232,7 @@
<rect width="6.23" height="5.37" x="634.62" y="450.24" fill="lightpink"/>
<rect width="6.23" height="5.37" x="642.84" y="450.24" fill="lightpink"/>
<rect width="5.92" height="5.37" x="651.07" y="450.24" fill="mistyrose"/>
<rect width="5.92" height="5.37" x="659.00" y="450.24" fill="lightpink"/>
<rect width="5.92" height="5.37" x="659.00" y="450.24" fill="forestgreen"/>
<rect width="5.82" height="5.37" x="666.92" y="450.24" fill="lightpink"/>
<rect width="5.82" height="5.37" x="674.74" y="450.24" fill="lightpink"/>
<rect width="5.72" height="5.37" x="682.56" y="450.24" fill="lightpink"/>
@ -1459,10 +1459,10 @@
<rect width="-0.46" height="0.42" x="695.22" y="535.58" fill="mistyrose"/>
<rect width="-0.76" height="-0.18" x="696.76" y="535.58" fill="mistyrose"/>
<rect width="-0.76" height="-1.39" x="696.76" y="537.39" fill="lightpink"/>
<rect width="12.00" height="12.00" x="0.00" y="564.50" fill="forestgreen"/><text alignment-baseline="central" x="17.00" y="570.50" style="font-family: sans-serif; font-size: 15px">Functions decompiled (count): 32.10%</text>
<rect width="12.00" height="12.00" x="0.00" y="582.50" fill="forestgreen"/><text alignment-baseline="central" x="17.00" y="588.50" style="font-family: sans-serif; font-size: 15px">Functions decompiled (bytesize): 31.55%</text>
<rect width="12.00" height="12.00" x="0.00" y="600.50" fill="lightpink"/><text alignment-baseline="central" x="17.00" y="606.50" style="font-family: sans-serif; font-size: 15px">Functions not decompiled, but with known names (count): 53.91%</text>
<rect width="12.00" height="12.00" x="0.00" y="618.50" fill="lightpink"/><text alignment-baseline="central" x="17.00" y="624.50" style="font-family: sans-serif; font-size: 15px">Functions not decompiled, but with known names (bytesize): 52.48%</text>
<rect width="12.00" height="12.00" x="0.00" y="564.50" fill="forestgreen"/><text alignment-baseline="central" x="17.00" y="570.50" style="font-family: sans-serif; font-size: 15px">Functions decompiled (count): 32.24%</text>
<rect width="12.00" height="12.00" x="0.00" y="582.50" fill="forestgreen"/><text alignment-baseline="central" x="17.00" y="588.50" style="font-family: sans-serif; font-size: 15px">Functions decompiled (bytesize): 31.58%</text>
<rect width="12.00" height="12.00" x="0.00" y="600.50" fill="lightpink"/><text alignment-baseline="central" x="17.00" y="606.50" style="font-family: sans-serif; font-size: 15px">Functions not decompiled, but with known names (count): 53.77%</text>
<rect width="12.00" height="12.00" x="0.00" y="618.50" fill="lightpink"/><text alignment-baseline="central" x="17.00" y="624.50" style="font-family: sans-serif; font-size: 15px">Functions not decompiled, but with known names (bytesize): 52.45%</text>
<rect width="12.00" height="12.00" x="0.00" y="636.50" fill="mistyrose"/><text alignment-baseline="central" x="17.00" y="642.50" style="font-family: sans-serif; font-size: 15px">Functions not decompiled, with unknown names (count): 13.99%</text>
<rect width="12.00" height="12.00" x="0.00" y="654.50" fill="mistyrose"/><text alignment-baseline="central" x="17.00" y="660.50" style="font-family: sans-serif; font-size: 15px">Functions not decompiled, with unknown names (bytesize): 15.97%</text>
</svg>

Before

Width:  |  Height:  |  Size: 110 KiB

After

Width:  |  Height:  |  Size: 110 KiB

Before After
Before After

View file

@ -202,7 +202,7 @@ RefreshCamera 0x00413FA0 0x000000D4 -
TestTriggers 0x00414080 0x0000074E *
TriggerActive 0x00414820 0x00000055 -
GetCeiling 0x00414880 0x0000024B *
GetDoor 0x00414AE0 0x0000004E -
GetDoor 0x00414AE0 0x0000004E +
LOS 0x00414B30 0x000000A0 *
zLOS 0x00414BD0 0x00000272 -
xLOS 0x00414E50 0x00000270 -

View file

@ -291,10 +291,37 @@ void TranslateItem(ITEM_INFO* item, int32_t x, int32_t y, int32_t z)
item->pos.z += (c * z - s * x) >> W2V_SHIFT;
}
int16_t GetDoor(FLOOR_INFO* floor)
{
if (!floor->index) {
return NO_ROOM;
}
int16_t* data = &FloorData[floor->index];
int16_t type = *data++;
if (type == FT_TILT) {
data++;
type = *data++;
}
if (type == FT_ROOF) {
data++;
type = *data++;
}
if ((type & DATA_TYPE) == FT_DOOR) {
return *data;
}
return NO_ROOM;
}
void T1MInjectGameControl()
{
INJECT(0x004133B0, ControlPhase);
INJECT(0x00413660, AnimateItem);
INJECT(0x00413960, GetChange);
INJECT(0x00413A10, TranslateItem);
INJECT(0x00414AE0, GetDoor);
}

View file

@ -18,6 +18,7 @@ int32_t ControlPhase(int32_t nframes, int demo_mode);
void AnimateItem(ITEM_INFO* item);
int32_t GetChange(ITEM_INFO* item, ANIM_STRUCT* anim);
void TranslateItem(ITEM_INFO* item, int32_t x, int32_t y, int32_t z);
int16_t GetDoor(FLOOR_INFO* floor);
void T1MInjectGameControl();