Skip to content

Conversation

@aokennard
Copy link
Contributor

Hi

@SquareMan
Copy link
Member

Hi! Welcome! It looks like you changed some of the existing APIs a bit. That's usually a big redflag but at a glance the changes actually seem plausible. Unfortunately it looks like there's some existing callsites that need to be fixed up preventing the build from succeeding and generating our regression reports. Once you fix that one of us will be happy to fully review this.

@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@aokennard
Copy link
Contributor Author

Hi! Welcome! It looks like you changed some of the existing APIs a bit. That's usually a big redflag but at a glance the changes actually seem plausible. Unfortunately it looks like there's some existing callsites that need to be fixed up preventing the build from succeeding and generating our regression reports. Once you fix that one of us will be happy to fully review this.

Thanks! It turns out the actual implementation is a little weird, so I changed it to be accurate with what objdiff had - multiple push_front() usages, some with wrappers around the no-args implementation. Callsites in other files should be building now

@github-actions
Copy link

github-actions bot commented Feb 2, 2026

main/SB/Core/x/xSnd

Section From To Bytes
📈 .text 45.98% 46.04% +4
Function From To Bytes
📈 xSndStopFade(unsigned int, float) 0.00% 1.14% +4

main/SB/Game/zEntCruiseBubble

Section From To Bytes
📈 .text 75.07% 76.10% +399
Function From To Bytes
fixed_queue<cruise_bubble::@unnamed@zEntCruiseBubble_cpp@::missle_record_data, 127>::push_front(const cruise_bubble::@unnamed@zEntCruiseBubble_cpp@::missle_record_data&) 0.00% 100.00% +72
fixed_queue<cruise_bubble::@unnamed@zEntCruiseBubble_cpp@::missle_record_data, 127>::front() 0.00% 100.00% +48
fixed_queue<cruise_bubble::@unnamed@zEntCruiseBubble_cpp@::missle_record_data, 127>::iterator::operator*() const 0.00% 100.00% +24
fixed_queue<cruise_bubble::@unnamed@zEntCruiseBubble_cpp@::missle_record_data, 127>::begin() const 0.00% 100.00% +36
fixed_queue<cruise_bubble::@unnamed@zEntCruiseBubble_cpp@::missle_record_data, 127>::create_iterator(unsigned long) const 0.00% 100.00% +32
fixed_queue<cruise_bubble::@unnamed@zEntCruiseBubble_cpp@::missle_record_data, 127>::push_front() 0.00% 100.00% +20
fixed_queue<cruise_bubble::@unnamed@zEntCruiseBubble_cpp@::missle_record_data, 127>::reset() 0.00% 100.00% +32
fixed_queue<cruise_bubble::@unnamed@zEntCruiseBubble_cpp@::missle_record_data, 127>::clear() 0.00% 100.00% +16
fixed_queue<cruise_bubble::@unnamed@zEntCruiseBubble_cpp@::missle_record_data, 127>::pop_back() 0.00% 100.00% +20
fixed_queue<cruise_bubble::@unnamed@zEntCruiseBubble_cpp@::missle_record_data, 127>::full() const 0.00% 100.00% +76
fixed_queue<cruise_bubble::@unnamed@zEntCruiseBubble_cpp@::missle_record_data, 127>::max_size() const 0.00% 100.00% +8
📈 fixed_queue<cruise_bubble::@unnamed@zEntCruiseBubble_cpp@::missle_record_data, 127>::size() const 0.00% 63.83% +15

main/SB/Game/zTalkBox

Section From To Bytes
📈 .text 20.27% 22.19% +276
Function From To Bytes
fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::back() 0.00% 100.00% +68
fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::iterator::operator*() const 0.00% 100.00% +24
fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::iterator::operator-(int) const 0.00% 100.00% +60
📈 fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::iterator::operator-=(int) 0.00% 75.00% +36
📈 fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::iterator::operator+=(int) 0.00% 47.18% +20
fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::end() const 0.00% 100.00% +36
fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::create_iterator(unsigned long) const 0.00% 100.00% +32

main/SB/Game/zNPCTypePrawn

