Beispiel #1
0
 private static void gmGmkWaterAreaSetRect(
     AppMain.GMS_ENEMY_3D_WORK gimmick_work,
     byte width,
     byte height,
     uint type)
 {
     AppMain.OBS_RECT_WORK pRec = gimmick_work.ene_com.rect_work[2];
     if (width < (byte)34)
     {
         width = (byte)34;
     }
     if (height < (byte)34)
     {
         height = (byte)34;
     }
     AppMain.ObjRectWorkZSet(pRec, (short)((int)-width / 2), (short)((int)-height / 2), (short)-500, (short)((int)width / 2), (short)((int)height / 2), (short)500);
     AppMain.ObjRectAtkSet(pRec, (ushort)0, (short)0);
     pRec.ppHit = (AppMain.OBS_RECT_WORK_Delegate1)null;
     AppMain.ObjRectDefSet(pRec, (ushort)0, (short)0);
     switch (type)
     {
     case 1:
     case 2:
     case 3:
     case 4:
         pRec.flag |= 1024U;
         pRec.ppDef = new AppMain.OBS_RECT_WORK_Delegate1(AppMain.gmGmkWaterAreaDefFuncDelay);
         break;
     }
 }
Beispiel #2
0
 private static void gmGmkMoveGearDefFunc(
     AppMain.OBS_RECT_WORK mine_rect,
     AppMain.OBS_RECT_WORK match_rect)
 {
     AppMain.GMS_GMK_GEAR_WORK parentObj1 = (AppMain.GMS_GMK_GEAR_WORK)mine_rect.parent_obj;
     if (match_rect.parent_obj.obj_type != (ushort)3)
     {
         return;
     }
     AppMain.GMS_ENEMY_COM_WORK parentObj2 = (AppMain.GMS_ENEMY_COM_WORK)match_rect.parent_obj;
     if (parentObj2.eve_rec.id == (ushort)183)
     {
         parentObj1.move_end_x = match_rect.parent_obj.pos.x;
         parentObj1.move_end_y = match_rect.parent_obj.pos.y;
         if (((int)parentObj2.eve_rec.flag & 1) == 0)
         {
             return;
         }
         parentObj1.gear_end_obj = match_rect.parent_obj;
     }
     else
     {
         if (((AppMain.GMS_ENEMY_COM_WORK)match_rect.parent_obj).eve_rec.id != (ushort)184)
         {
             return;
         }
         parentObj1.sw_gear_obj = match_rect.parent_obj;
     }
 }
 // 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);
 }
Beispiel #4
0
    // Token: 0x06001AFF RID: 6911 RVA: 0x000F573C File Offset: 0x000F393C
    private static void gmGmkSsEmeraldDefFunc(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;
        GMS_PLAYER_WORK            gms_PLAYER_WORK    = (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 == (OBS_OBJECT_WORK)gms_ENEMY_COM_WORK)
        {
            return;
        }

        GmSound.PlayJingle(3U, 0);
        GmSound.PlaySE("Special5");
        AppMain.GmComEfctCreateRing(gms_ENEMY_COM_WORK.obj_work.pos.x, gms_ENEMY_COM_WORK.obj_work.pos.y);
        AppMain.gmGmkSsEmeraldEfctKill();
        gms_ENEMY_COM_WORK.obj_work.flag   |= 4U;
        AppMain.g_gm_main_system.game_flag |= 65536U;
    }
Beispiel #5
0
 private static AppMain.OBS_OBJECT_WORK GmGmkScrewInit(
     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_ENEMY_COM_WORK()), "GMK_SCREW");
     AppMain.GMS_ENEMY_COM_WORK gmsEnemyComWork = (AppMain.GMS_ENEMY_COM_WORK)work;
     work.move_flag |= 8480U;
     gmsEnemyComWork.rect_work[0].flag &= 4294967291U;
     gmsEnemyComWork.rect_work[1].flag &= 4294967291U;
     AppMain.OBS_RECT_WORK pRec = gmsEnemyComWork.rect_work[2];
     pRec.ppHit = (AppMain.OBS_RECT_WORK_Delegate1)null;
     pRec.ppDef = new AppMain.OBS_RECT_WORK_Delegate1(AppMain.gmGmkScrewDefFunc);
     AppMain.ObjRectAtkSet(pRec, (ushort)0, (short)0);
     AppMain.ObjRectDefSet(pRec, (ushort)65534, (short)0);
     if (((int)eve_rec.flag & AppMain.GMD_GMK_SCREW_EVE_FLAG_LEFT) != 0)
     {
         AppMain.ObjRectWorkSet(pRec, (short)-4, (short)-8, (short)-16, (short)0);
     }
     else
     {
         AppMain.ObjRectWorkSet(pRec, (short)4, (short)-8, (short)16, (short)0);
     }
     work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkScrewMain);
     return(work);
 }
Beispiel #6
0
 // Token: 0x060008E3 RID: 2275 RVA: 0x0005104C File Offset: 0x0004F24C
 public static void gmGmkBreakObjStart(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_BOBJ_WORK gms_GMK_BOBJ_WORK = (AppMain.GMS_GMK_BOBJ_WORK)obj_work;
     gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.obj    = obj_work;
     gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.width  = ( ushort )AppMain.tbl_gm_gmk_bobj_col_rect[gms_GMK_BOBJ_WORK.zone_type][0];
     gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.height = ( ushort )AppMain.tbl_gm_gmk_bobj_col_rect[gms_GMK_BOBJ_WORK.zone_type][1];
     gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.ofst_x = AppMain.tbl_gm_gmk_bobj_col_rect[gms_GMK_BOBJ_WORK.zone_type][2];
     gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.ofst_y = AppMain.tbl_gm_gmk_bobj_col_rect[gms_GMK_BOBJ_WORK.zone_type][3];
     gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.dir    = 0;
     gms_GMK_BOBJ_WORK.breakrect_left  = ( short )(gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.ofst_x - 4);
     gms_GMK_BOBJ_WORK.breakrect_right = ( short )(gms_GMK_BOBJ_WORK.breakrect_left + ( short )gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.width + 4);
     gms_GMK_BOBJ_WORK.breakrect_top   = ( short )(gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.ofst_y - 4);
     gms_GMK_BOBJ_WORK.gmk_work.ene_com.rect_work[1].flag &= 4294967291U;
     AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_GMK_BOBJ_WORK.gmk_work.ene_com.rect_work[0];
     obs_RECT_WORK.ppDef = AppMain.gmGmkBreakObjHit;
     obs_RECT_WORK.ppHit = null;
     AppMain.ObjRectAtkSet(obs_RECT_WORK, 0, 0);
     AppMain.ObjRectDefSet(obs_RECT_WORK, 65534, 0);
     AppMain.ObjRectWorkSet(obs_RECT_WORK, AppMain.tbl_gm_gmk_bobj_col_rect[gms_GMK_BOBJ_WORK.zone_type][4], AppMain.tbl_gm_gmk_bobj_col_rect[gms_GMK_BOBJ_WORK.zone_type][5], AppMain.tbl_gm_gmk_bobj_col_rect[gms_GMK_BOBJ_WORK.zone_type][6], AppMain.tbl_gm_gmk_bobj_col_rect[gms_GMK_BOBJ_WORK.zone_type][7]);
     obs_RECT_WORK       = gms_GMK_BOBJ_WORK.gmk_work.ene_com.rect_work[2];
     obs_RECT_WORK.ppDef = null;
     obs_RECT_WORK.ppHit = null;
     AppMain.ObjRectAtkSet(obs_RECT_WORK, 0, 0);
     AppMain.ObjRectDefSet(obs_RECT_WORK, 65534, 0);
     AppMain.ObjRectWorkSet(obs_RECT_WORK, gms_GMK_BOBJ_WORK.breakrect_left, gms_GMK_BOBJ_WORK.breakrect_top, gms_GMK_BOBJ_WORK.breakrect_right, 0);
     gms_GMK_BOBJ_WORK.hitpass  = false;
     gms_GMK_BOBJ_WORK.hitcheck = 0;
     obj_work.ppFunc            = AppMain.gmGmkBreakObjStay;
 }
Beispiel #7
0
    // Token: 0x0600179F RID: 6047 RVA: 0x000D10FC File Offset: 0x000CF2FC
    private static OBS_OBJECT_WORK GmGmkSsTimeInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
    {
        OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_ENEMY_3D_WORK(), "GMK_SS_TIME");

        AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK;
        obs_OBJECT_WORK.view_out_ofst -= 128;
        uint num = (uint)(eve_rec.flag & 3);

        num = AppMain.MTM_MATH_CLIP(num, 0U, 2U);
        obs_OBJECT_WORK.user_work = num;
        AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_ss_time_obj_3d_list[( int )(( UIntPtr )num)], gms_ENEMY_3D_WORK.obj_3d);
        obs_OBJECT_WORK.pos.z      = -131072;
        obs_OBJECT_WORK.move_flag |= 8448U;
        gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.flag |= 134217728U;
        obs_OBJECT_WORK.disp_flag             |= 4194304U;
        obs_OBJECT_WORK.obj_3d.use_light_flag &= 4294967294U;
        obs_OBJECT_WORK.obj_3d.use_light_flag |= 2U;
        obs_OBJECT_WORK.scale.x = (obs_OBJECT_WORK.scale.y = (obs_OBJECT_WORK.scale.z = 6144));
        obs_OBJECT_WORK.ppFunc  = AppMain.gmGmkSsTimeMain;
        gms_ENEMY_3D_WORK.ene_com.rect_work[0].flag &= 4294967291U;
        AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[2];
        obs_RECT_WORK.ppDef = AppMain.gmGmkSsTimeDefFunc;
        AppMain.ObjRectDefSet(obs_RECT_WORK, 65534, 0);
        AppMain.ObjRectWorkSet(obs_RECT_WORK, -6, -6, 6, 6);
        return(obs_OBJECT_WORK);
    }
Beispiel #8
0
    private static void gmGmkWaterSliderSetRect(
        AppMain.GMS_ENEMY_3D_WORK gimmick_work,
        uint slider_type)
    {
        AppMain.OBS_RECT_WORK pRec = gimmick_work.ene_com.rect_work[2];
        short num1 = 0;
        short num2 = 0;
        short num3 = 0;

        switch (slider_type)
        {
        case 1:
        case 5:
            num1 = (short)-64;
            num3 = (short)32;
            break;

        case 2:
        case 6:
            num1 = (short)-64;
            num3 = (short)64;
            break;

        case 3:
        case 7:
            num1 = (short)-64;
            num3 = (short)128;
            break;
        }
        AppMain.ObjRectWorkZSet(pRec, (short)((int)num1 - 8), (short)-8, (short)-500, (short)((int)num2 + 8), (short)((int)num3 + 8), (short)500);
        AppMain.ObjRectDefSet(pRec, (ushort)65534, (short)0);
        pRec.ppDef = new AppMain.OBS_RECT_WORK_Delegate1(AppMain.gmGmkWaterSliderDefFunc);
    }
 // Token: 0x06001035 RID: 4149 RVA: 0x0008CF48 File Offset: 0x0008B148
 public static AppMain.OBS_OBJECT_WORK GmEneMoguInit(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_ENE_MOGU_WORK(), "ENE_MOGU");
     AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK;
     AppMain.GMS_ENE_MOGU_WORK gms_ENE_MOGU_WORK = (AppMain.GMS_ENE_MOGU_WORK)obs_OBJECT_WORK;
     AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_ene_mogu_obj_3d_list[0], gms_ENEMY_3D_WORK.obj_3d);
     AppMain.ObjObjectAction3dNNMotionLoad(obs_OBJECT_WORK, 0, true, AppMain.ObjDataGet(676), null, 0, null);
     AppMain.ObjDrawObjectSetToon(obs_OBJECT_WORK);
     obs_OBJECT_WORK.pos.z = 0;
     AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[1];
     AppMain.ObjRectWorkSet(obs_RECT_WORK, -11, -24, 11, 0);
     obs_RECT_WORK.flag |= 4U;
     obs_RECT_WORK       = gms_ENEMY_3D_WORK.ene_com.rect_work[0];
     AppMain.ObjRectWorkSet(obs_RECT_WORK, -19, -32, 19, 0);
     obs_RECT_WORK.flag |= 4U;
     gms_ENEMY_3D_WORK.ene_com.rect_work[2].flag &= 4294967291U;
     obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[2];
     AppMain.ObjRectWorkSet(obs_RECT_WORK, -19, -32, 19, 0);
     obs_RECT_WORK.flag &= 4294967291U;
     AppMain.ObjObjectFieldRectSet(obs_OBJECT_WORK, -4, -44, 4, -38);
     obs_OBJECT_WORK.move_flag |= 128U;
     if ((eve_rec.flag & 1) == 0)
     {
         obs_OBJECT_WORK.disp_flag |= 1U;
     }
     obs_OBJECT_WORK.user_work      = ( uint )(obs_OBJECT_WORK.pos.x + (( int )eve_rec.left << 12));
     obs_OBJECT_WORK.user_flag      = ( uint )(obs_OBJECT_WORK.pos.x + (( int )(eve_rec.left + ( sbyte )eve_rec.width) << 12));
     gms_ENE_MOGU_WORK.spd_dec      = 102;
     gms_ENE_MOGU_WORK.spd_dec_dist = 20480;
     gms_ENE_MOGU_WORK.flag         = 0U;
     AppMain.gmEneMoguWaitInit(obs_OBJECT_WORK);
     obs_OBJECT_WORK.obj_3d.use_light_flag &= 4294967294U;
     obs_OBJECT_WORK.obj_3d.use_light_flag |= 64U;
     return(obs_OBJECT_WORK);
 }
