Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Wizardry Empire 1 - The Ancient Princess - Work-In-Progress translation; now w/ some videos.

Self-Ejected

aweigh

Self-Ejected
Joined
Aug 23, 2005
Messages
17,978
Location
Florida
this is what you see in the game (under the green bars you can make out the japanese text):
Screenshot%202016-04-30%2002.50.14_zpsgzrwux4b.png~original


and this is actually where the game is pulling those characters from:
Screenshot%202016-04-30%2002.50.20_zps9eutdpwu.png~original


it's the one highlighted in blue. if you can't make it out: the japanese characters are on the lower-right of that BMP. the FONT BMP you see to the right is where the "regular text" is pulled from. it's 1 of 4 font bmps.
 

Courtier

Prophet
Joined
Aug 12, 2015
Messages
441
I don't have much to add other than great work, aweigh. :salute:
Also seconding Mustawd in using GIMP for image editing, it's convenient and easy to use.
 
Self-Ejected

aweigh

Self-Ejected
Joined
Aug 23, 2005
Messages
17,978
Location
Florida
MrRichard999
Helly
Courtier
Mustawd
Siveon
Dorateen

I AM OFFICIALLY A GENIUS.

i just straight up and copy/pasted the "values" of each of the main/big elminage 2 tiles (i.e. the important menus) and then ripped the corresponding images from elminage 1 and pasted everything from the elminage 2 image details onto the elminage 1 details. crude, but it actually cmae out AMAAAAZINGGGG. the very few places where a menu command/function changed it stayed with the elminage 2 tex. pretty cool shit.

Screenshot%202016-04-30%2007.59.56_zpsker5it7i.png~original
 
Self-Ejected

aweigh

Self-Ejected
Joined
Aug 23, 2005
Messages
17,978
Location
Florida
absolutely all of those screens are from elminage 2. you can tell what text is from an elminage 1 tile/tex because it is bigger and more bolded and more "fuzzy", and also in the COMPASS/FAME screen shot you can see that there are two empty tiles because elminage 1 didn't have 'em, and other misc. stuff.

tbh i still can't believe this fucking worked so well. unfortunately for elminage 3... hmm, maybe i can use elminage gothic's tiles???
 
Self-Ejected

aweigh

Self-Ejected
Joined
Aug 23, 2005
Messages
17,978
Location
Florida
sooooooooooooooooooooooooooooooooo where them fluent japanese speakrs at? i got an elminage 2 npc script waiting for ya!!!!!!!!!!!!1111!!1

helly's busy finishing the wizardry empire 1 script and also helping richard with the lunatic dawn script (i'm fairly sure); don't really see him going for anything more in the forseeable future. seriously, where them jap speakers at?
 
Joined
Mar 16, 2016
Messages
450
MrRichard999
ThisNameIsFree

I MOTHERFUCKING FIGURED IT OUT.

Those lazy motherfucking shitpushers at StarFish didn't make a font map for Wizardry Empire 3 _at all_. Both the PS2 and PSP versions of the game utilize the console hardware's built-in native font creation, which is why the font map inside the game's files doesn't affect the regular text at all as it was only a quickie one done up for the player names (because they wanted the player to be able to input english names and stuff but did not want to go through the trouble of making a font map in latin characters so they did a small one).

this is actually not THAT uncommon but it IS rare. almost every single developer implements at the very least a modified version of the native console hardware's font output. I guess they just couldn't since StarFish was in big financial trouble around the time of this game's release.

in comparison Elminage 2 and 3 not only have font maps... do they fucking have 'em. Elminage 2 and 3 utilize TWO different font bmp's for latin characters and FOOUR, yes, FOUR different Font bmp's to cover all of the kana/gana characters.

If they used builtin fonts try get real psp fonts. PPSSPP distributed with free fonts which can produce quite different picture compared to real fonts. Real psp fonts should be google-able.
 
Self-Ejected

aweigh

Self-Ejected
Joined
Aug 23, 2005
Messages
17,978
Location
Florida
Thanks for the heads up ThisNameIsFree. i'll google, cos i'm starting to get Fed up with the full-width shenanigans now that i've got a lot of the essential stuff/interfaces/etc translated and almost all items/monsters/spells. but it's still a huge pain in the ass every time having to wrestle mentally with fitting some item or some monster name down to 7 or 9 characters...

i'll google "psp default hardware font latin ascii support replace".

:D
 
Self-Ejected

aweigh

Self-Ejected
Joined
Aug 23, 2005
Messages
17,978
Location
Florida
MY FIRst failure translating a little tiny bit of the dialog from the game's introduction... (elminage 2). first time i've ever failed so epically on the very first try! this does not bode well... anyway, after the fail i show elmi 2 running with the modded english menus.

 

Mustawd

Guest
I was gonna come in here and volunteer to edit text in the images with GIMP, but it looks like you didn't need my help. Great job man! That was a badass work around.
 
