Skip to content

Match st_emblem.cpp - #140

Open
loserkidsblink wants to merge 1 commit into
doldecomp:mainfrom
loserkidsblink:decomp/castle-siege-controller
Open

loserkidsblink wants to merge 1 commit into
doldecomp:mainfrom
loserkidsblink:decomp/castle-siege-controller

Conversation

@loserkidsblink

@loserkidsblink loserkidsblink commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Includes the gmMeleeInitData header change from #161 since createObj uses it.

Header changes that affect BrawlHeaders users:

  • Stage::stageParamChange is bool stageParamChange(int sceneNum) (was void stageParamChange(), which has no valid mangled name). The asm returns 0/1 and passes the argument through to the virtual call, and passing m_scene_num is what completes updateScene.
  • gmMeleeInitData::m_gameMode is a u8 bitfield instead of GameMode.
  • m_playeMode/m_eventId are in a union with u8 m_eventFlags at 0x08 in the matching build only; the portable build keeps the two named bitfields.
  • stEmblem::unk744 is renamed m_lampEffectIndex.
  • create__8stEmblemFv is kept with force_active, same as st_crayon.

@decomp-dev

decomp-dev Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Report for RSBE01_02 (7074404 - 52d0522)

📈 Matched code: 1.77% (+0.04%, +6500 bytes)
📈 Linked code: 1.65% (+0.06%, +10156 bytes)
📈 Linked data: 16.07% (+0.03%, +1576 bytes)

✅ 5 new matches
Unit Item Bytes Before After
st_emblem/mo_stage/st_emblem/st_emblem stEmblem::updateScene01(float) +69 96.32% 100.00%
st_emblem/mo_stage/st_emblem/st_emblem stEmblem::createObj() +10 99.24% 100.00%
st_emblem/mo_stage/st_emblem/st_emblem stEmblem::updateScene00(float) +10 98.52% 100.00%
st_emblem/mo_stage/st_emblem/st_emblem stEmblem::updateScene(float) +1 99.98% 100.00%
st_emblem/mo_stage/st_emblem/st_emblem stEmblem::updateSE(float) +1 99.59% 100.00%

@loserkidsblink loserkidsblink changed the title Match Castle Siege scene effects and sound updates Match Castle Siege scene effects, sound, and object creation Oct 1, 2026
@loserkidsblink
loserkidsblink force-pushed the decomp/castle-siege-controller branch from 41317d4 to e4619a9 Compare October 10, 2026 18:55
@loserkidsblink loserkidsblink changed the title Match Castle Siege scene effects, sound, and object creation Match stEmblem::updateScene00, updateScene01, updateSE Oct 10, 2026
@loserkidsblink loserkidsblink changed the title Match stEmblem::updateScene00, updateScene01, updateSE Match stEmblem::updateScene00, updateScene01, updateSE and createObj Nov 8, 2026
@loserkidsblink
loserkidsblink force-pushed the decomp/castle-siege-controller branch from e4619a9 to b490919 Compare November 8, 2026 01:36
@loserkidsblink
loserkidsblink force-pushed the decomp/castle-siege-controller branch 3 times, most recently from 15eb6e3 to f36ccc5 Compare November 8, 2026 10:48
@loserkidsblink loserkidsblink changed the title Match stEmblem::updateScene00, updateScene01, updateSE and createObj Match st_emblem.cpp (stEmblem::updateScene, updateScene00, updateScene01, updateSE, createObj) Nov 8, 2026
…nd createObj

Stage::stageParamChange takes the scene number (int) and returns bool, per
its asm (li r3,1 / li r3,0; r4 is left untouched and forwarded to the
virtual call through this+0xA4). The BrawlHeaders-sourced mangled name
stageParamChange__5StageF had no parameter code, which no MWCC version can
emit; header, symbols.txt and RSBE01.lst are fixed together. Passing
m_scene_num is what puts the loop bound in r4 and completes updateScene.
st_emblem.rel now links byte-identical; create__8stEmblemFv is kept via
force_active like st_crayon.
@loserkidsblink
loserkidsblink force-pushed the decomp/castle-siege-controller branch from f36ccc5 to 52d0522 Compare November 8, 2026 12:51
@loserkidsblink loserkidsblink changed the title Match st_emblem.cpp (stEmblem::updateScene, updateScene00, updateScene01, updateSE, createObj) Match st_emblem.cpp Nov 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant