Ejemplo n.º 1
0
 public static AppMain.OBS_RECT ObjRectAllSet(
     AppMain.OBS_RECT pRec,
     AppMain.VecFx32 pos,
     short cLeft,
     short cTop,
     short cBack,
     short cRight,
     short cBottom,
     short cFront)
 {
     pRec.pos.Assign(pos);
     pRec.left   = cLeft;
     pRec.top    = cTop;
     pRec.right  = cRight;
     pRec.bottom = cBottom;
     pRec.back   = cBack;
     pRec.front  = cFront;
     if ((int)pRec.right < (int)pRec.left)
     {
         AppMain.MTM_MATH_SWAP <short>(ref pRec.left, ref pRec.right);
     }
     if ((int)pRec.bottom < (int)pRec.top)
     {
         AppMain.MTM_MATH_SWAP <short>(ref pRec.top, ref pRec.bottom);
     }
     if ((int)pRec.front < (int)pRec.back)
     {
         AppMain.MTM_MATH_SWAP <short>(ref pRec.back, ref pRec.front);
     }
     return(pRec);
 }
Ejemplo n.º 2
0
    private static AppMain.VecFx32 gmGmkBobbinNormalizeVectorXY(AppMain.VecFx32 vec)
    {
        AppMain.VecFx32 vecFx32 = new AppMain.VecFx32();
        int             x       = AppMain.FX_Mul(vec.x, vec.x) + AppMain.FX_Mul(vec.y, vec.y);

        if (x == 0)
        {
            vecFx32.x = 4096;
            vecFx32.y = 0;
        }
        else
        {
            int v2 = AppMain.FX_Div(4096, AppMain.FX_Sqrt(x));
            vecFx32.x = AppMain.FX_Mul(vec.x, v2);
            vecFx32.y = AppMain.FX_Mul(vec.y, v2);
        }
        vecFx32.z = 0;
        if (AppMain.GSM_MAIN_STAGE_IS_SPSTAGE())
        {
            int dest_x = 0;
            int dest_y = 0;
            AppMain.ObjUtilGetRotPosXY(vecFx32.x, vecFx32.y, ref dest_x, ref dest_y, (ushort)-AppMain.g_gm_main_system.pseudofall_dir);
            vecFx32.x = dest_x;
            vecFx32.y = dest_y;
        }
        return(vecFx32);
    }
Ejemplo n.º 3
0
 private static float gmBoss3BodyUpdateMoveNormal(AppMain.GMS_BOSS3_BODY_WORK body_work)
 {
     AppMain.VecFx32 vecFx32_1 = new AppMain.VecFx32();
     ++body_work.move_counter;
     if ((double)body_work.move_counter >= (double)body_work.move_frame)
     {
         vecFx32_1.x = body_work.end_pos.x;
         vecFx32_1.y = body_work.end_pos.y;
         vecFx32_1.z = body_work.end_pos.z;
     }
     else
     {
         float           num       = (float)(0.5 * (1.0 - (double)AppMain.nnCos(AppMain.AKM_DEGtoA32(180f * (body_work.move_counter / body_work.move_frame)))));
         AppMain.VecFx32 vecFx32_2 = new AppMain.VecFx32();
         vecFx32_2.x = (int)((double)(body_work.end_pos.x - body_work.start_pos.x) * (double)num);
         vecFx32_2.y = (int)((double)(body_work.end_pos.y - body_work.start_pos.y) * (double)num);
         vecFx32_2.z = (int)((double)(body_work.end_pos.z - body_work.start_pos.z) * (double)num);
         vecFx32_1.x = body_work.start_pos.x + vecFx32_2.x;
         vecFx32_1.y = body_work.start_pos.y + vecFx32_2.y;
         vecFx32_1.z = body_work.start_pos.z + vecFx32_2.z;
     }
     AppMain.OBS_OBJECT_WORK obsObjectWork = AppMain.GMM_BS_OBJ((object)body_work);
     obsObjectWork.pos.x = vecFx32_1.x;
     obsObjectWork.pos.y = vecFx32_1.y;
     obsObjectWork.pos.z = vecFx32_1.z;
     return(body_work.move_frame - body_work.move_counter);
 }
Ejemplo n.º 4
0
    // Token: 0x06000707 RID: 1799 RVA: 0x0003E9C4 File Offset: 0x0003CBC4
    private static void GmBoss4UtilRotateVecFx32(ref AppMain.VecFx32 f, int angle)
    {
        AppMain.NNS_MATRIX nns_MATRIX = AppMain.GlobalPool <AppMain.NNS_MATRIX> .Alloc();

        nns_MATRIX.M00 = 1f;
        nns_MATRIX.M10 = 0f;
        nns_MATRIX.M20 = 0f;
        nns_MATRIX.M30 = 0f;
        nns_MATRIX.M01 = 0f;
        nns_MATRIX.M11 = 1f;
        nns_MATRIX.M21 = 0f;
        nns_MATRIX.M31 = 0f;
        nns_MATRIX.M02 = 0f;
        nns_MATRIX.M12 = 0f;
        nns_MATRIX.M22 = 1f;
        nns_MATRIX.M32 = 0f;
        nns_MATRIX.M03 = 0f;
        nns_MATRIX.M13 = 0f;
        nns_MATRIX.M23 = 0f;
        nns_MATRIX.M33 = 1f;
        AppMain.nnMakeRotateZMatrix(nns_MATRIX, angle);
        AppMain.nnTranslateMatrix(nns_MATRIX, nns_MATRIX, AppMain.FX_FX32_TO_F32(f.x), AppMain.FX_FX32_TO_F32(f.y), AppMain.FX_FX32_TO_F32(f.z));
        f.x = AppMain.FX_F32_TO_FX32(nns_MATRIX.M03);
        f.y = AppMain.FX_F32_TO_FX32(nns_MATRIX.M13);
        f.z = AppMain.FX_F32_TO_FX32(nns_MATRIX.M23);
        AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nns_MATRIX);
    }
Ejemplo n.º 5
0
    private static void gmBoss3BodyStateBattleEnter(AppMain.GMS_BOSS3_BODY_WORK body_work)
    {
        AppMain.OBS_OBJECT_WORK obsObjectWork = AppMain.GMM_BS_OBJ((object)body_work);
        AppMain.gmBoss3BodySetActionAllParts(body_work, 1);
        int num = AppMain.g_gm_main_system.map_fcol.right - AppMain.g_gm_main_system.map_fcol.left;

        AppMain.VecFx32 dest_pos = new AppMain.VecFx32((AppMain.g_gm_main_system.map_fcol.left + num / 2) * 4096, obsObjectWork.pos.y, obsObjectWork.pos.z);
        float           frame    = AppMain.gmBoss3BodyCalcMoveXNormalFrame(body_work, dest_pos.x, 4096);

        AppMain.gmBoss3BodyInitMoveNormal(body_work, dest_pos, frame);
        if (AppMain.gmBoss3BodyBattleCheckTurn(body_work) != 0)
        {
            short dest_angle;
            int   flag_positive;
            if (((int)obsObjectWork.disp_flag & 1) != 0)
            {
                obsObjectWork.disp_flag &= 4294967294U;
                dest_angle    = AppMain.GMD_BOSS3_ANGLE_RIGHT;
                flag_positive = 1;
            }
            else
            {
                obsObjectWork.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.gmBoss3BodyStateBattleUpdateMoveCenter);
        AppMain.gmBoss3EffAfterburnerRequestCreate(body_work);
    }
Ejemplo n.º 6
0
    private static AppMain.VecFx32 gmEneKamaGetPlayerVectorFx(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.VecFx32         vecFx32       = new AppMain.VecFx32();
        AppMain.GMS_PLAYER_WORK gmsPlayerWork = AppMain.g_gm_main_system.ply_work[0];
        int num1 = gmsPlayerWork.obj_work.pos.x - obj_work.pos.x;
        int num2 = gmsPlayerWork.obj_work.pos.y - obj_work.pos.y;

        if (num1 > AppMain.FX_F32_TO_FX32(1000f) || num1 < AppMain.FX_F32_TO_FX32(-1000f))
        {
            num1 = 1000;
        }
        if (num2 > AppMain.FX_F32_TO_FX32(1000f) || num2 < AppMain.FX_F32_TO_FX32(-1000f))
        {
            num2 = 1000;
        }
        int denom = AppMain.FX_Sqrt(AppMain.FX_Mul(num1, num1) + AppMain.FX_Mul(num2, num2));

        if (denom == 0)
        {
            vecFx32.x = 0;
            vecFx32.y = 0;
        }
        else
        {
            int v2 = AppMain.FX_Div(4096, denom);
            vecFx32.x = AppMain.FX_Mul(num1, v2);
            vecFx32.y = AppMain.FX_Mul(num2, v2);
        }
        vecFx32.z = 0;
        return(vecFx32);
    }
Ejemplo n.º 7
0
 private static AppMain.OBS_OBJECT_WORK gmBoss2EffBallBombPartInit(
     AppMain.VecFx32 create_pos,
     AppMain.OBS_OBJECT_WORK body_obj_work,
     int spd_x)
 {
     AppMain.GMS_EFFECT_3DES_WORK gmsEffect3DesWork = (AppMain.GMS_EFFECT_3DES_WORK)AppMain.gmBoss2EffInit(AppMain.ObjDataGet(718), 2, (AppMain.OBS_OBJECT_WORK)null, (short)0, (short)0, (short)0, 0.0f, 0.0f, 0.0f, 0, 0);
     AppMain.OBS_OBJECT_WORK      objWork           = gmsEffect3DesWork.efct_com.obj_work;
     AppMain.OBS_RECT_WORK[]      rectWork          = gmsEffect3DesWork.efct_com.rect_work;
     AppMain.GmBsCmnSetEfctAtkVsPly(gmsEffect3DesWork.efct_com, (short)64);
     AppMain.ObjRectWorkSet(rectWork[1], (short)-8, (short)-8, (short)8, (short)8);
     rectWork[1].ppHit  = new AppMain.OBS_RECT_WORK_Delegate1(AppMain.gmBoss2BallHitFunc);
     rectWork[1].flag  |= 1028U;
     rectWork[0].flag  |= 3072U;
     objWork.pos.x      = create_pos.x;
     objWork.pos.y      = create_pos.y;
     objWork.pos.z      = create_pos.z;
     objWork.spd.x      = spd_x;
     objWork.spd.y      = -16384;
     objWork.move_flag |= 32912U;
     objWork.flag      |= 16U;
     objWork.parent_obj = body_obj_work;
     objWork.ppFunc     = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss2EffBallBombPartMainFunc);
     AppMain.gmBoss2MgrAddObject(AppMain.gmBoss2MgrGetMgrWork(body_obj_work), objWork);
     AppMain.mtTaskChangeTcbDestructor(objWork.tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmBoss2EffectExitFunc));
     return(objWork);
 }
    // Token: 0x06000662 RID: 1634 RVA: 0x000388A8 File Offset: 0x00036AA8
    private static void gmGmkWaterSliderDrawFunc(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.OBS_ACTION3D_NN_WORK obj_3d = obj_work.obj_3d;
        if (obj_3d.motion != null)
        {
            float num  = AppMain.amMotionMaterialGetStartFrame(obj_3d.motion, obj_3d.mat_act_id);
            float num2 = AppMain.amMotionMaterialGetEndFrame(obj_3d.motion, obj_3d.mat_act_id);
            float num3 = num2 - num;
            float num4 = AppMain.gmGmkWaterSlidereGameSystemGetSyncTime();
            obj_3d.mat_frame = num4 % num3;
        }
        AppMain.ObjDrawActionSummary(obj_work);
        uint num5 = obj_work.disp_flag;

        num5 |= 4U;
        num5 &= 4294967279U;
        if (AppMain.ObjObjectPauseCheck(0U) != 0U)
        {
            num5 |= 4096U;
        }
        AppMain.GMS_GMK_WATER_SLIDER_WORK gms_GMK_WATER_SLIDER_WORK = (AppMain.GMS_GMK_WATER_SLIDER_WORK)obj_work;
        AppMain.VecFx32 pos = obj_work.pos;
        pos.z += 131072;
        AppMain.ObjDrawAction3DNN(gms_GMK_WATER_SLIDER_WORK.obj_3d_parts, new AppMain.VecFx32?(pos), new AppMain.VecU16?(obj_work.dir), obj_work.scale, ref num5);
    }
