diff --git a/asm/MetroidPrime/BodyState/CBSHurled.s b/asm/MetroidPrime/BodyState/CBSHurled.s index 73df35dd..d0d53c3e 100644 --- a/asm/MetroidPrime/BodyState/CBSHurled.s +++ b/asm/MetroidPrime/BodyState/CBSHurled.s @@ -509,7 +509,7 @@ ShouldStartStrikeWall__9CBSHurledCFR15CBodyController: /* 80144AB0 00141A10 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80144AB4 00141A14 3B E0 00 00 */ li r31, 0 /* 80144AB8 00141A18 80 84 00 00 */ lwz r4, 0(r4) -/* 80144ABC 00141A1C 4B F6 7F A1 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 80144ABC 00141A1C 4B F6 7F A1 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 80144AC0 00141A20 80 63 00 04 */ lwz r3, 4(r3) /* 80144AC4 00141A24 88 03 03 28 */ lbz r0, 0x328(r3) /* 80144AC8 00141A28 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f @@ -544,7 +544,7 @@ ShouldStartLand__9CBSHurledCFfR15CBodyController: /* 80144B2C 00141A8C 80 84 00 00 */ lwz r4, 0(r4) /* 80144B30 00141A90 38 61 00 08 */ addi r3, r1, 8 /* 80144B34 00141A94 3B E0 00 01 */ li r31, 1 -/* 80144B38 00141A98 4B F6 7F 25 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 80144B38 00141A98 4B F6 7F 25 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 80144B3C 00141A9C 83 C3 00 04 */ lwz r30, 4(r3) /* 80144B40 00141AA0 28 1E 00 00 */ cmplwi r30, 0 /* 80144B44 00141AA4 41 82 00 BC */ beq lbl_80144C00 @@ -771,7 +771,7 @@ lbl_80144E44: /* 80144E64 00141DC4 4B FF F8 79 */ bl PlayStrikeWallAnimation__9CBSHurledFR15CBodyControllerR13CStateManager /* 80144E68 00141DC8 80 9D 00 00 */ lwz r4, 0(r29) /* 80144E6C 00141DCC 38 61 00 5C */ addi r3, r1, 0x5c -/* 80144E70 00141DD0 4B F6 7B ED */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 80144E70 00141DD0 4B F6 7B ED */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 80144E74 00141DD4 83 83 00 04 */ lwz r28, 4(r3) /* 80144E78 00141DD8 28 1C 00 00 */ cmplwi r28, 0 /* 80144E7C 00141DDC 41 82 02 90 */ beq lbl_8014510C diff --git a/asm/MetroidPrime/BodyState/CBSJump.s b/asm/MetroidPrime/BodyState/CBSJump.s index 1824fa59..09c28bc8 100644 --- a/asm/MetroidPrime/BodyState/CBSJump.s +++ b/asm/MetroidPrime/BodyState/CBSJump.s @@ -127,7 +127,7 @@ CheckForWallJump__7CBSJumpFR15CBodyControllerR13CStateManager: /* 80145754 001426B4 40 82 01 C4 */ bne lbl_80145918 /* 80145758 001426B8 80 9C 00 00 */ lwz r4, 0(r28) /* 8014575C 001426BC 38 61 00 54 */ addi r3, r1, 0x54 -/* 80145760 001426C0 4B F6 72 FD */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 80145760 001426C0 4B F6 72 FD */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 80145764 001426C4 83 E3 00 04 */ lwz r31, 4(r3) /* 80145768 001426C8 28 1F 00 00 */ cmplwi r31, 0 /* 8014576C 001426CC 41 82 01 AC */ beq lbl_80145918 @@ -267,7 +267,7 @@ CheckForLand__7CBSJumpFR15CBodyControllerR13CStateManager: /* 8014595C 001428BC 7C 7C 1B 78 */ mr r28, r3 /* 80145960 001428C0 38 61 00 54 */ addi r3, r1, 0x54 /* 80145964 001428C4 80 84 00 00 */ lwz r4, 0(r4) -/* 80145968 001428C8 4B F6 70 F5 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 80145968 001428C8 4B F6 70 F5 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8014596C 001428CC 83 E3 00 04 */ lwz r31, 4(r3) /* 80145970 001428D0 28 1F 00 00 */ cmplwi r31, 0 /* 80145974 001428D4 41 82 01 38 */ beq lbl_80145AAC @@ -663,7 +663,7 @@ lbl_80145E40: /* 80145F08 00142E68 38 61 00 14 */ addi r3, r1, 0x14 /* 80145F0C 00142E6C 98 1C 00 30 */ stb r0, 0x30(r28) /* 80145F10 00142E70 80 9D 00 00 */ lwz r4, 0(r29) -/* 80145F14 00142E74 4B F6 6B 49 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 80145F14 00142E74 4B F6 6B 49 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 80145F18 00142E78 83 63 00 04 */ lwz r27, 4(r3) /* 80145F1C 00142E7C 28 1B 00 00 */ cmplwi r27, 0 /* 80145F20 00142E80 41 82 00 70 */ beq lbl_80145F90 diff --git a/asm/MetroidPrime/BodyState/CBSWallHang.s b/asm/MetroidPrime/BodyState/CBSWallHang.s index c06714c5..7f9332d7 100644 --- a/asm/MetroidPrime/BodyState/CBSWallHang.s +++ b/asm/MetroidPrime/BodyState/CBSWallHang.s @@ -106,7 +106,7 @@ FixInPlace__11CBSWallHangFR15CBodyController: /* 8018D584 0018A4E4 90 01 00 14 */ stw r0, 0x14(r1) /* 8018D588 0018A4E8 38 61 00 08 */ addi r3, r1, 8 /* 8018D58C 0018A4EC 80 84 00 00 */ lwz r4, 0(r4) -/* 8018D590 0018A4F0 4B F1 F4 CD */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 8018D590 0018A4F0 4B F1 F4 CD */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8018D594 0018A4F4 80 63 00 04 */ lwz r3, 4(r3) /* 8018D598 0018A4F8 28 03 00 00 */ cmplwi r3, 0 /* 8018D59C 0018A4FC 41 82 00 24 */ beq lbl_8018D5C0 @@ -136,7 +136,7 @@ CheckForLand__11CBSWallHangFR15CBodyControllerR13CStateManager: /* 8018D5EC 0018A54C 38 61 00 54 */ addi r3, r1, 0x54 /* 8018D5F0 0018A550 3B C0 00 00 */ li r30, 0 /* 8018D5F4 0018A554 80 84 00 00 */ lwz r4, 0(r4) -/* 8018D5F8 0018A558 4B F1 F4 65 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 8018D5F8 0018A558 4B F1 F4 65 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8018D5FC 0018A55C 83 E3 00 04 */ lwz r31, 4(r3) /* 8018D600 0018A560 28 1F 00 00 */ cmplwi r31, 0 /* 8018D604 0018A564 41 82 01 38 */ beq lbl_8018D73C @@ -242,7 +242,7 @@ CheckForWall__11CBSWallHangFR15CBodyControllerR13CStateManager: /* 8018D770 0018A6D0 38 61 00 68 */ addi r3, r1, 0x68 /* 8018D774 0018A6D4 3B 60 00 00 */ li r27, 0 /* 8018D778 0018A6D8 80 84 00 00 */ lwz r4, 0(r4) -/* 8018D77C 0018A6DC 4B F1 F2 E1 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 8018D77C 0018A6DC 4B F1 F2 E1 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8018D780 0018A6E0 83 E3 00 04 */ lwz r31, 4(r3) /* 8018D784 0018A6E4 28 1F 00 00 */ cmplwi r31, 0 /* 8018D788 0018A6E8 41 82 02 C4 */ beq lbl_8018DA4C diff --git a/asm/MetroidPrime/CActorParticles.s b/asm/MetroidPrime/CActorParticles.s index 4069c8ae..17020829 100644 --- a/asm/MetroidPrime/CActorParticles.s +++ b/asm/MetroidPrime/CActorParticles.s @@ -4322,7 +4322,7 @@ IsMediumOrLarge__FRCActor: /* 801E7480 001E43E0 7C 64 1B 78 */ mr r4, r3 /* 801E7484 001E43E4 90 01 00 14 */ stw r0, 0x14(r1) /* 801E7488 001E43E8 38 61 00 08 */ addi r3, r1, 8 -/* 801E748C 001E43EC 4B EC 55 D1 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 801E748C 001E43EC 4B EC 55 D1 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 801E7490 001E43F0 80 63 00 04 */ lwz r3, 4(r3) /* 801E7494 001E43F4 28 03 00 00 */ cmplwi r3, 0 /* 801E7498 001E43F8 41 82 00 18 */ beq lbl_801E74B0 diff --git a/asm/MetroidPrime/CBoneTracking.s b/asm/MetroidPrime/CBoneTracking.s index ed9494db..0b781c28 100644 --- a/asm/MetroidPrime/CBoneTracking.s +++ b/asm/MetroidPrime/CBoneTracking.s @@ -526,7 +526,7 @@ PreRender__13CBoneTrackingFRC13CStateManagerR9CAnimDataRC12CTransform4fRC9CVecto /* 80175934 00172894 7C FD 3B 78 */ mr r29, r7 /* 80175938 00172898 38 61 00 08 */ addi r3, r1, 8 /* 8017593C 0017289C 80 88 00 00 */ lwz r4, 0(r8) -/* 80175940 001728A0 4B F3 71 89 */ bl "__ct__16TCastToPtr<10CPatterned>FR7CEntity" +/* 80175940 001728A0 4B F3 71 89 */ bl "__ct__24TCastToPtr<10CPatterned>FR7CEntity" /* 80175944 001728A4 83 C3 00 04 */ lwz r30, 4(r3) /* 80175948 001728A8 38 7F 02 A4 */ addi r3, r31, 0x2a4 /* 8017594C 001728AC 3B E0 00 00 */ li r31, 0 diff --git a/asm/MetroidPrime/CGameProjectile.s b/asm/MetroidPrime/CGameProjectile.s index e7c34c4d..c0b21648 100644 --- a/asm/MetroidPrime/CGameProjectile.s +++ b/asm/MetroidPrime/CGameProjectile.s @@ -3021,7 +3021,7 @@ lbl_80039D88: lbl_80039D94: /* 80039D94 00036CF4 7F C4 F3 78 */ mr r4, r30 /* 80039D98 00036CF8 38 61 00 08 */ addi r3, r1, 8 -/* 80039D9C 00036CFC 48 07 2D 2D */ bl "__ct__16TCastToPtr<10CPatterned>FR7CEntity" +/* 80039D9C 00036CFC 48 07 2D 2D */ bl "__ct__24TCastToPtr<10CPatterned>FR7CEntity" /* 80039DA0 00036D00 80 63 00 04 */ lwz r3, 4(r3) /* 80039DA4 00036D04 28 03 00 00 */ cmplwi r3, 0 /* 80039DA8 00036D08 41 82 01 D4 */ beq lbl_80039F7C diff --git a/asm/MetroidPrime/CStateManager.s b/asm/MetroidPrime/CStateManager.s index 554803e4..645a32a9 100644 --- a/asm/MetroidPrime/CStateManager.s +++ b/asm/MetroidPrime/CStateManager.s @@ -5776,7 +5776,7 @@ lbl_800487AC: /* 800487B4 00045714 4B FC 75 61 */ bl __vc__11CObjectListFi /* 800487B8 00045718 7C 64 1B 78 */ mr r4, r3 /* 800487BC 0004571C 38 61 00 10 */ addi r3, r1, 0x10 -/* 800487C0 00045720 48 06 42 9D */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 800487C0 00045720 48 06 42 9D */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 800487C4 00045724 80 63 00 04 */ lwz r3, 4(r3) /* 800487C8 00045728 28 03 00 00 */ cmplwi r3, 0 /* 800487CC 0004572C 41 82 00 6C */ beq lbl_80048838 @@ -6021,7 +6021,7 @@ ApplyKnockBack__13CStateManagerFR6CActorRC11CDamageInfoRC20CDamageVulnerabilityR /* 80048B2C 00045A8C 83 C3 00 04 */ lwz r30, 4(r3) /* 80048B30 00045A90 7F 64 DB 78 */ mr r4, r27 /* 80048B34 00045A94 38 61 00 10 */ addi r3, r1, 0x10 -/* 80048B38 00045A98 48 06 3F 91 */ bl "__ct__16TCastToPtr<10CPatterned>FR7CEntity" +/* 80048B38 00045A98 48 06 3F 91 */ bl "__ct__24TCastToPtr<10CPatterned>FR7CEntity" /* 80048B3C 00045A9C 28 1E 00 00 */ cmplwi r30, 0 /* 80048B40 00045AA0 80 63 00 04 */ lwz r3, 4(r3) /* 80048B44 00045AA4 41 82 00 20 */ beq lbl_80048B64 @@ -7336,13 +7336,13 @@ lbl_80049E60: /* 80049E70 00046DD0 83 C3 00 04 */ lwz r30, 4(r3) /* 80049E74 00046DD4 7F 04 C3 78 */ mr r4, r24 /* 80049E78 00046DD8 38 61 00 1C */ addi r3, r1, 0x1c -/* 80049E7C 00046DDC 48 06 2C 4D */ bl "__ct__16TCastToPtr<10CPatterned>FR7CEntity" +/* 80049E7C 00046DDC 48 06 2C 4D */ bl "__ct__24TCastToPtr<10CPatterned>FR7CEntity" /* 80049E80 00046DE0 83 A3 00 04 */ lwz r29, 4(r3) /* 80049E84 00046DE4 28 1D 00 00 */ cmplwi r29, 0 /* 80049E88 00046DE8 40 82 00 14 */ bne lbl_80049E9C /* 80049E8C 00046DEC 7F 04 C3 78 */ mr r4, r24 /* 80049E90 00046DF0 38 61 00 14 */ addi r3, r1, 0x14 -/* 80049E94 00046DF4 48 06 51 AD */ bl "__ct__30TCastToPtr<16CDestroyableRock>FP7CEntity" +/* 80049E94 00046DF4 48 06 51 AD */ bl "__ct__30TCastToPtr<16CDestroyableRock>FR7CEntity" /* 80049E98 00046DF8 83 A3 00 04 */ lwz r29, 4(r3) lbl_80049E9C: /* 80049E9C 00046DFC 28 1E 00 00 */ cmplwi r30, 0 @@ -8455,7 +8455,7 @@ lbl_8004AE10: /* 8004AE20 00047D80 41 82 00 D0 */ beq lbl_8004AEF0 /* 8004AE24 00047D84 7F 84 E3 78 */ mr r4, r28 /* 8004AE28 00047D88 38 61 00 18 */ addi r3, r1, 0x18 -/* 8004AE2C 00047D8C 48 06 1C 31 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 8004AE2C 00047D8C 48 06 1C 31 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8004AE30 00047D90 80 83 00 04 */ lwz r4, 4(r3) /* 8004AE34 00047D94 28 04 00 00 */ cmplwi r4, 0 /* 8004AE38 00047D98 41 82 00 7C */ beq lbl_8004AEB4 @@ -8798,7 +8798,7 @@ lbl_8004B2C4: /* 8004B2F0 00048250 41 82 00 F0 */ beq lbl_8004B3E0 /* 8004B2F4 00048254 7F A4 EB 78 */ mr r4, r29 /* 8004B2F8 00048258 38 61 00 1C */ addi r3, r1, 0x1c -/* 8004B2FC 0004825C 48 06 17 61 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 8004B2FC 0004825C 48 06 17 61 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8004B300 00048260 80 E3 00 04 */ lwz r7, 4(r3) /* 8004B304 00048264 28 07 00 00 */ cmplwi r7, 0 /* 8004B308 00048268 41 82 00 A8 */ beq lbl_8004B3B0 diff --git a/asm/MetroidPrime/Cameras/CCameraManager.s b/asm/MetroidPrime/Cameras/CCameraManager.s index e11a1471..3cdffb7e 100644 --- a/asm/MetroidPrime/Cameras/CCameraManager.s +++ b/asm/MetroidPrime/Cameras/CCameraManager.s @@ -2421,7 +2421,7 @@ lbl_8000B0D0: /* 8000B128 00008088 48 04 14 4D */ bl ObjectById__13CStateManagerF9TUniqueId /* 8000B12C 0000808C 7C 64 1B 78 */ mr r4, r3 /* 8000B130 00008090 38 61 00 30 */ addi r3, r1, 0x30 -/* 8000B134 00008094 48 0A 19 29 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 8000B134 00008094 48 0A 19 29 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8000B138 00008098 83 83 00 04 */ lwz r28, 4(r3) /* 8000B13C 0000809C 7F A3 EB 78 */ mr r3, r29 /* 8000B140 000080A0 A0 1B 00 EC */ lhz r0, 0xec(r27) diff --git a/asm/MetroidPrime/Enemies/CBabygoth.s b/asm/MetroidPrime/Enemies/CBabygoth.s index 7170578c..4f35ec02 100644 --- a/asm/MetroidPrime/Enemies/CBabygoth.s +++ b/asm/MetroidPrime/Enemies/CBabygoth.s @@ -1045,7 +1045,7 @@ lbl_8021DE3C: /* 8021DE44 0021ADA4 4B DF 1E 99 */ bl __vc__11CObjectListCFi /* 8021DE48 0021ADA8 7C 64 1B 78 */ mr r4, r3 /* 8021DE4C 0021ADAC 38 61 00 08 */ addi r3, r1, 8 -/* 8021DE50 0021ADB0 4B E8 EC 0D */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 8021DE50 0021ADB0 4B E8 EC 0D */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8021DE54 0021ADB4 80 83 00 04 */ lwz r4, 4(r3) /* 8021DE58 0021ADB8 28 04 00 00 */ cmplwi r4, 0 /* 8021DE5C 0021ADBC 41 82 00 C4 */ beq lbl_8021DF20 @@ -1138,7 +1138,7 @@ lbl_8021DF8C: /* 8021DF94 0021AEF4 4B DF 1D 49 */ bl __vc__11CObjectListCFi /* 8021DF98 0021AEF8 7C 64 1B 78 */ mr r4, r3 /* 8021DF9C 0021AEFC 38 61 00 08 */ addi r3, r1, 8 -/* 8021DFA0 0021AF00 4B E8 EA BD */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 8021DFA0 0021AF00 4B E8 EA BD */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8021DFA4 0021AF04 80 83 00 04 */ lwz r4, 4(r3) /* 8021DFA8 0021AF08 28 04 00 00 */ cmplwi r4, 0 /* 8021DFAC 0021AF0C 41 82 00 64 */ beq lbl_8021E010 diff --git a/asm/MetroidPrime/Enemies/CBeetle.s b/asm/MetroidPrime/Enemies/CBeetle.s index 09486e82..4feef101 100644 --- a/asm/MetroidPrime/Enemies/CBeetle.s +++ b/asm/MetroidPrime/Enemies/CBeetle.s @@ -800,7 +800,7 @@ lbl_800E3430: /* 800E3438 000E0398 4B F2 C8 A5 */ bl __vc__11CObjectListCFi /* 800E343C 000E039C 7C 64 1B 78 */ mr r4, r3 /* 800E3440 000E03A0 38 61 00 14 */ addi r3, r1, 0x14 -/* 800E3444 000E03A4 4B FC 96 19 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 800E3444 000E03A4 4B FC 96 19 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 800E3448 000E03A8 83 43 00 04 */ lwz r26, 4(r3) /* 800E344C 000E03AC 28 1A 00 00 */ cmplwi r26, 0 /* 800E3450 000E03B0 41 82 01 08 */ beq lbl_800E3558 diff --git a/asm/MetroidPrime/Enemies/CDrone.s b/asm/MetroidPrime/Enemies/CDrone.s index 6def9d3b..81c43fa2 100644 --- a/asm/MetroidPrime/Enemies/CDrone.s +++ b/asm/MetroidPrime/Enemies/CDrone.s @@ -6219,7 +6219,7 @@ lbl_80164138: /* 80164158 001610B8 4B EE 84 1D */ bl ObjectById__13CStateManagerF9TUniqueId /* 8016415C 001610BC 7C 64 1B 78 */ mr r4, r3 /* 80164160 001610C0 38 61 00 3C */ addi r3, r1, 0x3c -/* 80164164 001610C4 4B F4 88 F9 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 80164164 001610C4 4B F4 88 F9 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 80164168 001610C8 80 03 00 04 */ lwz r0, 4(r3) /* 8016416C 001610CC 28 00 00 00 */ cmplwi r0, 0 /* 80164170 001610D0 41 82 00 54 */ beq lbl_801641C4 diff --git a/asm/MetroidPrime/Enemies/CElitePirate.s b/asm/MetroidPrime/Enemies/CElitePirate.s index bfd1e881..7d691910 100644 --- a/asm/MetroidPrime/Enemies/CElitePirate.s +++ b/asm/MetroidPrime/Enemies/CElitePirate.s @@ -646,7 +646,7 @@ lbl_8022771C: /* 8022772C 0022468C 4B E2 4E 79 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 80227730 00224690 7C 64 1B 78 */ mr r4, r3 /* 80227734 00224694 38 61 00 0C */ addi r3, r1, 0xc -/* 80227738 00224698 4B E8 53 25 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 80227738 00224698 4B E8 53 25 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8022773C 0022469C 80 83 00 04 */ lwz r4, 4(r3) /* 80227740 002246A0 28 04 00 00 */ cmplwi r4, 0 /* 80227744 002246A4 41 82 00 60 */ beq lbl_802277A4 diff --git a/asm/MetroidPrime/Enemies/CGrenadeLauncher.s b/asm/MetroidPrime/Enemies/CGrenadeLauncher.s index 2375dbb6..2a44e9e9 100644 --- a/asm/MetroidPrime/Enemies/CGrenadeLauncher.s +++ b/asm/MetroidPrime/Enemies/CGrenadeLauncher.s @@ -1807,7 +1807,7 @@ lbl_80230D44: /* 80230DF8 0022DD58 4B E1 B7 7D */ bl ObjectById__13CStateManagerF9TUniqueId /* 80230DFC 0022DD5C 7C 64 1B 78 */ mr r4, r3 /* 80230E00 0022DD60 38 61 00 1C */ addi r3, r1, 0x1c -/* 80230E04 0022DD64 4B E7 BC 59 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 80230E04 0022DD64 4B E7 BC 59 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 80230E08 0022DD68 83 E3 00 04 */ lwz r31, 4(r3) /* 80230E0C 0022DD6C 28 1F 00 00 */ cmplwi r31, 0 /* 80230E10 0022DD70 41 82 00 3C */ beq lbl_80230E4C diff --git a/asm/MetroidPrime/Enemies/CMetroid.s b/asm/MetroidPrime/Enemies/CMetroid.s index ef152d62..5fbe2506 100644 --- a/asm/MetroidPrime/Enemies/CMetroid.s +++ b/asm/MetroidPrime/Enemies/CMetroid.s @@ -4295,7 +4295,7 @@ lbl_8016D8EC: /* 8016D8F4 0016A854 4B EA 23 E9 */ bl __vc__11CObjectListCFi /* 8016D8F8 0016A858 7C 64 1B 78 */ mr r4, r3 /* 8016D8FC 0016A85C 38 61 00 0C */ addi r3, r1, 0xc -/* 8016D900 0016A860 4B F3 F1 5D */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 8016D900 0016A860 4B F3 F1 5D */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8016D904 0016A864 80 83 00 04 */ lwz r4, 4(r3) /* 8016D908 0016A868 28 04 00 00 */ cmplwi r4, 0 /* 8016D90C 0016A86C 41 82 00 C4 */ beq lbl_8016D9D0 diff --git a/asm/MetroidPrime/Enemies/CMetroidBeta.s b/asm/MetroidPrime/Enemies/CMetroidBeta.s index 602f1746..b621320f 100644 --- a/asm/MetroidPrime/Enemies/CMetroidBeta.s +++ b/asm/MetroidPrime/Enemies/CMetroidBeta.s @@ -662,7 +662,7 @@ lbl_801C1144: /* 801C114C 001BE0AC 4B E4 EB 91 */ bl __vc__11CObjectListCFi /* 801C1150 001BE0B0 7C 64 1B 78 */ mr r4, r3 /* 801C1154 001BE0B4 38 61 00 08 */ addi r3, r1, 8 -/* 801C1158 001BE0B8 4B EE B9 05 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 801C1158 001BE0B8 4B EE B9 05 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 801C115C 001BE0BC 80 83 00 04 */ lwz r4, 4(r3) /* 801C1160 001BE0C0 28 04 00 00 */ cmplwi r4, 0 /* 801C1164 001BE0C4 41 82 00 C4 */ beq lbl_801C1228 diff --git a/asm/MetroidPrime/Enemies/CMetroidPrimeEssence.s b/asm/MetroidPrime/Enemies/CMetroidPrimeEssence.s index 646dd8f4..6a28bf1b 100644 --- a/asm/MetroidPrime/Enemies/CMetroidPrimeEssence.s +++ b/asm/MetroidPrime/Enemies/CMetroidPrimeEssence.s @@ -2944,7 +2944,7 @@ lbl_8027EEB8: /* 8027EEC0 0027BE20 4B D9 0E 55 */ bl __vc__11CObjectListFi /* 8027EEC4 0027BE24 7C 64 1B 78 */ mr r4, r3 /* 8027EEC8 0027BE28 38 61 00 08 */ addi r3, r1, 8 -/* 8027EECC 0027BE2C 4B E2 DB 91 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 8027EECC 0027BE2C 4B E2 DB 91 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8027EED0 0027BE30 80 63 00 04 */ lwz r3, 4(r3) /* 8027EED4 0027BE34 28 03 00 00 */ cmplwi r3, 0 /* 8027EED8 0027BE38 41 82 00 3C */ beq lbl_8027EF14 @@ -3003,7 +3003,7 @@ lbl_8027EF88: /* 8027EF90 0027BEF0 4B D9 0D 85 */ bl __vc__11CObjectListFi /* 8027EF94 0027BEF4 7C 64 1B 78 */ mr r4, r3 /* 8027EF98 0027BEF8 38 61 00 08 */ addi r3, r1, 8 -/* 8027EF9C 0027BEFC 4B E2 DA C1 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 8027EF9C 0027BEFC 4B E2 DA C1 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8027EFA0 0027BF00 80 63 00 04 */ lwz r3, 4(r3) /* 8027EFA4 0027BF04 28 03 00 00 */ cmplwi r3, 0 /* 8027EFA8 0027BF08 41 82 00 34 */ beq lbl_8027EFDC diff --git a/asm/MetroidPrime/Enemies/CSpacePirate.s b/asm/MetroidPrime/Enemies/CSpacePirate.s index 3bd82a0c..683f6f1a 100644 --- a/asm/MetroidPrime/Enemies/CSpacePirate.s +++ b/asm/MetroidPrime/Enemies/CSpacePirate.s @@ -10235,7 +10235,7 @@ lbl_80128BF8: /* 80128C00 00125B60 4B EE 70 DD */ bl __vc__11CObjectListCFi /* 80128C04 00125B64 7C 64 1B 78 */ mr r4, r3 /* 80128C08 00125B68 38 61 00 0C */ addi r3, r1, 0xc -/* 80128C0C 00125B6C 4B F8 3E 51 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 80128C0C 00125B6C 4B F8 3E 51 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 80128C10 00125B70 83 83 00 04 */ lwz r28, 4(r3) /* 80128C14 00125B74 28 1C 00 00 */ cmplwi r28, 0 /* 80128C18 00125B78 41 82 01 8C */ beq lbl_80128DA4 diff --git a/asm/MetroidPrime/Enemies/CTeamAiMgr.s b/asm/MetroidPrime/Enemies/CTeamAiMgr.s index cfa098e6..09e1f5a2 100644 --- a/asm/MetroidPrime/Enemies/CTeamAiMgr.s +++ b/asm/MetroidPrime/Enemies/CTeamAiMgr.s @@ -190,7 +190,7 @@ lbl_80237D94: /* 80237DA8 00234D08 4B E1 47 CD */ bl ObjectById__13CStateManagerF9TUniqueId /* 80237DAC 00234D0C 7C 64 1B 78 */ mr r4, r3 /* 80237DB0 00234D10 38 61 00 40 */ addi r3, r1, 0x40 -/* 80237DB4 00234D14 4B E7 4C A9 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 80237DB4 00234D14 4B E7 4C A9 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 80237DB8 00234D18 80 63 00 04 */ lwz r3, 4(r3) /* 80237DBC 00234D1C 28 03 00 00 */ cmplwi r3, 0 /* 80237DC0 00234D20 41 82 00 28 */ beq lbl_80237DE8 @@ -225,7 +225,7 @@ lbl_80237E14: /* 80237E28 00234D88 4B E1 47 4D */ bl ObjectById__13CStateManagerF9TUniqueId /* 80237E2C 00234D8C 7C 64 1B 78 */ mr r4, r3 /* 80237E30 00234D90 38 61 00 38 */ addi r3, r1, 0x38 -/* 80237E34 00234D94 4B E7 4C 29 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 80237E34 00234D94 4B E7 4C 29 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 80237E38 00234D98 83 23 00 04 */ lwz r25, 4(r3) /* 80237E3C 00234D9C 28 19 00 00 */ cmplwi r25, 0 /* 80237E40 00234DA0 41 82 01 44 */ beq lbl_80237F84 @@ -401,7 +401,7 @@ lbl_802380AC: /* 802380C0 00235020 4B E1 44 B5 */ bl ObjectById__13CStateManagerF9TUniqueId /* 802380C4 00235024 7C 64 1B 78 */ mr r4, r3 /* 802380C8 00235028 38 61 00 10 */ addi r3, r1, 0x10 -/* 802380CC 0023502C 4B E7 49 91 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 802380CC 0023502C 4B E7 49 91 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 802380D0 00235030 80 83 00 04 */ lwz r4, 4(r3) /* 802380D4 00235034 28 04 00 00 */ cmplwi r4, 0 /* 802380D8 00235038 41 82 00 3C */ beq lbl_80238114 diff --git a/asm/MetroidPrime/Enemies/CTryclops.s b/asm/MetroidPrime/Enemies/CTryclops.s index c064787e..8c06bba2 100644 --- a/asm/MetroidPrime/Enemies/CTryclops.s +++ b/asm/MetroidPrime/Enemies/CTryclops.s @@ -811,7 +811,7 @@ lbl_8025E314: /* 8025E31C 0025B27C 4B DB 19 C1 */ bl __vc__11CObjectListCFi /* 8025E320 0025B280 7C 64 1B 78 */ mr r4, r3 /* 8025E324 0025B284 38 61 00 08 */ addi r3, r1, 8 -/* 8025E328 0025B288 4B E4 E7 35 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 8025E328 0025B288 4B E4 E7 35 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8025E32C 0025B28C 80 83 00 04 */ lwz r4, 4(r3) /* 8025E330 0025B290 28 04 00 00 */ cmplwi r4, 0 /* 8025E334 0025B294 41 82 00 C4 */ beq lbl_8025E3F8 diff --git a/asm/MetroidPrime/Enemies/CWarWasp.s b/asm/MetroidPrime/Enemies/CWarWasp.s index 603d5754..0f9404cd 100644 --- a/asm/MetroidPrime/Enemies/CWarWasp.s +++ b/asm/MetroidPrime/Enemies/CWarWasp.s @@ -3031,7 +3031,7 @@ lbl_8010D2D8: /* 8010D2E0 0010A240 4B F0 29 FD */ bl __vc__11CObjectListCFi /* 8010D2E4 0010A244 7C 64 1B 78 */ mr r4, r3 /* 8010D2E8 0010A248 38 61 00 14 */ addi r3, r1, 0x14 -/* 8010D2EC 0010A24C 4B F9 F7 71 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 8010D2EC 0010A24C 4B F9 F7 71 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8010D2F0 0010A250 83 43 00 04 */ lwz r26, 4(r3) /* 8010D2F4 0010A254 28 1A 00 00 */ cmplwi r26, 0 /* 8010D2F8 0010A258 41 82 01 10 */ beq lbl_8010D408 @@ -5206,7 +5206,7 @@ lbl_8010F21C: /* 8010F224 0010C184 4B F0 0A B9 */ bl __vc__11CObjectListCFi /* 8010F228 0010C188 7C 64 1B 78 */ mr r4, r3 /* 8010F22C 0010C18C 38 61 00 0C */ addi r3, r1, 0xc -/* 8010F230 0010C190 4B F9 D8 2D */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 8010F230 0010C190 4B F9 D8 2D */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8010F234 0010C194 80 83 00 04 */ lwz r4, 4(r3) /* 8010F238 0010C198 28 04 00 00 */ cmplwi r4, 0 /* 8010F23C 0010C19C 41 82 00 88 */ beq lbl_8010F2C4 diff --git a/asm/MetroidPrime/Enemies/PatternedCastTo.s b/asm/MetroidPrime/Enemies/PatternedCastTo.s index 8b051dd6..4c135a26 100644 --- a/asm/MetroidPrime/Enemies/PatternedCastTo.s +++ b/asm/MetroidPrime/Enemies/PatternedCastTo.s @@ -238,7 +238,7 @@ CastPatternedCharacter__FQ210CPatterned10ECharacterP7CEntity: /* 800A55B8 000A2518 93 E1 00 1C */ stw r31, 0x1c(r1) /* 800A55BC 000A251C 7C 7F 1B 78 */ mr r31, r3 /* 800A55C0 000A2520 38 61 00 08 */ addi r3, r1, 8 -/* 800A55C4 000A2524 48 00 74 99 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 800A55C4 000A2524 48 00 74 99 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 800A55C8 000A2528 80 63 00 04 */ lwz r3, 4(r3) /* 800A55CC 000A252C 28 03 00 00 */ cmplwi r3, 0 /* 800A55D0 000A2530 41 82 00 14 */ beq lbl_800A55E4 diff --git a/asm/MetroidPrime/GameObjectLists.s b/asm/MetroidPrime/GameObjectLists.s index 9e4e078b..89af21a5 100644 --- a/asm/MetroidPrime/GameObjectLists.s +++ b/asm/MetroidPrime/GameObjectLists.s @@ -231,7 +231,7 @@ IsQualified__16CListeningAiListFRC7CEntity: /* 801B86B8 001B5618 38 61 00 08 */ addi r3, r1, 8 /* 801B86BC 001B561C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801B86C0 001B5620 3B E0 00 00 */ li r31, 0 -/* 801B86C4 001B5624 4B EF 44 05 */ bl "__ct__16TCastToPtr<10CPatterned>FR7CEntity" +/* 801B86C4 001B5624 4B EF 44 05 */ bl "__ct__24TCastToPtr<10CPatterned>FR7CEntity" /* 801B86C8 001B5628 80 63 00 04 */ lwz r3, 4(r3) /* 801B86CC 001B562C 28 03 00 00 */ cmplwi r3, 0 /* 801B86D0 001B5630 41 82 00 20 */ beq lbl_801B86F0 diff --git a/asm/MetroidPrime/Player/CPlayerGun.s b/asm/MetroidPrime/Player/CPlayerGun.s index 917bb19f..1ecbfebb 100644 --- a/asm/MetroidPrime/Player/CPlayerGun.s +++ b/asm/MetroidPrime/Player/CPlayerGun.s @@ -2813,7 +2813,7 @@ lbl_8003C894: /* 8003C8A4 00039804 48 00 FD 01 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8003C8A8 00039808 7C 64 1B 78 */ mr r4, r3 /* 8003C8AC 0003980C 38 61 00 38 */ addi r3, r1, 0x38 -/* 8003C8B0 00039810 48 07 01 AD */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 8003C8B0 00039810 48 07 01 AD */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8003C8B4 00039814 80 63 00 04 */ lwz r3, 4(r3) /* 8003C8B8 00039818 28 03 00 00 */ cmplwi r3, 0 /* 8003C8BC 0003981C 41 82 00 60 */ beq lbl_8003C91C diff --git a/asm/MetroidPrime/Player/CPlayerOrbit.s b/asm/MetroidPrime/Player/CPlayerOrbit.s index 71f5bec0..de4bca70 100644 --- a/asm/MetroidPrime/Player/CPlayerOrbit.s +++ b/asm/MetroidPrime/Player/CPlayerOrbit.s @@ -2483,7 +2483,7 @@ SetOrbitTargetId__7CPlayerF9TUniqueIdR13CStateManager: /* 8017B628 00178588 4B ED 0F 7D */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017B62C 0017858C 7C 64 1B 78 */ mr r4, r3 /* 8017B630 00178590 38 61 00 2C */ addi r3, r1, 0x2c -/* 8017B634 00178594 4B F3 14 29 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 8017B634 00178594 4B F3 14 29 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8017B638 00178598 83 63 00 04 */ lwz r27, 4(r3) /* 8017B63C 0017859C 7F E3 FB 78 */ mr r3, r31 /* 8017B640 001785A0 A0 1E 00 00 */ lhz r0, 0(r30) diff --git a/asm/MetroidPrime/ScriptObjects/CScriptActorKeyframe.s b/asm/MetroidPrime/ScriptObjects/CScriptActorKeyframe.s index 8b124d24..99210f8f 100644 --- a/asm/MetroidPrime/ScriptObjects/CScriptActorKeyframe.s +++ b/asm/MetroidPrime/ScriptObjects/CScriptActorKeyframe.s @@ -163,7 +163,7 @@ lbl_800FE1DC: lbl_800FE200: /* 800FE200 000FB160 7F 64 DB 78 */ mr r4, r27 /* 800FE204 000FB164 38 61 00 20 */ addi r3, r1, 0x20 -/* 800FE208 000FB168 4B FA E8 55 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 800FE208 000FB168 4B FA E8 55 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 800FE20C 000FB16C 83 83 00 04 */ lwz r28, 4(r3) /* 800FE210 000FB170 28 1C 00 00 */ cmplwi r28, 0 /* 800FE214 000FB174 41 82 00 84 */ beq lbl_800FE298 @@ -342,7 +342,7 @@ lbl_800FE428: lbl_800FE49C: /* 800FE49C 000FB3FC 7F A4 EB 78 */ mr r4, r29 /* 800FE4A0 000FB400 38 61 00 14 */ addi r3, r1, 0x14 -/* 800FE4A4 000FB404 4B FA E5 B9 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 800FE4A4 000FB404 4B FA E5 B9 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 800FE4A8 000FB408 83 E3 00 04 */ lwz r31, 4(r3) /* 800FE4AC 000FB40C 28 1F 00 00 */ cmplwi r31, 0 /* 800FE4B0 000FB410 41 82 00 D8 */ beq lbl_800FE588 diff --git a/asm/MetroidPrime/ScriptObjects/CScriptTrigger.s b/asm/MetroidPrime/ScriptObjects/CScriptTrigger.s index def1ae07..e0803cce 100644 --- a/asm/MetroidPrime/ScriptObjects/CScriptTrigger.s +++ b/asm/MetroidPrime/ScriptObjects/CScriptTrigger.s @@ -923,7 +923,7 @@ lbl_80076820: lbl_8007682C: /* 8007682C 0007378C 7F 84 E3 78 */ mr r4, r28 /* 80076830 00073790 38 61 00 78 */ addi r3, r1, 0x78 -/* 80076834 00073794 48 03 62 95 */ bl "__ct__16TCastToPtr<10CPatterned>FR7CEntity" +/* 80076834 00073794 48 03 62 95 */ bl "__ct__24TCastToPtr<10CPatterned>FR7CEntity" /* 80076838 00073798 80 03 00 04 */ lwz r0, 4(r3) /* 8007683C 0007379C 28 00 00 00 */ cmplwi r0, 0 /* 80076840 000737A0 41 82 00 08 */ beq lbl_80076848 diff --git a/asm/MetroidPrime/TCastTo.s b/asm/MetroidPrime/TCastTo.s index 35d9d6ae..57762c0c 100644 --- a/asm/MetroidPrime/TCastTo.s +++ b/asm/MetroidPrime/TCastTo.s @@ -110,7 +110,7 @@ lbl_803DC04C: .4byte "Visit__18TCastToPtr<5CBomb>FR13CScriptPickup" .4byte "Visit__18TCastToPtr<5CBomb>FR15CScriptPlatform" .4byte "Visit__18TCastToPtr<5CBomb>FR17CScriptPlayerHint" - .4byte "Visit__18TCastToPtr<5CBomb>FR22CScriptPointOfinterest" + .4byte "Visit__18TCastToPtr<5CBomb>FR22CScriptPointOfInterest" .4byte "Visit__18TCastToPtr<5CBomb>FR20CScriptRoomAcoustics" .4byte "Visit__18TCastToPtr<5CBomb>FR12CScriptSound" .4byte "Visit__18TCastToPtr<5CBomb>FR17CScriptSpawnPoint" @@ -173,7 +173,7 @@ lbl_803DC138: .4byte "Visit__30TCastToPtr<16CCinematicCamera>FR13CScriptPickup" .4byte "Visit__30TCastToPtr<16CCinematicCamera>FR15CScriptPlatform" .4byte "Visit__30TCastToPtr<16CCinematicCamera>FR17CScriptPlayerHint" - .4byte "Visit__30TCastToPtr<16CCinematicCamera>FR22CScriptPointOfinterest" + .4byte "Visit__30TCastToPtr<16CCinematicCamera>FR22CScriptPointOfInterest" .4byte "Visit__30TCastToPtr<16CCinematicCamera>FR20CScriptRoomAcoustics" .4byte "Visit__30TCastToPtr<16CCinematicCamera>FR12CScriptSound" .4byte "Visit__30TCastToPtr<16CCinematicCamera>FR17CScriptSpawnPoint" @@ -236,7 +236,7 @@ lbl_803DC224: .4byte "Visit__29TCastToPtr<15CCollisionActor>FR13CScriptPickup" .4byte "Visit__29TCastToPtr<15CCollisionActor>FR15CScriptPlatform" .4byte "Visit__29TCastToPtr<15CCollisionActor>FR17CScriptPlayerHint" - .4byte "Visit__29TCastToPtr<15CCollisionActor>FR22CScriptPointOfinterest" + .4byte "Visit__29TCastToPtr<15CCollisionActor>FR22CScriptPointOfInterest" .4byte "Visit__29TCastToPtr<15CCollisionActor>FR20CScriptRoomAcoustics" .4byte "Visit__29TCastToPtr<15CCollisionActor>FR12CScriptSound" .4byte "Visit__29TCastToPtr<15CCollisionActor>FR17CScriptSpawnPoint" @@ -299,7 +299,7 @@ lbl_803DC310: .4byte "Visit__30TCastToPtr<16CDestroyableRock>FR13CScriptPickup" .4byte "Visit__30TCastToPtr<16CDestroyableRock>FR15CScriptPlatform" .4byte "Visit__30TCastToPtr<16CDestroyableRock>FR17CScriptPlayerHint" - .4byte "Visit__30TCastToPtr<16CDestroyableRock>FR22CScriptPointOfinterest" + .4byte "Visit__30TCastToPtr<16CDestroyableRock>FR22CScriptPointOfInterest" .4byte "Visit__30TCastToPtr<16CDestroyableRock>FR20CScriptRoomAcoustics" .4byte "Visit__30TCastToPtr<16CDestroyableRock>FR12CScriptSound" .4byte "Visit__30TCastToPtr<16CDestroyableRock>FR17CScriptSpawnPoint" @@ -362,7 +362,7 @@ lbl_803DC3FC: .4byte "Visit__31TCastToPtr<17CEnergyProjectile>FR13CScriptPickup" .4byte "Visit__31TCastToPtr<17CEnergyProjectile>FR15CScriptPlatform" .4byte "Visit__31TCastToPtr<17CEnergyProjectile>FR17CScriptPlayerHint" - .4byte "Visit__31TCastToPtr<17CEnergyProjectile>FR22CScriptPointOfinterest" + .4byte "Visit__31TCastToPtr<17CEnergyProjectile>FR22CScriptPointOfInterest" .4byte "Visit__31TCastToPtr<17CEnergyProjectile>FR20CScriptRoomAcoustics" .4byte "Visit__31TCastToPtr<17CEnergyProjectile>FR12CScriptSound" .4byte "Visit__31TCastToPtr<17CEnergyProjectile>FR17CScriptSpawnPoint" @@ -425,7 +425,7 @@ lbl_803DC4E8: .4byte "Visit__20TCastToPtr<7CEntity>FR13CScriptPickup" .4byte "Visit__20TCastToPtr<7CEntity>FR15CScriptPlatform" .4byte "Visit__20TCastToPtr<7CEntity>FR17CScriptPlayerHint" - .4byte "Visit__20TCastToPtr<7CEntity>FR22CScriptPointOfinterest" + .4byte "Visit__20TCastToPtr<7CEntity>FR22CScriptPointOfInterest" .4byte "Visit__20TCastToPtr<7CEntity>FR20CScriptRoomAcoustics" .4byte "Visit__20TCastToPtr<7CEntity>FR12CScriptSound" .4byte "Visit__20TCastToPtr<7CEntity>FR17CScriptSpawnPoint" @@ -488,7 +488,7 @@ lbl_803DC5D4: .4byte "Visit__24TCastToPtr<10CExplosion>FR13CScriptPickup" .4byte "Visit__24TCastToPtr<10CExplosion>FR15CScriptPlatform" .4byte "Visit__24TCastToPtr<10CExplosion>FR17CScriptPlayerHint" - .4byte "Visit__24TCastToPtr<10CExplosion>FR22CScriptPointOfinterest" + .4byte "Visit__24TCastToPtr<10CExplosion>FR22CScriptPointOfInterest" .4byte "Visit__24TCastToPtr<10CExplosion>FR20CScriptRoomAcoustics" .4byte "Visit__24TCastToPtr<10CExplosion>FR12CScriptSound" .4byte "Visit__24TCastToPtr<10CExplosion>FR17CScriptSpawnPoint" @@ -551,7 +551,7 @@ lbl_803DC6C0: .4byte "Visit__32TCastToPtr<18CFirstPersonCamera>FR13CScriptPickup" .4byte "Visit__32TCastToPtr<18CFirstPersonCamera>FR15CScriptPlatform" .4byte "Visit__32TCastToPtr<18CFirstPersonCamera>FR17CScriptPlayerHint" - .4byte "Visit__32TCastToPtr<18CFirstPersonCamera>FR22CScriptPointOfinterest" + .4byte "Visit__32TCastToPtr<18CFirstPersonCamera>FR22CScriptPointOfInterest" .4byte "Visit__32TCastToPtr<18CFirstPersonCamera>FR20CScriptRoomAcoustics" .4byte "Visit__32TCastToPtr<18CFirstPersonCamera>FR12CScriptSound" .4byte "Visit__32TCastToPtr<18CFirstPersonCamera>FR17CScriptSpawnPoint" @@ -614,7 +614,7 @@ lbl_803DC7AC: .4byte "Visit__24TCastToPtr<10CFishCloud>FR13CScriptPickup" .4byte "Visit__24TCastToPtr<10CFishCloud>FR15CScriptPlatform" .4byte "Visit__24TCastToPtr<10CFishCloud>FR17CScriptPlayerHint" - .4byte "Visit__24TCastToPtr<10CFishCloud>FR22CScriptPointOfinterest" + .4byte "Visit__24TCastToPtr<10CFishCloud>FR22CScriptPointOfInterest" .4byte "Visit__24TCastToPtr<10CFishCloud>FR20CScriptRoomAcoustics" .4byte "Visit__24TCastToPtr<10CFishCloud>FR12CScriptSound" .4byte "Visit__24TCastToPtr<10CFishCloud>FR17CScriptSpawnPoint" @@ -677,7 +677,7 @@ lbl_803DC898: .4byte "Visit__25TCastToPtr<11CGameCamera>FR13CScriptPickup" .4byte "Visit__25TCastToPtr<11CGameCamera>FR15CScriptPlatform" .4byte "Visit__25TCastToPtr<11CGameCamera>FR17CScriptPlayerHint" - .4byte "Visit__25TCastToPtr<11CGameCamera>FR22CScriptPointOfinterest" + .4byte "Visit__25TCastToPtr<11CGameCamera>FR22CScriptPointOfInterest" .4byte "Visit__25TCastToPtr<11CGameCamera>FR20CScriptRoomAcoustics" .4byte "Visit__25TCastToPtr<11CGameCamera>FR12CScriptSound" .4byte "Visit__25TCastToPtr<11CGameCamera>FR17CScriptSpawnPoint" @@ -740,7 +740,7 @@ lbl_803DC984: .4byte "Visit__24TCastToPtr<10CGameLight>FR13CScriptPickup" .4byte "Visit__24TCastToPtr<10CGameLight>FR15CScriptPlatform" .4byte "Visit__24TCastToPtr<10CGameLight>FR17CScriptPlayerHint" - .4byte "Visit__24TCastToPtr<10CGameLight>FR22CScriptPointOfinterest" + .4byte "Visit__24TCastToPtr<10CGameLight>FR22CScriptPointOfInterest" .4byte "Visit__24TCastToPtr<10CGameLight>FR20CScriptRoomAcoustics" .4byte "Visit__24TCastToPtr<10CGameLight>FR12CScriptSound" .4byte "Visit__24TCastToPtr<10CGameLight>FR17CScriptSpawnPoint" @@ -803,7 +803,7 @@ lbl_803DCA70: .4byte "Visit__29TCastToPtr<15CGameProjectile>FR13CScriptPickup" .4byte "Visit__29TCastToPtr<15CGameProjectile>FR15CScriptPlatform" .4byte "Visit__29TCastToPtr<15CGameProjectile>FR17CScriptPlayerHint" - .4byte "Visit__29TCastToPtr<15CGameProjectile>FR22CScriptPointOfinterest" + .4byte "Visit__29TCastToPtr<15CGameProjectile>FR22CScriptPointOfInterest" .4byte "Visit__29TCastToPtr<15CGameProjectile>FR20CScriptRoomAcoustics" .4byte "Visit__29TCastToPtr<15CGameProjectile>FR12CScriptSound" .4byte "Visit__29TCastToPtr<15CGameProjectile>FR17CScriptSpawnPoint" @@ -866,7 +866,7 @@ lbl_803DCB5C: .4byte "Visit__33TCastToPtr<19CHUDBillboardEffect>FR13CScriptPickup" .4byte "Visit__33TCastToPtr<19CHUDBillboardEffect>FR15CScriptPlatform" .4byte "Visit__33TCastToPtr<19CHUDBillboardEffect>FR17CScriptPlayerHint" - .4byte "Visit__33TCastToPtr<19CHUDBillboardEffect>FR22CScriptPointOfinterest" + .4byte "Visit__33TCastToPtr<19CHUDBillboardEffect>FR22CScriptPointOfInterest" .4byte "Visit__33TCastToPtr<19CHUDBillboardEffect>FR20CScriptRoomAcoustics" .4byte "Visit__33TCastToPtr<19CHUDBillboardEffect>FR12CScriptSound" .4byte "Visit__33TCastToPtr<19CHUDBillboardEffect>FR17CScriptSpawnPoint" @@ -929,7 +929,7 @@ lbl_803DCC48: .4byte "Visit__32TCastToPtr<18CMetroidPrimeRelay>FR13CScriptPickup" .4byte "Visit__32TCastToPtr<18CMetroidPrimeRelay>FR15CScriptPlatform" .4byte "Visit__32TCastToPtr<18CMetroidPrimeRelay>FR17CScriptPlayerHint" - .4byte "Visit__32TCastToPtr<18CMetroidPrimeRelay>FR22CScriptPointOfinterest" + .4byte "Visit__32TCastToPtr<18CMetroidPrimeRelay>FR22CScriptPointOfInterest" .4byte "Visit__32TCastToPtr<18CMetroidPrimeRelay>FR20CScriptRoomAcoustics" .4byte "Visit__32TCastToPtr<18CMetroidPrimeRelay>FR12CScriptSound" .4byte "Visit__32TCastToPtr<18CMetroidPrimeRelay>FR17CScriptSpawnPoint" @@ -992,7 +992,7 @@ lbl_803DCD34: .4byte "Visit__25TCastToPtr<11CPathCamera>FR13CScriptPickup" .4byte "Visit__25TCastToPtr<11CPathCamera>FR15CScriptPlatform" .4byte "Visit__25TCastToPtr<11CPathCamera>FR17CScriptPlayerHint" - .4byte "Visit__25TCastToPtr<11CPathCamera>FR22CScriptPointOfinterest" + .4byte "Visit__25TCastToPtr<11CPathCamera>FR22CScriptPointOfInterest" .4byte "Visit__25TCastToPtr<11CPathCamera>FR20CScriptRoomAcoustics" .4byte "Visit__25TCastToPtr<11CPathCamera>FR12CScriptSound" .4byte "Visit__25TCastToPtr<11CPathCamera>FR17CScriptSpawnPoint" @@ -1055,7 +1055,7 @@ lbl_803DCE20: .4byte "Visit__16TCastToPtr<3CAi>FR13CScriptPickup" .4byte "Visit__16TCastToPtr<3CAi>FR15CScriptPlatform" .4byte "Visit__16TCastToPtr<3CAi>FR17CScriptPlayerHint" - .4byte "Visit__16TCastToPtr<3CAi>FR22CScriptPointOfinterest" + .4byte "Visit__16TCastToPtr<3CAi>FR22CScriptPointOfInterest" .4byte "Visit__16TCastToPtr<3CAi>FR20CScriptRoomAcoustics" .4byte "Visit__16TCastToPtr<3CAi>FR12CScriptSound" .4byte "Visit__16TCastToPtr<3CAi>FR17CScriptSpawnPoint" @@ -1118,7 +1118,7 @@ lbl_803DCF0C: .4byte "Visit__27TCastToPtr<13CPhysicsActor>FR13CScriptPickup" .4byte "Visit__27TCastToPtr<13CPhysicsActor>FR15CScriptPlatform" .4byte "Visit__27TCastToPtr<13CPhysicsActor>FR17CScriptPlayerHint" - .4byte "Visit__27TCastToPtr<13CPhysicsActor>FR22CScriptPointOfinterest" + .4byte "Visit__27TCastToPtr<13CPhysicsActor>FR22CScriptPointOfInterest" .4byte "Visit__27TCastToPtr<13CPhysicsActor>FR20CScriptRoomAcoustics" .4byte "Visit__27TCastToPtr<13CPhysicsActor>FR12CScriptSound" .4byte "Visit__27TCastToPtr<13CPhysicsActor>FR17CScriptSpawnPoint" @@ -1181,7 +1181,7 @@ lbl_803DCFF8: .4byte "Visit__20TCastToPtr<7CPlayer>FR13CScriptPickup" .4byte "Visit__20TCastToPtr<7CPlayer>FR15CScriptPlatform" .4byte "Visit__20TCastToPtr<7CPlayer>FR17CScriptPlayerHint" - .4byte "Visit__20TCastToPtr<7CPlayer>FR22CScriptPointOfinterest" + .4byte "Visit__20TCastToPtr<7CPlayer>FR22CScriptPointOfInterest" .4byte "Visit__20TCastToPtr<7CPlayer>FR20CScriptRoomAcoustics" .4byte "Visit__20TCastToPtr<7CPlayer>FR12CScriptSound" .4byte "Visit__20TCastToPtr<7CPlayer>FR17CScriptSpawnPoint" @@ -1244,7 +1244,7 @@ lbl_803DD0E4: .4byte "Visit__22TCastToPtr<9CRepulsor>FR13CScriptPickup" .4byte "Visit__22TCastToPtr<9CRepulsor>FR15CScriptPlatform" .4byte "Visit__22TCastToPtr<9CRepulsor>FR17CScriptPlayerHint" - .4byte "Visit__22TCastToPtr<9CRepulsor>FR22CScriptPointOfinterest" + .4byte "Visit__22TCastToPtr<9CRepulsor>FR22CScriptPointOfInterest" .4byte "Visit__22TCastToPtr<9CRepulsor>FR20CScriptRoomAcoustics" .4byte "Visit__22TCastToPtr<9CRepulsor>FR12CScriptSound" .4byte "Visit__22TCastToPtr<9CRepulsor>FR17CScriptSpawnPoint" @@ -1307,7 +1307,7 @@ lbl_803DD1D0: .4byte "Visit__26TCastToPtr<12CScriptActor>FR13CScriptPickup" .4byte "Visit__26TCastToPtr<12CScriptActor>FR15CScriptPlatform" .4byte "Visit__26TCastToPtr<12CScriptActor>FR17CScriptPlayerHint" - .4byte "Visit__26TCastToPtr<12CScriptActor>FR22CScriptPointOfinterest" + .4byte "Visit__26TCastToPtr<12CScriptActor>FR22CScriptPointOfInterest" .4byte "Visit__26TCastToPtr<12CScriptActor>FR20CScriptRoomAcoustics" .4byte "Visit__26TCastToPtr<12CScriptActor>FR12CScriptSound" .4byte "Visit__26TCastToPtr<12CScriptActor>FR17CScriptSpawnPoint" @@ -1370,7 +1370,7 @@ lbl_803DD2BC: .4byte "Visit__34TCastToPtr<20CScriptActorKeyframe>FR13CScriptPickup" .4byte "Visit__34TCastToPtr<20CScriptActorKeyframe>FR15CScriptPlatform" .4byte "Visit__34TCastToPtr<20CScriptActorKeyframe>FR17CScriptPlayerHint" - .4byte "Visit__34TCastToPtr<20CScriptActorKeyframe>FR22CScriptPointOfinterest" + .4byte "Visit__34TCastToPtr<20CScriptActorKeyframe>FR22CScriptPointOfInterest" .4byte "Visit__34TCastToPtr<20CScriptActorKeyframe>FR20CScriptRoomAcoustics" .4byte "Visit__34TCastToPtr<20CScriptActorKeyframe>FR12CScriptSound" .4byte "Visit__34TCastToPtr<20CScriptActorKeyframe>FR17CScriptSpawnPoint" @@ -1433,7 +1433,7 @@ lbl_803DD3A8: .4byte "Visit__32TCastToPtr<18CScriptAiJumpPoint>FR13CScriptPickup" .4byte "Visit__32TCastToPtr<18CScriptAiJumpPoint>FR15CScriptPlatform" .4byte "Visit__32TCastToPtr<18CScriptAiJumpPoint>FR17CScriptPlayerHint" - .4byte "Visit__32TCastToPtr<18CScriptAiJumpPoint>FR22CScriptPointOfinterest" + .4byte "Visit__32TCastToPtr<18CScriptAiJumpPoint>FR22CScriptPointOfInterest" .4byte "Visit__32TCastToPtr<18CScriptAiJumpPoint>FR20CScriptRoomAcoustics" .4byte "Visit__32TCastToPtr<18CScriptAiJumpPoint>FR12CScriptSound" .4byte "Visit__32TCastToPtr<18CScriptAiJumpPoint>FR17CScriptSpawnPoint" @@ -1496,7 +1496,7 @@ lbl_803DD494: .4byte "Visit__31TCastToPtr<17CScriptCameraHint>FR13CScriptPickup" .4byte "Visit__31TCastToPtr<17CScriptCameraHint>FR15CScriptPlatform" .4byte "Visit__31TCastToPtr<17CScriptCameraHint>FR17CScriptPlayerHint" - .4byte "Visit__31TCastToPtr<17CScriptCameraHint>FR22CScriptPointOfinterest" + .4byte "Visit__31TCastToPtr<17CScriptCameraHint>FR22CScriptPointOfInterest" .4byte "Visit__31TCastToPtr<17CScriptCameraHint>FR20CScriptRoomAcoustics" .4byte "Visit__31TCastToPtr<17CScriptCameraHint>FR12CScriptSound" .4byte "Visit__31TCastToPtr<17CScriptCameraHint>FR17CScriptSpawnPoint" @@ -1559,7 +1559,7 @@ lbl_803DD580: .4byte "Visit__38TCastToPtr<24CScriptCameraPitchVolume>FR13CScriptPickup" .4byte "Visit__38TCastToPtr<24CScriptCameraPitchVolume>FR15CScriptPlatform" .4byte "Visit__38TCastToPtr<24CScriptCameraPitchVolume>FR17CScriptPlayerHint" - .4byte "Visit__38TCastToPtr<24CScriptCameraPitchVolume>FR22CScriptPointOfinterest" + .4byte "Visit__38TCastToPtr<24CScriptCameraPitchVolume>FR22CScriptPointOfInterest" .4byte "Visit__38TCastToPtr<24CScriptCameraPitchVolume>FR20CScriptRoomAcoustics" .4byte "Visit__38TCastToPtr<24CScriptCameraPitchVolume>FR12CScriptSound" .4byte "Visit__38TCastToPtr<24CScriptCameraPitchVolume>FR17CScriptSpawnPoint" @@ -1622,7 +1622,7 @@ lbl_803DD66C: .4byte "Visit__35TCastToPtr<21CScriptCameraWaypoint>FR13CScriptPickup" .4byte "Visit__35TCastToPtr<21CScriptCameraWaypoint>FR15CScriptPlatform" .4byte "Visit__35TCastToPtr<21CScriptCameraWaypoint>FR17CScriptPlayerHint" - .4byte "Visit__35TCastToPtr<21CScriptCameraWaypoint>FR22CScriptPointOfinterest" + .4byte "Visit__35TCastToPtr<21CScriptCameraWaypoint>FR22CScriptPointOfInterest" .4byte "Visit__35TCastToPtr<21CScriptCameraWaypoint>FR20CScriptRoomAcoustics" .4byte "Visit__35TCastToPtr<21CScriptCameraWaypoint>FR12CScriptSound" .4byte "Visit__35TCastToPtr<21CScriptCameraWaypoint>FR17CScriptSpawnPoint" @@ -1685,7 +1685,7 @@ lbl_803DD758: .4byte "Visit__31TCastToPtr<17CScriptCoverPoint>FR13CScriptPickup" .4byte "Visit__31TCastToPtr<17CScriptCoverPoint>FR15CScriptPlatform" .4byte "Visit__31TCastToPtr<17CScriptCoverPoint>FR17CScriptPlayerHint" - .4byte "Visit__31TCastToPtr<17CScriptCoverPoint>FR22CScriptPointOfinterest" + .4byte "Visit__31TCastToPtr<17CScriptCoverPoint>FR22CScriptPointOfInterest" .4byte "Visit__31TCastToPtr<17CScriptCoverPoint>FR20CScriptRoomAcoustics" .4byte "Visit__31TCastToPtr<17CScriptCoverPoint>FR12CScriptSound" .4byte "Visit__31TCastToPtr<17CScriptCoverPoint>FR17CScriptSpawnPoint" @@ -1748,7 +1748,7 @@ lbl_803DD844: .4byte "Visit__32TCastToPtr<18CScriptDistanceFog>FR13CScriptPickup" .4byte "Visit__32TCastToPtr<18CScriptDistanceFog>FR15CScriptPlatform" .4byte "Visit__32TCastToPtr<18CScriptDistanceFog>FR17CScriptPlayerHint" - .4byte "Visit__32TCastToPtr<18CScriptDistanceFog>FR22CScriptPointOfinterest" + .4byte "Visit__32TCastToPtr<18CScriptDistanceFog>FR22CScriptPointOfInterest" .4byte "Visit__32TCastToPtr<18CScriptDistanceFog>FR20CScriptRoomAcoustics" .4byte "Visit__32TCastToPtr<18CScriptDistanceFog>FR12CScriptSound" .4byte "Visit__32TCastToPtr<18CScriptDistanceFog>FR17CScriptSpawnPoint" @@ -1811,7 +1811,7 @@ lbl_803DD930: .4byte "Visit__25TCastToPtr<11CScriptDock>FR13CScriptPickup" .4byte "Visit__25TCastToPtr<11CScriptDock>FR15CScriptPlatform" .4byte "Visit__25TCastToPtr<11CScriptDock>FR17CScriptPlayerHint" - .4byte "Visit__25TCastToPtr<11CScriptDock>FR22CScriptPointOfinterest" + .4byte "Visit__25TCastToPtr<11CScriptDock>FR22CScriptPointOfInterest" .4byte "Visit__25TCastToPtr<11CScriptDock>FR20CScriptRoomAcoustics" .4byte "Visit__25TCastToPtr<11CScriptDock>FR12CScriptSound" .4byte "Visit__25TCastToPtr<11CScriptDock>FR17CScriptSpawnPoint" @@ -1874,7 +1874,7 @@ lbl_803DDA1C: .4byte "Visit__25TCastToPtr<11CScriptDoor>FR13CScriptPickup" .4byte "Visit__25TCastToPtr<11CScriptDoor>FR15CScriptPlatform" .4byte "Visit__25TCastToPtr<11CScriptDoor>FR17CScriptPlayerHint" - .4byte "Visit__25TCastToPtr<11CScriptDoor>FR22CScriptPointOfinterest" + .4byte "Visit__25TCastToPtr<11CScriptDoor>FR22CScriptPointOfInterest" .4byte "Visit__25TCastToPtr<11CScriptDoor>FR20CScriptRoomAcoustics" .4byte "Visit__25TCastToPtr<11CScriptDoor>FR12CScriptSound" .4byte "Visit__25TCastToPtr<11CScriptDoor>FR17CScriptSpawnPoint" @@ -1937,7 +1937,7 @@ lbl_803DDB08: .4byte "Visit__27TCastToPtr<13CScriptEffect>FR13CScriptPickup" .4byte "Visit__27TCastToPtr<13CScriptEffect>FR15CScriptPlatform" .4byte "Visit__27TCastToPtr<13CScriptEffect>FR17CScriptPlayerHint" - .4byte "Visit__27TCastToPtr<13CScriptEffect>FR22CScriptPointOfinterest" + .4byte "Visit__27TCastToPtr<13CScriptEffect>FR22CScriptPointOfInterest" .4byte "Visit__27TCastToPtr<13CScriptEffect>FR20CScriptRoomAcoustics" .4byte "Visit__27TCastToPtr<13CScriptEffect>FR12CScriptSound" .4byte "Visit__27TCastToPtr<13CScriptEffect>FR17CScriptSpawnPoint" @@ -2000,7 +2000,7 @@ lbl_803DDBF4: .4byte "Visit__33TCastToPtr<19CScriptGrapplePoint>FR13CScriptPickup" .4byte "Visit__33TCastToPtr<19CScriptGrapplePoint>FR15CScriptPlatform" .4byte "Visit__33TCastToPtr<19CScriptGrapplePoint>FR17CScriptPlayerHint" - .4byte "Visit__33TCastToPtr<19CScriptGrapplePoint>FR22CScriptPointOfinterest" + .4byte "Visit__33TCastToPtr<19CScriptGrapplePoint>FR22CScriptPointOfInterest" .4byte "Visit__33TCastToPtr<19CScriptGrapplePoint>FR20CScriptRoomAcoustics" .4byte "Visit__33TCastToPtr<19CScriptGrapplePoint>FR12CScriptSound" .4byte "Visit__33TCastToPtr<19CScriptGrapplePoint>FR17CScriptSpawnPoint" @@ -2063,7 +2063,7 @@ lbl_803DDCE0: .4byte "Visit__30TCastToPtr<16CScriptGunTurret>FR13CScriptPickup" .4byte "Visit__30TCastToPtr<16CScriptGunTurret>FR15CScriptPlatform" .4byte "Visit__30TCastToPtr<16CScriptGunTurret>FR17CScriptPlayerHint" - .4byte "Visit__30TCastToPtr<16CScriptGunTurret>FR22CScriptPointOfinterest" + .4byte "Visit__30TCastToPtr<16CScriptGunTurret>FR22CScriptPointOfInterest" .4byte "Visit__30TCastToPtr<16CScriptGunTurret>FR20CScriptRoomAcoustics" .4byte "Visit__30TCastToPtr<16CScriptGunTurret>FR12CScriptSound" .4byte "Visit__30TCastToPtr<16CScriptGunTurret>FR17CScriptSpawnPoint" @@ -2126,7 +2126,7 @@ lbl_803DDDCC: .4byte "Visit__29TCastToPtr<15CScriptMazeNode>FR13CScriptPickup" .4byte "Visit__29TCastToPtr<15CScriptMazeNode>FR15CScriptPlatform" .4byte "Visit__29TCastToPtr<15CScriptMazeNode>FR17CScriptPlayerHint" - .4byte "Visit__29TCastToPtr<15CScriptMazeNode>FR22CScriptPointOfinterest" + .4byte "Visit__29TCastToPtr<15CScriptMazeNode>FR22CScriptPointOfInterest" .4byte "Visit__29TCastToPtr<15CScriptMazeNode>FR20CScriptRoomAcoustics" .4byte "Visit__29TCastToPtr<15CScriptMazeNode>FR12CScriptSound" .4byte "Visit__29TCastToPtr<15CScriptMazeNode>FR17CScriptSpawnPoint" @@ -2189,7 +2189,7 @@ lbl_803DDEB8: .4byte "Visit__27TCastToPtr<13CScriptPickup>FR13CScriptPickup" .4byte "Visit__27TCastToPtr<13CScriptPickup>FR15CScriptPlatform" .4byte "Visit__27TCastToPtr<13CScriptPickup>FR17CScriptPlayerHint" - .4byte "Visit__27TCastToPtr<13CScriptPickup>FR22CScriptPointOfinterest" + .4byte "Visit__27TCastToPtr<13CScriptPickup>FR22CScriptPointOfInterest" .4byte "Visit__27TCastToPtr<13CScriptPickup>FR20CScriptRoomAcoustics" .4byte "Visit__27TCastToPtr<13CScriptPickup>FR12CScriptSound" .4byte "Visit__27TCastToPtr<13CScriptPickup>FR17CScriptSpawnPoint" @@ -2252,7 +2252,7 @@ lbl_803DDFA4: .4byte "Visit__29TCastToPtr<15CScriptPlatform>FR13CScriptPickup" .4byte "Visit__29TCastToPtr<15CScriptPlatform>FR15CScriptPlatform" .4byte "Visit__29TCastToPtr<15CScriptPlatform>FR17CScriptPlayerHint" - .4byte "Visit__29TCastToPtr<15CScriptPlatform>FR22CScriptPointOfinterest" + .4byte "Visit__29TCastToPtr<15CScriptPlatform>FR22CScriptPointOfInterest" .4byte "Visit__29TCastToPtr<15CScriptPlatform>FR20CScriptRoomAcoustics" .4byte "Visit__29TCastToPtr<15CScriptPlatform>FR12CScriptSound" .4byte "Visit__29TCastToPtr<15CScriptPlatform>FR17CScriptSpawnPoint" @@ -2315,7 +2315,7 @@ lbl_803DE090: .4byte "Visit__31TCastToPtr<17CScriptPlayerHint>FR13CScriptPickup" .4byte "Visit__31TCastToPtr<17CScriptPlayerHint>FR15CScriptPlatform" .4byte "Visit__31TCastToPtr<17CScriptPlayerHint>FR17CScriptPlayerHint" - .4byte "Visit__31TCastToPtr<17CScriptPlayerHint>FR22CScriptPointOfinterest" + .4byte "Visit__31TCastToPtr<17CScriptPlayerHint>FR22CScriptPointOfInterest" .4byte "Visit__31TCastToPtr<17CScriptPlayerHint>FR20CScriptRoomAcoustics" .4byte "Visit__31TCastToPtr<17CScriptPlayerHint>FR12CScriptSound" .4byte "Visit__31TCastToPtr<17CScriptPlayerHint>FR17CScriptSpawnPoint" @@ -2378,7 +2378,7 @@ lbl_803DE17C: .4byte "Visit__34TCastToPtr<20CScriptRoomAcoustics>FR13CScriptPickup" .4byte "Visit__34TCastToPtr<20CScriptRoomAcoustics>FR15CScriptPlatform" .4byte "Visit__34TCastToPtr<20CScriptRoomAcoustics>FR17CScriptPlayerHint" - .4byte "Visit__34TCastToPtr<20CScriptRoomAcoustics>FR22CScriptPointOfinterest" + .4byte "Visit__34TCastToPtr<20CScriptRoomAcoustics>FR22CScriptPointOfInterest" .4byte "Visit__34TCastToPtr<20CScriptRoomAcoustics>FR20CScriptRoomAcoustics" .4byte "Visit__34TCastToPtr<20CScriptRoomAcoustics>FR12CScriptSound" .4byte "Visit__34TCastToPtr<20CScriptRoomAcoustics>FR17CScriptSpawnPoint" @@ -2441,7 +2441,7 @@ lbl_803DE268: .4byte "Visit__26TCastToPtr<12CScriptSound>FR13CScriptPickup" .4byte "Visit__26TCastToPtr<12CScriptSound>FR15CScriptPlatform" .4byte "Visit__26TCastToPtr<12CScriptSound>FR17CScriptPlayerHint" - .4byte "Visit__26TCastToPtr<12CScriptSound>FR22CScriptPointOfinterest" + .4byte "Visit__26TCastToPtr<12CScriptSound>FR22CScriptPointOfInterest" .4byte "Visit__26TCastToPtr<12CScriptSound>FR20CScriptRoomAcoustics" .4byte "Visit__26TCastToPtr<12CScriptSound>FR12CScriptSound" .4byte "Visit__26TCastToPtr<12CScriptSound>FR17CScriptSpawnPoint" @@ -2504,7 +2504,7 @@ lbl_803DE354: .4byte "Visit__31TCastToPtr<17CScriptSpawnPoint>FR13CScriptPickup" .4byte "Visit__31TCastToPtr<17CScriptSpawnPoint>FR15CScriptPlatform" .4byte "Visit__31TCastToPtr<17CScriptSpawnPoint>FR17CScriptPlayerHint" - .4byte "Visit__31TCastToPtr<17CScriptSpawnPoint>FR22CScriptPointOfinterest" + .4byte "Visit__31TCastToPtr<17CScriptSpawnPoint>FR22CScriptPointOfInterest" .4byte "Visit__31TCastToPtr<17CScriptSpawnPoint>FR20CScriptRoomAcoustics" .4byte "Visit__31TCastToPtr<17CScriptSpawnPoint>FR12CScriptSound" .4byte "Visit__31TCastToPtr<17CScriptSpawnPoint>FR17CScriptSpawnPoint" @@ -2567,7 +2567,7 @@ lbl_803DE440: .4byte "Visit__48TCastToPtr<34CScriptSpiderBallAttractionSurface>FR13CScriptPickup" .4byte "Visit__48TCastToPtr<34CScriptSpiderBallAttractionSurface>FR15CScriptPlatform" .4byte "Visit__48TCastToPtr<34CScriptSpiderBallAttractionSurface>FR17CScriptPlayerHint" - .4byte "Visit__48TCastToPtr<34CScriptSpiderBallAttractionSurface>FR22CScriptPointOfinterest" + .4byte "Visit__48TCastToPtr<34CScriptSpiderBallAttractionSurface>FR22CScriptPointOfInterest" .4byte "Visit__48TCastToPtr<34CScriptSpiderBallAttractionSurface>FR20CScriptRoomAcoustics" .4byte "Visit__48TCastToPtr<34CScriptSpiderBallAttractionSurface>FR12CScriptSound" .4byte "Visit__48TCastToPtr<34CScriptSpiderBallAttractionSurface>FR17CScriptSpawnPoint" @@ -2630,7 +2630,7 @@ lbl_803DE52C: .4byte "Visit__39TCastToPtr<25CScriptSpiderBallWaypoint>FR13CScriptPickup" .4byte "Visit__39TCastToPtr<25CScriptSpiderBallWaypoint>FR15CScriptPlatform" .4byte "Visit__39TCastToPtr<25CScriptSpiderBallWaypoint>FR17CScriptPlayerHint" - .4byte "Visit__39TCastToPtr<25CScriptSpiderBallWaypoint>FR22CScriptPointOfinterest" + .4byte "Visit__39TCastToPtr<25CScriptSpiderBallWaypoint>FR22CScriptPointOfInterest" .4byte "Visit__39TCastToPtr<25CScriptSpiderBallWaypoint>FR20CScriptRoomAcoustics" .4byte "Visit__39TCastToPtr<25CScriptSpiderBallWaypoint>FR12CScriptSound" .4byte "Visit__39TCastToPtr<25CScriptSpiderBallWaypoint>FR17CScriptSpawnPoint" @@ -2756,7 +2756,7 @@ lbl_803DE704: .4byte "Visit__24TCastToPtr<10CTeamAiMgr>FR13CScriptPickup" .4byte "Visit__24TCastToPtr<10CTeamAiMgr>FR15CScriptPlatform" .4byte "Visit__24TCastToPtr<10CTeamAiMgr>FR17CScriptPlayerHint" - .4byte "Visit__24TCastToPtr<10CTeamAiMgr>FR22CScriptPointOfinterest" + .4byte "Visit__24TCastToPtr<10CTeamAiMgr>FR22CScriptPointOfInterest" .4byte "Visit__24TCastToPtr<10CTeamAiMgr>FR20CScriptRoomAcoustics" .4byte "Visit__24TCastToPtr<10CTeamAiMgr>FR12CScriptSound" .4byte "Visit__24TCastToPtr<10CTeamAiMgr>FR17CScriptSpawnPoint" @@ -2819,7 +2819,7 @@ lbl_803DE7F0: .4byte "Visit__26TCastToPtr<12CScriptTimer>FR13CScriptPickup" .4byte "Visit__26TCastToPtr<12CScriptTimer>FR15CScriptPlatform" .4byte "Visit__26TCastToPtr<12CScriptTimer>FR17CScriptPlayerHint" - .4byte "Visit__26TCastToPtr<12CScriptTimer>FR22CScriptPointOfinterest" + .4byte "Visit__26TCastToPtr<12CScriptTimer>FR22CScriptPointOfInterest" .4byte "Visit__26TCastToPtr<12CScriptTimer>FR20CScriptRoomAcoustics" .4byte "Visit__26TCastToPtr<12CScriptTimer>FR12CScriptSound" .4byte "Visit__26TCastToPtr<12CScriptTimer>FR17CScriptSpawnPoint" @@ -2882,7 +2882,7 @@ lbl_803DE8DC: .4byte "Visit__28TCastToPtr<14CScriptTrigger>FR13CScriptPickup" .4byte "Visit__28TCastToPtr<14CScriptTrigger>FR15CScriptPlatform" .4byte "Visit__28TCastToPtr<14CScriptTrigger>FR17CScriptPlayerHint" - .4byte "Visit__28TCastToPtr<14CScriptTrigger>FR22CScriptPointOfinterest" + .4byte "Visit__28TCastToPtr<14CScriptTrigger>FR22CScriptPointOfInterest" .4byte "Visit__28TCastToPtr<14CScriptTrigger>FR20CScriptRoomAcoustics" .4byte "Visit__28TCastToPtr<14CScriptTrigger>FR12CScriptSound" .4byte "Visit__28TCastToPtr<14CScriptTrigger>FR17CScriptSpawnPoint" @@ -2945,7 +2945,7 @@ lbl_803DE9C8: .4byte "Visit__31TCastToPtr<17CScriptVisorFlare>FR13CScriptPickup" .4byte "Visit__31TCastToPtr<17CScriptVisorFlare>FR15CScriptPlatform" .4byte "Visit__31TCastToPtr<17CScriptVisorFlare>FR17CScriptPlayerHint" - .4byte "Visit__31TCastToPtr<17CScriptVisorFlare>FR22CScriptPointOfinterest" + .4byte "Visit__31TCastToPtr<17CScriptVisorFlare>FR22CScriptPointOfInterest" .4byte "Visit__31TCastToPtr<17CScriptVisorFlare>FR20CScriptRoomAcoustics" .4byte "Visit__31TCastToPtr<17CScriptVisorFlare>FR12CScriptSound" .4byte "Visit__31TCastToPtr<17CScriptVisorFlare>FR17CScriptSpawnPoint" @@ -3008,7 +3008,7 @@ lbl_803DEAB4: .4byte "Visit__26TCastToPtr<12CScriptWater>FR13CScriptPickup" .4byte "Visit__26TCastToPtr<12CScriptWater>FR15CScriptPlatform" .4byte "Visit__26TCastToPtr<12CScriptWater>FR17CScriptPlayerHint" - .4byte "Visit__26TCastToPtr<12CScriptWater>FR22CScriptPointOfinterest" + .4byte "Visit__26TCastToPtr<12CScriptWater>FR22CScriptPointOfInterest" .4byte "Visit__26TCastToPtr<12CScriptWater>FR20CScriptRoomAcoustics" .4byte "Visit__26TCastToPtr<12CScriptWater>FR12CScriptSound" .4byte "Visit__26TCastToPtr<12CScriptWater>FR17CScriptSpawnPoint" @@ -3071,7 +3071,7 @@ lbl_803DEBA0: .4byte "Visit__29TCastToPtr<15CScriptWaypoint>FR13CScriptPickup" .4byte "Visit__29TCastToPtr<15CScriptWaypoint>FR15CScriptPlatform" .4byte "Visit__29TCastToPtr<15CScriptWaypoint>FR17CScriptPlayerHint" - .4byte "Visit__29TCastToPtr<15CScriptWaypoint>FR22CScriptPointOfinterest" + .4byte "Visit__29TCastToPtr<15CScriptWaypoint>FR22CScriptPointOfInterest" .4byte "Visit__29TCastToPtr<15CScriptWaypoint>FR20CScriptRoomAcoustics" .4byte "Visit__29TCastToPtr<15CScriptWaypoint>FR12CScriptSound" .4byte "Visit__29TCastToPtr<15CScriptWaypoint>FR17CScriptSpawnPoint" @@ -3134,7 +3134,7 @@ lbl_803DEC8C: .4byte "Visit__29TCastToPtr<15CSnakeWeedSwarm>FR13CScriptPickup" .4byte "Visit__29TCastToPtr<15CSnakeWeedSwarm>FR15CScriptPlatform" .4byte "Visit__29TCastToPtr<15CSnakeWeedSwarm>FR17CScriptPlayerHint" - .4byte "Visit__29TCastToPtr<15CSnakeWeedSwarm>FR22CScriptPointOfinterest" + .4byte "Visit__29TCastToPtr<15CSnakeWeedSwarm>FR22CScriptPointOfInterest" .4byte "Visit__29TCastToPtr<15CSnakeWeedSwarm>FR20CScriptRoomAcoustics" .4byte "Visit__29TCastToPtr<15CSnakeWeedSwarm>FR12CScriptSound" .4byte "Visit__29TCastToPtr<15CSnakeWeedSwarm>FR17CScriptSpawnPoint" @@ -3197,7 +3197,7 @@ lbl_803DED78: .4byte "Visit__34TCastToPtr<20CScriptSpindleCamera>FR13CScriptPickup" .4byte "Visit__34TCastToPtr<20CScriptSpindleCamera>FR15CScriptPlatform" .4byte "Visit__34TCastToPtr<20CScriptSpindleCamera>FR17CScriptPlayerHint" - .4byte "Visit__34TCastToPtr<20CScriptSpindleCamera>FR22CScriptPointOfinterest" + .4byte "Visit__34TCastToPtr<20CScriptSpindleCamera>FR22CScriptPointOfInterest" .4byte "Visit__34TCastToPtr<20CScriptSpindleCamera>FR20CScriptRoomAcoustics" .4byte "Visit__34TCastToPtr<20CScriptSpindleCamera>FR12CScriptSound" .4byte "Visit__34TCastToPtr<20CScriptSpindleCamera>FR17CScriptSpawnPoint" @@ -3260,7 +3260,7 @@ lbl_803DEE64: .4byte "Visit__31TCastToPtr<17CWallCrawlerSwarm>FR13CScriptPickup" .4byte "Visit__31TCastToPtr<17CWallCrawlerSwarm>FR15CScriptPlatform" .4byte "Visit__31TCastToPtr<17CWallCrawlerSwarm>FR17CScriptPlayerHint" - .4byte "Visit__31TCastToPtr<17CWallCrawlerSwarm>FR22CScriptPointOfinterest" + .4byte "Visit__31TCastToPtr<17CWallCrawlerSwarm>FR22CScriptPointOfInterest" .4byte "Visit__31TCastToPtr<17CWallCrawlerSwarm>FR20CScriptRoomAcoustics" .4byte "Visit__31TCastToPtr<17CWallCrawlerSwarm>FR12CScriptSound" .4byte "Visit__31TCastToPtr<17CWallCrawlerSwarm>FR17CScriptSpawnPoint" @@ -3323,7 +3323,7 @@ lbl_803DEF50: .4byte "Visit__20TCastToPtr<7CWeapon>FR13CScriptPickup" .4byte "Visit__20TCastToPtr<7CWeapon>FR15CScriptPlatform" .4byte "Visit__20TCastToPtr<7CWeapon>FR17CScriptPlayerHint" - .4byte "Visit__20TCastToPtr<7CWeapon>FR22CScriptPointOfinterest" + .4byte "Visit__20TCastToPtr<7CWeapon>FR22CScriptPointOfInterest" .4byte "Visit__20TCastToPtr<7CWeapon>FR20CScriptRoomAcoustics" .4byte "Visit__20TCastToPtr<7CWeapon>FR12CScriptSound" .4byte "Visit__20TCastToPtr<7CWeapon>FR17CScriptSpawnPoint" @@ -3508,8 +3508,8 @@ lbl_803DF03C: /* 800A56BC 000A261C 90 03 00 04 */ stw r0, 4(r3) /* 800A56C0 000A2620 4E 80 00 20 */ blr -.global "Visit__20TCastToPtr<7CWeapon>FR22CScriptPointOfinterest" -"Visit__20TCastToPtr<7CWeapon>FR22CScriptPointOfinterest": +.global "Visit__20TCastToPtr<7CWeapon>FR22CScriptPointOfInterest" +"Visit__20TCastToPtr<7CWeapon>FR22CScriptPointOfInterest": /* 800A56C4 000A2624 38 00 00 00 */ li r0, 0 /* 800A56C8 000A2628 90 03 00 04 */ stw r0, 4(r3) /* 800A56CC 000A262C 4E 80 00 20 */ blr @@ -3905,8 +3905,8 @@ lbl_800A58EC: /* 800A5A28 000A2988 90 03 00 04 */ stw r0, 4(r3) /* 800A5A2C 000A298C 4E 80 00 20 */ blr -.global "Visit__31TCastToPtr<17CWallCrawlerSwarm>FR22CScriptPointOfinterest" -"Visit__31TCastToPtr<17CWallCrawlerSwarm>FR22CScriptPointOfinterest": +.global "Visit__31TCastToPtr<17CWallCrawlerSwarm>FR22CScriptPointOfInterest" +"Visit__31TCastToPtr<17CWallCrawlerSwarm>FR22CScriptPointOfInterest": /* 800A5A30 000A2990 38 00 00 00 */ li r0, 0 /* 800A5A34 000A2994 90 03 00 04 */ stw r0, 4(r3) /* 800A5A38 000A2998 4E 80 00 20 */ blr @@ -4277,8 +4277,8 @@ lbl_800A5C64: /* 800A5D3C 000A2C9C 90 03 00 04 */ stw r0, 4(r3) /* 800A5D40 000A2CA0 4E 80 00 20 */ blr -.global "Visit__34TCastToPtr<20CScriptSpindleCamera>FR22CScriptPointOfinterest" -"Visit__34TCastToPtr<20CScriptSpindleCamera>FR22CScriptPointOfinterest": +.global "Visit__34TCastToPtr<20CScriptSpindleCamera>FR22CScriptPointOfInterest" +"Visit__34TCastToPtr<20CScriptSpindleCamera>FR22CScriptPointOfInterest": /* 800A5D44 000A2CA4 38 00 00 00 */ li r0, 0 /* 800A5D48 000A2CA8 90 03 00 04 */ stw r0, 4(r3) /* 800A5D4C 000A2CAC 4E 80 00 20 */ blr @@ -4649,8 +4649,8 @@ lbl_800A5F78: /* 800A6050 000A2FB0 90 03 00 04 */ stw r0, 4(r3) /* 800A6054 000A2FB4 4E 80 00 20 */ blr -.global "Visit__29TCastToPtr<15CSnakeWeedSwarm>FR22CScriptPointOfinterest" -"Visit__29TCastToPtr<15CSnakeWeedSwarm>FR22CScriptPointOfinterest": +.global "Visit__29TCastToPtr<15CSnakeWeedSwarm>FR22CScriptPointOfInterest" +"Visit__29TCastToPtr<15CSnakeWeedSwarm>FR22CScriptPointOfInterest": /* 800A6058 000A2FB8 38 00 00 00 */ li r0, 0 /* 800A605C 000A2FBC 90 03 00 04 */ stw r0, 4(r3) /* 800A6060 000A2FC0 4E 80 00 20 */ blr @@ -5021,8 +5021,8 @@ lbl_800A628C: /* 800A6364 000A32C4 90 03 00 04 */ stw r0, 4(r3) /* 800A6368 000A32C8 4E 80 00 20 */ blr -.global "Visit__29TCastToPtr<15CScriptWaypoint>FR22CScriptPointOfinterest" -"Visit__29TCastToPtr<15CScriptWaypoint>FR22CScriptPointOfinterest": +.global "Visit__29TCastToPtr<15CScriptWaypoint>FR22CScriptPointOfInterest" +"Visit__29TCastToPtr<15CScriptWaypoint>FR22CScriptPointOfInterest": /* 800A636C 000A32CC 38 00 00 00 */ li r0, 0 /* 800A6370 000A32D0 90 03 00 04 */ stw r0, 4(r3) /* 800A6374 000A32D4 4E 80 00 20 */ blr @@ -5393,8 +5393,8 @@ lbl_800A65A0: /* 800A6678 000A35D8 90 03 00 04 */ stw r0, 4(r3) /* 800A667C 000A35DC 4E 80 00 20 */ blr -.global "Visit__26TCastToPtr<12CScriptWater>FR22CScriptPointOfinterest" -"Visit__26TCastToPtr<12CScriptWater>FR22CScriptPointOfinterest": +.global "Visit__26TCastToPtr<12CScriptWater>FR22CScriptPointOfInterest" +"Visit__26TCastToPtr<12CScriptWater>FR22CScriptPointOfInterest": /* 800A6680 000A35E0 38 00 00 00 */ li r0, 0 /* 800A6684 000A35E4 90 03 00 04 */ stw r0, 4(r3) /* 800A6688 000A35E8 4E 80 00 20 */ blr @@ -5793,8 +5793,8 @@ lbl_800A68B4: /* 800A69F0 000A3950 90 03 00 04 */ stw r0, 4(r3) /* 800A69F4 000A3954 4E 80 00 20 */ blr -.global "Visit__31TCastToPtr<17CScriptVisorFlare>FR22CScriptPointOfinterest" -"Visit__31TCastToPtr<17CScriptVisorFlare>FR22CScriptPointOfinterest": +.global "Visit__31TCastToPtr<17CScriptVisorFlare>FR22CScriptPointOfInterest" +"Visit__31TCastToPtr<17CScriptVisorFlare>FR22CScriptPointOfInterest": /* 800A69F8 000A3958 38 00 00 00 */ li r0, 0 /* 800A69FC 000A395C 90 03 00 04 */ stw r0, 4(r3) /* 800A6A00 000A3960 4E 80 00 20 */ blr @@ -6164,8 +6164,8 @@ lbl_800A6C2C: /* 800A6D00 000A3C60 90 03 00 04 */ stw r0, 4(r3) /* 800A6D04 000A3C64 4E 80 00 20 */ blr -.global "Visit__28TCastToPtr<14CScriptTrigger>FR22CScriptPointOfinterest" -"Visit__28TCastToPtr<14CScriptTrigger>FR22CScriptPointOfinterest": +.global "Visit__28TCastToPtr<14CScriptTrigger>FR22CScriptPointOfInterest" +"Visit__28TCastToPtr<14CScriptTrigger>FR22CScriptPointOfInterest": /* 800A6D08 000A3C68 38 00 00 00 */ li r0, 0 /* 800A6D0C 000A3C6C 90 03 00 04 */ stw r0, 4(r3) /* 800A6D10 000A3C70 4E 80 00 20 */ blr @@ -6564,8 +6564,8 @@ lbl_800A6F3C: /* 800A7078 000A3FD8 90 03 00 04 */ stw r0, 4(r3) /* 800A707C 000A3FDC 4E 80 00 20 */ blr -.global "Visit__26TCastToPtr<12CScriptTimer>FR22CScriptPointOfinterest" -"Visit__26TCastToPtr<12CScriptTimer>FR22CScriptPointOfinterest": +.global "Visit__26TCastToPtr<12CScriptTimer>FR22CScriptPointOfInterest" +"Visit__26TCastToPtr<12CScriptTimer>FR22CScriptPointOfInterest": /* 800A7080 000A3FE0 38 00 00 00 */ li r0, 0 /* 800A7084 000A3FE4 90 03 00 04 */ stw r0, 4(r3) /* 800A7088 000A3FE8 4E 80 00 20 */ blr @@ -6936,8 +6936,8 @@ lbl_800A72B4: /* 800A738C 000A42EC 90 03 00 04 */ stw r0, 4(r3) /* 800A7390 000A42F0 4E 80 00 20 */ blr -.global "Visit__24TCastToPtr<10CTeamAiMgr>FR22CScriptPointOfinterest" -"Visit__24TCastToPtr<10CTeamAiMgr>FR22CScriptPointOfinterest": +.global "Visit__24TCastToPtr<10CTeamAiMgr>FR22CScriptPointOfInterest" +"Visit__24TCastToPtr<10CTeamAiMgr>FR22CScriptPointOfInterest": /* 800A7394 000A42F4 38 00 00 00 */ li r0, 0 /* 800A7398 000A42F8 90 03 00 04 */ stw r0, 4(r3) /* 800A739C 000A42FC 4E 80 00 20 */ blr @@ -7680,8 +7680,8 @@ lbl_800A78DC: /* 800A79B4 000A4914 90 03 00 04 */ stw r0, 4(r3) /* 800A79B8 000A4918 4E 80 00 20 */ blr -.global "Visit__39TCastToPtr<25CScriptSpiderBallWaypoint>FR22CScriptPointOfinterest" -"Visit__39TCastToPtr<25CScriptSpiderBallWaypoint>FR22CScriptPointOfinterest": +.global "Visit__39TCastToPtr<25CScriptSpiderBallWaypoint>FR22CScriptPointOfInterest" +"Visit__39TCastToPtr<25CScriptSpiderBallWaypoint>FR22CScriptPointOfInterest": /* 800A79BC 000A491C 38 00 00 00 */ li r0, 0 /* 800A79C0 000A4920 90 03 00 04 */ stw r0, 4(r3) /* 800A79C4 000A4924 4E 80 00 20 */ blr @@ -8052,8 +8052,8 @@ lbl_800A7BF0: /* 800A7CC8 000A4C28 90 03 00 04 */ stw r0, 4(r3) /* 800A7CCC 000A4C2C 4E 80 00 20 */ blr -.global "Visit__48TCastToPtr<34CScriptSpiderBallAttractionSurface>FR22CScriptPointOfinterest" -"Visit__48TCastToPtr<34CScriptSpiderBallAttractionSurface>FR22CScriptPointOfinterest": +.global "Visit__48TCastToPtr<34CScriptSpiderBallAttractionSurface>FR22CScriptPointOfInterest" +"Visit__48TCastToPtr<34CScriptSpiderBallAttractionSurface>FR22CScriptPointOfInterest": /* 800A7CD0 000A4C30 38 00 00 00 */ li r0, 0 /* 800A7CD4 000A4C34 90 03 00 04 */ stw r0, 4(r3) /* 800A7CD8 000A4C38 4E 80 00 20 */ blr @@ -8424,8 +8424,8 @@ lbl_800A7F04: /* 800A7FDC 000A4F3C 90 03 00 04 */ stw r0, 4(r3) /* 800A7FE0 000A4F40 4E 80 00 20 */ blr -.global "Visit__31TCastToPtr<17CScriptSpawnPoint>FR22CScriptPointOfinterest" -"Visit__31TCastToPtr<17CScriptSpawnPoint>FR22CScriptPointOfinterest": +.global "Visit__31TCastToPtr<17CScriptSpawnPoint>FR22CScriptPointOfInterest" +"Visit__31TCastToPtr<17CScriptSpawnPoint>FR22CScriptPointOfInterest": /* 800A7FE4 000A4F44 38 00 00 00 */ li r0, 0 /* 800A7FE8 000A4F48 90 03 00 04 */ stw r0, 4(r3) /* 800A7FEC 000A4F4C 4E 80 00 20 */ blr @@ -8796,8 +8796,8 @@ lbl_800A8218: /* 800A82F0 000A5250 90 03 00 04 */ stw r0, 4(r3) /* 800A82F4 000A5254 4E 80 00 20 */ blr -.global "Visit__26TCastToPtr<12CScriptSound>FR22CScriptPointOfinterest" -"Visit__26TCastToPtr<12CScriptSound>FR22CScriptPointOfinterest": +.global "Visit__26TCastToPtr<12CScriptSound>FR22CScriptPointOfInterest" +"Visit__26TCastToPtr<12CScriptSound>FR22CScriptPointOfInterest": /* 800A82F8 000A5258 38 00 00 00 */ li r0, 0 /* 800A82FC 000A525C 90 03 00 04 */ stw r0, 4(r3) /* 800A8300 000A5260 4E 80 00 20 */ blr @@ -9168,8 +9168,8 @@ lbl_800A852C: /* 800A8604 000A5564 90 83 00 04 */ stw r4, 4(r3) /* 800A8608 000A5568 4E 80 00 20 */ blr -.global "Visit__34TCastToPtr<20CScriptRoomAcoustics>FR22CScriptPointOfinterest" -"Visit__34TCastToPtr<20CScriptRoomAcoustics>FR22CScriptPointOfinterest": +.global "Visit__34TCastToPtr<20CScriptRoomAcoustics>FR22CScriptPointOfInterest" +"Visit__34TCastToPtr<20CScriptRoomAcoustics>FR22CScriptPointOfInterest": /* 800A860C 000A556C 38 00 00 00 */ li r0, 0 /* 800A8610 000A5570 90 03 00 04 */ stw r0, 4(r3) /* 800A8614 000A5574 4E 80 00 20 */ blr @@ -9541,8 +9541,8 @@ lbl_800A8840: /* 800A891C 000A587C 90 03 00 04 */ stw r0, 4(r3) /* 800A8920 000A5880 4E 80 00 20 */ blr -.global "Visit__31TCastToPtr<17CScriptPlayerHint>FR22CScriptPointOfinterest" -"Visit__31TCastToPtr<17CScriptPlayerHint>FR22CScriptPointOfinterest": +.global "Visit__31TCastToPtr<17CScriptPlayerHint>FR22CScriptPointOfInterest" +"Visit__31TCastToPtr<17CScriptPlayerHint>FR22CScriptPointOfInterest": /* 800A8924 000A5884 38 00 00 00 */ li r0, 0 /* 800A8928 000A5888 90 03 00 04 */ stw r0, 4(r3) /* 800A892C 000A588C 4E 80 00 20 */ blr @@ -9913,8 +9913,8 @@ lbl_800A8B54: /* 800A8C30 000A5B90 90 03 00 04 */ stw r0, 4(r3) /* 800A8C34 000A5B94 4E 80 00 20 */ blr -.global "Visit__29TCastToPtr<15CScriptPlatform>FR22CScriptPointOfinterest" -"Visit__29TCastToPtr<15CScriptPlatform>FR22CScriptPointOfinterest": +.global "Visit__29TCastToPtr<15CScriptPlatform>FR22CScriptPointOfInterest" +"Visit__29TCastToPtr<15CScriptPlatform>FR22CScriptPointOfInterest": /* 800A8C38 000A5B98 38 00 00 00 */ li r0, 0 /* 800A8C3C 000A5B9C 90 03 00 04 */ stw r0, 4(r3) /* 800A8C40 000A5BA0 4E 80 00 20 */ blr @@ -10313,8 +10313,8 @@ lbl_800A8E68: /* 800A8FA8 000A5F08 90 03 00 04 */ stw r0, 4(r3) /* 800A8FAC 000A5F0C 4E 80 00 20 */ blr -.global "Visit__27TCastToPtr<13CScriptPickup>FR22CScriptPointOfinterest" -"Visit__27TCastToPtr<13CScriptPickup>FR22CScriptPointOfinterest": +.global "Visit__27TCastToPtr<13CScriptPickup>FR22CScriptPointOfInterest" +"Visit__27TCastToPtr<13CScriptPickup>FR22CScriptPointOfInterest": /* 800A8FB0 000A5F10 38 00 00 00 */ li r0, 0 /* 800A8FB4 000A5F14 90 03 00 04 */ stw r0, 4(r3) /* 800A8FB8 000A5F18 4E 80 00 20 */ blr @@ -10685,8 +10685,8 @@ lbl_800A91E0: /* 800A92BC 000A621C 90 03 00 04 */ stw r0, 4(r3) /* 800A92C0 000A6220 4E 80 00 20 */ blr -.global "Visit__29TCastToPtr<15CScriptMazeNode>FR22CScriptPointOfinterest" -"Visit__29TCastToPtr<15CScriptMazeNode>FR22CScriptPointOfinterest": +.global "Visit__29TCastToPtr<15CScriptMazeNode>FR22CScriptPointOfInterest" +"Visit__29TCastToPtr<15CScriptMazeNode>FR22CScriptPointOfInterest": /* 800A92C4 000A6224 38 00 00 00 */ li r0, 0 /* 800A92C8 000A6228 90 03 00 04 */ stw r0, 4(r3) /* 800A92CC 000A622C 4E 80 00 20 */ blr @@ -11057,8 +11057,8 @@ lbl_800A94F4: /* 800A95D0 000A6530 90 03 00 04 */ stw r0, 4(r3) /* 800A95D4 000A6534 4E 80 00 20 */ blr -.global "Visit__30TCastToPtr<16CScriptGunTurret>FR22CScriptPointOfinterest" -"Visit__30TCastToPtr<16CScriptGunTurret>FR22CScriptPointOfinterest": +.global "Visit__30TCastToPtr<16CScriptGunTurret>FR22CScriptPointOfInterest" +"Visit__30TCastToPtr<16CScriptGunTurret>FR22CScriptPointOfInterest": /* 800A95D8 000A6538 38 00 00 00 */ li r0, 0 /* 800A95DC 000A653C 90 03 00 04 */ stw r0, 4(r3) /* 800A95E0 000A6540 4E 80 00 20 */ blr @@ -11429,8 +11429,8 @@ lbl_800A9808: /* 800A98E4 000A6844 90 03 00 04 */ stw r0, 4(r3) /* 800A98E8 000A6848 4E 80 00 20 */ blr -.global "Visit__33TCastToPtr<19CScriptGrapplePoint>FR22CScriptPointOfinterest" -"Visit__33TCastToPtr<19CScriptGrapplePoint>FR22CScriptPointOfinterest": +.global "Visit__33TCastToPtr<19CScriptGrapplePoint>FR22CScriptPointOfInterest" +"Visit__33TCastToPtr<19CScriptGrapplePoint>FR22CScriptPointOfInterest": /* 800A98EC 000A684C 38 00 00 00 */ li r0, 0 /* 800A98F0 000A6850 90 03 00 04 */ stw r0, 4(r3) /* 800A98F4 000A6854 4E 80 00 20 */ blr @@ -11801,8 +11801,8 @@ lbl_800A9B1C: /* 800A9BF8 000A6B58 90 03 00 04 */ stw r0, 4(r3) /* 800A9BFC 000A6B5C 4E 80 00 20 */ blr -.global "Visit__27TCastToPtr<13CScriptEffect>FR22CScriptPointOfinterest" -"Visit__27TCastToPtr<13CScriptEffect>FR22CScriptPointOfinterest": +.global "Visit__27TCastToPtr<13CScriptEffect>FR22CScriptPointOfInterest" +"Visit__27TCastToPtr<13CScriptEffect>FR22CScriptPointOfInterest": /* 800A9C00 000A6B60 38 00 00 00 */ li r0, 0 /* 800A9C04 000A6B64 90 03 00 04 */ stw r0, 4(r3) /* 800A9C08 000A6B68 4E 80 00 20 */ blr @@ -12173,8 +12173,8 @@ lbl_800A9E30: /* 800A9F0C 000A6E6C 90 03 00 04 */ stw r0, 4(r3) /* 800A9F10 000A6E70 4E 80 00 20 */ blr -.global "Visit__25TCastToPtr<11CScriptDoor>FR22CScriptPointOfinterest" -"Visit__25TCastToPtr<11CScriptDoor>FR22CScriptPointOfinterest": +.global "Visit__25TCastToPtr<11CScriptDoor>FR22CScriptPointOfInterest" +"Visit__25TCastToPtr<11CScriptDoor>FR22CScriptPointOfInterest": /* 800A9F14 000A6E74 38 00 00 00 */ li r0, 0 /* 800A9F18 000A6E78 90 03 00 04 */ stw r0, 4(r3) /* 800A9F1C 000A6E7C 4E 80 00 20 */ blr @@ -12545,8 +12545,8 @@ lbl_800AA144: /* 800AA220 000A7180 90 03 00 04 */ stw r0, 4(r3) /* 800AA224 000A7184 4E 80 00 20 */ blr -.global "Visit__25TCastToPtr<11CScriptDock>FR22CScriptPointOfinterest" -"Visit__25TCastToPtr<11CScriptDock>FR22CScriptPointOfinterest": +.global "Visit__25TCastToPtr<11CScriptDock>FR22CScriptPointOfInterest" +"Visit__25TCastToPtr<11CScriptDock>FR22CScriptPointOfInterest": /* 800AA228 000A7188 38 00 00 00 */ li r0, 0 /* 800AA22C 000A718C 90 03 00 04 */ stw r0, 4(r3) /* 800AA230 000A7190 4E 80 00 20 */ blr @@ -12917,8 +12917,8 @@ lbl_800AA458: /* 800AA534 000A7494 90 03 00 04 */ stw r0, 4(r3) /* 800AA538 000A7498 4E 80 00 20 */ blr -.global "Visit__32TCastToPtr<18CScriptDistanceFog>FR22CScriptPointOfinterest" -"Visit__32TCastToPtr<18CScriptDistanceFog>FR22CScriptPointOfinterest": +.global "Visit__32TCastToPtr<18CScriptDistanceFog>FR22CScriptPointOfInterest" +"Visit__32TCastToPtr<18CScriptDistanceFog>FR22CScriptPointOfInterest": /* 800AA53C 000A749C 38 00 00 00 */ li r0, 0 /* 800AA540 000A74A0 90 03 00 04 */ stw r0, 4(r3) /* 800AA544 000A74A4 4E 80 00 20 */ blr @@ -13289,8 +13289,8 @@ lbl_800AA76C: /* 800AA848 000A77A8 90 03 00 04 */ stw r0, 4(r3) /* 800AA84C 000A77AC 4E 80 00 20 */ blr -.global "Visit__31TCastToPtr<17CScriptCoverPoint>FR22CScriptPointOfinterest" -"Visit__31TCastToPtr<17CScriptCoverPoint>FR22CScriptPointOfinterest": +.global "Visit__31TCastToPtr<17CScriptCoverPoint>FR22CScriptPointOfInterest" +"Visit__31TCastToPtr<17CScriptCoverPoint>FR22CScriptPointOfInterest": /* 800AA850 000A77B0 38 00 00 00 */ li r0, 0 /* 800AA854 000A77B4 90 03 00 04 */ stw r0, 4(r3) /* 800AA858 000A77B8 4E 80 00 20 */ blr @@ -13689,8 +13689,8 @@ lbl_800AAA80: /* 800AABC0 000A7B20 90 03 00 04 */ stw r0, 4(r3) /* 800AABC4 000A7B24 4E 80 00 20 */ blr -.global "Visit__35TCastToPtr<21CScriptCameraWaypoint>FR22CScriptPointOfinterest" -"Visit__35TCastToPtr<21CScriptCameraWaypoint>FR22CScriptPointOfinterest": +.global "Visit__35TCastToPtr<21CScriptCameraWaypoint>FR22CScriptPointOfInterest" +"Visit__35TCastToPtr<21CScriptCameraWaypoint>FR22CScriptPointOfInterest": /* 800AABC8 000A7B28 38 00 00 00 */ li r0, 0 /* 800AABCC 000A7B2C 90 03 00 04 */ stw r0, 4(r3) /* 800AABD0 000A7B30 4E 80 00 20 */ blr @@ -14061,8 +14061,8 @@ lbl_800AADF8: /* 800AAED4 000A7E34 90 03 00 04 */ stw r0, 4(r3) /* 800AAED8 000A7E38 4E 80 00 20 */ blr -.global "Visit__38TCastToPtr<24CScriptCameraPitchVolume>FR22CScriptPointOfinterest" -"Visit__38TCastToPtr<24CScriptCameraPitchVolume>FR22CScriptPointOfinterest": +.global "Visit__38TCastToPtr<24CScriptCameraPitchVolume>FR22CScriptPointOfInterest" +"Visit__38TCastToPtr<24CScriptCameraPitchVolume>FR22CScriptPointOfInterest": /* 800AAEDC 000A7E3C 38 00 00 00 */ li r0, 0 /* 800AAEE0 000A7E40 90 03 00 04 */ stw r0, 4(r3) /* 800AAEE4 000A7E44 4E 80 00 20 */ blr @@ -14433,8 +14433,8 @@ lbl_800AB10C: /* 800AB1E8 000A8148 90 03 00 04 */ stw r0, 4(r3) /* 800AB1EC 000A814C 4E 80 00 20 */ blr -.global "Visit__31TCastToPtr<17CScriptCameraHint>FR22CScriptPointOfinterest" -"Visit__31TCastToPtr<17CScriptCameraHint>FR22CScriptPointOfinterest": +.global "Visit__31TCastToPtr<17CScriptCameraHint>FR22CScriptPointOfInterest" +"Visit__31TCastToPtr<17CScriptCameraHint>FR22CScriptPointOfInterest": /* 800AB1F0 000A8150 38 00 00 00 */ li r0, 0 /* 800AB1F4 000A8154 90 03 00 04 */ stw r0, 4(r3) /* 800AB1F8 000A8158 4E 80 00 20 */ blr @@ -14805,8 +14805,8 @@ lbl_800AB420: /* 800AB4FC 000A845C 90 03 00 04 */ stw r0, 4(r3) /* 800AB500 000A8460 4E 80 00 20 */ blr -.global "Visit__32TCastToPtr<18CScriptAiJumpPoint>FR22CScriptPointOfinterest" -"Visit__32TCastToPtr<18CScriptAiJumpPoint>FR22CScriptPointOfinterest": +.global "Visit__32TCastToPtr<18CScriptAiJumpPoint>FR22CScriptPointOfInterest" +"Visit__32TCastToPtr<18CScriptAiJumpPoint>FR22CScriptPointOfInterest": /* 800AB504 000A8464 38 00 00 00 */ li r0, 0 /* 800AB508 000A8468 90 03 00 04 */ stw r0, 4(r3) /* 800AB50C 000A846C 4E 80 00 20 */ blr @@ -15205,8 +15205,8 @@ lbl_800AB734: /* 800AB874 000A87D4 90 03 00 04 */ stw r0, 4(r3) /* 800AB878 000A87D8 4E 80 00 20 */ blr -.global "Visit__34TCastToPtr<20CScriptActorKeyframe>FR22CScriptPointOfinterest" -"Visit__34TCastToPtr<20CScriptActorKeyframe>FR22CScriptPointOfinterest": +.global "Visit__34TCastToPtr<20CScriptActorKeyframe>FR22CScriptPointOfInterest" +"Visit__34TCastToPtr<20CScriptActorKeyframe>FR22CScriptPointOfInterest": /* 800AB87C 000A87DC 38 00 00 00 */ li r0, 0 /* 800AB880 000A87E0 90 03 00 04 */ stw r0, 4(r3) /* 800AB884 000A87E4 4E 80 00 20 */ blr @@ -15577,8 +15577,8 @@ lbl_800ABAAC: /* 800ABB88 000A8AE8 90 03 00 04 */ stw r0, 4(r3) /* 800ABB8C 000A8AEC 4E 80 00 20 */ blr -.global "Visit__26TCastToPtr<12CScriptActor>FR22CScriptPointOfinterest" -"Visit__26TCastToPtr<12CScriptActor>FR22CScriptPointOfinterest": +.global "Visit__26TCastToPtr<12CScriptActor>FR22CScriptPointOfInterest" +"Visit__26TCastToPtr<12CScriptActor>FR22CScriptPointOfInterest": /* 800ABB90 000A8AF0 38 00 00 00 */ li r0, 0 /* 800ABB94 000A8AF4 90 03 00 04 */ stw r0, 4(r3) /* 800ABB98 000A8AF8 4E 80 00 20 */ blr @@ -15949,8 +15949,8 @@ lbl_800ABDC0: /* 800ABE9C 000A8DFC 90 03 00 04 */ stw r0, 4(r3) /* 800ABEA0 000A8E00 4E 80 00 20 */ blr -.global "Visit__22TCastToPtr<9CRepulsor>FR22CScriptPointOfinterest" -"Visit__22TCastToPtr<9CRepulsor>FR22CScriptPointOfinterest": +.global "Visit__22TCastToPtr<9CRepulsor>FR22CScriptPointOfInterest" +"Visit__22TCastToPtr<9CRepulsor>FR22CScriptPointOfInterest": /* 800ABEA4 000A8E04 38 00 00 00 */ li r0, 0 /* 800ABEA8 000A8E08 90 03 00 04 */ stw r0, 4(r3) /* 800ABEAC 000A8E0C 4E 80 00 20 */ blr @@ -16321,8 +16321,8 @@ lbl_800AC0D4: /* 800AC1B0 000A9110 90 03 00 04 */ stw r0, 4(r3) /* 800AC1B4 000A9114 4E 80 00 20 */ blr -.global "Visit__20TCastToPtr<7CPlayer>FR22CScriptPointOfinterest" -"Visit__20TCastToPtr<7CPlayer>FR22CScriptPointOfinterest": +.global "Visit__20TCastToPtr<7CPlayer>FR22CScriptPointOfInterest" +"Visit__20TCastToPtr<7CPlayer>FR22CScriptPointOfInterest": /* 800AC1B8 000A9118 38 00 00 00 */ li r0, 0 /* 800AC1BC 000A911C 90 03 00 04 */ stw r0, 4(r3) /* 800AC1C0 000A9120 4E 80 00 20 */ blr @@ -16721,8 +16721,8 @@ lbl_800AC3E8: /* 800AC528 000A9488 90 03 00 04 */ stw r0, 4(r3) /* 800AC52C 000A948C 4E 80 00 20 */ blr -.global "Visit__27TCastToPtr<13CPhysicsActor>FR22CScriptPointOfinterest" -"Visit__27TCastToPtr<13CPhysicsActor>FR22CScriptPointOfinterest": +.global "Visit__27TCastToPtr<13CPhysicsActor>FR22CScriptPointOfInterest" +"Visit__27TCastToPtr<13CPhysicsActor>FR22CScriptPointOfInterest": /* 800AC530 000A9490 38 00 00 00 */ li r0, 0 /* 800AC534 000A9494 90 03 00 04 */ stw r0, 4(r3) /* 800AC538 000A9498 4E 80 00 20 */ blr @@ -17111,8 +17111,8 @@ lbl_800AC738: /* 800AC878 000A97D8 90 03 00 04 */ stw r0, 4(r3) /* 800AC87C 000A97DC 4E 80 00 20 */ blr -.global "Visit__16TCastToPtr<3CAi>FR22CScriptPointOfinterest" -"Visit__16TCastToPtr<3CAi>FR22CScriptPointOfinterest": +.global "Visit__16TCastToPtr<3CAi>FR22CScriptPointOfInterest" +"Visit__16TCastToPtr<3CAi>FR22CScriptPointOfInterest": /* 800AC880 000A97E0 38 00 00 00 */ li r0, 0 /* 800AC884 000A97E4 90 03 00 04 */ stw r0, 4(r3) /* 800AC888 000A97E8 4E 80 00 20 */ blr @@ -17350,8 +17350,8 @@ lbl_800AC738: /* 800ACA54 000A99B4 90 03 00 04 */ stw r0, 4(r3) /* 800ACA58 000A99B8 4E 80 00 20 */ blr -.global "__ct__16TCastToPtr<3CAi>FP7CEntity" -"__ct__16TCastToPtr<3CAi>FP7CEntity": +.global "__ct__24TCastToPtr<10CPatterned>FP7CEntity" +"__ct__24TCastToPtr<10CPatterned>FP7CEntity": /* 800ACA5C 000A99BC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800ACA60 000A99C0 7C 08 02 A6 */ mflr r0 /* 800ACA64 000A99C4 3C C0 80 3E */ lis r6, lbl_803DF03C@ha @@ -17381,8 +17381,8 @@ lbl_800ACAB0: /* 800ACAC0 000A9A20 38 21 00 10 */ addi r1, r1, 0x10 /* 800ACAC4 000A9A24 4E 80 00 20 */ blr -.global "__ct__16TCastToPtr<10CPatterned>FR7CEntity" -"__ct__16TCastToPtr<10CPatterned>FR7CEntity": +.global "__ct__24TCastToPtr<10CPatterned>FR7CEntity" +"__ct__24TCastToPtr<10CPatterned>FR7CEntity": /* 800ACAC8 000A9A28 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800ACACC 000A9A2C 7C 08 02 A6 */ mflr r0 /* 800ACAD0 000A9A30 3C A0 80 3E */ lis r5, lbl_803DCE20@ha @@ -17511,8 +17511,8 @@ lbl_800ACAB0: /* 800ACBF0 000A9B50 90 03 00 04 */ stw r0, 4(r3) /* 800ACBF4 000A9B54 4E 80 00 20 */ blr -.global "Visit__25TCastToPtr<11CPathCamera>FR22CScriptPointOfinterest" -"Visit__25TCastToPtr<11CPathCamera>FR22CScriptPointOfinterest": +.global "Visit__25TCastToPtr<11CPathCamera>FR22CScriptPointOfInterest" +"Visit__25TCastToPtr<11CPathCamera>FR22CScriptPointOfInterest": /* 800ACBF8 000A9B58 38 00 00 00 */ li r0, 0 /* 800ACBFC 000A9B5C 90 03 00 04 */ stw r0, 4(r3) /* 800ACC00 000A9B60 4E 80 00 20 */ blr @@ -17883,8 +17883,8 @@ lbl_800ACE28: /* 800ACF04 000A9E64 90 03 00 04 */ stw r0, 4(r3) /* 800ACF08 000A9E68 4E 80 00 20 */ blr -.global "Visit__32TCastToPtr<18CMetroidPrimeRelay>FR22CScriptPointOfinterest" -"Visit__32TCastToPtr<18CMetroidPrimeRelay>FR22CScriptPointOfinterest": +.global "Visit__32TCastToPtr<18CMetroidPrimeRelay>FR22CScriptPointOfInterest" +"Visit__32TCastToPtr<18CMetroidPrimeRelay>FR22CScriptPointOfInterest": /* 800ACF0C 000A9E6C 38 00 00 00 */ li r0, 0 /* 800ACF10 000A9E70 90 03 00 04 */ stw r0, 4(r3) /* 800ACF14 000A9E74 4E 80 00 20 */ blr @@ -18255,8 +18255,8 @@ lbl_800AD13C: /* 800AD218 000AA178 90 03 00 04 */ stw r0, 4(r3) /* 800AD21C 000AA17C 4E 80 00 20 */ blr -.global "Visit__33TCastToPtr<19CHUDBillboardEffect>FR22CScriptPointOfinterest" -"Visit__33TCastToPtr<19CHUDBillboardEffect>FR22CScriptPointOfinterest": +.global "Visit__33TCastToPtr<19CHUDBillboardEffect>FR22CScriptPointOfInterest" +"Visit__33TCastToPtr<19CHUDBillboardEffect>FR22CScriptPointOfInterest": /* 800AD220 000AA180 38 00 00 00 */ li r0, 0 /* 800AD224 000AA184 90 03 00 04 */ stw r0, 4(r3) /* 800AD228 000AA188 4E 80 00 20 */ blr @@ -18627,8 +18627,8 @@ lbl_800AD450: /* 800AD52C 000AA48C 90 03 00 04 */ stw r0, 4(r3) /* 800AD530 000AA490 4E 80 00 20 */ blr -.global "Visit__29TCastToPtr<15CGameProjectile>FR22CScriptPointOfinterest" -"Visit__29TCastToPtr<15CGameProjectile>FR22CScriptPointOfinterest": +.global "Visit__29TCastToPtr<15CGameProjectile>FR22CScriptPointOfInterest" +"Visit__29TCastToPtr<15CGameProjectile>FR22CScriptPointOfInterest": /* 800AD534 000AA494 38 00 00 00 */ li r0, 0 /* 800AD538 000AA498 90 03 00 04 */ stw r0, 4(r3) /* 800AD53C 000AA49C 4E 80 00 20 */ blr @@ -19026,8 +19026,8 @@ lbl_800AD760: /* 800AD8A0 000AA800 90 03 00 04 */ stw r0, 4(r3) /* 800AD8A4 000AA804 4E 80 00 20 */ blr -.global "Visit__24TCastToPtr<10CGameLight>FR22CScriptPointOfinterest" -"Visit__24TCastToPtr<10CGameLight>FR22CScriptPointOfinterest": +.global "Visit__24TCastToPtr<10CGameLight>FR22CScriptPointOfInterest" +"Visit__24TCastToPtr<10CGameLight>FR22CScriptPointOfInterest": /* 800AD8A8 000AA808 38 00 00 00 */ li r0, 0 /* 800AD8AC 000AA80C 90 03 00 04 */ stw r0, 4(r3) /* 800AD8B0 000AA810 4E 80 00 20 */ blr @@ -19425,8 +19425,8 @@ lbl_800ADAD8: /* 800ADC14 000AAB74 90 03 00 04 */ stw r0, 4(r3) /* 800ADC18 000AAB78 4E 80 00 20 */ blr -.global "Visit__25TCastToPtr<11CGameCamera>FR22CScriptPointOfinterest" -"Visit__25TCastToPtr<11CGameCamera>FR22CScriptPointOfinterest": +.global "Visit__25TCastToPtr<11CGameCamera>FR22CScriptPointOfInterest" +"Visit__25TCastToPtr<11CGameCamera>FR22CScriptPointOfInterest": /* 800ADC1C 000AAB7C 38 00 00 00 */ li r0, 0 /* 800ADC20 000AAB80 90 03 00 04 */ stw r0, 4(r3) /* 800ADC24 000AAB84 4E 80 00 20 */ blr @@ -19821,8 +19821,8 @@ lbl_800ADE3C: /* 800ADF7C 000AAEDC 90 03 00 04 */ stw r0, 4(r3) /* 800ADF80 000AAEE0 4E 80 00 20 */ blr -.global "Visit__24TCastToPtr<10CFishCloud>FR22CScriptPointOfinterest" -"Visit__24TCastToPtr<10CFishCloud>FR22CScriptPointOfinterest": +.global "Visit__24TCastToPtr<10CFishCloud>FR22CScriptPointOfInterest" +"Visit__24TCastToPtr<10CFishCloud>FR22CScriptPointOfInterest": /* 800ADF84 000AAEE4 38 00 00 00 */ li r0, 0 /* 800ADF88 000AAEE8 90 03 00 04 */ stw r0, 4(r3) /* 800ADF8C 000AAEEC 4E 80 00 20 */ blr @@ -20193,8 +20193,8 @@ lbl_800AE1B4: /* 800AE290 000AB1F0 90 03 00 04 */ stw r0, 4(r3) /* 800AE294 000AB1F4 4E 80 00 20 */ blr -.global "Visit__32TCastToPtr<18CFirstPersonCamera>FR22CScriptPointOfinterest" -"Visit__32TCastToPtr<18CFirstPersonCamera>FR22CScriptPointOfinterest": +.global "Visit__32TCastToPtr<18CFirstPersonCamera>FR22CScriptPointOfInterest" +"Visit__32TCastToPtr<18CFirstPersonCamera>FR22CScriptPointOfInterest": /* 800AE298 000AB1F8 38 00 00 00 */ li r0, 0 /* 800AE29C 000AB1FC 90 03 00 04 */ stw r0, 4(r3) /* 800AE2A0 000AB200 4E 80 00 20 */ blr @@ -20562,8 +20562,8 @@ lbl_800AE1B4: /* 800AE59C 000AB4FC 90 03 00 04 */ stw r0, 4(r3) /* 800AE5A0 000AB500 4E 80 00 20 */ blr -.global "Visit__24TCastToPtr<10CExplosion>FR22CScriptPointOfinterest" -"Visit__24TCastToPtr<10CExplosion>FR22CScriptPointOfinterest": +.global "Visit__24TCastToPtr<10CExplosion>FR22CScriptPointOfInterest" +"Visit__24TCastToPtr<10CExplosion>FR22CScriptPointOfInterest": /* 800AE5A4 000AB504 38 00 00 00 */ li r0, 0 /* 800AE5A8 000AB508 90 03 00 04 */ stw r0, 4(r3) /* 800AE5AC 000AB50C 4E 80 00 20 */ blr @@ -20917,8 +20917,8 @@ lbl_800AE7D4: /* 800AE86C 000AB7CC 90 83 00 04 */ stw r4, 4(r3) /* 800AE870 000AB7D0 4E 80 00 20 */ blr -.global "Visit__20TCastToPtr<7CEntity>FR22CScriptPointOfinterest" -"Visit__20TCastToPtr<7CEntity>FR22CScriptPointOfinterest": +.global "Visit__20TCastToPtr<7CEntity>FR22CScriptPointOfInterest" +"Visit__20TCastToPtr<7CEntity>FR22CScriptPointOfInterest": /* 800AE874 000AB7D4 90 83 00 04 */ stw r4, 4(r3) /* 800AE878 000AB7D8 4E 80 00 20 */ blr @@ -21250,8 +21250,8 @@ lbl_800AEA08: /* 800AEAE4 000ABA44 90 03 00 04 */ stw r0, 4(r3) /* 800AEAE8 000ABA48 4E 80 00 20 */ blr -.global "Visit__31TCastToPtr<17CEnergyProjectile>FR22CScriptPointOfinterest" -"Visit__31TCastToPtr<17CEnergyProjectile>FR22CScriptPointOfinterest": +.global "Visit__31TCastToPtr<17CEnergyProjectile>FR22CScriptPointOfInterest" +"Visit__31TCastToPtr<17CEnergyProjectile>FR22CScriptPointOfInterest": /* 800AEAEC 000ABA4C 38 00 00 00 */ li r0, 0 /* 800AEAF0 000ABA50 90 03 00 04 */ stw r0, 4(r3) /* 800AEAF4 000ABA54 4E 80 00 20 */ blr @@ -21650,8 +21650,8 @@ lbl_800AED1C: /* 800AEE5C 000ABDBC 90 03 00 04 */ stw r0, 4(r3) /* 800AEE60 000ABDC0 4E 80 00 20 */ blr -.global "Visit__30TCastToPtr<16CDestroyableRock>FR22CScriptPointOfinterest" -"Visit__30TCastToPtr<16CDestroyableRock>FR22CScriptPointOfinterest": +.global "Visit__30TCastToPtr<16CDestroyableRock>FR22CScriptPointOfInterest" +"Visit__30TCastToPtr<16CDestroyableRock>FR22CScriptPointOfInterest": /* 800AEE64 000ABDC4 38 00 00 00 */ li r0, 0 /* 800AEE68 000ABDC8 90 03 00 04 */ stw r0, 4(r3) /* 800AEE6C 000ABDCC 4E 80 00 20 */ blr @@ -21889,8 +21889,8 @@ lbl_800AED1C: /* 800AF038 000ABF98 90 03 00 04 */ stw r0, 4(r3) /* 800AF03C 000ABF9C 4E 80 00 20 */ blr -.global "__ct__30TCastToPtr<16CDestroyableRock>FP7CEntity" -"__ct__30TCastToPtr<16CDestroyableRock>FP7CEntity": +.global "__ct__30TCastToPtr<16CDestroyableRock>FR7CEntity" +"__ct__30TCastToPtr<16CDestroyableRock>FR7CEntity": /* 800AF040 000ABFA0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800AF044 000ABFA4 7C 08 02 A6 */ mflr r0 /* 800AF048 000ABFA8 3C A0 80 3E */ lis r5, lbl_803DC310@ha @@ -22019,8 +22019,8 @@ lbl_800AED1C: /* 800AF168 000AC0C8 90 03 00 04 */ stw r0, 4(r3) /* 800AF16C 000AC0CC 4E 80 00 20 */ blr -.global "Visit__29TCastToPtr<15CCollisionActor>FR22CScriptPointOfinterest" -"Visit__29TCastToPtr<15CCollisionActor>FR22CScriptPointOfinterest": +.global "Visit__29TCastToPtr<15CCollisionActor>FR22CScriptPointOfInterest" +"Visit__29TCastToPtr<15CCollisionActor>FR22CScriptPointOfInterest": /* 800AF170 000AC0D0 38 00 00 00 */ li r0, 0 /* 800AF174 000AC0D4 90 03 00 04 */ stw r0, 4(r3) /* 800AF178 000AC0D8 4E 80 00 20 */ blr @@ -22419,8 +22419,8 @@ lbl_800AF3A0: /* 800AF4E0 000AC440 90 03 00 04 */ stw r0, 4(r3) /* 800AF4E4 000AC444 4E 80 00 20 */ blr -.global "Visit__30TCastToPtr<16CCinematicCamera>FR22CScriptPointOfinterest" -"Visit__30TCastToPtr<16CCinematicCamera>FR22CScriptPointOfinterest": +.global "Visit__30TCastToPtr<16CCinematicCamera>FR22CScriptPointOfInterest" +"Visit__30TCastToPtr<16CCinematicCamera>FR22CScriptPointOfInterest": /* 800AF4E8 000AC448 38 00 00 00 */ li r0, 0 /* 800AF4EC 000AC44C 90 03 00 04 */ stw r0, 4(r3) /* 800AF4F0 000AC450 4E 80 00 20 */ blr @@ -22819,8 +22819,8 @@ lbl_800AF718: /* 800AF858 000AC7B8 90 03 00 04 */ stw r0, 4(r3) /* 800AF85C 000AC7BC 4E 80 00 20 */ blr -.global "Visit__18TCastToPtr<5CBomb>FR22CScriptPointOfinterest" -"Visit__18TCastToPtr<5CBomb>FR22CScriptPointOfinterest": +.global "Visit__18TCastToPtr<5CBomb>FR22CScriptPointOfInterest" +"Visit__18TCastToPtr<5CBomb>FR22CScriptPointOfInterest": /* 800AF860 000AC7C0 38 00 00 00 */ li r0, 0 /* 800AF864 000AC7C4 90 03 00 04 */ stw r0, 4(r3) /* 800AF868 000AC7C8 4E 80 00 20 */ blr diff --git a/asm/MetroidPrime/Weapons/CIceImpact.s b/asm/MetroidPrime/Weapons/CIceImpact.s index bbec86c4..b97237f2 100644 --- a/asm/MetroidPrime/Weapons/CIceImpact.s +++ b/asm/MetroidPrime/Weapons/CIceImpact.s @@ -1290,7 +1290,7 @@ lbl_801B6CC0: /* 801B6D2C 001B3C8C D0 21 00 DC */ stfs f1, 0xdc(r1) /* 801B6D30 001B3C90 D0 01 00 E0 */ stfs f0, 0xe0(r1) /* 801B6D34 001B3C94 98 01 00 E4 */ stb r0, 0xe4(r1) -/* 801B6D38 001B3C98 4B EF 5D 25 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity" +/* 801B6D38 001B3C98 4B EF 5D 25 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 801B6D3C 001B3C9C 83 83 00 04 */ lwz r28, 4(r3) /* 801B6D40 001B3CA0 28 1C 00 00 */ cmplwi r28, 0 /* 801B6D44 001B3CA4 41 82 01 88 */ beq lbl_801B6ECC diff --git a/include/MetroidPrime/Cameras/CBallCamera.hpp b/include/MetroidPrime/Cameras/CBallCamera.hpp index 2680da30..0ae6fed0 100644 --- a/include/MetroidPrime/Cameras/CBallCamera.hpp +++ b/include/MetroidPrime/Cameras/CBallCamera.hpp @@ -1,7 +1,9 @@ #ifndef __CBALLCAMERA_HPP__ #define __CBALLCAMERA_HPP__ -class CBallCamera { +#include "MetroidPrime/Cameras/CGameCamera.hpp" + +class CBallCamera : public CGameCamera { public: enum EBallCameraState { kBCS_Default, @@ -27,6 +29,10 @@ public: kSS_Nav, kSS_Arc, }; + + ~CBallCamera() override; + void Accept(IVisitor& visitor) override; + // TODO }; #endif // __CBALLCAMERA_HPP__ diff --git a/include/MetroidPrime/Cameras/CGameCamera.hpp b/include/MetroidPrime/Cameras/CGameCamera.hpp index d5e66297..2a311d7d 100644 --- a/include/MetroidPrime/Cameras/CGameCamera.hpp +++ b/include/MetroidPrime/Cameras/CGameCamera.hpp @@ -5,10 +5,15 @@ #include "MetroidPrime/CActor.hpp" -#include "Kyoto/Math/CTransform4f.hpp" #include "Kyoto/Math/CMatrix4f.hpp" +#include "Kyoto/Math/CTransform4f.hpp" class CGameCamera : public CActor { +public: + ~CGameCamera() override; + void Accept(IVisitor& visitor) override; + // TODO + private: TUniqueId xe8_watchedObject; mutable CMatrix4f xec_perspectiveMatrix; diff --git a/include/MetroidPrime/TCastTo.hpp b/include/MetroidPrime/TCastTo.hpp index 61d878b2..ff31e5bb 100644 --- a/include/MetroidPrime/TCastTo.hpp +++ b/include/MetroidPrime/TCastTo.hpp @@ -3,8 +3,107 @@ #include "types.h" -class IVisitor { +class CEntity; +// clang-format off +#define TCASTTO_VISITORS \ +VISIT(CActor) \ +VISIT(CBallCamera) \ +VISIT(CBomb) \ +VISIT(CCinematicCamera) \ +VISIT(CCollisionActor) \ +VISIT(CDestroyableRock) \ +VISIT(CEnergyProjectile) \ +VISIT(CEntity) \ +VISIT(CExplosion) \ +VISIT(CFirstPersonCamera) \ +VISIT(CFishCloud) \ +VISIT(CGameCamera) \ +VISIT(CGameLight) \ +VISIT(CGameProjectile) \ +VISIT(CHUDBillboardEffect) \ +VISIT(CMetroidPrimeRelay) \ +VISIT(CPathCamera) \ +VISIT(CPatterned) \ +VISIT(CPhysicsActor) \ +VISIT(CPlayer) \ +VISIT(CRepulsor) \ +VISIT(CScriptActor) \ +VISIT(CScriptActorKeyframe) \ +VISIT(CScriptAiJumpPoint) \ +VISIT(CScriptCameraHint) \ +VISIT(CScriptCameraPitchVolume) \ +VISIT(CScriptCameraWaypoint) \ +VISIT(CScriptCoverPoint) \ +VISIT(CScriptDebugCameraWaypoint) \ +VISIT(CScriptDistanceFog) \ +VISIT(CScriptDock) \ +VISIT(CScriptDoor) \ +VISIT(CScriptEffect) \ +VISIT(CScriptGrapplePoint) \ +VISIT(CScriptGunTurret) \ +VISIT(CScriptMazeNode) \ +VISIT(CScriptPickup) \ +VISIT(CScriptPlatform) \ +VISIT(CScriptPlayerHint) \ +VISIT(CScriptPointOfInterest) \ +VISIT(CScriptRoomAcoustics) \ +VISIT(CScriptSound) \ +VISIT(CScriptSpawnPoint) \ +VISIT(CScriptSpecialFunction) \ +VISIT(CScriptSpiderBallAttractionSurface) \ +VISIT(CScriptSpiderBallWaypoint) \ +VISIT(CScriptTargetingPoint) \ +VISIT(CTeamAiMgr) \ +VISIT(CScriptTimer) \ +VISIT(CScriptTrigger) \ +VISIT(CScriptVisorFlare) \ +VISIT(CScriptWater) \ +VISIT(CScriptWaypoint) \ +VISIT(CSnakeWeedSwarm) \ +VISIT(CScriptSpindleCamera) \ +VISIT(CWallCrawlerSwarm) \ +VISIT(CWeapon) +// clang-format on + +#define VISIT(cls) class cls; +TCASTTO_VISITORS +#undef VISIT + +class IVisitor { +public: +#define VISIT(cls) virtual void Visit(cls& p) = 0; + TCASTTO_VISITORS +#undef VISIT }; +template < class T > +class TCastToPtr : public IVisitor { +public: + TCastToPtr(CEntity* p); + TCastToPtr(CEntity& p); + operator T*() const { return ptr; } + +#define VISIT(cls) void Visit(cls& p) override; + TCASTTO_VISITORS +#undef VISIT + +private: + // Compiler picks the overload based on whether + // the passed pointer is convertible to T* + T* GetPtr(void* ptr) const { return nullptr; } + T* GetPtr(T* ptr) const { return ptr; } + + T* ptr; +}; + +template < typename T > +const T* TCastToConstPtr(const CEntity* p) { + return TCastToPtr(const_cast< CEntity* >(p)); +} +template < typename T > +const T* TCastToConstPtr(const CEntity& p) { + return TCastToPtr(const_cast< CEntity* >(&p)); +} + #endif diff --git a/ldscript.lcf b/ldscript.lcf index 5ca8cc44..74b9fc95 100644 --- a/ldscript.lcf +++ b/ldscript.lcf @@ -46,7 +46,6 @@ FORCEFILES CAnimTreeContinuousPhaseBlend.o CAnimTreeSingleChild.o CTimeScaleFunctions.o - IAnimSource.o CDvdRequest.o CColorInstruction.o CColorOverrideInstruction.o @@ -61,7 +60,6 @@ FORCEFILES CloseEnough.o CParticleGen.o CWarp.o - CFactoryStore.o CFontImageDef.o CImageInstruction.o RumbleFxTable.o diff --git a/obj_files.mk b/obj_files.mk index b94098df..bc1485d5 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -76,7 +76,7 @@ METROIDPRIME :=\ $(BUILD_DIR)/asm/MetroidPrime/CMapWorld.o\ $(BUILD_DIR)/asm/MetroidPrime/Enemies/CAi.o\ $(BUILD_DIR)/asm/MetroidPrime/Enemies/PatternedCastTo.o\ - $(BUILD_DIR)/asm/MetroidPrime/TCastTo.o\ + $(BUILD_DIR)/src/MetroidPrime/TCastTo.o\ $(BUILD_DIR)/asm/MetroidPrime/ScriptObjects/CScriptSound.o\ $(BUILD_DIR)/asm/MetroidPrime/ScriptObjects/CScriptPlatform.o\ $(BUILD_DIR)/src/MetroidPrime/UserNames.o\ diff --git a/src/MetroidPrime/TCastTo.cpp b/src/MetroidPrime/TCastTo.cpp new file mode 100644 index 00000000..e865adb8 --- /dev/null +++ b/src/MetroidPrime/TCastTo.cpp @@ -0,0 +1,3744 @@ +#include "MetroidPrime/TCastTo.hpp" + +#include "MetroidPrime/CActor.hpp" +#include "MetroidPrime/CEntity.hpp" +#include "MetroidPrime/Cameras/CBallCamera.hpp" +#include "MetroidPrime/Cameras/CGameCamera.hpp" + +// TODO create headers for all entities +#define STUB(cls, parent) \ + class cls : public parent { \ + public: \ + ~cls() override; \ + void Accept(IVisitor& visitor) override; \ + }; +STUB(CWeapon, CActor) +STUB(CBomb, CWeapon) +STUB(CCinematicCamera, CGameCamera) +STUB(CPhysicsActor, CActor) +STUB(CCollisionActor, CPhysicsActor) +STUB(CAi, CPhysicsActor) +STUB(CDestroyableRock, CAi) +STUB(CGameProjectile, CWeapon) +STUB(CEnergyProjectile, CGameProjectile) +STUB(CEffect, CActor) +STUB(CExplosion, CEffect) +STUB(CFirstPersonCamera, CGameCamera) +STUB(CFishCloud, CActor) +STUB(CGameLight, CActor) +STUB(CHUDBillboardEffect, CEffect) +STUB(CMetroidPrimeRelay, CEntity) +STUB(CPathCamera, CGameCamera) +STUB(CPatterned, CAi) +STUB(CPlayer, CPhysicsActor) +STUB(CRepulsor, CActor) +STUB(CScriptActor, CPhysicsActor) +STUB(CScriptActorKeyframe, CEntity) +STUB(CScriptAiJumpPoint, CActor) +STUB(CScriptCameraHint, CActor) +STUB(CScriptCameraPitchVolume, CActor) +STUB(CScriptCameraWaypoint, CActor) +STUB(CScriptCoverPoint, CActor) +STUB(CScriptDebugCameraWaypoint, CActor) +STUB(CScriptDistanceFog, CEntity) +STUB(CScriptDock, CPhysicsActor) +STUB(CScriptDoor, CPhysicsActor) +STUB(CScriptEffect, CActor) +STUB(CScriptGrapplePoint, CActor) +STUB(CScriptGunTurret, CPhysicsActor) +STUB(CScriptMazeNode, CActor) +STUB(CScriptPickup, CPhysicsActor) +STUB(CScriptPlatform, CPhysicsActor) +STUB(CScriptPlayerHint, CActor) +STUB(CScriptPointOfInterest, CActor) +STUB(CScriptRoomAcoustics, CEntity) +STUB(CScriptSound, CActor) +STUB(CScriptSpawnPoint, CEntity) +STUB(CScriptSpecialFunction, CActor) +STUB(CScriptSpiderBallAttractionSurface, CActor) +STUB(CScriptSpiderBallWaypoint, CActor) +STUB(CScriptTargetingPoint, CActor) +STUB(CTeamAiMgr, CEntity) +STUB(CScriptTimer, CEntity) +STUB(CScriptTrigger, CActor) +STUB(CScriptVisorFlare, CActor) +STUB(CScriptWater, CScriptTrigger) +STUB(CScriptWaypoint, CActor) +STUB(CSnakeWeedSwarm, CActor) +STUB(CScriptSpindleCamera, CGameCamera) +STUB(CWallCrawlerSwarm, CActor) + +// MWCC gives up on expanding this macro, so the preprocessed version is included below +#ifndef __MWERKS__ + +// clang-format off +#define TCASTTO_VISITORS_IMPL(cls) \ +VISIT_IMPL(cls, CActor) \ +VISIT_IMPL(cls, CBallCamera) /* unused */ \ +VISIT_IMPL(cls, CBomb) \ +VISIT_IMPL(cls, CCinematicCamera) \ +VISIT_IMPL(cls, CCollisionActor) \ +VISIT_IMPL(cls, CDestroyableRock) \ +VISIT_IMPL(cls, CEnergyProjectile) \ +VISIT_IMPL(cls, CEntity) \ +VISIT_IMPL(cls, CExplosion) \ +VISIT_IMPL(cls, CFirstPersonCamera) \ +VISIT_IMPL(cls, CFishCloud) \ +VISIT_IMPL(cls, CGameCamera) \ +VISIT_IMPL(cls, CGameLight) \ +VISIT_IMPL(cls, CGameProjectile) \ +VISIT_IMPL(cls, CHUDBillboardEffect) \ +VISIT_IMPL(cls, CMetroidPrimeRelay) \ +VISIT_IMPL(cls, CPathCamera) \ +VISIT_IMPL(cls, CPatterned) \ +VISIT_IMPL(cls, CPhysicsActor) \ +VISIT_IMPL(cls, CPlayer) \ +VISIT_IMPL(cls, CRepulsor) \ +VISIT_IMPL(cls, CScriptActor) \ +VISIT_IMPL(cls, CScriptActorKeyframe) \ +VISIT_IMPL(cls, CScriptAiJumpPoint) \ +VISIT_IMPL(cls, CScriptCameraHint) \ +VISIT_IMPL(cls, CScriptCameraPitchVolume) \ +VISIT_IMPL(cls, CScriptCameraWaypoint) \ +VISIT_IMPL(cls, CScriptCoverPoint) \ +VISIT_IMPL(cls, CScriptDebugCameraWaypoint) \ +VISIT_IMPL(cls, CScriptDistanceFog) \ +VISIT_IMPL(cls, CScriptDock) \ +VISIT_IMPL(cls, CScriptDoor) \ +VISIT_IMPL(cls, CScriptEffect) \ +VISIT_IMPL(cls, CScriptGrapplePoint) \ +VISIT_IMPL(cls, CScriptGunTurret) \ +VISIT_IMPL(cls, CScriptMazeNode) \ +VISIT_IMPL(cls, CScriptPickup) \ +VISIT_IMPL(cls, CScriptPlatform) \ +VISIT_IMPL(cls, CScriptPlayerHint) \ +VISIT_IMPL(cls, CScriptPointOfInterest) /* unused */ \ +VISIT_IMPL(cls, CScriptRoomAcoustics) \ +VISIT_IMPL(cls, CScriptSound) \ +VISIT_IMPL(cls, CScriptSpawnPoint) \ +VISIT_IMPL(cls, CScriptSpecialFunction) /* unused */ \ +VISIT_IMPL(cls, CScriptSpiderBallAttractionSurface) \ +VISIT_IMPL(cls, CScriptSpiderBallWaypoint) \ +VISIT_IMPL(cls, CScriptTargetingPoint) \ +VISIT_IMPL(cls, CTeamAiMgr) \ +VISIT_IMPL(cls, CScriptTimer) \ +VISIT_IMPL(cls, CScriptTrigger) \ +VISIT_IMPL(cls, CScriptVisorFlare) \ +VISIT_IMPL(cls, CScriptWater) \ +VISIT_IMPL(cls, CScriptWaypoint) \ +VISIT_IMPL(cls, CSnakeWeedSwarm) \ +VISIT_IMPL(cls, CScriptSpindleCamera) \ +VISIT_IMPL(cls, CWallCrawlerSwarm) \ +VISIT_IMPL(cls, CWeapon) +// clang-format on + +#define VISIT_IMPL(base, cls) \ + void TCastToPtr< base >::Visit(cls& v) { ptr = GetPtr(&v); } +#define VISIT(cls) \ + TCastToPtr< cls >::TCastToPtr(CEntity& p) : ptr(nullptr) { p.Accept(*this); } \ + TCastToPtr< cls >::TCastToPtr(CEntity* p) : ptr(nullptr) { \ + if (p != nullptr) { \ + p->Accept(*this); \ + } \ + } \ + TCASTTO_VISITORS_IMPL(cls) +TCASTTO_VISITORS +#undef VISIT +#undef VISIT_IMPL + +#else +// Generated with gcc -I include -E src/MetroidPrime/TCastTo.cpp > TCastTo.i + +TCastToPtr< CActor >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CActor >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CActor >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CActor >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CBallCamera >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CBallCamera >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CBallCamera >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBallCamera >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CBomb >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CBomb >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CBomb >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CBomb >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CCinematicCamera >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CCinematicCamera >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CCinematicCamera >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCinematicCamera >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CCollisionActor >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CCollisionActor >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CCollisionActor >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CCollisionActor >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CDestroyableRock >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CDestroyableRock >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CDestroyableRock >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CDestroyableRock >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CEnergyProjectile >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CEnergyProjectile >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CEnergyProjectile >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEnergyProjectile >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CEntity >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CEntity >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CEntity >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CEntity >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CExplosion >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CExplosion >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CExplosion >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CExplosion >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CFirstPersonCamera >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CFirstPersonCamera >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CFirstPersonCamera >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFirstPersonCamera >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CFishCloud >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CFishCloud >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CFishCloud >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CFishCloud >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CGameCamera >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CGameCamera >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CGameCamera >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameCamera >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CGameLight >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CGameLight >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CGameLight >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameLight >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CGameProjectile >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CGameProjectile >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CGameProjectile >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CGameProjectile >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CHUDBillboardEffect >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CHUDBillboardEffect >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CHUDBillboardEffect >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CHUDBillboardEffect >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CMetroidPrimeRelay >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CMetroidPrimeRelay >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CMetroidPrimeRelay >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CMetroidPrimeRelay >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CPathCamera >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CPathCamera >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CPathCamera >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPathCamera >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CPatterned >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CPatterned >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CPatterned >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPatterned >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CPhysicsActor >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CPhysicsActor >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CPhysicsActor >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPhysicsActor >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CPlayer >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CPlayer >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CPlayer >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CPlayer >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CRepulsor >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CRepulsor >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CRepulsor >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CRepulsor >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptActor >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptActor >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptActor >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActor >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptActorKeyframe >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptActorKeyframe >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptActorKeyframe >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptActorKeyframe >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptAiJumpPoint >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptAiJumpPoint >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptAiJumpPoint >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptAiJumpPoint >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptCameraHint >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptCameraHint >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptCameraHint >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraHint >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptCameraPitchVolume >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptCameraPitchVolume >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraPitchVolume >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptCameraWaypoint >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptCameraWaypoint >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptCameraWaypoint >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCameraWaypoint >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptCoverPoint >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptCoverPoint >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptCoverPoint >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptCoverPoint >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptDebugCameraWaypoint >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptDebugCameraWaypoint >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDebugCameraWaypoint >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptDistanceFog >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptDistanceFog >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptDistanceFog >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDistanceFog >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptDock >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptDock >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptDock >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDock >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptDoor >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptDoor >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptDoor >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptDoor >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptEffect >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptEffect >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptEffect >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptEffect >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptGrapplePoint >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptGrapplePoint >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptGrapplePoint >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGrapplePoint >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptGunTurret >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptGunTurret >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptGunTurret >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptGunTurret >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptMazeNode >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptMazeNode >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptMazeNode >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptMazeNode >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptPickup >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptPickup >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptPickup >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPickup >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptPlatform >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptPlatform >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptPlatform >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlatform >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptPlayerHint >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptPlayerHint >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptPlayerHint >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPlayerHint >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptPointOfInterest >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptPointOfInterest >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptPointOfInterest >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptPointOfInterest >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptRoomAcoustics >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptRoomAcoustics >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptRoomAcoustics >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptRoomAcoustics >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptSound >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptSound >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptSound >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSound >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptSpawnPoint >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptSpawnPoint >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptSpawnPoint >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpawnPoint >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptSpecialFunction >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptSpecialFunction >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptSpecialFunction >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpecialFunction >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptSpiderBallAttractionSurface >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptSpiderBallAttractionSurface >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallAttractionSurface >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptSpiderBallWaypoint >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptSpiderBallWaypoint >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpiderBallWaypoint >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptTargetingPoint >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptTargetingPoint >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptTargetingPoint >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTargetingPoint >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CTeamAiMgr >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CTeamAiMgr >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CTeamAiMgr >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CTeamAiMgr >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptTimer >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptTimer >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptTimer >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTimer >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptTrigger >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptTrigger >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptTrigger >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptTrigger >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptVisorFlare >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptVisorFlare >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptVisorFlare >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptVisorFlare >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptWater >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptWater >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptWater >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWater >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptWaypoint >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptWaypoint >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptWaypoint >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptWaypoint >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CSnakeWeedSwarm >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CSnakeWeedSwarm >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CSnakeWeedSwarm >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CSnakeWeedSwarm >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CScriptSpindleCamera >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CScriptSpindleCamera >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CScriptSpindleCamera >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CScriptSpindleCamera >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CWallCrawlerSwarm >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CWallCrawlerSwarm >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CWallCrawlerSwarm >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWallCrawlerSwarm >::Visit(CWeapon& v) { ptr = GetPtr(&v); } +TCastToPtr< CWeapon >::TCastToPtr(CEntity& p) : ptr(0) { p.Accept(*this); } +TCastToPtr< CWeapon >::TCastToPtr(CEntity* p) : ptr(0) { + if (p != 0) { + p->Accept(*this); + } +} +void TCastToPtr< CWeapon >::Visit(CActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CBallCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CBomb& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CCinematicCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CCollisionActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CDestroyableRock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CEnergyProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CEntity& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CExplosion& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CFirstPersonCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CFishCloud& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CGameCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CGameLight& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CGameProjectile& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CHUDBillboardEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CMetroidPrimeRelay& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CPathCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CPatterned& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CPhysicsActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CPlayer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CRepulsor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptActor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptActorKeyframe& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptAiJumpPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptCameraHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptCameraPitchVolume& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptCoverPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptDebugCameraWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptDistanceFog& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptDock& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptDoor& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptEffect& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptGrapplePoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptGunTurret& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptMazeNode& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptPickup& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptPlatform& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptPlayerHint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptPointOfInterest& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptRoomAcoustics& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptSound& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptSpawnPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptSpecialFunction& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptSpiderBallAttractionSurface& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptSpiderBallWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptTargetingPoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CTeamAiMgr& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptTimer& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptTrigger& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptVisorFlare& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptWater& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptWaypoint& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CSnakeWeedSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CScriptSpindleCamera& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CWallCrawlerSwarm& v) { ptr = GetPtr(&v); } +void TCastToPtr< CWeapon >::Visit(CWeapon& v) { ptr = GetPtr(&v); } + +#endif \ No newline at end of file