summaryrefslogtreecommitdiff
path: root/src/code/m_field_info.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/code/m_field_info.c')
-rw-r--r--src/code/m_field_info.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/code/m_field_info.c b/src/code/m_field_info.c
index 66722a8..85c8c3b 100644
--- a/src/code/m_field_info.c
+++ b/src/code/m_field_info.c
@@ -6,7 +6,7 @@
s32 mFI_BlockCheck(s32 blockX, s32 blockZ);
-// mCoBG_unkStructUnion l_edge_ut = { { 0, 31, 31, 31, 31, 31, mCoBG_ATTRIBUTE_0 } };
+// mCoBG_unkStructUnion l_edge_ut = { { 0, 31, 31, 31, 31, 31, mCoBG_ATTRIBUTE_GRASS0 } };
extern mCoBG_unkStructUnion l_edge_ut;
extern FieldMakeInfo* g_fdinfo;
@@ -511,13 +511,23 @@ mCoBG_unkStructUnion* mFI_UtNum2UtCol(s32 utX, s32 utZ) {
#pragma GLOBAL_ASM("asm/jp/nonmatchings/code/m_field_info/func_800897D0_jp.s")
-#pragma GLOBAL_ASM("asm/jp/nonmatchings/code/m_field_info/func_80089888_jp.s")
+mCoBG_unkStructUnion* mFI_GetUnitCol(xyz_t wpos) {
+ s32 utX;
+ s32 utZ;
+ s32 validWpos = mFI_Wpos2UtNum(&utX, &utZ, wpos);
+
+ if (!validWpos) {
+ return &l_edge_ut;
+ } else {
+ return mFI_UtNum2UtCol(utX, utZ);
+ }
+}
#pragma GLOBAL_ASM("asm/jp/nonmatchings/code/m_field_info/func_800898F4_jp.s")
#pragma GLOBAL_ASM("asm/jp/nonmatchings/code/m_field_info/func_800899CC_jp.s")
-#pragma GLOBAL_ASM("asm/jp/nonmatchings/code/m_field_info/func_80089A34_jp.s")
+#pragma GLOBAL_ASM("asm/jp/nonmatchings/code/m_field_info/mFI_GetSoundSourcePBlockNum.s")
#pragma GLOBAL_ASM("asm/jp/nonmatchings/code/m_field_info/func_80089AAC_jp.s")
@@ -749,7 +759,7 @@ s32 mFI_GetWaveUtinBlock(s32* arg0, s32* arg1, s32 arg2, s32 arg3) {
for (i = 0; i < 0x100; i++) {
- if (func_80076358_jp(var_s1->data.unk6) == 1) {
+ if (func_80076358_jp(var_s1->data.unitAttribute) == 1) {
var_s3 += 1;
}
@@ -762,7 +772,7 @@ s32 mFI_GetWaveUtinBlock(s32* arg0, s32* arg1, s32 arg2, s32 arg3) {
for (i = 0; i < 0x100; i++) {
- if (func_80076358_jp(var_s1->data.unk6) == 1) {
+ if (func_80076358_jp(var_s1->data.unitAttribute) == 1) {
if (var_s2 <= 0) {
arg0[0] = i & 0xF;