Beispiel #1
0
 // Token: 0x06001B2A RID: 6954 RVA: 0x000F7FB8 File Offset: 0x000F61B8
 private static void gmGmkPressWallControler(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PWALLCTRL_WORK gms_GMK_PWALLCTRL_WORK = (AppMain.GMS_GMK_PWALLCTRL_WORK)obj_work;
     AppMain.GMS_PLAYER_WORK        ply_work = gms_GMK_PWALLCTRL_WORK.ply_work;
     if (AppMain.pwall != null && (obj_work.user_flag & 1U) != 0U && obj_work.pos.x > gms_GMK_PWALLCTRL_WORK.last_ply_x && obj_work.pos.x <= ply_work.obj_work.pos.x && ((obj_work.user_flag & 2U) == 0U || (ply_work.obj_work.pos.y >= gms_GMK_PWALLCTRL_WORK.line_top && ply_work.obj_work.pos.y <= gms_GMK_PWALLCTRL_WORK.line_bottom)))
     {
         if ((obj_work.user_flag & 4U) != 0U && AppMain.pwall.gmk_work.ene_com.obj_work.pos.x <= AppMain.g_obj.camera[0][0] - 32768)
         {
             AppMain.pwall.gmk_work.ene_com.obj_work.pos.x = AppMain.g_obj.camera[0][0] - 32768;
         }
         AppMain.pwall.wall_speed = obj_work.user_timer;
         if (AppMain.pwall.wall_speed == 0)
         {
             AppMain.pwall.stop_wall = true;
         }
         obj_work.flag |= 8U;
         gms_GMK_PWALLCTRL_WORK.gmk_work.ene_com.enemy_flag |= 65536U;
         return;
     }
     gms_GMK_PWALLCTRL_WORK.last_ply_x = ply_work.obj_work.pos.x;
     gms_GMK_PWALLCTRL_WORK.last_ply_y = ply_work.obj_work.pos.y;
 }
Beispiel #2
0
 private static void gmGmkShutterOutInit(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     gmsEnemy3DWork.ene_com.col_work.obj_col.obj    = gmsEnemy3DWork.ene_com.obj_work;
     gmsEnemy3DWork.ene_com.col_work.obj_col.width  = (ushort)64;
     gmsEnemy3DWork.ene_com.col_work.obj_col.height = (ushort)64;
     gmsEnemy3DWork.ene_com.col_work.obj_col.ofst_x = (short)((int)-gmsEnemy3DWork.ene_com.col_work.obj_col.width / 2);
     gmsEnemy3DWork.ene_com.col_work.obj_col.ofst_y = (short)((int)-gmsEnemy3DWork.ene_com.col_work.obj_col.height / 2);
     obj_work.move_flag |= 256U;
     obj_work.disp_flag |= 4194304U;
     obj_work.flag      |= 16U;
     gmsEnemy3DWork.ene_com.enemy_flag |= 16384U;
     obj_work.pos.z     = -655360;
     obj_work.user_work = (uint)(obj_work.pos.y + 262144);
     obj_work.ppFunc    = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null;
     if (AppMain.g_gm_gamedat_zone_type_tbl[(int)AppMain.g_gs_main_sys_info.stage_id] != 4)
     {
         return;
     }
     obj_work.ppOut = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkShutterOutOutFuncForFinalZone);
     AppMain.mtTaskChangeTcbDestructor(obj_work.tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmGmkShutterDestFuncForFinaleZone));
 }
Beispiel #3
0
 private static void gmGmkPistonRod_Create(AppMain.OBS_OBJECT_WORK parent_obj)
 {
     AppMain.GMS_GMK_PISTONROD_WORK work     = (AppMain.GMS_GMK_PISTONROD_WORK)AppMain.GMM_EFFECT_CREATE_WORK((AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_PISTONROD_WORK()), (AppMain.OBS_OBJECT_WORK)null, (ushort)0, "Gmk_PistonRod");
     AppMain.OBS_OBJECT_WORK        obj_work = (AppMain.OBS_OBJECT_WORK)work;
     AppMain.ObjObjectCopyAction3dNNModel(obj_work, AppMain.gm_gmk_piston_obj_3d_list[1], work.eff_work.obj_3d);
     obj_work.parent_obj    = parent_obj;
     obj_work.parent_ofst.x = 0;
     obj_work.parent_ofst.y = 65536;
     obj_work.parent_ofst.z = -524288;
     obj_work.dir.z         = (ushort)((uint)parent_obj.dir.z ^ 32768U);
     if (obj_work.dir.z == (ushort)0)
     {
         obj_work.parent_ofst.y = -obj_work.parent_ofst.y;
     }
     obj_work.flag      |= 1024U;
     obj_work.move_flag |= 256U;
     obj_work.disp_flag |= 4194304U;
     obj_work.disp_flag &= 4294967039U;
     obj_work.flag      |= 2U;
     obj_work.ppFunc     = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkPistonRodStay);
     work.fulcrum        = parent_obj.pos.y + obj_work.parent_ofst.y;
 }
Beispiel #4
0
    private static void gmGmkStopperHit(
        AppMain.OBS_RECT_WORK mine_rect,
        AppMain.OBS_RECT_WORK match_rect)
    {
        AppMain.OBS_OBJECT_WORK      parentObj1        = mine_rect.parent_obj;
        AppMain.GMS_PLAYER_WORK      parentObj2        = (AppMain.GMS_PLAYER_WORK)match_rect.parent_obj;
        AppMain.GMS_GMK_STOPPER_WORK gmsGmkStopperWork = (AppMain.GMS_GMK_STOPPER_WORK)parentObj1;
        int num = 0;

        if (parentObj2 != AppMain.g_gm_main_system.ply_work[0])
        {
            return;
        }
        if (parentObj1.pos.y > parentObj2.obj_work.pos.y)
        {
            if (parentObj2.obj_work.spd.y >= 0)
            {
                num = 1;
            }
        }
        else if (parentObj2.obj_work.spd.y <= 0)
        {
            num = 1;
        }
        if (num != 0)
        {
            AppMain.GmPlySeqInitStopper(parentObj2, gmsGmkStopperWork.gmk_work.ene_com);
            gmsGmkStopperWork.gmk_work.ene_com.col_work.obj_col.obj = (AppMain.OBS_OBJECT_WORK)null;
            parentObj1.flag           |= 2U;
            gmsGmkStopperWork.ply_work = parentObj2;
            parentObj1.user_timer      = (parentObj1.pos.y >> 12) + (int)gmsGmkStopperWork.gmk_work.ene_com.col_work.obj_col.height + (int)gmsGmkStopperWork.gmk_work.ene_com.col_work.obj_col.ofst_y - (int)parentObj2.rect_work[0].rect.top;
            parentObj1.ppFunc          = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkStopperLockWait);
        }
        else
        {
            mine_rect.flag &= 4294573823U;
        }
    }
