Exemplo n.º 1
0
    private static void GmBoss4UtilInitTurnGently(
        AppMain.GMS_BOSS4_DIRECTION _work,
        short dest_angle,
        int frame,
        bool is_positive)
    {
        AppMain.MTM_ASSERT(frame > 0);
        _work.orig_angle = _work.cur_angle;
        _work.turn_angle = 0;
        _work.turn_spd   = 0;
        if (is_positive)
        {
            ushort num = (ushort)((uint)dest_angle - (uint)_work.cur_angle);
            _work.turn_amount = (int)num;
        }
        else
        {
            ushort num = (ushort)((int)dest_angle - AppMain.AKM_DEGtoA32(360) - ((int)_work.cur_angle - AppMain.AKM_DEGtoA32(360)));
            _work.turn_amount = (int)num - AppMain.AKM_DEGtoA32(360);
        }
        _work.turn_gen_var = 0;
        float num1 = 180f / (float)frame;

        AppMain.MTM_ASSERT((double)AppMain.MTM_MATH_ABS(num1) <= 2147483648.0);
        _work.turn_gen_factor = AppMain.AKM_DEGtoA32(num1);
        AppMain.GmBoss4UtilSetDirection(_work, (short)((int)_work.orig_angle + _work.turn_angle));
    }
Exemplo n.º 2
0
    // Token: 0x060006FC RID: 1788 RVA: 0x0003E4E0 File Offset: 0x0003C6E0
    private static bool GmBoss4UtilUpdateTurn(AppMain.GMS_BOSS4_DIRECTION _work, float spd_rate)
    {
        bool flag = false;

        AppMain.MTM_ASSERT(spd_rate >= 0f);
        float num = spd_rate * (float)_work.turn_spd;

        AppMain.MTM_ASSERT(AppMain.MTM_MATH_ABS(num) <= 2.1474836E+09f);
        _work.turn_angle += ( int )num;
        if (_work.turn_spd > 0)
        {
            if (_work.turn_angle >= _work.turn_amount)
            {
                flag = true;
            }
        }
        else if (_work.turn_spd < 0 && _work.turn_angle <= _work.turn_amount)
        {
            flag = true;
        }
        if (flag)
        {
            _work.turn_angle = _work.turn_amount;
        }
        AppMain.GmBoss4UtilSetDirection(_work, ( short )(( int )_work.orig_angle + _work.turn_angle));
        return(flag);
    }
Exemplo n.º 3
0
 // Token: 0x060006FA RID: 1786 RVA: 0x0003E42C File Offset: 0x0003C62C
 private static void GmBoss4UtilInitTurn(AppMain.GMS_BOSS4_DIRECTION _work, int turn_amount, int turn_spd)
 {
     AppMain.MTM_ASSERT(0 == (int.MinValue & (turn_amount ^ turn_spd)));
     _work.orig_angle  = _work.cur_angle;
     _work.turn_angle  = 0;
     _work.turn_amount = turn_amount;
     _work.turn_spd    = turn_spd;
     AppMain.GmBoss4UtilSetDirection(_work, ( short )(( int )_work.orig_angle + _work.turn_angle));
 }
Exemplo n.º 4
0
    private static void GmBoss4UtilInitTurn(
        AppMain.GMS_BOSS4_DIRECTION _work,
        short dest_angle,
        int frame,
        bool is_positive)
    {
        AppMain.MTM_ASSERT(frame > 0);
        int turn_amount = !is_positive ? (int)(ushort)((int)dest_angle - AppMain.AKM_DEGtoA32(360) - ((int)_work.cur_angle - AppMain.AKM_DEGtoA32(360))) - AppMain.AKM_DEGtoA32(360) : (int)(ushort)((uint)dest_angle - (uint)_work.cur_angle);
        int turn_spd    = turn_amount / frame;

        AppMain.GmBoss4UtilInitTurn(_work, turn_amount, turn_spd);
    }
Exemplo n.º 5
0
 // Token: 0x060006F8 RID: 1784 RVA: 0x0003E3F1 File Offset: 0x0003C5F1
 private static void GmBoss4UtilSetDirectionNormal(AppMain.GMS_BOSS4_DIRECTION _work)
 {
     if (_work.direction == 1)
     {
         AppMain.GmBoss4UtilSetDirection(_work, AppMain.GMD_BOSS4_LEFTWARD_ANGLE);
     }
     else
     {
         AppMain.GmBoss4UtilSetDirection(_work, AppMain.GMD_BOSS4_RIGHTWARD_ANGLE);
     }
     _work.orig_angle = 0;
     _work.turn_angle = 0;
 }
Exemplo n.º 6
0
 // Token: 0x06000701 RID: 1793 RVA: 0x0003E7C8 File Offset: 0x0003C9C8
 private static bool GmBoss4UtilLookAtCenter(AppMain.GMS_BOSS4_DIRECTION _work, AppMain.OBS_OBJECT_WORK obj_work, int time)
 {
     if (AppMain.GMM_BOSS4_AREA_CENTER_X() < obj_work.pos.x)
     {
         _work.direction = 1;
         AppMain.GmBoss4UtilInitTurnGently(_work, AppMain.GMD_BOSS4_LEFTWARD_ANGLE, time, false);
     }
     else
     {
         _work.direction = 0;
         AppMain.GmBoss4UtilInitTurnGently(_work, AppMain.GMD_BOSS4_RIGHTWARD_ANGLE, time, true);
     }
     return(AppMain.GmBoss4UtilUpdateTurnGently(_work));
 }
