The trouble comes in that you are slowly reinventing either programming or something already done by more dedicated tools.
You spoke of junking work because you had a mistake caused at an early stage, that should never happen unless you made a fundamental error in figuring out the file format.
Correct! I have never programmed or edited anything or even knew that you could "open an .exe" before a few months ago. No one is teaching my anything and the bits I have learned have been through trial and error and by reading guides, FAQs and forums. For example today I learned the difference between sequential text and fixed length text strings.
Yesterday I learned the "hard way" that by spacing out (0x20) some strings I didn't like that it would cause the game to crash. Allow me to explain: in the three Wizardry Empire games (japanese) the developr 3 to 5 %s (operators? commands? strings? I do not even know what they are called. I used to think they represented percentages, and that %d represented a dice roll!)-- 3 to 5 of these:
%s"JapaneseCharacterMeaningITorTHE"%, and the others are usually words like "BODY" (for when a character uses the HIDE command); and the like. However the problem is that since they always get called during a lot of actions sometimes they won't "match" the translation of the ACTION itself. I was seeing stuff like "aweigh THE received damage!". See the problem? So when I translated Wizardry Empire 1 I "solved" this problem by replacing each of those variables with %s"8145"% which is a cute little square. So now during that example it would read: "aweigh * received damage!". It is the best possible solution I can think of because you can't name that variable to "awiegh HAS..." because it is also utilized by 20 other actions that won't FIT NATURALLY with the word HAS. Using a simple square looked nice and problem solved.
Yesterday while translating Wizardry Empire 3 (Three) I did the same thing with its battle strings but 8145 caused the game to crash. Now I need to find something else to use there. My whole point with this example is to let you know that you are correct: I have no idea what I'm doing. I absolutely learning this as I go and am getting better every day. I did not even know about "invisible" characters until I spent hours one day, weeks ago, translating via hex editor the NPC dialog of a character in Wizardry Empire 1 and when I went to go check it out in-game all of his dialog boxes were empty. It turned out the period at the end of his sentences, 8142 which is the FW kana period, was a substring (is that the correct term?) that when erased affected the hex value immediately following, 5C, the slash sign, which then in turn affected the lower-case "n". Boy was there egg on my face.
I was SHOCKED that there could be invisible characters! That there was stuff I wasn't seeing! Instead of being dismayed I kept learning.
"engender curiosity for hexadecimal"
It is a numbering system useful for computers, or at least humans working in them. Other than maybe a quick extra for floating point/decimal points and signed numbers and there is really not a lot more that needs to be said or done. If you meant hex as shorthand for abstraction and data representation then maybe, I still prefer to teach it as a separate concept.
I think it's incredibly exciting and fun to learn. A few days ago I spent a whole day building several tables just for fun and for practice. I love reading websites that detail what controlling characters are, what line-breaks are, hell I've even spent hours reading the history of the evolution of the encoding systems. It allowed me to translate Wizardry Empire 1, and it is allowing me to translate 3 other games; it also allows me to edit save states and it also allows me to the OPPORTUNITY to learn. I have never been interested in any programming language but this has become a gateway and now I plan to learn many others.
Did I mention that I used to think %d represented a to-hit dice roll?
A lack of flat out explicit answers being a problem? It is not that folks here take some perverse delight in sitting there thinking "haha I know the exact answer to the question they seek, however I shall not answer, not even reply, and they will never know".
I should also say that your chosen game is for the PSP, not something a lot of people around here have the most experience in and though things do cross console barriers (anybody here probably can learn it, give or take some of the stuff involved with 3d coordinates and maths possibly being a bit new if you have only ever really done 2d and isometric) it still involves learning a new system, using the sub par debuggers that it has (PPSSPP is doing good stuff but it is somewhat recent and still not a patch on fceux, no$gba or PC debugging), downloading in this case you got lucky and it is only 130 meg iso (though that is still not a 4 meg SNES game and most that know the PSP see things routinely hover around the 1 gig mark) and then spending a few hours to figure out which of the dozen or so ways of doing that particular thing that a dev did.
Working PSP games is an absolute nightmare. Wizardry Empire 1 I did the Windows PC version and it was paradise compared to what I'm going through working on Elminage 2, 3 and on Wizardry Empire 3 for PSP. Also: I fucking love it. Know why?
I didn't even know what debugging was until 2 weeks ago. Sure I knew what it was in a general sense, and in the literary definition of the word; but I didn't know absolutely ANYTHING WHAT-SO-EVER about things like: viewing hexadecimal data in memory; inspecting and "fixing" ASM functions/code, and of course I had never before extracted textures from a game. Because of all the obstacles the PSP games presented me... starting with the fact that the .BIN files are impossible to extract shit from, that is of course until I FORCED MYSELF TO LEARN HOW TO DO IT, and hell also the fact that I didn't even know that games came encrypted!
I spent at least a good 3-4 days trying to "troubleshoot" why my game-edits were not showing up in-game... imagine my surprise when I learn that I have to do this thing called decrypting the EBOOT.BIN. Oh, and you know what else? Thanks to that experience I was also forced to learn about headers! I didn't know what headers were, or what headers are used for even until I had to decrpy some .BIN files. Are you starting to understand my point about how jumping in blindly and with enough enthusiasm and the right attitude you can always keep learning and improving?
Now I am using programs like Cheat Engine to locate strings, functions, calls; to view the hexadecimal data in memory; etc. I LOOOOOVE doing stuff like that. And again, it was only due to the unbelievably problematic nature of PSP game hacking that I had to learn how to trace and how to dump and what the fuck a freaking break-point even is. I distinctly remember a GBATemp poster telling me to "set a breakpoint and trace where the text is being pulled from". Now, do you think that helped me? It did, but not in the way he intended. It helped me in the sense that I thought: Well since absolutely nobody wants to explain anything I'll have to do it myself. And there is merit to this!
But there is also merit in sharing as much as humanly possible _just because you CAN_. Not everyone is as enthusiastic as me.
And besides: how else am I supposed to learn ANY of this stuff? The guides on any site, be it here or on GBATemp are either flat-out subpar or they only cover stuff detailing NES/SNES games. THAT IS COMPLETELY USELESS TO ME. PSP games do not deal with lo-rom and hi-rom stuff. I sure do wish there was a guide on PC GAME headers or what is the best way to create an entirely new font width table and insert it into a PC or a PSP game! Unfortuantely I havne't found any detailed ones so far; but I devote some hours every day to learning more until eventually I'll know what to do and how to do it.
Guess what? Today I actually expanded the Wizardry Empire 3 EBOOT.BIN successfully and added 3000 bytes. I did this because I know I'm going to need space for when I insert the ASM code that changes the game's font to 8 pixels. Do I know ASM? No. Will I know what I need to know to do what I want in a few weeks? I guarantee it. Now to be fair this is the very first time one of the many "tutorials" I read actually detailed everything perfectly concerning what expanding was and how to handle the headers and whether to add new spaece or to extend, etc. Everything I just mentioned... 100% new to me, learned it today, loved doing it, and I feel awesome that it is done using a hex editor!
Your one thread with the slightly dramatic title however can be answered quickly from memory by a large portion of the active forum users without so much as doing a single search.
Anyway back on the PSP then if I lack the desire to do the things in the list then I get to instead cover font representation as a whole and hope something is applicable. I do this in various replies from time to time, probably why I have a bit of a reputation for long winded replies, where I probably should have just said that will likely take you learning assembly so good luck with that. You might also be reading the wrong thing into such a reply -- most of the time I would read it as something like "I have this problem, is there are quick or existing way of sorting it or is it going to be a long winded affair?" and "yes mate, asm is in your future if continue down this path" is the way of saying yeah it is.
I completely agree mate and I love long posts too. I mainly post at the rpgcodex and I treat forums as verite communque: you should write about your stuff as detailed as humanly possible and provide even perhaps what some would call unnecessary extrapolation. A long post that contains actual communication is rare and should be prized.
I detest people who say "lol tldr".http://s7.photobucket.com/user/aweigh01/library/
Feel free to peruse my photos as they are all specifically about the Wizardry games (and others) I've been working on. If you go back to the very first photos you can look at the in progression and see the actual "learning" thing I've mentioned a few times. Also I feel very proud
The entire reason I even started hex editing files is because I am probably the biggest Wizardry fanatic you'll ever meet. And when I ran out of Western-developed Wizardry games and got tired of pining hopelessly for the JP Wizardry games to get localized I simply decided that I would translate them myself. Why? Because I want to play the games myself. For literally no other reason. Although I will release I could not possibly care less who else plays whatever I work on. I'm doing this because these are games I want to play in english myself and enjoy them. If it means learning 10 different things that will probably have me screwing up over and over until I "get it right" then great, and if it so happens I've found out I massively enjoy editing hexes then don't you think that's a good thing and something worth being enthusiastic about? I do.
I update the thread ( http://www.rpgcodex.net/forums/index.php?threads/all-in-1-thread-about-wizardry-clone-translations-right-here-new-info-been-working-on-wiz-xth-2.108462/
daily even though almost no one replies because not only does it serve as a way to arouse discussion in that forum (it's an RPG forum but there is a surprising amonut of dedicated rom hackers there who post regularly, and it was one of them who got me started) and to be honest: that thread made in a non-rom hacking website has yielded a lot more education for me concerning hacking, debugging, extracting files and graphics editing and all that good stuff than any romhacking forum has so far.
One person even explained to me step by step how to find the value that dictated the FW_FONT's "FW_WIDTH" value when I was doing the grunt work on Wizardry Empire 1: he went step by step and in the end I learned that surprisingly enough, the Microsoft website has a ton of information that is very useful for rom hacking! Needless to say I immediately changed that game's default FW_WIDTH value from its default "500" (8403 hex value) to a cool, slim and skinny and beautiful looking 2C01.
I had no idea how to "write" the number 300 for the value I wanted instead of 500 so... once again, guess what? I had to learn via googling and look up hexadecimal FAQs/websites until I learned alllll about a lot of stuff that went way beyond how to write 100 in hex. One problem once again leads to completely new avenues and they are ALL very interesting!
Do you honestly think that would have happened to me by making a post about the font being too bulky in a hacking site? Be honest with yourself... you know the answer is no.