Example #1
0
 // Token: 0x06000508 RID: 1288 RVA: 0x0002B340 File Offset: 0x00029540
 private static void gmBoss5LdPartProcInit(AppMain.GMS_BOSS5_LDPART_WORK ldpart_work)
 {
     AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_BS_OBJ(ldpart_work);
     AppMain.ObjDrawObjectActionSet3DNNMaterial(obs_OBJECT_WORK, 0);
     obs_OBJECT_WORK.disp_flag |= 4U;
     ldpart_work.proc_update    = new AppMain.MPP_VOID_GMS_BOSS5_LDPART_WORK(AppMain.gmBoss5LdPartProcUpdateIdle);
 }
Example #2
0
 // Token: 0x06000502 RID: 1282 RVA: 0x0002B10C File Offset: 0x0002930C
 private static void gmBoss5LdPartUpdateSpin(AppMain.GMS_BOSS5_LDPART_WORK ldpart_work)
 {
     AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_BS_OBJ(ldpart_work);
     AppMain.nnMultiplyQuaternion(ref ldpart_work.cur_rot_quat, ref ldpart_work.rot_diff_quat, ref ldpart_work.cur_rot_quat);
     AppMain.nnMakeQuaternionMatrix(obs_OBJECT_WORK.obj_3d.user_obj_mtx_r, ref ldpart_work.cur_rot_quat);
     obs_OBJECT_WORK.disp_flag |= 16777216U;
 }
Example #3
0
 private static AppMain.GMS_BOSS5_LDPART_WORK gmBoss5LandCreateLdPart(
     AppMain.GMS_BOSS5_LAND_WORK land_work,
     int land_type,
     int part_index)
 {
     AppMain.OBS_OBJECT_WORK       work = AppMain.GMM_EFFECT_CREATE_WORK((AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_BOSS5_LDPART_WORK()), AppMain.GMM_BS_OBJ((object)land_work), (ushort)0, "BOSS5_LAND_PART");
     AppMain.GMS_EFFECT_3DNN_WORK  gmsEffect3DnnWork = (AppMain.GMS_EFFECT_3DNN_WORK)work;
     AppMain.GMS_BOSS5_LDPART_WORK ldpart_work       = (AppMain.GMS_BOSS5_LDPART_WORK)work;
     ldpart_work.part_index = part_index;
     AppMain.ObjObjectCopyAction3dNNModel(work, AppMain.GmBoss5GetObject3dList()[AppMain.gm_boss5_land_mdl_amb_idx_tbl[land_type]], gmsEffect3DnnWork.obj_3d);
     work.obj_3d.drawflag = (uint)((ulong)work.obj_3d.drawflag & ulong.MaxValue);
     AppMain.ObjObjectAction3dNNMaterialMotionLoad(work, 0, AppMain.ObjDataGet(AppMain.gm_boss5_land_mat_mtn_dwork_no_tbl[land_type]), (string)null, AppMain.gm_boss5_land_mat_mtn_data_tbl[land_type], (object)null);
     work.obj_3d.use_light_flag &= 4294967294U;
     work.obj_3d.use_light_flag |= 2U;
     work.flag         |= 1024U;
     work.flag         |= 18U;
     work.disp_flag    |= 4194304U;
     work.move_flag    |= 256U;
     work.move_flag    &= 4294967167U;
     work.parent_ofst.x = AppMain.GMD_BOSS5_LAND_LDPART_WIDTH_FX / 2 + part_index * AppMain.GMD_BOSS5_LAND_LDPART_WIDTH_FX + AppMain.GMD_BOSS5_LAND_LDPART_CENTER_OFST_X_FX;
     work.parent_ofst.y = AppMain.GMD_BOSS5_LAND_LDPART_HEIGHT_FX / 2 + AppMain.GMD_BOSS5_LAND_LDPART_CENTER_OFST_Y_FX;
     work.parent_ofst.z = 0;
     ldpart_work.pivot_parent_ofst[0] = work.parent_ofst.x;
     ldpart_work.pivot_parent_ofst[1] = work.parent_ofst.y;
     work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss5LdPartMain);
     AppMain.gmBoss5LdPartProcInit(ldpart_work);
     return(ldpart_work);
 }
