diff --git a/Documents/VTables.fods b/Documents/VTables.fods new file mode 100644 index 0000000..02eae2a --- /dev/null +++ b/Documents/VTables.fods @@ -0,0 +1,3239 @@ + + + + 2023-02-24T14:09:41.553000000PT1H19M46S6LibreOffice/7.3.7.2$Windows_X86_64 LibreOffice_project/e114eadc50a9ff8d8c8a0567d6da8f454beeb84f + + + 0 + 0 + 79356 + 22578 + + + view1 + + + 10 + 41 + 2 + 0 + 0 + 0 + 0 + 0 + 100 + 60 + true + false + + + VTables + 1855 + 0 + 100 + 60 + false + true + true + true + 12632256 + true + true + true + true + false + false + false + 1000 + 1000 + 1 + 1 + true + false + + + + + true + true + true + 0 + true + true + false + true + false + 12632256 + true + true + false + false + true + true + false + 3 + false + Microsoft XPS Document Writer + false + YQX+/01pY3Jvc29mdCBYUFMgRG9jdW1lbnQgV3JpdGVyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATWljcm9zb2Z0IFhQUyBEb2N1bWVudCBXcml0ZXIgdgAWAAEAfgQAAAAAAAAEAAhSAAAEdAAAM1ROVwAAAAAKAE0AaQBjAHIAbwBzAG8AZgB0ACAAWABQAFMAIABEAG8AYwB1AG0AZQBuAHQAIABXAHIAaQB0AGUAcgAAAAAAAAABBAMG3ACYAwOvAAABAAkAmgs0CGQAAQAPAFgCAgABAFgCAwAAAEEANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAIAAAABAAAA/////0dJUzQAAAAAAAAAAAAAAABESU5VIgAgAXwDHADK0vZyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAEAAFNNVEoAAAAAEAAQAXsAMABGADQAMQAzADAARABEAC0AMQA5AEMANwAtADcAYQBiADYALQA5ADkAQQAxAC0AOQA4ADAARgAwADMAQgAyAEUARQA0AEUAfQAAAElucHV0QmluAEZPUk1TT1VSQ0UAUkVTRExMAFVuaXJlc0RMTABJbnRlcmxlYXZpbmcAT0ZGAEltYWdlVHlwZQBKUEVHTWVkAE9yaWVudGF0aW9uAFBPUlRSQUlUAENvbGxhdGUAT0ZGAFJlc29sdXRpb24AT3B0aW9uMQBQYXBlclNpemUATEVUVEVSAENvbG9yTW9kZQAyNGJwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAFY0RE0BAAAAAAAAAAAAAAAAAAAAAAAAABIAQ09NUEFUX0RVUExFWF9NT0RFEwBEdXBsZXhNb2RlOjpVbmtub3du + false + 1000 + 1000 + 1 + 1 + true + false + true + true + true + true + 7 + true + + + 工作表1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Class Name + + + Class Id + + + Show() + + + IsHiddenByParent() + + + CanBeHide() + + + IsVisible() + + + ~dtor() + + + GetClassID() + + + PreSave() + + + Save() + + + Load() + + + PostLoad() + + + PreDelete() + + + CheckPreDeletion() + + + CheckPostDeletion() + + + GetMemoryOccupation() + + + IsObjectUsed() + + + PrepareDependencies() + + + RemapDependencies() + + + Copy() + + + + + CKCID_OBJECT + + + 1 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::240022E8 + + + CK2.dll::24020F96 + + + CK2.dll::240210BE + + + CK2.dll::24020FC0 + + + CK2.dll::24021053 + + + CK2.dll::2402141A + + + CK2.dll::2402109D + + + CK2.dll::240210B9 + + + CK2.dll::2402116F + + + CK2.dll::240211E3 + + + CK2.dll::240211E8 + + + + + CKCID_PARAMETERIN + + + 2 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::24008E42 + + + CK2.dll::240093A7 + + + CK2.dll::24008F10 + + + CK2.dll::24008F35 + + + CK2.dll::24009005 + + + CK2.dll::2402141A + + + CK2.dll::24008E69 + + + CK2.dll::24008EDA + + + CK2.dll::2402141A + + + CK2.dll::24006AE0 + + + CK2.dll::24008EF5 + + + CK2.dll::24009418 + + + CK2.dll::2400943C + + + CK2.dll::2400946F + + + + + CKCID_PARAMETEROPERATION + + + 4 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::24009BE8 + + + CK2.dll::24009C40 + + + CK2.dll::24009C4B + + + CK2.dll::24009C86 + + + CK2.dll::24009F98 + + + CK2.dll::24009C46 + + + CK2.dll::24009C0F + + + CK2.dll::2402141A + + + CK2.dll::2400A1FC + + + CK2.dll::2400A205 + + + CK2.dll::2400A276 + + + CK2.dll::2400A2C2 + + + CK2.dll::2400A316 + + + + + CKCID_STATE + + + 5 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::240263A2 + + + CK2.dll::240263D6 + + + CK2.dll::240210BE + + + CK2.dll::240263DC + + + CK2.dll::2402645D + + + CK2.dll::2402141A + + + CK2.dll::24026498 + + + CK2.dll::240210B9 + + + CK2.dll::2402116F + + + CK2.dll::240211E3 + + + CK2.dll::240211E8 + + + + + CKCID_BEHAVIORLINK + + + 6 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::24006C53 + + + CK2.dll::24006CD9 + + + CK2.dll::240210BE + + + CK2.dll::24006D23 + + + CK2.dll::24006DD5 + + + CK2.dll::24006D08 + + + CK2.dll::24006C7A + + + CK2.dll::2402141A + + + CK2.dll::24006CDF + + + CK2.dll::24006CE8 + + + CK2.dll::2402116F + + + CK2.dll::24006EF4 + + + CK2.dll::24006F37 + + + + + CKCID_BEHAVIOR + + + 8 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::2400429A + + + CK2.dll::24004D34 + + + CK2.dll::24004D3A + + + CK2.dll::24004E1E + + + CK2.dll::24005232 + + + CK2.dll::2400597F + + + CK2.dll::24004395 + + + CK2.dll::2402141A + + + CK2.dll::240057BE + + + CK2.dll::24005842 + + + CK2.dll::240063E3 + + + CK2.dll::240064AA + + + CK2.dll::240065D5 + + + + + CKCID_BEHAVIORIO + + + 9 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::24006868 + + + CK2.dll::24006A89 + + + CK2.dll::240210BE + + + CK2.dll::240069A6 + + + CK2.dll::24006A49 + + + CK2.dll::2402141A + + + CK2.dll::240068C8 + + + CK2.dll::2402141A + + + CK2.dll::24006AE0 + + + CK2.dll::240210B9 + + + CK2.dll::2402116F + + + CK2.dll::24006B35 + + + CK2.dll::24006B5A + + + + + CKCID_RENDERCONTEXT + + + 12 + + + CK2_3D.dll::1007CDB4 + + + CK2_3D.dll::1007CF16 + + + CK2_3D.dll::1007CF28 + + + CK2_3D.dll::1000CE50 + + + CK2_3D.dll::1006EC00 + + + CK2_3D.dll::1006DA5F + + + CK2_3D.dll::1007D054 + + + CK2_3D.dll::1007D06C + + + CK2_3D.dll::1007D084 + + + CK2_3D.dll::1007CDEA + + + CK2_3D.dll::1006D885 + + + CK2_3D.dll::1006D89B + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::1006D90B + + + CK2_3D.dll::1006D9B5 + + + CK2_3D.dll::1006DB0C + + + CK2_3D.dll::1007D090 + + + CK2_3D.dll::1007D096 + + + + + CKCID_KINEMATICCHAIN + + + 13 + + + CK2_3D.dll::1007CDB4 + + + CK2_3D.dll::1007CF16 + + + CK2_3D.dll::1007CF28 + + + CK2_3D.dll::1000CE50 + + + CK2_3D.dll::10056110 + + + CK2_3D.dll::10054BF8 + + + CK2_3D.dll::1007D054 + + + CK2_3D.dll::10055E51 + + + CK2_3D.dll::10055F05 + + + CK2_3D.dll::1007CDEA + + + CK2_3D.dll::1007D04E + + + CK2_3D.dll::10054C08 + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::10054C57 + + + CK2_3D.dll::10054C86 + + + CK2_3D.dll::1007D042 + + + CK2_3D.dll::10056062 + + + CK2_3D.dll::100560B7 + + + + + CKCID_SCENEOBJECT + + + 11 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::2400237E + + + CK2.dll::240215DD + + + CK2.dll::240210BE + + + CK2.dll::24020FC0 + + + CK2.dll::24021053 + + + CK2.dll::2402141A + + + CK2.dll::2402175E + + + CK2.dll::240210B9 + + + CK2.dll::2402116F + + + CK2.dll::240211E3 + + + CK2.dll::240211E8 + + + + + CKCID_OBJECTANIMATION + + + 15 + + + CK2_3D.dll::1007CDB4 + + + CK2_3D.dll::1007CF16 + + + CK2_3D.dll::1007CF28 + + + CK2_3D.dll::1000CE50 + + + CK2_3D.dll::1005C450 + + + CK2_3D.dll::1005859A + + + CK2_3D.dll::1007D054 + + + CK2_3D.dll::100586B5 + + + CK2_3D.dll::10058C51 + + + CK2_3D.dll::1007CDEA + + + CK2_3D.dll::1007D04E + + + CK2_3D.dll::100585AA + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::10058623 + + + CK2_3D.dll::10058662 + + + CK2_3D.dll::1005C2E1 + + + CK2_3D.dll::1005C31D + + + CK2_3D.dll::1005C387 + + + + + CKCID_ANIMATION + + + 16 + + + CK2_3D.dll::1007CDB4 + + + CK2_3D.dll::1007CF16 + + + CK2_3D.dll::1007CF28 + + + CK2_3D.dll::1000CE50 + + + CK2_3D.dll::10047FF0 + + + CK2_3D.dll::10047C64 + + + CK2_3D.dll::1007D054 + + + CK2_3D.dll::10047979 + + + CK2_3D.dll::10047ADC + + + CK2_3D.dll::1007CDEA + + + CK2_3D.dll::1007D04E + + + CK2_3D.dll::10047904 + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::1004795B + + + CK2_3D.dll::1007D048 + + + CK2_3D.dll::1007D042 + + + CK2_3D.dll::10047D3A + + + CK2_3D.dll::10047D8F + + + + + CKCID_KEYEDANIMATION + + + 18 + + + CK2_3D.dll::1007CDB4 + + + CK2_3D.dll::1007CF16 + + + CK2_3D.dll::1007CF28 + + + CK2_3D.dll::1000CE50 + + + CK2_3D.dll::1004A1B0 + + + CK2_3D.dll::10049B60 + + + CK2_3D.dll::10049C3B + + + CK2_3D.dll::10049C7C + + + CK2_3D.dll::10049E10 + + + CK2_3D.dll::1007CDEA + + + CK2_3D.dll::1007D04E + + + CK2_3D.dll::10049B70 + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::10049BCB + + + CK2_3D.dll::10049BFE + + + CK2_3D.dll::1004A0A0 + + + CK2_3D.dll::1004A0EB + + + CK2_3D.dll::1004A125 + + + + + CKCID_BEOBJECT + + + 19 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::240023C9 + + + CK2.dll::2401C58E + + + CK2.dll::2401BC58 + + + CK2.dll::2401BCDA + + + CK2.dll::2401BF56 + + + CK2.dll::2402141A + + + CK2.dll::2401C635 + + + CK2.dll::2402141A + + + CK2.dll::2401C522 + + + CK2.dll::2401C556 + + + CK2.dll::2401C680 + + + CK2.dll::2401C77A + + + CK2.dll::2401C801 + + + + + CKCID_DATAARRAY + + + 52 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::24029498 + + + CK2.dll::24029559 + + + CK2.dll::24029A21 + + + CK2.dll::24029A9C + + + CK2.dll::24029D04 + + + CK2.dll::24029764 + + + CK2.dll::2401C635 + + + CK2.dll::240297F9 + + + CK2.dll::24029942 + + + CK2.dll::2402955F + + + CK2.dll::240295B5 + + + CK2.dll::2402A138 + + + CK2.dll::2402A2AD + + + CK2.dll::2402A357 + + + + + CKCID_SCENE + + + 10 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::2402DB65 + + + CK2.dll::2402DF3A + + + CK2.dll::2402E400 + + + CK2.dll::2402E44C + + + CK2.dll::2402E6B4 + + + CK2.dll::2402141A + + + CK2.dll::2402DC3F + + + CK2.dll::2402141A + + + CK2.dll::2402E36C + + + CK2.dll::2402E3A1 + + + CK2.dll::2402E3C2 + + + CK2.dll::2402F016 + + + CK2.dll::2402F098 + + + CK2.dll::2402F0CE + + + + + CKCID_LEVEL + + + 21 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::2402C925 + + + CK2.dll::2402CB40 + + + CK2.dll::2402CC27 + + + CK2.dll::2402CC69 + + + CK2.dll::2402CE4A + + + CK2.dll::2402141A + + + CK2.dll::2401C635 + + + CK2.dll::2402CB46 + + + CK2.dll::2402CB5F + + + CK2.dll::2402CB9F + + + CK2.dll::2402CBC3 + + + CK2.dll::2402D244 + + + CK2.dll::2401C77A + + + CK2.dll::2401C801 + + + + + CKCID_PLACE + + + 22 + + + CK2_3D.dll::10005494 + + + CK2_3D.dll::10005556 + + + CK2_3D.dll::1000D8F0 + + + CK2_3D.dll::1000552B + + + CK2_3D.dll::1003EF90 + + + CK2_3D.dll::1003E418 + + + CK2_3D.dll::1003E662 + + + CK2_3D.dll::1003E69E + + + CK2_3D.dll::1003E7F1 + + + CK2_3D.dll::1000A138 + + + CK2_3D.dll::1000B8BF + + + CK2_3D.dll::1003E428 + + + CK2_3D.dll::1003E4A9 + + + CK2_3D.dll::1003E508 + + + CK2_3D.dll::1003E544 + + + CK2_3D.dll::1003ED64 + + + CK2_3D.dll::1003EE1F + + + CK2_3D.dll::1003EF05 + + + + + CKCID_GROUP + + + 23 + + + CK2.dll::2402BBF3 + + + CK2.dll::24018166 + + + CK2.dll::2402BB6F + + + CK2.dll::240067A7 + + + CK2.dll::2402BB53 + + + CK2.dll::2402BC89 + + + CK2.dll::2402BC8F + + + CK2.dll::2402BCDF + + + CK2.dll::2402BD8A + + + CK2.dll::2402BEA1 + + + CK2.dll::2402BBC7 + + + CK2.dll::2402BE2A + + + CK2.dll::2402141A + + + CK2.dll::2402BE44 + + + CK2.dll::2402BE5D + + + CK2.dll::2402BF93 + + + CK2.dll::2402C04D + + + CK2.dll::2402C090 + + + + + CKCID_SOUND + + + 24 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::240186A9 + + + CK2.dll::24018701 + + + CK2.dll::2401BC58 + + + CK2.dll::24018710 + + + CK2.dll::240187DC + + + CK2.dll::2402141A + + + CK2.dll::2401C635 + + + CK2.dll::2402141A + + + CK2.dll::24018707 + + + CK2.dll::2401C556 + + + CK2.dll::2401C680 + + + CK2.dll::2401C77A + + + CK2.dll::2401C801 + + + + + CKCID_WAVESOUND + + + 25 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::24019E74 + + + CK2.dll::24019F7D + + + CK2.dll::2401BC58 + + + CK2.dll::2401A056 + + + CK2.dll::2401A255 + + + CK2.dll::2402141A + + + CK2.dll::2401C635 + + + CK2.dll::2402141A + + + CK2.dll::24019F83 + + + CK2.dll::24019F9F + + + CK2.dll::2401C556 + + + CK2.dll::2401C680 + + + CK2.dll::2401ADB0 + + + CK2.dll::2401ADE6 + + + + + CKCID_MIDISOUND + + + 26 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::240184C3 + + + CK2.dll::24018521 + + + CK2.dll::2401BC58 + + + CK2.dll::24018530 + + + CK2.dll::240185BD + + + CK2.dll::2402141A + + + CK2.dll::2401C635 + + + CK2.dll::2402141A + + + CK2.dll::24018527 + + + CK2.dll::2401C556 + + + CK2.dll::2401C680 + + + CK2.dll::2401C77A + + + CK2.dll::2401C801 + + + + + CKCID_MATERIAL + + + 30 + + + CK2_3D.dll::1007CDB4 + + + CK2_3D.dll::1007CF16 + + + CK2_3D.dll::1007CF28 + + + CK2_3D.dll::1000CE50 + + + CK2_3D.dll::100660C0 + + + CK2_3D.dll::10065169 + + + CK2_3D.dll::1006524B + + + CK2_3D.dll::100652CF + + + CK2_3D.dll::100655E1 + + + CK2_3D.dll::1007CDEA + + + CK2_3D.dll::1007CEFE + + + CK2_3D.dll::10065179 + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::1006522B + + + CK2_3D.dll::100651D6 + + + CK2_3D.dll::10065DE0 + + + CK2_3D.dll::10065EA0 + + + CK2_3D.dll::10065F34 + + + + + CKCID_TEXTURE + + + 31 + + + CK2_3D.dll::1007CDB4 + + + CK2_3D.dll::1007CF16 + + + CK2_3D.dll::1007CF28 + + + CK2_3D.dll::1000CE50 + + + CK2_3D.dll::1007A730 + + + CK2_3D.dll::1007A35C + + + CK2_3D.dll::1007CDF6 + + + CK2_3D.dll::10079AF0 + + + CK2_3D.dll::10079D4D + + + CK2_3D.dll::1007CDEA + + + CK2_3D.dll::1007CEFE + + + CK2_3D.dll::1007CF0A + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::1007A36C + + + CK2_3D.dll::1007CDE4 + + + CK2_3D.dll::1007CEE6 + + + CK2_3D.dll::1007CEF8 + + + CK2_3D.dll::1007A488 + + + + + CKCID_MESH + + + 32 + + + CK2_3D.dll::1001CDC3 + + + CK2_3D.dll::1007CF16 + + + CK2_3D.dll::1002AA10 + + + CK2_3D.dll::1000CE50 + + + CK2_3D.dll::100292F0 + + + CK2_3D.dll::10028AC8 + + + CK2_3D.dll::100272CA + + + CK2_3D.dll::10027385 + + + CK2_3D.dll::1002816A + + + CK2_3D.dll::1007CDEA + + + CK2_3D.dll::1007CEFE + + + CK2_3D.dll::10026521 + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::10026678 + + + CK2_3D.dll::10026869 + + + CK2_3D.dll::10028C15 + + + CK2_3D.dll::10028D26 + + + CK2_3D.dll::10028E2B + + + + + CKCID_PATCHMESH + + + 53 + + + CK2_3D.dll::1001CDC3 + + + CK2_3D.dll::1007CF16 + + + CK2_3D.dll::1002AA10 + + + CK2_3D.dll::1000CE50 + + + CK2_3D.dll::1003CE40 + + + CK2_3D.dll::1003C3EA + + + CK2_3D.dll::1003C333 + + + CK2_3D.dll::1003AC69 + + + CK2_3D.dll::1003B208 + + + CK2_3D.dll::1007CDEA + + + CK2_3D.dll::1007CEFE + + + CK2_3D.dll::10026521 + + + CK2_3D.dll::1003AAB5 + + + CK2_3D.dll::1003ABB7 + + + CK2_3D.dll::10026869 + + + CK2_3D.dll::1003CB28 + + + CK2_3D.dll::1003CC29 + + + CK2_3D.dll::1003CD40 + + + + + CKCID_RENDEROBJECT + + + 47 + + + CK2_3D.dll::1007CDB4 + + + CK2_3D.dll::1007CF16 + + + CK2_3D.dll::1000D8F0 + + + CK2_3D.dll::1000CE50 + + + CK2_3D.dll::1000D910 + + + CK2_3D.dll::1000D900 + + + CK2_3D.dll::1007CDF6 + + + CK2_3D.dll::1007CE62 + + + CK2_3D.dll::1007CEC2 + + + CK2_3D.dll::1007CDEA + + + CK2_3D.dll::1007CEFE + + + CK2_3D.dll::1007CF0A + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::10076960 + + + CK2_3D.dll::1007CDE4 + + + CK2_3D.dll::1007CEE6 + + + CK2_3D.dll::1007CEF8 + + + CK2_3D.dll::1007CF10 + + + + + CKCID_3DENTITY + + + 33 + + + CK2_3D.dll::10005494 + + + CK2_3D.dll::10005556 + + + CK2_3D.dll::1000D8F0 + + + CK2_3D.dll::1000552B + + + CK2_3D.dll::1000BC80 + + + CK2_3D.dll::1000B31F + + + CK2_3D.dll::1000A1C2 + + + CK2_3D.dll::1000A2B2 + + + CK2_3D.dll::1000A7B9 + + + CK2_3D.dll::1000A138 + + + CK2_3D.dll::1000B8BF + + + CK2_3D.dll::1000B994 + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::1000A0AC + + + CK2_3D.dll::1000A016 + + + CK2_3D.dll::1000B4D5 + + + CK2_3D.dll::1000B6DD + + + CK2_3D.dll::1000BA8B + + + + + CKCID_SPRITE + + + 28 + + + CK2_3D.dll::1007CDB4 + + + CK2_3D.dll::1005CA7F + + + CK2_3D.dll::1000D8F0 + + + CK2_3D.dll::1000CE50 + + + CK2_3D.dll::10061CA0 + + + CK2_3D.dll::10061450 + + + CK2_3D.dll::1005EFA8 + + + CK2_3D.dll::1006147E + + + CK2_3D.dll::10061661 + + + CK2_3D.dll::1005F7B1 + + + CK2_3D.dll::1005C8E1 + + + CK2_3D.dll::1005F755 + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::10061460 + + + CK2_3D.dll::1007CDE4 + + + CK2_3D.dll::100619DD + + + CK2_3D.dll::10061A19 + + + CK2_3D.dll::10061C4C + + + + + CKCID_SPRITETEXT + + + 29 + + + CK2_3D.dll::1007CDB4 + + + CK2_3D.dll::1005CA7F + + + CK2_3D.dll::1000D8F0 + + + CK2_3D.dll::1000CE50 + + + CK2_3D.dll::100627B0 + + + CK2_3D.dll::10062519 + + + CK2_3D.dll::1005EFA8 + + + CK2_3D.dll::100621FF + + + CK2_3D.dll::10062547 + + + CK2_3D.dll::1005F7B1 + + + CK2_3D.dll::1005C8E1 + + + CK2_3D.dll::1005F755 + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::10062529 + + + CK2_3D.dll::1007CDE4 + + + CK2_3D.dll::100619DD + + + CK2_3D.dll::10061A19 + + + CK2_3D.dll::10062712 + + + + + CKCID_3DENTITY + + + 33 + + + CK2_3D.dll::10005494 + + + CK2_3D.dll::10005556 + + + CK2_3D.dll::1000D8F0 + + + CK2_3D.dll::1000552B + + + CK2_3D.dll::1000BC80 + + + CK2_3D.dll::1000B31F + + + CK2_3D.dll::1000A1C2 + + + CK2_3D.dll::1000A2B2 + + + CK2_3D.dll::1000A7B9 + + + CK2_3D.dll::1000A138 + + + CK2_3D.dll::1000B8BF + + + CK2_3D.dll::1000B994 + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::1000A0AC + + + CK2_3D.dll::1000A016 + + + CK2_3D.dll::1000B4D5 + + + CK2_3D.dll::1000B6DD + + + CK2_3D.dll::1000BA8B + + + + + CKCID_GRID + + + 50 + + + CK2_3D.dll::10018DDA + + + CK2_3D.dll::10005556 + + + CK2_3D.dll::1000D8F0 + + + CK2_3D.dll::1000552B + + + CK2_3D.dll::10019F70 + + + CK2_3D.dll::100196D3 + + + CK2_3D.dll::100197E1 + + + CK2_3D.dll::1001987D + + + CK2_3D.dll::10019A11 + + + CK2_3D.dll::100197AC + + + CK2_3D.dll::1000B8BF + + + CK2_3D.dll::1000B994 + + + CK2_3D.dll::100196E3 + + + CK2_3D.dll::1001970B + + + CK2_3D.dll::1001976C + + + CK2_3D.dll::10019C98 + + + CK2_3D.dll::10019E09 + + + CK2_3D.dll::10019E7F + + + + + CKCID_CURVEPOINT + + + 36 + + + CK2_3D.dll::10005494 + + + CK2_3D.dll::10005556 + + + CK2_3D.dll::1000D8F0 + + + CK2_3D.dll::1000552B + + + CK2_3D.dll::10017880 + + + CK2_3D.dll::10016ECC + + + CK2_3D.dll::1000A1C2 + + + CK2_3D.dll::10016EFA + + + CK2_3D.dll::1001701D + + + CK2_3D.dll::1000A138 + + + CK2_3D.dll::1000B8BF + + + CK2_3D.dll::1000B994 + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::10016EDC + + + CK2_3D.dll::1000A016 + + + CK2_3D.dll::1000B4D5 + + + CK2_3D.dll::100176E4 + + + CK2_3D.dll::10017744 + + + + + CKCID_SPRITE3D + + + 37 + + + CK2_3D.dll::10005494 + + + CK2_3D.dll::10005556 + + + CK2_3D.dll::1000D8F0 + + + CK2_3D.dll::1000552B + + + CK2_3D.dll::10043850 + + + CK2_3D.dll::100431CC + + + CK2_3D.dll::1004326A + + + CK2_3D.dll::1004329D + + + CK2_3D.dll::1004340F + + + CK2_3D.dll::1000A138 + + + CK2_3D.dll::1000B8BF + + + CK2_3D.dll::100431DC + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::1004321A + + + CK2_3D.dll::10043238 + + + CK2_3D.dll::100436BB + + + CK2_3D.dll::10043734 + + + CK2_3D.dll::10043780 + + + + + CKCID_CURVE + + + 43 + + + CK2_3D.dll::10014EF4 + + + CK2_3D.dll::10005556 + + + CK2_3D.dll::1000D8F0 + + + CK2_3D.dll::1000552B + + + CK2_3D.dll::10016810 + + + CK2_3D.dll::100160AC + + + CK2_3D.dll::10016165 + + + CK2_3D.dll::100161AA + + + CK2_3D.dll::10016342 + + + CK2_3D.dll::1000A138 + + + CK2_3D.dll::1000B8BF + + + CK2_3D.dll::100160BC + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::100160F0 + + + CK2_3D.dll::10016125 + + + CK2_3D.dll::100166A1 + + + CK2_3D.dll::1001670C + + + CK2_3D.dll::10016758 + + + + + CKCID_CAMERA + + + 34 + + + CK2_3D.dll::10005494 + + + CK2_3D.dll::10005556 + + + CK2_3D.dll::1000D8F0 + + + CK2_3D.dll::1000552B + + + CK2_3D.dll::1000F800 + + + CK2_3D.dll::1000F65F + + + CK2_3D.dll::1000A1C2 + + + CK2_3D.dll::1000F396 + + + CK2_3D.dll::1000F4A6 + + + CK2_3D.dll::1000A138 + + + CK2_3D.dll::1000B8BF + + + CK2_3D.dll::1000B994 + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::1000F380 + + + CK2_3D.dll::1000A016 + + + CK2_3D.dll::1000B4D5 + + + CK2_3D.dll::1000B6DD + + + CK2_3D.dll::1000F72E + + + + + CKCID_TARGETCAMERA + + + 35 + + + CK2_3D.dll::10005494 + + + CK2_3D.dll::10005556 + + + CK2_3D.dll::1000D8F0 + + + CK2_3D.dll::1000552B + + + CK2_3D.dll::10044150 + + + CK2_3D.dll::10043D39 + + + CK2_3D.dll::10043DD4 + + + CK2_3D.dll::10043E10 + + + CK2_3D.dll::10043EBC + + + CK2_3D.dll::1000A138 + + + CK2_3D.dll::1000B8BF + + + CK2_3D.dll::1000B994 + + + CK2_3D.dll::10043D49 + + + CK2_3D.dll::10043D7F + + + CK2_3D.dll::10043D9D + + + CK2_3D.dll::1004404D + + + CK2_3D.dll::100440CA + + + CK2_3D.dll::10044107 + + + + + CKCID_LIGHT + + + 38 + + + CK2_3D.dll::10005494 + + + CK2_3D.dll::10005556 + + + CK2_3D.dll::1000D8F0 + + + CK2_3D.dll::1000552B + + + CK2_3D.dll::1001B8F0 + + + CK2_3D.dll::1001B35B + + + CK2_3D.dll::1000A1C2 + + + CK2_3D.dll::1001B389 + + + CK2_3D.dll::1001B50E + + + CK2_3D.dll::1000A138 + + + CK2_3D.dll::1000B8BF + + + CK2_3D.dll::1000B994 + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::1001B36B + + + CK2_3D.dll::1000A016 + + + CK2_3D.dll::1000B4D5 + + + CK2_3D.dll::1000B6DD + + + CK2_3D.dll::1001B873 + + + + + CKCID_TARGETLIGHT + + + 39 + + + CK2_3D.dll::10005494 + + + CK2_3D.dll::10005556 + + + CK2_3D.dll::1000D8F0 + + + CK2_3D.dll::1000552B + + + CK2_3D.dll::100447F0 + + + CK2_3D.dll::100443CC + + + CK2_3D.dll::10044467 + + + CK2_3D.dll::100444A3 + + + CK2_3D.dll::1004454F + + + CK2_3D.dll::1000A138 + + + CK2_3D.dll::1000B8BF + + + CK2_3D.dll::1000B994 + + + CK2_3D.dll::100443DC + + + CK2_3D.dll::10044412 + + + CK2_3D.dll::10044430 + + + CK2_3D.dll::100446E0 + + + CK2_3D.dll::1004475D + + + CK2_3D.dll::1004479A + + + + + CKCID_CHARACTER + + + 40 + + + CK2_3D.dll::1000FCBE + + + CK2_3D.dll::10005556 + + + CK2_3D.dll::1000D8F0 + + + CK2_3D.dll::1000552B + + + CK2_3D.dll::10013200 + + + CK2_3D.dll::10012D18 + + + CK2_3D.dll::100125C7 + + + CK2_3D.dll::10012648 + + + CK2_3D.dll::10012824 + + + CK2_3D.dll::1000A138 + + + CK2_3D.dll::1000B8BF + + + CK2_3D.dll::1001242F + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::1001250A + + + CK2_3D.dll::10012558 + + + CK2_3D.dll::10012E79 + + + CK2_3D.dll::10012FE3 + + + CK2_3D.dll::100130AE + + + + + CKCID_3DOBJECT + + + 41 + + + CK2_3D.dll::10005494 + + + CK2_3D.dll::10005556 + + + CK2_3D.dll::1000D8F0 + + + CK2_3D.dll::1000552B + + + CK2_3D.dll::1000E6C0 + + + CK2_3D.dll::1000E5E5 + + + CK2_3D.dll::1000A1C2 + + + CK2_3D.dll::1000A2B2 + + + CK2_3D.dll::1000A7B9 + + + CK2_3D.dll::1000A138 + + + CK2_3D.dll::1000B8BF + + + CK2_3D.dll::1000B994 + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::1000A0AC + + + CK2_3D.dll::1000A016 + + + CK2_3D.dll::1000B4D5 + + + CK2_3D.dll::1000B6DD + + + CK2_3D.dll::1000BA8B + + + + + CKCID_BODYPART + + + 42 + + + CK2_3D.dll::10005494 + + + CK2_3D.dll::10005556 + + + CK2_3D.dll::1000D8F0 + + + CK2_3D.dll::1000552B + + + CK2_3D.dll::1000EE50 + + + CK2_3D.dll::1000EC59 + + + CK2_3D.dll::1000A1C2 + + + CK2_3D.dll::1000E9B1 + + + CK2_3D.dll::1000EA7A + + + CK2_3D.dll::1000A138 + + + CK2_3D.dll::1000B8BF + + + CK2_3D.dll::1000B994 + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::1000E99B + + + CK2_3D.dll::1000A016 + + + CK2_3D.dll::1000ED38 + + + CK2_3D.dll::1000ED74 + + + CK2_3D.dll::1000EDD5 + + + + + CKCID_PARAMETER + + + 46 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::24008383 + + + CK2.dll::24008406 + + + CK2.dll::2400840C + + + CK2.dll::24008498 + + + CK2.dll::2400867C + + + CK2.dll::2402141A + + + CK2.dll::240083F3 + + + CK2.dll::240089F3 + + + CK2.dll::24008A07 + + + CK2.dll::24008A6C + + + CK2.dll::24008B23 + + + CK2.dll::24008B8E + + + + + CKCID_PARAMETERLOCAL + + + 45 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::240094D5 + + + CK2.dll::24009739 + + + CK2.dll::2400840C + + + CK2.dll::2400963A + + + CK2.dll::240096E6 + + + CK2.dll::2402141A + + + CK2.dll::240094FC + + + CK2.dll::2402141A + + + CK2.dll::240083F3 + + + CK2.dll::24009635 + + + CK2.dll::24008A07 + + + CK2.dll::2400978A + + + CK2.dll::240097AE + + + CK2.dll::240097B3 + + + + + CKCID_PARAMETEROUT + + + 3 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::2400A519 + + + CK2.dll::2400A63D + + + CK2.dll::2400A643 + + + CK2.dll::2400A685 + + + CK2.dll::2400A744 + + + CK2.dll::2402141A + + + CK2.dll::2400A579 + + + CK2.dll::2400A62C + + + CK2.dll::240083F3 + + + CK2.dll::2400A7C4 + + + CK2.dll::2400A7E8 + + + CK2.dll::2400A879 + + + CK2.dll::2400A89D + + + CK2.dll::2400A8BF + + + + + CKCID_INTERFACEOBJECTMANAGER + + + 48 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::2400CD88 + + + CK2.dll::2400CE2F + + + CK2.dll::240210BE + + + CK2.dll::2400CF03 + + + CK2.dll::2400CFCD + + + CK2.dll::2402141A + + + CK2.dll::2402109D + + + CK2.dll::240210B9 + + + CK2.dll::2402116F + + + CK2.dll::240211E3 + + + CK2.dll::240211E8 + + + + + CKCID_CRITICALSECTION + + + 49 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::2402621F + + + CK2.dll::24026282 + + + CK2.dll::240210BE + + + CK2.dll::24026288 + + + CK2.dll::24026312 + + + CK2.dll::2402141A + + + CK2.dll::2402634D + + + CK2.dll::24026498 + + + CK2.dll::24026364 + + + CK2.dll::2402116F + + + CK2.dll::240211E3 + + + CK2.dll::240211E8 + + + + + CKCID_LAYER + + + 51 + + + CK2_3D.dll::1007CDB4 + + + CK2_3D.dll::1007CF16 + + + CK2_3D.dll::1007CF28 + + + CK2_3D.dll::1001A49B + + + CK2_3D.dll::1001AC20 + + + CK2_3D.dll::1001A4FE + + + CK2_3D.dll::1007D054 + + + CK2_3D.dll::1001A559 + + + CK2_3D.dll::1001A742 + + + CK2_3D.dll::1007CDEA + + + CK2_3D.dll::1007D04E + + + CK2_3D.dll::1001A50E + + + CK2_3D.dll::1007CDA8 + + + CK2_3D.dll::1001A53B + + + CK2_3D.dll::1007D048 + + + CK2_3D.dll::1007D042 + + + CK2_3D.dll::1001AABB + + + CK2_3D.dll::1001AAFB + + + + + CKCID_SYNCHRO + + + 20 + + + CK2.dll::24020F9C + + + CK2.dll::24018166 + + + CK2.dll::240067A7 + + + CK2.dll::24025F54 + + + CK2.dll::24026062 + + + CK2.dll::240210BE + + + CK2.dll::24026068 + + + CK2.dll::24026105 + + + CK2.dll::2402141A + + + CK2.dll::2402616C + + + CK2.dll::24026187 + + + CK2.dll::240261B4 + + + CK2.dll::2402116F + + + CK2.dll::240211E3 + + + CK2.dll::240211E8 + + + + + + + + + + + + + \ No newline at end of file diff --git a/LibCmo/VTStateChunk.cpp b/LibCmo/VTStateChunk.cpp index a76c886..2db429b 100644 --- a/LibCmo/VTStateChunk.cpp +++ b/LibCmo/VTStateChunk.cpp @@ -145,7 +145,7 @@ namespace LibCmo { // read normal data this->m_DataDwSize = dwbuf[1]; - bufpos = 2; + bufpos = 2u; if (this->m_DataDwSize != 0) { this->m_pData = new(std::nothrow) CKDWORD[this->m_DataDwSize]; diff --git a/Unvirt/Unvirt.cpp b/Unvirt/Unvirt.cpp index 0d13dc4..605f410 100644 --- a/Unvirt/Unvirt.cpp +++ b/Unvirt/Unvirt.cpp @@ -11,7 +11,7 @@ int main(int argc, char* argv[]) { LibCmo::Utils::VirtoolsEnvironment vtctx; LibCmo::CKFile vtfile(vtctx); - LibCmo::CKERROR err = vtfile.Load("VeryOldFile.nmo", LibCmo::CK_LOAD_FLAGS::CK_LOAD_DEFAULT); + LibCmo::CKERROR err = vtfile.Load("vt2obj.nms", LibCmo::CK_LOAD_FLAGS::CK_LOAD_DEFAULT); Unvirt::StructFormatter::PrintCKFileInfo(vtfile.m_FileInfo); diff --git a/VirtoolsProbe/main.cpp b/VirtoolsProbe/main.cpp index d56d4a3..c0e7729 100644 --- a/VirtoolsProbe/main.cpp +++ b/VirtoolsProbe/main.cpp @@ -2,6 +2,10 @@ #include #include #include +#include +#include +#include +#include #define BUFFER_SIZE 1024 @@ -12,12 +16,52 @@ void Assert(bool cond, const char* desc) { } } +struct MyModuleInfo { + intptr_t BaseOfDll; + intptr_t EntryPoint; + std::string ModuleName; +}; + +std::map ConstructModuleList() { + std::map result; + + HANDLE hProc = GetCurrentProcess(); + HMODULE* hMods = new HMODULE[1024]; + TCHAR* szModName = new TCHAR[MAX_PATH]; + MODULEINFO infoMod; + DWORD cbNeeded; + DWORD nameLen; + + if (EnumProcessModules(hProc, hMods, sizeof(HMODULE) * 1024, &cbNeeded)) { + for (DWORD i = 0; i < (cbNeeded / sizeof(HMODULE)); ++i) { + MyModuleInfo data; + + nameLen = GetModuleBaseName(hProc, hMods[i], szModName, MAX_PATH); + if (nameLen) { + data.ModuleName.resize(nameLen); + memcpy(data.ModuleName.data(), szModName, nameLen * sizeof(TCHAR)); + } else data.ModuleName = ""; + + if (GetModuleInformation(hProc, hMods[i], &infoMod, sizeof(infoMod))) { + data.BaseOfDll = reinterpret_cast(infoMod.lpBaseOfDll); + data.EntryPoint = reinterpret_cast(infoMod.EntryPoint); + } else { + data.BaseOfDll = 0; + data.EntryPoint = 0; + } + + result.emplace(data.BaseOfDll, data); + } + } + + delete[] hMods; + delete[] szModName; + return result; +} + int main() { Assert(LoadLibrary("CK2.dll"), "Error loading CK2.dll"); - std::cout << "Press any key to run..." << std::endl; - system("pause"); - Assert(!CKStartUp(), "CKStartUp Error"); std::string sharedStorage; sharedStorage.resize(BUFFER_SIZE); @@ -41,9 +85,149 @@ int main() { CKContext* ctx = NULL; Assert(!CKCreateContext(&ctx, NULL, 0), "Fail to execute CKCreateContext()"); + std::cout << "Press any key to run..." << std::endl; + system("pause"); + + static std::vector cls{ + CKCID_OBJECT, + CKCID_PARAMETERIN, + CKCID_PARAMETEROPERATION, + CKCID_STATE, + CKCID_BEHAVIORLINK, + CKCID_BEHAVIOR, + CKCID_BEHAVIORIO, + CKCID_RENDERCONTEXT, + CKCID_KINEMATICCHAIN, + CKCID_SCENEOBJECT, + CKCID_OBJECTANIMATION, + CKCID_ANIMATION, + CKCID_KEYEDANIMATION, + CKCID_BEOBJECT, + CKCID_DATAARRAY, + CKCID_SCENE, + CKCID_LEVEL, + CKCID_PLACE, + CKCID_GROUP, + CKCID_SOUND, + CKCID_WAVESOUND, + CKCID_MIDISOUND, + CKCID_MATERIAL, + CKCID_TEXTURE, + CKCID_MESH, + CKCID_PATCHMESH, + CKCID_RENDEROBJECT, + CKCID_3DENTITY, + CKCID_SPRITE, + CKCID_SPRITETEXT, + CKCID_3DENTITY, + CKCID_GRID, + CKCID_CURVEPOINT, + CKCID_SPRITE3D, + CKCID_CURVE, + CKCID_CAMERA, + CKCID_TARGETCAMERA, + CKCID_LIGHT, + CKCID_TARGETLIGHT, + CKCID_CHARACTER, + CKCID_3DOBJECT, + CKCID_BODYPART, + CKCID_PARAMETER, + CKCID_PARAMETERLOCAL, + CKCID_PARAMETERVARIABLE, + CKCID_PARAMETEROUT, + CKCID_INTERFACEOBJECTMANAGER, + CKCID_CRITICALSECTION, + CKCID_LAYER, + CKCID_PROGRESSIVEMESH, + CKCID_SYNCHRO + }; + static std::vector clsname{ + "CKCID_OBJECT", + "CKCID_PARAMETERIN", + "CKCID_PARAMETEROPERATION", + "CKCID_STATE", + "CKCID_BEHAVIORLINK", + "CKCID_BEHAVIOR", + "CKCID_BEHAVIORIO", + "CKCID_RENDERCONTEXT", + "CKCID_KINEMATICCHAIN", + "CKCID_SCENEOBJECT", + "CKCID_OBJECTANIMATION", + "CKCID_ANIMATION", + "CKCID_KEYEDANIMATION", + "CKCID_BEOBJECT", + "CKCID_DATAARRAY", + "CKCID_SCENE", + "CKCID_LEVEL", + "CKCID_PLACE", + "CKCID_GROUP", + "CKCID_SOUND", + "CKCID_WAVESOUND", + "CKCID_MIDISOUND", + "CKCID_MATERIAL", + "CKCID_TEXTURE", + "CKCID_MESH", + "CKCID_PATCHMESH", + "CKCID_RENDEROBJECT", + "CKCID_3DENTITY", + "CKCID_SPRITE", + "CKCID_SPRITETEXT", + "CKCID_3DENTITY", + "CKCID_GRID", + "CKCID_CURVEPOINT", + "CKCID_SPRITE3D", + "CKCID_CURVE", + "CKCID_CAMERA", + "CKCID_TARGETCAMERA", + "CKCID_LIGHT", + "CKCID_TARGETLIGHT", + "CKCID_CHARACTER", + "CKCID_3DOBJECT", + "CKCID_BODYPART", + "CKCID_PARAMETER", + "CKCID_PARAMETERLOCAL", + "CKCID_PARAMETERVARIABLE", + "CKCID_PARAMETEROUT", + "CKCID_INTERFACEOBJECTMANAGER", + "CKCID_CRITICALSECTION", + "CKCID_LAYER", + "CKCID_PROGRESSIVEMESH", + "CKCID_SYNCHRO" + }; + + auto moduleInfos = ConstructModuleList(); + + fputs("Class Name,Class Id,Show(),IsHiddenByParent(),CanBeHide(),IsVisible(),~dtor(),GetClassID(),PreSave(),Save(),Load(),PostLoad(),PreDelete(),CheckPreDeletion(),CheckPostDeletion(),GetMemoryOccupation(),IsObjectUsed(),PrepareDependencies(),RemapDependencies(),Copy(),\n", stdout); + for (size_t j = 0; j < cls.size(); ++j) { + CK_CLASSID item = cls[j]; + const char* itemname = clsname[j]; + + CKObject* obj = ctx->CreateObject(item, NULL, CK_OBJECTCREATION_NONAMECHECK, NULL); + if (obj == nullptr) continue; + CKDWORD* vtable = *(reinterpret_cast(obj)); + + fprintf(stdout, "%s,%d,", itemname, item); + for (size_t i = 0; i < 18; ++i) { + intptr_t addr = vtable[i]; + const auto& it = moduleInfos.lower_bound(addr); + if (it != moduleInfos.end() && it != moduleInfos.begin()) { + const auto& itt = std::prev(it); + fprintf(stdout, "%s::", itt->second.ModuleName.c_str()); + addr = addr - itt->second.BaseOfDll; + + if (itt->second.ModuleName == "CK2_3D.dll") + addr += 0x10000000u; + else if (itt->second.ModuleName == "CK2.dll") + addr += 0x24000000u; + } + fprintf(stdout, "%08X,", addr); + } + fputc('\n', stdout); + } + // call reader - CKObjectArray* array = CreateCKObjectArray(); - Assert(!ctx->Load("Language.old.nmo", array, CK_LOAD_DEFAULT, NULL), "Fail to load CMO file"); + //CKObjectArray* array = CreateCKObjectArray(); + //Assert(!ctx->Load("Language.old.nmo", array, CK_LOAD_DEFAULT, NULL), "Fail to load CMO file"); // call saver //CKObjectArray* array = CreateCKObjectArray(); @@ -54,7 +238,12 @@ int main() { //dep->m_Flags = CK_DEPENDENCIES_FULL; //Assert(!ctx->Save("result.cmo", array, 0xFFFFFFFF, dep, NULL), "Fail to save CMO file"); - DeleteCKObjectArray(array); + //DeleteCKObjectArray(array); + + + std::cout << "Press any key to exit..." << std::endl; + system("pause"); + CKCloseContext(ctx); CKShutdown();