Skip to content

d_a_e_tk_ball Matching#2402

Merged
TakaRikka merged 3 commits intozeldaret:mainfrom
ItsNiklas:d_a_e_tk_ball
Apr 21, 2025
Merged

d_a_e_tk_ball Matching#2402
TakaRikka merged 3 commits intozeldaret:mainfrom
ItsNiklas:d_a_e_tk_ball

Conversation

@ItsNiklas
Copy link
Copy Markdown
Contributor

  • e_tk_ball_class
  • fopEn_enemy_c
  • 5.48 kB (0.04%)

There are a two weird switch statements, but I think they make sense given the beq, b pattern. I added two new inlines to the cCcD_ObjHitInf class based on these functions being called in the debug rom.

Also, there is no CutType for 0x00 in the respective enum, so I just left it the way it is. The e_id access is also a bit janky but whatever.

These projectiles are spat by Toadpoli enemies and come in two varieties: fire and water. Link can deflect the balls. When Link is locked on to the Toadpoli enemy while deflecting, the projectile will return to its sender. The ball also includes particle effects and sounds based on the type of Toadpoli that spat it.


Resolves #593.

@decomp-dev
Copy link
Copy Markdown

decomp-dev bot commented Apr 20, 2025

Report for GZ2E01 (9194774 - 2fd1542)

📈 Matched code: 57.08% (+0.25%, +28552 bytes)
📈 Linked code: 25.56% (+0.05%, +5484 bytes)

framework/d/d_msg_class | jmessage_tMeasureProcessor::do_rubyset(const void*, unsigned long) +20 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tSequenceProcessor::jmessage_tSequenceProcessor(const jmessage_tReference*, jmessage_tControl*) +31 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tSequenceProcessor::do_begin(const void*, const char*) +993 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tSequenceProcessor::do_end() +316 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tSequenceProcessor::do_isReady() +1121 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tSequenceProcessor::do_character(int) +444 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tSequenceProcessor::do_space(unsigned long) +280 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tSequenceProcessor::do_rubyset(const void*, unsigned long) +24 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tSequenceProcessor::messageSePlay(unsigned char, unsigned char, cXyz*) +209 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tSequenceProcessor::calcStringLength() +196 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tRenderingProcessor::jmessage_tRenderingProcessor(const jmessage_tReference*) +220 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tRenderingProcessor::do_begin(const void*, const char*) +521 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tRenderingProcessor::do_end() +196 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tRenderingProcessor::do_character(int) +1705 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tRenderingProcessor::do_tag(unsigned long, const void*, unsigned long) +2525 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tRenderingProcessor::do_widthcenter() +225 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tRenderingProcessor::do_selwidthcenter(int) +181 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tRenderingProcessor::do_heightcenter() +1200 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tRenderingProcessor::do_scale(float) +252 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tRenderingProcessor::do_transY(short, bool) +288 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tRenderingProcessor::do_outfont(unsigned char, unsigned long) +552 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tRenderingProcessor::do_arrow2() +441 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tRenderingProcessor::do_strcat(char*, bool, bool, bool) +580 bytes -> 100.00%
framework/d/d_msg_class | jmessage_tRenderingProcessor::do_rubyset(const void*, unsigned long) +28 bytes -> 100.00%
framework/d/d_msg_class | jmessage_string_tReference::~jmessage_string_tReference() +92 bytes -> 100.00%
framework/d/d_msg_class | jmessage_string_tMeasureProcessor::do_tag(unsigned long, const void*, unsigned long) +2969 bytes -> 100.00%
framework/d/d_msg_class | jmessage_string_tMeasureProcessor::do_rubyset(const void*, unsigned long) +121 bytes -> 100.00%
framework/d/d_msg_class | jmessage_string_tSequenceProcessor::jmessage_string_tSequenceProcessor(const jmessage_string_tReference*, jmessage_string_tControl*) +30 bytes -> 100.00%
framework/d/d_msg_class | jmessage_string_tRenderingProcessor::do_character(int) +965 bytes -> 100.00%
framework/d/d_msg_class | jmessage_string_tRenderingProcessor::do_tag(unsigned long, const void*, unsigned long) +3165 bytes -> 100.00%
...and 19 more items

hatal175
hatal175 previously approved these changes Apr 20, 2025
@hatal175 hatal175 dismissed their stale review April 20, 2025 19:14

Taka's comments

@ItsNiklas ItsNiklas requested a review from TakaRikka April 21, 2025 00:56
@TakaRikka TakaRikka merged commit 2e10e62 into zeldaret:main Apr 21, 2025
1 check passed
@ItsNiklas ItsNiklas deleted the d_a_e_tk_ball branch April 21, 2025 01:09
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.

d_a_e_tk_ball.cpp

3 participants