// 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);
    }
Exemplo n.º 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);
     }
 }
Exemplo n.º 3
0
 private static bool gmGmkDrainTankOutCheckKeyDir(
     AppMain.OBS_OBJECT_WORK gimmick_obj_work,
     int camera_roll)
 {
     AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK drainTankOutWork = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)gimmick_obj_work;
     return(camera_roll < 0 && drainTankOutWork.flag_dir_left || camera_roll > 0 && !drainTankOutWork.flag_dir_left);
 }
 // 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);
 }
Exemplo n.º 5
0
    private static void gmGmkDrainTankOutAdjustPlayerOffsetWave(
        AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK out_work,
        AppMain.OBS_OBJECT_WORK player_obj_work)
    {
        int num = out_work.camera_roll >> 2;

        if (((int)player_obj_work.move_flag & 4) != 0)
        {
            if (((int)player_obj_work.disp_flag & 1) != 0)
            {
                out_work.player_offset_x += AppMain.FX_F32_TO_FX32(0.4f);
            }
            else
            {
                out_work.player_offset_x -= AppMain.FX_F32_TO_FX32(0.4f);
            }
        }
        else
        {
            if (out_work.camera_roll < 0)
            {
                player_obj_work.disp_flag |= 1U;
            }
            else if (out_work.camera_roll > 0)
            {
                player_obj_work.disp_flag &= 4294967294U;
            }
            out_work.player_offset_x += num;
        }
    }
Exemplo n.º 6
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);
     }
 }
Exemplo n.º 7
0
 private static void gmGmkDrainTankOutUpdateCameraRoll(
     AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK out_work,
     int rot_z)
 {
     if (rot_z < -8192)
     {
         if (out_work.camera_roll <= -AppMain.GMD_GMK_DRAIN_TANK_ROLL_ANGLE_MAX)
         {
             out_work.camera_roll = -AppMain.GMD_GMK_DRAIN_TANK_ROLL_ANGLE_MAX;
         }
         else
         {
             out_work.camera_roll -= AppMain.GMD_GMK_DRAIN_TANK_ROLL_ANGLE_SPEED;
         }
     }
     else
     {
         if (rot_z <= 8192)
         {
             return;
         }
         if (out_work.camera_roll >= AppMain.GMD_GMK_DRAIN_TANK_ROLL_ANGLE_MAX)
         {
             out_work.camera_roll = AppMain.GMD_GMK_DRAIN_TANK_ROLL_ANGLE_MAX;
         }
         else
         {
             out_work.camera_roll += AppMain.GMD_GMK_DRAIN_TANK_ROLL_ANGLE_SPEED;
         }
     }
 }
 // Token: 0x0600123B RID: 4667 RVA: 0x0009F75C File Offset: 0x0009D95C
 private static void gmGmkDrainTankOutUpdateDie(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK gms_GMK_DRAIN_TANK_OUT_WORK = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)obj_work;
     AppMain.gmGmkDrainTankOutUpdateCameraRollDie(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;
 }
 // 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);
     }
 }
Exemplo n.º 10
0
 private static void gmGmkDrainTankOutMainWait(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_PLAYER_WORK gmsPlayerWork = AppMain.g_gm_main_system.ply_work[0];
     if (((int)gmsPlayerWork.player_flag & 1024) != 0)
     {
         AppMain.gmGmkDrainTankOutUpdateDie(obj_work);
         obj_work.spd.x = 0;
         obj_work.spd.y = 0;
     }
     else if (AppMain.gmGmkDrainTankOutCheckDeleteTask(obj_work, 1843200, 1228800))
     {
         AppMain.gmGmkDrainTankOutRequestDeleteTask(obj_work);
     }
     else
     {
         AppMain.OBS_OBJECT_WORK objWork = gmsPlayerWork.obj_work;
         if (gmsPlayerWork.seq_state == 22)
         {
             AppMain.gmGmkDrainTankOutChangeModeDamage(obj_work);
         }
         else if (((int)obj_work.move_flag & 1) == 0)
         {
             AppMain.gmGmkDrainTankOutChangeModeSplash(obj_work);
         }
         else
         {
             AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK out_work = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)obj_work;
             int gimmickRotZ = AppMain.GmPlayerKeyGetGimmickRotZ(gmsPlayerWork);
             if (AppMain.MTM_MATH_ABS(gimmickRotZ) > 8192)
             {
                 ++out_work.counter_roll_key;
             }
             else
             {
                 out_work.counter_roll_key = 0;
             }
             if (out_work.counter_roll_key >= 0)
             {
                 AppMain.gmGmkDrainTankOutUpdateCameraRoll(out_work, gimmickRotZ);
                 if (19 == out_work.counter_roll_key % 20 && AppMain.MTM_MATH_ABS(out_work.camera_roll) < AppMain.GMD_GMK_DRAIN_TANK_ROLL_ANGLE_MAX)
                 {
                     AppMain.GmSoundPlaySE("Fluid1");
                 }
             }
             if (AppMain.gmGmkDrainTankOutCheckKeyDir(obj_work, out_work.camera_roll))
             {
                 int num = out_work.camera_roll >> 3;
                 obj_work.spd.x = num;
                 AppMain.GmWaterSurfaceRequestAddWatarLevel(AppMain.MTM_MATH_ABS(AppMain.MTM_MATH_ABS(AppMain.FX_FX32_TO_F32(out_work.camera_roll >> 4))), (ushort)0, true);
             }
             AppMain.gmGmkDrainTankOutAdjustPlayerOffsetBuoyancy(out_work);
             AppMain.gmGmkDrainTankOutAdjustPlayerOffsetWave(out_work, objWork);
             AppMain.gmGmkDrainTankOutApplyPlayerOffset(objWork, out_work);
             AppMain.ObjCameraGet(0).roll = out_work.camera_roll;
             AppMain.gmGmkDrainTankOutUpdateCameraOffset(gmsPlayerWork, out_work);
         }
     }
 }
Exemplo n.º 11
0
    private static void gmGmkDrainTankOutUpdateCameraOffset(
        AppMain.GMS_PLAYER_WORK player_work,
        AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK out_work)
    {
        AppMain.OBS_OBJECT_WORK obsObjectWork = (AppMain.OBS_OBJECT_WORK)player_work;
        float f32 = AppMain.FX_FX32_TO_F32(out_work.base_pos_x - 737280 - obsObjectWork.pos.x);

        AppMain.GmPlayerCameraOffsetSet(player_work, (short)f32, (short)0);
    }
Exemplo n.º 12
0
 private static void gmGmkDrainTankOutChangeModeWait(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.OBS_OBJECT_WORK             objWork          = AppMain.g_gm_main_system.ply_work[0].obj_work;
     AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK drainTankOutWork = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)obj_work;
     drainTankOutWork.player_offset_x = objWork.pos.x - drainTankOutWork.base_pos_x;
     drainTankOutWork.player_offset_y = objWork.pos.y - drainTankOutWork.base_pos_y;
     obj_work.spd.x = 0;
     drainTankOutWork.counter_roll_key = 0;
     obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkDrainTankOutMainWait);
 }
Exemplo n.º 13
0
    private static void gmGmkDrainTankOutApplyPlayerOffset(
        AppMain.OBS_OBJECT_WORK player_obj_work,
        AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK out_work)
    {
        int num1 = out_work.base_pos_x + out_work.player_offset_x;
        int num2 = out_work.base_pos_y + out_work.player_offset_y;

        player_obj_work.spd.x = num1 - player_obj_work.pos.x;
        player_obj_work.spd.y = num2 - player_obj_work.pos.y;
    }
    // Token: 0x0600122E RID: 4654 RVA: 0x0009EF78 File Offset: 0x0009D178
    private static bool gmGmkDrainTankOutCheckDeleteTask(AppMain.OBS_OBJECT_WORK obj_work, int cmp_x, int cmp_y)
    {
        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.GMS_GMK_DRAIN_TANK_OUT_WORK gms_GMK_DRAIN_TANK_OUT_WORK = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)obj_work;
        int num  = AppMain.MTM_MATH_ABS(gms_GMK_DRAIN_TANK_OUT_WORK.base_pos_x - obj_work2.pos.x);
        int num2 = AppMain.MTM_MATH_ABS(gms_GMK_DRAIN_TANK_OUT_WORK.base_pos_y - obj_work2.pos.y);

        return(num > cmp_x || num2 > cmp_y);
    }
 // Token: 0x06001231 RID: 4657 RVA: 0x0009F048 File Offset: 0x0009D248
 private static void gmGmkDrainTankOutChangeModeWait(AppMain.OBS_OBJECT_WORK obj_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;
     AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK gms_GMK_DRAIN_TANK_OUT_WORK = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)obj_work;
     gms_GMK_DRAIN_TANK_OUT_WORK.player_offset_x = obj_work2.pos.x - gms_GMK_DRAIN_TANK_OUT_WORK.base_pos_x;
     gms_GMK_DRAIN_TANK_OUT_WORK.player_offset_y = obj_work2.pos.y - gms_GMK_DRAIN_TANK_OUT_WORK.base_pos_y;
     obj_work.spd.x = 0;
     gms_GMK_DRAIN_TANK_OUT_WORK.counter_roll_key = 0;
     obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkDrainTankOutMainWait);
 }
