mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-23 09:04:21 +00:00
unfinished dump on collision
This commit is contained in:
parent
9fadb98ab8
commit
59a2db754d
|
|
@ -45157,7 +45157,7 @@ Address,Quality,Size,Name
|
|||
0x0000007100723968,O,000004,_ZN2nn3gfx6detail3Nvn16GetBufferAddressENS0_10GpuAddressE
|
||||
0x000000710072396c,O,000064,_ZN2nn3gfx6detail3Nvn26SetupScanBufferTextureInfoEPNS0_11TextureInfoERKNS0_13SwapChainInfoE
|
||||
0x00000071007239ac,O,000016,_ZN2nn3gfx6detail3Nvn14GetCounterTypeENS0_11QueryTargetE
|
||||
0x00000071007239bc,U,000660,_ZN2nn3gfx6detail3Nvn16GetDeviceFeatureEPK9NVNdevice
|
||||
0x00000071007239bc,O,000660,_ZN2nn3gfx6detail3Nvn16GetDeviceFeatureEPK9NVNdevice
|
||||
0x0000007100723c50,O,000024,_ZN2nn3gfx6detail3Nvn22GetImageFormatPropertyEPNS0_19ImageFormatPropertyE9NVNformat
|
||||
0x0000007100723c68,O,000024,_ZN2nn3gfx6detail3Nvn17GetGfxImageFormatE9NVNformat
|
||||
0x0000007100723c80,O,000040,_ZN2nn3gfx6detail3Nvn13DebugCallbackE22NVNdebugCallbackSource20NVNdebugCallbackTypei24NVNdebugCallbackSeverityPKcPv
|
||||
|
|
@ -45175,7 +45175,7 @@ Address,Quality,Size,Name
|
|||
0x0000007100724290,O,000056,_ZN2nn3gfx6detail11TextureImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEE8FinalizeEPNS1_10DeviceImplIS8_EE
|
||||
0x00000071007242c8,O,000028,_ZN2nn3gfx6detail15TextureViewImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEEC2Ev
|
||||
0x00000071007242e4,O,000004,_ZN2nn3gfx6detail15TextureViewImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEED2Ev
|
||||
0x00000071007242e8,U,000332,_ZN2nn3gfx6detail15TextureViewImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEE10InitializeEPNS1_10DeviceImplIS8_EERKNS0_15TextureViewInfoE
|
||||
0x00000071007242e8,O,000332,_ZN2nn3gfx6detail15TextureViewImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEE10InitializeEPNS1_10DeviceImplIS8_EERKNS0_15TextureViewInfoE
|
||||
0x0000007100724434,O,000012,_ZN2nn3gfx6detail15TextureViewImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEE8FinalizeEPNS1_10DeviceImplIS8_EE
|
||||
0x0000007100724440,O,000028,_ZN2nn3gfx6detail19ColorTargetViewImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEEC2Ev
|
||||
0x000000710072445c,O,000004,_ZN2nn3gfx6detail19ColorTargetViewImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEED2Ev
|
||||
|
|
@ -45488,7 +45488,7 @@ Address,Quality,Size,Name
|
|||
0x0000007100731018,U,000020,_ZN4sead15GameFrameworkNx10initializeERKNS_9Framework13InitializeArgE
|
||||
0x000000710073102c,U,000224,_ZN4sead15GameFrameworkNxC1ERKNS0_9CreateArgE
|
||||
0x000000710073110c,U,000020,_ZN4sead15GameFrameworkNxD2Ev
|
||||
0x0000007100731120,U,000004,_ZN4sead18LogicalFrameBufferD2Ev
|
||||
0x0000007100731120,O,000004,_ZN4sead18LogicalFrameBufferD2Ev
|
||||
0x0000007100731124,U,000052,_ZN4sead15GameFrameworkNxD0Ev
|
||||
0x0000007100731158,U,002372,_ZN4sead15GameFrameworkNx24initializeGraphicsSystemEPNS_4HeapERKNS_7Vector2IfEE
|
||||
0x0000007100731a9c,U,000016,
|
||||
|
|
@ -45526,9 +45526,9 @@ Address,Quality,Size,Name
|
|||
0x00000071007326f8,O,000004,_ZN4sead13GameFramework14saveScreenShotERKNS_14SafeStringBaseIcEE
|
||||
0x00000071007326fc,O,000008,_ZNK4sead13GameFramework16isScreenShotBusyEv
|
||||
0x0000007100732704,U,000004,_ZN4sead15GameFrameworkNx10setCaptionERKNS_14SafeStringBaseIcEE
|
||||
0x0000007100732708,U,000112,_ZNK4sead18LogicalFrameBuffer27checkDerivedRuntimeTypeInfoEPKNS_15RuntimeTypeInfo9InterfaceE
|
||||
0x0000007100732778,U,000092,_ZNK4sead18LogicalFrameBuffer18getRuntimeTypeInfoEv
|
||||
0x00000071007327d4,U,000004,_ZN4sead18LogicalFrameBufferD0Ev
|
||||
0x0000007100732708,O,000112,_ZNK4sead18LogicalFrameBuffer27checkDerivedRuntimeTypeInfoEPKNS_15RuntimeTypeInfo9InterfaceE
|
||||
0x0000007100732778,O,000092,_ZNK4sead18LogicalFrameBuffer18getRuntimeTypeInfoEv
|
||||
0x00000071007327d4,O,000004,_ZN4sead18LogicalFrameBufferD0Ev
|
||||
0x00000071007327d8,U,000048,_ZN4sead9Delegate2INS_15GameFrameworkNxEPNS_6ThreadElE6invokeES3_l
|
||||
0x0000007100732808,U,000092,_ZNK4sead9Delegate2INS_15GameFrameworkNxEPNS_6ThreadElE5cloneEPNS_4HeapE
|
||||
0x0000007100732864,U,000140,_ZNK4sead15RuntimeTypeInfo6DeriveINS_13MethodTreeMgrEE9isDerivedEPKNS0_9InterfaceE
|
||||
|
|
@ -45786,7 +45786,7 @@ Address,Quality,Size,Name
|
|||
0x000000710073a864,U,000204,_ZNK4sead16DisplayBufferNvn27checkDerivedRuntimeTypeInfoEPKNS_15RuntimeTypeInfo9InterfaceE
|
||||
0x000000710073a930,U,000092,_ZNK4sead16DisplayBufferNvn18getRuntimeTypeInfoEv
|
||||
0x000000710073a98c,U,000140,_ZNK4sead15RuntimeTypeInfo6DeriveINS_11FrameBufferEE9isDerivedEPKNS0_9InterfaceE
|
||||
0x000000710073aa18,U,000140,_ZNK4sead15RuntimeTypeInfo6DeriveINS_18LogicalFrameBufferEE9isDerivedEPKNS0_9InterfaceE
|
||||
0x000000710073aa18,O,000140,_ZNK4sead15RuntimeTypeInfo6DeriveINS_18LogicalFrameBufferEE9isDerivedEPKNS0_9InterfaceE
|
||||
0x000000710073aaa4,U,000140,_ZNK4sead15RuntimeTypeInfo6DeriveINS_13DisplayBufferEE9isDerivedEPKNS0_9InterfaceE
|
||||
0x000000710073ab30,U,000196,_ZN4sead11GraphicsNvnC1ERKNS0_9CreateArgE
|
||||
0x000000710073abf4,U,000004,_ZN4sead11GraphicsNvn24defaultNvnDebugCallback_ERKNS0_21NvnDebugCallbackParamE
|
||||
|
|
@ -46658,17 +46658,17 @@ Address,Quality,Size,Name
|
|||
0x000000710075dec4,O,000032,_ZN4seaddvERKNS_7Color4fEf
|
||||
0x000000710075dee4,O,000164,_ZN4sead7Color4f14adjustOverflowEv
|
||||
0x000000710075df88,O,000092,_ZN4seadeqERKNS_7Color4fES2_
|
||||
0x000000710075dfe4,U,000004,_ZN4sead11FrameBufferD0Ev
|
||||
0x000000710075dfe8,U,000012,_ZNK4sead11FrameBuffer4bindEPNS_11DrawContextE
|
||||
0x000000710075dff4,U,000004,_ZNK4sead11FrameBuffer8clearMRTEPNS_11DrawContextEjRKNS_7Color4fE
|
||||
0x000000710075dfe4,O,000004,_ZN4sead11FrameBufferD0Ev
|
||||
0x000000710075dfe8,O,000012,_ZNK4sead11FrameBuffer4bindEPNS_11DrawContextE
|
||||
0x000000710075dff4,O,000004,_ZNK4sead11FrameBuffer8clearMRTEPNS_11DrawContextEjRKNS_7Color4fE
|
||||
0x000000710075dff8,U,000108,_ZN4sead20ReferenceFrameBufferC1EPKNS_11FrameBufferERKNS_7Vector2IfEERKNS_9BoundBox2IfEE
|
||||
0x000000710075e064,U,000136,_ZN4sead20ReferenceFrameBufferC1EPKNS_11FrameBufferERKNS_7Vector2IfEES7_S7_
|
||||
0x000000710075e0ec,U,000204,_ZNK4sead11FrameBuffer27checkDerivedRuntimeTypeInfoEPKNS_15RuntimeTypeInfo9InterfaceE
|
||||
0x000000710075e1b8,U,000092,_ZNK4sead11FrameBuffer18getRuntimeTypeInfoEv
|
||||
0x000000710075e214,U,000004,_ZNK4sead11FrameBuffer19copyToDisplayBufferEPNS_11DrawContextEPKNS_13DisplayBufferE
|
||||
0x000000710075e0ec,O,000204,_ZNK4sead11FrameBuffer27checkDerivedRuntimeTypeInfoEPKNS_15RuntimeTypeInfo9InterfaceE
|
||||
0x000000710075e1b8,O,000092,_ZNK4sead11FrameBuffer18getRuntimeTypeInfoEv
|
||||
0x000000710075e214,O,000004,_ZNK4sead11FrameBuffer19copyToDisplayBufferEPNS_11DrawContextEPKNS_13DisplayBufferE
|
||||
0x000000710075e218,U,000288,_ZNK4sead20ReferenceFrameBuffer27checkDerivedRuntimeTypeInfoEPKNS_15RuntimeTypeInfo9InterfaceE
|
||||
0x000000710075e338,U,000092,_ZNK4sead20ReferenceFrameBuffer18getRuntimeTypeInfoEv
|
||||
0x000000710075e394,U,000004,_ZN4sead11FrameBufferD2Ev
|
||||
0x000000710075e394,O,000004,_ZN4sead11FrameBufferD2Ev
|
||||
0x000000710075e398,U,000004,_ZN4sead20ReferenceFrameBufferD0Ev
|
||||
0x000000710075e39c,U,000016,_ZNK4sead20ReferenceFrameBuffer5clearEPNS_11DrawContextEjRKNS_7Color4fEfj
|
||||
0x000000710075e3ac,U,000016,_ZNK4sead20ReferenceFrameBuffer8clearMRTEPNS_11DrawContextEjRKNS_7Color4fE
|
||||
|
|
@ -52418,7 +52418,7 @@ Address,Quality,Size,Name
|
|||
0x000000710085225c,U,000020,_ZNK2al16KCollisionServer12getPrismDataEjPKNS_13KCPrismHeaderE
|
||||
0x0000007100852270,U,000204,_ZNK2al16KCollisionServer20isNearParallelNormalEPKNS_11KCPrismDataEPKNS_13KCPrismHeaderE
|
||||
0x000000710085233c,U,000624,_ZNK2al16KCollisionServer10isNanPrismEPKNS_11KCPrismDataEPKNS_13KCPrismHeaderE
|
||||
0x00000071008525ac,U,000312,_ZNK2al16KCollisionServer12calcPosLocalEPN4sead7Vector3IfEEPKNS_11KCPrismDataEiPKNS_13KCPrismHeaderE
|
||||
0x00000071008525ac,W,000312,_ZNK2al16KCollisionServer12calcPosLocalEPN4sead7Vector3IfEEPKNS_11KCPrismDataEiPKNS_13KCPrismHeaderE
|
||||
0x00000071008526e4,U,000044,_ZNK2al16KCollisionServer9getMinMaxEPN4sead7Vector3IfEES4_
|
||||
0x0000007100852710,U,000044,_ZNK2al16KCollisionServer16getAreaSpaceSizeEPN4sead7Vector3IfEEPKNS_13KCPrismHeaderE
|
||||
0x000000710085273c,U,000040,_ZNK2al16KCollisionServer16getAreaSpaceSizeEPiS1_S1_PKNS_13KCPrismHeaderE
|
||||
|
|
@ -52441,18 +52441,18 @@ Address,Quality,Size,Name
|
|||
0x0000007100855ba0,U,000116,_ZN2al16KCollisionServer16searchPrismArrowERKN4sead7Vector3IfEES5_RNS1_10IDelegate2IPKNS_11KCPrismDataEPKNS_13KCPrismHeaderEEE
|
||||
0x0000007100855c14,U,000296,_ZN2al16KCollisionServer15searchPrismDiskERKN4sead7Vector3IfEES5_ffRNS1_10IDelegate2IPKNS_11KCPrismDataEPKNS_13KCPrismHeaderEEE
|
||||
0x0000007100855d3c,U,000244,_ZNK2al16KCollisionServer16isParallelNormalEPKNS_11KCPrismDataEPKNS_13KCPrismHeaderE
|
||||
0x0000007100855e30,U,000024,_ZNK2al16KCollisionServer13getFaceNormalEPKNS_11KCPrismDataEPKNS_13KCPrismHeaderE
|
||||
0x0000007100855e48,U,000024,_ZNK2al16KCollisionServer14getEdgeNormal1EPKNS_11KCPrismDataEPKNS_13KCPrismHeaderE
|
||||
0x0000007100855e60,U,000024,_ZNK2al16KCollisionServer14getEdgeNormal2EPKNS_11KCPrismDataEPKNS_13KCPrismHeaderE
|
||||
0x0000007100855e78,U,000024,_ZNK2al16KCollisionServer14getEdgeNormal3EPKNS_11KCPrismDataEPKNS_13KCPrismHeaderE
|
||||
0x0000007100855e30,m,000024,_ZNK2al16KCollisionServer13getFaceNormalEPKNS_11KCPrismDataEPKNS_13KCPrismHeaderE
|
||||
0x0000007100855e48,m,000024,_ZNK2al16KCollisionServer14getEdgeNormal1EPKNS_11KCPrismDataEPKNS_13KCPrismHeaderE
|
||||
0x0000007100855e60,m,000024,_ZNK2al16KCollisionServer14getEdgeNormal2EPKNS_11KCPrismDataEPKNS_13KCPrismHeaderE
|
||||
0x0000007100855e78,m,000024,_ZNK2al16KCollisionServer14getEdgeNormal3EPKNS_11KCPrismDataEPKNS_13KCPrismHeaderE
|
||||
0x0000007100855e90,U,000984,
|
||||
0x0000007100856268,U,002336,_ZN2al16KCollisionServer9KCHitDiscEPKNS_11KCPrismDataEPKNS_13KCPrismHeaderERKN4sead7Vector3IfEESB_ffPS9_Pf
|
||||
0x0000007100856b88,U,000032,_ZNK2al16KCollisionServer7toIndexEPKNS_11KCPrismDataEPKNS_13KCPrismHeaderE
|
||||
0x0000007100856ba8,U,000020,_ZNK2al16KCollisionServer9getNormalEjPKNS_13KCPrismHeaderE
|
||||
0x0000007100856bbc,U,000084,_ZN2al16KCollisionServer7calXvecEPKN4sead7Vector3IfEES5_PS3_
|
||||
0x0000007100856c10,U,000020,_ZNK2al16KCollisionServer13getVertexDataEjPKNS_13KCPrismHeaderE
|
||||
0x0000007100856c24,U,000028,_ZNK2al16KCollisionServer12getVertexNumEPKNS_13KCPrismHeaderE
|
||||
0x0000007100856c40,U,000032,_ZNK2al16KCollisionServer12getNormalNumEPKNS_13KCPrismHeaderE
|
||||
0x0000007100856ba8,m,000020,_ZNK2al16KCollisionServer9getNormalEjPKNS_13KCPrismHeaderE
|
||||
0x0000007100856bbc,O,000084,_ZN2al16KCollisionServer7calXvecEPKN4sead7Vector3IfEES5_PS3_
|
||||
0x0000007100856c10,m,000020,_ZNK2al16KCollisionServer13getVertexDataEjPKNS_13KCPrismHeaderE
|
||||
0x0000007100856c24,O,000028,_ZNK2al16KCollisionServer12getVertexNumEPKNS_13KCPrismHeaderE
|
||||
0x0000007100856c40,O,000032,_ZNK2al16KCollisionServer12getNormalNumEPKNS_13KCPrismHeaderE
|
||||
0x0000007100856c60,U,000008,_ZNK2al16KCollisionServer22getAttributeElementNumEv
|
||||
0x0000007100856c68,U,000028,_ZNK2al16KCollisionServer13getAttributesEPNS_9ByamlIterEjPKNS_13KCPrismHeaderE
|
||||
0x0000007100856c84,U,000012,_ZNK2al16KCollisionServer13getAttributesEPNS_9ByamlIterEPKNS_11KCPrismDataE
|
||||
|
|
@ -52461,7 +52461,7 @@ Address,Quality,Size,Name
|
|||
0x0000007100856d04,U,000300,_ZN2al16KCollisionServer10doBoxCheckEPKN4sead7Vector3IfEES5_PNS2_IjEES7_PKNS_13KCPrismHeaderE
|
||||
0x0000007100856e30,U,000052,_ZNK2al16KCollisionServer19calcAreaBlockOffsetERKN4sead7Vector3IjEEPKNS_13KCPrismHeaderE
|
||||
0x0000007100856e64,U,000040,_ZN2al16KCollisionServer20calcChildBlockOffsetERKN4sead7Vector3IjEEi
|
||||
0x0000007100856e8c,U,000008,_ZN2al16KCollisionServer12getBlockDataEPKjj
|
||||
0x0000007100856e8c,O,000008,_ZN2al16KCollisionServer12getBlockDataEPKjj
|
||||
0x0000007100856e94,U,000196,_ZN2al18SphereInterpolator11startInterpERKN4sead7Vector3IfEES5_fff
|
||||
0x0000007100856f58,U,000036,_ZN2al18SphereInterpolator8nextStepEv
|
||||
0x0000007100856f7c,U,000068,_ZNK2al18SphereInterpolator13calcInterpPosEPN4sead7Vector3IfEE
|
||||
|
|
@ -69957,7 +69957,7 @@ Address,Quality,Size,Name
|
|||
0x0000007100aea1c4,O,000056,_ZN2nn3gfx6detail11SamplerImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEE8FinalizeEPNS1_10DeviceImplIS8_EE
|
||||
0x0000007100aea1fc,O,000016,_ZN2nn3gfx6detail19RasterizerStateImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEEC2Ev
|
||||
0x0000007100aea20c,O,000004,_ZN2nn3gfx6detail19RasterizerStateImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEED2Ev
|
||||
0x0000007100aea210,U,000460,_ZN2nn3gfx6detail19RasterizerStateImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEE10InitializeEPNS1_10DeviceImplIS8_EERKNS0_19RasterizerStateInfoE
|
||||
0x0000007100aea210,O,000460,_ZN2nn3gfx6detail19RasterizerStateImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEE10InitializeEPNS1_10DeviceImplIS8_EERKNS0_19RasterizerStateInfoE
|
||||
0x0000007100aea3dc,O,000008,_ZN2nn3gfx6detail19RasterizerStateImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEE8FinalizeEPNS1_10DeviceImplIS8_EE
|
||||
0x0000007100aea3e4,O,000012,_ZN2nn3gfx6detail14BlendStateImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEE21GetRequiredMemorySizeERKNS0_14BlendStateInfoE
|
||||
0x0000007100aea3f0,O,000016,_ZN2nn3gfx6detail14BlendStateImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEEC2Ev
|
||||
|
|
@ -69965,7 +69965,7 @@ Address,Quality,Size,Name
|
|||
0x0000007100aea404,O,000012,_ZN2nn3gfx6detail14BlendStateImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEE9SetMemoryEPvm
|
||||
0x0000007100aea410,O,000008,_ZN2nn3gfx6detail14BlendStateImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEE9GetMemoryEv
|
||||
0x0000007100aea418,O,000008,_ZNK2nn3gfx6detail14BlendStateImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEE9GetMemoryEv
|
||||
0x0000007100aea420,U,000548,_ZN2nn3gfx6detail14BlendStateImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEE10InitializeEPNS1_10DeviceImplIS8_EERKNS0_14BlendStateInfoE
|
||||
0x0000007100aea420,O,000548,_ZN2nn3gfx6detail14BlendStateImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEE10InitializeEPNS1_10DeviceImplIS8_EERKNS0_14BlendStateInfoE
|
||||
0x0000007100aea644,O,000008,_ZN2nn3gfx6detail14BlendStateImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEE8FinalizeEPNS1_10DeviceImplIS8_EE
|
||||
0x0000007100aea64c,O,000016,_ZN2nn3gfx6detail21DepthStencilStateImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEEC2Ev
|
||||
0x0000007100aea65c,O,000004,_ZN2nn3gfx6detail21DepthStencilStateImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEED2Ev
|
||||
|
|
@ -70013,7 +70013,7 @@ Address,Quality,Size,Name
|
|||
0x0000007100aeb0a4,O,000024,_ZN2nn3gfx14ResTextureFile7IsValidEPKv
|
||||
0x0000007100aeb0bc,O,000052,_ZN2nn3gfx14ResTextureFile7ResCastEPv
|
||||
0x0000007100aeb0f0,O,000032,_ZN2nn3gfx20MultisampleStateInfo10SetDefaultEv
|
||||
0x0000007100aeb110,U,000072,_ZN2nn3gfx19RasterizerStateInfo10SetDefaultEv
|
||||
0x0000007100aeb110,O,000072,_ZN2nn3gfx19RasterizerStateInfo10SetDefaultEv
|
||||
0x0000007100aeb158,O,000048,_ZN2nn3gfx20BlendTargetStateInfo10SetDefaultEv
|
||||
0x0000007100aeb188,O,000048,_ZN2nn3gfx14BlendStateInfo10SetDefaultEv
|
||||
0x0000007100aeb1b8,O,000016,_ZN2nn3gfx16StencilStateInfo10SetDefaultEv
|
||||
|
|
|
|||
|
Can't render this file because it is too large.
|
31
lib/al/collision/KCPrism.h
Normal file
31
lib/al/collision/KCPrism.h
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
#pragma once
|
||||
|
||||
#include <math/seadVector.h>
|
||||
#include <basis/seadTypes.h>
|
||||
|
||||
namespace al {
|
||||
struct KCPrismData { // triangle
|
||||
float mLength;
|
||||
u16 mPosIndex;
|
||||
u16 mFaceNormalIndex;
|
||||
u16 mEdgeNormalIndex[3];
|
||||
u16 mCollisionType;
|
||||
u32 mTriIndex;
|
||||
};
|
||||
|
||||
struct KCPrismHeader { // model
|
||||
u32 mPositionsOffset;
|
||||
u32 mNormalsOffset;
|
||||
u32 mTrianglesOffset;
|
||||
u32 mOctreeOffset;
|
||||
float mThickness;
|
||||
sead::Vector3f mOctreeOrigin;
|
||||
u32 mXMask;
|
||||
u32 mYMask;
|
||||
u32 mZMask;
|
||||
u32 mCoordShift;
|
||||
u32 mYShift;
|
||||
u32 mZShift;
|
||||
float mHitboxRadiusCap;
|
||||
};
|
||||
}
|
||||
27
lib/al/collision/KCollisionServer.h
Normal file
27
lib/al/collision/KCollisionServer.h
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
#pragma once
|
||||
|
||||
#include <math/seadVector.h>
|
||||
|
||||
namespace al {
|
||||
|
||||
struct KCPrismHeader;
|
||||
struct KCPrismData;
|
||||
|
||||
class KCollisionServer {
|
||||
public:
|
||||
bool isNearParallelNormal(const KCPrismData*, const KCPrismHeader*) const;
|
||||
void calcPosLocal(sead::Vector3f*, const KCPrismData*, int, const KCPrismHeader*) const;
|
||||
const sead::Vector3f& getFaceNormal(const KCPrismData*, const KCPrismHeader*) const;
|
||||
const sead::Vector3f& getEdgeNormal1(const KCPrismData*, const KCPrismHeader*) const;
|
||||
const sead::Vector3f& getEdgeNormal2(const KCPrismData*, const KCPrismHeader*) const;
|
||||
const sead::Vector3f& getEdgeNormal3(const KCPrismData*, const KCPrismHeader*) const;
|
||||
const sead::Vector3f& getNormal(u32, const KCPrismHeader*) const;
|
||||
const sead::Vector3f& getVertexData(u32, const KCPrismHeader*) const;
|
||||
u32 getVertexNum(const KCPrismHeader*) const;
|
||||
u32 getNormalNum(const KCPrismHeader*) const;
|
||||
|
||||
static void calXvec(const sead::Vector3f*, const sead::Vector3f*, sead::Vector3f*);
|
||||
static u32 getBlockData(const u32*, u32);
|
||||
};
|
||||
|
||||
}
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
add_subdirectory(actor)
|
||||
add_subdirectory(async)
|
||||
add_subdirectory(byaml)
|
||||
add_subdirectory(collision)
|
||||
add_subdirectory(factory)
|
||||
add_subdirectory(graph)
|
||||
add_subdirectory(hack)
|
||||
|
|
|
|||
3
src/al/collision/CMakeLists.txt
Normal file
3
src/al/collision/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
target_sources(odyssey PRIVATE
|
||||
KCollisionServer.cpp
|
||||
)
|
||||
93
src/al/collision/KCollisionServer.cpp
Normal file
93
src/al/collision/KCollisionServer.cpp
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
#include "al/collision/KCollisionServer.h"
|
||||
#include <math.h>
|
||||
|
||||
#include "al/collision/KCPrism.h"
|
||||
#include "math/seadVector.h"
|
||||
|
||||
namespace al {
|
||||
|
||||
bool KCollisionServer::isNearParallelNormal(const KCPrismData* data, const KCPrismHeader* header) const {
|
||||
|
||||
}
|
||||
|
||||
void KCollisionServer::calcPosLocal(sead::Vector3f* out, const KCPrismData* data, int vIndex,
|
||||
const KCPrismHeader* header) const {
|
||||
switch (vIndex) {
|
||||
case 0: {
|
||||
sead::Vector3f pos = getVertexData(data->mPosIndex, header);
|
||||
*out = pos;
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
const sead::Vector3f& normalA = getEdgeNormal1(data, header);
|
||||
const sead::Vector3f& dirNormal = getFaceNormal(data, header);
|
||||
const sead::Vector3f& normalC = getEdgeNormal3(data, header);
|
||||
sead::Vector3f cross;
|
||||
calXvec(&normalA, &dirNormal, &cross);
|
||||
//cross.setCross(normalA, dirNormal);
|
||||
float factor = data->mLength / fmax(cross.dot(normalC), 0.00000011921f);
|
||||
const sead::Vector3f& pos = getVertexData(data->mPosIndex, header);
|
||||
*out = pos + (cross * factor);
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
const sead::Vector3f& normalA = getFaceNormal(data, header);
|
||||
const sead::Vector3f& dirNormal = getEdgeNormal2(data, header);
|
||||
const sead::Vector3f& normalC = getEdgeNormal3(data, header);
|
||||
sead::Vector3f cross;
|
||||
calXvec(&normalA, &dirNormal, &cross);
|
||||
//cross.setCross(normalA, dirNormal);
|
||||
float factor = data->mLength / fmax(cross.dot(normalC), 0.00000011921f);
|
||||
const sead::Vector3f& pos = getVertexData(data->mPosIndex, header);
|
||||
*out = pos + (cross * factor);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
*out = {0, 0, 0};
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const sead::Vector3f& KCollisionServer::getFaceNormal(const KCPrismData* data,
|
||||
const KCPrismHeader* header) const {
|
||||
return getNormal(data->mFaceNormalIndex, header);
|
||||
}
|
||||
const sead::Vector3f& KCollisionServer::getEdgeNormal1(const KCPrismData* data,
|
||||
const KCPrismHeader* header) const {
|
||||
return getNormal(data->mEdgeNormalIndex[0], header);
|
||||
}
|
||||
const sead::Vector3f& KCollisionServer::getEdgeNormal2(const KCPrismData* data,
|
||||
const KCPrismHeader* header) const {
|
||||
return getNormal(data->mEdgeNormalIndex[1], header);
|
||||
}
|
||||
const sead::Vector3f& KCollisionServer::getEdgeNormal3(const KCPrismData* data,
|
||||
const KCPrismHeader* header) const {
|
||||
return getNormal(data->mEdgeNormalIndex[2], header);
|
||||
}
|
||||
const sead::Vector3f& KCollisionServer::getNormal(u32 index, const KCPrismHeader* header) const {
|
||||
return reinterpret_cast<const sead::Vector3f*>(reinterpret_cast<const char*>(header) +
|
||||
header->mNormalsOffset)[(int)index];
|
||||
}
|
||||
void KCollisionServer::calXvec(const sead::Vector3f* a, const sead::Vector3f* b,
|
||||
sead::Vector3f* out) {
|
||||
out->x = (a->z * b->y) - (a->y * b->z);
|
||||
out->y = (a->x * b->z) - (a->z * b->x);
|
||||
out->z = (a->y * b->x) - (a->x * b->y);
|
||||
}
|
||||
const sead::Vector3f& KCollisionServer::getVertexData(u32 index, const KCPrismHeader* header) const {
|
||||
return reinterpret_cast<const sead::Vector3f*>(reinterpret_cast<const char*>(header) + header->mPositionsOffset)[(int)index];
|
||||
}
|
||||
u32 KCollisionServer::getVertexNum(const KCPrismHeader* header) const {
|
||||
// somehow needs to be this weird to produce matching code
|
||||
//return ((header->mNormalsOffset - header->mPositionsOffset) >> 2) / 0x18;
|
||||
return 0xAAAAAAAB * ((header->mNormalsOffset - (u64)header->mPositionsOffset) >> 2);
|
||||
}
|
||||
u32 KCollisionServer::getNormalNum(const KCPrismHeader* header) const {
|
||||
return 4 * ((header->mOctreeOffset - (u64)header->mTrianglesOffset) / 0x14);
|
||||
}
|
||||
|
||||
u32 KCollisionServer::getBlockData(const u32* data, u32 offset) {
|
||||
return *reinterpret_cast<const u32*>(reinterpret_cast<const char*>(data) + offset);
|
||||
}
|
||||
|
||||
} // namespace al
|
||||
Loading…
Reference in a new issue