Ejemplo n.º 9
0
    // Token: 0x06001584 RID: 5508 RVA: 0x000BAE58 File Offset: 0x000B9058
    private static int gmGmkFlipperCheckRect(AppMain.VecFx32 gimmick_pos, AppMain.VecFx32 target_pos, int type)
    {
        switch (type)
        {
        case 0:
        {
            AppMain.VecFx32 line_start = new AppMain.VecFx32(gimmick_pos);
            line_start.y += AppMain.FX_F32_TO_FX32(( float )(AppMain.g_gmk_flipper_rect[type][1] - 12));
            AppMain.VecFx32 line_end = new AppMain.VecFx32(gimmick_pos);
            line_end.x += AppMain.FX_F32_TO_FX32(( float )AppMain.g_gmk_flipper_rect[type][2]);
            line_end.y += AppMain.FX_F32_TO_FX32(( float )(AppMain.g_gmk_flipper_rect[type][3] - 12));
            if (AppMain.gmGmkFlipperCheckLeft(line_start, line_end, target_pos) != 0)
            {
                return(0);
            }
            break;
        }

        case 1:
        {
            AppMain.VecFx32 line_end2 = new AppMain.VecFx32(gimmick_pos);
            line_end2.y += AppMain.FX_F32_TO_FX32(( float )(AppMain.g_gmk_flipper_rect[type][1] - 12));
            AppMain.VecFx32 line_start2 = new AppMain.VecFx32(gimmick_pos);
            line_start2.x += AppMain.FX_F32_TO_FX32(( float )AppMain.g_gmk_flipper_rect[type][0]);
            line_start2.y += AppMain.FX_F32_TO_FX32(( float )(AppMain.g_gmk_flipper_rect[type][3] - 12));
            if (AppMain.gmGmkFlipperCheckLeft(line_start2, line_end2, target_pos) != 0)
            {
                return(0);
            }
            break;
        }
        }
        return(1);
    }
 // Token: 0x06000975 RID: 2421 RVA: 0x0005555C File Offset: 0x0005375C
 public static void gmBoss5EggGetBodyNodePos(AppMain.GMS_BOSS5_EGG_WORK egg_work, out AppMain.VecFx32 pos_out)
 {
     AppMain.OBS_OBJECT_WORK     obs_OBJECT_WORK     = AppMain.GMM_BS_OBJ(egg_work);
     AppMain.GMS_BOSS5_BODY_WORK gms_BOSS5_BODY_WORK = (AppMain.GMS_BOSS5_BODY_WORK)obs_OBJECT_WORK.parent_obj;
     AppMain.NNS_MATRIX          nns_MATRIX          = AppMain.GmBsCmnGetSNMMtx(gms_BOSS5_BODY_WORK.snm_work, gms_BOSS5_BODY_WORK.body_snm_reg_id);
     pos_out = new AppMain.VecFx32(AppMain.FX_F32_TO_FX32(nns_MATRIX.M03), -AppMain.FX_F32_TO_FX32(nns_MATRIX.M13), AppMain.FX_F32_TO_FX32(nns_MATRIX.M23));
 }
Ejemplo n.º 11
0
    private static AppMain.VecFx32 gmGmkSsSquareNormalizeVectorXY(AppMain.VecFx32 vec)
    {
        AppMain.VecFx32 vecFx32 = new AppMain.VecFx32();
        int             denom   = AppMain.FX_Sqrt(AppMain.FX_Mul(vec.x, vec.x) + AppMain.FX_Mul(vec.y, vec.y));

        if (denom == 0)
        {
            vecFx32.x = 4096;
            vecFx32.y = 0;
        }
        else
        {
            int v2 = AppMain.FX_Div(4096, denom);
            vecFx32.x = AppMain.FX_Mul(vec.x, v2);
            vecFx32.y = AppMain.FX_Mul(vec.y, v2);
        }
        vecFx32.z = 0;
        int dest_x = 0;
        int dest_y = 0;

        AppMain.ObjUtilGetRotPosXY(vecFx32.x, vecFx32.y, ref dest_x, ref dest_y, (ushort)-AppMain.g_gm_main_system.pseudofall_dir);
        vecFx32.x = dest_x;
        vecFx32.y = dest_y;
        return(vecFx32);
    }