Exemplo n.º 16
0
    private static bool gmGmkDrainTankOutCheckDeleteTask(
        AppMain.OBS_OBJECT_WORK obj_work,
        int cmp_x,
        int cmp_y)
    {
        AppMain.OBS_OBJECT_WORK             objWork          = AppMain.g_gm_main_system.ply_work[0].obj_work;
        AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK drainTankOutWork = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)obj_work;
        int num1 = AppMain.MTM_MATH_ABS(drainTankOutWork.base_pos_x - objWork.pos.x);
        int num2 = AppMain.MTM_MATH_ABS(drainTankOutWork.base_pos_y - objWork.pos.y);

        return(num1 > cmp_x || num2 > cmp_y);
    }
Exemplo n.º 17
0
    // Token: 0x06001237 RID: 4663 RVA: 0x0009F4EC File Offset: 0x0009D6EC
    private static void gmGmkDrainTankOutMainDamage(OBS_OBJECT_WORK obj_work)
    {
        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.GMS_GMK_DRAIN_TANK_OUT_WORK gms_GMK_DRAIN_TANK_OUT_WORK = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)obj_work;
        OBS_OBJECT_WORK obj_work2 = gms_PLAYER_WORK.obj_work;

        AppMain.gmGmkDrainTankOutUpdateCameraRollDamage(gms_GMK_DRAIN_TANK_OUT_WORK);
        int num  = (AppMain.GMD_GMK_DRAIN_TANK_ROLL_ANGLE_MAX - AppMain.MTM_MATH_ABS(gms_GMK_DRAIN_TANK_OUT_WORK.camera_roll)) * 4;
        int num2 = num >> 3;

        if (gms_GMK_DRAIN_TANK_OUT_WORK.flag_dir_left)
        {
            obj_work.spd.x = num2;
        }
        else
        {
            obj_work.spd.x = -num2;
        }
        float num3 = AppMain.FX_FX32_TO_F32(num >> 4);

        AppMain.GmWaterSurfaceRequestAddWatarLevel(-num3, 0, true);
        obj_work.user_timer++;
        if ((obj_work2.move_flag & 1U) != 0U)
        {
            obj_work.user_timer = 0;
            AppMain.gmGmkDrainTankOutChangeModeWait(obj_work);
            AppMain.GmPlySeqInitDrainTank(gms_PLAYER_WORK);
            return;
        }
        OBS_CAMERA obs_CAMERA = ObjCamera.Get(0);

        obs_CAMERA.roll = gms_GMK_DRAIN_TANK_OUT_WORK.camera_roll;
        AppMain.gmGmkDrainTankOutUpdateCameraOffset(gms_PLAYER_WORK, gms_GMK_DRAIN_TANK_OUT_WORK);
        AppMain.gmGmkDrainTankOutSinkRing();
    }
