@@ -512,17 +512,13 @@ bool dCamera_c::pauseEvCamera() {
512512 return true ;
513513}
514514
515- /* 804253A8-804253B4 0520C8 000C+00 1/1 0/0 0/0 .bss @4202 */
516- static u8 lit_4202[12 ];
517-
518515namespace {
519516 /* 804253B4-804253C0 0520D4 000C+00 2/3 0/0 0/0 .bss WolfAdditionVec__25@unnamed@d_ev_camera_cpp@*/
520517 static cXyz WolfAdditionVec;
521518}
522519
523520/* 800897E8-8008A510 084128 0D28+00 0/0 1/0 0/0 .text fixedFrameEvCamera__9dCamera_cFv */
524521bool dCamera_c::fixedFrameEvCamera () {
525- // NONMATCHING
526522 if (mCurCamStyleTimer == 0 ) {
527523 cXyz sp38, sp44;
528524 getEvXyzData (&sp44, " Eye" , mEye );
@@ -534,9 +530,9 @@ bool dCamera_c::fixedFrameEvCamera() {
534530 getEvStringData (&mWork .event .field_0x28 , " RelUseMask" , " oo" );
535531
536532 #ifdef DEBUG
537- if (strlen (mWork .event .field_0x28 ) != 2 ) {
533+ if (strlen (& mWork .event .field_0x28 ) != 2 ) {
538534 OSReport (" camera: event: bad length -> xx\n " );
539- strcpy (mWork .event .field_0x28 , " xx" );
535+ strcpy (& mWork .event .field_0x28 , " xx" );
540536 JUTAssertion::showAssert (JUTAssertion::getSDevice (), " d_ev_camera.cpp" , 0x32e , " 0" );
541537 OSPanic (" d_ev_camera.cpp" , 0x32e , " Halt" );
542538 }
@@ -627,7 +623,7 @@ bool dCamera_c::fixedFrameEvCamera() {
627623 f32 fVar3 = cXyz (mRelPos2 - positionOf (mpPlayerActor)).abs ();
628624 sp44.x = -sp44.x ;
629625 mRelPos2 = relationalPos (mWork .event .mRelActor , &sp44);
630- f32 fVar4 = cXyz (). abs ( mRelPos2 - positionOf (mpPlayerActor));
626+ f32 fVar4 = cXyz (mRelPos2 - positionOf (mpPlayerActor)). abs ( );
631627 if (fVar3 > fVar4 ) {
632628 sp44.x = -sp44.x ;
633629 }
@@ -649,7 +645,7 @@ bool dCamera_c::fixedFrameEvCamera() {
649645 field_0x5c.mFovy = mWork .event .mFovy ;
650646
651647 if (mWork .event .field_0x30 ) {
652- field_0x5c.mBank = (s16)( int )( mWork .event .field_0x20 * 182 . 04445f );
648+ field_0x5c.mBank = cAngle::d2s ( mWork .event .field_0x20 );
653649 setFlag (0x400 );
654650 }
655651
@@ -663,8 +659,8 @@ bool dCamera_c::fixedFrameEvCamera() {
663659
664660/* 8008A510-8008A974 084E50 0464+00 0/0 1/0 0/0 .text stokerEvCamera__9dCamera_cFv */
665661bool dCamera_c::stokerEvCamera () {
666- // NONMATCHING
667662 if (mCurCamStyleTimer == 0 ) {
663+ cXyz unused_0, unused_1;
668664 getEvXyzData (&mWork .stoker .field_0x4 , " EyeGap" , cXyz::Zero);
669665 getEvXyzData (&mWork .stoker .field_0x10 , " CtrGap" , cXyz::Zero);
670666 getEvFloatData (&mWork .stoker .field_0x20 , " EyeCus" , 1 .0f );
@@ -698,7 +694,7 @@ bool dCamera_c::stokerEvCamera() {
698694 cStack_d0.U (cStack_d0.U () + mWork .stoker .field_0x30 ->shape_angle .y );
699695
700696 cXyz cStack_38 = attentionPos (mWork .stoker .field_0x30 ) + cStack_d0.Xyz ();
701- field_0x5c.mCenter += (cStack_38 - field_0x5c.mCenter ) * mWork .stoker .field_0x20 ;
697+ field_0x5c.mCenter += (cStack_38 - field_0x5c.mCenter ) * mWork .stoker .field_0x1c ;
702698 }
703699
704700 if (mWork .stoker .field_0x2c ) {
@@ -708,19 +704,19 @@ bool dCamera_c::stokerEvCamera() {
708704 }
709705
710706 cStack_d0.Val (mWork .talk .field_0x4 );
711- cSAngle acStack_e0;
712- cStack_d0.V (acStack_e0 + cStack_d0.V ());
713- cSAngle acStack_e4 ;
714- cStack_d0. U (acStack_e4 + cStack_d0.U () );
715- field_0x5c.mEye += ((( attentionPos ( mWork . stoker . field_0x30 )) + cStack_d0. Xyz ()) - field_0x5c.mEye ) * mWork .stoker .field_0x20 ;
707+ // cSAngle acStack_e0;
708+ cStack_d0.V (cStack_d0.V () + mWork . stoker . field_0x2c -> shape_angle . x );
709+ cStack_d0. U (cStack_d0. U () + mWork . stoker . field_0x2c -> shape_angle . y ) ;
710+ cXyz tmp_vec = attentionPos ( mWork . stoker . field_0x2c ) + cStack_d0.Xyz ( );
711+ field_0x5c.mEye += (tmp_vec - field_0x5c.mEye ) * mWork .stoker .field_0x20 ;
716712 }
717713
718714 field_0x5c.mDirection .Val (field_0x5c.mEye - field_0x5c.mCenter );
719715 field_0x5c.mFovy = mWork .stoker .field_0x24 ;
720716
721717 if (mWork .event .field_0x1 ) {
722718 cAngle this_00;
723- field_0x5c.mBank = this_00.d2s (mWork .chase .field_0x2c );
719+ field_0x5c.mBank = this_00.d2s (mWork .chase .field_0x28 );
724720 setFlag (0x400 );
725721 }
726722
@@ -871,30 +867,22 @@ bool dCamera_c::rollingEvCamera() {
871867namespace {
872868 /* 804253CC-804253D8 0520EC 000C+00 1/2 0/0 0/0 .bss MidnaAdditionVec__25@unnamed@d_ev_camera_cpp@ */
873869 static cXyz MidnaAdditionVec;
874- } // namesoace
875-
876- /* 804528F0-804528F8 000EF0 0004+04 1/1 0/0 0/0 .sdata2 @5959 */
877- SECTION_SDATA2 static f32 lit_5959[1 + 1 /* padding */ ] = {
878- 100000 .0f ,
879- /* padding */
880- 0 .0f ,
881- };
882870
883- /* 804528F8-80452900 000EF8 0008+00 10/10 0/0 0/0 .sdata2 @5962 */
884- SECTION_SDATA2 static f64 lit_5962 = 4503601774854144.0 /* cast s32 to float */ ;
871+ /* 8008E750-8008E774 089090 0024+00 1/1 0/0 0/0 .text isRelChar__25@unnamed@d_ev_camera_cpp@Fc */
872+ static inline bool isRelChar (char param_1) {
873+ return param_1 != ' -' && param_1 != ' x' ;
874+ }
875+ } // namespace
885876
886877/* 8008B9B0-8008BE2C 0862F0 047C+00 0/0 1/0 0/0 .text fixedPositionEvCamera__9dCamera_cFv */
887878bool dCamera_c::fixedPositionEvCamera () {
888879 // NONMATCHING
889- static cXyz DefaultGap_5851;
890- if (struct_80450F88[0 ] == 0 ) {
891- DefaultGap_5851 = cXyz::Zero;
892- struct_80450F88[0 ] = 1 ;
893- }
880+ static cXyz DefaultGap (cXyz::Zero);
881+ bool rv = true ;
894882
895883 if (mCurCamStyleTimer == 0 ) {
896- getEvXyzData (&mWork .event .field_0x10 , " CtrGap" , DefaultGap_5851);
897884 cXyz sp24;
885+ getEvXyzData (&mWork .event .field_0x10 , " CtrGap" , DefaultGap);
898886 getEvXyzData (&sp24, " Eye" , mEye );
899887 getEvFloatData (&mWork .fixedPos .field_0x28 , " Fovy" , mFovy );
900888 getEvFloatData (&mWork .fixedPos .field_0x30 , " CtrCus" , 1 .0f );
@@ -904,16 +892,16 @@ bool dCamera_c::fixedPositionEvCamera() {
904892 getEvStringData (&mWork .event .field_0x48 , " RelUseMask" , " o" );
905893 mWork .event .field_0x0 = getEvIntData (&mWork .event .field_0x4c , " Timer" , -1 );
906894
907- mWork .fixedPos .field_0x40 = getEvActor (" Target" , " @PLAYER" );
908- if (mWork .fixedPos .field_0x40 == NULL ) {
895+ // mWork.fixedPos.field_0x40 = getEvActor("Target", "@PLAYER");
896+ if (( mWork .fixedPos .field_0x40 = getEvActor ( " Target " , " @PLAYER " )) == NULL ) {
909897 OS_REPORT (" camera: event: error: target actor missing\n " );
910898 return 1 ;
911899 }
912900
913901 mWork .fixedPos .field_0x44 = fopAcM_GetID (mWork .fixedPos .field_0x40 );
914902 mWork .fixedPos .field_0x3c = getEvActor (" RelActor" );
915903
916- if (mWork .fixedPos .field_0x3c && (mWork .event .field_0x48 != ' - ' && mWork . event . field_0x48 != ' x ' )) {
904+ if (mWork .fixedPos .field_0x3c && isRelChar (mWork .event .field_0x48 )) {
917905 mWork .fixedPos .field_0x4 = relationalPos (mWork .fixedPos .field_0x3c , &sp24);
918906 } else {
919907 mWork .fixedPos .field_0x4 = sp24;
@@ -923,10 +911,9 @@ bool dCamera_c::fixedPositionEvCamera() {
923911 field_0x158.field_0x0 = true ;
924912 }
925913
926- bool rv;
927914 if (fopAcM_SearchByID (mWork .fixedPos .field_0x44 ) == NULL ) {
928915 OS_REPORT (" camera: event: error: target actor dead\n " );
929- rv = 1 ;
916+ return 1 ;
930917 }
931918
932919 mWork .fixedPos .field_0x1c = relationalPos (mWork .rolling .field_0x40 , &mWork .talk .field_0x10 );
@@ -936,8 +923,8 @@ bool dCamera_c::fixedPositionEvCamera() {
936923
937924 f32 fVar1 = mWork .rolling .field_0x38 ;
938925 if (mWork .event .field_0x0 && mCurCamStyleTimer < mWork .fixedPos .field_0x4c ) {
939- fVar1 = mWork .rolling .field_0x34 + (mWork .rolling .field_0x38 - mWork .rolling .field_0x34 ) * (mCurCamStyleTimer / mWork .rolling .field_0x4c );
940- rv = 0 ;
926+ fVar1 = mWork .rolling .field_0x34 + (mWork .rolling .field_0x38 - mWork .rolling .field_0x34 ) * (mCurCamStyleTimer / f32 ( mWork .fixedPos .field_0x4c ) );
927+ rv = false ;
941928 }
942929
943930 if (field_0x5c.mDirection .R () > fVar1 ) {
@@ -974,13 +961,6 @@ bool dCamera_c::uniformAcceleEvCamera() {
974961 transEvCamera (3 );
975962}
976963
977- namespace {
978- /* 8008E750-8008E774 089090 0024+00 1/1 0/0 0/0 .text isRelChar__25@unnamed@d_ev_camera_cpp@Fc */
979- static bool isRelChar (char param_1) {
980- return param_1 != ' -' && param_1 != ' x' ;
981- }
982- } // namespace
983-
984964/* 8008BE98-8008E750 0867D8 28B8+00 3/3 0/0 0/0 .text transEvCamera__9dCamera_cFi */
985965bool dCamera_c::transEvCamera (int param_1) {
986966 // NONMATCHING
0 commit comments