News: 11 March 2016 - Forum Rules

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - LucasRCD

Pages: [1] 2
I know where I went wrong. It worked fine when I just added the doubled space at the end of the ROM. This is gonna sound ridiculous, but with the way you described things, I thought that if I were to do this, which is to just add empty space at earlier points in the ROM and then just redirecting things later, then things would magically sort themselves out. Maybe it is possible but not with the way I went about it.

If you ignore my gigantic gaffe, then the ROM expansion was a success. It's a good thing I've got backups. Now it's time for me to experiment with writing a patch. Gonna have to read back up a few posts in order to see what I need to do.

October 29, 2020, 07:26:13 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Code: [Select]
EWRAM 0203D20C = Eldin's current JP (4 bytes)
----> 08001AC6 = Jumps here upon killing the last enemy (adds r0,r0,r4)
  \-> 03007C00 = Allocated
----> 08001AD4 = Then jumps here from 08001AC6 (ldr r3,=Lxx_5F5E0FFh)
----> 08001B2A = Then jumps here from 08001AD4 (mov r8,r2)

Did some breakpoint stuff, this was the result. I should probably do this whole documenting thing on the wiki instead of my own threads. I haven't begun work on the patch to try and get the JP meter/JP gains visible yet, I just wanted to collect the data I was overdue first.

October 29, 2020, 08:35:29 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Alright, so I got some things out of the way. I can finally start making some progress with this. I looked on the previous page for a particular string of code, and decided to alter the header for it. So here's what I've got by replacing the one presented originally with the one I unearthed earlier:

Code: [Select]
ldr r1,=5F5E0FFh ;load address of variable into r1
ldr r0,[r1] ;load what's at address r1, put it into r0
ldr r1,=6001036 ;load address of map spot for new tile into r1
str r0,[r1] ;store value from r0 to address in r1

Do I have to do anything else? Or is this good enough to patch in?

So wait, if the whole ROM is available at all times, then how can I feasibly branch into the expanded part if there's a limit to how far a branch can go?

I tried going the other route, of adding free space, but I have no idea what to do next. The game doesn't boot up. I think headers in this game may be marked with "estpolis_gaiden" text, because otherwise I have no idea where they could be? This same string is repeated a couple of times in the ROM. Searching for a sea of 08's doesn't yield any satisfactory results. Do I need to add free space before headers? I legit have no idea.

October 29, 2020, 04:06:34 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Nevermind, it appears it only appears in areas of the ROM related to the debug mode.

Maybe saying it's "hard" is a bit of an exaggeration on my part. I should probably be using "daunting", which would be more appropriate. I keep assuming performing these tasks would be much more complicated than they actually are. Like always, can't really confirm if it actually is until I try. Which also reminds me that I need to try the rest of the code stuff. You guys have no idea how much you're helping me, I appreciate the patience! :angel:

I'll give expanding the ROM to 16 MB a shot. Inserting the blank space at the end of the ROM isn't hard at all, what I still have doubts about is with shifting data around and what parts of the ROM constitutes what, but that'll be up to me to figure out and get the hang of.

October 29, 2020, 02:29:31 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
...I didn't even have to search that hard to find that there are a couple chunks of free space on the ROM (just a bunch of chunks filled with nothing but 00's). In fact, I can find a lot of them starting with 0067C60 thanks to HxD, with a couple of stray chunklets of filled bytes. I could still make the ROM 16 MB but I doubt it'd be of much use for the things I'm trying to do.

Hmm, so basically that second column isn't the part of the ROM it's pulling the information from? I've noticed before that EXP and Gold gains end up calling one thing in common, before going about the rest of their functions. I'll see if I can find some stray free space within the ROM, otherwise I'll have to do some ROM witchcraft to achieve the extra space (it at least sounds like it to me, but it's probably more a matter of patience than anything). Maybe my best hope for this would be to put up a "help wanted" post, in the worst case scenario.

On a tangential note, I just realized how much of a mess my virtual work space. I ended up accidentally making the unmodified ROM of the game blank. I should store these altered ROMs somewhere else.

Alright, I'm back. I actually forgot to do the whole breakpoint thing with the JP meter. I need to ask something before do so, and I can't believe I haven't asked this earlier: What is the second address mean at the bottom right screen? What is that bottom right screen? I may need to revise the way I document things if it turns out I've been misinterpreting what it means.

