summaryrefslogtreecommitdiff
path: root/src/code_80983D8.c
blob: 25c57d2d6086de5172708a799d225dff790d8859 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "global.h"

extern u32 gUnknown_8115E94[5][3]; // NOTE: Factor of two difference in array sizes

s32 CalculateFacingDir(short *param_1,short *param_2)
{
  s32 uVar1;
  s32 uVar2;
  s32 uVar3;

  uVar3 = param_2[0] - param_1[0];
  uVar2 = param_2[1] - param_1[1];
  if ((uVar3 == 0) && (uVar2 == 0)) {
    uVar1 = 0;
  }
  else {
    if (0 < uVar3) {
      uVar3 = 1;
    }
    if (0 < uVar2) {
      uVar2 = 1;
    }
    if (-1 >= uVar3) {
      uVar3 = -1;
    }
    if (-1 >= uVar2) {
      uVar2 = -1;
    }
    uVar1 = gUnknown_8115E94[(uVar2 + 1)][(uVar3 + 1)];
  }
  return uVar1;
}

s32 GetMaxPositionDifference(short param_1[],short param_2[])
{
  s32 diff_index1;
  s32 diff_index0;

  diff_index0 = param_1[0] - param_2[0];
  if (diff_index0 < 0) {
    diff_index0 = -diff_index0;
  }
  diff_index1 = param_1[1] - param_2[1];
  if (diff_index1 < 0) {
    diff_index1 = -diff_index1;
  }
  if (diff_index1 < diff_index0) {
    diff_index1 = diff_index0;
  }
  return diff_index1;
}