Beispiel #10
0
 private static void gmGmkSeesawStart(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_SEESAW_WORK gmsGmkSeesawWork = (AppMain.GMS_GMK_SEESAW_WORK)obj_work;
     gmsGmkSeesawWork.gmk_work.ene_com.rect_work[1].flag &= 4294967291U;
     AppMain.OBS_RECT_WORK pRec1 = gmsGmkSeesawWork.gmk_work.ene_com.rect_work[2];
     pRec1.ppDef = (AppMain.OBS_RECT_WORK_Delegate1)null;
     pRec1.ppHit = (AppMain.OBS_RECT_WORK_Delegate1)null;
     AppMain.ObjRectAtkSet(pRec1, (ushort)0, (short)0);
     AppMain.ObjRectDefSet(pRec1, (ushort)65534, (short)0);
     AppMain.ObjRectWorkSet(pRec1, (short)-48, (short)-24, (short)48, (short)0);
     AppMain.OBS_RECT_WORK pRec2 = gmsGmkSeesawWork.gmk_work.ene_com.rect_work[0];
     pRec2.flag |= 4U;
     pRec2.ppDef = (AppMain.OBS_RECT_WORK_Delegate1)null;
     pRec2.ppHit = (AppMain.OBS_RECT_WORK_Delegate1)null;
     AppMain.ObjRectWorkSet(pRec2, (short)-2, (short)-2, (short)2, (short)2);
     obj_work.flag &= 4294967293U;
     gmsGmkSeesawWork.initial_tilt  = gmsGmkSeesawWork.tilt;
     gmsGmkSeesawWork.tilt_d        = (short)0;
     gmsGmkSeesawWork.tilt_se_timer = (short)0;
     if (AppMain.seesaw_alive[(int)gmsGmkSeesawWork.seesaw_id] == (short)0)
     {
         AppMain.seesaw_tilt[(int)gmsGmkSeesawWork.seesaw_id] = gmsGmkSeesawWork.tilt;
     }
     else
     {
         gmsGmkSeesawWork.tilt = AppMain.seesaw_tilt[(int)gmsGmkSeesawWork.seesaw_id];
     }
     obj_work.dir.z = (ushort)gmsGmkSeesawWork.tilt;
     ++AppMain.seesaw_alive[(int)gmsGmkSeesawWork.seesaw_id];
     AppMain.mtTaskChangeTcbDestructor(obj_work.tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmGmkSeesawExitTCB));
     obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkSeesawStay);
 }
