// Token: 0x06000955 RID: 2389 RVA: 0x00054294 File Offset: 0x00052494 private static void gmEneKamaHandAttackInit(OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENE_KAMA_WORK gms_ENE_KAMA_WORK = (AppMain.GMS_ENE_KAMA_WORK)obj_work; AppMain.GMS_ENE_KAMA_WORK gms_ENE_KAMA_WORK2 = (AppMain.GMS_ENE_KAMA_WORK)obj_work.parent_obj; AppMain.VecFx32 vecFx = AppMain.gmEneKamaGetPlayerVectorFx(obj_work); obj_work.spd.x = ( int )(( float )vecFx.x * 1.75f); obj_work.spd.y = ( int )(( float )vecFx.y * 1.75f); obj_work.ppFunc = AppMain.gmEneKamaHandAttackMain; gms_ENE_KAMA_WORK.timer = 120; if ((gms_ENE_KAMA_WORK2.ene_3d_work.ene_com.obj_work.disp_flag & 2U) != 0U) { obj_work.disp_flag |= 2U; } if ((gms_ENE_KAMA_WORK2.ene_3d_work.ene_com.obj_work.disp_flag & 1U) != 0U) { gms_ENE_KAMA_WORK.rot_z_add = -AkMath.DEGtoA32(15); } else { gms_ENE_KAMA_WORK.rot_z_add = AkMath.DEGtoA32(15); } AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENE_KAMA_WORK.ene_3d_work.ene_com.rect_work[1]; AppMain.ObjRectWorkSet(obs_RECT_WORK, -8, -8, 8, 8); obs_RECT_WORK.flag |= 4U; obj_work.flag |= 512U; obj_work.pos.z = 655360; GmSound.PlaySE("Kama"); }
// Token: 0x06000705 RID: 1797 RVA: 0x0003E8D0 File Offset: 0x0003CAD0 private static bool GmBoss4UtilUpdateFlicker(OBS_OBJECT_WORK obj_work, AppMain.GMS_BOSS4_FLICKER_WORK flk_work) { AppMain.MTM_ASSERT(obj_work); AppMain.MTM_ASSERT(obj_work.obj_3d); AppMain.MTM_ASSERT(flk_work); if (!flk_work.is_active) { return(true); } if (flk_work.cycles != 0U) { if (flk_work.interval_timer != 0U) { flk_work.interval_timer -= 1U; } else { flk_work.cur_angle += flk_work.add_timer; if (flk_work.cur_angle >= AkMath.DEGtoA32(360f)) { flk_work.cur_angle = 0; flk_work.cycles -= 1U; flk_work.interval_timer = flk_work.interval_flk; } } AppMain.GmBsCmnSetObject3DNNFadedColor(obj_work, flk_work.color, (1f - AppMain.nnCos(flk_work.cur_angle)) / 2f); return(false); } if (flk_work.is_active) { AppMain.GmBoss4UtilEndFlicker(obj_work, flk_work); } return(true); }
// Token: 0x060005F3 RID: 1523 RVA: 0x00034ABC File Offset: 0x00032CBC private static AppMain.DMS_STFRL_SONIC_WORK DmStfrlMdlCtrlSetSonicObj() { OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.OBM_OBJECT_TASK_DETAIL_INIT(24576, 0, 0, 0, () => new AppMain.DMS_STFRL_SONIC_WORK(), "STAFFROLL_SONIC"); AppMain.DMS_STFRL_SONIC_WORK dms_STFRL_SONIC_WORK = (AppMain.DMS_STFRL_SONIC_WORK)obs_OBJECT_WORK; AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.dm_stfrl_sonic_obj_3d_list[0], obs_OBJECT_WORK.obj_3d); obs_OBJECT_WORK.obj_3d.blend_spd = 0.0625f; AppMain.ObjDrawObjectSetToon(obs_OBJECT_WORK); AppMain.OBS_ACTION3D_NN_WORK obj_3d = dms_STFRL_SONIC_WORK.obj_work.obj_3d; AppMain.ObjObjectAction3dNNMotionLoad(obs_OBJECT_WORK, 0, true, GmPlayer.g_gm_player_data_work[( int )(( UIntPtr )0)][4], null, 0, null, 136, 16); obs_OBJECT_WORK.flag |= 16U; obs_OBJECT_WORK.disp_flag |= 4194309U; obs_OBJECT_WORK.disp_flag &= 4294967263U; obs_OBJECT_WORK.disp_flag |= 150995456U; obs_OBJECT_WORK.obj_3d.drawflag |= 8388608U; obs_OBJECT_WORK.pos.x = 0; obs_OBJECT_WORK.pos.y = 98304; obs_OBJECT_WORK.pos.z = -12288; obs_OBJECT_WORK.dir.y = ( ushort )AkMath.DEGtoA16(90); obs_OBJECT_WORK.obj_3d.draw_state.alpha.alpha = 1f; dms_STFRL_SONIC_WORK.alpha = 1f; AppMain.ObjDrawObjectActionSet(obs_OBJECT_WORK, 21); obs_OBJECT_WORK.ppOut = AppMain.dmStfrlMdlCtrlSonicDrawFunc; obs_OBJECT_WORK.ppFunc = AppMain.dmStfrlMdlCtrlSonicProcWaitSetup; return(dms_STFRL_SONIC_WORK); }
// Token: 0x0600078F RID: 1935 RVA: 0x00043078 File Offset: 0x00041278 public static void gmEneTStarWalkMain(OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENE_T_STAR_WORK gms_ENE_T_STAR_WORK = (AppMain.GMS_ENE_T_STAR_WORK)obj_work; obj_work.disp_flag |= 4U; if (gms_ENE_T_STAR_WORK.rotate > 0) { obj_work.dir.z = ( ushort )(obj_work.dir.z + ( ushort )AkMath.DEGtoA16(10)); AppMain.GMS_ENE_T_STAR_WORK gms_ENE_T_STAR_WORK2 = gms_ENE_T_STAR_WORK; gms_ENE_T_STAR_WORK2.rotate -= 1; if (gms_ENE_T_STAR_WORK.rotate == 0) { obj_work.dir.z = 0; } } if (gms_ENE_T_STAR_WORK.timer > 0) { gms_ENE_T_STAR_WORK.timer--; if (gms_ENE_T_STAR_WORK.timer == 60) { gms_ENE_T_STAR_WORK.rotate = 36; } return; } obj_work.spd.x = 0; obj_work.spd.y = 0; gms_ENE_T_STAR_WORK.timer = 15; obj_work.ppFunc = AppMain.gmEneTStarStopMain; }
// Token: 0x06001030 RID: 4144 RVA: 0x0008CD04 File Offset: 0x0008AF04 private static void gmEneUniuniNeedleWaitMain(OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENE_UNIUNI_WORK gms_ENE_UNIUNI_WORK = (AppMain.GMS_ENE_UNIUNI_WORK)obj_work; AppMain.GMS_ENE_UNIUNI_WORK gms_ENE_UNIUNI_WORK2 = (AppMain.GMS_ENE_UNIUNI_WORK)obj_work.parent_obj; int num = gms_ENE_UNIUNI_WORK2.rot_y; int rot_x = gms_ENE_UNIUNI_WORK2.rot_x; int rot_z = gms_ENE_UNIUNI_WORK2.rot_z; float len = gms_ENE_UNIUNI_WORK2.len; num += AkMath.DEGtoA32(360) / 4 * gms_ENE_UNIUNI_WORK.num; num %= AkMath.DEGtoA32(360); SNNS_MATRIX snns_MATRIX; AppMain.nnMakeRotateXMatrix(out snns_MATRIX, rot_x); AppMain.nnRotateZMatrix(ref snns_MATRIX, ref snns_MATRIX, rot_z); AppMain.nnRotateYMatrix(ref snns_MATRIX, ref snns_MATRIX, num); SNNS_MATRIX snns_MATRIX2; AppMain.nnMakeTranslateMatrix(out snns_MATRIX2, len, 0f, 0f); SNNS_MATRIX snns_MATRIX3; AppMain.nnMultiplyMatrix(out snns_MATRIX3, ref snns_MATRIX, ref snns_MATRIX2); SNNS_VECTOR snns_VECTOR; AppMain.nnCopyMatrixTranslationVector(out snns_VECTOR, ref snns_MATRIX3); obj_work.pos.x = AppMain.FX_F32_TO_FX32(snns_VECTOR.x) + gms_ENE_UNIUNI_WORK2.ene_3d_work.ene_com.obj_work.pos.x; obj_work.pos.y = AppMain.FX_F32_TO_FX32(snns_VECTOR.y) + gms_ENE_UNIUNI_WORK2.ene_3d_work.ene_com.obj_work.pos.y; obj_work.pos.z = 655360; if (gms_ENE_UNIUNI_WORK2.attack != 0 && ( double )snns_VECTOR.y >= ( double )len * 0.98) { obj_work.ppFunc = AppMain.gmEneUniuniNeedleAttackInit; } }
// Token: 0x06000DEF RID: 3567 RVA: 0x0007AAF4 File Offset: 0x00078CF4 private static OBS_OBJECT_WORK GmEneUnidesInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type) { AppMain.UNREFERENCED_PARAMETER(type); OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_ENE_UNIDES_WORK(), "ENE_UNIDES"); AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK; AppMain.GMS_ENE_UNIDES_WORK gms_ENE_UNIDES_WORK = (AppMain.GMS_ENE_UNIDES_WORK)obs_OBJECT_WORK; AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_ene_unides_obj_3d_list[0], gms_ENEMY_3D_WORK.obj_3d); AppMain.ObjObjectAction3dNNMotionLoad(obs_OBJECT_WORK, 0, true, AppMain.ObjDataGet(692), null, 0, null); AppMain.ObjDrawObjectSetToon(obs_OBJECT_WORK); obs_OBJECT_WORK.pos.z = 655360; AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[1]; AppMain.ObjRectWorkSet(obs_RECT_WORK, -8, 0, 8, 16); obs_RECT_WORK.flag |= 4U; obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[0]; AppMain.ObjRectWorkSet(obs_RECT_WORK, -16, -8, 16, 16); obs_RECT_WORK.flag |= 4U; gms_ENEMY_3D_WORK.ene_com.rect_work[2].flag &= 4294967291U; obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[2]; AppMain.ObjRectWorkSet(obs_RECT_WORK, -19, -16, 19, 16); obs_RECT_WORK.flag &= 4294967291U; obs_OBJECT_WORK.move_flag &= 4294967167U; obs_OBJECT_WORK.move_flag |= 256U; if ((eve_rec.flag & 1) == 0) { obs_OBJECT_WORK.disp_flag |= 1U; obs_OBJECT_WORK.dir.y = ( ushort )AkMath.DEGtoA16(45); } else { obs_OBJECT_WORK.dir.y = ( ushort )AkMath.DEGtoA16(-45); } obs_OBJECT_WORK.user_work = ( uint )(obs_OBJECT_WORK.pos.x + (( int )eve_rec.left << 12)); obs_OBJECT_WORK.user_flag = ( uint )(obs_OBJECT_WORK.pos.x + (( int )(eve_rec.left + ( sbyte )eve_rec.width) << 12)); gms_ENE_UNIDES_WORK.spd_dec = 76; gms_ENE_UNIDES_WORK.spd_dec_dist = 15360; gms_ENE_UNIDES_WORK.len = 17.5f; gms_ENE_UNIDES_WORK.rot_x = AkMath.DEGtoA32(90f); gms_ENE_UNIDES_WORK.rot_y = AkMath.DEGtoA32(0f); gms_ENE_UNIDES_WORK.rot_z = AkMath.DEGtoA32(0f); gms_ENE_UNIDES_WORK.num = 0; AppMain.gmEneUnidesWaitInit(obs_OBJECT_WORK); for (int i = 0; i < 4; i++) { OBS_OBJECT_WORK obs_OBJECT_WORK2 = AppMain.GmEventMgrLocalEventBirth(309, pos_x, pos_y, 0, 0, 0, 0, 0, 0); obs_OBJECT_WORK2.parent_obj = obs_OBJECT_WORK; AppMain.GMS_ENE_UNIDES_WORK gms_ENE_UNIDES_WORK2 = (AppMain.GMS_ENE_UNIDES_WORK)obs_OBJECT_WORK2; gms_ENE_UNIDES_WORK2.num = i; gms_ENE_UNIDES_WORK.num++; } gms_ENE_UNIDES_WORK.attack = 0; gms_ENE_UNIDES_WORK.attack_first = 0; gms_ENE_UNIDES_WORK.zoom_now = 0; gms_ENE_UNIDES_WORK.zoom = 1f; obs_OBJECT_WORK.obj_3d.use_light_flag &= 4294967294U; obs_OBJECT_WORK.obj_3d.use_light_flag |= 64U; return(obs_OBJECT_WORK); }
// Token: 0x06000E12 RID: 3602 RVA: 0x0007BFD4 File Offset: 0x0007A1D4 public static void GmEneUtilSetMatrixNN(OBS_OBJECT_WORK obj_work, NNS_MATRIX w_mtx) { NNS_MATRIX user_obj_mtx_r = obj_work.obj_3d.user_obj_mtx_r; obj_work.pos.x = AppMain.FX_F32_TO_FX32(w_mtx.M03); obj_work.pos.y = -AppMain.FX_F32_TO_FX32(w_mtx.M13); obj_work.pos.z = AppMain.FX_F32_TO_FX32(w_mtx.M23); obj_work.disp_flag |= 16777216U; AkMath.NormalizeMtx(user_obj_mtx_r, w_mtx); }
// Token: 0x06000E70 RID: 3696 RVA: 0x0008125C File Offset: 0x0007F45C public static void gmBoss5TurretSetRoundFaceRot(AppMain.GMS_BOSS5_TURRET_WORK trt_work, int dir_z_angle, int tilt_near_angle) { int rz = (int)(65535L & (long)(-(long)dir_z_angle)); AppMain.nnMakeRotateXZYQuaternion(out trt_work.disp_quat, AkMath.DEGtoA32(90), -tilt_near_angle, AkMath.DEGtoA32(90)); NNS_QUATERNION nns_QUATERNION; AppMain.nnMakeRotateXYZQuaternion(out nns_QUATERNION, 0, 0, rz); AppMain.nnMultiplyQuaternion(ref trt_work.disp_quat, ref nns_QUATERNION, ref trt_work.disp_quat); }
// Token: 0x060006EC RID: 1772 RVA: 0x0003DD8C File Offset: 0x0003BF8C private static void GmBoss4UtilSetMatrixNN(OBS_OBJECT_WORK obj_work, NNS_MATRIX w_mtx) { AppMain.MTM_ASSERT(obj_work); AppMain.MTM_ASSERT(obj_work.obj_3d); NNS_MATRIX user_obj_mtx_r = obj_work.obj_3d.user_obj_mtx_r; obj_work.pos.x = AppMain.FX_F32_TO_FX32(w_mtx.M03); obj_work.pos.y = -AppMain.FX_F32_TO_FX32(w_mtx.M13); obj_work.pos.z = AppMain.FX_F32_TO_FX32(w_mtx.M23); obj_work.disp_flag |= 16777216U; AkMath.NormalizeMtx(user_obj_mtx_r, w_mtx); }
// Token: 0x06000791 RID: 1937 RVA: 0x00043198 File Offset: 0x00041398 public static void gmEneTStarAttackInit(OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENE_T_STAR_WORK gms_ENE_T_STAR_WORK = (AppMain.GMS_ENE_T_STAR_WORK)obj_work; NNS_MATRIX nns_MATRIX = GlobalPool <NNS_MATRIX> .Alloc(); NNS_MATRIX nns_MATRIX2 = GlobalPool <NNS_MATRIX> .Alloc(); AppMain.nnMakeUnitMatrix(nns_MATRIX); AppMain.nnMakeUnitMatrix(nns_MATRIX2); AppMain.nnMakeRotateZMatrix(nns_MATRIX2, AkMath.DEGtoA32(72)); NNS_VECTOR nns_VECTOR = GlobalPool <NNS_VECTOR> .Alloc(); for (int i = 0; i < 5; i++) { OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GmEventMgrLocalEventBirth(308, obj_work.pos.x, obj_work.pos.y, 0, 0, 0, 0, 0, 0); obs_OBJECT_WORK.parent_obj = obj_work; obs_OBJECT_WORK.dir.y = 49152; obs_OBJECT_WORK.dir.z = ( ushort )AkMath.DEGtoA16(-72 * i); nns_VECTOR.x = nns_MATRIX.M01; nns_VECTOR.y = nns_MATRIX.M11; nns_VECTOR.z = 0f; obs_OBJECT_WORK.spd.x = AppMain.FX_F32_TO_FX32(nns_VECTOR.x * 4f); obs_OBJECT_WORK.spd.y = -AppMain.FX_F32_TO_FX32(nns_VECTOR.y * 4f); OBS_OBJECT_WORK obs_OBJECT_WORK2 = obs_OBJECT_WORK; obs_OBJECT_WORK2.pos.x = obs_OBJECT_WORK2.pos.x + AppMain.FX_F32_TO_FX32(nns_VECTOR.x * 10f); OBS_OBJECT_WORK obs_OBJECT_WORK3 = obs_OBJECT_WORK; obs_OBJECT_WORK3.pos.y = obs_OBJECT_WORK3.pos.y + -AppMain.FX_F32_TO_FX32(nns_VECTOR.y * 10f); AppMain.nnMultiplyMatrix(nns_MATRIX, nns_MATRIX, nns_MATRIX2); AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK; gms_ENEMY_3D_WORK.ene_com.enemy_flag |= 32768U; AppMain.GMS_EFFECT_3DES_WORK gms_EFFECT_3DES_WORK = AppMain.GmEfctEneEsCreate(obs_OBJECT_WORK, 10); gms_EFFECT_3DES_WORK.efct_com.obj_work.dir.z = ( ushort )AkMath.DEGtoA16(-72 * i); } GlobalPool <NNS_VECTOR> .Release(nns_VECTOR); obj_work.disp_flag |= 32U; obj_work.disp_flag |= 4U; obj_work.ppFunc = AppMain.gmEneTStarAttackMain; obj_work.move_flag &= 4294967291U; obj_work.spd.x = 0; obj_work.spd.y = 0; gms_ENE_T_STAR_WORK.timer = 300; AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK2 = (AppMain.GMS_ENEMY_3D_WORK)obj_work; gms_ENEMY_3D_WORK2.ene_com.rect_work[1].flag &= 4294967291U; gms_ENEMY_3D_WORK2.ene_com.rect_work[0].flag &= 4294967291U; gms_ENEMY_3D_WORK2.ene_com.rect_work[2].flag &= 4294967291U; GmSound.PlaySE("Boss2_03"); gms_ENEMY_3D_WORK2.ene_com.enemy_flag |= 65536U; GlobalPool <NNS_MATRIX> .Release(nns_MATRIX); GlobalPool <NNS_MATRIX> .Release(nns_MATRIX2); }
// Token: 0x06000503 RID: 1283 RVA: 0x0002B160 File Offset: 0x00029360 private static void gmBoss5LdPartInitFall(AppMain.GMS_BOSS5_LDPART_WORK ldpart_work) { OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_BS_OBJ(ldpart_work); int num = (int)AppMain.mtMathRand() % AppMain.GMD_BOSS5_LAND_LDPART_FALL_XY_DIR_RANGE_DEG; int ang = AkMath.DEGtoA32(num + (270 - AppMain.GMD_BOSS5_LAND_LDPART_FALL_XY_DIR_RANGE_DEG / 2)); int z = AppMain.FX_Mul(AkMath.RandFx(), AppMain.GMD_BOSS5_LAND_LDPART_FALL_Z_SPD_MAX * 2) - AppMain.GMD_BOSS5_LAND_LDPART_FALL_Z_SPD_MAX; obs_OBJECT_WORK.spd.y = ( int )(4096f * AppMain.GMD_BOSS5_LAND_LDPART_FALL_XY_SPD_FL * AppMain.nnSin(ang)); obs_OBJECT_WORK.spd.x = ( int )(4096f * AppMain.GMD_BOSS5_LAND_LDPART_FALL_XY_SPD_FL * AppMain.nnCos(ang)); obs_OBJECT_WORK.spd.z = z; obs_OBJECT_WORK.flag &= 4294966271U; obs_OBJECT_WORK.move_flag |= 128U; }
// Token: 0x06000604 RID: 1540 RVA: 0x000354A4 File Offset: 0x000336A4 private static void dmStfrlMdlCtrlBodyProcBodyCompInitStart(OBS_OBJECT_WORK obj_work) { AppMain.DMS_STFRL_BOSS_BODY_WORK dms_STFRL_BOSS_BODY_WORK = (AppMain.DMS_STFRL_BOSS_BODY_WORK)obj_work; obj_work.pos.x = 0; obj_work.pos.y = -737280; obj_work.pos.z = -81920; obj_work.dir.y = ( ushort )AkMath.DEGtoA16(300); if ((dms_STFRL_BOSS_BODY_WORK.flag & 2U) != 0U) { obj_work.ppFunc = AppMain.dmStfrlMdlCtrlBodyProcBodyCompStartWait; dms_STFRL_BOSS_BODY_WORK.flag &= 4294967293U; } }
// Token: 0x060006EE RID: 1774 RVA: 0x0003DE2C File Offset: 0x0003C02C private static void GmBoss4UtilSetMatrixES(OBS_OBJECT_WORK obj_work, NNS_MATRIX w_mtx) { NNS_MATRIX nns_MATRIX = GlobalPool <NNS_MATRIX> .Alloc(); AppMain.MTM_ASSERT(obj_work); AppMain.MTM_ASSERT(obj_work.obj_3des); obj_work.pos.x = AppMain.FX_F32_TO_FX32(w_mtx.M03); obj_work.pos.y = -AppMain.FX_F32_TO_FX32(w_mtx.M13); obj_work.pos.z = AppMain.FX_F32_TO_FX32(w_mtx.M23); obj_work.obj_3des.flag |= 32U; AkMath.NormalizeMtx(nns_MATRIX, w_mtx); GlobalPool <NNS_MATRIX> .Release(nns_MATRIX); }
// Token: 0x0600103D RID: 4157 RVA: 0x0008D5A0 File Offset: 0x0008B7A0 public static void gmEneMoguWalkMain(OBS_OBJECT_WORK obj_work) { GMS_PLAYER_WORK gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)]; AppMain.GMS_ENE_MOGU_WORK gms_ENE_MOGU_WORK = (AppMain.GMS_ENE_MOGU_WORK)obj_work; AppMain.gmEneMoguCheckWater(gms_ENE_MOGU_WORK, 0); int num = gms_PLAYER_WORK.obj_work.pos.x - obj_work.pos.x; int num2 = gms_PLAYER_WORK.obj_work.pos.y - obj_work.pos.y; int num3 = AppMain.FX_Mul(num, num) + AppMain.FX_Mul(num2, num2); AppMain.GMS_ENEMY_COM_WORK gms_ENEMY_COM_WORK = (AppMain.GMS_ENEMY_COM_WORK)obj_work; if ((gms_ENEMY_COM_WORK.eve_rec.flag & 2) != 0) { num3 = AppMain.FX_F32_TO_FX32(6400f) + 1; gms_ENE_MOGU_WORK.wait_time = 216000; } if (num3 <= AppMain.FX_F32_TO_FX32(6400f)) { gms_ENE_MOGU_WORK.wait_time = 0; if ((obj_work.disp_flag & 1U) != 0U) { if (AppMain.GmEneComTargetIsLeft(obj_work, gms_PLAYER_WORK.obj_work) == 0) { AppMain.gmEneMoguFlipInit(obj_work); } } else if (AppMain.GmEneComTargetIsLeft(obj_work, gms_PLAYER_WORK.obj_work) != 0) { AppMain.gmEneMoguFlipInit(obj_work); } if ((obj_work.move_flag & 4U) != 0U) { AppMain.gmEneMoguJumpInit(obj_work); } return; } if (gms_ENE_MOGU_WORK.wait_time > 0) { gms_ENE_MOGU_WORK.wait_time--; if ((obj_work.move_flag & 4U) != 0U) { AppMain.gmEneMoguJumpInit(obj_work); } return; } if (AkMath.RandFx() > AppMain.FX_F32_TO_FX32(0.5f)) { AppMain.gmEneMoguFlipInit(obj_work); } gms_ENE_MOGU_WORK.wait_time = 216000; }
// Token: 0x06000956 RID: 2390 RVA: 0x000543C0 File Offset: 0x000525C0 private static void gmEneKamaHandAttackMain(OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENE_KAMA_WORK gms_ENE_KAMA_WORK = (AppMain.GMS_ENE_KAMA_WORK)obj_work; gms_ENE_KAMA_WORK.rot_z += gms_ENE_KAMA_WORK.rot_z_add; NNS_MATRIX nns_MATRIX = AppMain.gmEneKamaHandAttackMain_rmat; NNS_MATRIX nns_MATRIX2 = AppMain.gmEneKamaHandAttackMain_tmat; NNS_MATRIX nns_MATRIX3 = AppMain.gmEneKamaHandAttackMain_mat; AppMain.nnMakeRotateZMatrix(nns_MATRIX, gms_ENE_KAMA_WORK.rot_z); if ((obj_work.disp_flag & 2U) != 0U) { AppMain.nnMakeTranslateMatrix(nns_MATRIX2, 10f, 10f, 0f); } else { AppMain.nnMakeTranslateMatrix(nns_MATRIX2, 10f, -10f, 0f); } AppMain.nnMultiplyMatrix(nns_MATRIX3, nns_MATRIX, nns_MATRIX2); obj_work.ofst.x = AppMain.FX_F32_TO_FX32(nns_MATRIX3.M03); obj_work.ofst.y = AppMain.FX_F32_TO_FX32(nns_MATRIX3.M13); obj_work.dir.z = ( ushort )gms_ENE_KAMA_WORK.rot_z; if (gms_ENE_KAMA_WORK.timer > 0) { AppMain.VecFx32 vecFx = AppMain.gmEneKamaGetPlayerVectorFx(obj_work); int num = (int)((float)obj_work.spd.x / 1.75f); int num2 = (int)((float)obj_work.spd.y / 1.75f); int num3 = AppMain.FX_Mul(vecFx.x, num2) - AppMain.FX_Mul(vecFx.y, num); if (num3 < 0) { num = AppMain.FX_Mul(AppMain.FX_Cos(( int )(( short )AkMath.DEGtoA32(1f))), num) - AppMain.FX_Mul(AppMain.FX_Sin(( int )(( short )AkMath.DEGtoA32(1f))), num2); num2 = AppMain.FX_Mul(AppMain.FX_Sin(( int )(( short )AkMath.DEGtoA32(1f))), num) + AppMain.FX_Mul(AppMain.FX_Cos(( int )(( short )AkMath.DEGtoA32(1f))), num2); } else { num = AppMain.FX_Mul(AppMain.FX_Cos(( int )(( short )AkMath.DEGtoA32(-1f))), num) - AppMain.FX_Mul(AppMain.FX_Sin(( int )(( short )AkMath.DEGtoA32(-1f))), num2); num2 = AppMain.FX_Mul(AppMain.FX_Sin(( int )(( short )AkMath.DEGtoA32(-1f))), num) + AppMain.FX_Mul(AppMain.FX_Cos(( int )(( short )AkMath.DEGtoA32(-1f))), num2); } obj_work.spd.x = ( int )(( float )num * 1.75f); obj_work.spd.y = ( int )(( float )num2 * 1.75f); gms_ENE_KAMA_WORK.timer--; return; } obj_work.spd.x = 0; obj_work.spd_fall = AppMain.FX_F32_TO_FX32(0.2f); obj_work.move_flag |= 128U; AppMain.GMS_ENE_KAMA_WORK gms_ENE_KAMA_WORK2 = (AppMain.GMS_ENE_KAMA_WORK)obj_work.parent_obj; if (gms_ENE_KAMA_WORK2 != null) { gms_ENE_KAMA_WORK2.ata_futa = 1; } }
// Token: 0x06000DFA RID: 3578 RVA: 0x0007B1A4 File Offset: 0x000793A4 private static void gmEneUnidesAttackMain(OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENE_UNIDES_WORK gms_ENE_UNIDES_WORK = (AppMain.GMS_ENE_UNIDES_WORK)obj_work; if (gms_ENE_UNIDES_WORK.stop == 0) { if ((obj_work.disp_flag & 1U) != 0U) { gms_ENE_UNIDES_WORK.rot_y += AkMath.DEGtoA32(1); } else { gms_ENE_UNIDES_WORK.rot_y += AkMath.DEGtoA32(-1); } } gms_ENE_UNIDES_WORK.attack = 1; if (gms_ENE_UNIDES_WORK.zoom_now == 1) { gms_ENE_UNIDES_WORK.zoom += 0.07f; if (gms_ENE_UNIDES_WORK.zoom > 1.4f) { gms_ENE_UNIDES_WORK.zoom_now = 2; } } else if (gms_ENE_UNIDES_WORK.zoom_now >= 2 && gms_ENE_UNIDES_WORK.zoom_now <= 12) { gms_ENE_UNIDES_WORK.zoom_now++; gms_ENE_UNIDES_WORK.zoom -= 0.07f; } else if (gms_ENE_UNIDES_WORK.zoom_now >= 13 && gms_ENE_UNIDES_WORK.zoom_now <= 23) { gms_ENE_UNIDES_WORK.zoom_now++; gms_ENE_UNIDES_WORK.zoom += 0.07f; } else if (gms_ENE_UNIDES_WORK.zoom > 1f) { gms_ENE_UNIDES_WORK.zoom -= 0.07f; if (gms_ENE_UNIDES_WORK.zoom <= 1f) { gms_ENE_UNIDES_WORK.zoom = 1f; gms_ENE_UNIDES_WORK.stop = 0; gms_ENE_UNIDES_WORK.zoom_now = 0; } } obj_work.scale.x = AppMain.FX_F32_TO_FX32(gms_ENE_UNIDES_WORK.zoom); obj_work.scale.y = AppMain.FX_F32_TO_FX32(gms_ENE_UNIDES_WORK.zoom); obj_work.scale.z = AppMain.FX_F32_TO_FX32(gms_ENE_UNIDES_WORK.zoom); if (gms_ENE_UNIDES_WORK.num == 0 && gms_ENE_UNIDES_WORK.zoom == 1f) { obj_work.ppFunc = AppMain.gmEneUnidesWalkInit; } }
// Token: 0x06000DF3 RID: 3571 RVA: 0x0007AFF4 File Offset: 0x000791F4 private static void gmEneUnidesWaitMain(OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENE_UNIDES_WORK gms_ENE_UNIDES_WORK = (AppMain.GMS_ENE_UNIDES_WORK)obj_work; if (AppMain.gmEneUnidesGetLength2N(obj_work) < 9216) { obj_work.ppFunc = AppMain.gmEneUnidesAttackInit; } if ((obj_work.disp_flag & 1U) != 0U) { gms_ENE_UNIDES_WORK.rot_y += AkMath.DEGtoA32(1); return; } gms_ENE_UNIDES_WORK.rot_y += AkMath.DEGtoA32(-1); }
// Token: 0x060002B1 RID: 689 RVA: 0x000169AC File Offset: 0x00014BAC private static void GmBoss4EffBombUpdateCreate(AppMain.GMS_BOSS4_EFF_BOMB_WORK bomb_work) { AppMain.MTM_ASSERT(bomb_work.parent_obj); bomb_work.pos[0] += AppMain.GmBoss4GetScrollOffset(); if (bomb_work.interval_timer != 0U) { bomb_work.interval_timer -= 1U; return; } int num = bomb_work.area[0]; int num2 = bomb_work.area[1]; int num3 = AppMain.FX_Mul(AkMath.RandFx(), num); int num4 = AppMain.FX_Mul(AkMath.RandFx(), num2); int bomb_type = bomb_work.bomb_type; AppMain.GMS_EFFECT_3DES_WORK gms_EFFECT_3DES_WORK; if (bomb_type != 0) { if (bomb_type != 5) { AppMain.MTM_ASSERT(false); return; } gms_EFFECT_3DES_WORK = AppMain.GmBoss4EffCommonInit(743, default(AppMain.VecFx32? )); gms_EFFECT_3DES_WORK.efct_com.obj_work.ppFunc = null; AppMain.GmEffect3DESSetupBase(gms_EFFECT_3DES_WORK, 2U, 64U); gms_EFFECT_3DES_WORK.efct_com.obj_work.ppFunc = AppMain.gmBoss4EffMainFuncDeleteAtEnd; } else { gms_EFFECT_3DES_WORK = AppMain.GmEfctCmnEsCreate(null, 7); gms_EFFECT_3DES_WORK.efct_com.obj_work.ppFunc = null; AppMain.GmEffect3DESSetupBase(gms_EFFECT_3DES_WORK, 2U, 1U); gms_EFFECT_3DES_WORK.efct_com.obj_work.ppFunc = AppMain.gmBoss4EffMainFuncDeleteAtEnd; if (--bomb_work.interval_timer_sound <= 0) { bomb_work.interval_timer_sound = 3; GmSound.PlaySE("Boss0_02"); } } OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_BS_OBJ(gms_EFFECT_3DES_WORK); AppMain.MTM_ASSERT(obs_OBJECT_WORK); obs_OBJECT_WORK.pos.x = bomb_work.pos[0] - (num >> 1) + num3; obs_OBJECT_WORK.pos.y = bomb_work.pos[1] - (num2 >> 1) + num4; obs_OBJECT_WORK.pos.z = AppMain.GMM_BS_OBJ(bomb_work.parent_obj).pos.z + 131072; uint num5 = (uint)((long)AkMath.RandFx() * (long)((ulong)(bomb_work.interval_max - bomb_work.interval_max)) >> 12); bomb_work.interval_timer = bomb_work.interval_min + num5; }
// Token: 0x06000603 RID: 1539 RVA: 0x00035424 File Offset: 0x00033624 private static void dmStfrlMdlCtrlBodyProcBodyMain(OBS_OBJECT_WORK obj_work) { AppMain.DMS_STFRL_BOSS_BODY_WORK dms_STFRL_BOSS_BODY_WORK = (AppMain.DMS_STFRL_BOSS_BODY_WORK)obj_work; obj_work.pos.x = 0; obj_work.pos.y = -65536; obj_work.pos.z = -81920; obj_work.dir.y = ( ushort )AkMath.DEGtoA16(300); if (dms_STFRL_BOSS_BODY_WORK.timer != 0) { dms_STFRL_BOSS_BODY_WORK.timer--; return; } dms_STFRL_BOSS_BODY_WORK.flag |= 2097152U; }
// Token: 0x060006F3 RID: 1779 RVA: 0x0003DFC8 File Offset: 0x0003C1C8 private static bool GmBoss4UtilUpdateMove(AppMain.GMS_BOSS4_MOVE _work, out AppMain.VecFx32 pos) { AppMain.VecFx32 vecFx = default(AppMain.VecFx32); vecFx.x = _work.end.x - _work.start.x; vecFx.y = _work.end.y - _work.start.y; vecFx.z = _work.end.z - _work.start.z; if (_work.now_count < _work.max_count) { _work.now_count++; } if (_work.now_count >= _work.max_count) { _work.now_count = _work.max_count; _work.pos.x = _work.end.x; _work.pos.y = _work.end.y; _work.pos.z = _work.end.z; pos.x = _work.end.x; pos.y = _work.end.y; pos.z = _work.end.z; return(true); } if (_work.type == 0) { _work.pos.x = ( int )(( float )_work.start.x + ( float )vecFx.x * (( float )_work.now_count / ( float )_work.max_count)); _work.pos.y = ( int )(( float )_work.start.y + ( float )vecFx.y * (( float )_work.now_count / ( float )_work.max_count)); _work.pos.z = ( int )(( float )_work.start.z + ( float )vecFx.z * (( float )_work.now_count / ( float )_work.max_count)); } else if (( double )(( float )_work.now_count / ( float )_work.max_count) <= 0.5) { int num = AppMain.FX_Cos(AkMath.DEGtoA32(180f * ((float)_work.now_count / (float)_work.max_count))); float num2 = 0.5f - (float)num * 0.00024414062f * 0.5f; _work.pos.x = _work.start.x + ( int )(( float )vecFx.x * num2); _work.pos.y = _work.start.y + ( int )(( float )vecFx.y * num2); _work.pos.z = _work.start.z + ( int )(( float )vecFx.z * num2); } else { int num3 = AppMain.FX_Cos(AkMath.DEGtoA32(180f * ((float)_work.now_count / (float)_work.max_count))); float num4 = (float)num3 * 0.00024414062f * 0.5f; _work.pos.x = _work.start.x + ( int )(( float )vecFx.x * (0.5f - num4)); _work.pos.y = _work.start.y + ( int )(( float )vecFx.y * (0.5f - num4)); _work.pos.z = _work.start.z + ( int )(( float )vecFx.z * (0.5f - num4)); } pos.x = _work.pos.x; pos.y = _work.pos.y; pos.z = _work.pos.z; return(false); }
// Token: 0x06000DFD RID: 3581 RVA: 0x0007B3B8 File Offset: 0x000795B8 private static void gmEneUnidesNeedleWaitMain(OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENE_UNIDES_WORK gms_ENE_UNIDES_WORK = (AppMain.GMS_ENE_UNIDES_WORK)obj_work; AppMain.GMS_ENE_UNIDES_WORK gms_ENE_UNIDES_WORK2 = (AppMain.GMS_ENE_UNIDES_WORK)obj_work.parent_obj; NNS_MATRIX nns_MATRIX = GlobalPool <NNS_MATRIX> .Alloc(); NNS_MATRIX nns_MATRIX2 = GlobalPool <NNS_MATRIX> .Alloc(); NNS_MATRIX nns_MATRIX3 = GlobalPool <NNS_MATRIX> .Alloc(); int num = gms_ENE_UNIDES_WORK2.rot_y; int rot_x = gms_ENE_UNIDES_WORK2.rot_x; int rot_z = gms_ENE_UNIDES_WORK2.rot_z; float len = gms_ENE_UNIDES_WORK2.len; num += AkMath.DEGtoA32(360) / 4 * gms_ENE_UNIDES_WORK.num; num %= AkMath.DEGtoA32(360); AppMain.nnMakeRotateXMatrix(nns_MATRIX, rot_x); AppMain.nnRotateZMatrix(nns_MATRIX, nns_MATRIX, rot_z); AppMain.nnRotateYMatrix(nns_MATRIX, nns_MATRIX, num); AppMain.nnMakeTranslateMatrix(nns_MATRIX2, len, 0f, 0f); AppMain.nnMultiplyMatrix(nns_MATRIX3, nns_MATRIX, nns_MATRIX2); SNNS_VECTOR snns_VECTOR; AppMain.nnCopyMatrixTranslationVector(out snns_VECTOR, nns_MATRIX3); obj_work.pos.x = AppMain.FX_F32_TO_FX32(snns_VECTOR.x) + gms_ENE_UNIDES_WORK2.ene_3d_work.ene_com.obj_work.pos.x; obj_work.pos.y = AppMain.FX_F32_TO_FX32(snns_VECTOR.y) + gms_ENE_UNIDES_WORK2.ene_3d_work.ene_com.obj_work.pos.y; obj_work.pos.z = 655360; if (gms_ENE_UNIDES_WORK2.attack != 0 && ( double )snns_VECTOR.y >= ( double )len * 0.98 && gms_ENE_UNIDES_WORK2.stop == 0) { if (gms_ENE_UNIDES_WORK2.attack_first != 0) { obj_work.ppFunc = AppMain.gmEneUnidesNeedleAttackInit; } else { gms_ENE_UNIDES_WORK2.zoom_now = 1; gms_ENE_UNIDES_WORK2.attack_first = 1; gms_ENE_UNIDES_WORK2.stop = 1; } } GlobalPool <NNS_MATRIX> .Release(nns_MATRIX); GlobalPool <NNS_MATRIX> .Release(nns_MATRIX2); GlobalPool <NNS_MATRIX> .Release(nns_MATRIX3); }
// Token: 0x06000704 RID: 1796 RVA: 0x0003E834 File Offset: 0x0003CA34 private static void GmBoss4UtilInitFlicker(OBS_OBJECT_WORK obj_work, AppMain.GMS_BOSS4_FLICKER_WORK flk_work, int times, int start, int spd, int interval, NNS_RGB rgb) { int add_timer = AkMath.DEGtoA32(360f / (float)(spd + 1)); AppMain.MTM_ASSERT(obj_work); AppMain.MTM_ASSERT(obj_work.obj_3d); AppMain.MTM_ASSERT(flk_work); flk_work.is_active = true; flk_work.cycles = ( uint )times; flk_work.interval_timer = ( uint )start; flk_work.cur_angle = 0; flk_work.add_timer = add_timer; flk_work.interval_flk = ( uint )interval; flk_work.color.r = rgb.r; flk_work.color.g = rgb.g; flk_work.color.b = rgb.b; AppMain.GmBsCmnClearObject3DNNFadedColor(obj_work); }
// Token: 0x060006FB RID: 1787 RVA: 0x0003E480 File Offset: 0x0003C680 private static void GmBoss4UtilInitTurn(AppMain.GMS_BOSS4_DIRECTION _work, short dest_angle, int frame, bool is_positive) { AppMain.MTM_ASSERT(frame > 0); int num2; if (is_positive) { ushort num = (ushort)(dest_angle - _work.cur_angle); num2 = ( int )num; } else { ushort num = (ushort)((int)dest_angle - AkMath.DEGtoA32(360) - ((int)_work.cur_angle - AkMath.DEGtoA32(360))); num2 = ( int )num - AkMath.DEGtoA32(360); } int turn_spd = num2 / frame; AppMain.GmBoss4UtilInitTurn(_work, num2, turn_spd); }
// Token: 0x06000501 RID: 1281 RVA: 0x0002B054 File Offset: 0x00029254 private static void gmBoss5LdPartInitSpin(AppMain.GMS_BOSS5_LDPART_WORK ldpart_work) { AppMain.nnMakeUnitQuaternion(ref ldpart_work.cur_rot_quat); AppMain.nnMakeUnitQuaternion(ref ldpart_work.rot_diff_quat); int num = 0; while (( long )num < ( long )(( ulong )AppMain.GMD_BOSS5_LAND_LDPART_SPIN_ROT_AXIS_NUM)) { NNS_VECTOR nns_VECTOR = GlobalPool <NNS_VECTOR> .Alloc(); float num2 = AppMain.FX_FX32_TO_F32(AkMath.RandFx()) * 2f - 1f; num2 = AppMain.MTM_MATH_CLIP(num2, -1f, 1f); short rand_angle = AkMath.DEGtoA16(360f * AppMain.FX_FX32_TO_F32(AkMath.RandFx())); AkMath.GetRandomUnitVector(nns_VECTOR, num2, rand_angle); NNS_QUATERNION nns_QUATERNION; AppMain.nnMakeRotateAxisQuaternion(out nns_QUATERNION, nns_VECTOR.x, nns_VECTOR.y, nns_VECTOR.z, AppMain.GMD_BOSS5_LAND_LDPART_SPIN_ROT_SPD_DEG); AppMain.nnMultiplyQuaternion(ref ldpart_work.rot_diff_quat, ref nns_QUATERNION, ref ldpart_work.rot_diff_quat); num++; } }
// Token: 0x06000544 RID: 1348 RVA: 0x0002CB04 File Offset: 0x0002AD04 private static void gmGmkTarzanRopeUpdatePlayerPos(OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obj_work; OBS_OBJECT_WORK target_obj = gms_ENEMY_3D_WORK.ene_com.target_obj; GMS_PLAYER_WORK gms_PLAYER_WORK = (GMS_PLAYER_WORK)target_obj; NNS_MATRIX nns_MATRIX = new NNS_MATRIX(); AppMain.nnMakeUnitMatrix(nns_MATRIX); nns_MATRIX.M11 = AppMain.g_gm_gmk_tarzan_rope_active_matrix.M11; nns_MATRIX.M22 = AppMain.g_gm_gmk_tarzan_rope_active_matrix.M00; nns_MATRIX.M21 = AppMain.g_gm_gmk_tarzan_rope_active_matrix.M01; nns_MATRIX.M12 = AppMain.g_gm_gmk_tarzan_rope_active_matrix.M10; nns_MATRIX.M03 = -5f; AkMath.NormalizeMtx(gms_PLAYER_WORK.ex_obj_mtx_r, nns_MATRIX); if ((target_obj.disp_flag & 1U) != 0U) { gms_PLAYER_WORK.ex_obj_mtx_r.M21 = -gms_PLAYER_WORK.ex_obj_mtx_r.M21; gms_PLAYER_WORK.ex_obj_mtx_r.M12 = -gms_PLAYER_WORK.ex_obj_mtx_r.M12; nns_MATRIX.M03 = -nns_MATRIX.M03; } int num = (int)((int)(gms_ENEMY_3D_WORK.ene_com.enemy_flag & 65535U) << 12); num += 24576; if (num > 393216) { num = 393216; } gms_ENEMY_3D_WORK.ene_com.enemy_flag &= 4294901760U; gms_ENEMY_3D_WORK.ene_com.enemy_flag |= ( uint )(num >> 12); float num2 = (float)num / 393216f; num2 = -num2 * 20f; num2 += 15f; NNS_VECTOR nns_VECTOR = new NNS_VECTOR(0f, num2, 0f); AppMain.nnTransformVector(nns_VECTOR, nns_MATRIX, nns_VECTOR); target_obj.pos.x = AppMain.FX_F32_TO_FX32(AppMain.g_gm_gmk_tarzan_rope_active_matrix.M03 + nns_VECTOR.z); target_obj.pos.y = -AppMain.FX_F32_TO_FX32(AppMain.g_gm_gmk_tarzan_rope_active_matrix.M13 + nns_VECTOR.y); target_obj.pos.z = AppMain.FX_F32_TO_FX32(AppMain.g_gm_gmk_tarzan_rope_active_matrix.M23 + nns_VECTOR.x); gms_PLAYER_WORK.gmk_flag |= 32768U; }
// Token: 0x060006FE RID: 1790 RVA: 0x0003E648 File Offset: 0x0003C848 private static bool GmBoss4UtilUpdateTurnGently(AppMain.GMS_BOSS4_DIRECTION _work) { bool flag = false; AppMain.MTM_ASSERT(_work.turn_gen_factor > 0); _work.turn_gen_var += _work.turn_gen_factor; if (_work.turn_gen_var >= AkMath.DEGtoA32(180)) { _work.turn_gen_var = AkMath.DEGtoA32(180); flag = true; } float num = (float)_work.turn_amount * 0.5f * (1f - AppMain.nnCos(_work.turn_gen_var)); AppMain.MTM_ASSERT(AppMain.MTM_MATH_ABS(num) <= 2.1474836E+09f); _work.turn_angle = ( int )num; if (flag) { _work.turn_angle = _work.turn_amount; } AppMain.GmBoss4UtilSetDirection(_work, ( short )(( int )_work.orig_angle + _work.turn_angle)); return(flag); }
// Token: 0x06000E6F RID: 3695 RVA: 0x000811A4 File Offset: 0x0007F3A4 public static void gmBoss5TurretUpdateDirFollowingPos(AppMain.GMS_BOSS5_TURRET_WORK trt_work, ref AppMain.VecFx32 targ_pos, float deg) { OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_BS_OBJ(trt_work); int num = (int)(65535L & (long)AppMain.nnArcTan2((double)AppMain.FX_FX32_TO_F32(targ_pos.y - obs_OBJECT_WORK.pos.y), (double)AppMain.FX_FX32_TO_F32(targ_pos.x - obs_OBJECT_WORK.pos.x))); int num2 = (int)(65535L & (long)(num - trt_work.fire_dir_z)); int num3; if (num2 >= AkMath.DEGtoA32(180)) { num2 = -(AkMath.DEGtoA32(360) - num2); num3 = AkMath.DEGtoA32(-deg); } else { num3 = AkMath.DEGtoA32(deg); } if (AppMain.MTM_MATH_ABS(num2) <= AppMain.MTM_MATH_ABS(num3)) { num3 = num2; } trt_work.fire_dir_z = ( int )(( short )(65535L & ( long )(trt_work.fire_dir_z + num3))); }
// Token: 0x06000E7A RID: 3706 RVA: 0x000815F0 File Offset: 0x0007F7F0 public static int gmBoss5TurretUpdateSlideCover(AppMain.GMS_BOSS5_TURRET_WORK trt_work) { AppMain.GMS_BOSS5_BODY_WORK gms_BOSS5_BODY_WORK = (AppMain.GMS_BOSS5_BODY_WORK)AppMain.GMM_BS_OBJ(trt_work).parent_obj; int result; if (trt_work.cvr_slide_type == 0) { if (trt_work.cvr_slide_ratio < 1f) { trt_work.cvr_slide_ratio += AppMain.GMD_BOSS5_TURRET_COVER_SLIDE_OPEN_RATIO_SPD_F; result = 0; } else { trt_work.cvr_slide_ratio = 1f; result = 1; } } else if (trt_work.cvr_slide_ratio > 0f) { trt_work.cvr_slide_ratio -= AppMain.GMD_BOSS5_TURRET_COVER_SLIDE_CLOSE_RATIO_SPD_F; result = 0; } else { trt_work.cvr_slide_ratio = 0f; result = 1; } NNS_MATRIX nns_MATRIX = GlobalPool <NNS_MATRIX> .Alloc(); float num = 1f + trt_work.cvr_slide_ratio * (AppMain.GMD_BOSS5_TURRET_COVER_SLIDE_SCALE_MAX - 1f); AppMain.nnMakeRotateXMatrix(nns_MATRIX, AkMath.DEGtoA32(trt_work.cvr_slide_ratio * AppMain.GMD_BOSS5_TURRET_COVER_SLIDE_DEG_MAX)); AppMain.nnScaleMatrix(nns_MATRIX, nns_MATRIX, num, num, num); AppMain.GmBsCmnSetCNMMtx(gms_BOSS5_BODY_WORK.cnm_mgr_work, nns_MATRIX, gms_BOSS5_BODY_WORK.cover_cnm_reg_id); GlobalPool <NNS_MATRIX> .Release(nns_MATRIX); return(result); }
// Token: 0x060002AF RID: 687 RVA: 0x00016764 File Offset: 0x00014964 private static AppMain.GMS_EFFECT_3DES_WORK GmBoss4EffCommonInit(int id, AppMain.VecFx32?pos, OBS_OBJECT_WORK parent_obj, uint type, uint flag, AppMain.GMS_BOSS4_NODE_MATRIX mtx, int link, AppMain.VecFx32?rot, uint[] ctrl_flag, uint mask) { OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_EFFECT_CREATE_WORK(() => new AppMain.GMS_BOSS4_EFF_COMMON_WORK(), parent_obj, 0, "B04_CapOver"); AppMain.GMS_EFFECT_3DES_WORK gms_EFFECT_3DES_WORK = (AppMain.GMS_EFFECT_3DES_WORK)obs_OBJECT_WORK; AppMain.GMS_BOSS4_EFF_COMMON_WORK gms_BOSS4_EFF_COMMON_WORK = (AppMain.GMS_BOSS4_EFF_COMMON_WORK)obs_OBJECT_WORK; AppMain.ObjObjectAction3dESEffectLoad(AppMain.GMM_BS_OBJ(gms_EFFECT_3DES_WORK), gms_EFFECT_3DES_WORK.obj_3des, AppMain.ObjDataGet(id), null, 0, null); AppMain.ObjObjectAction3dESTextureLoad(AppMain.GMM_BS_OBJ(gms_EFFECT_3DES_WORK), gms_EFFECT_3DES_WORK.obj_3des, AppMain.ObjDataGet(733), null, 0, null, false); AppMain.ObjObjectAction3dESTextureSetByDwork(obs_OBJECT_WORK, AppMain.ObjDataGet(734)); AppMain.GmEffect3DESSetupBase(gms_EFFECT_3DES_WORK, type, flag); if (pos != null) { AppMain.VEC_Set(ref obs_OBJECT_WORK.pos, pos.Value.x, pos.Value.y, pos.Value.z); } obs_OBJECT_WORK.ppFunc = AppMain.gmBoss4EffMainFuncFlagLink; obs_OBJECT_WORK.flag |= 32U; gms_BOSS4_EFF_COMMON_WORK.lookflag = ctrl_flag; gms_BOSS4_EFF_COMMON_WORK.lookmask = mask; if (gms_BOSS4_EFF_COMMON_WORK.lookflag != null) { gms_BOSS4_EFF_COMMON_WORK.lookflag[0] |= gms_BOSS4_EFF_COMMON_WORK.lookmask; } gms_BOSS4_EFF_COMMON_WORK.link = -1; if (link >= 0) { gms_BOSS4_EFF_COMMON_WORK.link = link; gms_BOSS4_EFF_COMMON_WORK.node_work = mtx; if (rot != null) { AppMain.GmEffect3DESSetDispRotation(gms_EFFECT_3DES_WORK, AkMath.DEGtoA16(AppMain.FX_FX32_TO_F32(rot.Value.x)), AkMath.DEGtoA16(AppMain.FX_FX32_TO_F32(rot.Value.y)), AkMath.DEGtoA16(AppMain.FX_FX32_TO_F32(rot.Value.z))); } if (pos != null) { AppMain.GmEffect3DESAddDispOffset(gms_EFFECT_3DES_WORK, AppMain.FX_FX32_TO_F32(pos.Value.x), AppMain.FX_FX32_TO_F32(pos.Value.y), AppMain.FX_FX32_TO_F32(pos.Value.z)); } } return(gms_EFFECT_3DES_WORK); }
// Token: 0x060006FD RID: 1789 RVA: 0x0003E588 File Offset: 0x0003C788 private static void GmBoss4UtilInitTurnGently(AppMain.GMS_BOSS4_DIRECTION _work, short dest_angle, int frame, bool is_positive) { AppMain.MTM_ASSERT(frame > 0); _work.orig_angle = _work.cur_angle; _work.turn_angle = 0; _work.turn_spd = 0; if (is_positive) { ushort num = (ushort)(dest_angle - _work.cur_angle); _work.turn_amount = ( int )num; } else { ushort num = (ushort)((int)dest_angle - AkMath.DEGtoA32(360) - ((int)_work.cur_angle - AkMath.DEGtoA32(360))); _work.turn_amount = ( int )num - AkMath.DEGtoA32(360); } _work.turn_gen_var = 0; float num2 = 180f / (float)frame; AppMain.MTM_ASSERT(AppMain.MTM_MATH_ABS(num2) <= 2.1474836E+09f); _work.turn_gen_factor = AkMath.DEGtoA32(num2); AppMain.GmBoss4UtilSetDirection(_work, ( short )(( int )_work.orig_angle + _work.turn_angle)); }