Exemplo n.º 1
0
 // Token: 0x0600029B RID: 667 RVA: 0x00015F4C File Offset: 0x0001414C
 public static void gmEneEffectMainFuncHarogen(OBS_OBJECT_WORK obj_work)
 {
     if (obj_work.parent_obj != null)
     {
         AppMain.GMS_ENE_HARO_WORK gms_ENE_HARO_WORK = (AppMain.GMS_ENE_HARO_WORK)obj_work.parent_obj;
         NNS_MATRIX nns_MATRIX = AppMain.GmEneUtilGetNodeMatrix(gms_ENE_HARO_WORK.node_work, 2);
         if (nns_MATRIX != null)
         {
             float num  = nns_MATRIX.M03 - AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.pos.x);
             float num2 = nns_MATRIX.M13 + AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.pos.y);
             float num3 = nns_MATRIX.M23 - AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.pos.z);
             num  += AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.spd.x);
             num2 -= AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.spd.y);
             num3 += AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.spd.z);
             obj_work.parent_ofst.x = AppMain.FX_F32_TO_FX32(num);
             obj_work.parent_ofst.y = -AppMain.FX_F32_TO_FX32(num2 - 10f);
             obj_work.parent_ofst.z = AppMain.FX_F32_TO_FX32(num3);
         }
     }
     else
     {
         obj_work.flag |= 4U;
     }
     if ((obj_work.disp_flag & 8U) != 0U)
     {
         obj_work.flag |= 4U;
     }
 }
Exemplo n.º 2
0
 public static void gmEneEffectMainFuncHarogen(AppMain.OBS_OBJECT_WORK obj_work)
 {
     if (obj_work.parent_obj != null)
     {
         AppMain.GMS_ENE_HARO_WORK parentObj  = (AppMain.GMS_ENE_HARO_WORK)obj_work.parent_obj;
         AppMain.NNS_MATRIX        nodeMatrix = AppMain.GmEneUtilGetNodeMatrix(parentObj.node_work, 2);
         if (nodeMatrix != null)
         {
             float num1 = nodeMatrix.M03 - AppMain.FX_FX32_TO_F32(parentObj.ene_3d_work.ene_com.obj_work.pos.x);
             float num2 = nodeMatrix.M13 + AppMain.FX_FX32_TO_F32(parentObj.ene_3d_work.ene_com.obj_work.pos.y);
             float num3 = nodeMatrix.M23 - AppMain.FX_FX32_TO_F32(parentObj.ene_3d_work.ene_com.obj_work.pos.z);
             float x1   = num1 + AppMain.FX_FX32_TO_F32(parentObj.ene_3d_work.ene_com.obj_work.spd.x);
             float num4 = num2 - AppMain.FX_FX32_TO_F32(parentObj.ene_3d_work.ene_com.obj_work.spd.y);
             float x2   = num3 + AppMain.FX_FX32_TO_F32(parentObj.ene_3d_work.ene_com.obj_work.spd.z);
             obj_work.parent_ofst.x = AppMain.FX_F32_TO_FX32(x1);
             obj_work.parent_ofst.y = -AppMain.FX_F32_TO_FX32(num4 - 10f);
             obj_work.parent_ofst.z = AppMain.FX_F32_TO_FX32(x2);
         }
     }
     else
     {
         obj_work.flag |= 4U;
     }
     if (((int)obj_work.disp_flag & 8) == 0)
     {
         return;
     }
     obj_work.flag |= 4U;
 }
Exemplo n.º 3
0
    // Token: 0x06000295 RID: 661 RVA: 0x000159F4 File Offset: 0x00013BF4
    public static void gmEneHaroWalkInit(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENE_HARO_WORK gms_ENE_HARO_WORK = (AppMain.GMS_ENE_HARO_WORK)obj_work;
        obj_work.disp_flag |= 4U;
        obj_work.ppFunc     = AppMain.gmEneHaroWalkMain;
        obj_work.move_flag &= 4294967291U;
        int num = AppMain.FX_Sqrt(AppMain.FX_Mul(gms_ENE_HARO_WORK.vec.x, gms_ENE_HARO_WORK.vec.x) + AppMain.FX_Mul(gms_ENE_HARO_WORK.vec.y, gms_ENE_HARO_WORK.vec.y));

        if (num == 0)
        {
            gms_ENE_HARO_WORK.vec.x = 0;
            gms_ENE_HARO_WORK.vec.y = AppMain.FX_F32_TO_FX32(1f);
        }
        else
        {
            gms_ENE_HARO_WORK.vec.x = AppMain.FX_Div(gms_ENE_HARO_WORK.vec.x, num);
            gms_ENE_HARO_WORK.vec.y = AppMain.FX_Div(gms_ENE_HARO_WORK.vec.y, num);
        }
        gms_ENE_HARO_WORK.timer = 120;
        if (gms_ENE_HARO_WORK.lighton == 0)
        {
            AppMain.GMS_EFFECT_3DES_WORK gms_EFFECT_3DES_WORK = AppMain.GmEfctEneEsCreate(obj_work, 6);
            gms_EFFECT_3DES_WORK.efct_com.obj_work.ppFunc = AppMain.gmEneEffectMainFuncHarogen;
            gms_ENE_HARO_WORK.lighton = 1;
        }
        if (AppMain.gmEneHaroGetLength2N(obj_work) <= 10000)
        {
            GmSound.PlaySE("Halogen");
            AppMain.ObjDrawObjectActionSet(obj_work, 1);
            obj_work.disp_flag |= 4U;
            return;
        }
        AppMain.ObjDrawObjectActionSet(obj_work, 1);
        obj_work.disp_flag |= 4U;
    }
Exemplo n.º 4
0
 // Token: 0x0600028E RID: 654 RVA: 0x00015560 File Offset: 0x00013760
 public static void gmEneHaroExit(AppMain.MTS_TASK_TCB tcb)
 {
     AppMain.OBS_OBJECT_WORK   p = AppMain.mtTaskGetTcbWork(tcb);
     AppMain.GMS_ENE_HARO_WORK gms_ENE_HARO_WORK = (AppMain.GMS_ENE_HARO_WORK)p;
     AppMain.GmEneUtilExitNodeMatrix(gms_ENE_HARO_WORK.node_work);
     AppMain.GmEnemyDefaultExit(tcb);
 }
Exemplo n.º 5
0
 public static int gmEneHaroIsPlayerLeft(AppMain.GMS_ENE_HARO_WORK obj_work)
 {
     AppMain.OBS_OBJECT_WORK obsObjectWork = (AppMain.OBS_OBJECT_WORK)AppMain.g_gm_main_system.ply_work[0];
     if (((int)AppMain.g_gm_main_system.ply_work[0].player_flag & 1024) != 0)
     {
         return(1);
     }
     AppMain.VecFx32 vecFx32 = new AppMain.VecFx32();
     vecFx32.x = obsObjectWork.pos.x - obj_work.ene_3d_work.ene_com.obj_work.pos.x;
     vecFx32.y = obsObjectWork.pos.y - obj_work.ene_3d_work.ene_com.obj_work.pos.y;
     return(AppMain.FX_Mul(vecFx32.x, obj_work.vec.y) - AppMain.FX_Mul(vecFx32.y, obj_work.vec.x) > 0 ? 0 : 1);
 }
Exemplo n.º 6
0
    public static int gmEneHaroIsPlayerCenter(AppMain.GMS_ENE_HARO_WORK obj_work)
    {
        AppMain.OBS_OBJECT_WORK obsObjectWork = (AppMain.OBS_OBJECT_WORK)AppMain.g_gm_main_system.ply_work[0];
        if (((int)AppMain.g_gm_main_system.ply_work[0].player_flag & 1024) != 0)
        {
            return(1);
        }
        AppMain.VecFx32 vecFx32 = new AppMain.VecFx32();
        vecFx32.x = obsObjectWork.pos.x - obj_work.ene_3d_work.ene_com.obj_work.pos.x;
        vecFx32.y = obsObjectWork.pos.y - obj_work.ene_3d_work.ene_com.obj_work.pos.y;
        int num = AppMain.FX_Mul(vecFx32.x, obj_work.vec.y) - AppMain.FX_Mul(vecFx32.y, obj_work.vec.x);

        return(num < AppMain.FX_F32_TO_FX32(0.2f) && num > -AppMain.FX_F32_TO_FX32(0.2f) ? 1 : 0);
    }