Exemplo n.º 18
0
    private static void gmGmkDrainTankOutAdjustPlayerOffsetBuoyancy(
        AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK out_work)
    {
        int num = (int)AppMain.gmGmkDrainTankGameSystemGetWaterLevel() * 4096 + 131072;

        if (num > out_work.base_pos_y)
        {
            num = out_work.base_pos_y;
        }
        int a = num - (out_work.base_pos_y + out_work.player_offset_y);

        if (AppMain.MTM_MATH_ABS(a) > 2048)
        {
            a = a >= 0 ? 2048 : -2048;
        }
        out_work.player_offset_y += a;
    }
 // Token: 0x06001221 RID: 4641 RVA: 0x0009E778 File Offset: 0x0009C978
 private static AppMain.GMS_ENEMY_3D_WORK gmGmkDrainTankLoadObjNoModel(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, int type)
 {
     AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK;
     if (type == 1)
     {
         AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK gms_GMK_DRAIN_TANK_OUT_WORK = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK(), "GMK_DRAIN_TANK");
         gms_GMK_DRAIN_TANK_OUT_WORK.base_pos_x = pos_x + 262144;
         gms_GMK_DRAIN_TANK_OUT_WORK.base_pos_y = pos_y;
         gms_ENEMY_3D_WORK = gms_GMK_DRAIN_TANK_OUT_WORK.enemy_work;
     }
     else
     {
         gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_ENEMY_3D_WORK(), "GMK_DRAIN_TANK");
     }
     gms_ENEMY_3D_WORK.ene_com.rect_work[0].flag &= 4294967291U;
     gms_ENEMY_3D_WORK.ene_com.rect_work[1].flag &= 4294967291U;
     return(gms_ENEMY_3D_WORK);
 }
Exemplo n.º 20
0
 private static void gmGmkDrainTankOutChangeModeSplash(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK           gmsEnemy3DWork   = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK drainTankOutWork = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)gmsEnemy3DWork;
     AppMain.GMS_PLAYER_WORK             ply_work         = AppMain.g_gm_main_system.ply_work[0];
     AppMain.OBS_OBJECT_WORK             objWork          = ply_work.obj_work;
     objWork.spd.x      = !drainTankOutWork.flag_dir_left ? 65536 : -65536;
     objWork.pos.y      = obj_work.pos.y;
     objWork.move_flag |= 256U;
     AppMain.GmPlayerBreathingSet(ply_work);
     obj_work.move_flag |= 256U;
     AppMain.g_gm_main_system.game_flag |= 8192U;
     AppMain.GmEventMgrLocalEventBirth((ushort)305, obj_work.pos.x, obj_work.pos.y + 65536, gmsEnemy3DWork.ene_com.eve_rec.flag, gmsEnemy3DWork.ene_com.eve_rec.left, gmsEnemy3DWork.ene_com.eve_rec.top, gmsEnemy3DWork.ene_com.eve_rec.width, gmsEnemy3DWork.ene_com.eve_rec.height, (byte)0);
     AppMain.GmSoundPlaySE("Fluid2");
     AppMain.GMM_PAD_VIB_SMALL();
     AppMain.GmPlayerCameraOffsetSet(ply_work, (short)0, (short)0);
     AppMain.GmCameraAllowReset();
     obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkDrainTankOutMainSplash);
 }
