// Token: 0x06001026 RID: 4134 RVA: 0x0008C564 File Offset: 0x0008A764 private static OBS_OBJECT_WORK GmEneUniuniInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type) { OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_ENE_UNIUNI_WORK(), "ENE_UNIUNI"); AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK; AppMain.GMS_ENE_UNIUNI_WORK gms_ENE_UNIUNI_WORK = (AppMain.GMS_ENE_UNIUNI_WORK)obs_OBJECT_WORK; AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_ene_uniuni_obj_3d_list[0], gms_ENEMY_3D_WORK.obj_3d); AppMain.ObjObjectAction3dNNMotionLoad(obs_OBJECT_WORK, 0, true, AppMain.ObjDataGet(695), 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_UNIUNI_WORK.spd_dec = 76; gms_ENE_UNIUNI_WORK.spd_dec_dist = 15360; gms_ENE_UNIUNI_WORK.len = 17.5f; gms_ENE_UNIUNI_WORK.len_target = 35.5f; gms_ENE_UNIUNI_WORK.len_spd = 1f; gms_ENE_UNIUNI_WORK.rot_x = AkMath.DEGtoA32(90f); gms_ENE_UNIUNI_WORK.rot_y = AkMath.DEGtoA32(0f); gms_ENE_UNIUNI_WORK.rot_z = AkMath.DEGtoA32(0f); gms_ENE_UNIUNI_WORK.num = 0; AppMain.gmEneUniuniWalkInit(obs_OBJECT_WORK); for (int i = 0; i < 4; i++) { OBS_OBJECT_WORK obs_OBJECT_WORK2 = AppMain.GmEventMgrLocalEventBirth(310, pos_x, pos_y, 0, 0, 0, 0, 0, 0); obs_OBJECT_WORK2.parent_obj = obs_OBJECT_WORK; AppMain.GMS_ENE_UNIUNI_WORK gms_ENE_UNIUNI_WORK2 = (AppMain.GMS_ENE_UNIUNI_WORK)obs_OBJECT_WORK2; gms_ENE_UNIUNI_WORK2.num = i; gms_ENE_UNIUNI_WORK.num++; } obs_OBJECT_WORK.obj_3d.use_light_flag &= 4294967294U; obs_OBJECT_WORK.obj_3d.use_light_flag |= 64U; return(obs_OBJECT_WORK); }
// 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: 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: 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: 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: 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: 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: 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: 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: 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)); }
// Token: 0x06000720 RID: 1824 RVA: 0x0003F0C0 File Offset: 0x0003D2C0 private static void GmBoss4CapsuleUpdateRol(float spd) { AppMain._cap_rot_y += AkMath.DEGtoA32(spd); AppMain._cap_rot_y %= AkMath.DEGtoA32(360); if (AppMain._cap_rot_z_flag != 0) { AppMain._cap_rot_z += AkMath.DEGtoA32(1f); if (AppMain._cap_rot_z >= AkMath.DEGtoA32(45f)) { AppMain._cap_rot_z_flag = 0; } } else { AppMain._cap_rot_z -= AkMath.DEGtoA32(1f); if (AppMain._cap_rot_z <= AkMath.DEGtoA32(-45f)) { AppMain._cap_rot_z_flag = 1; } } if (AppMain._cap_rot_x_flag != 0) { AppMain._cap_rot_x += AkMath.DEGtoA32(0.5f); if (AppMain._cap_rot_x >= AkMath.DEGtoA32(60f)) { AppMain._cap_rot_x_flag = 0; } } else { AppMain._cap_rot_x -= AkMath.DEGtoA32(0.5f); if (AppMain._cap_rot_x <= AkMath.DEGtoA32(-60f)) { AppMain._cap_rot_x_flag = 1; } } if (AppMain._cap_len_time > 0f) { AppMain._cap_len_time -= 1f; } else if (0f != AppMain._cap_len_flag) { AppMain._cap_len += 2f; if (AppMain._cap_len >= 100f) { AppMain._cap_len_flag = 0f; } } else { AppMain._cap_len -= 2f; if (AppMain._cap_len <= 65f) { AppMain._cap_len_flag = 1f; AppMain._cap_len_time = ( float )AppMain.GMD_BOSS4_CAP_ZOOM_TIME + ( float )AppMain.GMD_BOSS4_CAP_ZOOM_TIME_RAND * (( float )(AppMain.random.Next() % 256) / 256f); } } if (AppMain._cap_inv_flag > 900) { AppMain._cap_inv_flag = 0; } if (AppMain._cap_inv_flag > 0) { AppMain._cap_inv_flag--; return; } AppMain._cap_inv_flag = 0; }
// Token: 0x06000723 RID: 1827 RVA: 0x0003F3C4 File Offset: 0x0003D5C4 private static void gmBoss4CapsuleMain(OBS_OBJECT_WORK obj_work) { AppMain.GMS_BOSS4_BODY_WORK gms_BOSS4_BODY_WORK = (AppMain.GMS_BOSS4_BODY_WORK)obj_work.parent_obj; AppMain.GMS_BOSS4_CAP_WORK gms_BOSS4_CAP_WORK = (AppMain.GMS_BOSS4_CAP_WORK)obj_work; NNS_MATRIX nns_MATRIX = GlobalPool <NNS_MATRIX> .Alloc(); NNS_MATRIX nns_MATRIX2 = GlobalPool <NNS_MATRIX> .Alloc(); NNS_MATRIX nns_MATRIX3 = GlobalPool <NNS_MATRIX> .Alloc(); if (gms_BOSS4_CAP_WORK.wait > 0) { obj_work.pos.z = 131072; AppMain.GmBoss4UtilUpdateFlicker(obj_work, gms_BOSS4_CAP_WORK.flk_work); if (AppMain.GmBoss4UtilUpdate1ShotTimer(gms_BOSS4_CAP_WORK.timer)) { AppMain.VecFx32 pos = obj_work.pos; pos.z = 135168; AppMain.GmBoss4EffCommonInit(735, new AppMain.VecFx32?(pos)); AppMain.T_FUNC(AppMain.gmBoss4CapsuleBomb, obj_work); } } else { AppMain.GmBsCmnUpdateObject3DNNStuckWithNode(obj_work, gms_BOSS4_BODY_WORK.node_work.snm_work, gms_BOSS4_BODY_WORK.node_work.work[2], 0); obj_work.pos.y = obj_work.pos.y + AppMain.FX_F32_TO_FX32(20f); int num = AppMain._cap_rot_y; num += AkMath.DEGtoA32(360) / 6 * gms_BOSS4_CAP_WORK.cap_no; num %= AkMath.DEGtoA32(360); AppMain.nnMakeRotateXMatrix(nns_MATRIX, AppMain._cap_rot_x); AppMain.nnRotateZMatrix(nns_MATRIX, nns_MATRIX, AppMain._cap_rot_z); AppMain.nnRotateYMatrix(nns_MATRIX, nns_MATRIX, num); AppMain.nnMakeTranslateMatrix(nns_MATRIX2, AppMain._cap_len, 0f, 0f); AppMain.nnMultiplyMatrix(nns_MATRIX3, nns_MATRIX, nns_MATRIX2); NNS_VECTOR nns_VECTOR = GlobalPool <NNS_VECTOR> .Alloc(); AppMain.nnCopyMatrixTranslationVector(nns_VECTOR, nns_MATRIX3); obj_work.pos.x = obj_work.pos.x + AppMain.FX_F32_TO_FX32(nns_VECTOR.x); obj_work.pos.y = obj_work.pos.y + AppMain.FX_F32_TO_FX32(nns_VECTOR.y); obj_work.pos.z = obj_work.pos.z + AppMain.FX_F32_TO_FX32(nns_VECTOR.z); GlobalPool <NNS_VECTOR> .Release(nns_VECTOR); } if (AppMain._cap_kill_flag != 0) { AppMain.VecFx32 pos2 = obj_work.pos; pos2.z = 135168; AppMain.GmBoss4EffCommonInit(735, new AppMain.VecFx32?(pos2)); gms_BOSS4_CAP_WORK.wait = 30; AppMain.T_FUNC(AppMain.gmBoss4CapsuleBomb, obj_work); GlobalPool <NNS_MATRIX> .Release(nns_MATRIX3); GlobalPool <NNS_MATRIX> .Release(nns_MATRIX2); GlobalPool <NNS_MATRIX> .Release(nns_MATRIX); return; } AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obj_work; if (AppMain._cap_inv_flag != 0) { if (!AppMain._cap_inv_hit) { gms_ENEMY_3D_WORK.ene_com.rect_work[0].flag |= 2048U; gms_ENEMY_3D_WORK.ene_com.rect_work[0].flag &= 4294967291U; } gms_ENEMY_3D_WORK.ene_com.rect_work[1].flag |= 2048U; } else { gms_ENEMY_3D_WORK.ene_com.rect_work[0].flag &= 4294965247U; gms_ENEMY_3D_WORK.ene_com.rect_work[0].flag |= 4U; gms_ENEMY_3D_WORK.ene_com.rect_work[1].flag &= 4294965247U; } if (AppMain.IS_FLAG(1073741824U, gms_BOSS4_CAP_WORK)) { AppMain._cap_count--; gms_ENEMY_3D_WORK.ene_com.rect_work[0].flag &= 4294967291U; gms_ENEMY_3D_WORK.ene_com.rect_work[1].flag &= 4294967291U; gms_ENEMY_3D_WORK.ene_com.rect_work[2].flag &= 4294967291U; AppMain.RESET_FLAG(1073741824U, gms_BOSS4_CAP_WORK); AppMain.GmBoss4UtilInitFlicker(obj_work, gms_BOSS4_CAP_WORK.flk_work); AppMain.GmBoss4UtilInit1ShotTimer(gms_BOSS4_CAP_WORK.timer, 20U); gms_BOSS4_CAP_WORK.wait = 60; } GlobalPool <NNS_MATRIX> .Release(nns_MATRIX3); GlobalPool <NNS_MATRIX> .Release(nns_MATRIX2); GlobalPool <NNS_MATRIX> .Release(nns_MATRIX); }
// 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: 0x060006F5 RID: 1781 RVA: 0x0003E378 File Offset: 0x0003C578 private static bool GmBoss4UtilIsDirectionPositiveFromCurrent(AppMain.GMS_BOSS4_DIRECTION _work, short target_angle) { int num = (int)(65535L & (long)(_work.cur_angle - target_angle)); return(num >= AkMath.DEGtoA32(180)); }
// Token: 0x06000296 RID: 662 RVA: 0x00015B58 File Offset: 0x00013D58 public static void gmEneHaroWalkMain(OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENE_HARO_WORK gms_ENE_HARO_WORK = (AppMain.GMS_ENE_HARO_WORK)obj_work; if (AppMain.gmEneHaroIsPlayerCenter(gms_ENE_HARO_WORK) == 0) { if (AppMain.gmEneHaroIsPlayerLeft(gms_ENE_HARO_WORK) != 0) { gms_ENE_HARO_WORK.angle_add -= AkMath.DEGtoA32(0.03f); if (gms_ENE_HARO_WORK.angle_add < -AkMath.DEGtoA32(0.35f)) { gms_ENE_HARO_WORK.angle_add = -AkMath.DEGtoA32(0.35f); } gms_ENE_HARO_WORK.angle += gms_ENE_HARO_WORK.angle_add; } else { gms_ENE_HARO_WORK.angle_add += AkMath.DEGtoA32(0.03f); if (gms_ENE_HARO_WORK.angle_add > AkMath.DEGtoA32(0.35f)) { gms_ENE_HARO_WORK.angle_add = AkMath.DEGtoA32(0.35f); } gms_ENE_HARO_WORK.angle += gms_ENE_HARO_WORK.angle_add; } if (gms_ENE_HARO_WORK.angle < -AkMath.DEGtoA32(1.3f)) { gms_ENE_HARO_WORK.angle = -AkMath.DEGtoA32(1.3f); } if (gms_ENE_HARO_WORK.angle > AkMath.DEGtoA32(1.3f)) { gms_ENE_HARO_WORK.angle = AkMath.DEGtoA32(1.3f); } } int v = AppMain.FX_Cos(gms_ENE_HARO_WORK.angle); int num = AppMain.FX_Sin(gms_ENE_HARO_WORK.angle); gms_ENE_HARO_WORK.vec.x = AppMain.FX_Mul(gms_ENE_HARO_WORK.vec.x, v) + AppMain.FX_Mul(gms_ENE_HARO_WORK.vec.y, num); gms_ENE_HARO_WORK.vec.y = AppMain.FX_Mul(gms_ENE_HARO_WORK.vec.x, -num) + AppMain.FX_Mul(gms_ENE_HARO_WORK.vec.y, v); gms_ENE_HARO_WORK.vvv.x = ( int )(( float )gms_ENE_HARO_WORK.vvv.x * 0.96f); gms_ENE_HARO_WORK.vvv.y = ( int )(( float )gms_ENE_HARO_WORK.vvv.x * 0.96f); AppMain.GMS_ENE_HARO_WORK gms_ENE_HARO_WORK2 = gms_ENE_HARO_WORK; gms_ENE_HARO_WORK2.vvv.x = gms_ENE_HARO_WORK2.vvv.x + gms_ENE_HARO_WORK.vec.x; AppMain.GMS_ENE_HARO_WORK gms_ENE_HARO_WORK3 = gms_ENE_HARO_WORK; gms_ENE_HARO_WORK3.vvv.y = gms_ENE_HARO_WORK3.vvv.y + gms_ENE_HARO_WORK.vec.y; gms_ENE_HARO_WORK.spd = AppMain.FX_F32_TO_FX32(1.5f); obj_work.spd.x = AppMain.FX_Mul(gms_ENE_HARO_WORK.vec.x, gms_ENE_HARO_WORK.spd); obj_work.spd.y = AppMain.FX_Mul(gms_ENE_HARO_WORK.vec.y, gms_ENE_HARO_WORK.spd); obj_work.spd.x = obj_work.spd.x + AppMain.FX_Mul(gms_ENE_HARO_WORK.vvv.x, AppMain.FX_F32_TO_FX32(0.025)); obj_work.spd.y = obj_work.spd.y + AppMain.FX_Mul(gms_ENE_HARO_WORK.vvv.y, AppMain.FX_F32_TO_FX32(0.025)); if (gms_ENE_HARO_WORK.timer > 0) { gms_ENE_HARO_WORK.timer--; } else { obj_work.ppFunc = AppMain.gmEneHaroWalkInit; } if (gms_ENE_HARO_WORK.vec.x < 0) { obj_work.disp_flag &= 4294967294U; gms_ENE_HARO_WORK.targetAngle = AkMath.DEGtoA32(250); } else { obj_work.disp_flag &= 4294967294U; gms_ENE_HARO_WORK.targetAngle = AkMath.DEGtoA32(330); } if (( int )obj_work.dir.y > gms_ENE_HARO_WORK.targetAngle) { obj_work.dir.y = ( ushort )(obj_work.dir.y - ( ushort )AkMath.DEGtoA32(5)); } if (( int )obj_work.dir.y < gms_ENE_HARO_WORK.targetAngle) { obj_work.dir.y = ( ushort )(obj_work.dir.y + ( ushort )AkMath.DEGtoA32(5)); } }
// Token: 0x0600102A RID: 4138 RVA: 0x0008CA44 File Offset: 0x0008AC44 private static void gmEneUniuniWalkMain(OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENE_UNIUNI_WORK gms_ENE_UNIUNI_WORK = (AppMain.GMS_ENE_UNIUNI_WORK)obj_work; if ((obj_work.disp_flag & 1U) != 0U) { obj_work.spd.x = -1536; } else { obj_work.spd.x = 1536; } if (gms_ENE_UNIUNI_WORK.len_target == 17.5f) { if ((obj_work.disp_flag & 1U) != 0U) { gms_ENE_UNIUNI_WORK.rot_y += AkMath.DEGtoA32(1); } else { gms_ENE_UNIUNI_WORK.rot_y += AkMath.DEGtoA32(-1); } } else { if ((obj_work.disp_flag & 1U) != 0U) { gms_ENE_UNIUNI_WORK.rot_y += AkMath.DEGtoA32(0.5f); } else { gms_ENE_UNIUNI_WORK.rot_y += AkMath.DEGtoA32(-0.5f); } obj_work.spd.x = 0; } if (gms_ENE_UNIUNI_WORK.len_target > gms_ENE_UNIUNI_WORK.len) { gms_ENE_UNIUNI_WORK.len += gms_ENE_UNIUNI_WORK.len_spd; if (gms_ENE_UNIUNI_WORK.len_target <= gms_ENE_UNIUNI_WORK.len) { gms_ENE_UNIUNI_WORK.len = gms_ENE_UNIUNI_WORK.len_target; } gms_ENE_UNIUNI_WORK.len_spd += 0.03f; } if (gms_ENE_UNIUNI_WORK.len_target < gms_ENE_UNIUNI_WORK.len) { gms_ENE_UNIUNI_WORK.len -= gms_ENE_UNIUNI_WORK.len_spd; if (gms_ENE_UNIUNI_WORK.len_target >= gms_ENE_UNIUNI_WORK.len) { gms_ENE_UNIUNI_WORK.len = gms_ENE_UNIUNI_WORK.len_target; } gms_ENE_UNIUNI_WORK.len_spd -= 0.05f; if (gms_ENE_UNIUNI_WORK.len_spd < 0.1f) { gms_ENE_UNIUNI_WORK.len_spd = 0.1f; } } if (gms_ENE_UNIUNI_WORK.timer > 0) { gms_ENE_UNIUNI_WORK.timer--; return; } if (gms_ENE_UNIUNI_WORK.len_target == 17.5f) { gms_ENE_UNIUNI_WORK.timer = 120; gms_ENE_UNIUNI_WORK.len_spd = 0f; gms_ENE_UNIUNI_WORK.len_target = 35.5f; return; } if (gms_ENE_UNIUNI_WORK.len_target == 35.5f) { gms_ENE_UNIUNI_WORK.timer = 120; gms_ENE_UNIUNI_WORK.len_spd = 1f; gms_ENE_UNIUNI_WORK.len_target = 17.5f; } }