Huichelaar's Assembly Adventures

I’ve been using the latest version 11.1.3. When I tried to install the WMSprites I got the error that the command FILE wasn’t found if that helps you figure out what the issue could be

Are you sure it’s not referring to FILL? FSR newest EA doesn’t have FILL anymore. You’ll have to use an older version. I’ve been using this one. You’ll probably need Discord to open that link.

1 Like

It worked! Thank you so much man! Love your work btw, was looking for something exactly like it a couple months ago

New issue, after installing the game would crash whenever I would make a new save file

Could send me a .ups file of your game? FEBuilderGBA can generate one if you point it to a clean ROM.

1 Like

Post 100 be mine!

New patch added, Preparations Augury.

Details in OP.

2021-08-23_19-57-44
Now you can have Valter bother you while you prepare for something much less important.

12 Likes

When I was starting out with this series, I kinda appreciated what Hannah/Nils had to say. It’s nice that people can add this to their projects.

Small bugfix, details in main post under “Minimug palette fix”.
You know how when quickly switching from one character to another, the minimug uses the previous palette for one frame? This fixes that.


Left: vanilla. Right: fixed.

11 Likes

This MMB compatible? please say yes haha

Haven’t tested that. Feel free to volunteer. Otherwise, I’ll probably take a look later.

I put in my WIP hack with MMB and it worked just fine.

2 Likes

New eyecandyhack: SoundRoomBG.

2021-09-12_16-56-21

Wanna show off screenshots or promo material of the origins of your soundtracks? More details in the main post.

8 Likes

Why you make patch with the same name?

I think the implementation of hiding the UI with the L button in your patch is good.

Because I wasn’t aware there already was something that does the same thing :man_facepalming:. I have a tendency to unknowingly reinvent the wheel. Although I guess this version’s a little bit different.

I was reading your code with the intention of steal reference the implementation of the L button, but I found a slightly dangerous part, so I will report it.

ListenForL.asm

@ Display only BG3 when L is pressed.
@ Hooked at 0xAF8A4.
...
@ Vanilla overwritten stuff
add   r5, #0x37
mov   r0, #0x0
ldsb  r0, [r5, r0]

ldr   r1, =0x80AF8AD

Return:
pop   {r4-r7}
bx    r1
080AF8A0 B570   push {r4,r5,r6,lr}   //Procs SoundRoomUI CallASM
080AF8A2 1C04   mov r4 ,r0
080AF8A4 2600   mov r6, #0x0 <<< HOOK POINT
080AF8A6 3037   add r0, #0x37
080AF8A8 7800   ldrb r0, [r0, #0x0]
080AF8AA 0600   lsl r0 ,r0 ,#0x18
080AF8AC 1600   asr r0 ,r0 ,#0x18 <<back point
080AF8AE 2800   cmp r0, #0x0
080AF8B0 D170   bne #0x80af994

There are two problems.

The vanilla code initializes r6 to 0, but you haven’t done that.

You are back at 080AF8AC, but you should be back at 080AF8AE, which is one level below.
If you want to go back to 080AF8AC, you should add “lsl r0, r0, # 0x18” to the code return that also breaks.

Both of these problems are solved by replacing 080AF8AC asr r0, r0, #0x18 with mov r6, #0x0, which is what I did in the file that inserts the hook:

asm/asm.event:

...
  // Display only background if L is pressed.
  ORG 0xAF8A4
  jumpToHack(SBG_ListenForL)
  SHORT 0x2600
...

Note that opcode 0x2600 is mov r6, #0x0. In No$GBA it’ll look like this:

You didn’t bring this up, but just to avoid anyone getting confused at this, note that the alternative return in ListenForL.asm,

...
ldr   r1, =0x80AFA5D
b     Return
...

Doesn’t reach the new mov r6, #0x0 at 0x80AF8AC. This isn’t a problem because 80AFA5D is where the function ends and r6 is overwritten at that point:

1 Like

i see. I didn’t realize you were doing it outside of asm.

1 Like

I made it with reference to your L key implementation.

The features are the following three points.

  1. This patch doesn’t make procs, so it’s friendly to other patches and rebuild.
  2. You can use any key to return, not the L key.
    To rescue someone who accidentally enters this mode.
  3. It also supports Random Mode.
1 Like

Oh cool!

Just to clarify, my implementation does also allow you to display the UI again by pressing any button.

There’s another minor bug with the suspend x2 hack, if a player saves at the bottom save during a skirmish the chapter title is CH. 10: Revolt at Carcino, if they save at the top it says Prologue: The Fall of Renais instead of the chapter that the player is at.