Example #4
0
 // Token: 0x06000500 RID: 1280 RVA: 0x0002AEB0 File Offset: 0x000290B0
 private static AppMain.GMS_BOSS5_LDPART_WORK gmBoss5LandCreateLdPart(AppMain.GMS_BOSS5_LAND_WORK land_work, int land_type, int part_index)
 {
     AppMain.OBS_OBJECT_WORK       parent_obj            = AppMain.GMM_BS_OBJ(land_work);
     AppMain.OBS_OBJECT_WORK       obs_OBJECT_WORK       = AppMain.GMM_EFFECT_CREATE_WORK(() => new AppMain.GMS_BOSS5_LDPART_WORK(), parent_obj, 0, "BOSS5_LAND_PART");
     AppMain.GMS_EFFECT_3DNN_WORK  gms_EFFECT_3DNN_WORK  = (AppMain.GMS_EFFECT_3DNN_WORK)obs_OBJECT_WORK;
     AppMain.GMS_BOSS5_LDPART_WORK gms_BOSS5_LDPART_WORK = (AppMain.GMS_BOSS5_LDPART_WORK)obs_OBJECT_WORK;
     gms_BOSS5_LDPART_WORK.part_index = part_index;
     AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.GmBoss5GetObject3dList()[AppMain.gm_boss5_land_mdl_amb_idx_tbl[land_type]], gms_EFFECT_3DNN_WORK.obj_3d);
     obs_OBJECT_WORK.obj_3d.drawflag = ( uint )(( ulong )obs_OBJECT_WORK.obj_3d.drawflag & ulong.MaxValue);
     AppMain.ObjObjectAction3dNNMaterialMotionLoad(obs_OBJECT_WORK, 0, AppMain.ObjDataGet(AppMain.gm_boss5_land_mat_mtn_dwork_no_tbl[land_type]), null, AppMain.gm_boss5_land_mat_mtn_data_tbl[land_type], null);
     obs_OBJECT_WORK.obj_3d.use_light_flag &= 4294967294U;
     obs_OBJECT_WORK.obj_3d.use_light_flag |= 2U;
     obs_OBJECT_WORK.flag         |= 1024U;
     obs_OBJECT_WORK.flag         |= 18U;
     obs_OBJECT_WORK.disp_flag    |= 4194304U;
     obs_OBJECT_WORK.move_flag    |= 256U;
     obs_OBJECT_WORK.move_flag    &= 4294967167U;
     obs_OBJECT_WORK.parent_ofst.x = AppMain.GMD_BOSS5_LAND_LDPART_WIDTH_FX / 2 + part_index * AppMain.GMD_BOSS5_LAND_LDPART_WIDTH_FX + AppMain.GMD_BOSS5_LAND_LDPART_CENTER_OFST_X_FX;
     obs_OBJECT_WORK.parent_ofst.y = AppMain.GMD_BOSS5_LAND_LDPART_HEIGHT_FX / 2 + AppMain.GMD_BOSS5_LAND_LDPART_CENTER_OFST_Y_FX;
     obs_OBJECT_WORK.parent_ofst.z = 0;
     gms_BOSS5_LDPART_WORK.pivot_parent_ofst[0] = obs_OBJECT_WORK.parent_ofst.x;
     gms_BOSS5_LDPART_WORK.pivot_parent_ofst[1] = obs_OBJECT_WORK.parent_ofst.y;
     obs_OBJECT_WORK.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss5LdPartMain);
     AppMain.gmBoss5LdPartProcInit(gms_BOSS5_LDPART_WORK);
     return(gms_BOSS5_LDPART_WORK);
 }