Exemplo n.º 21
0
 private static void gmGmkDrainTankDrawFuncOut(AppMain.OBS_OBJECT_WORK obj_work)
 {
     if (((int)obj_work.disp_flag & 32) == 0)
     {
         AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK drainTankOutWork = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)obj_work;
         int num1 = ((-(int)AppMain.FX_FX32_TO_F32(drainTankOutWork.base_pos_y) - 64) / 64 - 1) * 64;
         int num2 = ((int)AppMain.FX_FX32_TO_F32(drainTankOutWork.base_pos_x) - 96) / 64 * 64;
         int num3 = num2 - 152;
         int num4 = num1 + 96;
         int num5 = num2 + 64;
         AppMain.ObjDraw3DNNSetCameraEx(AppMain.g_obj.glb_camera_id, 1, 9U);
         AppMain.GmWaterSurfaceDrawNoWaterField(AppMain.FX_FX32_TO_F32(obj_work.pos.x), -AppMain.FX_FX32_TO_F32(obj_work.pos.y) + (float)AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_HEIGHT, AppMain.FX_FX32_TO_F32(obj_work.pos.x) + (float)AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_WIDTH, -AppMain.FX_FX32_TO_F32(obj_work.pos.y) - (float)AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_HEIGHT);
         AppMain.GmWaterSurfaceDrawNoWaterField((float)num2, -AppMain.FX_FX32_TO_F32(drainTankOutWork.base_pos_y) + (float)AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_HEIGHT, AppMain.FX_FX32_TO_F32(drainTankOutWork.base_pos_x) + (float)AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_WIDTH, (float)num4);
         AppMain.GmWaterSurfaceDrawNoWaterField(AppMain.FX_FX32_TO_F32(drainTankOutWork.base_pos_x) - (float)AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_WIDTH, (float)num1, AppMain.FX_FX32_TO_F32(drainTankOutWork.base_pos_x) + (float)AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_WIDTH, (float)(num1 - AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_HEIGHT));
         AppMain.GmWaterSurfaceDrawNoWaterField((float)(num3 - AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_WIDTH), -AppMain.FX_FX32_TO_F32(drainTankOutWork.base_pos_y) + (float)AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_HEIGHT, (float)num3, (float)num1);
         AppMain.GmWaterSurfaceDrawNoWaterField((float)num5, (float)num4, (float)(num5 + AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_WIDTH), (float)num1);
     }
     AppMain.ObjDraw3DNNSetCameraEx(AppMain.g_obj.glb_camera_id, 1, 8U);
     AppMain.ObjDrawActionSummary(obj_work);
 }
    // Token: 0x06001241 RID: 4673 RVA: 0x0009F984 File Offset: 0x0009DB84
    private static void gmGmkDrainTankOutUpdateCameraRollDamage(AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK out_work)
    {
        int num = AppMain.GMD_GMK_DRAIN_TANK_ROLL_ANGLE_SPEED * 4;

        if (out_work.flag_dir_left)
        {
            out_work.camera_roll += num;
            if (out_work.camera_roll < -AppMain.GMD_GMK_DRAIN_TANK_ROLL_ANGLE_MAX)
            {
                out_work.camera_roll = -AppMain.GMD_GMK_DRAIN_TANK_ROLL_ANGLE_MAX;
                return;
            }
        }
        else
        {
            out_work.camera_roll -= num;
            if (out_work.camera_roll > AppMain.GMD_GMK_DRAIN_TANK_ROLL_ANGLE_MAX)
            {
                out_work.camera_roll = AppMain.GMD_GMK_DRAIN_TANK_ROLL_ANGLE_MAX;
            }
        }
    }
Exemplo n.º 23
0
    // Token: 0x06001235 RID: 4661 RVA: 0x0009F254 File Offset: 0x0009D454
    private static void gmGmkDrainTankOutMainReady(OBS_OBJECT_WORK obj_work)
    {
        GMS_PLAYER_WORK gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];
        OBS_OBJECT_WORK obj_work2       = gms_PLAYER_WORK.obj_work;

        AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK gms_GMK_DRAIN_TANK_OUT_WORK = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)obj_work;
        if ((gms_PLAYER_WORK.player_flag & 1024U) != 0U)
        {
            AppMain.gmGmkDrainTankOutUpdateDie(obj_work);
            int num = (int)AppMain.FX_FX32_TO_F32(gms_GMK_DRAIN_TANK_OUT_WORK.base_pos_x);
            num /= 64;
            num -= 3;
            num *= 262144;
            if (obj_work2.pos.x < num)
            {
                AppMain.g_gm_main_system.game_flag |= 8192U;
            }
            obj_work.spd.x = 0;
            obj_work.spd.y = 0;
            return;
        }
        if (AppMain.gmGmkDrainTankOutCheckDeleteTask(obj_work, 1843200, 1228800))
        {
            AppMain.gmGmkDrainTankOutRequestDeleteTask(obj_work);
            return;
        }
        int num2 = (int)(AppMain.gmGmkDrainTankGameSystemGetWaterLevel() * 4096);

        if (num2 + 196608 < obj_work2.pos.y)
        {
            AppMain.gmGmkDrainTankOutChangeModeWait(obj_work);
            gms_GMK_DRAIN_TANK_OUT_WORK.flag_dir_left = AppMain.gmGmkDrainTankOutCheckDirLeft(obj_work, obj_work2);
            int x = obj_work2.spd.x;
            AppMain.GmPlySeqInitDrainTank(gms_PLAYER_WORK);
            gms_GMK_DRAIN_TANK_OUT_WORK.player_offset_x += x * 5;
            AppMain.gmGmkDrainTankOutUpdateCameraOffset(gms_PLAYER_WORK, gms_GMK_DRAIN_TANK_OUT_WORK);
            GmCamera.AllowSet(10f, 10f, 10f);
        }
    }
