灵符lingfu

soul-symphony-ling

↓ 0 downloads

Soul Symphony — Ling Edition. A spiritual 3D adventure in the soul realm: collect the letters of the world-song, clear the monster lattice, and duel in the arcade arena. Wind Waker-style toon renderer with volumetric light pools, SSAO, bloom and oil-slick tilt-shift — all ling-lang vectors.

Keywords game, 3d, toon, music, soul-symphony
lingfu install soul-symphony-ling
AuthorsLing Lin <taellinglin@gmail.com>
READMECode / FilesVersionsDependency GraphDependentsSecurityBuildsSettings

Code / Files (1947)

game/scenes/chapter8.ling
# Chapter 8 cutscene module — "the night, at last, was kind"
# Returns [state, shouldExit] · state = lineIdx*1000
#
# มหากาพย์ปิดตำนาน — สไตล์อนิเมะญี่ปุ่นยุคเก่า (โทนการ์ตูนเตือนไฟกะพริบ):
#   พื้นหลังป๊อปอาร์ต 2 สีตรงข้ามสลับถี่ · เส้นรัศมีมังงะระเบิดจากกลางจอทุกบีต
#   สกรีนโทนจุดฮาล์ฟโทนลอย · ท่าตัวละคร "ควอนไทซ์" ค้างเป็นคีย์เฟรมแบบอนิเมะ
#   วัง 5 ชิ้นบินกลับมาประกอบร่างกลางฟ้า (ย้อนวาร์ปบทสาม!) เกนสีแฟลชตามบีต
#   เดมอนอำนวยเพลงคณะประสานเสียงตัวอักษร · ตาบนฟ้า (บทสอง) หลับตาลงอย่างสงบ
#   จบด้วยไอริสวงกลมหุบมืดแบบการ์ตูนคลาสสิก
# สกอร์: Main_Menu.wav (เพลงเมนู — ธีมหลักเต็มวง)

ฟังก์ชัน ฉากบทแปด_บทพูดไฮไลท์(ภาษา) {
    ถ้า ภาษา == 0 {
        คืน [
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [14, 18, 70, 130, 240],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [49, 57, 70, 130, 240],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [0, 11, 175, 90, 230],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
        ]
    }
    ถ้า ภาษา == 1 {
        คืน [
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [11, 15, 70, 130, 240],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [41, 48, 70, 130, 240],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [0, 13, 175, 90, 230],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
        ]
    }
    ถ้า ภาษา == 2 {
        คืน [
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [12, 17, 70, 130, 240],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [34, 39, 70, 130, 240],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [0, 10, 175, 90, 230],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
        ]
    }
    ถ้า ภาษา == 3 {
        คืน [
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [8, 10, 70, 130, 240],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [25, 29, 70, 130, 240],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [0, 7, 175, 90, 230],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
        ]
    }
    ถ้า ภาษา == 4 {
        คืน [
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [9, 12, 70, 130, 240],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [27, 30, 70, 130, 240],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [0, 6, 175, 90, 230],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
        ]
    }
    ถ้า ภาษา == 5 {
        คืน [
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [4, 8, 70, 130, 240],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [16, 20, 70, 130, 240],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [0, 6, 175, 90, 230],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
            [-1, -1, 0, 0, 0],
        ]
    }
    คืน [[-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0], [-1,-1,0,0,0]]
}

ฟังก์ชัน ฉากบทแปด_บทพูดกลิฟ(ภาษา) {
    ถ้า ภาษา == 0 {
        คืน [
            [10, 15, 8, 22, 26, 25, 8, -1, 12, 16, 25, 21, 5, -1, 15, 21, 16, 23, 26, -1, 25, 8, 20, 3, -1, 24, 21, 24, 15, 16, 25, 12, -1, 15, 21, 19, 26, -1, 23, 21, 11, 21, 3, -1, 8, 16, -1, 20, 21, -1, 29, 21, 4, 20, 16, -1, 21, 22, 26, 20, 5],
            [1, 24, 26, 18, 8, 16, 3, -1, 12, 9, 26, 23, 16, -1, 22, 16, 24, 26, 3, -1, 24, 21, 23, 12, -1, 12, 27, 12, 23, -1, 25, 12, 16, 18, 26, -1, 24, 15, 16, 25, 8, -1, 19, 21, 20, 21, 3, -1, 23, 16, 19, 12, 19, 9, 8, 5, 2],
            [23, 12, 25, 8, 0, -1, 13, 21, 19, 12, 24, 15, 21, 20, 0, -1, 23, 8, 23, 8, 9, 8, 16, 3, -1, 18, 21, 20, 29, 8, -1, 15, 21, 19, 26, -1, 13, 26, 23, 8, 16, 0],
            [22, 8, 23, 8, 24, 26, 0, -1, 24, 21, 23, 12, -1, 18, 8, 19, 26, -1, 9, 8, 18, 18, 26, -1, 4, -1, 22, 16, 24, 26, -1, 9, 8, 16, -1, 22, 16, 24, 26, 3, -1, 9, 16, 19, 26, -1, 9, 8, 16, -1, 9, 16, 19, 26, 0],
            [24, 21, 23, 12, 18, 8, 23, 8, -1, 19, 29, 26, 17, 16, 18, 18, 26, -1, 20, 21, -1, 26, 12, 4, 20, 16, -1, 23, 8, 20, 11, 21, -1, 24, 8, 24, 12, 29, 21, 5, -1, 20, 8, 20, 16, 19, 21, -1, 24, 21, 13, 26, 25, 8, -1, 23, 8, 20, 11, 21, -1, 24, 15, 16, 20, 8, 16, 5],
            [1, 24, 21, 24, 15, 16, 25, 12, -1, 21, 23, 26, 11, 21, -1, 18, 8, 9, 12, 3, -1, 24, 26, 25, 8, -1, 18, 26, 23, 21, 24, 26, 3, -1, 18, 21, 19, 12, 25, 25, 21, -1, 15, 21, 19, 26, -1, 23, 26, 24, 26, 25, 21, -1, 18, 8, 19, 26, -1, 20, 21, -1, 29, 21, 4, 20, 16, 5, 2],
            [12, 9, 26, 23, 16, -1, 23, 21, 11, 21, -1, 28, 8, 23, 12, 28, 8, 23, 12, -1, 28, 21, 18, 26, -1, 24, 15, 16, 25, 8, 3, -1, 18, 21, 20, 21, -1, 28, 8, 20, -1, 20, 21, -1, 20, 8, 18, 8, 4, 11, 12, -1, 24, 15, 16, 20, 14, 26, 0],
            [23, 8, 26, 11, 8, 3, -1, 23, 16, 25, 21, 23, 26, -1, 9, 12, 8, 23, 8, 0, -1, 11, 8, 18, 26, 3, -1, 28, 8, 20, 4, 11, 21, -1, 11, 8, 18, 12, -1, 22, 21, 23, 8, 16, 25, 4, 20, 16, -1, 23, 16, 24, 26, 20, 0],
            [24, 26, 18, 8, 16, 0, -1, 8, 20, 8, 25, 8, -1, 28, 8, 23, 12, 28, 8, 23, 12, 4, 20, 21, -1, 24, 21, 20, 14, 26, -1, 24, 12, 13, 26, -1, 18, 16, 22, 26, -1, 24, 15, 16, 25, 8, 5, -1, 16, 19, 8, -1, 28, 8, 23, 12, 28, 8, 23, 12, 4, 20, 21, -1, 15, 21, 19, 26, -1, 18, 16, 22, 26, 0],
            [1, 26, 12, -1, 20, 21, -1, 14, 26, 23, 12, 16, 25, 21, -1, 8, 16, 3, -1, 23, 8, 24, 26, 25, 21, -1, 28, 8, 20, -1, 25, 8, 16, 19, 26, -1, 24, 15, 16, 25, 8, 4, 21, -1, 19, 16, 23, 26, 5, 5, 5, 2],
            [1, 5, 5, 5, 24, 21, 24, 15, 16, 25, 12, 3, -1, 25, 21, 25, 25, 12, 19, 21, -1, 17, 12, 20, 25, 21, 23, 26, 4, 20, 16, 3, -1, 24, 21, 23, 12, -1, 24, 26, 19, 8, 16, 23, 26, 3, -1, 24, 26, 23, 16, 22, 26, 4, 20, 16, -1, 16, 18, 26, 5, 2],
            [24, 21, 23, 12, -1, 21, 9, 8, 5, -1, 20, 21, -1, 4, -1, 24, 21, 23, 12, -1, 9, 16, 14, 16, 20, 16, 20, 14, 14, 26, 5],
            [15, 21, 19, 26, 4, 20, 16, -1, 18, 8, 19, 26, 3, -1, 23, 8, 9, 26, 5, -1, 23, 8, 23, 8, 9, 8, 16, 3, -1, 23, 12, 24, 26, 25, 21, -1, 24, 15, 16, 25, 25, 12, -1, 16, 23, 26, 5],
            [1, 24, 21, 24, 15, 16, 25, 12, -1, 22, 8, 23, 8, 24, 26, 3, -1, 23, 8, 20, 25, 8, 20, -1, 23, 8, 16, 25, 21, 3, -1, 24, 21, 24, 15, 16, 25, 12, -1, 20, 8, 16, 25, 21, 3, -1, 8, 25, 25, 21, -1, 23, 8, 24, 26, 25, 21, 3, -1, 18, 8, 16, 20, 11, 21, 5, 2],
            [1, 24, 21, 23, 12, 18, 8, 23, 8, -1, 18, 8, 16, 20, 11, 21, -1, 20, 8, 16, 25, 21, 3, -1, 18, 8, 16, 20, 11, 21, -1, 20, 8, 16, 25, 21, -1, 14, 8, -1, 24, 26, 23, 26, -1, 18, 21, 25, 21, -1, 24, 26, 23, 26, 6, -1, 13, 12, 24, 26, 25, 16, 9, 8, 23, 26, -1, 24, 26, 23, 21, 5, 2],
            [13, 8, 16, 8, 28, 8, 18, 26, 0, -1, 28, 12, 16, 25, 21, -1, 4, -1, 24, 21, 23, 12, -1, 28, 8, 23, 12, 28, 8, 23, 12, 4, 20, 21, -1, 23, 12, 25, 8, -1, 12, 18, 26, 24, 26, 22, 23, 21, 11, 21, 7, -1, 17, 12, 20, 25, 21, 23, 26, 4, 20, 16, 7, 0],
            [18, 8, 23, 12, 23, 8, -1, 9, 21, 23, 8, 20, 25, 15, 16, 8, 0, -1, 23, 12, 25, 8, 3, -1, 11, 21, 23, 8, 19, 8, 25, 16, 18, 18, 26, 5, -1, 24, 21, 23, 12, -1, 14, 8, -1, 20, 8, 30, 12, -1, 28, 8, 23, 12, 28, 8, 23, 12, -1, 18, 8, 23, 12, 23, 8, -1, 18, 16, 22, 26, 5],
            [1, 22, 12, 22, 8, -1, 23, 8, 16, 25, 21, -1, 20, 21, -1, 11, 21, 23, 8, 14, 21, 20, 3, -1, 24, 26, 18, 8, 16, -1, 20, 21, -1, 24, 26, 25, 12, 8, 4, 21, -1, 23, 26, 22, 16, 20, 14, 26, -1, 11, 8, 26, 20, -1, 18, 16, 25, 8, 5, 2],
            [15, 21, 16, 23, 26, 0, -1, 28, 8, 23, 12, 28, 8, 23, 12, -1, 25, 21, -1, 16, 24, 24, 15, 21, 4, 20, 16, -1, 14, 26, 23, 12, 16, 25, 21, -1, 15, 21, 16, 23, 26, -1, 23, 8, 16, 11, 21, 3, -1, 19, 8, 16, -1, 23, 8, 9, 26, 0],
            [1, 24, 21, 24, 15, 16, 25, 12, -1, 24, 21, 23, 26, -1, 24, 15, 16, 20, 13, 21, 20, 16, -1, 20, 21, -1, 18, 16, 20, 14, 26, -1, 25, 21, -1, 18, 26, 16, 20, 3, -1, 12, 8, -1, 20, 21, -1, 20, 8, 18, 8, 4, 11, 12, -1, 11, 8, 20, 24, 26, 5, 2],
            [12, 9, 26, 23, 16, -1, 24, 26, 25, 12, 22, 22, 26, -1, 28, 8, 23, 12, 28, 8, 23, 12, -1, 12, 27, 12, 23, -1, 23, 21, 23, 26, 3, -1, 12, 9, 26, 23, 16, -1, 18, 8, 9, 12, -1, 28, 8, 23, 12, 28, 8, 23, 12, -1, 12, 27, 12, 23, -1, 9, 8, 26, 20, 11, 21, -1, 4],
            [4, -1, 12, 9, 26, 23, 16, -1, 20, 21, 25, 21, -1, 28, 8, 23, 12, 28, 8, 23, 12, -1, 11, 21, 23, 21, 22, 22, 26, -1, 25, 21, -1, 13, 8, 26, 20, 11, 21, 5, -1, 24, 21, 23, 12, -1, 21, 23, 26, -1, 18, 21, 18, 21, 5, -1, 24, 21, 23, 12, -1, 21, 23, 26, -1, 24, 15, 16, 20, 14, 26, 5],
            [23, 16, 25, 21, 23, 26, -1, 18, 16, 22, 8, 3, -1, 25, 26, 19, 21, 23, 21, -1, 24, 21, 20, 14, 26, 4, 20, 16, -1, 20, 8, 20, 16, -1, 14, 8, -1, 15, 8, 22, 26, 20, 7],
            [25, 26, 19, 21, 23, 21, -1, 24, 21, 23, 12, -1, 15, 8, 20, 14, 26, 23, 16, 4, 20, 16, -1, 28, 12, 16, 18, 26, 3, -1, 24, 21, 20, 14, 26, -1, 14, 8, -1, 24, 26, 23, 26, -1, 29, 21, 4, 20, 16, 5, -1, 8, 20, 8, 25, 8, -1, 20, 29, 26, -1, 23, 21, 11, 21, -1, 13, 16, 11, 21, 5],
            [1, 11, 21, 23, 8, 14, 21, 20, -1, 9, 8, 26, 5, -1, 15, 21, 16, 23, 26, -1, 24, 26, 23, 21, 5, -1, 23, 8, 20, 25, 8, 20, 3, -1, 23, 16, 24, 26, 20, -1, 24, 26, 23, 26, -1, 25, 8, 19, 12, -1, 23, 16, 20, 5, 2],
            [28, 8, 20, -1, 19, 21, 8, -1, 27, 8, 24, 26, 5, -1, 16, 24, 24, 15, 21, 4, 20, 16, 5, -1, 28, 8, 23, 12, 28, 8, 23, 12, -1, 19, 8, 11, 8, -1, 19, 16, 25, 25, 21, -1, 24, 15, 16, 20, 8, 16, -1, 23, 21, 11, 21, -1, 20, 21, -1, 25, 8, 19, 12, 5],
            [1, 24, 21, 24, 15, 16, 25, 12, -1, 21, 23, 26, -1, 24, 26, 18, 8, 16, 3, -1, 23, 8, 23, 8, 9, 8, 16, -1, 18, 8, 23, 12, 23, 8, 4, 20, 16, -1, 9, 8, 18, 18, 26, -1, 24, 15, 16, 20, 14, 26, 3, -1, 28, 8, 11, 21, -1, 13, 21, -1, 28, 8, 11, 21, 5, 2],
            [1, 14, 26, 11, 11, 21, 20, 8, 16, 25, 21, 3, -1, 23, 16, 25, 21, 23, 26, -1, 9, 12, 8, 23, 8, 5, -1, 24, 21, 20, 14, 26, 3, -1, 28, 21, 25, 10, 15, 16, -1, 18, 16, 22, 26, 5, -1, 24, 21, 23, 12, -1, 16, 25, 24, 26, 19, 21, -1, 24, 15, 16, 25, 8, 5, 2],
        ]
    }
    ถ้า ภาษา == 1 {
        คืน [
            [15, 20, 13, 28, 32, 17, 30, -1, 17, 21, 19, 20, 32, 6, -1, 32, 20, 17, -1, 35, 20, 17, 17, 24, -1, 32, 33, 30, 26, 17, 16, 4, -1, 13, 26, 16, -1, 32, 20, 17, -1, 30, 27, 13, 16, -1, 20, 27, 25, 17, -1, 27, 28, 17, 26, 17, 16, -1, 24, 21, 23, 17, -1, 13, 26, -1, 17, 37, 17, 6],
            [2, 32, 20, 17, -1, 31, 23, 37, -1, 30, 17, 25, 17, 25, 14, 17, 30, 17, 16, -1, 17, 34, 17, 30, 37, -1, 28, 21, 17, 15, 17, -1, 21, 32, -1, 20, 13, 16, -1, 17, 34, 17, 30, -1, 32, 13, 23, 17, 26, 6, 3],
            [24, 17, 32, 32, 17, 30, 31, 0, -1, 18, 27, 30, 25, 13, 32, 21, 27, 26, 0, -1, 32, 20, 17, -1, 24, 33, 24, 24, 13, 14, 37, -1, 18, 24, 21, 17, 31, -1, 20, 27, 25, 17, -1, 32, 27, 26, 21, 19, 20, 32, 0],
            [32, 20, 17, -1, 28, 13, 24, 13, 15, 17, 0, -1, 21, 32, -1, 21, 31, -1, 15, 27, 25, 21, 26, 19, -1, 14, 13, 15, 23, -1, 5, -1, 28, 21, 17, 15, 17, -1, 14, 37, -1, 28, 21, 17, 15, 17, 4, -1, 14, 17, 13, 25, -1, 14, 37, -1, 14, 17, 13, 25, 0],
            [32, 20, 17, 26, -1, 24, 17, 32, -1, 21, 32, -1, 24, 13, 26, 16, -1, 27, 26, -1, 25, 33, 31, 21, 15, 6, -1, 26, 27, 32, 20, 21, 26, 19, -1, 24, 13, 26, 16, 31, -1, 31, 27, 18, 32, 17, 30, 6],
            [2, 13, 26, 16, -1, 32, 20, 17, -1, 27, 24, 16, -1, 35, 13, 24, 24, 31, -1, 15, 30, 27, 31, 31, 17, 16, -1, 32, 20, 17, -1, 31, 32, 13, 30, 31, -1, 24, 21, 23, 17, -1, 15, 27, 25, 17, 32, 31, -1, 15, 27, 25, 21, 26, 19, -1, 20, 27, 25, 17, -1, 32, 27, -1, 30, 27, 27, 31, 32, 6, 3],
            [17, 34, 17, 30, 37, -1, 30, 27, 13, 16, -1, 35, 17, -1, 35, 13, 24, 23, 17, 16, -1, 21, 31, -1, 31, 21, 26, 19, 21, 26, 19, -1, 21, 26, 31, 21, 16, 17, -1, 32, 20, 21, 31, -1, 27, 26, 17, 0],
            [24, 27, 33, 16, 17, 30, 4, -1, 24, 21, 32, 32, 24, 17, -1, 14, 17, 13, 30, 17, 30, 31, 0, -1, 32, 20, 17, -1, 16, 13, 30, 23, -1, 21, 31, -1, 24, 21, 31, 32, 17, 26, 21, 26, 19, -1, 28, 27, 24, 21, 32, 17, 24, 37, -1, 18, 27, 30, -1, 27, 26, 15, 17, 0],
            [31, 23, 37, 0, -1, 37, 27, 33, -1, 23, 17, 28, 32, -1, 27, 33, 30, -1, 31, 27, 26, 19, -1, 31, 13, 18, 17, 6, -1, 26, 27, 35, -1, 23, 17, 17, 28, -1, 27, 33, 30, -1, 20, 27, 25, 17, 0],
            [2, 32, 20, 17, -1, 19, 30, 17, 13, 32, -1, 17, 37, 17, -1, 13, 14, 27, 34, 17, -1, 24, 27, 27, 23, 17, 16, -1, 16, 27, 35, 26, -1, 27, 26, 17, -1, 24, 13, 31, 32, -1, 32, 21, 25, 17, 6, 6, 6, 3],
            [2, 6, 6, 6, 13, 26, 16, 4, -1, 34, 17, 30, 37, -1, 19, 17, 26, 32, 24, 37, 4, -1, 21, 32, -1, 31, 25, 21, 24, 17, 16, -1, 13, 26, 16, -1, 35, 17, 26, 32, -1, 32, 27, -1, 31, 24, 17, 17, 28, 6, 3],
            [21, 32, -1, 21, 31, -1, 27, 34, 17, 30, 6, -1, 26, 27, -1, 5, -1, 21, 32, -1, 21, 31, -1, 14, 17, 19, 21, 26, 26, 21, 26, 19, 6],
            [15, 27, 25, 17, -1, 20, 27, 25, 17, 4, -1, 24, 27, 34, 17, 6, -1, 32, 20, 17, -1, 24, 33, 24, 24, 13, 14, 37, -1, 23, 26, 27, 35, 31, -1, 32, 20, 17, -1, 30, 17, 31, 32, 6],
            [2, 13, 26, 16, -1, 32, 20, 17, -1, 28, 13, 24, 13, 15, 17, -1, 24, 21, 32, -1, 21, 32, 31, -1, 24, 13, 26, 32, 17, 30, 26, 31, 4, -1, 13, 26, 16, -1, 32, 20, 17, -1, 26, 21, 19, 20, 32, 4, -1, 13, 32, -1, 24, 13, 31, 32, 4, -1, 35, 13, 31, -1, 23, 21, 26, 16, 6, 3],
            [2, 32, 20, 17, 26, -1, 32, 20, 17, -1, 23, 21, 26, 16, -1, 26, 21, 19, 20, 32, -1, 16, 21, 16, -1, 35, 20, 13, 32, -1, 23, 21, 26, 16, -1, 26, 21, 19, 20, 32, 31, -1, 16, 27, 7, -1, 21, 32, -1, 32, 20, 30, 17, 35, -1, 13, -1, 18, 17, 31, 32, 21, 34, 13, 24, 6, 3],
            [18, 21, 30, 17, 35, 27, 30, 23, 31, 0, -1, 35, 13, 21, 32, -1, 5, -1, 13, 30, 17, -1, 32, 20, 27, 31, 17, -1, 27, 33, 30, -1, 24, 17, 32, 32, 17, 30, 31, -1, 17, 36, 28, 24, 27, 16, 21, 26, 19, 8, -1, 19, 17, 26, 32, 24, 37, 8, 0],
            [32, 20, 17, 37, -1, 34, 27, 24, 33, 26, 32, 17, 17, 30, 17, 16, 0, -1, 24, 17, 32, 32, 17, 30, 31, -1, 13, 30, 17, -1, 16, 30, 13, 25, 13, 32, 21, 15, 6, -1, 21, 32, -1, 21, 31, -1, 35, 20, 37, -1, 21, -1, 23, 17, 17, 28, -1, 32, 20, 17, 25, 6],
            [2, 13, -1, 16, 30, 13, 19, 27, 26, -1, 27, 18, -1, 28, 13, 28, 17, 30, -1, 24, 21, 19, 20, 32, -1, 15, 13, 25, 17, -1, 24, 27, 27, 28, 21, 26, 19, -1, 16, 27, 35, 26, -1, 32, 20, 17, -1, 31, 32, 13, 21, 30, 31, -1, 27, 18, -1, 32, 20, 17, -1, 31, 23, 37, 6, 3],
            [32, 20, 17, -1, 35, 20, 17, 17, 24, 0, -1, 30, 21, 16, 17, -1, 32, 20, 17, -1, 19, 30, 17, 13, 32, -1, 35, 20, 17, 17, 24, -1, 35, 21, 32, 20, -1, 25, 17, 4, -1, 25, 37, -1, 24, 27, 34, 17, 0],
            [2, 13, 26, 16, -1, 32, 20, 17, -1, 23, 21, 26, 19, -1, 13, 26, 16, -1, 29, 33, 17, 17, 26, -1, 27, 18, -1, 32, 20, 17, -1, 31, 27, 33, 24, -1, 31, 37, 25, 28, 20, 27, 26, 37, -1, 16, 13, 26, 15, 17, 16, -1, 21, 26, -1, 32, 20, 17, -1, 13, 21, 30, 6, 3],
            [17, 34, 17, 30, 37, -1, 31, 32, 17, 28, -1, 35, 17, -1, 17, 34, 17, 30, -1, 30, 27, 24, 24, 17, 16, 4, -1, 17, 34, 17, 30, 37, -1, 35, 13, 24, 24, -1, 35, 17, -1, 17, 34, 17, 30, -1, 14, 27, 33, 26, 15, 17, 16, -1, 18, 30, 27, 25, -1, 5],
            [5, -1, 17, 34, 17, 30, 37, -1, 26, 27, 32, 17, -1, 35, 17, -1, 16, 30, 27, 28, 28, 17, 16, -1, 13, 26, 16, -1, 18, 27, 33, 26, 16, 6, -1, 21, 32, -1, 21, 31, -1, 13, 24, 24, -1, 20, 17, 30, 17, 6, -1, 21, 32, -1, 21, 31, -1, 13, 24, 24, -1, 31, 21, 26, 19, 21, 26, 19, 6],
            [24, 21, 32, 32, 24, 17, -1, 23, 17, 17, 28, 17, 30, 4, -1, 35, 20, 13, 32, -1, 20, 13, 28, 28, 17, 26, 31, -1, 32, 27, -1, 32, 20, 17, -1, 31, 27, 26, 19, -1, 32, 27, 25, 27, 30, 30, 27, 35, 8],
            [32, 27, 25, 27, 30, 30, 27, 35, -1, 21, 32, -1, 35, 13, 23, 17, 31, -1, 33, 28, -1, 20, 33, 26, 19, 30, 37, 4, -1, 13, 31, -1, 31, 27, 26, 19, 31, -1, 16, 27, 6, -1, 37, 27, 33, -1, 35, 21, 24, 24, -1, 18, 17, 17, 16, -1, 21, 32, -1, 26, 17, 35, -1, 30, 27, 13, 16, 31, 6],
            [2, 32, 20, 17, -1, 16, 30, 13, 19, 27, 26, -1, 14, 27, 35, 17, 16, 6, -1, 32, 20, 17, -1, 35, 20, 17, 17, 24, -1, 31, 24, 27, 35, 17, 16, 6, -1, 32, 20, 17, -1, 24, 13, 26, 32, 17, 30, 26, 31, -1, 24, 17, 13, 26, 17, 16, -1, 21, 26, -1, 32, 27, -1, 24, 21, 31, 32, 17, 26, 6, 3],
            [27, 26, 17, -1, 25, 27, 30, 17, -1, 34, 17, 30, 31, 17, 6, -1, 32, 27, 19, 17, 32, 20, 17, 30, 6, -1, 18, 27, 30, -1, 32, 20, 17, -1, 30, 27, 13, 16, 31, -1, 35, 17, -1, 20, 13, 34, 17, -1, 26, 27, 32, -1, 25, 17, 32, -1, 37, 17, 32, 6],
            [2, 13, 26, 16, -1, 32, 20, 17, -1, 35, 20, 27, 24, 17, -1, 31, 23, 37, -1, 31, 13, 26, 19, -1, 32, 20, 17, -1, 24, 33, 24, 24, 13, 14, 37, -1, 14, 13, 15, 23, -1, 32, 27, -1, 32, 20, 17, 25, 4, -1, 35, 27, 30, 16, -1, 18, 27, 30, -1, 35, 27, 30, 16, 6, 3],
            [2, 19, 27, 27, 16, 26, 21, 19, 20, 32, 4, -1, 24, 21, 32, 32, 24, 17, -1, 14, 17, 13, 30, 17, 30, 31, 6, -1, 32, 20, 17, -1, 31, 27, 26, 19, -1, 23, 17, 17, 28, 31, -1, 35, 13, 32, 15, 20, 6, -1, 21, 32, -1, 13, 24, 35, 13, 37, 31, -1, 16, 21, 16, 6, 3],
        ]
    }
    ถ้า ภาษา == 2 {
        คืน [
            [62, 51, 51, 139, 150, 65, 38, -1, 107, 20, 106, 123, 119, 85, 57, 153, 65, -1, 150, 101, 129, 47, 57, 57, 6, 101, 130, 62, 64, 133, 57, 6, 155, 149, 65, 135, 38, 123, 123, 6, 38, 131, 20, 38, 107, 20, 42, 133],
            [2, 55, 123, 20, 81, 133, 21, 38, 21, 134, 52, 6, 27, 137, 57, 117, 107, 57, 51, 139, 84, 130, 57, 149, 13, 88, 76, 93, 133, 6, 153, 65, 153, 41, 51, 132, 20, 119, 84, 38, 3],
            [42, 130, 107, 123, 130, 6, 112, 93, 51, 132, 20, 119, 101, 133, 88, 0, -1, 21, 130, 38, 150, 47, 107, 0, -1, 149, 76, 101, 20, 6, 105, 123, 84, 6, 134, 101, 130, 20, 62, 135, 57, 6, 101, 130, 62, 64, 133, 57, 13, 146, 57, 57, 140, 0],
            [65, 93, 133, 113, 133, 51, 0, -1, 84, 130, 57, 6, 134, 101, 130, 20, 6, 101, 130, 62, 84, 133, 150, 106, 107, -1, 51, 138, 101, 129, 27, 137, 57, -1, 51, 138, 101, 129, 13, 133, 57, 0],
            [20, 132, 57, 6, 155, 152, 121, 84, 130, 57, 98, 123, 57, 101, 20, 62, 57, 38, 57, 42, 93, 138, 149, 47, 135, 38, -1, 153, 86, 84, 138, 123, 129, 153, 93, 98, 123, 57, 101, 20, 153, 41, 58, 84, 57, 107, 101, 6, 108, 133, 57, 140, 123, 138, 6, 150, 106, 107],
            [2, 150, 101, 129, 6, 134, 150, 76, 20, 149, 8, 133, 6, 155, 12, 133, 84, 38, 107, 20, 38, 133, 107, 38, 131, 20, 38, 133, 107, 119, 133, 20, 51, 139, 6, 134, 101, 130, 20, 6, 101, 130, 62, 93, 130, 20, 3],
            [52, 6, 47, 57, 57, 51, 139, 149, 93, 133, 149, 13, 88, 149, 38, 135, 57, 72, 133, 57, 6, 134, 101, 130, 20, 10, 130, 62, 10, 133, 57, 123, 90, 82, 133, 88, 152, 57, 47, 57, 57, 113, 133, 88, 57, 140, 0],
            [38, 130, 20, 10, 145, 57, 123, 138, 6, 119, 60, 123, 88, -1, 71, 150, 62, 6, 62, 51, 149, 76, 101, 20, 42, 130, 107, 61, 123, 88, 0, -1, 13, 107, 133, 84, 84, 146, 38, 6, 134, 101, 130, 20, 42, 132, 20, 152, 21, 79, 130, 20, 123, 91, 133, 20, 114, 82, 133, 76, 149, 65, 155, 57, 13, 93, 132, 20, 150, 93, 6, 0],
            [55, 123, 20, 81, 133, 149, 127, 88, 0, -1, 149, 25, 133, 153, 41, 93, 130, 6, 112, 133, 62, 51, 149, 76, 101, 20, 10, 123, 20, 149, 93, 133, 153, 109, 123, 91, 133, 20, 65, 101, 123, 38, 82, 130, 88, -1, 62, 130, 38, 57, 140, 21, 20, 93, 130, 6, 112, 133, 64, 133, 57, 10, 123, 20, 149, 93, 133, 153, 109, 41, 107, 88, 149, 47, 135, 38, 0],
            [2, 38, 107, 20, 42, 133, 123, 130, 57, 88, 136, 20, 152, 119, 33, 149, 62, 148, 123, 20, 62, 57, 84, 123, 20, 101, 20, 84, 133, 149, 65, 155, 57, 13, 93, 132, 20, 114, 38, 55, 133, 88, 4, 4, 4, 3],
            [2, 4, 4, 4, 150, 101, 129, 150, 106, 107, 123, 91, 133, 20, 150, 72, 107, 149, 62, 133, 51, 139, 114, 38, -1, 84, 130, 57, 6, 155, 88, 137, 84, 150, 101, 129, 119, 101, 130, 62, 152, 119, 101, 153, 65, 3],
            [84, 130, 57, 21, 62, 101, 20, 150, 106, 107, -1, 153, 86, 113, 135, 4, 4, 4, 84, 130, 57, 149, 76, 136, 20, 149, 93, 136, 84, 46, 57, 45, 133, 20, 119, 133, 6],
            [6, 101, 130, 62, 64, 133, 57, 149, 47, 135, 38, -1, 51, 139, 93, 130, 6, -1, 149, 76, 101, 20, 6, 105, 123, 84, 97, 108, 133, 51, 139, 149, 119, 101, 146, 123, 46, 123, 20, 51, 134, 123, 91, 133, 20, 153, 93],
            [2, 150, 101, 129, 65, 93, 133, 113, 133, 51, 6, 155, 22, 38, 42, 129, 149, 6, 138, 88, 20, 10, 145, 57, -1, 150, 101, 129, 152, 57, 51, 139, 114, 38, 93, 133, 42, 93, 138, 57, 132, 57, 6, 155, 125, 123, 57, 151, 88, 57, 3],
            [2, 150, 106, 107, 93, 133, 42, 93, 138, 123, 130, 57, 125, 123, 57, 151, 88, 57, 6, 155, 51, 134, 113, 136, 20, 51, 139, 93, 133, 42, 93, 138, 125, 123, 57, 151, 88, 57, 84, 130, 6, 51, 134, 6, 130, 57, -1, 13, 146, 123, 21, 130, 38, 20, 133, 57, 149, 51, 110, 6, 133, 101, 10, 145, 57, 3],
            [76, 102, 153, 79, 0, -1, 149, 38, 142, 88, 107, 57, 129, 4, 4, 4, 57, 131, 57, 42, 130, 107, 123, 130, 6, 112, 93, 10, 123, 20, 149, 93, 133, 6, 134, 101, 130, 20, 93, 129, 149, 62, 135, 38, 123, 90, 119, 93, 146, 123, 149, 65, 105, 133, 5, -1, 123, 91, 133, 20, 150, 72, 107, 149, 62, 133, 41, 107, 88, 149, 57, 139, 88, 57, 129, 5, 0],
            [76, 107, 6, 84, 130, 57, 123, 133, 113, 133, 149, 123, 20, 57, 129, 0, -1, 42, 130, 107, 123, 130, 6, 112, 93, 60, 129, 84, 130, 57, 27, 123, 62, 51, 134, 123, 129, 153, 93, 152, 119, 33, 151, 42, -1, 57, 131, 57, 150, 119, 101, 129, 149, 119, 43, 68, 101, 51, 139, 12, 133, 149, 6, 155, 62, 84, 130, 57, 153, 109],
            [2, 84, 130, 20, 6, 93, 150, 120, 20, 150, 113, 20, 6, 93, 129, 38, 133, 112, 107, 57, 149, 107, 138, 88, 57, 105, 123, 20, 101, 20, 84, 133, 42, 133, 84, 62, 130, 57, 153, 38, 150, 120, 20, 55, 123, 20, 81, 133, 3],
            [107, 20, 106, 123, 0, -1, 84, 133, 10, 139, 107, 20, 106, 123, 123, 130, 57, 88, 136, 20, 152, 119, 33, 153, 65, 6, 130, 62, 26, 130, 57, 113, 135, -1, 51, 139, 93, 130, 6, 0],
            [2, 150, 101, 129, 93, 133, 27, 133, 6, 130, 62, 93, 133, 27, 135, 57, 138, 150, 120, 20, 62, 51, 149, 76, 101, 20, 150, 120, 20, 21, 135, 42, 107, 135, 32, 32, 133, 37, 6, 155, 149, 93, 135, 20, 93, 129, 62, 134, 123, 90, 6, 101, 133, 20, 123, 133, 6, 133, 110, 3],
            [52, 6, 9, 133, 107, 51, 139, 149, 93, 133, 149, 13, 88, 6, 101, 137, 20, 153, 65, -1, 52, 6, 6, 134, 150, 76, 20, 51, 139, 149, 93, 133, 149, 13, 88, 6, 93, 129, 38, 123, 57, 123, 123, 6, 84, 133, 157],
            [157, 52, 6, 151, 61, 42, 51, 139, 149, 93, 133, 51, 134, 119, 105, 57, 150, 106, 107, 42, 133, 84, 119, 133, 149, 21, 123, -1, 84, 130, 57, 123, 90, 51, 139, 57, 139, 51, 132, 20, 119, 84, 38, -1, 84, 130, 57, 6, 134, 101, 130, 20, 10, 130, 62, 10, 133, 57, 123, 90, 51, 132, 20, 119, 84, 38],
            [71, 40, 150, 101, 42, 130, 107, 61, 123, 88, -1, 76, 95, 20, 57, 140, 21, 129, 149, 6, 135, 38, 123, 129, 153, 93, 10, 145, 57, 6, 130, 62, 62, 51, 149, 76, 101, 20, 57, 140],
            [76, 95, 20, 57, 140, 84, 130, 57, 21, 129, 42, 147, 57, 10, 145, 57, 84, 133, 41, 107, 88, 13, 107, 133, 84, 119, 135, 107, 151, 119, 88, -1, 149, 119, 84, 146, 123, 57, 51, 139, 62, 51, 149, 76, 101, 20, 84, 130, 6, 149, 65, 155, 57, -1, 54, 133, 57, 21, 129, 46, 123, 20, 66, 123, 57, 47, 57, 57, 113, 133, 88, 152, 119, 86, 154, -1, 152, 121, 84, 130, 57],
            [2, 84, 130, 20, 6, 93, 151, 18, 20, 13, 134, 57, 130, 62, -1, 107, 20, 106, 123, 119, 85, 57, 29, 133, 101, 20, -1, 151, 13, 84, 153, 79, 51, 132, 20, 119, 101, 133, 88, 149, 123, 57, 149, 12, 133, 84, 133, 79, 130, 20, 3],
            [123, 138, 6, 54, 123, 57, 119, 57, 144, 20, -1, 41, 107, 88, 6, 130, 57, 57, 129, -1, 149, 76, 147, 123, 47, 57, 57, 113, 133, 88, 51, 139, 149, 93, 133, 88, 130, 20, 153, 86, 149, 13, 88, 76, 62, 149, 21, 123],
            [2, 150, 101, 129, 55, 123, 20, 81, 133, 51, 132, 20, 68, 146, 57, 6, 155, 10, 130, 62, 10, 133, 57, 149, 76, 101, 20, 6, 105, 123, 84, 57, 132, 57, 6, 101, 130, 62, 13, 146, 57, 152, 121, 76, 107, 6, 149, 10, 133, -1, 13, 134, 45, 123, 13, 134, 3],
            [2, 93, 133, 42, 93, 138, 113, 107, 130, 113, 38, 135, 156, -1, 71, 150, 62, 6, 62, 51, 149, 76, 101, 20, 42, 130, 107, 61, 123, 88, -1, 62, 51, 149, 76, 101, 20, 21, 129, 13, 123, 88, 149, 75, 133, 40, 150, 101, 149, 113, 84, 123, -1, 84, 130, 57, 149, 65, 155, 57, 149, 28, 57, 57, 132, 57, 84, 133, 42, 101, 123, 38, 3],
        ]
    }
    ถ้า ภาษา == 3 {
        คืน [
            [14, 402, 6, -1, 245, 470, 17, -1, 136, 333, 43, 4, -1, 433, 381, 197, -1, 17, 115, -1, 67, 386, -1, 111, 446, 187, -1, 353, 195, 120],
            [2, 502, 116, 382, -1, 396, 318, 386, -1, 17, 412, 22, 130, -1, 229, 151, -1, 414, 18, 383, -1, 65, 341, 509, 120, 3],
            [63, 396, 153, 327, 0, -1, 127, 517, 383, -1, 24, 460, 174, 0, -1, 396, 402, 17, 17, -1, 359, 116, -1, 251, -1, 433, 381, 197, -1, 88, 327, 19, 120, 0],
            [57, 406, 386, 336, 0, -1, 136, 327, 359, 43, -1, 393, 340, -1, 5, -1, 414, 18, 414, 18, 4, -1, 127, 153, 261, -1, 502, 86, 502, 86, 326, 0],
            [60, 190, 120, 226, -1, 384, 328, -1, 378, 349, -1, 440, 427, 502, 33, -1, 502, 174, 6, -1, 60, 261, 120, -1, 128, -1, 267, 149, 188, 33, -1, 93, 192, 330, 115, -1, 32, 382, -1, 346, 120],
            [2, 60, 206, 43, -1, 358, -1, 258, 153, 382, -1, 147, 427, 197, -1, 136, 327, 359, 115, -1, 518, 297, 446, 187, -1, 260, 153, 383, -1, 17, 197, 430, 189, 120, 3],
            [369, 206, 17, -1, 30, 348, 130, -1, 229, 151, -1, 67, 386, -1, 386, -1, 329, 349, 292, -1, 105, 179, 502, 43, -1, 393, 340, 0],
            [128, -1, 471, 33, 4, -1, 340, 207, -1, 406, 124, 396, 153, 327, 0, -1, 340, 146, 386, -1, 386, 255, 213, 473, 382, -1, 410, 423, 502, 33, -1, 152, 43, -1, 393, 120, 0],
            [502, 116, 386, 351, 0, -1, 60, 127, 115, -1, 369, 206, 385, -1, 105, 179, 203, -1, 329, 406, 502, 33, -1, 427, 467, 420, 348, 120, 6, -1, 386, 411, -1, 369, 206, 385, -1, 433, 383, -1, 427, 467, 120, 359, 0],
            [2, 378, 385, -1, 28, 127, 503, -1, 111, 386, -1, 211, 427, 212, 381, 197, -1, 503, -1, 255, -1, 93, 192, 120, 261, 333, 120, 6, 6, 6, 3],
            [2, 6, 6, 6, 60, 206, 43, 4, -1, 327, 420, -1, 267, 149, 188, 33, 4, -1, 60, 32, 382, -1, 243, 302, -1, 427, 381, 225, -1, 400, 153, 348, 120, 3],
            [84, 90, 120, 6, -1, 327, 118, 4, -1, 386, 411, -1, 317, 397, 386, 120],
            [433, 381, 197, -1, 362, 367, 4, -1, 60, 127, 6, -1, 396, 402, 17, 17, -1, 86, 218, 427, 203, -1, 332, 43, -1, 393, 340, 367],
            [2, 60, 206, 43, -1, 57, 406, 382, -1, 156, 270, 383, -1, 250, 516, 43, 4, -1, 251, 382, -1, 211, 463, 93, -1, 120, 410, 508, 413, 120, 3],
            [2, 60, 184, 396, -1, 120, 410, 503, -1, 251, 382, -1, 120, 410, 503, -1, 251, 386, -1, 502, 115, -1, 389, 383, -1, 509, 120, 15, -1, 456, 411, 203, -1, 353, 348, 120, 3],
            [270, 78, 106, 386, 336, 0, -1, 400, 71, -1, 5, -1, 404, 28, -1, 369, 206, -1, 63, 396, 153, 386, -1, 480, 427, 115, -1, 28, 336, 16, -1, 267, 149, 188, 33, 16, 0],
            [60, 153, 386, -1, 396, 375, 509, 340, 367, 0, -1, 63, 396, 153, 382, -1, 61, 405, 386, 28, 151, 367, 6, -1, 60, 179, 292, -1, 411, 17, -1, 60, 153, 383, -1, 41, 349, -1, 143, 115, -1, 28, 357, 367],
            [2, 418, 386, -1, 276, 381, 197, -1, 141, -1, 368, 386, -1, 502, 116, 385, -1, 42, 122, 383, -1, 275, 275, -1, 136, 225, -1, 93, 192, 364, 120, 3],
            [245, 470, 336, 0, -1, 86, 362, -1, 505, 75, -1, 60, -1, 28, 127, 503, -1, 245, 470, 203, -1, 477, 396, 4, -1, 93, -1, 283, 178, 0],
            [2, 60, 206, 43, -1, 302, 371, -1, 320, 494, 118, 385, -1, 365, 49, -1, 351, 365, 382, -1, 48, 423, 349, 292, -1, 458, 383, -1, 455, 348, 120, 3],
            [369, 206, 17, -1, 55, 189, 130, -1, 229, 151, -1, 30, 384, 4, -1, 369, 206, 17, -1, 484, 35, -1, 86, 364, 130, -1, 229, 151, -1, 258, -1, 5],
            [5, -1, 369, 206, 17, -1, 167, 340, 171, 206, 43, -1, 120, 317, -1, 444, 382, -1, 229, 151, -1, 384, 495, 6, -1, 60, -1, 229, 151, -1, 32, 386, -1, 351, 65, -1, 393, 340, 6, -1, 60, -1, 229, 151, -1, 32, 386, -1, 105, 179, 502, 43, -1, 393, 340],
            [397, 382, -1, 307, 519, 396, 336, 4, -1, 93, 389, -1, 105, 179, 349, 33, 115, -1, 236, 314, -1, 389, 386, -1, 389, 340, 86, 118, 16],
            [93, 389, -1, 60, 32, 382, -1, 253, 43, 498, -1, 445, 197, -1, 73, 340, 86, 367, 4, -1, 105, 179, 153, 386, -1, 116, -1, 60, 190, 155, 386, 367, 6, -1, 351, 184, 269, 386, -1, 289, 197, 370, -1, 67, 153, 197, -1, 219, 351, 420, 33, -1, 142, -1, 28, 357, 367],
            [2, 368, 386, -1, 407, 383, -1, 509, 120, 6, -1, 245, 470, 17, -1, 114, 192, 413, 120, 6, -1, 156, 270, 153, 386, -1, 58, 203, -1, 65, 371, 386, 192, -1, 233, 383, -1, 65, 371, 355, 120, 3],
            [503, -1, 302, 407, 213, -1, 128, 6, -1, 505, 75, 6, -1, 327, 428, -1, 213, 86, 427, -1, 234, 503, -1, 67, 153, 383, -1, 378, 508],
            [2, 60, 206, 43, -1, 360, -1, 502, 116, 386, -1, 60, -1, 396, 402, 17, 203, -1, 60, 153, 349, 33, -1, 503, -1, 211, 157, -1, 503, -1, 211, 157, -1, 136, 192, -1, 105, 179, 508, 420, 348, 120, 3],
            [2, 399, -1, 396, 28, 174, 4, -1, 340, 207, -1, 406, 124, 396, 153, 327, 6, -1, 105, 179, 17, -1, 42, 303, -1, 427, 467, 264, -1, 32, 386, 120, 6, -1, 342, 411, 86, -1, 60, 179, 364, 155, 386, 3],
        ]
    }
    ถ้า ภาษา == 4 {
        คืน [
            [476, 170, 472, 7, 548, 551, 50, 216, 70, 6, 262, 55, 43, 281, 71, 570, 17, 448, 49, 68, 13, 46, 586, 12, 35],
            [1, 468, 50, 6, 24, 72, 59, 42, 243, 38, 41, 18, 35, 29, 56, 41, 49, 391, 429, 75, 528, 14, 41, 12, 35, 2],
            [355, 250, 35, 37, 68, 0, -1, 591, 180, 75, 487, 62, 0, -1, 143, 235, 6, 249, 254, 209, 17, 262, 55, 43, 615, 76, 42, 12, 20, 0],
            [261, 399, 36, 0, -1, 323, 38, 41, 18, 41, 12, 71, 6, 123, 39, 30, 39, 6, 385, 49, 123, 378, 123, 378, 59, 42, 0],
            [33, 72, 42, 50, 605, 386, 49, 128, 46, 451, 223, 26, 31, 59, 27, 67, 13, 7, 33, 72, 68, 70, 382, 69, 16, 20, 451, 223, 29, 71, 63, 49, 50, 11, 70, 59, 31, 76],
            [1, 195, 12, 229, 50, 6, 279, 55, 43, 281, 71, 296, 364, 49, 68, 13, 46, 364, 8, 75, 390, 179, 38, 41, 12, 38, 35, 2],
            [322, 8, 17, 396, 76, 42, 18, 35, 29, 56, 41, 49, 570, 17, 6, 24, 49, 123, 39, 49, 570, 49, 134, 42, 393, 38, 41, 12, 71, 0],
            [63, 38, 43, 237, 18, 20, 6, 268, 26, 45, 568, 53, 326, 26, 76, 35, 37, 0, -1, 588, 17, 143, 216, 51, 16, 70, 50, 459, 163, 395, 27, 20, 503, 12, 41, 12, 59, 29, 68, 0],
            [468, 68, 0, -1, 11, 45, 35, 50, 462, 35, 37, 49, 393, 75, 254, 38, 41, 20, 72, 59, 27, 35, 7, 143, 288, 50, 462, 35, 37, 49, 262, 75, 254, 38, 41, 20, 36, 26, 12, 0],
            [1, 610, 128, 49, 237, 12, 45, 71, 448, 50, 6, 372, 302, 46, 63, 13, 123, 288, 527, 129, 73, 27, 35, 5, 5, 2],
            [1, 5, 5, 33, 27, 41, 6, 43, 41, 63, 164, 27, 20, 6, 33, 72, 50, 305, 473, 76, 42, 450, 70, 46, 39, 12, 35, 2],
            [486, 74, 38, 35, 7, 12, 65, 5, 5, 248, 59, 38, 35, 49, 36],
            [262, 46, 281, 70, 59, 27, 67, 13, 6, 11, 45, 35, 7, 11, 43, 49, 24, 43, 50, 249, 254, 209, 17, 453, 38, 41, 12, 59, 29],
            [1, 33, 27, 41, 261, 399, 50, 422, 481, 75, 422, 27, 6, 235, 50, 39, 12, 46, 164, 27, 20, 45, 38, 35, 2],
            [1, 33, 27, 41, 164, 27, 12, 235, 50, 6, 164, 27, 12, 235, 17, 29, 71, 24, 43, 75, 27, 35, 7, 461, 70, 75, 586, 12, 35, 49, 36, 2],
            [513, 421, 36, 0, -1, 300, 41, 5, 5, 11, 72, 50, 322, 8, 49, 355, 250, 17, 428, 444, 27, 41, 12, 71, 49, 16, 3, -1, 27, 16, 63, 164, 27, 20, 3, 0],
            [508, 69, 308, 613, 27, 35, 76, 42, 29, 68, 0, -1, 355, 250, 35, 37, 50, 101, 114, 108, 97, 98, 85, 42, 29, 16, 69, 48, 7, 36, 16, 69, 462, 17, 326, 165, 46, 498, 12, 41, 12, 71, 76, 42, 29],
            [1, 484, 49, 167, 42, 42, 18, 35, 626, 17, 6, 468, 49, 592, 398, 75, 21, 71, 21, 71, 43, 510, 12, 589, 70, 41, 18, 35, 2],
            [11, 49, 548, 551, 42, 29, 0, -1, 462, 43, 123, 492, 46, 237, 18, 45, 548, 551, 46, 136, 38, 41, 20, 36, 26, 12, 6, 11, 45, 35, 0],
            [1, 33, 27, 41, 94, 81, 116, 121, 90, 120, 104, 82, 103, 122, 49, 433, 43, 433, 246, 50, 6, 257, 42, 545, 38, 35, 2],
            [322, 8, 17, 549, 17, 38, 35, 29, 56, 41, 49, 123, 396, 6, 322, 8, 17, 544, 48, 557, 38, 35, 29, 56, 41, 49, 229, 17, 4, 4],
            [4, 4, 462, 35, 37, 17, 517, 43, 27, 41, 527, 39, 22, 35, 29, 56, 41, 49, 605, 475, 63, 7, 29, 56, 41, 17, 24, 24, 46, 11, 70, 59, 29, 7, 29, 56, 41, 17, 393, 38, 41, 12, 59, 29],
            [268, 26, 45, 442, 142, 68, 6, 363, 362, 6, 24, 49, 393, 50, 44, 13, 45, 71, 49, 36, 3],
            [363, 362, 6, 33, 72, 50, 468, 507, 42, 448, 75, 528, 59, 27, 59, 29, 6, 393, 43, 12, 13, 63, 49, 50, 12, 39, 63, 33, 13, 42, 29, 16, 69, 7, 11, 45, 35, 359, 17, 358, 27, 12, 570, 75, 131, 14, 41, 65, 71, 49, 42, 29, 68],
            [1, 626, 50, 610, 75, 129, 23, 35, 7, 548, 551, 50, 66, 38, 20, 70, 46, 45, 38, 35, 7, 422, 481, 35, 37, 50, 501, 75, 162, 22, 68, 13, 43, 547, 75, 265, 31, 35, 2],
            [11, 43, 63, 13, 123, 478, 7, 123, 492, 46, 7, 59, 36, 176, 148, 38, 41, 12, 45, 12, 570, 8, 49, 35, 62, 46],
            [1, 33, 27, 41, 468, 169, 150, 17, 6, 33, 49, 249, 254, 209, 75, 123, 536, 123, 536, 6, 299, 69, 46, 393, 12, 557, 27, 35, 2],
            [1, 15, 65, 29, 60, 6, 268, 26, 45, 568, 53, 326, 35, 37, 68, 7, 393, 50, 527, 254, 70, 490, 22, 71, 7, 12, 39, 63, 33, 13, 27, 41, 18, 35, 68, 13, 46, 2],
        ]
    }
    ถ้า ภาษา == 5 {
        คืน [
            [617, 96, 612, 8, 743, 251, 742, 133, 38, 850, 205, 267, 573, 736, 248, 581, 584, 682, 583, 315],
            [848, 237, 607, 715, 333, 255, 445, 243, 731, 573, 489, 11, 548, 591, 548, 8, 849],
            [252, 488, 57, 847, 117, 798, 847, 50, 437, 850, 408, 624, 443, 278, 706, 830, 205, 267, 38, 847],
            [436, 265, 487, 847, 255, 482, 216, 322, 457, 850, 11, 548, 11, 548, 217, 850, 11, 468, 470, 11, 468, 470, 217, 847],
            [773, 278, 713, 255, 802, 695, 216, 819, 34, 32, 15, 170, 8, 500, 449, 49, 31, 695, 217, 673, 490, 755, 444, 464, 744, 38],
            [848, 155, 662, 573, 226, 227, 248, 322, 290, 573, 324, 434, 682, 608, 733, 38, 434, 750, 8, 849],
            [367, 57, 731, 752, 573, 489, 11, 456, 736, 850, 775, 216, 755, 11, 456, 736, 25, 480, 190, 582, 847],
            [104, 236, 228, 11, 537, 850, 276, 276, 573, 701, 663, 57, 847, 842, 441, 808, 333, 755, 31, 449, 594, 728, 217, 667, 171, 582, 176, 847],
            [237, 607, 191, 847, 78, 445, 257, 384, 38, 367, 57, 573, 480, 850, 248, 50, 850, 723, 257, 384, 367, 57, 573, 267, 170, 847],
            [848, 241, 821, 773, 157, 291, 236, 573, 581, 584, 850, 447, 163, 11, 478, 82, 708, 38, 16, 457, 6, 6, 849],
            [848, 6, 6, 805, 163, 850, 459, 100, 519, 464, 217, 850, 255, 335, 614, 582, 850, 585, 146, 38, 8, 849],
            [641, 455, 38, 8, 17, 6, 6, 755, 373, 119, 119, 315, 250],
            [205, 267, 170, 850, 367, 573, 547, 48, 8, 128, 16, 573, 39, 850, 408, 624, 443, 775, 588, 769],
            [848, 265, 487, 537, 46, 38, 533, 618, 850, 773, 11, 234, 850, 639, 41, 152, 333, 519, 464, 38, 8, 849],
            [848, 41, 436, 519, 464, 573, 234, 437, 87, 38, 519, 464, 573, 234, 437, 720, 87, 573, 39, 851, 255, 29, 131, 38, 11, 218, 306, 102, 8, 849],
            [539, 687, 847, 619, 619, 6, 6, 773, 44, 482, 216, 649, 414, 573, 850, 436, 367, 57, 573, 252, 488, 166, 852, 754, 755, 31, 519, 464, 217, 852, 847],
            [436, 255, 57, 677, 363, 573, 847, 252, 488, 57, 237, 563, 278, 547, 365, 127, 346, 8, 755, 36, 482, 436, 367, 569, 582, 255, 57, 573, 145, 206],
            [848, 11, 456, 565, 633, 18, 93, 638, 366, 573, 846, 850, 576, 426, 582, 52, 237, 607, 573, 800, 472, 15, 802, 38, 16, 457, 8, 849],
            [773, 24, 743, 251, 847, 179, 367, 11, 732, 836, 15, 773, 291, 743, 170, 850, 367, 573, 547, 48, 847],
            [848, 535, 838, 45, 185, 443, 573, 211, 554, 18, 554, 163, 850, 80, 216, 607, 25, 660, 660, 732, 681, 8, 849],
            [367, 57, 445, 525, 752, 573, 489, 11, 484, 850, 367, 57, 445, 321, 732, 573, 489, 11, 818, 226, 5, 5],
            [5, 5, 754, 449, 367, 57, 770, 695, 147, 378, 205, 573, 489, 11, 24, 819, 616, 8, 11, 115, 775, 216, 755, 779, 8, 11, 115, 775, 216, 480, 190],
            [276, 276, 573, 257, 384, 663, 191, 850, 433, 237, 850, 755, 833, 480, 65, 343, 467, 176, 852],
            [433, 237, 255, 777, 457, 432, 65, 831, 669, 749, 749, 850, 480, 443, 347, 436, 755, 467, 8, 78, 57, 706, 564, 423, 573, 769, 736, 457, 193, 103, 255],
            [848, 846, 71, 16, 38, 241, 8, 743, 251, 517, 517, 414, 651, 8, 533, 618, 57, 775, 86, 739, 667, 171, 582, 8, 849],
            [104, 190, 11, 486, 170, 8, 11, 732, 190, 8, 27, 38, 773, 44, 367, 57, 277, 452, 767, 707, 573, 769, 736],
            [848, 41, 436, 421, 548, 237, 607, 11, 252, 11, 156, 217, 850, 275, 773, 833, 408, 624, 443, 190, 205, 643, 38, 54, 57, 8, 849],
            [848, 437, 258, 850, 276, 276, 573, 701, 663, 57, 8, 755, 833, 480, 65, 257, 450, 582, 78, 57, 8, 255, 11, 577, 775, 436, 248, 483, 8, 849],
        ]
    }
    คืน []
}

ฟังก์ชัน ฉากบทแปด_บทพูด(ภาษา) {
    ถ้า ภาษา == 0 {
        คืน [
            "chaputa eito. hoiru tan, soshite homu rodo, ai no yo-ni opun.",
            "(sukai, eburi pisu, sore ever teiku shita mono, rimemba.)",
            "reta! fomeshon! rarabai, konya homu furai!",
            "parasu! sore kamu bakku - pisu bai pisu, bimu bai bimu!",
            "sorekara myujikku no ue-ni rando saseyo. nanimo sofuta rando shinai.",
            "(soshite orudo kabe, suta kurosu, kometto homu rusuto kamu no yo-ni.)",
            "eburi rodo wareware woku shita, kono wan no naka-de shingu!",
            "rauda, ritoru beara! daku, wan-do dake porait-ni risun!",
            "sukai! anata wareware-no songu sefu kipu shita. ima wareware-no homu kipu!",
            "(ue no gureito ai, rasuto wan taimu shita-o miru...)",
            "(...soshite, tottemo jentoru-ni, sore sumairu, suripu-ni iku.)",
            "sore oba. no - sore bigininggu.",
            "homu-ni kamu, rabu. rarabai, resuto shitte iru.",
            "(soshite parasu, rantan raito, soshite naito, atto rasuto, kaindo.)",
            "(sorekara kaindo naito, kaindo naito ga suru koto suru: fesutibaru suro.)",
            "faiawaku! weito - sore wareware-no reta ekusuprodo? jentoru-ni?!",
            "karera boranthia! reta, doramatikku. sore ga naze wareware karera kipu.",
            "(pepa raito no doragon, sukai no sutea-o rupingu daun kita.)",
            "hoiru! wareware to issho-ni gureito hoiru raido, mai rabu!",
            "(soshite soru shinfoni no kingu to kuin, ea no naka-de dansu.)",
            "eburi suteppu wareware ever roru, eburi kabe wareware ever baundo -",
            "- eburi noto wareware doroppu to faundo. sore oru koko. sore oru shingu.",
            "ritoru kipa, tumoro songu-ni nani ga hapun?",
            "tumoro sore hanguri-ni weiku, songu ga suru yo-ni. anata nyu rodo fido.",
            "(doragon bau. hoiru suro. rantan, risun suru tame rin.)",
            "wan moa vasu. issho-ni. wareware mada mitto shinai rodo no tame.",
            "(soshite oru sukai, rarabai karera-ni bakku shingu, wado fo wado.)",
            "(guddonaito, ritoru beara. songu, wotchi kipu. sore itsumo shita.)"
        ]
    }
    ถ้า ภาษา == 2 {
        คืน [
            "บทที่แปด วงล้อหมุนไป และถนนกลับบ้านก็เปิดออกดั่งดวงตา",
            "(ท้องฟ้าจดจำทุกชิ้นส่วนที่มันเคยพรากไปได้ทั้งหมด)",
            "ตัวอักษรทั้งหลาย! จัดแถว! เพลงกล่อมกำลังบินกลับบ้านคืนนี้!",
            "ปราสาท! มันกำลังกลับมาแล้ว ทีละชิ้น ทีละคาน!",
            "งั้นก็ให้มันร่อนลงบนดนตรีเถิด ไม่มีอะไรร่อนลงได้นุ่มนวลกว่านี้อีกแล้ว",
            "(และกำแพงเก่าก็ข้ามดวงดาวดั่งดาวหางที่กำลังกลับรัง)",
            "ทุกถนนที่เราเคยเดินผ่านกำลังขับขานอยู่ภายในถนนสายนี้!",
            "ดังขึ้นอีกหน่อย ผู้แบกบทเพลงตัวน้อย! ความมืดกำลังตั้งใจฟังอย่างสุภาพเป็นครั้งแรก!",
            "ท้องฟ้าเอ๋ย! เจ้าได้รักษาบทเพลงของเราไว้อย่างปลอดภัย บัดนี้จงรักษาบ้านของเราไว้ด้วยเถิด!",
            "(ดวงตาอันยิ่งใหญ่เบื้องบนมองลงมาเป็นครั้งสุดท้าย...)",
            "(...และแล้วอย่างแผ่วเบาที่สุด มันก็ยิ้มและหลับใหลไป)",
            "มันจบลงแล้ว ไม่สิ...มันเพิ่งเริ่มต้นต่างหาก",
            "กลับบ้านเถิด ที่รัก เพลงกล่อมรู้ว่าที่เหลือต้องทำอย่างไร",
            "(และปราสาทก็จุดตะเกียงขึ้น และในที่สุดราตรีนั้นก็อ่อนโยน)",
            "(แล้วราตรีอันอ่อนโยนก็ทำสิ่งที่ราตรีอ่อนโยนมักทำกัน คือจัดงานเทศกาลขึ้น)",
            "พลุไฟ! เดี๋ยวนะ...นั่นตัวอักษรของเรากำลังระเบิดอยู่หรือเปล่า? อย่างแผ่วเบาด้วยเนี่ยนะ?!",
            "พวกมันอาสาเองนะ! ตัวอักษรน่ะมันชอบทำอะไรใหญ่โต นั่นแหละเหตุผลที่ข้าเก็บมันไว้",
            "(มังกรแห่งแสงกระดาษวนเวียนล่องลงมาตามบันไดแห่งท้องฟ้า)",
            "วงล้อ! มาขี่วงล้ออันยิ่งใหญ่ไปกับฉันสิ ที่รัก!",
            "(และราชากับราชินีแห่งบทเพลงแห่งจิตวิญญาณก็เริงระบำอยู่กลางอากาศ)",
            "ทุกก้าวที่เราเคยกลิ้งไป ทุกกำแพงที่เราเคยกระดอนออกมา—",
            "—ทุกโน้ตที่เราทำหล่นแล้วตามหาเจอ มันอยู่ที่นี่ทั้งหมด มันกำลังขับขานอยู่ทั้งหมด",
            "ผู้ดูแลตัวน้อย พรุ่งนี้จะเกิดอะไรขึ้นกับบทเพลงนี้",
            "พรุ่งนี้มันจะตื่นขึ้นมาด้วยความหิวโหย เหมือนที่บทเพลงมักเป็น ท่านจะต้องป้อนถนนสายใหม่ๆ ให้มัน",
            "(มังกรโค้งคำนับ วงล้อหมุนช้าลง โคมไฟทั้งหลายเอนเข้ามาฟัง)",
            "อีกท่อนหนึ่ง ด้วยกันนะ เพื่อถนนสายที่เรายังไม่เคยพบเจอ",
            "(และท้องฟ้าทั้งผืนก็ขับขานเพลงกล่อมนั้นกลับคืนให้พวกเขา คำต่อคำ)",
            "(ราตรีสวัสดิ์ ผู้แบกบทเพลงตัวน้อย บทเพลงจะคอยเฝ้าดูแลเสมอ มันเป็นเช่นนั้นมาตลอด)"
        ]
    }
    ถ้า ภาษา == 3 {
        คืน [
            "8장. 바퀴가 돌았고, 집으로 가는 길이 눈처럼 열렸다",
            "(하늘은 자신이 가져갔던 모든 조각을 기억했다)",
            "글자들아! 대형을 갖춰라! 자장가가 오늘 밤 집으로 날아간다!",
            "궁전이야! 돌아오고 있어 - 조각조각, 대들보 하나하나씩!",
            "그렇다면 음악 위에 착지하게 하라. 그보다 더 부드럽게 내려앉는 것은 없다",
            "(그리고 옛 벽들은 둥지로 돌아오는 혜성처럼 별들을 가로질렀다)",
            "우리가 걸었던 모든 길이 이 안에서 노래하고 있어!",
            "더 크게, 어린 전달자들아! 어둠이 이번만큼은 정중하게 듣고 있다!",
            "하늘이여! 그대는 우리의 노래를 안전하게 지켜주었다. 이제 우리의 집을 지켜다오!",
            "(위의 거대한 눈이 마지막으로 한 번 내려다보았다...)",
            "(...그리고, 아주 부드럽게, 그것은 미소 지으며 잠들었다)",
            "끝났다. 아니, 이제 시작이다",
            "집으로 와요, 그대. 자장가가 나머지를 알고 있어요",
            "(그리고 궁전은 등불을 밝혔고, 밤은 마침내 다정해졌다)",
            "(그러자 다정한 밤은 다정한 밤이 하는 일을 했다: 축제를 열었다)",
            "불꽃놀이야! 잠깐 - 저거 우리 글자들이 터지는 거야? 부드럽게?!",
            "그들이 자원했어요! 글자들은 극적이거든요. 그래서 제가 그들을 곁에 두는 거예요",
            "(종이 빛으로 된 용이 하늘의 계단을 빙빙 돌며 내려왔다)",
            "바퀴야! 나와 함께 그 거대한 바퀴를 타자, 내 사랑!",
            "(그리고 소울 심포니의 왕과 여왕은 공중에서 춤을 추었다)",
            "우리가 굴렀던 모든 걸음, 우리가 튕겨 나왔던 모든 벽 -",
            "- 우리가 떨어뜨리고 다시 찾은 모든 음표. 그 모든 것이 여기 있어. 그 모든 것이 노래하고 있어",
            "작은 수호자야, 내일 노래에게는 무슨 일이 일어나니?",
            "내일 그것은 배고픈 채로 깨어나요, 노래들이 늘 그렇듯이요. 여러분이 새로운 길들로 먹여주게 될 거예요",
            "(용이 절을 했다. 바퀴가 느려졌다. 등불들이 귀를 기울이려 몸을 기울였다)",
            "한 소절만 더. 함께. 아직 만나지 못한 길들을 위해",
            "(그리고 온 하늘이 그 자장가를 그들에게 한 마디 한 마디 돌려 노래해주었다)",
            "(잘 자거라, 어린 전달자들아. 노래가 계속 지켜볼 것이다. 언제나 그래왔듯이)"
        ]
    }
    ถ้า ภาษา == 4 {
        คืน [
            "第八章。車輪は回り、家へと帰る道が目のように開いた",
            "(空は、これまで奪ってきたすべての欠片を覚えていた)",
            "文字たちよ! 隊列を組め! 今夜、子守唄が家へと飛んでいく!",
            "宮殿だ! 戻ってきている、一つずつ、梁の一本一本まで!",
            "それでは音楽の上に着地させましょう。それより柔らかく着地するものはありません",
            "(古い壁は、巣へと帰る彗星のように星々を横切っていった)",
            "我々が歩んできたすべての道が、この一つの道の中で歌っている!",
            "もっと大きく、小さな運び手さんたち! 闇が今回ばかりは礼儀正しく聞いていますよ!",
            "空よ! あなたは私たちの歌を守ってくれました。今度は私たちの家を守ってください!",
            "(頭上の大いなる目は、最後にもう一度見下ろした……)",
            "(……そして、とても優しく、それは微笑んで眠りについた)",
            "終わった。いや……始まったのだ",
            "家に帰りましょう、あなた。あとのことは子守唄が知っています",
            "(そして宮殿は灯籠を灯し、夜はついに優しくなった)",
            "(そして優しい夜は、優しい夜がすることをした。祭りを開いたのだ)",
            "花火だ! 待て……あれは我々の文字が爆発しているのか? しかも優しく?!",
            "自ら志願したんですよ! 文字たちはドラマチックですからね。だから私が手元に置いているんです",
            "(紙の光でできた龍が、空の階段をぐるぐると舞い降りてきた)",
            "あの車輪です! 私と一緒に大きな車輪に乗ってください、あなた!",
            "(そしてソウル・シンフォニーの王と王妃は、宙で踊った)",
            "我々が転がったすべての一歩、我々が跳ね返ったすべての壁が――",
            "――私たちが落として見つけたすべての音符も。すべてがここにあります。すべてが歌っています",
            "小さな番人よ、明日、この歌はどうなるのだ?",
            "明日、それは空腹で目を覚まします、歌というものはいつもそうですから。あなた方が新しい道を与えてやるのですよ",
            "(龍は頭を下げた。車輪はゆっくりになった。灯籠たちは耳を傾けようと身を寄せた)",
            "あともう一節。一緒に。まだ出会っていない道々のために",
            "(そして空全体が、その子守唄を一語一語、彼らに歌い返した)",
            "(おやすみ、小さな運び手たちよ。歌は見守り続ける。いつもそうしてきたように)"
        ]
    }
    ถ้า ภาษา == 5 {
        คืน [
            "第八章。轮子转动了,回家的路如眼睛般睁开",
            "(天空记得它曾夺走的每一片碎片。)",
            "字母们!列队!今晚,摇篮曲就要飞回家了!",
            "是宫殿!它正在归来,一片一片地,一根梁一根梁地!",
            "那就让它降落在音乐之上吧。没有什么落地能比这更柔软了",
            "(古老的墙壁如归巢的彗星般穿越了星辰。)",
            "我们走过的每一条路,都在这一条路中歌唱着!",
            "再大声一点,小小的行者们!黑暗难得这么有礼貌地聆听着呢!",
            "天空啊!你曾守护了我们的歌,如今,请守护我们的家吧!",
            "(头顶那只巨大的眼睛,最后一次俯视了下来……)",
            "(……随后,极其温柔地,它微笑着,睡去了。)",
            "结束了。不……这才刚刚开始",
            "回家吧,我的爱人。剩下的事,摇篮曲都知道",
            "(宫殿点亮了灯笼,那一夜,终于变得温柔了。)",
            "(于是温柔的夜晚做了温柔的夜晚该做的事:它举办了一场庆典。)",
            "烟花!等等……那些正在绽放的,是我们的字母吗?还这么温柔地?!",
            "是它们自愿的!字母们天生就爱戏剧性。这也正是我留着它们的原因",
            "(一条由纸与光织成的龙,盘旋着从天空的阶梯上降了下来。)",
            "那个轮子!和我一起骑上那巨轮吧,我的爱人!",
            "(灵魂交响曲的国王与王后,便在空中翩翩起舞。)",
            "我们曾滚过的每一步,我们曾弹起的每一面墙——",
            "——还有我们遗落又找回的每一个音符。一切都在这里。一切都在歌唱",
            "小小的守护者啊,明天,这首歌会怎样呢?",
            "明天它醒来时会饥肠辘辘,歌曲总是这样。你们要用新的道路来喂养它",
            "(龙低下了头。轮子渐渐放缓。灯笼们都倾身聆听着。)",
            "再唱一段吧。一起唱。为了那些我们尚未遇见的道路",
            "(于是整片天空一字一句地,将那首摇篮曲唱回给了他们。)",
            "(晚安,小小的行者们。这首歌会守望着你们。它一直都是如此。)"
        ]
    }
    คืน [
        "chapter eight. the wheel turned, and the road home opened like an eye.",
        "(the sky remembered every piece it had ever taken.)",
        "letters! formation! the lullaby flies home tonight!",
        "the palace! it is coming back - piece by piece, beam by beam!",
        "then let it land on music. nothing lands softer.",
        "(and the old walls crossed the stars like comets coming home to roost.)",
        "every road we walked is singing inside this one!",
        "louder, little bearers! the dark is listening politely for once!",
        "sky! you kept our song safe. now keep our home!",
        "(the great eye above looked down one last time...)",
        "(...and, very gently, it smiled and went to sleep.)",
        "it is over. no - it is beginning.",
        "come home, love. the lullaby knows the rest.",
        "(and the palace lit its lanterns, and the night, at last, was kind.)",
        "(then the kind night did what kind nights do: it threw a festival.)",
        "fireworks! wait - are those our letters exploding? gently?!",
        "they volunteered! letters are dramatic. it is why i keep them.",
        "(a dragon of paper light came looping down the stairs of the sky.)",
        "the wheel! ride the great wheel with me, my love!",
        "(and the king and queen of the soul symphony danced in the air.)",
        "every step we ever rolled, every wall we ever bounced from -",
        "- every note we dropped and found. it is all here. it is all singing.",
        "little keeper, what happens to the song tomorrow?",
        "tomorrow it wakes up hungry, as songs do. you will feed it new roads.",
        "(the dragon bowed. the wheel slowed. the lanterns leaned in to listen.)",
        "one more verse. together. for the roads we have not met yet.",
        "(and the whole sky sang the lullaby back to them, word for word.)",
        "(goodnight, little bearers. the song keeps watch. it always did.)"
    ]
}