Section From To Bytes
.sdata2 66.45% 65.96% +/-0
📈 .text 29.36% 40.80% +2531
Function From To Bytes
aqua_beam::load(const aqua_beam::config&, RpAtomic&) 7.14% 100.00% +52
aqua_beam::reset() 95.24% 100.00% +3
aqua_beam::render() 3.23% 100.00% +120
📈 aqua_beam::emit_ring() 0.00% 23.14% +70
aqua_beam::kill_ring() 77.42% 100.00% +21
📈 @unnamed@zNPCTypePrawn_cpp@::television::create(int, int) 0.75% 96.25% +511
@unnamed@zNPCTypePrawn_cpp@::television::destroy() 2.27% 100.00% +172
zNPCPrawn::Damage(en_NPC_DAMAGE_TYPE, xBase*, const xVec3*) 0.00% 100.00% +108
zNPCPrawn::update_round() 29.98% 100.00% +120
📈 zNPCPrawn::decompose() 35.18% 83.16% +86
zNPCPrawn::make_spawner(int) 0.00% 100.00% +124
@unnamed@zNPCTypePrawn_cpp@::television::set_model_texture(xModelInstance&) 2.78% 100.00% +140
📈 @unnamed@zNPCTypePrawn_cpp@::television::update(xModelInstance&, xLightKit*) 1.33% 85.80% +253
zNPCPrawn::hide_model() 0.00% 100.00% +36
zNPCGoalPrawnBeam::update_aim(float) 76.92% 100.00% +11
zNPCGoalPrawnBeam::update_fire(float) 0.00% 100.00% +88
fixed_queue<aqua_beam::ring_segment, 31>::reset() 0.00% 100.00% +32
fixed_queue<aqua_beam::ring_segment, 31>::clear() 0.00% 100.00% +16
fixed_queue<aqua_beam::ring_segment, 31>::empty() const 0.00% 100.00% +24
fixed_queue<aqua_beam::ring_segment, 31>::iterator::operator!=(const fixed_queue<aqua_beam::ring_segment, 31>::iterator&) const 0.00% 100.00% +28
fixed_queue<aqua_beam::ring_segment, 31>::end() const 0.00% 100.00% +36
fixed_queue<aqua_beam::ring_segment, 31>::create_iterator(unsigned long) const 0.00% 100.00% +32
fixed_queue<aqua_beam::ring_segment, 31>::iterator::operator++() 0.00% 100.00% +52
📈 fixed_queue<aqua_beam::ring_segment, 31>::iterator::operator+=(int) 0.00% 98.17% +23
fixed_queue<aqua_beam::ring_segment, 31>::iterator::operator*() const 0.00% 100.00% +24
fixed_queue<aqua_beam::ring_segment, 31>::begin() const 0.00% 100.00% +36
fixed_queue<aqua_beam::ring_segment, 31>::back() 0.00% 100.00% +68
fixed_queue<aqua_beam::ring_segment, 31>::iterator::operator-(int) const 0.00% 100.00% +60
📈 fixed_queue<aqua_beam::ring_segment, 31>::iterator::operator-=(int) 0.00% 75.00% +36
fixed_queue<aqua_beam::ring_segment, 31>::push_front() 0.00% 100.00% +20
fixed_queue<aqua_beam::ring_segment, 31>::full() const 0.00% 100.00% +76
fixed_queue<aqua_beam::ring_segment, 31>::max_size() const 0.00% 100.00% +8
📈 fixed_queue<aqua_beam::ring_segment, 31>::size() const 0.00% 63.83% +15
fixed_queue<aqua_beam::ring_segment, 31>::pop_back() 0.00% 100.00% +20
📈 zNPCPrawn::turning() const 1.85% 2.59% +1
zNPCPrawn::IsAlive() 88.00% 100.00% +2

Copy link
Collaborator

@JoshSanch JoshSanch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good! I approved but left one bit of feedback in case we can increase the matchingness a little bit.

@JoshSanch JoshSanch merged commit b269e03 into bfbbdecomp:main Feb 2, 2026
5 checks passed
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.

3 participants