Exemplo n.º 7
0
 public static AppMain.OBS_OBJECT_WORK GmEneHaroInit(
     AppMain.GMS_EVE_RECORD_EVENT eve_rec,
     int pos_x,
     int pos_y,
     byte type)
 {
     AppMain.UNREFERENCED_PARAMETER((object)type);
     AppMain.OBS_OBJECT_WORK   work           = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_ENE_HARO_WORK()), "ENE_HARO");
     AppMain.GMS_ENEMY_3D_WORK gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)work;
     AppMain.GMS_ENE_HARO_WORK gmsEneHaroWork = (AppMain.GMS_ENE_HARO_WORK)work;
     AppMain.ObjObjectCopyAction3dNNModel(work, AppMain.gm_ene_haro_obj_3d_list[0], gmsEnemy3DWork.obj_3d);
     AppMain.ObjObjectAction3dNNMotionLoad(work, 0, true, AppMain.ObjDataGet(689), (string)null, 0, (AppMain.AMS_AMB_HEADER)null);
     AppMain.ObjDrawObjectSetToon(work);
     work.pos.z      = 655360;
     work.disp_flag |= 4194304U;
     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;
     work.move_flag &= 4294967167U;
     work.move_flag |= 256U;
     if (((int)eve_rec.flag & (int)AppMain.GMD_ENE_HARO_EVE_FLAG_RIGHT) == 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));
     gmsEneHaroWork.spd_dec      = (int)AppMain.GMD_ENE_HARO_MOVE_SPD_X / (AppMain.GMD_ENE_HARO_TURN_FRAME / 2);
     gmsEneHaroWork.spd_dec_dist = (int)AppMain.GMD_ENE_HARO_MOVE_SPD_X * (AppMain.GMD_ENE_HARO_TURN_FRAME / 2) / 2;
     gmsEneHaroWork.vec.x        = 0;
     gmsEneHaroWork.vec.y        = AppMain.FX_F32_TO_FX32(1.0);
     gmsEneHaroWork.angle        = 0;
     gmsEneHaroWork.angle_add    = 0;
     gmsEneHaroWork.lighton      = 0;
     AppMain.GmEneUtilInitNodeMatrix(gmsEneHaroWork.node_work, work, 16);
     AppMain.mtTaskChangeTcbDestructor(work.tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmEneHaroExit));
     AppMain.GmEneUtilGetNodeMatrix(gmsEneHaroWork.node_work, 2);
     AppMain.gmEneHaroWaitInit(work);
     work.obj_3d.use_light_flag &= 4294967294U;
     work.obj_3d.use_light_flag |= 64U;
     return(work);
 }
Exemplo n.º 8
0
    // Token: 0x0600028D RID: 653 RVA: 0x000152E4 File Offset: 0x000134E4
    public static OBS_OBJECT_WORK GmEneHaroInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
    {
        AppMain.UNREFERENCED_PARAMETER(type);
        OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_ENE_HARO_WORK(), "ENE_HARO");

        AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK;
        AppMain.GMS_ENE_HARO_WORK gms_ENE_HARO_WORK = (AppMain.GMS_ENE_HARO_WORK)obs_OBJECT_WORK;
        AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_ene_haro_obj_3d_list[0], gms_ENEMY_3D_WORK.obj_3d);
        AppMain.ObjObjectAction3dNNMotionLoad(obs_OBJECT_WORK, 0, true, AppMain.ObjDataGet(689), null, 0, null);
        AppMain.ObjDrawObjectSetToon(obs_OBJECT_WORK);
        obs_OBJECT_WORK.pos.z      = 655360;
        obs_OBJECT_WORK.disp_flag |= 4194304U;
        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;
        obs_OBJECT_WORK.move_flag &= 4294967167U;
        obs_OBJECT_WORK.move_flag |= 256U;
        if ((eve_rec.flag & ( ushort )AppMain.GMD_ENE_HARO_EVE_FLAG_RIGHT) == 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_HARO_WORK.spd_dec      = ( int )AppMain.GMD_ENE_HARO_MOVE_SPD_X / (AppMain.GMD_ENE_HARO_TURN_FRAME / 2);
        gms_ENE_HARO_WORK.spd_dec_dist = ( int )AppMain.GMD_ENE_HARO_MOVE_SPD_X * (AppMain.GMD_ENE_HARO_TURN_FRAME / 2) / 2;
        gms_ENE_HARO_WORK.vec.x        = 0;
        gms_ENE_HARO_WORK.vec.y        = AppMain.FX_F32_TO_FX32(1.0);
        gms_ENE_HARO_WORK.angle        = 0;
        gms_ENE_HARO_WORK.angle_add    = 0;
        gms_ENE_HARO_WORK.lighton      = 0;
        AppMain.GmEneUtilInitNodeMatrix(gms_ENE_HARO_WORK.node_work, obs_OBJECT_WORK, 16);
        AppMain.mtTaskChangeTcbDestructor(obs_OBJECT_WORK.tcb, AppMain.gmEneHaroExit);
        AppMain.GmEneUtilGetNodeMatrix(gms_ENE_HARO_WORK.node_work, 2);
        AppMain.gmEneHaroWaitInit(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);
    }
Exemplo n.º 9
0
    // Token: 0x06000293 RID: 659 RVA: 0x000158AC File Offset: 0x00013AAC
    public static void gmEneHaroWaitInit(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENE_HARO_WORK gms_ENE_HARO_WORK = (AppMain.GMS_ENE_HARO_WORK)obj_work;
        AppMain.ObjDrawObjectActionSet(obj_work, 0);
        obj_work.disp_flag |= 4U;
        obj_work.ppFunc     = AppMain.gmEneHaroWaitMain;
        obj_work.move_flag &= 4294967291U;
        int num = AppMain.FX_Sqrt(AppMain.FX_Mul(gms_ENE_HARO_WORK.vec.x, gms_ENE_HARO_WORK.vec.x) + AppMain.FX_Mul(gms_ENE_HARO_WORK.vec.y, gms_ENE_HARO_WORK.vec.y));

        if (num == 0)
        {
            gms_ENE_HARO_WORK.vec.x = 0;
            gms_ENE_HARO_WORK.vec.y = AppMain.FX_F32_TO_FX32(1f);
            return;
        }
        gms_ENE_HARO_WORK.vec.x = AppMain.FX_Div(gms_ENE_HARO_WORK.vec.x, num);
        gms_ENE_HARO_WORK.vec.y = AppMain.FX_Div(gms_ENE_HARO_WORK.vec.y, num);
    }
Exemplo n.º 10
0
    // Token: 0x06000292 RID: 658 RVA: 0x000157D4 File Offset: 0x000139D4
    public static int gmEneHaroIsPlayerFront(AppMain.GMS_ENE_HARO_WORK obj_work)
    {
        AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK = (AppMain.OBS_OBJECT_WORK)AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];
        if ((AppMain.g_gm_main_system.ply_work[( int )(( UIntPtr )0)].player_flag & 1024U) != 0U)
        {
            return(1);
        }
        AppMain.VecFx32 vecFx = default(AppMain.VecFx32);
        vecFx.x = obs_OBJECT_WORK.pos.x - obj_work.ene_3d_work.ene_com.obj_work.pos.x;
        vecFx.y = obs_OBJECT_WORK.pos.y - obj_work.ene_3d_work.ene_com.obj_work.pos.y;
        int num = AppMain.FX_Mul(vecFx.x, obj_work.vec.x) + AppMain.FX_Mul(vecFx.y, obj_work.vec.y);

        if (num > 0)
        {
            return(1);
        }
        return(0);
    }
Exemplo n.º 11
0
    public static void gmEneHaroWaitInit(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENE_HARO_WORK gmsEneHaroWork = (AppMain.GMS_ENE_HARO_WORK)obj_work;
        AppMain.GMS_ENEMY_3D_WORK gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
        AppMain.ObjDrawObjectActionSet(obj_work, 0);
        obj_work.disp_flag |= 4U;
        obj_work.ppFunc     = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneHaroWaitMain);
        obj_work.move_flag &= 4294967291U;
        int denom = AppMain.FX_Sqrt(AppMain.FX_Mul(gmsEneHaroWork.vec.x, gmsEneHaroWork.vec.x) + AppMain.FX_Mul(gmsEneHaroWork.vec.y, gmsEneHaroWork.vec.y));

        if (denom == 0)
        {
            gmsEneHaroWork.vec.x = 0;
            gmsEneHaroWork.vec.y = AppMain.FX_F32_TO_FX32(1f);
        }
        else
        {
            gmsEneHaroWork.vec.x = AppMain.FX_Div(gmsEneHaroWork.vec.x, denom);
            gmsEneHaroWork.vec.y = AppMain.FX_Div(gmsEneHaroWork.vec.y, denom);
        }
    }
Exemplo n.º 12
0
    public static void gmEneHaroWalkInit(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENE_HARO_WORK gmsEneHaroWork = (AppMain.GMS_ENE_HARO_WORK)obj_work;
        AppMain.GMS_ENEMY_3D_WORK gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
        obj_work.disp_flag |= 4U;
        obj_work.ppFunc     = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneHaroWalkMain);
        obj_work.move_flag &= 4294967291U;
        int denom = AppMain.FX_Sqrt(AppMain.FX_Mul(gmsEneHaroWork.vec.x, gmsEneHaroWork.vec.x) + AppMain.FX_Mul(gmsEneHaroWork.vec.y, gmsEneHaroWork.vec.y));

        if (denom == 0)
        {
            gmsEneHaroWork.vec.x = 0;
            gmsEneHaroWork.vec.y = AppMain.FX_F32_TO_FX32(1f);
        }
        else
        {
            gmsEneHaroWork.vec.x = AppMain.FX_Div(gmsEneHaroWork.vec.x, denom);
            gmsEneHaroWork.vec.y = AppMain.FX_Div(gmsEneHaroWork.vec.y, denom);
        }
        gmsEneHaroWork.timer = 120;
        if (gmsEneHaroWork.lighton == 0)
        {
            AppMain.GmEfctEneEsCreate(obj_work, 6).efct_com.obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneEffectMainFuncHarogen);
            gmsEneHaroWork.lighton = 1;
        }
        if (AppMain.gmEneHaroGetLength2N(obj_work) <= 10000)
        {
            AppMain.GmSoundPlaySE("Halogen");
            AppMain.ObjDrawObjectActionSet(obj_work, 1);
            obj_work.disp_flag |= 4U;
        }
        else
        {
            AppMain.ObjDrawObjectActionSet(obj_work, 1);
            obj_work.disp_flag |= 4U;
        }
    }
Exemplo n.º 13
0
 // Token: 0x0600029A RID: 666 RVA: 0x00015F3C File Offset: 0x0001413C
 public static int gmEneHaroSetWalkSpeed(AppMain.GMS_ENE_HARO_WORK haro_work)
 {
     return(0);
 }
Exemplo n.º 14
0
    // Token: 0x06000296 RID: 662 RVA: 0x00015B58 File Offset: 0x00013D58
    public static void gmEneHaroWalkMain(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENE_HARO_WORK gms_ENE_HARO_WORK = (AppMain.GMS_ENE_HARO_WORK)obj_work;
        if (AppMain.gmEneHaroIsPlayerCenter(gms_ENE_HARO_WORK) == 0)
        {
            if (AppMain.gmEneHaroIsPlayerLeft(gms_ENE_HARO_WORK) != 0)
            {
                gms_ENE_HARO_WORK.angle_add -= AkMath.DEGtoA32(0.03f);
                if (gms_ENE_HARO_WORK.angle_add < -AkMath.DEGtoA32(0.35f))
                {
                    gms_ENE_HARO_WORK.angle_add = -AkMath.DEGtoA32(0.35f);
                }
                gms_ENE_HARO_WORK.angle += gms_ENE_HARO_WORK.angle_add;
            }
            else
            {
                gms_ENE_HARO_WORK.angle_add += AkMath.DEGtoA32(0.03f);
                if (gms_ENE_HARO_WORK.angle_add > AkMath.DEGtoA32(0.35f))
                {
                    gms_ENE_HARO_WORK.angle_add = AkMath.DEGtoA32(0.35f);
                }
                gms_ENE_HARO_WORK.angle += gms_ENE_HARO_WORK.angle_add;
            }
            if (gms_ENE_HARO_WORK.angle < -AkMath.DEGtoA32(1.3f))
            {
                gms_ENE_HARO_WORK.angle = -AkMath.DEGtoA32(1.3f);
            }
            if (gms_ENE_HARO_WORK.angle > AkMath.DEGtoA32(1.3f))
            {
                gms_ENE_HARO_WORK.angle = AkMath.DEGtoA32(1.3f);
            }
        }
        int v   = AppMain.FX_Cos(gms_ENE_HARO_WORK.angle);
        int num = AppMain.FX_Sin(gms_ENE_HARO_WORK.angle);

        gms_ENE_HARO_WORK.vec.x = AppMain.FX_Mul(gms_ENE_HARO_WORK.vec.x, v) + AppMain.FX_Mul(gms_ENE_HARO_WORK.vec.y, num);
        gms_ENE_HARO_WORK.vec.y = AppMain.FX_Mul(gms_ENE_HARO_WORK.vec.x, -num) + AppMain.FX_Mul(gms_ENE_HARO_WORK.vec.y, v);
        gms_ENE_HARO_WORK.vvv.x = ( int )(( float )gms_ENE_HARO_WORK.vvv.x * 0.96f);
        gms_ENE_HARO_WORK.vvv.y = ( int )(( float )gms_ENE_HARO_WORK.vvv.x * 0.96f);
        AppMain.GMS_ENE_HARO_WORK gms_ENE_HARO_WORK2 = gms_ENE_HARO_WORK;
        gms_ENE_HARO_WORK2.vvv.x = gms_ENE_HARO_WORK2.vvv.x + gms_ENE_HARO_WORK.vec.x;
        AppMain.GMS_ENE_HARO_WORK gms_ENE_HARO_WORK3 = gms_ENE_HARO_WORK;
        gms_ENE_HARO_WORK3.vvv.y = gms_ENE_HARO_WORK3.vvv.y + gms_ENE_HARO_WORK.vec.y;
        gms_ENE_HARO_WORK.spd    = AppMain.FX_F32_TO_FX32(1.5f);
        obj_work.spd.x           = AppMain.FX_Mul(gms_ENE_HARO_WORK.vec.x, gms_ENE_HARO_WORK.spd);
        obj_work.spd.y           = AppMain.FX_Mul(gms_ENE_HARO_WORK.vec.y, gms_ENE_HARO_WORK.spd);
        obj_work.spd.x           = obj_work.spd.x + AppMain.FX_Mul(gms_ENE_HARO_WORK.vvv.x, AppMain.FX_F32_TO_FX32(0.025));
        obj_work.spd.y           = obj_work.spd.y + AppMain.FX_Mul(gms_ENE_HARO_WORK.vvv.y, AppMain.FX_F32_TO_FX32(0.025));
        if (gms_ENE_HARO_WORK.timer > 0)
        {
            gms_ENE_HARO_WORK.timer--;
        }
        else
        {
            obj_work.ppFunc = AppMain.gmEneHaroWalkInit;
        }
        if (gms_ENE_HARO_WORK.vec.x < 0)
        {
            obj_work.disp_flag           &= 4294967294U;
            gms_ENE_HARO_WORK.targetAngle = AkMath.DEGtoA32(250);
        }
        else
        {
            obj_work.disp_flag           &= 4294967294U;
            gms_ENE_HARO_WORK.targetAngle = AkMath.DEGtoA32(330);
        }
        if (( int )obj_work.dir.y > gms_ENE_HARO_WORK.targetAngle)
        {
            obj_work.dir.y = ( ushort )(obj_work.dir.y - ( ushort )AkMath.DEGtoA32(5));
        }
        if (( int )obj_work.dir.y < gms_ENE_HARO_WORK.targetAngle)
        {
            obj_work.dir.y = ( ushort )(obj_work.dir.y + ( ushort )AkMath.DEGtoA32(5));
        }
    }
