Beispiel #1
0
 private static void GmPlyEfctCreateSpinDust(AppMain.GMS_PLAYER_WORK ply_work)
 {
     AppMain.GMS_EFFECT_3DES_WORK efct_work = AppMain.GMM_MAIN_GET_ZONE_TYPE() != 2 || ((int)ply_work.player_flag & 67108864) == 0 || (ply_work.obj_work.pos.y >> 12) - 4 < (int)AppMain.g_gm_main_system.water_level ? AppMain.GmEfctCmnEsCreate(ply_work.obj_work, 71) : AppMain.GmEfctZoneEsCreate(ply_work.obj_work, 2, 28);
     efct_work.efct_com.obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmPlyEfctSpinDustMain);
     AppMain.GmComEfctSetDispOffsetF(efct_work, -8f, 16f, 0.0f);
     efct_work.efct_com.obj_work.parent_ofst.z = AppMain.FXM_FLOAT_TO_FX32(16f);
 }
Beispiel #2
0
 private static void gmGmkDrainTankOutMainReady(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_PLAYER_WORK             gmsPlayerWork = AppMain.g_gm_main_system.ply_work[0];
     AppMain.OBS_OBJECT_WORK             objWork       = gmsPlayerWork.obj_work;
     AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK out_work      = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)obj_work;
     if (((int)gmsPlayerWork.player_flag & 1024) != 0)
     {
         AppMain.gmGmkDrainTankOutUpdateDie(obj_work);
         int num = ((int)AppMain.FX_FX32_TO_F32(out_work.base_pos_x) / 64 - 3) * 262144;
         if (objWork.pos.x < num)
         {
             AppMain.g_gm_main_system.game_flag |= 8192U;
         }
         obj_work.spd.x = 0;
         obj_work.spd.y = 0;
     }
     else if (AppMain.gmGmkDrainTankOutCheckDeleteTask(obj_work, 1843200, 1228800))
     {
         AppMain.gmGmkDrainTankOutRequestDeleteTask(obj_work);
     }
     else
     {
         if ((int)AppMain.gmGmkDrainTankGameSystemGetWaterLevel() * 4096 + 196608 >= objWork.pos.y)
         {
             return;
         }
         AppMain.gmGmkDrainTankOutChangeModeWait(obj_work);
         out_work.flag_dir_left = AppMain.gmGmkDrainTankOutCheckDirLeft(obj_work, objWork);
         int x = objWork.spd.x;
         AppMain.GmPlySeqInitDrainTank(gmsPlayerWork);
         out_work.player_offset_x += x * 5;
         AppMain.gmGmkDrainTankOutUpdateCameraOffset(gmsPlayerWork, out_work);
         AppMain.GmCameraAllowSet(10f, 10f, 10f);
     }
 }
 // Token: 0x06001B0A RID: 6922 RVA: 0x000F61E0 File Offset: 0x000F43E0
 private static void gmGmkPulleyDefFunc(AppMain.OBS_RECT_WORK mine_rect, AppMain.OBS_RECT_WORK match_rect)
 {
     AppMain.GMS_ENEMY_COM_WORK gms_ENEMY_COM_WORK = (AppMain.GMS_ENEMY_COM_WORK)mine_rect.parent_obj;
     AppMain.GMS_PLAYER_WORK    gms_PLAYER_WORK    = (AppMain.GMS_PLAYER_WORK)match_rect.parent_obj;
     if (gms_ENEMY_COM_WORK == null)
     {
         return;
     }
     if (gms_PLAYER_WORK == null || gms_PLAYER_WORK.obj_work.obj_type != 1)
     {
         return;
     }
     if (gms_PLAYER_WORK.gmk_obj == (AppMain.OBS_OBJECT_WORK)gms_ENEMY_COM_WORK)
     {
         return;
     }
     AppMain.GmPlySeqInitPulley(gms_PLAYER_WORK, gms_ENEMY_COM_WORK);
     AppMain.ObjDrawObjectActionSet3DNN(gms_ENEMY_COM_WORK.obj_work, 3, 0);
     if ((gms_PLAYER_WORK.obj_work.disp_flag & 1U) != 0U)
     {
         gms_ENEMY_COM_WORK.obj_work.dir.y = 32768;
     }
     else
     {
         gms_ENEMY_COM_WORK.obj_work.dir.y = 0;
     }
     gms_ENEMY_COM_WORK.obj_work.user_flag = ( uint )(( ulong )gms_ENEMY_COM_WORK.obj_work.user_flag & 18446744073709518847UL);
     ((AppMain.OBS_OBJECT_WORK)gms_ENEMY_COM_WORK).ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkPulleyMove);
     AppMain.ObjRectWorkSet(gms_ENEMY_COM_WORK.rect_work[2], -32, 9, 32, 24);
 }
 // Token: 0x06000269 RID: 617 RVA: 0x00013B7C File Offset: 0x00011D7C
 private static void gmGmkStopperLockWait(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_STOPPER_WORK gms_GMK_STOPPER_WORK = (AppMain.GMS_GMK_STOPPER_WORK)obj_work;
     if (gms_GMK_STOPPER_WORK.ply_work != AppMain.g_gm_main_system.ply_work[( int )(( UIntPtr )0)] || gms_GMK_STOPPER_WORK.ply_work.gmk_obj != obj_work || gms_GMK_STOPPER_WORK.ply_work.seq_state != 40)
     {
         AppMain.gmGmkStopperReset(obj_work);
         return;
     }
     AppMain.GMS_PLAYER_WORK ply_work = gms_GMK_STOPPER_WORK.ply_work;
     if (obj_work.pos.x == ply_work.obj_work.pos.x && obj_work.pos.y == ply_work.obj_work.pos.y)
     {
         if (gms_GMK_STOPPER_WORK.call_slot_id >= 0)
         {
             AppMain.GmGmkSlotStartRequest(gms_GMK_STOPPER_WORK.call_slot_id, ply_work);
             obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkStopperStay_Slot);
             AppMain.GmSoundPlaySE("Casino3");
             return;
         }
         obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkStopperStay_Norm);
         if (gms_GMK_STOPPER_WORK.se_handle != null)
         {
             AppMain.GmSoundStopSE(gms_GMK_STOPPER_WORK.se_handle);
             AppMain.GsSoundFreeSeHandle(gms_GMK_STOPPER_WORK.se_handle);
         }
         gms_GMK_STOPPER_WORK.se_handle       = AppMain.GsSoundAllocSeHandle();
         gms_GMK_STOPPER_WORK.se_handle.flag |= 2147483648U;
         AppMain.GmSoundPlaySE("Casino3", gms_GMK_STOPPER_WORK.se_handle);
     }
 }
    // Token: 0x0600101C RID: 4124 RVA: 0x0008C33C File Offset: 0x0008A53C
    public static void gmGmkBubbleMainHit(AppMain.OBS_OBJECT_WORK obj_work)
    {
        obj_work.user_timer++;
        int num = AppMain.GMD_GMK_BUBBLE_FRAME_HIT_DELETE - obj_work.user_timer;

        AppMain.GMS_PLAYER_WORK gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];
        if (num < AppMain.GMD_GMK_BUBBLE_HIT_EFFECT_NUM)
        {
            AppMain.GmPlyEfctCreateBubble(gms_PLAYER_WORK);
        }
        if (num > 0)
        {
            AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK = (AppMain.OBS_OBJECT_WORK)gms_PLAYER_WORK;
            int num2 = obs_OBJECT_WORK.pos.x - obj_work.pos.x;
            int num3 = obs_OBJECT_WORK.pos.y - AppMain.GMD_GMK_BUBBLE_OFFSET_Y * 4096 - obj_work.pos.y;
            if ((obs_OBJECT_WORK.disp_flag & 1U) != 0U)
            {
                num2 -= AppMain.GMD_GMK_BUBBLE_OFFSET_X * 4096;
            }
            else
            {
                num2 += AppMain.GMD_GMK_BUBBLE_OFFSET_X * 4096;
            }
            obj_work.spd.x = num2 / num;
            obj_work.spd.y = num3 / num;
            return;
        }
        obj_work.user_timer = 0;
        obj_work.flag      |= 4U;
    }
 // Token: 0x06001567 RID: 5479 RVA: 0x000B9DF4 File Offset: 0x000B7FF4
 private static void gmGmkForceSpinResetMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_COM_WORK gms_ENEMY_COM_WORK = (AppMain.GMS_ENEMY_COM_WORK)obj_work;
     AppMain.GMS_PLAYER_WORK    gms_PLAYER_WORK    = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];
     if ((gms_PLAYER_WORK.player_flag & 1024U) != 0U || (gms_PLAYER_WORK.obj_work.flag & 2U) != 0U || (AppMain.g_gm_main_system.game_flag & 262656U) != 0U)
     {
         return;
     }
     if (AppMain.gmGmkForceSpinRectChk(obj_work, gms_PLAYER_WORK) && (gms_PLAYER_WORK.seq_state == 51 || gms_PLAYER_WORK.seq_state == 52 || gms_PLAYER_WORK.seq_state == 53))
     {
         if ((gms_PLAYER_WORK.obj_work.move_flag & 1U) != 0U)
         {
             gms_PLAYER_WORK.no_spddown_timer = 0;
             if ((gms_ENEMY_COM_WORK.eve_rec.flag & 1) != 0)
             {
                 AppMain.GmPlySeqChangeSequence(gms_PLAYER_WORK, 10);
                 return;
             }
             AppMain.GmPlySeqInitFw(gms_PLAYER_WORK);
             return;
         }
         else
         {
             AppMain.GmPlySeqGmkInitSpinFall(gms_PLAYER_WORK, gms_PLAYER_WORK.obj_work.spd.x, gms_PLAYER_WORK.obj_work.spd.y);
         }
     }
 }
