Jump to content

Obscure Hacking Tips


Crimson Red
 Share

Recommended Posts

  • Replies 78
  • Created
  • Last Reply

Top Posters In This Topic

that's what I did today :/

EDIT: UNCR char 0x04 revives characters

thanks to Arch for not sharing this info and making me suffer for about 5 hours trying to find an alternative >_<

Edited by soiweuqjasdklirewvxzcbnm
Link to comment
Share on other sites

  • 3 weeks later...

bluh so i hate cgs

okay so i was doing cg bullshit earlier

FADI 0x10
STAL 0x10
SHCG 15
HIDEMAP
FADU 0x10

but for some reason, it shows up like this

so i grabbed code from ch20

TEX5 0xBCD
_TEXTCG 0xBCE 0x1

but it still fucked up

then I was told that cgs at the opening event are weird, so I copied lyn's opening stuff

FADUCG 2
SHOWMAP
TEX5 0xBDD
FADICG 0
HIDEMAP
SHCG 0x0
MUS1 0x3F
FADUCG 2
SHOWMAP
STAL 60
TEX5 0xBDE

but the issue was still there

however, there are 2 ASM commands

and when I threw them in, this

ASMC 0x7A939
ASMC 0x7A9D5

however, i only wanted 1 cg at the beginning, so I decided to see if both were needed

//ASMC 0x7A939
ASMC 0x7A9D5
FADICG 0
HIDEMAP
SHCG 0x0B
FADUCG 2
SHOWMAP
STAL 60
TEX5 0xBDE

was my final result, the first ASM command didn't seem to affect anything when not read, but the second did

I'm not exactly sure what the two are calling, but I guess if you want a CG at the beginning of a chapter, this is how it's done

Link to comment
Share on other sites

  • 2 weeks later...

Change the value at 0x0A06D8 to 0x01 for Lyn's mode, 0x02 for Eliwood Mode, or 0x03 for Hector Mode. Changing this will also change what chapter you go to.

Hard mode value is stored in the RAM at 0x0202BC0C. Normal = 0x00, Hard = 0x40. Changing this will change it to hard mode. No way to set it to hard mode from the start has been found yet.

EDIT: This code ends the Rumble effect (the EA macro "Rumble")

ASMC 0x7D689

Just figured this out now by searching the pointer in hex and looking at the events (since you can't really search all the possible events using the EA and disassembling each and everyone wouldn't be fun :|)

Edited by Burning Gravity
Link to comment
Share on other sites

UNCM/UNCR Code

0x00 = Normal

0x01 = Invis

0x02 = Greyed out

0x04 = Not in the status menu or unit data

0x08 = The same as 0x04 apparently

Adding values together = Adding effects together

0x01 + 0x02 = Invisible greyed out(0x03) - Sorta useless imo

0x01 + 0x04 = Invisible and not in status or unit data menus(0x05) - essentially they vanish entirely, but are still there, seems legit, could be used to make unit literally vanish for a few chapters and then re-appear later on

0x02 + 0x04 = Greyed out and not in status or unit data menus(0x06) - again, seems worthless, but hey, if that's your thing...

0x01 + 0x02 + 0x04 = Invisible, greyed out, and not in status or unit data menus(0x07) - This doesn't seem logically useful in any situation either, but hey, it works!

Most of the work was done by blazer, I just took the notes and shit

Link to comment
Share on other sites

0x01 + 0x04 = Invisible and not in status or unit data menus(0x05) - essentially they vanish entirely, but are still there, seems legit, could be used to make unit literally vanish for a few chapters and then re-appear later on

Hey, now this sounds bloody useful. Has this been tested much? And if I incurred this on a character using UNCM would that reset after the chapters is over, or whatever?

Link to comment
Share on other sites

UNCM/UNCR Code

0x00 = Normal

0x01 = Invis

0x02 = Greyed out

0x04 = Not in the status menu or unit data

0x08 = The same as 0x04 apparently

//Unit condition helpers
#ifdef _FE7_
#define Visible 1
#define GrayedOut 2
#define OnAnotherUnit 4 //????
#define Rescuing 0x10
#define IsBeingResqued 0x20
#define InBallista 0x800
#define UsableOrSomething 0x10000
#define MerlinusAndAthosOrSomething 0x400000

#endif

Are you sure about the 0x4? And I remeber 0x8 crashing a lot when I tested it while 0x4 didn't so they probably aren't the same.

Link to comment
Share on other sites

Hey, now this sounds bloody useful. Has this been tested much? And if I incurred this on a character using UNCM would that reset after the chapters is over, or whatever?

I've been using for a little bit and it works as far as I know. And no, you can UNCM that character one chapter, and UNCR them in a much later chapter.

And yeah, I tested myself a bit later using a prep screen, and the units were nowhere to be found.

Blazer tested 0x08, and he told me that it did the same thing that 0x04 did.

Link to comment
Share on other sites

well it LOOKED like it did the same thing but I remember the value "09" being used for something before (as opposed to 05) so I'm not sure

@Agro the test was originally done to try and find a way to make a character have their stats etc. saved but not be in battle preparations for multiple chapters. I tested it as best as I could without killing a ton of time and it seemed to work. FYI, I tested having a unit join in chapter 8, giving them a level boost or something such that I'd know that their stats were changed, then UNCM'd the character and they weren't in the battle preps. Upon UNCR'ing them after the battle preps, they returned. UNCR'ing them the chapter after (chapter 10) worked too. Allegiance didn't seem to affect it.

So I think it's more or less safe, yeah.

Link to comment
Share on other sites

OKAY

[2:44:30 AM] ballin1337: I FOUND OUT SOMETHING

[2:44:37 AM] ballin1337: table at 0xCE5390

[2:44:42 AM] ballin1337: controls which CG's are loaded in the Sound Room

[2:44:43 AM] ballin1337: SO

[2:44:47 AM] ballin1337: if you want it to use just one background

[2:44:50 AM] ballin1337: just set it to use like

[2:44:51 AM] ballin1337: CG 0x01

[2:44:55 AM] ballin1337: and then end the list with FFFFFFFF

[2:44:58 AM] ballin1337: and then edit that CG

[2:45:00 AM] ballin1337: and BAM!

[2:45:04 AM] ballin1337: that fixes my issue where in TLP

[2:45:13 AM] ballin1337: it'd show all the credits there

[2:45:29 AM | Edited 2:45:34 AM] ballin1337: now I can just make it a black screen for now

[2:45:45 AM] ballin1337: and if I ever find some cool image that might fit for the sound room

[2:45:49 AM] ballin1337: I could insert that

[2:45:50 AM] ballin1337: :D

Tested and working, and I'm sure you could create a legitimate list as well, the format is just XX 00 00 00 XX 00 00 00 with FF FF FF FF at the end where "XX" is the value of a CG :|

Link to comment
Share on other sites

  • 2 weeks later...

delphi shield stuff

the offset to where it shields units is 0x168A0(0x80168A0)

going there you will see 8 bytes

D2 7E C9 08

reversing those bytes gives you 0x8C97ED2

which is the same address as the default bow effectiveness in FE7

hence why it blocks that specific effectiveness and no other one

so lets say you want a horse guard or something

and you set the effectiveness at 0x857DD94 (I made that address up)

you would go to the offset I mentioned earlier, 0x168A0(0x80168A0), and reverse your bytes in the same fashion and replace the existing ones.

94 DD 57 08

however, this does not duplicate the delphi shield, it replaces it, keep this in mind

basically you could make the delphi shield into a fullguard from FE9 or do whatever you want with it

:o

oh right, blazer was the person who helped me with this

Edited by Kitty of Time
Link to comment
Share on other sites

Yes

There's a module called the CG editor in the nightmare modules package, that should have it

I'd get it for you but it's kind of a pain cuz I'm on my phone. Sorry D: it should give you the offset and format though and the UT might have additional doc on it, not sure XP

Link to comment
Share on other sites

  • 3 months later...
  • 2 weeks later...

I haven't seen this bit of FE8 trivia mentioned anywhere, so I thought I'd share it here:

At 0x8D1D10 (Unknown6 in Nightmare's CUE), there are all of the Creature Campaign characters one after the other, as well as the monsters that the final boss summons. The summon algorithm randomizes their levels when they spawn, but not their inventory.

Link to comment
Share on other sites

  • 1 month later...

Everything is for FE7 as usual

Random ASM'ish notes

0x0798FA - does something with event ID's being checked, 0x64, 0x65, etc.

0x029330 - loads ability byte

0x0AAEBC - Change 0x0B to 0xFF to make all songs in Sound Room be unlocked

0x09AEE4 - Change 0xEE to 0x00 to stop weird augury glitch

The "weird augury glitch" refers to using song 0xEE for custom music. Though it seems to be unused/empty if you use it it'll cause weird music errors during auguries when you replay them (say "Yes" to wanting to hear it again). I just used a debugger to find out what it was doing and changed the value to 0x00 since that is always empty (song 0x00/nothing) instead of moving my song 0xEE to another slot.

I also made some macros to do supports easier in TLP instead of doing it through Nightmare

http://pastebin.com/u9FLtKvv

p1 = "partner 1", i1 = "initial 1", g1 = "growth 1", see the Nightmare Module for some ideas on what those mean but that's the idea

SD = Support Data, it's one part of the supports, for the part where you setup the conversations ("SC"), you have character 1, character 2, and an index which if you look at the macro, calculates the text ID's for me instead of having me type them individually. Assuming you put support conversations next to each other (e.g. John x Bob's C, B, and A conversations are right after another, at 0x63, 0x64, 0x65) then just change the hexadecimal numbers that aren't 0x00 in the latter part of the macro ("WORD 0x60+(entry-1)*3 0x61+(entry-1)*3 0x62+(entry-1)*3 0x00"") to whatever bases you want. (Index 1 has text slots of 0x60, 0x61, 0x62, index 2 has text slots at 0x63, 0x64, 0x65, etc.)

Any questions let me know though I don't guarantee support and I kinda expect you have knowledge of EA so that you can use this (this was the entire script and as you can see it doesn't use typical EA format with #include EAstdlib.event and a pointer table at the beginning, it's just me using the awesomeness of Nintenlord's program to do things besides events for me and make it much easier/quicker to do so, and I used ORG to write the data to certain offsets, naturally you'll probably want to change those offsets).

Edited by Burning Gravity
Link to comment
Share on other sites

  • 2 months later...
- You can change the music in a battle by setting a custom event to a specified battle conversation and then making said event change the music immediately. You can use events pretty much freely in this, to be honest, but the # of things you can do in the actual battle animation are limited due to conflicting gameplay elements and whatnot. Still, if done right, it can be used to make some epic battles (I did it in some hacks of mine and it was super fun!).

Hi Blazer, I tried to do this like this:

MESSAGE Command to change music for battle quotes is at currentOffset

TearingShadowsMusic:
MUS2 TearingShadows
ENDA
ALIGN 4
But I don't think this is the way to do it? Can you provide a specific example on how to do this? (currentOffset was 12C97E0)
EDIT: Never mind, got it working. For those of you wondering, you need to set the convo text in Nightmare to 0x00 and run it as a TEX1 instead. Also make sure you use MUS1 and not MUS2--if you use MUS2 then you'll hear the original boss music for a little bit beforehand.
Edited by Agro
Link to comment
Share on other sites

Yeah they're mutually exclusive (I think that's the term), you can only have one or the other, you can't do a combination. Therefore if you need dialog as well you have to include it as part of the event. And I have no reason why you used MUS2 lol

Link to comment
Share on other sites

  • 4 weeks later...

Been digging around through Ch.19 (Dragon's Gate) and tinkering with the many effects that happen during the ending event. Here's what I've found so far:

First, a way to both start AND stop the rumbling effect.

#define StartRumble "_ASM0x3F 0x7AC99" // Note this is different from the rumble NL has in the EAstlib
#define EndRumble "ASMC 0x7AD2D"

Next is the glowing effect that's used on the Dragon's Gate itself when the dragon is about to be called:

#define TileGlow "_ASM0x3F 0x7B1E1"

This seems to be tied to the most recent tile change that has occured. When I destroyed a village and called this, the ruins began to glow O_o

TileGlow_zps0bc07c4c.png

Some more effects:

#define SpriteWhiteOut "_0x95 0x40 0x2 0x7FFF" // Whites out map sprites
#define SpriteBlackOut "_0x96 0x40 0x2 0x7FFF" // Blacks out map sprites

Examples:

SpriteWhiteOut_zpsb03c0190.pngSpriteBlackOut_zpsf52da340.png

And finally:

#define RedFlash1 "_0xE1; _0xE0 0xFFFFFFFF 0x20 0x180 0x802; _0xE0 0xFFFFFFFF 0x20 0x100 0x1004" 
// I.E. When Elbert stabs Nergal
#define RedFlash2 "_0xE0 0xFFFFFFFF 0x20 0x180 0x802; _0xE0 0xFFFFFFFF 0x20 0x100 0x1004; _0xE2"
// Doesn't seem any different from the first. 
// You can use the components individually too.
// _0xE0 0xFFFFFFFF 0x20 0x180 0x802 fades to red but you see outlines of map sprites still
// _0xE0 0xFFFFFFFF 0x20 0x100 0x1004 fades to black but you see outlines of map sprites still
// No idea what _0xE1 or _0xE2 do.

#define DarkenScreen "_0xE1; _0xE0 0xFFFFFFFF 0x4 0x80A0 0xA02" // Comes out looking like FADI stopped halfway

And that's it.

Link to comment
Share on other sites

those 0xE0/E1 codes or whatever can be used to change the screen of the color to various things. I don't remember the details but I think there should be some doc on it maybe in the EA... it's kinda confusing I always had a hard time trying to get the color I want >_<;

Link to comment
Share on other sites

Here's an obscure hacking tip

the number of people alive who know which ARM/Thumb opcodes can legitimately change the CPU state to and from Thumb mode are very few, and I am not one of them

Stick to B[L]X kids.

Link to comment
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.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...