// Token: 0x06001A3A RID: 6714 RVA: 0x000EAE04 File Offset: 0x000E9004 private void amMotionDraw(uint state, AppMain.AMS_MOTION motion, AppMain.NNS_TEXLIST texlist, uint drawflag, AppMain.NNS_MATERIALCALLBACK_FUNC func) { int node_num = motion.node_num; AppMain.AMS_PARAM_DRAW_MOTION_TRS ams_PARAM_DRAW_MOTION_TRS = AppMain.amDrawAlloc_AMS_PARAM_DRAW_MOTION_TRS(); AppMain.NNS_MATRIX nns_MATRIX = ams_PARAM_DRAW_MOTION_TRS.mtx = AppMain.amDrawAlloc_NNS_MATRIX(); AppMain.nnCopyMatrix(nns_MATRIX, AppMain.amMatrixGetCurrent()); ams_PARAM_DRAW_MOTION_TRS._object = motion._object; ams_PARAM_DRAW_MOTION_TRS.mtx = nns_MATRIX; ams_PARAM_DRAW_MOTION_TRS.sub_obj_type = 0U; ams_PARAM_DRAW_MOTION_TRS.flag = drawflag; ams_PARAM_DRAW_MOTION_TRS.texlist = texlist; ams_PARAM_DRAW_MOTION_TRS.trslist = new AppMain.NNS_TRS[node_num]; ams_PARAM_DRAW_MOTION_TRS.material_func = func; for (int i = 0; i < node_num; i++) { ams_PARAM_DRAW_MOTION_TRS.trslist[i] = AppMain.amDrawAlloc_NNS_TRS(); ams_PARAM_DRAW_MOTION_TRS.trslist[i].Assign(motion.data[i]); } int motion_id = motion.mbuf[0].motion_id; ams_PARAM_DRAW_MOTION_TRS.motion = motion.mtnfile[motion_id >> 16].motion[motion_id & 65535]; ams_PARAM_DRAW_MOTION_TRS.frame = motion.mbuf[0].frame; AppMain.amDrawRegistCommand(state, -11, ams_PARAM_DRAW_MOTION_TRS); }
// Token: 0x06000954 RID: 2388 RVA: 0x000541B8 File Offset: 0x000523B8 private static void gmEneKamaHandWaitMain(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.NNS_MATRIX nns_MATRIX = AppMain.gmEneKamaHandWaitMain_msm; if (obj_work.parent_obj == null) { obj_work.spd.x = 0; obj_work.spd_fall = AppMain.FX_F32_TO_FX32(0.2f); obj_work.move_flag |= 128U; return; } AppMain.NNS_MATRIX nns_MATRIX2; if (gms_ENE_KAMA_WORK.hand == 1) { nns_MATRIX2 = AppMain.GmEneUtilGetNodeMatrix(gms_ENE_KAMA_WORK2.node_work, 9); } else { nns_MATRIX2 = AppMain.GmEneUtilGetNodeMatrix(gms_ENE_KAMA_WORK2.node_work, 6); } if (nns_MATRIX2.M03 == 0f && nns_MATRIX2.M13 == 0f) { return; } AppMain.nnMakeScaleMatrix(nns_MATRIX, 1f, 1f, 1f); AppMain.nnMultiplyMatrix(nns_MATRIX, nns_MATRIX2, nns_MATRIX); AppMain.GmEneUtilSetMatrixNN(obj_work, nns_MATRIX); if (gms_ENE_KAMA_WORK2.attack != 0) { obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneKamaHandAttackInit); } }
private void amMotionDraw( uint state, AppMain.AMS_MOTION motion, AppMain.NNS_TEXLIST texlist, uint drawflag, AppMain.NNS_MATERIALCALLBACK_FUNC func) { int nodeNum = motion.node_num; AppMain.AMS_PARAM_DRAW_MOTION_TRS paramDrawMotionTrs = AppMain.amDrawAlloc_AMS_PARAM_DRAW_MOTION_TRS(); AppMain.NNS_MATRIX dst = paramDrawMotionTrs.mtx = AppMain.amDrawAlloc_NNS_MATRIX(); AppMain.nnCopyMatrix(dst, AppMain.amMatrixGetCurrent()); paramDrawMotionTrs._object = motion._object; paramDrawMotionTrs.mtx = dst; paramDrawMotionTrs.sub_obj_type = 0U; paramDrawMotionTrs.flag = drawflag; paramDrawMotionTrs.texlist = texlist; paramDrawMotionTrs.trslist = new AppMain.NNS_TRS[nodeNum]; paramDrawMotionTrs.material_func = func; for (int index = 0; index < nodeNum; ++index) { paramDrawMotionTrs.trslist[index] = AppMain.amDrawAlloc_NNS_TRS(); paramDrawMotionTrs.trslist[index].Assign(motion.data[index]); } int motionId = motion.mbuf[0].motion_id; paramDrawMotionTrs.motion = motion.mtnfile[motionId >> 16].motion[motionId & (int)ushort.MaxValue]; paramDrawMotionTrs.frame = motion.mbuf[0].frame; AppMain.amDrawRegistCommand(state, -11, (object)paramDrawMotionTrs); }
private static void gmEneKamaHandWaitMain(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENE_KAMA_WORK gmsEneKamaWork = (AppMain.GMS_ENE_KAMA_WORK)obj_work; AppMain.GMS_ENE_KAMA_WORK parentObj = (AppMain.GMS_ENE_KAMA_WORK)obj_work.parent_obj; AppMain.NNS_MATRIX kamaHandWaitMainMsm = AppMain.gmEneKamaHandWaitMain_msm; if (obj_work.parent_obj == null) { obj_work.spd.x = 0; obj_work.spd_fall = AppMain.FX_F32_TO_FX32(0.2f); obj_work.move_flag |= 128U; } else { AppMain.NNS_MATRIX mtx1 = gmsEneKamaWork.hand != 1 ? AppMain.GmEneUtilGetNodeMatrix(parentObj.node_work, 6) : AppMain.GmEneUtilGetNodeMatrix(parentObj.node_work, 9); if ((double)mtx1.M03 == 0.0 && (double)mtx1.M13 == 0.0) { return; } AppMain.nnMakeScaleMatrix(kamaHandWaitMainMsm, 1f, 1f, 1f); AppMain.nnMultiplyMatrix(kamaHandWaitMainMsm, mtx1, kamaHandWaitMainMsm); AppMain.GmEneUtilSetMatrixNN(obj_work, kamaHandWaitMainMsm); if (parentObj.attack == 0) { return; } obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneKamaHandAttackInit); } }
public static void AkMathNormalizeMtx(AppMain.NNS_MATRIX dst_mtx, AppMain.NNS_MATRIX src_mtx) { AppMain.NNS_VECTOR nnsVector1 = new AppMain.NNS_VECTOR(); AppMain.NNS_VECTOR nnsVector2 = new AppMain.NNS_VECTOR(); AppMain.NNS_VECTOR nnsVector3 = new AppMain.NNS_VECTOR(); AppMain.amVectorSet(nnsVector1, src_mtx.M00, src_mtx.M01, src_mtx.M02); AppMain.amVectorSet(nnsVector2, src_mtx.M10, src_mtx.M11, src_mtx.M12); AppMain.amVectorSet(nnsVector3, src_mtx.M20, src_mtx.M21, src_mtx.M22); AppMain.nnMakeUnitMatrix(dst_mtx); float num1 = 1f / AppMain.nnLengthVector(nnsVector1); dst_mtx.M00 = nnsVector1.x * num1; dst_mtx.M01 = nnsVector1.y * num1; dst_mtx.M02 = nnsVector1.z * num1; float num2 = 1f / AppMain.nnLengthVector(nnsVector2); dst_mtx.M10 = nnsVector2.x * num2; dst_mtx.M11 = nnsVector2.y * num2; dst_mtx.M12 = nnsVector2.z * num2; float num3 = 1f / AppMain.nnLengthVector(nnsVector3); dst_mtx.M20 = nnsVector3.x * num3; dst_mtx.M21 = nnsVector3.y * num3; dst_mtx.M22 = nnsVector3.z * num3; //AppMain.GlobalPool<AppMain.NNS_VECTOR>.Release(nnsVector1); //AppMain.GlobalPool<AppMain.NNS_VECTOR>.Release(nnsVector2); //AppMain.GlobalPool<AppMain.NNS_VECTOR>.Release(nnsVector3); }
// Token: 0x06000F62 RID: 3938 RVA: 0x000881EC File Offset: 0x000863EC public static void amQuatMultiMatrix(ref AppMain.NNS_QUATERNION pQuat, ref AppMain.SNNS_VECTOR pVec) { AppMain.NNS_MATRIX nns_MATRIX = AppMain.amMatrixGetCurrent(); AppMain.nnMakeQuaternionMatrix(out AppMain.tempSNNS_MATRIX0, ref pQuat); AppMain.nnCopyVectorMatrixTranslation(ref AppMain.tempSNNS_MATRIX0, ref pVec); AppMain.nnMultiplyMatrix(nns_MATRIX, nns_MATRIX, ref AppMain.tempSNNS_MATRIX0); }
// 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); }
public void amIPhoneInitNN(PresentationParameters presParams) { OpenGL.init(AppMain.m_game, AppMain.m_graphicsDevice); OpenGL.glViewport(0, 0, presParams.BackBufferWidth, presParams.BackBufferHeight); int num1 = 480; int num2 = 320; AppMain.amRenderInit(); AppMain.NNS_MATRIX mtx = AppMain.GlobalPool <AppMain.NNS_MATRIX> .Alloc(); AppMain.NNS_VECTOR nnsVector = new AppMain.NNS_VECTOR(0.0f, 0.0f, -1f); AppMain.NNS_RGBA nnsRgba = new AppMain.NNS_RGBA(1f, 1f, 1f, 1f); AppMain.NNS_CONFIG_GL config; config.WindowWidth = num1; config.WindowHeight = num2; this.nnConfigureSystemGL(config); AppMain.nnMakePerspectiveMatrix(mtx, AppMain.NNM_DEGtoA32(45f), (float)num2 / (float)num1, 1f, 10000f); AppMain._am_draw_video.draw_aspect = (float)num2 / (float)num1; AppMain.nnSetProjection(mtx, 0); AppMain._am_draw_video.draw_width = (float)num1; AppMain._am_draw_video.draw_height = (float)num2; AppMain._am_draw_video.disp_width = (float)num1; AppMain._am_draw_video.disp_height = (float)num2; AppMain._am_draw_video.width_2d = (float)num1; AppMain._am_draw_video.height_2d = (float)num2; AppMain._am_draw_video.scale_x_2d = 1f; AppMain._am_draw_video.scale_y_2d = 1f; AppMain._am_draw_video.base_x_2d = 0.0f; AppMain._am_draw_video.base_y_2d = 0.0f; AppMain._am_draw_video.wide_screen = true; AppMain._am_draw_video.refresh_rate = 60f; AppMain.amRenderInit(); AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(mtx); }
private static void gmBoss4EffAfterburnerExProcMainR(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_BOSS4_BODY_WORK parentObj = (AppMain.GMS_BOSS4_BODY_WORK)obj_work.parent_obj; AppMain.MTM_ASSERT((int)parentObj.node_work.snm_work.reg_node_max); if (((int)obj_work.disp_flag & 8) != 0) { obj_work.flag |= 4U; } if (((int)parentObj.flag[0] & 256) == 0) { AppMain.ObjDrawKillAction3DES(obj_work); } AppMain.NNS_MATRIX nodeMatrix1 = AppMain.GmBoss4UtilGetNodeMatrix(parentObj.node_work, 8); AppMain.NNS_MATRIX nodeMatrix2 = AppMain.GmBoss4UtilGetNodeMatrix(parentObj.node_work, 2); AppMain.NNS_MATRIX nnsMatrix = AppMain.GlobalPool <AppMain.NNS_MATRIX> .Alloc(); AppMain.nnCopyMatrix(nnsMatrix, nodeMatrix1); nnsMatrix.M03 = (float)((double)nodeMatrix1.M03 - (double)nodeMatrix2.M03 + (double)parentObj.ene_3d.ene_com.obj_work.pos.x / 4096.0); AppMain.GmBoss4UtilSetMatrixES(obj_work, nnsMatrix); obj_work.disp_flag &= 4294963199U; if (((int)AppMain.g_obj.flag & 1) != 0) { obj_work.disp_flag |= 4096U; } AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nnsMatrix); }
// Token: 0x060013B0 RID: 5040 RVA: 0x000AE978 File Offset: 0x000ACB78 public static void AkMathNormalizeMtx(AppMain.NNS_MATRIX dst_mtx, AppMain.NNS_MATRIX src_mtx) { AppMain.NNS_VECTOR nns_VECTOR = AppMain.GlobalPool <AppMain.NNS_VECTOR> .Alloc(); AppMain.NNS_VECTOR nns_VECTOR2 = AppMain.GlobalPool <AppMain.NNS_VECTOR> .Alloc(); AppMain.NNS_VECTOR nns_VECTOR3 = AppMain.GlobalPool <AppMain.NNS_VECTOR> .Alloc(); AppMain.amVectorSet(nns_VECTOR, src_mtx.M00, src_mtx.M01, src_mtx.M02); AppMain.amVectorSet(nns_VECTOR2, src_mtx.M10, src_mtx.M11, src_mtx.M12); AppMain.amVectorSet(nns_VECTOR3, src_mtx.M20, src_mtx.M21, src_mtx.M22); AppMain.nnMakeUnitMatrix(dst_mtx); float num = 1f / AppMain.nnLengthVector(nns_VECTOR); dst_mtx.M00 = nns_VECTOR.x * num; dst_mtx.M01 = nns_VECTOR.y * num; dst_mtx.M02 = nns_VECTOR.z * num; num = 1f / AppMain.nnLengthVector(nns_VECTOR2); dst_mtx.M10 = nns_VECTOR2.x * num; dst_mtx.M11 = nns_VECTOR2.y * num; dst_mtx.M12 = nns_VECTOR2.z * num; num = 1f / AppMain.nnLengthVector(nns_VECTOR3); dst_mtx.M20 = nns_VECTOR3.x * num; dst_mtx.M21 = nns_VECTOR3.y * num; dst_mtx.M22 = nns_VECTOR3.z * num; AppMain.GlobalPool <AppMain.NNS_VECTOR> .Release(nns_VECTOR); AppMain.GlobalPool <AppMain.NNS_VECTOR> .Release(nns_VECTOR2); AppMain.GlobalPool <AppMain.NNS_VECTOR> .Release(nns_VECTOR3); }
private static void GmBsCmnSetCNMMtx( AppMain.GMS_BS_CMN_CNM_MGR_WORK cnm_mgr_work, AppMain.NNS_MATRIX w_mtx, int cnm_reg_id) { AppMain.GmBsCmnSetCNMMtx(cnm_mgr_work, w_mtx, cnm_reg_id, 0); }
private static AppMain.GMS_EFFECT_3DES_WORK gmBoss1EffShockwaveInit( AppMain.GMS_BOSS1_CHAIN_WORK chain_work) { AppMain.OBS_OBJECT_WORK work = AppMain.GMM_EFFECT_CREATE_WORK((AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_BOSS1_EFF_SHOCKWAVE_WORK()), AppMain.GMM_BS_OBJ((object)chain_work), (ushort)0, "B01_ShockWave"); AppMain.GMS_EFFECT_3DES_WORK efct_3des = (AppMain.GMS_EFFECT_3DES_WORK)work; AppMain.GMS_BOSS1_EFF_SHOCKWAVE_WORK sw_work = (AppMain.GMS_BOSS1_EFF_SHOCKWAVE_WORK)efct_3des; sw_work.mgr_work = chain_work.mgr_work; AppMain.gmBoss1MgrIncObjCreateCount(sw_work.mgr_work); int index = AppMain.GmBsCmnIsFinalZoneType(AppMain.GMM_BS_OBJ((object)chain_work.mgr_work)) == 0 ? 706 : 708; AppMain.ObjObjectAction3dESEffectLoad(AppMain.GMM_BS_OBJ((object)efct_3des), efct_3des.obj_3des, AppMain.ObjDataGet(index), (string)null, 0, (AppMain.AMS_AMB_HEADER)null); AppMain.ObjObjectAction3dESTextureLoad(AppMain.GMM_BS_OBJ((object)efct_3des), efct_3des.obj_3des, AppMain.ObjDataGet(709), (string)null, 0, (AppMain.AMS_AMB_HEADER)null, false); AppMain.ObjObjectAction3dESTextureSetByDwork(work, AppMain.ObjDataGet(710)); AppMain.GmEffect3DESSetupBase(efct_3des, 1U, 1U); AppMain.NNS_MATRIX snmMtx = AppMain.GmBsCmnGetSNMMtx(chain_work.snm_work, chain_work.ball_snm_reg_id); AppMain.VEC_Set(ref work.pos, AppMain.FX_F32_TO_FX32(snmMtx.M03), AppMain.GMD_BOSS1_GROUND_POS_Y, 0); work.flag &= 4294967293U; AppMain.GmEffectRectInit(efct_3des.efct_com, AppMain.gm_boss1_eff_sw_atk_flag_tbl, AppMain.gm_boss1_eff_sw_def_flag_tbl, (byte)1, (byte)1); AppMain.ObjRectWorkSet(efct_3des.efct_com.rect_work[1], (short)-64, (short)-32, (short)64, (short)32); sw_work.atk_rect_timer = 10U; work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss1EffShockwaveProcMain); AppMain.gmBoss1EffShockwaveSubpartInit(sw_work, 163840, true); AppMain.gmBoss1EffShockwaveSubpartInit(sw_work, 163840, false); AppMain.mtTaskChangeTcbDestructor(work.tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmBoss1EffShockwaveExit)); return(efct_3des); }
// Token: 0x06001543 RID: 5443 RVA: 0x000B90C8 File Offset: 0x000B72C8 public void amIPhoneInitNN() { OpenGL.init(AppMain.m_game, AppMain.m_graphicsDevice); OpenGL.glViewport(0, 0, 480, 288); int num = 480; int num2 = 320; AppMain.amRenderInit(); AppMain.NNS_MATRIX nns_MATRIX = AppMain.GlobalPool <AppMain.NNS_MATRIX> .Alloc(); new AppMain.NNS_VECTOR(0f, 0f, -1f); new AppMain.NNS_RGBA(1f, 1f, 1f, 1f); AppMain.NNS_CONFIG_GL config; config.WindowWidth = num; config.WindowHeight = num2; this.nnConfigureSystemGL(config); AppMain.nnMakePerspectiveMatrix(nns_MATRIX, AppMain.NNM_DEGtoA32(45f), ( float )num2 / ( float )num, 1f, 10000f); AppMain._am_draw_video.draw_aspect = ( float )num2 / ( float )num; AppMain.nnSetProjection(nns_MATRIX, 0); AppMain._am_draw_video.draw_width = ( float )num; AppMain._am_draw_video.draw_height = ( float )num2; AppMain._am_draw_video.disp_width = ( float )num; AppMain._am_draw_video.disp_height = ( float )num2; AppMain._am_draw_video.width_2d = ( float )num; AppMain._am_draw_video.height_2d = ( float )num2; AppMain._am_draw_video.scale_x_2d = 1f; AppMain._am_draw_video.scale_y_2d = 1f; AppMain._am_draw_video.base_x_2d = 0f; AppMain._am_draw_video.base_y_2d = 0f; AppMain._am_draw_video.wide_screen = true; AppMain._am_draw_video.refresh_rate = 60f; AppMain.amRenderInit(); AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nns_MATRIX); }
public static void gmEneEffectMainFuncHarogen(AppMain.OBS_OBJECT_WORK obj_work) { if (obj_work.parent_obj != null) { AppMain.GMS_ENE_HARO_WORK parentObj = (AppMain.GMS_ENE_HARO_WORK)obj_work.parent_obj; AppMain.NNS_MATRIX nodeMatrix = AppMain.GmEneUtilGetNodeMatrix(parentObj.node_work, 2); if (nodeMatrix != null) { float num1 = nodeMatrix.M03 - AppMain.FX_FX32_TO_F32(parentObj.ene_3d_work.ene_com.obj_work.pos.x); float num2 = nodeMatrix.M13 + AppMain.FX_FX32_TO_F32(parentObj.ene_3d_work.ene_com.obj_work.pos.y); float num3 = nodeMatrix.M23 - AppMain.FX_FX32_TO_F32(parentObj.ene_3d_work.ene_com.obj_work.pos.z); float x1 = num1 + AppMain.FX_FX32_TO_F32(parentObj.ene_3d_work.ene_com.obj_work.spd.x); float num4 = num2 - AppMain.FX_FX32_TO_F32(parentObj.ene_3d_work.ene_com.obj_work.spd.y); float x2 = num3 + AppMain.FX_FX32_TO_F32(parentObj.ene_3d_work.ene_com.obj_work.spd.z); obj_work.parent_ofst.x = AppMain.FX_F32_TO_FX32(x1); obj_work.parent_ofst.y = -AppMain.FX_F32_TO_FX32(num4 - 10f); obj_work.parent_ofst.z = AppMain.FX_F32_TO_FX32(x2); } } else { obj_work.flag |= 4U; } if (((int)obj_work.disp_flag & 8) == 0) { return; } obj_work.flag |= 4U; }
// 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)); }
public static void amQuatToMatrix( AppMain.NNS_MATRIX pMtx, ref AppMain.NNS_QUATERNION pQuat, AppMain.NNS_VECTOR4D?pVec) { if (pMtx == null) { AppMain.NNS_MATRIX current = AppMain.amMatrixGetCurrent(); AppMain.nnMakeQuaternionMatrix(out AppMain.tempSNNS_MATRIX0, ref pQuat); if (pVec != null) { AppMain.nnCopyVectorMatrixTranslation(ref AppMain.tempSNNS_MATRIX0, (AppMain.NNS_VECTOR)pVec); } AppMain.nnCopyMatrix(current, ref AppMain.tempSNNS_MATRIX0); } else { AppMain.nnMakeQuaternionMatrix(pMtx, ref pQuat); if (pVec == null) { return; } AppMain.nnCopyVectorMatrixTranslation(ref AppMain.tempSNNS_MATRIX0, (AppMain.NNS_VECTOR)pVec); } }
private static void gmGmkTarzanRopeUpdatePlayerPos(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENEMY_3D_WORK gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)obj_work; AppMain.OBS_OBJECT_WORK targetObj = gmsEnemy3DWork.ene_com.target_obj; AppMain.GMS_PLAYER_WORK gmsPlayerWork = (AppMain.GMS_PLAYER_WORK)targetObj; AppMain.NNS_MATRIX nnsMatrix = new AppMain.NNS_MATRIX(); AppMain.nnMakeUnitMatrix(nnsMatrix); nnsMatrix.M11 = AppMain.g_gm_gmk_tarzan_rope_active_matrix.M11; nnsMatrix.M22 = AppMain.g_gm_gmk_tarzan_rope_active_matrix.M00; nnsMatrix.M21 = AppMain.g_gm_gmk_tarzan_rope_active_matrix.M01; nnsMatrix.M12 = AppMain.g_gm_gmk_tarzan_rope_active_matrix.M10; nnsMatrix.M03 = -5f; AppMain.AkMathNormalizeMtx(gmsPlayerWork.ex_obj_mtx_r, nnsMatrix); if (((int)targetObj.disp_flag & 1) != 0) { gmsPlayerWork.ex_obj_mtx_r.M21 = -gmsPlayerWork.ex_obj_mtx_r.M21; gmsPlayerWork.ex_obj_mtx_r.M12 = -gmsPlayerWork.ex_obj_mtx_r.M12; nnsMatrix.M03 = -nnsMatrix.M03; } int num = (((int)gmsEnemy3DWork.ene_com.enemy_flag & (int)ushort.MaxValue) << 12) + 24576; if (num > 393216) { num = 393216; } gmsEnemy3DWork.ene_com.enemy_flag &= 4294901760U; gmsEnemy3DWork.ene_com.enemy_flag |= (uint)(num >> 12); AppMain.NNS_VECTOR nnsVector = new AppMain.NNS_VECTOR(0.0f, (float)(-(double)((float)num / 393216f) * 20.0) + 15f, 0.0f); AppMain.nnTransformVector(nnsVector, nnsMatrix, nnsVector); targetObj.pos.x = AppMain.FX_F32_TO_FX32(AppMain.g_gm_gmk_tarzan_rope_active_matrix.M03 + nnsVector.z); targetObj.pos.y = -AppMain.FX_F32_TO_FX32(AppMain.g_gm_gmk_tarzan_rope_active_matrix.M13 + nnsVector.y); targetObj.pos.z = AppMain.FX_F32_TO_FX32(AppMain.g_gm_gmk_tarzan_rope_active_matrix.M23 + nnsVector.x); gmsPlayerWork.gmk_flag |= 32768U; }
// Token: 0x0600029B RID: 667 RVA: 0x00015F4C File Offset: 0x0001414C public static void gmEneEffectMainFuncHarogen(AppMain.OBS_OBJECT_WORK obj_work) { if (obj_work.parent_obj != null) { AppMain.GMS_ENE_HARO_WORK gms_ENE_HARO_WORK = (AppMain.GMS_ENE_HARO_WORK)obj_work.parent_obj; AppMain.NNS_MATRIX nns_MATRIX = AppMain.GmEneUtilGetNodeMatrix(gms_ENE_HARO_WORK.node_work, 2); if (nns_MATRIX != null) { float num = nns_MATRIX.M03 - AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.pos.x); float num2 = nns_MATRIX.M13 + AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.pos.y); float num3 = nns_MATRIX.M23 - AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.pos.z); num += AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.spd.x); num2 -= AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.spd.y); num3 += AppMain.FX_FX32_TO_F32(gms_ENE_HARO_WORK.ene_3d_work.ene_com.obj_work.spd.z); obj_work.parent_ofst.x = AppMain.FX_F32_TO_FX32(num); obj_work.parent_ofst.y = -AppMain.FX_F32_TO_FX32(num2 - 10f); obj_work.parent_ofst.z = AppMain.FX_F32_TO_FX32(num3); } } else { obj_work.flag |= 4U; } if ((obj_work.disp_flag & 8U) != 0U) { obj_work.flag |= 4U; } }
// Token: 0x0600198D RID: 6541 RVA: 0x000E7910 File Offset: 0x000E5B10 private static uint nnCalcClipBoxNode(AppMain.NNS_NODE node, AppMain.NNS_MATRIX mtx) { float boundingBoxX = node.BoundingBoxX; float boundingBoxY = node.BoundingBoxY; float boundingBoxZ = node.BoundingBoxZ; return(AppMain.nnCalcClipBox(node.Center, boundingBoxX, boundingBoxY, boundingBoxZ, mtx)); }
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)); }
// Token: 0x06001990 RID: 6544 RVA: 0x000E81A3 File Offset: 0x000E63A3 private static uint nnCalcClip(AppMain.NNS_VECTOR center, float radius, AppMain.NNS_MATRIX mtx) { if (radius == 0f) { return(0U); } radius *= AppMain.nnEstimateMatrixScaling(mtx); return(AppMain.nnCalcClipCore(center, radius, mtx)); }
public AppMain.NNS_MATRIX pop() { this.invert = (AppMain.NNS_MATRIX)null; int index = this.stack.Count - 1; AppMain.NNS_MATRIX nnsMatrix = this.stack[index]; this.stack.RemoveAt(index); return(nnsMatrix); }
// Token: 0x06000E12 RID: 3602 RVA: 0x0007BFD4 File Offset: 0x0007A1D4 public static void GmEneUtilSetMatrixNN(AppMain.OBS_OBJECT_WORK obj_work, AppMain.NNS_MATRIX w_mtx) { AppMain.NNS_MATRIX user_obj_mtx_r = obj_work.obj_3d.user_obj_mtx_r; obj_work.pos.x = AppMain.FX_F32_TO_FX32(w_mtx.M03); obj_work.pos.y = -AppMain.FX_F32_TO_FX32(w_mtx.M13); obj_work.pos.z = AppMain.FX_F32_TO_FX32(w_mtx.M23); obj_work.disp_flag |= 16777216U; AppMain.AkMathNormalizeMtx(user_obj_mtx_r, w_mtx); }
private static void gmWaterSurfaceUserFuncMatrixPush(object param) { AppMain.amMatrixPush(); AppMain.NNS_MATRIX current = AppMain.amMatrixGetCurrent(); AppMain.NNS_MATRIX nnsMatrix = AppMain.GlobalPool <AppMain.NNS_MATRIX> .Alloc(); AppMain.nnMultiplyMatrix(nnsMatrix, AppMain.amDrawGetWorldViewMatrix(), current); AppMain.nnSetPrimitive3DMatrix(nnsMatrix); }
public static void amQuatMultiMatrix(ref AppMain.NNS_QUATERNION pQuat, AppMain.NNS_VECTOR?pVec) { AppMain.NNS_MATRIX current = AppMain.amMatrixGetCurrent(); AppMain.nnMakeQuaternionMatrix(out AppMain.tempSNNS_MATRIX0, ref pQuat); if (pVec != null) { AppMain.nnCopyVectorMatrixTranslation(ref AppMain.tempSNNS_MATRIX0, pVec.Value); } AppMain.nnMultiplyMatrix(current, current, ref AppMain.tempSNNS_MATRIX0); }
// Token: 0x060003F9 RID: 1017 RVA: 0x00020608 File Offset: 0x0001E808 private static void gmEneHariMotionCallback(AppMain.AMS_MOTION motion, AppMain.NNS_OBJECT _object, object param) { AppMain.NNS_MATRIX nns_MATRIX = AppMain.gmEneHariMotionCallback_node_mtx; AppMain.NNS_MATRIX nns_MATRIX2 = AppMain.gmEneHariMotionCallback_base_mtx; AppMain.GMS_ENE_HARI_WORK gms_ENE_HARI_WORK = (AppMain.GMS_ENE_HARI_WORK)((AppMain.OBS_OBJECT_WORK)param); AppMain.nnMakeUnitMatrix(nns_MATRIX2); AppMain.nnMultiplyMatrix(nns_MATRIX2, nns_MATRIX2, AppMain.amMatrixGetCurrent()); AppMain.nnCalcNodeMatrixTRSList(nns_MATRIX, _object, 7, motion.data, nns_MATRIX2); gms_ENE_HARI_WORK.jet_mtx.Assign(nns_MATRIX); }
private static void gmBsCmnGetNodeInvWorldMtx( AppMain.NNS_MATRIX dest_mtx, AppMain.NNS_NODE node, AppMain.NNS_MATRIX inv_view_mtx, AppMain.NNS_MATRIX[] mtx_plt) { AppMain.nnMultiplyMatrix(dest_mtx, inv_view_mtx, mtx_plt[(int)node.iMatrix]); AppMain.nnInvertMatrix(dest_mtx, dest_mtx); AppMain.nnMultiplyMatrix(dest_mtx, node.InvInitMtx, dest_mtx); }
public void set(AppMain.NNS_MATRIX mtx) { if (this.stack.Count > 0) { this.stack[this.stack.Count - 1] = mtx; } else { this.push(mtx); } }
public AppMain.NNS_MATRIX getInvert() { if (this.invert == null) { AppMain.NNS_MATRIX src = this.get(); this.invert = AppMain.GlobalPool <AppMain.NNS_MATRIX> .Alloc(); AppMain.nnInvertMatrix(this.invert, src); } return(this.invert); }
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); }