Self-Ejected

aweigh

Self-Ejected
Joined
Aug 23, 2005
Messages
17,978
Location
Florida
ThisNameIsFree

dude i found a ton of fonts on psp forums and the like but no matter what i put in what font folder or what; absolutely nothing changes font-wise in ANY game. ??? halp
 
Joined
Mar 16, 2016
Messages
450
Strange, shouldn't be any problem here. In case with ppsspp just extract fonts with REPLACING into ppsspp_dir\flash0\font
If you just put random new fonts here - need hack psp game to start using it.
 
Self-Ejected

aweigh

Self-Ejected
Joined
Aug 23, 2005
Messages
17,978
Location
Florida
I TRIed several; games didn't reflect any changes whatsoever. in any case what i really need to do if i really am serious about eventually finishing wizardry empire 3 is teaching myself to at least know enough to code a function to reduce pixel of font to half, which i assume would be 8p (it has to be 16p at the moment most certainly). way i understand it i would also need to learn to expand the eboot bin (or any other bin, doesn't matter) so i can place the code that contains the functions that redirect the whole rigmarole.

reduce the pixels of the font by half, and also reduce the texture bufwidth. those would be the two things i need to learn to do. i swear that game just uses the default psp font or something; because i have used cheat engine and the ppsspp debugger to make breaks and to trace memory dumps for the entire last two nights and i cannot find the source of the game's text. the only font table it has is the small one that the game only uses for the player character's names and other odds and ends here and there.

i actually even tried replacing THAT font image with others, specifically ones from elminage 1 and a few others and it works without a problem. except of course none of the main game text is affected by this since it has nothing to do with that font image.
 
Joined
Mar 16, 2016
Messages
450
After quick check of PSP WE3 it seems they don't use psp font api (sceFont functions). Seems like they use their own methods to display text. I see references too data/font_p.bl and data/font_s.tm2 which means there are 2 font files.
 
Self-Ejected

aweigh

Self-Ejected
Joined
Aug 23, 2005
Messages
17,978
Location
Florida
After quick check of PSP WE3 it seems they don't use psp font api (sceFont functions). Seems like they use their own methods to display text. I see references too data/font_p.bl and data/font_s.tm2 which means there are 2 font files.

DUDE. fucking psychic!

after my last post i combed through the iso (the whole iso, just for kicks) using a hex editor (hex workshop) and using legacy unfiltered as the encoding anyway the pont is i found the headers/i found where those two files are. now i just need to extract them. i'll post again in a bit. you can actually find the references to those two font files very easily by doing a text search for the file names, which you already got.

only problem is those two files being inside the umddata.bin inside the game iso it might as well be on the moon. :D

it's not a zip, and it's not a texture so the two best software blind-extractors are out... isn't it possible though to manipulate the file using just its header or something? like, replace it with another font by just editing everything spic and span.
 
Self-Ejected

aweigh

Self-Ejected
Joined
Aug 23, 2005
Messages
17,978
Location
Florida
ThisNameIsFree
Courtier
MrRichard999
Helly
Siveon
Dorateen
Mustawd
Deuce Traveler
Viata
Comte
Dorarnae
Zeriel
Celerity

MAJOR update! I've been getting my feet wet learning about how ASM is "understood", and how you can use it and what you need to do beforehand... and anyway as an experiment I decided I wanted to track down the function that sets the Pixel size of the Wizardry Empire 1 (One) font, even though the game doesn't really need it as it has full latin-ascii support and ample text-length; but the point was to practice on a game I know literally inside and out before moving on to ASM'ing half-size pixel font on the 3rd Empire game on PSP.

Long story short: success!
Screenshot%202016-05-02%2016.44.25_zpsqdwsg0e7.png~original
Screenshot%202016-05-02%2016.50.39_zpsqt51ko2h.png~original
Screenshot%202016-05-02%2013.52.142_zpslhsxsmnn.png~original
Screenshot%202016-05-02%2013.52.122_zpsebdleh10.png~original
Screenshot%202016-05-02%2013.50.542_zpszf5cwkgq.png~original
Screenshot%202016-05-02%2013.50.50_zpsoa0vmabr.png~original
Screenshot%202016-05-02%2013.50.38_zpskeenngir.png~original
Screenshot%202016-05-02%2013.50.18_zps2wpmpf9r.png~original


!!!

Now I just need to buckle down and start hunting dowm the same shit I just spent half the day figuring out but on the third game on PSP. Should be fun! Especially since Wiz-Emp-3 does not use GDI32.DLL as the backend for it's font. It's going to be much harder to find. But I will. And once I do... oh...
 
Joined
Mar 16, 2016
Messages
450
:thumbsup:

PSP have MIPS32 based CPU, so asm is different compared to x86. Using ppsspp builtin disasm should be fine, but you may need read some additional info about MIPS32 CPU and asm.
 
Self-Ejected

aweigh

