Kawa |
Posted on 19-06-08, 17:41 in GNOME: "Please don't theme our apps"
|
Ask me about SCI
Post: #261 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
I'm given to understand when he saw Windows, he said "okay, okay, fair point Bill, but no overlapping windows." |
Kawa |
Posted on 19-06-09, 09:12 in I have yet to have never seen it all.
|
Ask me about SCI
Post: #262 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
*cough* Omastars in garters. |
Kawa |
Posted on 19-06-10, 00:06 in Mozilla, *sigh*
|
Ask me about SCI
Post: #263 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
Surprised? This isn't AB∆ lol |
Kawa |
Posted on 19-06-11, 16:59 in Upcoming game announcements/news
|
Ask me about SCI
Post: #264 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
So. Banjo-Kazooie and the Dragon Quest heroes in Smash. Nice. |
Kawa |
Posted on 19-06-11, 18:53 in Mozilla, *sigh*
|
Ask me about SCI
Post: #265 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
* Kawa weeps for Opera |
Kawa |
Posted on 19-06-12, 23:30 in Blackouts
|
Ask me about SCI
Post: #266 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
Because there clearly was a point where they should have stopped, but they missed it and they mistakenly believe another point is coming up. It's not. It's idiocy all the way to the gorge. |
Kawa |
Posted on 19-06-15, 18:18 in Games You Played Today REVENGEANCE
|
Ask me about SCI
Post: #267 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
Ah, code wheels. Love 'em. |
Kawa |
Posted on 19-06-15, 20:20 in Games You Played Today REVENGEANCE
|
Ask me about SCI
Post: #268 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
That. That right there. Best post. |
Kawa |
Posted on 19-06-18, 23:56 in Board feature requests/suggestions
|
Ask me about SCI
Post: #269 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
Guestposting threads I could consider I guess. As for your other question, why should the » in the "last post" column not go to the last post? |
Kawa |
Posted on 19-06-19, 07:03 in Board feature requests/suggestions
|
Ask me about SCI
Post: #270 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
No header? It says "last post" on both the board index and thread list, what are talking about? Oooooh, you're not talking about that column at all, are you? Well, tough luck. I'm moving and won't be in a position to change the Last Posts page in any way. |
Kawa |
Posted on 19-06-19, 07:09 in Why is ROM translation so (technologically) hard?
|
Ask me about SCI
Post: #271 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
Did you really just imply that using some weird digraph encoding with frequency analysis and custom tools and all that is easier than shifting some pointers around? Cos the difficulty of pointer shifting varies per system -- GBA is absolutely lovely for example. And what about player input like hero names? |
Kawa |
Posted on 19-06-19, 16:24 in Why is ROM translation so (technologically) hard?
|
Ask me about SCI
Post: #272 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
As an example of how simple pointer magic can be: the GBA has 32-bit pointers and anything in ROM starts with 0x08000000, because that's how the memory is mapped. So if you know the text is at location 0xBADF00 in the file, you know to look for the pointer 0x08BADF00, or the byte sequence 00 DF BA 08. This is almost universal for that system. You can now freely expand the ROM if needed, even going beyond 0xFFFFFF bytes, with the rare Bank Nine pointer. I should know, I literally just checked. |
Kawa |
Posted on 19-06-19, 21:21 in Why is ROM translation so (technologically) hard?
|
Ask me about SCI
Post: #273 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
Pokémon TCG on the GBC. Note how the player's name is wide. Note how the opponent's name is not. |
Kawa |
Posted on 19-06-19, 21:34 in Why is ROM translation so (technologically) hard?
|
Ask me about SCI
Post: #274 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
Posted by creaothceannImportantly, the glyphs aren't tile-aligned! Unlike the text in those PokéCard shots, every character is exactly as wide as it needs to be. Unfortunately, this does not seem to be what sureanem meant. After all, the first paragraph is all about pointers, not screen real estate. So let's back that truck up a little, eh? |
Kawa |
Posted on 19-06-19, 22:14 in Why is ROM translation so (technologically) hard?
|
Ask me about SCI
Post: #275 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
Posted by sureanemWhat we see here is a complete misunderstanding of character data types. But this does bring us closer to the original topic of string length differences in translation requiring pointer adjustments! A char is always one byte in size, and thus can only encode single-byte character sets. A wchar_t is literally a wide char but that's not a visual thing! Wide characters are 16-bit, if not 32. That's the difference. That's why you can use UTF-16 only if you use wchar. UTF-8 being naturally byte-sized can be stored in regular chars. Japanese games from the 90's that have kanji tend towards Shift-JIS or EUC if they don't use their own custom encoding. Your original statement that "ウィキペディアへようこそウィキペディアへようこそウィキペディアは誰でも編集できるフリー百科事典です" is 49 characters long is misleading. How many bytes does it take to store that sentence? In UTF-8 the answer is 149 bytes. In Shift-JIS it's an even 100, and in EUC it's 99 bytes. No encoding that is strictly one byte to one character can possibly store this entire sentence in 49 characters. Many SNES RPGs, just to pigeonhole, may have a custom encoding that fits the alphabet, numbers, and some symbols together with both sets of kana in just under 256 characters, then have special control characters to insert kanji. That kind of encoding might allow your sentence to pack down to 42 bytes for the kana, plus... let's say three bytes per kanji (kanji control char plus 16-bit char #) equals 63 bytes. And a 64th for the string terminator. What a coincidence, that's almost as long as the translation! Even though one of them has punctuation and the other does not. Ironically, that leaves only screen real estate -- their visual lengths -- as an issue. I just looked into PokéCards bee-tee-dubbs, and even though characters are either 4x8 or 8x8, it does use a proper VWF engine. As in, there is a dedicated canvas area in the tileset. But it also remembers which characters/pairs were already drawn so "KAWA is crazy about Pokémon and and Pokémon card collecting!" appears in the tileset as "KAW is crazy about Pokémon and card collecting!" Also to my surprise, the game uses near-ASCII! That line is stored as "\x09 is crazy about Pok`mon.and Pok`mon card collecting!". It's that 0x09 that makes it write the player's name and that specifically draws in 8x8 characters. Why? I don't know. |
Kawa |
Posted on 19-06-20, 12:52 in Why is ROM translation so (technologically) hard?
|
Ask me about SCI
Post: #276 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
Why would you not be able to move the pointers around? Some systems may have bankswitching limitations but that hardly means you can't do it. Also please address the part where your Japanese example sentence takes more bytes of storage than the English equivalent. |
Kawa |
Posted on 19-06-20, 19:45 in Why is ROM translation so (technologically) hard? (revision 1)
|
Ask me about SCI
Post: #277 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
Trick question: repointing is a lot of work regardless, even if it's as simple a format as the GBA. Maybe you have a banked system and each bank has its own list of pointers to its constituent strings. And then in one particular bank there's a list of pointers where each individual bank's list starts, and each of those pointers, unlike the GBA's 32, is only 16 bits wide. As for variable-width character encoding, what do you mean exactly? I feel like I have to ask just so we're all clear, considering earlier revelations. Edit: hah, didn't see KingMike's post. Again, it's not about screen real estate, but about storage space. The former wouldn't need pointer rework but UI element resizing and moving at worst. On a typical tilemap with 8x8 pixel tiles, kanji are almost always four tiles (2x2) in size simply because they're too intricate compared to kana and romaji. |
Kawa |
Posted on 19-06-20, 22:11 in Why is ROM translation so (technologically) hard?
|
Ask me about SCI
Post: #278 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
Unfortunately, the amount of 90s/00s games on consoles and handhelds that use Unicode in any form since Unicode's inception (1991) can be counted on one hand, and UCS-2 (as "classic UTF-16 aka "Unicode"" is properly called) is considered wasteful. Fun fact about dedicating tile space to digraphs: at least one Final Fantasy fan translation that I've seen did this, with about ten at most character values being digraphs like 'll', 'il', or 'th'. I'll bet biscuits to an asskicking that this was done primarily for the visual aspect, and that the actual text was still repointed to fit. |
Kawa |
Posted on 19-06-21, 06:24 in Why is ROM translation so (technologically) hard?
|
Ask me about SCI
Post: #279 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
Chrono Trigger's text encoding included a large swathe of dictionary lookup bytes, mapping one byte value to two or more characters, along with the general "insert name here" bytes. This would let entire parts of words like "pedia" be saved as one byte in the original text string, but decode into the full version for display in the dialogue box. The dictionary is not based on the top 30 of a given language, but tailored to the needs of the game. Unfortunately, I don't know what the Japanese version's text encoding is like, only that the names and dictionary lookups are there too, so I don't know how it handles kanji. Does CT have kanji? |
Kawa |
Posted on 19-06-21, 08:16 in Printer & Scanner Discussion
|
Ask me about SCI
Post: #280 of 599 Since: 10-29-18 Last post: 196 days Last view: 35 min. |
Posted by Screwtapehttp://entropymine.com/jason/tweakpng/ It's what I use when I want to know things like that. |