Exemplo n.º 24
0
 private static AppMain.GMS_ENEMY_3D_WORK gmGmkDrainTankLoadObjNoModel(
     AppMain.GMS_EVE_RECORD_EVENT eve_rec,
     int pos_x,
     int pos_y,
     int type)
 {
     AppMain.GMS_ENEMY_3D_WORK gmsEnemy3DWork;
     if (type == 1)
     {
         AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK work = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK()), "GMK_DRAIN_TANK");
         work.base_pos_x = pos_x + 262144;
         work.base_pos_y = pos_y;
         gmsEnemy3DWork  = work.enemy_work;
     }
     else
     {
         gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_ENEMY_3D_WORK()), "GMK_DRAIN_TANK");
     }
     gmsEnemy3DWork.ene_com.rect_work[0].flag &= 4294967291U;
     gmsEnemy3DWork.ene_com.rect_work[1].flag &= 4294967291U;
     return(gmsEnemy3DWork);
 }
    // Token: 0x0600123D RID: 4669 RVA: 0x0009F7A8 File Offset: 0x0009D9A8
    private static void gmGmkDrainTankOutAdjustPlayerOffsetBuoyancy(AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK out_work)
    {
        int num = (int)(AppMain.gmGmkDrainTankGameSystemGetWaterLevel() * 4096) + 131072;

        if (num > out_work.base_pos_y)
        {
            num = out_work.base_pos_y;
        }
        int num2 = num - (out_work.base_pos_y + out_work.player_offset_y);

        if (AppMain.MTM_MATH_ABS(num2) > 2048)
        {
            if (num2 < 0)
            {
                num2 = -2048;
            }
            else
            {
                num2 = 2048;
            }
        }
        out_work.player_offset_y += num2;
    }
Exemplo n.º 26
0
 private static void gmGmkDrainTankOutMainDamage(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_PLAYER_WORK gmsPlayerWork = AppMain.g_gm_main_system.ply_work[0];
     if (((int)gmsPlayerWork.player_flag & 1024) != 0)
     {
         AppMain.gmGmkDrainTankOutUpdateDie(obj_work);
         obj_work.spd.x = 0;
         obj_work.spd.y = 0;
     }
     else if (AppMain.gmGmkDrainTankOutCheckDeleteTask(obj_work, 1843200, 1228800))
     {
         AppMain.gmGmkDrainTankOutRequestDeleteTask(obj_work);
     }
     else
     {
         AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK out_work = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)obj_work;
         AppMain.OBS_OBJECT_WORK             objWork  = gmsPlayerWork.obj_work;
         AppMain.gmGmkDrainTankOutUpdateCameraRollDamage(out_work);
         int num1 = (AppMain.GMD_GMK_DRAIN_TANK_ROLL_ANGLE_MAX - AppMain.MTM_MATH_ABS(out_work.camera_roll)) * 4;
         int num2 = num1 >> 3;
         obj_work.spd.x = !out_work.flag_dir_left ? -num2 : num2;
         AppMain.GmWaterSurfaceRequestAddWatarLevel(-AppMain.FX_FX32_TO_F32(num1 >> 4), (ushort)0, true);
         ++obj_work.user_timer;
         if (((int)objWork.move_flag & 1) != 0)
         {
             obj_work.user_timer = 0;
             AppMain.gmGmkDrainTankOutChangeModeWait(obj_work);
             AppMain.GmPlySeqInitDrainTank(gmsPlayerWork);
         }
         else
         {
             AppMain.ObjCameraGet(0).roll = out_work.camera_roll;
             AppMain.gmGmkDrainTankOutUpdateCameraOffset(gmsPlayerWork, out_work);
             AppMain.gmGmkDrainTankOutSinkRing();
         }
     }
 }
