mirror of
https://github.com/MonsterDruide1/OdysseyDecomp.git
synced 2024-11-23 05:19:52 +00:00
dump changes
This commit is contained in:
parent
806937b539
commit
fd412db4bb
60559
data/1.0.1/data_symbols.csv
Normal file
60559
data/1.0.1/data_symbols.csv
Normal file
File diff suppressed because it is too large
Load Diff
74816
data/1.0.1/odyssey_functions.csv
Normal file
74816
data/1.0.1/odyssey_functions.csv
Normal file
File diff suppressed because it is too large
Load Diff
60678
data/1.0/data_symbols.csv
Normal file
60678
data/1.0/data_symbols.csv
Normal file
File diff suppressed because it is too large
Load Diff
@ -46558,8 +46558,8 @@ Address,Quality,Size,Name
|
||||
0x000000710075b600,U,000024,_ZN4sead13ControllerMgr18SingletonDisposer_D2Ev
|
||||
0x000000710075b618,U,000032,_ZN4sead13ControllerMgr12setInstance_EPNS_8TaskBaseE
|
||||
0x000000710075b638,U,000052,_ZN4sead13ControllerMgr14deleteInstanceEv
|
||||
0x000000710075b66c,U,000112,_ZN4sead13ControllerMgrC2Ev
|
||||
0x000000710075b6dc,U,000084,_ZN4sead13ControllerMgrC1ERKNS_16TaskConstructArgE
|
||||
0x000000710075b66c,U,000112,_ZN4sead13ControllerMgrC1Ev
|
||||
0x000000710075b6dc,U,000084,_ZN4sead13ControllerMgrC2ERKNS_16TaskConstructArgE
|
||||
0x000000710075b730,U,000264,_ZN4sead13ControllerMgr7prepareEv
|
||||
0x000000710075b838,U,000012,_ZN4sead13ControllerMgr10initializeEiPNS_4HeapE
|
||||
0x000000710075b844,U,000120,_ZN4sead13ControllerMgr17initializeDefaultEPNS_4HeapE
|
||||
@ -50684,7 +50684,7 @@ Address,Quality,Size,Name
|
||||
0x00000071008176a8,O,000028,_ZN2al16isEqualSubStringEPKcS1_
|
||||
0x00000071008176c4,U,000084,_ZN2al16isEqualSubStringERKN4sead14SafeStringBaseIcEES4_
|
||||
0x0000007100817718,O,000056,_ZN2al17isStartWithStringEPKcS1_
|
||||
0x0000007100817750,O,000096,_ZN2al15isEndWithStringEPKcS1_
|
||||
0x0000007100817750,m,000096,_ZN2al15isEndWithStringEPKcS1_
|
||||
0x00000071008177b0,U,000036,_ZN2al13isMatchStringEPKcRKNS_8MatchStrE
|
||||
0x00000071008177d4,U,000004,_ZN2al23compareStringIgnoreCaseEPKcS1_
|
||||
0x00000071008177d8,U,000276,_ZN2al19makeUrlEncodeStringEPcjPKc
|
||||
@ -52620,154 +52620,154 @@ Address,Quality,Size,Name
|
||||
0x000000710085bf30,U,000008,_ZN2al23getJoyPadSingleLeftPortEv
|
||||
0x000000710085bf38,U,000060,_ZN2al19getJoyPadDoublePortEv
|
||||
0x000000710085bf74,U,000060,_ZN2al17getTouchPanelPortEv
|
||||
0x000000710085bfb0,U,000060,_ZN2al21getMainControllerPortEv
|
||||
0x000000710085bfec,U,000064,_ZN2al23getPlayerControllerPortEi
|
||||
0x000000710085c02c,U,000060,_ZN2al23getMainJoyPadDoublePortEv
|
||||
0x000000710085c068,U,000008,_ZN2al28getMainJoyPadSingleRightPortEv
|
||||
0x000000710085c070,U,000008,_ZN2al27getMainJoyPadSingleLeftPortEv
|
||||
0x000000710085bfb0,O,000060,_ZN2al21getMainControllerPortEv
|
||||
0x000000710085bfec,O,000064,_ZN2al23getPlayerControllerPortEi
|
||||
0x000000710085c02c,O,000060,_ZN2al23getMainJoyPadDoublePortEv
|
||||
0x000000710085c068,O,000008,_ZN2al28getMainJoyPadSingleRightPortEv
|
||||
0x000000710085c070,O,000008,_ZN2al27getMainJoyPadSingleLeftPortEv
|
||||
0x000000710085c078,U,000464,_ZN2al12isSameNpadIdEji
|
||||
0x000000710085c248,U,000160,_ZN2al12isPadTriggerEii
|
||||
0x000000710085c2e8,U,000152,_ZN2al13isPadTriggerAEi
|
||||
0x000000710085c380,U,000152,_ZN2al13isPadTriggerBEi
|
||||
0x000000710085c418,U,000152,_ZN2al13isPadTriggerXEi
|
||||
0x000000710085c4b0,U,000152,_ZN2al13isPadTriggerYEi
|
||||
0x000000710085c548,U,000152,_ZN2al14isPadTriggerZLEi
|
||||
0x000000710085c5e0,U,000152,_ZN2al14isPadTriggerZREi
|
||||
0x000000710085c678,U,000152,_ZN2al13isPadTriggerLEi
|
||||
0x000000710085c710,U,000152,_ZN2al13isPadTriggerREi
|
||||
0x000000710085c7a8,U,000152,_ZN2al13isPadTrigger1Ei
|
||||
0x000000710085c840,U,000152,_ZN2al13isPadTrigger2Ei
|
||||
0x000000710085c8d8,U,000152,_ZN2al14isPadTriggerUpEi
|
||||
0x000000710085c970,U,000152,_ZN2al16isPadTriggerDownEi
|
||||
0x000000710085ca08,U,000152,_ZN2al16isPadTriggerLeftEi
|
||||
0x000000710085caa0,U,000152,_ZN2al17isPadTriggerRightEi
|
||||
0x000000710085cb38,U,000312,_ZN2al18isPadTriggerLeftUpEi
|
||||
0x000000710085cc70,U,000300,_ZN2al20isPadTriggerLeftDownEi
|
||||
0x000000710085cd9c,U,000312,_ZN2al19isPadTriggerRightUpEi
|
||||
0x000000710085ced4,U,000312,_ZN2al21isPadTriggerRightDownEi
|
||||
0x000000710085d00c,U,000152,_ZN2al16isPadTriggerHomeEi
|
||||
0x000000710085d0a4,U,000152,_ZN2al17isPadTriggerStartEi
|
||||
0x000000710085d13c,U,000152,_ZN2al18isPadTriggerSelectEi
|
||||
0x000000710085d1d4,U,000152,_ZN2al16isPadTriggerPlusEi
|
||||
0x000000710085d26c,U,000152,_ZN2al17isPadTriggerMinusEi
|
||||
0x000000710085d304,U,000176,_ZN2al17isPadTriggerTouchEv
|
||||
0x000000710085d3b4,U,000152,_ZN2al23isPadTriggerUpLeftStickEi
|
||||
0x000000710085d44c,U,000152,_ZN2al25isPadTriggerDownLeftStickEi
|
||||
0x000000710085d4e4,U,000152,_ZN2al25isPadTriggerLeftLeftStickEi
|
||||
0x000000710085d57c,U,000152,_ZN2al26isPadTriggerRightLeftStickEi
|
||||
0x000000710085d614,U,000152,_ZN2al24isPadTriggerUpRightStickEi
|
||||
0x000000710085d6ac,U,000152,_ZN2al26isPadTriggerDownRightStickEi
|
||||
0x000000710085d744,U,000152,_ZN2al26isPadTriggerLeftRightStickEi
|
||||
0x000000710085d7dc,U,000152,_ZN2al27isPadTriggerRightRightStickEi
|
||||
0x000000710085d874,U,000560,_ZN2al19isPadTriggerAnyABXYEi
|
||||
0x000000710085daa4,U,000164,_ZN2al15isPadTriggerAnyEi
|
||||
0x000000710085db48,U,000156,_ZN2al21isPadTriggerLeftStickEi
|
||||
0x000000710085dbe4,U,000156,_ZN2al22isPadTriggerRightStickEi
|
||||
0x000000710085dc80,U,000152,_ZN2al26isPadTriggerPressLeftStickEi
|
||||
0x000000710085dd18,U,000152,_ZN2al27isPadTriggerPressRightStickEi
|
||||
0x000000710085ddb0,U,000152,_ZN2al23isPadHoldPressLeftStickEi
|
||||
0x000000710085de48,U,000152,_ZN2al24isPadHoldPressRightStickEi
|
||||
0x000000710085dee0,U,000176,_ZN2al12setPadRepeatEiiii
|
||||
0x000000710085df90,U,000160,_ZN2al12isPadRepeatAEi
|
||||
0x000000710085e030,U,000160,_ZN2al12isPadRepeatBEi
|
||||
0x000000710085e0d0,U,000160,_ZN2al12isPadRepeatXEi
|
||||
0x000000710085e170,U,000160,_ZN2al12isPadRepeatYEi
|
||||
0x000000710085e210,U,000160,_ZN2al13isPadRepeatZLEi
|
||||
0x000000710085e2b0,U,000160,_ZN2al13isPadRepeatZREi
|
||||
0x000000710085e350,U,000160,_ZN2al12isPadRepeatLEi
|
||||
0x000000710085e3f0,U,000160,_ZN2al12isPadRepeatREi
|
||||
0x000000710085e490,U,000160,_ZN2al12isPadRepeat1Ei
|
||||
0x000000710085e530,U,000160,_ZN2al12isPadRepeat2Ei
|
||||
0x000000710085e5d0,U,000160,_ZN2al13isPadRepeatUpEi
|
||||
0x000000710085e670,U,000160,_ZN2al15isPadRepeatDownEi
|
||||
0x000000710085e710,U,000160,_ZN2al15isPadRepeatLeftEi
|
||||
0x000000710085e7b0,U,000160,_ZN2al16isPadRepeatRightEi
|
||||
0x000000710085e850,U,000160,_ZN2al15isPadRepeatHomeEi
|
||||
0x000000710085e8f0,U,000160,_ZN2al16isPadRepeatStartEi
|
||||
0x000000710085e990,U,000160,_ZN2al17isPadRepeatSelectEi
|
||||
0x000000710085ea30,U,000160,_ZN2al15isPadRepeatPlusEi
|
||||
0x000000710085ead0,U,000160,_ZN2al16isPadRepeatMinusEi
|
||||
0x000000710085eb70,U,000184,_ZN2al16isPadRepeatTouchEv
|
||||
0x000000710085ec28,U,000160,_ZN2al22isPadRepeatUpLeftStickEi
|
||||
0x000000710085ecc8,U,000160,_ZN2al24isPadRepeatDownLeftStickEi
|
||||
0x000000710085ed68,U,000160,_ZN2al24isPadRepeatLeftLeftStickEi
|
||||
0x000000710085ee08,U,000160,_ZN2al25isPadRepeatRightLeftStickEi
|
||||
0x000000710085eea8,U,000160,_ZN2al23isPadRepeatUpRightStickEi
|
||||
0x000000710085ef48,U,000160,_ZN2al25isPadRepeatDownRightStickEi
|
||||
0x000000710085efe8,U,000160,_ZN2al25isPadRepeatLeftRightStickEi
|
||||
0x000000710085f088,U,000160,_ZN2al26isPadRepeatRightRightStickEi
|
||||
0x000000710085f128,U,000160,_ZN2al9isPadHoldEii
|
||||
0x000000710085f1c8,U,000152,_ZN2al10isPadHoldAEi
|
||||
0x000000710085f260,U,000152,_ZN2al10isPadHoldBEi
|
||||
0x000000710085f2f8,U,000152,_ZN2al10isPadHoldXEi
|
||||
0x000000710085f390,U,000152,_ZN2al10isPadHoldYEi
|
||||
0x000000710085f428,U,000152,_ZN2al11isPadHoldZLEi
|
||||
0x000000710085f4c0,U,000152,_ZN2al11isPadHoldZREi
|
||||
0x000000710085f558,U,000152,_ZN2al10isPadHoldLEi
|
||||
0x000000710085f5f0,U,000152,_ZN2al10isPadHoldREi
|
||||
0x000000710085f688,U,000152,_ZN2al10isPadHold1Ei
|
||||
0x000000710085f720,U,000152,_ZN2al10isPadHold2Ei
|
||||
0x000000710085f7b8,U,000152,_ZN2al11isPadHoldUpEi
|
||||
0x000000710085f850,U,000152,_ZN2al13isPadHoldDownEi
|
||||
0x000000710085f8e8,U,000152,_ZN2al13isPadHoldLeftEi
|
||||
0x000000710085f980,U,000152,_ZN2al14isPadHoldRightEi
|
||||
0x000000710085fa18,U,000164,_ZN2al15isPadHoldLeftUpEi
|
||||
0x000000710085fabc,U,000160,_ZN2al17isPadHoldLeftDownEi
|
||||
0x000000710085fb5c,U,000164,_ZN2al16isPadHoldRightUpEi
|
||||
0x000000710085fc00,U,000164,_ZN2al18isPadHoldRightDownEi
|
||||
0x000000710085fca4,U,000152,_ZN2al13isPadHoldHomeEi
|
||||
0x000000710085fd3c,U,000152,_ZN2al14isPadHoldStartEi
|
||||
0x000000710085fdd4,U,000152,_ZN2al15isPadHoldSelectEi
|
||||
0x000000710085fe6c,U,000152,_ZN2al13isPadHoldPlusEi
|
||||
0x000000710085ff04,U,000152,_ZN2al14isPadHoldMinusEi
|
||||
0x000000710085ff9c,U,000164,_ZN2al12isPadHoldAnyEi
|
||||
0x0000007100860040,U,000164,_ZN2al24isPadHoldAnyWithoutStickEi
|
||||
0x00000071008600e4,U,000176,_ZN2al14isPadHoldTouchEv
|
||||
0x0000007100860194,U,000152,_ZN2al20isPadHoldUpLeftStickEi
|
||||
0x000000710086022c,U,000152,_ZN2al22isPadHoldDownLeftStickEi
|
||||
0x00000071008602c4,U,000152,_ZN2al22isPadHoldLeftLeftStickEi
|
||||
0x000000710086035c,U,000152,_ZN2al23isPadHoldRightLeftStickEi
|
||||
0x00000071008603f4,U,000152,_ZN2al21isPadHoldUpRightStickEi
|
||||
0x000000710086048c,U,000152,_ZN2al23isPadHoldDownRightStickEi
|
||||
0x0000007100860524,U,000152,_ZN2al23isPadHoldLeftRightStickEi
|
||||
0x00000071008605bc,U,000152,_ZN2al24isPadHoldRightRightStickEi
|
||||
0x0000007100860654,U,000156,_ZN2al18isPadHoldLeftStickEi
|
||||
0x00000071008606f0,U,000156,_ZN2al19isPadHoldRightStickEi
|
||||
0x000000710086078c,U,000152,_ZN2al13isPadReleaseAEi
|
||||
0x0000007100860824,U,000152,_ZN2al13isPadReleaseBEi
|
||||
0x00000071008608bc,U,000152,_ZN2al13isPadReleaseXEi
|
||||
0x0000007100860954,U,000152,_ZN2al13isPadReleaseYEi
|
||||
0x00000071008609ec,U,000152,_ZN2al14isPadReleaseZLEi
|
||||
0x0000007100860a84,U,000152,_ZN2al14isPadReleaseZREi
|
||||
0x0000007100860b1c,U,000152,_ZN2al13isPadReleaseLEi
|
||||
0x0000007100860bb4,U,000152,_ZN2al13isPadReleaseREi
|
||||
0x0000007100860c4c,U,000152,_ZN2al13isPadRelease1Ei
|
||||
0x0000007100860ce4,U,000152,_ZN2al13isPadRelease2Ei
|
||||
0x0000007100860d7c,U,000152,_ZN2al14isPadReleaseUpEi
|
||||
0x0000007100860e14,U,000152,_ZN2al16isPadReleaseDownEi
|
||||
0x0000007100860eac,U,000152,_ZN2al16isPadReleaseLeftEi
|
||||
0x0000007100860f44,U,000152,_ZN2al17isPadReleaseRightEi
|
||||
0x0000007100860fdc,U,000152,_ZN2al16isPadReleaseHomeEi
|
||||
0x0000007100861074,U,000152,_ZN2al17isPadReleaseStartEi
|
||||
0x000000710086110c,U,000152,_ZN2al18isPadReleaseSelectEi
|
||||
0x00000071008611a4,U,000152,_ZN2al16isPadReleasePlusEi
|
||||
0x000000710086123c,U,000152,_ZN2al17isPadReleaseMinusEi
|
||||
0x00000071008612d4,U,000176,_ZN2al17isPadReleaseTouchEv
|
||||
0x0000007100861384,U,000152,_ZN2al23isPadReleaseUpLeftStickEi
|
||||
0x000000710086141c,U,000152,_ZN2al25isPadReleaseDownLeftStickEi
|
||||
0x00000071008614b4,U,000152,_ZN2al25isPadReleaseLeftLeftStickEi
|
||||
0x000000710086154c,U,000152,_ZN2al26isPadReleaseRightLeftStickEi
|
||||
0x00000071008615e4,U,000152,_ZN2al24isPadReleaseUpRightStickEi
|
||||
0x000000710086167c,U,000152,_ZN2al26isPadReleaseDownRightStickEi
|
||||
0x0000007100861714,U,000152,_ZN2al26isPadReleaseLeftRightStickEi
|
||||
0x00000071008617ac,U,000152,_ZN2al27isPadReleaseRightRightStickEi
|
||||
0x0000007100861844,U,000148,_ZN2al12getLeftStickEi
|
||||
0x00000071008618d8,U,000148,_ZN2al13getRightStickEi
|
||||
0x000000710086196c,U,000584,_ZN2al14getPadCrossDirEPN4sead7Vector2IfEEi
|
||||
0x0000007100861bb4,U,000584,_ZN2al22getPadCrossDirSidewaysEPN4sead7Vector2IfEEi
|
||||
0x0000007100861dfc,U,000188,_ZN2al18calcTouchScreenPosEPN4sead7Vector2IfEE
|
||||
0x0000007100861eb8,U,000004,_ZN2al18calcTouchLayoutPosEPN4sead7Vector2IfEE
|
||||
0x0000007100861ebc,U,000128,_ZN2al16isTouchPosInRectERKN4sead7Vector2IfEES4_
|
||||
0x000000710085c248,O,000160,_ZN2al12isPadTriggerEii
|
||||
0x000000710085c2e8,O,000152,_ZN2al13isPadTriggerAEi
|
||||
0x000000710085c380,O,000152,_ZN2al13isPadTriggerBEi
|
||||
0x000000710085c418,O,000152,_ZN2al13isPadTriggerXEi
|
||||
0x000000710085c4b0,O,000152,_ZN2al13isPadTriggerYEi
|
||||
0x000000710085c548,O,000152,_ZN2al14isPadTriggerZLEi
|
||||
0x000000710085c5e0,O,000152,_ZN2al14isPadTriggerZREi
|
||||
0x000000710085c678,O,000152,_ZN2al13isPadTriggerLEi
|
||||
0x000000710085c710,O,000152,_ZN2al13isPadTriggerREi
|
||||
0x000000710085c7a8,O,000152,_ZN2al13isPadTrigger1Ei
|
||||
0x000000710085c840,O,000152,_ZN2al13isPadTrigger2Ei
|
||||
0x000000710085c8d8,O,000152,_ZN2al14isPadTriggerUpEi
|
||||
0x000000710085c970,O,000152,_ZN2al16isPadTriggerDownEi
|
||||
0x000000710085ca08,O,000152,_ZN2al16isPadTriggerLeftEi
|
||||
0x000000710085caa0,O,000152,_ZN2al17isPadTriggerRightEi
|
||||
0x000000710085cb38,O,000312,_ZN2al18isPadTriggerLeftUpEi
|
||||
0x000000710085cc70,O,000300,_ZN2al20isPadTriggerLeftDownEi
|
||||
0x000000710085cd9c,O,000312,_ZN2al19isPadTriggerRightUpEi
|
||||
0x000000710085ced4,O,000312,_ZN2al21isPadTriggerRightDownEi
|
||||
0x000000710085d00c,O,000152,_ZN2al16isPadTriggerHomeEi
|
||||
0x000000710085d0a4,O,000152,_ZN2al17isPadTriggerStartEi
|
||||
0x000000710085d13c,O,000152,_ZN2al18isPadTriggerSelectEi
|
||||
0x000000710085d1d4,O,000152,_ZN2al16isPadTriggerPlusEi
|
||||
0x000000710085d26c,O,000152,_ZN2al17isPadTriggerMinusEi
|
||||
0x000000710085d304,O,000176,_ZN2al17isPadTriggerTouchEv
|
||||
0x000000710085d3b4,O,000152,_ZN2al23isPadTriggerUpLeftStickEi
|
||||
0x000000710085d44c,O,000152,_ZN2al25isPadTriggerDownLeftStickEi
|
||||
0x000000710085d4e4,O,000152,_ZN2al25isPadTriggerLeftLeftStickEi
|
||||
0x000000710085d57c,O,000152,_ZN2al26isPadTriggerRightLeftStickEi
|
||||
0x000000710085d614,O,000152,_ZN2al24isPadTriggerUpRightStickEi
|
||||
0x000000710085d6ac,O,000152,_ZN2al26isPadTriggerDownRightStickEi
|
||||
0x000000710085d744,O,000152,_ZN2al26isPadTriggerLeftRightStickEi
|
||||
0x000000710085d7dc,O,000152,_ZN2al27isPadTriggerRightRightStickEi
|
||||
0x000000710085d874,O,000560,_ZN2al19isPadTriggerAnyABXYEi
|
||||
0x000000710085daa4,O,000164,_ZN2al15isPadTriggerAnyEi
|
||||
0x000000710085db48,O,000156,_ZN2al21isPadTriggerLeftStickEi
|
||||
0x000000710085dbe4,O,000156,_ZN2al22isPadTriggerRightStickEi
|
||||
0x000000710085dc80,O,000152,_ZN2al26isPadTriggerPressLeftStickEi
|
||||
0x000000710085dd18,O,000152,_ZN2al27isPadTriggerPressRightStickEi
|
||||
0x000000710085ddb0,O,000152,_ZN2al23isPadHoldPressLeftStickEi
|
||||
0x000000710085de48,O,000152,_ZN2al24isPadHoldPressRightStickEi
|
||||
0x000000710085dee0,O,000176,_ZN2al12setPadRepeatEiiii
|
||||
0x000000710085df90,O,000160,_ZN2al12isPadRepeatAEi
|
||||
0x000000710085e030,O,000160,_ZN2al12isPadRepeatBEi
|
||||
0x000000710085e0d0,O,000160,_ZN2al12isPadRepeatXEi
|
||||
0x000000710085e170,O,000160,_ZN2al12isPadRepeatYEi
|
||||
0x000000710085e210,O,000160,_ZN2al13isPadRepeatZLEi
|
||||
0x000000710085e2b0,O,000160,_ZN2al13isPadRepeatZREi
|
||||
0x000000710085e350,O,000160,_ZN2al12isPadRepeatLEi
|
||||
0x000000710085e3f0,O,000160,_ZN2al12isPadRepeatREi
|
||||
0x000000710085e490,O,000160,_ZN2al12isPadRepeat1Ei
|
||||
0x000000710085e530,O,000160,_ZN2al12isPadRepeat2Ei
|
||||
0x000000710085e5d0,O,000160,_ZN2al13isPadRepeatUpEi
|
||||
0x000000710085e670,O,000160,_ZN2al15isPadRepeatDownEi
|
||||
0x000000710085e710,O,000160,_ZN2al15isPadRepeatLeftEi
|
||||
0x000000710085e7b0,O,000160,_ZN2al16isPadRepeatRightEi
|
||||
0x000000710085e850,O,000160,_ZN2al15isPadRepeatHomeEi
|
||||
0x000000710085e8f0,O,000160,_ZN2al16isPadRepeatStartEi
|
||||
0x000000710085e990,O,000160,_ZN2al17isPadRepeatSelectEi
|
||||
0x000000710085ea30,O,000160,_ZN2al15isPadRepeatPlusEi
|
||||
0x000000710085ead0,O,000160,_ZN2al16isPadRepeatMinusEi
|
||||
0x000000710085eb70,O,000184,_ZN2al16isPadRepeatTouchEv
|
||||
0x000000710085ec28,O,000160,_ZN2al22isPadRepeatUpLeftStickEi
|
||||
0x000000710085ecc8,O,000160,_ZN2al24isPadRepeatDownLeftStickEi
|
||||
0x000000710085ed68,O,000160,_ZN2al24isPadRepeatLeftLeftStickEi
|
||||
0x000000710085ee08,O,000160,_ZN2al25isPadRepeatRightLeftStickEi
|
||||
0x000000710085eea8,O,000160,_ZN2al23isPadRepeatUpRightStickEi
|
||||
0x000000710085ef48,O,000160,_ZN2al25isPadRepeatDownRightStickEi
|
||||
0x000000710085efe8,O,000160,_ZN2al25isPadRepeatLeftRightStickEi
|
||||
0x000000710085f088,O,000160,_ZN2al26isPadRepeatRightRightStickEi
|
||||
0x000000710085f128,O,000160,_ZN2al9isPadHoldEii
|
||||
0x000000710085f1c8,O,000152,_ZN2al10isPadHoldAEi
|
||||
0x000000710085f260,O,000152,_ZN2al10isPadHoldBEi
|
||||
0x000000710085f2f8,O,000152,_ZN2al10isPadHoldXEi
|
||||
0x000000710085f390,O,000152,_ZN2al10isPadHoldYEi
|
||||
0x000000710085f428,O,000152,_ZN2al11isPadHoldZLEi
|
||||
0x000000710085f4c0,O,000152,_ZN2al11isPadHoldZREi
|
||||
0x000000710085f558,O,000152,_ZN2al10isPadHoldLEi
|
||||
0x000000710085f5f0,O,000152,_ZN2al10isPadHoldREi
|
||||
0x000000710085f688,O,000152,_ZN2al10isPadHold1Ei
|
||||
0x000000710085f720,O,000152,_ZN2al10isPadHold2Ei
|
||||
0x000000710085f7b8,O,000152,_ZN2al11isPadHoldUpEi
|
||||
0x000000710085f850,O,000152,_ZN2al13isPadHoldDownEi
|
||||
0x000000710085f8e8,O,000152,_ZN2al13isPadHoldLeftEi
|
||||
0x000000710085f980,O,000152,_ZN2al14isPadHoldRightEi
|
||||
0x000000710085fa18,O,000164,_ZN2al15isPadHoldLeftUpEi
|
||||
0x000000710085fabc,O,000160,_ZN2al17isPadHoldLeftDownEi
|
||||
0x000000710085fb5c,O,000164,_ZN2al16isPadHoldRightUpEi
|
||||
0x000000710085fc00,O,000164,_ZN2al18isPadHoldRightDownEi
|
||||
0x000000710085fca4,O,000152,_ZN2al13isPadHoldHomeEi
|
||||
0x000000710085fd3c,O,000152,_ZN2al14isPadHoldStartEi
|
||||
0x000000710085fdd4,O,000152,_ZN2al15isPadHoldSelectEi
|
||||
0x000000710085fe6c,O,000152,_ZN2al13isPadHoldPlusEi
|
||||
0x000000710085ff04,O,000152,_ZN2al14isPadHoldMinusEi
|
||||
0x000000710085ff9c,O,000164,_ZN2al12isPadHoldAnyEi
|
||||
0x0000007100860040,O,000164,_ZN2al24isPadHoldAnyWithoutStickEi
|
||||
0x00000071008600e4,O,000176,_ZN2al14isPadHoldTouchEv
|
||||
0x0000007100860194,O,000152,_ZN2al20isPadHoldUpLeftStickEi
|
||||
0x000000710086022c,O,000152,_ZN2al22isPadHoldDownLeftStickEi
|
||||
0x00000071008602c4,O,000152,_ZN2al22isPadHoldLeftLeftStickEi
|
||||
0x000000710086035c,O,000152,_ZN2al23isPadHoldRightLeftStickEi
|
||||
0x00000071008603f4,O,000152,_ZN2al21isPadHoldUpRightStickEi
|
||||
0x000000710086048c,O,000152,_ZN2al23isPadHoldDownRightStickEi
|
||||
0x0000007100860524,O,000152,_ZN2al23isPadHoldLeftRightStickEi
|
||||
0x00000071008605bc,O,000152,_ZN2al24isPadHoldRightRightStickEi
|
||||
0x0000007100860654,O,000156,_ZN2al18isPadHoldLeftStickEi
|
||||
0x00000071008606f0,O,000156,_ZN2al19isPadHoldRightStickEi
|
||||
0x000000710086078c,O,000152,_ZN2al13isPadReleaseAEi
|
||||
0x0000007100860824,O,000152,_ZN2al13isPadReleaseBEi
|
||||
0x00000071008608bc,O,000152,_ZN2al13isPadReleaseXEi
|
||||
0x0000007100860954,O,000152,_ZN2al13isPadReleaseYEi
|
||||
0x00000071008609ec,O,000152,_ZN2al14isPadReleaseZLEi
|
||||
0x0000007100860a84,O,000152,_ZN2al14isPadReleaseZREi
|
||||
0x0000007100860b1c,O,000152,_ZN2al13isPadReleaseLEi
|
||||
0x0000007100860bb4,O,000152,_ZN2al13isPadReleaseREi
|
||||
0x0000007100860c4c,O,000152,_ZN2al13isPadRelease1Ei
|
||||
0x0000007100860ce4,O,000152,_ZN2al13isPadRelease2Ei
|
||||
0x0000007100860d7c,O,000152,_ZN2al14isPadReleaseUpEi
|
||||
0x0000007100860e14,O,000152,_ZN2al16isPadReleaseDownEi
|
||||
0x0000007100860eac,O,000152,_ZN2al16isPadReleaseLeftEi
|
||||
0x0000007100860f44,O,000152,_ZN2al17isPadReleaseRightEi
|
||||
0x0000007100860fdc,O,000152,_ZN2al16isPadReleaseHomeEi
|
||||
0x0000007100861074,O,000152,_ZN2al17isPadReleaseStartEi
|
||||
0x000000710086110c,O,000152,_ZN2al18isPadReleaseSelectEi
|
||||
0x00000071008611a4,O,000152,_ZN2al16isPadReleasePlusEi
|
||||
0x000000710086123c,O,000152,_ZN2al17isPadReleaseMinusEi
|
||||
0x00000071008612d4,O,000176,_ZN2al17isPadReleaseTouchEv
|
||||
0x0000007100861384,O,000152,_ZN2al23isPadReleaseUpLeftStickEi
|
||||
0x000000710086141c,O,000152,_ZN2al25isPadReleaseDownLeftStickEi
|
||||
0x00000071008614b4,O,000152,_ZN2al25isPadReleaseLeftLeftStickEi
|
||||
0x000000710086154c,O,000152,_ZN2al26isPadReleaseRightLeftStickEi
|
||||
0x00000071008615e4,O,000152,_ZN2al24isPadReleaseUpRightStickEi
|
||||
0x000000710086167c,O,000152,_ZN2al26isPadReleaseDownRightStickEi
|
||||
0x0000007100861714,O,000152,_ZN2al26isPadReleaseLeftRightStickEi
|
||||
0x00000071008617ac,O,000152,_ZN2al27isPadReleaseRightRightStickEi
|
||||
0x0000007100861844,O,000148,_ZN2al12getLeftStickEi
|
||||
0x00000071008618d8,O,000148,_ZN2al13getRightStickEi
|
||||
0x000000710086196c,O,000584,_ZN2al14getPadCrossDirEPN4sead7Vector2IfEEi
|
||||
0x0000007100861bb4,O,000584,_ZN2al22getPadCrossDirSidewaysEPN4sead7Vector2IfEEi
|
||||
0x0000007100861dfc,m,000188,_ZN2al18calcTouchScreenPosEPN4sead7Vector2IfEE
|
||||
0x0000007100861eb8,O,000004,_ZN2al18calcTouchLayoutPosEPN4sead7Vector2IfEE
|
||||
0x0000007100861ebc,W,000128,_ZN2al16isTouchPosInRectERKN4sead7Vector2IfEES4_
|
||||
0x0000007100861f3c,U,000100,_ZN2al18isTouchPosInCircleERKN4sead7Vector2IfEEf
|
||||
0x0000007100861fa0,U,000008,_ZN2al28isTouchPosInCircleByWorldPosERKN4sead7Vector3IfEEPKNS_10IUseCameraEff
|
||||
0x0000007100861fa8,U,000132,_ZN2al14isPadTouchRectEffff
|
Can't render this file because it is too large.
|
60562
data/1.1/data_symbols.csv
Normal file
60562
data/1.1/data_symbols.csv
Normal file
File diff suppressed because it is too large
Load Diff
74826
data/1.1/odyssey_functions.csv
Normal file
74826
data/1.1/odyssey_functions.csv
Normal file
File diff suppressed because it is too large
Load Diff
62107
data/1.2/data_symbols.csv
Normal file
62107
data/1.2/data_symbols.csv
Normal file
File diff suppressed because it is too large
Load Diff
76575
data/1.2/odyssey_functions.csv
Normal file
76575
data/1.2/odyssey_functions.csv
Normal file
File diff suppressed because it is too large
Load Diff
50121
data/1.3/data_symbols.csv
Normal file
50121
data/1.3/data_symbols.csv
Normal file
File diff suppressed because it is too large
Load Diff
50918
data/1.3/odyssey_functions.csv
Normal file
50918
data/1.3/odyssey_functions.csv
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,499 +0,0 @@
|
||||
0x00000071023556B0,_ZTVN4sead14SafeStringBaseIcEE
|
||||
0x0000007102356AF0,_ZTVN4sead22BufferedSafeStringBaseIcEE
|
||||
0x000000710246F9E0,_ZN4ksys3gdt6detail13sCommonFlags0E
|
||||
0x00000071024709E0,_ZN4ksys3gdt6detail13sCommonFlags1E
|
||||
0x00000071024719E0,_ZN4ksys3gdt6detail13sCommonFlags2E
|
||||
0x00000071024729E0,_ZN4ksys3gdt6detail13sCommonFlags3E
|
||||
0x00000071024C0F18,_ZTVN3agl3utl13ParameterBaseE
|
||||
0x00000071024C1060,_ZTVN3agl3utl9ParameterIbEE
|
||||
0x00000071024C1100,_ZTVN3agl3utl9ParameterIfEE
|
||||
0x00000071024C11A0,_ZTVN3agl3utl9ParameterIiEE
|
||||
0x00000071024C1240,_ZTVN3agl3utl9ParameterIjEE
|
||||
0x00000071024C12E0,_ZTVN3agl3utl9ParameterIN4sead7Vector2IfEEEE
|
||||
0x00000071024C1380,_ZTVN3agl3utl9ParameterIN4sead7Vector3IfEEEE
|
||||
0x00000071024C1420,_ZTVN3agl3utl9ParameterIN4sead7Vector4IfEEEE
|
||||
0x00000071024C14C0,_ZTVN3agl3utl9ParameterIN4sead7Color4fEEE
|
||||
0x00000071024C1560,_ZTVN3agl3utl9ParameterIN4sead4QuatIfEEEE
|
||||
0x00000071024C1600,_ZTVN3agl3utl9ParameterIN4sead15FixedSafeStringILi64EEEEE
|
||||
0x00000071024C16A0,_ZTVN3agl3utl9ParameterIN4sead15FixedSafeStringILi256EEEEE
|
||||
0x00000071024C1740,_ZTVN3agl3utl9ParameterIN4sead14SafeStringBaseIcEEEE
|
||||
0x00000071024D8D58,_ZTVN4ksys3act2ai10ActionBaseE
|
||||
0x00000071025129E0,_ZTVN4ksys3act2ai6ActionE
|
||||
0x0000007102513268,_ZTVN4ksys3act2ai2AiE
|
||||
0x00000071025F75B0,pfnc_nvnDeviceBuilderSetDefaults
|
||||
0x00000071025F75B8,pfnc_nvnDeviceBuilderSetFlags
|
||||
0x00000071025F75C0,pfnc_nvnDeviceInitialize
|
||||
0x00000071025F75C8,pfnc_nvnDeviceFinalize
|
||||
0x00000071025F75D0,pfnc_nvnDeviceSetDebugLabel
|
||||
0x00000071025F75D8,pfnc_nvnDeviceGetProcAddress
|
||||
0x00000071025F75E0,pfnc_nvnDeviceGetInteger
|
||||
0x00000071025F75E8,pfnc_nvnDeviceGetCurrentTimestampInNanoseconds
|
||||
0x00000071025F75F0,pfnc_nvnDeviceSetIntermediateShaderCache
|
||||
0x00000071025F75F8,pfnc_nvnDeviceGetTextureHandle
|
||||
0x00000071025F7600,pfnc_nvnDeviceGetTexelFetchHandle
|
||||
0x00000071025F7608,pfnc_nvnDeviceGetImageHandle
|
||||
0x00000071025F7610,pfnc_nvnDeviceInstallDebugCallback
|
||||
0x00000071025F7618,pfnc_nvnDeviceGenerateDebugDomainId
|
||||
0x00000071025F7620,pfnc_nvnDeviceSetWindowOriginMode
|
||||
0x00000071025F7628,pfnc_nvnDeviceSetDepthMode
|
||||
0x00000071025F7630,pfnc_nvnDeviceRegisterFastClearColor
|
||||
0x00000071025F7638,pfnc_nvnDeviceRegisterFastClearColori
|
||||
0x00000071025F7640,pfnc_nvnDeviceRegisterFastClearColorui
|
||||
0x00000071025F7648,pfnc_nvnDeviceRegisterFastClearDepth
|
||||
0x00000071025F7650,pfnc_nvnDeviceGetWindowOriginMode
|
||||
0x00000071025F7658,pfnc_nvnDeviceGetDepthMode
|
||||
0x00000071025F7660,pfnc_nvnDeviceGetTimestampInNanoseconds
|
||||
0x00000071025F7668,pfnc_nvnDeviceApplyDeferredFinalizes
|
||||
0x00000071025F7670,pfnc_nvnDeviceFinalizeCommandHandle
|
||||
0x00000071025F7678,pfnc_nvnDeviceWalkDebugDatabase
|
||||
0x00000071025F7680,pfnc_nvnDeviceGetSeparateTextureHandle
|
||||
0x00000071025F7688,pfnc_nvnDeviceGetSeparateSamplerHandle
|
||||
0x00000071025F7690,pfnc_nvnDeviceIsExternalDebuggerAttached
|
||||
0x00000071025F7698,pfnc_nvnQueueGetError
|
||||
0x00000071025F76A0,pfnc_nvnQueueGetTotalCommandMemoryUsed
|
||||
0x00000071025F76A8,pfnc_nvnQueueGetTotalControlMemoryUsed
|
||||
0x00000071025F76B0,pfnc_nvnQueueGetTotalComputeMemoryUsed
|
||||
0x00000071025F76B8,pfnc_nvnQueueResetMemoryUsageCounts
|
||||
0x00000071025F76C0,pfnc_nvnQueueBuilderSetDevice
|
||||
0x00000071025F76C8,pfnc_nvnQueueBuilderSetDefaults
|
||||
0x00000071025F76D0,pfnc_nvnQueueBuilderSetFlags
|
||||
0x00000071025F76D8,pfnc_nvnQueueBuilderSetCommandMemorySize
|
||||
0x00000071025F76E0,pfnc_nvnQueueBuilderSetComputeMemorySize
|
||||
0x00000071025F76E8,pfnc_nvnQueueBuilderSetControlMemorySize
|
||||
0x00000071025F76F0,pfnc_nvnQueueBuilderGetQueueMemorySize
|
||||
0x00000071025F76F8,pfnc_nvnQueueBuilderSetQueueMemory
|
||||
0x00000071025F7700,pfnc_nvnQueueBuilderSetCommandFlushThreshold
|
||||
0x00000071025F7708,pfnc_nvnQueueInitialize
|
||||
0x00000071025F7710,pfnc_nvnQueueFinalize
|
||||
0x00000071025F7718,pfnc_nvnQueueSetDebugLabel
|
||||
0x00000071025F7720,pfnc_nvnQueueSubmitCommands
|
||||
0x00000071025F7728,pfnc_nvnQueueFlush
|
||||
0x00000071025F7730,pfnc_nvnQueueFinish
|
||||
0x00000071025F7738,pfnc_nvnQueuePresentTexture
|
||||
0x00000071025F7740,pfnc_nvnQueueAcquireTexture
|
||||
0x00000071025F7748,pfnc_nvnWindowBuilderSetDevice
|
||||
0x00000071025F7750,pfnc_nvnWindowBuilderSetDefaults
|
||||
0x00000071025F7758,pfnc_nvnWindowBuilderSetNativeWindow
|
||||
0x00000071025F7760,pfnc_nvnWindowBuilderSetTextures
|
||||
0x00000071025F7768,pfnc_nvnWindowBuilderSetPresentInterval
|
||||
0x00000071025F7770,pfnc_nvnWindowBuilderGetNativeWindow
|
||||
0x00000071025F7778,pfnc_nvnWindowBuilderGetPresentInterval
|
||||
0x00000071025F7780,pfnc_nvnWindowInitialize
|
||||
0x00000071025F7788,pfnc_nvnWindowFinalize
|
||||
0x00000071025F7790,pfnc_nvnWindowSetDebugLabel
|
||||
0x00000071025F7798,pfnc_nvnWindowAcquireTexture
|
||||
0x00000071025F77A0,pfnc_nvnWindowGetNativeWindow
|
||||
0x00000071025F77A8,pfnc_nvnWindowGetPresentInterval
|
||||
0x00000071025F77B0,pfnc_nvnWindowSetPresentInterval
|
||||
0x00000071025F77B8,pfnc_nvnWindowSetCrop
|
||||
0x00000071025F77C0,pfnc_nvnWindowGetCrop
|
||||
0x00000071025F77C8,pfnc_nvnProgramInitialize
|
||||
0x00000071025F77D0,pfnc_nvnProgramFinalize
|
||||
0x00000071025F77D8,pfnc_nvnProgramSetDebugLabel
|
||||
0x00000071025F77E0,pfnc_nvnProgramSetShaders
|
||||
0x00000071025F77E8,pfnc_nvnMemoryPoolBuilderSetDevice
|
||||
0x00000071025F77F0,pfnc_nvnMemoryPoolBuilderSetDefaults
|
||||
0x00000071025F77F8,pfnc_nvnMemoryPoolBuilderSetStorage
|
||||
0x00000071025F7800,pfnc_nvnMemoryPoolBuilderSetFlags
|
||||
0x00000071025F7808,pfnc_nvnMemoryPoolBuilderGetMemory
|
||||
0x00000071025F7810,pfnc_nvnMemoryPoolBuilderGetSize
|
||||
0x00000071025F7818,pfnc_nvnMemoryPoolBuilderGetFlags
|
||||
0x00000071025F7820,pfnc_nvnMemoryPoolInitialize
|
||||
0x00000071025F7828,pfnc_nvnMemoryPoolSetDebugLabel
|
||||
0x00000071025F7830,pfnc_nvnMemoryPoolFinalize
|
||||
0x00000071025F7838,pfnc_nvnMemoryPoolMap
|
||||
0x00000071025F7840,pfnc_nvnMemoryPoolFlushMappedRange
|
||||
0x00000071025F7848,pfnc_nvnMemoryPoolInvalidateMappedRange
|
||||
0x00000071025F7850,pfnc_nvnMemoryPoolGetBufferAddress
|
||||
0x00000071025F7858,pfnc_nvnMemoryPoolMapVirtual
|
||||
0x00000071025F7860,pfnc_nvnMemoryPoolGetSize
|
||||
0x00000071025F7868,pfnc_nvnMemoryPoolGetFlags
|
||||
0x00000071025F7870,pfnc_nvnTexturePoolInitialize
|
||||
0x00000071025F7878,pfnc_nvnTexturePoolSetDebugLabel
|
||||
0x00000071025F7880,pfnc_nvnTexturePoolFinalize
|
||||
0x00000071025F7888,pfnc_nvnTexturePoolRegisterTexture
|
||||
0x00000071025F7890,pfnc_nvnTexturePoolRegisterImage
|
||||
0x00000071025F7898,pfnc_nvnTexturePoolGetMemoryPool
|
||||
0x00000071025F78A0,pfnc_nvnTexturePoolGetMemoryOffset
|
||||
0x00000071025F78A8,pfnc_nvnTexturePoolGetSize
|
||||
0x00000071025F78B0,pfnc_nvnSamplerPoolInitialize
|
||||
0x00000071025F78B8,pfnc_nvnSamplerPoolSetDebugLabel
|
||||
0x00000071025F78C0,pfnc_nvnSamplerPoolFinalize
|
||||
0x00000071025F78C8,pfnc_nvnSamplerPoolRegisterSampler
|
||||
0x00000071025F78D0,pfnc_nvnSamplerPoolRegisterSamplerBuilder
|
||||
0x00000071025F78D8,pfnc_nvnSamplerPoolGetMemoryPool
|
||||
0x00000071025F78E0,pfnc_nvnSamplerPoolGetMemoryOffset
|
||||
0x00000071025F78E8,pfnc_nvnSamplerPoolGetSize
|
||||
0x00000071025F78F0,pfnc_nvnBufferBuilderSetDevice
|
||||
0x00000071025F78F8,pfnc_nvnBufferBuilderSetDefaults
|
||||
0x00000071025F7900,pfnc_nvnBufferBuilderSetStorage
|
||||
0x00000071025F7908,pfnc_nvnBufferBuilderGetMemoryPool
|
||||
0x00000071025F7910,pfnc_nvnBufferBuilderGetMemoryOffset
|
||||
0x00000071025F7918,pfnc_nvnBufferBuilderGetSize
|
||||
0x00000071025F7920,pfnc_nvnBufferInitialize
|
||||
0x00000071025F7928,pfnc_nvnBufferSetDebugLabel
|
||||
0x00000071025F7930,pfnc_nvnBufferFinalize
|
||||
0x00000071025F7938,pfnc_nvnBufferMap
|
||||
0x00000071025F7940,pfnc_nvnBufferGetAddress
|
||||
0x00000071025F7948,pfnc_nvnBufferFlushMappedRange
|
||||
0x00000071025F7950,pfnc_nvnBufferInvalidateMappedRange
|
||||
0x00000071025F7958,pfnc_nvnBufferGetMemoryPool
|
||||
0x00000071025F7960,pfnc_nvnBufferGetMemoryOffset
|
||||
0x00000071025F7968,pfnc_nvnBufferGetSize
|
||||
0x00000071025F7970,pfnc_nvnBufferGetDebugID
|
||||
0x00000071025F7978,pfnc_nvnTextureBuilderSetDevice
|
||||
0x00000071025F7980,pfnc_nvnTextureBuilderSetDefaults
|
||||
0x00000071025F7988,pfnc_nvnTextureBuilderSetFlags
|
||||
0x00000071025F7990,pfnc_nvnTextureBuilderSetTarget
|
||||
0x00000071025F7998,pfnc_nvnTextureBuilderSetWidth
|
||||
0x00000071025F79A0,pfnc_nvnTextureBuilderSetHeight
|
||||
0x00000071025F79A8,pfnc_nvnTextureBuilderSetDepth
|
||||
0x00000071025F79B0,pfnc_nvnTextureBuilderSetSize1D
|
||||
0x00000071025F79B8,pfnc_nvnTextureBuilderSetSize2D
|
||||
0x00000071025F79C0,pfnc_nvnTextureBuilderSetSize3D
|
||||
0x00000071025F79C8,pfnc_nvnTextureBuilderSetLevels
|
||||
0x00000071025F79D0,pfnc_nvnTextureBuilderSetFormat
|
||||
0x00000071025F79D8,pfnc_nvnTextureBuilderSetSamples
|
||||
0x00000071025F79E0,pfnc_nvnTextureBuilderSetSwizzle
|
||||
0x00000071025F79E8,pfnc_nvnTextureBuilderSetDepthStencilMode
|
||||
0x00000071025F79F0,pfnc_nvnTextureBuilderGetStorageSize
|
||||
0x00000071025F79F8,pfnc_nvnTextureBuilderGetStorageAlignment
|
||||
0x00000071025F7A00,pfnc_nvnTextureBuilderSetStorage
|
||||
0x00000071025F7A08,pfnc_nvnTextureBuilderSetPackagedTextureData
|
||||
0x00000071025F7A10,pfnc_nvnTextureBuilderSetPackagedTextureLayout
|
||||
0x00000071025F7A18,pfnc_nvnTextureBuilderSetStride
|
||||
0x00000071025F7A20,pfnc_nvnTextureBuilderSetGLTextureName
|
||||
0x00000071025F7A28,pfnc_nvnTextureBuilderGetStorageClass
|
||||
0x00000071025F7A30,pfnc_nvnTextureBuilderGetFlags
|
||||
0x00000071025F7A38,pfnc_nvnTextureBuilderGetTarget
|
||||
0x00000071025F7A40,pfnc_nvnTextureBuilderGetWidth
|
||||
0x00000071025F7A48,pfnc_nvnTextureBuilderGetHeight
|
||||
0x00000071025F7A50,pfnc_nvnTextureBuilderGetDepth
|
||||
0x00000071025F7A58,pfnc_nvnTextureBuilderGetLevels
|
||||
0x00000071025F7A60,pfnc_nvnTextureBuilderGetFormat
|
||||
0x00000071025F7A68,pfnc_nvnTextureBuilderGetSamples
|
||||
0x00000071025F7A70,pfnc_nvnTextureBuilderGetSwizzle
|
||||
0x00000071025F7A78,pfnc_nvnTextureBuilderGetDepthStencilMode
|
||||
0x00000071025F7A80,pfnc_nvnTextureBuilderGetPackagedTextureData
|
||||
0x00000071025F7A88,pfnc_nvnTextureBuilderGetStride
|
||||
0x00000071025F7A90,pfnc_nvnTextureBuilderGetSparseTileLayout
|
||||
0x00000071025F7A98,pfnc_nvnTextureBuilderGetGLTextureName
|
||||
0x00000071025F7AA0,pfnc_nvnTextureBuilderGetZCullStorageSize
|
||||
0x00000071025F7AA8,pfnc_nvnTextureBuilderGetMemoryPool
|
||||
0x00000071025F7AB0,pfnc_nvnTextureBuilderGetMemoryOffset
|
||||
0x00000071025F7AB8,pfnc_nvnTextureViewSetDefaults
|
||||
0x00000071025F7AC0,pfnc_nvnTextureViewSetLevels
|
||||
0x00000071025F7AC8,pfnc_nvnTextureViewSetLayers
|
||||
0x00000071025F7AD0,pfnc_nvnTextureViewSetFormat
|
||||
0x00000071025F7AD8,pfnc_nvnTextureViewSetSwizzle
|
||||
0x00000071025F7AE0,pfnc_nvnTextureViewSetDepthStencilMode
|
||||
0x00000071025F7AE8,pfnc_nvnTextureViewSetTarget
|
||||
0x00000071025F7AF0,pfnc_nvnTextureViewGetLevels
|
||||
0x00000071025F7AF8,pfnc_nvnTextureViewGetLayers
|
||||
0x00000071025F7B00,pfnc_nvnTextureViewGetFormat
|
||||
0x00000071025F7B08,pfnc_nvnTextureViewGetSwizzle
|
||||
0x00000071025F7B10,pfnc_nvnTextureViewGetDepthStencilMode
|
||||
0x00000071025F7B18,pfnc_nvnTextureViewGetTarget
|
||||
0x00000071025F7B20,pfnc_nvnTextureViewCompare
|
||||
0x00000071025F7B28,pfnc_nvnTextureInitialize
|
||||
0x00000071025F7B30,pfnc_nvnTextureGetZCullStorageSize
|
||||
0x00000071025F7B38,pfnc_nvnTextureFinalize
|
||||
0x00000071025F7B40,pfnc_nvnTextureSetDebugLabel
|
||||
0x00000071025F7B48,pfnc_nvnTextureGetStorageClass
|
||||
0x00000071025F7B50,pfnc_nvnTextureGetViewOffset
|
||||
0x00000071025F7B58,pfnc_nvnTextureGetFlags
|
||||
0x00000071025F7B60,pfnc_nvnTextureGetTarget
|
||||
0x00000071025F7B68,pfnc_nvnTextureGetWidth
|
||||
0x00000071025F7B70,pfnc_nvnTextureGetHeight
|
||||
0x00000071025F7B78,pfnc_nvnTextureGetDepth
|
||||
0x00000071025F7B80,pfnc_nvnTextureGetLevels
|
||||
0x00000071025F7B88,pfnc_nvnTextureGetFormat
|
||||
0x00000071025F7B90,pfnc_nvnTextureGetSamples
|
||||
0x00000071025F7B98,pfnc_nvnTextureGetSwizzle
|
||||
0x00000071025F7BA0,pfnc_nvnTextureGetDepthStencilMode
|
||||
0x00000071025F7BA8,pfnc_nvnTextureGetStride
|
||||
0x00000071025F7BB0,pfnc_nvnTextureGetTextureAddress
|
||||
0x00000071025F7BB8,pfnc_nvnTextureGetSparseTileLayout
|
||||
0x00000071025F7BC0,pfnc_nvnTextureWriteTexels
|
||||
0x00000071025F7BC8,pfnc_nvnTextureWriteTexelsStrided
|
||||
0x00000071025F7BD0,pfnc_nvnTextureReadTexels
|
||||
0x00000071025F7BD8,pfnc_nvnTextureReadTexelsStrided
|
||||
0x00000071025F7BE0,pfnc_nvnTextureFlushTexels
|
||||
0x00000071025F7BE8,pfnc_nvnTextureInvalidateTexels
|
||||
0x00000071025F7BF0,pfnc_nvnTextureGetMemoryPool
|
||||
0x00000071025F7BF8,pfnc_nvnTextureGetMemoryOffset
|
||||
0x00000071025F7C00,pfnc_nvnTextureGetStorageSize
|
||||
0x00000071025F7C08,pfnc_nvnTextureCompare
|
||||
0x00000071025F7C10,pfnc_nvnTextureGetDebugID
|
||||
0x00000071025F7C18,pfnc_nvnSamplerBuilderSetDevice
|
||||
0x00000071025F7C20,pfnc_nvnSamplerBuilderSetDefaults
|
||||
0x00000071025F7C28,pfnc_nvnSamplerBuilderSetMinMagFilter
|
||||
0x00000071025F7C30,pfnc_nvnSamplerBuilderSetWrapMode
|
||||
0x00000071025F7C38,pfnc_nvnSamplerBuilderSetLodClamp
|
||||
0x00000071025F7C40,pfnc_nvnSamplerBuilderSetLodBias
|
||||
0x00000071025F7C48,pfnc_nvnSamplerBuilderSetCompare
|
||||
0x00000071025F7C50,pfnc_nvnSamplerBuilderSetBorderColor
|
||||
0x00000071025F7C58,pfnc_nvnSamplerBuilderSetBorderColori
|
||||
0x00000071025F7C60,pfnc_nvnSamplerBuilderSetBorderColorui
|
||||
0x00000071025F7C68,pfnc_nvnSamplerBuilderSetMaxAnisotropy
|
||||
0x00000071025F7C70,pfnc_nvnSamplerBuilderSetReductionFilter
|
||||
0x00000071025F7C78,pfnc_nvnSamplerBuilderSetLodSnap
|
||||
0x00000071025F7C80,pfnc_nvnSamplerBuilderGetMinMagFilter
|
||||
0x00000071025F7C88,pfnc_nvnSamplerBuilderGetWrapMode
|
||||
0x00000071025F7C90,pfnc_nvnSamplerBuilderGetLodClamp
|
||||
0x00000071025F7C98,pfnc_nvnSamplerBuilderGetLodBias
|
||||
0x00000071025F7CA0,pfnc_nvnSamplerBuilderGetCompare
|
||||
0x00000071025F7CA8,pfnc_nvnSamplerBuilderGetBorderColor
|
||||
0x00000071025F7CB0,pfnc_nvnSamplerBuilderGetBorderColori
|
||||
0x00000071025F7CB8,pfnc_nvnSamplerBuilderGetBorderColorui
|
||||
0x00000071025F7CC0,pfnc_nvnSamplerBuilderGetMaxAnisotropy
|
||||
0x00000071025F7CC8,pfnc_nvnSamplerBuilderGetReductionFilter
|
||||
0x00000071025F7CD0,pfnc_nvnSamplerBuilderGetLodSnap
|
||||
0x00000071025F7CD8,pfnc_nvnSamplerInitialize
|
||||
0x00000071025F7CE0,pfnc_nvnSamplerFinalize
|
||||
0x00000071025F7CE8,pfnc_nvnSamplerSetDebugLabel
|
||||
0x00000071025F7CF0,pfnc_nvnSamplerGetMinMagFilter
|
||||
0x00000071025F7CF8,pfnc_nvnSamplerGetWrapMode
|
||||
0x00000071025F7D00,pfnc_nvnSamplerGetLodClamp
|
||||
0x00000071025F7D08,pfnc_nvnSamplerGetLodBias
|
||||
0x00000071025F7D10,pfnc_nvnSamplerGetCompare
|
||||
0x00000071025F7D18,pfnc_nvnSamplerGetBorderColor
|
||||
0x00000071025F7D20,pfnc_nvnSamplerGetBorderColori
|
||||
0x00000071025F7D28,pfnc_nvnSamplerGetBorderColorui
|
||||
0x00000071025F7D30,pfnc_nvnSamplerGetMaxAnisotropy
|
||||
0x00000071025F7D38,pfnc_nvnSamplerGetReductionFilter
|
||||
0x00000071025F7D40,pfnc_nvnSamplerCompare
|
||||
0x00000071025F7D48,pfnc_nvnSamplerGetDebugID
|
||||
0x00000071025F7D50,pfnc_nvnBlendStateSetDefaults
|
||||
0x00000071025F7D58,pfnc_nvnBlendStateSetBlendTarget
|
||||
0x00000071025F7D60,pfnc_nvnBlendStateSetBlendFunc
|
||||
0x00000071025F7D68,pfnc_nvnBlendStateSetBlendEquation
|
||||
0x00000071025F7D70,pfnc_nvnBlendStateSetAdvancedMode
|
||||
0x00000071025F7D78,pfnc_nvnBlendStateSetAdvancedOverlap
|
||||
0x00000071025F7D80,pfnc_nvnBlendStateSetAdvancedPremultipliedSrc
|
||||
0x00000071025F7D88,pfnc_nvnBlendStateSetAdvancedNormalizedDst
|
||||
0x00000071025F7D90,pfnc_nvnBlendStateGetBlendTarget
|
||||
0x00000071025F7D98,pfnc_nvnBlendStateGetBlendFunc
|
||||
0x00000071025F7DA0,pfnc_nvnBlendStateGetBlendEquation
|
||||
0x00000071025F7DA8,pfnc_nvnBlendStateGetAdvancedMode
|
||||
0x00000071025F7DB0,pfnc_nvnBlendStateGetAdvancedOverlap
|
||||
0x00000071025F7DB8,pfnc_nvnBlendStateGetAdvancedPremultipliedSrc
|
||||
0x00000071025F7DC0,pfnc_nvnBlendStateGetAdvancedNormalizedDst
|
||||
0x00000071025F7DC8,pfnc_nvnColorStateSetDefaults
|
||||
0x00000071025F7DD0,pfnc_nvnColorStateSetBlendEnable
|
||||
0x00000071025F7DD8,pfnc_nvnColorStateSetLogicOp
|
||||
0x00000071025F7DE0,pfnc_nvnColorStateSetAlphaTest
|
||||
0x00000071025F7DE8,pfnc_nvnColorStateGetBlendEnable
|
||||
0x00000071025F7DF0,pfnc_nvnColorStateGetLogicOp
|
||||
0x00000071025F7DF8,pfnc_nvnColorStateGetAlphaTest
|
||||
0x00000071025F7E00,pfnc_nvnChannelMaskStateSetDefaults
|
||||
0x00000071025F7E08,pfnc_nvnChannelMaskStateSetChannelMask
|
||||
0x00000071025F7E10,pfnc_nvnChannelMaskStateGetChannelMask
|
||||
0x00000071025F7E18,pfnc_nvnMultisampleStateSetDefaults
|
||||
0x00000071025F7E20,pfnc_nvnMultisampleStateSetMultisampleEnable
|
||||
0x00000071025F7E28,pfnc_nvnMultisampleStateSetSamples
|
||||
0x00000071025F7E30,pfnc_nvnMultisampleStateSetAlphaToCoverageEnable
|
||||
0x00000071025F7E38,pfnc_nvnMultisampleStateSetAlphaToCoverageDither
|
||||
0x00000071025F7E40,pfnc_nvnMultisampleStateGetMultisampleEnable
|
||||
0x00000071025F7E48,pfnc_nvnMultisampleStateGetSamples
|
||||
0x00000071025F7E50,pfnc_nvnMultisampleStateGetAlphaToCoverageEnable
|
||||
0x00000071025F7E58,pfnc_nvnMultisampleStateGetAlphaToCoverageDither
|
||||
0x00000071025F7E60,pfnc_nvnMultisampleStateSetRasterSamples
|
||||
0x00000071025F7E68,pfnc_nvnMultisampleStateGetRasterSamples
|
||||
0x00000071025F7E70,pfnc_nvnMultisampleStateSetCoverageModulationMode
|
||||
0x00000071025F7E78,pfnc_nvnMultisampleStateGetCoverageModulationMode
|
||||
0x00000071025F7E80,pfnc_nvnMultisampleStateSetCoverageToColorEnable
|
||||
0x00000071025F7E88,pfnc_nvnMultisampleStateGetCoverageToColorEnable
|
||||
0x00000071025F7E90,pfnc_nvnMultisampleStateSetCoverageToColorOutput
|
||||
0x00000071025F7E98,pfnc_nvnMultisampleStateGetCoverageToColorOutput
|
||||
0x00000071025F7EA0,pfnc_nvnMultisampleStateSetSampleLocationsEnable
|
||||
0x00000071025F7EA8,pfnc_nvnMultisampleStateGetSampleLocationsEnable
|
||||
0x00000071025F7EB0,pfnc_nvnMultisampleStateGetSampleLocationsGrid
|
||||
0x00000071025F7EB8,pfnc_nvnMultisampleStateSetSampleLocationsGridEnable
|
||||
0x00000071025F7EC0,pfnc_nvnMultisampleStateGetSampleLocationsGridEnable
|
||||
0x00000071025F7EC8,pfnc_nvnMultisampleStateSetSampleLocations
|
||||
0x00000071025F7ED0,pfnc_nvnPolygonStateSetDefaults
|
||||
0x00000071025F7ED8,pfnc_nvnPolygonStateSetCullFace
|
||||
0x00000071025F7EE0,pfnc_nvnPolygonStateSetFrontFace
|
||||
0x00000071025F7EE8,pfnc_nvnPolygonStateSetPolygonMode
|
||||
0x00000071025F7EF0,pfnc_nvnPolygonStateSetPolygonOffsetEnables
|
||||
0x00000071025F7EF8,pfnc_nvnPolygonStateGetCullFace
|
||||
0x00000071025F7F00,pfnc_nvnPolygonStateGetFrontFace
|
||||
0x00000071025F7F08,pfnc_nvnPolygonStateGetPolygonMode
|
||||
0x00000071025F7F10,pfnc_nvnPolygonStateGetPolygonOffsetEnables
|
||||
0x00000071025F7F18,pfnc_nvnDepthStencilStateSetDefaults
|
||||
0x00000071025F7F20,pfnc_nvnDepthStencilStateSetDepthTestEnable
|
||||
0x00000071025F7F28,pfnc_nvnDepthStencilStateSetDepthWriteEnable
|
||||
0x00000071025F7F30,pfnc_nvnDepthStencilStateSetDepthFunc
|
||||
0x00000071025F7F38,pfnc_nvnDepthStencilStateSetStencilTestEnable
|
||||
0x00000071025F7F40,pfnc_nvnDepthStencilStateSetStencilFunc
|
||||
0x00000071025F7F48,pfnc_nvnDepthStencilStateSetStencilOp
|
||||
0x00000071025F7F50,pfnc_nvnDepthStencilStateGetDepthTestEnable
|
||||
0x00000071025F7F58,pfnc_nvnDepthStencilStateGetDepthWriteEnable
|
||||
0x00000071025F7F60,pfnc_nvnDepthStencilStateGetDepthFunc
|
||||
0x00000071025F7F68,pfnc_nvnDepthStencilStateGetStencilTestEnable
|
||||
0x00000071025F7F70,pfnc_nvnDepthStencilStateGetStencilFunc
|
||||
0x00000071025F7F78,pfnc_nvnDepthStencilStateGetStencilOp
|
||||
0x00000071025F7F80,pfnc_nvnVertexAttribStateSetDefaults
|
||||
0x00000071025F7F88,pfnc_nvnVertexAttribStateSetFormat
|
||||
0x00000071025F7F90,pfnc_nvnVertexAttribStateSetStreamIndex
|
||||
0x00000071025F7F98,pfnc_nvnVertexAttribStateGetFormat
|
||||
0x00000071025F7FA0,pfnc_nvnVertexAttribStateGetStreamIndex
|
||||
0x00000071025F7FA8,pfnc_nvnVertexStreamStateSetDefaults
|
||||
0x00000071025F7FB0,pfnc_nvnVertexStreamStateSetStride
|
||||
0x00000071025F7FB8,pfnc_nvnVertexStreamStateSetDivisor
|
||||
0x00000071025F7FC0,pfnc_nvnVertexStreamStateGetStride
|
||||
0x00000071025F7FC8,pfnc_nvnVertexStreamStateGetDivisor
|
||||
0x00000071025F7FD0,pfnc_nvnCommandBufferInitialize
|
||||
0x00000071025F7FD8,pfnc_nvnCommandBufferFinalize
|
||||
0x00000071025F7FE0,pfnc_nvnCommandBufferSetDebugLabel
|
||||
0x00000071025F7FE8,pfnc_nvnCommandBufferSetMemoryCallback
|
||||
0x00000071025F7FF0,pfnc_nvnCommandBufferSetMemoryCallbackData
|
||||
0x00000071025F7FF8,pfnc_nvnCommandBufferAddCommandMemory
|
||||
0x00000071025F8000,pfnc_nvnCommandBufferAddControlMemory
|
||||
0x00000071025F8008,pfnc_nvnCommandBufferGetCommandMemorySize
|
||||
0x00000071025F8010,pfnc_nvnCommandBufferGetCommandMemoryUsed
|
||||
0x00000071025F8018,pfnc_nvnCommandBufferGetCommandMemoryFree
|
||||
0x00000071025F8020,pfnc_nvnCommandBufferGetControlMemorySize
|
||||
0x00000071025F8028,pfnc_nvnCommandBufferGetControlMemoryUsed
|
||||
0x00000071025F8030,pfnc_nvnCommandBufferGetControlMemoryFree
|
||||
0x00000071025F8038,pfnc_nvnCommandBufferBeginRecording
|
||||
0x00000071025F8040,pfnc_nvnCommandBufferEndRecording
|
||||
0x00000071025F8048,pfnc_nvnCommandBufferCallCommands
|
||||
0x00000071025F8050,pfnc_nvnCommandBufferCopyCommands
|
||||
0x00000071025F8058,pfnc_nvnCommandBufferBindBlendState
|
||||
0x00000071025F8060,pfnc_nvnCommandBufferBindChannelMaskState
|
||||
0x00000071025F8068,pfnc_nvnCommandBufferBindColorState
|
||||
0x00000071025F8070,pfnc_nvnCommandBufferBindMultisampleState
|
||||
0x00000071025F8078,pfnc_nvnCommandBufferBindPolygonState
|
||||
0x00000071025F8080,pfnc_nvnCommandBufferBindDepthStencilState
|
||||
0x00000071025F8088,pfnc_nvnCommandBufferBindVertexAttribState
|
||||
0x00000071025F8090,pfnc_nvnCommandBufferBindVertexStreamState
|
||||
0x00000071025F8098,pfnc_nvnCommandBufferBindProgram
|
||||
0x00000071025F80A0,pfnc_nvnCommandBufferBindVertexBuffer
|
||||
0x00000071025F80A8,pfnc_nvnCommandBufferBindVertexBuffers
|
||||
0x00000071025F80B0,pfnc_nvnCommandBufferBindUniformBuffer
|
||||
0x00000071025F80B8,pfnc_nvnCommandBufferBindUniformBuffers
|
||||
0x00000071025F80C0,pfnc_nvnCommandBufferBindTransformFeedbackBuffer
|
||||
0x00000071025F80C8,pfnc_nvnCommandBufferBindTransformFeedbackBuffers
|
||||
0x00000071025F80D0,pfnc_nvnCommandBufferBindStorageBuffer
|
||||
0x00000071025F80D8,pfnc_nvnCommandBufferBindStorageBuffers
|
||||
0x00000071025F80E0,pfnc_nvnCommandBufferBindTexture
|
||||
0x00000071025F80E8,pfnc_nvnCommandBufferBindTextures
|
||||
0x00000071025F80F0,pfnc_nvnCommandBufferBindImage
|
||||
0x00000071025F80F8,pfnc_nvnCommandBufferBindImages
|
||||
0x00000071025F8100,pfnc_nvnCommandBufferSetPatchSize
|
||||
0x00000071025F8108,pfnc_nvnCommandBufferSetInnerTessellationLevels
|
||||
0x00000071025F8110,pfnc_nvnCommandBufferSetOuterTessellationLevels
|
||||
0x00000071025F8118,pfnc_nvnCommandBufferSetPrimitiveRestart
|
||||
0x00000071025F8120,pfnc_nvnCommandBufferBeginTransformFeedback
|
||||
0x00000071025F8128,pfnc_nvnCommandBufferEndTransformFeedback
|
||||
0x00000071025F8130,pfnc_nvnCommandBufferPauseTransformFeedback
|
||||
0x00000071025F8138,pfnc_nvnCommandBufferResumeTransformFeedback
|
||||
0x00000071025F8140,pfnc_nvnCommandBufferDrawTransformFeedback
|
||||
0x00000071025F8148,pfnc_nvnCommandBufferDrawArrays
|
||||
0x00000071025F8150,pfnc_nvnCommandBufferDrawElements
|
||||
0x00000071025F8158,pfnc_nvnCommandBufferDrawElementsBaseVertex
|
||||
0x00000071025F8160,pfnc_nvnCommandBufferDrawArraysInstanced
|
||||
0x00000071025F8168,pfnc_nvnCommandBufferDrawElementsInstanced
|
||||
0x00000071025F8170,pfnc_nvnCommandBufferDrawArraysIndirect
|
||||
0x00000071025F8178,pfnc_nvnCommandBufferDrawElementsIndirect
|
||||
0x00000071025F8180,pfnc_nvnCommandBufferMultiDrawArraysIndirectCount
|
||||
0x00000071025F8188,pfnc_nvnCommandBufferMultiDrawElementsIndirectCount
|
||||
0x00000071025F8190,pfnc_nvnCommandBufferClearColor
|
||||
0x00000071025F8198,pfnc_nvnCommandBufferClearColori
|
||||
0x00000071025F81A0,pfnc_nvnCommandBufferClearColorui
|
||||
0x00000071025F81A8,pfnc_nvnCommandBufferClearDepthStencil
|
||||
0x00000071025F81B0,pfnc_nvnCommandBufferDispatchCompute
|
||||
0x00000071025F81B8,pfnc_nvnCommandBufferDispatchComputeIndirect
|
||||
0x00000071025F81C0,pfnc_nvnCommandBufferSetViewport
|
||||
0x00000071025F81C8,pfnc_nvnCommandBufferSetViewports
|
||||
0x00000071025F81D0,pfnc_nvnCommandBufferSetViewportSwizzles
|
||||
0x00000071025F81D8,pfnc_nvnCommandBufferSetScissor
|
||||
0x00000071025F81E0,pfnc_nvnCommandBufferSetScissors
|
||||
0x00000071025F81E8,pfnc_nvnCommandBufferSetDepthRange
|
||||
0x00000071025F81F0,pfnc_nvnCommandBufferSetDepthBounds
|
||||
0x00000071025F81F8,pfnc_nvnCommandBufferSetDepthRanges
|
||||
0x00000071025F8200,pfnc_nvnCommandBufferSetTiledCacheAction
|
||||
0x00000071025F8208,pfnc_nvnCommandBufferSetTiledCacheTileSize
|
||||
0x00000071025F8210,pfnc_nvnCommandBufferBindSeparateTexture
|
||||
0x00000071025F8218,pfnc_nvnCommandBufferBindSeparateSampler
|
||||
0x00000071025F8220,pfnc_nvnCommandBufferBindSeparateTextures
|
||||
0x00000071025F8228,pfnc_nvnCommandBufferBindSeparateSamplers
|
||||
0x00000071025F8230,pfnc_nvnCommandBufferSetStencilValueMask
|
||||
0x00000071025F8238,pfnc_nvnCommandBufferSetStencilMask
|
||||
0x00000071025F8240,pfnc_nvnCommandBufferSetStencilRef
|
||||
0x00000071025F8248,pfnc_nvnCommandBufferSetBlendColor
|
||||
0x00000071025F8250,pfnc_nvnCommandBufferSetPointSize
|
||||
0x00000071025F8258,pfnc_nvnCommandBufferSetLineWidth
|
||||
0x00000071025F8260,pfnc_nvnCommandBufferSetPolygonOffsetClamp
|
||||
0x00000071025F8268,pfnc_nvnCommandBufferSetAlphaRef
|
||||
0x00000071025F8270,pfnc_nvnCommandBufferSetSampleMask
|
||||
0x00000071025F8278,pfnc_nvnCommandBufferSetRasterizerDiscard
|
||||
0x00000071025F8280,pfnc_nvnCommandBufferSetDepthClamp
|
||||
0x00000071025F8288,pfnc_nvnCommandBufferSetConservativeRasterEnable
|
||||
0x00000071025F8290,pfnc_nvnCommandBufferSetConservativeRasterDilate
|
||||
0x00000071025F8298,pfnc_nvnCommandBufferSetSubpixelPrecisionBias
|
||||
0x00000071025F82A0,pfnc_nvnCommandBufferCopyBufferToTexture
|
||||
0x00000071025F82A8,pfnc_nvnCommandBufferCopyTextureToBuffer
|
||||
0x00000071025F82B0,pfnc_nvnCommandBufferCopyTextureToTexture
|
||||
0x00000071025F82B8,pfnc_nvnCommandBufferCopyBufferToBuffer
|
||||
0x00000071025F82C0,pfnc_nvnCommandBufferClearBuffer
|
||||
0x00000071025F82C8,pfnc_nvnCommandBufferClearTexture
|
||||
0x00000071025F82D0,pfnc_nvnCommandBufferClearTexturei
|
||||
0x00000071025F82D8,pfnc_nvnCommandBufferClearTextureui
|
||||
0x00000071025F82E0,pfnc_nvnCommandBufferUpdateUniformBuffer
|
||||
0x00000071025F82E8,pfnc_nvnCommandBufferReportCounter
|
||||
0x00000071025F82F0,pfnc_nvnCommandBufferResetCounter
|
||||
0x00000071025F82F8,pfnc_nvnCommandBufferReportValue
|
||||
0x00000071025F8300,pfnc_nvnCommandBufferSetRenderEnable
|
||||
0x00000071025F8308,pfnc_nvnCommandBufferSetRenderEnableConditional
|
||||
0x00000071025F8310,pfnc_nvnCommandBufferSetRenderTargets
|
||||
0x00000071025F8318,pfnc_nvnCommandBufferDiscardColor
|
||||
0x00000071025F8320,pfnc_nvnCommandBufferDiscardDepthStencil
|
||||
0x00000071025F8328,pfnc_nvnCommandBufferDownsample
|
||||
0x00000071025F8330,pfnc_nvnCommandBufferTiledDownsample
|
||||
0x00000071025F8338,pfnc_nvnCommandBufferDownsampleTextureView
|
||||
0x00000071025F8340,pfnc_nvnCommandBufferTiledDownsampleTextureView
|
||||
0x00000071025F8348,pfnc_nvnCommandBufferBarrier
|
||||
0x00000071025F8350,pfnc_nvnCommandBufferWaitSync
|
||||
0x00000071025F8358,pfnc_nvnCommandBufferFenceSync
|
||||
0x00000071025F8360,pfnc_nvnCommandBufferSetTexturePool
|
||||
0x00000071025F8368,pfnc_nvnCommandBufferSetSamplerPool
|
||||
0x00000071025F8370,pfnc_nvnCommandBufferSetShaderScratchMemory
|
||||
0x00000071025F8378,pfnc_nvnCommandBufferSaveZCullData
|
||||
0x00000071025F8380,pfnc_nvnCommandBufferRestoreZCullData
|
||||
0x00000071025F8388,pfnc_nvnCommandBufferSetCopyRowStride
|
||||
0x00000071025F8390,pfnc_nvnCommandBufferSetCopyImageStride
|
||||
0x00000071025F8398,pfnc_nvnCommandBufferGetCopyRowStride
|
||||
0x00000071025F83A0,pfnc_nvnCommandBufferGetCopyImageStride
|
||||
0x00000071025F83A8,pfnc_nvnCommandBufferDrawTexture
|
||||
0x00000071025F83B0,pfnc_nvnProgramSetSubroutineLinkage
|
||||
0x00000071025F83B8,pfnc_nvnCommandBufferSetProgramSubroutines
|
||||
0x00000071025F83C0,pfnc_nvnCommandBufferBindCoverageModulationTable
|
||||
0x00000071025F83C8,pfnc_nvnCommandBufferResolveDepthBuffer
|
||||
0x00000071025F83D0,pfnc_nvnCommandBufferPushDebugGroupStatic
|
||||
0x00000071025F83D8,pfnc_nvnCommandBufferPushDebugGroupDynamic
|
||||
0x00000071025F83E0,pfnc_nvnCommandBufferPushDebugGroup
|
||||
0x00000071025F83E8,pfnc_nvnCommandBufferPopDebugGroup
|
||||
0x00000071025F83F0,pfnc_nvnCommandBufferPopDebugGroupId
|
||||
0x00000071025F83F8,pfnc_nvnCommandBufferInsertDebugMarkerStatic
|
||||
0x00000071025F8400,pfnc_nvnCommandBufferInsertDebugMarkerDynamic
|
||||
0x00000071025F8408,pfnc_nvnCommandBufferInsertDebugMarker
|
||||
0x00000071025F8410,pfnc_nvnCommandBufferGetMemoryCallback
|
||||
0x00000071025F8418,pfnc_nvnCommandBufferGetMemoryCallbackData
|
||||
0x00000071025F8420,pfnc_nvnCommandBufferIsRecording
|
||||
0x00000071025F8428,pfnc_nvnSyncInitialize
|
||||
0x00000071025F8430,pfnc_nvnSyncFinalize
|
||||
0x00000071025F8438,pfnc_nvnSyncSetDebugLabel
|
||||
0x00000071025F8440,pfnc_nvnQueueFenceSync
|
||||
0x00000071025F8448,pfnc_nvnSyncWait
|
||||
0x00000071025F8450,pfnc_nvnQueueWaitSync
|
||||
0x00000071025F8458,pfnc_nvnEventBuilderSetDefaults
|
||||
0x00000071025F8460,pfnc_nvnEventBuilderSetStorage
|
||||
0x00000071025F8468,pfnc_nvnEventInitialize
|
||||
0x00000071025F8470,pfnc_nvnEventFinalize
|
||||
0x00000071025F8478,pfnc_nvnEventGetValue
|
||||
0x00000071025F8480,pfnc_nvnEventSignal
|
||||
0x00000071025F8488,pfnc_nvnCommandBufferWaitEvent
|
||||
0x00000071025F8490,pfnc_nvnCommandBufferSignalEvent
|
|
@ -1,46 +1,196 @@
|
||||
#pragma once
|
||||
|
||||
#include <controller/seadController.h>
|
||||
#include <controller/seadControllerMgr.h>
|
||||
#include <math/seadVector.h>
|
||||
|
||||
namespace al {
|
||||
class IUseCamera;
|
||||
|
||||
|
||||
bool isValidReplayController(u32);
|
||||
sead::ControllerBase* getReplayController(u32); //return type might be wrong
|
||||
|
||||
bool isPadTypeJoySingle(int);
|
||||
|
||||
bool isPadTriggerUp(int);
|
||||
bool isPadTriggerDown(int);
|
||||
bool isPadTriggerLeft(int);
|
||||
bool isPadTriggerRight(int);
|
||||
|
||||
bool isPadTrigger(int, int);
|
||||
bool isPadTriggerA(int);
|
||||
bool isPadTriggerB(int);
|
||||
bool isPadTriggerX(int);
|
||||
bool isPadTriggerY(int);
|
||||
|
||||
bool isPadTriggerZL(int);
|
||||
bool isPadTriggerZR(int);
|
||||
|
||||
bool isPadTriggerL(int);
|
||||
bool isPadTriggerR(int);
|
||||
bool isPadTrigger1(int);
|
||||
bool isPadTrigger2(int);
|
||||
bool isPadTriggerUp(int);
|
||||
bool isPadTriggerDown(int);
|
||||
bool isPadTriggerLeft(int);
|
||||
bool isPadTriggerRight(int);
|
||||
bool isPadTriggerLeftUp(int);
|
||||
bool isPadTriggerLeftDown(int);
|
||||
bool isPadTriggerRightUp(int);
|
||||
bool isPadTriggerRightDown(int);
|
||||
bool isPadTriggerHome(int);
|
||||
bool isPadTriggerStart(int);
|
||||
bool isPadTriggerSelect(int);
|
||||
bool isPadTriggerPlus(int);
|
||||
bool isPadTriggerMinus(int);
|
||||
bool isPadTriggerTouch();
|
||||
bool isPadTriggerUpLeftStick(int);
|
||||
bool isPadTriggerDownLeftStick(int);
|
||||
bool isPadTriggerLeftLeftStick(int);
|
||||
bool isPadTriggerRightLeftStick(int);
|
||||
bool isPadTriggerUpRightStick(int);
|
||||
bool isPadTriggerDownRightStick(int);
|
||||
bool isPadTriggerLeftRightStick(int);
|
||||
bool isPadTriggerRightRightStick(int);
|
||||
bool isPadTriggerAnyABXY(int);
|
||||
bool isPadTriggerAny(int);
|
||||
bool isPadTriggerLeftStick(int);
|
||||
bool isPadTriggerRightStick(int);
|
||||
bool isPadTriggerPressLeftStick(int);
|
||||
bool isPadTriggerPressRightStick(int);
|
||||
bool isPadTriggerUiCursorUp(int); //TODO implement below
|
||||
bool isPadTriggerUiCursorDown(int);
|
||||
bool isPadTriggerUiCursorLeft(int);
|
||||
bool isPadTriggerUiCursorRight(int);
|
||||
|
||||
bool isPadHoldUp(int);
|
||||
bool isPadHoldDown(int);
|
||||
bool isPadHoldLeft(int);
|
||||
bool isPadHoldRight(int);
|
||||
bool isPadRepeatA(int);
|
||||
bool isPadRepeatB(int);
|
||||
bool isPadRepeatX(int);
|
||||
bool isPadRepeatY(int);
|
||||
bool isPadRepeatZL(int);
|
||||
bool isPadRepeatZR(int);
|
||||
bool isPadRepeatL(int);
|
||||
bool isPadRepeatR(int);
|
||||
bool isPadRepeat1(int);
|
||||
bool isPadRepeat2(int);
|
||||
bool isPadRepeatUp(int);
|
||||
bool isPadRepeatDown(int);
|
||||
bool isPadRepeatLeft(int);
|
||||
bool isPadRepeatRight(int);
|
||||
bool isPadRepeatHome(int);
|
||||
bool isPadRepeatStart(int);
|
||||
bool isPadRepeatSelect(int);
|
||||
bool isPadRepeatPlus(int);
|
||||
bool isPadRepeatMinus(int);
|
||||
bool isPadRepeatTouch();
|
||||
bool isPadRepeatUpLeftStick(int);
|
||||
bool isPadRepeatDownLeftStick(int);
|
||||
bool isPadRepeatLeftLeftStick(int);
|
||||
bool isPadRepeatRightLeftStick(int);
|
||||
bool isPadRepeatUpRightStick(int);
|
||||
bool isPadRepeatDownRightStick(int);
|
||||
bool isPadRepeatLeftRightStick(int);
|
||||
bool isPadRepeatRightRightStick(int);
|
||||
bool isPadRepeatUiCursorUp(int); //TODO implement below
|
||||
bool isPadRepeatUiCursorDown(int);
|
||||
bool isPadRepeatUiCursorLeft(int);
|
||||
bool isPadRepeatUiCursorRight(int);
|
||||
|
||||
bool isPadHoldPressLeftStick(int);
|
||||
bool isPadHoldPressRightStick(int);
|
||||
bool isPadHold(int,int);
|
||||
bool isPadHoldA(int);
|
||||
bool isPadHoldB(int);
|
||||
bool isPadHoldX(int);
|
||||
bool isPadHoldY(int);
|
||||
|
||||
bool isPadHoldL(int);
|
||||
bool isPadHoldR(int);
|
||||
|
||||
bool isPadHoldZL(int);
|
||||
bool isPadHoldZR(int);
|
||||
bool isPadHoldL(int);
|
||||
bool isPadHoldR(int);
|
||||
bool isPadHold1(int);
|
||||
bool isPadHold2(int);
|
||||
bool isPadHoldUp(int);
|
||||
bool isPadHoldDown(int);
|
||||
bool isPadHoldLeft(int);
|
||||
bool isPadHoldRight(int);
|
||||
bool isPadHoldLeftUp(int);
|
||||
bool isPadHoldLeftDown(int);
|
||||
bool isPadHoldRightUp(int);
|
||||
bool isPadHoldRightDown(int);
|
||||
bool isPadHoldHome(int);
|
||||
bool isPadHoldStart(int);
|
||||
bool isPadHoldSelect(int);
|
||||
bool isPadHoldPlus(int);
|
||||
bool isPadHoldMinus(int);
|
||||
bool isPadHoldAny(int);
|
||||
bool isPadHoldAnyWithoutStick(int);
|
||||
bool isPadHoldTouch();
|
||||
bool isPadHoldUpLeftStick(int);
|
||||
bool isPadHoldDownLeftStick(int);
|
||||
bool isPadHoldLeftLeftStick(int);
|
||||
bool isPadHoldRightLeftStick(int);
|
||||
bool isPadHoldUpRightStick(int);
|
||||
bool isPadHoldDownRightStick(int);
|
||||
bool isPadHoldLeftRightStick(int);
|
||||
bool isPadHoldRightRightStick(int);
|
||||
bool isPadHoldLeftStick(int);
|
||||
bool isPadHoldRightStick(int);
|
||||
bool isPadHoldUiCursorUp(int);
|
||||
bool isPadHoldUiCursorDown(int);
|
||||
bool isPadHoldUiCursorLeft(int);
|
||||
bool isPadHoldUiCursorRight(int);
|
||||
|
||||
sead::Vector2f* getLeftStick(int);
|
||||
sead::Vector2f* getRightStick(int);
|
||||
bool isPadRelease(int, int);
|
||||
bool isPadReleaseA(int);
|
||||
bool isPadReleaseB(int);
|
||||
bool isPadReleaseX(int);
|
||||
bool isPadReleaseY(int);
|
||||
bool isPadReleaseZL(int);
|
||||
bool isPadReleaseZR(int);
|
||||
bool isPadReleaseL(int);
|
||||
bool isPadReleaseR(int);
|
||||
bool isPadRelease1(int);
|
||||
bool isPadRelease2(int);
|
||||
bool isPadReleaseUp(int);
|
||||
bool isPadReleaseDown(int);
|
||||
bool isPadReleaseLeft(int);
|
||||
bool isPadReleaseRight(int);
|
||||
bool isPadReleaseHome(int);
|
||||
bool isPadReleaseStart(int);
|
||||
bool isPadReleaseSelect(int);
|
||||
bool isPadReleasePlus(int);
|
||||
bool isPadReleaseMinus(int);
|
||||
bool isPadReleaseTouch();
|
||||
bool isPadReleaseUpLeftStick(int);
|
||||
bool isPadReleaseDownLeftStick(int);
|
||||
bool isPadReleaseLeftLeftStick(int);
|
||||
bool isPadReleaseRightLeftStick(int);
|
||||
bool isPadReleaseUpRightStick(int);
|
||||
bool isPadReleaseDownRightStick(int);
|
||||
bool isPadReleaseLeftRightStick(int);
|
||||
bool isPadReleaseRightRightStick(int);
|
||||
bool isPadReleaseUiCursorUp(int); //TODO implement below
|
||||
bool isPadReleaseUiCursorDown(int);
|
||||
bool isPadReleaseUiCursorLeft(int);
|
||||
bool isPadReleaseUiCursorRight(int);
|
||||
|
||||
unsigned int getPlayerControllerPort(int);
|
||||
const sead::Vector2f& getLeftStick(int);
|
||||
const sead::Vector2f& getRightStick(int);
|
||||
|
||||
void getPadCrossDir(sead::Vector2f*, int);
|
||||
void getPadCrossDirSideways(sead::Vector2f*, int);
|
||||
|
||||
void calcTouchScreenPos(sead::Vector2f*);
|
||||
void calcTouchLayoutPos(sead::Vector2f*);
|
||||
|
||||
bool isTouchPosInRect(const sead::Vector2f&, const sead::Vector2f&);
|
||||
bool isTouchPosInCircle(const sead::Vector2f&, float);
|
||||
bool isTouchPosInCircleByWorldPos(const sead::Vector2f&, const al::IUseCamera*, float, float);
|
||||
bool isPadTouchRect(float, float, float, float);
|
||||
|
||||
void setPadRepeat(int, int, int, int);
|
||||
|
||||
int getPlayerControllerPort(int);
|
||||
int getTouchPanelPort();
|
||||
int getMainControllerPort();
|
||||
int getMainJoyPadDoublePort();
|
||||
int getMainJoyPadSingleRightPort();
|
||||
int getMainJoyPadSingleLeftPort();
|
||||
|
||||
bool isSameNpadId(u32, int); //TODO implement
|
||||
|
||||
} // namespace al
|
||||
|
@ -4,6 +4,8 @@
|
||||
#include <math/seadVector.h>
|
||||
#include <prim/seadSafeString.h>
|
||||
|
||||
#include "al/util/InputUtil.h"
|
||||
|
||||
namespace sead {
|
||||
class Heap;
|
||||
}
|
||||
@ -27,6 +29,8 @@ class AreaObj;
|
||||
class IUseAudioKeeper;
|
||||
class SensorMsg;
|
||||
class IUseSceneObjHolder;
|
||||
class HitSensor;
|
||||
class PlacementInfo;
|
||||
|
||||
// from Starlight's header files. TODO clean this up, and include them in the proper places
|
||||
|
||||
|
@ -1,8 +1,10 @@
|
||||
target_sources(odyssey PRIVATE
|
||||
ByamlUtil.cpp
|
||||
InputUtil.cpp
|
||||
LiveActorUtil.cpp
|
||||
MathUtil.cpp
|
||||
NerveUtil.cpp
|
||||
OtherUtil.cpp
|
||||
PlacementUtil.cpp
|
||||
RandomUtil.cpp
|
||||
StringUtil.cpp
|
||||
|
521
src/al/util/InputUtil.cpp
Normal file
521
src/al/util/InputUtil.cpp
Normal file
@ -0,0 +1,521 @@
|
||||
#include "al/util/InputUtil.h"
|
||||
|
||||
#include "al/util/OtherUtil.h"
|
||||
|
||||
namespace al {
|
||||
|
||||
sead::ControllerBase* getController_(int port) {
|
||||
return al::isValidReplayController(port) ? getReplayController(port) : sead::ControllerMgr::instance()->getController(port);
|
||||
}
|
||||
|
||||
sead::ControllerBase* getController(int port) {
|
||||
if (port == -1) {
|
||||
port = getMainControllerPort();
|
||||
}
|
||||
|
||||
return getController_(port);
|
||||
}
|
||||
|
||||
bool isPadTrigger(int port, int button) {
|
||||
return getController(port)->getButtonsTrigger() & button;
|
||||
}
|
||||
|
||||
bool isPadTriggerA(int port) {
|
||||
return isPadTrigger(port, 1);
|
||||
}
|
||||
bool isPadTriggerB(int port) {
|
||||
return isPadTrigger(port, 1 << 1);
|
||||
}
|
||||
bool isPadTriggerX(int port) {
|
||||
return isPadTrigger(port, 1 << 3);
|
||||
}
|
||||
bool isPadTriggerY(int port) {
|
||||
return isPadTrigger(port, 1 << 4);
|
||||
}
|
||||
bool isPadTriggerZL(int port) {
|
||||
return isPadTrigger(port, 1 << 2);
|
||||
}
|
||||
bool isPadTriggerZR(int port) {
|
||||
return isPadTrigger(port, 1 << 5);
|
||||
}
|
||||
bool isPadTriggerL(int port) {
|
||||
return isPadTrigger(port, 1 << 13);
|
||||
}
|
||||
bool isPadTriggerR(int port) {
|
||||
return isPadTrigger(port, 1 << 14);
|
||||
}
|
||||
bool isPadTrigger1(int port) {
|
||||
return isPadTrigger(port, 1 << 7);
|
||||
}
|
||||
bool isPadTrigger2(int port) {
|
||||
return isPadTrigger(port, 1 << 6);
|
||||
}
|
||||
bool isPadTriggerUp(int port) {
|
||||
return isPadTrigger(port, 1 << 16);
|
||||
}
|
||||
bool isPadTriggerDown(int port) {
|
||||
return isPadTrigger(port, 1 << 17);
|
||||
}
|
||||
bool isPadTriggerLeft(int port) {
|
||||
return isPadTrigger(port, 1 << 18);
|
||||
}
|
||||
bool isPadTriggerRight(int port) {
|
||||
return isPadTrigger(port, 1 << 19);
|
||||
}
|
||||
bool isPadTriggerLeftUp(int port){
|
||||
return isPadHoldLeftUp(port) && (getController(port)->getButtonsTrigger() & 0x50000);
|
||||
}
|
||||
bool isPadTriggerLeftDown(int port){
|
||||
return isPadHoldLeftDown(port) && (getController(port)->getButtonsTrigger() & 0x60000);
|
||||
}
|
||||
bool isPadTriggerRightUp(int port){
|
||||
return isPadHoldRightUp(port) && (getController(port)->getButtonsTrigger() & 0x90000);
|
||||
}
|
||||
bool isPadTriggerRightDown(int port){
|
||||
return isPadHoldRightDown(port) && (getController(port)->getButtonsTrigger() & 0xA0000);
|
||||
}
|
||||
bool isPadTriggerHome(int port) {
|
||||
return isPadTrigger(port, 1 << 8);
|
||||
}
|
||||
bool isPadTriggerStart(int port) {
|
||||
return isPadTrigger(port, 1 << 11);
|
||||
}
|
||||
bool isPadTriggerSelect(int port) {
|
||||
return isPadTrigger(port, 1 << 12);
|
||||
}
|
||||
bool isPadTriggerPlus(int port) {
|
||||
return isPadTrigger(port, 1 << 10);
|
||||
}
|
||||
bool isPadTriggerMinus(int port) {
|
||||
return isPadTrigger(port, 1 << 9);
|
||||
}
|
||||
bool isPadTriggerTouch() {
|
||||
return isPadTrigger(getTouchPanelPort(), 1 << 15);
|
||||
}
|
||||
bool isPadTriggerUpLeftStick(int port) {
|
||||
return isPadTrigger(port, 1 << 20);
|
||||
}
|
||||
bool isPadTriggerDownLeftStick(int port) {
|
||||
return isPadTrigger(port, 1 << 21);
|
||||
}
|
||||
bool isPadTriggerLeftLeftStick(int port) {
|
||||
return isPadTrigger(port, 1 << 22);
|
||||
}
|
||||
bool isPadTriggerRightLeftStick(int port) {
|
||||
return isPadTrigger(port, 1 << 23);
|
||||
}
|
||||
bool isPadTriggerUpRightStick(int port) {
|
||||
return isPadTrigger(port, 1 << 24);
|
||||
}
|
||||
bool isPadTriggerDownRightStick(int port) {
|
||||
return isPadTrigger(port, 1 << 25);
|
||||
}
|
||||
bool isPadTriggerLeftRightStick(int port) {
|
||||
return isPadTrigger(port, 1 << 26);
|
||||
}
|
||||
bool isPadTriggerRightRightStick(int port) {
|
||||
return isPadTrigger(port, 1 << 27);
|
||||
}
|
||||
bool isPadTriggerAnyABXY(int port) {
|
||||
return isPadTriggerA(port) || isPadTriggerB(port) || isPadTriggerX(port) || isPadTriggerY(port);
|
||||
}
|
||||
bool isPadTriggerAny(int port) {
|
||||
return isPadTrigger(port, 0xFFF7FFF);
|
||||
}
|
||||
bool isPadTriggerLeftStick(int port) {
|
||||
return isPadTrigger(port, 0xF00000);
|
||||
}
|
||||
bool isPadTriggerRightStick(int port) {
|
||||
return isPadTrigger(port, 0xF000000);
|
||||
}
|
||||
bool isPadTriggerPressLeftStick(int port) {
|
||||
return isPadTrigger1(port);
|
||||
}
|
||||
bool isPadTriggerPressRightStick(int port) {
|
||||
return isPadTrigger2(port);
|
||||
}
|
||||
|
||||
bool isPadRepeat(int port, int button){
|
||||
sead::ControllerBase* controller = getController(port);
|
||||
return (controller->getButtonsTrigger() | controller->getButtonsRepeat()) & button;
|
||||
}
|
||||
bool isPadRepeatA(int port){
|
||||
return isPadRepeat(port, 1);
|
||||
}
|
||||
bool isPadRepeatB(int port){
|
||||
return isPadRepeat(port, 1 << 1);
|
||||
}
|
||||
bool isPadRepeatX(int port){
|
||||
return isPadRepeat(port, 1 << 3);
|
||||
}
|
||||
bool isPadRepeatY(int port){
|
||||
return isPadRepeat(port, 1 << 4);
|
||||
}
|
||||
bool isPadRepeatZL(int port){
|
||||
return isPadRepeat(port, 1 << 2);
|
||||
}
|
||||
bool isPadRepeatZR(int port){
|
||||
return isPadRepeat(port, 1 << 5);
|
||||
}
|
||||
bool isPadRepeatL(int port){
|
||||
return isPadRepeat(port, 1 << 13);
|
||||
}
|
||||
bool isPadRepeatR(int port){
|
||||
return isPadRepeat(port, 1 << 14);
|
||||
}
|
||||
bool isPadRepeat1(int port){
|
||||
return isPadRepeat(port, 1 << 7);
|
||||
}
|
||||
bool isPadRepeat2(int port){
|
||||
return isPadRepeat(port, 1 << 6);
|
||||
}
|
||||
bool isPadRepeatUp(int port){
|
||||
return isPadRepeat(port, 1 << 16);
|
||||
}
|
||||
bool isPadRepeatDown(int port){
|
||||
return isPadRepeat(port, 1 << 17);
|
||||
}
|
||||
bool isPadRepeatLeft(int port){
|
||||
return isPadRepeat(port, 1 << 18);
|
||||
}
|
||||
bool isPadRepeatRight(int port){
|
||||
return isPadRepeat(port, 1 << 19);
|
||||
}
|
||||
bool isPadRepeatHome(int port){
|
||||
return isPadRepeat(port, 1 << 8);
|
||||
}
|
||||
bool isPadRepeatStart(int port){
|
||||
return isPadRepeat(port, 1 << 11);
|
||||
}
|
||||
bool isPadRepeatSelect(int port){
|
||||
return isPadRepeat(port, 1 << 12);
|
||||
}
|
||||
bool isPadRepeatPlus(int port){
|
||||
return isPadRepeat(port, 1 << 10);
|
||||
}
|
||||
bool isPadRepeatMinus(int port){
|
||||
return isPadRepeat(port, 1 << 9);
|
||||
}
|
||||
bool isPadRepeatTouch(){
|
||||
return isPadRepeat(getTouchPanelPort(), 1 << 15);
|
||||
}
|
||||
bool isPadRepeatUpLeftStick(int port){
|
||||
return isPadRepeat(port, 1 << 20);
|
||||
}
|
||||
bool isPadRepeatDownLeftStick(int port){
|
||||
return isPadRepeat(port, 1 << 21);
|
||||
}
|
||||
bool isPadRepeatLeftLeftStick(int port){
|
||||
return isPadRepeat(port, 1 << 22);
|
||||
}
|
||||
bool isPadRepeatRightLeftStick(int port){
|
||||
return isPadRepeat(port, 1 << 23);
|
||||
}
|
||||
bool isPadRepeatUpRightStick(int port){
|
||||
return isPadRepeat(port, 1 << 24);
|
||||
}
|
||||
bool isPadRepeatDownRightStick(int port){
|
||||
return isPadRepeat(port, 1 << 25);
|
||||
}
|
||||
bool isPadRepeatLeftRightStick(int port){
|
||||
return isPadRepeat(port, 1 << 26);
|
||||
}
|
||||
bool isPadRepeatRightRightStick(int port){
|
||||
return isPadRepeat(port, 1 << 27);
|
||||
}
|
||||
|
||||
|
||||
bool isPadHoldPressLeftStick(int port){
|
||||
return isPadHold1(port);
|
||||
}
|
||||
bool isPadHoldPressRightStick(int port){
|
||||
return isPadHold2(port);
|
||||
}
|
||||
bool isPadHold(int port, int button){
|
||||
return getController(port)->getButtonsHold() & button;
|
||||
}
|
||||
bool isPadHoldA(int port){
|
||||
return isPadHold(port, 1);
|
||||
}
|
||||
bool isPadHoldB(int port){
|
||||
return isPadHold(port, 1 << 1);
|
||||
}
|
||||
bool isPadHoldX(int port){
|
||||
return isPadHold(port, 1 << 3);
|
||||
}
|
||||
bool isPadHoldY(int port){
|
||||
return isPadHold(port, 1 << 4);
|
||||
}
|
||||
bool isPadHoldZL(int port){
|
||||
return isPadHold(port, 1 << 2);
|
||||
}
|
||||
bool isPadHoldZR(int port){
|
||||
return isPadHold(port, 1 << 5);
|
||||
}
|
||||
bool isPadHoldL(int port){
|
||||
return isPadHold(port, 1 << 13);
|
||||
}
|
||||
bool isPadHoldR(int port){
|
||||
return isPadHold(port, 1 << 14);
|
||||
}
|
||||
bool isPadHold1(int port){
|
||||
return isPadHold(port, 1 << 7);
|
||||
}
|
||||
bool isPadHold2(int port){
|
||||
return isPadHold(port, 1 << 6);
|
||||
}
|
||||
bool isPadHoldUp(int port){
|
||||
return isPadHold(port, 1 << 16);
|
||||
}
|
||||
bool isPadHoldDown(int port){
|
||||
return isPadHold(port, 1 << 17);
|
||||
}
|
||||
bool isPadHoldLeft(int port){
|
||||
return isPadHold(port, 1 << 18);
|
||||
}
|
||||
bool isPadHoldRight(int port){
|
||||
return isPadHold(port, 1 << 19);
|
||||
}
|
||||
bool isPadHoldLeftUp(int port){
|
||||
return (getController(port)->getButtonsHold() & 0x50000) == 0x50000;
|
||||
}
|
||||
bool isPadHoldLeftDown(int port){
|
||||
return (getController(port)->getButtonsHold() & 0x60000) == 0x60000;
|
||||
}
|
||||
bool isPadHoldRightUp(int port){
|
||||
return (getController(port)->getButtonsHold() & 0x90000) == 0x90000;
|
||||
}
|
||||
bool isPadHoldRightDown(int port){
|
||||
return (getController(port)->getButtonsHold() & 0xA0000) == 0xA0000;
|
||||
}
|
||||
bool isPadHoldHome(int port){
|
||||
return isPadHold(port, 1 << 8);
|
||||
}
|
||||
bool isPadHoldStart(int port){
|
||||
return isPadHold(port, 1 << 11);
|
||||
}
|
||||
bool isPadHoldSelect(int port){
|
||||
return isPadHold(port, 1 << 12);
|
||||
}
|
||||
bool isPadHoldPlus(int port){
|
||||
return isPadHold(port, 1 << 10);
|
||||
}
|
||||
bool isPadHoldMinus(int port){
|
||||
return isPadHold(port, 1 << 9);
|
||||
}
|
||||
bool isPadHoldAny(int port){
|
||||
return isPadHold(port, 0xFFF7FFF);
|
||||
}
|
||||
bool isPadHoldAnyWithoutStick(int port){
|
||||
return isPadHold(port, 0xF7FFF);
|
||||
}
|
||||
bool isPadHoldTouch(){
|
||||
return isPadHold(getTouchPanelPort(), 1 << 15);
|
||||
}
|
||||
bool isPadHoldUpLeftStick(int port){
|
||||
return isPadHold(port, 1 << 20);
|
||||
}
|
||||
bool isPadHoldDownLeftStick(int port){
|
||||
return isPadHold(port, 1 << 21);
|
||||
}
|
||||
bool isPadHoldLeftLeftStick(int port){
|
||||
return isPadHold(port, 1 << 22);
|
||||
}
|
||||
bool isPadHoldRightLeftStick(int port){
|
||||
return isPadHold(port, 1 << 23);
|
||||
}
|
||||
bool isPadHoldUpRightStick(int port){
|
||||
return isPadHold(port, 1 << 24);
|
||||
}
|
||||
bool isPadHoldDownRightStick(int port){
|
||||
return isPadHold(port, 1 << 25);
|
||||
}
|
||||
bool isPadHoldLeftRightStick(int port){
|
||||
return isPadHold(port, 1 << 26);
|
||||
}
|
||||
bool isPadHoldRightRightStick(int port){
|
||||
return isPadHold(port, 1 << 27);
|
||||
}
|
||||
bool isPadHoldLeftStick(int port){
|
||||
return isPadHold(port, 0xF00000);
|
||||
}
|
||||
bool isPadHoldRightStick(int port){
|
||||
return isPadHold(port, 0xF000000);
|
||||
}
|
||||
|
||||
bool isPadRelease(int port, int button) {
|
||||
return getController(port)->getButtonsRelease() & button;
|
||||
}
|
||||
bool isPadReleaseA(int port){
|
||||
return isPadRelease(port, 1);
|
||||
}
|
||||
bool isPadReleaseB(int port){
|
||||
return isPadRelease(port, 1 << 1);
|
||||
}
|
||||
bool isPadReleaseX(int port){
|
||||
return isPadRelease(port, 1 << 3);
|
||||
}
|
||||
bool isPadReleaseY(int port){
|
||||
return isPadRelease(port, 1 << 4);
|
||||
}
|
||||
bool isPadReleaseZL(int port){
|
||||
return isPadRelease(port, 1 << 2);
|
||||
}
|
||||
bool isPadReleaseZR(int port){
|
||||
return isPadRelease(port, 1 << 5);
|
||||
}
|
||||
bool isPadReleaseL(int port){
|
||||
return isPadRelease(port, 1 << 13);
|
||||
}
|
||||
bool isPadReleaseR(int port){
|
||||
return isPadRelease(port, 1 << 14);
|
||||
}
|
||||
bool isPadRelease1(int port){
|
||||
return isPadRelease(port, 1 << 7);
|
||||
}
|
||||
bool isPadRelease2(int port){
|
||||
return isPadRelease(port, 1 << 6);
|
||||
}
|
||||
bool isPadReleaseUp(int port){
|
||||
return isPadRelease(port, 1 << 16);
|
||||
}
|
||||
bool isPadReleaseDown(int port){
|
||||
return isPadRelease(port, 1 << 17);
|
||||
}
|
||||
bool isPadReleaseLeft(int port){
|
||||
return isPadRelease(port, 1 << 18);
|
||||
}
|
||||
bool isPadReleaseRight(int port){
|
||||
return isPadRelease(port, 1 << 19);
|
||||
}
|
||||
bool isPadReleaseHome(int port){
|
||||
return isPadRelease(port, 1 << 8);
|
||||
}
|
||||
bool isPadReleaseStart(int port){
|
||||
return isPadRelease(port, 1 << 11);
|
||||
}
|
||||
bool isPadReleaseSelect(int port){
|
||||
return isPadRelease(port, 1 << 12);
|
||||
}
|
||||
bool isPadReleasePlus(int port){
|
||||
return isPadRelease(port, 1 << 10);
|
||||
}
|
||||
bool isPadReleaseMinus(int port){
|
||||
return isPadRelease(port, 1 << 9);
|
||||
}
|
||||
bool isPadReleaseTouch(){
|
||||
return isPadRelease(getTouchPanelPort(), 1 << 15);
|
||||
}
|
||||
bool isPadReleaseUpLeftStick(int port){
|
||||
return isPadRelease(port, 1 << 20);
|
||||
}
|
||||
bool isPadReleaseDownLeftStick(int port){
|
||||
return isPadRelease(port, 1 << 21);
|
||||
}
|
||||
bool isPadReleaseLeftLeftStick(int port){
|
||||
return isPadRelease(port, 1 << 22);
|
||||
}
|
||||
bool isPadReleaseRightLeftStick(int port){
|
||||
return isPadRelease(port, 1 << 23);
|
||||
}
|
||||
bool isPadReleaseUpRightStick(int port){
|
||||
return isPadRelease(port, 1 << 24);
|
||||
}
|
||||
bool isPadReleaseDownRightStick(int port){
|
||||
return isPadRelease(port, 1 << 25);
|
||||
}
|
||||
bool isPadReleaseLeftRightStick(int port){
|
||||
return isPadRelease(port, 1 << 26);
|
||||
}
|
||||
bool isPadReleaseRightRightStick(int port){
|
||||
return isPadRelease(port, 1 << 27);
|
||||
}
|
||||
|
||||
const sead::Vector2f& getLeftStick(int port) {
|
||||
return getController(port)->getLeftJoy();
|
||||
}
|
||||
const sead::Vector2f& getRightStick(int port) {
|
||||
return getController(port)->getRightJoy();
|
||||
}
|
||||
|
||||
void getPadCrossDir(sead::Vector2f* vec, int port) {
|
||||
vec->x = 0;
|
||||
vec->y = 0;
|
||||
if(isPadHoldUp(port))
|
||||
vec->y = 1;
|
||||
if(isPadHoldDown(port))
|
||||
vec->y = -1;
|
||||
if(isPadHoldLeft(port))
|
||||
vec->x = -1;
|
||||
if(isPadHoldRight(port))
|
||||
vec->x = 1;
|
||||
}
|
||||
void getPadCrossDirSideways(sead::Vector2f* vec, int port) {
|
||||
vec->x = 0;
|
||||
vec->y = 0;
|
||||
if(isPadHoldUp(port))
|
||||
vec->x = -1;
|
||||
if(isPadHoldDown(port))
|
||||
vec->x = 1;
|
||||
if(isPadHoldLeft(port))
|
||||
vec->y = -1;
|
||||
if(isPadHoldRight(port))
|
||||
vec->y = 1;
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void calcTouchScreenPos(sead::Vector2f* vec) {
|
||||
const sead::Vector2f& pos = getController(getTouchPanelPort())->getTouchScreenPos();
|
||||
//vec->x = pos.x; vec->y = pos.y; //loads the position values into two separate registers and stores them with stp instead of a single read/write
|
||||
*vec = pos; //extracts second value with lsr #0x20 and stores them with stp instead of a single read/write
|
||||
|
||||
//*vec = getController(getTouchPanelPort())->mTouchScreenPos; //uses w8 for storage instead and inserts another write at +4 bytes
|
||||
}
|
||||
#endif
|
||||
|
||||
void calcTouchLayoutPos(sead::Vector2f*) {}
|
||||
|
||||
bool isTouchPosInRect(const sead::Vector2f& rect_pos, const sead::Vector2f& size) {
|
||||
sead::Vector2f pos;
|
||||
calcTouchScreenPos(&pos);
|
||||
|
||||
if(rect_pos.x > pos.x)
|
||||
return false;
|
||||
if(pos.x >= (rect_pos.x+size.x))
|
||||
return false;
|
||||
if(rect_pos.y > pos.y)
|
||||
return false;
|
||||
if(pos.y > rect_pos.y+size.y)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void setPadRepeat(int a1, int a2, int a3, int port) {
|
||||
getController(port)->setPadRepeat(a1, a2, a3);
|
||||
}
|
||||
|
||||
int getPlayerControllerPort(int playerNo) {
|
||||
auto* manager = sead::ControllerMgr::instance();
|
||||
sead::Controller* controller = manager->getControllerByOrder(sead::ControllerDefine::ControllerId::_15, playerNo);
|
||||
return manager->findControllerPort(controller);
|
||||
}
|
||||
int getTouchPanelPort() {
|
||||
auto* manager = sead::ControllerMgr::instance();
|
||||
sead::Controller* controller = manager->getControllerByOrder(sead::ControllerDefine::ControllerId::_16, 0);
|
||||
return manager->findControllerPort(controller);
|
||||
}
|
||||
int getMainControllerPort() {
|
||||
return getPlayerControllerPort(0);
|
||||
}
|
||||
int getMainJoyPadDoublePort() {
|
||||
return getMainControllerPort();
|
||||
}
|
||||
int getMainJoyPadSingleRightPort() {
|
||||
return 1;
|
||||
}
|
||||
int getMainJoyPadSingleLeftPort() {
|
||||
return 2;
|
||||
}
|
||||
|
||||
}
|
3
src/al/util/OtherUtil.cpp
Normal file
3
src/al/util/OtherUtil.cpp
Normal file
@ -0,0 +1,3 @@
|
||||
#include "al/util/OtherUtil.h"
|
||||
|
||||
namespace al {}
|
@ -1,2 +1,3 @@
|
||||
functions_csv = "data/odyssey_functions.csv"
|
||||
functions_csv = "data/{version}/odyssey_functions.csv"
|
||||
build_target = "odyssey"
|
||||
default_version = "1.0"
|
||||
|
110
tools/setup.py
110
tools/setup.py
@ -7,43 +7,49 @@ import subprocess
|
||||
from typing import Optional
|
||||
from common import setup_common as setup
|
||||
from enum import Enum
|
||||
import tempfile
|
||||
import urllib.request
|
||||
|
||||
class Version(Enum):
|
||||
VER_100 = "1.0"
|
||||
VER_101 = "1.0.1"
|
||||
VER_110 = "1.1"
|
||||
VER_120 = "1.2"
|
||||
VER_130 = "1.3"
|
||||
#VER_NAME = VER_ID, COMPRESSED_HASH, UNCOMPRESSED_HASH
|
||||
VER_100 = ["1.0", "e21692d90f8fd2def2d2d22d983d62ac81df3b8b3c762d1f2dca9d9ab7b3053a", "18ece865061704d551fe456e0600c604c26345ecb38dcbe328a24d5734b3b4eb"]
|
||||
VER_101 = ["1.0.1", "c8531a7a14b19bc7df4738b230a7cc85d8b270264cb22bfd0dfcf3bef6fde2b6", "e4f73a2721288a93bf6038094002ea00075068276bdd814d628650227fd7d5c1"]
|
||||
VER_110 = ["1.1", "d3afba4ee684672fac264444bfe26e908d3b5d41059d362343116792fe69a7f6", "d2f664ef1a6734803d239c56549e00b74aa534c950cdcacb605939372b7e01f3"]
|
||||
VER_120 = ["1.2", "6d22647134b241641bf4df5e596bde48fc0ad81edf1856ffbbdf3f49b71d1219", "00c7275f67183d0a7c46c6d34349ac8988f941d8ed4162c9ce156469b3d6e4de"]
|
||||
VER_130 = ["1.3", "47ac74a66234bc1eb717b18e01fe7c880d2dd50cf1115fd046f5e5878be5f85f", "a991fcfe32506ad42f1e425f5d3b4176bf4f95bf2a1cccec70eb933ccfe1f416"]
|
||||
|
||||
def prepare_executable(original_nso: Optional[Path]):
|
||||
COMPRESSED_V10_HASH = "e21692d90f8fd2def2d2d22d983d62ac81df3b8b3c762d1f2dca9d9ab7b3053a"
|
||||
UNCOMPRESSED_V10_HASH = "18ece865061704d551fe456e0600c604c26345ecb38dcbe328a24d5734b3b4eb"
|
||||
def check_executable(version: Version):
|
||||
path = setup.ROOT / "data" / version.value[0]
|
||||
nso = path / "main.nso"
|
||||
elf = path / "main.elf"
|
||||
return nso.is_file() and hashlib.sha256(nso.read_bytes()).hexdigest() == version.value[2] and elf.is_file()
|
||||
|
||||
# The uncompressed v1.0 main NSO.
|
||||
TARGET_HASH = UNCOMPRESSED_V10_HASH
|
||||
TARGET_PATH = setup.ROOT / "data" / "main.nso"
|
||||
TARGET_ELF_PATH = setup.ROOT / "data" / "main.elf"
|
||||
def download_patch(v0: Version, v1: Version, temp_dir:Path) -> Path:
|
||||
print(f">>>> downloading patch from version {v0.name} to {v1.name}...")
|
||||
patch_name = v0.value[0]+"-"+v1.value[0]+".patch"
|
||||
path = temp_dir / patch_name
|
||||
urllib.request.urlretrieve("https://raw.githubusercontent.com/wiki/MonsterDruide1/OdysseyDecomp/patches/"+patch_name, path)
|
||||
return path
|
||||
|
||||
if TARGET_PATH.is_file() and hashlib.sha256(TARGET_PATH.read_bytes()).hexdigest() == TARGET_HASH and TARGET_ELF_PATH.is_file():
|
||||
print(">>> NSO is already set up")
|
||||
return
|
||||
|
||||
if not original_nso.is_file():
|
||||
setup.fail(f"{original_nso} is not a file")
|
||||
def prepare_single_executable(comp_v100_nso: Path, version: Version, temp_dir: tempfile.TemporaryDirectory):
|
||||
TARGET_HASH = version.value[2]
|
||||
data_path = setup.ROOT / "data" / version.value[0]
|
||||
data_path.mkdir(parents=True, exist_ok=True)
|
||||
TARGET_PATH = data_path / "main.nso"
|
||||
TARGET_ELF_PATH = data_path / "main.elf"
|
||||
|
||||
nso_data = original_nso.read_bytes()
|
||||
nso_hash = hashlib.sha256(nso_data).hexdigest()
|
||||
|
||||
if nso_hash == UNCOMPRESSED_V10_HASH:
|
||||
print(">>> found uncompressed 1.0 NSO")
|
||||
TARGET_PATH.write_bytes(nso_data)
|
||||
|
||||
elif nso_hash == COMPRESSED_V10_HASH:
|
||||
print(">>> found compressed 1.0 NSO")
|
||||
setup._decompress_nso(original_nso, TARGET_PATH)
|
||||
if hashlib.sha256(comp_v100_nso.read_bytes()).hexdigest() != Version.VER_100.value[1]:
|
||||
setup.fail("internal error while preparing executable (not v1.0); please report")
|
||||
|
||||
comp_nso = temp_dir / (version.name+"_comp.nso")
|
||||
if version != Version.VER_100:
|
||||
patch_path = download_patch(Version.VER_100, version, temp_dir)
|
||||
setup._apply_xdelta3_patch(comp_v100_nso, patch_path, comp_nso)
|
||||
else:
|
||||
setup.fail(f"unknown executable: {nso_hash}")
|
||||
comp_nso = comp_v100_nso
|
||||
|
||||
setup._decompress_nso(comp_nso, TARGET_PATH)
|
||||
|
||||
if not TARGET_PATH.is_file():
|
||||
setup.fail("internal error while preparing executable (missing NSO); please report")
|
||||
@ -54,17 +60,53 @@ def prepare_executable(original_nso: Optional[Path]):
|
||||
|
||||
if not TARGET_ELF_PATH.is_file():
|
||||
setup.fail("internal error while preparing executable (missing ELF); please report")
|
||||
|
||||
|
||||
def prepare_executable(original_nso: Optional[Path]):
|
||||
temp_dir_ = tempfile.TemporaryDirectory()
|
||||
temp_dir = Path(temp_dir_.name)
|
||||
|
||||
if(original_nso is not None):
|
||||
orig_hash = hashlib.sha256(original_nso.read_bytes()).hexdigest()
|
||||
v1_nso = temp_dir / "1.0.nso"
|
||||
if(orig_hash == Version.VER_130.value[1]):
|
||||
patch_path = download_patch(Version.VER_130, Version.VER_100, temp_dir)
|
||||
setup._apply_xdelta3_patch(original_nso, patch_path, v1_nso)
|
||||
elif(orig_hash == Version.VER_100.value[1]):
|
||||
v1_nso = original_nso
|
||||
else:
|
||||
setup.fail(f"unknown executable: {orig_hash}")
|
||||
|
||||
|
||||
for ver in Version:
|
||||
if(check_executable(ver)):
|
||||
print(f">>> {ver} is already set up")
|
||||
continue
|
||||
|
||||
if original_nso is None:
|
||||
setup.fail("please pass a path to the NSO (refer to the readme for more details)")
|
||||
if not original_nso.is_file():
|
||||
setup.fail(f"{original_nso} is not a file")
|
||||
if not v1_nso.is_file():
|
||||
setup.fail(f"Failed to create 1.0-nso: {v1_nso} is not a file")
|
||||
|
||||
prepare_single_executable(v1_nso, ver, temp_dir)
|
||||
|
||||
temp_dir_.cleanup()
|
||||
|
||||
def create_build_dir(ver):
|
||||
if(ver != Version.VER_100): return # TODO remove this when multiple versions should be built
|
||||
build_dir = setup.ROOT / "build" # ("build-"+ver.value)
|
||||
build_dir = setup.ROOT / "build" / ver.value[0]
|
||||
if build_dir.is_dir():
|
||||
print(">>> build directory already exists: nothing to do")
|
||||
return
|
||||
|
||||
subprocess.check_call(
|
||||
("cmake -GNinja -DCMAKE_CXX_FLAGS=-D"+ver.name+" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE=toolchain/ToolchainNX64.cmake -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -B "+str(build_dir)).split(" "))
|
||||
print(">>> created build directory")
|
||||
print(">>> created build directory")
|
||||
|
||||
def create_build_dirs():
|
||||
for ver in Version:
|
||||
create_build_dir(ver)
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(
|
||||
@ -77,11 +119,7 @@ def main():
|
||||
prepare_executable(args.original_nso)
|
||||
setup.set_up_compiler("4.0.1")
|
||||
print("Please download and extract clang-3.9.1 manually, until it has been properly added to the setup chain.")
|
||||
create_build_dir(Version.VER_100)
|
||||
create_build_dir(Version.VER_101)
|
||||
create_build_dir(Version.VER_110)
|
||||
create_build_dir(Version.VER_120)
|
||||
create_build_dir(Version.VER_130)
|
||||
create_build_dirs()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
Loading…
Reference in New Issue
Block a user