API เสียงและการจัดการเสียงสําหรับ SMAPI โดยไม่ต้องใช้ Harmony เพิ่มเพลงเสียงที่กำหนดเอง
API เสียงและการจัดการเสียงสำหรับ SMAPI โดยไม่ต้องใช้ HarmonyLib
เพิ่มเพลงที่กำหนดเองลงใน mod ของคุณ!Mod นี้ทำอะไรได้บ้าง?SAAT คือเฟรมเวิร์กที่มุ่งเน้นการเพิ่ม จัดการ และแก้ไขแทร็กเสียงใน Stardew Valley นอกจากนี้ ยังมุ่งหวังที่จะปรับปรุงเอนจินเสียงในภายหลัง เนื่องจากเอนจินเสียงของ XNA/MonoGame ขาดประสิทธิภาพในการจัดการและรองรับหน่วยความจำ เฟรมเวิร์กนี้มุ่งหวังที่จะให้การทำงานราบรื่นและราบรื่น
คุณสามารถดูตัวอย่างวิธีการเพิ่มแทร็กเสียงที่กำหนดเองได้จาก
เอกสารประกอบบน Githubใหม่ใน v1.1.2:- แก้ไขข้อบกพร่องที่ทำให้เกิดข้อความเตือน "ไม่พบ CueDefinition ที่มีชื่อว่า 'title_day'"
ใหม่ใน v1.1.1:- คุณสมบัติความปลอดภัยล้มเหลวเพื่อป้องกันไม่ให้เกมหยุดทำงานเมื่อมีการเรียกคิวไม่ถูกต้อง / ไม่พบคิว
-- เมื่อล้มเหลว จะมีการเล่น "คิวผิดนัด" คิวนี้จะเล่นเสียงเงียบ
- ความสามารถในการบังคับเพิ่มแทร็กเสียงลงในจูกบ็อกซ์ ดูคำสั่ง "addtojukebox"
-- การดำเนินการนี้ครอบคลุมการย้ายข้อมูล ม็อดที่ย้ายข้อมูลจาก Custom Music ไปยัง SAAT จะถูกลบแทร็กที่กำหนดเองทั้งหมดออกจากเพลย์ลิสต์เพลงในตู้เพลง เนื่องจากต้องใช้สัญลักษณ์ CM (cm:) ขึ้นต้น SAAT จะตรวจสอบความถูกต้องของแทร็กทั้งหมดในตู้เพลง และลบแทร็กที่หายไปเพื่อป้องกัน
ใหม่ใน v1.1.0:- เพิ่มการตั้งค่าแทร็กเสียง
-- ตอนนี้คุณสามารถตั้งค่ารายการใน tracks.json ให้วนซ้ำอย่างต่อเนื่องได้
-- ตอนนี้คุณสามารถตั้งค่ารายการเพื่อเพิ่มตัวเองลงในจูกบ็อกซ์ทันทีเมื่อมีการสร้างเกมใหม่
- คำสั่ง "setdebug" ได้รับการเปลี่ยนชื่อเป็น "audiodebug" เนื่องจากมีความเป็นไปได้สูงที่จะเกิดความขัดแย้งกับ mod อื่นๆ
- คำสั่ง "gen_track_json" ได้รับการเปลี่ยนชื่อเป็น "tracktemplate"
- คำสั่ง "audio_allocs" ได้รับการเปลี่ยนชื่อเป็น "audioallocs"
- คำสั่ง audioallocs มีการแก้ไขการจัดรูปแบบบางส่วน
- ขณะนี้คำสั่ง audioallocs มีพารามิเตอร์เสริมแล้ว การเพิ่มรหัสแทร็กจะให้รายละเอียดเพิ่มเติมสำหรับแทร็กนั้นๆ
- มีการปรับโครงสร้างภายในบางส่วน
- อัปเดตเอกสาร
ฟังก์ชันปัจจุบัน:อนุญาตให้เพิ่มเพลงและเอฟเฟกต์เสียงใหม่ลงใน Stardew Valley
ช่วยให้สามารถเพิ่มเพลงเข้าไปในเครื่องเล่นเพลงได้
ยังไม่ได้ใช้งาน / คุณสมบัติที่กำลังจะมีขึ้น:การแทนที่/แทนที่แทร็กเสียง
บุคคลสามารถแทนที่แทร็กเสียงที่มีอยู่ด้วยแทร็กเสียงอื่นได้ โดยแทนที่ทรัพยากรดั้งเดิมในลักษณะที่ไม่สามารถทำลายได้
การประมวลผลสัญญาณเสียง (APS หรือ DPS)ฟีเจอร์ใหม่ที่จะช่วยให้เสียงสามารถเล่นผ่านความถี่ต่ำ ความถี่สูง ปรับระดับเสียง เอฟเฟกต์ และอื่นๆ ได้โดยไม่จำเป็นต้องสร้างแทร็กใหม่
การจัดการหน่วยความจำอย่างเหมาะสมนี่คือฟีเจอร์หลักของ API ณ ตอนนี้ Stardew Valley อาศัย XNA / MonoGame ในการจัดการหน่วยความจำสำหรับเสียง การจัดการหน่วยความจำมีการออกแบบที่ไม่ดีนัก เนื่องจากโหลดทั้งหมดหรือไม่มีเลย โดยทั่วไป เสียงจะถูกแบ่งส่วนลงในหน่วยความจำแทนที่จะเก็บทั้งหมดไว้ในคราวเดียว ซึ่งทำให้มีการใช้หน่วยความจำจำนวนมาก
ตัวอย่างเช่น แทร็กเพลงฤดูหนาวจะถูกโหลดเข้าสู่หน่วยความจำเมื่อเริ่มเกม แม้ว่าจะเป็นช่วงฤดูใบไม้ผลิก็ตาม คุณจะไม่ได้ยินเสียงแทร็กเสียงเป็นเวลา 3/4 ของเกม แต่เสียงนั้นยังคงกินหน่วยความจำอยู่
หมายเหตุ: API / Mod ย่อยนี้จะเขียนด้วยภาษา C ต้องใช้ภาษาเนทีฟเพื่อให้มั่นใจถึงประสิทธิภาพ
รูปแบบเสียงแบบแพ็คควบคู่ไปกับการจัดการหน่วยความจำที่เหมาะสม เสียงจะถูกบีบอัดเป็นไฟล์ไบนารีตามแต่ละม็อด ซึ่งช่วยให้โหลด/เอาออก/โหลดซ้ำได้เร็วขึ้น
มันจะ
ไม่จำเป็นแต่จะช่วยเพิ่มประสิทธิภาพ โดยเฉพาะไฟล์เสียงขนาดใหญ่
ชุดเครื่องมือสำหรับรูปแบบเสียงแบบแพ็คเพื่อช่วยเหลือและสนับสนุนผู้สร้างเนื้อหาในการปรับแต่งเสียงเพื่อประสิทธิภาพ จะมีการจัดทำเครื่องมือเพื่อสร้างรูปแบบเสียงที่รวบรวมตามที่กล่าวไว้ข้างต้น
ซอร์สโค้ดและเอกสารประกอบ