Example #5
0
 private static void gmBoss5LdPartProcUpdateIdle(AppMain.GMS_BOSS5_LDPART_WORK ldpart_work)
 {
     if (((int)((AppMain.GMS_BOSS5_LAND_WORK)AppMain.GMM_BS_OBJ((object)ldpart_work).parent_obj).flag & (int)AppMain.GMD_BOSS5_LAND_FLAG_SHAKE_ACTIVE) == 0)
     {
         return;
     }
     AppMain.gmBoss5LdPartInitVib(ldpart_work);
     ldpart_work.proc_update = new AppMain.MPP_VOID_GMS_BOSS5_LDPART_WORK(AppMain.gmBoss5LdPartProcUpdateShake);
 }
Example #6
0
 // Token: 0x06000507 RID: 1287 RVA: 0x0002B2E0 File Offset: 0x000294E0
 private static void gmBoss5LdPartMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_BOSS5_LDPART_WORK gms_BOSS5_LDPART_WORK = (AppMain.GMS_BOSS5_LDPART_WORK)obj_work;
     obj_work.parent_ofst.x = gms_BOSS5_LDPART_WORK.pivot_parent_ofst[0] + gms_BOSS5_LDPART_WORK.vib_ofst[0];
     obj_work.parent_ofst.y = gms_BOSS5_LDPART_WORK.pivot_parent_ofst[1] + gms_BOSS5_LDPART_WORK.vib_ofst[1];
     if (gms_BOSS5_LDPART_WORK.proc_update != null)
     {
         gms_BOSS5_LDPART_WORK.proc_update(gms_BOSS5_LDPART_WORK);
     }
 }
Example #7
0
 // Token: 0x06000509 RID: 1289 RVA: 0x0002B37C File Offset: 0x0002957C
 private static void gmBoss5LdPartProcUpdateIdle(AppMain.GMS_BOSS5_LDPART_WORK ldpart_work)
 {
     AppMain.OBS_OBJECT_WORK     obs_OBJECT_WORK     = AppMain.GMM_BS_OBJ(ldpart_work);
     AppMain.GMS_BOSS5_LAND_WORK gms_BOSS5_LAND_WORK = (AppMain.GMS_BOSS5_LAND_WORK)obs_OBJECT_WORK.parent_obj;
     if ((gms_BOSS5_LAND_WORK.flag & AppMain.GMD_BOSS5_LAND_FLAG_SHAKE_ACTIVE) != 0U)
     {
         AppMain.gmBoss5LdPartInitVib(ldpart_work);
         ldpart_work.proc_update = new AppMain.MPP_VOID_GMS_BOSS5_LDPART_WORK(AppMain.gmBoss5LdPartProcUpdateShake);
     }
 }
Example #8
0
 // Token: 0x06000505 RID: 1285 RVA: 0x0002B24C File Offset: 0x0002944C
 private static void gmBoss5LdPartUpdateVib(AppMain.GMS_BOSS5_LDPART_WORK ldpart_work)
 {
     ldpart_work.vib_ofst[0] = AppMain.FX_Mul(AppMain.gm_boss5_land_vib_tbl[ldpart_work.vib_cnt][0], AppMain.GMD_BOSS5_LAND_LDPART_VIB_AMPLITUDE);
     ldpart_work.vib_ofst[1] = AppMain.FX_Mul(AppMain.gm_boss5_land_vib_tbl[ldpart_work.vib_cnt][1], AppMain.GMD_BOSS5_LAND_LDPART_VIB_AMPLITUDE);
     ldpart_work.vib_cnt++;
     if (ldpart_work.vib_cnt >= 40)
     {
         ldpart_work.vib_cnt = 0;
     }
 }
Example #9
0
 private static void gmBoss5LdPartMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_BOSS5_LDPART_WORK wrk = (AppMain.GMS_BOSS5_LDPART_WORK)obj_work;
     obj_work.parent_ofst.x = wrk.pivot_parent_ofst[0] + wrk.vib_ofst[0];
     obj_work.parent_ofst.y = wrk.pivot_parent_ofst[1] + wrk.vib_ofst[1];
     if (wrk.proc_update == null)
     {
         return;
     }
     wrk.proc_update(wrk);
 }
Example #10
0
    private static void gmBoss5LdPartInitFall(AppMain.GMS_BOSS5_LDPART_WORK ldpart_work)
    {
        AppMain.OBS_OBJECT_WORK obsObjectWork = AppMain.GMM_BS_OBJ((object)ldpart_work);
        int ang = AppMain.AKM_DEGtoA32((int)AppMain.mtMathRand() % AppMain.GMD_BOSS5_LAND_LDPART_FALL_XY_DIR_RANGE_DEG + (270 - AppMain.GMD_BOSS5_LAND_LDPART_FALL_XY_DIR_RANGE_DEG / 2));
        int num = AppMain.FX_Mul(AppMain.AkMathRandFx(), AppMain.GMD_BOSS5_LAND_LDPART_FALL_Z_SPD_MAX * 2) - AppMain.GMD_BOSS5_LAND_LDPART_FALL_Z_SPD_MAX;

        obsObjectWork.spd.y      = (int)(4096.0 * (double)AppMain.GMD_BOSS5_LAND_LDPART_FALL_XY_SPD_FL * (double)AppMain.nnSin(ang));
        obsObjectWork.spd.x      = (int)(4096.0 * (double)AppMain.GMD_BOSS5_LAND_LDPART_FALL_XY_SPD_FL * (double)AppMain.nnCos(ang));
        obsObjectWork.spd.z      = num;
        obsObjectWork.flag      &= 4294966271U;
        obsObjectWork.move_flag |= 128U;
    }
Example #11
0
 // Token: 0x0600050B RID: 1291 RVA: 0x0002B42C File Offset: 0x0002962C
 private static void gmBoss5LdPartProcUpdateFall(AppMain.GMS_BOSS5_LDPART_WORK ldpart_work)
 {
     if (ldpart_work.wait_timer != 0U)
     {
         ldpart_work.wait_timer -= 1U;
     }
     else if (ldpart_work.brk_glass_cnt == 0U)
     {
         AppMain.GmBoss5EfctCreateBreakingGlass(AppMain.GMM_BS_OBJ(ldpart_work));
         ldpart_work.brk_glass_cnt += 1U;
     }
     AppMain.gmBoss5LdPartUpdateSpin(ldpart_work);
 }
