@@ -69,13 +69,13 @@ static Vec l_pennant_flag_pos[21] = {
6969
7070/* 80BEC658-80BEC790 000078 0138+00 1/1 0/0 0/0 .text
7171 * initFlagPos__11FlagCloth_cFP4cXyzP10fopAc_ac_c */
72- void FlagCloth_c::initFlagPos (cXyz* param_1 , fopAc_ac_c* param_2 ) {
73- field_0x938 = param_1 ;
74- cXyz cStack_24 ;
72+ void FlagCloth_c::initFlagPos (cXyz* pFlagPos , fopAc_ac_c* i_actor ) {
73+ mpFlagPosition = pFlagPos ;
74+ cXyz direction ;
7575 f32 power;
76- dKyw_get_AllWind_vec (field_0x938 , &cStack_24 , &power);
77- mDoMtx_stack_c::transS (*field_0x938 );
78- cMtx_copy (mDoMtx_stack_c::get (), field_0x93c );
76+ dKyw_get_AllWind_vec (mpFlagPosition , &direction , &power);
77+ mDoMtx_stack_c::transS (*mpFlagPosition );
78+ cMtx_copy (mDoMtx_stack_c::get (), mModelMtx );
7979 cXyz* pPos = getPos ();
8080 for (int i = 0 ; i < 21 ; i++, pPos++) {
8181 pPos->set (l_pennant_flag_pos[i]);
@@ -91,7 +91,7 @@ void FlagCloth_c::initFlagPos(cXyz* param_1, fopAc_ac_c* param_2) {
9191 calcFlagNormal (pNormal, i);
9292 }
9393 calcFlagNormalBack ();
94- initCcSphere (param_2 );
94+ initCcSphere (i_actor );
9595}
9696
9797/* 80BEE31C-80BEE3C4 0000FC 00A8+00 1/1 0/0 0/0 .data l_texCoord_64x64 */
@@ -134,27 +134,27 @@ cXyz FlagCloth_c::calcFlagFactor(cXyz* param_1, cXyz* param_2, cXyz* param_3, in
134134 16 , -1 , -1 , 19 , 13 , 12 , 17 , -1 , -1 , 20 , 14 , 13 , 18 , -1 , -1 , 14 , 19 , -1 , -1 , -1 , -1 ,
135135 };
136136
137- cXyz cStack_58 (0 .0f , 0 .0f , 0 .0f );
137+ cXyz flagFactor (0 .0f , 0 .0f , 0 .0f );
138138 if (param_4 == 15 || param_4 == 20 ) {
139139 return cXyz::Zero;
140140 }
141141
142- int * piVar8 = rel_pos_idx_tbl + param_4 * 6 ;
143- cStack_58 = param_2[param_4] * param_3->inprod (param_2[param_4]);
144- cStack_58 .y += mGravity ;
145- for (int i = 0 ; i < 6 ; i++, piVar8 ++) {
146- if (*piVar8 == -1 ) {
142+ int * pRelPosIdx = rel_pos_idx_tbl + param_4 * 6 ;
143+ flagFactor = param_2[param_4] * param_3->inprod (param_2[param_4]);
144+ flagFactor .y += mGravity ;
145+ for (int i = 0 ; i < 6 ; i++, pRelPosIdx ++) {
146+ if (*pRelPosIdx == -1 ) {
147147 break ;
148148 }
149149 f32 fVar1 ;
150- if (*piVar8 == 0 || param_4 == 0 || abs (*piVar8 - param_4) > 1 ) {
150+ if (*pRelPosIdx == 0 || param_4 == 0 || abs (*pRelPosIdx - param_4) > 1 ) {
151151 fVar1 = 104 .40307f ;
152152 } else {
153153 fVar1 = 60 .0f ;
154154 }
155- calcFlagFactorSub (param_1 + param_4, param_1 + *piVar8 , &cStack_58 , fVar1 );
155+ calcFlagFactorSub (param_1 + param_4, param_1 + *pRelPosIdx , &flagFactor , fVar1 );
156156 }
157- return cStack_58 ;
157+ return flagFactor ;
158158}
159159
160160/* 80BEC928-80BECAE0 000348 01B8+00 1/1 0/0 0/0 .text
@@ -169,7 +169,7 @@ void FlagCloth_c::calcFlagFactorSub(cXyz* param_1, cXyz* param_2, cXyz* param_3,
169169}
170170
171171/* 80BECAE0-80BECC34 000500 0154+00 2/2 0/0 0/0 .text calcFlagNormal__11FlagCloth_cFP4cXyzi */
172- void FlagCloth_c::calcFlagNormal (cXyz* param_1 , int param_2) {
172+ void FlagCloth_c::calcFlagNormal (cXyz* o_normal , int param_2) {
173173 static int rel_pos_idx_tbl[147 ] = {
174174 1 , 2 , -1 , -1 , -1 , -1 , -1 , 3 , 4 , 2 , 0 , -1 , -1 , -1 , 0 , 1 , 4 , 5 , -1 , -1 , -1 ,
175175 6 , 7 , 4 , 1 , -1 , -1 , -1 , 1 , 3 , 7 , 8 , 5 , 2 , 1 , 2 , 4 , 8 , 9 , -1 , -1 , -1 ,
@@ -196,7 +196,7 @@ void FlagCloth_c::calcFlagNormal(cXyz* param_1, int param_2) {
196196 cStack_60 += cStack_54;
197197 }
198198 cStack_60.normalizeZP ();
199- param_1 ->set (cStack_60);
199+ o_normal ->set (cStack_60);
200200}
201201
202202/* 80BECC34-80BECC78 000654 0044+00 1/1 0/0 0/0 .text calcFlagNormalBack__11FlagCloth_cFv
@@ -210,7 +210,7 @@ inline void FlagCloth_c::calcFlagNormalBack() {
210210}
211211
212212/* 80BECC78-80BECCE4 000698 006C+00 1/1 0/0 0/0 .text initCcSphere__11FlagCloth_cFP10fopAc_ac_c */
213- void FlagCloth_c::initCcSphere (fopAc_ac_c* param_1 ) {
213+ void FlagCloth_c::initCcSphere (fopAc_ac_c* i_actor ) {
214214 const static dCcD_SrcSph ccSphSrc = {
215215 {
216216 {0x0 , {{0x0 , 0x0 , 0x0 }, {0x10000 , 0x11 }, 0x0 }}, // mObj
@@ -223,7 +223,7 @@ void FlagCloth_c::initCcSphere(fopAc_ac_c* param_1) {
223223 } // mSphAttr
224224 };
225225
226- mStts .Init (0xff , 0xff , param_1 );
226+ mStts .Init (0xff , 0xff , i_actor );
227227 mSph .Set (ccSphSrc);
228228 mSph .SetStts (&mStts );
229229 mSph .SetC (getTargetPos ());
@@ -247,18 +247,18 @@ void FlagCloth_c::setCcSphere() {
247247
248248/* 80BECD98-80BECF30 0007B8 0198+00 1/1 0/0 0/0 .text execute__11FlagCloth_cFv */
249249void FlagCloth_c::execute () {
250- cXyz cStack_34 ;
250+ cXyz direction ;
251251 f32 power;
252- dKyw_get_AllWind_vec (field_0x938 , &cStack_34 , &power);
253- cStack_34 .normalizeZP ();
254- cStack_34 *= power * mWindRate ;
252+ dKyw_get_AllWind_vec (mpFlagPosition , &direction , &power);
253+ direction .normalizeZP ();
254+ direction *= power * mWindRate ;
255255 cXyz* pPos = getPos ();
256256 cXyz* pNormal = getNormal ();
257257 cXyz* pNormal2 = pNormal;
258258 cXyz* pVec = getVec ();
259259 cXyz cStack_40;
260260 for (int i = 0 ; i < 21 ; pVec++, i++) {
261- cXyz cStack_40 = calcFlagFactor (pPos, pNormal, &cStack_34 , i);
261+ cXyz cStack_40 = calcFlagFactor (pPos, pNormal, &direction , i);
262262 *pVec += cStack_40;
263263 *pVec *= mDecayRate ;
264264 }
@@ -279,14 +279,13 @@ void FlagCloth_c::execute() {
279279}
280280
281281/* 80BECF30-80BED22C 000950 02FC+00 1/0 0/0 0/0 .text draw__11FlagCloth_cFv */
282- // NONMATCHING - GXColor stack issue
283282void FlagCloth_c::draw () {
284283 j3dSys.reinitGX ();
285284 GXSetNumIndStages (0 );
286285 dKy_setLight_again ();
287286 dKy_GxFog_tevstr_set (&mTevStr );
288287 dKy_setLight_mine (&mTevStr );
289- g_env_light.settingTevStruct (0x10 , field_0x938 , &mTevStr );
288+ g_env_light.settingTevStruct (0x10 , mpFlagPosition , &mTevStr );
290289 GXClearVtxDesc ();
291290 GXSetVtxDesc (GX_VA_POS, GX_INDEX8);
292291 GXSetVtxDesc (GX_VA_NRM, GX_INDEX8);
@@ -317,10 +316,10 @@ void FlagCloth_c::draw() {
317316 GXSetTevAlphaOp (GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
318317 GXSetTevKAlphaSel (GX_TEVSTAGE0, GX_TEV_KASEL_K3_A);
319318 GXSetAlphaCompare (GX_GREATER, 0 , GX_AOP_OR, GX_GREATER, 0 );
320- Mtx auStack_40 ;
321- cMtx_concat (j3dSys.getViewMtx (), field_0x93c, auStack_40 );
322- GXLoadPosMtxImm (auStack_40 , 0 );
323- GXLoadNrmMtxImm (auStack_40 , 0 );
319+ Mtx viewModelMtx ;
320+ cMtx_concat (j3dSys.getViewMtx (), mModelMtx , viewModelMtx );
321+ GXLoadPosMtxImm (viewModelMtx , 0 );
322+ GXLoadNrmMtxImm (viewModelMtx , 0 );
324323 GXSetClipMode (GX_CLIP_ENABLE);
325324 GXSetCullMode (GX_CULL_BACK);
326325 GXCallDisplayList (l_pennant_flagDL, 0x80 );
@@ -332,14 +331,12 @@ void FlagCloth_c::draw() {
332331
333332/* 80BED22C-80BED368 000C4C 013C+00 1/1 0/0 0/0 .text create_init__12daObjFlag2_cFv */
334333void daObjFlag2_c::create_init () {
335- int * puVar4 = (int *)dComIfG_getObjectRes (daSetBgObj_c::getArcName (this ), " spec.dat" );
336- f32 dVar9 = (u16 )*puVar4;
337- field_0x10a0.set (current.pos .x , current.pos .y + dVar9, current.pos .z );
338- fopAcM_setCullSizeBox (this , -600 .0f , -dVar9, -600 .0f ,
339- 600 .0f , 400 .0f ,
340- 600 .0f );
334+ int * pOffset = (int *)dComIfG_getObjectRes (daSetBgObj_c::getArcName (this ), " spec.dat" );
335+ f32 offset = (u16 )*pOffset;
336+ mFlagPosition .set (current.pos .x , current.pos .y + offset, current.pos .z );
337+ fopAcM_setCullSizeBox (this , -600 .0f , -offset, -600 .0f , 600 .0f , 400 .0f , 600 .0f );
341338 eyePos.set (mFlagCloth .getTargetPos ());
342- mFlagCloth .initFlagPos (&field_0x10a0 , this );
339+ mFlagCloth .initFlagPos (&mFlagPosition , this );
343340 mFlagCloth .setSpringRate (attr ().mSpringCoeeficient );
344341 mFlagCloth .setWindRate (attr ().mWindCoefficient );
345342 mFlagCloth .setDecayRate (attr ().mDecayRate );
@@ -381,7 +378,7 @@ void daObjFlag2_c::initCollision() {
381378 mCyl .SetStts (&mStts );
382379 mCyl .SetC (current.pos );
383380 mCyl .SetR (15 .0f );
384- mCyl .SetH (field_0x10a0 .y + 200 .0f );
381+ mCyl .SetH (mFlagPosition .y + 200 .0f );
385382 setCollision ();
386383}
387384
@@ -393,7 +390,7 @@ void daObjFlag2_c::setCollision() {
393390/* 80BED480-80BED680 000EA0 0200+00 1/1 0/0 0/0 .text createHeap__12daObjFlag2_cFv */
394391int daObjFlag2_c::createHeap () {
395392 s8 flagNum = (u8 )shape_angle.x ;
396- if (field_0x10ac != 0 ) {
393+ if (mFlagValid ) {
397394 char acStack_40[16 ];
398395 sprintf (acStack_40, " flag%02d.bti" , flagNum);
399396 shape_angle.setall (0 );
@@ -440,9 +437,9 @@ int daObjFlag2_c::create() {
440437 fopAcM_SetupActor (this , daObjFlag2_c);
441438 s8 flagNum = (u8 )shape_angle.x ;
442439 if (flagNum <= -1 || flagNum > 99 ) {
443- field_0x10ac = 0 ;
440+ mFlagValid = false ;
444441 } else {
445- field_0x10ac = 1 ;
442+ mFlagValid = true ;
446443 sprintf (mFlagName , " FlagObj%02d" , flagNum);
447444 int rv = dComIfG_resLoad (&mFlagPhase , mFlagName );
448445 if (rv != cPhs_COMPLEATE_e) {
@@ -470,7 +467,7 @@ int daObjFlag2_c::draw() {
470467 dComIfGd_setListBG ();
471468 g_env_light.setLightTevColorType_MAJI (mModel , &tevStr);
472469 mDoExt_modelUpdateDL (mModel );
473- if (field_0x10ac != 0 ) {
470+ if (mFlagValid ) {
474471 j3dSys.getDrawBuffer (0 )->entryImm (&mFlagCloth , 0 );
475472 }
476473 dComIfGd_setList ();
@@ -484,7 +481,7 @@ static int daObjFlag2_Draw(daObjFlag2_c* i_this) {
484481}
485482
486483int daObjFlag2_c::execute () {
487- if (field_0x10ac == 0 ) {
484+ if (! mFlagValid ) {
488485 return 1 ;
489486 }
490487
@@ -496,12 +493,12 @@ int daObjFlag2_c::execute() {
496493 mFlagCloth .setTornado (attr ().mTornado );
497494 #endif
498495
499- cXyz cStack_24 ;
496+ cXyz direction ;
500497 f32 power;
501- dKyw_get_AllWind_vec (&field_0x10a0 , &cStack_24 , &power);
498+ dKyw_get_AllWind_vec (&mFlagPosition , &direction , &power);
502499 if (power > 0 .0f ) {
503- Z2GetAudioMgr ()->seStartLevel (Z2SE_OBJ_FLAG_TRAILING, &field_0x10a0 , power * 127 .0f , 0 ,
504- 1 .0f , 1 .0f , -1 .0f , -1 .0f , 0 );
500+ Z2GetAudioMgr ()->seStartLevel (Z2SE_OBJ_FLAG_TRAILING, &mFlagPosition , power * 127 .0f , 0 ,
501+ 1 .0f , 1 .0f , -1 .0f , -1 .0f , 0 );
505502 }
506503 mFlagCloth .execute ();
507504 eyePos = mFlagCloth .getTargetPos ();
@@ -533,7 +530,7 @@ daObjFlag2_c::~daObjFlag2_c() {
533530 M_hio.dt ();
534531 #endif
535532
536- if (field_0x10ac != 0 ) {
533+ if (mFlagValid ) {
537534 dComIfG_resDelete (&mFlagPhase , mFlagName );
538535 }
539536 dComIfG_resDelete (&mArcPhase , daSetBgObj_c::getArcName (this ));
0 commit comments