Beispiel #5
0
 private static void gmBoss3BodyStateBattleUpdateSearch(AppMain.GMS_BOSS3_BODY_WORK body_work)
 {
     AppMain.OBS_OBJECT_WORK obj_work = AppMain.GMM_BS_OBJ((object)body_work);
     if (AppMain.GmBsCmnIsActionEnd(obj_work) == 0)
     {
         return;
     }
     body_work.pattern_no = AppMain.gmBoss3BodyBattleCalcPattern(body_work);
     if (AppMain.gmBoss3BodyBattleInitMovePattern(body_work, body_work.pattern_no, 0, 4096) != 0)
     {
         if (AppMain.gmBoss3BodyBattleCheckTurn(body_work) != 0)
         {
             short dest_angle;
             int   flag_positive;
             if (((int)obj_work.disp_flag & 1) != 0)
             {
                 obj_work.disp_flag &= 4294967294U;
                 dest_angle          = AppMain.GMD_BOSS3_ANGLE_RIGHT;
                 flag_positive       = 1;
             }
             else
             {
                 obj_work.disp_flag |= 1U;
                 dest_angle          = AppMain.GMD_BOSS3_ANGLE_LEFT;
                 flag_positive       = 0;
             }
             AppMain.gmBoss3BodyInitTurn(body_work, dest_angle, 60f, flag_positive);
         }
         body_work.proc_update = new AppMain.GMF_BOSS3_BODY_STATE_FUNC(AppMain.gmBoss3BodyStateBattleUpdateMoveFirst);
         AppMain.gmBoss3EffAfterburnerRequestCreate(body_work);
         AppMain.gmBoss3BodySetActionAllParts(body_work, 1);
     }
     else
     {
         AppMain.gmBoss3BodySetActionAllParts(body_work, 5);
         body_work.proc_update = new AppMain.GMF_BOSS3_BODY_STATE_FUNC(AppMain.gmBoss3BodyStateBattleUpdateSign);
     }
 }
Beispiel #6
0
 // Token: 0x06001B1A RID: 6938 RVA: 0x000F6F50 File Offset: 0x000F5150
 private static AppMain.OBS_OBJECT_WORK GmGmkPressWallControlerInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
 {
     AppMain.UNREFERENCED_PARAMETER(type);
     AppMain.OBS_OBJECT_WORK        obs_OBJECT_WORK        = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_GMK_PWALLCTRL_WORK(), "Gmk_PressWallControler");
     AppMain.GMS_GMK_PWALLCTRL_WORK gms_GMK_PWALLCTRL_WORK = (AppMain.GMS_GMK_PWALLCTRL_WORK)obs_OBJECT_WORK;
     AppMain.GMS_ENEMY_3D_WORK      gms_ENEMY_3D_WORK      = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK;
     AppMain.OBS_RECT_WORK          obs_RECT_WORK          = gms_ENEMY_3D_WORK.ene_com.rect_work[2];
     obs_RECT_WORK.ppDef = null;
     obs_RECT_WORK.ppHit = null;
     obs_RECT_WORK.flag &= 4294967291U;
     if (eve_rec.left != 0)
     {
         AppMain.ObjRectWorkSet(obs_RECT_WORK, ( short )(eve_rec.left * 2), 0, ( short )(eve_rec.width * 2), 1);
         obs_OBJECT_WORK.user_flag  = 0U;
         obs_OBJECT_WORK.user_timer = ( int )eve_rec.height * 819;
     }
     else
     {
         obs_RECT_WORK.ppDef = null;
         obs_RECT_WORK.ppHit = null;
         AppMain.ObjRectWorkSet(obs_RECT_WORK, 0, ( short )(eve_rec.top * 2), 1, ( short )(eve_rec.height * 2));
         gms_GMK_PWALLCTRL_WORK.line_top    = ( int )(eve_rec.top * 2) * 4096 + obs_OBJECT_WORK.pos.y;
         gms_GMK_PWALLCTRL_WORK.line_bottom = ( int )(eve_rec.height * 2) * 4096 + obs_OBJECT_WORK.pos.y;
         obs_OBJECT_WORK.user_flag          = 1U;
         obs_OBJECT_WORK.user_timer         = ( int )eve_rec.width * 819;
     }
     obs_OBJECT_WORK.flag &= 4294967293U;
     if ((eve_rec.flag & 1) != 0)
     {
         obs_OBJECT_WORK.user_flag |= 2U;
     }
     if ((eve_rec.flag & 2) != 0)
     {
         obs_OBJECT_WORK.user_flag |= 4U;
     }
     AppMain.gmGmkPressWallControlerStart(obs_OBJECT_WORK);
     return(obs_OBJECT_WORK);
 }
