ta phải công nhận về nhiệt tình thì chủ thớt và tên Dac có thể liệt vào hàng hiếm có, mong kiếm dc thêm vài người thế nữa cho xong nhanh
Hum nay mới kéo FF VIII về, chắc quẩy 3 ngày là xong, nhớ lần đầu chơi, để đi dc hết toàn bộ mất gần 3 tuần :( gần 93h chơi.
Spoiler Chiều nay sẽ xong (khoảng 5 giờ), ban đầu thấy 2 File cứ tưởng nhiều mà mấy tuần nay bận việc riêng quá nên không đụng vào được (vậy mà hôm trước còn rảnh cãi nhau một trận phí mất 2 ngày lãng xẹt), đến khi làm mới biết chỉ mất tầm 3 ngày để hoàn thành... Sorry. By the way, không biết nên chia ra thành 2 File Width khác nhau hay gộp chung lại 1 File cũng được nhỉ?
Spoiler Vãi, tự dưng ngủ quên mất... @_@ Đoạn cũ có 2 điểm cần sửa: #JMP($6AF8F6) <$76><$30> #JMP($6AF906) Đoạn này không hiểu sao chỉ chỉnh được số dòng chứ không chỉnh được độ rộng Đoạn mới (Gargant Roo) có 1 điểm lạ: #JMP($6FD32E) <$A0><$10> Không rõ đoạn này xuất hiện ở đâu, giá trị như trên thì kết quả sẽ thế này, đoạn này kiểu như bị Center vậy, không thể cho chữ nằm sát lề trái, mà kéo hẹp khung lại thì bị mất chữ bên phải. 3 đoạn trên bác tự thêm vào vì không có trong File, width1.txt là dùng cho supersoft, width2.txt là dùng cho gargant. Suýt thì quên, lần trước bác bảo nhiều dòng #WRITE(MyPtr, $ liền nhau thì tức là độ rộng bằng nhau, ở File supersoft lần này có 2 dòng: //POINTER #139 @ $6E0A58 - STRING #139 @ $6E149C #WRITE(MyPtr, $6E0A54) -> $6E0A52 #WRITE(MyPtr, $6E0A58) -> $6E0A56 Cái $6E0A56 giá trị 3E10270C thì không có vấn đề gì, nhưng tại $6E0A52 thì giá trị của nó là 0000270C, thứ nhất cái độ rộng 0000 tức là không có gì, thứ hai là nó lại trùng cái Pointer 270C. Tui đã sửa cả 2 lại thành 3A10270C theo như ý bác chỉ nhưng thật sự không hiểu đoạn này lắm. Tại sao nó phải dùng 2 đoạn giá trị để chỉ cùng 1 câu trong khi những câu khác lại không như vậy?
Đoạn này nằm ở file Treno chứ không phải Supersoft. Chỉnh trong file Treno là được. Vì đoạn thoại này vẫn thuộc Treno, còn đoạn hồi tưởng mới là Supersoft. Vì bản thân dòng đó nằm trong code abcxyz rồi. <flash><F948>ぢ<00FF><$FA> chính là code center. Cái này có giải thích rõ trong bài hướng dẫn dịch FF9. Cấu trúc của nó là <fake pointer><width, height><real pointer> Trong đó mỗi cái chiếm 2 byte. Cái <fake pointer> thường là không có chức năng gì, giá trị của nó bằng với giá trị của <real pointer>. Nhưng đôi khi nó còn có chức năng khác như điều chỉnh độ rộng của khung, vẽ khung, cho lựa chọn... Lúc đó giá trị của nó sẽ khác <real pointer>. Ở đây ta chỉ cần quan tâm tới cái real pointer là được. Tất cả các real pointer đều kết thúc bằng 8 hoặc 0. #WRITE(MyPtr, $6E0A54) #WRITE(MyPtr, $6E0A58) <F945> //<speed><$02>……<resume spd>やれやれ<wait35> Chà chà....<wait35> Thì $6E0A54 là fake pointer ăn theo $6E0A58, giá trị của nó bằng với giá trị của $6E0A58 và ta không cần sửa làm gì, vì nó luôn bằng. Ở đây chỉ cần quan tâm cái bên dưới ($6E0A58) là được.
Chỗ này DAC hiểu sai rồi. Bắt đầu từ $6E0A54 tới $6E0A55 là 2 byte 27-0C. Đây chính là giá trị của fake pointer và bằng với giá trị tại ($6E0A58-$6E0A59). Còn ($6E0A56-$6E0A57) là độ cao, độ rộng cho cái ($6E0A58-$6E0A59), tức real pointer chỉ tới câu thoại.
Spoiler Ok, vậy bác asm65816 tự bỏ cái #JMP($6E0A54) trong width1.txt dùm nhé (cái này cũng quên béng trừ 2 byte nên vẫn giữ nguyên là $6E0A54). Còn cái đoạn Treno, tui không đụng gì đến Pointer nữa, chỉ chỉnh độ rộng thôi, câu Marcus nói tui Search ở $6AF8F8, lùi lại 2 byte giá trị gốc là 8830, tui sửa lại 7630 thì Ok rồi, tiếp theo tui cho nó nói đến đoạn của Garnet nói, rồi Search ở $6AF908, lùi lại 2 byte giá trị gốc là 5A20, thử tăng vọt lên 7020 thì nó có rộng ra thật, nhưng chỉnh lại 1020 thì nó cũng chỉ như hình trên kia (như thể cái khung đó độ rộng 6A là tối thiểu rồi dù chỉnh nhỏ hơn nó cũng không hẹp lại hơn được. Khi kiểm tra lại File width.txt của Treno ở Post trước, tui thấy thiếu địa chỉ $6AF8F6, còn $6AF906 thì đã có, tức là lần trước tui chỉ sót câu nói của Marcus thôi, còn câu của Garnet đã chỉnh lại độ rộng 5A20 có thể là đúng rồi nhưng do bị Code nào khác can thiệp nên độ rộng của chỗ đó không thể nào hẹp hơn 6A được.
Như mấy lần trước có giải thích, độ rộng được quy định ở 2 byte trước <real pointer> nhưng nó còn được quy định ở <fake pointer> đối với câu nào có tên Item, nhân vật biến động. Câu đó không chỉnh ngắn hơn được là vì ngay trước nó có code cộng thêm một đoạn của tên Steiner. DAC tải file đính kèm là field tiếp theo, ngay chỗ 3 người bị bắt trong thành Alexandria. Từ file này trở đi thì chỉnh giúp mình độ rộng của những phần bên trên (không phải thoại chính) luôn nhé. Tuy nhiên có một số câu lặp đi lặp lại qua các field thì bên dưới nó có chú thích độ rộng, cứ thế mà áp dụng. VD: #WRITE(MyPtr, $6E3040) //<flash><retsuseiri>2<F906>00<line> //<retsuseiri>4「何かご用クポ? <line> //<$F8><sentaku> セーブ<line> //<$F8> テント<line> //<$F8> モグネット <line> //<$F8> モグショップ <line> //<$F8> パーティー編成 <line> //<$F8> <pink>DEBUG <white><line> //<$F8> なんでもない <autoend> <retsuseiri>4Cần gì vậy Kupo?<line> <$F8><sentaku><space><$10>Save<line> <$F8><space><$10>Lều<line> <$F8><space><$10>MogNet<line> <$F8><space><$10>MogShop<line> <$F8><space><$10>Đổi nhóm<line> <$F8><space><$10>Debug<line> <$F8><space><$10>Không gì cả<autoend> //<$5C> Nguyên cái đoạn này rộng $5C, cao không thay đổi nên chỉ cần viết như sau là được: #JMP($6E303E) <$5C> P/s: mấy field vừa rồi đều có một vài câu sót. Tốt nhất là làm xong câu nào thì xóa câu đó luôn trong file để có dừng nửa chừng, lần sau bật lại cũng không bị nhầm.
Đến khi nào thì end thế. Mình cũng muốn góp tý nhưng đang bận với dota đang có TI chả muốn làm gì toàn xem
Spoiler Trong Field lần này ở địa chỉ $6E3916 lại có đoạn bị căn giữa, đợt trước bác không nói gặp trường hợp này phải chỉnh thế nào nên tui để yên như thế, bác xem rồi tự chỉnh lại dùm nhé. By the way, cái Stirling sau khi đánh dấu "Mark" xong rồi thì làm thế nào để lưu cái Mark đó lại? Cứ mỗi lần tắt Stirling là nó mất, tìm lại địa chỉ cũ hơi mất công, vì thỉnh thoảng ví dụ giá trị gốc là 4220CC44 tui thử chỉnh là 6030, thấy nó hơi ngắn nên ghi thẳng vào File width là <$62><$30> luôn, tức ở Stirling đang lưu là 6030CC44. Khi tắt Stirling thì dấu Mark bị mất, lần sau mở lên tui quên béng nên dò theo giá trị trong Notepad là 6230CC44 thì không dò ra (vì trong Stirling đã lưu là 6030CC44). Lúc này đành phải Search CC44 rồi thử đổi từng cái một xem cái nào mới đúng. Nếu là chủ động tắt máy nghỉ thì tui chỉ cần ghi chú thẳng cái 6030CC44 vào Notepad, nhưng vấn đề là dạo này khu nhà tui bị cái quái gì mà nó cứ hay cúp điện đột xuất, mỗi lần cúp điện là lại phải dò lại Mark hơi bị phiền. Nhiều khi làm suốt 3 tiếng chưa kịp Save cái width mà nó cúp điện cái bụp, tức ói máu. Lại phải làm lại...
Cám ơn DAC. Field tiếp theo trong file đính kèm. Đoạn ở Burmecia, nhưng file này không cần edit hết. Chỉ cần edit bắt đầu từ đoạn này #WRITE(MyPtr, $6CB190) <Zitane><line> //「立てるか? <Freya><end> Đứng dậy được không,<Freya>?<end> trở về hết file là được. Khá là ngắn.
Spoiler Phần này phải nói là cực ngắn nhưng mấy bữa nay mải xem phim quá nên quên béng mất, Sorry. Làm trong vài tiếng là xong mà không ngờ nó ngắn đến vậy.
Cho mình hỏi sắp biên dịch xong disc2 chưa ? Choi xong disc1 rồi hóng 2 từng ngày mà lâu quá , tải bản eng ghép vào thì k dc :(