Beispiel #7
0
    private static void gmGmkTarzanRopeUpdatePlayerPos(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENEMY_3D_WORK gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
        AppMain.OBS_OBJECT_WORK   targetObj      = gmsEnemy3DWork.ene_com.target_obj;
        AppMain.GMS_PLAYER_WORK   gmsPlayerWork  = (AppMain.GMS_PLAYER_WORK)targetObj;
        AppMain.NNS_MATRIX        nnsMatrix      = new AppMain.NNS_MATRIX();
        AppMain.nnMakeUnitMatrix(nnsMatrix);
        nnsMatrix.M11 = AppMain.g_gm_gmk_tarzan_rope_active_matrix.M11;
        nnsMatrix.M22 = AppMain.g_gm_gmk_tarzan_rope_active_matrix.M00;
        nnsMatrix.M21 = AppMain.g_gm_gmk_tarzan_rope_active_matrix.M01;
        nnsMatrix.M12 = AppMain.g_gm_gmk_tarzan_rope_active_matrix.M10;
        nnsMatrix.M03 = -5f;
        AppMain.AkMathNormalizeMtx(gmsPlayerWork.ex_obj_mtx_r, nnsMatrix);
        if (((int)targetObj.disp_flag & 1) != 0)
        {
            gmsPlayerWork.ex_obj_mtx_r.M21 = -gmsPlayerWork.ex_obj_mtx_r.M21;
            gmsPlayerWork.ex_obj_mtx_r.M12 = -gmsPlayerWork.ex_obj_mtx_r.M12;
            nnsMatrix.M03 = -nnsMatrix.M03;
        }
        int num = (((int)gmsEnemy3DWork.ene_com.enemy_flag & (int)ushort.MaxValue) << 12) + 24576;

        if (num > 393216)
        {
            num = 393216;
        }
        gmsEnemy3DWork.ene_com.enemy_flag &= 4294901760U;
        gmsEnemy3DWork.ene_com.enemy_flag |= (uint)(num >> 12);
        AppMain.NNS_VECTOR nnsVector = new AppMain.NNS_VECTOR(0.0f, (float)(-(double)((float)num / 393216f) * 20.0) + 15f, 0.0f);
        AppMain.nnTransformVector(nnsVector, nnsMatrix, nnsVector);
        targetObj.pos.x         = AppMain.FX_F32_TO_FX32(AppMain.g_gm_gmk_tarzan_rope_active_matrix.M03 + nnsVector.z);
        targetObj.pos.y         = -AppMain.FX_F32_TO_FX32(AppMain.g_gm_gmk_tarzan_rope_active_matrix.M13 + nnsVector.y);
        targetObj.pos.z         = AppMain.FX_F32_TO_FX32(AppMain.g_gm_gmk_tarzan_rope_active_matrix.M23 + nnsVector.x);
        gmsPlayerWork.gmk_flag |= 32768U;
    }
    // Token: 0x06000541 RID: 1345 RVA: 0x0002C8EC File Offset: 0x0002AAEC
    private static int gmGmkTarzanRopeApplyKeyRight(AppMain.OBS_OBJECT_WORK obj_work, int angle_target, int angle_current)
    {
        AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
        AppMain.OBS_OBJECT_WORK   target_obj        = gms_ENEMY_3D_WORK.ene_com.target_obj;
        AppMain.GMS_PLAYER_WORK   ply_work          = (AppMain.GMS_PLAYER_WORK)target_obj;
        int num  = AppMain.MTM_MATH_ABS(angle_target);
        int num2 = AppMain.MTM_MATH_ABS(angle_current);
        int num3 = AppMain.gmGmkTarzanRopeGetGimmickRotZ(ply_work);

        if (num < 1792 && num2 < 1792)
        {
            if (num3 > 0)
            {
                angle_target = AppMain.gmGmkTarzanRopeAddUserWorkTargetAngle(obj_work, 1792);
            }
        }
        else if (angle_target > 0)
        {
            if (num3 > 0)
            {
                angle_target = AppMain.gmGmkTarzanRopeAddUserWorkTargetAngle(obj_work, 132);
            }
            else if (num3 < 0)
            {
                angle_target = AppMain.gmGmkTarzanRopeAddUserWorkTargetAngle(obj_work, -31);
            }
        }
        return(angle_target);
    }
    // Token: 0x06000546 RID: 1350 RVA: 0x0002CDA8 File Offset: 0x0002AFA8
    private static void gmGmkTarzanRopeMainKey(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_PLAYER_WORK   gms_PLAYER_WORK   = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];
        AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
        if ((gms_PLAYER_WORK.player_flag & 1024U) != 0U || gms_PLAYER_WORK.seq_state == 22)
        {
            obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkTarzanRopeMainEnd);
            gms_ENEMY_3D_WORK.ene_com.target_obj = null;
            gms_PLAYER_WORK.gmk_flag            &= 4294934527U;
            return;
        }
        int num           = AppMain.gmGmkTarzanRopeGetUserWorkTargetAngle(obj_work);
        int angle_current = AppMain.gmGmkTarzanRopeGetUserTimerCurrentAngle(obj_work);

        AppMain.gmGmkTarzanRopeUpdateCatchWait(obj_work);
        if (AppMain.gmGmkTarzanRopeCheckPlayerJump(obj_work, num, angle_current))
        {
            return;
        }
        if (num <= 0)
        {
            num = AppMain.gmGmkTarzanRopeApplyKeyLeft(obj_work, num, angle_current);
        }
        if (num >= 0)
        {
            num = AppMain.gmGmkTarzanRopeApplyKeyRight(obj_work, num, angle_current);
        }
        angle_current = AppMain.gmGmkTarzanRopeUpdateAngleCurrent(obj_work, num, angle_current);
        num           = AppMain.gmGmkTarzanRopeUpdateAngleTarget(obj_work, num, angle_current, true);
        AppMain.gmGmkTarzanRopeUpdatePlayerMotion(obj_work, num, angle_current);
        AppMain.gmGmkTarzanRopeCheckStop(obj_work, num, angle_current);
        AppMain.gmGmkTarzanRopeUpdatePlayerPos(obj_work);
    }