Exemplo n.º 15
0
    public static void gmEneHaroWalkMain(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENE_HARO_WORK obj_work1 = (AppMain.GMS_ENE_HARO_WORK)obj_work;
        if (AppMain.gmEneHaroIsPlayerCenter(obj_work1) == 0)
        {
            if (AppMain.gmEneHaroIsPlayerLeft(obj_work1) != 0)
            {
                obj_work1.angle_add -= AppMain.AKM_DEGtoA32(0.03f);
                if (obj_work1.angle_add < -AppMain.AKM_DEGtoA32(0.35f))
                {
                    obj_work1.angle_add = -AppMain.AKM_DEGtoA32(0.35f);
                }
                obj_work1.angle += obj_work1.angle_add;
            }
            else
            {
                obj_work1.angle_add += AppMain.AKM_DEGtoA32(0.03f);
                if (obj_work1.angle_add > AppMain.AKM_DEGtoA32(0.35f))
                {
                    obj_work1.angle_add = AppMain.AKM_DEGtoA32(0.35f);
                }
                obj_work1.angle += obj_work1.angle_add;
            }
            if (obj_work1.angle < -AppMain.AKM_DEGtoA32(1.3f))
            {
                obj_work1.angle = -AppMain.AKM_DEGtoA32(1.3f);
            }
            if (obj_work1.angle > AppMain.AKM_DEGtoA32(1.3f))
            {
                obj_work1.angle = AppMain.AKM_DEGtoA32(1.3f);
            }
        }
        int v2_1 = AppMain.FX_Cos(obj_work1.angle);
        int v2_2 = AppMain.FX_Sin(obj_work1.angle);

        obj_work1.vec.x  = AppMain.FX_Mul(obj_work1.vec.x, v2_1) + AppMain.FX_Mul(obj_work1.vec.y, v2_2);
        obj_work1.vec.y  = AppMain.FX_Mul(obj_work1.vec.x, -v2_2) + AppMain.FX_Mul(obj_work1.vec.y, v2_1);
        obj_work1.vvv.x  = (int)((double)obj_work1.vvv.x * 0.959999978542328);
        obj_work1.vvv.y  = (int)((double)obj_work1.vvv.x * 0.959999978542328);
        obj_work1.vvv.x += obj_work1.vec.x;
        obj_work1.vvv.y += obj_work1.vec.y;
        obj_work1.spd    = AppMain.FX_F32_TO_FX32(1.5f);
        obj_work.spd.x   = AppMain.FX_Mul(obj_work1.vec.x, obj_work1.spd);
        obj_work.spd.y   = AppMain.FX_Mul(obj_work1.vec.y, obj_work1.spd);
        obj_work.spd.x  += AppMain.FX_Mul(obj_work1.vvv.x, AppMain.FX_F32_TO_FX32(0.025));
        obj_work.spd.y  += AppMain.FX_Mul(obj_work1.vvv.y, AppMain.FX_F32_TO_FX32(0.025));
        if (obj_work1.timer > 0)
        {
            --obj_work1.timer;
        }
        else
        {
            obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneHaroWalkInit);
        }
        if (obj_work1.vec.x < 0)
        {
            obj_work.disp_flag   &= 4294967294U;
            obj_work1.targetAngle = AppMain.AKM_DEGtoA32(250);
        }
        else
        {
            obj_work.disp_flag   &= 4294967294U;
            obj_work1.targetAngle = AppMain.AKM_DEGtoA32(330);
        }
        if ((int)obj_work.dir.y > obj_work1.targetAngle)
        {
            obj_work.dir.y -= (ushort)AppMain.AKM_DEGtoA32(5);
        }
        if ((int)obj_work.dir.y >= obj_work1.targetAngle)
        {
            return;
        }
        obj_work.dir.y += (ushort)AppMain.AKM_DEGtoA32(5);
    }