Also, ninja'd, so I'm gonna add more to this post than I originally intended to.

"I doubt anyone nowadays would see much use in either of those."
That you can not assume, both in general (if nothing else I still get asked for the occasional multiplayer patch if a flash cart is acting up and existing ones still get downloads) and going into the future (oh no android based emulator got bluetooth support for the link cable setup).

Fair point, I just came to that conclusion because expanding the ROM itself didn't cross my mind, mostly because I have no clue how I would do that. It's probably really simple to expand it to 16 MB, but in order to make any proper use of the new space, I'd need to do a bunch of things that are beyond my current level of knowledge. A daunting task, indeed. No idea what you mean by "trimming" a ROM. Wouldn't that require recompiling the ROM, thus necessitating a disassembly of the game?

The funny part is that as a former SMW hacker, xkas has actually been obsoleted and replaced as the primary patcher/assembler tool for that game. A new one called asar does everything it does but better, and easier. So it's probably a safe assumption that armips is the better of the two.

One thing I've been thinking of is to empty out certain parts of the ROM. The game has Link Cable functionality, with a Disc Monster trading system between copies and a cooperative(?) version of the Ancient Cave dungeon. I doubt anyone nowadays would see much use in either of those. Theoretically, getting rid of it all could free up some space, including space for any kind of new text. I assume that just zeroing the parts of the ROM like that would be the easiest solution, even if it's not really elegant?

I'd comment on anything else but I can't do it at the moment; I'll attach more parts to this post when I come back.

I've finally decided to check VRAM to see how battle text is rendered. Turns out it's all stored in BG 0, Text Mode (image 1,image 2).