ฟังก์ชัน ฉากบทแปด_ผู้พูด() {
    คืน [0, 0, 3, 1, 2, 0, 1, 3, 2, 0, 0, 1, 2, 0,  0, 1, 3, 0, 2, 0, 1, 2, 1, 3, 0, 2, 0, 0]
}

# รหัสผู้พูดสำหรับพากย์เสียง (ต้องตรงกับ tools/voiceover/manifest.py ทุกตัวอักษร)
ฟังก์ชัน ฉากบทแปด_ผู้พูดรหัส() {
    คืน ["narrator", "narrator", "daemon", "king", "queen", "narrator", "king", "daemon", "queen", "narrator", "narrator", "king", "queen", "narrator", "narrator", "king", "daemon", "narrator", "queen", "narrator", "king", "queen", "king", "daemon", "narrator", "queen", "narrator", "narrator"]
}

# ระยะเวลาเล่นต่อบรรทัด (วิ) ตามภาษาพากย์เสียงจริง (วัดจาก tools/voiceover/
# progress.json ตอนอัด) — ให้ฉากรอเสียงพากย์จบก่อนตัดบรรทัด แทนจังหวะตายตัว
# 3.0 วิ/บรรทัด เดิม ภาษาที่ยังไม่มีเสียงพากย์ (ทุกภาษายกเว้น en ตอนนี้) ใช้
# จังหวะเดิมไปก่อน — คงพฤติกรรมเดิมทุกอย่างจนกว่าจะอัดเสียงภาษานั้นเสร็จ
ฟังก์ชัน ฉากบทแปด_ระยะเวลา(lang) {
    ถ้า lang == "ko" { คืน [5.46, 4.90, 6.42, 6.42, 9.06, 6.18, 3.94, 8.50, 8.34, 5.22, 5.86, 3.94, 4.58, 5.38, 6.50, 5.78, 9.14, 5.78, 6.02, 6.50, 4.18, 8.58, 3.78, 8.18, 9.46, 5.38, 7.14, 11.06] }
    ถ้า lang == "ja" { คืน [5.70, 5.54, 6.10, 5.54, 6.98, 6.58, 6.50, 9.62, 8.26, 4.18, 6.58, 4.90, 5.94, 5.86, 6.18, 7.30, 9.06, 5.22, 6.90, 6.26, 6.34, 8.90, 4.50, 10.74, 7.62, 5.78, 6.02, 7.38] }
    ถ้า lang == "zh" { คืน [4.66, 4.66, 5.78, 6.90, 5.22, 3.94, 4.50, 5.70, 7.22, 4.82, 5.46, 5.14, 4.74, 5.94, 7.38, 9.14, 5.86, 7.06, 4.26, 5.54, 5.54, 6.26, 4.90, 7.06, 6.42, 5.62, 6.02, 8.50] }
    ถ้า lang == "daemon" { คืน [7.14, 4.66, 4.42, 4.90, 6.18, 7.46, 5.22, 5.86, 7.22, 4.74, 6.42, 3.94, 3.70, 8.58, 6.34, 8.02, 7.78, 6.26, 6.02, 5.94, 5.86, 10.02, 4.18, 8.26, 8.74, 5.46, 7.14, 7.46] }
    ถ้า lang == "th" { คืน [4.76, 3.96, 5.16, 4.18, 5.26, 4.40, 4.76, 6.08, 6.36, 4.24, 3.80, 3.44, 3.96, 4.54, 5.74, 6.58, 6.26, 4.54, 4.28, 5.06, 4.42, 5.28, 4.32, 6.28, 4.72, 4.36, 5.00, 5.74] }
    ถ้า lang == "en" { คืน [4.98, 3.46, 4.34, 6.10, 5.06, 3.86, 3.06, 4.34, 5.22, 2.98, 4.82, 3.30, 4.02, 5.46, 4.50, 5.22, 4.74, 3.46, 3.86, 3.70, 5.38, 6.10, 3.70, 5.30, 5.06, 4.66, 5.46, 4.74] }
    คืน [3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00, 3.00]
}

ฟังก์ชัน ฉากบทแปด_สีวน(h) {
    คืน [floor((ไซน์(h)*0.5+0.5)*205+50), floor((ไซน์(h+2.094)*0.5+0.5)*205+50), floor((ไซน์(h+4.189)*0.5+0.5)*205+50)]
}

# พารามิเตอร์จาก main · เพลงฉาก = เพลงเมนู (Main_Menu.wav) · p0..p4 = ชิ้นวัง
ฟังก์ชัน เล่นฉากบทแปด(t, บทแปดเริ่ม, บทแปดสถานะ, musicOn, ปริมาณBGM, ปริมาณSFX, เพลงฉาก, ยาวเพลงฉาก, kCutMesh, qCutMesh, p0, p1, p2, p3, p4, liq, ภาษา, แสดงบทพูด, ภาษาบทพูด, ระยะเวลาไดนามิก) {
    bind บทพูด = ฉากบทแปด_บทพูด(ภาษาแสดงผล(ภาษา))
    bind บทพูดกลิฟ = ฉากบทแปด_บทพูดกลิฟ(ภาษาบทพูด)
    bind ไฮไลท์c8i = ฉากบทแปด_บทพูดไฮไลท์(ภาษาบทพูด)
    bind ผู้พูด = ฉากบทแปด_ผู้พูด()
    bind บทแปดผู้พูดรหัส = ฉากบทแปด_ผู้พูดรหัส()
    bind บทแปดระยะเวลา = ระยะเวลาไดนามิก
    bind c8t = t - บทแปดเริ่ม
    bind C8N = ความยาว(บทพูด)
    # ── ตารางเวลาสะสม: c8cum[i] = เวลาเริ่มบรรทัด i (แทนสูตร i*C8SEC ตายตัวเดิม) ──
    bind c8cum = [0.0]
    bind c8ci = 0
    ขณะที่ c8ci < C8N {
        bind c8cum = list_push(c8cum, list_get(c8cum, c8ci) + list_get(บทแปดระยะเวลา, c8ci))
        bind c8ci = c8ci + 1
    }
    bind C8TOTAL = list_get(c8cum, C8N)
    bind C8END = C8TOTAL + 3.0                                  # หาง 3 วิ: เล่นค้าง + เฟดดำ + กล้องถอย
    bind C8FADE = 0.0
    ถ้า c8t > C8END - 3.2 { bind C8FADE = (c8t - (C8END - 3.2)) / 3.2 }
    ถ้า C8FADE > 1.0 { bind C8FADE = 1.0 }
    bind c8i = 0
    bind c8scan = 1
    ขณะที่ c8scan == 1 {
        ถ้า c8i >= C8N - 1 { bind c8scan = 0 }
        มิฉะนั้น { ถ้า c8t < list_get(c8cum, c8i + 1) { bind c8scan = 0 }
        มิฉะนั้น { bind c8i = c8i + 1 } }
    }
    bind C8SEC = list_get(บทแปดระยะเวลา, c8i)                    # ระยะเวลาบรรทัดปัจจุบัน (ยังใช้เป็นค่าประมาณจังหวะทั่วไปด้านล่าง)
    bind ดำ = 1.0 - C8FADE

    bind บรรทัดก่อน = 0.0 - 1.0
    ถ้า บทแปดสถานะ >= 0.0 { bind บรรทัดก่อน = ปัดลง(บทแปดสถานะ / 1000.0) }

    ถ้า musicOn == 1 {
        ถ้า ยาวเพลงฉาก > 1.0 {
            ถ้า ตำแหน่งเพลง() >= ยาวเพลงฉาก - 0.5 { ค้นหาเพลง(0);  เล่นเพลง(เพลงฉาก) }
        }
        ระดับเพลง(ปริมาณBGM * 0.95 * 0.33 * ดำ)   # หรี่ BGM เหลือ 1/3 ระหว่างคัตซีน — เสียงพากย์ต้องเด่นกว่า
    }

    # ── บีต + ระดับพลัง: สงบ(0-1) → มหากาพย์(2-8) → ศานติ(9+) ──
    bind beat = c8t * 2.0
    bind bf = beat - ปัดลง(beat)
    bind อินเทน = 0.0
    ถ้า c8i >= 2 { bind อินเทน = (c8t - list_get(c8cum, 2)) / C8SEC;  ถ้า อินเทน > 1.0 { bind อินเทน = 1.0 } }
    ถ้า c8i >= 9 { bind อินเทน = อินเทน * (1.0 - (c8t - list_get(c8cum, 9))/(list_get(c8cum, 11) - list_get(c8cum, 9)));  ถ้า อินเทน < 0.0 { bind อินเทน = 0.0 } }
    bind t14 = list_get(c8cum, 14)
    bind เทศกาล = 0.0                                             # ส่วนสอง: งานเทศกาลราตรีใจดี
    ถ้า c8t > t14 { bind เทศกาล = (c8t - t14) / (list_get(c8cum, 16) - list_get(c8cum, 14)) };  ถ้า เทศกาล > 1.0 { bind เทศกาล = 1.0 }
    ถ้า c8i >= 24 { bind เทศกาล = เทศกาล * (1.0 - (c8t - list_get(c8cum, 24))/(list_get(c8cum, 27) - list_get(c8cum, 24))) }
    ถ้า เทศกาล < 0.0 { bind เทศกาล = 0.0 }
    bind อินเทน = อินเทน + เทศกาล*0.7                             # ป๊อปอาร์ต/รัศมีกลับมาช่วงเทศกาล
    ถ้า อินเทน > 1.0 { bind อินเทน = 1.0 }                        # กัน overdrive พื้นหลัง/ฮาล์ฟโทนขาวจ้าตอนเทศกาลพีค

    เบลอเฟรม(0.958)                                             # หางแสงค้าง ~1.25 วิ (decay+max)
    # ── พื้นหลังป๊อปอาร์ต: 2 สีตรงข้ามสลับ ~6.5Hz ตามระดับพลัง (โทนอนิเมะยุคเก่า) ──
    bind ปะ = 0.0
    ถ้า ไซน์(c8t*41.0) > 0.0 { bind ปะ = 1.0 }
    bind ฮิว = c8t*0.9
    bind บส1 = ฉากบทแปด_สีวน(ฮิว);  bind บส2 = ฉากบทแปด_สีวน(ฮิว + 3.1416)
    bind bgR = 7.0 + (list_get(บส1,0)*ปะ + list_get(บส2,0)*(1.0-ปะ)) * 0.30 * อินเทน
    bind bgG = 5.0 + (list_get(บส1,1)*ปะ + list_get(บส2,1)*(1.0-ปะ)) * 0.30 * อินเทน
    bind bgB = 14.0 + (list_get(บส1,2)*ปะ + list_get(บส2,2)*(1.0-ปะ)) * 0.30 * อินเทน
    เติม(floor(bgR*ดำ), floor(bgG*ดำ), floor(bgB*ดำ))
    set_depth_test(1)

    # ── ตำแหน่ง: คู่ลอยกลาง เดมอนอำนวยเพลงขวา · วังประกอบไกลกลางฟ้า ──
    bind กายสูง = 6.0
    bind โพส = ปัดลง(c8t*2.0) / 2.0                              # เวลาควอนไทซ์ = คีย์เฟรมอนิเมะ
    bind kx = 0.0 - 2.8;  bind ky = 0.0 - 3.0 + ไซน์(โพส*1.7)*0.8;      bind kz = 0.0 - 2.0
    bind qx = 2.8;        bind qy = 0.0 - 3.0 + ไซน์(โพส*1.7 + 1.1)*0.8;  bind qz = 0.0 - 2.0
    bind dmx = 7.5;  bind dmy = 0.0 - 8.5 + ไซน์(c8t*1.3)*0.5;  bind dmz = 4.0

    # ── แสง ──
    ล้างแสง()
    ตั้งแสงรอบข้าง(0.24*ดำ + 0.05 + อินเทน*0.06)
    เพิ่มแสง(0.0, 0.0-24.0, 8.0, 1.0, 0.9, 0.75, 1.3*ดำ, 110.0)
    เพิ่มแสง(kx, ky - 5.0, kz, 0.35, 0.55, 1.0, 0.95*ดำ, 30.0)
    เพิ่มแสง(qx, qy - 5.0, qz, 1.0, 0.45, 0.65, 0.95*ดำ, 30.0)
    เพิ่มแสง(dmx, dmy - 2.0, dmz, 1.0, 0.78, 0.42, 1.0*ดำ, 32.0)

    # ── กล้อง: ฮีโร่ช็อตต่ำ → ปั่นรอบวังประกอบ → กว้างเปิดตา → สงบถอยยาว ──
    bind camX = ไซน์(c8t*0.3)*2.0;  bind camY = 0.0 - 4.5;  bind camZ = 0.0 - 13.0
    bind lookX = 0.0;  bind lookY = 0.0 - 5.0;  bind lookZ = 8.0
    ถ้า c8i >= 3 { ถ้า c8i < 8 {
        bind s2 = (c8t - list_get(c8cum, 3)) / (list_get(c8cum, 8) - list_get(c8cum, 3))
        bind ag8 = 3.4 - s2*2.4
        bind camX = โคไซน์(ag8)*15.0
        bind camZ = 10.0 - ไซน์(ag8)*14.0
        bind camY = 0.0 - 6.0 - ไซน์(s2*3.1416)*3.0
        bind lookX = 0.0;  bind lookY = 0.0 - 6.0;  bind lookZ = 30.0
    } }
    ถ้า c8i >= 8 { ถ้า c8i < 11 {
        bind camX = 3.0;  bind camY = 0.0 - 7.5;  bind camZ = 0.0 - 22.0
        bind lookX = 0.0 - 6.0;  bind lookY = 0.0 - 18.0;  bind lookZ = 40.0     # เงยเห็นตาบนฟ้า + วังไกล
    } }
    ถ้า c8i >= 11 { ถ้า c8i < 14 {
        bind s4 = (c8t - list_get(c8cum, 11)) / (list_get(c8cum, 14) - list_get(c8cum, 11));  ถ้า s4 > 1.0 { bind s4 = 1.0 }
        bind camX = 0.0;  bind camY = 0.0 - 6.5 - s4*2.0;  bind camZ = 0.0 - 16.0 - s4*8.0
        bind lookX = 0.0;  bind lookY = 0.0 - 5.5;  bind lookZ = 34.0
    } }
    ถ้า c8i >= 14 { ถ้า c8i < 19 {
        bind ag14 = c8t*0.18
        bind camX = โคไซน์(ag14)*17.0;  bind camY = 0.0 - 8.5;  bind camZ = 8.0 - ไซน์(ag14)*15.0
        bind lookX = 0.0;  bind lookY = 0.0 - 7.0;  bind lookZ = 16.0
    } }
    ถ้า c8i >= 19 { ถ้า c8i < 22 {
        bind ag19 = c8t*0.3
        bind camX = โคไซน์(ag19)*13.0;  bind camY = 0.0 - 6.5;  bind camZ = 0.0 - ไซน์(ag19)*11.0 - 3.0
        bind lookX = 0.0;  bind lookY = 0.0 - 4.5;  bind lookZ = 0.0
    } }
    ถ้า c8i >= 22 { ถ้า c8i < 24 {
        bind camX = 5.5;  bind camY = 0.0 - 7.5;  bind camZ = 0.0 - 9.0
        bind lookX = 2.5;  bind lookY = 0.0 - 6.0;  bind lookZ = 2.0
    } }
    ถ้า c8i >= 24 {
        bind s24 = (c8t - list_get(c8cum, 24)) / (C8TOTAL - list_get(c8cum, 24));  ถ้า s24 > 1.0 { bind s24 = 1.0 }
        bind camX = ไซน์(c8t*0.06)*3.0;  bind camY = 0.0 - 8.0 - s24*4.0;  bind camZ = 0.0 - 18.0 - s24*10.0
        bind lookX = 0.0;  bind lookY = 0.0 - 6.0;  bind lookZ = 30.0
    }
    ถ้า c8t > C8TOTAL {                                        # หางเฟด: กล้องลอยขึ้น-ถอยช้า
        bind หลังฉาก = c8t - C8TOTAL
        bind camY = camY - หลังฉาก*0.6;  bind camZ = camZ - หลังฉาก*1.4
    }
    # กันกล้องเสียบเข้าออร่าเดมอน (ทรงกลม additive รัศมีถึง ~6.2) — เตะออกถ้าใกล้เกิน 8
    bind ดมdx = camX - dmx;  bind ดมdy = camY - (dmy - 2.0);  bind ดมdz = camZ - dmz
    bind ดมd = รากที่สอง(ดมdx*ดมdx + ดมdy*ดมdy + ดมdz*ดมdz) + 0.0001
    ถ้า ดมd < 8.0 {
        bind camX = dmx + ดมdx/ดมd*8.0
        bind camY = (dmy - 2.0) + ดมdy/ดมd*8.0
        bind camZ = dmz + ดมdz/ดมd*8.0
    }
    ตั้งกล้องมอง(camX, camY, camZ, lookX, lookY, lookZ)
    ตั้งระยะห่าง(1.85)

    # ── เส้นรัศมีมังงะ: ระเบิดจากกลางฉากทุกบีต (ความยาวเต้นตาม bf) ──
    โหมดผสม(1)
    ถ้า อินเทน > 0.05 {
        bind รศ = 0
        ขณะที่ รศ < 16 {
            bind ra = รศ * 0.3927 + ปัดลง(beat)*0.19              # หมุนทีละบีต (สแนป ไม่เลื่อน)
            bind r0 = 6.0 + (1.0-bf)*3.0
            bind r1 = 30.0 + (1.0-bf)*8.0
            bind สข = 255
            ถ้า รศ - ปัดลง(รศ/2.0)*2.0 > 0.5 { bind รค = ฉากบทแปด_สีวน(ฮิว + รศ) }
            มิฉะนั้น { bind รค = [255, 255, 255] }
            สีดินสอ(floor(list_get(รค,0)*อินเทน*ดำ), floor(list_get(รค,1)*อินเทน*ดำ), floor(list_get(รค,2)*อินเทน*ดำ))
            วาดเส้น3มิติ(โคไซน์(ra)*r0, 0.0-6.0+ไซน์(ra)*r0*0.8, 12.0,  โคไซน์(ra)*r1, 0.0-6.0+ไซน์(ra)*r1*0.8, 12.0)
            bind รศ = รศ + 1
        }
        # สกรีนโทนฮาล์ฟโทน: กริดจุดลอยเฉียง (ป๊อปอาร์ต)
        bind ฮจ = 0
        ขณะที่ ฮจ < 24 {
            bind hx = ((ฮจ - ปัดลง(ฮจ/6.0)*6.0) * 9.0 - 22.0) + ไซน์(c8t*0.7)*3.0
            bind hy = 0.0 - 22.0 + ปัดลง(ฮจ/6.0) * 8.0 + โคไซน์(c8t*0.9)*2.0
            สีดินสอ(floor(70*อินเทน*ดำ), floor(70*อินเทน*ดำ), floor(85*อินเทน*ดำ))
            วาดเส้น3มิติ(hx, hy, 26.0, hx + 0.7, hy, 26.0)
            bind ฮจ = ฮจ + 1
        }
    }
    flush_3d();  โหมดผสม(0)

    # ── วัง 5 ชิ้นบินกลับประกอบร่าง (ย้อนวาร์ปบทสาม): บรรทัด 3-8 · เกนแฟลชตามบีต ──
    bind ประกอบ = 0.0
    ถ้า c8t > list_get(c8cum, 3) { bind ประกอบ = (c8t - list_get(c8cum, 3)) / (list_get(c8cum, 8) - list_get(c8cum, 3)) }
    ถ้า ประกอบ > 1.0 { bind ประกอบ = 1.0 }
    bind ปส = ประกอบ*ประกอบ*(3.0 - 2.0*ประกอบ)
    bind วช8 = 0
    ขณะที่ วช8 < 5 {
        bind วม8 = p0
        ถ้า วช8 == 1 { bind วม8 = p1 };  ถ้า วช8 == 2 { bind วม8 = p2 }
        ถ้า วช8 == 3 { bind วม8 = p3 };  ถ้า วช8 == 4 { bind วม8 = p4 }
        bind ทศ8 = วช8 * 1.2566 + 0.6
        bind ไกล = (1.0 - ปส) * 46.0                              # บินเข้าจากรัศมีไกลรอบทิศ
        bind วx = โคไซน์(ทศ8) * ไกล
        bind วy = 0.5 - (1.0 - ปส) * (10.0 + วช8*4.0)
        bind วz = 34.0 + ไซน์(ทศ8) * ไกล * 0.5
        bind หมุน8 = 3.1416 + (1.0 - ปส) * (วช8 - 2.0) * 1.4
        bind เกน8 = 0.9 + อินเทน*(1.0-bf)*0.9                    # แฟลชตกบีต
        หมุนสีเมช(c8t*0.6 + วช8*1.257, เกน8)
        mesh_draw(วม8, วx, วy + 0.2, วz, 11.0, หมุน8, ไซน์(c8t*0.3)*0.01, 0.0, 0.0, 0.0, 0.0)
        ถ้า ปส < 0.98 {                                          # หางดาวหางของชิ้นที่ยังบิน
            โหมดผสม(1)
            bind หค8 = ฉากบทแปด_สีวน(ฮิว + วช8*1.26)
            อนุภาคทรงกลม(วx, วy - 3.0, วz, 2.4, 7, c8t*3.0 + วช8, list_get(หค8,0), list_get(หค8,1), list_get(หค8,2))
            flush_3d();  โหมดผสม(0)
        }
        bind วช8 = วช8 + 1
    }
    หมุนสีเมช(0.0, 1.0)
    flush_3d()
    ถ้า c8i >= 13 {                                              # "lit its lanterns": โคมวังอุ่นรับจบ
        แอ่งแสง(0.0-5.0, 0.7, 32.0, 8.0, 255, 195, 115, 0.5*ดำ)
        แอ่งแสง(5.0, 0.7, 32.0, 8.0, 255, 195, 115, 0.5*ดำ)
        แอ่งแสง(0.0, 0.7, 36.0, 12.0, 255, 210, 140, 0.35*ดำ)
    }

    # ── ตาบนฟ้า (บทสอง): บรรทัด 9-10 มองลงครั้งสุดท้าย → หลับ → กลายเป็นจันทร์เสี้ยวยิ้ม ──
    ถ้า c8i >= 8 {
        bind mr8 = 5.5;  bind mx8 = 0.0 - 12.0;  bind my8 = 0.0 - 34.0;  bind mz8 = 46.0
        bind หลับ = 0.0
        ถ้า c8t > list_get(c8cum, 10) { bind หลับ = (c8t - list_get(c8cum, 10)) / C8SEC };  ถ้า หลับ > 1.0 { bind หลับ = 1.0 }
        set_flat_shade(1.0)
        สีดินสอ(floor(150*ดำ), floor(154*ดำ), floor(112*ดำ))
        sphere(mx8, my8, mz8, mr8, mr8, mr8, 0.0, 0.0, 0.0, 0, 16, 12)
        flush_3d()
        bind fz8 = mz8 - mr8*0.82
        bind ตอ8 = 1.0 - หลับ*0.97                                # เปลือกตาปิดช้า ๆ
        สีดินสอ(floor(150*ดำ), 38, 20)
        วาดสามเหลี่ยม3มิติ(mx8 - mr8*0.32, my8 - mr8*0.18*ตอ8, fz8,  mx8 - mr8*0.08, my8 - mr8*0.10*ตอ8, fz8,  mx8 - mr8*0.20, my8 - mr8*0.01*ตอ8, fz8)
        วาดสามเหลี่ยม3มิติ(mx8 + mr8*0.32, my8 - mr8*0.18*ตอ8, fz8,  mx8 + mr8*0.08, my8 - mr8*0.10*ตอ8, fz8,  mx8 + mr8*0.20, my8 - mr8*0.01*ตอ8, fz8)
        ถ้า หลับ > 0.6 {                                          # ยิ้มเสี้ยวอ่อนโยน (โค้งขึ้น)
            bind ยม = 0
            ขณะที่ ยม < 8 {
                bind yx0 = (ยม/8.0 - 0.5) * mr8 * 0.8
                bind yx1 = ((ยม+1)/8.0 - 0.5) * mr8 * 0.8
                สีดินสอ(floor(200*ดำ*(หลับ-0.6)*2.5), floor(180*ดำ*(หลับ-0.6)*2.5), floor(120*ดำ*(หลับ-0.6)*2.5))
                วาดเส้น3มิติ(mx8 + yx0, my8 + mr8*0.30 - (yx0*yx0)/(mr8*0.8), fz8,  mx8 + yx1, my8 + mr8*0.30 - (yx1*yx1)/(mr8*0.8), fz8)
                bind ยม = ยม + 1
            }
        }
        flush_3d()
        set_flat_shade(0.0)
    }

    # ══ ส่วนสอง: เทศกาลราตรีใจดี — มังกรกระดาษแสง · วงล้อตัวอักษร · เสาโคม · บันไดแสง · พลุ ══
    ถ้า เทศกาล > 0.02 {
        bind มก = 0
        bind มกx0 = 0.0;  bind มกy0 = 0.0;  bind มกz0 = 0.0
        ขณะที่ มก < 10 {
            bind มph = c8t*0.55 - มก*0.22
            bind มx = ไซน์(มph)*15.0
            bind มy = 0.0 - 9.0 - ไซน์(มph*2.0 + 0.8)*4.5
            bind มz = 12.0 + โคไซน์(มph)*9.0
            bind มค = ฉากบทแปด_สีวน(มก*0.35 + c8t*1.2)
            set_flat_shade(1.0)
            สีดินสอ(floor(list_get(มค,0)*เทศกาล), floor(list_get(มค,1)*เทศกาล*0.75), floor(list_get(มค,2)*เทศกาล*0.4))
            sphere(มx, มy, มz, 1.15 - มก*0.07, 1.15 - มก*0.07, 1.15 - มก*0.07, 0.0, 0.0, 0.0, 0, 10, 8)
            ถ้า มก == 0 {
                สีดินสอ(floor(255*เทศกาล), floor(200*เทศกาล), floor(80*เทศกาล))
                torus(มx, มy, มz, 1.5, 1.5, 1.5, 1.5708, มph, 0.0, 0, 14, 8, 0.28)
                flush_3d()
                โหมดผสม(1)
                สีดินสอ(floor(255*เทศกาล), floor(120*เทศกาล), floor(60*เทศกาล))
                วาดเส้น3มิติ(มx, มy - 1.2, มz,  มx + ไซน์(c8t*5.0)*2.2, มy - 2.6, มz + 0.5)
                วาดเส้น3มิติ(มx, มy - 1.2, มz,  มx - ไซน์(c8t*4.3)*2.2, มy - 2.4, มz - 0.5)
                flush_3d();  โหมดผสม(0)
            }
            มิฉะนั้น {
                สีดินสอ(floor(list_get(มค,0)*0.5*เทศกาล), floor(list_get(มค,1)*0.4*เทศกาล), floor(list_get(มค,2)*0.25*เทศกาล))
                วาดเส้น3มิติ(มกx0, มกy0, มกz0, มx, มy, มz)
            }
            set_flat_shade(0.0)
            bind มกx0 = มx;  bind มกy0 = มy;  bind มกz0 = มz
            bind มก = มก + 1
        }
        flush_3d()
        bind ล้อเร็ว = 0.14
        ถ้า c8i >= 24 { bind ล้อเร็ว = 0.05 }
        bind ล้อมุม = c8t*ล้อเร็ว
        set_flat_shade(1.0)
        bind ลค = ฉากบทแปด_สีวน(c8t*0.5)
        สีดินสอ(floor(list_get(ลค,0)*0.65*เทศกาล), floor(list_get(ลค,1)*0.65*เทศกาล), floor(list_get(ลค,2)*0.65*เทศกาล))
        torus(0.0 - 14.0, 0.0 - 13.0, 26.0, 6.5, 6.5, 6.5, 0.0, ล้อมุม, 0.0, 0, 26, 10, 0.45)
        flush_3d()
        set_flat_shade(0.0)
        โหมดผสม(1)
        bind ลก = 0
        ขณะที่ ลก < 6 {
            bind ลa = ลก * 1.047 + ล้อมุม
            bind ลค2 = ฉากบทแปด_สีวน(ลก*1.1 + c8t*0.8)
            สีดินสอ(floor(list_get(ลค2,0)*เทศกาล), floor(list_get(ลค2,1)*เทศกาล), floor(list_get(ลค2,2)*เทศกาล))
            วาดกลิฟ3มิติ((ลก*4 + 7) - ปัดลง((ลก*4 + 7)/26.0)*26.0, 0.0 - 14.0 + โคไซน์(ลa)*6.5, 0.0 - 13.0 + ไซน์(ลa)*6.5, 25.4, ลa + 1.5708, 1.1)
            bind ลก = ลก + 1
        }
        flush_3d();  โหมดผสม(0)
        bind สค = 0
        ขณะที่ สค < 5 {
            bind สx = (สค - 2.0) * 7.5
            bind สจ = 0.7 + ไซน์(c8t*2.4 + สค*1.7)*0.3
            สีดินสอ(floor(110*เทศกาล), floor(80*เทศกาล), floor(60*เทศกาล))
            cylinder(สx, 0.5, 14.0, 0.35, 3.4, 0.35, 0.0, 0.0, 0.0, 0, 8)
            flush_3d()
            โหมดผสม(1)
            อนุภาคทรงกลม(สx, 0.0 - 3.6, 14.0, 1.0, 6, c8t*2.0 + สค, floor(255*สจ*เทศกาล), floor(190*สจ*เทศกาล), floor(100*สจ*เทศกาล))
            flush_3d();  โหมดผสม(0)
            แอ่งแสง(สx, 0.7, 14.0, 3.2, 255, 190, 110, 0.3*สจ*เทศกาล)
            bind สค = สค + 1
        }
        bind บด = 0
        ขณะที่ บด < 6 {
            bind บค = ฉากบทแปด_สีวน(บด*0.7 + c8t*0.9)
            สีดินสอ(floor(list_get(บค,0)*0.55*เทศกาล), floor(list_get(บค,1)*0.55*เทศกาล), floor(list_get(บค,2)*0.55*เทศกาล))
            วาดลูกบาศก์(9.0 + บด*1.6, 0.0 - 1.0 - บด*1.9 + ไซน์(c8t*1.8 + บด)*0.3, 20.0 + บด*2.4, 1.15)
            bind บด = บด + 1
        }
        flush_3d()
        bind พดัชนี = ปัดลง(c8t / 1.8)
        bind พเฟส = c8t/1.8 - พดัชนี
        ถ้า พเฟส < 0.75 {
            bind พx = ไซน์(พดัชนี*3.7)*16.0
            bind พy = 0.0 - 16.0 - ไซน์(พดัชนี*2.3)*6.0
            bind พz = 20.0 + โคไซน์(พดัชนี*1.9)*10.0
            bind พร = พเฟส * 7.0
            bind พจาง = 1.0 - พเฟส/0.75
            bind พค = ฉากบทแปด_สีวน(พดัชนี*1.3)
            โหมดผสม(1)
            bind พก = 0
            ขณะที่ พก < 10 {
                bind พa = พก*0.628 + พดัชนี
                สีดินสอ(floor(list_get(พค,0)*พจาง*เทศกาล), floor(list_get(พค,1)*พจาง*เทศกาล), floor(list_get(พค,2)*พจาง*เทศกาล))
                วาดเส้น3มิติ(พx + โคไซน์(พa)*พร*0.4, พy + ไซน์(พa)*พร*0.4, พz,  พx + โคไซน์(พa)*พร, พy + ไซน์(พa)*พร, พz)
                bind พก = พก + 1
            }
            อนุภาคทรงกลม(พx, พy, พz, พร*0.5 + 0.5, 8, c8t*4.0 + พดัชนี, list_get(พค,0), list_get(พค,1), list_get(พค,2))
            วาดกลิฟ3มิติ((พดัชนี*7.0) - ปัดลง(พดัชนี*7.0/26.0)*26.0, พx, พy, พz - 0.5, พดัชนี, 0.8 + พเฟส*0.6)
            flush_3d();  โหมดผสม(0)
            ถ้า พเฟส < 0.03 { เสียงเอฟเฟกต์(พx, พy, พz, 1.0, 900.0 + ไซน์(พดัชนี)*300.0, 0.10*ปริมาณSFX*เทศกาล, 0.5, "sine") }
            ถ้า พเฟส > 0.32 { ถ้า พเฟส < 0.35 {
                เสียงเอฟเฟกต์(พx, พy, พz, 1.0, 2400.0, 0.14*ปริมาณSFX*เทศกาล, 0.08, "noise")
                เสียงเอฟเฟกต์(พx, พy, พz, 1.0, 320.0, 0.12*ปริมาณSFX*เทศกาล, 0.2, "square")
            } }
        }
    }

    # ── คณะประสานเสียงตัวอักษร: วงกลิฟรอบเดมอน ป๊อปตามบีต ──
    โหมดผสม(1)
    bind คป = 0
    ขณะที่ คป < 8 {
        bind คa = คป * 0.7854 + c8t*0.4
        bind คป๊อป = 0.0
        ถ้า คป == (ปัดลง(beat) - ปัดลง(ปัดลง(beat)/8.0)*8.0) { bind คป๊อป = (1.0-bf)*0.5 }
        bind คCol = ฉากบทแปด_สีวน(คป*0.79 + ฮิว)
        สีดินสอ(list_get(คCol,0), list_get(คCol,1), list_get(คCol,2))
        วาดกลิฟ3มิติ((คป*3 + 4) - ปัดลง((คป*3 + 4)/26.0)*26.0, dmx + โคไซน์(คa)*3.4, dmy - 1.0 + ไซน์(คa)*2.2, dmz + 0.5, c8t*0.9 + คป, 0.9 + คป๊อป)
        bind คป = คป + 1
    }
    flush_3d();  โหมดผสม(0)

    # ── คู่สหาย: คีย์เฟรมอนิเมะ (ท่า snap ทุกครึ่งวิ) · ท้ายเรื่องหันหากัน ──
    bind แขน8 = 0.15 + ไซน์(โพส*2.3)*0.45*อินเทน
    ถ้า c8i == 8 { bind แขน8 = 0.75 }                             # "sky!" ชูมือค้าง
    bind เอน8 = 0.1*อินเทน
    bind หัน8k = 0.0;  bind หัน8q = 0.0
    ถ้า c8i >= 11 { bind หัน8k = 1.2;  bind หัน8q = 0.0 - 1.2;  bind แขน8 = 0.28 }
    ถ้า c8i >= 18 { ถ้า c8i < 24 {
        bind หัน8k = c8t*1.1;  bind หัน8q = 0.0 - c8t*1.1
        bind แขน8 = 0.42 + ไซน์(โพส*3.4)*0.25
    } }
    ถ้า c8i >= 24 { bind หัน8k = 0.0;  bind หัน8q = 0.0;  bind แขน8 = 0.1 + ไซน์(c8t*0.9)*0.05 }
    set_flat_shade(0.0)
    set_material("roughness", 0.55)
    set_material("specular", 0.35)
    set_material("subsurface", 0.28)
    หมุนสีเมช(c8t*1.1, 1.0 + อินเทน*(1.0-bf)*0.5)                 # สีไหลเบา ๆ + วูบตามบีต
    mesh_draw(kCutMesh, kx, ky, kz, กายสูง, หัน8k, ไซน์(โพส*3.0)*0.06, แขน8, เอน8, 0.0, 0.1)
    หมุนสีเมช(c8t*1.1 + 2.6, 1.0 + อินเทน*(1.0-bf)*0.5)
    mesh_draw(qCutMesh, qx, qy, qz, กายสูง, หัน8q, 0.0-ไซน์(โพส*3.0)*0.06, แขน8*0.92, เอน8, 0.0, 0.1)
    หมุนสีเมช(0.0, 1.0)
    flush_3d()
    reset_material()

    โหมดผสม(1)
    liquid_step(liq, 0.016)
    liquid_splat(liq, 28.0 + ไซน์(c8t*1.6)*13.0, 28.0 + โคไซน์(c8t*1.2)*13.0, 1.0, 0.18, 3.3)
    liquid_draw_surface(liq, 1.0, kx, ky - กายสูง*0.52, kz, กายสูง*0.6, กายสูง*0.6)
    liquid_draw_surface(liq, 1.0, qx, qy - กายสูง*0.52, qz, กายสูง*0.6, กายสูง*0.6)
    flush_3d();  โหมดผสม(0)

    # ── เดมอนอำนวยเพลง ──
    bind ทัก8 = 0.0;  ถ้า c8i == 2 { bind ทัก8 = 1.0 };  ถ้า c8i == 7 { bind ทัก8 = 1.0 }
    ฉากบทหก_วาดเดมอน(dmx, dmy, dmz, 1.0, ทัก8, c8t, camX, camZ)

    # ── SFX บีตช่วงมหากาพย์ ──
    ถ้า อินเทน > 0.3 { ถ้า bf < 0.03 {
        bind บ8 = ปัดลง(beat) - ปัดลง(ปัดลง(beat)/4.0)*4.0
        ถ้า บ8 == 0 { เล่นฆ้อง(0.0, 0.0, 12.0, 98.0, 0.18*ปริมาณSFX*อินเทน) }
        ถ้า บ8 == 2 { เล่นกาเมลัน(0.0, 0.0, 12.0, 392.0, 0.14*ปริมาณSFX*อินเทน) }
    } }

    # ── เหตุการณ์ครั้งเดียวต่อบรรทัด ──
    ถ้า c8i > บรรทัดก่อน {
        ถ้า c8i < C8N {
            bind whoN = list_get(ผู้พูด, c8i)
            เล่นเสียงพากย์("chapter8", c8i, list_get(บทแปดผู้พูดรหัส, c8i), ภาษา, ปริมาณSFX)
            ถ้า whoN < 0.5 { เล่นไชม์ใหญ่(0.0, 0.0, 0.0, 293.7, 0.2 * ปริมาณSFX) }
            ถ้า whoN > 0.5 { ถ้า whoN < 1.5 { เล่นกาเมลัน(0.0, 0.0, 0.0, 220.0, 0.28 * ปริมาณSFX) } }
            ถ้า whoN > 1.5 { ถ้า whoN < 2.5 { เล่นแฟนแฟร์(0.0, 0.0, 0.0, 196.0, 0.22 * ปริมาณSFX) } }
            ถ้า whoN > 2.5 {
                เล่นฮังแพน(dmx, dmy, dmz, 330.0, 0.22 * ปริมาณSFX)
                เล่นไชม์ใหญ่(dmx, dmy - 1.0, dmz, 1046.5, 0.09 * ปริมาณSFX)
            }
            ถ้า c8i == 2 { เล่นแฟนแฟร์(0.0, 0.0, 0.0, 392.0, 0.3 * ปริมาณSFX) }   # "formation!"
            ถ้า c8i == 3 { เล่นฆ้อง(0.0, 0.0-10.0, 30.0, 73.4, 0.3 * ปริมาณSFX) } # ชิ้นแรกทะยานเข้า
            ถ้า c8i == 10 {                                       # ตาหลับ: ไชม์กล่อมอ่อน
                เล่นไชม์ใหญ่(0.0-12.0, 0.0-30.0, 40.0, 523.3, 0.2 * ปริมาณSFX)
                เสียงเอฟเฟกต์(0.0-12.0, 0.0-30.0, 40.0, 1.0, 660.0, 0.1*ปริมาณSFX, 1.8, "sine")
            }
            ถ้า c8i == 13 { เล่นฆ้อง(0.0, 0.0, 24.0, 130.8, 0.26 * ปริมาณSFX) }   # โคมติด + ฆ้องอุ่น
            ถ้า c8i == 14 {
                เล่นไชม์ใหญ่(0.0, 0.0-8.0, 14.0, 523.3, 0.26 * ปริมาณSFX)
                เล่นไชม์ใหญ่(0.0, 0.0-8.0, 14.0, 659.3, 0.22 * ปริมาณSFX)
                เล่นไชม์ใหญ่(0.0, 0.0-8.0, 14.0, 784.0, 0.20 * ปริมาณSFX)
            }
            ถ้า c8i == 17 { เล่นฆ้อง(0.0, 0.0-9.0, 12.0, 87.3, 0.3 * ปริมาณSFX) }
            ถ้า c8i == 18 { เล่นแฟนแฟร์(0.0-14.0, 0.0-13.0, 26.0, 261.6, 0.24 * ปริมาณSFX) }
            ถ้า c8i == 24 {
                เล่นฆ้อง(0.0, 0.0-9.0, 12.0, 65.4, 0.22 * ปริมาณSFX)
                เล่นไชม์ใหญ่(0.0, 0.0-9.0, 12.0, 392.0, 0.14 * ปริมาณSFX)
            }
            ถ้า c8i == 26 {
                เล่นไชม์ใหญ่(0.0, 0.0-20.0, 30.0, 261.6, 0.2 * ปริมาณSFX)
                เล่นฮังแพน(0.0, 0.0-20.0, 30.0, 130.8, 0.18 * ปริมาณSFX)
                เล่นกาเมลัน(0.0, 0.0-20.0, 30.0, 329.6, 0.16 * ปริมาณSFX)
            }
        }
        bind บรรทัดก่อน = c8i
    }

    # ── ตัวหนังสือ + ไอริสวงกลมหุบปิดท้าย (การ์ตูนคลาสสิก) ──
    set_depth_test(0)
    ตั้งกล้องมอง(0.0, 0.0, -22.0, 0.0, 0.0, 0.0)
    ตั้งระยะห่าง(2.8)
    สีดินสอ(floor(230*ดำ+15), floor(215*ดำ+15), floor(190*ดำ+15))
    วาดสตริง("chapter 8 : the night, at last, was kind", 0.0, 10.0, 0.0, 0.58, 1)
    ถ้า c8i < C8N {
        bind line8 = list_get(บทพูด, c8i)
        bind line8กลิฟ = list_get(บทพูดกลิฟ, c8i)
        bind hlc8i = list_get(ไฮไลท์c8i, c8i)
        bind who8 = list_get(ผู้พูด, c8i)
        bind lt = c8t - list_get(c8cum, c8i)
        bind laf = 1.0
        ถ้า lt < 0.45 { bind laf = lt / 0.45 }
        ถ้า lt > C8SEC - 0.55 { bind laf = (C8SEC - lt) / 0.55 }
        ถ้า laf < 0.0 { bind laf = 0.0 }
        bind lr = floor(230.0 * laf);  bind lg = floor(240.0 * laf);  bind lb = floor(255.0 * laf)
        ถ้า who8 > 0.5 { ถ้า who8 < 1.5 { bind lr = floor(255.0*laf);  bind lg = floor(218.0*laf);  bind lb = floor(128.0*laf) } }
        ถ้า who8 > 1.5 { ถ้า who8 < 2.5 { bind lr = floor(212.0*laf);  bind lg = floor(222.0*laf);  bind lb = floor(255.0*laf) } }
        ถ้า who8 > 2.5 { bind lr = floor(255.0*laf);  bind lg = floor(196.0*laf);  bind lb = floor(96.0*laf) }
        ถ้า แสดงบทพูด == 1 {
            วาดสตริงบทพูดบากขอบ(line8กลิฟ, ภาษาบทพูด, 0.0, 8.3, 0.0, 0.60)
            วาดสตริงบทพูดบากสี(line8กลิฟ, ภาษาบทพูด, 0.0, 8.3, 0.0, 0.60, lr, lg, lb, list_get(hlc8i,0), list_get(hlc8i,1), list_get(hlc8i,2), list_get(hlc8i,3), list_get(hlc8i,4))
        }
    }
    สีดินสอ(floor(170*ดำ), floor(180*ดำ), floor(205*ดำ))
    วาดสตริง("[enter/space] continue   [esc] skip", 0.0, 10.9, 0.0, 0.42, 1)
    # ไอริส: วงแหวนสามเหลี่ยมดำหุบเข้าใน 2.2 วิสุดท้าย (บนกล้อง overlay)
    ถ้า C8FADE > 0.0 {
        bind ไอร = (1.0 - C8FADE) * 30.0                          # รัศมีวงเปิด 30 → 0
        โหมดผสม(0)
        สีดินสอ(0, 0, 0)
        bind อร8 = 0
        ขณะที่ อร8 < 24 {
            bind ia0 = อร8 * 0.2618;  bind ia1 = (อร8+1) * 0.2618
            วาดสามเหลี่ยม3มิติ(โคไซน์(ia0)*ไอร, ไซน์(ia0)*ไอร, 0.0,  โคไซน์(ia1)*ไอร, ไซน์(ia1)*ไอร, 0.0,  โคไซน์((ia0+ia1)*0.5)*46.0, ไซน์((ia0+ia1)*0.5)*46.0, 0.0)
            bind อร8 = อร8 + 1
        }
    }
    flush_3d()

    แสดงผล()

    bind outC8 = 0.0
    ถ้า c8t >= C8END { bind outC8 = 1.0 }
    # กันข้ามโดยไม่ตั้งใจ: ไม่รับปุ่มข้าม (คีย์บอร์ด+จอย) ช่วง 5 วิแรกของฉาก
    ถ้า c8t > 5.0 {
        ถ้า กดปุ่ม("enter") { bind outC8 = 1.0 }
        ถ้า กดปุ่ม("space") { bind outC8 = 1.0 }
        ถ้า กดปุ่ม("escape") { bind outC8 = 1.0 }
        ถ้า จอยปุ่ม("a") { bind outC8 = 1.0 }
        ถ้า จอยปุ่ม("start") { bind outC8 = 1.0 }
    }
    ถ้า outC8 > 0.5 { เบลอเฟรม(0.0) }
    คืน [บรรทัดก่อน*1000.0, outC8]
}

← Back to index