Beispiel #7
0
    private static void gmEveMgrCreateEventBlkDecorate(
        uint flag,
        ushort bx,
        ushort by,
        int[] r_on,
        int[] r_off)
    {
        uint num1 = (uint)bx + (uint)AppMain.gm_deco_data.width * (uint)by;

        AppMain.GMS_EVE_DATA_DC_LIST dc = AppMain.gm_deco_data.dc_list[(int)num1];
        ushort decNum = dc.dec_num;

        AppMain.ArrayPointer <AppMain.GMS_EVE_RECORD_DECORATE> arrayPointer = new AppMain.ArrayPointer <AppMain.GMS_EVE_RECORD_DECORATE>(dc.dec_data);
        int num2 = (int)bx << 8;
        int num3 = (int)by << 8;
        int num4 = 0;

        while (num4 < (int)decNum)
        {
            if (arrayPointer[0].pos_x != byte.MaxValue)
            {
                int num5 = (int)arrayPointer[0].pos_x + num2;
                int num6 = (int)arrayPointer[0].pos_y + num3;
                int num7 = (int)AppMain.g_gm_decorate_size_tbl[(int)arrayPointer[0].id];
                int num8 = num7 + 16 + 32;
                if (((int)flag & 1) == 0 || num5 >= r_on[0] - num8 && num5 <= r_on[2] + num8 && (num6 >= r_on[1] - num8 && num6 <= r_on[3] + num8))
                {
                    int num9 = num7 + 16;
                    if ((((int)flag & 2) == 0 || num5 <= r_off[0] - num9 || (num5 >= r_off[2] + num9 || num6 <= r_off[1] - num9) || num6 >= r_off[3] + num9) && (arrayPointer[0].id < (ushort)184 && AppMain.g_gm_decorate_tbl[(int)arrayPointer[0].id] != null))
                    {
                        AppMain.OBS_OBJECT_WORK obsObjectWork = AppMain.g_gm_decorate_tbl[(int)arrayPointer[0].id]((AppMain.GMS_EVE_RECORD_DECORATE)arrayPointer, num5 << 12, num6 << 12, (byte)0);
                    }
                }
            }
            ++num4;
            ++arrayPointer;
        }
    }
Beispiel #8
0
 private static void gmFixTimerPartInit(AppMain.GMS_FIX_MGR_WORK mgr_work)
 {
     AppMain.GMS_FIX_PART_WORK  partTimer1 = (AppMain.GMS_FIX_PART_WORK)mgr_work.part_timer;
     AppMain.GMS_FIX_PART_TIMER partTimer2 = mgr_work.part_timer;
     AppMain.gmFixRegisterPart(mgr_work, partTimer1, 2);
     partTimer1.proc_update = new AppMain.MPP_VOID_GMS_FIX_PART_WORK(AppMain.gmFixTimerPartProcUpdateMain);
     partTimer1.proc_disp   = new AppMain.MPP_VOID_GMS_FIX_PART_WORK(AppMain.gmFixTimerPartProcDispMain);
     if (AppMain.gmFixIsTimeAttack())
     {
         AppMain.act_id_tblgmFixTimerPartInit = AppMain.gm_fix_timer_timeattack_act_id_tbl;
         partTimer2.flag |= 1U;
     }
     else
     {
         AppMain.act_id_tblgmFixTimerPartInit = AppMain.gm_fix_timer_act_id_tbl;
     }
     for (int index = 0; index < 8; ++index)
     {
         AppMain.OBS_OBJECT_WORK     work             = AppMain.GMM_COCKPIT_CREATE_WORK((AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_COCKPIT_2D_WORK()), (AppMain.OBS_OBJECT_WORK)null, (ushort)0, "FIX_TIMER");
         AppMain.GMS_COCKPIT_2D_WORK gmsCockpit2DWork = (AppMain.GMS_COCKPIT_2D_WORK)work;
         work.ppOut = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmFixSubpartOutFunc);
         AppMain.ObjObjectAction2dAMALoadSetTexlist(work, gmsCockpit2DWork.obj_2d, (AppMain.OBS_DATA_WORK)null, (string)null, AppMain.gm_fix_ama_amb_idx_tbl[AppMain.GsEnvGetLanguage()][0], AppMain.GmGameDatGetCockpitData(), AppMain.AoTexGetTexList(AppMain.gm_fix_textures[0]), (uint)AppMain.act_id_tblgmFixTimerPartInit[index], 0);
         AppMain.gmFixSetFrameStatic(work, 0.0f);
         if (AppMain.gmFixIsTimeAttack())
         {
             work.pos.x += AppMain.FX_F32_TO_FX32(-98f);
             if (index != 0)
             {
                 work.pos.y += AppMain.FX_F32_TO_FX32(5f);
             }
         }
         else if (index != 0)
         {
             work.pos.y += AppMain.FX_F32_TO_FX32(5f);
         }
         ((AppMain.GMS_FIX_PART_TIMER)partTimer1).sub_parts[index] = (AppMain.GMS_COCKPIT_2D_WORK)work;
     }
 }
Beispiel #9
0
 private static void GmGmkSsSquareBounce(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.OBS_COLLISION_OBJ objCol   = obj_work.col_work.obj_col;
     AppMain.GMS_PLAYER_WORK   ply_work = AppMain.g_gm_main_system.ply_work[0];
     AppMain.GMS_SPL_STG_WORK  work     = AppMain.GmSplStageGetWork();
     if (objCol.toucher_obj == ply_work.obj_work)
     {
         if (ply_work.nudge_timer != (short)0 && ((int)work.flag & 2) == 0)
         {
             AppMain.GmPlySeqInitPinballAir(ply_work, 0, -17408, 5, false);
             work.flag |= 1U;
             work.flag |= 2U;
         }
         else if (((int)obj_work.user_flag & int.MinValue) == 0 && ((int)work.flag & 1) == 0 && (AppMain.MTM_MATH_ABS(ply_work.obj_work.spd.x) > 4096 || AppMain.MTM_MATH_ABS(ply_work.obj_work.spd.y) > 4096))
         {
             AppMain.OBS_OBJECT_WORK objWork = ply_work.obj_work;
             AppMain.VecFx32         vecFx32 = AppMain.gmGmkSsSquareNormalizeVectorXY(new AppMain.VecFx32()
             {
                 x = objWork.prev_pos.x - obj_work.pos.x,
                 y = objWork.prev_pos.y - obj_work.pos.y,
                 z = 0
             });
             objWork.dir.z = (ushort)0;
             int num1  = AppMain.MTM_MATH_ABS(objWork.spd.x);
             int num2  = AppMain.MTM_MATH_ABS(objWork.spd.y);
             int v2    = AppMain.FX_Sqrt(AppMain.FX_Mul(num1, num1) + AppMain.FX_Mul(num2, num2)) / 2;
             int spd_x = AppMain.FX_Mul(vecFx32.x, v2);
             int spd_y = AppMain.FX_Mul(vecFx32.y, v2);
             AppMain.GmPlySeqInitPinballAir(ply_work, spd_x, spd_y, 5, false);
             work.flag |= 1U;
         }
         obj_work.user_flag |= 2147483648U;
     }
     else
     {
         obj_work.user_flag &= (uint)int.MaxValue;
     }
 }
Beispiel #10
0
 private static AppMain.OBS_OBJECT_WORK GmEneMotoraInit(
     AppMain.GMS_EVE_RECORD_EVENT eve_rec,
     int pos_x,
     int pos_y,
     byte type)
 {
     AppMain.OBS_OBJECT_WORK     work             = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_ENE_MOTORA_WORK()), "ENE_MOTORA");
     AppMain.GMS_ENEMY_3D_WORK   gmsEnemy3DWork   = (AppMain.GMS_ENEMY_3D_WORK)work;
     AppMain.GMS_ENE_MOTORA_WORK gmsEneMotoraWork = (AppMain.GMS_ENE_MOTORA_WORK)work;
     AppMain.ObjObjectCopyAction3dNNModel(work, AppMain.gm_ene_motora_obj_3d_list[0], gmsEnemy3DWork.obj_3d);
     AppMain.ObjObjectAction3dNNMotionLoad(work, 0, true, AppMain.ObjDataGet(663), (string)null, 0, (AppMain.AMS_AMB_HEADER)null);
     AppMain.ObjDrawObjectSetToon(work);
     work.pos.z = 0;
     AppMain.OBS_RECT_WORK pRec1 = gmsEnemy3DWork.ene_com.rect_work[1];
     AppMain.ObjRectWorkSet(pRec1, (short)-11, (short)-24, (short)11, (short)0);
     pRec1.flag |= 4U;
     AppMain.OBS_RECT_WORK pRec2 = gmsEnemy3DWork.ene_com.rect_work[0];
     AppMain.ObjRectWorkSet(pRec2, (short)-19, (short)-32, (short)19, (short)0);
     pRec2.flag |= 4U;
     gmsEnemy3DWork.ene_com.rect_work[2].flag &= 4294967291U;
     AppMain.OBS_RECT_WORK pRec3 = gmsEnemy3DWork.ene_com.rect_work[2];
     AppMain.ObjRectWorkSet(pRec3, (short)-19, (short)-32, (short)19, (short)0);
     pRec3.flag &= 4294967291U;
     AppMain.ObjObjectFieldRectSet(work, (short)-4, (short)-8, (short)4, (short)-2);
     work.move_flag |= 128U;
     if (((int)eve_rec.flag & 1) == 0)
     {
         work.disp_flag |= 1U;
     }
     work.user_work                = (uint)(work.pos.x + ((int)eve_rec.left << 12));
     work.user_flag                = (uint)(work.pos.x + ((int)eve_rec.left + (int)eve_rec.width << 12));
     gmsEneMotoraWork.spd_dec      = 102;
     gmsEneMotoraWork.spd_dec_dist = 20480;
     AppMain.gmEneMotoraWalkInit(work);
     work.obj_3d.use_light_flag &= 4294967294U;
     work.obj_3d.use_light_flag |= 64U;
     return(work);
 }
Beispiel #11
0
 private static AppMain.OBS_OBJECT_WORK GmBoss3BodyInit(
     AppMain.GMS_EVE_RECORD_EVENT eve_rec,
     int pos_x,
     int pos_y,
     byte type)
 {
     AppMain.GMS_BOSS3_BODY_WORK work    = (AppMain.GMS_BOSS3_BODY_WORK)AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_BOSS3_BODY_WORK()), "BOSS3_BODY");
     AppMain.GMS_ENEMY_3D_WORK   ene3d   = work.ene_3d;
     AppMain.OBS_OBJECT_WORK     objWork = ene3d.ene_com.obj_work;
     AppMain.ObjObjectCopyAction3dNNModel(objWork, AppMain.gm_boss3_obj_3d_list[0], ene3d.obj_3d);
     AppMain.ObjObjectAction3dNNMotionLoad(objWork, 0, true, AppMain.ObjDataGet(728), (string)null, 0, (AppMain.AMS_AMB_HEADER)null);
     ene3d.ene_com.vit = (byte)1;
     AppMain.ObjRectWorkSet(ene3d.ene_com.rect_work[2], (short)-24, (short)-24, (short)24, (short)24);
     AppMain.ObjRectGroupSet(ene3d.ene_com.rect_work[2], (byte)1, (byte)3);
     ene3d.ene_com.rect_work[2].flag       &= 4294967291U;
     ene3d.ene_com.rect_work[2].flag       |= 1024U;
     work.ene_3d.ene_com.rect_work[1].flag |= 1024U;
     AppMain.ObjRectWorkSet(ene3d.ene_com.rect_work[0], (short)-28, (short)-28, (short)28, (short)24);
     ene3d.ene_com.rect_work[0].ppDef = new AppMain.OBS_RECT_WORK_Delegate1(AppMain.gmBoss3BodyDefFunc);
     ene3d.ene_com.rect_work[0].flag |= 1024U;
     AppMain.gmBoss3BodySetRectNormal(work);
     objWork.pos.z            = 655360;
     objWork.flag            |= 16U;
     objWork.disp_flag       |= 4194309U;
     objWork.move_flag       &= 4294967167U;
     objWork.move_flag       |= 53776U;
     work.is_move             = 0;
     objWork.obj_3d.blend_spd = 0.125f;
     AppMain.ObjDrawObjectSetToon(objWork);
     objWork.disp_flag |= 134217728U;
     objWork.ppFunc     = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss3BodyMainFuncWaitSetup);
     objWork.ppOut      = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss3BodyOutFunc);
     objWork.ppMove     = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss3BodyChaseMoveFunc);
     AppMain.gmBoss3BodyChangeState(work, 0);
     objWork.obj_3d.use_light_flag &= 4294967294U;
     objWork.obj_3d.use_light_flag |= 64U;
     return(objWork);
 }