I basically did two battles: One with low level enemies (enough EXP to level up but not gain enough JP to learn any skills, pictured earlier), and one with endgame enemies (earning enough JP to learn 3 skills at once. Image 1, image 2. The first two images were from battle 1, the last two are from battle 2, in case it's not clear).

I still haven't fiddled around with xkas or patching yet because I don't trust myself to do this without screwing up. I'll likely build some confidence once I end up getting a firm enough grasp of this stuff. Hopefully what I've provided in this post can be informative enough for you guys to help me?

Oh man, that's an even better amount of help! I can't believe I overlooked the replies to this thread, I'll see what I can do with that. I know about the existence of jumps in code. I believe I can just do "JMP $[insert address here]" and it'll work? Now the question is, where would I insert the jump?

Another update: I've decided to start documenting how items work. The first thing I did was restore the functionality of the unused Goddess Statue item so it works like its Lufia II counterpart, even down to its description. Goddess Statues in Lufia II were an item you could obtain at a casino, and was notoriously buggy in the North American release. There's a casino in this game, but it's just for show. There's nothing you can really do in it, aside from getting the Rogue job and the scene where you're first introduced to Dekar. I'll see if I can implement a way to obtain those in the casino, maybe as a shop or a repeatable prompt where you need to exchange a certain item for a Goddess Statue.

October 26, 2020, 11:56:39 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Add another thing to the bucket list of changes I'm gonna be making with this hack. Inspired by that one hack of Lufia: The Legend Returns that alters item, spell, and IP ability names so they're more consistent with past games, I'm gonna be doing the same to this game. The randomly altered spell names bothered me, and makes the game feel less like Lufia as a result. In fact, I'm already applying these changes right now as I type this! It's easy changes.

October 26, 2020, 12:15:44 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
AND if I can, I'll add a couple more learnable skills for jobs! For some reason you can't actually obtain magic such as Empower (this game's equivalent of Trick), Heal Full (Strongest from The Legend Returns), etc. Some of these stats can only be raised in battle by the consumption of items, which is a very slow and time consuming process.

October 26, 2020, 03:12:43 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Yeah... I've made a disappointing discovery. Multi target healing cannot heal fixed amounts. The amout of HP healed is multiplied based on the number of living party members currently on screen, so if the base amount of HP healed is 50, it'll heal 200 HP if there are four living party members on screen. But if there are only three who are alive, it'll only heal 150 HP.

This is never a concern in the main game because the only multi heal spell heals 999 HP, and only because its minimum HP value is set to an absurdly high number. There's probably a way to make it so healing doesn't use current amount of living party members as a way to multiply the amount healed, as it should always assume there's 4 party members alive. But I also wanna make sure it doesn't interfere with every other spell. God I wish I wasn't the only one working on this.

October 26, 2020, 10:43:14 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
The biggest issue with having to work alone in projects like these is that it's extremely easy to get yourself sidetracked with trying to document and alter other things. I'm starting to wonder if I'll be able to do anything at all with this. I've already run into a couple of roadblocks. I have no idea how to locate the save routine, how to edit NPCs and shop lists. Trying to make use of breakpoints is getting me nowhere.

October 27, 2020, 09:07:34 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Been meaning to ask, am I doing a fine enough job with the way I document things? I try and make things look and sound as comprehensive as possible for laymen such as myself, hence why everything sounds so simplistic and probably not very accurate and specific

I'm going back to try and document the enemy table. Here's what I've got so far:

Code: [Select]
06D7490 and below = Enemy stat compendium

Every enemy entry is 292 bytes long. Learnable moves appear to be stored separately from the monters themselves

Bytes 1-50 = Enemy name
Bytes 51-112 = Enemy description
Bytes 113-127 = Data padding? Some enemies appear to fill some of these bytes
Byte 128 = Element in battle
Byte 129 = No idea. Family type in battle, perhaps?
Byte 130 = No idea

Yes I'm trying to document what each of the bytes do. It's gonna take a while but hey. I hope it'll be of some use to you guys. You could theoretically create your own enemies this way. I don't know if there's much room for it, about the only things you could modify without affecting the used enemies are enemy 0 (No Name, which is a placeholder enemy) and the unused Golden Lord boss. There probably is a way of adding more enemy entries but I don't want to risk breaking the ROM.

I'll try and see if I can get help with other things such as graphics inserting some other time.

October 29, 2020, 08:40:26 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Another update, this time a rather major one: I'm not gonna be using this thread to document stuff anymore, but instead I created a Datacrystal page for Lufia: The Ruins of Lore, and so I'll be shifting my documentation there! The page itself is extremely barebones at the moment, but that will be remedied within due time.

Please use one thread to discuss the same topic.
Ah, my bad. Still used to how a previous forum I frequented handled this sort of thing (asking for help and showing off/discussing your own project having their own separate subforums), which is why I created a new topic on a different subforum rather than using this thread.

4th game total. This one is on GBA.

The third game was The Legend Returns for GBC.
Correct. Ruins of Lore is the second portable Lufia, and technically the last original Lufia game, with Curse of the Sinistrals for the DS being a remake/reimagining of Lufia II. It was also the last Lufia game period, which is unfortunate. Maybe someday Square (who I think holds the rights to the series nowadays?) will revive the series with a remake of the original Lufia.

Now back on topic: I'm still trying to document what each part of the bestiary means. I still have yet to see if monsters and Disc Monsters share the same moves, and if I alter the enemy version, it'll alter the learnset for the Disc Monster version of that enemy.

Another thing I wanna do with this project is implement some bug fixes. These would be the bugs that would be fixed:

-Crafting Nectar doesn't use up the materials required to craft it, meaning you can amass an infinite supply of the best restorative item in the game with ease.
-Blue Tea sells for more Gold than you buy it for, allowing for amassing infinite Gold in an easy, but time consuming way, as the amount of profit you make isn't very high each time.
-If you use the Sacrifice skill on yourself, it works as a full heal instead of instantly killing you/dealing 999 damage to yourself.
-You can get out of bounds in the Mera Volcano dungeon due to a misplaced screen exit in two rooms.

I'm not sure how I would fix some of these, but I will find a way to do so eventually.

October 25, 2020, 06:25:59 pm - (Auto Merged - Double Posts are not allowed before 7 days.) and tending to be where I point people that need to read up on compression. The GBAcrusher program on the former also being a good tool, even if you have to manually insert it afterwards

That's great, but a comprehensive step by step tutorial of what I should be doing would be great. It looks like I have to install a bunch of other crap to be able to insert the graphics? I'm asking this because I really have no experience with this kind of graphics insertion. I assume you have prior experience with these tools and can teach me how to do things the correct way.

I'm trying to add some custom graphics to Lufia: The Ruins of Lore, more specifically, I'm trying to add the 16x16 save point tile from previous Lufia games into some of the tilesets. I thought I'd be able to easily do that with NLZ GBA Advance or unLZ-GBA, but no such luck

I wanna make it look like this. I replaced a corner tile that's virtually indistinguishable from the background black color. This could be remedied later by map editing. Any help with what I should be doing?

October 24, 2020, 11:59:47 am - (Auto Merged - Double Posts are not allowed before 7 days.)
An addendum: Here's the save point, edited to use the same colors as the switch in the same image. Leaving this here just in case?

October 24, 2020, 08:11:30 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Another addendum: I can't believe I forgot to mention this but the graphics break when I try inserting them. That's what I've been meaning to ask! How do I insert graphics without the program spitting out errors, or the ROM breaking?

Original title: A thread about documenting peculiar findings in Lufia: The Ruins of Lore

I really don't have a better and more straightforward name for this project of mine. This all started with me just wanting to rip the game's monster sprites, since The Spriters Resource has no such rips yet. Then this evolved into me just trying to document a bunch of things about the game, trying to see how things work. I've come to find a couple of very interesting things!

I've been keeping track of things in a text file, which started out as merely a bestiary template, then got expanded with other things. I'll just put the non-template part of the file below.

Code: [Select]
EWRAM 02038E7C = Received EXP at the end of battle (4 bytes)
EWRAM 02038E80 = Received Gold at the end of battle (4 bytes)
EWRAM 0203D1E0 = Eldin's current EXP (4 bytes)
EWRAM 0203D1E4 = Eldin's EXP until next level (4 bytes)
EWRAM 0203D20C = Eldin's current JP (4 bytes)

EWRAM 02032CA0 = Text is written on the status screen in here?

EWRAM 0203D5C6 = DM 1's JP level

EXP formula: Each enemy gives out individual EXP. At the end of battle, the accumulated EXP is summed together, then extra EXP is added at the end, equivalent to accumulated EXP/5. Doesn't apply to bosses.

EWRAM 02037E20 = Enemy 1's stats
EWRAM 02037B90 = Enemy 2's stats
EWRAM 02037CD8 = Enemy 3's stats
EWRAM 02037F68 = Enemy 4's stats

006D7490 and below = Enemy stat compendium

HP | AP | ATK | DEF | AGL | INT | MGR | Family | Type |

Family (1 byte) Type (1 byte)

00 = Bird       00 = None
01 = Beast      01 = Fire
02 = Bug        02 = Water
03 = Sea        03 = Wind
04 = Dragon     04 = Earth
05 = Demon      05 = Light
06 = Holy       06 = Dark
07 = Plant
08 = Object

A couple of fun miscellaneous things I found out about this game. Some confirmation for these would be nice:

-The game has a very extensive debug mode, much more in-depth than the Lufia II one. It was thanks to it that I was able to kickstart my sprite ripping project.
-Dekar has unused swimming and sleeping sprites, the former implying he was supposed to be switchable into at some point.
-I think all party members have an alternate attack animation that's not used? It generally looks like a dash attack, from what I've seen, I need to investigate this more. Maybe I just haven't experimented enough with Skills to determine if they're actually unused or not.
-The attack animation for Dobens and Hellhounds seemingly don't play in full in-game, but play in full when viewed through debug mode. Their tails shoot like a gun, Hellhounds shooting twice.
-Jellies and Neo Jellies have unused animations. The former have one that's of them teleporting, I think? Their sprite becomes blank at the end of it. Neo Jellies split into smaller ones, resembling golden versions of the regular Jellies.
-Gratze Soldiers and Commanders have back sprites, which are fully animated as well, implying you were supposed to be able to capture them! Maybe the thought of capturing other humans was considered too morbid during development.
-There are technically Job Points in the game, both for party members and Disc Monsters, silently awarded at the end of battle, but they're never actually visibly shown.
-All bosses and the aforementioned Gratze Soldiers/Commanders have their own monster compendium entry! Their stats are stored right below their entries, and the bosses in particular tend to have unique descriptions that are never seen in-game, meaning at some point the monster compendium worked in a completely different way! In its current form, it only shows descriptions of captured monsters, of which there are 198 IIRC. Some bosses have blank descriptions though, like Ragule and the Ancient Cave bosses.
-Speaking of Ancient Cave bosses, there's a completely unused and fully functional boss! Its name is Golden Lord, a golden version of the Jelly Lord. It's located right before Shinju, the third to last Ancient Cave boss. Its HP is higher than Shinju's. Why would they decide to scrap a perfectly fine boss like that? This is why. Its moveset consists of Grand Cross (strongest Light element attack), Ice Breath (which does what it shows in the video), and Rejuvenate (heals 400 HP, similarly to Meditate, another move used by other Ancient Cave bosses). Since you only have one party member for the Ancient Cave, Disc Monsters not counting as other party members, being frozen counts as being dead for game over purposes. It was likely cut because of how unfair the frozen status is for the Ancient Cave in general, I'm pretty sure no enemies capable of inflicting frozen status are included within the battle formations for the Ancient Cave.
-Monster catch rates and levels are stored completely separately from the rest of their stats. Where could they be stored at? No idea.
-This game has the potential for a lot of MissingNo. tier stuff. I've spent way too much time messing around with Disc Monsters to get results like these.

That is all for now, I think. Since I'm fresh meat to this sort of thing, take some of my findings with a grain of salt.

October 23, 2020, 12:20:15 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Update: I've begun doing proper breakpoints, and I'm documenting my findings. I tried my best to explain things with my severely limited knowledge.

Code: [Select]
EWRAM 02038E7C = Received EXP at the end of battle (4 bytes)
----> 08013A7A = Jumps into here upon killing an enemy in battle (adds)
  \-> 03007C90 = Then increments this
----> 0801418A = Jumps from 08013A7A to here upon killing the last enemy in battle (bl)
  \-> 03007C30 = Then increments this once, then two more times, after jumping below each one, incrementing one time after each jump
----> 080141F4 = Then jumps here from 0801418A (mov)
----> 0801425E = Then jumps here from 080141F4 (str)

Maybe some of you can decipher what I meant when I wrote descriptions for these.

October 24, 2020, 08:18:49 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Another update: Updated thread's title. I'm gonna be using the gained knowledge and documentation to hopefully be able to create an enhancement hack. It's gonna take forever for it to get off the ground, but I'm already too far down to come back out.

I've got a couple of plans for changes to the game in this hack:

-A visible JP counter on the status screen, right next to EXP, plus visible JP rewards at the end of battles.
-Save tiles in the middle of dungeons like in past games. This one will require graphic editing and learning how to alter dungeon maps and tile properties, plus learning about and documenting the save routine used by priests. For this to work, somehow I'll need to make it so stepping into these tiles will bring up the save screen, but also make it so it doesn't go back to the main priest menu, where there's three options: Save, Cure, and Remove. Maybe there's a way to isolate this routine.
-Allowing Bau to get Jobs. Bau gets AP growths but has no use for them. Dekar doesn't get AP, ever, as a comparison, and they both fulfill similar roles. Granted Bau is strong enough to not necessarily require skills learned from Jobs, but he's just so boring to use comparatively.
-Fixing the collision in that one screen in Mera Volcano, where you can get out of bounds thanks to misplaced exits.

Wish me luck.

What we want is a "memory breakpoint".  Memory breakpoints stop the CPU when *any* code accesses a certain memory address to load or store data.  To use this sort of breakpoint, no$gba requires a different syntax: "[02038E7C]?".  If you just put 02038E7C, you'll set an execution breakpoint, the wrong kind.
Ah, no wonder I was having so much trouble, I didn't know about the existence of two different types of breakpoints! Maybe it's documented within no$gba's intruction manual, but considering the sheer size of it, can you blame me for not finding it?

Thank you so much for telling me that, you have no idea how much you have helped.

Gotcha. I'll get around to creating the thread as soon as I can. It's gonna be the start of something great, I can sense it.

Newcomer's Board / A question regarding the Personal Projects subforum
« on: October 22, 2020, 10:18:17 pm »
Is it allowed to create a thread about documenting findings, address stuff, maybe even unused content, from a specific game, even if it doesn't technically qualify as a hacking project? I'm slowly getting myself accustomed to messing around Lufia: The Ruins of Lore with a hex editor, and I've discovered how to alter monster stats, among other things.

I've been personally keeping track of important memory addresses and am working on a comprehensive bestiary on all the game's monsters, I thought it'd be useful for me to share my findings, for whoever else would be interested in potentially participating in hacking this niche GBA RPG. Because I most certainly won't be able to accomplish everything by myself, I can tell you that much.

I could potentially make something out of this, even if it's as simple as a "hard type" hack where enemy stats are souped up and movesets adjusted, if that would be the bare minimum requirement to make a thread in there.

It is however fairly ambitious if you are going in completely cold/new, though within reason for a learning hack (any programming teacher, or indeed any teacher of practical skills, worth their salt will tell you a project that the student is motivated to stick with is 10 times better than an something abstract and boring that they have to breathe down their neck to complete).
Yeah, that's a bit of a problem I have. I tend to go immediately ambitious when trying out new things. I thought this was gonna be a simple task, boy how wrong I was. I am learning some interesting facts about the inner workings of the game. Who knows, maybe within an extended period of time I can even work out how the speed-based not-quite-turn-based battle system works.

What I wanna know is what each of the columns that are displayed on no$gba's top left part mean, respectively. I know the first two are the address and the value it currently has, respectively, but everything else appears to be a blank to me. I keep being told that I need to note things and find where the EXP value is read from. Problem is, I don't even know what I need to do to locate it. Locate what writes into the address, I mean, for lack of a better terminology. Maybe I'm misusing terms, I don't freaking know the proper terms for this. Where do I click? What do I click? Sometimes I click on the breakpoint'd addresses and they boot me to a random part of the code. All this jumping around really isn't helpful and is more of a nuisance than anything.

October 22, 2020, 05:12:15 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Hmm, considering I've been going rather off-topic and all over the place with this thread, I figure I should create a new thread focusing specifically on discussing Lufia: The Ruins of Lore stuff and my journey to try and understand things. I'm not sure if this sort of thing is frowned upon in here, so I'll just wait for some "okay" on this front.

So here's something interesting that I found. By adding a breakpoint to 02038E7C, the memory address that gets added to in order to hand out the total EXP at the end of battle, this happens. If I do another battle, the same result happens again, but with a 44 instead of a 54 at the end. After that, the amount of EXP handed out at the end of battle goes back to normal for whatever reason. So maybe the rabbit hole goes a bit deeper than I thought.

I think what's been frustrating me is the fact that I'm trying to do everything at once when I should be focusing on one thing. The thing I understand the most so far is how the game handles monster stats, including the fact that there's a lot of data redundancy (seriously, some  stats are listed 3 times, yet only the last instance is what's read and altered. It's almost like they did this on purpose to prevent people like me from finding out how things work).

So if the JP thing doesn't work out, I'll instead just go and write a comprehensive bestiary similar to Iron Knuckle's bestiary included on their GameFAQs guide, which was done in a similar fashion, by diving right into the game's code. Granted I have a lot of work to do, what with the absurd amount of enemies and the fact that I'd have to locate where the original stats are lifted from and where the moves are located.

October 22, 2020, 09:00:20 am - (Auto Merged - Double Posts are not allowed before 7 days.)
I should probably include more screenshots in general. Here is a screenshot of no$gba and the two values I added breakpoints to, those being the value for EXP and Gold handed out at the end of battle respectively. I can see some things of interest but I don't know how to read them, or where I should be looking for or at.

Okay, but where do I begin? I appreciate the replies and the amount of choices you're presenting me with, but this is terrifying if I can be perfectly honest. None of any of what you said says anything to me, and that's not to discredit any of you. That's entirely on me. All I really got from any of this were the first and last three paragraphs.

...I'm starting to wonder if I really am fit for ROM hacking. Maybe I'm biting off more than I can chew. Not like I can easily form a team to help with this either, so I'm entirely on my own to figure out something I've never delved into. I say I'm a former SMW hacker but I'm just a glorified pixel artist and level designer, I never wrote a single line of code on my own, ever.

Sorry for rambling, just me feeling a bunch of frustration from trying to figure things out on my own. I'm at least finding out about other unrelated things, such as where enemy stats are located in battle. With this last newfound knowledge, I can attempt to build a bestiary similar to that one Lufia II: Rise of the Sinistrals bestiary on that one GameFAQs guide.

As for finding where awarded EXP is located/stored in EWRAM, I think it's in 02038E7C? And there's also an extra calculation that awards extra EXP at the end of non-boss battles, the bonus being equal to total accumulated EXP divided by 5. The way this game handles things like that are just so weird, and I've already gone on long enough about unimportant things. Blah.

Incoming vent related to my experience so far, putting it behind spoilers so you don't have to be subjected to it forcibly:
It's so weird how I say I want help yet I can't really do anything with the help that I get. It makes me feel useless and like I'm wasting people's time. I must be missing something that should be pretty obvious. And I'd rather not bother you or anyone else to write stuff for me and baby me around, yet it feels like I'll never get anywhere UNLESS something like that happens that way. I hate it.

What I thought would be something that'd be easy and fun to get into has turned out to be an exercise in frustration, trial and error, and clunky emulators that seem to fight against me whenever I try and do anything. This kinda extends to me and my stance on learning to code in general: "How long will I have to spend learning this? Will it even be worth it?" is something I always ask myself.

Sure I haven't even started to write a single line of code, and I'll never know how it truly feels or how hard it actually is until I try, but when reading through any of those links is already draining, the demotivation quickly settles in. I wish it didn't have to come down to me making such a big deal out of hacking and whining in public about it, but that's just how it is. This isn't anyone's fault but my own.

This is why none of my ideas and projects will ever take form. Unrealistic expectations and a lack of patience. And when I did try and make things a reality, they all crashed and burned because I ran into dead ends and got myself burnt out. If I can't learn anything instantly, I automatically deem myself a failure. Maybe this all stems from crippling laziness. Whatever the case is, I should really aim lower if I want to accomplish anything.

Alright, got no$gba DEBUG version. Good lord, this is an intimidating emulator to learn. I have zero knowledge of ASM, so I'm essentially going the caveman route of going about things. I've been using mGBA to get the WRAM values I need in order to do things, since I can't do it as easily on no$gba, if I can best explain it. I can find where EXP and JP are stored in WRAM, but aside from that I have no idea how to work things out on no$gba. I'm writing notes in a text file on what I've found so far, so that I don't forget later.

So far this is what I've come to learn:

EWRAM 0203D1E0 = Eldin's current EXP (4 bytes)
EWRAM 0203D1E4 = Eldin's EXP until next level (4 bytes)
EWRAM 0203D20C = Eldin's current JP (4 bytes)

I have zero experience with anything as complex as this. SMW hacking has spoiled me beyond belief in terms of accessibility, what with it being more of a matter of compiling everything you want into one package rather than having to learn ASM, if the scope of the hack isn't too ambitious. With that in mind, I have no idea what any of those terms mean or what any of the instructions are supposed to lead me to do. Yeah, I'm pretty fresh meat in this area.

I wish I could make more sense, but I'm awful at explaining things in these contexts.
As a side note, I hate being at the mercy of moderators having to approve my posts before they can show up. I'm way too used to other forums where there's no need for such a system.

October 21, 2020, 02:27:54 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Ugh, this whole thing is so frustrating. I keep jumping everywhere thanks to this stupid "cursor" the emulator comes with. I also can't search for hex values, just addresses. I wanna find stuff but I can't! I feel like I'm bashing my head against a wall.

I've been a bit obsessed with Lufia: The Ruins of Lore as of recently, and I've had an idea for a major improvement hack. These would be among the changes that would be implemented, from most important to least important:

-Increase in battle animation speed, cutting down on needless windup between moves and turns. Battles take waaaaay longer than they should;
-Save points and recovery spots in the middle of dungeons like in past games (would require a bit of graphic editing and other things probably);
-Visible Job Points to make leveling up jobs and learning skills less of a crapshoot (this would also extend to Disc Monsters, since they use the same method for learning abilities);
-Making it so counter attacks and spells from items don't completely override the action you've queued up for your character if they end up getting hit;
-Fixing the collision in that one screen in Mera Volcano, where you can go out of bounds and somehow not get softlocked due to misplaced screen exits;
-Buffed up enemies, since aside from bosses, the enemies have pathetic stats once you're leveled up properly. The fact the final boss just has 8000 HP while the ones in previous games had 20K+ kinda speaks on how toned down the difficulty is in comparison (this last one would be optional).

Just things that would make the game much more fun and enjoyable to play for others, including myself.

Pages: [1] 2