Ejemplo n.º 12
0
    // Token: 0x06000284 RID: 644 RVA: 0x00014B44 File Offset: 0x00012D44
    private static void gmGmkBeltConveyor_ppOut(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_BELTC_WORK gms_GMK_BELTC_WORK = (AppMain.GMS_GMK_BELTC_WORK)obj_work;
        if (!AppMain.GmMainIsDrawEnable())
        {
            return;
        }
        if ((obj_work.disp_flag & 32U) != 0U)
        {
            return;
        }
        if (AppMain._tvx_roller == null)
        {
            AppMain._tvx_roller    = new AppMain.TVX_FILE(( AmbChunk )AmBind.Get(AppMain.gm_gmk_beltconv_obj_tvx_list, 0));
            AppMain._tvx_axis      = new AppMain.TVX_FILE(( AmbChunk )AmBind.Get(AppMain.gm_gmk_beltconv_obj_tvx_list, 1));
            AppMain._tvx_belt_up   = new AppMain.TVX_FILE(( AmbChunk )AmBind.Get(AppMain.gm_gmk_beltconv_obj_tvx_list, 2));
            AppMain._tvx_belt_down = new AppMain.TVX_FILE(( AmbChunk )AmBind.Get(AppMain.gm_gmk_beltconv_obj_tvx_list, 3));
        }
        AppMain.TVX_FILE    tvx_roller    = AppMain._tvx_roller;
        AppMain.TVX_FILE    tvx_axis      = AppMain._tvx_axis;
        AppMain.TVX_FILE    tvx_belt_up   = AppMain._tvx_belt_up;
        AppMain.TVX_FILE    tvx_belt_down = AppMain._tvx_belt_down;
        AppMain.NNS_TEXLIST texlist       = obj_work.obj_3d.texlist;
        short rotate_z = (short)(-(short)obj_work.dir.z);

        AppMain.VecFx32 pos = obj_work.pos;
        AppMain.GmTvxSetModel(tvx_roller, texlist, ref pos, ref obj_work.scale, AppMain.GMD_TVX_DISP_ROTATE, rotate_z);
        pos.z += 4096;
        AppMain.GmTvxSetModel(tvx_axis, texlist, ref pos, ref obj_work.scale, 0U, 0);
        pos.x += gms_GMK_BELTC_WORK.roller;
        AppMain.GmTvxSetModel(tvx_axis, texlist, ref pos, ref obj_work.scale, 0U, 0);
        pos.z -= 4096;
        AppMain.GmTvxSetModel(tvx_roller, texlist, ref pos, ref obj_work.scale, AppMain.GMD_TVX_DISP_ROTATE, rotate_z);
        pos.x -= gms_GMK_BELTC_WORK.roller;
        int num  = (gms_GMK_BELTC_WORK.vect == 0) ? 262144 : -262144;
        int num2 = gms_GMK_BELTC_WORK.roller;

        AppMain.GMS_TVX_EX_WORK gms_TVX_EX_WORK = default(AppMain.GMS_TVX_EX_WORK);
        gms_TVX_EX_WORK.u_wrap  = 1;
        gms_TVX_EX_WORK.v_wrap  = 1;
        gms_TVX_EX_WORK.coord.v = 0f;
        gms_TVX_EX_WORK.color   = 0U;
        pos.y += -65536;
        pos.z  = -73728;
        if (gms_GMK_BELTC_WORK.vect == 32768)
        {
            pos.x += num;
        }
        while (num2 != 0)
        {
            gms_TVX_EX_WORK.coord.u = gms_GMK_BELTC_WORK.tex_u;
            AppMain.GmTvxSetModelEx(tvx_belt_up, texlist, ref pos, ref obj_work.scale, 0U, 0, ref gms_TVX_EX_WORK);
            pos.y -= -131072;
            gms_TVX_EX_WORK.coord.u = -gms_GMK_BELTC_WORK.tex_u;
            AppMain.GmTvxSetModelEx(tvx_belt_down, texlist, ref pos, ref obj_work.scale, 0U, 0, ref gms_TVX_EX_WORK);
            pos.y += -131072;
            pos.x += num;
            num2  -= num;
        }
    }
Ejemplo n.º 13
0
 private static void gmGmkBobbinDefFunc(
     AppMain.OBS_RECT_WORK gimmick_rect,
     AppMain.OBS_RECT_WORK player_rect)
 {
     AppMain.OBS_OBJECT_WORK   parentObj1   = gimmick_rect.parent_obj;
     AppMain.GMS_ENEMY_3D_WORK gimmick_work = (AppMain.GMS_ENEMY_3D_WORK)parentObj1;
     AppMain.OBS_OBJECT_WORK   parentObj2   = player_rect.parent_obj;
     AppMain.VecFx32           vec          = new AppMain.VecFx32();
     vec.x = parentObj2.prev_pos.x - parentObj1.pos.x;
     vec.y = (int)((long)parentObj2.prev_pos.y + -12288L - (long)parentObj1.pos.y);
     vec.z = 0;
     if (AppMain.FX_Mul(114688, 114688) < AppMain.FX_Mul(vec.x, vec.x) + AppMain.FX_Mul(vec.y, vec.y))
     {
         gimmick_rect.flag &= 4294966271U;
     }
     else
     {
         gimmick_rect.flag |= 1024U;
         AppMain.VecFx32 vecFx32 = AppMain.gmGmkBobbinNormalizeVectorXY(vec);
         parentObj2.dir.z = (ushort)0;
         int v1_1 = AppMain.FX_Mul(vecFx32.x, 24576);
         int v1_2 = AppMain.FX_Mul(vecFx32.y, 24576);
         int v2_1 = AppMain.FX_F32_TO_FX32((float)((100.0 + (double)gimmick_work.ene_com.eve_rec.left) * 0.00999999977648258));
         if (v2_1 < 0)
         {
             v2_1 = 0;
         }
         int v2_2 = AppMain.FX_F32_TO_FX32((float)((100.0 + (double)gimmick_work.ene_com.eve_rec.top) * 0.00999999977648258));
         if (v2_2 < 0)
         {
             v2_2 = 0;
         }
         int num1 = AppMain.FX_Mul(v1_1, v2_1);
         int num2 = AppMain.FX_Mul(v1_2, v2_2);
         if (parentObj2.obj_type == (ushort)1)
         {
             AppMain.gmGmkBobbinDefPlayer(gimmick_work, (AppMain.GMS_PLAYER_WORK)parentObj2, num1, num2);
         }
         else if (parentObj2.obj_type == (ushort)2)
         {
             AppMain.gmGmkBobbinDefEnemy(parentObj2, num1, num2);
         }
         AppMain.gmGmkBobbinChangeModeHit(parentObj1);
         AppMain.GmSoundPlaySE("Casino1");
         AppMain.GMS_EFFECT_3DES_WORK gmsEffect3DesWork = AppMain.GmEfctCmnEsCreate(parentObj1, 16);
         gmsEffect3DesWork.efct_com.obj_work.pos.x = parentObj2.pos.x;
         gmsEffect3DesWork.efct_com.obj_work.pos.y = parentObj2.pos.y;
         gmsEffect3DesWork.efct_com.obj_work.pos.z = 131072;
         gmsEffect3DesWork.efct_com.obj_work.dir.z = (ushort)(AppMain.nnArcTan2((double)AppMain.FX_FX32_TO_F32(num2), (double)AppMain.FX_FX32_TO_F32(num1)) - 16384);
         if (AppMain.GSM_MAIN_STAGE_IS_SPSTAGE_NOT_RETRY())
         {
             AppMain.OBS_CAMERA obsCamera = AppMain.ObjCameraGet(AppMain.g_obj.glb_camera_id);
             if (obsCamera != null)
             {
                 gmsEffect3DesWork.efct_com.obj_work.dir.z -= (ushort)obsCamera.roll;
             }
         }
         AppMain.GMM_PAD_VIB_SMALL();
     }
 }
Ejemplo n.º 14
0
    public static AppMain.VecFx32 gmEneTStarGetPlayerVectorFx(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.VecFx32         vecFx32       = new AppMain.VecFx32();
        AppMain.GMS_PLAYER_WORK gmsPlayerWork = AppMain.g_gm_main_system.ply_work[0];
        int num1 = gmsPlayerWork.obj_work.pos.x - obj_work.pos.x;
        int num2 = gmsPlayerWork.obj_work.pos.y - obj_work.pos.y;

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

        if (denom == 0)
        {
            vecFx32.x = 0;
            vecFx32.y = 0;
        }
        else
        {
            int v2 = AppMain.FX_Div(4096, denom);
            vecFx32.x = AppMain.FX_Mul(num1, v2);
            vecFx32.y = AppMain.FX_Mul(num2, v2);
        }
        vecFx32.z = 0;
        return(vecFx32);
    }
Ejemplo n.º 15
0
 internal AppMain.NNS_VECTOR Assign(AppMain.VecFx32 vec)
 {
     this.x = (float)vec.x;
     this.y = (float)vec.y;
     this.z = (float)vec.z;
     return(this);
 }
    // Token: 0x06000DCE RID: 3534 RVA: 0x00079DE0 File Offset: 0x00077FE0
    private static AppMain.VecFx32 gmGmkSsSquareNormalizeVectorXY(AppMain.VecFx32 vec)
    {
        AppMain.VecFx32 result = default(AppMain.VecFx32);
        int             num    = AppMain.FX_Mul(vec.x, vec.x) + AppMain.FX_Mul(vec.y, vec.y);

        num = AppMain.FX_Sqrt(num);
        if (num == 0)
        {
            result.x = 4096;
            result.y = 0;
        }
        else
        {
            int v = AppMain.FX_Div(4096, num);
            result.x = AppMain.FX_Mul(vec.x, v);
            result.y = AppMain.FX_Mul(vec.y, v);
        }
        result.z = 0;
        int x = 0;
        int y = 0;

        AppMain.ObjUtilGetRotPosXY(result.x, result.y, ref x, ref y, ( ushort )-AppMain.g_gm_main_system.pseudofall_dir);
        result.x = x;
        result.y = y;
        return(result);
    }
Ejemplo n.º 17
0
    // Token: 0x0600078B RID: 1931 RVA: 0x00042E74 File Offset: 0x00041074
    public static AppMain.VecFx32 gmEneTStarGetPlayerVectorFx(OBS_OBJECT_WORK obj_work)
    {
        AppMain.VecFx32 result          = default(AppMain.VecFx32);
        GMS_PLAYER_WORK gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];
        int             num             = gms_PLAYER_WORK.obj_work.pos.x - obj_work.pos.x;
        int             num2            = gms_PLAYER_WORK.obj_work.pos.y - obj_work.pos.y;

        if ((gms_PLAYER_WORK.player_flag & 1024U) != 0U)
        {
            num  = 2965504;
            num2 = 2965504;
        }
        int num3 = AppMain.FX_Mul(num, num) + AppMain.FX_Mul(num2, num2);

        num3 = AppMain.FX_Sqrt(num3);
        if (num3 == 0)
        {
            result.x = 0;
            result.y = 0;
        }
        else
        {
            int v = AppMain.FX_Div(4096, num3);
            result.x = AppMain.FX_Mul(num, v);
            result.y = AppMain.FX_Mul(num2, v);
        }
        result.z = 0;
        return(result);
    }
Ejemplo n.º 18
0
 // Token: 0x06000955 RID: 2389 RVA: 0x00054294 File Offset: 0x00052494
 private static void gmEneKamaHandAttackInit(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENE_KAMA_WORK gms_ENE_KAMA_WORK  = (AppMain.GMS_ENE_KAMA_WORK)obj_work;
     AppMain.GMS_ENE_KAMA_WORK gms_ENE_KAMA_WORK2 = (AppMain.GMS_ENE_KAMA_WORK)obj_work.parent_obj;
     AppMain.VecFx32           vecFx = AppMain.gmEneKamaGetPlayerVectorFx(obj_work);
     obj_work.spd.x          = ( int )(( float )vecFx.x * 1.75f);
     obj_work.spd.y          = ( int )(( float )vecFx.y * 1.75f);
     obj_work.ppFunc         = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneKamaHandAttackMain);
     gms_ENE_KAMA_WORK.timer = 120;
     if ((gms_ENE_KAMA_WORK2.ene_3d_work.ene_com.obj_work.disp_flag & 2U) != 0U)
     {
         obj_work.disp_flag |= 2U;
     }
     if ((gms_ENE_KAMA_WORK2.ene_3d_work.ene_com.obj_work.disp_flag & 1U) != 0U)
     {
         gms_ENE_KAMA_WORK.rot_z_add = -AppMain.AKM_DEGtoA32(15);
     }
     else
     {
         gms_ENE_KAMA_WORK.rot_z_add = AppMain.AKM_DEGtoA32(15);
     }
     AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENE_KAMA_WORK.ene_3d_work.ene_com.rect_work[1];
     AppMain.ObjRectWorkSet(obs_RECT_WORK, -8, -8, 8, 8);
     obs_RECT_WORK.flag |= 4U;
     obj_work.flag      |= 512U;
     obj_work.pos.z      = 655360;
     AppMain.GmSoundPlaySE("Kama");
 }
Ejemplo n.º 19
0
    // Token: 0x06000941 RID: 2369 RVA: 0x000533E0 File Offset: 0x000515E0
    private static AppMain.VecFx32 gmEneKamaGetPlayerVectorFx(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.VecFx32         result          = default(AppMain.VecFx32);
        AppMain.GMS_PLAYER_WORK gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];
        int num  = gms_PLAYER_WORK.obj_work.pos.x - obj_work.pos.x;
        int num2 = gms_PLAYER_WORK.obj_work.pos.y - obj_work.pos.y;

        if (num > AppMain.FX_F32_TO_FX32(1000f) || num < AppMain.FX_F32_TO_FX32(-1000f))
        {
            num = 1000;
        }
        if (num2 > AppMain.FX_F32_TO_FX32(1000f) || num2 < AppMain.FX_F32_TO_FX32(-1000f))
        {
            num2 = 1000;
        }
        int num3 = AppMain.FX_Mul(num, num) + AppMain.FX_Mul(num2, num2);

        num3 = AppMain.FX_Sqrt(num3);
        if (num3 == 0)
        {
            result.x = 0;
            result.y = 0;
        }
        else
        {
            int v = AppMain.FX_Div(4096, num3);
            result.x = AppMain.FX_Mul(num, v);
            result.y = AppMain.FX_Mul(num2, v);
        }
        result.z = 0;
        return(result);
    }
 // Token: 0x06000E6C RID: 3692 RVA: 0x000810B4 File Offset: 0x0007F2B4
 public static void gmBoss5TurretGetVulcanBulletPos(AppMain.GMS_BOSS5_TURRET_WORK trt_work, ref AppMain.VecFx32 out_pos)
 {
     AppMain.VecFx32         vecFx           = new AppMain.VecFx32(0, 0, AppMain.GMD_BOSS5_TURRET_VULCAN_BULLET_OFST_FORWARD);
     AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_BS_OBJ(trt_work);
     AppMain.VecFx32         vecFx2;
     AppMain.gmBoss5TurretGetDispRotatedOfstPos(trt_work, ref vecFx, out vecFx2);
     AppMain.VEC_Set(ref out_pos, obs_OBJECT_WORK.pos.x + vecFx2.x, obs_OBJECT_WORK.pos.y + vecFx2.y, obs_OBJECT_WORK.pos.z + AppMain.GMD_BOSS5_TURRET_VULCAN_BULLET_OFST_Z);
 }
Ejemplo n.º 21
0
 public static void gmBoss5EggGetBodyNodePos(
     AppMain.GMS_BOSS5_EGG_WORK egg_work,
     out AppMain.VecFx32 pos_out)
 {
     AppMain.GMS_BOSS5_BODY_WORK parentObj = (AppMain.GMS_BOSS5_BODY_WORK)AppMain.GMM_BS_OBJ((object)egg_work).parent_obj;
     AppMain.NNS_MATRIX          snmMtx    = AppMain.GmBsCmnGetSNMMtx(parentObj.snm_work, parentObj.body_snm_reg_id);
     pos_out = new AppMain.VecFx32(AppMain.FX_F32_TO_FX32(snmMtx.M03), -AppMain.FX_F32_TO_FX32(snmMtx.M13), AppMain.FX_F32_TO_FX32(snmMtx.M23));
 }
Ejemplo n.º 22
0
 private static void GmBsCmnUpdateObjectGeneralStuckWithNodeRelative(
     AppMain.OBS_OBJECT_WORK obj_work,
     AppMain.GMS_BS_CMN_SNM_WORK snm_work,
     int snm_reg_id,
     AppMain.VecFx32 pivot_cur_pos,
     AppMain.VecFx32 pivot_prev_pos)
 {
     AppMain.GmBsCmnUpdateObjectGeneralStuckWithNodeRelative(obj_work, snm_work, snm_reg_id, pivot_cur_pos, pivot_prev_pos, (AppMain.NNS_MATRIX)null);
 }
Ejemplo n.º 23
0
 public static void gmBoss5TurretGetVulcanBulletPos(
     AppMain.GMS_BOSS5_TURRET_WORK trt_work,
     ref AppMain.VecFx32 out_pos)
 {
     AppMain.VecFx32         src_ofst_pos  = new AppMain.VecFx32(0, 0, AppMain.GMD_BOSS5_TURRET_VULCAN_BULLET_OFST_FORWARD);
     AppMain.OBS_OBJECT_WORK obsObjectWork = AppMain.GMM_BS_OBJ((object)trt_work);
     AppMain.VecFx32         dest_ofst_pos;
     AppMain.gmBoss5TurretGetDispRotatedOfstPos(trt_work, ref src_ofst_pos, out dest_ofst_pos);
     AppMain.VEC_Set(ref out_pos, obsObjectWork.pos.x + dest_ofst_pos.x, obsObjectWork.pos.y + dest_ofst_pos.y, obsObjectWork.pos.z + AppMain.GMD_BOSS5_TURRET_VULCAN_BULLET_OFST_Z);
 }
    // Token: 0x0600007C RID: 124 RVA: 0x000072E0 File Offset: 0x000054E0
    private static bool gmGmkBumperCheckLeft(AppMain.VecFx32 line_start, AppMain.VecFx32 line_end, AppMain.VecFx32 point)
    {
        int v   = line_end.x - line_start.x;
        int v2  = line_end.y - line_start.y;
        int v3  = point.x - line_start.x;
        int v4  = point.y - line_start.y;
        int num = AppMain.FX_Mul(v, v4) - AppMain.FX_Mul(v2, v3);

        return(num <= 0);
    }
Ejemplo n.º 25
0
    private static void gmGmkBeltConveyor_ppOut(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_BELTC_WORK gmsGmkBeltcWork = (AppMain.GMS_GMK_BELTC_WORK)obj_work;
        if (!AppMain.GmMainIsDrawEnable() || ((int)obj_work.disp_flag & 32) != 0)
        {
            return;
        }
        if (AppMain._tvx_roller == null)
        {
            AppMain._tvx_roller    = new AppMain.TVX_FILE((AppMain.AmbChunk)AppMain.amBindGet(AppMain.gm_gmk_beltconv_obj_tvx_list, 0));
            AppMain._tvx_axis      = new AppMain.TVX_FILE((AppMain.AmbChunk)AppMain.amBindGet(AppMain.gm_gmk_beltconv_obj_tvx_list, 1));
            AppMain._tvx_belt_up   = new AppMain.TVX_FILE((AppMain.AmbChunk)AppMain.amBindGet(AppMain.gm_gmk_beltconv_obj_tvx_list, 2));
            AppMain._tvx_belt_down = new AppMain.TVX_FILE((AppMain.AmbChunk)AppMain.amBindGet(AppMain.gm_gmk_beltconv_obj_tvx_list, 3));
        }
        AppMain.TVX_FILE    tvxRoller   = AppMain._tvx_roller;
        AppMain.TVX_FILE    tvxAxis     = AppMain._tvx_axis;
        AppMain.TVX_FILE    tvxBeltUp   = AppMain._tvx_belt_up;
        AppMain.TVX_FILE    tvxBeltDown = AppMain._tvx_belt_down;
        AppMain.NNS_TEXLIST texlist     = obj_work.obj_3d.texlist;
        short rotate_z = (short)-obj_work.dir.z;

        AppMain.VecFx32 pos = obj_work.pos;
        AppMain.GmTvxSetModel(tvxRoller, texlist, ref pos, ref obj_work.scale, AppMain.GMD_TVX_DISP_ROTATE, rotate_z);
        pos.z += 4096;
        AppMain.GmTvxSetModel(tvxAxis, texlist, ref pos, ref obj_work.scale, 0U, (short)0);
        pos.x += gmsGmkBeltcWork.roller;
        AppMain.GmTvxSetModel(tvxAxis, texlist, ref pos, ref obj_work.scale, 0U, (short)0);
        pos.z -= 4096;
        AppMain.GmTvxSetModel(tvxRoller, texlist, ref pos, ref obj_work.scale, AppMain.GMD_TVX_DISP_ROTATE, rotate_z);
        pos.x -= gmsGmkBeltcWork.roller;
        int num    = gmsGmkBeltcWork.vect == (ushort)0 ? 262144 : -262144;
        int roller = gmsGmkBeltcWork.roller;

        AppMain.GMS_TVX_EX_WORK ex_work = new AppMain.GMS_TVX_EX_WORK();
        ex_work.u_wrap  = 1;
        ex_work.v_wrap  = 1;
        ex_work.coord.v = 0.0f;
        ex_work.color   = 0U;
        pos.y          += -65536;
        pos.z           = -73728;
        if (gmsGmkBeltcWork.vect == (ushort)32768)
        {
            pos.x += num;
        }
        for (; roller != 0; roller -= num)
        {
            ex_work.coord.u = gmsGmkBeltcWork.tex_u;
            AppMain.GmTvxSetModelEx(tvxBeltUp, texlist, ref pos, ref obj_work.scale, 0U, (short)0, ref ex_work);
            pos.y          -= -131072;
            ex_work.coord.u = -gmsGmkBeltcWork.tex_u;
            AppMain.GmTvxSetModelEx(tvxBeltDown, texlist, ref pos, ref obj_work.scale, 0U, (short)0, ref ex_work);
            pos.y += -131072;
            pos.x += num;
        }
    }