Exemplo n.º 7
0
 // Token: 0x060006F7 RID: 1783 RVA: 0x0003E3B1 File Offset: 0x0003C5B1
 private static void GmBoss4UtilUpdateDirection(AppMain.GMS_BOSS4_DIRECTION _work, AppMain.OBS_OBJECT_WORK obj_work, bool flag)
 {
     if (_work.direction == 1)
     {
         obj_work.disp_flag |= 1U;
     }
     else
     {
         obj_work.disp_flag &= 4294967294U;
     }
     if (flag)
     {
         return;
     }
     obj_work.dir.y = ( ushort )_work.cur_angle;
 }
Exemplo n.º 8
0
 // Token: 0x06000700 RID: 1792 RVA: 0x0003E75C File Offset: 0x0003C95C
 private static bool GmBoss4UtilLookAtPlayerCheckDirection(AppMain.GMS_BOSS4_DIRECTION _work, AppMain.OBS_OBJECT_WORK obj_work, int time)
 {
     if (AppMain.GmBsCmnGetPlayerObj().pos.x < obj_work.pos.x)
     {
         if (_work.direction != 1)
         {
             _work.direction = 1;
             AppMain.GmBoss4UtilInitTurnGently(_work, AppMain.GMD_BOSS4_LEFTWARD_ANGLE, time, false);
         }
     }
     else if (_work.direction != 0)
     {
         _work.direction = 0;
         AppMain.GmBoss4UtilInitTurnGently(_work, AppMain.GMD_BOSS4_RIGHTWARD_ANGLE, time, true);
     }
     return(AppMain.GmBoss4UtilUpdateTurnGently(_work));
 }
Exemplo n.º 9
0
    // Token: 0x060006FB RID: 1787 RVA: 0x0003E480 File Offset: 0x0003C680
    private static void GmBoss4UtilInitTurn(AppMain.GMS_BOSS4_DIRECTION _work, short dest_angle, int frame, bool is_positive)
    {
        AppMain.MTM_ASSERT(frame > 0);
        int num2;

        if (is_positive)
        {
            ushort num = (ushort)(dest_angle - _work.cur_angle);
            num2 = ( int )num;
        }
        else
        {
            ushort num = (ushort)((int)dest_angle - AppMain.AKM_DEGtoA32(360) - ((int)_work.cur_angle - AppMain.AKM_DEGtoA32(360)));
            num2 = ( int )num - AppMain.AKM_DEGtoA32(360);
        }
        int turn_spd = num2 / frame;

        AppMain.GmBoss4UtilInitTurn(_work, num2, turn_spd);
    }
Exemplo n.º 10
0
    // Token: 0x060006FE RID: 1790 RVA: 0x0003E648 File Offset: 0x0003C848
    private static bool GmBoss4UtilUpdateTurnGently(AppMain.GMS_BOSS4_DIRECTION _work)
    {
        bool flag = false;

        AppMain.MTM_ASSERT(_work.turn_gen_factor > 0);
        _work.turn_gen_var += _work.turn_gen_factor;
        if (_work.turn_gen_var >= AppMain.AKM_DEGtoA32(180))
        {
            _work.turn_gen_var = AppMain.AKM_DEGtoA32(180);
            flag = true;
        }
        float num = (float)_work.turn_amount * 0.5f * (1f - AppMain.nnCos(_work.turn_gen_var));

        AppMain.MTM_ASSERT(AppMain.MTM_MATH_ABS(num) <= 2.1474836E+09f);
        _work.turn_angle = ( int )num;
        if (flag)
        {
            _work.turn_angle = _work.turn_amount;
        }
        AppMain.GmBoss4UtilSetDirection(_work, ( short )(( int )_work.orig_angle + _work.turn_angle));
        return(flag);
    }
Exemplo n.º 11
0
 // Token: 0x06000702 RID: 1794 RVA: 0x0003E817 File Offset: 0x0003CA17
 private static bool GmBoss4UtilLookAt(AppMain.GMS_BOSS4_DIRECTION _work)
 {
     return(AppMain.GmBoss4UtilUpdateTurnGently(_work));
 }
Exemplo n.º 12
0
 // Token: 0x060006F9 RID: 1785 RVA: 0x0003E422 File Offset: 0x0003C622
 private static void GmBoss4UtilSetDirection(AppMain.GMS_BOSS4_DIRECTION _work, short deg)
 {
     _work.cur_angle = deg;
 }
Exemplo n.º 13
0
 // Token: 0x060006F6 RID: 1782 RVA: 0x0003E3A7 File Offset: 0x0003C5A7
 private static void GmBoss4UtilUpdateDirection(AppMain.GMS_BOSS4_DIRECTION _work, AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GmBoss4UtilUpdateDirection(_work, obj_work, false);
 }
Exemplo n.º 14
0
    // Token: 0x060006F5 RID: 1781 RVA: 0x0003E378 File Offset: 0x0003C578
    private static bool GmBoss4UtilIsDirectionPositiveFromCurrent(AppMain.GMS_BOSS4_DIRECTION _work, short target_angle)
    {
        int num = (int)(65535L & (long)(_work.cur_angle - target_angle));

        return(num >= AppMain.AKM_DEGtoA32(180));
    }
Exemplo n.º 15
0
 private static bool GmBoss4UtilIsDirectionPositiveFromCurrent(
     AppMain.GMS_BOSS4_DIRECTION _work,
     short target_angle)
 {
     return((int)((long)ushort.MaxValue & (long)((int)_work.cur_angle - (int)target_angle)) >= AppMain.AKM_DEGtoA32(180));
 }