Files
pmd-sky/include/main_0202BC44.h
cecilarmitais 78b52f9d63 Decomp five more leftover single-function asm files
Fifth cleanup sweep; five more asm files and their includes removed:

  asm/overlay_29_023491C4.s   IsOutlawOrChallengeRequestFloor
  asm/main_0202AAE8.s         sub_0202AAE8
  asm/main_0202BC60.s         sub_0202BC60
  asm/overlay_29_023261A0.s   DoMoveBubble
  asm/main_0205BCC4.s         sub_0205BCC4

sub_0202AAE8 and sub_0202BC60 are the same function over different window
states: check unk_0202AAA8::field_0x19C against a set, then set two flags, clear
field_0x1A4, call sub_0202830C with -5 and advance the state. Both write a byte
at 0x1A1 that the struct covered only as padding after field_0x1A0, so that gap
is now named field_0x1A1 with field_0x1A2[2] holding the remainder -- same total
size.

Three spellings that mattered:

- IsOutlawOrChallengeRequestFloor is three ORed predicates and only matches with
  each operand written `!= 0`; a plain || scores 300 and early returns 1300.
- DoMoveBubble returns whether damage was dealt, not whether the speed drop
  landed, so the result is funnelled through one variable which is also passed
  as LowerSpeed's stage count.
- sub_0205BCC4 must not hoist the destination pointer above its NULL check; a
  local shared by both branches scores 830, one declared inside the else branch
  matches.

Authored by Claude (Opus 5) under human direction. All five verified at score 0.
Confirmed by a matching build: build/pmdsky.us/pmdsky.us.nds: OK. None carries a
region conditional, so US alone is sufficient.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 19:52:00 -07:00

10 lines
164 B
C

#ifndef PMDSKY_MAIN_0202BC44_H
#define PMDSKY_MAIN_0202BC44_H
#include "util.h"
void CloseAdvancedMenu(s32 window_id);
bool8 sub_0202BC60(s32 window_id);
#endif