private static void gmGmkSpearWait_200(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_SPEAR_WORK gmsGmkSpearWork = (AppMain.GMS_GMK_SPEAR_WORK)obj_work; obj_work.spd.x = -(AppMain.mtMathCos((int)gmsGmkSpearWork.vect) * gmsGmkSpearWork.stroke_spd) >> 12; obj_work.spd.y = -(AppMain.mtMathSin((int)gmsGmkSpearWork.vect) * gmsGmkSpearWork.stroke_spd) >> 12; gmsGmkSpearWork.timer_dec = gmsGmkSpearWork.timer_set_move; AppMain.gmGmkSpearShrink(obj_work); }
// Token: 0x06000563 RID: 1379 RVA: 0x0002D984 File Offset: 0x0002BB84 private static void gmGmkSpearWait_100(OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_SPEAR_WORK gms_GMK_SPEAR_WORK = (AppMain.GMS_GMK_SPEAR_WORK)obj_work; gms_GMK_SPEAR_WORK.timer_dec--; if (gms_GMK_SPEAR_WORK.timer_dec <= 0) { obj_work.ppFunc = AppMain.gmGmkSpearWait_200; } }
// Token: 0x0600055D RID: 1373 RVA: 0x0002D6D8 File Offset: 0x0002B8D8 private static void gmGmkSpearStay_100(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_SPEAR_WORK gms_GMK_SPEAR_WORK = (AppMain.GMS_GMK_SPEAR_WORK)obj_work; gms_GMK_SPEAR_WORK.timer_dec--; if (gms_GMK_SPEAR_WORK.timer_dec <= 0) { obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkSpearStay_200); } }
private static void gmGmkSpearShrink_200(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_SPEAR_WORK pwork = (AppMain.GMS_GMK_SPEAR_WORK)obj_work; obj_work.spd.x = 0; obj_work.spd.y = 0; uint num = AppMain.gmGmkSpearSyncTimeGet(pwork); pwork.timer_dec = num > (uint)pwork.timer_set_wait_lower ? 0 : (int)((long)pwork.timer_set_wait_lower - (long)(num - 1U)); AppMain.gmGmkSpearStay(obj_work); }
// Token: 0x0600055A RID: 1370 RVA: 0x0002D320 File Offset: 0x0002B520 private static uint gmGmkSpearSyncTimeGet(AppMain.GMS_GMK_SPEAR_WORK pwork) { uint sync_time = AppMain.g_gm_main_system.sync_time; uint num = (uint)((pwork.timer_set_move + (pwork.stroke_spd - 1)) / pwork.stroke_spd); uint num2 = num * 2U; num2 += ( uint )pwork.timer_set_wait_upper; num2 += ( uint )pwork.timer_set_wait_lower; return(sync_time % num2); }
private static void gmGmkSpearWait_100(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_SPEAR_WORK gmsGmkSpearWork = (AppMain.GMS_GMK_SPEAR_WORK)obj_work; --gmsGmkSpearWork.timer_dec; if (gmsGmkSpearWork.timer_dec > 0) { return; } obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkSpearWait_200); }
private static void gmGmkSpearStroke_200(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_SPEAR_WORK pwork = (AppMain.GMS_GMK_SPEAR_WORK)obj_work; obj_work.spd.x = 0; obj_work.spd.y = 0; uint num1 = (uint)((pwork.timer_set_move + (pwork.stroke_spd - 1)) / pwork.stroke_spd); uint num2 = AppMain.gmGmkSpearSyncTimeGet(pwork) - (uint)pwork.timer_set_wait_lower - num1; pwork.timer_dec = num2 > (uint)pwork.timer_set_wait_upper ? 0 : (int)((long)pwork.timer_set_wait_upper - (long)(num2 - 1U)); AppMain.gmGmkSpearWait(obj_work); }
private static void gmGmkSpearStay_200(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_SPEAR_WORK gmsGmkSpearWork = (AppMain.GMS_GMK_SPEAR_WORK)obj_work; obj_work.spd.x = AppMain.mtMathCos((int)gmsGmkSpearWork.vect); obj_work.spd.y = AppMain.mtMathSin((int)gmsGmkSpearWork.vect); obj_work.spd.x = obj_work.spd.x * gmsGmkSpearWork.stroke_spd >> 12; obj_work.spd.y = obj_work.spd.y * gmsGmkSpearWork.stroke_spd >> 12; gmsGmkSpearWork.timer_dec = gmsGmkSpearWork.timer_set_move; AppMain.GmSoundPlaySE("Spear"); AppMain.gmGmkSpearStroke(obj_work); }
// Token: 0x06000567 RID: 1383 RVA: 0x0002DB64 File Offset: 0x0002BD64 private static void gmGmkSpearShrink_200(OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_SPEAR_WORK gms_GMK_SPEAR_WORK = (AppMain.GMS_GMK_SPEAR_WORK)obj_work; obj_work.spd.x = 0; obj_work.spd.y = 0; uint num = AppMain.gmGmkSpearSyncTimeGet(gms_GMK_SPEAR_WORK); if (num <= ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_lower) { gms_GMK_SPEAR_WORK.timer_dec = ( int )(( long )gms_GMK_SPEAR_WORK.timer_set_wait_lower - ( long )(( ulong )(num - 1U))); } else { gms_GMK_SPEAR_WORK.timer_dec = 0; } AppMain.gmGmkSpearStay(obj_work); }
// Token: 0x06000561 RID: 1377 RVA: 0x0002D8E8 File Offset: 0x0002BAE8 private static void gmGmkSpearStroke_200(OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_SPEAR_WORK gms_GMK_SPEAR_WORK = (AppMain.GMS_GMK_SPEAR_WORK)obj_work; obj_work.spd.x = 0; obj_work.spd.y = 0; uint num = (uint)((gms_GMK_SPEAR_WORK.timer_set_move + (gms_GMK_SPEAR_WORK.stroke_spd - 1)) / gms_GMK_SPEAR_WORK.stroke_spd); uint num2 = AppMain.gmGmkSpearSyncTimeGet(gms_GMK_SPEAR_WORK); num2 -= ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_lower; num2 -= num; if (num2 <= ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_upper) { gms_GMK_SPEAR_WORK.timer_dec = ( int )(( long )gms_GMK_SPEAR_WORK.timer_set_wait_upper - ( long )(( ulong )(num2 - 1U))); } else { gms_GMK_SPEAR_WORK.timer_dec = 0; } AppMain.gmGmkSpearWait(obj_work); }
// Token: 0x06000566 RID: 1382 RVA: 0x0002DA8C File Offset: 0x0002BC8C private static void gmGmkSpearShrink_100(OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_SPEAR_WORK gms_GMK_SPEAR_WORK = (AppMain.GMS_GMK_SPEAR_WORK)obj_work; gms_GMK_SPEAR_WORK.timer_dec -= gms_GMK_SPEAR_WORK.stroke_spd; if (gms_GMK_SPEAR_WORK.timer_dec <= 0) { if (gms_GMK_SPEAR_WORK.timer_dec < 0) { obj_work.spd.x = AppMain.mtMathCos(( int )gms_GMK_SPEAR_WORK.vect); obj_work.spd.y = AppMain.mtMathSin(( int )gms_GMK_SPEAR_WORK.vect); obj_work.spd.x = -(obj_work.spd.x * gms_GMK_SPEAR_WORK.timer_dec >> 12); obj_work.spd.y = -(obj_work.spd.y * gms_GMK_SPEAR_WORK.timer_dec >> 12); } else { obj_work.spd.x = 0; obj_work.spd.y = 0; } obj_work.ppFunc = AppMain.gmGmkSpearShrink_200; } }
private static void gmGmkSpearShrink_100(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_SPEAR_WORK gmsGmkSpearWork = (AppMain.GMS_GMK_SPEAR_WORK)obj_work; gmsGmkSpearWork.timer_dec -= gmsGmkSpearWork.stroke_spd; if (gmsGmkSpearWork.timer_dec > 0) { return; } if (gmsGmkSpearWork.timer_dec < 0) { obj_work.spd.x = AppMain.mtMathCos((int)gmsGmkSpearWork.vect); obj_work.spd.y = AppMain.mtMathSin((int)gmsGmkSpearWork.vect); obj_work.spd.x = -(obj_work.spd.x * gmsGmkSpearWork.timer_dec >> 12); obj_work.spd.y = -(obj_work.spd.y * gmsGmkSpearWork.timer_dec >> 12); } else { obj_work.spd.x = 0; obj_work.spd.y = 0; } obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkSpearShrink_200); }
// Token: 0x06000557 RID: 1367 RVA: 0x0002D200 File Offset: 0x0002B400 private static OBS_OBJECT_WORK GmGmkSpearRInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type) { AppMain.GMS_GMK_SPEAR_WORK gms_GMK_SPEAR_WORK = (AppMain.GMS_GMK_SPEAR_WORK)AppMain.gmGmkSpearInit(eve_rec, pos_x, pos_y, type); gms_GMK_SPEAR_WORK.obj_type = 3U; gms_GMK_SPEAR_WORK.gmk_work.ene_com.obj_work.dir.z = 16384; gms_GMK_SPEAR_WORK.vect = 0; if (eve_rec.top > 0) { gms_GMK_SPEAR_WORK.timer_set_wait_upper = ( short )eve_rec.top; } if (eve_rec.width > 0) { gms_GMK_SPEAR_WORK.timer_set_wait_lower = ( short )eve_rec.width; } if (eve_rec.left > 0) { gms_GMK_SPEAR_WORK.timer_set_move = ( int )eve_rec.left << 12; } AppMain.gmGmkSpear_CreateParts(gms_GMK_SPEAR_WORK); gms_GMK_SPEAR_WORK.gmk_work.ene_com.obj_work.ppFunc = AppMain.gmGmkSpearStart; return(gms_GMK_SPEAR_WORK.gmk_work.ene_com.obj_work); }
// Token: 0x06000556 RID: 1366 RVA: 0x0002D138 File Offset: 0x0002B338 private static AppMain.OBS_OBJECT_WORK GmGmkSpearLInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type) { AppMain.GMS_GMK_SPEAR_WORK gms_GMK_SPEAR_WORK = (AppMain.GMS_GMK_SPEAR_WORK)AppMain.gmGmkSpearInit(eve_rec, pos_x, pos_y, type); gms_GMK_SPEAR_WORK.obj_type = 2U; gms_GMK_SPEAR_WORK.gmk_work.ene_com.obj_work.dir.z = 49152; gms_GMK_SPEAR_WORK.vect = 32768; if (eve_rec.top > 0) { gms_GMK_SPEAR_WORK.timer_set_wait_upper = ( short )eve_rec.top; } if (eve_rec.width > 0) { gms_GMK_SPEAR_WORK.timer_set_wait_lower = ( short )eve_rec.width; } if (eve_rec.left < 0) { gms_GMK_SPEAR_WORK.timer_set_move = -(( int )eve_rec.left << 12); } AppMain.gmGmkSpear_CreateParts(gms_GMK_SPEAR_WORK); gms_GMK_SPEAR_WORK.gmk_work.ene_com.obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkSpearStart); return(gms_GMK_SPEAR_WORK.gmk_work.ene_com.obj_work); }
private static AppMain.OBS_OBJECT_WORK gmGmkSpearInit( AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type) { AppMain.GMS_GMK_SPEAR_WORK work = (AppMain.GMS_GMK_SPEAR_WORK)AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_SPEAR_WORK()), "Gmk_Spear"); AppMain.OBS_OBJECT_WORK objWork = work.gmk_work.ene_com.obj_work; AppMain.GMS_ENEMY_3D_WORK gmkWork = work.gmk_work; AppMain.ObjObjectCopyAction3dNNModel(objWork, AppMain.gm_gmk_spear_obj_3d_list[0], gmkWork.obj_3d); objWork.pos.z = 0; objWork.move_flag |= 256U; work.timer_set_move = 196608; work.stroke_spd = 32768; work.timer_set_wait_upper = (short)120; work.timer_set_wait_lower = (short)120; work.timer_dec = (int)eve_rec.height; if (((int)eve_rec.flag & 31) != 0) { int num; if (((int)eve_rec.flag & 16) == 0) { num = ((int)eve_rec.flag & 15) << 10; } else { num = -((int)eve_rec.flag & 15) << 10; if (num == 0) { num = -16384; } } work.stroke_spd += num; } return(objWork); }
private static uint gmGmkSpearSyncTimeGet(AppMain.GMS_GMK_SPEAR_WORK pwork) { return(AppMain.g_gm_main_system.sync_time % ((uint)((pwork.timer_set_move + (pwork.stroke_spd - 1)) / pwork.stroke_spd) * 2U + (uint)pwork.timer_set_wait_upper + (uint)pwork.timer_set_wait_lower)); }
private static void gmGmkSpear_CreateParts(AppMain.GMS_GMK_SPEAR_WORK pwork) { AppMain.OBS_OBJECT_WORK objWork = pwork.gmk_work.ene_com.obj_work; AppMain.OBS_OBJECT_WORK work1 = AppMain.GMM_EFFECT_CREATE_WORK((AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_SPEARPARTS_WORK()), (AppMain.OBS_OBJECT_WORK)null, (ushort)0, "Gmk_SpearBase"); AppMain.GMS_GMK_SPEARPARTS_WORK gmkSpearpartsWork1 = (AppMain.GMS_GMK_SPEARPARTS_WORK)work1; AppMain.ObjObjectCopyAction3dNNModel(work1, AppMain.gm_gmk_spear_obj_3d_list[2], gmkSpearpartsWork1.eff_work.obj_3d); work1.parent_obj = objWork; work1.pos.x = objWork.pos.x; work1.pos.y = objWork.pos.y; work1.pos.z = objWork.pos.z; switch (pwork.obj_type) { case 0: work1.pos.y += 16384; break; case 1: work1.pos.y -= 16384; break; case 2: work1.pos.x += 16384; break; case 3: work1.pos.x -= 16384; break; } work1.dir.z = objWork.dir.z; work1.flag &= 4294966271U; work1.move_flag |= 256U; work1.disp_flag &= 4294967039U; work1.flag |= 2U; work1.ppFunc = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null; AppMain.OBS_OBJECT_WORK work2 = AppMain.GMM_EFFECT_CREATE_WORK((AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_SPEARPARTS_WORK()), (AppMain.OBS_OBJECT_WORK)null, (ushort)0, "Gmk_SpearRod"); AppMain.GMS_GMK_SPEARPARTS_WORK gmkSpearpartsWork2 = (AppMain.GMS_GMK_SPEARPARTS_WORK)work2; AppMain.ObjObjectCopyAction3dNNModel(work2, AppMain.gm_gmk_spear_obj_3d_list[1], gmkSpearpartsWork2.eff_work.obj_3d); work2.parent_obj = objWork; work2.parent_ofst.x = 0; work2.parent_ofst.y = 0; work2.parent_ofst.z = -1; work2.dir.z = objWork.dir.z; work2.flag |= 1024U; work2.move_flag |= 256U; work2.disp_flag &= 4294967039U; work2.flag |= 2U; switch (pwork.obj_type) { case 0: gmkSpearpartsWork2.connect = objWork.pos.y; break; case 1: gmkSpearpartsWork2.connect = objWork.pos.y; break; case 2: gmkSpearpartsWork2.connect = objWork.pos.x; break; case 3: gmkSpearpartsWork2.connect = objWork.pos.x; break; } gmkSpearpartsWork2.connect_type = pwork.obj_type; gmkSpearpartsWork2.parent_connect = objWork; gmkSpearpartsWork2.obj_type = pwork.obj_type; gmkSpearpartsWork2.fulcrum = gmkSpearpartsWork2.connect; work2.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkSpearRod); }
// Token: 0x06000569 RID: 1385 RVA: 0x0002DC8C File Offset: 0x0002BE8C private static void gmGmkSpear_CreateParts(AppMain.GMS_GMK_SPEAR_WORK pwork) { OBS_OBJECT_WORK obj_work = pwork.gmk_work.ene_com.obj_work; OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_EFFECT_CREATE_WORK(() => new AppMain.GMS_GMK_SPEARPARTS_WORK(), null, 0, "Gmk_SpearBase"); AppMain.GMS_GMK_SPEARPARTS_WORK gms_GMK_SPEARPARTS_WORK = (AppMain.GMS_GMK_SPEARPARTS_WORK)obs_OBJECT_WORK; AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_spear_obj_3d_list[2], gms_GMK_SPEARPARTS_WORK.eff_work.obj_3d); obs_OBJECT_WORK.parent_obj = obj_work; obs_OBJECT_WORK.pos.x = obj_work.pos.x; obs_OBJECT_WORK.pos.y = obj_work.pos.y; obs_OBJECT_WORK.pos.z = obj_work.pos.z; switch (pwork.obj_type) { case 0U: { OBS_OBJECT_WORK obs_OBJECT_WORK2 = obs_OBJECT_WORK; obs_OBJECT_WORK2.pos.y = obs_OBJECT_WORK2.pos.y + 16384; break; } case 1U: { OBS_OBJECT_WORK obs_OBJECT_WORK3 = obs_OBJECT_WORK; obs_OBJECT_WORK3.pos.y = obs_OBJECT_WORK3.pos.y - 16384; break; } case 2U: { OBS_OBJECT_WORK obs_OBJECT_WORK4 = obs_OBJECT_WORK; obs_OBJECT_WORK4.pos.x = obs_OBJECT_WORK4.pos.x + 16384; break; } case 3U: { OBS_OBJECT_WORK obs_OBJECT_WORK5 = obs_OBJECT_WORK; obs_OBJECT_WORK5.pos.x = obs_OBJECT_WORK5.pos.x - 16384; break; } } obs_OBJECT_WORK.dir.z = obj_work.dir.z; obs_OBJECT_WORK.flag &= 4294966271U; obs_OBJECT_WORK.move_flag |= 256U; obs_OBJECT_WORK.disp_flag &= 4294967039U; obs_OBJECT_WORK.flag |= 2U; obs_OBJECT_WORK.ppFunc = null; obs_OBJECT_WORK = AppMain.GMM_EFFECT_CREATE_WORK(() => new AppMain.GMS_GMK_SPEARPARTS_WORK(), null, 0, "Gmk_SpearRod"); gms_GMK_SPEARPARTS_WORK = (AppMain.GMS_GMK_SPEARPARTS_WORK)obs_OBJECT_WORK; AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_spear_obj_3d_list[1], gms_GMK_SPEARPARTS_WORK.eff_work.obj_3d); obs_OBJECT_WORK.parent_obj = obj_work; obs_OBJECT_WORK.parent_ofst.x = 0; obs_OBJECT_WORK.parent_ofst.y = 0; obs_OBJECT_WORK.parent_ofst.z = -1; obs_OBJECT_WORK.dir.z = obj_work.dir.z; obs_OBJECT_WORK.flag |= 1024U; obs_OBJECT_WORK.move_flag |= 256U; obs_OBJECT_WORK.disp_flag &= 4294967039U; obs_OBJECT_WORK.flag |= 2U; switch (pwork.obj_type) { case 0U: gms_GMK_SPEARPARTS_WORK.connect = obj_work.pos.y; break; case 1U: gms_GMK_SPEARPARTS_WORK.connect = obj_work.pos.y; break; case 2U: gms_GMK_SPEARPARTS_WORK.connect = obj_work.pos.x; break; case 3U: gms_GMK_SPEARPARTS_WORK.connect = obj_work.pos.x; break; } gms_GMK_SPEARPARTS_WORK.connect_type = pwork.obj_type; gms_GMK_SPEARPARTS_WORK.parent_connect = obj_work; gms_GMK_SPEARPARTS_WORK.obj_type = pwork.obj_type; gms_GMK_SPEARPARTS_WORK.fulcrum = gms_GMK_SPEARPARTS_WORK.connect; obs_OBJECT_WORK.ppFunc = AppMain.gmGmkSpearRod; }
// Token: 0x0600055B RID: 1371 RVA: 0x0002D36C File Offset: 0x0002B56C private static void gmGmkSpearStart(OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_SPEAR_WORK gms_GMK_SPEAR_WORK = (AppMain.GMS_GMK_SPEAR_WORK)obj_work; gms_GMK_SPEAR_WORK.gmk_work.ene_com.rect_work[2].flag &= 4294967291U; gms_GMK_SPEAR_WORK.gmk_work.ene_com.rect_work[0].flag &= 4294967291U; gms_GMK_SPEAR_WORK.gmk_work.ene_com.rect_work[1].flag |= 4U; AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_GMK_SPEAR_WORK.gmk_work.ene_com.rect_work[1]; AppMain.ObjRectWorkZSet(obs_RECT_WORK, AppMain.tbl_gm_gmk_spear_rect[( int )(( UIntPtr )gms_GMK_SPEAR_WORK.obj_type)][0], AppMain.tbl_gm_gmk_spear_rect[( int )(( UIntPtr )gms_GMK_SPEAR_WORK.obj_type)][1], -500, AppMain.tbl_gm_gmk_spear_rect[( int )(( UIntPtr )gms_GMK_SPEAR_WORK.obj_type)][2], AppMain.tbl_gm_gmk_spear_rect[( int )(( UIntPtr )gms_GMK_SPEAR_WORK.obj_type)][3], 500); obs_RECT_WORK.flag |= 4U; obs_RECT_WORK.flag |= 1024U; obj_work.flag &= 4294967293U; uint num = AppMain.g_gm_main_system.sync_time; uint num2 = (uint)((gms_GMK_SPEAR_WORK.timer_set_move + (gms_GMK_SPEAR_WORK.stroke_spd - 1)) / gms_GMK_SPEAR_WORK.stroke_spd); uint num3 = num2 * 2U; num3 += ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_upper; num3 += ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_lower; if (num <= ( uint )gms_GMK_SPEAR_WORK.timer_dec) { gms_GMK_SPEAR_WORK.timer_dec -= ( int )(num - 1U); gms_GMK_SPEAR_WORK.timer_dec += ( int )gms_GMK_SPEAR_WORK.timer_set_wait_lower; AppMain.gmGmkSpearStay(obj_work); return; } num -= ( uint )gms_GMK_SPEAR_WORK.timer_dec; num %= num3; if (num <= ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_lower) { gms_GMK_SPEAR_WORK.timer_dec = ( int )(( long )gms_GMK_SPEAR_WORK.timer_set_wait_lower - ( long )(( ulong )(num - 1U))); AppMain.gmGmkSpearStay(obj_work); return; } num -= ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_lower; int num4 = AppMain.mtMathCos((int)gms_GMK_SPEAR_WORK.vect); int num5 = AppMain.mtMathSin((int)gms_GMK_SPEAR_WORK.vect); num4 = num4 * gms_GMK_SPEAR_WORK.stroke_spd >> 12; num5 = num5 * gms_GMK_SPEAR_WORK.stroke_spd >> 12; if (num < num2) { gms_GMK_SPEAR_WORK.timer_dec = gms_GMK_SPEAR_WORK.timer_set_move; while (num > 1U) { gms_GMK_SPEAR_WORK.timer_dec -= gms_GMK_SPEAR_WORK.stroke_spd; obj_work.pos.x = obj_work.pos.x + num4; obj_work.pos.y = obj_work.pos.y + num5; num -= 1U; } obj_work.spd.x = num4; obj_work.spd.y = num5; AppMain.gmGmkSpearStroke(obj_work); return; } num -= num2; int num6 = AppMain.mtMathCos((int)gms_GMK_SPEAR_WORK.vect) * gms_GMK_SPEAR_WORK.timer_set_move >> 12; int num7 = AppMain.mtMathSin((int)gms_GMK_SPEAR_WORK.vect) * gms_GMK_SPEAR_WORK.timer_set_move >> 12; obj_work.pos.x = obj_work.pos.x + num6; obj_work.pos.y = obj_work.pos.y + num7; if (num <= ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_upper) { gms_GMK_SPEAR_WORK.timer_dec = ( int )(( long )gms_GMK_SPEAR_WORK.timer_set_wait_upper - ( long )(( ulong )(num - 1U))); AppMain.gmGmkSpearWait(obj_work); return; } num -= ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_upper; gms_GMK_SPEAR_WORK.timer_dec = gms_GMK_SPEAR_WORK.timer_set_move; while (num > 1U) { gms_GMK_SPEAR_WORK.timer_dec -= gms_GMK_SPEAR_WORK.stroke_spd; obj_work.pos.x = obj_work.pos.x - num4; obj_work.pos.y = obj_work.pos.y - num5; num -= 1U; } obj_work.spd.x = -num4; obj_work.spd.y = -num5; AppMain.gmGmkSpearShrink(obj_work); }
private static void gmGmkSpearStart(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_SPEAR_WORK gmsGmkSpearWork = (AppMain.GMS_GMK_SPEAR_WORK)obj_work; gmsGmkSpearWork.gmk_work.ene_com.rect_work[2].flag &= 4294967291U; gmsGmkSpearWork.gmk_work.ene_com.rect_work[0].flag &= 4294967291U; gmsGmkSpearWork.gmk_work.ene_com.rect_work[1].flag |= 4U; AppMain.OBS_RECT_WORK pRec = gmsGmkSpearWork.gmk_work.ene_com.rect_work[1]; AppMain.ObjRectWorkZSet(pRec, AppMain.tbl_gm_gmk_spear_rect[(int)gmsGmkSpearWork.obj_type][0], AppMain.tbl_gm_gmk_spear_rect[(int)gmsGmkSpearWork.obj_type][1], (short)-500, AppMain.tbl_gm_gmk_spear_rect[(int)gmsGmkSpearWork.obj_type][2], AppMain.tbl_gm_gmk_spear_rect[(int)gmsGmkSpearWork.obj_type][3], (short)500); pRec.flag |= 4U; pRec.flag |= 1024U; obj_work.flag &= 4294967293U; uint syncTime = AppMain.g_gm_main_system.sync_time; uint num1 = (uint)((gmsGmkSpearWork.timer_set_move + (gmsGmkSpearWork.stroke_spd - 1)) / gmsGmkSpearWork.stroke_spd); uint num2 = num1 * 2U + (uint)gmsGmkSpearWork.timer_set_wait_upper + (uint)gmsGmkSpearWork.timer_set_wait_lower; if (syncTime <= (uint)gmsGmkSpearWork.timer_dec) { gmsGmkSpearWork.timer_dec -= (int)syncTime - 1; gmsGmkSpearWork.timer_dec += (int)gmsGmkSpearWork.timer_set_wait_lower; AppMain.gmGmkSpearStay(obj_work); } else { uint num3 = (syncTime - (uint)gmsGmkSpearWork.timer_dec) % num2; if (num3 <= (uint)gmsGmkSpearWork.timer_set_wait_lower) { gmsGmkSpearWork.timer_dec = (int)((long)gmsGmkSpearWork.timer_set_wait_lower - (long)(num3 - 1U)); AppMain.gmGmkSpearStay(obj_work); } else { uint num4 = num3 - (uint)gmsGmkSpearWork.timer_set_wait_lower; int num5 = AppMain.mtMathCos((int)gmsGmkSpearWork.vect); int num6 = AppMain.mtMathSin((int)gmsGmkSpearWork.vect); int num7 = num5 * gmsGmkSpearWork.stroke_spd >> 12; int num8 = num6 * gmsGmkSpearWork.stroke_spd >> 12; if (num4 < num1) { gmsGmkSpearWork.timer_dec = gmsGmkSpearWork.timer_set_move; for (; num4 > 1U; --num4) { gmsGmkSpearWork.timer_dec -= gmsGmkSpearWork.stroke_spd; obj_work.pos.x += num7; obj_work.pos.y += num8; } obj_work.spd.x = num7; obj_work.spd.y = num8; AppMain.gmGmkSpearStroke(obj_work); } else { uint num9 = num4 - num1; int num10 = AppMain.mtMathCos((int)gmsGmkSpearWork.vect) * gmsGmkSpearWork.timer_set_move >> 12; int num11 = AppMain.mtMathSin((int)gmsGmkSpearWork.vect) * gmsGmkSpearWork.timer_set_move >> 12; obj_work.pos.x += num10; obj_work.pos.y += num11; if (num9 <= (uint)gmsGmkSpearWork.timer_set_wait_upper) { gmsGmkSpearWork.timer_dec = (int)((long)gmsGmkSpearWork.timer_set_wait_upper - (long)(num9 - 1U)); AppMain.gmGmkSpearWait(obj_work); } else { uint num12 = num9 - (uint)gmsGmkSpearWork.timer_set_wait_upper; gmsGmkSpearWork.timer_dec = gmsGmkSpearWork.timer_set_move; for (; num12 > 1U; --num12) { gmsGmkSpearWork.timer_dec -= gmsGmkSpearWork.stroke_spd; obj_work.pos.x -= num7; obj_work.pos.y -= num8; } obj_work.spd.x = -num7; obj_work.spd.y = -num8; AppMain.gmGmkSpearShrink(obj_work); } } } } }