Example #12
0
    // Token: 0x06000503 RID: 1283 RVA: 0x0002B160 File Offset: 0x00029360
    private static void gmBoss5LdPartInitFall(AppMain.GMS_BOSS5_LDPART_WORK ldpart_work)
    {
        AppMain.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 = AppMain.AKM_DEGtoA32(num + (270 - AppMain.GMD_BOSS5_LAND_LDPART_FALL_XY_DIR_RANGE_DEG / 2));
        int z   = AppMain.FX_Mul(AppMain.AkMathRandFx(), 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;
    }
Example #13
0
 // Token: 0x0600050A RID: 1290 RVA: 0x0002B3C4 File Offset: 0x000295C4
 private static void gmBoss5LdPartProcUpdateShake(AppMain.GMS_BOSS5_LDPART_WORK ldpart_work)
 {
     AppMain.OBS_OBJECT_WORK     obs_OBJECT_WORK     = AppMain.GMM_BS_OBJ(ldpart_work);
     AppMain.GMS_BOSS5_LAND_WORK gms_BOSS5_LAND_WORK = (AppMain.GMS_BOSS5_LAND_WORK)obs_OBJECT_WORK.parent_obj;
     AppMain.gmBoss5LdPartUpdateVib(ldpart_work);
     if ((gms_BOSS5_LAND_WORK.flag & AppMain.GMD_BOSS5_LAND_FLAG_BREAK_ACTIVE) != 0U)
     {
         AppMain.gmBoss5LdPartClearVib(ldpart_work);
         AppMain.gmBoss5LdPartInitSpin(ldpart_work);
         AppMain.gmBoss5LdPartInitFall(ldpart_work);
         ldpart_work.wait_timer  = ( uint )(ldpart_work.part_index & 1);
         ldpart_work.proc_update = new AppMain.MPP_VOID_GMS_BOSS5_LDPART_WORK(AppMain.gmBoss5LdPartProcUpdateFall);
     }
 }
Example #14
0
 private static void gmBoss5LdPartProcUpdateShake(AppMain.GMS_BOSS5_LDPART_WORK ldpart_work)
 {
     AppMain.GMS_BOSS5_LAND_WORK parentObj = (AppMain.GMS_BOSS5_LAND_WORK)AppMain.GMM_BS_OBJ((object)ldpart_work).parent_obj;
     AppMain.gmBoss5LdPartUpdateVib(ldpart_work);
     if (((int)parentObj.flag & (int)AppMain.GMD_BOSS5_LAND_FLAG_BREAK_ACTIVE) == 0)
     {
         return;
     }
     AppMain.gmBoss5LdPartClearVib(ldpart_work);
     AppMain.gmBoss5LdPartInitSpin(ldpart_work);
     AppMain.gmBoss5LdPartInitFall(ldpart_work);
     ldpart_work.wait_timer  = (uint)(ldpart_work.part_index & 1);
     ldpart_work.proc_update = new AppMain.MPP_VOID_GMS_BOSS5_LDPART_WORK(AppMain.gmBoss5LdPartProcUpdateFall);
 }
Example #15
0
 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);
     for (int index = 0; (long)index < (long)AppMain.GMD_BOSS5_LAND_LDPART_SPIN_ROT_AXIS_NUM; ++index)
     {
         AppMain.NNS_VECTOR dst_vec = new AppMain.NNS_VECTOR();
         float rand_z     = AppMain.MTM_MATH_CLIP((float)((double)AppMain.FX_FX32_TO_F32(AppMain.AkMathRandFx()) * 2.0 - 1.0), -1f, 1f);
         short rand_angle = AppMain.AKM_DEGtoA16(360f * AppMain.FX_FX32_TO_F32(AppMain.AkMathRandFx()));
         AppMain.AkMathGetRandomUnitVector(dst_vec, rand_z, rand_angle);
         AppMain.NNS_QUATERNION dst;
         AppMain.nnMakeRotateAxisQuaternion(out dst, dst_vec.x, dst_vec.y, dst_vec.z, AppMain.GMD_BOSS5_LAND_LDPART_SPIN_ROT_SPD_DEG);
         AppMain.nnMultiplyQuaternion(ref ldpart_work.rot_diff_quat, ref dst, ref ldpart_work.rot_diff_quat);
     }
 }
Example #16
0
    // 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))
        {
            AppMain.NNS_VECTOR nns_VECTOR = AppMain.GlobalPool <AppMain.NNS_VECTOR> .Alloc();

            float num2 = AppMain.FX_FX32_TO_F32(AppMain.AkMathRandFx()) * 2f - 1f;
            num2 = AppMain.MTM_MATH_CLIP(num2, -1f, 1f);
            short rand_angle = AppMain.AKM_DEGtoA16(360f * AppMain.FX_FX32_TO_F32(AppMain.AkMathRandFx()));
            AppMain.AkMathGetRandomUnitVector(nns_VECTOR, num2, rand_angle);
            AppMain.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++;
        }
    }
Example #17
0
 // Token: 0x06000506 RID: 1286 RVA: 0x0002B2B8 File Offset: 0x000294B8
 private static void gmBoss5LdPartClearVib(AppMain.GMS_BOSS5_LDPART_WORK ldpart_work)
 {
     ldpart_work.vib_cnt     = 0;
     ldpart_work.vib_ofst[0] = (ldpart_work.vib_ofst[1] = 0);
 }
Example #18
0
 // Token: 0x06000504 RID: 1284 RVA: 0x0002B21C File Offset: 0x0002941C
 private static void gmBoss5LdPartInitVib(AppMain.GMS_BOSS5_LDPART_WORK ldpart_work)
 {
     ldpart_work.vib_cnt     = ( int )(AppMain.mtMathRand() % 40);
     ldpart_work.vib_ofst[0] = (ldpart_work.vib_ofst[1] = 0);
 }