public NNS_VECTOR4D Assign(ref SNNS_VECTOR vec) { this.x = vec.x; this.y = vec.y; this.z = vec.z; return(this); }
// Token: 0x060019C0 RID: 6592 RVA: 0x000E8B90 File Offset: 0x000E6D90 public static void amVectorAdd(NNS_VECTOR4D pDst, NNS_VECTOR4D pV1, ref SNNS_VECTOR pV2) { pDst.x = pV1.x + pV2.x; pDst.y = pV1.y + pV2.y; pDst.z = pV1.z + pV2.z; pDst.w = pV1.w; }
// Token: 0x06000F62 RID: 3938 RVA: 0x000881EC File Offset: 0x000863EC public static void amQuatMultiMatrix(ref NNS_QUATERNION pQuat, ref SNNS_VECTOR pVec) { 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: 0x0600052C RID: 1324 RVA: 0x0002B92C File Offset: 0x00029B2C private static void GmTvxExecuteDraw() { AppMain.GMS_TVX_DRAW_WORK[] array = AppMain.gm_tvx_draw_work; if (array == null) { return; } if (array[0].tex == null) { return; } uint num = AppMain.GmMainGetLightColor(); AppMain._AMS_PARAM_DRAW_PRIMITIVE.bldSrc = 770; AppMain._AMS_PARAM_DRAW_PRIMITIVE.bldDst = 771; AppMain._AMS_PARAM_DRAW_PRIMITIVE.bldMode = 32774; AppMain._AMS_PARAM_DRAW_PRIMITIVE.aTest = 1; AppMain._AMS_PARAM_DRAW_PRIMITIVE.zMask = 0; AppMain._AMS_PARAM_DRAW_PRIMITIVE.zTest = 1; AppMain._AMS_PARAM_DRAW_PRIMITIVE.noSort = 1; AppMain._AMS_PARAM_DRAW_PRIMITIVE.format3D = 4; uint num2 = 0U; while ((ulong)num2 < (ulong)((long)AppMain.GMD_TVX_DRAW_WORK_NUM)) { if (array[(int)((UIntPtr)num2)].tex_id == -1) { return; } AppMain._AMS_PARAM_DRAW_PRIMITIVE.ablend = 0; AppMain._AMS_PARAM_DRAW_PRIMITIVE.texlist = array[(int)((UIntPtr)num2)].tex; AppMain._AMS_PARAM_DRAW_PRIMITIVE.uwrap = array[(int)((UIntPtr)num2)].u_wrap; AppMain._AMS_PARAM_DRAW_PRIMITIVE.vwrap = array[(int)((UIntPtr)num2)].v_wrap; AppMain._AMS_PARAM_DRAW_PRIMITIVE.type = 1; AppMain._AMS_PARAM_DRAW_PRIMITIVE.count = (int)(array[(int)((UIntPtr)num2)].all_vtx_num + array[(int)((UIntPtr)num2)].stack_num * 2U - 2U); AppMain.NNS_PRIM3D_PCT_ARRAY nns_PRIM3D_PCT_ARRAY = AppMain.amDrawAlloc_NNS_PRIM3D_PCT(AppMain._AMS_PARAM_DRAW_PRIMITIVE.count); AppMain.NNS_PRIM3D_PCT[] buffer = nns_PRIM3D_PCT_ARRAY.buffer; int offset = nns_PRIM3D_PCT_ARRAY.offset; int num3 = 0; AppMain._AMS_PARAM_DRAW_PRIMITIVE.vtxPCT3D = nns_PRIM3D_PCT_ARRAY; AppMain._AMS_PARAM_DRAW_PRIMITIVE.texId = array[(int)((UIntPtr)num2)].tex_id; SNNS_MATRIX snns_MATRIX = default(SNNS_MATRIX); SNNS_MATRIX snns_MATRIX2 = default(SNNS_MATRIX); AppMain.nnMakeUnitMatrix(ref snns_MATRIX2); for (uint num4 = 0U; num4 < array[(int)((UIntPtr)num2)].stack_num; num4 += 1U) { AppMain.GMS_TVX_DRAW_STACK gms_TVX_DRAW_STACK = array[(int)((UIntPtr)num2)].stack[(int)((UIntPtr)num4)]; if ((gms_TVX_DRAW_STACK.disp_flag & AppMain.GMD_TVX_DISP_BLEND) != 0U) { AppMain._AMS_PARAM_DRAW_PRIMITIVE.ablend = 1; } float num5 = AppMain.FXM_FX32_TO_FLOAT(gms_TVX_DRAW_STACK.pos.x); float num6 = -AppMain.FXM_FX32_TO_FLOAT(gms_TVX_DRAW_STACK.pos.y); float num7 = AppMain.FXM_FX32_TO_FLOAT(gms_TVX_DRAW_STACK.pos.z); AppMain.nnMakeUnitMatrix(ref snns_MATRIX); if ((gms_TVX_DRAW_STACK.disp_flag & AppMain.GMD_TVX_DISP_ROTATE) != 0U) { AppMain.nnRotateZMatrix(ref snns_MATRIX, ref snns_MATRIX, (int)((ushort)gms_TVX_DRAW_STACK.rotate_z)); } if ((gms_TVX_DRAW_STACK.disp_flag & AppMain.GMD_TVX_DISP_SCALE) != 0U) { AppMain.nnScaleMatrix(ref snns_MATRIX, ref snns_MATRIX, AppMain.FXM_FX32_TO_FLOAT(gms_TVX_DRAW_STACK.scale.x), AppMain.FXM_FX32_TO_FLOAT(gms_TVX_DRAW_STACK.scale.y), AppMain.FXM_FX32_TO_FLOAT(gms_TVX_DRAW_STACK.scale.z)); } uint num8 = num; if ((gms_TVX_DRAW_STACK.disp_flag & AppMain.GMD_TVX_DISP_LIGHT_DISABLE) != 0U) { num8 = gms_TVX_DRAW_STACK.color; } SNNS_VECTOR snns_VECTOR = default(SNNS_VECTOR); int num9 = num3 + offset; AppMain.AOS_TVX_VERTEX[] vtx = gms_TVX_DRAW_STACK.vtx; int num10 = 0; while ((long)num10 < (long)((ulong)gms_TVX_DRAW_STACK.vtx_num)) { snns_VECTOR.x = vtx[num10].x; snns_VECTOR.y = vtx[num10].y; snns_VECTOR.z = vtx[num10].z; int num11 = num9 + num10; if (gms_TVX_DRAW_STACK.disp_flag != 0U) { AppMain.nnTransformVector(ref buffer[num11].Pos, ref snns_MATRIX, ref snns_VECTOR); } else { buffer[num11].Pos.Assign(snns_VECTOR.x, snns_VECTOR.y, snns_VECTOR.z); } AppMain.NNS_PRIM3D_PCT[] array2 = buffer; int num12 = num11; array2[num12].Pos.x = array2[num12].Pos.x + num5; AppMain.NNS_PRIM3D_PCT[] array3 = buffer; int num13 = num11; array3[num13].Pos.y = array3[num13].Pos.y + num6; AppMain.NNS_PRIM3D_PCT[] array4 = buffer; int num14 = num11; array4[num14].Pos.z = array4[num14].Pos.z + num7; buffer[num11].Tex.u = vtx[num10].u + gms_TVX_DRAW_STACK.coord.u; buffer[num11].Tex.v = vtx[num10].v + gms_TVX_DRAW_STACK.coord.v; buffer[num11].Col = (vtx[num10].c & num8); num10++; } num3 += (int)(gms_TVX_DRAW_STACK.vtx_num + 2U); if (num4 != 0U) { int num15 = num9 - 1; buffer[num15] = buffer[num15 + 1]; } if (num4 != array[(int)((UIntPtr)num2)].stack_num - 1U) { int num15 = num9 + (int)(gms_TVX_DRAW_STACK.vtx_num - 1U); buffer[num15 + 1] = buffer[num15]; } } AppMain.amMatrixPush(ref snns_MATRIX2); AppMain.ObjDraw3DNNDrawPrimitive(AppMain._AMS_PARAM_DRAW_PRIMITIVE); AppMain.amMatrixPop(); array[(int)((UIntPtr)num2)].tex = null; array[(int)((UIntPtr)num2)].tex_id = -1; array[(int)((UIntPtr)num2)].stack_num = 0U; array[(int)((UIntPtr)num2)].all_vtx_num = 0U; num2 += 1U; } }
// Token: 0x0600012E RID: 302 RVA: 0x0000D762 File Offset: 0x0000B962 public static void DispPosGet(int cam_id, out SNNS_VECTOR disp_pos) { disp_pos = new SNNS_VECTOR(obj_camera_sys.obj_camera[cam_id].disp_pos); }
// Token: 0x060007AE RID: 1966 RVA: 0x00043EFC File Offset: 0x000420FC private void dmLogoSegaMainFunc(MTS_TASK_TCB tcb) { AppMain.DMS_LOGO_SEGA_WORK dms_LOGO_SEGA_WORK = (AppMain.DMS_LOGO_SEGA_WORK)tcb.work; if (AppMain.GsSystemBgmIsPlay()) { dms_LOGO_SEGA_WORK.h_se.snd_ctrl_param.volume = 0f; } else { dms_LOGO_SEGA_WORK.h_se.snd_ctrl_param.volume = 1f; } if (AppMain.AoSysIsShowPlatformUI()) { if (AppMain.IzFadeIsExe()) { AppMain.IzFadeSetStopUpdate1Frame(null); } } else { if (dms_LOGO_SEGA_WORK.func != null) { dms_LOGO_SEGA_WORK.func(dms_LOGO_SEGA_WORK); } if ((dms_LOGO_SEGA_WORK.flag & 1U) != 0U) { this.dmLogoSegaPreEnd(dms_LOGO_SEGA_WORK); AppMain.mtTaskChangeTcbProcedure(tcb, this.gmLogoSegaPreEndWaitFunc); dms_LOGO_SEGA_WORK.timer = 0; return; } } float frame = 0f; if (!AppMain.AoSysIsShowPlatformUI() && (dms_LOGO_SEGA_WORK.flag & 2U) != 0U) { frame = 1f; } AppMain.AoActSysSetDrawTaskPrio(); for (int i = 0; i < 8; i++) { AppMain.AoActSetTexture(AppMain.AoTexGetTexList(AppMain.dm_logo_sega_aos_tex[( int )AppMain.dm_logo_sega_tex_id_tbl[i]])); AppMain.AoActUpdate(dms_LOGO_SEGA_WORK.act[i], frame); AppMain.AoActDraw(dms_LOGO_SEGA_WORK.act[i]); } NNS_RGBA nns_RGBA = new NNS_RGBA(1f, 1f, 1f, 1f); NNS_RGB nns_RGB = new NNS_RGB(1f, 1f, 1f); if (!AppMain.AoSysIsShowPlatformUI()) { AppMain.amTrailEFUpdate(1); } if (AppMain.g_obj.glb_camera_id != -1) { SNNS_VECTOR snns_VECTOR = default(SNNS_VECTOR); SNNS_VECTOR snns_VECTOR2 = default(SNNS_VECTOR); SNNS_MATRIX snns_MATRIX = default(SNNS_MATRIX); AppMain.nnMakeUnitMatrix(ref snns_MATRIX); AppMain.ObjDraw3DNNSetCameraEx(AppMain.g_obj.glb_camera_id, AppMain.g_obj.glb_camera_type, 0U); ObjCamera.DispPosGet(AppMain.g_obj.glb_camera_id, out snns_VECTOR); AppMain.amVectorSet(ref snns_VECTOR2, -snns_MATRIX.M03, -snns_MATRIX.M13, -snns_MATRIX.M23); AppMain.nnAddVector(ref snns_VECTOR, ref snns_VECTOR2, ref snns_VECTOR); AppMain.amEffectSetCameraPos(ref snns_VECTOR); } AppMain.nnSetPrimitive3DMaterial(ref nns_RGBA, ref nns_RGB, 1f); AppMain.NNS_TEXLIST texlist = AppMain.dm_logo_sega_aos_tex[0].texlist; AppMain.amTrailEFDraw(1, texlist, 0U); }
// Token: 0x060019D9 RID: 6617 RVA: 0x000E927C File Offset: 0x000E747C public static void amVectorGetAverage(ref SNNS_VECTOR pDst, NNS_VECTOR pV1, NNS_VECTOR pV2, float p1, float p2) { pDst.x = pV1.x * p1 + pV2.x * p2; pDst.y = pV1.y * p1 + pV2.y * p2; pDst.z = pV1.z * p1 + pV2.z * p2; }
// Token: 0x060019AC RID: 6572 RVA: 0x000E8756 File Offset: 0x000E6956 public static void amVectorSet(ref SNNS_VECTOR pDst, float x, float y, float z) { pDst.x = x; pDst.y = y; pDst.z = z; }
// Token: 0x06001E97 RID: 7831 RVA: 0x0013ABBB File Offset: 0x00138DBB public void Assign(ref SNNS_VECTOR vec) { this.x = vec.x; this.y = vec.y; this.z = vec.z; }