Register | Login | |||||
Main
| Memberlist
| Active users
| Calendar
| Chat
| Online users Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album |
| |
Acmlm's Board - I3 Archive - - Posts by Guy Perfect |
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
User | Post | ||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
How do you explain that subspace communication would work? Sci-fi sounds great on paper, but it's that -fi that keeps throwing things off. | |||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
I won't be going out this year since I don't have enough time to get my #2 haircut grown long enough by Halloween, but I'm pretty sure I can do the unshaven bit. I'd totally go around the neighborhood dressed up like Dr. Gregory House.
Let's see... I already have the cane, the sneakers, the shirts, the unkempt beard, the belt, the blue jeans... All I need now is the black socks and suit jacket. Wait, suit jacket? That sounds like real money. Maybe next year. Oh, and it looks like that button-front is long-sleeve. I'll need a long-sleeve shirt, too. (edited by Guy Perfect on 10-13-06 10:25 PM) |
|||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
I just wanted to give you guys a heads-up that I'm working... well, actually on a team this time... We (the team of us, of course) are making steady progress towards translating F-Zero Climax to English. As you may know, it's the most recent F-Zero game, and it was released only in Japan. There's a LOT of text-based content in the game, so translation to English will provide a pleasant experience for the F-Zero community.
Here's just some boring progress screenshots. We've got two hackers on this one in addition to the translation and localization departments, so it won't take all that long to finish. |
|||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
Pilot profiles and machine introductions can be translated, now.
|
|||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
The font is built-in to the game. I haven't redone any graphics at all (that's what the other guy's playing around with). What you're looking at is a straight text hack. I'm really not sure how to condense it any, 'cause there aren't enough characters to make letters side-by-side, and the game only allows so many in-program anyway.
Anyone have any ideas that doesn't require manipulating Assembly? |
|||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
I don't know where you guys got your information, but you need a new resource.
The RYB color model is entirely real and is a model of subtractive synthesis that is based on the way pigments combine to form different colors. The primary colors of this model are, in fact, Red, Yellow and Blue. The RGB color space, on the other hand, is a model of addative synthesis that is based on the appearence of light when it reaches the eye. The primary colors of this one are Red, Green and Blue. |
|||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
There are all flavors of ideographs in the Climax font. I've seen the Roman alphabet, Greek alphabet, Cyrillic alphabet, Katakana, Hiragana, various Kanji, table formatting, mathematical symbols, the entire ANSI codepage supported by Windows, other misc. symbols, etc... There is a LOT of character IDs that can be managed.
There's no reason the Roman alphabet, digits and punctuation can't simply be changed so that they only take up 8 pixels in width, then adjust the program to advance only 8 pixels instead of 16 per-tile. That would rather nicely result in an 8×16 font without changing a whole lot. The only problem is, there's a rather large number of 0x10's in the ROM and I don't know which one is the magical one... though I do have ways of finding out without cracking into the Assembly... I'll look into that. The text format itself is rather simple. It's uncompressed, 16-bit characters. That's not a problem, since there's more than enough padding space at the end of the ROM to insert all the desired text without running out of room. I've already programmed a utility that takes .txt files, converts the ASCII to the game's internal font specification, then patches the text to the desired places in the ROM. So far, it supports the story texts, pilot profiles and machine introductions. I know where the menu text is, but I haven't implemented it yet due to experimentation with images. |
|||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
The font requires 2 bytes for all characters. Using single bytes causes problems, with the exception of 0x0A for newline and 0x00 for string termination. I have tried plotting flat ASCII, to no avail. All characters are printed as full-width regardless of what the character is, and only character values in the list below do anything worth documenting.
I've looked around in the ROM, but can't locate any specification table. The font is likely to be specified programmatically, which isn't something I'd be able to find. Here are my notes on which values correspond to which characters. All characters in the font are documented, but the Unknown characters are simply ones I didn't know how to classify. Also, Heian-794, according to your sample value for 'A', it's looking like this is indeed a variant of Shift-JIS. The game is just requiring 16-bit characters. 00: String Terminator
0A: Newline 8060-813F: Windows Code Page 1252 (starting at Space) Miscellaneous Symbols & Punctuation: 8140-817E, 8180-81AC, 81B8-81BF, 81C8-81CE, 81DA-81E8, 81F0-81F7, 81FC 824F-8258: Numerical Digits 8260-8279: Roman Alphabet (Uppercase) 8281-829A: Roman Alphabet (Lowercase) 829F-82F1: Hiragana 8340-8396: Katakana 839F-83B6: Greek Alphabet (Uppercase) 83BF-83D6: Greek Alphabet (Lowercase) 8440-8460: Cyrillic Alphabet (Uppercase) 8470-8491: Cyrillic Alphabet (Lowercase) 849F-84BE: Table Formatting Characters 8540-8553: Circled Numbers (1 to 20) 859F-85A8: Roman Numerals Unknown characters requiring further analysis: 8600-87FF, 8840-8850 Kanji Character Ranges: 889F-88FC, 8940-897E, 8980-89FC, 8A40-8A7E, 8A80-8AFC, 8B40-8B7E, 8B80-8BFC, 8C40-8C7E, 8C80-8CFC, 8D40-8D7E, 8D80-8DFC, 8E40-8E7E, 8E80-8EFC, 8F40-8F7E, 8F80-8FFC, 9040-907E, 9180-91FC, 9240-927E, 9380-93FC, 9440-947E, 9580-95FC, 9640-967E, 9780-97FC, 9840-9872 |
|||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
We must find a way to combine 13 and 666 to make the most horrific number known to man. | |||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
666.13 is easier to remember. | |||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
Pretty please? I'll be your best friend! | |||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
In C++, using the Vector of the Standard Template Library is undoubtedly the easiest way to manage dynamic arrays. | |||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
Perfectly understandable, and I appologize.
I've already contributed information about the internal workings for three F-Zero games and currently, a translation for Climax is underway. In order to discuss the project more adequately with the others involved, my ability to post in the ROM Hacking forum is preferable. And besides, I thought the opportunity for me to be your best friend would be more than enough reason for anyone. (-: (edited by Guy Perfect on 10-20-06 06:33 PM) |
|||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
It occurred to me that I haven't actually posted anything about how the game's text works. Allow me to do that now. (-:
I've gone through all my notes and compiled a grand list. The other hacker at MFO, RadioShadow, has identified many of the compressed images in the ROM, and has given information about those. I'll post an update for that data when it becomes available. For now, here's the document: ============================================================
Relevant Offsets ============================================================ 042BA4 - Points to 08C59368 -> 0837CBCC (Font Images) 063608 - Menu Data Pointers 37CBCC - Font Image Data CF7BAC - Story Titles Pointers CF9D5C - Story Episodes Pointers CF9E58 - Pilot Profiles Pointers DCA820 - EoF Padding ============================================================ Menu Data Pointers ============================================================ Data Structure (8 bytes) Text Pointer - Unsigned Int32 Unknown 1 - Unsigned Int32 * 6 structures, one for each selection of the Main Menu * Unknown 1 could be the image, background, or menu code pointer. I haven't looked into it ============================================================ Font Image Data ============================================================ Character Structure 2x2 Tiles 8x8 linear bitmap chunks 16 bits per pixel, second-to-first * 1611 structures, one for each character in the font * Even though the font definition itself doesn't represent the characters contiguously, the image data is coniguous * Some characters appear in a different order from the font definition ============================================================ Story Titles Pointers ============================================================ 51 Unsigned Int32's that point to the image data for each episode of the story. Image Structure 4x14 tiles 8x8 linear bitmap chunks 16 bits per pixel, second-to-first * Image is supposedly compressed with LZ77. * Image is composed of seven 16-pixel-tall rows * Rows are arranged horizontally for title image ============================================================ Story Episodes Pointers ============================================================ 51 Unsigned Int32's that point to individual pointer tables which in turn point to the text data for each individual line of text in any given story episode description. Diagram: All Episodes Pointer Table - points to: Individual Episode's Pointer Table - points to: Episode's Individual Lines' Text * Episode Line Pointer tables are terminated with two EOF lines, which are referenced by 085C42E0 * At least 6 lines must be present before EOF's become effective. Pad with empty lines if necessary * Lines are normal text, terminated with 00 * All lines' text data must begin on a 4-byte boundary ============================================================ Pilot Profiles Pointers ============================================================ Data Structure (12 bytes) Pilot Text Pointer - Unsigned Int32 Machine Text Pointer - Unsigned Int32 Unknown 1 - Unsigned Int32 * 38 structures, one for each pilot, in the order they appear on the Pilot Profiles menu; left-to-right, top-to-bottom * Unknown 1 could be just about anything. I haven't looked into it * Pilot and Machine text must begin on a 4-byte boundary ============================================================ EoF Padding ============================================================ * Unused portion of the ROM. Free game for any data * A few chunks do have data in them, which include the ROM headers for GP Legend and Maximum Velocity among other data. The purpose of these chunks is unknown, so don't overwrite them * Padding is composed entirely of FF bytes * Actually begins at DCA818, but DCA820 is prettier ============================================================ Font Character Assignment Specification ============================================================ 16-bit characters, except for control characters 00: String Terminator 0A: Newline 8060-813F: Windows Code Page 1252 (starting at Space) Miscellaneous Symbols & Punctuation: 8140-817E, 8180-81AC, 81B8-81BF, 81C8-81CE, 81DA-81E8, 81F0-81F7, 81FC 824F-8258: Numerical Digits 8260-8279: Roman Alphabet (Uppercase) 8281-829A: Roman Alphabet (Lowercase) 829F-82F1: Hiragana 8340-8396: Katakana 839F-83B6: Greek Alphabet (Uppercase) 83BF-83D6: Greek Alphabet (Lowercase) 8440-8460: Cyrillic Alphabet (Uppercase) 8470-8491: Cyrillic Alphabet (Lowercase) 849F-84BE: Table Formatting Characters 8540-8553: Circled Numbers (1 to 20) 859F-85A8: Roman Numerals Unknown characters requiring further analysis: 8600-87FF, 8840-8850 Kanji Character Ranges: 889F-88FC, 8940-897E, 8980-89FC, 8A40-8A7E, 8A80-8AFC, 8B40-8B7E, 8B80-8BFC, 8C40-8C7E, 8C80-8CFC, 8D40-8D7E, 8D80-8DFC, 8E40-8E7E, 8E80-8EFC, 8F40-8F7E, 8F80-8FFC, 9040-907E, 9180-91FC, 9240-927E, 9380-93FC, 9440-947E, 9580-95FC, 9640-967E, 9780-97FC, 9840-9872 |
|||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
As the Bible says:
"This calls for wisdom. If anyone has insight, let him calculate the number of the beast, for it is man's number. His number is 666." -Revelation 14:18 |
|||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
With all due respect, I see no reason in doing so. There's maybe 20 ideographs total in those ranges combined, and they are not required for translating. | |||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
MFO is usually instantaneous to send a verification e-mail. Check your junkmail folder. If it's not in there, let me know and I'll get word to the admins for you. | |||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
I haven't had a whole lot of time to hack much for the past few days, but here's the program that I put together to do the translating thus-far. See if anyone can make use of it until I can get some time to do an update.
It requires a copy of the F-Zero Climax ROM in the ROM directory. Call it "Climax.gba" Translator Module v0.30 Old post: I'd like to remind everyone that a variable-width or thinner font, while a nice touch, are not required for this project. If it becomes too difficult or ideas run out, it's not the end of the world. At this time, I would like to spend more time hacking the rest of the text than perfecting the font. I got a PM from someone who registered to post a reply, but didn't want to get approval to post in the forum: "Regarding a variable-width font in Climax, have you looked at how this problem was solved in Falcon Densetsu? "If I recall correctly, Maximum Velocity was developed by someone different than Falcon Densetsu and Climax, but the altter two were done by the same team. It seems to me they would have similar internal structures, so looking at changes between the Japanese and English versions of the one should give you insights into how to do it for the other." I'm fairly certain the text engine is different, but uses the same techniques. Text is loaded into a static chunk of VRAM that is updated according to the needs, blatantly writing over any previous data. I suspect that if one was to change the 16-pixel horizontal adjustment to an 8-pixel one, you could easily account for twice as many characters per-line without causing any problems. Heian-794) All the text in the game basically sits on your shoulders. That includes pilot/machine profiles, menu text, that intro screen tutorial text, etc. |
|||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
Well, we're already beginning to see the effects of this decision. As expected, the discouraged users are like Plinko discs: unable to land in one spot, so they bounce over to the next vacant area. | |||
Guy Perfect Since: 11-18-05 Last post: 6302 days Last view: 6301 days |
| ||
If this is actually an issue, there's no need to be alarmed about low sperm count and few healthy sperm. How many sperm are created on a daily basis? How many does it take to fertilize an ova? |
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Acmlm's Board - I3 Archive - - Posts by Guy Perfect |