Beispiel #12
0
 private static AppMain.OBS_OBJECT_WORK GmEffectCreateWork(
     AppMain.TaskWorkFactoryDelegate work_size,
     AppMain.OBS_OBJECT_WORK parent_obj,
     ushort sort_prio)
 {
     if (work_size == null)
     {
         work_size = AppMain._GmEffectCreateWork_Delegate;
     }
     AppMain.OBS_OBJECT_WORK obsObjectWork = AppMain.OBM_OBJECT_TASK_DETAIL_INIT((ushort)(6656U + (uint)sort_prio), (byte)3, (byte)0, (byte)0, work_size, (string)null);
     if (obsObjectWork == null)
     {
         return((AppMain.OBS_OBJECT_WORK)null);
     }
     AppMain.mtTaskChangeTcbDestructor(obsObjectWork.tcb, AppMain._GmEffectDefaultExit);
     obsObjectWork.obj_type     = (ushort)5;
     obsObjectWork.ppOut        = AppMain._ObjDrawActionSummaryDelegate;
     obsObjectWork.ppOutSub     = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null;
     obsObjectWork.ppIn         = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null;
     obsObjectWork.ppMove       = AppMain._ObjObjectMoveDelegate;
     obsObjectWork.ppActCall    = (AppMain.OBS_OBJECT_WORK_Delegate2)null;
     obsObjectWork.ppRec        = AppMain._gmEffectDefaultRecFuncDelegate;
     obsObjectWork.ppLast       = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null;
     obsObjectWork.spd_fall     = 672;
     obsObjectWork.spd_fall_max = 61440;
     if (parent_obj != null)
     {
         obsObjectWork.parent_obj = parent_obj;
         obsObjectWork.pos.x      = parent_obj.pos.x;
         obsObjectWork.pos.y      = parent_obj.pos.y;
         obsObjectWork.pos.z      = parent_obj.pos.z;
     }
     obsObjectWork.disp_flag |= 256U;
     obsObjectWork.flag      |= 18U;
     obsObjectWork.move_flag |= 256U;
     obsObjectWork.flag      |= 1U;
     return(obsObjectWork);
 }
    // Token: 0x06001235 RID: 4661 RVA: 0x0009F254 File Offset: 0x0009D454
    private static void gmGmkDrainTankOutMainReady(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;
        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);
            AppMain.GmCameraAllowSet(10f, 10f, 10f);
        }
    }
 // Token: 0x06001039 RID: 4153 RVA: 0x0008D2F8 File Offset: 0x0008B4F8
 public static void gmEneMoguJumpInit(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENE_MOGU_WORK gms_ENE_MOGU_WORK = (AppMain.GMS_ENE_MOGU_WORK)obj_work;
     AppMain.ObjDrawObjectActionSet(obj_work, 4);
     obj_work.disp_flag |= 4U;
     obj_work.spd.y      = AppMain.FX_F32_TO_FX32(-6f);
     obj_work.spd_fall   = AppMain.FX_F32_TO_FX32(0.16f);
     obj_work.pos.y      = obj_work.pos.y - AppMain.FX_F32_TO_FX32(4f);
     obj_work.move_flag |= 128U;
     obj_work.move_flag &= 4294967294U;
     obj_work.move_flag &= 4294967291U;
     obj_work.ppFunc     = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneMoguJumpMain);
     if ((obj_work.disp_flag & 1U) != 0U)
     {
         obj_work.spd.x = -2048;
     }
     else
     {
         obj_work.spd.x = 2048;
     }
     AppMain.gmEneMoguCheckWater(gms_ENE_MOGU_WORK, 0);
     gms_ENE_MOGU_WORK.jumpdown = 0;
 }
 // Token: 0x06000B36 RID: 2870 RVA: 0x000651A0 File Offset: 0x000633A0
 private static void gmGmkPointMarkerStart(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PMARKER_WORK gms_GMK_PMARKER_WORK = (AppMain.GMS_GMK_PMARKER_WORK)obj_work;
     AppMain.ObjObjectCopyAction3dNNModel(obj_work, AppMain.gm_gmk_pmarker_obj_3d_list[0], gms_GMK_PMARKER_WORK.OBJ_3D);
     AppMain.ObjObjectAction3dNNMotionLoad(obj_work, 0, false, AppMain.ObjDataGet(840), null, 0, null);
     AppMain.ObjDrawObjectActionSet(obj_work, 0);
     if (AppMain.g_gm_main_system.marker_pri < ( uint )gms_GMK_PMARKER_WORK.marker_prty)
     {
         gms_GMK_PMARKER_WORK.COMWORK.rect_work[0].flag &= 4294967291U;
         gms_GMK_PMARKER_WORK.COMWORK.rect_work[1].flag &= 4294967291U;
         AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_GMK_PMARKER_WORK.COMWORK.rect_work[2];
         obs_RECT_WORK.ppDef = new AppMain.OBS_RECT_WORK_Delegate1(AppMain.gmGmkPointMarkerHit);
         obs_RECT_WORK.ppHit = null;
         AppMain.ObjRectAtkSet(obs_RECT_WORK, 0, 0);
         AppMain.ObjRectDefSet(obs_RECT_WORK, 65534, 0);
         AppMain.ObjRectWorkSet(obs_RECT_WORK, -16, -64, 16, 0);
     }
     else
     {
         gms_GMK_PMARKER_WORK.marker_prty = 0;
     }
     AppMain.gmGmkPointMarkerStay(obj_work);
 }
Beispiel #16
0
    private static void gmGmkWaterSliderInit(AppMain.OBS_OBJECT_WORK obj_work, uint slider_type)
    {
        AppMain.gmGmkWaterSliderSetRect((AppMain.GMS_ENEMY_3D_WORK)obj_work, slider_type);
        AppMain.gmGmkWaterSliderSetUserWorkSlideType(obj_work, slider_type);
        obj_work.move_flag = 8448U;
        int speed = -61440;

        obj_work.dir.y = (ushort)49152;
        if (AppMain.gmGmkWaterSliderCheckHFlip(slider_type))
        {
            obj_work.disp_flag |= 1U;
            speed = -speed;
        }
        AppMain.gmGmkWaterSliderSetUserTimerSlideSpeed(obj_work, speed);
        obj_work.obj_3d.drawflag |= 32U;
        obj_work.pos.z            = 131072;
        AppMain.ObjDrawObjectActionSet3DNNMaterial(obj_work, 0);
        obj_work.disp_flag |= 20U;
        obj_work.ppFunc     = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null;
        obj_work.ppMove     = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null;
        obj_work.ppOut      = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkWaterSliderDrawFunc);
        AppMain.mtTaskChangeTcbDestructor(obj_work.tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmGmkWaterSliderDestFunc));
    }
 // Token: 0x060008BE RID: 2238 RVA: 0x0004EF9C File Offset: 0x0004D19C
 private static void gmGmkRockRideStopInit(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK gimmick_work = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.gmGmkRockRideStopSetRect(gimmick_work);
     AppMain.ObjObjectFieldRectSet(obj_work, -16, -16, 16, 16);
     obj_work.flag         &= 4294967294U;
     obj_work.move_flag    |= 256U;
     obj_work.move_flag    &= 4294967294U;
     obj_work.spd_slope     = 0;
     obj_work.spd_slope_max = 0;
     obj_work.spd_m         = 0;
     AppMain.GMS_GMK_ROCK_WORK gms_GMK_ROCK_WORK = (AppMain.GMS_GMK_ROCK_WORK)obj_work;
     if (gms_GMK_ROCK_WORK.se_handle != null)
     {
         AppMain.GmSoundStopSE(gms_GMK_ROCK_WORK.se_handle);
     }
     obj_work.ppFunc = null;
     if (gms_GMK_ROCK_WORK.effect_work != null)
     {
         AppMain.ObjDrawKillAction3DES((AppMain.OBS_OBJECT_WORK)gms_GMK_ROCK_WORK.effect_work);
     }
     AppMain.GMM_PAD_VIB_STOP();
 }
Beispiel #18
0
 private static void gmGmkDrainTankInMainReady(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)
     {
         return;
     }
     if (AppMain.gmGmkDrainTankInCheckDeleteTask(obj_work, 1843200, 1228800))
     {
         AppMain.gmGmkDrainTankInRequestDeleteTask(obj_work);
     }
     else
     {
         AppMain.OBS_OBJECT_WORK objWork = gmsPlayerWork.obj_work;
         if (obj_work.pos.x + 65536 >= objWork.pos.x)
         {
             return;
         }
         obj_work.pos.y     += 32768;
         obj_work.ppFunc     = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkDrainTankInMainWait);
         obj_work.move_flag |= 128U;
     }
 }
    // Token: 0x06001016 RID: 4118 RVA: 0x0008BFF4 File Offset: 0x0008A1F4
    public static void gmGmkBubbleManagerMain(AppMain.OBS_OBJECT_WORK obj_work)
    {
        int num = (int)(AppMain.gmGmkBubbleGameSystemGetWaterLevel() * 4096);

        if (num > obj_work.pos.y)
        {
            return;
        }
        uint num2 = (uint)AppMain.gmGmkBubbleGetUserWorkIntervalNormal(obj_work);

        if (num2 == 0U)
        {
            num2 = 60U;
        }
        uint num3 = AppMain.gmGmkBubbleGetUserTimerCounter(obj_work);

        if (num3 % num2 == 0U)
        {
            AppMain.GMS_EFFECT_3DES_WORK effect_work = AppMain.GmEfctZoneEsCreate(obj_work, 2, 1);
            AppMain.gmGmkBubbleInit(effect_work);
        }
        AppMain.gmGmkBubbleAddUserTimerCounter(obj_work, 1);
    }
Beispiel #20
0
 private static void GmBsCmnSetAction(
     AppMain.OBS_OBJECT_WORK obj_work,
     int act_id,
     int is_repeat,
     int is_blend)
 {
     if (is_blend != 0)
     {
         AppMain.ObjDrawObjectActionSet3DNNBlend(obj_work, act_id);
     }
     else
     {
         AppMain.ObjDrawObjectActionSet(obj_work, act_id);
     }
     if (is_repeat != 0)
     {
         obj_work.disp_flag |= 4U;
     }
     else
     {
         obj_work.disp_flag &= 4294967291U;
     }
 }
 // Token: 0x060007C0 RID: 1984 RVA: 0x00044924 File Offset: 0x00042B24
 private void dmLogoSegaEffectMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.OBS_OBJECT_WORK parent_obj = obj_work.parent_obj;
     if (AppMain.AoSysIsShowPlatformUI())
     {
         obj_work.disp_flag |= 4096U;
         return;
     }
     obj_work.disp_flag &= 4294963199U;
     obj_work.pos.Assign(parent_obj.pos);
     if ((obj_work.parent_obj.disp_flag & 1U) != 0U)
     {
         obj_work.pos.x = obj_work.pos.x - -81920;
     }
     else
     {
         obj_work.pos.x = obj_work.pos.x + -81920;
     }
     obj_work.pos.y      = obj_work.pos.y + 409600;
     obj_work.pos.z      = obj_work.pos.z + 409600;
     obj_work.disp_flag &= 4294967294U;
     obj_work.disp_flag |= (parent_obj.disp_flag & 1U);
 }
Beispiel #22
0
 private static void gmGmkSlot_CreateReel(AppMain.GMS_GMK_SLOT_WORK pwork)
 {
     AppMain.OBS_OBJECT_WORK obsObjectWork = (AppMain.OBS_OBJECT_WORK)pwork;
     for (int index = 0; index < 3; ++index)
     {
         AppMain.OBS_OBJECT_WORK        work             = AppMain.GMM_EFFECT_CREATE_WORK((AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_SLOTPARTS_WORK()), (AppMain.OBS_OBJECT_WORK)null, (ushort)0, "Gmk_SlotReel");
         AppMain.GMS_GMK_SLOTPARTS_WORK gmkSlotpartsWork = (AppMain.GMS_GMK_SLOTPARTS_WORK)work;
         AppMain.ObjObjectCopyAction3dNNModel(work, AppMain.gm_gmk_slot_obj_3d_list[(int)AppMain.tbl_gmk_slot_reelmodel_id[index]], gmkSlotpartsWork.eff_work.obj_3d);
         work.parent_obj            = obsObjectWork;
         work.pos.x                 = obsObjectWork.pos.x + (48 * index - 48) * 4096;
         work.pos.y                 = obsObjectWork.pos.y;
         work.pos.z                 = obsObjectWork.pos.z;
         work.obj_3d.drawflag      |= 268435456U;
         work.flag                 &= 4294966271U;
         work.flag                 |= 2U;
         work.move_flag            |= 256U;
         work.disp_flag            &= 4294967039U;
         work.disp_flag            |= 138412032U;
         work.ppFunc                = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkSlotReel);
         gmkSlotpartsWork.reel_id   = index;
         gmkSlotpartsWork.slot_work = pwork;
     }
 }
Beispiel #23
0
    private static void gmGmkSsRingGateMain(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_PLAYER_WORK gmsPlayerWork = AppMain.g_gm_main_system.ply_work[0];
        uint num = (obj_work.user_flag >> 8 & (uint)sbyte.MaxValue) + 1U;

        obj_work.user_flag = (uint)((int)obj_work.user_flag & 1 | ((int)num & (int)sbyte.MaxValue) << 8);
        if ((int)(ushort)obj_work.user_work > (int)gmsPlayerWork.ring_num)
        {
            return;
        }
        AppMain.GMS_ENEMY_3D_WORK gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
        gmsEnemy3DWork.ene_com.rect_work[2].flag   &= 4294967291U;
        gmsEnemy3DWork.ene_com.col_work.obj_col.obj = (AppMain.OBS_OBJECT_WORK)null;
        obj_work.ppFunc           = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkSsRingGateVanish);
        obj_work.disp_flag       |= 134217728U;
        obj_work.obj_3d.drawflag |= 8388608U;
        obj_work.obj_3d.draw_state.alpha.alpha = 1f;
        obj_work.user_timer = 20;
        AppMain.GMS_EFFECT_3DES_WORK efct_3des = AppMain.GmEfctZoneEsCreate(obj_work, 5, 9);
        AppMain.GmEffect3DESSetDispOffset(efct_3des, 0.0f, 0.0f, 8f);
        efct_3des.efct_com.obj_work.dir.z = obj_work.dir.z;
        efct_3des.efct_com.obj_work.flag |= 512U;
    }
 // Token: 0x0600096F RID: 2415 RVA: 0x000551D8 File Offset: 0x000533D8
 public static AppMain.OBS_OBJECT_WORK GmBoss5EggInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
 {
     AppMain.OBS_OBJECT_WORK    obs_OBJECT_WORK    = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_BOSS5_EGG_WORK(), "BOSS5_EGG");
     AppMain.GMS_ENEMY_3D_WORK  gms_ENEMY_3D_WORK  = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK;
     AppMain.GMS_BOSS5_EGG_WORK gms_BOSS5_EGG_WORK = (AppMain.GMS_BOSS5_EGG_WORK)obs_OBJECT_WORK;
     obs_OBJECT_WORK.pos.z = AppMain.GMD_BOSS5_BG_FARSIDE_POS_Z;
     AppMain.ObjObjectFieldRectSet(obs_OBJECT_WORK, -16, -16, 16, 0);
     AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.GmBoss5GetObject3dList()[2], gms_ENEMY_3D_WORK.obj_3d);
     AppMain.ObjObjectAction3dNNMotionLoad(obs_OBJECT_WORK, 0, true, AppMain.ObjDataGet(746), null, 0, null);
     AppMain.ObjDrawObjectSetToon(obs_OBJECT_WORK);
     obs_OBJECT_WORK.obj_3d.blend_spd              = AppMain.GMD_BOSS5_DEFAULT_BLEND_SPD;
     obs_OBJECT_WORK.flag                         |= 16U;
     obs_OBJECT_WORK.disp_flag                    &= 4290772991U;
     obs_OBJECT_WORK.disp_flag                    &= 4294967294U;
     obs_OBJECT_WORK.move_flag                    |= 1152U;
     obs_OBJECT_WORK.move_flag                    &= 4294967039U;
     gms_BOSS5_EGG_WORK.ene_3d.ene_com.enemy_flag |= 32768U;
     obs_OBJECT_WORK.ppFunc                        = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss5EggMain);
     AppMain.gmBoss5EggProcInit(gms_BOSS5_EGG_WORK);
     obs_OBJECT_WORK.obj_3d.use_light_flag &= 4294967294U;
     obs_OBJECT_WORK.obj_3d.use_light_flag |= 64U;
     return(obs_OBJECT_WORK);
 }
Beispiel #25
0
 // Token: 0x06000728 RID: 1832 RVA: 0x0003FA88 File Offset: 0x0003DC88
 private static void gmBoss4CapsuleBomb2nd(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_BOSS4_CAP_WORK gms_BOSS4_CAP_WORK = (AppMain.GMS_BOSS4_CAP_WORK)obj_work;
     obj_work.disp_flag &= 4294963199U;
     if ((AppMain.g_obj.flag & 1U) != 0U)
     {
         obj_work.disp_flag |= 4096U;
     }
     else
     {
         obj_work.pos.x = obj_work.pos.x + AppMain.GmBoss4GetScrollOffset();
     }
     if (gms_BOSS4_CAP_WORK.wait > 0)
     {
         gms_BOSS4_CAP_WORK.wait--;
         if (gms_BOSS4_CAP_WORK.wait < 36)
         {
             obj_work.disp_flag |= 32U;
         }
         return;
     }
     AppMain.GMM_BS_OBJ(gms_BOSS4_CAP_WORK).flag |= 8U;
 }
 // Token: 0x060004EC RID: 1260 RVA: 0x0002A1B8 File Offset: 0x000283B8
 private static void gmGmkUpBumperStay(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_UPBUMPER_WORK gms_GMK_UPBUMPER_WORK = (AppMain.GMS_GMK_UPBUMPER_WORK)obj_work;
     if (gms_GMK_UPBUMPER_WORK.player_spd_keep_timer_mine > 0)
     {
         if (gms_GMK_UPBUMPER_WORK.player_spd_keep_timer_mine > AppMain.player_spd_keep_timer)
         {
             gms_GMK_UPBUMPER_WORK.player_spd_keep_timer_mine = AppMain.player_spd_keep_timer;
             AppMain.player_spd_keep_timer -= 1;
             if (AppMain.player_spd_keep_timer <= 0)
             {
                 gms_GMK_UPBUMPER_WORK.player_spd_keep_timer_mine = 0;
                 AppMain.player_spd_keep_timer = 0;
                 AppMain.player_spd_x          = (AppMain.player_spd_y = 0);
                 return;
             }
         }
         else
         {
             gms_GMK_UPBUMPER_WORK.player_spd_keep_timer_mine = 0;
         }
     }
 }
Beispiel #27
0
    // Token: 0x06000E09 RID: 3593 RVA: 0x0007BC8C File Offset: 0x00079E8C
    public static void gmEneKaniAttackEnd(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
        AppMain.OBS_RECT_WORK     obs_RECT_WORK     = gms_ENEMY_3D_WORK.ene_com.rect_work[1];
        AppMain.GMS_ENE_KANI_WORK gms_ENE_KANI_WORK = (AppMain.GMS_ENE_KANI_WORK)obj_work;
        AppMain.NNS_MATRIX        nns_MATRIX        = AppMain.GmEneUtilGetNodeMatrix(gms_ENE_KANI_WORK.node_work, 16);
        AppMain.NNS_VECTOR        nns_VECTOR        = AppMain.GlobalPool <AppMain.NNS_VECTOR> .Alloc();

        nns_VECTOR.x = nns_MATRIX.M03 - AppMain.FX_FX32_TO_F32(obj_work.pos.x);
        nns_VECTOR.y = nns_MATRIX.M13 - AppMain.FX_FX32_TO_F32(-obj_work.pos.y);
        nns_VECTOR.z = nns_MATRIX.M23 - AppMain.FX_FX32_TO_F32(obj_work.pos.z);
        if ((obj_work.disp_flag & 1U) != 0U)
        {
            nns_VECTOR.x = -nns_VECTOR.x;
        }
        AppMain.ObjRectWorkSet(obs_RECT_WORK, ( short )(-11 + ( short )nns_VECTOR.x), ( short )(-24 - ( short )nns_VECTOR.y), ( short )(11 + ( short )nns_VECTOR.x), ( short )-( short )nns_VECTOR.y);
        obs_RECT_WORK.flag |= 4U;
        if (AppMain.GmBsCmnIsActionEnd(obj_work) != 0)
        {
            obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneKaniWalkInit);
        }
        AppMain.GlobalPool <AppMain.NNS_VECTOR> .Release(nns_VECTOR);
    }
Beispiel #28
0
    private static int gmGmkEnBmprCheckGroupBonus(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENEMY_3D_WORK gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
        if (AppMain.gmGmkEnBmperGetUserWorkLife(obj_work) > 0)
        {
            return(0);
        }
        sbyte top = gmsEnemy3DWork.ene_com.eve_rec.top;

        if (top == (sbyte)0)
        {
            return(0);
        }
        for (AppMain.OBS_OBJECT_WORK obj_work1 = AppMain.ObjObjectSearchRegistObject((AppMain.OBS_OBJECT_WORK)null, (ushort)3); obj_work1 != null; obj_work1 = AppMain.ObjObjectSearchRegistObject(obj_work1, (ushort)3))
        {
            AppMain.GMS_ENEMY_COM_WORK gmsEnemyComWork = (AppMain.GMS_ENEMY_COM_WORK)obj_work1;
            if (obj_work1 != obj_work && (gmsEnemyComWork.eve_rec.id == (ushort)164 || gmsEnemyComWork.eve_rec.id == (ushort)165 || (gmsEnemyComWork.eve_rec.id == (ushort)166 || gmsEnemyComWork.eve_rec.id == (ushort)167)) && ((int)gmsEnemyComWork.eve_rec.top == (int)top && (Convert.ToInt32(obj_work1.user_flag) & 1) != 0))
            {
                return(0);
            }
        }
        return(1);
    }
    // Token: 0x060003FB RID: 1019 RVA: 0x000206E8 File Offset: 0x0001E8E8
    private static void gmEneHariJetEfctMain(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.NNS_MATRIX nns_MATRIX = (AppMain.NNS_MATRIX)obj_work.user_work_OBJECT;
        AppMain.NNS_VECTOR nns_VECTOR = AppMain.GlobalPool <AppMain.NNS_VECTOR> .Alloc();

        if (obj_work.parent_obj == null)
        {
            obj_work.flag |= 4U;
            return;
        }
        nns_VECTOR.x = nns_MATRIX.M03 - AppMain.FXM_FX32_TO_FLOAT(obj_work.parent_obj.pos.x);
        nns_VECTOR.y = -nns_MATRIX.M13 - AppMain.FXM_FX32_TO_FLOAT(obj_work.parent_obj.pos.y);
        nns_VECTOR.z = nns_MATRIX.M23 - AppMain.FXM_FX32_TO_FLOAT(obj_work.parent_obj.pos.z);
        if ((obj_work.parent_obj.disp_flag & 1U) != 0U)
        {
            nns_VECTOR.x = -nns_VECTOR.x;
            nns_VECTOR.z = -nns_VECTOR.z;
        }
        nns_VECTOR.y += 5f;
        AppMain.GmComEfctSetDispOffsetF((AppMain.GMS_EFFECT_3DES_WORK)obj_work, nns_VECTOR.x, nns_VECTOR.y, nns_VECTOR.z);
        AppMain.GmEffectDefaultMainFuncDeleteAtEnd(obj_work);
        AppMain.GlobalPool <AppMain.NNS_VECTOR> .Release(nns_VECTOR);
    }
 // Token: 0x060004EF RID: 1263 RVA: 0x0002A404 File Offset: 0x00028604
 private static AppMain.OBS_OBJECT_WORK GmGmkDecoFrameMgrInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
 {
     if (eve_rec.byte_param[1] != 0)
     {
         eve_rec.pos_x = byte.MaxValue;
         return(null);
     }
     if ((eve_rec.flag & 1) != 0)
     {
         int index = 0;
         if (eve_rec.id == 293)
         {
             index = 1;
         }
         AppMain.GmDecoSetFrameMotion(0, index);
         eve_rec.pos_x         = byte.MaxValue;
         eve_rec.byte_param[1] = 1;
         return(null);
     }
     AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK = (AppMain.OBS_OBJECT_WORK)AppMain.gmGmkDecoFrameMgrLoadObjNoModel(eve_rec, pos_x, pos_y, type);
     AppMain.gmGmkDecoFrameMgrInit(obs_OBJECT_WORK);
     return(obs_OBJECT_WORK);
 }