Huichelaar's Assembly Adventures

What I am supposed to write for the chapter intro with the gems and the characters that run from left to rigth? Where’s the assembly code?

Most of the assembly can be found in the subfolders of the Procs subdirectory. Regarding the first question, have you read the README?

1 Like

Hey. I was wondering if you’ll ever make a V2 of the custom chapter intro? It looks really cool. Maybe it could be 10 gems instead of 6, but 5 on top, and 5 on the bottom. And do they have to all be gems? (Like, the same sprite with different pelettes?) Or can they be different objects/sprites each?

I’ll probably make a different custom chapter intro at some point for my personal project, but that’s likely to be it. Most stuff here is me seeing if I could implement something and sharing the results. Now that I know making a custom intro is something I can do, it’s not as enticing to make anymore.

4 Likes

Hey. Does the Augury/Tactics patch only call text and dialogue events? Or can it call more complex events? Like, say… giving an item to a unit, or other things.

Just text.

1 Like

Hypothetically speaking, if one were to make it so danger radius stays active during enemy phase, what problems would occur? I’d like to test it out with smaller maps.

IIRC the problem I got was that player units’ ranges were used instead of enemy ranges during enemy phase. This was when danger radius couldn’t be used to toggle for individual enemies, but displayed every enemy unit’s range. Idk what would happen now, feel free to try it out.

1 Like

Hi Huichelaar! Thank you for these wonderful mods. I had a question that hopefully isn’t too much trouble: whenever I apply both FogDR.event (1.2) and Suspendx2.event to the same ROM, I get a main menu crash. Are these two mods not compatible, or is there something I need to do in order to get them to work together?

I’m using EA 11.1.3 with the SCOORD command that you posted earlier, and my FE8 ROM’s SHA-1 is C25B145E37456171ADA4B0D440BF88A19F4D509F.

How are you applying these hacks to the rom?

  • FEBuilder InsertEA
  • Buildfiles
  • EventAssembler.exe

If EventAssembler.exe, you’d probably be writing to the same area, which would crash of course.

I don’t remember these two patches conflicting with one another. Like Vesly says, if you’re installing them sequentially using EA both times, then the (no-longer-free)space one hack occupies will be overwritten by the other. This would explain why the game would crash. The main menu is where Suspendx2 first hooks, so I’d reckon its code, written in freespace, was overwritten by FogDR’s code.

Assuming you haven’t yet, consider making a buildfile. You can put the FogDR and Suspendx2 directories in a new directory, create an EA file in the new directory which simply includes these two hacks. The file would look like this:

#include Suspendx2/Suspendx2.event
#include FogDR/FogDR.event

As both of the included files only #define FreeSpace if it’s not been defined yet, FogDR’s code will simply be concatenated to Suspendx2’s code, instead of overwriting it.

Lemme know if it worked out for you. GL!

Thank you for the help and the patience! I got it working :slight_smile:

1 Like

I have a question about the custom chapter intro. Do the gems have to all be the same graphic? Or can they be unique sprites? And is 6 the limit? Or can more be displayed? Say… 10?

The old version on dropbox might use different tiles for the gems not sure. The github version uses the same tile for each gem, which means they do all share the same graphic.

6 is not the limit, you can add more gems. There’s no user-friendly way of doing this, so you’ll have to go through the code. The gems are sprites, which means they fall under the 128-sprite limit. IIRC the only other sprites that are used during the custom chapter intro are moving map sprites. Unless you’re planning to have over a hundred moving map sprites on the screen at once you should be fine.

1 Like

In MinimugPalette, It is using the bottom 0x200 of the text buffer, which seems to be incompatible with the translation patch.
Using Soundroom buffer 0x201F148 solved the problem.
This is with FE8J, but maybe there is a similar problem with FE8U.

for FE8J

@ Buffers minimug tiles. Hooked at 0x5968.	@{U}
@                                  0x5870.	@{J}
.thumb

@ Functions
@.equ	UnLZ77Decompress,	0x8012F50|1		@{U}
.equ	UnLZ77Decompress,	0x8013008|1		@{J}
@.equ	RegisterTileGraphics,	0x8002014|1	@{U}
.equ	RegisterTileGraphics,	0x8001F64|1	@{J}

@Use sound room buffer
@.equ	MMP_Buffer,	0x201F148				@{U}
.equ	MMP_Buffer,	0x201F148				@{J}

push  {r4-r6, r14}


@ We're using non-scratch registers set by callee.
ldr   r0, [r4, #0x4]
ldr   r6, =MMP_Buffer
lsl   r6, #0x5
lsr   r6, #0x5
mov   r1, r6
ldr   r4, =UnLZ77Decompress
bl    GOTO_R4

mov   r0, r6
lsl   r1, r5, #0x5
ldr   r2, =0x6000000
add   r1, r2
ldr   r2, =0x200
ldr   r4, =RegisterTileGraphics
bl    GOTO_R4


pop   {r4-r6}
pop   {r0}
bx    r0
GOTO_R4:
bx    r4

0x201F148 is the same address for both FE8J and FE8U.
This is where the random mode song id, etc. in the sound room are stored.
After that, there is a 0x00 area that goes all the way to 0x00, which I am not sure what it is used for.
It doesn’t seem to matter if I use 0x200 bytes.

If you have a problem with this area, you might be able to use the Network arena area.

0203DB64 Link Arena {U}
0203DB60 Link Arena {J}

1 Like

Thanks for telling me. I’ve changed the default buffer area to 0x201F148. Hopefully this will also avoid future conflicts in other people’s projects.

1 Like

Do you know by any chance if there’s a patch similar to this but it instead loads a map?

I’m confused, what would be the similarity in that case?
There is now.

1 Like

Made a new patch. This one allows you to use CGs in 256-colour mode. More details in OP.

6 Likes

I figured out a way to make the lag of DangerRadius way less noticable when the game is opening the unit menu. By starting a proc that waits until the menu proc exists, it executes the code while allowing you to scroll through the menu. The only side effect is that the red squares that show up around you when hovering “Attack” take a few extra frames to load.

Both gifs are set to 1/4 speed:

Summary

mGBA_XRK9B2QcxQ

mGBA_0vpsQIhQbb

You can see my commit here.

image

That was the part that felt the laggiest, but you could probably start procs for other parts of it too if they feel laggy, though I’m not sure if it’ll cause issues by updating DR while post-battle things like range events etc. are running. Hope this helps.

7 Likes