Beispiel #10
0
 private static void gmPlyEfctSuperAuraMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_PLAYER_WORK parentObj = (AppMain.GMS_PLAYER_WORK)obj_work.parent_obj;
     if (parentObj == null || ((int)parentObj.player_flag & 16384) == 0 || (((int)parentObj.player_flag & 1024) != 0 || parentObj.act_state == 84))
     {
         AppMain.ObjDrawKillAction3DES(obj_work);
         obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.GmEffectDefaultMainFuncDeleteAtEndCopyDirZ);
         AppMain.GmEffectDefaultMainFuncDeleteAtEndCopyDirZ(obj_work);
     }
     else
     {
         if (((int)parentObj.gmk_flag2 & 128) != 0)
         {
             obj_work.disp_flag |= 32U;
         }
         else
         {
             obj_work.disp_flag &= 4294967263U;
         }
         if (((int)parentObj.player_flag & 262144) != 0)
         {
             obj_work.pos.x = AppMain.FXM_FLOAT_TO_FX32(parentObj.truck_mtx_ply_mtn_pos.M03);
             obj_work.pos.y = AppMain.FXM_FLOAT_TO_FX32(-parentObj.truck_mtx_ply_mtn_pos.M13);
             obj_work.pos.z = AppMain.FXM_FLOAT_TO_FX32(parentObj.truck_mtx_ply_mtn_pos.M23);
         }
         AppMain.GmEffectDefaultMainFuncDeleteAtEndCopyDirZ(obj_work);
         if (!AppMain.GMM_MAIN_STAGE_IS_ENDING())
         {
             return;
         }
         obj_work.scale.Assign(parentObj.obj_work.scale);
     }
 }
    // Token: 0x0600053E RID: 1342 RVA: 0x0002C680 File Offset: 0x0002A880
    private static void gmGmkTarzanRopeChangeDirMotion(AppMain.OBS_OBJECT_WORK obj_work, int angle_current)
    {
        AppMain.GMS_PLAYER_WORK      gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];
        AppMain.OBS_OBJECT_WORK      obj_work2       = gms_PLAYER_WORK.obj_work;
        AppMain.OBS_ACTION3D_NN_WORK obj_3d          = obj_work2.obj_3d;
        float num  = AppMain.amMotionGetStartFrame(obj_3d.motion, obj_3d.act_id[0]);
        float num2 = 34f;

        if ((obj_work2.disp_flag & 1U) != 0U)
        {
            if (angle_current < 0)
            {
                obj_3d.frame[0] = num;
            }
            else if (angle_current > 0)
            {
                obj_3d.frame[0] = num2;
            }
        }
        else if (angle_current < 0)
        {
            obj_3d.frame[0] = num2;
        }
        else if (angle_current > 0)
        {
            obj_3d.frame[0] = num;
        }
        obj_work2.disp_flag &= 4294967279U;
    }
