diff --git a/configure.py b/configure.py index 5a17e5ee3..385bf22e3 100644 --- a/configure.py +++ b/configure.py @@ -385,7 +385,7 @@ config.libs = [ Object(NonMatching, "d/d_vibration.cpp"), Object(NonMatching, "d/d_vib_pattern.cpp"), Object(NonMatching, "d/d_attention.cpp"), - Object(NonMatching, "d/d_att_dist.cpp"), + Object(Matching, "d/d_att_dist.cpp"), Object(Matching, "d/d_bg_s.cpp"), Object(NonMatching, "d/d_bg_s_acch.cpp"), Object(NonMatching, "d/d_bg_s_func.cpp"), diff --git a/include/d/d_attention.h b/include/d/d_attention.h index 7fa301fa0..694aa9de5 100644 --- a/include/d/d_attention.h +++ b/include/d/d_attention.h @@ -194,7 +194,7 @@ public: f32 mDeltaYMin; f32 mWeightDivisor; int mFrontAngleCheckBits; - } dist_table[16]; + } dist_table[]; // TODO: void GetLockonCount() {} @@ -244,4 +244,4 @@ public: STATIC_ASSERT(sizeof(dAttention_c) == 0x190); -#endif /* D_D_ATTENTION_H */ \ No newline at end of file +#endif /* D_D_ATTENTION_H */ diff --git a/src/d/d_att_dist.cpp b/src/d/d_att_dist.cpp index 2148d810f..701f17033 100644 --- a/src/d/d_att_dist.cpp +++ b/src/d/d_att_dist.cpp @@ -4,3 +4,192 @@ // #include "d/d_attention.h" + +dAttention_c::DistTbl dAttention_c::dist_table[] = { + { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.01f, 0x0000 }, + { 250.0f, 375.0f, 500.0f, 400.0f, -400.0f, 0.50f, 0x0000 }, + { 187.5f, 250.0f, 312.5f, 300.0f, -300.0f, 1.00f, 0x0000 }, + { 375.0f, 625.0f, 500.0f, 500.0f, -500.0f, 10.00f, 0x0000 }, + { 500.0f, 600.0f, 1500.0f, 2000.0f, -2000.0f, 10.00f, 0x0000 }, + { 150.0f, 200.0f, 0.0f, 100.0f, -100.0f, 2.00f, 0x0011 }, + { 150.0f, 200.0f, 0.0f, 100.0f, -100.0f, 1.00f, 0x0011 }, + { 187.5f, 250.0f, 312.5f, 300.0f, -300.0f, 1.00f, 0x0000 }, + { 80.0f, 80.0f, 0.0f, 30.0f, -130.0f, 1.00f, 0x0001 }, + { 100.0f, 100.0f, 0.0f, 50.0f, -120.0f, 1.00f, 0x0001 }, + { 100.0f, 100.0f, 0.0f, 45.0f, -125.0f, 1.00f, 0x0001 }, + { 100.0f, 100.0f, 0.0f, 40.0f, -130.0f, 1.00f, 0x0001 }, + { 80.0f, 80.0f, 0.0f, 40.0f, -110.0f, 1.00f, 0x0001 }, + { 80.0f, 80.0f, 0.0f, 10.0f, -130.0f, 1.00f, 0x0001 }, + { 200.0f, 200.0f, 0.0f, 100.0f, -120.0f, 1.00f, 0x0001 }, + { 150.0f, 150.0f, 0.0f, 200.0f, -200.0f, 1.00f, 0x0004 }, + { 100.0f, 120.0f, 300.0f, 300.0f, -200.0f, 1.00f, 0x0004 }, + { 100.0f, 100.0f, 0.0f, 20.0f, -120.0f, 1.00f, 0x0000 }, + { 200.0f, 200.0f, 0.0f, 400.0f, -120.0f, 1.00f, 0x0001 }, + { 450.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0000 }, + { 450.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0000 }, + { 1200.0f, 1700.0f, 0.0f, 2000.0f, -2000.0f, 1.00f, 0x0001 }, + { 1200.0f, 1700.0f, 0.0f, 2000.0f, -2000.0f, 1.00f, 0x0001 }, + { 120.0f, 120.0f, 0.0f, 195.0f, 25.0f, 1.00f, 0x0001 }, + { 340.0f, 340.0f, 0.0f, 100.0f, -120.0f, 1.00f, 0x0001 }, + { 340.0f, 340.0f, 0.0f, 180.0f, -40.0f, 1.00f, 0x0001 }, + { 1200.0f, 1250.0f, 0.0f, 1000.0f, -1000.0f, 1.00f, 0x0000 }, + { 600.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 600.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0000 }, + { 150.0f, 200.0f, 0.0f, 170.0f, -100.0f, 2.00f, 0x0011 }, + { 150.0f, 200.0f, 0.0f, 170.0f, -100.0f, 1.00f, 0x0011 }, + { 150.0f, 200.0f, 0.0f, 180.0f, -100.0f, 2.00f, 0x0011 }, + { 150.0f, 200.0f, 0.0f, 180.0f, -100.0f, 1.00f, 0x0011 }, + { 1000.0f, 1050.0f, 0.0f, 1000.0f, -1000.0f, 1.00f, 0x0001 }, + { 500.0f, 600.0f, 4500.0f, 2000.0f, -2000.0f, 1.00f, 0x0000 }, + { 150.0f, 200.0f, 0.0f, 250.0f, -100.0f, 2.00f, 0x0011 }, + { 150.0f, 200.0f, 0.0f, 250.0f, -100.0f, 1.00f, 0x0011 }, + { 350.0f, 350.0f, 0.0f, 700.0f, -700.0f, 1.00f, 0x0001 }, + { 15000.0f, 15000.0f, 0.0f, 10000.0f, -10000.0f, 1.00f, 0x0000 }, + { 100.0f, 100.0f, 0.0f, 60.0f, -125.0f, 1.00f, 0x0001 }, + { 300.0f, 350.0f, 0.0f, 250.0f, -400.0f, 2.00f, 0x0011 }, + { 400.0f, 450.0f, 200.0f, 500.0f, -500.0f, 1.00f, 0x0000 }, + { 2500.0f, 2600.0f, 2500.0f, 2000.0f, -2000.0f, 1.00f, 0x0000 }, + { 5000.0f, 5500.0f, 0.0f, 2000.0f, -2000.0f, 1.00f, 0x0000 }, + { 5000.0f, 5500.0f, 0.0f, 2000.0f, -2000.0f, 1.00f, 0x0000 }, + { 260.0f, 280.0f, 0.0f, 100.0f, -120.0f, 1.00f, 0x0001 }, + { 50.0f, 50.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 100.0f, 100.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 150.0f, 150.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 200.0f, 200.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 250.0f, 250.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 300.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 350.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 400.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 450.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 500.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 550.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 600.0f, 600.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 650.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 700.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 750.0f, 750.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 800.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 850.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 900.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 950.0f, 950.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 1000.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x000C }, + { 50.0f, 50.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 100.0f, 100.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 150.0f, 150.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 200.0f, 200.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 250.0f, 250.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 300.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 350.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 400.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 450.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 500.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 550.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 600.0f, 600.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 650.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 700.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 750.0f, 750.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 800.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 850.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 900.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 950.0f, 950.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 1000.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0014 }, + { 50.0f, 50.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 100.0f, 100.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 150.0f, 150.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 200.0f, 200.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 250.0f, 250.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 300.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 350.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 400.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 450.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 500.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 550.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 600.0f, 600.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 650.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 700.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 750.0f, 750.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 800.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 850.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 900.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 950.0f, 950.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 1000.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0024 }, + { 50.0f, 50.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 100.0f, 100.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 150.0f, 150.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 200.0f, 200.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 250.0f, 250.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 300.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 350.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 400.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 450.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 500.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 550.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 600.0f, 600.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 650.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 700.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 750.0f, 750.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 800.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 850.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 900.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 950.0f, 950.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 1000.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0044 }, + { 50.0f, 50.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 100.0f, 100.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 150.0f, 150.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 200.0f, 200.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 250.0f, 250.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 300.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 350.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 400.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 450.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 500.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 550.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 600.0f, 600.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 650.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 700.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 750.0f, 750.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 800.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 850.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 900.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 950.0f, 950.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 1000.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0084 }, + { 50.0f, 50.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 100.0f, 100.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 150.0f, 150.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 200.0f, 200.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 250.0f, 250.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 300.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 350.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 400.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 450.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 500.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 550.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 600.0f, 600.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 650.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 700.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 750.0f, 750.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 800.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 850.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 900.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 950.0f, 950.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 1000.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0104 }, + { 50.0f, 50.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 100.0f, 100.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 150.0f, 150.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 200.0f, 200.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 250.0f, 250.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 300.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 350.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 400.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 450.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 500.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 550.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 600.0f, 600.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 650.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 700.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 750.0f, 750.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 800.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 850.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 900.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 950.0f, 950.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, + { 1000.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.00f, 0x0004 }, +};