CathodeLib
CathodeLib 0.7.1
มีให้เป็นแพ็คเกจ NuGet หรือเพียงแค่รวม repo นี้เป็น submodule ในโครงการของคุณ!
ตัวแยกวิเคราะห์ทั้งหมดสืบทอดมาจากคลาส CathodeFile
พื้นฐานซึ่งให้:
Implementation
แบบคงที่กำหนดว่าตัวแยกวิเคราะห์รองรับ CREATE
LOAD
และ/หรือ SAVE
ฟังก์ชันการทำงานสำหรับไฟล์ Parsers ที่รองรับทั้งสามมีความสามารถในการสร้างไฟล์ตั้งแต่เริ่มต้นLoaded
ซึ่งเป็นจริงหากตัวแยกวิเคราะห์ได้เติมค่าของมันจากไฟล์ที่มีอยู่ก่อนที่มันโหลด หากเป็นเท็จตัวแยกวิเคราะห์กำลังสร้างไฟล์ใหม่บนบันทึกFilepath
ซึ่งเป็น filePath ที่ตัวแยกวิเคราะห์ใช้เพื่อโหลดหรือบันทึกไฟล์Save
ซึ่งจะบันทึกไฟล์ออกหากตัวแยกวิเคราะห์มีธง SAVE
ฟังก์ชั่นนี้สามารถเลือกได้รับ FilePath ใหม่เพื่อบันทึกไฟล์ไป ส่งคืนเท็จหากการบันทึกล้มเหลวOnLoadBegin
, OnLoadSuccess
, OnSaveBegin
, OnSaveSuccess
ซึ่งยิงที่โหลด/บันทึกเริ่มต้นและสำเร็จตามลำดับด้วย filepath ที่เหมาะสมเป็น Arg ตัวแยกวิเคราะห์ส่วนใหญ่ให้การเข้าถึงเนื้อหาของไฟล์ผ่านพารามิเตอร์ Entries
อย่างไรก็ตามสิ่งนี้อาจแตกต่างกันไปตามการใช้งาน
หมายเหตุ: ในโหมดการดีบักตัวแยกวิเคราะห์จะล้มเหลวอย่างหนักอย่างไรก็ตามในโหมดการเปิดตัวการโหลด/บันทึกทั้งหมดจะถูกห่อหุ้มด้วยคำสั่งลอง/จับ
Parsers ปัจจุบันมีอยู่ใน Cathodelib ...
CATHODE.Commands
จัดการ COMMANDS.PAK
ไฟล์Composite
ซึ่งมีประเภท Entity
ที่หลากหลายสำหรับตรรกะFunctionEntity
= ฟังก์ชั่นที่ดำเนินการฟังก์ชั่นโดยมีพารามิเตอร์และลิงก์ไปยังวัตถุ Entity
ลูกVariableEntity
= ตัวแปรที่สามารถใช้ภายนอกเป็นพารามิเตอร์บน Composite
ที่มีการ FunctionEntity
ProxyEntity
= พร็อกซีของ FunctionEntity
ภายใน Composite
อื่นซึ่งมีประโยชน์สำหรับการดำเนินการกับเหตุการณ์ในคอมโพสิตอื่นOverrideEntity
= การแทนที่ของค่าพารามิเตอร์ในเอนทิตีภายใน Composite
ที่มีการหยุดนิ่งใน Composite
นี้ตรวจสอบภาพรวมทั้งหมดของโครงสร้างคำสั่งบนวิกิและทำตามคำแนะนำที่มีประโยชน์นี้เพื่อสร้างสคริปต์แรกของคุณ!
CATHODE.PAK2
จัดการไฟล์ UI.PAK
และ ANIMATIONS.PAK
CATHODE.Models
จัดการไฟล์ LEVEL_MODELS.PAK
จับคู่กับ MODELS_LEVEL.BIN
CATHODE.Textures
จัดการไฟล์ LEVEL_TEXTURES.ALL.PAK
จับคู่กับ LEVEL_TEXTURE_HEADERS.ALL.BIN
CATHODE.LEGACY.Assets.Shaders
จัดการไฟล์ PAK
SHADERS
ต่าง ๆ (WIP) CATHODE.Movers
จัดการไฟล์ MODELS.MVR
CATHODE.RenderableElements
จัดการไฟล์ REDS.BIN
CATHODE.Resources
จัดการ RESOURCES.BIN
ไฟล์ binCATHODE.Materials
จัดการ MODELS.MTL
ไฟล์CATHODE.MaterialMappings
จัดการไฟล์ MATERIAL_MAPPINGS.PAK
ไฟล์CATHODE.EnvironmentMaps
จัดการ ENVIRONMENTMAP.BIN
ไฟล์CATHODE.EnvironmentAnimations
จัดการ ENVIRONMENT_ANIMATION.DAT
ไฟล์CATHODE.PathBarrierResources
จัดการไฟล์ PATH_BARRIER_RESOURCES
CATHODE.PhysicsMaps
จัดการ PHYSICS.MAP
ไฟล์CATHODE.Lights
จัดการไฟล์ LIGHTS.BIN
CATHODE.Collisions
จัดการไฟล์ COLLISION.BIN
CATHODE.CollisionMaps
จัดการไฟล์ COLLISION.MAP
CATHODE.AnimationStrings
จัดการ ANIM_STRING_DB.BIN
และ ANIM_STRING_DB_DEBUG.BIN
CATHODE.EXPERIMENTAL.NavigationMesh
จัดการไฟล์ NAV_MESH
(ทดลอง)CATHODE.SoundNodeNetwork
จัดการไฟล์ SNDNODENETWORK.DAT
CATHODE.SoundLoadZones
จัดการไฟล์ SOUNDLOADZONES.DAT
CATHODE.SoundFlashModels
จัดการไฟล์ SOUNDFLASHMODELS.DAT
CATHODE.SoundEventData
จัดการไฟล์ SOUNDEVENTDATA.DAT
CATHODE.SoundEnvironmentData
จัดการไฟล์ SOUNDENVIRONMENTDATA.DAT
CATHODE.SoundDialogueLookups
จัดการไฟล์ SOUNDDIALOGUELOOKUPS.DAT
CATHODE.SoundBankData
จัดการไฟล์ SOUNDBANKDATA.DAT
CATHODE.CharacterAccessorySets
จัดการกับ CHARACTERACCESSORYSETS.BIN
ไฟล์CATHODE.CustomCharacterInfo
จัดการไฟล์ CUSTOMCHARACTERINFO.BIN
CATHODE.CustomCharacterConstrainedComponents
จัดการ CUSTOMCHARACTERCONSTRAINEDCOMPONENTS.BIN
ไฟล์CATHODE.Strings
จัดการ *.TXT
ไฟล์ CATHODE.BML
จัดการไฟล์ .BML
ใด ๆXmlDocument
ผ่าน BML.Content
CATHODE.ProgressionSave
จัดการไฟล์ PROGRESSION.AIS
CATHODE.EXPERIMENTAL.MissionSave
Handles *.AIS
ไฟล์ (ทดลอง)Cathodelib ไม่เกี่ยวข้องกับ (หรือรับรองโดย) Assembly หรือ SEGA