Beispiel #12
0
    private static void gmPlyEfctSpinDashBlurMain(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_EFFECT_3DES_WORK gmsEffect3DesWork = (AppMain.GMS_EFFECT_3DES_WORK)obj_work;
        AppMain.GMS_PLAYER_WORK      parentObj         = (AppMain.GMS_PLAYER_WORK)obj_work.parent_obj;
        if (AppMain.GSM_MAIN_STAGE_IS_SPSTAGE_NOT_RETRY())
        {
            obj_work.ofst.Assign(parentObj.obj_work.ofst);
        }
        obj_work.obj_3des.speed = parentObj.obj_work.obj_3d.speed[0];
        if (parentObj.seq_state != 10 && parentObj.seq_state != 34 && (parentObj.seq_state != 37 && parentObj.seq_state != 44) && (parentObj.seq_state != 51 && parentObj.seq_state != 52 && (parentObj.seq_state != 53 && parentObj.seq_state != 48)) && (parentObj.seq_state != 57 && !AppMain.GSM_MAIN_STAGE_IS_SPSTAGE_NOT_RETRY()))
        {
            obj_work.flag  |= 8U;
            obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.GmEffectDefaultMainFuncDeleteAtEndCopyDirZ);
        }
        AppMain.GmEffectDefaultMainFuncDeleteAtEndCopyDirZ(obj_work);
        if (((int)obj_work.flag & 12) != 0 || gmsEffect3DesWork.efct_com.obj_work.user_timer != 83 && gmsEffect3DesWork.efct_com.obj_work.user_timer != 81 || ((int)parentObj.player_flag & 16384) != 0)
        {
            return;
        }
        obj_work.flag |= 8U;
        AppMain.GMS_EFFECT_3DES_WORK spinDashBlur = (AppMain.GMS_EFFECT_3DES_WORK)AppMain.GmPlyEfctCreateSpinDashBlur(parentObj, gmsEffect3DesWork.efct_com.obj_work.user_timer == 81 ? 0U : 1U);
        if (spinDashBlur == null)
        {
            return;
        }
        float unitFrame = AppMain.amEffectGetUnitFrame();

        AppMain.amEffectSetUnitTime(parentObj.obj_work.obj_3d.frame[0], 60);
        AppMain.amEffectUpdate(spinDashBlur.obj_3des.ecb);
        AppMain.amEffectSetUnitTime(unitFrame, 60);
        spinDashBlur.obj_3des.speed = parentObj.obj_work.obj_3d.speed[0];
    }
Beispiel #13
0
 private static void GmPlyEfctCreateHomingCursol(AppMain.GMS_PLAYER_WORK ply_work)
 {
     if (ply_work.enemy_obj == null)
     {
         return;
     }
     AppMain.GMS_ENEMY_COM_WORK enemyObj = (AppMain.GMS_ENEMY_COM_WORK)ply_work.enemy_obj;
     if (enemyObj.obj_work.obj_type != (ushort)2 && enemyObj.obj_work.obj_type != (ushort)3)
     {
         return;
     }
     AppMain.GMS_EFFECT_3DES_WORK efct_work = AppMain.GmEfctCmnEsCreate(enemyObj.obj_work, 95);
     efct_work.efct_com.obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmPlyEfctHomingCursolMain);
     AppMain.OBS_RECT_WORK obsRectWork = enemyObj.rect_work[2];
     efct_work.efct_com.obj_work.user_timer = (int)obsRectWork.rect.left + (int)obsRectWork.rect.right >> 1 << 12;
     efct_work.efct_com.obj_work.user_work  = (uint)((int)obsRectWork.rect.top + (int)obsRectWork.rect.bottom >> 1 << 12);
     if (((int)enemyObj.obj_work.disp_flag & 1) != 0)
     {
         efct_work.efct_com.obj_work.user_timer = -efct_work.efct_com.obj_work.user_timer;
     }
     if (((int)enemyObj.obj_work.disp_flag & 2) != 0)
     {
         efct_work.efct_com.obj_work.user_work = (uint)-(int)efct_work.efct_com.obj_work.user_work;
     }
     AppMain.GmComEfctSetDispOffset(efct_work, efct_work.efct_com.obj_work.user_timer, (int)efct_work.efct_com.obj_work.user_work, 524288);
 }
Beispiel #14
0
 private static object GmPlyEfctCreateSpinDashCircleBlur(AppMain.GMS_PLAYER_WORK ply_work)
 {
     if (ply_work.efct_spin_dash_cir_blur != null && ((int)ply_work.efct_spin_dash_cir_blur.flag & 12) == 0)
     {
         return((object)null);
     }
     AppMain.GMS_EFFECT_3DES_WORK efct_work;
     if (((int)ply_work.player_flag & 16384) != 0)
     {
         efct_work = AppMain.GmEfctCmnEsCreate(ply_work.obj_work, 82);
         efct_work.efct_com.obj_work.user_timer = 82;
     }
     else
     {
         efct_work = AppMain.GmEfctCmnEsCreate(ply_work.obj_work, 73);
         efct_work.efct_com.obj_work.user_timer = 73;
     }
     efct_work.efct_com.obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmPlyEfctSpinDashCircleBlurMain);
     if (((int)ply_work.player_flag & 131072) != 0 || AppMain.GSM_MAIN_STAGE_IS_SPSTAGE_NOT_RETRY())
     {
         AppMain.GmComEfctSetDispOffset(efct_work, 0, 0, 0);
     }
     else
     {
         AppMain.GmComEfctSetDispOffset(efct_work, 0, 0, 0);
     }
     efct_work.efct_com.obj_work.obj_3des.speed = ply_work.obj_work.obj_3d.speed[0];
     AppMain.mtTaskChangeTcbDestructor(efct_work.efct_com.obj_work.tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmPlyEfctSpinDashBlurDest));
     ply_work.efct_spin_dash_cir_blur = efct_work.efct_com.obj_work;
     return((object)efct_work);
 }
Beispiel #15
0
 public static void GmEndingPlyKeyCustom(AppMain.GMS_PLAYER_WORK ply_work)
 {
     AppMain.GMS_ENDING_WORK work = AppMain.gmEndingGetWork();
     if (((int)work.flag & 1) != 0)
     {
         ply_work.key_on      = (ushort)0;
         ply_work.key_push    = (ushort)0;
         ply_work.key_release = (ushort)0;
     }
     else
     {
         ply_work.key_on      &= (ushort)160;
         ply_work.key_push    &= (ushort)160;
         ply_work.key_release &= (ushort)160;
     }
     ply_work.key_rot_z = ply_work.key_walk_rot_z = 0;
     if (((int)work.flag & 2) != 0)
     {
         ply_work.key_on   |= (ushort)4;
         ply_work.key_rot_z = ply_work.key_walk_rot_z = -32767;
     }
     else
     {
         if (((int)work.flag & 4) == 0)
         {
             return;
         }
         ply_work.key_on   |= (ushort)8;
         ply_work.key_rot_z = ply_work.key_walk_rot_z = (int)short.MaxValue;
     }
 }
 // Token: 0x06001233 RID: 4659 RVA: 0x0009F0E8 File Offset: 0x0009D2E8
 private static void gmGmkDrainTankOutChangeModeSplash(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK           gms_ENEMY_3D_WORK           = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK gms_GMK_DRAIN_TANK_OUT_WORK = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)gms_ENEMY_3D_WORK;
     AppMain.GMS_PLAYER_WORK             gms_PLAYER_WORK             = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];
     AppMain.OBS_OBJECT_WORK             obj_work2 = gms_PLAYER_WORK.obj_work;
     if (gms_GMK_DRAIN_TANK_OUT_WORK.flag_dir_left)
     {
         obj_work2.spd.x = -65536;
     }
     else
     {
         obj_work2.spd.x = 65536;
     }
     obj_work2.pos.y      = obj_work.pos.y;
     obj_work2.move_flag |= 256U;
     AppMain.GmPlayerBreathingSet(gms_PLAYER_WORK);
     obj_work.move_flag |= 256U;
     AppMain.g_gm_main_system.game_flag |= 8192U;
     AppMain.GmEventMgrLocalEventBirth(305, obj_work.pos.x, obj_work.pos.y + 65536, gms_ENEMY_3D_WORK.ene_com.eve_rec.flag, gms_ENEMY_3D_WORK.ene_com.eve_rec.left, gms_ENEMY_3D_WORK.ene_com.eve_rec.top, gms_ENEMY_3D_WORK.ene_com.eve_rec.width, gms_ENEMY_3D_WORK.ene_com.eve_rec.height, 0);
     AppMain.GmSoundPlaySE("Fluid2");
     AppMain.GMM_PAD_VIB_SMALL();
     AppMain.GmPlayerCameraOffsetSet(gms_PLAYER_WORK, 0, 0);
     AppMain.GmCameraAllowReset();
     obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkDrainTankOutMainSplash);
 }
Beispiel #17
0
    public static void gmGmkBubbleMainHit(AppMain.OBS_OBJECT_WORK obj_work)
    {
        ++obj_work.user_timer;
        int num1 = AppMain.GMD_GMK_BUBBLE_FRAME_HIT_DELETE - obj_work.user_timer;

        AppMain.GMS_PLAYER_WORK ply_work = AppMain.g_gm_main_system.ply_work[0];
        if (num1 < AppMain.GMD_GMK_BUBBLE_HIT_EFFECT_NUM)
        {
            AppMain.GmPlyEfctCreateBubble(ply_work);
        }
        if (num1 > 0)
        {
            AppMain.OBS_OBJECT_WORK obsObjectWork = (AppMain.OBS_OBJECT_WORK)ply_work;
            int num2 = obsObjectWork.pos.x - obj_work.pos.x;
            int num3 = obsObjectWork.pos.y - AppMain.GMD_GMK_BUBBLE_OFFSET_Y * 4096 - obj_work.pos.y;
            int num4 = ((int)obsObjectWork.disp_flag & 1) == 0 ? num2 + AppMain.GMD_GMK_BUBBLE_OFFSET_X * 4096 : num2 - AppMain.GMD_GMK_BUBBLE_OFFSET_X * 4096;
            obj_work.spd.x = num4 / num1;
            obj_work.spd.y = num3 / num1;
        }
        else
        {
            obj_work.user_timer = 0;
            obj_work.flag      |= 4U;
        }
    }
    // Token: 0x06001236 RID: 4662 RVA: 0x0009F37C File Offset: 0x0009D57C
    private static void gmGmkDrainTankOutMainWait(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_PLAYER_WORK gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];
        if ((gms_PLAYER_WORK.player_flag & 1024U) != 0U)
        {
            AppMain.gmGmkDrainTankOutUpdateDie(obj_work);
            obj_work.spd.x = 0;
            obj_work.spd.y = 0;
            return;
        }
        if (AppMain.gmGmkDrainTankOutCheckDeleteTask(obj_work, 1843200, 1228800))
        {
            AppMain.gmGmkDrainTankOutRequestDeleteTask(obj_work);
            return;
        }
        AppMain.OBS_OBJECT_WORK obj_work2 = gms_PLAYER_WORK.obj_work;
        if (gms_PLAYER_WORK.seq_state == 22)
        {
            AppMain.gmGmkDrainTankOutChangeModeDamage(obj_work);
            return;
        }
        if ((obj_work.move_flag & 1U) == 0U)
        {
            AppMain.gmGmkDrainTankOutChangeModeSplash(obj_work);
            return;
        }
        AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK gms_GMK_DRAIN_TANK_OUT_WORK = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)obj_work;
        int num = AppMain.GmPlayerKeyGetGimmickRotZ(gms_PLAYER_WORK);

        if (AppMain.MTM_MATH_ABS(num) > 8192)
        {
            gms_GMK_DRAIN_TANK_OUT_WORK.counter_roll_key++;
        }
        else
        {
            gms_GMK_DRAIN_TANK_OUT_WORK.counter_roll_key = 0;
        }
        if (gms_GMK_DRAIN_TANK_OUT_WORK.counter_roll_key >= 0)
        {
            AppMain.gmGmkDrainTankOutUpdateCameraRoll(gms_GMK_DRAIN_TANK_OUT_WORK, num);
            if (19 == gms_GMK_DRAIN_TANK_OUT_WORK.counter_roll_key % 20 && AppMain.MTM_MATH_ABS(gms_GMK_DRAIN_TANK_OUT_WORK.camera_roll) < AppMain.GMD_GMK_DRAIN_TANK_ROLL_ANGLE_MAX)
            {
                AppMain.GmSoundPlaySE("Fluid1");
            }
        }
        if (AppMain.gmGmkDrainTankOutCheckKeyDir(obj_work, gms_GMK_DRAIN_TANK_OUT_WORK.camera_roll))
        {
            int x = gms_GMK_DRAIN_TANK_OUT_WORK.camera_roll >> 3;
            obj_work.spd.x = x;
            float a = AppMain.FX_FX32_TO_F32(gms_GMK_DRAIN_TANK_OUT_WORK.camera_roll >> 4);
            a = AppMain.MTM_MATH_ABS(a);
            AppMain.GmWaterSurfaceRequestAddWatarLevel(AppMain.MTM_MATH_ABS(a), 0, true);
        }
        AppMain.gmGmkDrainTankOutAdjustPlayerOffsetBuoyancy(gms_GMK_DRAIN_TANK_OUT_WORK);
        AppMain.gmGmkDrainTankOutAdjustPlayerOffsetWave(gms_GMK_DRAIN_TANK_OUT_WORK, obj_work2);
        AppMain.gmGmkDrainTankOutApplyPlayerOffset(obj_work2, gms_GMK_DRAIN_TANK_OUT_WORK);
        AppMain.OBS_CAMERA obs_CAMERA = AppMain.ObjCameraGet(0);
        obs_CAMERA.roll = gms_GMK_DRAIN_TANK_OUT_WORK.camera_roll;
        AppMain.gmGmkDrainTankOutUpdateCameraOffset(gms_PLAYER_WORK, gms_GMK_DRAIN_TANK_OUT_WORK);
    }