Beispiel #11
0
 public static AppMain.OBS_OBJECT_WORK GmEneTStarNeedleInit(
     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_T_STAR_WORK()), "ENE_T_STAR");
     AppMain.GMS_ENEMY_3D_WORK   gmsEnemy3DWork  = (AppMain.GMS_ENEMY_3D_WORK)work;
     AppMain.GMS_ENE_T_STAR_WORK gmsEneTStarWork = (AppMain.GMS_ENE_T_STAR_WORK)work;
     AppMain.ObjObjectCopyAction3dNNModel(work, AppMain.gm_ene_t_star_obj_3d_list[1], gmsEnemy3DWork.obj_3d);
     AppMain.ObjObjectAction3dNNMotionLoad(work, 0, true, AppMain.ObjDataGet(682), (string)null, 0, (AppMain.AMS_AMB_HEADER)null);
     AppMain.ObjDrawObjectSetToon(work);
     work.pos.z = 655360;
     AppMain.OBS_RECT_WORK pRec1 = gmsEnemy3DWork.ene_com.rect_work[1];
     AppMain.ObjRectWorkSet(pRec1, (short)-11, (short)-12, (short)11, (short)12);
     pRec1.flag |= 4U;
     gmsEnemy3DWork.ene_com.rect_work[2].flag &= 4294967291U;
     AppMain.OBS_RECT_WORK pRec2 = gmsEnemy3DWork.ene_com.rect_work[2];
     AppMain.ObjRectWorkSet(pRec2, (short)-19, (short)-16, (short)19, (short)16);
     pRec2.flag                 &= 4294967291U;
     work.disp_flag             |= 4194304U;
     work.move_flag             &= 4294967167U;
     work.move_flag             |= 256U;
     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));
     work.ppFunc                 = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneTStarNeedleMain);
     work.scale.x                = AppMain.FX_F32_TO_FX32(1.25f);
     work.scale.y                = AppMain.FX_F32_TO_FX32(1.25f);
     work.scale.z                = AppMain.FX_F32_TO_FX32(1.25f);
     work.obj_3d.use_light_flag &= 4294967294U;
     work.obj_3d.use_light_flag |= 64U;
     return(work);
 }
 // Token: 0x060008C9 RID: 2249 RVA: 0x0004F83C File Offset: 0x0004DA3C
 private static void gmGmkActNeedleFwMain(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_NEEDLE_WORK gms_GMK_NEEDLE_WORK = (AppMain.GMS_GMK_NEEDLE_WORK)gms_ENEMY_3D_WORK;
     AppMain.OBS_RECT_WORK       obs_RECT_WORK       = gms_ENEMY_3D_WORK.ene_com.rect_work[1];
     if (gms_GMK_NEEDLE_WORK.needle_type == 4)
     {
         AppMain.OBS_OBJECT_WORK rider_obj = gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.rider_obj;
         if (rider_obj != null && rider_obj.ride_obj == (AppMain.OBS_OBJECT_WORK)gms_ENEMY_3D_WORK)
         {
             if (rider_obj.obj_type == 1)
             {
                 AppMain.amFlagOff(ref obj_work.flag, 2U);
             }
         }
         else
         {
             AppMain.amFlagOn(ref obj_work.flag, 2U);
         }
     }
     if (gms_GMK_NEEDLE_WORK.timer >= 60)
     {
         gms_GMK_NEEDLE_WORK.timer = 0;
         AppMain.gmGmkActNeedleScalingInit(obj_work);
     }
     else
     {
         gms_GMK_NEEDLE_WORK.timer++;
     }
     if ((gms_GMK_NEEDLE_WORK.scale_flag & 1U) != 0U)
     {
         AppMain.gmGmkActNeedleSetScaleColRect(obj_work);
     }
 }
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
    // Token: 0x06001576 RID: 5494 RVA: 0x000BA64C File Offset: 0x000B884C
    private static void gmGmkFlipperDefFuncLR(AppMain.OBS_RECT_WORK gimmick_rect, AppMain.OBS_RECT_WORK target_rect)
    {
        OBS_OBJECT_WORK parent_obj = gimmick_rect.parent_obj;

        AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)parent_obj;
        OBS_OBJECT_WORK           parent_obj2       = target_rect.parent_obj;

        if (parent_obj2.obj_type != 1)
        {
            return;
        }
        gms_ENEMY_3D_WORK.ene_com.target_obj = parent_obj2;
        int num  = 86016;
        int num2 = 0;

        if (( int )gms_ENEMY_3D_WORK.ene_com.eve_rec.width * 1000 == 0)
        {
            if (parent_obj2.pos.x < parent_obj.pos.x)
            {
                parent_obj.user_flag = 0U;
                num *= -1;
            }
            else
            {
                parent_obj.user_flag = 1U;
            }
        }
        else
        {
            parent_obj.user_flag = 0U;
            num *= -1;
        }
        int num3 = AppMain.FX_F32_TO_FX32((100f + (float)gms_ENEMY_3D_WORK.ene_com.eve_rec.left) * 0.01f);

        if (num3 < 0)
        {
            num3 = 0;
        }
        int num4 = AppMain.FX_F32_TO_FX32((100f + (float)gms_ENEMY_3D_WORK.ene_com.eve_rec.top) * 0.01f);

        if (num4 < 0)
        {
            num4 = 0;
        }
        num  = AppMain.FX_Mul(num, num3);
        num2 = AppMain.FX_Mul(num2, num4);
        AppMain.gmGmkFlipperChangeModeHit(parent_obj);
        int no_spddown_timer = 12;

        if ((gms_ENEMY_3D_WORK.ene_com.eve_rec.flag & 2) != 0)
        {
            no_spddown_timer = 180;
        }
        AppMain.GmPlySeqInitPinball(( GMS_PLAYER_WORK )parent_obj2, num, num2, no_spddown_timer);
        AppMain.GMS_EFFECT_3DES_WORK gms_EFFECT_3DES_WORK = AppMain.GmEfctCmnEsCreate(parent_obj, 16);
        gms_EFFECT_3DES_WORK.efct_com.obj_work.pos.x = parent_obj2.pos.x;
        gms_EFFECT_3DES_WORK.efct_com.obj_work.pos.y = parent_obj2.pos.y;
        gms_EFFECT_3DES_WORK.efct_com.obj_work.pos.z = 131072;
        gms_EFFECT_3DES_WORK.efct_com.obj_work.dir.z = ( ushort )(AppMain.nnArcTan2(( double )AppMain.FX_FX32_TO_F32(num2), ( double )AppMain.FX_FX32_TO_F32(num)) - 16384);
    }
Beispiel #15
0
 // Token: 0x06000726 RID: 1830 RVA: 0x0003F934 File Offset: 0x0003DB34
 private static void gmBoss4CapsuleDamageDefFunc(AppMain.OBS_RECT_WORK my_rect, AppMain.OBS_RECT_WORK your_rect)
 {
     AppMain.OBS_OBJECT_WORK     parent_obj          = my_rect.parent_obj;
     AppMain.OBS_OBJECT_WORK     parent_obj2         = your_rect.parent_obj;
     AppMain.GMS_BOSS4_CAP_WORK  w                   = (AppMain.GMS_BOSS4_CAP_WORK)parent_obj;
     AppMain.GMS_BOSS4_BODY_WORK gms_BOSS4_BODY_WORK = (AppMain.GMS_BOSS4_BODY_WORK)parent_obj.parent_obj;
     if (parent_obj2 != null && 1 == parent_obj2.obj_type)
     {
         if (AppMain._cap_inv_flag > 0)
         {
             return;
         }
         AppMain.GmBoss4UtilSetPlayerAttackReaction(parent_obj2, parent_obj);
         AppMain.GmSoundPlaySE("Enemy");
         AppMain.GmBoss4CapsuleSetInvincible(30);
         AppMain.GmBoss4UtilInitNoHitTimer(gms_BOSS4_BODY_WORK.nohit_work, (AppMain.GMS_ENEMY_COM_WORK)gms_BOSS4_BODY_WORK, 25);
         if (!AppMain.IS_FLAG(4U, w))
         {
             AppMain.SET_FLAG(1073741824U, w);
             if ((gms_BOSS4_BODY_WORK.flag[0] & 4096U) == 0U)
             {
                 gms_BOSS4_BODY_WORK.flag[0]    |= 2048U;
                 gms_BOSS4_BODY_WORK.avoid_timer = 90;
             }
         }
     }
 }
