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); }
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; } }
// 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; }
// 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; } }
// 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; } }
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; } }
// 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); }
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); }