Nestile - ตัวแก้ไขกระเบื้องสำหรับการสร้าง / แก้ไขกราฟิก NES
บทนำและข้อกำหนดของระบบ
ใช้ Nestile
การบันทึกและโหลดกระเบื้อง
เมนูการกำหนดค่า
ตัวยึด / แมลง
ติดต่อ / เครดิต
บทนำและข้อกำหนดของระบบ
Nestile เป็นตัวแก้ไขกระเบื้องที่สร้างขึ้นเพื่อแก้ไขกราฟิกสำหรับโปรแกรม NES เท่านั้น ตัวแก้ไขกระเบื้องที่ดีกว่ามีอยู่ แต่สำหรับความรู้ของฉันไม่มีใครที่ใช้ใน Linux ซึ่งเป็นแพลตฟอร์มเป้าหมายของโปรแกรมนี้ (แม้ว่ามันควรจะทำงานในระบบปฏิบัติการใด ๆ ที่ตรงตามข้อกำหนด) มันสามารถใช้งานได้ทั้งในการสร้างไฟล์ใหม่ที่มีข้อมูลกราฟิก NES RAW หรือแก้ไขไฟล์โดยตรงที่มีข้อมูลกราฟิก NES RAW หรือ ROM ที่จัดรูปแบบในรูปแบบที่เก็บกราฟิกใน Chr-Rom
ในการใช้โปรแกรมคุณจะต้องติดตั้ง Python บนเครื่องของคุณ
เรียกใช้ไฟล์ "Nestile" ด้วยไฟล์ที่คุณต้องการเปิดเป็นอาร์กิวเมนต์และ GUI จะปรากฏขึ้น หน้าต่างยาวผอมพร้อมเมนูไฟล์บนหน้าต่างชุดไทล์หน้าต่างที่เล็กที่สุดที่มีสีด้านล่างคือหน้าต่างตัวแก้ไขกระเบื้องและหน้าต่างอื่น ๆ คือหน้าต่าง Layer Tile เมื่อเริ่มโปรแกรมหน้าต่างทั้งหมดควรว่างเปล่า
หน้าต่างชุดกระเบื้องแสดงกระเบื้องทั้งหมดใน ROM ของคุณในโมโนโครมโดยมีสีดำแทนสี 0 สีขาวที่สว่างที่สุดแสดงสี 3 และสี 1 และ 2 แสดงด้วยเฉดสีเทาที่มืดที่สุดและเป็นสองสีที่สองตามลำดับ โดยคลิกที่กระเบื้องในหน้าต่างชุดกระเบื้องคุณจะเลือกไทล์ที่คุณต้องการแก้ไขในหน้าต่าง Tile Editor หรือวางลงบนหน้าต่าง Layer Layer (หมายเหตุ: เมื่อฉันพูดสี 0, 1, 2, 3, ฉันหมายความว่าพิกเซลในไฟล์ chr-rom จะถูกแสดงด้วยค่า 2 บิต 0, 1, 2 หรือ 3 รูปแบบกราฟิกสำหรับรายละเอียดเพิ่มเติม)
หน้าต่าง Tile Editor เป็นที่ที่คุณทำการเปลี่ยนแปลงกระเบื้อง คลิกสีเพื่อเลือกสีที่จะวาดด้วย สีซ้ายสุดแสดงถึงสี 0, สีที่อยู่ทางด้านขวาของสี 1 ทางด้านขวาของสี 2 และด้านขวาสุดแสดงถึงสี 3 แก้ไขกระเบื้องโดยคลิกที่เมาส์บนหน้าจอแก้ไขกระเบื้อง การแก้ไขที่คุณทำที่นี่จะปรากฏขึ้นในหน้าต่างชุดกระเบื้องเช่นเดียวกับที่ใดก็ตามที่คุณมีกระเบื้องวางไว้ในหน้าต่างชั้นกระเบื้อง คุณสามารถเปลี่ยนจานสีที่คุณใช้โดยการคลิกสองครั้งเพื่อดึงหน้าต่างจานสีขึ้นมา โดยการคลิกหนึ่งในสีเหล่านั้นคุณกำหนดค่านั้นให้กับสล็อตสีที่เลือกในปัจจุบัน สิ่งนี้ไม่มีผลต่อวิธีการจัดเก็บข้อมูลดังนั้นจึงเป็นส่วนใหญ่สำหรับคุณที่จะได้รับความคิดว่ากราฟิกอาจเป็นอย่างไร (และคุณอาจต้องการเปลี่ยนมันเนื่องจากจานสีเริ่มต้นที่ฉันเลือกในขณะที่ฉันเมา ). จานสีที่มีอยู่นั้นนำมาจาก Palettes NES ที่มีให้บริการอย่างอิสระ คำเตือนอย่างหนึ่งเกี่ยวกับการเปลี่ยนจานสี - รหัสสำหรับการอัปเดตข้อมูลสีนั้นแฮ็คมากมาก การเลือกสีที่มีค่าใกล้เคียงกับสีอื่นที่เลือกไว้แล้วในจานสีของคุณอาจทำให้กระเบื้องเปลี่ยนพิกเซลใด ๆ ในสีที่เลือกไปแล้วเป็นสีที่เลือกใหม่ ฉันสงสัยว่านี่เป็นปัญหาในทางปฏิบัติ แต่อย่างที่ฉันคิดว่าสีจะต้องแยกไม่ออก สิ่งนี้ไม่น่าจะได้รับการแก้ไขหากไม่มีใครส่งอีเมลถึงฉันด้วยวิธีที่ดีกว่าในการอัปเดตสีเมื่อมีการเปลี่ยนแปลงจานสี นอกจากนี้ยังมีข้อผิดพลาดที่วาดในขณะที่ขยับเมาส์ผ่านขอบของหน้าต่างจะวาดลงบนกระเบื้องถัดไป
หน้าต่าง Layer Layer เป็นที่ที่คุณสามารถวางกระเบื้องเพื่อจัดเรียงและเข้าใจว่าพวกเขามองอย่างไรเมื่อประกอบ การคลิกที่หน้าต่างจะวางกระเบื้องที่เลือกในปัจจุบันไปยังหน้าต่าง Layer Tile ในกริด 16x16 ที่คุณคลิก จานสีปัจจุบันจะถูกบันทึกไว้ดังนั้นการเปลี่ยนแปลงใด ๆ ของจานสีในหน้าต่างเลเยอร์กระเบื้องจะไม่ส่งผลกระทบต่อกระเบื้องที่คุณวางไว้แล้ว สิ่งนี้ช่วยให้คุณดูกระเบื้องเดียวกันกับจานสีที่แตกต่างกันและรับทราบว่าอันไหนจะทำงานได้ดีที่สุดสำหรับคุณ
ไฟล์สามารถโหลดได้สองวิธีที่แตกต่างกัน วิธีแรกคือการเปิดไฟล์ CHR-ROM ดิบในรูปแบบเดียวกันที่บันทึกไว้ข้างต้น อีกครั้งนี้จะโหลด 8192 ไบต์แรกในตอนนี้ วิธีที่สองคือการโหลดภาพ ROM รูปแบบ INES ที่มีข้อมูล CHR-ROM (ประมาณ 3/4 ของ NES ROM ที่รู้จักกัน) อีกครั้งนี้มี จำกัด เนื่องจากจะโหลดเฉพาะ 8192 ไบต์แรกของ CHR-ROM ฉันอาจจะชนกับการชนนั้น ในระหว่างนี้หากคุณต้องการดูข้อมูลอื่น ๆ ใน ROM Ines ให้เปลี่ยนรหัสใน Nestile (จริง ๆ แล้วมันไม่ยากเกินไปที่จะทำ) หรือใช้เครื่องมือเช่น "DD" เพื่อแยกข้อมูลดิบจาก ROM (ซึ่งเป็นสิ่งที่ฉันจะทำเพราะฉันขี้เกียจ)
ไฟล์ยังสามารถบันทึกได้ในหนึ่งในสองวิธีที่แตกต่างกันขึ้นอยู่กับวิธีการโหลด หากไม่มีการโหลดไฟล์หรือไฟล์ CHR แบบดิบไฟล์จะถูกบันทึกเป็นไฟล์ RAW CHR หากไฟล์ถูกโหลดจากไฟล์ที่จัดรูปแบบ INES จะถูกบันทึกเป็นไฟล์หนึ่ง ซึ่งหมายความว่าคุณสามารถใช้โปรแกรมเพื่อแก้ไขกราฟิกใน ROM ที่มี CHR-ROM
สิ่งที่ควรทราบ - ข้อมูลจานสีไม่ได้ถูกบันทึกไว้ในรูปแบบหรือแฟชั่นใด ๆ นั่นคือความช่วยเหลือสำหรับคุณ แต่คุณจะต้องรับผิดชอบในการติดตามจานสีในโปรแกรมของคุณเอง
เมนูการกำหนดค่าพบได้ภายใต้ตัวเลือก "แก้ไข" ของ Menubar บนหน้าต่าง Tile Set ตัวเลือกนี้ช่วยให้คุณเปลี่ยนขนาดของ CHR-ROM ที่คุณกำลังทำงานอยู่ ในขณะนี้ใช้งานได้กับกราฟิก CHR -ROM ดิบเท่านั้น - นั่นคือถ้าคุณเปิดไฟล์ ROM รูปแบบ Ines คุณไม่สามารถเปลี่ยนขนาด (แม้ว่าคุณจะสามารถดูได้) สิ่งนี้อาจเปลี่ยนแปลงได้ในอนาคต ขนาดที่ระบุจะถูกปัดขึ้นเป็นหลายตัวที่ใกล้ที่สุดของ 8192 ไบต์
หลายสิ่งเหล่านี้ถูกกล่าวถึงข้างต้น แต่ฉันจะพยายามรวบรวมทั้งหมดที่นี่เพื่ออ้างอิง
การวาดผ่านขอบของหน้าต่างบนหน้าต่างแก้ไขกระเบื้องจะวาดบนกระเบื้องที่อยู่ติดกัน
การเปลี่ยนสีในจานสีเป็นสิ่งที่ใกล้เคียงกับสีที่มีอยู่แล้วในจานสีจะเปลี่ยนพิกเซลใด ๆ ที่วาดในสีนั้นเป็นสีที่เลือกใหม่เช่นกัน (อาจไม่ใช่ปัญหาใหญ่เว้นแต่คุณจะทำอะไรแปลก ๆ ).
คุณอาจมีปัญหากับโปรแกรมหากคุณใช้ความละเอียดสีอื่นนอกเหนือจาก 16 บิต (อาจไม่ใช่ - ยังไม่ได้ทดสอบ)
แก้ไขว่าคุณไม่สามารถเปลี่ยนสองสีในจานสีเป็นสีเดียวกัน นี่คือการป้องกันข้อผิดพลาดดังกล่าวซึ่งคุณสามารถเขียนทับสีได้โดยไม่ตั้งใจโดยเลือกสีที่คล้ายกัน
เพิ่มการสนับสนุนสำหรับการคลิกซ้ายและสีขวาคลิก
เพิ่มตัวบ่งชี้การเลือกสำหรับกระเบื้องและสีที่เลือกในปัจจุบัน
แยกมุมมองออกเป็นคลาสที่แยกจากโมเดลข้อมูลกระเบื้อง
อัปเดต readme ด้วยข้อกำหนดใหม่และช็อตหน้าจอใหม่
เพิ่มการรองรับล้อเลื่อน
ทำโมดัลหน้าต่างพาเล็ตหรือผูกกับสีที่คลิกขวา
เพิ่มการบันทึกเค้าโครงกระเบื้อง
เพิ่มการประมวลผลแบบเค้าโครงกระเบื้อง
เพิ่มตัวเลือกเค้าโครงกระเบื้องเพื่อสะท้อนจาน PPU ที่แม่นยำยิ่งขึ้น
แก้ไขตรรกะ chr_rom_size
ทำสตริง nes_palette
เพิ่มการสนับสนุนชื่อไฟล์บันทึก/Saveas
เพิ่มการสนับสนุนสำหรับการระบุไฟล์เพื่อเปิดบน cmdline
หน้าเว็บนี้สำหรับโปรแกรมนี้คือ http://ensomnya.net/projects/nestile/index.html การอัปเดตใด ๆ ที่ทำควรโพสต์ที่นั่น
ต้องขอบคุณทุกคนที่ทำงานเกี่ยวกับวิศวกรรมย้อนกลับของ NES และสร้างเอกสารที่มีอยู่ได้อย่างอิสระ ขอบคุณ John Finlay สำหรับเอกสาร Pygtk ของเขาซึ่งทำให้การเลือกห้องสมุดนี้ค่อนข้างง่ายและทำอะไรกับมัน นอกจากนี้ยังต้องขอบคุณ Ted Kotz สำหรับการปรับปรุงรหัสเพื่อทำงานบน Python 3 และใช้ tkinter มากกว่า pygtk