Implement/match LegoAnimationManager::AddExtra (#901)

* Implement/match LegoAnimationManager::AddExtra

* Rename member

* Fix param names

* Remove space
This commit is contained in:
Christian Semmler
2024-05-10 14:07:38 -04:00
committed by GitHub
parent a1388adcd7
commit d9a82323ca
20 changed files with 522 additions and 226 deletions

View File

@@ -1,11 +1,24 @@
#include "legocameralocations.h"
#include "legolocations.h"
DECOMP_SIZE_ASSERT(LegoCameraLocation, 0x60)
DECOMP_SIZE_ASSERT(LegoCameraLocation::Path, 0x18)
DECOMP_SIZE_ASSERT(LegoLocation, 0x60)
DECOMP_SIZE_ASSERT(LegoLocation::Boundary, 0x18)
// GLOBAL: LEGO1 0x100f4c60
LegoCameraLocation g_cameraLocations[] = {
{0, "look at origin from z=-8", 0, 1.25, -8, 0, 0, 1, 0, 1, 0, {NULL, 0, 0, 0, 0, 0}, {NULL, 0, 0, 0, 0, 0}, 0},
LegoLocation g_locations[] = {
{0,
"look at origin from z=-8",
0,
1.25,
-8,
0,
0,
1,
0,
1,
0,
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
FALSE},
{1,
"LCAMBA1",
0.852546,
@@ -17,8 +30,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG02_13", 2, 0.75, 0, 0.25, 1},
{NULL, 0, 0, 0, 0, 0},
{"EDG02_13", 2, 0.75, 0, 0.25, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
10240},
{2,
"LCAMBA2",
@@ -31,8 +44,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG02_37", 2, 0.75, 0, 0.25, 1},
{NULL, 0, 0, 0, 0, 0},
{"EDG02_37", 2, 0.75, 0, 0.25, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
5120},
{3,
"LCAMBA3",
@@ -45,8 +58,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG02_26", 0, 0.75, 2, 0.25, 1},
{NULL, 0, 0, 0, 0, 0},
{"EDG02_26", 0, 0.75, 2, 0.25, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
5120},
{4,
"LCAMBA4",
@@ -59,8 +72,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG00_146", 0, 0.5, 2, 0.5, 1},
{NULL, 0, 0, 0, 0, 0},
{"EDG00_146", 0, 0.5, 2, 0.5, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
7680},
{5,
"LCAMCA1",
@@ -73,8 +86,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"INT01", 2, 0.5, 6, 0.5, 1},
{NULL, 0, 0, 0, 0, 0},
{"INT01", 2, 0.5, 6, 0.5, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{6,
"LCAMCA2",
@@ -87,8 +100,8 @@ LegoCameraLocation g_cameraLocations[] = {
0.000446,
0.999999,
-0.001387,
{"EDG00_104", 0, 0.5, 2, 0.5, 1},
{NULL, 0, 0, 0, 0, 0},
{"EDG00_104", 0, 0.5, 2, 0.5, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{7,
"LCAMCA3",
@@ -101,8 +114,8 @@ LegoCameraLocation g_cameraLocations[] = {
-0.000173,
0.999998,
0.001888,
{"EDG02_58", 2, 0.25, 0, 0.75, 1},
{NULL, 0, 0, 0, 0, 0},
{"EDG02_58", 2, 0.25, 0, 0.75, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{8,
"LCAMGS1",
@@ -115,8 +128,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG02_40", 2, 0.25, 0, 0.25, 1},
{NULL, 0, 0, 0, 0, 0},
{"EDG02_40", 2, 0.25, 0, 0.25, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
17920},
{9,
"LCAMGS2",
@@ -129,8 +142,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"INT19", 1, 0.75, 0, 0.75, 1},
{NULL, 0, 0, 0, 0, 0},
{"INT19", 1, 0.75, 0, 0.75, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{10,
"LCAMGS3",
@@ -143,8 +156,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG00_74", 0, 0.5, 2, 0.5, 1},
{NULL, 0, 0, 0, 0, 0},
{"EDG00_74", 0, 0.5, 2, 0.5, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{11,
"LCAMHO1",
@@ -157,8 +170,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
12800},
{12,
"LCAMHO2",
@@ -171,8 +184,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{13,
"LCAMHO3",
@@ -185,8 +198,8 @@ LegoCameraLocation g_cameraLocations[] = {
0.005781,
0.999976,
0.003708,
{"EDG02_27", 1, 0.89, 2, 0.89, 0},
{NULL, 0, 0, 0, 0, 0},
{"EDG02_27", 1, 0.89, 2, 0.89, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{14,
"LCAMHO4",
@@ -199,8 +212,8 @@ LegoCameraLocation g_cameraLocations[] = {
-0.034088,
0.999355,
-0.011255,
{"EDG02_27", 1, 0.89, 2, 0.89, 0},
{NULL, 0, 0, 0, 0, 0},
{"EDG02_27", 1, 0.89, 2, 0.89, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
25600},
{15,
"LCAMIC1",
@@ -213,8 +226,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG00_69", 2, 0.5, 0, 0.5, 0},
{NULL, 0, 0, 0, 0, 0},
{"EDG00_69", 2, 0.5, 0, 0.5, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{16,
"LCAMIC2",
@@ -227,8 +240,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG02_66", 2, 0.5, 0, 0.5, 0},
{NULL, 0, 0, 0, 0, 0},
{"EDG02_66", 2, 0.5, 0, 0.5, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{17,
"LCAMIC3",
@@ -241,8 +254,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG02_68", 0, 0.5, 2, 0.5, 1},
{NULL, 0, 0, 0, 0, 0},
{"EDG02_68", 0, 0.5, 2, 0.5, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
5120},
{18,
"LCAMJA1",
@@ -255,8 +268,8 @@ LegoCameraLocation g_cameraLocations[] = {
-0.006372,
0.999977,
-0.002478,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
25600},
{19,
"LCAMJA2",
@@ -269,8 +282,8 @@ LegoCameraLocation g_cameraLocations[] = {
-0.010811,
0.999927,
0.005453,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{20,
"LCAMJA3",
@@ -283,8 +296,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"INT33", 1, 0.9, 3, 0.9, 0},
{NULL, 0, 0, 0, 0, 0},
{"INT33", 1, 0.9, 3, 0.9, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{21,
"LCAMJA4",
@@ -297,8 +310,8 @@ LegoCameraLocation g_cameraLocations[] = {
-0.001442,
0.999945,
0.010407,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{22,
"LCAMJA5",
@@ -311,8 +324,8 @@ LegoCameraLocation g_cameraLocations[] = {
-0.007107,
0.999949,
-0.007199,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{23,
"LCAMJS1",
@@ -325,8 +338,8 @@ LegoCameraLocation g_cameraLocations[] = {
0.000653,
0.999999,
-0.000932,
{"INT26", 0, 0.5, 3, 0.5, 0},
{NULL, 0, 0, 0, 0, 0},
{"INT26", 0, 0.5, 3, 0.5, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
25600},
{24,
"LCAMJS2",
@@ -339,8 +352,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
25600},
{25,
"LCAMJS3",
@@ -353,8 +366,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
25600},
{26,
"LCAMJS4",
@@ -367,8 +380,8 @@ LegoCameraLocation g_cameraLocations[] = {
-0.000261,
0.999999,
-0.001364,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{27,
"LCAMMT1",
@@ -381,8 +394,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
12800},
{28,
"LCAMMT2",
@@ -395,8 +408,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{29,
"LCAMPK1",
@@ -409,8 +422,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG00_83", 0, 0.9, 2, 0.9, 0},
{NULL, 0, 0, 0, 0, 0},
{"EDG00_83", 0, 0.9, 2, 0.9, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
12800},
{30,
"LCAMPK2",
@@ -423,8 +436,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{31,
"LCAMPK4",
@@ -437,8 +450,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
6400},
{32,
"LCAMPO1",
@@ -451,8 +464,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
5120},
{33,
"LCAMPO2",
@@ -465,8 +478,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG00_191", 0, 0.5, 2, 0.5, 1},
{NULL, 0, 0, 0, 0, 0},
{"EDG00_191", 0, 0.5, 2, 0.5, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{34,
"LCAMPS1",
@@ -479,8 +492,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG02_40", 0, 0.5, 2, 0.5, 0},
{NULL, 0, 0, 0, 0, 0},
{"EDG02_40", 0, 0.5, 2, 0.5, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
6400},
{35,
"LCAMPS2",
@@ -493,8 +506,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
6400},
{36,
"LCAMPS3",
@@ -507,8 +520,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG02_66", 1, 0.15, 2, 0.15, 0},
{NULL, 0, 0, 0, 0, 0},
{"EDG02_66", 1, 0.15, 2, 0.15, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
6400},
{37,
"LCAMPS4",
@@ -521,8 +534,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG02_40", 0, 0.5, 2, 0.5, 0},
{NULL, 0, 0, 0, 0, 0},
{"EDG02_40", 0, 0.5, 2, 0.5, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{38,
"LCAMPZ1",
@@ -535,8 +548,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
20480},
{39,
"LCAMPZ2",
@@ -549,8 +562,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
23040},
{40,
"LCAMPZ3",
@@ -563,10 +576,23 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG00_24", 0, 0.9, 2, 0.9, 1},
{NULL, 0, 0, 0, 0, 0},
{"EDG00_24", 0, 0.9, 2, 0.9, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
25600},
{41, "LCAMPZ4", -20.492962, 1.25, -43.951485, 0, 0, 1, 0, 1, 0, {NULL, 0, 0, 0, 0, 0}, {NULL, 0, 0, 0, 0, 0}, 0},
{41,
"LCAMPZ4",
-20.492962,
1.25,
-43.951485,
0,
0,
1,
0,
1,
0,
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
FALSE},
{42,
"LCAMPZ5",
-11.0625,
@@ -578,8 +604,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
12800},
{43,
"LCAMPZ6",
@@ -592,8 +618,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{44,
"LCAMPZ7",
@@ -606,8 +632,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{45,
"LCAMRA1",
@@ -620,8 +646,8 @@ LegoCameraLocation g_cameraLocations[] = {
-0.007751,
0.998685,
-0.050677,
{"EDG00_03", 1, 0.5, 3, 0.5, 1},
{NULL, 0, 0, 0, 0, 0},
{"EDG00_03", 1, 0.5, 3, 0.5, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{46,
"LCAMRA2",
@@ -634,8 +660,8 @@ LegoCameraLocation g_cameraLocations[] = {
-0.000078,
1,
0.000105,
{"EDG01_17", 0, 0.5, 3, 0.5, 1},
{NULL, 0, 0, 0, 0, 0},
{"EDG01_17", 0, 0.5, 3, 0.5, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
6400},
{47,
"LCAMRA3",
@@ -648,8 +674,8 @@ LegoCameraLocation g_cameraLocations[] = {
-0.000112,
1,
0.000021,
{"EDG01_40", 2, 0.5, 0, 0.5, 1},
{NULL, 0, 0, 0, 0, 0},
{"EDG01_40", 2, 0.5, 0, 0.5, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{48,
"LCAMRA4",
@@ -662,8 +688,8 @@ LegoCameraLocation g_cameraLocations[] = {
0.035939,
0.999346,
-0.00388,
{"EDG01_27", 0, 0.5, 2, 0.5, 1},
{NULL, 0, 0, 0, 0, 0},
{"EDG01_27", 0, 0.5, 2, 0.5, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
6400},
{49,
"LCAMRA5",
@@ -676,8 +702,8 @@ LegoCameraLocation g_cameraLocations[] = {
0.024875,
0.999675,
-0.005499,
{"EDG01_08", 2, 0.7, 0, 0.7, 1},
{NULL, 0, 0, 0, 0, 0},
{"EDG01_08", 2, 0.7, 0, 0.7, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
6400},
{50,
"LCAMRA6",
@@ -690,8 +716,8 @@ LegoCameraLocation g_cameraLocations[] = {
0.000378,
1,
0.000009,
{"EDG01_13", 1, 0.2, 0, 0.2, 1},
{NULL, 0, 0, 0, 0, 0},
{"EDG01_13", 1, 0.2, 0, 0.2, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{51,
"LCAMRT1",
@@ -704,8 +730,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG03_10", 0, 0.5, 2, 0.5, 0},
{NULL, 0, 0, 0, 0, 0},
{"EDG03_10", 0, 0.5, 2, 0.5, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
20480},
{52,
"LCAMRT2",
@@ -718,8 +744,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG03_10", 0, 0.5, 2, 0.5, 0},
{NULL, 0, 0, 0, 0, 0},
{"EDG03_10", 0, 0.5, 2, 0.5, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
25600},
{53,
"LCAMRT3",
@@ -732,10 +758,23 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
25600},
{54, "LCAMRT4", 0.4375, 1.25, 7, -0.748454, 0, -0.663187, 0, 1, 0, {NULL, 0, 0, 0, 0, 0}, {NULL, 0, 0, 0, 0, 0}, 0},
{54,
"LCAMRT4",
0.4375,
1.25,
7,
-0.748454,
0,
-0.663187,
0,
1,
0,
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
FALSE},
{55,
"LCAMRT5",
-27.213715,
@@ -747,8 +786,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG03_05", 1, 0.5, 2, 0.5, 0},
{NULL, 0, 0, 0, 0, 0},
{"EDG03_05", 1, 0.5, 2, 0.5, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{56,
"LCAMRT6",
@@ -761,8 +800,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"EDG03_10", 0, 0.5, 2, 0.5, 0},
{NULL, 0, 0, 0, 0, 0},
{"EDG03_10", 0, 0.5, 2, 0.5, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
15360},
{57,
"LCAMST1",
@@ -775,8 +814,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
5120},
{58,
"LCAMST2",
@@ -789,8 +828,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{59,
"LCAMZG1",
@@ -803,11 +842,37 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{"INT22", 0, 0.4, 2, 0.4, 1},
{NULL, 0, 0, 0, 0, 0},
{"INT22", 0, 0.4, 2, 0.4, TRUE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{60, "LCAMZI1", 93.37283, 10.1875, -10.382307, 0, 0, 1, 0, 1, 0, {NULL, 0, 0, 0, 0, 0}, {NULL, 0, 0, 0, 0, 0}, 0},
{61, "LCAMZI2", 93.37283, 19.4375, -10.382307, 0, 0, 1, 0, 1, 0, {NULL, 0, 0, 0, 0, 0}, {NULL, 0, 0, 0, 0, 0}, 0},
{60,
"LCAMZI1",
93.37283,
10.1875,
-10.382307,
0,
0,
1,
0,
1,
0,
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
FALSE},
{61,
"LCAMZI2",
93.37283,
19.4375,
-10.382307,
0,
0,
1,
0,
1,
0,
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
FALSE},
{62,
"LCAMZIE",
93.375,
@@ -819,8 +884,8 @@ LegoCameraLocation g_cameraLocations[] = {
0.254493,
0.967075,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{63,
"LCAMZIN",
@@ -833,8 +898,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
0.967203,
0.254006,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{64,
"LCAMZIS",
@@ -847,8 +912,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
0.966946,
-0.254982,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{65,
"LCAMZIW",
@@ -861,8 +926,8 @@ LegoCameraLocation g_cameraLocations[] = {
-0.254493,
0.967075,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{66,
"LCAMZP1",
@@ -875,8 +940,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{67,
"LCAMRT7",
@@ -889,8 +954,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
0},
{68,
"LCAMJS5",
@@ -903,8 +968,8 @@ LegoCameraLocation g_cameraLocations[] = {
0,
1,
0,
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, 0},
{NULL, 0, 0, 0, 0, FALSE},
{NULL, 0, 0, 0, 0, FALSE},
25600},
{69, "overhead", 0, 135, 0, 0, -1, 0, 0, 0, 1, {NULL, 0, 0, 0, 0, 0}, {NULL, 0, 0, 0, 0, 0}, 0}
{69, "overhead", 0, 135, 0, 0, -1, 0, 0, 0, 1, {NULL, 0, 0, 0, 0, FALSE}, {NULL, 0, 0, 0, 0, FALSE}, 0}
};

View File

@@ -4,9 +4,9 @@
#include "infocenterstate.h"
#include "legoanimationmanager.h"
#include "legocameracontroller.h"
#include "legocameralocations.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legolocations.h"
#include "legomain.h"
#include "legosoundmanager.h"
#include "legoutils.h"
@@ -403,21 +403,16 @@ MxBool LegoNavController::CalculateNewPosDir(
}
// FUNCTION: LEGO1 0x10055500
MxResult LegoNavController::UpdateCameraLocation(const char* p_location)
MxResult LegoNavController::UpdateLocation(const char* p_location)
{
MxResult result = FAILURE;
for (MxS32 i = 0; i < (MxS32) _countof(g_cameraLocations); i++) {
if (!strcmpi(p_location, g_cameraLocations[i].m_name)) {
for (MxS32 i = 0; i < (MxS32) _countof(g_locations); i++) {
if (!strcmpi(p_location, g_locations[i].m_name)) {
MxMatrix mat;
LegoROI* viewROI = VideoManager()->GetViewROI();
CalcLocalTransform(
g_cameraLocations[i].m_position,
g_cameraLocations[i].m_direction,
g_cameraLocations[i].m_up,
mat
);
CalcLocalTransform(g_locations[i].m_position, g_locations[i].m_direction, g_locations[i].m_up, mat);
Mx3DPointFloat vec;
vec.Clear();
@@ -441,18 +436,18 @@ MxResult LegoNavController::UpdateCameraLocation(const char* p_location)
}
// FUNCTION: LEGO1 0x10055620
MxResult LegoNavController::UpdateCameraLocation(MxU32 p_location)
MxResult LegoNavController::UpdateLocation(MxU32 p_location)
{
MxResult result = FAILURE;
if (p_location < _countof(g_cameraLocations)) {
if (p_location < _countof(g_locations)) {
MxMatrix mat;
LegoROI* viewROI = VideoManager()->GetViewROI();
CalcLocalTransform(
g_cameraLocations[p_location].m_position,
g_cameraLocations[p_location].m_direction,
g_cameraLocations[p_location].m_up,
g_locations[p_location].m_position,
g_locations[p_location].m_direction,
g_locations[p_location].m_up,
mat
);
@@ -478,10 +473,10 @@ MxResult LegoNavController::UpdateCameraLocation(MxU32 p_location)
// FUNCTION: LEGO1 0x10055720
// FUNCTION: BETA10 0x1009c259
LegoCameraLocation* LegoNavController::GetCameraLocation(MxU32 p_location)
LegoLocation* LegoNavController::GetLocation(MxU32 p_location)
{
if (p_location < _countof(g_cameraLocations)) {
return &g_cameraLocations[p_location];
if (p_location < _countof(g_locations)) {
return &g_locations[p_location];
}
return NULL;

View File

@@ -274,9 +274,9 @@ done:
// FUNCTION: LEGO1 0x1001f720
// FUNCTION: BETA10 0x100da24b
MxResult LegoWorld::FUN_1001f720(
IslePathActor* p_actor,
const char* p_path,
MxResult LegoWorld::PlaceActor(
LegoPathActor* p_actor,
const char* p_name,
MxS32 p_src,
float p_srcScale,
MxS32 p_dest,
@@ -287,7 +287,7 @@ MxResult LegoWorld::FUN_1001f720(
LegoPathController* controller;
while (cursor.Next(controller)) {
if (controller->FUN_10045c20(p_actor, p_path, p_src, p_srcScale, p_dest, p_destScale) == SUCCESS) {
if (controller->FUN_10045c20(p_actor, p_name, p_src, p_srcScale, p_dest, p_destScale) == SUCCESS) {
return SUCCESS;
}
}