Jump to content
Aleph

Hexware

Recommended Posts

I'm some kind of LLC and have been for a while. Some of you have already donated to me to promote various research projects and some of those few have even received some form of thanks for said donations in the form of a Fire Emblem hack of their specification.

Yes, this is similar to Blazer's topic. The difference is I've been doing it longer, have this as my actual job and have a more specific proposal.

One of you came to me with a request for a hack as well as information about the process of procuring it and, as expected, declined to fund the labour required.

Well that sucks. You didn't get what you wanted (a hack) and I didn't get what I wanted (financial security, food, healthcare, whatever other things money affords). That's a lose-lose and that's just not utilitarian. Hell, I'd accept donations in the form of things that aren't money if they're useful for a) keeping me alive or b) reverse engineering things, as per the purpose of this..."charity".

The donation link isn't super hard to find (it's been in my signature about as long as I've been running this business - a couple of years).

I guess I can move it to a more visible location, though.

In right about the middle of this document

https://dl.dropboxusercontent.com/u/336940/Software/Hextator%27s%20Doc/README.html

is this

IF YOU LIKE THIS SOFTWARE

Feel free to donate:

(Donation link)

So there's that, and here's this:

The hack which was requested was to revamp the FE8 Skill Hack (this one

https://dl.dropboxusercontent.com/u/336940/Software/Hextator%27s%20Doc/Media/Games/Reverse%20Engineering/Console/NGBA/Fire%20Emblem/Game%20Doc/8%20-%20Sacred%20Stones/Skill%20Editing/folDIR.html

) by adding new skills (specifically, Sol, Wrath, Resolve and Paragon).

Anyone interested in seeing that come about can just fund the research and it will be done.

Feel free to contribute other ideas for what to spend these resources on. By "these resources" I of course refer to your kind donations

Share this post


Link to post
Share on other sites

Sorry if this is a dumb question to you, but do you think it's possible to set up supports in a table of events rather than... whatever it is now? As far as I know you can only use 2 songs for supports and obviously there are things we don't quite know how to do (X happens if Support A between Alice and Bob is reached? not sure) and there are other obvious applications for it like giving items and the like. I can imagine this being a little bit of a problem when it comes to the Support Viewer, but you know, take them as they come, or something like that.

Share this post


Link to post
Share on other sites

I actually haven't messed with events much (read: I quit hacking them before Nintenlord came along with the EA) so I'd have to get familiar with them. Perhaps you can give some (more?) examples that would make it clear what the input and output you're expecting to be possible is like.

A requirements document, if you will

Edited by Solais

Share this post


Link to post
Share on other sites

do you really want me to make a whole document?!

Uh, here goes...

Problem: supports are limited, in GBAFE, to only being text and (currently) only two songs are able to be played (Serra's and Merlinus's themes). In games such as FE4, the equivalent of support conversations would often yield stat bonuses or even items, which is a pretty cool feature. Currently, it's not possible to do this in GBAFEs. In addition to this, in later games such as FE12, sound effects also play during text, which is pretty cool. In FE12 sound effects and music are actually handled by text commands, but if supports could be done via events it would be easy to do this and also the actual process of editing supports would be in a format that people who could make use of the hack would actually understand and be familiar with.

I'd imagine it to be resulting in the creation of a Nightmare module table editor-thing where you can edit each support slot, and in each support there's either 3 simple text pointers or 3 pointers to event data (similar to the Death Quote Editor). The game would, by default, simply carry out the text if there is not pointer to event data. If there is event data, then the game would call that data instead. The event data would be something like this:

org 0xD00000
EliwoodNinian:
MUS2 NiniansTheme
TEX1 0x500
REMA
ITGC Ninian BodyRing
ASMC 0x234AB // assembly code or otherwise (?) that would increase support level between involved characters
MURE
ENUT 0x70
ENDA

This event pretty much says "to be written at 0xD00000: Play Ninian's theme, display text 0x500, return to map, give Ninian a body ring, increase their support level, return music to previous song, flag event ID 0x70 as "true", end events". This way, if a game's ending or a certain event would only play if Eliwood and Ninian reached this support level, it would be easy to make a conditional event later on.

Edited by Agro

Share this post


Link to post
Share on other sites

The latter half of your post is more like the visual presentation I was looking for.

Now if I only had the resources to devote time to such efforts.

Share this post


Link to post
Share on other sites

This is definitely a great idea for a hack. IS could have done a lot more with support conversations if they simply reused their event engine.

Things aren't going too quickly. The sanest approach I've come up with is having choosing "Support" do what choosing "Visit" would do if the option were available, then having some way of knowing that the menu option selected had actually said "Support" so that the code which checks which tile you're on to determine the Visit event is overridden to run an event determined by which characters are supporting and what level of support they are at (this could be extended to allow more than 3 support events, though I'm not sure how complicated it would be to modify the rest of the support system to account for the new levels).