Beispiel #19
0
    private static int gmGmkTarzanRopeApplyKeyRight(
        AppMain.OBS_OBJECT_WORK obj_work,
        int angle_target,
        int angle_current)
    {
        AppMain.GMS_PLAYER_WORK targetObj = (AppMain.GMS_PLAYER_WORK)((AppMain.GMS_ENEMY_3D_WORK)obj_work).ene_com.target_obj;
        int num1        = AppMain.MTM_MATH_ABS(angle_target);
        int num2        = AppMain.MTM_MATH_ABS(angle_current);
        int gimmickRotZ = AppMain.gmGmkTarzanRopeGetGimmickRotZ(targetObj);

        if (num1 < 1792 && num2 < 1792)
        {
            if (gimmickRotZ > 0)
            {
                angle_target = AppMain.gmGmkTarzanRopeAddUserWorkTargetAngle(obj_work, 1792);
            }
        }
        else if (angle_target > 0)
        {
            if (gimmickRotZ > 0)
            {
                angle_target = AppMain.gmGmkTarzanRopeAddUserWorkTargetAngle(obj_work, 132);
            }
            else if (gimmickRotZ < 0)
            {
                angle_target = AppMain.gmGmkTarzanRopeAddUserWorkTargetAngle(obj_work, -31);
            }
        }
        return(angle_target);
    }
 // Token: 0x06001238 RID: 4664 RVA: 0x0009F600 File Offset: 0x0009D800
 private static void gmGmkDrainTankOutMainSplash(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_PLAYER_WORK gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];
     if ((gms_PLAYER_WORK.player_flag & 1024U) != 0U)
     {
         AppMain.gmGmkDrainTankOutUpdateDie(obj_work);
         return;
     }
     if (AppMain.gmGmkDrainTankOutCheckDeleteTask(obj_work, 1638400, 1228800))
     {
         AppMain.gmGmkDrainTankOutRequestDeleteTask(obj_work);
         return;
     }
     AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK gms_GMK_DRAIN_TANK_OUT_WORK = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)obj_work;
     AppMain.OBS_OBJECT_WORK             obj_work2 = gms_PLAYER_WORK.obj_work;
     AppMain.GmWaterSurfaceRequestAddWatarLevel(0.001f, 0, true);
     AppMain.OBS_CAMERA obs_CAMERA = AppMain.ObjCameraGet(0);
     obs_CAMERA.roll = gms_GMK_DRAIN_TANK_OUT_WORK.camera_roll;
     if (gms_GMK_DRAIN_TANK_OUT_WORK.base_pos_x < obj_work2.pos.x)
     {
         obj_work2.move_flag |= 128U;
         obj_work2.move_flag &= 4294967039U;
         obj_work2.spd.x      = 65536;
         obj_work2.spd_add.x  = -896;
         AppMain.GmPlayerCameraOffsetSet(gms_PLAYER_WORK, 0, 0);
         AppMain.GmCameraAllowReset();
         AppMain.gmGmkDrainTankOutChangeModeEnd(obj_work);
     }
 }
Beispiel #21
0
 private static void gmGmkTarzanRopeMainKey(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_PLAYER_WORK   gmsPlayerWork  = AppMain.g_gm_main_system.ply_work[0];
     AppMain.GMS_ENEMY_3D_WORK gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     if (((int)gmsPlayerWork.player_flag & 1024) != 0 || gmsPlayerWork.seq_state == 22)
     {
         obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkTarzanRopeMainEnd);
         gmsEnemy3DWork.ene_com.target_obj = (AppMain.OBS_OBJECT_WORK)null;
         gmsPlayerWork.gmk_flag           &= 4294934527U;
     }
     else
     {
         int angle_target1     = AppMain.gmGmkTarzanRopeGetUserWorkTargetAngle(obj_work);
         int timerCurrentAngle = AppMain.gmGmkTarzanRopeGetUserTimerCurrentAngle(obj_work);
         AppMain.gmGmkTarzanRopeUpdateCatchWait(obj_work);
         if (AppMain.gmGmkTarzanRopeCheckPlayerJump(obj_work, angle_target1, timerCurrentAngle))
         {
             return;
         }
         if (angle_target1 <= 0)
         {
             angle_target1 = AppMain.gmGmkTarzanRopeApplyKeyLeft(obj_work, angle_target1, timerCurrentAngle);
         }
         if (angle_target1 >= 0)
         {
             angle_target1 = AppMain.gmGmkTarzanRopeApplyKeyRight(obj_work, angle_target1, timerCurrentAngle);
         }
         int angle_current = AppMain.gmGmkTarzanRopeUpdateAngleCurrent(obj_work, angle_target1, timerCurrentAngle);
         int angle_target2 = AppMain.gmGmkTarzanRopeUpdateAngleTarget(obj_work, angle_target1, angle_current, true);
         AppMain.gmGmkTarzanRopeUpdatePlayerMotion(obj_work, angle_target2, angle_current);
         AppMain.gmGmkTarzanRopeCheckStop(obj_work, angle_target2, angle_current);
         AppMain.gmGmkTarzanRopeUpdatePlayerPos(obj_work);
     }
 }
    // Token: 0x06001243 RID: 4675 RVA: 0x0009FA08 File Offset: 0x0009DC08
    private static void gmGmkDrainTankOutUpdateCameraOffset(AppMain.GMS_PLAYER_WORK player_work, AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK out_work)
    {
        AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK = (AppMain.OBS_OBJECT_WORK)player_work;
        float num = AppMain.FX_FX32_TO_F32(out_work.base_pos_x - 737280 - obs_OBJECT_WORK.pos.x);

        AppMain.GmPlayerCameraOffsetSet(player_work, ( short )num, 0);
    }
    // Token: 0x0600026A RID: 618 RVA: 0x00013CA8 File Offset: 0x00011EA8
    private static void gmGmkStopperHit(AppMain.OBS_RECT_WORK mine_rect, AppMain.OBS_RECT_WORK match_rect)
    {
        AppMain.OBS_OBJECT_WORK      parent_obj           = mine_rect.parent_obj;
        AppMain.GMS_PLAYER_WORK      gms_PLAYER_WORK      = (AppMain.GMS_PLAYER_WORK)match_rect.parent_obj;
        AppMain.GMS_GMK_STOPPER_WORK gms_GMK_STOPPER_WORK = (AppMain.GMS_GMK_STOPPER_WORK)parent_obj;
        int num = 0;

        if (gms_PLAYER_WORK == AppMain.g_gm_main_system.ply_work[( int )(( UIntPtr )0)])
        {
            if (parent_obj.pos.y > gms_PLAYER_WORK.obj_work.pos.y)
            {
                if (gms_PLAYER_WORK.obj_work.spd.y >= 0)
                {
                    num = 1;
                }
            }
            else if (gms_PLAYER_WORK.obj_work.spd.y <= 0)
            {
                num = 1;
            }
            if (num != 0)
            {
                AppMain.GmPlySeqInitStopper(gms_PLAYER_WORK, gms_GMK_STOPPER_WORK.gmk_work.ene_com);
                gms_GMK_STOPPER_WORK.gmk_work.ene_com.col_work.obj_col.obj = null;
                parent_obj.flag |= 2U;
                gms_GMK_STOPPER_WORK.ply_work = gms_PLAYER_WORK;
                parent_obj.user_timer         = (parent_obj.pos.y >> 12) + ( int )gms_GMK_STOPPER_WORK.gmk_work.ene_com.col_work.obj_col.height + ( int )gms_GMK_STOPPER_WORK.gmk_work.ene_com.col_work.obj_col.ofst_y - ( int )gms_PLAYER_WORK.rect_work[0].rect.top;
                parent_obj.ppFunc             = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkStopperLockWait);
                return;
            }
            mine_rect.flag &= 4294573823U;
        }
    }
Beispiel #24
0
    private static void gmGmkSeesaw_PlayerHold(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_SEESAW_WORK gmsGmkSeesawWork = (AppMain.GMS_GMK_SEESAW_WORK)obj_work;
        AppMain.GMS_PLAYER_WORK     plyWork          = gmsGmkSeesawWork.ply_work;
        if (AppMain.control_right != null)
        {
            if (AppMain.control_right.gmk_work.ene_com.obj_work.pos.x >= obj_work.pos.x && plyWork.obj_work.spd.x >= 0 || AppMain.control_right.gmk_work.ene_com.obj_work.pos.x <= obj_work.pos.x && plyWork.obj_work.spd.x <= 0)
            {
                obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkSeesawStay);
                AppMain.gmGmkSeesawStay(obj_work);
                return;
            }
            gmsGmkSeesawWork.player_speed = AppMain.control_right.player_speed;
        }
        else
        {
            gmsGmkSeesawWork.player_speed = plyWork.obj_work.move.x / 2;
        }
        AppMain.GmPlySeqGmkInitSeesaw(plyWork, gmsGmkSeesawWork.gmk_work.ene_com);
        long num = (long)(gmsGmkSeesawWork.hold_x - obj_work.pos.x << 12) / (long)AppMain.mtMathCos((int)gmsGmkSeesawWork.tilt);

        gmsGmkSeesawWork.player_distance = num;
        AppMain.control_right            = gmsGmkSeesawWork;
        obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkSeesaw_PlayerHold_100);
        AppMain.gmGmkSeesaw_PlayerHold_100(obj_work);
    }
Beispiel #25
0
 private static void gmGmkMoveGearMoveMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_GEAR_WORK gmsGmkGearWork = (AppMain.GMS_GMK_GEAR_WORK)obj_work;
     AppMain.GMS_PLAYER_WORK   targetObj      = (AppMain.GMS_PLAYER_WORK)gmsGmkGearWork.gmk_work.ene_com.target_obj;
     if (targetObj == null || targetObj.gmk_obj != obj_work)
     {
         gmsGmkGearWork.gmk_work.ene_com.target_obj = (AppMain.OBS_OBJECT_WORK)null;
         AppMain.gmGmkMoveGearRetWaitInit(obj_work);
     }
     else
     {
         AppMain.gmGmkMoveGearSetSpd(obj_work, -targetObj.obj_work.spd_m);
         if (obj_work.spd_m != 0 && !gmsGmkGearWork.vib_end)
         {
             AppMain.GMM_PAD_VIB_SMALL_TIME(60f);
             gmsGmkGearWork.vib_end = true;
         }
         gmsGmkGearWork.stop_timer = targetObj.obj_work.spd_m != 0 ? 737280 : AppMain.ObjTimeCountDown(gmsGmkGearWork.stop_timer);
         if (gmsGmkGearWork.stop_timer != 0)
         {
             return;
         }
         gmsGmkGearWork.gmk_work.ene_com.enemy_flag |= 1U;
         gmsGmkGearWork.gmk_work.ene_com.target_obj  = (AppMain.OBS_OBJECT_WORK)null;
         AppMain.gmGmkMoveGearRetInit(obj_work);
     }
 }
Beispiel #26
0
    public static AppMain.VecFx32 gmEneTStarGetPlayerVectorFx(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.VecFx32         vecFx32       = new AppMain.VecFx32();
        AppMain.GMS_PLAYER_WORK gmsPlayerWork = AppMain.g_gm_main_system.ply_work[0];
        int num1 = gmsPlayerWork.obj_work.pos.x - obj_work.pos.x;
        int num2 = gmsPlayerWork.obj_work.pos.y - obj_work.pos.y;

        if (((int)gmsPlayerWork.player_flag & 1024) != 0)
        {
            num1 = 2965504;
            num2 = 2965504;
        }
        int denom = AppMain.FX_Sqrt(AppMain.FX_Mul(num1, num1) + AppMain.FX_Mul(num2, num2));

        if (denom == 0)
        {
            vecFx32.x = 0;
            vecFx32.y = 0;
        }
        else
        {
            int v2 = AppMain.FX_Div(4096, denom);
            vecFx32.x = AppMain.FX_Mul(num1, v2);
            vecFx32.y = AppMain.FX_Mul(num2, v2);
        }
        vecFx32.z = 0;
        return(vecFx32);
    }
Beispiel #27
0
 private static void gmGmkDrainTankOutMainSplash(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_PLAYER_WORK ply_work = AppMain.g_gm_main_system.ply_work[0];
     if (((int)ply_work.player_flag & 1024) != 0)
     {
         AppMain.gmGmkDrainTankOutUpdateDie(obj_work);
     }
     else if (AppMain.gmGmkDrainTankOutCheckDeleteTask(obj_work, 1638400, 1228800))
     {
         AppMain.gmGmkDrainTankOutRequestDeleteTask(obj_work);
     }
     else
     {
         AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK drainTankOutWork = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)obj_work;
         AppMain.OBS_OBJECT_WORK             objWork          = ply_work.obj_work;
         AppMain.GmWaterSurfaceRequestAddWatarLevel(1f / 1000f, (ushort)0, true);
         AppMain.ObjCameraGet(0).roll = drainTankOutWork.camera_roll;
         if (drainTankOutWork.base_pos_x >= objWork.pos.x)
         {
             return;
         }
         objWork.move_flag |= 128U;
         objWork.move_flag &= 4294967039U;
         objWork.spd.x      = 65536;
         objWork.spd_add.x  = -896;
         AppMain.GmPlayerCameraOffsetSet(ply_work, (short)0, (short)0);
         AppMain.GmCameraAllowReset();
         AppMain.gmGmkDrainTankOutChangeModeEnd(obj_work);
     }
 }
    // Token: 0x06001038 RID: 4152 RVA: 0x0008D20C File Offset: 0x0008B40C
    public static void gmEneMoguWaitMain(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENE_MOGU_WORK mogu_work       = (AppMain.GMS_ENE_MOGU_WORK)obj_work;
        AppMain.GMS_PLAYER_WORK   gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)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);

        if (num3 <= AppMain.FX_F32_TO_FX32(25600f))
        {
            obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneMoguJumpInit);
            AppMain.GMS_EFFECT_3DES_WORK gms_EFFECT_3DES_WORK;
            if (AppMain.gmEneMoguCheckWater(mogu_work, 48) == 0)
            {
                gms_EFFECT_3DES_WORK = AppMain.GmEfctEneEsCreate(obj_work, 7);
                if (AppMain.g_gs_main_sys_info.stage_id == 9)
                {
                    gms_EFFECT_3DES_WORK.efct_com.obj_work.pos.z = 393216;
                }
            }
            else
            {
                gms_EFFECT_3DES_WORK = AppMain.GmEfctEneEsCreate(obj_work, 8);
            }
            AppMain.GmComEfctSetDispOffsetF(gms_EFFECT_3DES_WORK, 0f, -30f, 0f);
        }
    }
 // Token: 0x06001B0C RID: 6924 RVA: 0x000F6780 File Offset: 0x000F4980
 private static void gmGmkPulleySonicTakeOffSet(AppMain.GMS_PLAYER_WORK ply_work, int spd_x)
 {
     ply_work.obj_work.spd.y = 0;
     ply_work.obj_work.spd.z = 0;
     ply_work.obj_work.dir.z = 0;
     ply_work.obj_work.spd_m = spd_x;
     ply_work.obj_work.spd.y = -12288;
     AppMain.GmPlySeqChangeSequence(ply_work, 17);
     if (spd_x > 0)
     {
         if (ply_work.obj_work.spd.x < 16384)
         {
             ply_work.obj_work.spd.x = 16384;
         }
         else if (ply_work.obj_work.spd.x > 24576)
         {
             ply_work.obj_work.spd.x = 24576;
         }
     }
     else if (ply_work.obj_work.spd.x > -16384)
     {
         ply_work.obj_work.spd.x = -16384;
     }
     else if (ply_work.obj_work.spd.x < -24576)
     {
         ply_work.obj_work.spd.x = -24576;
     }
     ply_work.obj_work.spd.x = ply_work.obj_work.spd.x / 2;
     ply_work.obj_work.spd.y = -12288;
     AppMain.GmPlySeqSetJumpState(ply_work, 0, 7U);
 }
    // Token: 0x060008BA RID: 2234 RVA: 0x0004ED54 File Offset: 0x0004CF54
    private static void gmGmkRockRideRollMain(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.gmGmkRockRideAddUserTimerAngleZ(obj_work, ( short )(obj_work.spd_m >> 4));
        float num = AppMain.FX_FX32_TO_F32(AppMain.FX_Div(AppMain.MTM_MATH_ABS(obj_work.spd_m), 6));

        if (num > 1f)
        {
            num = 1f;
        }
        AppMain.GMS_GMK_ROCK_WORK gms_GMK_ROCK_WORK = (AppMain.GMS_GMK_ROCK_WORK)obj_work;
        if (gms_GMK_ROCK_WORK.se_handle != null)
        {
            gms_GMK_ROCK_WORK.se_handle.au_player.SetAisac("Speed", num);
        }
        if ((obj_work.move_flag & 4U) != 0U || (obj_work.move_flag & 8U) != 0U)
        {
            AppMain.gmGmkRockRideStopInit(obj_work);
        }
        if (gms_GMK_ROCK_WORK.vib_timer % 30 == 0)
        {
            AppMain.GMM_PAD_VIB_SMALL_TIME(10f);
        }
        gms_GMK_ROCK_WORK.vib_timer++;
        AppMain.GMS_PLAYER_WORK gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];
        if (gms_PLAYER_WORK.seq_state != 31)
        {
            obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkRockRideRollMainNoPlayer);
            AppMain.GMM_PAD_VIB_STOP();
            gms_GMK_ROCK_WORK.vib_timer = 0;
            obj_work.pos.z = -262144;
        }
    }