Exemplo n.º 27
0
 // Token: 0x06001228 RID: 4648 RVA: 0x0009EC5C File Offset: 0x0009CE5C
 private static void gmGmkDrainTankDrawFuncOut(OBS_OBJECT_WORK obj_work)
 {
     if ((obj_work.disp_flag & 32U) == 0U)
     {
         AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK gms_GMK_DRAIN_TANK_OUT_WORK = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)obj_work;
         int num = -(int)AppMain.FX_FX32_TO_F32(gms_GMK_DRAIN_TANK_OUT_WORK.base_pos_y) - 64;
         num /= 64;
         num  = (num - 1) * 64;
         int num2 = (int)AppMain.FX_FX32_TO_F32(gms_GMK_DRAIN_TANK_OUT_WORK.base_pos_x) - 96;
         num2 /= 64;
         num2 *= 64;
         int num3 = num2 - 152;
         int num4 = num + 96;
         int num5 = num2 + 64;
         AppMain.ObjDraw3DNNSetCameraEx(AppMain.g_obj.glb_camera_id, 1, 9U);
         AppMain.GmWaterSurfaceDrawNoWaterField(AppMain.FX_FX32_TO_F32(obj_work.pos.x), -AppMain.FX_FX32_TO_F32(obj_work.pos.y) + ( float )AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_HEIGHT, AppMain.FX_FX32_TO_F32(obj_work.pos.x) + ( float )AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_WIDTH, -AppMain.FX_FX32_TO_F32(obj_work.pos.y) - ( float )AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_HEIGHT);
         AppMain.GmWaterSurfaceDrawNoWaterField(( float )num2, -AppMain.FX_FX32_TO_F32(gms_GMK_DRAIN_TANK_OUT_WORK.base_pos_y) + ( float )AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_HEIGHT, AppMain.FX_FX32_TO_F32(gms_GMK_DRAIN_TANK_OUT_WORK.base_pos_x) + ( float )AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_WIDTH, ( float )num4);
         AppMain.GmWaterSurfaceDrawNoWaterField(AppMain.FX_FX32_TO_F32(gms_GMK_DRAIN_TANK_OUT_WORK.base_pos_x) - ( float )AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_WIDTH, ( float )num, AppMain.FX_FX32_TO_F32(gms_GMK_DRAIN_TANK_OUT_WORK.base_pos_x) + ( float )AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_WIDTH, ( float )(num - AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_HEIGHT));
         AppMain.GmWaterSurfaceDrawNoWaterField(( float )(num3 - AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_WIDTH), -AppMain.FX_FX32_TO_F32(gms_GMK_DRAIN_TANK_OUT_WORK.base_pos_y) + ( float )AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_HEIGHT, ( float )num3, ( float )num);
         AppMain.GmWaterSurfaceDrawNoWaterField(( float )num5, ( float )num4, ( float )(num5 + AppMain.GMD_GMK_DRAIN_TANK_DRAW_WATER_WIDTH), ( float )num);
     }
     AppMain.ObjDraw3DNNSetCameraEx(AppMain.g_obj.glb_camera_id, 1, 8U);
     AppMain.ObjDrawActionSummary(obj_work);
 }
 // Token: 0x06001244 RID: 4676 RVA: 0x0009FA44 File Offset: 0x0009DC44
 private static bool gmGmkDrainTankOutCheckKeyDir(AppMain.OBS_OBJECT_WORK gimmick_obj_work, int camera_roll)
 {
     AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK gms_GMK_DRAIN_TANK_OUT_WORK = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)gimmick_obj_work;
     return((camera_roll < 0 && gms_GMK_DRAIN_TANK_OUT_WORK.flag_dir_left) || (camera_roll > 0 && !gms_GMK_DRAIN_TANK_OUT_WORK.flag_dir_left));
 }
Exemplo n.º 29
0
 private static void gmGmkDrainTankOutUpdateCameraRollDie(
     AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK out_work)
 {
     out_work.camera_roll -= out_work.camera_roll / 5;
 }
Exemplo n.º 30
0
 private static void gmGmkDrainTankOutUpdateDie(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK out_work = (AppMain.GMS_GMK_DRAIN_TANK_OUT_WORK)obj_work;
     AppMain.gmGmkDrainTankOutUpdateCameraRollDie(out_work);
     AppMain.ObjCameraGet(0).roll = out_work.camera_roll;
 }