Ejemplo n.º 26
0
 private static void gmEneKamaHandAttackMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENE_KAMA_WORK gmsEneKamaWork = (AppMain.GMS_ENE_KAMA_WORK)obj_work;
     gmsEneKamaWork.rot_z += gmsEneKamaWork.rot_z_add;
     AppMain.NNS_MATRIX handAttackMainRmat = AppMain.gmEneKamaHandAttackMain_rmat;
     AppMain.NNS_MATRIX handAttackMainTmat = AppMain.gmEneKamaHandAttackMain_tmat;
     AppMain.NNS_MATRIX handAttackMainMat  = AppMain.gmEneKamaHandAttackMain_mat;
     AppMain.nnMakeRotateZMatrix(handAttackMainRmat, gmsEneKamaWork.rot_z);
     if (((int)obj_work.disp_flag & 2) != 0)
     {
         AppMain.nnMakeTranslateMatrix(handAttackMainTmat, 10f, 10f, 0.0f);
     }
     else
     {
         AppMain.nnMakeTranslateMatrix(handAttackMainTmat, 10f, -10f, 0.0f);
     }
     AppMain.nnMultiplyMatrix(handAttackMainMat, handAttackMainRmat, handAttackMainTmat);
     obj_work.ofst.x = AppMain.FX_F32_TO_FX32(handAttackMainMat.M03);
     obj_work.ofst.y = AppMain.FX_F32_TO_FX32(handAttackMainMat.M13);
     obj_work.dir.z  = (ushort)gmsEneKamaWork.rot_z;
     if (gmsEneKamaWork.timer > 0)
     {
         AppMain.VecFx32 playerVectorFx = AppMain.gmEneKamaGetPlayerVectorFx(obj_work);
         int             v2_1           = (int)((double)obj_work.spd.x / 1.75);
         int             v2_2           = (int)((double)obj_work.spd.y / 1.75);
         int             v2_3;
         int             num;
         if (AppMain.FX_Mul(playerVectorFx.x, v2_2) - AppMain.FX_Mul(playerVectorFx.y, v2_1) < 0)
         {
             v2_3 = AppMain.FX_Mul(AppMain.FX_Cos((int)(short)AppMain.AKM_DEGtoA32(1f)), v2_1) - AppMain.FX_Mul(AppMain.FX_Sin((int)(short)AppMain.AKM_DEGtoA32(1f)), v2_2);
             num  = AppMain.FX_Mul(AppMain.FX_Sin((int)(short)AppMain.AKM_DEGtoA32(1f)), v2_3) + AppMain.FX_Mul(AppMain.FX_Cos((int)(short)AppMain.AKM_DEGtoA32(1f)), v2_2);
         }
         else
         {
             v2_3 = AppMain.FX_Mul(AppMain.FX_Cos((int)(short)AppMain.AKM_DEGtoA32(-1f)), v2_1) - AppMain.FX_Mul(AppMain.FX_Sin((int)(short)AppMain.AKM_DEGtoA32(-1f)), v2_2);
             num  = AppMain.FX_Mul(AppMain.FX_Sin((int)(short)AppMain.AKM_DEGtoA32(-1f)), v2_3) + AppMain.FX_Mul(AppMain.FX_Cos((int)(short)AppMain.AKM_DEGtoA32(-1f)), v2_2);
         }
         obj_work.spd.x = (int)((double)v2_3 * 1.75);
         obj_work.spd.y = (int)((double)num * 1.75);
         --gmsEneKamaWork.timer;
     }
     else
     {
         obj_work.spd.x      = 0;
         obj_work.spd_fall   = AppMain.FX_F32_TO_FX32(0.2f);
         obj_work.move_flag |= 128U;
         AppMain.GMS_ENE_KAMA_WORK parentObj = (AppMain.GMS_ENE_KAMA_WORK)obj_work.parent_obj;
         if (parentObj == null)
         {
             return;
         }
         parentObj.ata_futa = 1;
     }
 }
Ejemplo n.º 27
0
 private static void gmBoss2EffBallBombInit(
     AppMain.VecFx32 create_pos,
     AppMain.OBS_OBJECT_WORK body_obj_work)
 {
     AppMain.OBS_OBJECT_WORK obj_work_parts = AppMain.gmBoss2EffInit(AppMain.ObjDataGet(717), 1, (AppMain.OBS_OBJECT_WORK)null, (short)0, (short)0, (short)0, 0.0f, 0.0f, 0.0f, 0, 0);
     obj_work_parts.pos.x = create_pos.x;
     obj_work_parts.pos.y = create_pos.y;
     obj_work_parts.pos.z = create_pos.z + 131072;
     AppMain.gmBoss2MgrAddObject(AppMain.gmBoss2MgrGetMgrWork(body_obj_work), obj_work_parts);
     AppMain.mtTaskChangeTcbDestructor(obj_work_parts.tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmBoss2EffectExitFunc));
 }
Ejemplo n.º 28
0
    // Token: 0x0600076A RID: 1898 RVA: 0x00041770 File Offset: 0x0003F970
    private static void gmGmkSwDispFunc(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_SW_WORK gms_GMK_SW_WORK = (AppMain.GMS_GMK_SW_WORK)obj_work;
        AppMain.VecFx32         vecFx           = default(AppMain.VecFx32);
        uint disp_flag = obj_work.disp_flag;

        vecFx.Assign(obj_work.pos);
        vecFx.y += gms_GMK_SW_WORK.top_pos_y << 12;
        AppMain.ObjDrawAction3DNN(obj_work.obj_3d, new AppMain.VecFx32?(vecFx), new AppMain.VecU16?(obj_work.dir), obj_work.scale, ref obj_work.disp_flag);
        AppMain.ObjDrawAction3DNN(gms_GMK_SW_WORK.obj_3d_base, new AppMain.VecFx32?(obj_work.pos), new AppMain.VecU16?(obj_work.dir), obj_work.scale, ref disp_flag);
    }
Ejemplo n.º 29
0
 private static void GmBsCmnUpdateObjectGeneralStuckWithNodeRelative(
     AppMain.OBS_OBJECT_WORK obj_work,
     AppMain.GMS_BS_CMN_SNM_WORK snm_work,
     int snm_reg_id,
     AppMain.VecFx32 pivot_cur_pos,
     AppMain.VecFx32 pivot_prev_pos,
     AppMain.NNS_MATRIX ofst_mtx)
 {
     AppMain.GmBsCmnUpdateObjectGeneralStuckWithNode(obj_work, snm_work, snm_reg_id, ofst_mtx);
     AppMain.VEC_Set(ref obj_work.pos, obj_work.pos.x - pivot_prev_pos.x + pivot_cur_pos.x, obj_work.pos.y - pivot_prev_pos.y + pivot_cur_pos.y, obj_work.pos.z - pivot_prev_pos.z + pivot_cur_pos.z);
 }
Ejemplo n.º 30
0
    private static bool gmGmkBumperCheckLeft(
        AppMain.VecFx32 line_start,
        AppMain.VecFx32 line_end,
        AppMain.VecFx32 point)
    {
        int v1_1 = line_end.x - line_start.x;
        int v1_2 = line_end.y - line_start.y;
        int v2_1 = point.x - line_start.x;
        int v2_2 = point.y - line_start.y;

        return(AppMain.FX_Mul(v1_1, v2_2) - AppMain.FX_Mul(v1_2, v2_1) <= 0);
    }