I have many notes for doing the latter but not nearly enough for doing the former (making the Support command do what the Visit command does).

Here's what I have so far

http://dl.dropboxusercontent.com/u/336940/Software/Hextator%27s%20Doc/Media/Games/Reverse%20Engineering/Console/NGBA/Fire%20Emblem/Game%20Doc/7%20-%20Blazing%20Sword/Menus/folDIR.html

It was a considerable amount of work just determining this much (something like 2 hours).

Share this post


Link to post
Share on other sites

- Might not take that long

- This is (sort of) a charity, so (as I've said) it is the community's concern. Surely I'd put more effort into prospects elected by the more avid contributors (read: have, am and will), but I'd like to think it's a pool to fund research for the community as a whole.

That is, any amount of currency, more or less than 720$, would be spent on "reversing and writing software", not "hacking X for person Y".

Share this post


Link to post
Share on other sites

This was that weird support hack or whatever, right?

Glad I'm not trying it, it sounds like a pain in the butt and I wouldn't get paid enough to do it

Share this post


Link to post
Share on other sites

Actually, I think I've just about got it. Provided my plan to redirect support conversations to visit commands (and then redirect those to custom events instead of visiting) works.

Share this post


Link to post
Share on other sites

Out of curiosity, how is that text being called at the moment? It doesn't look like it's been done using Support given that there aren't any characters next to them :P:

Share this post


Link to post
Share on other sites

actually, given what I've read and my limited understanding of it, that seems like a somewhat legitimate worry, if part of the hack is that the "support" command must not only say "support" when it's activated, but must be triggered in a similar way to normal supports (characters next to each other, choose the character to support, THEN have an event--unlike say, visiting a village or having a seize event, where the event activates as soon as you choose the command from the command menu)

Share this post


Link to post
Share on other sites

if my hunch is right it's just bypassing the "support" command and just directly calling the event or something

Share this post


Link to post
Share on other sites

I picked "Item" and had it do "Visit" for a tile that I wasn't on.

When it's done I will be able to pick "Support", choose the character to support with and then have it run events instead of supports. If necessary I will add in functionality to actually modify support levels post-supporting.

...Can events presently edit supports to begin with ME I FAIL at's this?

Edited by Insidious Silence

Share this post


Link to post
Share on other sites

not sure I understood but events can't be used to edit support levels unless you write your own ASM routine and call that through events and I don't think that really counts as events anymore if you do that

Share this post


Link to post
Share on other sites

Well support levels are easy enough to modify. They sit at the value below the level they're ready to reach and one is added to that value once the actual support conversation ensues. Both characters share a value with each other. I'll probably just hijack the code that handles it already either way since there's other tedious stuff like analyzing the support table to find which slot each character corresponds to for each other.

Share this post


Link to post
Share on other sites

The research phase for the event support project is nearly complete, meaning it's about time to start writing actual implementation code. This will require some collaboration in the form of API specification and funding for yet unsupported labour.

Regarding the intense delay: Aside from being incredibly deterred by vidyagames/insomnia/being noctural, I also had that week of pleurisy (which is presently ongoing) and no healthcare (fuck the usa) to do anything about it with.

For reference, approximately 6-7 hours of work, ignoring (as always) work not done at full capacity, has gone into this project.

Share this post


Link to post
Share on other sites

Obama Care FTW!! ;D

I'd definitely be interested in seeing this realised, ie I'll be willing to chip in with other members for the cost of labour.

What command are you using as a base for the new "Support" and if supports will be done through events can you force it or add conditions to it? Like "IF Event ID 0x67 was triggered then the support can happen, if it wasn't then it can't" or make it part of the opening event/ending event/ whatever. And I know it's a long shot, but what about stat boosts after the conversation like in FE4?

Edited by Brendor the Brave

Share this post


Link to post
Share on other sites

Then do it hotshot ;)

Now that I think on it, couldn't an FE4 style stat boost be possible through a very specific assembly that fucks with the RAM? Like if you load the value of the stat you want and and add what you want to the value then do some TEX6 and SOUN codes for aesthetics to show the boost given? (eg. Have a TEX6 say something like "Eliwood's strength increased by 2!"?)

Edited by Brendor the Brave

Share this post


Link to post
Share on other sites

As far as I can tell anything you can do with a Visit event be able to be done with a Support event, since I'm hijacking the Visit code. I imagine it will be a rather huge improvement to hacking FE7 and make that many more people give up on the much better FE8 (although I could port it if it were a priority). Assuming anyone still bothers hacking FE games instead of using an engine these days.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...