Beispiel #16
0
    // Token: 0x06000788 RID: 1928 RVA: 0x00042BE0 File Offset: 0x00040DE0
    public static OBS_OBJECT_WORK GmEneTStarNeedleInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
    {
        OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_ENE_T_STAR_WORK(), "ENE_T_STAR");

        AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK;
        AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_ene_t_star_obj_3d_list[1], gms_ENEMY_3D_WORK.obj_3d);
        AppMain.ObjObjectAction3dNNMotionLoad(obs_OBJECT_WORK, 0, true, AppMain.ObjDataGet(682), null, 0, null);
        AppMain.ObjDrawObjectSetToon(obs_OBJECT_WORK);
        obs_OBJECT_WORK.pos.z = 655360;
        AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[1];
        AppMain.ObjRectWorkSet(obs_RECT_WORK, -11, -12, 11, 12);
        obs_RECT_WORK.flag |= 4U;
        gms_ENEMY_3D_WORK.ene_com.rect_work[2].flag &= 4294967291U;
        obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[2];
        AppMain.ObjRectWorkSet(obs_RECT_WORK, -19, -16, 19, 16);
        obs_RECT_WORK.flag                    &= 4294967291U;
        obs_OBJECT_WORK.disp_flag             |= 4194304U;
        obs_OBJECT_WORK.move_flag             &= 4294967167U;
        obs_OBJECT_WORK.move_flag             |= 256U;
        obs_OBJECT_WORK.user_work              = ( uint )(obs_OBJECT_WORK.pos.x + (( int )eve_rec.left << 12));
        obs_OBJECT_WORK.user_flag              = ( uint )(obs_OBJECT_WORK.pos.x + (( int )(eve_rec.left + ( sbyte )eve_rec.width) << 12));
        obs_OBJECT_WORK.ppFunc                 = AppMain.gmEneTStarNeedleMain;
        obs_OBJECT_WORK.scale.x                = AppMain.FX_F32_TO_FX32(1.25f);
        obs_OBJECT_WORK.scale.y                = AppMain.FX_F32_TO_FX32(1.25f);
        obs_OBJECT_WORK.scale.z                = AppMain.FX_F32_TO_FX32(1.25f);
        obs_OBJECT_WORK.obj_3d.use_light_flag &= 4294967294U;
        obs_OBJECT_WORK.obj_3d.use_light_flag |= 64U;
        return(obs_OBJECT_WORK);
    }
Beispiel #17
0
    // Token: 0x0600155D RID: 5469 RVA: 0x000B9970 File Offset: 0x000B7B70
    private static void gmGmkLoopDefFunc(AppMain.OBS_RECT_WORK own_rect, AppMain.OBS_RECT_WORK target_rect)
    {
        AppMain.UNREFERENCED_PARAMETER(target_rect);
        OBS_OBJECT_WORK parent_obj = own_rect.parent_obj;

        parent_obj.user_flag |= 1U;
    }
Beispiel #18
0
    // Token: 0x060017AB RID: 6059 RVA: 0x000D161C File Offset: 0x000CF81C
    private static void gmGmkSeesawStart(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_SEESAW_WORK gms_GMK_SEESAW_WORK = (AppMain.GMS_GMK_SEESAW_WORK)obj_work;
        gms_GMK_SEESAW_WORK.gmk_work.ene_com.rect_work[1].flag &= 4294967291U;
        AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_GMK_SEESAW_WORK.gmk_work.ene_com.rect_work[2];
        obs_RECT_WORK.ppDef = null;
        obs_RECT_WORK.ppHit = null;
        AppMain.ObjRectAtkSet(obs_RECT_WORK, 0, 0);
        AppMain.ObjRectDefSet(obs_RECT_WORK, 65534, 0);
        AppMain.ObjRectWorkSet(obs_RECT_WORK, -48, -24, 48, 0);
        obs_RECT_WORK       = gms_GMK_SEESAW_WORK.gmk_work.ene_com.rect_work[0];
        obs_RECT_WORK.flag |= 4U;
        obs_RECT_WORK.ppDef = null;
        obs_RECT_WORK.ppHit = null;
        AppMain.ObjRectWorkSet(obs_RECT_WORK, -2, -2, 2, 2);
        obj_work.flag &= 4294967293U;
        gms_GMK_SEESAW_WORK.initial_tilt  = gms_GMK_SEESAW_WORK.tilt;
        gms_GMK_SEESAW_WORK.tilt_d        = 0;
        gms_GMK_SEESAW_WORK.tilt_se_timer = 0;
        if (AppMain.seesaw_alive[( int )gms_GMK_SEESAW_WORK.seesaw_id] == 0)
        {
            AppMain.seesaw_tilt[( int )gms_GMK_SEESAW_WORK.seesaw_id] = gms_GMK_SEESAW_WORK.tilt;
        }
        else
        {
            gms_GMK_SEESAW_WORK.tilt = AppMain.seesaw_tilt[( int )gms_GMK_SEESAW_WORK.seesaw_id];
        }
        obj_work.dir.z = ( ushort )gms_GMK_SEESAW_WORK.tilt;
        short[] array     = AppMain.seesaw_alive;
        ushort  seesaw_id = gms_GMK_SEESAW_WORK.seesaw_id;

        array[( int )seesaw_id] = ( short )(array[( int )seesaw_id] + 1);
        AppMain.mtTaskChangeTcbDestructor(obj_work.tcb, AppMain.gmGmkSeesawExitTCB);
        obj_work.ppFunc = AppMain.gmGmkSeesawStay;
    }
Beispiel #19
0
    // Token: 0x060017A3 RID: 6051 RVA: 0x000D1308 File Offset: 0x000CF508
    private static void gmGmkSsTimeDefFunc(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;
        GMS_PLAYER_WORK            gms_PLAYER_WORK    = (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 == ( OBS_OBJECT_WORK )gms_ENEMY_COM_WORK)
        {
            return;
        }
        AppMain.GMS_EFFECT_3DES_WORK gms_EFFECT_3DES_WORK = AppMain.GmEfctZoneEsCreate(gms_ENEMY_COM_WORK.obj_work, 5, 17);
        gms_EFFECT_3DES_WORK.efct_com.obj_work.flag  |= 512U;
        gms_EFFECT_3DES_WORK.efct_com.obj_work.ppFunc = AppMain.gmGmkSsTimeEfctMain;
        gms_EFFECT_3DES_WORK = AppMain.GmEfctZoneEsCreate(gms_ENEMY_COM_WORK.obj_work, 5, AppMain.gm_gmk_ss_time_add_msg[AppMain.GsEnvGetLanguage()]);
        gms_EFFECT_3DES_WORK.efct_com.obj_work.flag  |= 512U;
        gms_EFFECT_3DES_WORK.efct_com.obj_work.ppFunc = AppMain.gmGmkSsTimeEfctMain;
        gms_EFFECT_3DES_WORK.obj_3des.command_state   = 10U;
        gms_ENEMY_COM_WORK.enemy_flag |= 65536U;
        GmSound.PlaySE("Special6");
        AppMain.GmFixRequestTimerFlash();
        AppMain.g_gm_main_system.game_time += AppMain.gm_gmk_ss_time_add_subtract[( int )(( UIntPtr )gms_ENEMY_COM_WORK.obj_work.user_work)];
        gms_ENEMY_COM_WORK.obj_work.flag   |= 4U;
    }
Beispiel #20
0
 private static void gmBoss4CapsuleAtkHitFunc(
     AppMain.OBS_RECT_WORK my_rect,
     AppMain.OBS_RECT_WORK your_rect)
 {
     ((AppMain.GMS_BOSS4_BODY_WORK)my_rect.parent_obj.parent_obj).flag[0] |= 268435456U;
     AppMain.GmEnemyDefaultAtkFunc(my_rect, your_rect);
 }
    // 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 #22
0
 private static void gmBoss4CapsuleDamageDefFunc(
     AppMain.OBS_RECT_WORK my_rect,
     AppMain.OBS_RECT_WORK your_rect)
 {
     AppMain.OBS_OBJECT_WORK     parentObj1 = my_rect.parent_obj;
     AppMain.OBS_OBJECT_WORK     parentObj2 = your_rect.parent_obj;
     AppMain.GMS_BOSS4_CAP_WORK  w          = (AppMain.GMS_BOSS4_CAP_WORK)parentObj1;
     AppMain.GMS_BOSS4_BODY_WORK parentObj3 = (AppMain.GMS_BOSS4_BODY_WORK)parentObj1.parent_obj;
     if (parentObj2 == null || (ushort)1 != parentObj2.obj_type || AppMain._cap_inv_flag > 0)
     {
         return;
     }
     AppMain.GmBoss4UtilSetPlayerAttackReaction(parentObj2, parentObj1);
     AppMain.GmSoundPlaySE("Enemy");
     AppMain.GmBoss4CapsuleSetInvincible(30);
     AppMain.GmBoss4UtilInitNoHitTimer(parentObj3.nohit_work, (AppMain.GMS_ENEMY_COM_WORK)parentObj3, 25);
     if (AppMain.IS_FLAG(4U, w))
     {
         return;
     }
     AppMain.SET_FLAG(1073741824U, w);
     if (((int)parentObj3.flag[0] & 4096) != 0)
     {
         return;
     }
     parentObj3.flag[0]    |= 2048U;
     parentObj3.avoid_timer = 90;
 }
Beispiel #23
0
 // Token: 0x06000DB5 RID: 3509 RVA: 0x00079208 File Offset: 0x00077408
 private static void gmGmkSteamPipeStart(OBS_OBJECT_WORK obj_work, int type)
 {
     AppMain.GMS_GMK_STEAMP_WORK gms_GMK_STEAMP_WORK = (AppMain.GMS_GMK_STEAMP_WORK)obj_work;
     if (type >= 4 && type < 8)
     {
         gms_GMK_STEAMP_WORK.gmk_work.ene_com.rect_work[0].flag &= 4294967291U;
         gms_GMK_STEAMP_WORK.gmk_work.ene_com.rect_work[1].flag &= 4294967291U;
         AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_GMK_STEAMP_WORK.gmk_work.ene_com.rect_work[2];
         obs_RECT_WORK.ppHit = null;
         if (type < 6)
         {
             obs_RECT_WORK.ppDef = AppMain.gmGmkSteamGateHit;
             gms_GMK_STEAMP_WORK.gmk_work.ene_com.col_work.obj_col.obj    = obj_work;
             gms_GMK_STEAMP_WORK.gmk_work.ene_com.col_work.obj_col.width  = 32;
             gms_GMK_STEAMP_WORK.gmk_work.ene_com.col_work.obj_col.height = 16;
             gms_GMK_STEAMP_WORK.gmk_work.ene_com.col_work.obj_col.ofst_x = -14;
             gms_GMK_STEAMP_WORK.gmk_work.ene_com.col_work.obj_col.ofst_y = -34;
             gms_GMK_STEAMP_WORK.gmk_work.ene_com.col_work.obj_col.dir    = 0;
         }
         else
         {
             obs_RECT_WORK.ppDef = AppMain.gmGmkSteamExitHit;
         }
         AppMain.ObjRectAtkSet(obs_RECT_WORK, 0, 0);
         AppMain.ObjRectDefSet(obs_RECT_WORK, 65534, 0);
         AppMain.ObjRectWorkSet(obs_RECT_WORK, AppMain.tbl_gm_gmk_steampipe_rect[type][0], AppMain.tbl_gm_gmk_steampipe_rect[type][1], AppMain.tbl_gm_gmk_steampipe_rect[type][2], AppMain.tbl_gm_gmk_steampipe_rect[type][3]);
         obs_RECT_WORK.flag |= 4U;
         obj_work.flag      &= 4294967293U;
     }
     gms_GMK_STEAMP_WORK.obj_type = type;
     gms_GMK_STEAMP_WORK.status   = 0;
     obj_work.ppFunc = AppMain.gmGmkSteamPipeStay;
 }
Beispiel #24
0
 // Token: 0x06000F0E RID: 3854 RVA: 0x000845BD File Offset: 0x000827BD
 public static void ObjRectDefSet(AppMain.OBS_RECT_WORK pRec, ushort usDefFlag, short sDefPower)
 {
     pRec.flag     |= 4U;
     pRec.def_flag  = usDefFlag;
     pRec.def_power = sDefPower;
     pRec.flag     &= 4294967039U;
 }
Beispiel #25
0
 private static AppMain.OBS_OBJECT_WORK GmEneUniuniNeedleInit(
     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_UNIUNI_WORK()), "ENE_UNIUNI");
     AppMain.GMS_ENEMY_3D_WORK   gmsEnemy3DWork   = (AppMain.GMS_ENEMY_3D_WORK)work;
     AppMain.GMS_ENE_UNIUNI_WORK gmsEneUniuniWork = (AppMain.GMS_ENE_UNIUNI_WORK)work;
     AppMain.ObjObjectCopyAction3dNNModel(work, AppMain.gm_ene_uniuni_obj_3d_list[1], gmsEnemy3DWork.obj_3d);
     AppMain.ObjObjectAction3dNNMotionLoad(work, 0, true, AppMain.ObjDataGet(695), (string)null, 0, (AppMain.AMS_AMB_HEADER)null);
     AppMain.ObjDrawObjectSetToon(work);
     work.pos.z = 655360;
     AppMain.OBS_RECT_WORK pRec1 = gmsEnemy3DWork.ene_com.rect_work[1];
     AppMain.ObjRectWorkSet(pRec1, (short)-4, (short)-4, (short)4, (short)4);
     pRec1.flag |= 4U;
     AppMain.OBS_RECT_WORK pRec2 = gmsEnemy3DWork.ene_com.rect_work[2];
     AppMain.ObjRectWorkSet(pRec2, (short)-19, (short)0, (short)19, (short)32);
     pRec2.flag &= 4294967291U;
     gmsEnemy3DWork.ene_com.enemy_flag |= 32768U;
     work.move_flag &= 4294967167U;
     work.move_flag |= 256U;
     work.disp_flag |= 4194304U;
     AppMain.gmEneUniuniNeedleWaitInit(work);
     work.obj_3d.use_light_flag &= 4294967294U;
     work.obj_3d.use_light_flag |= 64U;
     return(work);
 }
Beispiel #26
0
    // Token: 0x06000F16 RID: 3862 RVA: 0x00084AC0 File Offset: 0x00082CC0
    private static void objRectCheckGroup(AppMain.ArrayPointer <AppMain.OBS_RECT_WORK> GroupA, AppMain.ArrayPointer <AppMain.OBS_RECT_WORK> GroupD, byte GroupNumA, byte GroupNumD, byte Index)
    {
        int    x    = 0;
        int    x2   = 0;
        int    x3   = 0;
        int    x4   = 0;
        int    num  = 0;
        int    num2 = 0;
        ushort w    = 0;
        ushort w2   = 0;
        ushort w3   = 0;
        ushort w4   = 0;
        ushort num3 = 0;
        ushort num4 = 0;

        for (ushort num5 = 0; num5 < ( ushort )GroupNumA; num5 += 1)
        {
            AppMain.OBS_RECT_WORK obs_RECT_WORK = GroupA[(int)num5];
            if (obs_RECT_WORK != null && (obs_RECT_WORK.flag & 2048U) == 0U && (obs_RECT_WORK.flag & 4U) != 0U && (( int )obs_RECT_WORK.target_g_flag & 1 << ( int )Index) != 0 && (obs_RECT_WORK.parent_obj == null || (obs_RECT_WORK.parent_obj.flag & 6U) == 0U))
            {
                AppMain.ObjRectLTBSet(obs_RECT_WORK, ref x, ref x2, ref num);
                AppMain.ObjRectWHDSet(obs_RECT_WORK, ref w, ref w2, ref num3);
                for (ushort num6 = 0; num6 < ( ushort )GroupNumD; num6 += 1)
                {
                    AppMain.OBS_RECT_WORK obs_RECT_WORK2 = GroupD[(int)num6];
                    if (GroupA[( int )num5] == null)
                    {
                        break;
                    }
                    if (obs_RECT_WORK2 != null && obs_RECT_WORK2 != obs_RECT_WORK && (obs_RECT_WORK2.parent_obj != obs_RECT_WORK.parent_obj || obs_RECT_WORK2.parent_obj == null) && ((obs_RECT_WORK2.flag | obs_RECT_WORK.flag) & 2048U) == 0U && (obs_RECT_WORK2.flag & 4U) != 0U && (obs_RECT_WORK2.parent_obj == null || (obs_RECT_WORK2.parent_obj.flag & 6U) == 0U))
                    {
                        AppMain.ObjRectLTBSet(obs_RECT_WORK2, ref x3, ref x4, ref num2);
                        AppMain.ObjRectWHDSet(obs_RECT_WORK2, ref w3, ref w4, ref num4);
                        if (((obs_RECT_WORK2.flag | obs_RECT_WORK.flag) & 524288U) != 0U || (AppMain.OBM_LINE_AND_LINE(x, ( int )w, x3, ( int )w3) && AppMain.OBM_LINE_AND_LINE(x2, ( int )w2, x4, ( int )w4)))
                        {
                            ushort num7 = AppMain.objRectCheckFuncCall(obs_RECT_WORK, obs_RECT_WORK2);
                            if ((num7 & 1) != 0)
                            {
                                if ((obs_RECT_WORK.flag & 65536U) != 0U)
                                {
                                    obs_RECT_WORK.flag |= 512U;
                                    obs_RECT_WORK.flag &= 4294901759U;
                                }
                                GroupA.SetPrimitive(( int )num5, null);
                            }
                            if ((num7 & 2) != 0)
                            {
                                if ((obs_RECT_WORK2.flag & 65536U) != 0U)
                                {
                                    obs_RECT_WORK2.flag |= 512U;
                                    obs_RECT_WORK2.flag &= 4294901759U;
                                }
                                GroupD.SetPrimitive(( int )num6, null);
                            }
                        }
                    }
                }
            }
        }
    }
Beispiel #27
0
 // Token: 0x06000E05 RID: 3589 RVA: 0x0007B91C File Offset: 0x00079B1C
 public static void gmEneKaniWalkInit(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.GmEneComActionSetDependHFlip(obj_work, 2, 2);
     obj_work.disp_flag |= 4U;
     obj_work.ppFunc     = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneKaniWalkMain);
     obj_work.move_flag &= 4294967291U;
     if ((obj_work.disp_flag & 1U) != 0U)
     {
         obj_work.spd.x = -2048;
     }
     else
     {
         obj_work.spd.x = 2048;
     }
     AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[1];
     AppMain.ObjRectWorkSet(obs_RECT_WORK, -11, -24, 11, 0);
     obs_RECT_WORK.flag |= 4U;
     AppMain.GMS_ENE_KANI_WORK gms_ENE_KANI_WORK = (AppMain.GMS_ENE_KANI_WORK)obj_work;
     if (gms_ENE_KANI_WORK.walk_s != 0)
     {
         gms_ENE_KANI_WORK.timer = 15;
         return;
     }
     gms_ENE_KANI_WORK.timer = ( int )(10 + AppMain.mtMathRand() % 20);
 }
Beispiel #28
0
 // Token: 0x06000F2E RID: 3886 RVA: 0x0008573C File Offset: 0x0008393C
 private static ushort ObjRectWorkCheck(AppMain.OBS_RECT_WORK pObj1, AppMain.OBS_RECT_WORK pObj2)
 {
     if ((pObj1.flag & 4U) != 0U && (pObj2.flag & 4U) != 0U && (pObj1.flag & 2048U) == 0U && (pObj2.flag & 2048U) == 0U)
     {
         int    x    = 0;
         int    x2   = 0;
         int    x3   = 0;
         int    x4   = 0;
         ushort w    = 0;
         ushort w2   = 0;
         ushort w3   = 0;
         ushort w4   = 0;
         int    num  = 0;
         int    num2 = 0;
         ushort num3 = 0;
         ushort num4 = 0;
         if (pObj1.parent_obj != null && (pObj1.parent_obj.flag & 6U) != 0U)
         {
             return(0);
         }
         if (pObj2.parent_obj != null && (pObj2.parent_obj.flag & 6U) != 0U)
         {
             return(0);
         }
         AppMain.ObjRectLTBSet(pObj1, ref x, ref x2, ref num);
         AppMain.ObjRectLTBSet(pObj2, ref x3, ref x4, ref num2);
         AppMain.ObjRectWHDSet(pObj1, ref w, ref w2, ref num3);
         AppMain.ObjRectWHDSet(pObj2, ref w3, ref w4, ref num4);
         if (AppMain.OBM_LINE_AND_LINE(x, ( int )w, x3, ( int )w3) && AppMain.OBM_LINE_AND_LINE(x2, ( int )w2, x4, ( int )w4))
         {
             return(1);
         }
     }
     return(0);
 }
 // Token: 0x06001B03 RID: 6915 RVA: 0x000F5864 File Offset: 0x000F3A64
 private static AppMain.OBS_OBJECT_WORK GmGmkPulleyBaseInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
 {
     pos_y -= 24576;
     AppMain.OBS_OBJECT_WORK   obs_OBJECT_WORK   = AppMain.GMM_ENEMY_CREATE_RIDE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_GMK_PULLEY_WORK(), "GMK_PULLEY_BASE");
     AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK;
     ((AppMain.GMS_GMK_PULLEY_WORK)obs_OBJECT_WORK).se_handle = null;
     AppMain.mtTaskChangeTcbDestructor(obs_OBJECT_WORK.tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmGmkPulleyBaseExit));
     AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_pulley_obj_3d_list[0], gms_ENEMY_3D_WORK.obj_3d);
     AppMain.ObjObjectAction3dNNMotionLoad(obs_OBJECT_WORK, 0, false, AppMain.ObjDataGet(821), null, 0, null);
     AppMain.ObjDrawObjectActionSet(obs_OBJECT_WORK, 0);
     obs_OBJECT_WORK.move_flag |= 8448U;
     obs_OBJECT_WORK.disp_flag |= 4194308U;
     gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.flag |= 134217728U;
     gms_ENEMY_3D_WORK.ene_com.rect_work[0].flag     &= 4294967291U;
     gms_ENEMY_3D_WORK.ene_com.rect_work[1].flag     &= 4294967291U;
     AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[2];
     obs_RECT_WORK.ppHit = null;
     obs_RECT_WORK.ppDef = new AppMain.OBS_RECT_WORK_Delegate1(AppMain.gmGmkPulleyDefFunc);
     AppMain.ObjRectAtkSet(obs_RECT_WORK, 0, 0);
     AppMain.ObjRectDefSet(obs_RECT_WORK, 65534, 0);
     AppMain.ObjRectWorkSet(obs_RECT_WORK, -4, 9, 4, 24);
     obs_RECT_WORK.flag    |= 1024U;
     obs_OBJECT_WORK.pos.z  = 0;
     obs_OBJECT_WORK.ppFunc = null;
     AppMain.OBS_OBJECT_WORK      obs_OBJECT_WORK2     = AppMain.GMM_EFFECT_CREATE_WORK(() => new AppMain.GMS_EFFECT_3DNN_WORK(), obs_OBJECT_WORK, 0, "GMK_PULLEY_ROT");
     AppMain.GMS_EFFECT_3DNN_WORK gms_EFFECT_3DNN_WORK = (AppMain.GMS_EFFECT_3DNN_WORK)obs_OBJECT_WORK2;
     AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK2, AppMain.gm_gmk_pulley_obj_3d_list[1], gms_EFFECT_3DNN_WORK.obj_3d);
     obs_OBJECT_WORK2.move_flag |= 8448U;
     obs_OBJECT_WORK2.disp_flag |= 4194304U;
     obs_OBJECT_WORK2.disp_flag &= 4294967039U;
     obs_OBJECT_WORK2.flag      |= 16U;
     obs_OBJECT_WORK2.ppFunc     = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkPulleyRotMain);
     ((AppMain.GMS_GMK_PULLEY_WORK)obs_OBJECT_WORK).efct_work = null;
     return(obs_OBJECT_WORK);
 }
Beispiel #30
0
 private static void gmGmkRockRideStopSetRect(AppMain.GMS_ENEMY_3D_WORK gimmick_work)
 {
     AppMain.OBS_RECT_WORK pRec = gimmick_work.ene_com.rect_work[2];
     pRec.flag |= 1024U;
     AppMain.ObjRectDefSet(pRec, ushort.MaxValue, (short)3);
     pRec.ppDef = (AppMain.OBS_RECT_WORK_Delegate1)null;
 }