Self-Ejected
Joined
Aug 23, 2005
Messages
17,978
Location
Florida
@MyNameIsFree
THANKS kindly for that. Yeah I just spent about 40 mins using first Cheat Engine and then using the PPSSPP debugger (which is fucking BALLS once you get used to Cheat Engine, there is no mistaking it. Except of course for the PPSSPP's ability to draw a scene and the like; that whole thing is awesome).

Even though I correctly identified most of the pixel values (obviously I'm probably wrong because it didn't work) I had no joy; the whole process is simply a lot more tedious and long-winded than with a PC game. Doesn't mean i'm giving up of course!

I read up yesterday on headers for the purposes of expanding a rom and I already successfully expanded the wiz-empire-3 iso by 3000 bytes in anticipation of the code i'm'a put in there. If not code, then i want to put either:

a completely new font width map. don't know how to do that yet, but i'll learn. OR alternatively use that space to make a new, custom pointer table. I've only just recently begun to somewhat grasp pointers and pointer tables and how to find them and more importantly: what can be done with them and what cannot be done. I still am clueless on a lot of it: for example absolutely NO ONE has a concrete answer on what is the the best math formula for finding PSP pointers. I've been using 100% brute-force finding them by using sequential method then gutting the numbers down to bare 2 byte and doing control + F over and over and over each time discarding the left value and adding the the right; if the search result is relative to the 100th number that you dropped earlier from your original 5 number offset then that is the pointer, if it is not then you drop the left number and add the right one from the srearch result to "your left" and continue control + F'ing.

eventually 30-60 minutes later you eventually hit on the pointer :D

is there anything better than cheat engine that's either 1) free, or 2) easily acquired?
 
Joined
Mar 16, 2016
Messages
450
ppsspp debugger have ability to put breakpoints on memory address access (program execution interrupted then memory accessed). So if you put breakpoint on memory address with text you can find function which used to print it on screen (and change how it work).
 
Self-Ejected

aweigh

Self-Ejected
Joined
Aug 23, 2005
Messages
17,978
Location
Florida
You know what, that is copmletely true. CE only lets you put breakpoints on functions. My gaaaaaaawd I'm dumb. Ah well.

However you gotta give it to CE on finding strings and functions. Just using the feature "Enumerate All strings/DLL" has let me know that the damn game as like 12 different font functions. multibytetounicode, engtounicode, singlebytetomultibyte, createfontA, createfontW, fontfilemapping, orderpixelformat, setpixelformat, endfontfreeW, and it just goes on and on and on and on and on.

i even noticed the game has function strings for stuff like DGmenuitemfont, and oehter stuff like that. Then again it's all moot because what you suggest is the only correct way to do this, so it really doesn't matter how many functions the game or the psp has. I'd completely forgotten about that aspect of the ppsspp debugger, about how you can set breakpoints on the memory viewer.
 
Self-Ejected

aweigh

Self-Ejected
Joined
Aug 23, 2005
Messages
17,978
Location
Florida
ThisNameIsFree
No joy yet on the psp game font thing. Unlike the PC game It is much more complicated. Still trying to figure shit out. I found a great website from the guy who did the Variable Width ASM hack for his Persona 2: Innocent Sin translation and it is very informative. It is simply not possible to change a console game's pixel size by just changing the correct instruction codes, like in the PC world. Console games store that data in a buffer and reload it immediately so it cannot be changed unless new routines are hacked in that redirect the instructions that call the buffer to the new place you've expanded on the game rom/iso; there is where I will need to then put the insutrctions directing the font (pixel/width/whatever) to display like I want it to. It's completely different than how PC games work.

Anyway, a question: In the pictures below there are 22 full-width english letters in each of the two rows in the dialog box. I understand that the game's default font does not come with half-width latin character so it has several Functions that the game uses that automatically translate a the japanese character into a full-width kana-english letter.

What i don't understand is if both the end result english letter AND the original japanese character are both Full_Width then why does the default japanese dialog occupy less space? the line "Oldest bar in the city" is exactly 10 spaces shorter than the original japanese text in that row.

Is it because the japanese characters in that dialog are half-width kana?

OR, what I think it is is that the game has a function that translates multibyte into singlebyte but I don't think they implemented that to work on english letters... because there ARE no english letters.
Screenshot%202016-05-03%2016.02.08_zpsupjxztlz.png~original
Screenshot%202016-05-03%2015.54.48_zpsoyzlz4dk.png~original
 
Self-Ejected

aweigh

Self-Ejected
Joined
Aug 23, 2005
Messages
17,978
Location
Florida
Screenshot%202016-05-09%2021.00.20_zpsunzjafx2.jpg
Screenshot%202016-05-09%2021.02.47_zpsgbuujzz7.jpg
Screenshot%202016-05-08%2023.45.49_zpsnxj45urr.jpg
Screenshot%202016-05-10%2013.28.45_zpshyhrlwqf.jpg
 
Last edited:

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom