hackertotdinh
Youtube Master Race
Cổ đại, nhưng có thể hữu
ích.
Đây là hướng dẫn ban đầu
Icy bánh mì nướng, một
hướng dẫn với hầu hết tất
cả mọi thứ mà ông biết.
Đây là một tuyệt đối phải
đọc khi nó đến, nó tác
động là rất lớn. Nếu không
có những tiến bộ rất lớn
Icy bánh mì nướng, tôi
nghi ngờ FE hack sẽ là bất
cứ nơi nào gần mức như
ngày nay. Vì vậy, không có
thêm ado, tôi trình bày
Hướng dẫn Sửa đổi bởi
Hex, sao chép từ cho từ.
~ PROLOGUE: Bắt đầu ~
Có một vài điều cần được
nói đầu tiên. Một trong số
họ, một khá quan trọng
thực sự, là:
TỪ BỎ: Fire Emblem và tất
cả các nhân vật có liên
quan, địa điểm, tên và bất
cứ điều gì khác là tài sản
của Nintendo và thông
minh hệ thống. Ngoài ra,
bất cứ ai phải tin rằng (có
thể có bản quyền) công
việc của họ đã được sử
dụng unrightfully trong
hướng dẫn này, tôi sẽ
đánh giá cao nếu họ có thể
liên hệ với tôi về điều đó
để tôi có thể nạp tiền cho
họ / loại bỏ nó.
Vâng, đó là điều đó. = P
Thứ hai, bạn nên nhớ rằng
hướng dẫn này sẽ không
được hoàn thành và không
nhằm mục đích để được
như vậy. Tôi chỉ cung cấp
này như là một điểm khởi
đầu để mọi người hiểu
làm thế nào để sửa đổi trò
chơi FE bởi hex. Sau khi
đọc tất cả của nó, có thể
bạn sẽ có thể tìm hiểu
nhiều hơn những việc
riêng của bạn. Bằng cách
này, với "điểm khởi đầu" Ý
tôi là, tất cả các cách từ
đầu, nên mọi người có thể
hiểu được công cụ này,
trong thực tế. Nếu bạn
không hiểu nó, nó không
phải vì bạn không đủ tài
năng hoặc bất cứ điều gì,
nó chỉ là vì tôi hút tại giải
thích điều này. Vì vậy, ...
cảm thấy tự do để đặt câu
hỏi nên bất cứ điều gì
không rõ ràng.
Điều tiếp theo mà cần
phải được đề cập đến là
một thực tế là mặc dù
hướng dẫn của tôi sẽ hoàn
toàn tập trung vào sửa đổi
của FE7, nhiều của nó có
thể được áp dụng trong
(gần như) cùng một cách
để các gba khác FE, ngoại
trừ vị trí của hầu hết các
bộ phận của dữ liệu khác
nhau.
Cuối cùng, chương này
được gọi là "mở đầu" vì
một lý do: nó không phải
là một trong những
chương thực sự. Nó có chỉ
để giải thích các kiến thức
cơ bản bạn cần phải hiểu
các chương vẫn còn tới.
Nếu bạn đã có một số kinh
nghiệm với các chỉnh sửa
hex, bạn chỉ có thể bỏ qua
tất cả điều này. Nếu
không, cũng ... Tôi khuyên
bạn nên đọc nó rất kỹ
lưỡng. D
Những gì bạn sẽ cần
- Một FE7 (US) ROM. Lý do
nên được khá rõ ràng. Nhớ
mặc dù, rằng việc sở hữu
một ROM là bất hợp pháp,
và bạn thực sự nên mua
các trò chơi ban đầu để hỗ
trợ sáng tạo của họ.
Nhưng yeah, tôi cho rằng
tất cả mọi người đã biết.
XD
- Một trình soạn thảo hex.
Tôi đặt cược rằng bạn ngạc
nhiên khi tất cả, phải
không? Dù sao, tôi cá nhân
đề nghị googling và tải về
cả hai WindHex32 và
Cygnus Hex Editor 2.5. Sau
này chỉ có thể được sử
dụng một cách tự do trong
30 ngày, nhưng có ... ehm,
chỉ có thể là một cách
xung quanh đó. Tất nhiên
tôi sẽ không nói cho bạn,
nhưng ... tốt, chúng ta hãy
chỉ nói rằng nó có cái gì để
làm với đồng hồ máy tính
của bạn. > _> Nếu bạn
không muốn làm hỏng
tinh khiết đạo đức của
bạn, chỉ cần dính vào
WindHex, hoặc bất kỳ trình
soạn thảo hex khác mà
bạn thích. Trong hướng
dẫn này, tuy nhiên, tôi sẽ
sử dụng Cygnus trong một
số ví dụ, và tôi sợ nó gần
như một điều cần thiết
cho tùy chỉnh bản đồ mã
hóa.
- Một IPS Patcher / vá sáng
tạo. Tôi khuyên bạn nên
StealthPatch, vì nó cho
phép mở rộng của tập tin
được vá, đó là một lợi thế
lớn, để nói rằng ít nhất.
Một lần nữa, chỉ cần
google nó để tìm nơi để tải
về nó.
- Cơn ác mộng và một số
FE7 mô-đun. Trong khi
không hoàn toàn cần thiết,
có những sẽ là một lợi thế,
nhưng tôi cho rằng hầu
hết các bạn đã có một số
nào. Nếu không, tìm thấy
chúng ở fess. (Tải các mô-
đun của tôi ở đây) (Link là
chết)
- Unlz-gba: Chỉ cần thiết
để chỉnh sửa đồ họa,
nhưng nó là một công cụ
tuyệt vời. Một lần nữa,
Google là chìa khóa để tìm
kiếm nó. = P
- Ngói lớp Pro: Nó có thể
được gọi là "Pro", nhưng
nó thực sự là một chương
trình miễn phí, do đó,
không lo lắng về việc gặp
khó khăn để tìm thấy điều
này. Nó cho phép bạn xem
mã của một tập tin với các
byte hiển thị các điểm ảnh
màu, cho phép hiệu quả
bạn xem và chỉnh sửa đồ
họa không nén trong ROM.
(Trái ngược với Unlz-gba,
cho phép bạn chỉnh sửa
đồ họa nén chỉ)
- Mappy biên tập bản đồ:
Không phải là một phải
tuyệt đối, nhưng nó sẽ
giúp bạn tiết kiệm nhiều
giờ làm việc trong phần lập
trình bản đồ, vì vậy ... tìm
thấy nó và tải về nó. Oh!
Và không quên cũng tải về
FE7 tilesets đây (cập nhật
liên kết của tôi).
- Các FE7 phân tích cú
pháp (bằng Twilkitri): Chỉ
cần thiết để chỉnh sửa văn
bản. Nó cho phép bạn
thay đổi kịch bản và nó
recompresses và chèn nó
vào các trò chơi cho bạn.
Một công cụ tuyệt vời,
nhưng không may, nó
không công khai có sẵn.
Hoặc có lẽ tôi nên nói, nó
không phải là công khai có
sẵn ... vì trong thực tế,
một số liên kết để nó có
thể được tìm thấy trong
các chủ đề cũ tại fess.
Chúc may mắn tìm kiếm
chúng. D
Như một thay thế cho
phân tích cú pháp, bạn
cũng có thể thử Anti-
Huffman vá Zeld của (tìm
thấy ở fess là tốt), cho
phép bạn chỉnh sửa văn
bản trực tiếp trong một
trình soạn thảo hex. Tôi
chưa bao giờ làm việc với
bản thân mình, nhưng
dường như nó không được
công việc khá tốt, vì vậy
bạn có thể xem xét cho nó
một thử.
Biên tập thập lục phân và
hệ thống
Bây giờ mà bạn (hy vọng)
có tất cả các bạn cần, đó là
thời gian để chạy trình
soạn thảo hex của bạn và
mở ROM Rekka. Nếu mọi
việc suôn sẻ, bạn sẽ thấy
một loạt các con số dường
như vô lý và chữ cái trên
màn hình của bạn. Trong
hầu hết các biên tập viên
hex, bạn sẽ thấy ba cột,
một trong những trung là
rộng nhất. Cột giữa này
cho bạn thấy những gì nó
là tất cả về: 16777215 byte
cùng nhau tạo nên một
trong những game lớn
nhất từng tồn tại. D
Tùy thuộc vào trình soạn
thảo hex của bạn và các
thiết lập của nó, là cột ở
giữa sẽ hiển thị dữ liệu
trong nhóm hoặc 2, 4 hoặc
8 chữ số. Một trong những
điều đầu tiên bạn nên
biết, đó là, trong bất kỳ
trình soạn thảo hex, mỗi 2
chữ số đại diện cho một
byte. Chúng ta hãy xem
xét kỹ hơn cách làm việc
này.
Rất có thể, bạn đã sẽ biết
rằng một byte được tạo
thành từ 8 bit, mỗi trong
số đó có thể lưu trữ một
giá trị là 0 hoặc 1. Với
nhau, điều này làm cho
tổng số 256 kết hợp cho
từng byte, từ
00.000.000-11.111.111.
Bằng cách này, các giá trị
mô tả được gọi là hệ thống
nhị phân, như chỉ có hai
(= bi) lựa chọn cho mỗi
chữ số.
Chúng ta hãy so sánh với
hệ thống chúng ta thường
sử dụng: hệ thập phân.
Trong hệ thống thập phân,
chúng tôi có 10 khả năng
khác nhau cho mỗi chữ số
trong một số (vì thế tên),
cụ thể là 0, 1, 2, 3, 4, 5,
6, 7, 8 và 9. Một khi chúng
ta đã có những mười,
chúng tôi chỉ bắt đầu lại
với 1 trước, sau đó là 2,
sau đó là 3, và như vậy,
cho đến khi chúng ta đạt
đến 99, sau đó chúng tôi
bắt đầu sử dụng một chữ
số thứ ba. Điều này tất cả
nên âm thanh khủng khiếp
quen thuộc, vậy tại sao tôi
nói cho bạn điều này?
Vâng, trên thực tế, đó là vì
hệ thống thập lục phân chỉ
là điều tương tự, ngoại trừ
có 16 tùy chọn khác nhau
cho mỗi chữ số. Đây là
những đại diện bởi 0, 1, 2,
3, 4, 5, 6, 7, 8, 9, A, B, C,
D, E và F. Sau đó, đếm
trong hex tiếp tục với một
1 trong phía trước của nó ,
sau đó một 2, .... sau đó
một 8, sau đó một 9, sau
đó là A, sau đó là một
B. .... cho đến khi chúng ta
đạt được FF. Nhìn thấy? Nó
không phải ở tất cả khó
hiểu hex. (Lưu ý rằng mặc
dù FF là giá trị 256 có thể,
nó tương ứng với 255
trong hệ thống thập phân,
từ 0 cũng là một giá trị.)
Bây giờ làm thế nào điều
này liên quan đến các bit
và byte? Khi nghiên cứu
dữ liệu trong một trình
soạn thảo hex, chúng tôi
muốn để có thể nhìn thấy
giá trị của mỗi byte cá
nhân. Tất nhiên, nó có vẻ
hợp lý để tạo nên một biểu
tượng cho tất cả 256 giá trị
một byte có thể lưu trữ, vì
vậy chúng tôi có thể đọc
các giá trị của tất cả
chúng, nhưng vì điều này
sẽ yêu cầu học tập 256
biểu tượng khác nhau,
điều này sẽ không thực sự
được thực tế. Mặt khác,
nếu các trình soạn thảo
hex sẽ hiển thị tất cả các
byte như bộ sưu tập của 8
bit nó thực sự là, do đó chỉ
sử dụng hai ký hiệu khác
nhau, nó sẽ không được rõ
ràng hơn nhiều, vì điều
này sẽ có nghĩa là rất
nhiều rắc rối nếu bạn
muốn giải mã thực tế (số
thập phân) giá trị của byte
từ 0 và 1 của. Đó là lý do
tại sao một con đường
trung tuyến đã được lựa
chọn. Khi nó xảy ra, một
nửa byte, do đó bao gồm 4
bit và thường được gọi là
nibble, có thể mất 16 giá
trị khác nhau, dao động
0.000-1.111. Như 16 giá
trị khác nhau cho mỗi chữ
số, hoặc một hexit, vì nó
cũng được gọi là trong bối
cảnh này, một số lượng
quản lý, mỗi nibble được
đại diện bởi một chữ số
trong một trình soạn thảo
hex, do đó, mỗi cặp chữ số
là một byte.
Nhìn vào các byte đầu tiên
trong ROM Rekka, nó nói
2E. Như bạn vừa học
được, 10 trong hex là 16
trong số thập phân (từ 0F
= 15 và 10 đưa ra sau khi
0F), vì vậy 20 trong hex là
32. Nó không nên dùng
quá nhiều nỗ lực tìm ra
rằng E đại diện cho một số
thập phân 14, vì vậy các
byte 2E lưu trữ một giá trị
sẽ được đại diện bởi 32 +
14 = 46 trong hệ thập
phân. Đừng lo lắng về việc
phải tính toán cụ này, mặc
dù bạn sẽ không thường
xuyên cần phải làm điều
đó. Tuy nhiên, nó là hữu
ích để có thể chuyển đổi
hex sang thập phân và
ngược lại, vì nó sẽ giúp
bạn phát hiện ra / chỉnh
sửa những thứ đại diện
cho một số thập phân thực
sự trong game, như số
liệu thống kê nhân vật.
Dưới đây là một vài con số
trong cả hai số thập phân
và hex đó là hữu ích để
ghi nhớ:
hex 0A = 10 Tháng 12
hex 10 = 16 tháng 12
hex = 32 Tháng Mười Hai
50
hex = 64 Tháng Mười Hai
100
7F hex = 127 tháng mười
hai
hex A0 = 160 tháng mười
hai
hex FF = 255 tháng mười
hai
Rõ ràng, giá trị vượt quá
FF được lưu trữ sử dụng
nhiều hơn một byte. Có
một nắm bắt mặc dù điều
này; những giá trị phải
thực hiện nhiều hơn một
byte đơn phải được đọc
bằng cách đảo ngược các
byte. Vì vậy, một giá trị cho
thấy như 8B 5A 9F trong
ROM, là để được đọc như
9F 8B 5A, mà là
10.455.898 trong số thập
phân. Một lần nữa, đừng
lo lắng về điều này quá
nhiều chưa, bạn sẽ không
cần tất cả điều này thường
xuyên. Điều gì có thể tốt
để nhớ, mặc dù là một
nhóm 2 byte được gọi là
một 'nửa lời, và một nhóm
4 byte được gọi là một' từ
'.
Bây giờ chúng ta đã có tất
cả những thứ lý thuyết,
chúng ta hãy tiếp tục tour
du lịch hướng dẫn của
chúng ta về trình soạn
thảo hex chính nó. Cột
bên trái của dữ liệu thực
tế phải thể hiện một cái gì
đó như:
00000000
00000010
00000020
00000030
...
Nếu không, thiết lập trình
soạn thảo hex của bạn để
hiển thị 16 byte cho mỗi
hàng để sửa chữa nó.
Các con số đưa ra ở đây là
địa chỉ (còn gọi là hiệu số)
của byte đầu tiên cho mỗi
hàng. Mỗi byte sau đó rõ
ràng là địa chỉ cộng thêm
1, nhưng bạn nên nhớ
rằng địa chỉ được đưa ra
trong hệ thập lục phân.
Các địa chỉ đang có để làm
cho nó dễ dàng hơn để đề
cập đến một phần nhất
định của dữ liệu, và bạn
sẽ sớm có rất biết ơn soạn
thảo hex của bạn cho họ
thấy.
Cuối cùng, cần có một cột
ở bên phải cho thấy rất
nhiều văn bản, số, các loại
ký tự và chấm đơn giản.
Đây là ASCII đại diện của
tập tin. Nói cách khác, đó
là những gì các tập tin sẽ
như thế nào nếu nó là
một tập tin văn bản. Thông
thường, có rất ít quan tâm
để xem ở đó, nhưng tại
một số điểm trong ROM,
nó cho phép bạn nhìn thấy
những thứ bạn nếu không
sẽ bỏ qua. Nếu bạn muốn
xem một ví dụ về điều này,
đi đến 00FD8000 bù đắp.
Mỗi dòng đây là một phần
văn bản trong ASCII, cụ
thể là tên của một số nhân
vật, và các bộ phận khác
cho các trò chơi một số
thông tin quan trọng về
chiến hình ảnh động của
nhân vật, do đó, có cột
ASCII cho phép bạn xem
các dữ liệu về những nhân
vật. Tôi sẽ không đi vào chi
tiết về điều này ngay bây
giờ, nhưng điều bạn đang
nghĩ để nhớ về điều này,
là cột ASCII có thể ở lần
đến trong rất tiện dụng.
Vâng, tôi sẽ để nó vào bạn
để khám phá tất cả các nút
tuyệt vời của trình soạn
thảo hex mình, nhưng một
số bạn chắc chắn nên có
một cái nhìn tại (nếu trình
soạn thảo hex của bạn có
họ) là đánh dấu, tìm kiếm
và chức năng goto. Họ sẽ
có thể giúp bạn tiết kiệm
rất nhiều thời gian trong
tương lai gần. = P
Con trỏ
Bây giờ bạn đã học được
một chút về cách sử dụng
một trình soạn thảo hex,
bạn có thể nghĩ rằng bây
giờ chúng ta có thể bắt
đầu thực hiện một số
chỉnh sửa thực tế, phải
không? Sai. Có một điều vô
cùng quan trọng bạn nên
tìm hiểu đầu tiên, và bạn
sẽ cần nó cho tất cả mọi
hướng dẫn này sẽ bao
gồm. Con trỏ.
Một con trỏ là một nhóm
nhỏ các byte, trong trường
hợp của Rekka dài 4 byte,
thực hiện chính xác như
tên gọi của nó. Nó chỉ đến
một vị trí khác trong ROM,
hoặc thậm chí có thể là
một địa điểm bên ngoài
ROM, như bộ nhớ của gba.
Chúng tôi sẽ không cần
phải đi vào chi tiết về sau
này, vì vậy tôi sẽ dính vào
con trỏ trỏ đến những nơi
trong ROM đây. Dù sao, có
tải trọng của con trỏ trong
ROM, và bạn sẽ cần phải
học cách để đọc và xây
dựng chúng nếu bạn muốn
để có được xa hơn bất kỳ
những thứ đơn giản.
Về cơ bản, một con trỏ là
địa chỉ chính xác của dữ
liệu nó trỏ tới. Có điều là,
các byte được đảo ngược.
Đây không phải là luôn
luôn như vậy, nhưng trong
Rekka (và gba khác FE cho
rằng vấn đề), nó được.
Ngoài ra, 08 đã được thêm
vào byte đầu tiên của bù
đắp, mà đã trở thành các
byte cuối cùng trong con
trỏ. Khó hiểu không?
Không, bạn sẽ quen với nó
sớm hơn bạn nghĩ. Và dù
sao, những 08 vào cuối
mỗi con trỏ (vì tất cả các
adresses trong Rekka bắt
đầu với 00, trừ khi bạn mở
rộng ROM) là thực sự hữu
ích vì nó cho phép bạn
nhanh chóng nhận ra con
trỏ giữa các dữ liệu khác.
Hãy để tôi cung cấp cho
bạn một số ví dụ chỉ để có
được hang của nó.
Hãy nói rằng chúng tôi có
dữ liệu tại offset
00C9AB34, và chúng ta
cần một con trỏ đến dữ
liệu này. Đầu tiên, chúng
ta tinh thần tách bù đắp
vào 4 byte: 00 C9 AB 34,
và sau đó chúng ta ngược
lại chúng: 34 AB C9 00.
Bây giờ, thêm 08 đến byte
đầu tiên, mà bây giờ là
con trỏ byte cuối cùng, và
bạn nhận được 34ABC908.
Có con trỏ của bạn!
Một ví dụ khác, hãy tưởng
tượng bạn tìm thấy một
con trỏ nói "849AFD08".
Trừ đi 08 từ byte cuối
cùng, ngược lại chúng, và
voil
- - - Updated - - -
~ Chương 1: Bản đồ ~
Tôi có thể cũng đã bắt đầu
điều này với một tải trọng
của các công cụ lý thuyết,
nhưng tôi lại chọn một
cách tiếp cận thực tế hơn.
Trong thực tế, bạn sẽ có
thể để tạo ra một chương
hoàn toàn tùy chỉnh (gần
như) vào cuối Chương 3.
Điều đầu tiên bạn cần cho
một chương rõ ràng là một
bản đồ, và đó là lý do tại
sao chương đầu tiên này
sẽ là về bản đồ và làm thế
nào để mã chúng.
Bản đồ dữ liệu
Trước hết, đối với những
người không biết, tất cả
các bản đồ FE bao gồm
gạch, đó là hình vuông
(trong trường hợp này)
16x16 pixel. Các trò chơi
thu hút những gạch từ
tilesets (còn gọi là bộ đối
tượng) là bộ sưu tập gạch
xung quanh một chủ đề
nhất định. Những màu sắc
được chỉ áp dụng cho gạch
sau đó, do đó, một tileset
đặc biệt có thể nhìn hoàn
toàn khác nhau trong bản
đồ khác nhau, tùy thuộc
vào bảng được sử dụng.
Tuy nhiên, mỗi bản đồ chỉ
có thể sử dụng gạch từ
một tileset, và chỉ có thể
sử dụng một bảng màu.
Trước khi mã hóa dữ liệu
bản đồ của riêng bạn, bạn
sẽ cần phải biết làm thế
nào dữ liệu được xây
dựng. Để xem một ví dụ về
những gì dữ liệu bản đồ
như thế nào, sử dụng
trình soạn thảo hex của
bạn để xem 0036AF00 bù
đắp. Đây là các byte bắt
đầu của dữ liệu bản đồ
của Prologue. Trước khi các
thông tin về gạch thực sự
bắt đầu, có 7 byte khác.
Trong trường hợp của
Prologue, đây là 10 2E 01
00 00 0F 0A. Thứ 2, thứ 3,
thứ 6 và thứ 7 của các
byte khác nhau từ chương
để chương. Những người 6
và 7 lần lượt là kích thước
chiều ngang và theo chiều
dọc của bản đồ, đo bằng
gạch. Các byte thứ 2 và
thứ 3 thực sự lưu trữ một
giá trị duy nhất, vì vậy bạn
sẽ phải đảo ngược chúng
để đọc: 012E. Giá trị này
cho các trò chơi một cái gì
đó về bao nhiêu gạch nên
được nạp trong tổng số cho
bản đồ, nhưng tôi không
biết chính xác cách thức
hoạt động. Dù sao, công
thức chung để tìm giá trị
này cho các bản đồ của
riêng bạn là: chiều dài x
rộng x 2 + 2. Bạn có thể
muốn sử dụng một máy
tính hex cho việc này.
(Không nên rất khó để tìm
thấy một trực tuyến một.)
Sau đó, gạch được trên
bản đồ được liệt kê. Không
có tham chiếu đến vị trí
của họ trên bản đồ nào,
chúng tôi chỉ liệt kê từ trái
sang phải di chuyển từ
trên xuống dưới trên bản
đồ. Tài liệu tham khảo của
mỗi gạch chỉ là số lượng
của nó trong tileset, và
phải mất hai byte (là, như
thường, để đảo ngược).
Lưu ý rằng chỉ số kết thúc
trong 00, 04, 08 và 0C
tham khảo gạch hợp lệ,
phần còn lại là không thể
sử dụng trong bản đồ. Có
một lý do tốt cho việc này,
nhưng tôi sẽ không thể
giải thích nó ở đây để
không overcomplicate điều.
Additionaly, có một 00
được thêm vào trong tài
liệu tham khảo sau 3 gạch
đầu tiên ", và xa hơn nữa
là sau mỗi gạch thứ tư.
Như một ví dụ thực sự
ngẫu nhiên, dữ liệu bản
đồ rất nhỏ của có thể
trông như thế này: (các 00
của tách được in đậm) (lưu
ý rằng một bản đồ nhỏ
này có thể không tồn tại,
mỗi bản đồ ít nhất phải đủ
lớn để lấp đầy màn hình)
10 2A 00 00 00 04 05 10
05 14 06 2C 01 00 0D 7C
48 09 2C 0F 64 08 00 A8
04 38 00 08 03 94 0A 00
50 07 90 08 01 A8 A8 01
00 74 05 C8 02 D0 09 D4
09 00 30 0B
Bởi bây giờ, bạn có thể
thấy rằng các dữ liệu bản
đồ của Prologue, mà chúng
tôi đang tìm kiếm tại trước
đó, không hoàn toàn phù
hợp với định dạng này.
Trong thực tế, không ai
trong số các bản đồ trò
chơi thực tế làm, vì chúng
được nén. Do đó, chúng ta
có thể không chỉ cần đi
trước và thay đổi bản đồ
hiện có, thay vào đó chúng
ta sẽ phải tạo ra các bản
đồ của chúng tôi để thay
thế, nhưng thấy rằng
chúng tôi sẽ làm điều đó
dù sao, đó không phải là
thực sự là một vấn đề.
Bạn cũng có thể tự hỏi làm
thế nào bạn có thể có thể
biết được gạch thực tế
những con số tham khảo.
Do đó, bạn có thể cố gắng
trích xuất tất cả các gạch
của tileset bạn muốn sử
dụng và thu thập chúng
vào một bảng như tôi đã
làm với một ... nhưng nhìn
lên mỗi ngói duy nhất của
một bản đồ tùy chỉnh mà
bạn muốn mã trong một
bảng như vậy sẽ đòi hỏi
rất nhiều thời gian, vì vậy
tôi sẽ giải thích một
phương pháp đơn giản cho
bạn trong một phút.
Nếu bạn thích chỉ để đi
trước và mã bản đồ thủ
công, bạn sẽ có thể làm
điều đó biết những gì bạn
biết vào thời điểm này,
nhưng tôi khuyên bạn
không nên ghi đè lên các
dữ liệu bản đồ hiện có và
mở rộng các ROM nên bạn
chỉ còn trống không gian
để đặt mã trong bản đồ
của bạn để thay thế.
Repointing các con trỏ để
ánh xạ dữ liệu để trỏ đến
bản đồ mới của bạn là cái
gì đó sẽ được thảo luận
sau.
Tôi khuyên bạn, mặc dù
chỉ cần đọc trên và tìm
hiểu một cách dễ dàng
hơn.
Một phím tắt toàn năng ...
Một cách dễ dàng tôi đã đề
cập đến, liên quan đến
thiết kế bản đồ của bạn
trong Mappy Map Editor,
sử dụng FE7 tilesets các
liên kết đến đó là trong
đoạn mở đầu của hướng
dẫn này. Làm thế nào để
sử dụng Mappy để thiết kế
một bản đồ tùy chỉnh nên
được khá rõ ràng, nhưng
đây là một vài lời khuyên
mà chắc chắn sẽ làm cho
cuộc sống dễ dàng hơn:
- Điều chỉnh kích thước
cửa sổ tileset trong một
cách mà gạch như lâu đài
của làng hoặc sắp xếp
trong để bạn có thể dễ
dàng nhìn thấy cách sử
dụng mỗi ngói.
- Đầu tiên chọn một
tileset, sau đó bắt đầu một
'bản đồ mới và tải các
tileset một lần nữa. Nếu
không, một tileset có thể
tải không chính xác nếu
bạn tải nó sau khi tải nhau
đầu tiên. Nó không chắc
rằng bạn sẽ chỉ nhận thấy
điều này khi bạn lần đầu
tiên nhìn thấy bản đồ của
bạn trong trò chơi và nhận
ra nó không giống như ở
tất cả những gì nó nên đã
được, vì vậy tôi khuyên
bạn nên chú ý đến điều
này.
- Luôn luôn nhớ để thiết
lập kích thước ngói để
16x16 pxls trong cửa sổ
'bản đồ mới.
- Không bao giờ tạo bản đồ
với kích thước trên 43 x 36
gạch, như các trò chơi có
thể không thể tải chúng
nếu bạn làm.
- Ghi chính xác mà tileset
tập tin bạn sử dụng khi
bạn cần thông tin sau.
Trong thực tế, có lẽ bạn
nên viết ra đâu đó.
- Không sử dụng các lớp.
Nếu bạn muốn sử dụng
cửa có thể được mở hoặc
bức tường có thể bị phá
vỡ, chỉ làm cho nó trông
theo cách cần thiết khi bắt
đầu chương này, và bạn sẽ
tìm hiểu phần còn lại sau.
Nếu bạn muốn sử dụng
mái nhà di động, tôi không
thể cho bạn biết cách làm
đó, kể từ khi tôi không biết
bản thân mình. = P
- Bỏ qua một thực tế là
gạch hoạt hình không
hoàn toàn kết nối, vì tôi đã
không trích xuất tất cả
trong số họ khi họ còn ở
khung hình ảnh động
tương tự.
Một khi bạn đã hoàn
thành việc tạo một bản đồ,
xuất khẩu nó như là một
ba tập tin (mảng bản đồ)..
Nếu bây giờ bạn nhận
được một thông báo lỗi
cho bạn có nhiều hơn
1024 gạch trong tileset,
bạn sẽ biết rằng bạn đã
không được chú ý đến lời
khuyên thứ hai của tôi ở
trên.
Bây giờ, chúng tôi tự sẽ
chuyển đổi tập tin này
tháng ba sang định dạng
Rekka có thể hiểu được.
Tôi sẽ mô tả quá trình này
bước từng bước để tránh
nhầm lẫn. Tôi sẽ sử dụng
Cygnus đây, kể từ khi tôi
không biết các chức năng
chính xác để sử dụng
trong các biên tập viên
khác.
1. Mở tập tin trong Cygnus
2. Chọn 'Tools-> Thay đổi'
chức năng
3. Thiết lập 'số hạng mục
sửa đổi "một cái gì đó đủ
cao để toàn bộ tập tin
được đánh dấu, thiết lập
các loại mặt hàng để' Word
(2 byte), thiết lập các hành
động để phân chia, giá trị
hành động để 8 và chắc
chắn rằng Big Endian
không được chọn.
4. Nhấn OK. Trình soạn
thảo hex bây giờ sẽ chia
giá trị của mỗi cặp byte 8.
(Nếu nó yêu cầu liệu có
nên mở rộng tập tin bởi vì
"số hạng mục sửa đổi" của
bạn là lớn hơn tổng số tập
tin, chọn "không")
5. Chèn một byte '00 'sau
6 byte đầu tiên, và một
sau khi tất cả các byte 8 xa
hơn (không kể 00 byte bạn
đưa vào như là một trong
những 8)
6. Chèn 10 XX XX 00 00 YY
YY vào lúc bắt đầu của tập
tin, với YY YY là kích thước
bản đồ (trong hex) và XX
XX là chiều dài x rộng x 2
+ 2 (tất cả trong hex). Nhớ
để đảo ngược các byte!
Tại thời điểm này, tập tin
của bạn đã sẵn sàng để
đưa vào ROM. Để giữ cho
mọi thứ tốt đẹp và sạch
sẽ, chúng tôi sẽ chỉ mở
rộng các ROM và chèn này
trong không gian mở mới
được tạo ra. Chèn nó có
thể được thực hiện bằng
cách chỉ sử dụng sao
chép / dán chức năng của
trình soạn thảo hex của
bạn. Rõ ràng, các trò chơi
sẽ không thể sử dụng bản
đồ của bạn bây giờ, vì nó
không có cách nào biết
được nó ở đó. Đó là lý do
tại sao chúng ta sẽ cần
phải thực hiện một con trỏ
đến nó.
Nhớ làm thế nào có một
byte 'bản đồ được sử dụng'
trong các dữ liệu chương?
(Bạn có thể sử dụng mô-
đun NM của tôi để tìm
thấy nó) Rõ ràng, byte này
không phải là một con trỏ
thực tế để chính bản đồ,
đó là một tham chiếu đến
một con trỏ trong bảng con
trỏ bắt đầu từ 00C9C9CC.
Bạn sẽ học cách nhớ bảng
này đã bù đắp, như rất
nhiều con trỏ quan trọng,
kể cả việc tilesets, bản đồ
và bảng dữ liệu sự kiện
trong đó.
Hãy nói rằng bạn muốn
bản đồ của bạn để thay
thế bản đồ của đoạn mở
đầu. Như byte 'bản đồ'
trong các dữ liệu chương
04 nói, con trỏ thứ tư
trong bảng là một trong
những bạn sẽ cần phải
thay đổi. Làm cho nó trỏ
đến vị trí của intead bản
đồ của riêng bạn để
0036AF00 như nó ngay
bây giờ. Lưu ý rằng một
con trỏ đến một khu vực
mở rộng của ROM sẽ kết
thúc trong 09, từ địa chỉ
bắt đầu với 01 thay vì 00
bình thường (và bạn phải
thêm 08 đến nó).
Nếu bạn đã không nhận ra
nó đã có, biết rằng thay
thế của đoạn mở đầu con
trỏ bản đồ với bạn sẽ
không có nghĩa là bản đồ
của bạn đã được sử dụng
cho phần mở đầu. Nếu
bạn muốn, bạn có thể
thay đổi các byte tham
khảo bản đồ dữ liệu
chương chương khác nhau
"xung quanh để thay đổi
mà bản đồ được sử dụng
bởi mỗi chương.
Cuối cùng, thay đổi Thiết
lập đối tượng, Palette, cấu
hình và Ngói Ngói thiết lập
động trong các dữ liệu
chương tương ứng với các
tileset bạn sử dụng cho
bản đồ của bạn. (Một lần
nữa, tôi khuyên sử dụng
chương của tôi biên tập dữ
liệu). Nếu bạn không chắc
chắn mà tileset hoặc bảng
đó là, kiểm tra (= của
tileset) tên tập tin của nó,
nó phù hợp với các giá trị
bạn cần phải nhập.
Thay đổi gạch - về tủ, cửa
ra vào và hơn
Bản đồ của bạn bây giờ là
trong ROM, nhưng nếu có
tủ, cửa ra vào, làng,
những vết rách hoặc bức
tường trong nó, bạn sẽ
phải làm thêm một số điều
để cho nó hoạt động tốt.
Chúng tôi sẽ cần phải
chỉnh sửa, hay đúng hơn,
thay thế một bit dữ liệu
mô tả mà gạch của bản đồ
có thể thay đổi để gạch
khác (như một ngực kín
thay đổi đến một ngực
mở). Nó cho phép bạn
không chỉ để làm cho gạch
cửa / ngực / tường / trở
ngại mình thay đổi, bạn
cũng có thể thay đổi các
gạch xung quanh, nếu bạn
muốn.
Bạn có thể thấy các byte
dữ liệu chương nhãn
'Triggerable Bản đồ Thay
đổi' trong trình soạn thảo
của tôi. Giống như rất
nhiều giá trị trong dữ liệu
chương này đề cập đến
một con trỏ trong bảng ở
00C9C9CC. Con trỏ này trỏ
tới các dữ liệu chúng ta sẽ
chỉnh sửa ngay bây giờ.
Nếu chương bạn muốn sử
dụng bản đồ của bạn để
có một 00 tại byte này, chỉ
có một số tài liệu tham
khảo từ một chương khác.
Nhớ mặc dù, rằng nếu bạn
đang đi để làm cho nhiều
hơn một chương tùy chỉnh,
bạn không thể sử dụng
cùng một số hai lần. (Or. ..
trong thực tế nó có thể
được thực hiện nếu bạn
rất cẩn thận lựa chọn
những người thân để kết
hợp, nhưng tôi khuyên
chống lại nó)
Dù sao, chúng ta hãy xem
xét các dữ liệu các con trỏ
trỏ đến. Tôi sẽ sử dụng các
dữ liệu cho chương 2 là
một ví dụ ở đây, mà là ở
00CE1D20 (kể từ khi các
byte trong dữ liệu Chương
nói 0E, có nghĩa là con trỏ
thứ 14 của bảng, mà điểm
đến 00CE1D20).
Các dữ liệu như sau:
Bù đắp ---- dữ liệu
00CE1D00
--------------------------
80072C0D
00CE1D10 - B40D280D
30.090.000 240C0000
300D240D
00CE1D20 - 000D0001
02000000 0C1DCE08
010D0001
00CE1D30 - 02000000
101DCE08 02.080.102
03.000.000
00CE1D40 - 141DCE08
FF000000 00000000
00000000
Byte nhấn mạnh là các
byte con trỏ trỏ tới. Đó là
sự khởi đầu của những gì
cơ bản là một danh sách
của tất cả các thay đổi bản
đồ có thể có thể trải qua
trong chương. Mỗi phần tử
của danh sách bao gồm 12
byte trong định dạng này:
GGHHJJKK LL000000
pppppppp
Trong đó:
GG = số nhận dạng (như
trong, các yếu tố đầu tiên
của danh sách là 00, thứ
hai là 01, thứ ba là 02, vv)
HH = ngang tọa độ của lef
gạch trên cùng của một
phần của bản đồ mà thay
đổi
JJ = dọc tọa độ (lưu ý rằng
tọa độ được tính từ gạch
trên cùng bên trái của bản
đồ là (0, 0))
KK = ngang kích thước của
một phần của bản đồ mà
thay đổi (đo bằng gạch)
LL = dọc kích thước
P = Con trỏ trỏ tới các tài
liệu tham khảo gạch của
gạch phần định nghĩa của
bản đồ cần được lấp đầy
với nếu nó thay đổi
Các byte đậm-in là các
byte bắt đầu của mỗi phần
tử của danh sách cho các
chương 2 bản đồ thay đổi
dữ liệu. Như bạn có thể
thấy, trong danh sách kết
thúc với 'FF000000
00000000 00000000. Vì vậy
nên bạn.
Nếu bạn đọc các con trỏ
trong ví dụ này, bạn cũng
sẽ thấy rằng các dữ liệu
gạch là ngay trước khi
danh sách. Mặc dù điều
này luôn luôn là trường
hợp trong Rekka, nó không
cần phải được như vậy.
Đối với bản đồ tùy chỉnh
của bạn, bạn chỉ có thể
cũng lần đầu tiên làm
danh sách và thêm gạch
sau đó. Nhớ mặc dù, rằng
trong mọi trường hợp, con
trỏ trong bảng điểm con
trỏ đến byte đầu tiên của
danh sách.
Lập danh sách riêng của
bạn như thế này không
phải là quá khó khăn, và
tôi khuyên bạn nên thực
hiện một trong các phần
mở rộng vào cuối của ROM
(nếu bản đồ của bạn đã
mất hết tất cả các không
gian mới, mở rộng nó hơn
nữa = P). Lưu ý rằng các
trò chơi không cần phải
biết những gì gây nên
những thay đổi gạch, nó
chỉ thực hiện bất kỳ thay
đổi nó có thể tìm thấy
trong danh sách bao gồm
các gạch ngực / cửa /
chọn / tấn / thăm lệnh
được sử dụng trên, tại thời
điểm đó lệnh được sử
dụng trong các trò chơi.
Điều này có nghĩa rằng các
khu vực của bản đồ có thể
thay đổi bình thường
không thể chồng lên nhau
eachother, hoặc những
điều sẽ đi sai.
Ngoại lệ duy nhất cho quy
tắc này sẽ là một tình
huống trong đó các gạch
cùng được thay đổi nhiều
lần trong suốt chương, đó
là trường hợp trong các
đoạn cắt cảnh của chương
2, nơi mà các cửa ở phía
trên bên phải của bản đồ
được đóng tại một thời
điểm và mở tại một điểm
khác. Đây là lý do tại sao
một phần của bản đồ được
liệt kê hai lần trong các dữ
liệu ví dụ trên.
Sử dụng này cho một đoạn
cắt cảnh khá khó khăn, vì
vậy tôi khuyên không nên
làm điều đó, nhưng có một
loại tình huống mà trong
đó bạn sẽ cần phải bao
gồm một phần nào đó của
bản đồ hai lần không có
vấn đề gì. Tôi đang nói về
làng. Vì chúng có thể được
truy cập (để cửa đóng),
hoặc bị phá hủy, họ phải
được liệt kê hai lần. Người
đầu tiên là sự thay đổi
diễn ra, nếu cả làng bị phá
hủy, và các yếu tố được
liệt kê ngay sau đó phải
được thay đổi điều đó xảy
ra, nếu cả làng được truy
cập. Ngoài ra, "phá hủy
bản đồ thay đổi" phải bao
gồm cả làng, trong khi các
thay đổi được thực hiện
khi quý khách đến thăm
chỉ thay thế các cổng làng
mở cho một khép kín.
Nhận được số gạch quyền
có thể mất nhiều thời gian
hơn một chút so với danh
sách, mặc dù nó hoạt động
trong cùng một cách như
những con số gạch trong
chính bản đồ dữ liệu: gạch
được liệt kê theo thứ tự
xuất hiện từ phía trên bên
trái để gạch dưới cùng bên
phải của phần chỉ định của
bản đồ đó sẽ thay đổi.
Không có Seperator 00 ở
tất cả, như danh sách đã
nói với các trò chơi bao
nhiêu gạch để "đọc".
Dù sao, để tìm ra những
con số gạch của gạch thay
đổi, có thể sau khi thay đổi
của họ, bạn sẽ cần phải
hoặc là tham khảo ý kiến
một bảng như tôi cho các
bạn xem trước (tôi đã
không thực hiện bảng như
thế cho mỗi tileset, vì vậy
don ' t hỏi tôi cho họ> _>),
hoặc chỉ sử dụng Mappy
xuất khẩu khác tháng ba
với các gạch bạn cần phải
biết những con số của tất
cả trong một hàng, và sau
đó chuyển đổi các cặp byte
bằng cách chia chúng bằng
8 (trong hex!) để tìm hiểu.
Oh, và nếu một gạch nhất
định trong khu vực bạn chỉ
định trong danh sách
không cần phải thay đổi,
bạn có thể chỉ cần đặt 00
trong 00 vị trí của nó.
Một khi bạn đã hoàn tất
dữ liệu ngói của bạn và
danh sách, repoint con trỏ
đến nó (một trong các
bảng con trỏ, nhớ không?),
Và bản đồ của bạn bây giờ
sẽ được chơi. Thật không
may, chương của bạn là
không, vì vậy bạn sẽ cần
phải có một chút kiên
nhẫn và chờ cho hai
chương tiếp theo trước khi
bạn sẽ có thể thực sự
thưởng thức chương tùy
chỉnh của bạn. = P
--------------------------------------------------
------------ HẾT CHƯƠNG 1
----------------------------------
------------------------
- - - Updated - - -
~ Chương 1: Bản đồ ~
Tôi có thể cũng đã bắt đầu
điều này với một tải trọng
của các công cụ lý thuyết,
nhưng tôi lại chọn một
cách tiếp cận thực tế hơn.
Trong thực tế, bạn sẽ có
thể để tạo ra một chương
hoàn toàn tùy chỉnh (gần
như) vào cuối Chương 3.
Điều đầu tiên bạn cần cho
một chương rõ ràng là một
bản đồ, và đó là lý do tại
sao chương đầu tiên này
sẽ là về bản đồ và làm thế
nào để mã chúng.
Bản đồ dữ liệu
Trước hết, đối với những
người không biết, tất cả
các bản đồ FE bao gồm
gạch, đó là hình vuông
(trong trường hợp này)
16x16 pixel. Các trò chơi
thu hút những gạch từ
tilesets (còn gọi là bộ đối
tượng) là bộ sưu tập gạch
xung quanh một chủ đề
nhất định. Những màu sắc
được chỉ áp dụng cho gạch
sau đó, do đó, một tileset
đặc biệt có thể nhìn hoàn
toàn khác nhau trong bản
đồ khác nhau, tùy thuộc
vào bảng được sử dụng.
Tuy nhiên, mỗi bản đồ chỉ
có thể sử dụng gạch từ
một tileset, và chỉ có thể
sử dụng một bảng màu.
Trước khi mã hóa dữ liệu
bản đồ của riêng bạn, bạn
sẽ cần phải biết làm thế
nào dữ liệu được xây
dựng. Để xem một ví dụ về
những gì dữ liệu bản đồ
như thế nào, sử dụng
trình soạn thảo hex của
bạn để xem 0036AF00 bù
đắp. Đây là các byte bắt
đầu của dữ liệu bản đồ
của Prologue. Trước khi các
thông tin về gạch thực sự
bắt đầu, có 7 byte khác.
Trong trường hợp của
Prologue, đây là 10 2E 01
00 00 0F 0A. Thứ 2, thứ 3,
thứ 6 và thứ 7 của các
byte khác nhau từ chương
để chương. Những người 6
và 7 lần lượt là kích thước
chiều ngang và theo chiều
dọc của bản đồ, đo bằng
gạch. Các byte thứ 2 và
thứ 3 thực sự lưu trữ một
giá trị duy nhất, vì vậy bạn
sẽ phải đảo ngược chúng
để đọc: 012E. Giá trị này
cho các trò chơi một cái gì
đó về bao nhiêu gạch nên
được nạp trong tổng số cho
bản đồ, nhưng tôi không
biết chính xác cách thức
hoạt động. Dù sao, công
thức chung để tìm giá trị
này cho các bản đồ của
riêng bạn là: chiều dài x
rộng x 2 + 2. Bạn có thể
muốn sử dụng một máy
tính hex cho việc này.
(Không nên rất khó để tìm
thấy một trực tuyến một.)
Sau đó, gạch được trên
bản đồ được liệt kê. Không
có tham chiếu đến vị trí
của họ trên bản đồ nào,
chúng tôi chỉ liệt kê từ trái
sang phải di chuyển từ
trên xuống dưới trên bản
đồ. Tài liệu tham khảo của
mỗi gạch chỉ là số lượng
của nó trong tileset, và
phải mất hai byte (là, như
thường, để đảo ngược).
Lưu ý rằng chỉ số kết thúc
trong 00, 04, 08 và 0C
tham khảo gạch hợp lệ,
phần còn lại là không thể
sử dụng trong bản đồ. Có
một lý do tốt cho việc này,
nhưng tôi sẽ không thể
giải thích nó ở đây để
không overcomplicate điều.
Additionaly, có một 00
được thêm vào trong tài
liệu tham khảo sau 3 gạch
đầu tiên ", và xa hơn nữa
là sau mỗi gạch thứ tư.
Như một ví dụ thực sự
ngẫu nhiên, dữ liệu bản
đồ rất nhỏ của có thể
trông như thế này: (các 00
của tách được in đậm) (lưu
ý rằng một bản đồ nhỏ
này có thể không tồn tại,
mỗi bản đồ ít nhất phải đủ
lớn để lấp đầy màn hình)
10 2A 00 00 00 04 05 10
05 14 06 2C 01 00 0D 7C
48 09 2C 0F 64 08 00 A8
04 38 00 08 03 94 0A 00
50 07 90 08 01 A8 A8 01
00 74 05 C8 02 D0 09 D4
09 00 30 0B
Bởi bây giờ, bạn có thể
thấy rằng các dữ liệu bản
đồ của Prologue, mà chúng
tôi đang tìm kiếm tại trước
đó, không hoàn toàn phù
hợp với định dạng này.
Trong thực tế, không ai
trong số các bản đồ trò
chơi thực tế làm, vì chúng
được nén. Do đó, chúng ta
có thể không chỉ cần đi
trước và thay đổi bản đồ
hiện có, thay vào đó chúng
ta sẽ phải tạo ra các bản
đồ của chúng tôi để thay
thế, nhưng thấy rằng
chúng tôi sẽ làm điều đó
dù sao, đó không phải là
thực sự là một vấn đề.
Bạn cũng có thể tự hỏi làm
thế nào bạn có thể có thể
biết được gạch thực tế
những con số tham khảo.
Do đó, bạn có thể cố gắng
trích xuất tất cả các gạch
của tileset bạn muốn sử
dụng và thu thập chúng
vào một bảng như tôi đã
làm với một ... nhưng nhìn
lên mỗi ngói duy nhất của
một bản đồ tùy chỉnh mà
bạn muốn mã trong một
bảng như vậy sẽ đòi hỏi
rất nhiều thời gian, vì vậy
tôi sẽ giải thích một
phương pháp đơn giản cho
bạn trong một phút.
Nếu bạn thích chỉ để đi
trước và mã bản đồ thủ
công, bạn sẽ có thể làm
điều đó biết những gì bạn
biết vào thời điểm này,
nhưng tôi khuyên bạn
không nên ghi đè lên các
dữ liệu bản đồ hiện có và
mở rộng các ROM nên bạn
chỉ còn trống không gian
để đặt mã trong bản đồ
của bạn để thay thế.
Repointing các con trỏ để
ánh xạ dữ liệu để trỏ đến
bản đồ mới của bạn là cái
gì đó sẽ được thảo luận
sau.
Tôi khuyên bạn, mặc dù
chỉ cần đọc trên và tìm
hiểu một cách dễ dàng
hơn.
Một phím tắt toàn năng ...
Một cách dễ dàng tôi đã đề
cập đến, liên quan đến
thiết kế bản đồ của bạn
trong Mappy Map Editor,
sử dụng FE7 tilesets các
liên kết đến đó là trong
đoạn mở đầu của hướng
dẫn này. Làm thế nào để
sử dụng Mappy để thiết kế
một bản đồ tùy chỉnh nên
được khá rõ ràng, nhưng
đây là một vài lời khuyên
mà chắc chắn sẽ làm cho
cuộc sống dễ dàng hơn:
- Điều chỉnh kích thước
cửa sổ tileset trong một
cách mà gạch như lâu đài
của làng hoặc sắp xếp
trong để bạn có thể dễ
dàng nhìn thấy cách sử
dụng mỗi ngói.
- Đầu tiên chọn một
tileset, sau đó bắt đầu một
'bản đồ mới và tải các
tileset một lần nữa. Nếu
không, một tileset có thể
tải không chính xác nếu
bạn tải nó sau khi tải nhau
đầu tiên. Nó không chắc
rằng bạn sẽ chỉ nhận thấy
điều này khi bạn lần đầu
tiên nhìn thấy bản đồ của
bạn trong trò chơi và nhận
ra nó không giống như ở
tất cả những gì nó nên đã
được, vì vậy tôi khuyên
bạn nên chú ý đến điều
này.
- Luôn luôn nhớ để thiết
lập kích thước ngói để
16x16 pxls trong cửa sổ
'bản đồ mới.
- Không bao giờ tạo bản đồ
với kích thước trên 43 x 36
gạch, như các trò chơi có
thể không thể tải chúng
nếu bạn làm.
- Ghi chính xác mà tileset
tập tin bạn sử dụng khi
bạn cần thông tin sau.
Trong thực tế, có lẽ bạn
nên viết ra đâu đó.
- Không sử dụng các lớp.
Nếu bạn muốn sử dụng
cửa có thể được mở hoặc
bức tường có thể bị phá
vỡ, chỉ làm cho nó trông
theo cách cần thiết khi bắt
đầu chương này, và bạn sẽ
tìm hiểu phần còn lại sau.
Nếu bạn muốn sử dụng
mái nhà di động, tôi không
thể cho bạn biết cách làm
đó, kể từ khi tôi không biết
bản thân mình. = P
- Bỏ qua một thực tế là
gạch hoạt hình không
hoàn toàn kết nối, vì tôi đã
không trích xuất tất cả
trong số họ khi họ còn ở
khung hình ảnh động
tương tự.
Một khi bạn đã hoàn
thành việc tạo một bản đồ,
xuất khẩu nó như là một
ba tập tin (mảng bản đồ)..
Nếu bây giờ bạn nhận
được một thông báo lỗi
cho bạn có nhiều hơn
1024 gạch trong tileset,
bạn sẽ biết rằng bạn đã
không được chú ý đến lời
khuyên thứ hai của tôi ở
trên.
Bây giờ, chúng tôi tự sẽ
chuyển đổi tập tin này
tháng ba sang định dạng
Rekka có thể hiểu được.
Tôi sẽ mô tả quá trình này
bước từng bước để tránh
nhầm lẫn. Tôi sẽ sử dụng
Cygnus đây, kể từ khi tôi
không biết các chức năng
chính xác để sử dụng
trong các biên tập viên
khác.
1. Mở tập tin trong Cygnus
2. Chọn 'Tools-> Thay đổi'
chức năng
3. Thiết lập 'số hạng mục
sửa đổi "một cái gì đó đủ
cao để toàn bộ tập tin
được đánh dấu, thiết lập
các loại mặt hàng để' Word
(2 byte), thiết lập các hành
động để phân chia, giá trị
hành động để 8 và chắc
chắn rằng Big Endian
không được chọn.
4. Nhấn OK. Trình soạn
thảo hex bây giờ sẽ chia
giá trị của mỗi cặp byte 8.
(Nếu nó yêu cầu liệu có
nên mở rộng tập tin bởi vì
"số hạng mục sửa đổi" của
bạn là lớn hơn tổng số tập
tin, chọn "không")
5. Chèn một byte '00 'sau
6 byte đầu tiên, và một
sau khi tất cả các byte 8 xa
hơn (không kể 00 byte bạn
đưa vào như là một trong
những 8)
6. Chèn 10 XX XX 00 00 YY
YY vào lúc bắt đầu của tập
tin, với YY YY là kích thước
bản đồ (trong hex) và XX
XX là chiều dài x rộng x 2
+ 2 (tất cả trong hex). Nhớ
để đảo ngược các byte!
Tại thời điểm này, tập tin
của bạn đã sẵn sàng để
đưa vào ROM. Để giữ cho
mọi thứ tốt đẹp và sạch
sẽ, chúng tôi sẽ chỉ mở
rộng các ROM và chèn này
trong không gian mở mới
được tạo ra. Chèn nó có
thể được thực hiện bằng
cách chỉ sử dụng sao
chép / dán chức năng của
trình soạn thảo hex của
bạn. Rõ ràng, các trò chơi
sẽ không thể sử dụng bản
đồ của bạn bây giờ, vì nó
không có cách nào biết
được nó ở đó. Đó là lý do
tại sao chúng ta sẽ cần
phải thực hiện một con trỏ
đến nó.
Nhớ làm thế nào có một
byte 'bản đồ được sử dụng'
trong các dữ liệu chương?
(Bạn có thể sử dụng mô-
đun NM của tôi để tìm
thấy nó) Rõ ràng, byte này
không phải là một con trỏ
thực tế để chính bản đồ,
đó là một tham chiếu đến
một con trỏ trong bảng con
trỏ bắt đầu từ 00C9C9CC.
Bạn sẽ học cách nhớ bảng
này đã bù đắp, như rất
nhiều con trỏ quan trọng,
kể cả việc tilesets, bản đồ
và bảng dữ liệu sự kiện
trong đó.
Hãy nói rằng bạn muốn
bản đồ của bạn để thay
thế bản đồ của đoạn mở
đầu. Như byte 'bản đồ'
trong các dữ liệu chương
04 nói, con trỏ thứ tư
trong bảng là một trong
những bạn sẽ cần phải
thay đổi. Làm cho nó trỏ
đến vị trí của intead bản
đồ của riêng bạn để
0036AF00 như nó ngay
bây giờ. Lưu ý rằng một
con trỏ đến một khu vực
mở rộng của ROM sẽ kết
thúc trong 09, từ địa chỉ
bắt đầu với 01 thay vì 00
bình thường (và bạn phải
thêm 08 đến nó).
Nếu bạn đã không nhận ra
nó đã có, biết rằng thay
thế của đoạn mở đầu con
trỏ bản đồ với bạn sẽ
không có nghĩa là bản đồ
của bạn đã được sử dụng
cho phần mở đầu. Nếu
bạn muốn, bạn có thể
thay đổi các byte tham
khảo bản đồ dữ liệu
chương chương khác nhau
"xung quanh để thay đổi
mà bản đồ được sử dụng
bởi mỗi chương.
Cuối cùng, thay đổi Thiết
lập đối tượng, Palette, cấu
hình và Ngói Ngói thiết lập
động trong các dữ liệu
chương tương ứng với các
tileset bạn sử dụng cho
bản đồ của bạn. (Một lần
nữa, tôi khuyên sử dụng
chương của tôi biên tập dữ
liệu). Nếu bạn không chắc
chắn mà tileset hoặc bảng
đó là, kiểm tra (= của
tileset) tên tập tin của nó,
nó phù hợp với các giá trị
bạn cần phải nhập.
Thay đổi gạch - về tủ, cửa
ra vào và hơn
Bản đồ của bạn bây giờ là
trong ROM, nhưng nếu có
tủ, cửa ra vào, làng,
những vết rách hoặc bức
tường trong nó, bạn sẽ
phải làm thêm một số điều
để cho nó hoạt động tốt.
Chúng tôi sẽ cần phải
chỉnh sửa, hay đúng hơn,
thay thế một bit dữ liệu
mô tả mà gạch của bản đồ
có thể thay đổi để gạch
khác (như một ngực kín
thay đổi đến một ngực
mở). Nó cho phép bạn
không chỉ để làm cho gạch
cửa / ngực / tường / trở
ngại mình thay đổi, bạn
cũng có thể thay đổi các
gạch xung quanh, nếu bạn
muốn.
Bạn có thể thấy các byte
dữ liệu chương nhãn
'Triggerable Bản đồ Thay
đổi' trong trình soạn thảo
của tôi. Giống như rất
nhiều giá trị trong dữ liệu
chương này đề cập đến
một con trỏ trong bảng ở
00C9C9CC. Con trỏ này trỏ
tới các dữ liệu chúng ta sẽ
chỉnh sửa ngay bây giờ.
Nếu chương bạn muốn sử
dụng bản đồ của bạn để
có một 00 tại byte này, chỉ
có một số tài liệu tham
khảo từ một chương khác.
Nhớ mặc dù, rằng nếu bạn
đang đi để làm cho nhiều
hơn một chương tùy chỉnh,
bạn không thể sử dụng
cùng một số hai lần. (Or. ..
trong thực tế nó có thể
được thực hiện nếu bạn
rất cẩn thận lựa chọn
những người thân để kết
hợp, nhưng tôi khuyên
chống lại nó)
Dù sao, chúng ta hãy xem
xét các dữ liệu các con trỏ
trỏ đến. Tôi sẽ sử dụng các
dữ liệu cho chương 2 là
một ví dụ ở đây, mà là ở
00CE1D20 (kể từ khi các
byte trong dữ liệu Chương
nói 0E, có nghĩa là con trỏ
thứ 14 của bảng, mà điểm
đến 00CE1D20).
Các dữ liệu như sau:
Bù đắp ---- dữ liệu
00CE1D00
--------------------------
80072C0D
00CE1D10 - B40D280D
30.090.000 240C0000
300D240D
00CE1D20 - 000D0001
02000000 0C1DCE08
010D0001
00CE1D30 - 02000000
101DCE08 02.080.102
03.000.000
00CE1D40 - 141DCE08
FF000000 00000000
00000000
Byte nhấn mạnh là các
byte con trỏ trỏ tới. Đó là
sự khởi đầu của những gì
cơ bản là một danh sách
của tất cả các thay đổi bản
đồ có thể có thể trải qua
trong chương. Mỗi phần tử
của danh sách bao gồm 12
byte trong định dạng này:
GGHHJJKK LL000000
pppppppp
Trong đó:
GG = số nhận dạng (như
trong, các yếu tố đầu tiên
của danh sách là 00, thứ
hai là 01, thứ ba là 02, vv)
HH = ngang tọa độ của lef
gạch trên cùng của một
phần của bản đồ mà thay
đổi
JJ = dọc tọa độ (lưu ý rằng
tọa độ được tính từ gạch
trên cùng bên trái của bản
đồ là (0, 0))
KK = ngang kích thước của
một phần của bản đồ mà
thay đổi (đo bằng gạch)
LL = dọc kích thước
P = Con trỏ trỏ tới các tài
liệu tham khảo gạch của
gạch phần định nghĩa của
bản đồ cần được lấp đầy
với nếu nó thay đổi
Các byte đậm-in là các
byte bắt đầu của mỗi phần
tử của danh sách cho các
chương 2 bản đồ thay đổi
dữ liệu. Như bạn có thể
thấy, trong danh sách kết
thúc với 'FF000000
00000000 00000000. Vì vậy
nên bạn.
Nếu bạn đọc các con trỏ
trong ví dụ này, bạn cũng
sẽ thấy rằng các dữ liệu
gạch là ngay trước khi
danh sách. Mặc dù điều
này luôn luôn là trường
hợp trong Rekka, nó không
cần phải được như vậy.
Đối với bản đồ tùy chỉnh
của bạn, bạn chỉ có thể
cũng lần đầu tiên làm
danh sách và thêm gạch
sau đó. Nhớ mặc dù, rằng
trong mọi trường hợp, con
trỏ trong bảng điểm con
trỏ đến byte đầu tiên của
danh sách.
Lập danh sách riêng của
bạn như thế này không
phải là quá khó khăn, và
tôi khuyên bạn nên thực
hiện một trong các phần
mở rộng vào cuối của ROM
(nếu bản đồ của bạn đã
mất hết tất cả các không
gian mới, mở rộng nó hơn
nữa = P). Lưu ý rằng các
trò chơi không cần phải
biết những gì gây nên
những thay đổi gạch, nó
chỉ thực hiện bất kỳ thay
đổi nó có thể tìm thấy
trong danh sách bao gồm
các gạch ngực / cửa /
chọn / tấn / thăm lệnh
được sử dụng trên, tại thời
điểm đó lệnh được sử
dụng trong các trò chơi.
Điều này có nghĩa rằng các
khu vực của bản đồ có thể
thay đổi bình thường
không thể chồng lên nhau
eachother, hoặc những
điều sẽ đi sai.
Ngoại lệ duy nhất cho quy
tắc này sẽ là một tình
huống trong đó các gạch
cùng được thay đổi nhiều
lần trong suốt chương, đó
là trường hợp trong các
đoạn cắt cảnh của chương
2, nơi mà các cửa ở phía
trên bên phải của bản đồ
được đóng tại một thời
điểm và mở tại một điểm
khác. Đây là lý do tại sao
một phần của bản đồ được
liệt kê hai lần trong các dữ
liệu ví dụ trên.
Sử dụng này cho một đoạn
cắt cảnh khá khó khăn, vì
vậy tôi khuyên không nên
làm điều đó, nhưng có một
loại tình huống mà trong
đó bạn sẽ cần phải bao
gồm một phần nào đó của
bản đồ hai lần không có
vấn đề gì. Tôi đang nói về
làng. Vì chúng có thể được
truy cập (để cửa đóng),
hoặc bị phá hủy, họ phải
được liệt kê hai lần. Người
đầu tiên là sự thay đổi
diễn ra, nếu cả làng bị phá
hủy, và các yếu tố được
liệt kê ngay sau đó phải
được thay đổi điều đó xảy
ra, nếu cả làng được truy
cập. Ngoài ra, "phá hủy
bản đồ thay đổi" phải bao
gồm cả làng, trong khi các
thay đổi được thực hiện
khi quý khách đến thăm
chỉ thay thế các cổng làng
mở cho một khép kín.
Nhận được số gạch quyền
có thể mất nhiều thời gian
hơn một chút so với danh
sách, mặc dù nó hoạt động
trong cùng một cách như
những con số gạch trong
chính bản đồ dữ liệu: gạch
được liệt kê theo thứ tự
xuất hiện từ phía trên bên
trái để gạch dưới cùng bên
phải của phần chỉ định của
bản đồ đó sẽ thay đổi.
Không có Seperator 00 ở
tất cả, như danh sách đã
nói với các trò chơi bao
nhiêu gạch để "đọc".
Dù sao, để tìm ra những
con số gạch của gạch thay
đổi, có thể sau khi thay đổi
của họ, bạn sẽ cần phải
hoặc là tham khảo ý kiến
một bảng như tôi cho các
bạn xem trước (tôi đã
không thực hiện bảng như
thế cho mỗi tileset, vì vậy
don ' t hỏi tôi cho họ> _>),
hoặc chỉ sử dụng Mappy
xuất khẩu khác tháng ba
với các gạch bạn cần phải
biết những con số của tất
cả trong một hàng, và sau
đó chuyển đổi các cặp byte
bằng cách chia chúng bằng
8 (trong hex!) để tìm hiểu.
Oh, và nếu một gạch nhất
định trong khu vực bạn chỉ
định trong danh sách
không cần phải thay đổi,
bạn có thể chỉ cần đặt 00
trong 00 vị trí của nó.
Một khi bạn đã hoàn tất
dữ liệu ngói của bạn và
danh sách, repoint con trỏ
đến nó (một trong các
bảng con trỏ, nhớ không?),
Và bản đồ của bạn bây giờ
sẽ được chơi. Thật không
may, chương của bạn là
không, vì vậy bạn sẽ cần
phải có một chút kiên
nhẫn và chờ cho hai
chương tiếp theo trước khi
bạn sẽ có thể thực sự
thưởng thức chương tùy
chỉnh của bạn. = P
--------------------------------------------------
------------ HẾT CHƯƠNG 1
----------------------------------
------------------------
ích.
Đây là hướng dẫn ban đầu
Icy bánh mì nướng, một
hướng dẫn với hầu hết tất
cả mọi thứ mà ông biết.
Đây là một tuyệt đối phải
đọc khi nó đến, nó tác
động là rất lớn. Nếu không
có những tiến bộ rất lớn
Icy bánh mì nướng, tôi
nghi ngờ FE hack sẽ là bất
cứ nơi nào gần mức như
ngày nay. Vì vậy, không có
thêm ado, tôi trình bày
Hướng dẫn Sửa đổi bởi
Hex, sao chép từ cho từ.
~ PROLOGUE: Bắt đầu ~
Có một vài điều cần được
nói đầu tiên. Một trong số
họ, một khá quan trọng
thực sự, là:
TỪ BỎ: Fire Emblem và tất
cả các nhân vật có liên
quan, địa điểm, tên và bất
cứ điều gì khác là tài sản
của Nintendo và thông
minh hệ thống. Ngoài ra,
bất cứ ai phải tin rằng (có
thể có bản quyền) công
việc của họ đã được sử
dụng unrightfully trong
hướng dẫn này, tôi sẽ
đánh giá cao nếu họ có thể
liên hệ với tôi về điều đó
để tôi có thể nạp tiền cho
họ / loại bỏ nó.
Vâng, đó là điều đó. = P
Thứ hai, bạn nên nhớ rằng
hướng dẫn này sẽ không
được hoàn thành và không
nhằm mục đích để được
như vậy. Tôi chỉ cung cấp
này như là một điểm khởi
đầu để mọi người hiểu
làm thế nào để sửa đổi trò
chơi FE bởi hex. Sau khi
đọc tất cả của nó, có thể
bạn sẽ có thể tìm hiểu
nhiều hơn những việc
riêng của bạn. Bằng cách
này, với "điểm khởi đầu" Ý
tôi là, tất cả các cách từ
đầu, nên mọi người có thể
hiểu được công cụ này,
trong thực tế. Nếu bạn
không hiểu nó, nó không
phải vì bạn không đủ tài
năng hoặc bất cứ điều gì,
nó chỉ là vì tôi hút tại giải
thích điều này. Vì vậy, ...
cảm thấy tự do để đặt câu
hỏi nên bất cứ điều gì
không rõ ràng.
Điều tiếp theo mà cần
phải được đề cập đến là
một thực tế là mặc dù
hướng dẫn của tôi sẽ hoàn
toàn tập trung vào sửa đổi
của FE7, nhiều của nó có
thể được áp dụng trong
(gần như) cùng một cách
để các gba khác FE, ngoại
trừ vị trí của hầu hết các
bộ phận của dữ liệu khác
nhau.
Cuối cùng, chương này
được gọi là "mở đầu" vì
một lý do: nó không phải
là một trong những
chương thực sự. Nó có chỉ
để giải thích các kiến thức
cơ bản bạn cần phải hiểu
các chương vẫn còn tới.
Nếu bạn đã có một số kinh
nghiệm với các chỉnh sửa
hex, bạn chỉ có thể bỏ qua
tất cả điều này. Nếu
không, cũng ... Tôi khuyên
bạn nên đọc nó rất kỹ
lưỡng. D
Những gì bạn sẽ cần
- Một FE7 (US) ROM. Lý do
nên được khá rõ ràng. Nhớ
mặc dù, rằng việc sở hữu
một ROM là bất hợp pháp,
và bạn thực sự nên mua
các trò chơi ban đầu để hỗ
trợ sáng tạo của họ.
Nhưng yeah, tôi cho rằng
tất cả mọi người đã biết.
XD
- Một trình soạn thảo hex.
Tôi đặt cược rằng bạn ngạc
nhiên khi tất cả, phải
không? Dù sao, tôi cá nhân
đề nghị googling và tải về
cả hai WindHex32 và
Cygnus Hex Editor 2.5. Sau
này chỉ có thể được sử
dụng một cách tự do trong
30 ngày, nhưng có ... ehm,
chỉ có thể là một cách
xung quanh đó. Tất nhiên
tôi sẽ không nói cho bạn,
nhưng ... tốt, chúng ta hãy
chỉ nói rằng nó có cái gì để
làm với đồng hồ máy tính
của bạn. > _> Nếu bạn
không muốn làm hỏng
tinh khiết đạo đức của
bạn, chỉ cần dính vào
WindHex, hoặc bất kỳ trình
soạn thảo hex khác mà
bạn thích. Trong hướng
dẫn này, tuy nhiên, tôi sẽ
sử dụng Cygnus trong một
số ví dụ, và tôi sợ nó gần
như một điều cần thiết
cho tùy chỉnh bản đồ mã
hóa.
- Một IPS Patcher / vá sáng
tạo. Tôi khuyên bạn nên
StealthPatch, vì nó cho
phép mở rộng của tập tin
được vá, đó là một lợi thế
lớn, để nói rằng ít nhất.
Một lần nữa, chỉ cần
google nó để tìm nơi để tải
về nó.
- Cơn ác mộng và một số
FE7 mô-đun. Trong khi
không hoàn toàn cần thiết,
có những sẽ là một lợi thế,
nhưng tôi cho rằng hầu
hết các bạn đã có một số
nào. Nếu không, tìm thấy
chúng ở fess. (Tải các mô-
đun của tôi ở đây) (Link là
chết)
- Unlz-gba: Chỉ cần thiết
để chỉnh sửa đồ họa,
nhưng nó là một công cụ
tuyệt vời. Một lần nữa,
Google là chìa khóa để tìm
kiếm nó. = P
- Ngói lớp Pro: Nó có thể
được gọi là "Pro", nhưng
nó thực sự là một chương
trình miễn phí, do đó,
không lo lắng về việc gặp
khó khăn để tìm thấy điều
này. Nó cho phép bạn xem
mã của một tập tin với các
byte hiển thị các điểm ảnh
màu, cho phép hiệu quả
bạn xem và chỉnh sửa đồ
họa không nén trong ROM.
(Trái ngược với Unlz-gba,
cho phép bạn chỉnh sửa
đồ họa nén chỉ)
- Mappy biên tập bản đồ:
Không phải là một phải
tuyệt đối, nhưng nó sẽ
giúp bạn tiết kiệm nhiều
giờ làm việc trong phần lập
trình bản đồ, vì vậy ... tìm
thấy nó và tải về nó. Oh!
Và không quên cũng tải về
FE7 tilesets đây (cập nhật
liên kết của tôi).
- Các FE7 phân tích cú
pháp (bằng Twilkitri): Chỉ
cần thiết để chỉnh sửa văn
bản. Nó cho phép bạn
thay đổi kịch bản và nó
recompresses và chèn nó
vào các trò chơi cho bạn.
Một công cụ tuyệt vời,
nhưng không may, nó
không công khai có sẵn.
Hoặc có lẽ tôi nên nói, nó
không phải là công khai có
sẵn ... vì trong thực tế,
một số liên kết để nó có
thể được tìm thấy trong
các chủ đề cũ tại fess.
Chúc may mắn tìm kiếm
chúng. D
Như một thay thế cho
phân tích cú pháp, bạn
cũng có thể thử Anti-
Huffman vá Zeld của (tìm
thấy ở fess là tốt), cho
phép bạn chỉnh sửa văn
bản trực tiếp trong một
trình soạn thảo hex. Tôi
chưa bao giờ làm việc với
bản thân mình, nhưng
dường như nó không được
công việc khá tốt, vì vậy
bạn có thể xem xét cho nó
một thử.
Biên tập thập lục phân và
hệ thống
Bây giờ mà bạn (hy vọng)
có tất cả các bạn cần, đó là
thời gian để chạy trình
soạn thảo hex của bạn và
mở ROM Rekka. Nếu mọi
việc suôn sẻ, bạn sẽ thấy
một loạt các con số dường
như vô lý và chữ cái trên
màn hình của bạn. Trong
hầu hết các biên tập viên
hex, bạn sẽ thấy ba cột,
một trong những trung là
rộng nhất. Cột giữa này
cho bạn thấy những gì nó
là tất cả về: 16777215 byte
cùng nhau tạo nên một
trong những game lớn
nhất từng tồn tại. D
Tùy thuộc vào trình soạn
thảo hex của bạn và các
thiết lập của nó, là cột ở
giữa sẽ hiển thị dữ liệu
trong nhóm hoặc 2, 4 hoặc
8 chữ số. Một trong những
điều đầu tiên bạn nên
biết, đó là, trong bất kỳ
trình soạn thảo hex, mỗi 2
chữ số đại diện cho một
byte. Chúng ta hãy xem
xét kỹ hơn cách làm việc
này.
Rất có thể, bạn đã sẽ biết
rằng một byte được tạo
thành từ 8 bit, mỗi trong
số đó có thể lưu trữ một
giá trị là 0 hoặc 1. Với
nhau, điều này làm cho
tổng số 256 kết hợp cho
từng byte, từ
00.000.000-11.111.111.
Bằng cách này, các giá trị
mô tả được gọi là hệ thống
nhị phân, như chỉ có hai
(= bi) lựa chọn cho mỗi
chữ số.
Chúng ta hãy so sánh với
hệ thống chúng ta thường
sử dụng: hệ thập phân.
Trong hệ thống thập phân,
chúng tôi có 10 khả năng
khác nhau cho mỗi chữ số
trong một số (vì thế tên),
cụ thể là 0, 1, 2, 3, 4, 5,
6, 7, 8 và 9. Một khi chúng
ta đã có những mười,
chúng tôi chỉ bắt đầu lại
với 1 trước, sau đó là 2,
sau đó là 3, và như vậy,
cho đến khi chúng ta đạt
đến 99, sau đó chúng tôi
bắt đầu sử dụng một chữ
số thứ ba. Điều này tất cả
nên âm thanh khủng khiếp
quen thuộc, vậy tại sao tôi
nói cho bạn điều này?
Vâng, trên thực tế, đó là vì
hệ thống thập lục phân chỉ
là điều tương tự, ngoại trừ
có 16 tùy chọn khác nhau
cho mỗi chữ số. Đây là
những đại diện bởi 0, 1, 2,
3, 4, 5, 6, 7, 8, 9, A, B, C,
D, E và F. Sau đó, đếm
trong hex tiếp tục với một
1 trong phía trước của nó ,
sau đó một 2, .... sau đó
một 8, sau đó một 9, sau
đó là A, sau đó là một
B. .... cho đến khi chúng ta
đạt được FF. Nhìn thấy? Nó
không phải ở tất cả khó
hiểu hex. (Lưu ý rằng mặc
dù FF là giá trị 256 có thể,
nó tương ứng với 255
trong hệ thống thập phân,
từ 0 cũng là một giá trị.)
Bây giờ làm thế nào điều
này liên quan đến các bit
và byte? Khi nghiên cứu
dữ liệu trong một trình
soạn thảo hex, chúng tôi
muốn để có thể nhìn thấy
giá trị của mỗi byte cá
nhân. Tất nhiên, nó có vẻ
hợp lý để tạo nên một biểu
tượng cho tất cả 256 giá trị
một byte có thể lưu trữ, vì
vậy chúng tôi có thể đọc
các giá trị của tất cả
chúng, nhưng vì điều này
sẽ yêu cầu học tập 256
biểu tượng khác nhau,
điều này sẽ không thực sự
được thực tế. Mặt khác,
nếu các trình soạn thảo
hex sẽ hiển thị tất cả các
byte như bộ sưu tập của 8
bit nó thực sự là, do đó chỉ
sử dụng hai ký hiệu khác
nhau, nó sẽ không được rõ
ràng hơn nhiều, vì điều
này sẽ có nghĩa là rất
nhiều rắc rối nếu bạn
muốn giải mã thực tế (số
thập phân) giá trị của byte
từ 0 và 1 của. Đó là lý do
tại sao một con đường
trung tuyến đã được lựa
chọn. Khi nó xảy ra, một
nửa byte, do đó bao gồm 4
bit và thường được gọi là
nibble, có thể mất 16 giá
trị khác nhau, dao động
0.000-1.111. Như 16 giá
trị khác nhau cho mỗi chữ
số, hoặc một hexit, vì nó
cũng được gọi là trong bối
cảnh này, một số lượng
quản lý, mỗi nibble được
đại diện bởi một chữ số
trong một trình soạn thảo
hex, do đó, mỗi cặp chữ số
là một byte.
Nhìn vào các byte đầu tiên
trong ROM Rekka, nó nói
2E. Như bạn vừa học
được, 10 trong hex là 16
trong số thập phân (từ 0F
= 15 và 10 đưa ra sau khi
0F), vì vậy 20 trong hex là
32. Nó không nên dùng
quá nhiều nỗ lực tìm ra
rằng E đại diện cho một số
thập phân 14, vì vậy các
byte 2E lưu trữ một giá trị
sẽ được đại diện bởi 32 +
14 = 46 trong hệ thập
phân. Đừng lo lắng về việc
phải tính toán cụ này, mặc
dù bạn sẽ không thường
xuyên cần phải làm điều
đó. Tuy nhiên, nó là hữu
ích để có thể chuyển đổi
hex sang thập phân và
ngược lại, vì nó sẽ giúp
bạn phát hiện ra / chỉnh
sửa những thứ đại diện
cho một số thập phân thực
sự trong game, như số
liệu thống kê nhân vật.
Dưới đây là một vài con số
trong cả hai số thập phân
và hex đó là hữu ích để
ghi nhớ:
hex 0A = 10 Tháng 12
hex 10 = 16 tháng 12
hex = 32 Tháng Mười Hai
50
hex = 64 Tháng Mười Hai
100
7F hex = 127 tháng mười
hai
hex A0 = 160 tháng mười
hai
hex FF = 255 tháng mười
hai
Rõ ràng, giá trị vượt quá
FF được lưu trữ sử dụng
nhiều hơn một byte. Có
một nắm bắt mặc dù điều
này; những giá trị phải
thực hiện nhiều hơn một
byte đơn phải được đọc
bằng cách đảo ngược các
byte. Vì vậy, một giá trị cho
thấy như 8B 5A 9F trong
ROM, là để được đọc như
9F 8B 5A, mà là
10.455.898 trong số thập
phân. Một lần nữa, đừng
lo lắng về điều này quá
nhiều chưa, bạn sẽ không
cần tất cả điều này thường
xuyên. Điều gì có thể tốt
để nhớ, mặc dù là một
nhóm 2 byte được gọi là
một 'nửa lời, và một nhóm
4 byte được gọi là một' từ
'.
Bây giờ chúng ta đã có tất
cả những thứ lý thuyết,
chúng ta hãy tiếp tục tour
du lịch hướng dẫn của
chúng ta về trình soạn
thảo hex chính nó. Cột
bên trái của dữ liệu thực
tế phải thể hiện một cái gì
đó như:
00000000
00000010
00000020
00000030
...
Nếu không, thiết lập trình
soạn thảo hex của bạn để
hiển thị 16 byte cho mỗi
hàng để sửa chữa nó.
Các con số đưa ra ở đây là
địa chỉ (còn gọi là hiệu số)
của byte đầu tiên cho mỗi
hàng. Mỗi byte sau đó rõ
ràng là địa chỉ cộng thêm
1, nhưng bạn nên nhớ
rằng địa chỉ được đưa ra
trong hệ thập lục phân.
Các địa chỉ đang có để làm
cho nó dễ dàng hơn để đề
cập đến một phần nhất
định của dữ liệu, và bạn
sẽ sớm có rất biết ơn soạn
thảo hex của bạn cho họ
thấy.
Cuối cùng, cần có một cột
ở bên phải cho thấy rất
nhiều văn bản, số, các loại
ký tự và chấm đơn giản.
Đây là ASCII đại diện của
tập tin. Nói cách khác, đó
là những gì các tập tin sẽ
như thế nào nếu nó là
một tập tin văn bản. Thông
thường, có rất ít quan tâm
để xem ở đó, nhưng tại
một số điểm trong ROM,
nó cho phép bạn nhìn thấy
những thứ bạn nếu không
sẽ bỏ qua. Nếu bạn muốn
xem một ví dụ về điều này,
đi đến 00FD8000 bù đắp.
Mỗi dòng đây là một phần
văn bản trong ASCII, cụ
thể là tên của một số nhân
vật, và các bộ phận khác
cho các trò chơi một số
thông tin quan trọng về
chiến hình ảnh động của
nhân vật, do đó, có cột
ASCII cho phép bạn xem
các dữ liệu về những nhân
vật. Tôi sẽ không đi vào chi
tiết về điều này ngay bây
giờ, nhưng điều bạn đang
nghĩ để nhớ về điều này,
là cột ASCII có thể ở lần
đến trong rất tiện dụng.
Vâng, tôi sẽ để nó vào bạn
để khám phá tất cả các nút
tuyệt vời của trình soạn
thảo hex mình, nhưng một
số bạn chắc chắn nên có
một cái nhìn tại (nếu trình
soạn thảo hex của bạn có
họ) là đánh dấu, tìm kiếm
và chức năng goto. Họ sẽ
có thể giúp bạn tiết kiệm
rất nhiều thời gian trong
tương lai gần. = P
Con trỏ
Bây giờ bạn đã học được
một chút về cách sử dụng
một trình soạn thảo hex,
bạn có thể nghĩ rằng bây
giờ chúng ta có thể bắt
đầu thực hiện một số
chỉnh sửa thực tế, phải
không? Sai. Có một điều vô
cùng quan trọng bạn nên
tìm hiểu đầu tiên, và bạn
sẽ cần nó cho tất cả mọi
hướng dẫn này sẽ bao
gồm. Con trỏ.
Một con trỏ là một nhóm
nhỏ các byte, trong trường
hợp của Rekka dài 4 byte,
thực hiện chính xác như
tên gọi của nó. Nó chỉ đến
một vị trí khác trong ROM,
hoặc thậm chí có thể là
một địa điểm bên ngoài
ROM, như bộ nhớ của gba.
Chúng tôi sẽ không cần
phải đi vào chi tiết về sau
này, vì vậy tôi sẽ dính vào
con trỏ trỏ đến những nơi
trong ROM đây. Dù sao, có
tải trọng của con trỏ trong
ROM, và bạn sẽ cần phải
học cách để đọc và xây
dựng chúng nếu bạn muốn
để có được xa hơn bất kỳ
những thứ đơn giản.
Về cơ bản, một con trỏ là
địa chỉ chính xác của dữ
liệu nó trỏ tới. Có điều là,
các byte được đảo ngược.
Đây không phải là luôn
luôn như vậy, nhưng trong
Rekka (và gba khác FE cho
rằng vấn đề), nó được.
Ngoài ra, 08 đã được thêm
vào byte đầu tiên của bù
đắp, mà đã trở thành các
byte cuối cùng trong con
trỏ. Khó hiểu không?
Không, bạn sẽ quen với nó
sớm hơn bạn nghĩ. Và dù
sao, những 08 vào cuối
mỗi con trỏ (vì tất cả các
adresses trong Rekka bắt
đầu với 00, trừ khi bạn mở
rộng ROM) là thực sự hữu
ích vì nó cho phép bạn
nhanh chóng nhận ra con
trỏ giữa các dữ liệu khác.
Hãy để tôi cung cấp cho
bạn một số ví dụ chỉ để có
được hang của nó.
Hãy nói rằng chúng tôi có
dữ liệu tại offset
00C9AB34, và chúng ta
cần một con trỏ đến dữ
liệu này. Đầu tiên, chúng
ta tinh thần tách bù đắp
vào 4 byte: 00 C9 AB 34,
và sau đó chúng ta ngược
lại chúng: 34 AB C9 00.
Bây giờ, thêm 08 đến byte
đầu tiên, mà bây giờ là
con trỏ byte cuối cùng, và
bạn nhận được 34ABC908.
Có con trỏ của bạn!
Một ví dụ khác, hãy tưởng
tượng bạn tìm thấy một
con trỏ nói "849AFD08".
Trừ đi 08 từ byte cuối
cùng, ngược lại chúng, và
voil
- - - Updated - - -
~ Chương 1: Bản đồ ~
Tôi có thể cũng đã bắt đầu
điều này với một tải trọng
của các công cụ lý thuyết,
nhưng tôi lại chọn một
cách tiếp cận thực tế hơn.
Trong thực tế, bạn sẽ có
thể để tạo ra một chương
hoàn toàn tùy chỉnh (gần
như) vào cuối Chương 3.
Điều đầu tiên bạn cần cho
một chương rõ ràng là một
bản đồ, và đó là lý do tại
sao chương đầu tiên này
sẽ là về bản đồ và làm thế
nào để mã chúng.
Bản đồ dữ liệu
Trước hết, đối với những
người không biết, tất cả
các bản đồ FE bao gồm
gạch, đó là hình vuông
(trong trường hợp này)
16x16 pixel. Các trò chơi
thu hút những gạch từ
tilesets (còn gọi là bộ đối
tượng) là bộ sưu tập gạch
xung quanh một chủ đề
nhất định. Những màu sắc
được chỉ áp dụng cho gạch
sau đó, do đó, một tileset
đặc biệt có thể nhìn hoàn
toàn khác nhau trong bản
đồ khác nhau, tùy thuộc
vào bảng được sử dụng.
Tuy nhiên, mỗi bản đồ chỉ
có thể sử dụng gạch từ
một tileset, và chỉ có thể
sử dụng một bảng màu.
Trước khi mã hóa dữ liệu
bản đồ của riêng bạn, bạn
sẽ cần phải biết làm thế
nào dữ liệu được xây
dựng. Để xem một ví dụ về
những gì dữ liệu bản đồ
như thế nào, sử dụng
trình soạn thảo hex của
bạn để xem 0036AF00 bù
đắp. Đây là các byte bắt
đầu của dữ liệu bản đồ
của Prologue. Trước khi các
thông tin về gạch thực sự
bắt đầu, có 7 byte khác.
Trong trường hợp của
Prologue, đây là 10 2E 01
00 00 0F 0A. Thứ 2, thứ 3,
thứ 6 và thứ 7 của các
byte khác nhau từ chương
để chương. Những người 6
và 7 lần lượt là kích thước
chiều ngang và theo chiều
dọc của bản đồ, đo bằng
gạch. Các byte thứ 2 và
thứ 3 thực sự lưu trữ một
giá trị duy nhất, vì vậy bạn
sẽ phải đảo ngược chúng
để đọc: 012E. Giá trị này
cho các trò chơi một cái gì
đó về bao nhiêu gạch nên
được nạp trong tổng số cho
bản đồ, nhưng tôi không
biết chính xác cách thức
hoạt động. Dù sao, công
thức chung để tìm giá trị
này cho các bản đồ của
riêng bạn là: chiều dài x
rộng x 2 + 2. Bạn có thể
muốn sử dụng một máy
tính hex cho việc này.
(Không nên rất khó để tìm
thấy một trực tuyến một.)
Sau đó, gạch được trên
bản đồ được liệt kê. Không
có tham chiếu đến vị trí
của họ trên bản đồ nào,
chúng tôi chỉ liệt kê từ trái
sang phải di chuyển từ
trên xuống dưới trên bản
đồ. Tài liệu tham khảo của
mỗi gạch chỉ là số lượng
của nó trong tileset, và
phải mất hai byte (là, như
thường, để đảo ngược).
Lưu ý rằng chỉ số kết thúc
trong 00, 04, 08 và 0C
tham khảo gạch hợp lệ,
phần còn lại là không thể
sử dụng trong bản đồ. Có
một lý do tốt cho việc này,
nhưng tôi sẽ không thể
giải thích nó ở đây để
không overcomplicate điều.
Additionaly, có một 00
được thêm vào trong tài
liệu tham khảo sau 3 gạch
đầu tiên ", và xa hơn nữa
là sau mỗi gạch thứ tư.
Như một ví dụ thực sự
ngẫu nhiên, dữ liệu bản
đồ rất nhỏ của có thể
trông như thế này: (các 00
của tách được in đậm) (lưu
ý rằng một bản đồ nhỏ
này có thể không tồn tại,
mỗi bản đồ ít nhất phải đủ
lớn để lấp đầy màn hình)
10 2A 00 00 00 04 05 10
05 14 06 2C 01 00 0D 7C
48 09 2C 0F 64 08 00 A8
04 38 00 08 03 94 0A 00
50 07 90 08 01 A8 A8 01
00 74 05 C8 02 D0 09 D4
09 00 30 0B
Bởi bây giờ, bạn có thể
thấy rằng các dữ liệu bản
đồ của Prologue, mà chúng
tôi đang tìm kiếm tại trước
đó, không hoàn toàn phù
hợp với định dạng này.
Trong thực tế, không ai
trong số các bản đồ trò
chơi thực tế làm, vì chúng
được nén. Do đó, chúng ta
có thể không chỉ cần đi
trước và thay đổi bản đồ
hiện có, thay vào đó chúng
ta sẽ phải tạo ra các bản
đồ của chúng tôi để thay
thế, nhưng thấy rằng
chúng tôi sẽ làm điều đó
dù sao, đó không phải là
thực sự là một vấn đề.
Bạn cũng có thể tự hỏi làm
thế nào bạn có thể có thể
biết được gạch thực tế
những con số tham khảo.
Do đó, bạn có thể cố gắng
trích xuất tất cả các gạch
của tileset bạn muốn sử
dụng và thu thập chúng
vào một bảng như tôi đã
làm với một ... nhưng nhìn
lên mỗi ngói duy nhất của
một bản đồ tùy chỉnh mà
bạn muốn mã trong một
bảng như vậy sẽ đòi hỏi
rất nhiều thời gian, vì vậy
tôi sẽ giải thích một
phương pháp đơn giản cho
bạn trong một phút.
Nếu bạn thích chỉ để đi
trước và mã bản đồ thủ
công, bạn sẽ có thể làm
điều đó biết những gì bạn
biết vào thời điểm này,
nhưng tôi khuyên bạn
không nên ghi đè lên các
dữ liệu bản đồ hiện có và
mở rộng các ROM nên bạn
chỉ còn trống không gian
để đặt mã trong bản đồ
của bạn để thay thế.
Repointing các con trỏ để
ánh xạ dữ liệu để trỏ đến
bản đồ mới của bạn là cái
gì đó sẽ được thảo luận
sau.
Tôi khuyên bạn, mặc dù
chỉ cần đọc trên và tìm
hiểu một cách dễ dàng
hơn.
Một phím tắt toàn năng ...
Một cách dễ dàng tôi đã đề
cập đến, liên quan đến
thiết kế bản đồ của bạn
trong Mappy Map Editor,
sử dụng FE7 tilesets các
liên kết đến đó là trong
đoạn mở đầu của hướng
dẫn này. Làm thế nào để
sử dụng Mappy để thiết kế
một bản đồ tùy chỉnh nên
được khá rõ ràng, nhưng
đây là một vài lời khuyên
mà chắc chắn sẽ làm cho
cuộc sống dễ dàng hơn:
- Điều chỉnh kích thước
cửa sổ tileset trong một
cách mà gạch như lâu đài
của làng hoặc sắp xếp
trong để bạn có thể dễ
dàng nhìn thấy cách sử
dụng mỗi ngói.
- Đầu tiên chọn một
tileset, sau đó bắt đầu một
'bản đồ mới và tải các
tileset một lần nữa. Nếu
không, một tileset có thể
tải không chính xác nếu
bạn tải nó sau khi tải nhau
đầu tiên. Nó không chắc
rằng bạn sẽ chỉ nhận thấy
điều này khi bạn lần đầu
tiên nhìn thấy bản đồ của
bạn trong trò chơi và nhận
ra nó không giống như ở
tất cả những gì nó nên đã
được, vì vậy tôi khuyên
bạn nên chú ý đến điều
này.
- Luôn luôn nhớ để thiết
lập kích thước ngói để
16x16 pxls trong cửa sổ
'bản đồ mới.
- Không bao giờ tạo bản đồ
với kích thước trên 43 x 36
gạch, như các trò chơi có
thể không thể tải chúng
nếu bạn làm.
- Ghi chính xác mà tileset
tập tin bạn sử dụng khi
bạn cần thông tin sau.
Trong thực tế, có lẽ bạn
nên viết ra đâu đó.
- Không sử dụng các lớp.
Nếu bạn muốn sử dụng
cửa có thể được mở hoặc
bức tường có thể bị phá
vỡ, chỉ làm cho nó trông
theo cách cần thiết khi bắt
đầu chương này, và bạn sẽ
tìm hiểu phần còn lại sau.
Nếu bạn muốn sử dụng
mái nhà di động, tôi không
thể cho bạn biết cách làm
đó, kể từ khi tôi không biết
bản thân mình. = P
- Bỏ qua một thực tế là
gạch hoạt hình không
hoàn toàn kết nối, vì tôi đã
không trích xuất tất cả
trong số họ khi họ còn ở
khung hình ảnh động
tương tự.
Một khi bạn đã hoàn
thành việc tạo một bản đồ,
xuất khẩu nó như là một
ba tập tin (mảng bản đồ)..
Nếu bây giờ bạn nhận
được một thông báo lỗi
cho bạn có nhiều hơn
1024 gạch trong tileset,
bạn sẽ biết rằng bạn đã
không được chú ý đến lời
khuyên thứ hai của tôi ở
trên.
Bây giờ, chúng tôi tự sẽ
chuyển đổi tập tin này
tháng ba sang định dạng
Rekka có thể hiểu được.
Tôi sẽ mô tả quá trình này
bước từng bước để tránh
nhầm lẫn. Tôi sẽ sử dụng
Cygnus đây, kể từ khi tôi
không biết các chức năng
chính xác để sử dụng
trong các biên tập viên
khác.
1. Mở tập tin trong Cygnus
2. Chọn 'Tools-> Thay đổi'
chức năng
3. Thiết lập 'số hạng mục
sửa đổi "một cái gì đó đủ
cao để toàn bộ tập tin
được đánh dấu, thiết lập
các loại mặt hàng để' Word
(2 byte), thiết lập các hành
động để phân chia, giá trị
hành động để 8 và chắc
chắn rằng Big Endian
không được chọn.
4. Nhấn OK. Trình soạn
thảo hex bây giờ sẽ chia
giá trị của mỗi cặp byte 8.
(Nếu nó yêu cầu liệu có
nên mở rộng tập tin bởi vì
"số hạng mục sửa đổi" của
bạn là lớn hơn tổng số tập
tin, chọn "không")
5. Chèn một byte '00 'sau
6 byte đầu tiên, và một
sau khi tất cả các byte 8 xa
hơn (không kể 00 byte bạn
đưa vào như là một trong
những 8)
6. Chèn 10 XX XX 00 00 YY
YY vào lúc bắt đầu của tập
tin, với YY YY là kích thước
bản đồ (trong hex) và XX
XX là chiều dài x rộng x 2
+ 2 (tất cả trong hex). Nhớ
để đảo ngược các byte!
Tại thời điểm này, tập tin
của bạn đã sẵn sàng để
đưa vào ROM. Để giữ cho
mọi thứ tốt đẹp và sạch
sẽ, chúng tôi sẽ chỉ mở
rộng các ROM và chèn này
trong không gian mở mới
được tạo ra. Chèn nó có
thể được thực hiện bằng
cách chỉ sử dụng sao
chép / dán chức năng của
trình soạn thảo hex của
bạn. Rõ ràng, các trò chơi
sẽ không thể sử dụng bản
đồ của bạn bây giờ, vì nó
không có cách nào biết
được nó ở đó. Đó là lý do
tại sao chúng ta sẽ cần
phải thực hiện một con trỏ
đến nó.
Nhớ làm thế nào có một
byte 'bản đồ được sử dụng'
trong các dữ liệu chương?
(Bạn có thể sử dụng mô-
đun NM của tôi để tìm
thấy nó) Rõ ràng, byte này
không phải là một con trỏ
thực tế để chính bản đồ,
đó là một tham chiếu đến
một con trỏ trong bảng con
trỏ bắt đầu từ 00C9C9CC.
Bạn sẽ học cách nhớ bảng
này đã bù đắp, như rất
nhiều con trỏ quan trọng,
kể cả việc tilesets, bản đồ
và bảng dữ liệu sự kiện
trong đó.
Hãy nói rằng bạn muốn
bản đồ của bạn để thay
thế bản đồ của đoạn mở
đầu. Như byte 'bản đồ'
trong các dữ liệu chương
04 nói, con trỏ thứ tư
trong bảng là một trong
những bạn sẽ cần phải
thay đổi. Làm cho nó trỏ
đến vị trí của intead bản
đồ của riêng bạn để
0036AF00 như nó ngay
bây giờ. Lưu ý rằng một
con trỏ đến một khu vực
mở rộng của ROM sẽ kết
thúc trong 09, từ địa chỉ
bắt đầu với 01 thay vì 00
bình thường (và bạn phải
thêm 08 đến nó).
Nếu bạn đã không nhận ra
nó đã có, biết rằng thay
thế của đoạn mở đầu con
trỏ bản đồ với bạn sẽ
không có nghĩa là bản đồ
của bạn đã được sử dụng
cho phần mở đầu. Nếu
bạn muốn, bạn có thể
thay đổi các byte tham
khảo bản đồ dữ liệu
chương chương khác nhau
"xung quanh để thay đổi
mà bản đồ được sử dụng
bởi mỗi chương.
Cuối cùng, thay đổi Thiết
lập đối tượng, Palette, cấu
hình và Ngói Ngói thiết lập
động trong các dữ liệu
chương tương ứng với các
tileset bạn sử dụng cho
bản đồ của bạn. (Một lần
nữa, tôi khuyên sử dụng
chương của tôi biên tập dữ
liệu). Nếu bạn không chắc
chắn mà tileset hoặc bảng
đó là, kiểm tra (= của
tileset) tên tập tin của nó,
nó phù hợp với các giá trị
bạn cần phải nhập.
Thay đổi gạch - về tủ, cửa
ra vào và hơn
Bản đồ của bạn bây giờ là
trong ROM, nhưng nếu có
tủ, cửa ra vào, làng,
những vết rách hoặc bức
tường trong nó, bạn sẽ
phải làm thêm một số điều
để cho nó hoạt động tốt.
Chúng tôi sẽ cần phải
chỉnh sửa, hay đúng hơn,
thay thế một bit dữ liệu
mô tả mà gạch của bản đồ
có thể thay đổi để gạch
khác (như một ngực kín
thay đổi đến một ngực
mở). Nó cho phép bạn
không chỉ để làm cho gạch
cửa / ngực / tường / trở
ngại mình thay đổi, bạn
cũng có thể thay đổi các
gạch xung quanh, nếu bạn
muốn.
Bạn có thể thấy các byte
dữ liệu chương nhãn
'Triggerable Bản đồ Thay
đổi' trong trình soạn thảo
của tôi. Giống như rất
nhiều giá trị trong dữ liệu
chương này đề cập đến
một con trỏ trong bảng ở
00C9C9CC. Con trỏ này trỏ
tới các dữ liệu chúng ta sẽ
chỉnh sửa ngay bây giờ.
Nếu chương bạn muốn sử
dụng bản đồ của bạn để
có một 00 tại byte này, chỉ
có một số tài liệu tham
khảo từ một chương khác.
Nhớ mặc dù, rằng nếu bạn
đang đi để làm cho nhiều
hơn một chương tùy chỉnh,
bạn không thể sử dụng
cùng một số hai lần. (Or. ..
trong thực tế nó có thể
được thực hiện nếu bạn
rất cẩn thận lựa chọn
những người thân để kết
hợp, nhưng tôi khuyên
chống lại nó)
Dù sao, chúng ta hãy xem
xét các dữ liệu các con trỏ
trỏ đến. Tôi sẽ sử dụng các
dữ liệu cho chương 2 là
một ví dụ ở đây, mà là ở
00CE1D20 (kể từ khi các
byte trong dữ liệu Chương
nói 0E, có nghĩa là con trỏ
thứ 14 của bảng, mà điểm
đến 00CE1D20).
Các dữ liệu như sau:
Bù đắp ---- dữ liệu
00CE1D00
--------------------------
80072C0D
00CE1D10 - B40D280D
30.090.000 240C0000
300D240D
00CE1D20 - 000D0001
02000000 0C1DCE08
010D0001
00CE1D30 - 02000000
101DCE08 02.080.102
03.000.000
00CE1D40 - 141DCE08
FF000000 00000000
00000000
Byte nhấn mạnh là các
byte con trỏ trỏ tới. Đó là
sự khởi đầu của những gì
cơ bản là một danh sách
của tất cả các thay đổi bản
đồ có thể có thể trải qua
trong chương. Mỗi phần tử
của danh sách bao gồm 12
byte trong định dạng này:
GGHHJJKK LL000000
pppppppp
Trong đó:
GG = số nhận dạng (như
trong, các yếu tố đầu tiên
của danh sách là 00, thứ
hai là 01, thứ ba là 02, vv)
HH = ngang tọa độ của lef
gạch trên cùng của một
phần của bản đồ mà thay
đổi
JJ = dọc tọa độ (lưu ý rằng
tọa độ được tính từ gạch
trên cùng bên trái của bản
đồ là (0, 0))
KK = ngang kích thước của
một phần của bản đồ mà
thay đổi (đo bằng gạch)
LL = dọc kích thước
P = Con trỏ trỏ tới các tài
liệu tham khảo gạch của
gạch phần định nghĩa của
bản đồ cần được lấp đầy
với nếu nó thay đổi
Các byte đậm-in là các
byte bắt đầu của mỗi phần
tử của danh sách cho các
chương 2 bản đồ thay đổi
dữ liệu. Như bạn có thể
thấy, trong danh sách kết
thúc với 'FF000000
00000000 00000000. Vì vậy
nên bạn.
Nếu bạn đọc các con trỏ
trong ví dụ này, bạn cũng
sẽ thấy rằng các dữ liệu
gạch là ngay trước khi
danh sách. Mặc dù điều
này luôn luôn là trường
hợp trong Rekka, nó không
cần phải được như vậy.
Đối với bản đồ tùy chỉnh
của bạn, bạn chỉ có thể
cũng lần đầu tiên làm
danh sách và thêm gạch
sau đó. Nhớ mặc dù, rằng
trong mọi trường hợp, con
trỏ trong bảng điểm con
trỏ đến byte đầu tiên của
danh sách.
Lập danh sách riêng của
bạn như thế này không
phải là quá khó khăn, và
tôi khuyên bạn nên thực
hiện một trong các phần
mở rộng vào cuối của ROM
(nếu bản đồ của bạn đã
mất hết tất cả các không
gian mới, mở rộng nó hơn
nữa = P). Lưu ý rằng các
trò chơi không cần phải
biết những gì gây nên
những thay đổi gạch, nó
chỉ thực hiện bất kỳ thay
đổi nó có thể tìm thấy
trong danh sách bao gồm
các gạch ngực / cửa /
chọn / tấn / thăm lệnh
được sử dụng trên, tại thời
điểm đó lệnh được sử
dụng trong các trò chơi.
Điều này có nghĩa rằng các
khu vực của bản đồ có thể
thay đổi bình thường
không thể chồng lên nhau
eachother, hoặc những
điều sẽ đi sai.
Ngoại lệ duy nhất cho quy
tắc này sẽ là một tình
huống trong đó các gạch
cùng được thay đổi nhiều
lần trong suốt chương, đó
là trường hợp trong các
đoạn cắt cảnh của chương
2, nơi mà các cửa ở phía
trên bên phải của bản đồ
được đóng tại một thời
điểm và mở tại một điểm
khác. Đây là lý do tại sao
một phần của bản đồ được
liệt kê hai lần trong các dữ
liệu ví dụ trên.
Sử dụng này cho một đoạn
cắt cảnh khá khó khăn, vì
vậy tôi khuyên không nên
làm điều đó, nhưng có một
loại tình huống mà trong
đó bạn sẽ cần phải bao
gồm một phần nào đó của
bản đồ hai lần không có
vấn đề gì. Tôi đang nói về
làng. Vì chúng có thể được
truy cập (để cửa đóng),
hoặc bị phá hủy, họ phải
được liệt kê hai lần. Người
đầu tiên là sự thay đổi
diễn ra, nếu cả làng bị phá
hủy, và các yếu tố được
liệt kê ngay sau đó phải
được thay đổi điều đó xảy
ra, nếu cả làng được truy
cập. Ngoài ra, "phá hủy
bản đồ thay đổi" phải bao
gồm cả làng, trong khi các
thay đổi được thực hiện
khi quý khách đến thăm
chỉ thay thế các cổng làng
mở cho một khép kín.
Nhận được số gạch quyền
có thể mất nhiều thời gian
hơn một chút so với danh
sách, mặc dù nó hoạt động
trong cùng một cách như
những con số gạch trong
chính bản đồ dữ liệu: gạch
được liệt kê theo thứ tự
xuất hiện từ phía trên bên
trái để gạch dưới cùng bên
phải của phần chỉ định của
bản đồ đó sẽ thay đổi.
Không có Seperator 00 ở
tất cả, như danh sách đã
nói với các trò chơi bao
nhiêu gạch để "đọc".
Dù sao, để tìm ra những
con số gạch của gạch thay
đổi, có thể sau khi thay đổi
của họ, bạn sẽ cần phải
hoặc là tham khảo ý kiến
một bảng như tôi cho các
bạn xem trước (tôi đã
không thực hiện bảng như
thế cho mỗi tileset, vì vậy
don ' t hỏi tôi cho họ> _>),
hoặc chỉ sử dụng Mappy
xuất khẩu khác tháng ba
với các gạch bạn cần phải
biết những con số của tất
cả trong một hàng, và sau
đó chuyển đổi các cặp byte
bằng cách chia chúng bằng
8 (trong hex!) để tìm hiểu.
Oh, và nếu một gạch nhất
định trong khu vực bạn chỉ
định trong danh sách
không cần phải thay đổi,
bạn có thể chỉ cần đặt 00
trong 00 vị trí của nó.
Một khi bạn đã hoàn tất
dữ liệu ngói của bạn và
danh sách, repoint con trỏ
đến nó (một trong các
bảng con trỏ, nhớ không?),
Và bản đồ của bạn bây giờ
sẽ được chơi. Thật không
may, chương của bạn là
không, vì vậy bạn sẽ cần
phải có một chút kiên
nhẫn và chờ cho hai
chương tiếp theo trước khi
bạn sẽ có thể thực sự
thưởng thức chương tùy
chỉnh của bạn. = P
--------------------------------------------------
------------ HẾT CHƯƠNG 1
----------------------------------
------------------------
- - - Updated - - -
~ Chương 1: Bản đồ ~
Tôi có thể cũng đã bắt đầu
điều này với một tải trọng
của các công cụ lý thuyết,
nhưng tôi lại chọn một
cách tiếp cận thực tế hơn.
Trong thực tế, bạn sẽ có
thể để tạo ra một chương
hoàn toàn tùy chỉnh (gần
như) vào cuối Chương 3.
Điều đầu tiên bạn cần cho
một chương rõ ràng là một
bản đồ, và đó là lý do tại
sao chương đầu tiên này
sẽ là về bản đồ và làm thế
nào để mã chúng.
Bản đồ dữ liệu
Trước hết, đối với những
người không biết, tất cả
các bản đồ FE bao gồm
gạch, đó là hình vuông
(trong trường hợp này)
16x16 pixel. Các trò chơi
thu hút những gạch từ
tilesets (còn gọi là bộ đối
tượng) là bộ sưu tập gạch
xung quanh một chủ đề
nhất định. Những màu sắc
được chỉ áp dụng cho gạch
sau đó, do đó, một tileset
đặc biệt có thể nhìn hoàn
toàn khác nhau trong bản
đồ khác nhau, tùy thuộc
vào bảng được sử dụng.
Tuy nhiên, mỗi bản đồ chỉ
có thể sử dụng gạch từ
một tileset, và chỉ có thể
sử dụng một bảng màu.
Trước khi mã hóa dữ liệu
bản đồ của riêng bạn, bạn
sẽ cần phải biết làm thế
nào dữ liệu được xây
dựng. Để xem một ví dụ về
những gì dữ liệu bản đồ
như thế nào, sử dụng
trình soạn thảo hex của
bạn để xem 0036AF00 bù
đắp. Đây là các byte bắt
đầu của dữ liệu bản đồ
của Prologue. Trước khi các
thông tin về gạch thực sự
bắt đầu, có 7 byte khác.
Trong trường hợp của
Prologue, đây là 10 2E 01
00 00 0F 0A. Thứ 2, thứ 3,
thứ 6 và thứ 7 của các
byte khác nhau từ chương
để chương. Những người 6
và 7 lần lượt là kích thước
chiều ngang và theo chiều
dọc của bản đồ, đo bằng
gạch. Các byte thứ 2 và
thứ 3 thực sự lưu trữ một
giá trị duy nhất, vì vậy bạn
sẽ phải đảo ngược chúng
để đọc: 012E. Giá trị này
cho các trò chơi một cái gì
đó về bao nhiêu gạch nên
được nạp trong tổng số cho
bản đồ, nhưng tôi không
biết chính xác cách thức
hoạt động. Dù sao, công
thức chung để tìm giá trị
này cho các bản đồ của
riêng bạn là: chiều dài x
rộng x 2 + 2. Bạn có thể
muốn sử dụng một máy
tính hex cho việc này.
(Không nên rất khó để tìm
thấy một trực tuyến một.)
Sau đó, gạch được trên
bản đồ được liệt kê. Không
có tham chiếu đến vị trí
của họ trên bản đồ nào,
chúng tôi chỉ liệt kê từ trái
sang phải di chuyển từ
trên xuống dưới trên bản
đồ. Tài liệu tham khảo của
mỗi gạch chỉ là số lượng
của nó trong tileset, và
phải mất hai byte (là, như
thường, để đảo ngược).
Lưu ý rằng chỉ số kết thúc
trong 00, 04, 08 và 0C
tham khảo gạch hợp lệ,
phần còn lại là không thể
sử dụng trong bản đồ. Có
một lý do tốt cho việc này,
nhưng tôi sẽ không thể
giải thích nó ở đây để
không overcomplicate điều.
Additionaly, có một 00
được thêm vào trong tài
liệu tham khảo sau 3 gạch
đầu tiên ", và xa hơn nữa
là sau mỗi gạch thứ tư.
Như một ví dụ thực sự
ngẫu nhiên, dữ liệu bản
đồ rất nhỏ của có thể
trông như thế này: (các 00
của tách được in đậm) (lưu
ý rằng một bản đồ nhỏ
này có thể không tồn tại,
mỗi bản đồ ít nhất phải đủ
lớn để lấp đầy màn hình)
10 2A 00 00 00 04 05 10
05 14 06 2C 01 00 0D 7C
48 09 2C 0F 64 08 00 A8
04 38 00 08 03 94 0A 00
50 07 90 08 01 A8 A8 01
00 74 05 C8 02 D0 09 D4
09 00 30 0B
Bởi bây giờ, bạn có thể
thấy rằng các dữ liệu bản
đồ của Prologue, mà chúng
tôi đang tìm kiếm tại trước
đó, không hoàn toàn phù
hợp với định dạng này.
Trong thực tế, không ai
trong số các bản đồ trò
chơi thực tế làm, vì chúng
được nén. Do đó, chúng ta
có thể không chỉ cần đi
trước và thay đổi bản đồ
hiện có, thay vào đó chúng
ta sẽ phải tạo ra các bản
đồ của chúng tôi để thay
thế, nhưng thấy rằng
chúng tôi sẽ làm điều đó
dù sao, đó không phải là
thực sự là một vấn đề.
Bạn cũng có thể tự hỏi làm
thế nào bạn có thể có thể
biết được gạch thực tế
những con số tham khảo.
Do đó, bạn có thể cố gắng
trích xuất tất cả các gạch
của tileset bạn muốn sử
dụng và thu thập chúng
vào một bảng như tôi đã
làm với một ... nhưng nhìn
lên mỗi ngói duy nhất của
một bản đồ tùy chỉnh mà
bạn muốn mã trong một
bảng như vậy sẽ đòi hỏi
rất nhiều thời gian, vì vậy
tôi sẽ giải thích một
phương pháp đơn giản cho
bạn trong một phút.
Nếu bạn thích chỉ để đi
trước và mã bản đồ thủ
công, bạn sẽ có thể làm
điều đó biết những gì bạn
biết vào thời điểm này,
nhưng tôi khuyên bạn
không nên ghi đè lên các
dữ liệu bản đồ hiện có và
mở rộng các ROM nên bạn
chỉ còn trống không gian
để đặt mã trong bản đồ
của bạn để thay thế.
Repointing các con trỏ để
ánh xạ dữ liệu để trỏ đến
bản đồ mới của bạn là cái
gì đó sẽ được thảo luận
sau.
Tôi khuyên bạn, mặc dù
chỉ cần đọc trên và tìm
hiểu một cách dễ dàng
hơn.
Một phím tắt toàn năng ...
Một cách dễ dàng tôi đã đề
cập đến, liên quan đến
thiết kế bản đồ của bạn
trong Mappy Map Editor,
sử dụng FE7 tilesets các
liên kết đến đó là trong
đoạn mở đầu của hướng
dẫn này. Làm thế nào để
sử dụng Mappy để thiết kế
một bản đồ tùy chỉnh nên
được khá rõ ràng, nhưng
đây là một vài lời khuyên
mà chắc chắn sẽ làm cho
cuộc sống dễ dàng hơn:
- Điều chỉnh kích thước
cửa sổ tileset trong một
cách mà gạch như lâu đài
của làng hoặc sắp xếp
trong để bạn có thể dễ
dàng nhìn thấy cách sử
dụng mỗi ngói.
- Đầu tiên chọn một
tileset, sau đó bắt đầu một
'bản đồ mới và tải các
tileset một lần nữa. Nếu
không, một tileset có thể
tải không chính xác nếu
bạn tải nó sau khi tải nhau
đầu tiên. Nó không chắc
rằng bạn sẽ chỉ nhận thấy
điều này khi bạn lần đầu
tiên nhìn thấy bản đồ của
bạn trong trò chơi và nhận
ra nó không giống như ở
tất cả những gì nó nên đã
được, vì vậy tôi khuyên
bạn nên chú ý đến điều
này.
- Luôn luôn nhớ để thiết
lập kích thước ngói để
16x16 pxls trong cửa sổ
'bản đồ mới.
- Không bao giờ tạo bản đồ
với kích thước trên 43 x 36
gạch, như các trò chơi có
thể không thể tải chúng
nếu bạn làm.
- Ghi chính xác mà tileset
tập tin bạn sử dụng khi
bạn cần thông tin sau.
Trong thực tế, có lẽ bạn
nên viết ra đâu đó.
- Không sử dụng các lớp.
Nếu bạn muốn sử dụng
cửa có thể được mở hoặc
bức tường có thể bị phá
vỡ, chỉ làm cho nó trông
theo cách cần thiết khi bắt
đầu chương này, và bạn sẽ
tìm hiểu phần còn lại sau.
Nếu bạn muốn sử dụng
mái nhà di động, tôi không
thể cho bạn biết cách làm
đó, kể từ khi tôi không biết
bản thân mình. = P
- Bỏ qua một thực tế là
gạch hoạt hình không
hoàn toàn kết nối, vì tôi đã
không trích xuất tất cả
trong số họ khi họ còn ở
khung hình ảnh động
tương tự.
Một khi bạn đã hoàn
thành việc tạo một bản đồ,
xuất khẩu nó như là một
ba tập tin (mảng bản đồ)..
Nếu bây giờ bạn nhận
được một thông báo lỗi
cho bạn có nhiều hơn
1024 gạch trong tileset,
bạn sẽ biết rằng bạn đã
không được chú ý đến lời
khuyên thứ hai của tôi ở
trên.
Bây giờ, chúng tôi tự sẽ
chuyển đổi tập tin này
tháng ba sang định dạng
Rekka có thể hiểu được.
Tôi sẽ mô tả quá trình này
bước từng bước để tránh
nhầm lẫn. Tôi sẽ sử dụng
Cygnus đây, kể từ khi tôi
không biết các chức năng
chính xác để sử dụng
trong các biên tập viên
khác.
1. Mở tập tin trong Cygnus
2. Chọn 'Tools-> Thay đổi'
chức năng
3. Thiết lập 'số hạng mục
sửa đổi "một cái gì đó đủ
cao để toàn bộ tập tin
được đánh dấu, thiết lập
các loại mặt hàng để' Word
(2 byte), thiết lập các hành
động để phân chia, giá trị
hành động để 8 và chắc
chắn rằng Big Endian
không được chọn.
4. Nhấn OK. Trình soạn
thảo hex bây giờ sẽ chia
giá trị của mỗi cặp byte 8.
(Nếu nó yêu cầu liệu có
nên mở rộng tập tin bởi vì
"số hạng mục sửa đổi" của
bạn là lớn hơn tổng số tập
tin, chọn "không")
5. Chèn một byte '00 'sau
6 byte đầu tiên, và một
sau khi tất cả các byte 8 xa
hơn (không kể 00 byte bạn
đưa vào như là một trong
những 8)
6. Chèn 10 XX XX 00 00 YY
YY vào lúc bắt đầu của tập
tin, với YY YY là kích thước
bản đồ (trong hex) và XX
XX là chiều dài x rộng x 2
+ 2 (tất cả trong hex). Nhớ
để đảo ngược các byte!
Tại thời điểm này, tập tin
của bạn đã sẵn sàng để
đưa vào ROM. Để giữ cho
mọi thứ tốt đẹp và sạch
sẽ, chúng tôi sẽ chỉ mở
rộng các ROM và chèn này
trong không gian mở mới
được tạo ra. Chèn nó có
thể được thực hiện bằng
cách chỉ sử dụng sao
chép / dán chức năng của
trình soạn thảo hex của
bạn. Rõ ràng, các trò chơi
sẽ không thể sử dụng bản
đồ của bạn bây giờ, vì nó
không có cách nào biết
được nó ở đó. Đó là lý do
tại sao chúng ta sẽ cần
phải thực hiện một con trỏ
đến nó.
Nhớ làm thế nào có một
byte 'bản đồ được sử dụng'
trong các dữ liệu chương?
(Bạn có thể sử dụng mô-
đun NM của tôi để tìm
thấy nó) Rõ ràng, byte này
không phải là một con trỏ
thực tế để chính bản đồ,
đó là một tham chiếu đến
một con trỏ trong bảng con
trỏ bắt đầu từ 00C9C9CC.
Bạn sẽ học cách nhớ bảng
này đã bù đắp, như rất
nhiều con trỏ quan trọng,
kể cả việc tilesets, bản đồ
và bảng dữ liệu sự kiện
trong đó.
Hãy nói rằng bạn muốn
bản đồ của bạn để thay
thế bản đồ của đoạn mở
đầu. Như byte 'bản đồ'
trong các dữ liệu chương
04 nói, con trỏ thứ tư
trong bảng là một trong
những bạn sẽ cần phải
thay đổi. Làm cho nó trỏ
đến vị trí của intead bản
đồ của riêng bạn để
0036AF00 như nó ngay
bây giờ. Lưu ý rằng một
con trỏ đến một khu vực
mở rộng của ROM sẽ kết
thúc trong 09, từ địa chỉ
bắt đầu với 01 thay vì 00
bình thường (và bạn phải
thêm 08 đến nó).
Nếu bạn đã không nhận ra
nó đã có, biết rằng thay
thế của đoạn mở đầu con
trỏ bản đồ với bạn sẽ
không có nghĩa là bản đồ
của bạn đã được sử dụng
cho phần mở đầu. Nếu
bạn muốn, bạn có thể
thay đổi các byte tham
khảo bản đồ dữ liệu
chương chương khác nhau
"xung quanh để thay đổi
mà bản đồ được sử dụng
bởi mỗi chương.
Cuối cùng, thay đổi Thiết
lập đối tượng, Palette, cấu
hình và Ngói Ngói thiết lập
động trong các dữ liệu
chương tương ứng với các
tileset bạn sử dụng cho
bản đồ của bạn. (Một lần
nữa, tôi khuyên sử dụng
chương của tôi biên tập dữ
liệu). Nếu bạn không chắc
chắn mà tileset hoặc bảng
đó là, kiểm tra (= của
tileset) tên tập tin của nó,
nó phù hợp với các giá trị
bạn cần phải nhập.
Thay đổi gạch - về tủ, cửa
ra vào và hơn
Bản đồ của bạn bây giờ là
trong ROM, nhưng nếu có
tủ, cửa ra vào, làng,
những vết rách hoặc bức
tường trong nó, bạn sẽ
phải làm thêm một số điều
để cho nó hoạt động tốt.
Chúng tôi sẽ cần phải
chỉnh sửa, hay đúng hơn,
thay thế một bit dữ liệu
mô tả mà gạch của bản đồ
có thể thay đổi để gạch
khác (như một ngực kín
thay đổi đến một ngực
mở). Nó cho phép bạn
không chỉ để làm cho gạch
cửa / ngực / tường / trở
ngại mình thay đổi, bạn
cũng có thể thay đổi các
gạch xung quanh, nếu bạn
muốn.
Bạn có thể thấy các byte
dữ liệu chương nhãn
'Triggerable Bản đồ Thay
đổi' trong trình soạn thảo
của tôi. Giống như rất
nhiều giá trị trong dữ liệu
chương này đề cập đến
một con trỏ trong bảng ở
00C9C9CC. Con trỏ này trỏ
tới các dữ liệu chúng ta sẽ
chỉnh sửa ngay bây giờ.
Nếu chương bạn muốn sử
dụng bản đồ của bạn để
có một 00 tại byte này, chỉ
có một số tài liệu tham
khảo từ một chương khác.
Nhớ mặc dù, rằng nếu bạn
đang đi để làm cho nhiều
hơn một chương tùy chỉnh,
bạn không thể sử dụng
cùng một số hai lần. (Or. ..
trong thực tế nó có thể
được thực hiện nếu bạn
rất cẩn thận lựa chọn
những người thân để kết
hợp, nhưng tôi khuyên
chống lại nó)
Dù sao, chúng ta hãy xem
xét các dữ liệu các con trỏ
trỏ đến. Tôi sẽ sử dụng các
dữ liệu cho chương 2 là
một ví dụ ở đây, mà là ở
00CE1D20 (kể từ khi các
byte trong dữ liệu Chương
nói 0E, có nghĩa là con trỏ
thứ 14 của bảng, mà điểm
đến 00CE1D20).
Các dữ liệu như sau:
Bù đắp ---- dữ liệu
00CE1D00
--------------------------
80072C0D
00CE1D10 - B40D280D
30.090.000 240C0000
300D240D
00CE1D20 - 000D0001
02000000 0C1DCE08
010D0001
00CE1D30 - 02000000
101DCE08 02.080.102
03.000.000
00CE1D40 - 141DCE08
FF000000 00000000
00000000
Byte nhấn mạnh là các
byte con trỏ trỏ tới. Đó là
sự khởi đầu của những gì
cơ bản là một danh sách
của tất cả các thay đổi bản
đồ có thể có thể trải qua
trong chương. Mỗi phần tử
của danh sách bao gồm 12
byte trong định dạng này:
GGHHJJKK LL000000
pppppppp
Trong đó:
GG = số nhận dạng (như
trong, các yếu tố đầu tiên
của danh sách là 00, thứ
hai là 01, thứ ba là 02, vv)
HH = ngang tọa độ của lef
gạch trên cùng của một
phần của bản đồ mà thay
đổi
JJ = dọc tọa độ (lưu ý rằng
tọa độ được tính từ gạch
trên cùng bên trái của bản
đồ là (0, 0))
KK = ngang kích thước của
một phần của bản đồ mà
thay đổi (đo bằng gạch)
LL = dọc kích thước
P = Con trỏ trỏ tới các tài
liệu tham khảo gạch của
gạch phần định nghĩa của
bản đồ cần được lấp đầy
với nếu nó thay đổi
Các byte đậm-in là các
byte bắt đầu của mỗi phần
tử của danh sách cho các
chương 2 bản đồ thay đổi
dữ liệu. Như bạn có thể
thấy, trong danh sách kết
thúc với 'FF000000
00000000 00000000. Vì vậy
nên bạn.
Nếu bạn đọc các con trỏ
trong ví dụ này, bạn cũng
sẽ thấy rằng các dữ liệu
gạch là ngay trước khi
danh sách. Mặc dù điều
này luôn luôn là trường
hợp trong Rekka, nó không
cần phải được như vậy.
Đối với bản đồ tùy chỉnh
của bạn, bạn chỉ có thể
cũng lần đầu tiên làm
danh sách và thêm gạch
sau đó. Nhớ mặc dù, rằng
trong mọi trường hợp, con
trỏ trong bảng điểm con
trỏ đến byte đầu tiên của
danh sách.
Lập danh sách riêng của
bạn như thế này không
phải là quá khó khăn, và
tôi khuyên bạn nên thực
hiện một trong các phần
mở rộng vào cuối của ROM
(nếu bản đồ của bạn đã
mất hết tất cả các không
gian mới, mở rộng nó hơn
nữa = P). Lưu ý rằng các
trò chơi không cần phải
biết những gì gây nên
những thay đổi gạch, nó
chỉ thực hiện bất kỳ thay
đổi nó có thể tìm thấy
trong danh sách bao gồm
các gạch ngực / cửa /
chọn / tấn / thăm lệnh
được sử dụng trên, tại thời
điểm đó lệnh được sử
dụng trong các trò chơi.
Điều này có nghĩa rằng các
khu vực của bản đồ có thể
thay đổi bình thường
không thể chồng lên nhau
eachother, hoặc những
điều sẽ đi sai.
Ngoại lệ duy nhất cho quy
tắc này sẽ là một tình
huống trong đó các gạch
cùng được thay đổi nhiều
lần trong suốt chương, đó
là trường hợp trong các
đoạn cắt cảnh của chương
2, nơi mà các cửa ở phía
trên bên phải của bản đồ
được đóng tại một thời
điểm và mở tại một điểm
khác. Đây là lý do tại sao
một phần của bản đồ được
liệt kê hai lần trong các dữ
liệu ví dụ trên.
Sử dụng này cho một đoạn
cắt cảnh khá khó khăn, vì
vậy tôi khuyên không nên
làm điều đó, nhưng có một
loại tình huống mà trong
đó bạn sẽ cần phải bao
gồm một phần nào đó của
bản đồ hai lần không có
vấn đề gì. Tôi đang nói về
làng. Vì chúng có thể được
truy cập (để cửa đóng),
hoặc bị phá hủy, họ phải
được liệt kê hai lần. Người
đầu tiên là sự thay đổi
diễn ra, nếu cả làng bị phá
hủy, và các yếu tố được
liệt kê ngay sau đó phải
được thay đổi điều đó xảy
ra, nếu cả làng được truy
cập. Ngoài ra, "phá hủy
bản đồ thay đổi" phải bao
gồm cả làng, trong khi các
thay đổi được thực hiện
khi quý khách đến thăm
chỉ thay thế các cổng làng
mở cho một khép kín.
Nhận được số gạch quyền
có thể mất nhiều thời gian
hơn một chút so với danh
sách, mặc dù nó hoạt động
trong cùng một cách như
những con số gạch trong
chính bản đồ dữ liệu: gạch
được liệt kê theo thứ tự
xuất hiện từ phía trên bên
trái để gạch dưới cùng bên
phải của phần chỉ định của
bản đồ đó sẽ thay đổi.
Không có Seperator 00 ở
tất cả, như danh sách đã
nói với các trò chơi bao
nhiêu gạch để "đọc".
Dù sao, để tìm ra những
con số gạch của gạch thay
đổi, có thể sau khi thay đổi
của họ, bạn sẽ cần phải
hoặc là tham khảo ý kiến
một bảng như tôi cho các
bạn xem trước (tôi đã
không thực hiện bảng như
thế cho mỗi tileset, vì vậy
don ' t hỏi tôi cho họ> _>),
hoặc chỉ sử dụng Mappy
xuất khẩu khác tháng ba
với các gạch bạn cần phải
biết những con số của tất
cả trong một hàng, và sau
đó chuyển đổi các cặp byte
bằng cách chia chúng bằng
8 (trong hex!) để tìm hiểu.
Oh, và nếu một gạch nhất
định trong khu vực bạn chỉ
định trong danh sách
không cần phải thay đổi,
bạn có thể chỉ cần đặt 00
trong 00 vị trí của nó.
Một khi bạn đã hoàn tất
dữ liệu ngói của bạn và
danh sách, repoint con trỏ
đến nó (một trong các
bảng con trỏ, nhớ không?),
Và bản đồ của bạn bây giờ
sẽ được chơi. Thật không
may, chương của bạn là
không, vì vậy bạn sẽ cần
phải có một chút kiên
nhẫn và chờ cho hai
chương tiếp theo trước khi
bạn sẽ có thể thực sự
thưởng thức chương tùy
chỉnh của bạn. = P
--------------------------------------------------
------------ HẾT CHƯƠNG 1
----------------------------------
------------------------

.