public static AppMain.OBS_RECT ObjRectAllSet( AppMain.OBS_RECT pRec, AppMain.VecFx32 pos, short cLeft, short cTop, short cBack, short cRight, short cBottom, short cFront) { pRec.pos.Assign(pos); pRec.left = cLeft; pRec.top = cTop; pRec.right = cRight; pRec.bottom = cBottom; pRec.back = cBack; pRec.front = cFront; if ((int)pRec.right < (int)pRec.left) { AppMain.MTM_MATH_SWAP <short>(ref pRec.left, ref pRec.right); } if ((int)pRec.bottom < (int)pRec.top) { AppMain.MTM_MATH_SWAP <short>(ref pRec.top, ref pRec.bottom); } if ((int)pRec.front < (int)pRec.back) { AppMain.MTM_MATH_SWAP <short>(ref pRec.back, ref pRec.front); } return(pRec); }
private static AppMain.VecFx32 gmGmkBobbinNormalizeVectorXY(AppMain.VecFx32 vec) { AppMain.VecFx32 vecFx32 = new AppMain.VecFx32(); int x = AppMain.FX_Mul(vec.x, vec.x) + AppMain.FX_Mul(vec.y, vec.y); if (x == 0) { vecFx32.x = 4096; vecFx32.y = 0; } else { int v2 = AppMain.FX_Div(4096, AppMain.FX_Sqrt(x)); vecFx32.x = AppMain.FX_Mul(vec.x, v2); vecFx32.y = AppMain.FX_Mul(vec.y, v2); } vecFx32.z = 0; if (AppMain.GSM_MAIN_STAGE_IS_SPSTAGE()) { int dest_x = 0; int dest_y = 0; AppMain.ObjUtilGetRotPosXY(vecFx32.x, vecFx32.y, ref dest_x, ref dest_y, (ushort)-AppMain.g_gm_main_system.pseudofall_dir); vecFx32.x = dest_x; vecFx32.y = dest_y; } return(vecFx32); }
private static float gmBoss3BodyUpdateMoveNormal(AppMain.GMS_BOSS3_BODY_WORK body_work) { AppMain.VecFx32 vecFx32_1 = new AppMain.VecFx32(); ++body_work.move_counter; if ((double)body_work.move_counter >= (double)body_work.move_frame) { vecFx32_1.x = body_work.end_pos.x; vecFx32_1.y = body_work.end_pos.y; vecFx32_1.z = body_work.end_pos.z; } else { float num = (float)(0.5 * (1.0 - (double)AppMain.nnCos(AppMain.AKM_DEGtoA32(180f * (body_work.move_counter / body_work.move_frame))))); AppMain.VecFx32 vecFx32_2 = new AppMain.VecFx32(); vecFx32_2.x = (int)((double)(body_work.end_pos.x - body_work.start_pos.x) * (double)num); vecFx32_2.y = (int)((double)(body_work.end_pos.y - body_work.start_pos.y) * (double)num); vecFx32_2.z = (int)((double)(body_work.end_pos.z - body_work.start_pos.z) * (double)num); vecFx32_1.x = body_work.start_pos.x + vecFx32_2.x; vecFx32_1.y = body_work.start_pos.y + vecFx32_2.y; vecFx32_1.z = body_work.start_pos.z + vecFx32_2.z; } AppMain.OBS_OBJECT_WORK obsObjectWork = AppMain.GMM_BS_OBJ((object)body_work); obsObjectWork.pos.x = vecFx32_1.x; obsObjectWork.pos.y = vecFx32_1.y; obsObjectWork.pos.z = vecFx32_1.z; return(body_work.move_frame - body_work.move_counter); }
// Token: 0x06000707 RID: 1799 RVA: 0x0003E9C4 File Offset: 0x0003CBC4 private static void GmBoss4UtilRotateVecFx32(ref AppMain.VecFx32 f, int angle) { AppMain.NNS_MATRIX nns_MATRIX = AppMain.GlobalPool <AppMain.NNS_MATRIX> .Alloc(); nns_MATRIX.M00 = 1f; nns_MATRIX.M10 = 0f; nns_MATRIX.M20 = 0f; nns_MATRIX.M30 = 0f; nns_MATRIX.M01 = 0f; nns_MATRIX.M11 = 1f; nns_MATRIX.M21 = 0f; nns_MATRIX.M31 = 0f; nns_MATRIX.M02 = 0f; nns_MATRIX.M12 = 0f; nns_MATRIX.M22 = 1f; nns_MATRIX.M32 = 0f; nns_MATRIX.M03 = 0f; nns_MATRIX.M13 = 0f; nns_MATRIX.M23 = 0f; nns_MATRIX.M33 = 1f; AppMain.nnMakeRotateZMatrix(nns_MATRIX, angle); AppMain.nnTranslateMatrix(nns_MATRIX, nns_MATRIX, AppMain.FX_FX32_TO_F32(f.x), AppMain.FX_FX32_TO_F32(f.y), AppMain.FX_FX32_TO_F32(f.z)); f.x = AppMain.FX_F32_TO_FX32(nns_MATRIX.M03); f.y = AppMain.FX_F32_TO_FX32(nns_MATRIX.M13); f.z = AppMain.FX_F32_TO_FX32(nns_MATRIX.M23); AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nns_MATRIX); }
private static void gmBoss3BodyStateBattleEnter(AppMain.GMS_BOSS3_BODY_WORK body_work) { AppMain.OBS_OBJECT_WORK obsObjectWork = AppMain.GMM_BS_OBJ((object)body_work); AppMain.gmBoss3BodySetActionAllParts(body_work, 1); int num = AppMain.g_gm_main_system.map_fcol.right - AppMain.g_gm_main_system.map_fcol.left; AppMain.VecFx32 dest_pos = new AppMain.VecFx32((AppMain.g_gm_main_system.map_fcol.left + num / 2) * 4096, obsObjectWork.pos.y, obsObjectWork.pos.z); float frame = AppMain.gmBoss3BodyCalcMoveXNormalFrame(body_work, dest_pos.x, 4096); AppMain.gmBoss3BodyInitMoveNormal(body_work, dest_pos, frame); if (AppMain.gmBoss3BodyBattleCheckTurn(body_work) != 0) { short dest_angle; int flag_positive; if (((int)obsObjectWork.disp_flag & 1) != 0) { obsObjectWork.disp_flag &= 4294967294U; dest_angle = AppMain.GMD_BOSS3_ANGLE_RIGHT; flag_positive = 1; } else { obsObjectWork.disp_flag |= 1U; dest_angle = AppMain.GMD_BOSS3_ANGLE_LEFT; flag_positive = 0; } AppMain.gmBoss3BodyInitTurn(body_work, dest_angle, 60f, flag_positive); } body_work.proc_update = new AppMain.GMF_BOSS3_BODY_STATE_FUNC(AppMain.gmBoss3BodyStateBattleUpdateMoveCenter); AppMain.gmBoss3EffAfterburnerRequestCreate(body_work); }
private static AppMain.VecFx32 gmEneKamaGetPlayerVectorFx(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.VecFx32 vecFx32 = new AppMain.VecFx32(); AppMain.GMS_PLAYER_WORK gmsPlayerWork = AppMain.g_gm_main_system.ply_work[0]; int num1 = gmsPlayerWork.obj_work.pos.x - obj_work.pos.x; int num2 = gmsPlayerWork.obj_work.pos.y - obj_work.pos.y; if (num1 > AppMain.FX_F32_TO_FX32(1000f) || num1 < AppMain.FX_F32_TO_FX32(-1000f)) { num1 = 1000; } if (num2 > AppMain.FX_F32_TO_FX32(1000f) || num2 < AppMain.FX_F32_TO_FX32(-1000f)) { num2 = 1000; } int denom = AppMain.FX_Sqrt(AppMain.FX_Mul(num1, num1) + AppMain.FX_Mul(num2, num2)); if (denom == 0) { vecFx32.x = 0; vecFx32.y = 0; } else { int v2 = AppMain.FX_Div(4096, denom); vecFx32.x = AppMain.FX_Mul(num1, v2); vecFx32.y = AppMain.FX_Mul(num2, v2); } vecFx32.z = 0; return(vecFx32); }
private static AppMain.OBS_OBJECT_WORK gmBoss2EffBallBombPartInit( AppMain.VecFx32 create_pos, AppMain.OBS_OBJECT_WORK body_obj_work, int spd_x) { AppMain.GMS_EFFECT_3DES_WORK gmsEffect3DesWork = (AppMain.GMS_EFFECT_3DES_WORK)AppMain.gmBoss2EffInit(AppMain.ObjDataGet(718), 2, (AppMain.OBS_OBJECT_WORK)null, (short)0, (short)0, (short)0, 0.0f, 0.0f, 0.0f, 0, 0); AppMain.OBS_OBJECT_WORK objWork = gmsEffect3DesWork.efct_com.obj_work; AppMain.OBS_RECT_WORK[] rectWork = gmsEffect3DesWork.efct_com.rect_work; AppMain.GmBsCmnSetEfctAtkVsPly(gmsEffect3DesWork.efct_com, (short)64); AppMain.ObjRectWorkSet(rectWork[1], (short)-8, (short)-8, (short)8, (short)8); rectWork[1].ppHit = new AppMain.OBS_RECT_WORK_Delegate1(AppMain.gmBoss2BallHitFunc); rectWork[1].flag |= 1028U; rectWork[0].flag |= 3072U; objWork.pos.x = create_pos.x; objWork.pos.y = create_pos.y; objWork.pos.z = create_pos.z; objWork.spd.x = spd_x; objWork.spd.y = -16384; objWork.move_flag |= 32912U; objWork.flag |= 16U; objWork.parent_obj = body_obj_work; objWork.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss2EffBallBombPartMainFunc); AppMain.gmBoss2MgrAddObject(AppMain.gmBoss2MgrGetMgrWork(body_obj_work), objWork); AppMain.mtTaskChangeTcbDestructor(objWork.tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmBoss2EffectExitFunc)); return(objWork); }
// Token: 0x06000662 RID: 1634 RVA: 0x000388A8 File Offset: 0x00036AA8 private static void gmGmkWaterSliderDrawFunc(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.OBS_ACTION3D_NN_WORK obj_3d = obj_work.obj_3d; if (obj_3d.motion != null) { float num = AppMain.amMotionMaterialGetStartFrame(obj_3d.motion, obj_3d.mat_act_id); float num2 = AppMain.amMotionMaterialGetEndFrame(obj_3d.motion, obj_3d.mat_act_id); float num3 = num2 - num; float num4 = AppMain.gmGmkWaterSlidereGameSystemGetSyncTime(); obj_3d.mat_frame = num4 % num3; } AppMain.ObjDrawActionSummary(obj_work); uint num5 = obj_work.disp_flag; num5 |= 4U; num5 &= 4294967279U; if (AppMain.ObjObjectPauseCheck(0U) != 0U) { num5 |= 4096U; } AppMain.GMS_GMK_WATER_SLIDER_WORK gms_GMK_WATER_SLIDER_WORK = (AppMain.GMS_GMK_WATER_SLIDER_WORK)obj_work; AppMain.VecFx32 pos = obj_work.pos; pos.z += 131072; AppMain.ObjDrawAction3DNN(gms_GMK_WATER_SLIDER_WORK.obj_3d_parts, new AppMain.VecFx32?(pos), new AppMain.VecU16?(obj_work.dir), obj_work.scale, ref num5); }
// Token: 0x06001584 RID: 5508 RVA: 0x000BAE58 File Offset: 0x000B9058 private static int gmGmkFlipperCheckRect(AppMain.VecFx32 gimmick_pos, AppMain.VecFx32 target_pos, int type) { switch (type) { case 0: { AppMain.VecFx32 line_start = new AppMain.VecFx32(gimmick_pos); line_start.y += AppMain.FX_F32_TO_FX32(( float )(AppMain.g_gmk_flipper_rect[type][1] - 12)); AppMain.VecFx32 line_end = new AppMain.VecFx32(gimmick_pos); line_end.x += AppMain.FX_F32_TO_FX32(( float )AppMain.g_gmk_flipper_rect[type][2]); line_end.y += AppMain.FX_F32_TO_FX32(( float )(AppMain.g_gmk_flipper_rect[type][3] - 12)); if (AppMain.gmGmkFlipperCheckLeft(line_start, line_end, target_pos) != 0) { return(0); } break; } case 1: { AppMain.VecFx32 line_end2 = new AppMain.VecFx32(gimmick_pos); line_end2.y += AppMain.FX_F32_TO_FX32(( float )(AppMain.g_gmk_flipper_rect[type][1] - 12)); AppMain.VecFx32 line_start2 = new AppMain.VecFx32(gimmick_pos); line_start2.x += AppMain.FX_F32_TO_FX32(( float )AppMain.g_gmk_flipper_rect[type][0]); line_start2.y += AppMain.FX_F32_TO_FX32(( float )(AppMain.g_gmk_flipper_rect[type][3] - 12)); if (AppMain.gmGmkFlipperCheckLeft(line_start2, line_end2, target_pos) != 0) { return(0); } break; } } return(1); }
// Token: 0x06000975 RID: 2421 RVA: 0x0005555C File Offset: 0x0005375C public static void gmBoss5EggGetBodyNodePos(AppMain.GMS_BOSS5_EGG_WORK egg_work, out AppMain.VecFx32 pos_out) { AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_BS_OBJ(egg_work); AppMain.GMS_BOSS5_BODY_WORK gms_BOSS5_BODY_WORK = (AppMain.GMS_BOSS5_BODY_WORK)obs_OBJECT_WORK.parent_obj; AppMain.NNS_MATRIX nns_MATRIX = AppMain.GmBsCmnGetSNMMtx(gms_BOSS5_BODY_WORK.snm_work, gms_BOSS5_BODY_WORK.body_snm_reg_id); pos_out = new AppMain.VecFx32(AppMain.FX_F32_TO_FX32(nns_MATRIX.M03), -AppMain.FX_F32_TO_FX32(nns_MATRIX.M13), AppMain.FX_F32_TO_FX32(nns_MATRIX.M23)); }
private static AppMain.VecFx32 gmGmkSsSquareNormalizeVectorXY(AppMain.VecFx32 vec) { AppMain.VecFx32 vecFx32 = new AppMain.VecFx32(); int denom = AppMain.FX_Sqrt(AppMain.FX_Mul(vec.x, vec.x) + AppMain.FX_Mul(vec.y, vec.y)); if (denom == 0) { vecFx32.x = 4096; vecFx32.y = 0; } else { int v2 = AppMain.FX_Div(4096, denom); vecFx32.x = AppMain.FX_Mul(vec.x, v2); vecFx32.y = AppMain.FX_Mul(vec.y, v2); } vecFx32.z = 0; int dest_x = 0; int dest_y = 0; AppMain.ObjUtilGetRotPosXY(vecFx32.x, vecFx32.y, ref dest_x, ref dest_y, (ushort)-AppMain.g_gm_main_system.pseudofall_dir); vecFx32.x = dest_x; vecFx32.y = dest_y; return(vecFx32); }
// 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 gmGmkBobbinDefFunc( AppMain.OBS_RECT_WORK gimmick_rect, AppMain.OBS_RECT_WORK player_rect) { AppMain.OBS_OBJECT_WORK parentObj1 = gimmick_rect.parent_obj; AppMain.GMS_ENEMY_3D_WORK gimmick_work = (AppMain.GMS_ENEMY_3D_WORK)parentObj1; AppMain.OBS_OBJECT_WORK parentObj2 = player_rect.parent_obj; AppMain.VecFx32 vec = new AppMain.VecFx32(); vec.x = parentObj2.prev_pos.x - parentObj1.pos.x; vec.y = (int)((long)parentObj2.prev_pos.y + -12288L - (long)parentObj1.pos.y); vec.z = 0; if (AppMain.FX_Mul(114688, 114688) < AppMain.FX_Mul(vec.x, vec.x) + AppMain.FX_Mul(vec.y, vec.y)) { gimmick_rect.flag &= 4294966271U; } else { gimmick_rect.flag |= 1024U; AppMain.VecFx32 vecFx32 = AppMain.gmGmkBobbinNormalizeVectorXY(vec); parentObj2.dir.z = (ushort)0; int v1_1 = AppMain.FX_Mul(vecFx32.x, 24576); int v1_2 = AppMain.FX_Mul(vecFx32.y, 24576); int v2_1 = AppMain.FX_F32_TO_FX32((float)((100.0 + (double)gimmick_work.ene_com.eve_rec.left) * 0.00999999977648258)); if (v2_1 < 0) { v2_1 = 0; } int v2_2 = AppMain.FX_F32_TO_FX32((float)((100.0 + (double)gimmick_work.ene_com.eve_rec.top) * 0.00999999977648258)); if (v2_2 < 0) { v2_2 = 0; } int num1 = AppMain.FX_Mul(v1_1, v2_1); int num2 = AppMain.FX_Mul(v1_2, v2_2); if (parentObj2.obj_type == (ushort)1) { AppMain.gmGmkBobbinDefPlayer(gimmick_work, (AppMain.GMS_PLAYER_WORK)parentObj2, num1, num2); } else if (parentObj2.obj_type == (ushort)2) { AppMain.gmGmkBobbinDefEnemy(parentObj2, num1, num2); } AppMain.gmGmkBobbinChangeModeHit(parentObj1); AppMain.GmSoundPlaySE("Casino1"); AppMain.GMS_EFFECT_3DES_WORK gmsEffect3DesWork = AppMain.GmEfctCmnEsCreate(parentObj1, 16); gmsEffect3DesWork.efct_com.obj_work.pos.x = parentObj2.pos.x; gmsEffect3DesWork.efct_com.obj_work.pos.y = parentObj2.pos.y; gmsEffect3DesWork.efct_com.obj_work.pos.z = 131072; gmsEffect3DesWork.efct_com.obj_work.dir.z = (ushort)(AppMain.nnArcTan2((double)AppMain.FX_FX32_TO_F32(num2), (double)AppMain.FX_FX32_TO_F32(num1)) - 16384); if (AppMain.GSM_MAIN_STAGE_IS_SPSTAGE_NOT_RETRY()) { AppMain.OBS_CAMERA obsCamera = AppMain.ObjCameraGet(AppMain.g_obj.glb_camera_id); if (obsCamera != null) { gmsEffect3DesWork.efct_com.obj_work.dir.z -= (ushort)obsCamera.roll; } } AppMain.GMM_PAD_VIB_SMALL(); } }
public static AppMain.VecFx32 gmEneTStarGetPlayerVectorFx(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.VecFx32 vecFx32 = new AppMain.VecFx32(); AppMain.GMS_PLAYER_WORK gmsPlayerWork = AppMain.g_gm_main_system.ply_work[0]; int num1 = gmsPlayerWork.obj_work.pos.x - obj_work.pos.x; int num2 = gmsPlayerWork.obj_work.pos.y - obj_work.pos.y; if (((int)gmsPlayerWork.player_flag & 1024) != 0) { num1 = 2965504; num2 = 2965504; } int denom = AppMain.FX_Sqrt(AppMain.FX_Mul(num1, num1) + AppMain.FX_Mul(num2, num2)); if (denom == 0) { vecFx32.x = 0; vecFx32.y = 0; } else { int v2 = AppMain.FX_Div(4096, denom); vecFx32.x = AppMain.FX_Mul(num1, v2); vecFx32.y = AppMain.FX_Mul(num2, v2); } vecFx32.z = 0; return(vecFx32); }
internal AppMain.NNS_VECTOR Assign(AppMain.VecFx32 vec) { this.x = (float)vec.x; this.y = (float)vec.y; this.z = (float)vec.z; return(this); }
// Token: 0x06000DCE RID: 3534 RVA: 0x00079DE0 File Offset: 0x00077FE0 private static AppMain.VecFx32 gmGmkSsSquareNormalizeVectorXY(AppMain.VecFx32 vec) { AppMain.VecFx32 result = default(AppMain.VecFx32); int num = AppMain.FX_Mul(vec.x, vec.x) + AppMain.FX_Mul(vec.y, vec.y); num = AppMain.FX_Sqrt(num); if (num == 0) { result.x = 4096; result.y = 0; } else { int v = AppMain.FX_Div(4096, num); result.x = AppMain.FX_Mul(vec.x, v); result.y = AppMain.FX_Mul(vec.y, v); } result.z = 0; int x = 0; int y = 0; AppMain.ObjUtilGetRotPosXY(result.x, result.y, ref x, ref y, ( ushort )-AppMain.g_gm_main_system.pseudofall_dir); result.x = x; result.y = y; return(result); }
// Token: 0x0600078B RID: 1931 RVA: 0x00042E74 File Offset: 0x00041074 public static AppMain.VecFx32 gmEneTStarGetPlayerVectorFx(OBS_OBJECT_WORK obj_work) { AppMain.VecFx32 result = default(AppMain.VecFx32); GMS_PLAYER_WORK gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)]; int num = gms_PLAYER_WORK.obj_work.pos.x - obj_work.pos.x; int num2 = gms_PLAYER_WORK.obj_work.pos.y - obj_work.pos.y; if ((gms_PLAYER_WORK.player_flag & 1024U) != 0U) { num = 2965504; num2 = 2965504; } int num3 = AppMain.FX_Mul(num, num) + AppMain.FX_Mul(num2, num2); num3 = AppMain.FX_Sqrt(num3); if (num3 == 0) { result.x = 0; result.y = 0; } else { int v = AppMain.FX_Div(4096, num3); result.x = AppMain.FX_Mul(num, v); result.y = AppMain.FX_Mul(num2, v); } result.z = 0; return(result); }
// Token: 0x06000955 RID: 2389 RVA: 0x00054294 File Offset: 0x00052494 private static void gmEneKamaHandAttackInit(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENE_KAMA_WORK gms_ENE_KAMA_WORK = (AppMain.GMS_ENE_KAMA_WORK)obj_work; AppMain.GMS_ENE_KAMA_WORK gms_ENE_KAMA_WORK2 = (AppMain.GMS_ENE_KAMA_WORK)obj_work.parent_obj; AppMain.VecFx32 vecFx = AppMain.gmEneKamaGetPlayerVectorFx(obj_work); obj_work.spd.x = ( int )(( float )vecFx.x * 1.75f); obj_work.spd.y = ( int )(( float )vecFx.y * 1.75f); obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneKamaHandAttackMain); gms_ENE_KAMA_WORK.timer = 120; if ((gms_ENE_KAMA_WORK2.ene_3d_work.ene_com.obj_work.disp_flag & 2U) != 0U) { obj_work.disp_flag |= 2U; } if ((gms_ENE_KAMA_WORK2.ene_3d_work.ene_com.obj_work.disp_flag & 1U) != 0U) { gms_ENE_KAMA_WORK.rot_z_add = -AppMain.AKM_DEGtoA32(15); } else { gms_ENE_KAMA_WORK.rot_z_add = AppMain.AKM_DEGtoA32(15); } AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENE_KAMA_WORK.ene_3d_work.ene_com.rect_work[1]; AppMain.ObjRectWorkSet(obs_RECT_WORK, -8, -8, 8, 8); obs_RECT_WORK.flag |= 4U; obj_work.flag |= 512U; obj_work.pos.z = 655360; AppMain.GmSoundPlaySE("Kama"); }
// Token: 0x06000941 RID: 2369 RVA: 0x000533E0 File Offset: 0x000515E0 private static AppMain.VecFx32 gmEneKamaGetPlayerVectorFx(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.VecFx32 result = default(AppMain.VecFx32); AppMain.GMS_PLAYER_WORK gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)]; int num = gms_PLAYER_WORK.obj_work.pos.x - obj_work.pos.x; int num2 = gms_PLAYER_WORK.obj_work.pos.y - obj_work.pos.y; if (num > AppMain.FX_F32_TO_FX32(1000f) || num < AppMain.FX_F32_TO_FX32(-1000f)) { num = 1000; } if (num2 > AppMain.FX_F32_TO_FX32(1000f) || num2 < AppMain.FX_F32_TO_FX32(-1000f)) { num2 = 1000; } int num3 = AppMain.FX_Mul(num, num) + AppMain.FX_Mul(num2, num2); num3 = AppMain.FX_Sqrt(num3); if (num3 == 0) { result.x = 0; result.y = 0; } else { int v = AppMain.FX_Div(4096, num3); result.x = AppMain.FX_Mul(num, v); result.y = AppMain.FX_Mul(num2, v); } result.z = 0; return(result); }
// Token: 0x06000E6C RID: 3692 RVA: 0x000810B4 File Offset: 0x0007F2B4 public static void gmBoss5TurretGetVulcanBulletPos(AppMain.GMS_BOSS5_TURRET_WORK trt_work, ref AppMain.VecFx32 out_pos) { AppMain.VecFx32 vecFx = new AppMain.VecFx32(0, 0, AppMain.GMD_BOSS5_TURRET_VULCAN_BULLET_OFST_FORWARD); AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_BS_OBJ(trt_work); AppMain.VecFx32 vecFx2; AppMain.gmBoss5TurretGetDispRotatedOfstPos(trt_work, ref vecFx, out vecFx2); AppMain.VEC_Set(ref out_pos, obs_OBJECT_WORK.pos.x + vecFx2.x, obs_OBJECT_WORK.pos.y + vecFx2.y, obs_OBJECT_WORK.pos.z + AppMain.GMD_BOSS5_TURRET_VULCAN_BULLET_OFST_Z); }
public static void gmBoss5EggGetBodyNodePos( AppMain.GMS_BOSS5_EGG_WORK egg_work, out AppMain.VecFx32 pos_out) { AppMain.GMS_BOSS5_BODY_WORK parentObj = (AppMain.GMS_BOSS5_BODY_WORK)AppMain.GMM_BS_OBJ((object)egg_work).parent_obj; AppMain.NNS_MATRIX snmMtx = AppMain.GmBsCmnGetSNMMtx(parentObj.snm_work, parentObj.body_snm_reg_id); pos_out = new AppMain.VecFx32(AppMain.FX_F32_TO_FX32(snmMtx.M03), -AppMain.FX_F32_TO_FX32(snmMtx.M13), AppMain.FX_F32_TO_FX32(snmMtx.M23)); }
private static void GmBsCmnUpdateObjectGeneralStuckWithNodeRelative( AppMain.OBS_OBJECT_WORK obj_work, AppMain.GMS_BS_CMN_SNM_WORK snm_work, int snm_reg_id, AppMain.VecFx32 pivot_cur_pos, AppMain.VecFx32 pivot_prev_pos) { AppMain.GmBsCmnUpdateObjectGeneralStuckWithNodeRelative(obj_work, snm_work, snm_reg_id, pivot_cur_pos, pivot_prev_pos, (AppMain.NNS_MATRIX)null); }
public static void gmBoss5TurretGetVulcanBulletPos( AppMain.GMS_BOSS5_TURRET_WORK trt_work, ref AppMain.VecFx32 out_pos) { AppMain.VecFx32 src_ofst_pos = new AppMain.VecFx32(0, 0, AppMain.GMD_BOSS5_TURRET_VULCAN_BULLET_OFST_FORWARD); AppMain.OBS_OBJECT_WORK obsObjectWork = AppMain.GMM_BS_OBJ((object)trt_work); AppMain.VecFx32 dest_ofst_pos; AppMain.gmBoss5TurretGetDispRotatedOfstPos(trt_work, ref src_ofst_pos, out dest_ofst_pos); AppMain.VEC_Set(ref out_pos, obsObjectWork.pos.x + dest_ofst_pos.x, obsObjectWork.pos.y + dest_ofst_pos.y, obsObjectWork.pos.z + AppMain.GMD_BOSS5_TURRET_VULCAN_BULLET_OFST_Z); }
// Token: 0x0600007C RID: 124 RVA: 0x000072E0 File Offset: 0x000054E0 private static bool gmGmkBumperCheckLeft(AppMain.VecFx32 line_start, AppMain.VecFx32 line_end, AppMain.VecFx32 point) { int v = line_end.x - line_start.x; int v2 = line_end.y - line_start.y; int v3 = point.x - line_start.x; int v4 = point.y - line_start.y; int num = AppMain.FX_Mul(v, v4) - AppMain.FX_Mul(v2, v3); return(num <= 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; } }
private static void gmEneKamaHandAttackMain(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENE_KAMA_WORK gmsEneKamaWork = (AppMain.GMS_ENE_KAMA_WORK)obj_work; gmsEneKamaWork.rot_z += gmsEneKamaWork.rot_z_add; AppMain.NNS_MATRIX handAttackMainRmat = AppMain.gmEneKamaHandAttackMain_rmat; AppMain.NNS_MATRIX handAttackMainTmat = AppMain.gmEneKamaHandAttackMain_tmat; AppMain.NNS_MATRIX handAttackMainMat = AppMain.gmEneKamaHandAttackMain_mat; AppMain.nnMakeRotateZMatrix(handAttackMainRmat, gmsEneKamaWork.rot_z); if (((int)obj_work.disp_flag & 2) != 0) { AppMain.nnMakeTranslateMatrix(handAttackMainTmat, 10f, 10f, 0.0f); } else { AppMain.nnMakeTranslateMatrix(handAttackMainTmat, 10f, -10f, 0.0f); } AppMain.nnMultiplyMatrix(handAttackMainMat, handAttackMainRmat, handAttackMainTmat); obj_work.ofst.x = AppMain.FX_F32_TO_FX32(handAttackMainMat.M03); obj_work.ofst.y = AppMain.FX_F32_TO_FX32(handAttackMainMat.M13); obj_work.dir.z = (ushort)gmsEneKamaWork.rot_z; if (gmsEneKamaWork.timer > 0) { AppMain.VecFx32 playerVectorFx = AppMain.gmEneKamaGetPlayerVectorFx(obj_work); int v2_1 = (int)((double)obj_work.spd.x / 1.75); int v2_2 = (int)((double)obj_work.spd.y / 1.75); int v2_3; int num; if (AppMain.FX_Mul(playerVectorFx.x, v2_2) - AppMain.FX_Mul(playerVectorFx.y, v2_1) < 0) { v2_3 = AppMain.FX_Mul(AppMain.FX_Cos((int)(short)AppMain.AKM_DEGtoA32(1f)), v2_1) - AppMain.FX_Mul(AppMain.FX_Sin((int)(short)AppMain.AKM_DEGtoA32(1f)), v2_2); num = AppMain.FX_Mul(AppMain.FX_Sin((int)(short)AppMain.AKM_DEGtoA32(1f)), v2_3) + AppMain.FX_Mul(AppMain.FX_Cos((int)(short)AppMain.AKM_DEGtoA32(1f)), v2_2); } else { v2_3 = AppMain.FX_Mul(AppMain.FX_Cos((int)(short)AppMain.AKM_DEGtoA32(-1f)), v2_1) - AppMain.FX_Mul(AppMain.FX_Sin((int)(short)AppMain.AKM_DEGtoA32(-1f)), v2_2); num = AppMain.FX_Mul(AppMain.FX_Sin((int)(short)AppMain.AKM_DEGtoA32(-1f)), v2_3) + AppMain.FX_Mul(AppMain.FX_Cos((int)(short)AppMain.AKM_DEGtoA32(-1f)), v2_2); } obj_work.spd.x = (int)((double)v2_3 * 1.75); obj_work.spd.y = (int)((double)num * 1.75); --gmsEneKamaWork.timer; } else { obj_work.spd.x = 0; obj_work.spd_fall = AppMain.FX_F32_TO_FX32(0.2f); obj_work.move_flag |= 128U; AppMain.GMS_ENE_KAMA_WORK parentObj = (AppMain.GMS_ENE_KAMA_WORK)obj_work.parent_obj; if (parentObj == null) { return; } parentObj.ata_futa = 1; } }
private static void gmBoss2EffBallBombInit( AppMain.VecFx32 create_pos, AppMain.OBS_OBJECT_WORK body_obj_work) { AppMain.OBS_OBJECT_WORK obj_work_parts = AppMain.gmBoss2EffInit(AppMain.ObjDataGet(717), 1, (AppMain.OBS_OBJECT_WORK)null, (short)0, (short)0, (short)0, 0.0f, 0.0f, 0.0f, 0, 0); obj_work_parts.pos.x = create_pos.x; obj_work_parts.pos.y = create_pos.y; obj_work_parts.pos.z = create_pos.z + 131072; AppMain.gmBoss2MgrAddObject(AppMain.gmBoss2MgrGetMgrWork(body_obj_work), obj_work_parts); AppMain.mtTaskChangeTcbDestructor(obj_work_parts.tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmBoss2EffectExitFunc)); }
// Token: 0x0600076A RID: 1898 RVA: 0x00041770 File Offset: 0x0003F970 private static void gmGmkSwDispFunc(OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_SW_WORK gms_GMK_SW_WORK = (AppMain.GMS_GMK_SW_WORK)obj_work; AppMain.VecFx32 vecFx = default(AppMain.VecFx32); uint disp_flag = obj_work.disp_flag; vecFx.Assign(obj_work.pos); vecFx.y += gms_GMK_SW_WORK.top_pos_y << 12; AppMain.ObjDrawAction3DNN(obj_work.obj_3d, new AppMain.VecFx32?(vecFx), new AppMain.VecU16?(obj_work.dir), obj_work.scale, ref obj_work.disp_flag); AppMain.ObjDrawAction3DNN(gms_GMK_SW_WORK.obj_3d_base, new AppMain.VecFx32?(obj_work.pos), new AppMain.VecU16?(obj_work.dir), obj_work.scale, ref disp_flag); }
private static void GmBsCmnUpdateObjectGeneralStuckWithNodeRelative( AppMain.OBS_OBJECT_WORK obj_work, AppMain.GMS_BS_CMN_SNM_WORK snm_work, int snm_reg_id, AppMain.VecFx32 pivot_cur_pos, AppMain.VecFx32 pivot_prev_pos, AppMain.NNS_MATRIX ofst_mtx) { AppMain.GmBsCmnUpdateObjectGeneralStuckWithNode(obj_work, snm_work, snm_reg_id, ofst_mtx); AppMain.VEC_Set(ref obj_work.pos, obj_work.pos.x - pivot_prev_pos.x + pivot_cur_pos.x, obj_work.pos.y - pivot_prev_pos.y + pivot_cur_pos.y, obj_work.pos.z - pivot_prev_pos.z + pivot_cur_pos.z); }
private static bool gmGmkBumperCheckLeft( AppMain.VecFx32 line_start, AppMain.VecFx32 line_end, AppMain.VecFx32 point) { int v1_1 = line_end.x - line_start.x; int v1_2 = line_end.y - line_start.y; int v2_1 = point.x - line_start.x; int v2_2 = point.y - line_start.y; return(AppMain.FX_Mul(v1_1, v2_2) - AppMain.FX_Mul(v1_2, v2_1) <= 0); }