Exemplo n.º 1
0
 private static void gmGmkBeltConveyorStart(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_BELTC_WORK gmsGmkBeltcWork = (AppMain.GMS_GMK_BELTC_WORK)obj_work;
     gmsGmkBeltcWork.gmk_work.ene_com.col_work.obj_col.obj       = obj_work;
     gmsGmkBeltcWork.gmk_work.ene_com.col_work.obj_col.diff_data = AppMain.g_gm_default_col;
     gmsGmkBeltcWork.gmk_work.ene_com.col_work.obj_col.flag     |= 134217728U;
     gmsGmkBeltcWork.gmk_work.ene_com.col_work.obj_col.width     = (ushort)gmsGmkBeltcWork.width;
     gmsGmkBeltcWork.gmk_work.ene_com.col_work.obj_col.ofst_x    = gmsGmkBeltcWork.vect == (ushort)0 ? (short)0 : (short)-gmsGmkBeltcWork.width;
     gmsGmkBeltcWork.gmk_work.ene_com.col_work.obj_col.height    = (ushort)8;
     gmsGmkBeltcWork.gmk_work.ene_com.col_work.obj_col.ofst_y    = (short)-16;
     if (((int)((AppMain.GMS_ENEMY_COM_WORK)obj_work).eve_rec.flag & 16) != 0)
     {
         gmsGmkBeltcWork.gmk_work.ene_com.col_work.obj_col.width  += (ushort)16;
         gmsGmkBeltcWork.gmk_work.ene_com.col_work.obj_col.ofst_x -= (short)16;
     }
     if (((int)((AppMain.GMS_ENEMY_COM_WORK)obj_work).eve_rec.flag & 32) != 0)
     {
         gmsGmkBeltcWork.gmk_work.ene_com.col_work.obj_col.width += (ushort)16;
     }
     gmsGmkBeltcWork.gmk_work.ene_com.col_work.obj_col.dir   = (ushort)0;
     gmsGmkBeltcWork.gmk_work.ene_com.col_work.obj_col.flag |= 32U;
     gmsGmkBeltcWork.gmk_work.ene_com.col_work.obj_col.attr  = (ushort)1;
     gmsGmkBeltcWork.last_under = false;
     gmsGmkBeltcWork.tex_u      = 0.0f;
     obj_work.ppFunc            = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkBeltConveyorStay);
 }
Exemplo n.º 2
0
    private static void gmGmkBeltConveyorStay(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_BELTC_WORK gmsGmkBeltcWork = (AppMain.GMS_GMK_BELTC_WORK)obj_work;
        AppMain.OBS_OBJECT_WORK    objWork         = AppMain.g_gm_main_system.ply_work[0].obj_work;
        bool flag = false;

        if (objWork.ride_obj == obj_work)
        {
            objWork.flow.x = gmsGmkBeltcWork.speed;
            flag           = true;
        }
        if (gmsGmkBeltcWork.last_under && !flag && (AppMain.g_gm_main_system.ply_work[0].seq_state == 1 && ((int)objWork.move_flag & 1) == 0) && (gmsGmkBeltcWork.speed > 0 && objWork.spd_m <0 && objWork.pos.x> obj_work.pos.x || gmsGmkBeltcWork.speed < 0 && objWork.spd_m > 0 && objWork.pos.x < obj_work.pos.x))
        {
            objWork.spd_m = gmsGmkBeltcWork.speed;
        }
        gmsGmkBeltcWork.last_under = flag;
        gmsGmkBeltcWork.rolldir   += gmsGmkBeltcWork.diradd;
        obj_work.dir.z             = (ushort)(gmsGmkBeltcWork.rolldir >> 12);
        gmsGmkBeltcWork.tex_u     -= (float)(gmsGmkBeltcWork.speed >> 12) / 128f;
        while ((double)gmsGmkBeltcWork.tex_u >= 0.125)
        {
            gmsGmkBeltcWork.tex_u -= 0.125f;
        }
        while ((double)gmsGmkBeltcWork.tex_u <= -0.125)
        {
            gmsGmkBeltcWork.tex_u += 0.125f;
        }
    }
Exemplo n.º 3
0
 // Token: 0x06000286 RID: 646 RVA: 0x00014F40 File Offset: 0x00013140
 private static void gmGmkBeltConveyorStart(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_BELTC_WORK gms_GMK_BELTC_WORK = (AppMain.GMS_GMK_BELTC_WORK)obj_work;
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.obj       = obj_work;
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.diff_data = AppMain.g_gm_default_col;
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.flag     |= 134217728U;
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.width     = ( ushort )gms_GMK_BELTC_WORK.width;
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.ofst_x    = ( short )((gms_GMK_BELTC_WORK.vect == 0) ? 0 : (-gms_GMK_BELTC_WORK.width));
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.height    = 8;
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.ofst_y    = -16;
     if ((((AppMain.GMS_ENEMY_COM_WORK)obj_work).eve_rec.flag & 16) != 0)
     {
         AppMain.OBS_COLLISION_OBJ obj_col = gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col;
         obj_col.width += 16;
         AppMain.OBS_COLLISION_OBJ obj_col2 = gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col;
         obj_col2.ofst_x -= 16;
     }
     if ((((AppMain.GMS_ENEMY_COM_WORK)obj_work).eve_rec.flag & 32) != 0)
     {
         AppMain.OBS_COLLISION_OBJ obj_col3 = gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col;
         obj_col3.width += 16;
     }
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.dir   = 0;
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.flag |= 32U;
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.attr  = 1;
     gms_GMK_BELTC_WORK.last_under = false;
     gms_GMK_BELTC_WORK.tex_u      = 0f;
     obj_work.ppFunc = AppMain.gmGmkBeltConveyorStay;
 }
Exemplo n.º 4
0
    // Token: 0x06000285 RID: 645 RVA: 0x00014DE0 File Offset: 0x00012FE0
    private static void gmGmkBeltConveyorStay(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_BELTC_WORK gms_GMK_BELTC_WORK = (AppMain.GMS_GMK_BELTC_WORK)obj_work;
        OBS_OBJECT_WORK            obj_work2          = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)].obj_work;
        bool flag = false;

        if (obj_work2.ride_obj == obj_work)
        {
            obj_work2.flow.x = gms_GMK_BELTC_WORK.speed;
            flag             = true;
        }
        if (gms_GMK_BELTC_WORK.last_under && !flag && AppMain.g_gm_main_system.ply_work[( int )(( UIntPtr )0)].seq_state == 1 && (obj_work2.move_flag & 1U) == 0U && ((gms_GMK_BELTC_WORK.speed > 0 && obj_work2.spd_m <0 && obj_work2.pos.x> obj_work.pos.x) || (gms_GMK_BELTC_WORK.speed < 0 && obj_work2.spd_m > 0 && obj_work2.pos.x < obj_work.pos.x)))
        {
            obj_work2.spd_m = gms_GMK_BELTC_WORK.speed;
        }
        gms_GMK_BELTC_WORK.last_under = flag;
        gms_GMK_BELTC_WORK.rolldir   += gms_GMK_BELTC_WORK.diradd;
        obj_work.dir.z            = ( ushort )(gms_GMK_BELTC_WORK.rolldir >> 12);
        gms_GMK_BELTC_WORK.tex_u -= ( float )(gms_GMK_BELTC_WORK.speed >> 12) / 128f;
        while (gms_GMK_BELTC_WORK.tex_u >= 0.125f)
        {
            gms_GMK_BELTC_WORK.tex_u -= 0.125f;
        }
        while (gms_GMK_BELTC_WORK.tex_u <= -0.125f)
        {
            gms_GMK_BELTC_WORK.tex_u += 0.125f;
        }
    }
Exemplo n.º 5
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;
        }
    }
Exemplo n.º 6
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;
        }
    }
Exemplo n.º 7
0
    // Token: 0x06000281 RID: 641 RVA: 0x00014950 File Offset: 0x00012B50
    private static OBS_OBJECT_WORK GmGmkBeltConveyorInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
    {
        AppMain.GMS_GMK_BELTC_WORK gms_GMK_BELTC_WORK = (AppMain.GMS_GMK_BELTC_WORK)AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_GMK_BELTC_WORK(), "Gmk_BeltConveyor");
        OBS_OBJECT_WORK            obs_OBJECT_WORK    = (OBS_OBJECT_WORK)gms_GMK_BELTC_WORK;

        AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)gms_GMK_BELTC_WORK;
        AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_beltconv_obj_3d_list[0], gms_ENEMY_3D_WORK.obj_3d);
        obs_OBJECT_WORK.pos.z      = -69632;
        obs_OBJECT_WORK.ppOut      = AppMain.gmGmkBeltConveyor_ppOut;
        obs_OBJECT_WORK.move_flag |= 8448U;
        obs_OBJECT_WORK.disp_flag |= 4194304U;
        obs_OBJECT_WORK.flag      |= 2U;
        gms_GMK_BELTC_WORK.width   = ( short )(eve_rec.width * 2);
        if (eve_rec.left < 0)
        {
            gms_GMK_BELTC_WORK.vect   = 32768;
            gms_GMK_BELTC_WORK.roller = ( int )(-gms_GMK_BELTC_WORK.width * 4096);
        }
        else
        {
            gms_GMK_BELTC_WORK.vect   = 0;
            gms_GMK_BELTC_WORK.roller = ( int )(gms_GMK_BELTC_WORK.width * 4096);
        }
        gms_GMK_BELTC_WORK.speed = 8192;
        int num;

        if ((eve_rec.flag & 15) < 15)
        {
            num = ( int )(eve_rec.flag & 15) << 11;
        }
        else
        {
            num = -2048;
        }
        gms_GMK_BELTC_WORK.speed  += num;
        gms_GMK_BELTC_WORK.rolldir = 0;
        if (gms_GMK_BELTC_WORK.vect == 32768)
        {
            gms_GMK_BELTC_WORK.speed = -gms_GMK_BELTC_WORK.speed;
        }
        gms_GMK_BELTC_WORK.diradd = 65536 * gms_GMK_BELTC_WORK.speed / 6 / 16;
        AppMain.gmGmkBeltConveyorStart(obs_OBJECT_WORK);
        return(obs_OBJECT_WORK);
    }
Exemplo n.º 8
0
    private static AppMain.OBS_OBJECT_WORK GmGmkBeltConveyorInit(
        AppMain.GMS_EVE_RECORD_EVENT eve_rec,
        int pos_x,
        int pos_y,
        byte type)
    {
        AppMain.GMS_GMK_BELTC_WORK work           = (AppMain.GMS_GMK_BELTC_WORK)AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_BELTC_WORK()), "Gmk_BeltConveyor");
        AppMain.OBS_OBJECT_WORK    obj_work       = (AppMain.OBS_OBJECT_WORK)work;
        AppMain.GMS_ENEMY_3D_WORK  gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)work;
        AppMain.ObjObjectCopyAction3dNNModel(obj_work, AppMain.gm_gmk_beltconv_obj_3d_list[0], gmsEnemy3DWork.obj_3d);
        obj_work.pos.z      = -69632;
        obj_work.ppOut      = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkBeltConveyor_ppOut);
        obj_work.move_flag |= 8448U;
        obj_work.disp_flag |= 4194304U;
        obj_work.flag      |= 2U;
        work.width          = (short)((int)eve_rec.width * 2);
        if (eve_rec.left < (sbyte)0)
        {
            work.vect   = (ushort)32768;
            work.roller = (int)-work.width * 4096;
        }
        else
        {
            work.vect   = (ushort)0;
            work.roller = (int)work.width * 4096;
        }
        work.speed = 8192;
        int num = ((int)eve_rec.flag & 15) >= 15 ? -2048 : ((int)eve_rec.flag & 15) << 11;

        work.speed  += num;
        work.rolldir = 0;
        if (work.vect == (ushort)32768)
        {
            work.speed = -work.speed;
        }
        work.diradd = 65536 * work.speed / 6 / 16;
        AppMain.gmGmkBeltConveyorStart(obj_work);
        return(obj_work);
    }