diff --git a/include/rnc/overlay/shared/camera/follow_camera_offset_effect_data.h b/include/rnc/overlay/shared/camera/follow_camera_offset_effect_data.h new file mode 100644 index 0000000000..5d93a4dc16 --- /dev/null +++ b/include/rnc/overlay/shared/camera/follow_camera_offset_effect_data.h @@ -0,0 +1,6 @@ +#ifndef LOMBYTE_RNC_OVERLAY_SHARED_CAMERA_FOLLOW_CAMERA_OFFSET_EFFECT_DATA_H +#define LOMBYTE_RNC_OVERLAY_SHARED_CAMERA_FOLLOW_CAMERA_OFFSET_EFFECT_DATA_H + +extern char camera_offset_effect_selection_gate[] __asm__("D_0013CA44"); + +#endif diff --git a/include/rnc/overlay/shared/ui/hud/draw_trick_combo_hud_data/hud_release_held_element.h b/include/rnc/overlay/shared/ui/hud/draw_trick_combo_hud_data/hud_release_held_element.h index 025acc183a..652f4006b9 100644 --- a/include/rnc/overlay/shared/ui/hud/draw_trick_combo_hud_data/hud_release_held_element.h +++ b/include/rnc/overlay/shared/ui/hud/draw_trick_combo_hud_data/hud_release_held_element.h @@ -7,4 +7,6 @@ * Keep its include at this declaration block: SN small-data ordering matters. */ extern int animation_parameter_target_id __asm__("D_L05_0015F980"); +extern short l05_hud_release_counter __asm__("D_L05_0015F978") __attribute__((sda)); + #endif /* LOMBYTE_RNC_OVERLAY_SHARED_UI_HUD_DRAW_TRICK_COMBO_HUD_DATA_HUD_RELEASE_HELD_ELEMENT_H */ diff --git a/src/audio/decoder/audio_dec_begin_put.c b/src/audio/decoder/audio_dec_begin_put.c index c0a8bee47f..b995540d65 100644 --- a/src/audio/decoder/audio_dec_begin_put.c +++ b/src/audio/decoder/audio_dec_begin_put.c @@ -6,10 +6,10 @@ void audio_dec_begin_put( void audio_dec_begin_put(struct AudioDec *dec, void **first_destination, - s32 *size1, + s32 *first_destination_byte_count, void **second_destination, - s32 *size2) { + s32 *second_destination_byte_count) { enum { AUDIO_DEC_STATE_HEADER_PENDING = 0 }; @@ -18,27 +18,27 @@ void audio_dec_begin_put(struct AudioDec *dec, if (dec->state == AUDIO_DEC_STATE_HEADER_PENDING) { if (dec->strType != 4) { *first_destination = ((u8 *)&dec->hdr + dec->hdrCount); - *size1 = 0x28 - dec->hdrCount; + *first_destination_byte_count = 0x28 - dec->hdrCount; *second_destination = dec->data; - *size2 = dec->size; + *second_destination_byte_count = dec->size; } else { *first_destination = dec->data; - *size1 = dec->size; + *first_destination_byte_count = dec->size; *second_destination = NULL; - *size2 = 0; + *second_destination_byte_count = 0; } } else { writable_byte_count = dec->size - dec->count; if ((dec->size - dec->put) >= writable_byte_count) { *first_destination = dec->data + dec->put; - *size1 = writable_byte_count; + *first_destination_byte_count = writable_byte_count; *second_destination = NULL; - *size2 = 0; + *second_destination_byte_count = 0; } else { *first_destination = dec->data + dec->put; - *size1 = dec->size - dec->put; + *first_destination_byte_count = dec->size - dec->put; *second_destination = dec->data; - *size2 = writable_byte_count - (dec->size - dec->put); + *second_destination_byte_count = writable_byte_count - (dec->size - dec->put); } } } diff --git a/src/audio/decoder/send_to_spu.c b/src/audio/decoder/send_to_spu.c index 3cc54d83e2..a6ed9580b8 100644 --- a/src/audio/decoder/send_to_spu.c +++ b/src/audio/decoder/send_to_spu.c @@ -13,7 +13,7 @@ void send_to_spu(struct AudioDec *dec, void send_to_spu(struct AudioDec *dec, s32 adpcm_source_address, - s32 size, + s32 transfer_byte_count, s32 staging_byte_offset) { u32 descriptor[4]; @@ -22,14 +22,14 @@ void send_to_spu(struct AudioDec *dec, FlushCache(0); descriptor[0] = adpcm_source_address; descriptor[1] = dec->iopBuff; - descriptor[2] = size; + descriptor[2] = transfer_byte_count; descriptor[3] = 0; do { dma_id = sceSifSetDma(descriptor, 1); } while (dma_id == 0); while (sceSifDmaStat(dma_id) >= 0) { } - snd_update_movie_adpcm(size, staging_byte_offset); + snd_update_movie_adpcm(transfer_byte_count, staging_byte_offset); } extern __typeof__(send_to_spu) func_0023AF18 __attribute__((alias("FUN_0023af18"))); diff --git a/src/audio/music/process_bgm_display_text_event.c b/src/audio/music/process_bgm_display_text_event.c index 09c3257c2d..45bb807143 100644 --- a/src/audio/music/process_bgm_display_text_event.c +++ b/src/audio/music/process_bgm_display_text_event.c @@ -34,7 +34,7 @@ void process_bgm_display_text_event(u64 color, f32 scale) { u8 *text_cursor; s32 i; - f32 size; + f32 glyph_quad_size; f32 top; f32 dx; f32 dy; @@ -45,7 +45,7 @@ void process_bgm_display_text_event(u64 color, if (font_window_active == 0) { font_palette_colors[0] = color; } - size = scale * 16.0f; + glyph_quad_size = scale * 16.0f; i = 0; if (byte_limit == 0 || *str == 0) { return; @@ -66,8 +66,8 @@ void process_bgm_display_text_event(u64 color, dy = convert_integer_to_float(additional_glyph->top) * scale; emit_textured_rectangle(x + dx, y + dy, - size, - size, + glyph_quad_size, + glyph_quad_size, additional_glyph->u, additional_glyph->v, 16, @@ -94,8 +94,8 @@ void process_bgm_display_text_event(u64 color, } else if (*text_cursor > 0x20) { emit_textured_rectangle(x, y + top, - size, - size, + glyph_quad_size, + glyph_quad_size, glyph_table[*text_cursor].u, glyph_table[*text_cursor].v, 16, diff --git a/src/audio/rpc/snd_send_iop_command_and_wait.c b/src/audio/rpc/snd_send_iop_command_and_wait.c index 6b816ffc20..663df2767f 100644 --- a/src/audio/rpc/snd_send_iop_command_and_wait.c +++ b/src/audio/rpc/snd_send_iop_command_and_wait.c @@ -17,11 +17,11 @@ s32 snd_send_iop_command_and_wait(s32 cmd, s32 size, u8 *data) __asm__(" extern s32 snd_batches_held __asm__("D_0015ECC4") __attribute__((sda)); -s32 snd_send_iop_command_and_wait(s32 cmd, s32 size, u8 *command_payload) { +s32 snd_send_iop_command_and_wait(s32 cmd, s32 payload_byte_count, u8 *command_payload) { s32 i; s32 iop_command_result; - for (i = 0; i < size; i++) { + for (i = 0; i < payload_byte_count; i++) { snd_sync_send_buffer[i] = command_payload[i]; } goto check; @@ -36,9 +36,16 @@ s32 snd_send_iop_command_and_wait(s32 cmd, s32 size, u8 *command_payload) { snd_flush_sound_commands(); FlushCache(0); } - if (size != 0) { - sceSifCallRpc( - sound_command_client, cmd, 1, snd_sync_send_buffer, size, snd_sync_buffer, 0xC, 0, 0); + if (payload_byte_count != 0) { + sceSifCallRpc(sound_command_client, + cmd, + 1, + snd_sync_send_buffer, + payload_byte_count, + snd_sync_buffer, + 0xC, + 0, + 0); } else { sceSifCallRpc(sound_command_client, cmd, 1, 0, 0, snd_sync_buffer, 0xC, 0, 0); } diff --git a/src/audio/rpc/snd_send_iop_command_no_wait.c b/src/audio/rpc/snd_send_iop_command_no_wait.c index 970c2c6312..b3b6d20ee7 100644 --- a/src/audio/rpc/snd_send_iop_command_no_wait.c +++ b/src/audio/rpc/snd_send_iop_command_no_wait.c @@ -25,7 +25,7 @@ void snd_send_iop_command_no_wait(s32 cmd, s32 size, u8 *data, s32 cb, s64 cb_da extern s32 snd_batches_held __asm__("D_0015ECC4") __attribute__((sda)); -void snd_send_iop_command_no_wait(s32 cmd, s32 size, u8 *data, s32 cb, s64 cb_data) { +void snd_send_iop_command_no_wait(s32 cmd, s32 payload_byte_count, u8 *data, s32 cb, s64 cb_data) { s32 need; s32 tries; s32 held; @@ -33,7 +33,7 @@ void snd_send_iop_command_no_wait(s32 cmd, s32 size, u8 *data, s32 cb, s64 cb_da u8 *command_write_cursor; held = 0; - if (snd_batches_held == 0 && snd_current_buffer == 0 && size == 0 && cb == 0) { + if (snd_batches_held == 0 && snd_current_buffer == 0 && payload_byte_count == 0 && cb == 0) { snd_prepare_return_buffer(snd_sync_buffer, 1); while (SceSifCheckStatRpc(sound_command_client) != 0) { Printf(snd_non_idle_error_string); @@ -43,7 +43,7 @@ void snd_send_iop_command_no_wait(s32 cmd, s32 size, u8 *data, s32 cb, s64 cb_da sceSifCallRpc(sound_command_client, cmd, 1, 0, 0, snd_sync_buffer, 0xC, 0, 0); return; } - need = size + 4; + need = payload_byte_count + 4; tries = 0; if (need % 4 != 0) { need += 4 - need % 4; @@ -73,9 +73,9 @@ void snd_send_iop_command_no_wait(s32 cmd, s32 size, u8 *data, s32 cb, s64 cb_da (snd_batch_free_bytes[snd_batch_index] - 0x1000); *(s16 *)command_write_cursor = cmd; command_write_cursor += 2; - *(s16 *)command_write_cursor = size; + *(s16 *)command_write_cursor = payload_byte_count; command_write_cursor += 2; - for (i = 0; i < size; i++) { + for (i = 0; i < payload_byte_count; i++) { command_write_cursor[i] = data[i]; } snd_batch_free_bytes[snd_batch_index] -= need; diff --git a/src/audio/streaming/vag/snd_play_vag_stream_by_loc_ex_cb.c b/src/audio/streaming/vag/snd_play_vag_stream_by_loc_ex_cb.c index 8b4fc95431..4cdbc6b93a 100644 --- a/src/audio/streaming/vag/snd_play_vag_stream_by_loc_ex_cb.c +++ b/src/audio/streaming/vag/snd_play_vag_stream_by_loc_ex_cb.c @@ -20,7 +20,7 @@ void snd_play_vag_stream_by_loc_ex_cb(s32 loc, u64 cb_data) __asm__("FUN_0012ec08"); void snd_play_vag_stream_by_loc_ex_cb(s32 loc, - s32 size, + s32 request_word_1, s32 vol_l, s32 vol_r, s32 pitch, @@ -28,20 +28,20 @@ void snd_play_vag_stream_by_loc_ex_cb(s32 loc, s32 voice, s32 channel, s32 request_word_6, - s32 id, + s32 callback_address, u64 cb_data) { int new_var; s32 playback_request_payload[7]; new_var = (pitch << 16) | (vol_l & 0xFFFF); playback_request_payload[0] = loc; - playback_request_payload[1] = size; + playback_request_payload[1] = request_word_1; playback_request_payload[2] = new_var; playback_request_payload[3] = (flags << 16) | (vol_r & 0xFFFF); playback_request_payload[4] = voice; playback_request_payload[5] = channel; playback_request_payload[6] = request_word_6; - snd_send_iop_command_no_wait(0x2C, 0x1C, playback_request_payload, id, cb_data); + snd_send_iop_command_no_wait(0x2C, 0x1C, playback_request_payload, callback_address, cb_data); } extern __typeof__(snd_play_vag_stream_by_loc_ex_cb) func_0012EC08 diff --git a/src/audio/voices/allocate_voice_for_bank_entry.c b/src/audio/voices/allocate_voice_for_bank_entry.c index 108f52afaf..4f63552061 100644 --- a/src/audio/voices/allocate_voice_for_bank_entry.c +++ b/src/audio/voices/allocate_voice_for_bank_entry.c @@ -14,14 +14,15 @@ struct VoiceBankEntryWindow { extern s32 allocate_voice_slot(u8 *, s32, s32, s32, s32) __asm__("func_0022D7F0"); s32 allocate_voice_for_bank_entry(s32 entry_index, s32 flags, s32 owner) __asm__("FUN_0022db10"); -s32 allocate_voice_for_bank_entry(s32 entry_index, s32 flags, s32 owner) { +s32 allocate_voice_for_bank_entry(s32 entry_index, s32 voice_control_flags, s32 owner) { s32 slot_index; struct VoiceBankEntryWindow *slot; if (entry_index >= D_0015F5B4) { return -1; } - slot_index = allocate_voice_slot(level_sound_defs + (entry_index << 5), flags, owner, 0, 0x400); + slot_index = allocate_voice_slot( + level_sound_defs + (entry_index << 5), voice_control_flags, owner, 0, 0x400); if (slot_index >= 0) { slot = (struct VoiceBankEntryWindow *)(((u8 *)&voice_pool) + slot_index * 0x70); slot->owner = owner; diff --git a/src/audio/voices/allocate_voice_for_group_entry.c b/src/audio/voices/allocate_voice_for_group_entry.c index 2d277379b3..7ae77f67c6 100644 --- a/src/audio/voices/allocate_voice_for_group_entry.c +++ b/src/audio/voices/allocate_voice_for_group_entry.c @@ -17,7 +17,7 @@ s32 allocate_voice_for_group_entry(s32 group_entry_index, s32 flags, s32 owner) __asm__("FUN_0022dba0"); -s32 allocate_voice_for_group_entry(s32 group_entry_index, s32 flags, s32 owner) { +s32 allocate_voice_for_group_entry(s32 group_entry_index, s32 playback_flags, s32 owner) { s32 entry_index; s32 slot_index; struct VoiceGroupEntryWindow *slot; @@ -26,7 +26,8 @@ s32 allocate_voice_for_group_entry(s32 group_entry_index, s32 flags, s32 owner) if (entry_index >= level_sound_def_count) { return -1; } - slot_index = allocate_voice_slot(level_sound_defs + (entry_index << 5), flags, owner, 0, 0x400); + slot_index = + allocate_voice_slot(level_sound_defs + (entry_index << 5), playback_flags, owner, 0, 0x400); if (slot_index >= 0) { slot = (struct VoiceGroupEntryWindow *)(slot_index * 0x70 + ((u8 *)&voice_pool)); slot->owner = owner; diff --git a/src/audio/voices/allocate_voice_for_target_entry.c b/src/audio/voices/allocate_voice_for_target_entry.c index 82ee2d654d..f5ea93432a 100644 --- a/src/audio/voices/allocate_voice_for_target_entry.c +++ b/src/audio/voices/allocate_voice_for_target_entry.c @@ -33,7 +33,10 @@ s32 allocate_voice_for_target_entry(s32 entry_index, /* Queue a class sound entry for a moby; return its pool index or -1. * The caller supplies a nonnegative entry index: retail only checks the * upper bound. This does not allocate a hardware voice or play immediately. */ -s32 allocate_voice_for_target_entry(s32 entry_index, s32 flags, struct MobyAudioView *moby) { +s32 allocate_voice_for_target_entry(s32 entry_index, + s32 voice_slot_flags, + + struct MobyAudioView *moby) { struct MobyClassAudioView *pclass; s32 slot_index; s32 sound_defs; @@ -53,7 +56,8 @@ s32 allocate_voice_for_target_entry(s32 entry_index, s32 flags, struct MobyAudio if (entry_index >= (s32)pclass->sound_def_count) { return -1; } - slot_index = allocate_voice_slot(sound_defs + (entry_index << 5), flags, moby, 0, 0x400); + slot_index = + allocate_voice_slot(sound_defs + (entry_index << 5), voice_slot_flags, moby, 0, 0x400); if (slot_index >= 0) { slot = (struct VoiceMobyEntryWindow *)((slot_index * 0x70) + (s32)((u8 *)&voice_pool)); slot->owner = moby; diff --git a/src/audio/voices/pause_all_sounds.c b/src/audio/voices/pause_all_sounds.c index 01a442f8ce..ff13ec6b16 100644 --- a/src/audio/voices/pause_all_sounds.c +++ b/src/audio/voices/pause_all_sounds.c @@ -36,11 +36,11 @@ extern s32 extern void update_skill_point_and_gold_weapon_menu_entries() __asm__("func_00226E58"); -void pause_all_sounds(s32 mode) __asm__("FUN_00218d78"); +void pause_all_sounds(s32 menu_state) __asm__("FUN_00218d78"); extern s32 game_mode_macro __asm__("D_0015F604") MACRO_ADDR; -void pause_all_sounds(s32 mode) { +void pause_all_sounds(s32 menu_state) { struct MenuSystem *g; snd_pause_all_sounds_in_group(0x1D); music_pause(0); @@ -68,7 +68,7 @@ void pause_all_sounds(s32 mode) { { struct MenuSystem *g = &menu_system; struct MenuTextListScreen *head = &pause_menu_chain_head; - g->sequence_autoclose = mode == 0x23; + g->sequence_autoclose = menu_state == 0x23; head->list.up = g->goodies_tab_shown ? (struct MenuScreen *)&pause_goodies_tab : (struct MenuScreen *)&pause_menu_chain_tail; } @@ -81,7 +81,7 @@ void pause_all_sounds(s32 mode) { { struct MenuSystem *g = &menu_system; game_mode_macro = 3; - g->state = mode; + g->state = menu_state; g->close_request = 0; g->graphics_workspace = 0; g->update_count = 0; diff --git a/src/audio/voices/sound_update.c b/src/audio/voices/sound_update.c index c72f174ecc..d8783c699f 100644 --- a/src/audio/voices/sound_update.c +++ b/src/audio/voices/sound_update.c @@ -277,8 +277,9 @@ s32 sound_update(void) { { /* Fakematch: the byte index in a local keeps the copy's start address as (index + base) + 1, unflattened as retail's loop pass emits it. */ - s32 offset = slot_index * (s32)sizeof(VoiceSlot) + 0xB4; - s32 index = history_offset + offset; + s32 occlusion_history_pool_offset = + slot_index * (s32)sizeof(VoiceSlot) + 0xB4; + s32 index = history_offset + occlusion_history_pool_offset; for (repeat_index = 1; repeat_index < 6; repeat_index++) { ((u8 *)&voice_pool)[index + repeat_index] = voice_pool.voices[slot_index].occlusion_history[history_offset]; diff --git a/src/camera/sample_camera_path.c b/src/camera/sample_camera_path.c index ab1075d849..fe35554df6 100644 --- a/src/camera/sample_camera_path.c +++ b/src/camera/sample_camera_path.c @@ -25,7 +25,13 @@ void sample_camera_path(struct CameraPath *path, void sample_camera_path( - struct CameraPath *path, s32 loop, void *position, f32 *rotation, s32 flags, f32 progress) { + struct CameraPath *path, + s32 loop, + void *position, + f32 *rotation, + s32 rotation_output_flags, + + f32 progress) { Vec4 current_point; Vec4 next_point; Vec4 following_point; @@ -68,7 +74,7 @@ void sample_camera_path( qcopy(¤t_point.q, &path->points[point_index]); qcopy(&next_point.q, &path->points[next_index]); lerp_vector(position, ¤t_point, &next_point, fraction); - if (!(flags & 1)) { + if (!(rotation_output_flags & 1)) { fast_vec_sub(&segment, &next_point, ¤t_point); heading = fast_arc_tan(segment.f[0], segment.f[1]); pitch = fast_arc_tan(vector_length_xy(&segment), segment.f[2]); diff --git a/src/game/dispatch_game_state_update.c b/src/game/dispatch_game_state_update.c index b29e5923f0..51bc85672e 100644 --- a/src/game/dispatch_game_state_update.c +++ b/src/game/dispatch_game_state_update.c @@ -14,16 +14,16 @@ void dispatch_game_state_update(void) { enum { LEVEL_FRAME_RENDER = 4 }; - s32 state; + s32 render_dispatch_state; if (space_load_in_progress != 0) { return; } - state = ship_substate[0]; - if ((u32)state >= 9U) { + render_dispatch_state = ship_substate[0]; + if ((u32)render_dispatch_state >= 9U) { return; } - switch (state) { + switch (render_dispatch_state) { case 0: case 8: prepare_debug_profiler_render(); diff --git a/src/game/load_level_zero_preserving_progress.c b/src/game/load_level_zero_preserving_progress.c index 062e46c237..dd9230c4ce 100644 --- a/src/game/load_level_zero_preserving_progress.c +++ b/src/game/load_level_zero_preserving_progress.c @@ -49,7 +49,7 @@ void load_level_zero_preserving_progress(s32 slot) __asm__("FUN_00226b08"); void load_level_zero_preserving_progress(s32 slot) { s32 saved; - u32 count; + u32 saved_alternate_animation_sequence; u8 flag4; u8 flag5; s32 *items = (s32 *)0x70000150; @@ -65,7 +65,7 @@ void load_level_zero_preserving_progress(s32 slot) { copy_memory_aligned((void *)0x70000170, D_0015EDD0_macro, 0xC); copy_memory_aligned((void *)0x70000180, item_unlocked, 0x20); saved = current_bolt_count; - count = alternate_animation_sequence; + saved_alternate_animation_sequence = alternate_animation_sequence; flag4 = alternate_item_available[4] != 0; flag5 = alternate_item_available[5] != 0; bytes = (u8 *)0x70000030; @@ -92,7 +92,7 @@ void load_level_zero_preserving_progress(s32 slot) { alternate_item_available[5] = 1; hero_max_health = 8; } - alternate_animation_sequence = count + 1; + alternate_animation_sequence = saved_alternate_animation_sequence + 1; D_0015EE1C = 0; D_0015EE1D = 0; sceCdReadClock(D_0015EE98); diff --git a/src/game/missions/collect_mission_ids.c b/src/game/missions/collect_mission_ids.c index 76daaaede8..a22ce09db1 100644 --- a/src/game/missions/collect_mission_ids.c +++ b/src/game/missions/collect_mission_ids.c @@ -20,7 +20,7 @@ int collect_mission_ids(int *mission_ids, int *mask, int *nums, int use_selected MISSION_STATUS_ALL_CONDITIONS_MET = 2 }; MissionNode *mission_node_cursor = mission_id_collection_node_source[0]; - int count = 0; + int collected_mission_count = 0; int all = 1; *mission_ids = 0; @@ -41,27 +41,27 @@ int collect_mission_ids(int *mission_ids, int *mask, int *nums, int use_selected all = 0; } if (!(f & 2) && t != 0 && !((f & 1) && t == 2)) { - mission_ids[count] = mission_node_cursor->id; + mission_ids[collected_mission_count] = mission_node_cursor->id; if (use_selected_ids != 0) { - mission_ids[count] = + mission_ids[collected_mission_count] = (mission_node_cursor->status == MISSION_STATUS_ALL_CONDITIONS_MET) ? 0x523E : mission_node_cursor->ids[mission_node_cursor->sel]; } if (mask != 0 && mission_node_cursor->status == MISSION_STATUS_ALL_CONDITIONS_MET) { - *mask |= 1 << count; + *mask |= 1 << collected_mission_count; } if (nums != 0) { *nums++ = mission_node_cursor->base + mission_node_cursor->sel; } - count++; + collected_mission_count++; } mission_node_cursor++; } if (mask != 0 && all != 0) { *mask |= 0x80000000; } - return count; + return collected_mission_count; } extern __typeof__(collect_mission_ids) func_0020BC00 __attribute__((alias("FUN_0020bc00"))); diff --git a/src/game/mode_freeze_init.c b/src/game/mode_freeze_init.c index a4eb069fae..c453797eca 100644 --- a/src/game/mode_freeze_init.c +++ b/src/game/mode_freeze_init.c @@ -10,7 +10,7 @@ extern s32 push_help_history() __asm__("func_001FED30"); void mode_freeze_init(u32 mode, s32 freeze_context) __asm__("FUN_001fbab8"); -void mode_freeze_init(u32 mode, s32 freeze_context) { +void mode_freeze_init(u32 initial_state, s32 freeze_context) { enum { FREEZE_CONTROL_MODE_16_PAUSE = 0, FREEZE_HERO_STATE_32_PAUSE = 1, @@ -31,8 +31,8 @@ void mode_freeze_init(u32 mode, s32 freeze_context) { freeze.return_game_mode = game_mode; freeze.context = freeze_context; game_mode = GAME_MODE_FREEZE; - freeze.state = mode; - switch (mode) { + freeze.state = initial_state; + switch (initial_state) { case FREEZE_CONTROL_MODE_16_PAUSE: freeze_state = &freeze; freeze_state->title = (char *)get_help_message_text(0x4F6E); diff --git a/src/game/transitions/transition_load_wad.c b/src/game/transitions/transition_load_wad.c index 56b6eb70d5..fbed55a42c 100644 --- a/src/game/transitions/transition_load_wad.c +++ b/src/game/transitions/transition_load_wad.c @@ -76,7 +76,7 @@ typedef struct { s32 x4; s32 pad8[2]; u8 x10[0x10]; - u8 x20[0x10]; + u8 mip_texture_definition[0x10]; } WadClass30; typedef struct { @@ -276,7 +276,7 @@ void transition_load_wad(void) { register_shrub_render_class(data + shrub_class_entry->offset, ((u8 *)hdr) + hdr->x4C, shrub_class_entry->x10, - shrub_class_entry->x20, + shrub_class_entry->mip_texture_definition, shrub_class_entry->x4); shrub_class_entry++; } diff --git a/src/input/actuator_calc_power.c b/src/input/actuator_calc_power.c index 75a86672b1..b5b94d0b74 100644 --- a/src/input/actuator_calc_power.c +++ b/src/input/actuator_calc_power.c @@ -19,9 +19,9 @@ s32 actuator_calc_power(s32 *output_power) { s32 *power_wave_counts; s32 *scale_wave_counts; s32 i; - s32 count; + s32 active_wave_count; - count = 0; + active_wave_count = 0; scale_wave_counts = aa[1]; power_wave_counts = aa[2]; for (i = 0; i < 2; i++) { @@ -40,7 +40,7 @@ s32 actuator_calc_power(s32 *output_power) { continue; } wave_entry = &actuator_wave[i]; - count++; + active_wave_count++; wave_countdown = actuator_wave[i].f06; actuator_wave[i].f06 = wave_countdown - 1; if ((s16)wave_countdown <= 0) { @@ -130,7 +130,7 @@ s32 actuator_calc_power(s32 *output_power) { output_power[i] = (output_power[i] * aa[0][i]) / 255; } } - return count; + return active_wave_count; } extern __typeof__(actuator_calc_power) func_001E8D08 __attribute__((alias("FUN_001e8d08"))); diff --git a/src/math/normalize_vector_triplet.c b/src/math/normalize_vector_triplet.c index 70bb48be0f..9d66531d78 100644 --- a/src/math/normalize_vector_triplet.c +++ b/src/math/normalize_vector_triplet.c @@ -15,38 +15,38 @@ void normalize_vector_triplet(f32 *matrix) { f32 *component_read_cursor; f32 *component_write_cursor; f32 vector_component; - s32 offset; + s32 row_byte_offset; s32 i; s32 next_row_index; - s32 count; + s32 component_countdown; matrix_base = matrix; i = 0; do { next_row_index = i + 1; - offset = i * 4; + row_byte_offset = i * 4; row_vector.pad = 0; component_write_cursor = row_vector.values; - component_read_cursor = (f32 *)((u8 *)matrix_base + offset); - count = 2; + component_read_cursor = (f32 *)((u8 *)matrix_base + row_byte_offset); + component_countdown = 2; do { vector_component = *component_read_cursor; - count--; + component_countdown--; component_read_cursor += 4; *component_write_cursor = vector_component; component_write_cursor++; - } while (count >= 0); + } while (component_countdown >= 0); fast_vec_normalize(row_vector.values, row_vector.values, 1.0f); - component_write_cursor = (f32 *)((u8 *)matrix_base + offset); + component_write_cursor = (f32 *)((u8 *)matrix_base + row_byte_offset); component_read_cursor = row_vector.values; - count = 2; + component_countdown = 2; do { vector_component = *component_read_cursor; - count--; + component_countdown--; component_read_cursor++; *component_write_cursor = vector_component; component_write_cursor += 4; - } while (count >= 0); + } while (component_countdown >= 0); i = next_row_index; } while (i < 3); } diff --git a/src/math/round_float_to_decimal_places.c b/src/math/round_float_to_decimal_places.c index 88d167b71e..eecf0816fb 100644 --- a/src/math/round_float_to_decimal_places.c +++ b/src/math/round_float_to_decimal_places.c @@ -4,18 +4,18 @@ f32 round_float_to_decimal_places(s32 decimal_places, f32 input_value) __asm__("FUN_00214c48"); f32 round_float_to_decimal_places(s32 decimal_places, f32 input_value) { - s32 count; + s32 remaining_decimal_places; s32 decimal_scale_factor; f32 scale; f32 half; - count = decimal_places; + remaining_decimal_places = decimal_places; decimal_scale_factor = 1; - if (count > 0) { + if (remaining_decimal_places > 0) { do { - count--; + remaining_decimal_places--; decimal_scale_factor *= 10; - } while (count != 0); + } while (remaining_decimal_places != 0); } scale = (f32)decimal_scale_factor; half = 1.0f / (2.0f * scale); diff --git a/src/mobys/animation/blend_moby_animation_ex.c b/src/mobys/animation/blend_moby_animation_ex.c index 0ec832cc7b..4e0eccdefb 100644 --- a/src/mobys/animation/blend_moby_animation_ex.c +++ b/src/mobys/animation/blend_moby_animation_ex.c @@ -30,15 +30,15 @@ void blend_moby_animation_ex( MobyAnim *moby, int new_seq, int frame_index, int blend_frames, int options) { int slot; - int flags; + int pose_slot_and_flags; unsigned char oldSeq; float scale; if (moby->anim_time > 0.025f || moby->pose_layers != 0 || moby->manips != 0 || (options & 4)) { slot = find_or_allocate_moby_render_slot((int)moby); if (slot >= 0) { - flags = (options & 1) ? (slot | 0x100) : slot; - FUN_0020ede8(moby, (options & 2) ? (flags | 0x200) : flags); + pose_slot_and_flags = (options & 1) ? (slot | 0x100) : slot; + FUN_0020ede8(moby, (options & 2) ? (pose_slot_and_flags | 0x200) : pose_slot_and_flags); qcopy(D_001B2C00 + slot * 0x10, moby->unkF0); oldSeq = moby->seq; if (oldSeq != 0xFF) { diff --git a/src/mobys/animation/queue_animation_update.c b/src/mobys/animation/queue_animation_update.c index 0c219100fe..5bbc2a6cee 100644 --- a/src/mobys/animation/queue_animation_update.c +++ b/src/mobys/animation/queue_animation_update.c @@ -28,7 +28,7 @@ extern void apply_pending_animation(struct Anim *) __asm__("func_001FF418 s32 queue_animation_update(s32 chan, s32 id, s32 fn, s32 d, s32 e, s32 c, s32 b) __asm__("FUN_001ff308"); s32 queue_animation_update(s32 chan, - s32 id, + s32 queued_animation_id, s32 fn, s32 animation_callback, s32 queued_animation_callback, @@ -36,27 +36,28 @@ s32 queue_animation_update(s32 chan, s32 queued_animation_value) { s32 slot = chan & 0xF; - s32 mode = chan & 0xFFF0; + s32 channel_flags = chan & 0xFFF0; struct Anim *anim = &hud_chan_slots[slot]; if (game_mode == 5 && slot != 2 && slot != 0) { return 0; } if (anim->next_c != animation_context || anim->next_b != queued_animation_value || - anim->next_id != id || anim->next_mode != mode || anim->next_fn != fn || - anim->next_d != animation_callback || anim->next_e != queued_animation_callback) { + anim->next_id != queued_animation_id || anim->next_mode != channel_flags || + anim->next_fn != fn || anim->next_d != animation_callback || + anim->next_e != queued_animation_callback) { anim->next_c = animation_context; anim->serial = hud_state.serial++; anim->next_b = queued_animation_value; - anim->next_id = id; + anim->next_id = queued_animation_id; anim->next_fn = fn; anim->next_d = animation_callback; anim->next_e = queued_animation_callback; anim->pending = 1; - anim->next_mode = mode; + anim->next_mode = channel_flags; anim->visible_timer = 0; anim->counter_digits = 0; - if (mode & anim->flags & 0x20) { + if (channel_flags & anim->flags & 0x20) { apply_pending_animation(anim); } } diff --git a/src/mobys/assign_moby_class_data.c b/src/mobys/assign_moby_class_data.c index 04bcb61f28..1dcf2d5e19 100644 --- a/src/mobys/assign_moby_class_data.c +++ b/src/mobys/assign_moby_class_data.c @@ -11,12 +11,13 @@ extern struct MobyClassUpdate resident_class_defaults[] __asm__("D_001E8B80"); void assign_moby_class_data(s32 id) __asm__("FUN_00212d68"); -void assign_moby_class_data(s32 id) { +void assign_moby_class_data(s32 class_id) { struct Obj *class_resource; s32 i; class_resource = moby_class_resources[D_0015FF00]; - for (i = 0; resident_class_defaults[i].oclass != -1 && resident_class_defaults[i].oclass != id; + for (i = 0; + resident_class_defaults[i].oclass != -1 && resident_class_defaults[i].oclass != class_id; i++) { } moby_class_updates[D_0015FF00] = (s32)resident_class_defaults[i].update; diff --git a/src/mobys/find_or_allocate_moby_render_slot.c b/src/mobys/find_or_allocate_moby_render_slot.c index de342588ae..9dd1a97f70 100644 --- a/src/mobys/find_or_allocate_moby_render_slot.c +++ b/src/mobys/find_or_allocate_moby_render_slot.c @@ -4,12 +4,12 @@ s32 find_or_allocate_moby_render_slot(s32 id) __asm__("FUN_0020cc18"); -s32 find_or_allocate_moby_render_slot(s32 id) { +s32 find_or_allocate_moby_render_slot(s32 resident_object) { s32 i; for (i = 0; i < 16; i++) { - if (moby_render_slots[i] == 0 || moby_render_slots[i] == id) { - moby_render_slots[i] = id; + if (moby_render_slots[i] == 0 || moby_render_slots[i] == resident_object) { + moby_render_slots[i] = resident_object; return i; } } diff --git a/src/mobys/resolve_moby_hit_response.c b/src/mobys/resolve_moby_hit_response.c index 4ec6e555d6..bf08f0e0a4 100644 --- a/src/mobys/resolve_moby_hit_response.c +++ b/src/mobys/resolve_moby_hit_response.c @@ -72,7 +72,7 @@ s32 resolve_moby_hit_response(O_25a478 *obj, s32 resolve_moby_hit_response(O_25a478 *hit_recipient_moby, P_25a478 *hit_record, Q_25a478 *q, - u32 flags, + u32 cooldown_override_flags, s32 *hit_status_output, f32 *fp, s32 *kp, @@ -281,21 +281,21 @@ s32 resolve_moby_hit_response(O_25a478 *hit_recipient_moby, switch (hit_response_index) { case KIND_GATED_HIT_RESPONSE: case DEFAULT_HIT_RESPONSE: - if (!(flags & 0x10)) + if (!(cooldown_override_flags & 0x10)) hit_response_code = 0xB; - if (!(flags & 0x20)) + if (!(cooldown_override_flags & 0x20)) *hit_status_output = 1; goto z; case AUXILIARY_FLAG_SETTING_HIT_RESPONSE: - if (!(flags & 1)) + if (!(cooldown_override_flags & 1)) hit_response_code = 0xB; - if (!(flags & 2)) + if (!(cooldown_override_flags & 2)) *hit_status_output = 1; goto z; case CONDITIONAL_DURATION_HIT_RESPONSE: - if (!(flags & 4)) + if (!(cooldown_override_flags & 4)) hit_response_code = 0xB; - if (!(flags & 8)) + if (!(cooldown_override_flags & 8)) *hit_status_output = 1; z: hit_record->f2C = 0; diff --git a/src/movies/decoder/buffers/read_buf_end_get.c b/src/movies/decoder/buffers/read_buf_end_get.c index bf6a81a3e8..ef07a55d87 100644 --- a/src/movies/decoder/buffers/read_buf_end_get.c +++ b/src/movies/decoder/buffers/read_buf_end_get.c @@ -2,14 +2,14 @@ s32 read_buf_end_get(struct ReadBuf *buf, s32 size) __asm__("GetStateTableWord"); -s32 read_buf_end_get(struct ReadBuf *read_source, s32 size) { +s32 read_buf_end_get(struct ReadBuf *read_source, s32 requested_count) { s32 taken; s32 remaining_count; taken = read_source->count; remaining_count = taken; - if (size < taken) { - taken = size; + if (requested_count < taken) { + taken = requested_count; } remaining_count -= taken; read_source->count = remaining_count; diff --git a/src/movies/decoder/dec_bs0.c b/src/movies/decoder/dec_bs0.c index fb53bfa150..7826661ec6 100644 --- a/src/movies/decoder/dec_bs0.c +++ b/src/movies/decoder/dec_bs0.c @@ -26,12 +26,12 @@ int dec_bs0(struct VideoDec *vd) { DEC_BS0_COMPLETED = 1 }; struct VoData *voData; - int status = DEC_BS0_COMPLETED; + int completion_status = DEC_BS0_COMPLETED; int i; while (!sceMpegIsEnd(&vd->mpeg)) { if (video_dec_get_state(vd) == VD_STATE_ABORT) { - status = -1; + completion_status = -1; DebugPrint(decode_thread_aborted_message); break; } @@ -57,7 +57,7 @@ int dec_bs0(struct VideoDec *vd) { switch_thread(); } sceMpegReset(&vd->mpeg); - return status; + return completion_status; } extern __typeof__(dec_bs0) func_0023CEC8 __attribute__((alias("FUN_0023cec8"))); diff --git a/src/movies/decoder/read_cd_stream_sectors.c b/src/movies/decoder/read_cd_stream_sectors.c index 377b6fcf5e..61bb14c12c 100644 --- a/src/movies/decoder/read_cd_stream_sectors.c +++ b/src/movies/decoder/read_cd_stream_sectors.c @@ -13,14 +13,14 @@ s32 read_cd_stream_sectors(struct CdStream *stream, s32 read_cd_stream_sectors(struct CdStream *stream, u32 sector_read_destination, - s32 size, + s32 requested_byte_count, s32 is_async) { u8 readcmd[0x10]; s32 blocks; s32 returned_byte_count; - blocks = size >> 11; + blocks = requested_byte_count >> 11; returned_byte_count = 0; readcmd[0] = 0x64; readcmd[1] = 0; @@ -29,7 +29,7 @@ s32 read_cd_stream_sectors(struct CdStream *stream, if (is_async == 0) { stream->sector += blocks; sceCdSync(0); - returned_byte_count = size; + returned_byte_count = requested_byte_count; } return returned_byte_count; } diff --git a/src/movies/decoder/read_mpeg.c b/src/movies/decoder/read_mpeg.c index 518c42a81e..1d696c92a1 100644 --- a/src/movies/decoder/read_mpeg.c +++ b/src/movies/decoder/read_mpeg.c @@ -67,12 +67,12 @@ s32 read_mpeg(struct VideoDec *video_dec, s32 skipped; s32 started; s32 skip; - s32 mode; + s32 skip_mode; s32 decode_remaining; s32 read_remaining; s32 space; s32 avail; - s32 count; + s32 transferred_bytes; skipped = 0; started = 0; @@ -83,9 +83,9 @@ s32 read_mpeg(struct VideoDec *video_dec, sceGsSyncV(0); while (decode_remaining >= 5 && video_dec_get_state(video_dec) != VD_STATE_END) { update_primary_pad_state(); - mode = DECODE_MODE; - if (mode != -1) { - if ((mode == MOVIE_SKIP_MODE_ANY_BUTTON && pad_pressed(&controller_state, -1)) || + skip_mode = DECODE_MODE; + if (skip_mode != -1) { + if ((skip_mode == MOVIE_SKIP_MODE_ANY_BUTTON && pad_pressed(&controller_state, -1)) || ((D_0015EEA0 != 0 || alternate_animation_sequence != 0 || DECODE_MODE != 0 || current_level_index <= 0) && pad_pressed(&controller_state, 0x800))) { @@ -100,17 +100,18 @@ s32 read_mpeg(struct VideoDec *video_dec, } space = read_buf_begin_put(read_buf, &write_ptr); if (read_remaining > 0 && space > 0xFFFF) { - count = read_cd_stream_sectors(cd_stream, write_ptr, 0x10000, 0); - read_remaining -= count; - read_buf_end_put(read_buf, count); + transferred_bytes = read_cd_stream_sectors(cd_stream, write_ptr, 0x10000, 0); + read_remaining -= transferred_bytes; + read_buf_end_put(read_buf, transferred_bytes); } proceed_audio(); switch_thread(); avail = read_buf_begin_get(read_buf, &read_ptr); if (avail > 0) { - count = sceMpegDemuxPssRing(video_dec, read_ptr, avail, read_buf, read_buf->size); - decode_remaining -= count; - read_buf_end_get(read_buf, count); + transferred_bytes = + sceMpegDemuxPssRing(video_dec, read_ptr, avail, read_buf, read_buf->size); + decode_remaining -= transferred_bytes; + read_buf_end_get(read_buf, transferred_bytes); } proceed_audio(); if (!started && vo_buf_is_full(&movie_player->vo_buf) && is_audio_ok()) { diff --git a/src/movies/decoder/video_dec_create.c b/src/movies/decoder/video_dec_create.c index a492aaa474..1d506a013c 100644 --- a/src/movies/decoder/video_dec_create.c +++ b/src/movies/decoder/video_dec_create.c @@ -23,7 +23,7 @@ s32 video_dec_create(struct VideoDec *vd, s32 mpeg_work_area_size, s32 video_input_buffer, s32 tag, - s32 size, + s32 video_input_block_count, s32 ts, s32 ts_count) { @@ -34,6 +34,6 @@ s32 video_dec_create(struct VideoDec *vd, AddMpegCallback(vd, 3, mpeg_restart_video_dma, 0); AddMpegCallback(vd, 5, D_0023D140, 0); video_dec_reset(vd); - vi_buf_create(&vd->vi_buf, video_input_buffer, tag, size, ts, ts_count); + vi_buf_create(&vd->vi_buf, video_input_buffer, tag, video_input_block_count, ts, ts_count); return 1; } diff --git a/src/movies/decoder/video_input/vi_buf_add_dma.c b/src/movies/decoder/video_input/vi_buf_add_dma.c index f26d23a80c..62d7f83e37 100644 --- a/src/movies/decoder/video_input/vi_buf_add_dma.c +++ b/src/movies/decoder/video_input/vi_buf_add_dma.c @@ -38,7 +38,7 @@ s32 vi_buf_add_dma(ViBuf *f) __asm__("FUN_0023bf70"); s32 vi_buf_add_dma(ViBuf *input_fifo) { s32 i; s32 index; - s32 id; + s32 dma_tag_id; s32 last; u32 d4chcr; u32 madr; @@ -77,10 +77,10 @@ s32 vi_buf_add_dma(ViBuf *input_fifo) { index = read_start; for (i = 0; i < read_n; i++) { - id = (i == read_n - 1) ? DMA_ID_REFE : DMA_ID_REF; + dma_tag_id = (i == read_n - 1) ? DMA_ID_REFE : DMA_ID_REF; sc_tag2((u64 *)(input_fifo->tag + index), (u32)((u8 *)input_fifo->data + VIBUF_ELM_SIZE * index), - id, + dma_tag_id, VIBUF_ELM_SIZE / 16); index = (index + 1) % input_fifo->n; } diff --git a/src/movies/decoder/video_input/vi_buf_begin_put.c b/src/movies/decoder/video_input/vi_buf_begin_put.c index 3a6dc061e2..c80eb38dad 100644 --- a/src/movies/decoder/video_input/vi_buf_begin_put.c +++ b/src/movies/decoder/video_input/vi_buf_begin_put.c @@ -11,21 +11,22 @@ void vi_buf_begin_put(struct ViBuf *ring_buffer, s32 *wrapped_write_address_out, s32 *wrapped_write_byte_count_out) { - s32 size; + s32 ring_capacity_bytes; s32 pending; - s32 offset; + s32 read_byte_count; s32 free_bytes; s32 used_blocks; s32 write_pos; wait_semaphore(ring_buffer->sema); pending = ring_buffer->dma_n; - offset = ring_buffer->read_bytes; + read_byte_count = ring_buffer->read_bytes; used_blocks = pending + 2; - size = ring_buffer->buff_size; - free_bytes = ((ring_buffer->n - used_blocks) << 0xB) - offset; - write_pos = (s32)(((ring_buffer->dma_start + pending) << 0xB) + offset) % size; - if ((size - write_pos) >= free_bytes) { + ring_capacity_bytes = ring_buffer->buff_size; + free_bytes = ((ring_buffer->n - used_blocks) << 0xB) - read_byte_count; + write_pos = + (s32)(((ring_buffer->dma_start + pending) << 0xB) + read_byte_count) % ring_capacity_bytes; + if ((ring_capacity_bytes - write_pos) >= free_bytes) { *first_write_address_out = (s32)ring_buffer->data + write_pos; *first_write_byte_count_out = free_bytes; *wrapped_write_address_out = 0; diff --git a/src/movies/decoder/video_input/vi_buf_count.c b/src/movies/decoder/video_input/vi_buf_count.c index 14634c224e..80ef66382d 100644 --- a/src/movies/decoder/video_input/vi_buf_count.c +++ b/src/movies/decoder/video_input/vi_buf_count.c @@ -6,12 +6,12 @@ extern s32 wait_semaphore() __asm__("FUN_001189b0"); s32 vi_buf_count(struct ViBuf *buf) __asm__("FUN_0023c610"); s32 vi_buf_count(struct ViBuf *input_buffer) { - s32 count; + s32 byte_count; wait_semaphore(input_buffer->sema); - count = (input_buffer->dma_n << 0xB) + input_buffer->read_bytes; + byte_count = (input_buffer->dma_n << 0xB) + input_buffer->read_bytes; signal_semaphore(input_buffer->sema); - return count; + return byte_count; } extern s32 func_0023C610(struct ViBuf *buf) __attribute__((alias("FUN_0023c610"))); diff --git a/src/movies/decoder/video_input/vi_buf_create.c b/src/movies/decoder/video_input/vi_buf_create.c index 57ea331011..6ecd036955 100644 --- a/src/movies/decoder/video_input/vi_buf_create.c +++ b/src/movies/decoder/video_input/vi_buf_create.c @@ -40,13 +40,19 @@ s32 vi_buf_create(ViBuf *f, u128 *data, u128 *tag, s32 size, TimeStamp *ts, s32 s32 vi_buf_create( - ViBuf *video_input_buffer, u128 *data, u128 *tag, s32 size, TimeStamp *ts, s32 n_ts) { + ViBuf *video_input_buffer, + u128 *data, + u128 *tag, + s32 buffer_element_count, + TimeStamp *ts, + + s32 n_ts) { struct SemaParam param; video_input_buffer->data = data; video_input_buffer->tag = (u128 *)((((u32)tag) & UNCMASK) | UNCBASE); - video_input_buffer->n = size; - video_input_buffer->buffSize = size * VIBUF_ELM_SIZE; + video_input_buffer->n = buffer_element_count; + video_input_buffer->buffSize = buffer_element_count * VIBUF_ELM_SIZE; video_input_buffer->ts = ts; video_input_buffer->n_ts = n_ts; diff --git a/src/movies/decoder/video_input/vi_buf_restart_dma.c b/src/movies/decoder/video_input/vi_buf_restart_dma.c index 8ad2e5519e..3745510c51 100644 --- a/src/movies/decoder/video_input/vi_buf_restart_dma.c +++ b/src/movies/decoder/video_input/vi_buf_restart_dma.c @@ -41,12 +41,12 @@ s32 vi_buf_restart_dma(struct ViBuf *video_buffer) { s32 block = get_fifo_index(video_buffer, madr); if (saved_block != block) { s32 tag_id; - s32 size = video_buffer->n << 11; + s32 ring_capacity_bytes = video_buffer->n << 11; qwc = ((u32)video_buffer->data + (saved_block << 11) - madr) >> 4; tadr = ((saved_block << 4) + (u32)video_buffer->tag) & 0x0FFFFFFF; tag_id = ((u32)video_buffer->data + - (video_buffer->d4_madr - (u32)video_buffer->data) % size == + (video_buffer->d4_madr - (u32)video_buffer->data) % ring_capacity_bytes == (u32)video_buffer->data + (((video_buffer->dma_start + video_buffer->dma_n) % video_buffer->n) << 11)) ? 0 diff --git a/src/overlays/l00/mobys/veldin_robot_enemy.c b/src/overlays/l00/mobys/veldin_robot_enemy.c index fc6690f38f..eb6a1979fd 100644 --- a/src/overlays/l00/mobys/veldin_robot_enemy.c +++ b/src/overlays/l00/mobys/veldin_robot_enemy.c @@ -526,7 +526,7 @@ void update_veldin_robot_damage_and_targeting(ElectroidMoby *moby) { if (vars->candidate_target_moby_index >= 0) { candidate_target = (ElectroidMoby *)(moby_table + (vars->candidate_target_moby_index << 8)); if (candidate_target == 0 || candidate_target->state == MOBY_STATE_REMOVAL_MARKER || - candidate_target->state == 0xFD) { + candidate_target->state == MOBY_STATE_ALTERNATE_REMOVAL_MARKER) { vars->candidate_target_moby_index = -1; } else { range = vector_distance_xy(&moby->pos, &candidate_target->pos); diff --git a/src/overlays/l01/mobys/birdbot.c b/src/overlays/l01/mobys/birdbot.c index f645e8a915..5148e0b696 100644 --- a/src/overlays/l01/mobys/birdbot.c +++ b/src/overlays/l01/mobys/birdbot.c @@ -67,7 +67,7 @@ void spawn_birdbot_movement_particles(SplashMoby_u *moby, u128 *origin) { Vec4 *bp; u32 *inner_color_entry; u32 *outer_color_entry; - f32 size; + f32 target_particle_scalar; s32 i; previous_moby_position.q = *origin; @@ -86,12 +86,12 @@ void spawn_birdbot_movement_particles(SplashMoby_u *moby, u128 *origin) { fast_vec_add(&world_motion_delta, &world_motion_delta, &rel); inner_color_entry = &inner.c[random_integer_below(6)]; outer_color_entry = &outer.c[random_integer_below(6)]; - size = random_float_between(105000.0f, 157500.0f); + target_particle_scalar = random_float_between(105000.0f, 157500.0f); spawn_effect_particle_with_target_scalar(&vector_scratch, &world_motion_delta, *inner_color_entry, *outer_color_entry, - size, + target_particle_scalar, scale_game_frames(random_int_between(5, 0xF))); } } diff --git a/src/overlays/l01/mobys/birdbot_projectile.c b/src/overlays/l01/mobys/birdbot_projectile.c index ce53419f4e..ba38653ca1 100644 --- a/src/overlays/l01/mobys/birdbot_projectile.c +++ b/src/overlays/l01/mobys/birdbot_projectile.c @@ -130,7 +130,7 @@ void spawn_explosion_effects(struct Moby *moby, u128 *where, s32 sound, f32 scal BurstPalette outer; BurstPalette *inner_p; Vec4 *pos_p; - f32 size; + f32 particle_size; f32 speed; s32 i; @@ -141,14 +141,14 @@ void spawn_explosion_effects(struct Moby *moby, u128 *where, s32 sound, f32 scal inner_p = &inner; for (i = 2; i >= 0; i--) { speed = random_float_between(8.0f, 10.0f) * frame_time; - size = scale * 400000.0f; + particle_size = scale * 400000.0f; inner = D_L01_0020B4F0; outer = D_L01_0020B508; spawn_particle(pos_p, &particle_base_velocity, inner_p->c[random_integer_below(6)], outer.c[random_integer_below(6)], - size, + particle_size, random_int_between(scale_game_frames(0xF), scale_game_frames(0x14)), random_int_between(scale_game_frames(0x19), scale_game_frames(0x1E)), speed * scale, diff --git a/src/overlays/l01/mobys/bomber_jet.c b/src/overlays/l01/mobys/bomber_jet.c index c04652263f..5eb0a0151c 100644 --- a/src/overlays/l01/mobys/bomber_jet.c +++ b/src/overlays/l01/mobys/bomber_jet.c @@ -1,3 +1,4 @@ +#include "rnc/mobys/moby_state.h" /* Level 01 moby class bomber_jet. */ #include "types.h" #include "rnc/game/item_state.h" @@ -382,8 +383,8 @@ void bomber_jet_update(GunshipMoby *bomber_jet_moby) { if (gunship_vars->turrets[j] != -1) { GunshipMoby *o = (GunshipMoby *)(ents_macro + (gunship_vars->turrets[j] << 8)); - if (o != 0 && o->oclass == 0x1CB && o->state != 0xFE && - o->state != 0xFD) { + if (o != 0 && o->oclass == 0x1CB && + o->state != MOBY_STATE_REMOVAL_MARKER && o->state != 0xFD) { GunshipTurretVars *t = o->vars; t->activated = 1; t->activate_delay = scale_game_frames(2); diff --git a/src/overlays/l01/mobys/create_spark_particle.c b/src/overlays/l01/mobys/create_spark_particle.c index 21424d330d..055b9ae29d 100644 --- a/src/overlays/l01/mobys/create_spark_particle.c +++ b/src/overlays/l01/mobys/create_spark_particle.c @@ -60,7 +60,7 @@ void create_spark_particle(s32 id, s32 life, u8 kind, u8 texture_table_index, - u8 mode, + u8 particle_mode_override, f32 x, f32 y, f32 z, @@ -70,7 +70,7 @@ void create_spark_particle(s32 id, f32 g, f32 b, - f32 size) { + f32 packed_color_high_byte_component) { enum { SPARK_MODE_FROM_KIND = 0xFF }; @@ -88,7 +88,7 @@ void create_spark_particle(s32 id, } spark_body = &spark->body; qcopy(&spark->pos, position_copy_source); - if (mode == SPARK_MODE_FROM_KIND) { + if (particle_mode_override == SPARK_MODE_FROM_KIND) { spark->b9 = (kind >> 5) * 16 + truncate_float_to_s32(4.0f); if (kind & 1) { spark->particle_mode = 0x48; @@ -97,7 +97,7 @@ void create_spark_particle(s32 id, } } else { spark->b9 = kind; - spark->particle_mode = mode; + spark->particle_mode = particle_mode_override; } spark->b1 = 0; spark->texture_id = *spark_texture_table[texture_table_index]; @@ -108,11 +108,11 @@ void create_spark_particle(s32 id, spark_body->r = truncate_float_to_s32(r * 65535.0f); spark_body->g = truncate_float_to_s32(g * 65535.0f); spark_body->b = truncate_float_to_s32(b * 65535.0f); - spark_body->f10 = size; + spark_body->f10 = packed_color_high_byte_component; spark_body->id = id; spark->fC = w; spark->b8 = alpha * 255.0f; spark->hA = scale_game_frames(life); spark_body->b1B = 0; - spark->packed_color = FUN_L00_0025bfe0(r, g, b, size); + spark->packed_color = FUN_L00_0025bfe0(r, g, b, packed_color_high_byte_component); } diff --git a/src/overlays/l01/mobys/fan.c b/src/overlays/l01/mobys/fan.c index 7f8a815f9e..f6140b1d5e 100644 --- a/src/overlays/l01/mobys/fan.c +++ b/src/overlays/l01/mobys/fan.c @@ -27,7 +27,7 @@ typedef struct { void *moby; s32 flags; s32 x18; - s32 x1c; + s32 collision_priority; s32 x20; } CollQuery; @@ -55,7 +55,7 @@ void fan_update(SwayMoby *fan_moby) { } collision_query.moby = fan_moby; collision_query.flags = 0x10001; - collision_query.x1c = 0; + collision_query.collision_priority = 0; clear_u64_value(&collision_query); collision_query.x20 = 0; collect_mobies_in_sphere(fan_moby->pos, 0x10, fan_moby, &collision_query, 1.2f); diff --git a/src/overlays/l01/mobys/green_mushroom.c b/src/overlays/l01/mobys/green_mushroom.c index 713e3cde6f..9eaa99a851 100644 --- a/src/overlays/l01/mobys/green_mushroom.c +++ b/src/overlays/l01/mobys/green_mushroom.c @@ -29,7 +29,7 @@ typedef struct { typedef struct { u8 pad0[0x2C]; - f32 f2c; + f32 destruction_trigger; } SparkHit; extern s32 D_L01_0015F580; @@ -60,7 +60,7 @@ void green_mushroom_update(SparkMoby *mushroom_moby) { mushroom_moby->state = GREEN_MUSHROOM_WAIT_FOR_POSITIVE_HIT; break; case GREEN_MUSHROOM_WAIT_FOR_POSITIVE_HIT: - if (hit != 0 && hit->f2c > 0.0f) { + if (hit != 0 && hit->destruction_trigger > 0.0f) { flag = 1; } if (flag) { diff --git a/src/overlays/l01/mobys/peckbot.c b/src/overlays/l01/mobys/peckbot.c index 5aa806e3f9..ba5e240c58 100644 --- a/src/overlays/l01/mobys/peckbot.c +++ b/src/overlays/l01/mobys/peckbot.c @@ -73,7 +73,7 @@ typedef struct Mob577 { u8 pad7c[0x18]; s32 id; u8 pad98[0xC]; - u8 xA4; + u8 hit_record_index; u8 padA5; s16 oclass; u8 padA8[0x14]; @@ -98,7 +98,7 @@ typedef struct { u8 pad28; u8 x29; u8 pad2a[0xE]; - s32 x38; + s32 reduced_range_request; u8 pad3c[0x4]; Vec577 vel; u8 pad50[0x8]; @@ -114,12 +114,12 @@ typedef struct { struct KnockbackMotion knockback; s32 x180; u8 pad184[0x4]; - f32 x188; - f32 x18C; + f32 maximum_ground_drop; + f32 maximum_ground_rise; u8 pad190[0x8]; - f32 x198; + f32 movement_vertical_velocity; u8 pad19c[0x8]; - f32 x1A4; + f32 maximum_horizontal_movement_step; u8 pad1a8[0x28]; Vec577 home; Vec577 dest; @@ -130,15 +130,15 @@ typedef struct { u8 pad200[0x4]; f32 speed; s16 x208; - s16 x20A; + s16 stay_grounded; s32 idle_timer; s32 turn_timer; - s16 x214; - s16 x216; + s16 reduced_range_timer; + s16 maximum_leader_distance; Mob577 *leader; s32 path; u8 pad220[0x8]; - s32 x228; + s32 airborne_idle_timer; u8 pad22c[0x4]; u8 x230[0x10]; } Mob577Vars; @@ -255,12 +255,12 @@ void peckbot_update(Mob577 *peckbot_moby) { select_moby_combat_target(peckbot_moby, &target, peckbot_vars->range + 4.0f); target_moby = target.combat_target_moby; qcopy(&oldpos, &peckbot_moby->pos); - if (peckbot_vars->x38 != 0) { - peckbot_vars->x214 = scale_game_frames(0xF0); + if (peckbot_vars->reduced_range_request != 0) { + peckbot_vars->reduced_range_timer = scale_game_frames(0xF0); } - peckbot_vars->x38 = 0; + peckbot_vars->reduced_range_request = 0; fast_dec_timer_s16(&peckbot_vars->x208); - if (fast_dec_timer_s16(&peckbot_vars->x214) != 0) { + if (fast_dec_timer_s16(&peckbot_vars->reduced_range_timer) != 0) { peckbot_vars->range = 12.0f; } else { peckbot_vars->range = 24.0f; @@ -323,12 +323,12 @@ void peckbot_update(Mob577 *peckbot_moby) { } } } - peckbot_moby->xA4 = 0xFF; + peckbot_moby->hit_record_index = 0xFF; switch (peckbot_moby->state) { case PECKBOT_STATE_INITIALIZE: qcopy(&peckbot_vars->home, &peckbot_moby->pos); peckbot_vars->x29 = 0; - if (peckbot_vars->x20A != 0) { + if (peckbot_vars->stay_grounded != 0) { peckbot_moby->state = PECKBOT_STATE_GROUNDED_IDLE; SET_ANIM(peckbot_moby, 4, 0, 0); } else { @@ -336,7 +336,7 @@ void peckbot_update(Mob577 *peckbot_moby) { peckbot_moby->pos.f[2] = peckbot_moby->pos.f[2] + 6.0f; SET_ANIM(peckbot_moby, 0, 0, 0); } - peckbot_vars->x214 = 0; + peckbot_vars->reduced_range_timer = 0; peckbot_vars->x208 = 0; peckbot_vars->health = 1.0f; peckbot_vars->x24 = 1; @@ -344,9 +344,9 @@ void peckbot_update(Mob577 *peckbot_moby) { peckbot_vars->x5A = 4; FUN_L01_0026d930(&peckbot_vars->x180); peckbot_vars->x180 = 0x38D; - peckbot_vars->x18C = 2.0f; - peckbot_vars->x188 = 2.0f; - peckbot_vars->x1A4 = peckbot_vars->speed * frame_time; + peckbot_vars->maximum_ground_rise = 2.0f; + peckbot_vars->maximum_ground_drop = 2.0f; + peckbot_vars->maximum_horizontal_movement_step = peckbot_vars->speed * frame_time; if (rand() & 1) { peckbot_moby->flags |= 0x8000; } @@ -354,12 +354,12 @@ void peckbot_update(Mob577 *peckbot_moby) { break; case PECKBOT_STATE_AIRBORNE_IDLE: fast_vec_sub(&vector_scratch, &target.pos, &peckbot_moby->pos); - if (fast_dec_timer(&peckbot_vars->x228) != 0 && + if (fast_dec_timer(&peckbot_vars->airborne_idle_timer) != 0 && fast_vec_length(&vector_scratch) < peckbot_vars->range + 4.0f && absolute_float(peckbot_moby->pos.f[2] - target.pos.f[2]) < 8.0f && random_integer_below(0x13) == 0) { peckbot_moby->state = PECKBOT_STATE_DESCEND; - } else if (peckbot_vars->x228 == 0 && peckbot_moby->hit == 1 && + } else if (peckbot_vars->airborne_idle_timer == 0 && peckbot_moby->hit == 1 && random_integer_below(0x13) == 0) { if (random_integer_below(0x100) & 1) { peckbot_vars->turn_deg = -peckbot_vars->turn_deg; @@ -425,7 +425,7 @@ void peckbot_update(Mob577 *peckbot_moby) { if (ascent_ground_height + 6.0f <= peckbot_moby->pos.f[2]) { peckbot_moby->pos.f[2] = ascent_ground_height + 6.0f; peckbot_moby->state = PECKBOT_STATE_AIRBORNE_IDLE; - peckbot_vars->x228 = scale_game_frames(0xB4); + peckbot_vars->airborne_idle_timer = scale_game_frames(0xB4); clear_u64_value(&peckbot_vars->vel); } break; @@ -446,7 +446,7 @@ void peckbot_update(Mob577 *peckbot_moby) { SET_ANIM(peckbot_moby, 2, 0, scale_game_frames(3)); peckbot_moby->hit = 0; } else if (fast_vec_length(&vector_scratch) > peckbot_vars->range + 6.0f && - peckbot_vars->x20A == 0) { + peckbot_vars->stay_grounded == 0) { peckbot_moby->state = PECKBOT_STATE_ASCEND; SET_ANIM(peckbot_moby, 0, 0, scale_game_frames(3)); } @@ -536,7 +536,7 @@ void peckbot_update(Mob577 *peckbot_moby) { SET_ANIM(peckbot_moby, 2, 0, scale_game_frames(3)); peckbot_moby->hit = 0; } else if (fast_vec_length(&vector_scratch) > peckbot_vars->range + 6.0f && - peckbot_vars->x20A == 0) { + peckbot_vars->stay_grounded == 0) { peckbot_moby->state = PECKBOT_STATE_ASCEND; SET_ANIM(peckbot_moby, 0, 0, scale_game_frames(3)); } @@ -620,10 +620,11 @@ void peckbot_update(Mob577 *peckbot_moby) { SET_ANIM(peckbot_moby, 2, 0, scale_game_frames(3)); } attack_ground_height = FUN_00213508(&peckbot_moby->pos, 0, 0.5f); - peckbot_vars->x198 = peckbot_vars->x198 - frame_time_sq * 9.8f; - peckbot_moby->pos.f[2] = peckbot_moby->pos.f[2] + peckbot_vars->x198; + peckbot_vars->movement_vertical_velocity = + peckbot_vars->movement_vertical_velocity - frame_time_sq * 9.8f; + peckbot_moby->pos.f[2] = peckbot_moby->pos.f[2] + peckbot_vars->movement_vertical_velocity; if (peckbot_moby->pos.f[2] < attack_ground_height) { - peckbot_vars->x198 = 0.0f; + peckbot_vars->movement_vertical_velocity = 0.0f; peckbot_moby->pos.f[2] = attack_ground_height; } break; @@ -685,7 +686,7 @@ void peckbot_update(Mob577 *peckbot_moby) { case 7: if (FUN_L00_002dc9f0(peckbot_moby, &peckbot_vars->knockback) != 0) { peckbot_moby->state = PECKBOT_STATE_AIRBORNE_IDLE; - peckbot_vars->x228 = scale_game_frames(0xB4); + peckbot_vars->airborne_idle_timer = scale_game_frames(0xB4); SET_ANIM(peckbot_moby, 0, 0, 0); peckbot_vars->xC8 = 0; } @@ -846,15 +847,16 @@ void peckbot_update(Mob577 *peckbot_moby) { } qcopy(&peckbot_moby->pos, &position_scratch); forward_movement_ground_height = FUN_00213508(&peckbot_moby->pos, 0, 0.5f); - peckbot_vars->x198 = peckbot_vars->x198 - frame_time_sq * 9.8f; - peckbot_moby->pos.f[2] = peckbot_moby->pos.f[2] + peckbot_vars->x198; + peckbot_vars->movement_vertical_velocity = + peckbot_vars->movement_vertical_velocity - frame_time_sq * 9.8f; + peckbot_moby->pos.f[2] = peckbot_moby->pos.f[2] + peckbot_vars->movement_vertical_velocity; if (peckbot_moby->pos.f[2] < forward_movement_ground_height) { - peckbot_vars->x198 = 0.0f; + peckbot_vars->movement_vertical_velocity = 0.0f; peckbot_moby->pos.f[2] = forward_movement_ground_height; } if (peckbot_vars->leader == NULL || vector_distance_xy(&peckbot_moby->pos, &peckbot_vars->leader->pos) > - convert_integer_to_float(peckbot_vars->x216)) { + convert_integer_to_float(peckbot_vars->maximum_leader_distance)) { peckbot_moby->state = PECKBOT_STATE_RETURN_HOME; SET_ANIM(peckbot_moby, 2, 0, scale_game_frames(3)); } diff --git a/src/overlays/l01/mobys/piston_platform.c b/src/overlays/l01/mobys/piston_platform.c index f02092ed3d..5613d9c40e 100644 --- a/src/overlays/l01/mobys/piston_platform.c +++ b/src/overlays/l01/mobys/piston_platform.c @@ -39,7 +39,7 @@ typedef struct { u8 pad31; s16 h32; u8 pad34[0xC]; - u8 x40[0x38]; + u8 rotation[0x38]; LiftVars *pvars; u8 pad7c[0x40]; u8 mode; @@ -123,5 +123,6 @@ void piston_platform_update(LiftMoby *piston_platform) { } dp = δ fast_vec_sub(dp, &piston_platform->pos, &previous_position); - update_entity_matrix(piston_platform_vars->x60, dp, piston_platform->x40, piston_platform->x40); + update_entity_matrix( + piston_platform_vars->x60, dp, piston_platform->rotation, piston_platform->rotation); } diff --git a/src/overlays/l01/mobys/rising_debris_emitter.c b/src/overlays/l01/mobys/rising_debris_emitter.c index 53a88a10a9..f3f310ffa0 100644 --- a/src/overlays/l01/mobys/rising_debris_emitter.c +++ b/src/overlays/l01/mobys/rising_debris_emitter.c @@ -66,7 +66,7 @@ void rising_debris_emitter_update(SteamMoby *steam_moby) { SteamParticle *debris_particle; f32 spawn_radius_or_vertical_velocity_increment; f32 spawn_offset_angle_radians; - f32 size; + f32 initial_particle_size; s32 life; s32 i; @@ -123,13 +123,13 @@ void rising_debris_emitter_update(SteamMoby *steam_moby) { spawn_radius_or_vertical_velocity_increment *= 8.0f; puff.f[2] += steam_vars->height; particle_initial_velocity.f[2] += spawn_radius_or_vertical_velocity_increment; - size = random_float_between(70000.0f, 140000.0f); + initial_particle_size = random_float_between(70000.0f, 140000.0f); life = scale_game_frames(0xB4); debris_particle = mine_debris(&puff, &particle_initial_velocity, 0x0F081020, 0x00081020, - size, + initial_particle_size, life, colors.c[random_integer_below(3)]); if (debris_particle != 0) { diff --git a/src/overlays/l01/mobys/smoke_emitter.c b/src/overlays/l01/mobys/smoke_emitter.c index ad957ff4b7..74fea442f1 100644 --- a/src/overlays/l01/mobys/smoke_emitter.c +++ b/src/overlays/l01/mobys/smoke_emitter.c @@ -35,7 +35,7 @@ void smoke_emitter_update(SmokeMoby *smoke_emitter_moby) { Vec4 pos; Vec4 particle_velocity; Vec4 local_velocity; - f32 size; + f32 target_particle_scalar; s32 i; smoke_vars = smoke_emitter_moby->vars; @@ -52,12 +52,12 @@ void smoke_emitter_update(SmokeMoby *smoke_emitter_moby) { particle_velocity.q = local_velocity.q; transform_vector_by_basis(&particle_velocity, &particle_velocity, smoke_emitter_moby->mtx); fast_vec_add(&pos, &pos, &smoke_emitter_moby->pos); - size = random_float_between(125000.0f, 175000.0f); + target_particle_scalar = random_float_between(125000.0f, 175000.0f); spawn_effect_particle_with_target_scalar(&pos, &particle_velocity, 0x207F7F7F, 0x272727, - size, + target_particle_scalar, scale_game_frames(random_int_between(0x2D, 0x3C))); } } diff --git a/src/overlays/l01/mobys/spark_particle_emitter.c b/src/overlays/l01/mobys/spark_particle_emitter.c index a31101df07..803fb9ebeb 100644 --- a/src/overlays/l01/mobys/spark_particle_emitter.c +++ b/src/overlays/l01/mobys/spark_particle_emitter.c @@ -81,7 +81,7 @@ void spark_particle_emitter_update(EmitterMoby *emitter_moby) { EmitMtx m; } lin; } u; - f32 size; + f32 sampled_particle_size; s32 i; emitter_vars = emitter_moby->vars; @@ -125,14 +125,15 @@ void spark_particle_emitter_update(EmitterMoby *emitter_moby) { } euler_rotation_matrix(&u.rot.m, &u.rot.ang); transform_vector(&rotated_particle_velocity, &emitter_vars->vel, &u.rot.m); - size = random_float_between(emitter_vars->size_min, emitter_vars->size_max); + sampled_particle_size = + random_float_between(emitter_vars->size_min, emitter_vars->size_max); create_spark_particle( emitter_vars, &position_scratch, rotated_particle_velocity.f[0], rotated_particle_velocity.f[1], rotated_particle_velocity.f[2], - size, + sampled_particle_size, random_float_between(emitter_vars->life_min, emitter_vars->life_max), emitter_vars->fade[0], emitter_vars->fade[1], @@ -156,14 +157,15 @@ void spark_particle_emitter_update(EmitterMoby *emitter_moby) { euler_rotation_matrix(&u.lin.m, emitter_moby->rot); transform_vector(&u.lin.vel, &u.lin.vel, &u.lin.m); } - size = random_float_between(emitter_vars->size_min, emitter_vars->size_max); + sampled_particle_size = + random_float_between(emitter_vars->size_min, emitter_vars->size_max); create_spark_particle( emitter_vars, &position_scratch, u.lin.vel.f[0], u.lin.vel.f[1], u.lin.vel.f[2], - size, + sampled_particle_size, random_float_between(emitter_vars->life_min, emitter_vars->life_max), emitter_vars->fade[0], emitter_vars->fade[1], diff --git a/src/overlays/l02/hero/update_hero_state_motion.c b/src/overlays/l02/hero/update_hero_state_motion.c index 1902bf9574..4a4d451301 100644 --- a/src/overlays/l02/hero/update_hero_state_motion.c +++ b/src/overlays/l02/hero/update_hero_state_motion.c @@ -179,7 +179,7 @@ s32 process_hero_hurt_response(s32 apply_hurt_response) { OvlMobyEntry40 *hurt_response_entry; u8 *mob; s32 flag; - s32 id; + s32 hurt_response_state; f32 planar_impulse_scale, vertical_impulse_scale, cached_frame_time; OvlVec4 hurt_impulse; @@ -234,9 +234,9 @@ s32 process_hero_hurt_response(s32 apply_hurt_response) { case HERO_VEHICLE_MODE_ON_FOOT: mob = (u8 *)G.damage_source_moby; if (mob != 0 && (*(s16 *)(mob + 0xA6) == 0x4EB || *(s16 *)(mob + 0xA6) == 0x558)) { - id = 0x80; + hurt_response_state = HERO_STATE_DYING_SPEED_LIMITED; call_ret: - hero_set_state(id, 1); + hero_set_state(hurt_response_state, 1); return 1; } if (G.state.control_mode == 0x16) { @@ -576,7 +576,10 @@ extern s32 coll3_222270(void *, f32) __asm__("FUN_L00_001f3170"); extern u128_222270 D_L02_00174470[] NOT_SDA; s32 resolve_hero_position_collisions(s32 mode) __asm__("FUN_L02_00222270"); -s32 resolve_hero_position_collisions(s32 mode) { +s32 resolve_hero_position_collisions(s32 excessive_correction_mode) { + enum { + EXCESSIVE_CORRECTION_LIMIT_TO_CAPSULE_RADIUS = 0xF + }; V_222270 pre_collision_position; V_222270 collision_probe_offset; V_222270 corrected_displacement; @@ -640,7 +643,7 @@ s32 resolve_hero_position_collisions(s32 mode) { fast_vec_sub(&corrected_displacement, &hero.motion.pos.q, &pre_collision_position); probe_height_or_displacement_length = fast_vec_length(&corrected_displacement); if (hero.capsule_radius * 1.5f < probe_height_or_displacement_length) { - if (mode == 0xF) { + if (excessive_correction_mode == EXCESSIVE_CORRECTION_LIMIT_TO_CAPSULE_RADIUS) { if (512.0f < corrected_displacement.f[0]) corrected_displacement.f[0] = 512.0f; else if (corrected_displacement.f[0] < -512.0f) diff --git a/src/overlays/l02/mobys/help_hints.c b/src/overlays/l02/mobys/help_hints.c index 664a4edba1..cf6442e856 100644 --- a/src/overlays/l02/mobys/help_hints.c +++ b/src/overlays/l02/mobys/help_hints.c @@ -52,16 +52,16 @@ void help_hints_update(struct Moby *moby) { ((unsigned int)hero.state.control_mode) < 2) { char *b = ((char *)&D_00141968); if (*(unsigned short *)(b + 0x278) == 0 && D_001418E8 == 0) { - int count = 0; + int available_inactive_item_count = 0; int i; for (i = 0; i < 37; i++) { if (D_L02_0017A0C0[i].active == 0 && i != 8 && i != 24) { if ((item_available)[i] != 0) { - count++; + available_inactive_item_count++; } } } - if (count >= 2) { + if (available_inactive_item_count >= 2) { help_request(0x4E25, 0x4F); } } diff --git a/src/overlays/l02/mobys/sand_shark.c b/src/overlays/l02/mobys/sand_shark.c index 099c6506ec..dba4803080 100644 --- a/src/overlays/l02/mobys/sand_shark.c +++ b/src/overlays/l02/mobys/sand_shark.c @@ -48,6 +48,15 @@ enum { SAND_SHARK_WAIT_FOR_LINKED_MOBY_BEFORE_INITIALIZE = 29 }; +enum SandSharkRelaunchRequestState { + SAND_SHARK_RELAUNCH_REQUEST_CONSUMED = 1, + SAND_SHARK_RELAUNCH_REQUEST_PENDING = 2 +}; + +enum SandSharkTargetSelectionStatus { + SAND_SHARK_TARGET_SELECTION_EXCLUDED = 2 +}; + extern float sand_shark_dust_vertical_velocity_scale_gp __asm__("D_L02_001619D4") __attribute__((sda)); extern float sand_shark_dust_position_jitter_radius_gp __asm__("D_L02_001619DC") @@ -426,7 +435,8 @@ void sand_shark_update(struct Moby *moby) { FUN_L02_002d5a68_e50(&target_or_particle_vector); } moby->pos.z -= sand_shark_height_offset_gp; - if (sand_shark_behavior_vars->target_selection_status != 2) { + if (sand_shark_behavior_vars->target_selection_status != + SAND_SHARK_TARGET_SELECTION_EXCLUDED) { if (sand_shark_behavior_vars->wander_target_volume_index >= 0) { if ((!is_point_inside_clip_volume( &sand_shark_behavior_vars->target, @@ -465,7 +475,8 @@ void sand_shark_update(struct Moby *moby) { } break; case SAND_SHARK_WAIT_FOR_TARGET_IN_VOLUME: - if (sand_shark_behavior_vars->target_selection_status != 2 && + if (sand_shark_behavior_vars->target_selection_status != + SAND_SHARK_TARGET_SELECTION_EXCLUDED && is_point_inside_clip_volume(&sand_shark_behavior_vars->target, sand_shark_behavior_vars->target_activation_volume_index)) { moby->state = SAND_SHARK_APPROACH_TARGET; @@ -515,7 +526,8 @@ void sand_shark_update(struct Moby *moby) { if (moby->prev_seq != 1) { blend_moby_animation(moby, 1, 0, scale_game_frames(0xA)); } - } else if (sand_shark_behavior_vars->target_selection_status != 2) { + } else if (sand_shark_behavior_vars->target_selection_status != + SAND_SHARK_TARGET_SELECTION_EXCLUDED) { moby->state = SAND_SHARK_APPROACH_TARGET; if (moby->prev_seq != 0) { blend_moby_animation(moby, 0, 0, scale_game_frames(0xF)); @@ -540,7 +552,8 @@ void sand_shark_update(struct Moby *moby) { if (moby->prev_seq != 1) { blend_moby_animation(moby, 1, 0, scale_game_frames(0xA)); } - } else if (sand_shark_behavior_vars->target_selection_status != 2) { + } else if (sand_shark_behavior_vars->target_selection_status != + SAND_SHARK_TARGET_SELECTION_EXCLUDED) { moby->state = SAND_SHARK_APPROACH_TARGET; if (moby->prev_seq != 0) { blend_moby_animation(moby, 0, 0, scale_game_frames(0xF)); @@ -643,7 +656,8 @@ void sand_shark_update(struct Moby *moby) { if (moby->state == SAND_SHARK_APPROACH_TARGET_WITH_HEIGHT_OFFSET) { moby->pos.z -= sand_shark_height_offset_gp; } - if (sand_shark_behavior_vars->target_selection_status != 2) { + if (sand_shark_behavior_vars->target_selection_status != + SAND_SHARK_TARGET_SELECTION_EXCLUDED) { if (sand_shark_behavior_vars->target_activation_volume_index >= 0 && !is_point_inside_clip_volume( &sand_shark_behavior_vars->target, @@ -760,7 +774,8 @@ void sand_shark_update(struct Moby *moby) { } } if (sand_shark_behavior_vars->outside_path_return_active == 0) { - if (sand_shark_behavior_vars->target_selection_status != 2) { + if (sand_shark_behavior_vars->target_selection_status != + SAND_SHARK_TARGET_SELECTION_EXCLUDED) { fast_vec_sub(&target_home_delta, &sand_shark_behavior_vars->target, &sand_shark_behavior_vars->home); @@ -1222,7 +1237,7 @@ typedef struct { float base_target_selection_range; /* 0x24C */ float effective_target_selection_range; char pad254[8]; - short t25C; /* 0x25C */ + short proximity_range_refresh_delay; /* 0x25C */ short range_boost_timer; /* while it runs the target range is 5 longer */ char pad260[0x1C]; int selected_relaunch_moby; /* 0x27C */ @@ -1260,11 +1275,6 @@ extern void update_hit_color_flash(void *, void *) __asm__("FUN_L00_0025d538"); void handle_sand_shark_damage_and_targeting(unsigned char *moby) __asm__("FUN_L02_002d5c88"); void handle_sand_shark_damage_and_targeting(unsigned char *moby) { - enum { - SAND_SHARK_RELAUNCH_REQUEST_CONSUMED = 1, - SAND_SHARK_RELAUNCH_REQUEST_PENDING = 2, - SAND_SHARK_TARGET_SELECTION_EXCLUDED = 2 - }; Vars5c88 *moby_vars = ((Vars5c88 *)MOBY(moby)->pvars); char *hit_record; int *path; @@ -1296,7 +1306,7 @@ void handle_sand_shark_damage_and_targeting(unsigned char *moby) { MOBY(moby)->pos.z -= 10.0f; } if (moby_vars->target_range_timer_refresh_request != 0 || - (!fast_dec_timer_s16(&moby_vars->t25C) && + (!fast_dec_timer_s16(&moby_vars->proximity_range_refresh_delay) && vector_distance_xy(moby + 0x10, &hero.motion.pos) < 10.0f)) { moby_vars->range_boost_timer = truncate_float_to_s32(scale_time(random_float_between(180.0f, 240.0f))); diff --git a/src/overlays/l02/mobys/skids_agent.c b/src/overlays/l02/mobys/skids_agent.c index eaadc9439a..207524fac8 100644 --- a/src/overlays/l02/mobys/skids_agent.c +++ b/src/overlays/l02/mobys/skids_agent.c @@ -272,16 +272,17 @@ void skids_agent_update(struct Moby *moby) { /* A statement expression: retail reuses this scope's stack for the head-tracking block below. */ ({ float mtx[16]; - Vec4 offset; + Vec4 prop_world_offset; if (skids_agent_vars->carried_prop != 0) { moby_point_position(moby, 2, &skids_agent_vars->carried_prop->pos); build_moby_bone_transform(moby, 2, mtx); copy_matrix3x4(&skids_agent_vars->carried_prop->rot_row0, mtx); - transform_vector_by_basis( - &offset, skids_agent_prop_local_offset, &skids_agent_vars->carried_prop->rot_row0); + transform_vector_by_basis(&prop_world_offset, + skids_agent_prop_local_offset, + &skids_agent_vars->carried_prop->rot_row0); fast_vec_add(&skids_agent_vars->carried_prop->pos, &skids_agent_vars->carried_prop->pos, - &offset); + &prop_world_offset); update_entity(skids_agent_vars->carried_prop); } }); diff --git a/src/overlays/l02/mobys/smoke_vent.c b/src/overlays/l02/mobys/smoke_vent.c index 56d41f4a8e..806846a360 100644 --- a/src/overlays/l02/mobys/smoke_vent.c +++ b/src/overlays/l02/mobys/smoke_vent.c @@ -137,13 +137,13 @@ void smoke_vent_update(struct Moby *moby) { Vec4 smoke_particle_velocity; Vec4 acc; Vec4 vector_perturbation; - s32 count1; + s32 view_gated_burst_particle_count; s32 k1; s32 time_a1_burst; s32 time_b1_burst; s32 color_a1_burst; s32 color_b1_burst; - s32 count2; + s32 alternating_burst_particle_count; s32 k2; s32 time_a2_burst; s32 time_b2_burst; @@ -175,8 +175,9 @@ void smoke_vent_update(struct Moby *moby) { smoke_vent_vars->timer_C0 = truncate_float_to_s32( scale_time(random_float_between((f32)view_gated_smoke_burst_interval_min_gp, (f32)view_gated_smoke_burst_interval_max_gp))); - count1 = random_integer_below(7) != 0 ? 1 : random_integer_below(5) + 5; - for (k1 = 0; k1 < count1; k1++) { + view_gated_burst_particle_count = + random_integer_below(7) != 0 ? 1 : random_integer_below(5) + 5; + for (k1 = 0; k1 < view_gated_burst_particle_count; k1++) { random_vector(&vector_perturbation, 0.0f, view_gated_smoke_burst_jitter_magnitude_max_gp * frame_time); @@ -316,8 +317,9 @@ void smoke_vent_update(struct Moby *moby) { smoke_vent_vars->timer_C0 = truncate_float_to_s32( scale_time(random_float_between((f32)alternating_smoke_burst_interval_min_gp, (f32)alternating_smoke_burst_interval_max_gp))); - count2 = random_integer_below(7) != 0 ? 1 : random_integer_below(5) + 5; - for (k2 = 0; k2 < count2; k2++) { + alternating_burst_particle_count = + random_integer_below(7) != 0 ? 1 : random_integer_below(5) + 5; + for (k2 = 0; k2 < alternating_burst_particle_count; k2++) { random_vector(&vector_perturbation, 0.0f, alternating_smoke_burst_jitter_magnitude_max_gp * frame_time); diff --git a/src/overlays/l02/mobys/tresspasser_door2.c b/src/overlays/l02/mobys/tresspasser_door2.c index 7d77133b64..63013510c6 100644 --- a/src/overlays/l02/mobys/tresspasser_door2.c +++ b/src/overlays/l02/mobys/tresspasser_door2.c @@ -33,9 +33,9 @@ void tresspasser_door2_update(struct Moby *moby) { moby->state = TRESSPASSER_DOOR2_WAIT_FOR_LINKED_MOBY; break; case TRESSPASSER_DOOR2_WAIT_FOR_LINKED_MOBY: { - int id = *(int *)(tresspasser_door2_vars + 0x10); - if (id >= 0) { - char *linked_moby = (char *)((id << 8) + *(int *)&D_L02_0015FFD8_c3); + int linked_moby_index = *(int *)(tresspasser_door2_vars + 0x10); + if (linked_moby_index >= 0) { + char *linked_moby = (char *)((linked_moby_index << 8) + *(int *)&D_L02_0015FFD8_c3); int linked_moby_class = MOBY(linked_moby)->oclass; if (linked_moby_class == 0x267 || linked_moby_class == 0x23F) { if (((unsigned char *)linked_moby)[0x20] == 4) diff --git a/src/overlays/l03/hero_relative_camera.c b/src/overlays/l03/hero_relative_camera.c index 073fd908ee..a88bf2cefe 100644 --- a/src/overlays/l03/hero_relative_camera.c +++ b/src/overlays/l03/hero_relative_camera.c @@ -49,7 +49,7 @@ void initialize_hero_relative_camera(void *camera_instance) { char *target; char *pos; char *camera_data; - char *timer; + char *camera_data_for_timer; char *camera_back_direction_data; int camera_table_base; float *camera_parameter_values; @@ -75,8 +75,8 @@ void initialize_hero_relative_camera(void *camera_instance) { *(float *)(pos + 0x24) = 0.2f; clear_u64_value(pos + 0x10); qcopy(pos, &hero.motion.pos); - timer = *(char **)(camera + 0x70); - ((s32 *)timer)[12] = scale_game_frames(0x78); + camera_data_for_timer = *(char **)(camera + 0x70); + ((s32 *)camera_data_for_timer)[12] = scale_game_frames(0x78); camera_table_base = D_L03_0015EF50; camera_back_direction_data = *(char **)(camera + 0x70) + 0xF0; *(s32 *)(camera_back_direction_data + 0x30) = 0; diff --git a/src/overlays/l03/mobys/kerwan_path_enemy.c b/src/overlays/l03/mobys/kerwan_path_enemy.c index 0d9eb68a6e..165d6be04a 100644 --- a/src/overlays/l03/mobys/kerwan_path_enemy.c +++ b/src/overlays/l03/mobys/kerwan_path_enemy.c @@ -204,38 +204,38 @@ typedef struct Data2C8398 { char p138[0x18]; Look2C8398 look0; Look2C8398 look1; - short s250; + short projectile_attack_cooldown_frames; short target_range_boost_timer; - unsigned char b254; - unsigned char b255; - short s256; - float f258; + unsigned char projectile_launch_count; + unsigned char death_knockback_update_counter; + short follow_path_to_end_override; + float heading_angular_velocity; char p25C[6]; unsigned char b262; - unsigned char b263; - int i264; + unsigned char heading_turn_cooldown; + int heading_turn_gate_moby_index; char p268[4]; float base_target_selection_range; float target_selection_range; - int i274; - float f278; - float f27C; - int i280; - int i284; + int use_sequential_path_nodes; + float path_reposition_range; + float path_follow_activation_range; + int supporting_moby_index; + int activation_linked_moby_index; short s288; - short s28A; - float f28C; - int i290; - float f294; - int i298; - int i29C; + short path_height_check_schedule_slot; + float desired_turn_heading; + int alternate_path_id; + float alternate_path_activation_range; + int alternate_path_node_index; + int target_activation_clip_volume_id; } Data2C8398; typedef struct Moby2C8398 { char p00[0x10]; float pos[4]; unsigned char state; - unsigned char b21; + unsigned char activation_moby_lookup_selector; char p22[2]; char *p24; char p28[9]; @@ -249,7 +249,7 @@ typedef struct Moby2C8398 { unsigned char b52; unsigned char anim; char p54[4]; - float f58; + float animation_playback_speed; char p5C[0x14]; unsigned char b70; char p71[7]; @@ -263,7 +263,7 @@ typedef struct Moby2C8398 { char pA5; unsigned short cls; char pA8[8]; - unsigned char bB0; + unsigned char mission_index; char pB1[0xB]; unsigned char bBC; char pBD[0x43]; @@ -395,6 +395,9 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { ENEMY_ANIM_LOCOMOTION = 1, ENEMY_ANIM_HEADING_TURN = 9 }; + enum { + JUMP_PHASE_LANDED = 2 + }; Tgt2C8398 selected_target; Data2C8398 *moby_data = m->data; float target_distance; @@ -403,7 +406,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { target_distance = vector_distance_xy(m->pos, &selected_target); manipulator_set_scale(&moby_data->look0, 2.5f); if (moby_data->b262 == 1) { - if ((visited52)[m->bB0 + (current_level_index << 4)] == 0xFF) { + if ((visited52)[m->mission_index + (current_level_index << 4)] == 0xFF) { m->flags |= 0x41; m->i94 = 0; } @@ -421,13 +424,13 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { return; } FUN_L00_001fefc8_cf(m); - fast_subtract_rotations_cf(&moby_data->b263); + fast_subtract_rotations_cf(&moby_data->heading_turn_cooldown); if (m->b31 != 0 || target_distance < 24.0f) { if (m->state == ENEMY_TURN_TO_HEADING) { moby_data->look0.target_yaw_offset = - fast_subtract_rotations(moby_data->f28C, m->rot[2]) * 0.25f; + fast_subtract_rotations(moby_data->desired_turn_heading, m->rot[2]) * 0.25f; moby_data->look1.target_yaw_offset = - fast_subtract_rotations(moby_data->f28C, m->rot[2]) * 0.75f; + fast_subtract_rotations(moby_data->desired_turn_heading, m->rot[2]) * 0.75f; } else if (m->state < ENEMY_MOVE_TO_PATH_NODE && target_distance < moby_data->target_selection_range) { moby_data->look1.target_yaw_offset = @@ -478,7 +481,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { moby_data->b5A = 0xC; clear_u64_value(moby_data->v40); m->flags |= 0x1000; - moby_data->s250 = 0; + moby_data->projectile_attack_cooldown_frames = 0; { char *np = ((char *)l03_paths[moby_data->pf.id]); moby_data->pf.idx = 0; @@ -487,9 +490,9 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { } m->state = ENEMY_WAIT_FOR_ACTIVATION; moby_data->s288 = m->s32; - moby_data->s28A = D_L03_001618F4 & 7; + moby_data->path_height_check_schedule_slot = D_L03_001618F4 & 7; D_L03_001618F4_i++; - moby_data->b263 = 0; + moby_data->heading_turn_cooldown = 0; { char *path = moby_data->pf.path; if (path != 0) { @@ -500,7 +503,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { } } } - if (moby_data->i284 != -1 && moby_data->i290 == -1) { + if (moby_data->activation_linked_moby_index != -1 && moby_data->alternate_path_id == -1) { blend_moby_animation(m, 0, 0, scale_game_frames(10)); m->state = ENEMY_WAIT_FOR_LINKED_MOBY; } @@ -509,28 +512,29 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { if ((m->b70 & 2) && m->b52 != 0) { blend_moby_animation(m, 0, 0, scale_game_frames(10)); } - if (moby_data->i290 != -1) { - char *np = ((char *)l03_paths[moby_data->i290]); + if (moby_data->alternate_path_id != -1) { + char *np = ((char *)l03_paths[moby_data->alternate_path_id]); *(OvlQuad *)m->pos = *(OvlQuad *)(np + 0x10); m->rot[2] = fast_arc_tan(*(float *)(np + 0x20) - *(float *)(np + 0x10), *(float *)(np + 0x24) - *(float *)(np + 0x14)); - if (is_point_inside_clip_volume_cf(m->b21) || - is_point_inside_clip_volume(&selected_target, moby_data->i29C) || - (visited52)[m->bB0 + (current_level_index << 4)] == 0xFF || - (target_distance < moby_data->f294 && + if (is_point_inside_clip_volume_cf(m->activation_moby_lookup_selector) || + is_point_inside_clip_volume(&selected_target, + moby_data->target_activation_clip_volume_id) || + (visited52)[m->mission_index + (current_level_index << 4)] == 0xFF || + (target_distance < moby_data->alternate_path_activation_range && absolute_float(selected_target.pos[2] - m->pos[2]) < 4.0f)) { - moby_data->i298 = 0; + moby_data->alternate_path_node_index = 0; m->state = ENEMY_FOLLOW_ALTERNATE_PATH; if (m->anim != 1) { blend_moby_animation(m, 1, 0, scale_game_frames(10)); } } - } else if (moby_data->i284 != -1) { + } else if (moby_data->activation_linked_moby_index != -1) { blend_moby_animation(m, 0, 0, scale_game_frames(10)); m->state = ENEMY_WAIT_FOR_LINKED_MOBY; } else { if (target_distance < moby_data->target_selection_range || - target_distance < moby_data->f27C) { + target_distance < moby_data->path_follow_activation_range) { if (try_start_kerwan_path_enemy_heading_turn( fast_arc_tan(selected_target.pos[0] - m->pos[0], selected_target.pos[1] - m->pos[1]), @@ -539,10 +543,10 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { break; } } - if (target_distance < moby_data->f27C && + if (target_distance < moby_data->path_follow_activation_range && absolute_float(selected_target.pos[2] - m->pos[2]) < 4.0f) { - moby_data->f27C = 0.0f; - moby_data->s256 = 1; + moby_data->path_follow_activation_range = 0.0f; + moby_data->follow_path_to_end_override = 1; m->state = ENEMY_FOLLOW_PATH_TO_END; if (m->anim != 1) { blend_moby_animation(m, 1, 0, scale_game_frames(10)); @@ -556,7 +560,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { } } else if (target_distance < moby_data->target_selection_range && absolute_float(selected_target.pos[2] - m->pos[2]) < 10.0f && - fast_dec_timer_s16(&moby_data->s250)) { + fast_dec_timer_s16(&moby_data->projectile_attack_cooldown_frames)) { if (fast_difference_between_rotations( m->rot[2], fast_arc_tan(selected_target.pos[0] - m->pos[0], @@ -578,12 +582,12 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { break; } { - Moby2C8398 *o = &D_L03_0015FFD8_m[moby_data->i284]; + Moby2C8398 *o = &D_L03_0015FFD8_m[moby_data->activation_linked_moby_index]; if (o == 0 || o->state == 0xFE || o->state == 0xFD || (m->b52 == 0xA && (m->b70 & 2))) { m->state = ENEMY_WAIT_FOR_ACTIVATION; blend_moby_animation(m, 0, 0, scale_game_frames(10)); - moby_data->s250 = scale_game_frames(0x3C); - moby_data->i284 = -1; + moby_data->projectile_attack_cooldown_frames = scale_game_frames(0x3C); + moby_data->activation_linked_moby_index = -1; } else { try_start_kerwan_path_enemy_heading_turn( fast_arc_tan(selected_target.pos[0] - m->pos[0], @@ -596,7 +600,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { case ENEMY_PROJECTILE_ATTACK_WINDUP: if (m->b70 & 2) { m->state = ENEMY_PROJECTILE_ATTACK; - moby_data->b254 = 0; + moby_data->projectile_launch_count = 0; if (m->anim != 4) { blend_moby_animation(m, 4, 0, 0); } @@ -606,9 +610,9 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { if (m->anim != 2) { blend_moby_animation(m, 2, 0, scale_game_frames(10)); } - } else if (target_distance < moby_data->f278 && + } else if (target_distance < moby_data->path_reposition_range && absolute_float(selected_target.pos[2] - m->pos[2]) < 10.0f) { - if (moby_data->i274 != 0) { + if (moby_data->use_sequential_path_nodes != 0) { Data2C8398 *d2 = m->data; if (d2->pf.idx < *(int *)d2->pf.path - 1) { d2->pf.idx++; @@ -634,7 +638,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { float launch_endpoint[4]; float ang; float df; - moby_data->b254++; + moby_data->projectile_launch_count++; moby_point_position(m, 0, a); fast_vec_sub(b, selected_target.dir, a); fast_vec_normalize(b, b, frame_time * 6.0f); @@ -659,12 +663,12 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { b, a, (struct Moby *)m, scale_game_frames(0x82), ang, frame_time * 6.0f, 0.75f); } if (m->b70 & 2) { - if (moby_data->b254 == 0) { + if (moby_data->projectile_launch_count == 0) { break; } - if (target_distance < moby_data->f27C && + if (target_distance < moby_data->path_follow_activation_range && absolute_float(selected_target.pos[2] - m->pos[2]) < 4.0f) { - moby_data->f27C = 0.0f; + moby_data->path_follow_activation_range = 0.0f; m->state = ENEMY_FOLLOW_PATH_TO_END; if (m->anim != 1) { blend_moby_animation(m, 1, 0, scale_game_frames(10)); @@ -679,7 +683,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { } if (target_distance < moby_data->target_selection_range && absolute_float(selected_target.pos[2] - m->pos[2]) < 10.0f && - fast_dec_timer_s16(&moby_data->s250) && + fast_dec_timer_s16(&moby_data->projectile_attack_cooldown_frames) && fast_difference_between_rotations( m->rot[2], fast_arc_tan(selected_target.pos[0] - m->pos[0], @@ -707,9 +711,9 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { if (m->anim != 2) { blend_moby_animation(m, 2, 0, scale_game_frames(10)); } - } else if (target_distance < moby_data->f278 && + } else if (target_distance < moby_data->path_reposition_range && absolute_float(selected_target.pos[2] - m->pos[2]) < 10.0f) { - if (moby_data->i274 != 0) { + if (moby_data->use_sequential_path_nodes != 0) { Data2C8398 *d2 = m->data; if (d2->pf.idx < *(int *)d2->pf.path - 1) { d2->pf.idx++; @@ -737,7 +741,8 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { fr = compute_interpolated_record_value(m); ang = fast_arc_tan(selected_target.pos[0] - m->pos[0], selected_target.pos[1] - m->pos[1]); - FUN_001f9c48_cf((char *)m, &moby_data->f258, ang, 0.03f, 0.3f, 0.3f); + FUN_001f9c48_cf( + (char *)m, &moby_data->heading_angular_velocity, ang, 0.03f, 0.3f, 0.3f); moby_point_position(m, 0, v); if (25.0f <= fr && fr <= 31.0f && absolute_float(m->pos[2] - selected_target.pos[2]) < 2.0f && @@ -761,7 +766,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { record_moby_hit(selected_target.obj, &hit); } } else if (m->b70 & 2) { - if (moby_data->i274 != 0) { + if (moby_data->use_sequential_path_nodes != 0) { Data2C8398 *d2 = m->data; if (d2->pf.idx < *(int *)d2->pf.path - 1) { d2->pf.idx++; @@ -793,7 +798,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { } case ENEMY_MOVE_TO_PATH_NODE: { PathF2C8398 *pf = &moby_data->pf; - if (moby_data->s256 != 0) { + if (moby_data->follow_path_to_end_override != 0) { m->state = ENEMY_FOLLOW_PATH_TO_END; break; } @@ -814,9 +819,9 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { 0x14)) { break; } - if (target_distance < moby_data->f278 && + if (target_distance < moby_data->path_reposition_range && absolute_float(selected_target.pos[2] - m->pos[2]) < 10.0f) { - if (moby_data->i274 != 0) { + if (moby_data->use_sequential_path_nodes != 0) { Data2C8398 *d2 = m->data; if (d2->pf.idx < *(int *)d2->pf.path - 1) { d2->pf.idx++; @@ -890,30 +895,31 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { } case ENEMY_FOLLOW_ALTERNATE_PATH: { { - char *path = ((char *)l03_paths[moby_data->i290]); + char *path = ((char *)l03_paths[moby_data->alternate_path_id]); float v[4]; int seg; float frac; FUN_L00_0025c698_cf(path, m->pos, v, &seg, &frac, 0, 999.0f, 5.0f, 0.0f); - if (moby_data->i298 < seg) { - moby_data->i298 = seg; + if (moby_data->alternate_path_node_index < seg) { + moby_data->alternate_path_node_index = seg; } - if (!(step_mover_2e3f20((char *)m, - (char *)&moby_data->mv, - (float *)(path + 0x10 + moby_data->i298 * 0x10), - (char *)moby_data->v40) & + if (!(step_mover_2e3f20( + (char *)m, + (char *)&moby_data->mv, + (float *)(path + 0x10 + moby_data->alternate_path_node_index * 0x10), + (char *)moby_data->v40) & 0x14)) { break; } - if (moby_data->i298 < *(int *)path - 1) { - moby_data->i298++; + if (moby_data->alternate_path_node_index < *(int *)path - 1) { + moby_data->alternate_path_node_index++; } else { - moby_data->i290 = -1; + moby_data->alternate_path_id = -1; m->state = ENEMY_WAIT_FOR_ACTIVATION; if (m->anim != 0) { blend_moby_animation(m, 0, 0, scale_game_frames(10)); } - if (moby_data->i284 != -1) { + if (moby_data->activation_linked_moby_index != -1) { blend_moby_animation(m, 0, 0, scale_game_frames(10)); m->state = ENEMY_WAIT_FOR_LINKED_MOBY; } else { @@ -933,12 +939,12 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { if (moby_data->q.jump_phase != 2) { fl = step_moby_motion(m, &moby_data->q); } else { - m->f58 = 1.0f; + m->animation_playback_speed = 1.0f; fl = (m->b70 << 5) & 0x40; } - moby_data->i290 = -1; + moby_data->alternate_path_id = -1; if (fl & 0x40) { - if (moby_data->i274 != 0) { + if (moby_data->use_sequential_path_nodes != 0) { Data2C8398 *d2 = m->data; if (d2->pf.idx < *(int *)d2->pf.path - 1) { d2->pf.idx++; @@ -1018,7 +1024,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { D_L03_0015F580_macro, D_L03_0015F580_macro); FUN_L00_00259710_cf(m, 0, -1); - if (moby_data->i264 == -1) { + if (moby_data->heading_turn_gate_moby_index == -1) { mark_moby_for_removal(m); return; } @@ -1051,7 +1057,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { q->f8 = q->f8 - q->f10; speed = vector_length_xy(q); want = 0.0f; - if (q->jump_phase != 2) { + if (q->jump_phase != JUMP_PHASE_LANDED) { want = q->target_horizontal_speed; } approach_value(&speed, want, q->f14); @@ -1126,7 +1132,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { D_L03_0015F580_macro, D_L03_0015F580_macro); FUN_L00_00259710_cf(m, 0x200, -1); - if (moby_data->i264 == -1) { + if (moby_data->heading_turn_gate_moby_index == -1) { mark_moby_for_removal(m); return; } @@ -1144,9 +1150,15 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { case ENEMY_TURN_TO_HEADING: switch (m->anim) { case ENEMY_ANIM_LOCOMOTION: - FUN_001f9c48_cf((char *)m, &moby_data->f258, moby_data->f28C, 0.09f, 0.27f, 0.15f); - if (fast_difference_between_rotations(m->rot[2], moby_data->f28C) < 0.034906585f) { - moby_data->b263 = scale_game_frames(0x3C); + FUN_001f9c48_cf((char *)m, + &moby_data->heading_angular_velocity, + moby_data->desired_turn_heading, + 0.09f, + 0.27f, + 0.15f); + if (fast_difference_between_rotations(m->rot[2], moby_data->desired_turn_heading) < + 0.034906585f) { + moby_data->heading_turn_cooldown = scale_game_frames(0x3C); if (m->bBC >= 7 && m->bBC <= 8) { if (m->bBC == 7) { is_value_within_interpolated_window_cf(m); @@ -1155,20 +1167,26 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { if (m->anim != 1) { blend_moby_animation(m, 1, 0, scale_game_frames(10)); } - m->f58 = 1.0f; + m->animation_playback_speed = 1.0f; } else { m->state = ENEMY_WAIT_FOR_ACTIVATION; if (m->anim != 0) { blend_moby_animation(m, 0, 0, scale_game_frames(10)); } - moby_data->s250 = scale_game_frames(10); + moby_data->projectile_attack_cooldown_frames = scale_game_frames(10); } } break; case ENEMY_ANIM_HEADING_TURN: - FUN_001f9c48_cf((char *)m, &moby_data->f258, moby_data->f28C, 0.01f, 0.3f, 0.2f); - if (fast_difference_between_rotations(m->rot[2], moby_data->f28C) < 0.034906585f) { - moby_data->b263 = scale_game_frames(0x3C); + FUN_001f9c48_cf((char *)m, + &moby_data->heading_angular_velocity, + moby_data->desired_turn_heading, + 0.01f, + 0.3f, + 0.2f); + if (fast_difference_between_rotations(m->rot[2], moby_data->desired_turn_heading) < + 0.034906585f) { + moby_data->heading_turn_cooldown = scale_game_frames(0x3C); if (m->bBC >= 7 && m->bBC <= 8) { if (m->bBC == 7) { is_value_within_interpolated_window_cf(m); @@ -1182,7 +1200,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { if (m->anim != 0) { blend_moby_animation(m, 0, 0, scale_game_frames(10)); } - moby_data->s250 = scale_game_frames(10); + moby_data->projectile_attack_cooldown_frames = scale_game_frames(10); } } break; @@ -1191,7 +1209,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { case ENEMY_DEATH_KNOCKBACK: { int fl = step_moby_motion(m, &moby_data->q); float g; - moby_data->b255++; + moby_data->death_knockback_update_counter++; g = allocate_voice_for_target_entry_cf(m->pos); if ((fl & 0x60) && g + 5.0f < m->pos[2] && m->bBC != 0xB) { allocate_voice_for_target_entry(0xA, 0, (int)m); @@ -1199,7 +1217,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { } m->flags &= 0xEFFF; if (fl & 1) { - moby_data->b255 = 0; + moby_data->death_knockback_update_counter = 0; } if (fl & 0x60) { { @@ -1255,7 +1273,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { D_L03_0015F580_macro, D_L03_0015F580_macro); FUN_L00_00259710_cf(m, 0, -1); - if (moby_data->i264 == -1) { + if (moby_data->heading_turn_gate_moby_index == -1) { mark_moby_for_removal(m); return; } @@ -1270,7 +1288,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { } if (m->pos[2] < 5.0f) { FUN_L00_00259710_cf(m, 0, -1); - if (moby_data->i264 == -1) { + if (moby_data->heading_turn_gate_moby_index == -1) { mark_moby_for_removal(m); return; } @@ -1296,7 +1314,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { break; } case ENEMY_RESPAWN_AT_PATH_START: - if ((visited52)[m->bB0 + (current_level_index << 4)] == 0xFF) { + if ((visited52)[m->mission_index + (current_level_index << 4)] == 0xFF) { mark_moby_for_removal(m); return; } @@ -1313,14 +1331,14 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { } } { - int idx = moby_data->i280; + int idx = moby_data->supporting_moby_index; Moby2C8398 *o; if (idx == -1 || (o = &D_L03_0015FFD8_m[idx]) == 0 || o->state == 0xFE || o->state == 0xFD) { - moby_data->i280 = -1; + moby_data->supporting_moby_index = -1; } } - if (moby_data->i280 != -1) { + if (moby_data->supporting_moby_index != -1) { { float transformed_rotation[4]; Moby2C8398 *moby_instances; @@ -1329,7 +1347,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { int i; *(OvlQuad *)transformed_rotation = 0; moby_instances = D_L03_0015FFD8_m; - supporting_moby = &moby_instances[moby_data->i280]; + supporting_moby = &moby_instances[moby_data->supporting_moby_index]; pf = &moby_data->pf; if ((short)supporting_moby->cls == 0x335 || (short)supporting_moby->cls == 0x4BA) { for (i = 0; i < *(int *)pf->path; i++) { @@ -1365,16 +1383,16 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { if (m->pos[2] < g) { CollisionHit *hit = &D_L03_00173F40; if (hit->moby != 0 && FUN_L03_0024fba8_cf(hit->moby) != 0) { - moby_data->i280 = (Moby2C8398 *)hit->moby - D_L03_0015FFD8_m; - } else if (moby_data->i280 != -1) { - short cls = D_L03_0015FFD8_m[moby_data->i280].cls; + moby_data->supporting_moby_index = (Moby2C8398 *)hit->moby - D_L03_0015FFD8_m; + } else if (moby_data->supporting_moby_index != -1) { + short cls = D_L03_0015FFD8_m[moby_data->supporting_moby_index].cls; if (cls != 0x335 && cls != 0x4BA) { - moby_data->i280 = -1; + moby_data->supporting_moby_index = -1; } } m->pos[2] = g; moby_data->mv.f18 = 0.0f; - if (moby_data->i280 != -1) { + if (moby_data->supporting_moby_index != -1) { float a[4]; float b[4]; *(OvlQuad *)a = *(OvlQuad *)D_L03_00173F80; @@ -1391,7 +1409,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { } if (moby_data->b262 == 0) { if (vector_distance_xy(m->pos, D_L03_00166EC0) < 70.0f && - (D_L03_0015F5CC & 7) == moby_data->s28A) { + (D_L03_0015F5CC & 7) == moby_data->path_height_check_schedule_slot) { PathF2C8398 *pf = &moby_data->pf; float v[4]; int seg; @@ -1450,7 +1468,7 @@ void kerwan_path_enemy_update(Moby2C8398 *m) { D_L03_0015F580_macro, D_L03_0015F580_macro); FUN_L00_00259710_cf(m, 0x200, -1); - if (moby_data->i264 == -1) { + if (moby_data->heading_turn_gate_moby_index == -1) { mark_moby_for_removal(m); return; } @@ -1638,7 +1656,7 @@ void update_kerwan_path_enemy_hit_reaction(Moby2C8398 *moby) { moby_data->q.f50 = 10.0f; moby_data->q.f54 = 20.0f; moby_data->q.target_horizontal_speed = 2.0f * frame_time; - moby_data->b255 = 0; + moby_data->death_knockback_update_counter = 0; moby->flags &= 0xEFFF; moby_data->b67 = 0xFA; moby->state = ENEMY_DEATH_KNOCKBACK; diff --git a/src/overlays/l03/mobys/metropolis_train_locomotive.c b/src/overlays/l03/mobys/metropolis_train_locomotive.c index a995ef2b7e..b60447c496 100644 --- a/src/overlays/l03/mobys/metropolis_train_locomotive.c +++ b/src/overlays/l03/mobys/metropolis_train_locomotive.c @@ -38,7 +38,7 @@ void place_metropolis_train(struct Moby *moby, void place_metropolis_train(struct Moby *moby, float *pos, float heading) { float start[4]; - float offset[4]; + float placement_offset_or_attachment_position[4]; float delta[4]; float old_pos[4]; float old_rot[4]; @@ -54,20 +54,26 @@ void place_metropolis_train(struct Moby *moby, float *pos, float heading) { *(OvlQuad *)old_pos = *(OvlQuad *)&moby->pos; *(OvlQuad *)old_rot = *(OvlQuad *)&moby->rot; qcopy(coupling + 0x10, start); - offset[0] = fast_cos(heading) * -*(float *)(locomotive_data + 0xDC); - offset[1] = fast_sin(heading) * -*(float *)(locomotive_data + 0xDC); - offset[2] = 0.0f; - fast_vec_add(&moby->pos, start, offset); + placement_offset_or_attachment_position[0] = + fast_cos(heading) * -*(float *)(locomotive_data + 0xDC); + placement_offset_or_attachment_position[1] = + fast_sin(heading) * -*(float *)(locomotive_data + 0xDC); + placement_offset_or_attachment_position[2] = 0.0f; + fast_vec_add(&moby->pos, start, placement_offset_or_attachment_position); moby->rot.z = fast_add_rotations(heading, 3.1415927f); moby->rot.y = 0.0f; fast_vec_sub(delta, &moby->pos, old_pos); update_entity_matrix(locomotive_data + 0x60, delta, old_rot, &moby->rot); *(int *)(locomotive_data + 0xCC) = 0; *(int *)(locomotive_data + 0xD0) = 0; - offset[0] = fast_cos(heading) * -*(float *)(locomotive_data + 0xBC); - offset[1] = fast_sin(heading) * -*(float *)(locomotive_data + 0xBC); - offset[2] = 0.0f; - fast_vec_add(offset, offset, &moby->pos); + placement_offset_or_attachment_position[0] = + fast_cos(heading) * -*(float *)(locomotive_data + 0xBC); + placement_offset_or_attachment_position[1] = + fast_sin(heading) * -*(float *)(locomotive_data + 0xBC); + placement_offset_or_attachment_position[2] = 0.0f; + fast_vec_add(placement_offset_or_attachment_position, + placement_offset_or_attachment_position, + &moby->pos); while (next_id != -1) { char *car = D_L03_0015FFD8 + (next_id << 8); char *car_data = *(char **)(car + 0x78); @@ -76,7 +82,7 @@ void place_metropolis_train(struct Moby *moby, float *pos, float heading) { car_pos[0] = fast_cos(heading) * -*(float *)&metropolis_train_carriage_spacing; car_pos[1] = fast_sin(heading) * -*(float *)&metropolis_train_carriage_spacing; car_pos[2] = 0.0f; - fast_vec_add(car_pos, car_pos, offset); + fast_vec_add(car_pos, car_pos, placement_offset_or_attachment_position); car_off[0] = fast_cos(heading) * -*(float *)(car_data + 0xC4); car_off[1] = fast_sin(heading) * -*(float *)(car_data + 0xC4); car_off[2] = 0.0f; @@ -89,7 +95,7 @@ void place_metropolis_train(struct Moby *moby, float *pos, float heading) { advance_moby_animation(car); update_entity(car); *(unsigned short *)(car + 0x34) |= 6; - moby_point_position(car, 1, offset); + moby_point_position(car, 1, placement_offset_or_attachment_position); fast_vec_sub(delta, car + 0x10, car_data + 0xA0); update_entity_matrix(car_data + 0x20, delta, car_data + 0xB0, car + 0x40); qcopy(car_data + 0xA0, car + 0x10); @@ -148,7 +154,7 @@ void update_metropolis_train_motion(char *moby) { Car292890 *car_data; char *target; int next_id; - int id; + int current_car_moby_index; float distance_margin_or_target_angle; locomotive_state = ((Train292890 *)MOBY(moby)->pvars); @@ -167,7 +173,7 @@ void update_metropolis_train_motion(char *moby) { if (next_id != 0) { locomotive_state->first_car_moby_index = next_id; } - id = next_id; + current_car_moby_index = next_id; target = coupling + 0x10; distance_margin_or_target_angle = locomotive_state->fDC - vector_distance_xy(moby + 0x10, target); @@ -209,7 +215,7 @@ void update_metropolis_train_motion(char *moby) { (locomotive_state->fC8 * 60.0f / locomotive_state->fC0) * frame_time); moby_point_position(moby, 0, front); do { - car = D_L03_0015FFD8_292890 + (id << 8); + car = D_L03_0015FFD8_292890 + (current_car_moby_index << 8); ((unsigned char *)car)[0x72] = 0xFF; car_data = *(Car292890 **)(car + 0x78); moby_point_position(car, 0, rear); @@ -236,8 +242,8 @@ void update_metropolis_train_motion(char *moby) { update_entity_matrix(car_data->motion, delta, car_data->prev_rot, car + 0x40); qcopy(car_data->prev_pos, car + 0x10); qcopy(car_data->prev_rot, car + 0x40); - id = car_data->next_car_moby_index; - } while (id != -1); + current_car_moby_index = car_data->next_car_moby_index; + } while (current_car_moby_index != -1); fast_vec_sub(delta, moby + 0x10, old_pos); update_entity_matrix(locomotive_state->motion, delta, old_rot, moby + 0x40); } else { @@ -263,7 +269,7 @@ void update_metropolis_train_idle_motion(struct Moby *moby) { char *moby_position; char *moby_rotation; int next_id; - int id; + int car_moby_index; float *dp; char *motion; @@ -275,19 +281,19 @@ void update_metropolis_train_idle_motion(struct Moby *moby) { qcopy(old_rot, moby_rotation); next_id = *(int *)(locomotive_pvars + 0xA0); if (next_id != -1) { - id = next_id; + car_moby_index = next_id; dp = delta; motion = locomotive_pvars + 0x60; do { - car = D_L03_0015FFD8_292d10 + (id << 8); + car = D_L03_0015FFD8_292d10 + (car_moby_index << 8); car_data = *(char **)(car + 0x78); car[0x72] = 0x40; fast_vec_sub(delta, car + 0x10, car_data + 0xA0); update_entity_matrix(car_data + 0x20, delta, car_data + 0xB0, car + 0x40); qcopy(car_data + 0xA0, car + 0x10); qcopy(car_data + 0xB0, car + 0x40); - id = *(int *)(car_data + 0xC0); - } while (id != -1); + car_moby_index = *(int *)(car_data + 0xC0); + } while (car_moby_index != -1); fast_vec_sub(dp, &moby->pos, old_pos); update_entity_matrix(motion, dp, old_rot, &moby->rot); } else { @@ -440,7 +446,7 @@ void metropolis_train_locomotive_update(char *moby) { struct Moby *linked_moby; int second_path_node_index; char *second_path; - u32 mode; + u32 hero_control_mode; int ident; train_engine_pvars = ((Engine292e98 *)MOBY(moby)->pvars); @@ -526,8 +532,8 @@ void metropolis_train_locomotive_update(char *moby) { if (train_engine_pvars->boarding_turret_moby_index == -1) { break; } - mode = hero.state.control_mode; - if (mode < 2 || mode == 9 || mode == 12) { + hero_control_mode = hero.state.control_mode; + if (hero_control_mode < 2 || hero_control_mode == 9 || hero_control_mode == 12) { MOBY(moby)->command = 4; D_L03_0015FDFC = 1; request_music_track(4, 7); diff --git a/src/overlays/l03/mobys/moving_platform_small.c b/src/overlays/l03/mobys/moving_platform_small.c index f852b25d69..eae4436598 100644 --- a/src/overlays/l03/mobys/moving_platform_small.c +++ b/src/overlays/l03/mobys/moving_platform_small.c @@ -72,7 +72,7 @@ void moving_platform_small_update(char *moby) { int easing_frame_count; int next_path_node_index; int end; - int count; + int path_node_count; int next_path_node_byte_offset; int node_off; signed char path_node_step; @@ -164,9 +164,10 @@ void moving_platform_small_update(char *moby) { pc = &platform_pvars->path_cursor; path = *(int **)(pc + 0x10); path_node_step = pc[4]; - count = *path; - end = path_node_step < 0 ? 0 : count - 1; - next_path_node_index = (platform_pvars->path_cursor + count + path_node_step) % count; + path_node_count = *path; + end = path_node_step < 0 ? 0 : path_node_count - 1; + next_path_node_index = + (platform_pvars->path_cursor + path_node_count + path_node_step) % path_node_count; node_off = next_path_node_index * 0x10; platform_position = moby + 0x10; fast_vec_sub( diff --git a/src/overlays/l03/mobys/rail_lift.c b/src/overlays/l03/mobys/rail_lift.c index 9bb08d6377..237bf1ad69 100644 --- a/src/overlays/l03/mobys/rail_lift.c +++ b/src/overlays/l03/mobys/rail_lift.c @@ -42,10 +42,10 @@ extern void draw_hud_text_panel(void) __asm__("FUN_L00_00237200"); void update_rail_lift_help_and_hud(struct Moby *lift_moby, int mode) __asm__("FUN_L03_002dcbc8"); -void update_rail_lift_help_and_hud(struct Moby *lift_moby, int mode) { +void update_rail_lift_help_and_hud(struct Moby *lift_moby, int help_message_mode) { char *lift_vars = (char *)lift_moby->pvars; int hud_key; - switch (mode) { + switch (help_message_mode) { case 1: try_set_help_message(8, 0xBCE); break; diff --git a/src/overlays/l03/mobys/robot_dog.c b/src/overlays/l03/mobys/robot_dog.c index 2174bcc883..d40e277149 100644 --- a/src/overlays/l03/mobys/robot_dog.c +++ b/src/overlays/l03/mobys/robot_dog.c @@ -42,8 +42,9 @@ enum { int is_robot_dog_in_state_5(struct Moby *moby) __asm__("FUN_L03_002c5b78"); int is_robot_dog_in_state_5(struct Moby *moby) { - if (moby && moby->state != MOBY_STATE_PENDING_REMOVAL && moby->state != 0xFD && - moby->oclass == 0x23D && moby->state == ROBOT_DOG_FOLLOW_PATH) { + if (moby && moby->state != MOBY_STATE_PENDING_REMOVAL && + moby->state != MOBY_STATE_ALTERNATE_REMOVAL_MARKER && moby->oclass == 0x23D && + moby->state == ROBOT_DOG_FOLLOW_PATH) { return 1; } return 0; @@ -590,11 +591,11 @@ extern int is_kerwan_path_enemy_in_state_9(unsigned char *) __asm__("FUN_L03_002 int is_point_inside_clip_volume_cf(int id) __asm__("FUN_L03_002c6d98"); -int is_point_inside_clip_volume_cf(int id) { +int is_point_inside_clip_volume_cf(int moby_group_index) { unsigned char *group_member_moby; - if (id == 0xFF) + if (moby_group_index == 0xFF) goto absent; - get_first_moby_in_group((int *)&group_member_moby, id, 0, 0); + get_first_moby_in_group((int *)&group_member_moby, moby_group_index, 0, 0); while (group_member_moby != 0) { if (is_kerwan_path_enemy_in_state_9(group_member_moby)) return 1; diff --git a/src/overlays/l03/mobys/taxi.c b/src/overlays/l03/mobys/taxi.c index 612b205d46..10db1e27f9 100644 --- a/src/overlays/l03/mobys/taxi.c +++ b/src/overlays/l03/mobys/taxi.c @@ -36,8 +36,8 @@ s32 is_taxi_in_round_trip_phase(u8 *tested_moby) { void request_taxi_return_help_message(void *taxi_moby, int mode) __asm__("FUN_L03_002d3100"); -void request_taxi_return_help_message(void *taxi_moby, int mode) { - if (mode == 1) { +void request_taxi_return_help_message(void *taxi_moby, int route_help_mode) { + if (route_help_mode == 1) { try_set_help_message(8, 0xBC9); } else { try_set_help_message(8, 0xBC9); diff --git a/src/overlays/l04/mobys/big_axebot.c b/src/overlays/l04/mobys/big_axebot.c index 73e2ed9f63..40a3e2b7ba 100644 --- a/src/overlays/l04/mobys/big_axebot.c +++ b/src/overlays/l04/mobys/big_axebot.c @@ -192,7 +192,7 @@ typedef struct M_B7B0 { char pad7C[3]; char f7F; char pad80[0x24]; - unsigned char fA4; + unsigned char hit_record_index; char padA5; short cls; char padA8[0x14]; @@ -477,7 +477,7 @@ void big_axebot_update(M_B7B0 *moby) { } } } - moby->fA4 = 0xFF; + moby->hit_record_index = 0xFF; if (data->extended_detection_request != 0) { data->extended_detection_timer = scale_game_frames(0xF0); } diff --git a/src/overlays/l04/mobys/blarg_trooper.c b/src/overlays/l04/mobys/blarg_trooper.c index 9cadde9338..9d54efa9c6 100644 --- a/src/overlays/l04/mobys/blarg_trooper.c +++ b/src/overlays/l04/mobys/blarg_trooper.c @@ -126,7 +126,7 @@ struct Shot5BD0 { float hit_direction_z; float fC; void *p10; - int v14; + int hit_flags; char c18; char c19; short hit_source_class; @@ -718,7 +718,7 @@ void blarg_trooper_update(struct Moby *moby) { update_scratch.w.p.blk.f4 = fast_sin(moby->rot.z) * 0.2f; update_scratch.w.p.blk.hit_direction_z = 0.0f; update_scratch.w.p.blk.p10 = moby; - update_scratch.w.p.blk.v14 = 1; + update_scratch.w.p.blk.hit_flags = 1; update_scratch.w.p.blk.f1C = 1.0f; set_vector_length_xy(&update_scratch.w.p.blk, &update_scratch.w.p.blk, 1.0f); update_scratch.w.p.blk.hit_direction_z = 1.0f; diff --git a/src/overlays/l04/mobys/butterfly_swarm.c b/src/overlays/l04/mobys/butterfly_swarm.c index 47b341c854..b161eee638 100644 --- a/src/overlays/l04/mobys/butterfly_swarm.c +++ b/src/overlays/l04/mobys/butterfly_swarm.c @@ -11,11 +11,11 @@ int find_nearest_point_index_xy(char *moby, char *points, int count) __asm__("FUN_L04_001f3038"); -int find_nearest_point_index_xy(char *moby, char *points, int count) { +int find_nearest_point_index_xy(char *moby, char *points, int point_count) { int best = -1; int i; float best_distance = 32767.0f; - for (i = 0; i < count; i++) { + for (i = 0; i < point_count; i++) { float distance = vector_distance_xy(moby + 0x10, points + i * 0x10); if (distance < best_distance) { best_distance = distance; @@ -560,7 +560,7 @@ void butterfly_swarm_update(struct Moby *moby) { f32 angle; f32 angle2; f32 speed; - f32 size; + f32 spawn_radius; f32 average; f32 effect[8]; @@ -634,10 +634,10 @@ void butterfly_swarm_update(struct Moby *moby) { qcopy(&child->pos, &moby->pos); angle = random_angle_radians(); angle2 = random_angle_radians(); - size = random_float_between(0.6f, 0.9f); - child->pos.x += fast_cos(angle) * fast_sin(angle2) * size; - child->pos.y += fast_sin(angle) * fast_sin(angle2) * size; - child->pos.z += fast_cos(angle2) * size; + spawn_radius = random_float_between(0.6f, 0.9f); + child->pos.x += fast_cos(angle) * fast_sin(angle2) * spawn_radius; + child->pos.y += fast_sin(angle) * fast_sin(angle2) * spawn_radius; + child->pos.z += fast_cos(angle2) * spawn_radius; part->unk50 = 0; part->leader_pos = &moby->pos; part->unk58 = 0; diff --git a/src/overlays/l04/mobys/circular_saw_enemy.c b/src/overlays/l04/mobys/circular_saw_enemy.c index 5a2adf72d9..96fc433bc7 100644 --- a/src/overlays/l04/mobys/circular_saw_enemy.c +++ b/src/overlays/l04/mobys/circular_saw_enemy.c @@ -850,7 +850,7 @@ void circular_saw_enemy_update(M_35F0 *moby) { is_point_inside_clip_volume(moby->pos, data->point_attack_cuboid_indices[i]) != 0) { data->f158 = data->point_attack_cuboid_indices[i]; moby->state = CIRCULAR_SAW_STATE_POINT_ATTACK; - data->point_attack_phase = 0; + data->point_attack_phase = CIRCULAR_SAW_POINT_ATTACK_APPROACH_AND_ALIGN; break; } } @@ -917,7 +917,7 @@ void circular_saw_enemy_update(M_35F0 *moby) { if (vector_distance_xy(moby->pos, dest) < 1.0f) { if (fast_difference_between_rotations(moby->rot, l04_cuboids[data->f158].rot.z) < 0.17453292f) { - data->point_attack_phase = 1; + data->point_attack_phase = CIRCULAR_SAW_POINT_ATTACK_ATTACK; } } break; @@ -929,7 +929,7 @@ void circular_saw_enemy_update(M_35F0 *moby) { } else if (moby->f70 & 2) { blend_moby_animation(moby, 0, 0, (void *)scale_game_frames(10)); data->yaw_turn_step = 0.0f; - data->point_attack_phase = 2; + data->point_attack_phase = CIRCULAR_SAW_POINT_ATTACK_TURN_TO_PATH; } break; case CIRCULAR_SAW_POINT_ATTACK_TURN_TO_PATH: { diff --git a/src/overlays/l04/mobys/leaf.c b/src/overlays/l04/mobys/leaf.c index 7853246f53..efa40c6686 100644 --- a/src/overlays/l04/mobys/leaf.c +++ b/src/overlays/l04/mobys/leaf.c @@ -35,7 +35,7 @@ void leaf_update(struct Moby *moby) { char *leaf_vars = (char *)moby->pvars; float speed; float amount; - int timer; + int activation_delay; float *motion; random_direction_or_collision_start_position.q = 0; @@ -134,10 +134,10 @@ void leaf_update(struct Moby *moby) { if (*(int *)(leaf_vars + 0x44) > 0) return; qcopy(&moby->pos, leaf_vars + 0x30); - timer = random_int_between(120, 2400); + activation_delay = random_int_between(120, 2400); /* Preserve the retail ordering of the timer reload stores. */ - *(volatile int *)(leaf_vars + 0x40) = timer; - *(volatile int *)(leaf_vars + 0x44) = timer; + *(volatile int *)(leaf_vars + 0x40) = activation_delay; + *(volatile int *)(leaf_vars + 0x44) = activation_delay; moby->state = LEAF_WAIT_FOR_ACTIVATION; break; default: diff --git a/src/overlays/l04/mobys/leg_walker.c b/src/overlays/l04/mobys/leg_walker.c index df067bc0c1..7ffbc583b7 100644 --- a/src/overlays/l04/mobys/leg_walker.c +++ b/src/overlays/l04/mobys/leg_walker.c @@ -290,7 +290,7 @@ int update_leg_rig_height_and_tilt(StMoby *moby, Steer *steer_state) { extern float rig_turn_2d48(float, float, float *, float, float, float) __asm__("FUN_L00_00258110"); -void FUN_L04_00292d48(struct Moby *moby, LegRig *rig, int flags) { +void FUN_L04_00292d48(struct Moby *moby, LegRig *rig, int gait_mask) { float joint[16]; float tilt[4]; float twist; @@ -309,7 +309,7 @@ void FUN_L04_00292d48(struct Moby *moby, LegRig *rig, int flags) { fast_add_rotations(fast_subtract_rotations(leg->yaw, heading), leg->upper_turn), leg->lower_turn); base_yaw = fast_subtract_rotations(heading, twist); - if (rig->gait == 0 || (flags & mask) == 0) { + if (rig->gait == 0 || (gait_mask & mask) == 0) { leg->upper_turn = rig_turn_2d48(leg->upper_turn, 0.0f, &rig->legs[i].upper_turn_speed, @@ -354,7 +354,7 @@ void FUN_L04_00292d48(struct Moby *moby, LegRig *rig, int flags) { build_axis_rotation_quaternion(rig->legs[i].manip_b.rot, 2, rig->legs[i].upper_turn); if (rig->legs[i].manip_a.attached) { build_axis_rotation_quaternion(rig->legs[i].manip_a.rot, 2, rig->legs[i].lower_turn); - if (flags & mask) { + if (gait_mask & mask) { build_axis_rotation_quaternion(tilt, 0, -moby->rot.x); multiply_quaternions(rig->legs[i].manip_a.rot, rig->legs[i].manip_a.rot, tilt); } @@ -395,7 +395,7 @@ s32 leg_walker_update(struct Moby *moby, LegRig *rig, f32 speed, f32 heading, f3 s32 probe_kind; f32 probe_start, probe_end; s32 mode; - s32 flags; + s32 movement_constraint_flags; s32 changed; f32 time; s32 i; @@ -448,7 +448,7 @@ s32 leg_walker_update(struct Moby *moby, LegRig *rig, f32 speed, f32 heading, f3 if (!(rig->control_flags & 4)) { s32 active = mode | (rig->mode & 0x30); s32 bit = 1; - f32 count = 0.0f; + f32 active_point_count = 0.0f; RigVec *moved = transformed; RigVec *point = (RigVec *)rig->pts; @@ -456,7 +456,7 @@ s32 leg_walker_update(struct Moby *moby, LegRig *rig, f32 speed, f32 heading, f3 pos = &moby->pos; for (i = 5; i >= 0; i--) { if (active & bit) { - count += 1.0f; + active_point_count += 1.0f; fast_vec_add(&shift, &shift, point); fast_vec_sub(&shift, &shift, moved); } @@ -464,7 +464,7 @@ s32 leg_walker_update(struct Moby *moby, LegRig *rig, f32 speed, f32 heading, f3 moved++; point++; } - divide_vector_xyz(&shift, &shift, count); + divide_vector_xyz(&shift, &shift, active_point_count); } else { pos = &moby->pos; shift.x = fast_cos(rig->heading) * rig->speed; @@ -500,7 +500,7 @@ s32 leg_walker_update(struct Moby *moby, LegRig *rig, f32 speed, f32 heading, f3 if (rig->speed < speed) rig->speed = speed; } - flags = update_leg_rig_height_and_tilt(moby, rig); + movement_constraint_flags = update_leg_rig_height_and_tilt(moby, rig); walker_update_gait(moby, rig, speed, heading, step, changed); if (!(rig->control_flags & 4)) { rig_probe_setup(moby, 0, &probe_kind, &local.v.ground, &probe_start, &probe_end); @@ -518,12 +518,12 @@ s32 leg_walker_update(struct Moby *moby, LegRig *rig, f32 speed, f32 heading, f3 for (tries = 0; tries < 8 && rig_probe(&local.v.ground, 4, probe_start, moby, probe_end); tries++) { qcopy(&local.v.ground, D_L04_00173FF0); - flags |= 1; + movement_constraint_flags |= 1; } fast_vec_sub(transformed, &local.v.ground, pos); fast_vec_add(pos, &local.v.ground, &local.v.offset); if (vector_length_xy(transformed) < rig->speed * 0.5f) - flags |= 2; + movement_constraint_flags |= 2; } local.joints[0] = rig->legs[0].joint; local.joints[1] = rig->legs[0].joint2; @@ -533,7 +533,7 @@ s32 leg_walker_update(struct Moby *moby, LegRig *rig, f32 speed, f32 heading, f3 local.joints[5] = rig->jointB5; transform_scaled_vertex_batch(moby, 6, local.joints, rig); if (rig->gait == 0x12 && moby->seq == rig->anims[12]->id) - return flags; + return movement_constraint_flags; moby->anim_speed = 1.0f; if (rig->gait != 0) { LegRigAnim **fallback = rig->anims; @@ -561,7 +561,7 @@ s32 leg_walker_update(struct Moby *moby, LegRig *rig, f32 speed, f32 heading, f3 fallback++; } } - return flags; + return movement_constraint_flags; } u8 D_L04_001CA938[13][4] = { diff --git a/src/overlays/l04/mobys/snow_plow.c b/src/overlays/l04/mobys/snow_plow.c index c8c3794bf3..5857c04149 100644 --- a/src/overlays/l04/mobys/snow_plow.c +++ b/src/overlays/l04/mobys/snow_plow.c @@ -143,7 +143,7 @@ void snow_plow_update(struct Moby *moby) { unsigned char state = moby->state; int i, *p, *path; float amount, length, step, speed; - int timer; + int instance_index_or_spawn_frames; qcopy(&update_start_position, &moby->pos); if (!snow_plow_vars) return; @@ -157,8 +157,9 @@ void snow_plow_update(struct Moby *moby) { } else { char *message = snow_plow_missing_path_warning_format; int oclass = moby->oclass; - timer = truncate_float_to_s32((float)(((int)moby - D_L04_0015FFD8) >> 8)); - debug_print(message, oclass, timer); + instance_index_or_spawn_frames = + truncate_float_to_s32((float)(((int)moby - D_L04_0015FFD8) >> 8)); + debug_print(message, oclass, instance_index_or_spawn_frames); } moby->draw_dist = 0x7f; moby->update_dist = 0xff; @@ -436,68 +437,68 @@ void snow_plow_update(struct Moby *moby) { fast_vec_scale(&delta, &moby->rot_row0, frame_scale * 0.075f); delta.f[2] += frame_scale * 0.08f; if (moby->oclass == 0x1d2) { - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x63f, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x641, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x642, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); } else if (moby->oclass == 0x1e0) { - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x642, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x643, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x644, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, @@ -505,12 +506,12 @@ void snow_plow_update(struct Moby *moby) { D_L04_0015F580); } else if (moby->oclass == 0x1e6) { int i; - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x645, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, @@ -519,12 +520,12 @@ void snow_plow_update(struct Moby *moby) { i = 5; do { --i; - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x646, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, @@ -532,159 +533,159 @@ void snow_plow_update(struct Moby *moby) { D_L04_0015F580); } while (i >= 0); } else if (moby->oclass == 0x1ea) { - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x647, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x648, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x649, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); } else if (moby->oclass == 0x1ee) { - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x64d, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x64e, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); } else if (moby->oclass == 0x1ef) { - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x64f, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x650, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x651, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x658, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); } else if (moby->oclass == 0x1f2) { - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x652, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x653, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x654, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); } else if (moby->oclass == 0x1ed) { - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x793, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, D_L04_0015F580, D_L04_0015F580); - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x794, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, @@ -694,12 +695,12 @@ void snow_plow_update(struct Moby *moby) { int i = 2; do { --i; - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x795, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, @@ -711,12 +712,12 @@ void snow_plow_update(struct Moby *moby) { int i = 2; do { --i; - timer = scale_game_frames(90); + instance_index_or_spawn_frames = scale_game_frames(90); FUN_L00_00263fd8(moby, 0x796, &moby->pos, &moby->rot, - timer, + instance_index_or_spawn_frames, 0, frame_time_sq * 12.0f, &delta, diff --git a/src/overlays/l04/mobys/upper_door.c b/src/overlays/l04/mobys/upper_door.c index 154509b6eb..3a03dc0e7c 100644 --- a/src/overlays/l04/mobys/upper_door.c +++ b/src/overlays/l04/mobys/upper_door.c @@ -61,7 +61,7 @@ void upper_door_update(struct Moby *moby) { struct RiserVars *riser_vars = (struct RiserVars *)moby->pvars; struct Moby *trigger_moby; s16 save_id_index; - u16 id; + u16 moby_save_id; switch (moby->state) { case UPPER_DOOR_INITIALIZE: @@ -69,10 +69,12 @@ void upper_door_update(struct Moby *moby) { moby->state = UPPER_DOOR_WAIT_FOR_ACTIVATION; break; case UPPER_DOOR_WAIT_FOR_ACTIVATION: - id = moby->save_id; - save_id_index = id; + moby_save_id = moby->save_id; + save_id_index = moby_save_id; if (l04_save_id_collection_state.collected[save_id_index] == 0 && - !((D_0014C190_257218[current_level_index][save_id_index >> 5] >> (id & 0x1F)) & 1)) { + !((D_0014C190_257218[current_level_index][save_id_index >> 5] >> + (moby_save_id & 0x1F)) & + 1)) { if (riser_vars->trigger == -1) break; trigger_moby = (struct Moby *)((riser_vars->trigger << 8) + D_L04_0015FFD8); diff --git a/src/overlays/l04/mobys/woodcut_bot.c b/src/overlays/l04/mobys/woodcut_bot.c index 346d435636..cd949c81f5 100644 --- a/src/overlays/l04/mobys/woodcut_bot.c +++ b/src/overlays/l04/mobys/woodcut_bot.c @@ -177,17 +177,17 @@ typedef struct WBData { /* 0x059 */ char pad059; /* 0x05A */ unsigned char f5A; /* 0x05B */ char pad05B[0x55]; - /* 0x0B0 */ char fB0[7]; - /* 0x0B7 */ unsigned char fB7; + /* 0x0B0 */ char hit_response_interpolation_state[7]; + /* 0x0B7 */ unsigned char hit_response_first_channel_target; /* 0x0B8 */ char pad0B8[8]; - /* 0x0C0 */ char fC0[0x10]; - /* 0x0D0 */ float fD0; + /* 0x0C0 */ char knockback_motion_vector[0x10]; + /* 0x0D0 */ float knockback_gravity_decrement; /* 0x0D4 */ float fD4; - /* 0x0D8 */ float fD8; - /* 0x0DC */ float fDC; - /* 0x0E0 */ int fE0; - /* 0x0E4 */ int fE4; - /* 0x0E8 */ float fE8; + /* 0x0D8 */ float knockback_horizontal_step; + /* 0x0DC */ float knockback_vertical_step_limit; + /* 0x0E0 */ int knockback_collision_radius_scaled; + /* 0x0E4 */ int knockback_motion_flags; + /* 0x0E8 */ float knockback_ground_probe_z_offset; /* 0x0EC */ char pad0EC[0x11]; /* 0x0FD */ unsigned char fFD; /* 0x0FE */ char pad0FE[0x12]; @@ -204,9 +204,9 @@ typedef struct WBData { /* 0x3B0 */ float initial_position[4]; /* 0x3C0 */ unsigned char initial_debris_animation_enabled; /* 0x3C1 */ unsigned char saved_non_recovery_state; - /* 0x3C2 */ short t3C2; - /* 0x3C4 */ short t3C4; - /* 0x3C6 */ short t3C6; + /* 0x3C2 */ short action_selection_cooldown; + /* 0x3C4 */ short hit_response_cooldown; + /* 0x3C6 */ short excitement_timer; /* 0x3C8 */ float recoil_tilt_angle; /* 0x3CC */ char pad3CC[4]; /* 0x3D0 */ float yaw_turn_spring_state; @@ -238,9 +238,9 @@ typedef struct WBMoby { /* 0x7C */ char pad7C[3]; /* 0x7F */ unsigned char f7F; /* 0x80 */ char pad80[0x24]; - /* 0xA4 */ unsigned char fA4; + /* 0xA4 */ unsigned char hit_record_index; /* 0xA5 */ char padA5[0x17]; - /* 0xBC */ unsigned char fBC; + /* 0xBC */ unsigned char movement_recovery_flags; } WBMoby; typedef struct WBQuery { @@ -321,6 +321,9 @@ void woodcut_bot_update(WBMoby *m) { WOODCUT_BOT_REACTION_RECOIL_TO_IDLE_WITH_COOLDOWNS = 5, WOODCUT_BOT_REACTION_HIT_RECOVERY_WITH_MELEE_WINDOW_GUARD = 6 }; + enum { + LEG_RIG_ANIMATION_STRIDE_SCALING_DISABLED = 0 + }; int excited = 0; WBData *d = m->d; unsigned char *manipulator; @@ -335,7 +338,7 @@ void woodcut_bot_update(WBMoby *m) { float target_distance; float hd; - if (d->pending_excitement != 0 || d->t3C6 != 0) + if (d->pending_excitement != 0 || d->excitement_timer != 0) excited = 1; select_moby_combat_target(m, selected_target_position, @@ -357,7 +360,7 @@ void woodcut_bot_update(WBMoby *m) { hd = compute_interpolated_record_value(m); qcopy(position_snapshot, pos); qcopy(duplicate_position_snapshot, pos); - fast_dec_timer_s16(&d->t3C4); + fast_dec_timer_s16(&d->hit_response_cooldown); if (m->state != WOODCUT_BOT_DEATH_KNOCKBACK && m->state != WOODCUT_BOT_INITIALIZE) { int r; @@ -370,9 +373,10 @@ void woodcut_bot_update(WBMoby *m) { damage = 0.0f; p = (unsigned char *)find_moby_hit(m, 0xA10000, 0); r = hit_reaction(m, p, &d->hp, 0, &htype, &damage, 0, 4); - d->fE0 = 0x15E; - d->fE8 = 0.35f; - if (p != 0 && damage != 0.0f && m->state != WOODCUT_BOT_INITIALIZE && d->t3C4 == 0) { + d->knockback_collision_radius_scaled = 0x15E; + d->knockback_ground_probe_z_offset = 0.35f; + if (p != 0 && damage != 0.0f && m->state != WOODCUT_BOT_INITIALIZE && + d->hit_response_cooldown == 0) { unsigned char *hit_source_moby; float knockback_gravity_step; float b; @@ -397,11 +401,11 @@ void woodcut_bot_update(WBMoby *m) { knockback_gravity_step = frame_time_sq * 30.0f; b = frame_time_sq * 10.0f; default_knockback_horizontal_step = frame_time * 5.5f; - d->fE4 = 9; - d->fD0 = knockback_gravity_step; + d->knockback_motion_flags = 9; + d->knockback_gravity_decrement = knockback_gravity_step; d->fFD = 0; d->fD4 = b; - d->fD8 = default_knockback_horizontal_step; + d->knockback_horizontal_step = default_knockback_horizontal_step; d->hp -= damage; if (d->hp <= 0.0f) r = 1; @@ -411,17 +415,18 @@ void woodcut_bot_update(WBMoby *m) { case WOODCUT_BOT_REACTION_START_DEATH_KNOCKBACK: case WOODCUT_BOT_REACTION_DEATH_KNOCKBACK: d->fD4 = frame_time_sq * 17.0f; - d->fD8 = frame_time * 7.0f; - d->fDC = frame_time * 13.0f; + d->knockback_horizontal_step = frame_time * 7.0f; + d->knockback_vertical_step_limit = frame_time * 13.0f; *(OvlQuad *)v = *(OvlQuad *)(p + 0x10); - trooper_knockback_arc(v, &angle, &d->fD8, &d->fDC); - trooper_start_knockback(angle, m, d->fC0, 8, 1, 0); + trooper_knockback_arc( + v, &angle, &d->knockback_horizontal_step, &d->knockback_vertical_step_limit); + trooper_start_knockback(angle, m, d->knockback_motion_vector, 8, 1, 0); d->knockback_ascent_target_frame = 14.0f; d->knockback_descent_target_frame = 24.0f; m->state = WOODCUT_BOT_DEATH_KNOCKBACK; FUN_L00_00257470(m, 0, -1); - d->fB7 = 0x78; - start_hit_color_flash(m, d->fB0); + d->hit_response_first_channel_target = 0x78; + start_hit_color_flash(m, d->hit_response_interpolation_state); d->recoil_horizontal_step = (2.0f / scale_time(15.0f)) * 2.0f; break; case WOODCUT_BOT_REACTION_HIT_RECOVERY_AND_REPOSITION: @@ -430,7 +435,7 @@ void woodcut_bot_update(WBMoby *m) { if (m->anim != 4 || hd < 16.0f || hd > 27.0f) { short hit_source_moby_class; - m->fBC |= 5; + m->movement_recovery_flags |= 5; blend_moby_animation(m, 5, 0, scale_game_frames(3)); reset_walker_gait_helpers(d->leg_rig_movement_data); m->state = WOODCUT_BOT_HIT_RECOVERY_AND_REPOSITION; @@ -442,10 +447,10 @@ void woodcut_bot_update(WBMoby *m) { } *(OvlQuad *)v = *(OvlQuad *)(p + 0x10); trooper_knockback_arc(v, &angle, &d->recoil_horizontal_step, &one); - d->fB7 = 0x78; - start_hit_color_flash(m, d->fB0); - d->t3C4 = scale_game_frames(0xF); - d->t3C6 = scale_game_frames(0xF0); + d->hit_response_first_channel_target = 0x78; + start_hit_color_flash(m, d->hit_response_interpolation_state); + d->hit_response_cooldown = scale_game_frames(0xF); + d->excitement_timer = scale_game_frames(0xF0); } break; case WOODCUT_BOT_REACTION_RECOIL_TO_IDLE: @@ -457,11 +462,11 @@ void woodcut_bot_update(WBMoby *m) { *(OvlQuad *)v = *(OvlQuad *)(p + 0x10); trooper_knockback_arc(v, &angle, &d->recoil_horizontal_step, &one); m->rot[2] = fast_add_rotations(3.1415927f, angle); - d->fB7 = 0x78; - start_hit_color_flash(m, d->fB0); - d->t3C4 = scale_game_frames(0x1E); - d->t3C2 = scale_game_frames(0xB4); - d->t3C6 = scale_game_frames(0xF0); + d->hit_response_first_channel_target = 0x78; + start_hit_color_flash(m, d->hit_response_interpolation_state); + d->hit_response_cooldown = scale_game_frames(0x1E); + d->action_selection_cooldown = scale_game_frames(0xB4); + d->excitement_timer = scale_game_frames(0xF0); break; case 7: case 8: @@ -472,12 +477,12 @@ void woodcut_bot_update(WBMoby *m) { } } } - m->fA4 = 0xFF; + m->hit_record_index = 0xFF; if (d->pending_excitement != 0) - d->t3C6 = scale_game_frames(0xF0); - tm = &d->t3C2; + d->excitement_timer = scale_game_frames(0xF0); + tm = &d->action_selection_cooldown; d->pending_excitement = 0; - fast_dec_timer_s16(&d->t3C6); + fast_dec_timer_s16(&d->excitement_timer); if (m->state == WOODCUT_BOT_MELEE_ATTACK) { if (m->anim == 4 && hd > 16.0f && hd < 27.0f) { @@ -513,9 +518,9 @@ void woodcut_bot_update(WBMoby *m) { d->f30 = 1.0f; d->f28 = 1; d->f29 = 0; - m->fBC = 0; + m->movement_recovery_flags = 0; d->vertical_fall_step = 0.0f; - d->t3C6 = 0; + d->excitement_timer = 0; d->f58 = 8; d->f5A = 8; qcopy(d->initial_position, pos); @@ -542,26 +547,26 @@ void woodcut_bot_update(WBMoby *m) { blend_moby_animation(m, 0, 0, scale_game_frames(0x14)); } } - if (d->t3C2 == 0) { + if (d->action_selection_cooldown == 0) { if (target_distance < 3.0f && adiff < 1.5707964f) { blend_moby_animation(m, 4, 0, scale_game_frames(10)); m->state = WOODCUT_BOT_MELEE_ATTACK; } else if (excited ? (target_distance < d->target_engagement_range * 2.0f) : (target_distance < d->target_engagement_range)) { - if (m->fBC & 1) { + if (m->movement_recovery_flags & 1) { if (excited || d->movement_path_index == -1 || point_in_path_xy(selected_target_position, ((int *)l04_paths[d->movement_path_index]) + 4, *((int *)l04_paths[d->movement_path_index])) != 0) { m->state = WOODCUT_BOT_MOVE_TOWARD_TARGET; - m->fBC |= 8; + m->movement_recovery_flags |= 8; } } else { d->yaw_turn_spring_state = 0.0f; blend_moby_animation(m, 0x10, 0, scale_game_frames(10)); reset_walker_gait_helpers(d->leg_rig_movement_data); m->state = WOODCUT_BOT_TURN_BEFORE_MOVEMENT; - m->fBC |= 1; + m->movement_recovery_flags |= 1; } } if (!excited) { @@ -572,7 +577,7 @@ void woodcut_bot_update(WBMoby *m) { ((int *)l04_paths[d->movement_path_index]) + 4, *((int *)l04_paths[d->movement_path_index])) == 0)) { m->state = WOODCUT_BOT_RETURN_TO_SAVED_POSITION; - m->fBC |= 8; + m->movement_recovery_flags |= 8; } } } @@ -585,7 +590,7 @@ void woodcut_bot_update(WBMoby *m) { ((int *)l04_paths[d->movement_path_index]) + 4, *((int *)l04_paths[d->movement_path_index])) != 0) { m->state = WOODCUT_BOT_MOVE_TOWARD_TARGET; - m->fBC |= 8; + m->movement_recovery_flags |= 8; } else { blend_moby_animation(m, 0, 0, scale_game_frames(10)); m->state = WOODCUT_BOT_IDLE; @@ -629,26 +634,26 @@ void woodcut_bot_update(WBMoby *m) { spawn_crate_debris(m, debris_horizontal_step, p, rot, 0x5EC, 0, 0.35f, 0.7f); } } - if (d->t3C2 == 0) { + if (d->action_selection_cooldown == 0) { if (target_distance < 3.0f && adiff < 1.5707964f) { blend_moby_animation(m, 4, 0, scale_game_frames(10)); m->state = WOODCUT_BOT_MELEE_ATTACK; } else if (excited ? (target_distance < d->target_engagement_range * 2.0f) : (target_distance < d->target_engagement_range)) { - if (m->fBC & 1) { + if (m->movement_recovery_flags & 1) { if (excited || d->movement_path_index == -1 || point_in_path_xy(selected_target_position, ((int *)l04_paths[d->movement_path_index]) + 4, *((int *)l04_paths[d->movement_path_index])) != 0) { m->state = WOODCUT_BOT_MOVE_TOWARD_TARGET; - m->fBC |= 8; + m->movement_recovery_flags |= 8; } } else { d->yaw_turn_spring_state = 0.0f; blend_moby_animation(m, 0x10, 0, scale_game_frames(10)); reset_walker_gait_helpers(d->leg_rig_movement_data); m->state = WOODCUT_BOT_TURN_BEFORE_MOVEMENT; - m->fBC |= 1; + m->movement_recovery_flags |= 1; } } } @@ -665,7 +670,7 @@ void woodcut_bot_update(WBMoby *m) { ((int *)l04_paths[d->movement_path_index]) + 4, *((int *)l04_paths[d->movement_path_index])) != 0) { m->state = WOODCUT_BOT_MOVE_TOWARD_TARGET; - m->fBC |= 8; + m->movement_recovery_flags |= 8; } else if (adiff > 1.5707964f) { d->yaw_turn_spring_state = 0.0f; blend_moby_animation(m, 0x10, 0, scale_game_frames(10)); @@ -677,8 +682,8 @@ void woodcut_bot_update(WBMoby *m) { } break; case WOODCUT_BOT_MOVE_TOWARD_TARGET: { - if (m->fBC & 8) { - m->fBC &= ~8; + if (m->movement_recovery_flags & 8) { + m->movement_recovery_flags &= ~8; reset_leg_rig_from_animation(m, d->leg_rig_movement_data); } leg_walker_update(m, @@ -726,8 +731,8 @@ void woodcut_bot_update(WBMoby *m) { break; } case WOODCUT_BOT_RETURN_TO_SAVED_POSITION: - if (m->fBC & 8) { - m->fBC &= ~8; + if (m->movement_recovery_flags & 8) { + m->movement_recovery_flags &= ~8; reset_leg_rig_from_animation(m, d->leg_rig_movement_data); } if (target_distance < 3.0f && adiff < 1.5707964f) { @@ -735,8 +740,8 @@ void woodcut_bot_update(WBMoby *m) { reset_walker_gait_helpers(d->leg_rig_movement_data); m->state = WOODCUT_BOT_MELEE_ATTACK; } else { - if (m->fBC & 8) { - m->fBC &= ~8; + if (m->movement_recovery_flags & 8) { + m->movement_recovery_flags &= ~8; reset_leg_rig_from_animation(m, d->leg_rig_movement_data); } if (vector_distance_xy(pos, d->initial_position) < 2.0f) { @@ -762,7 +767,7 @@ void woodcut_bot_update(WBMoby *m) { blend_moby_animation(m, 0x10, 0, scale_game_frames(10)); reset_walker_gait_helpers(d->leg_rig_movement_data); m->state = WOODCUT_BOT_TURN_BEFORE_MOVEMENT; - m->fBC |= 0x10; + m->movement_recovery_flags |= 0x10; } else if (point_in_path_xy(selected_target_position, ((int *)l04_paths[d->movement_path_index]) + 4, *((int *)l04_paths[d->movement_path_index])) != 0) { @@ -780,7 +785,7 @@ void woodcut_bot_update(WBMoby *m) { } else { leg_walker_update( m, d->leg_rig_movement_data, frame_time * 0.0f, m->rot[2], frame_time_sq * 20.0f); - if (d->leg_rig_animation_mode == 0) { + if (d->leg_rig_animation_mode == LEG_RIG_ANIMATION_STRIDE_SCALING_DISABLED) { if (excited) { m->state = WOODCUT_BOT_SELECT_ACTION_WHILE_EXCITED; } else { @@ -791,19 +796,19 @@ void woodcut_bot_update(WBMoby *m) { break; case WOODCUT_BOT_MELEE_ATTACK: if (m->anim == 4 && (m->f70 & 2)) { - d->t3C2 = 0; + d->action_selection_cooldown = 0; blend_moby_animation(m, 0, 0, scale_game_frames(10)); m->state = WOODCUT_BOT_IDLE; } break; case WOODCUT_BOT_HIT_RECOVERY_AND_REPOSITION: if (m->anim2 != 5 || (m->anim == 5 && (m->f70 & 2))) { - if (m->fBC & 4) { - m->fBC &= ~4; + if (m->movement_recovery_flags & 4) { + m->movement_recovery_flags &= ~4; if (d->movement_path_index == -1) { blend_moby_animation(m, 0, 0, scale_game_frames(10)); m->state = WOODCUT_BOT_IDLE; - d->t3C2 = 0; + d->action_selection_cooldown = 0; } else { WBAngles tab = D_L04_001DC468; float v[4]; @@ -850,7 +855,7 @@ void woodcut_bot_update(WBMoby *m) { } else { blend_moby_animation(m, 0, 0, scale_game_frames(10)); m->state = WOODCUT_BOT_IDLE; - d->t3C2 = 0; + d->action_selection_cooldown = 0; } } } @@ -887,14 +892,14 @@ void woodcut_bot_update(WBMoby *m) { frame_time * 4.1887903f); } else { m->state = WOODCUT_BOT_IDLE; - d->t3C2 = 0; + d->action_selection_cooldown = 0; } } } break; case WOODCUT_BOT_TURN_BEFORE_MOVEMENT: if (m->anim == 0x10 && (m->f70 & 2)) { - if ((m->fBC & 0x10) || + if ((m->movement_recovery_flags & 0x10) || point_in_path_xy(selected_target_position, ((int *)l04_paths[d->movement_path_index]) + 4, *((int *)l04_paths[d->movement_path_index])) == 0) { @@ -904,8 +909,8 @@ void woodcut_bot_update(WBMoby *m) { m->state = WOODCUT_BOT_MOVE_TOWARD_TARGET; blend_moby_animation(m, 0, 0, scale_game_frames(10)); } - m->fBC = (m->fBC | 8) & ~0x10; - } else if (m->fBC & 0x10) { + m->movement_recovery_flags = (m->movement_recovery_flags | 8) & ~0x10; + } else if (m->movement_recovery_flags & 0x10) { m->rot[2] = spring_turn(m->rot[2], fast_arc_tan(d->initial_position[0] - m->pos[0], d->initial_position[1] - m->pos[1]), @@ -924,7 +929,7 @@ void woodcut_bot_update(WBMoby *m) { } break; case WOODCUT_BOT_DEATH_KNOCKBACK: - if ((step_moby_motion(m, d->fC0) & 0x40) || m->pos[2] < 1.0f) { + if ((step_moby_motion(m, d->knockback_motion_vector) & 0x40) || m->pos[2] < 1.0f) { emit_woodcut_bot_death_effects(m); FUN_L00_00263fd8( m, 0x6CB, pos, m->rot, 0, 0, 0.0f, D_L04_0015F580, D_L04_0015F580, D_L04_0015F580); @@ -941,7 +946,7 @@ void woodcut_bot_update(WBMoby *m) { { float recoil_scratch[16]; - update_hit_color_flash(m, d->fB0); + update_hit_color_flash(m, d->hit_response_interpolation_state); if (d->recoil_horizontal_step > 0.0f) { struct Hero *h = &hero; @@ -963,7 +968,7 @@ void woodcut_bot_update(WBMoby *m) { multiply_quaternions(d->recoil_rotation, d->recoil_rotation, recoil_scratch); if (m->state != WOODCUT_BOT_HIT_RECOVERY_AND_REPOSITION) d->saved_non_recovery_state = m->state; - if (m->state != WOODCUT_BOT_MOVE_TOWARD_TARGET && m->fBC != 6) { + if (m->state != WOODCUT_BOT_MOVE_TOWARD_TARGET && m->movement_recovery_flags != 6) { float g; d->vertical_fall_step += frame_time_sq * 9.8f; diff --git a/src/overlays/l04/spawn_smoke_puff_trail_with_endpoint_bursts.c b/src/overlays/l04/spawn_smoke_puff_trail_with_endpoint_bursts.c index 8a790a1491..975ab304f9 100644 --- a/src/overlays/l04/spawn_smoke_puff_trail_with_endpoint_bursts.c +++ b/src/overlays/l04/spawn_smoke_puff_trail_with_endpoint_bursts.c @@ -48,7 +48,7 @@ void spawn_smoke_puff_trail_with_endpoint_bursts( void *unused_moby, void *from, void *to, - int count, + int trail_puff_count, float from_puff_scale, float to_puff_scale) { @@ -59,18 +59,18 @@ void spawn_smoke_puff_trail_with_endpoint_bursts( int i; int tint; int grey; - float size; + float puff_scalar_upper_bound; Puff *puff; PuffTail *tail; int spin; fast_vec_sub(&step, to, from); - fast_vec_scale(&step, &step, 1.0f / (float)count); - grow = (to_puff_scale - from_puff_scale) / (float)count; + fast_vec_scale(&step, &step, 1.0f / (float)trail_puff_count); + grow = (to_puff_scale - from_puff_scale) / (float)trail_puff_count; particle_spawn_velocity.q = 0; particle_spawn_velocity.f[3] = 1.0f; particle_spawn_velocity.f[2] = 0.01f; - for (i = 0; i < count; i++) { + for (i = 0; i < trail_puff_count; i++) { fast_vec_scale(&at, &step, convert_integer_to_float(i)); fast_vec_add(&at, from, &at); particle_spawn_velocity.f[0] = randf_sym(0.0f, 0.005f); @@ -81,12 +81,12 @@ void spawn_smoke_puff_trail_with_endpoint_bursts( tint = random_int_between(0x40, 0x70); grey = random_int_between(0x40, 0x7F); grey = grey | (grey << 16 | grey << 8); - size = random_float_between(1.0f, 1.02f); + puff_scalar_upper_bound = random_float_between(1.0f, 1.02f); spin = random_int_between(-2, 2); puff = spawn_puff(&at, smoke_trail_puff_position_jitter_scale_gp, 1.0f, - size, + puff_scalar_upper_bound, spin, &particle_spawn_velocity, grow + from_puff_scale * 210000.0f, diff --git a/src/overlays/l05/hero/apply_hero_ground_material_effects.c b/src/overlays/l05/hero/apply_hero_ground_material_effects.c index 1ffc44f09c..1065f17ace 100644 --- a/src/overlays/l05/hero/apply_hero_ground_material_effects.c +++ b/src/overlays/l05/hero/apply_hero_ground_material_effects.c @@ -34,6 +34,9 @@ void apply_hero_ground_material_effects(void) { GROUND_MATERIAL_SINK_SURFACE_PROBE_THROUGH = 3, GROUND_MATERIAL_SINK_SURFACE_CONTACT_BYPASS = 11 }; + enum { + GROUND_MATERIAL_STATE_DEPENDENT_CONTACT_BYPASS = 1 + }; u8 save = hero.ground_sound_class; s16 saved_ground_type = hero.ground_type; f32 water_depth; @@ -83,7 +86,7 @@ void apply_hero_ground_material_effects(void) { hero.selector_4 = 1; if (saved_ground_type == GROUND_MATERIAL_SINK_TRIGGER) hero.selector_13 = 1; - if (saved_ground_type == 1) + if (saved_ground_type == GROUND_MATERIAL_STATE_DEPENDENT_CONTACT_BYPASS) hero.selector_1 = 1; if (saved_ground_type == 8) hero.on_slip_ground = 1; @@ -395,7 +398,10 @@ extern s32 FUN_L00_001f3170(void *, f32); extern u128_2133a8 D_L05_00174270[] NOT_SDA; s32 resolve_hero_position_collisions(s32 mode) __asm__("FUN_L05_00240ed0"); -s32 resolve_hero_position_collisions(s32 mode) { +s32 resolve_hero_position_collisions(s32 excess_displacement_mode) { + enum { + EXCESS_DISPLACEMENT_NORMALIZE_TO_CAPSULE_RADIUS = 0xF + }; V_2133a8 initial_position; V_2133a8 collision_query_offset; V_2133a8 resolved_displacement; @@ -469,7 +475,7 @@ s32 resolve_hero_position_collisions(s32 mode) { fast_vec_sub(&resolved_displacement, &hero.motion.pos.q, &initial_position); query_height_or_displacement_length = fast_vec_length(&resolved_displacement); if (hero.capsule_radius * 1.5f < query_height_or_displacement_length) { - if (mode == 0xF) { + if (excess_displacement_mode == EXCESS_DISPLACEMENT_NORMALIZE_TO_CAPSULE_RADIUS) { if (512.0f < resolved_displacement.f[0]) resolved_displacement.f[0] = 512.0f; else if (resolved_displacement.f[0] < -512.0f) diff --git a/src/overlays/l05/mobys/drain_cover.c b/src/overlays/l05/mobys/drain_cover.c index 9193251792..14325e5285 100644 --- a/src/overlays/l05/mobys/drain_cover.c +++ b/src/overlays/l05/mobys/drain_cover.c @@ -36,7 +36,7 @@ unsigned char *create_particle_with_velocity_and_lifetime(float unscaled_particl void *initial_position_source, void *initial_velocity_source, int life, - int size, + int initial_particle_size, int color) { unsigned char *allocated_object = create_part(0x30); @@ -55,7 +55,7 @@ unsigned char *create_particle_with_velocity_and_lifetime(float unscaled_particl *(float *)(velocity_block + 0x10) = 2.0f / convert_integer_to_float(life); *(short *)(allocated_object + 0xa) = life; *(volatile int *)(velocity_block + 0x18) = color; - *(volatile short *)(velocity_block + 0x1c) = size; + *(volatile short *)(velocity_block + 0x1c) = initial_particle_size; *(volatile int *)(velocity_block + 0x14) = color & 0xffffff; } return allocated_object; @@ -485,7 +485,7 @@ typedef struct DrainCoverVars { void update_drain_cover_tilt(char *moby, float turn_scale, float speed_scale) { DrainCoverVars *drain_cover_vars = (DrainCoverVars *)MOBY(moby)->pvars; struct Hero *game = &hero; - float offset[4]; + float hero_offset_from_cover[4]; float horizontal; float vertical; float angle0; @@ -499,9 +499,9 @@ void update_drain_cover_tilt(char *moby, float turn_scale, float speed_scale) { float dot1; if ((char *)game->ground_moby == moby && game->air_frames.s == 0) { - fast_vec_sub(offset, &game->motion.pos, &MOBY(moby)->pos); - dot0 = fast_vec_dot(offset, &MOBY(moby)->rot_row0); - dot1 = fast_vec_dot(offset, &MOBY(moby)->rot_row1); + fast_vec_sub(hero_offset_from_cover, &game->motion.pos, &MOBY(moby)->pos); + dot0 = fast_vec_dot(hero_offset_from_cover, &MOBY(moby)->rot_row0); + dot1 = fast_vec_dot(hero_offset_from_cover, &MOBY(moby)->rot_row1); horizontal = turn_scale * dot0; vertical = -turn_scale * dot1; } else { diff --git a/src/overlays/l05/mobys/electric_gate.c b/src/overlays/l05/mobys/electric_gate.c index 0c6dfba5b4..d25f6ee13d 100644 --- a/src/overlays/l05/mobys/electric_gate.c +++ b/src/overlays/l05/mobys/electric_gate.c @@ -123,11 +123,11 @@ void draw_electric_gate_beams(struct Moby *moby) { struct GeometryQuad quads[2][5]; char matrix[0x40]; u64 texture; - int i, j, k, vertex_index, outer_color, inner_color, offset; + int i, j, k, vertex_index, outer_color, inner_color, moby_table_byte_offset; float angle, blend; unsigned short *list; unsigned short *next_moby_index_ptr; - short id; + short moby_list_entry; angle = convert_integer_to_float(frame_number & 0x3F) / 63.0f * 6.28318f; for (i = 0; i < 5; i++) { @@ -170,22 +170,22 @@ void draw_electric_gate_beams(struct Moby *moby) { list = (unsigned short *)D_L05_001ABCC0[moby->group]; do { char *listed_moby; - offset = (*list & 0x7FFF) << 8; - listed_moby = (char *)(offset + (int)l05_moby_array); + moby_table_byte_offset = (*list & 0x7FFF) << 8; + listed_moby = (char *)(moby_table_byte_offset + (int)l05_moby_array); next_moby_index_ptr = list + 1; if (*(short *)(listed_moby + 0xA6) == 0x346 && *(unsigned char *)(listed_moby + 0x20) == 1) { copy_matrix_rotation(matrix, listed_moby + 0xC0); - qcopy(matrix + 0x30, (char *)(offset + (int)l05_moby_array) + 0x10); + qcopy(matrix + 0x30, (char *)(moby_table_byte_offset + (int)l05_moby_array) + 0x10); *(float *)(matrix + 0x3C) = 1.0f; for (k = 0; k < 5; k++) { draw_geometry_quad(&quads[0][k], matrix, 0); draw_geometry_quad(&quads[1][k], matrix, 0); } } - id = *(short *)list; + moby_list_entry = *(short *)list; list = next_moby_index_ptr; - } while (id >= 0); + } while (moby_list_entry >= 0); } float D_L05_0020B740[4][2] = { diff --git a/src/overlays/l05/mobys/extermitank.c b/src/overlays/l05/mobys/extermitank.c index ef82e595db..a63f0479e7 100644 --- a/src/overlays/l05/mobys/extermitank.c +++ b/src/overlays/l05/mobys/extermitank.c @@ -148,6 +148,10 @@ typedef struct ExtermitankVars { /* Moby class 625 */ void extermitank_update(unsigned char *moby) { + enum { + EXTERMITANK_LIFECYCLE_INITIALIZED = 1, + EXTERMITANK_LIFECYCLE_REMOVE = 2 + }; ExtermitankVars *extermitank_vars = (ExtermitankVars *)MOBY(moby)->pvars; float origin_position[4]; float particle_vector_a[4]; @@ -789,7 +793,7 @@ typedef struct { char *owner; int x14; unsigned char x18; - unsigned char x19; + unsigned char hit_response_tier; short type; float x1C; int flags; @@ -826,7 +830,7 @@ void process_extermitank_particle_hits(char *moby) { set_vector_length_xy(hit_info.v, hit_info.v, 1.5f); hit_info.v[2] = 1.0f; hit_info.v[3] = 5627.9248f; - hit_info.x19 = 1; + hit_info.hit_response_tier = 1; hit_info.type = MOBY(moby)->oclass; hit_info.x18 = 0; for (j = 0; j < 8; j++) { diff --git a/src/overlays/l05/mobys/pipe_mounted_grating.c b/src/overlays/l05/mobys/pipe_mounted_grating.c index 75fafd2cfb..e28d2c70e6 100644 --- a/src/overlays/l05/mobys/pipe_mounted_grating.c +++ b/src/overlays/l05/mobys/pipe_mounted_grating.c @@ -72,7 +72,7 @@ void pipe_mounted_grating_update(struct Moby *moby) { transform_vector_by_basis( particle_spawn_offset, particle_spawn_offset, &moby->rot_row0); for (j = 0; j < 10; j++) { - float size; + float particle_size_scale; random_vector(drift, frame_time * 1.5f, frame_time * 2.0f); fast_vec_scale(pos, drift, 5.0f); fast_vec_add(pos, pos, particle_spawn_offset); @@ -81,11 +81,11 @@ void pipe_mounted_grating_update(struct Moby *moby) { if (spin == 0) { spin--; } - size = random_float_between(0.4f, 0.5f); + particle_size_scale = random_float_between(0.4f, 0.5f); FUN_L00_00272060(pos, scale_game_frames(25), - size * 0.2f, - size, + particle_size_scale * 0.2f, + particle_size_scale, 0x7F207F7F, 0, spin, @@ -94,8 +94,8 @@ void pipe_mounted_grating_update(struct Moby *moby) { spin = -spin; FUN_L00_00272060(pos, scale_game_frames(25), - size * 0.14f, - size * 0.7f, + particle_size_scale * 0.14f, + particle_size_scale * 0.7f, 0x7F7F7F7F, 1, spin, diff --git a/src/overlays/l06/hero/update_hero_motion_for_current_state.c b/src/overlays/l06/hero/update_hero_motion_for_current_state.c index 19b0a8ca96..357fd19a98 100644 --- a/src/overlays/l06/hero/update_hero_motion_for_current_state.c +++ b/src/overlays/l06/hero/update_hero_motion_for_current_state.c @@ -151,7 +151,7 @@ s32 process_hero_hit_response(s32 apply_hurt_response) { OvlMobyEntry40 *hero_hit_entry; u8 *mob; s32 flag; - s32 id; + s32 hurt_response_state; f32 horizontal_hurt_impulse_scale, vertical_hurt_impulse_scale, hurt_impulse_scale; OvlVec4 hurt_impulse; @@ -210,9 +210,9 @@ s32 process_hero_hit_response(s32 apply_hurt_response) { case HERO_VEHICLE_MODE_ON_FOOT: mob = (u8 *)G.damage_source_moby; if (mob != 0 && (*(s16 *)(mob + 0xA6) == 0x4EB || *(s16 *)(mob + 0xA6) == 0x558)) { - id = 0x80; + hurt_response_state = HERO_STATE_DYING_SPEED_LIMITED; call_ret: - hero_set_state(id, 1); + hero_set_state(hurt_response_state, 1); return 1; } if (G.state.control_mode == 0x16) { diff --git a/src/overlays/l06/mobys/alien_queen.c b/src/overlays/l06/mobys/alien_queen.c index 4639bad761..2989d964e6 100644 --- a/src/overlays/l06/mobys/alien_queen.c +++ b/src/overlays/l06/mobys/alien_queen.c @@ -817,7 +817,7 @@ void update_alien_queen_hit_response_and_recovery(char *moby) { int hit_status; float dmg; int kind; - int timer; + int intro_or_recovery_delay_frames; float hp; float recovery_hp; int *path; @@ -923,8 +923,9 @@ void update_alien_queen_hit_response_and_recovery(char *moby) { } if ((unsigned char)moby[0x20] >= 2 && D_L06_00140408 != 8 && (pad_held_lui & 0x20)) alien_queen_hit_recovery_vars->suppress_death_dialogue = 1; - timer = alien_queen_hit_recovery_vars->timer_12C; - if (timer != 0 && alien_queen_hit_recovery_vars->intro_or_recovery_delay_active != 0) { + intro_or_recovery_delay_frames = alien_queen_hit_recovery_vars->timer_12C; + if (intro_or_recovery_delay_frames != 0 && + alien_queen_hit_recovery_vars->intro_or_recovery_delay_active != 0) { --alien_queen_hit_recovery_vars->timer_12C; if (alien_queen_hit_recovery_vars->timer_12C < scale_game_frames(10)) D_L06_0015F3FC = diff --git a/src/overlays/l06/mobys/beam_barrier.c b/src/overlays/l06/mobys/beam_barrier.c index 37099c7992..83ad9a2d83 100644 --- a/src/overlays/l06/mobys/beam_barrier.c +++ b/src/overlays/l06/mobys/beam_barrier.c @@ -368,7 +368,7 @@ void draw_beam_barrier_segments(char *moby) { float base_matrix[16]; float yaw_matrix[16]; float segment_matrix[9][16]; - float offset[4]; + float transformed_segment_offset[4]; int beam_segment_draw_params[9]; char *beam_barrier_vars = ((char *)MOBY(moby)->pvars); float *matrix; @@ -406,9 +406,9 @@ void draw_beam_barrier_segments(char *moby) { euler_rotation_matrix(matrix, rotation); rotation += 4; multiply_matrix(matrix, base_matrix, matrix); - transform_vector(offset, offset_src, base_matrix); + transform_vector(transformed_segment_offset, offset_src, base_matrix); offset_src += 4; - fast_vec_add(translation, offset, moby + 0x10); + fast_vec_add(translation, transformed_segment_offset, moby + 0x10); matrix[15] = 1.0f; matrix += 16; translation += 16; diff --git a/src/overlays/l06/mobys/countdown_sequence.c b/src/overlays/l06/mobys/countdown_sequence.c index f02df2669f..d8c6c3defb 100644 --- a/src/overlays/l06/mobys/countdown_sequence.c +++ b/src/overlays/l06/mobys/countdown_sequence.c @@ -369,7 +369,7 @@ void select_localized_moby_voice_line(struct Moby *moby, s32 kind) { VOICE_KIND_LEAVING = 2 }; struct TauntVoiceVars *voice_vars = (struct TauntVoiceVars *)moby->pvars; - s32 id = -1; + s32 voice_line_id = -1; s32 lang; s32 chatter_index; s32 i; @@ -379,7 +379,7 @@ void select_localized_moby_voice_line(struct Moby *moby, s32 kind) { lang = game_language; if (lang != 0) lang--; - id = voice_vars->greet[lang]; + voice_line_id = voice_vars->greet[lang]; break; case VOICE_KIND_CHATTER: chatter_index = random_integer_below(3); @@ -398,18 +398,18 @@ void select_localized_moby_voice_line(struct Moby *moby, s32 kind) { lang = game_language; if (lang != 0) lang--; - id = voice_vars->chatter[chatter_index][lang]; + voice_line_id = voice_vars->chatter[chatter_index][lang]; break; case VOICE_KIND_LEAVING: lang = game_language; if (lang != 0) lang--; - id = voice_vars->leave[lang]; + voice_line_id = voice_vars->leave[lang]; break; } - if (id != -1) { - id += 20000; - queued_dialogue_id[0] = id; + if (voice_line_id != -1) { + voice_line_id += 20000; + queued_dialogue_id[0] = voice_line_id; } } diff --git a/src/overlays/l06/mobys/drawbridge.c b/src/overlays/l06/mobys/drawbridge.c index 423daa0021..eaa8b2802b 100644 --- a/src/overlays/l06/mobys/drawbridge.c +++ b/src/overlays/l06/mobys/drawbridge.c @@ -137,8 +137,8 @@ void drawbridge_update(Moby *moby) { switch (moby->state) { case INITIALIZE_DRAWBRIDGE_SEGMENTS: { - int status = visited52[moby->mission + (current_level_index << 4)]; - if (status == DRAWBRIDGE_MISSION_ALREADY_COMPLETE) { + int mission_status = visited52[moby->mission + (current_level_index << 4)]; + if (mission_status == DRAWBRIDGE_MISSION_ALREADY_COMPLETE) { moby->state = DRAWBRIDGE_COMPLETE; drawbridge_extension_gp = 20.0f; drawbridge_pitch_degrees_gp = 1000.0f; diff --git a/src/overlays/l06/mobys/dual_texture_meshes.c b/src/overlays/l06/mobys/dual_texture_meshes.c index 4748d0f13d..dbbd6f6ea4 100644 --- a/src/overlays/l06/mobys/dual_texture_meshes.c +++ b/src/overlays/l06/mobys/dual_texture_meshes.c @@ -5423,7 +5423,7 @@ void draw_dual_texture_50_quad_mesh(void) { float y_offset = dual_texture_mesh_first_pass_u_offset_multiplier_gp * l06_camera.yaw; float x_offset = dual_texture_mesh_first_pass_v_offset_multiplier_gp * l06_camera.pitch; void *matrix_ptr; - long flags; + long packed_blend_settings; int i, j; long tex = get_effect_texture(dual_texture_mesh_first_pass_texture_index_gp); @@ -5431,13 +5431,13 @@ void draw_dual_texture_50_quad_mesh(void) { second_pass_quad_packet.tex = get_effect_texture(0x2a); second_pass_quad_packet.tex1 = 0xFF9000000260L; first_pass_quad_packet.tex1 = 0xFF9000000260L; - flags = (long)dual_texture_mesh_blend_color_a_selector_gp; - flags |= (long)dual_texture_mesh_blend_color_b_selector_gp << 2; - flags |= (long)dual_texture_mesh_blend_alpha_c_selector_gp << 4; - flags |= (long)dual_texture_mesh_blend_color_d_selector_gp << 6; - flags |= (long)dual_texture_mesh_blend_fixed_alpha_gp << 32; - second_pass_quad_packet.alpha = flags; - first_pass_quad_packet.alpha = flags; + packed_blend_settings = (long)dual_texture_mesh_blend_color_a_selector_gp; + packed_blend_settings |= (long)dual_texture_mesh_blend_color_b_selector_gp << 2; + packed_blend_settings |= (long)dual_texture_mesh_blend_alpha_c_selector_gp << 4; + packed_blend_settings |= (long)dual_texture_mesh_blend_color_d_selector_gp << 6; + packed_blend_settings |= (long)dual_texture_mesh_blend_fixed_alpha_gp << 32; + second_pass_quad_packet.alpha = packed_blend_settings; + first_pass_quad_packet.alpha = packed_blend_settings; second_pass_quad_packet.clamp = 0; first_pass_quad_packet.clamp = 0; matrix_ptr = matrix; @@ -5490,7 +5490,7 @@ void draw_dual_texture_58_quad_mesh(void) { void *matrix_ptr; float y_offset = dual_texture_mesh_first_pass_u_offset_multiplier_gp * l06_camera.yaw; float x_offset = dual_texture_mesh_first_pass_v_offset_multiplier_gp * l06_camera.pitch; - long flags; + long packed_quad_blend_settings; int i, j; float facing; @@ -5498,13 +5498,13 @@ void draw_dual_texture_58_quad_mesh(void) { get_effect_texture(dual_texture_mesh_first_pass_texture_index_gp); mesh_second_pass_quad_packet.tex = get_effect_texture(0x2a); matrix_ptr = matrix; - flags = (long)dual_texture_mesh_blend_color_a_selector_gp | - (long)dual_texture_mesh_blend_color_b_selector_gp << 2 | - (long)dual_texture_mesh_blend_alpha_c_selector_gp << 4 | - (long)dual_texture_mesh_blend_color_d_selector_gp << 6 | - (long)dual_texture_mesh_blend_fixed_alpha_gp << 32; - mesh_second_pass_quad_packet.alpha = flags; - mesh_first_pass_quad_packet.alpha = flags; + packed_quad_blend_settings = (long)dual_texture_mesh_blend_color_a_selector_gp | + (long)dual_texture_mesh_blend_color_b_selector_gp << 2 | + (long)dual_texture_mesh_blend_alpha_c_selector_gp << 4 | + (long)dual_texture_mesh_blend_color_d_selector_gp << 6 | + (long)dual_texture_mesh_blend_fixed_alpha_gp << 32; + mesh_second_pass_quad_packet.alpha = packed_quad_blend_settings; + mesh_first_pass_quad_packet.alpha = packed_quad_blend_settings; mesh_second_pass_quad_packet.tex1 = 0xFF9000000260L; mesh_first_pass_quad_packet.tex1 = 0xFF9000000260L; mesh_second_pass_quad_packet.clamp = 0; @@ -5563,7 +5563,7 @@ void draw_dual_texture_864_quad_mesh(void) { void *matrix_ptr; float y_offset = dual_texture_mesh_first_pass_u_offset_multiplier_gp * l06_camera.yaw; float x_offset = dual_texture_mesh_first_pass_v_offset_multiplier_gp * l06_camera.pitch; - long flags; + long packed_texture_pass_blend_settings; int i, j; float facing; @@ -5571,13 +5571,13 @@ void draw_dual_texture_864_quad_mesh(void) { get_effect_texture(dual_texture_mesh_first_pass_texture_index_gp); second_texture_pass_quad_packet.tex = get_effect_texture(0x2a); matrix_ptr = matrix; - flags = (long)dual_texture_mesh_blend_color_a_selector_gp | - (long)dual_texture_mesh_blend_color_b_selector_gp << 2 | - (long)dual_texture_mesh_blend_alpha_c_selector_gp << 4 | - (long)dual_texture_mesh_blend_color_d_selector_gp << 6 | - (long)dual_texture_mesh_blend_fixed_alpha_gp << 32; - second_texture_pass_quad_packet.alpha = flags; - first_texture_pass_quad_packet.alpha = flags; + packed_texture_pass_blend_settings = (long)dual_texture_mesh_blend_color_a_selector_gp | + (long)dual_texture_mesh_blend_color_b_selector_gp << 2 | + (long)dual_texture_mesh_blend_alpha_c_selector_gp << 4 | + (long)dual_texture_mesh_blend_color_d_selector_gp << 6 | + (long)dual_texture_mesh_blend_fixed_alpha_gp << 32; + second_texture_pass_quad_packet.alpha = packed_texture_pass_blend_settings; + first_texture_pass_quad_packet.alpha = packed_texture_pass_blend_settings; second_texture_pass_quad_packet.tex1 = 0xFF9000000260L; first_texture_pass_quad_packet.tex1 = 0xFF9000000260L; second_texture_pass_quad_packet.clamp = 0; diff --git a/src/overlays/l06/mobys/fred.c b/src/overlays/l06/mobys/fred.c index e6be0ee4cb..2bdc1a9a08 100644 --- a/src/overlays/l06/mobys/fred.c +++ b/src/overlays/l06/mobys/fred.c @@ -47,12 +47,12 @@ typedef struct Data_301070 { char *f20; char pad24[0x1C]; char f40[0x64]; - float fA4; - float fA8; + float joint_0_look_pitch_target; + float joint_0_look_yaw_target; char padAC[4]; - float fB0; + float joint_0_scale; char padB4[0xC]; - char fC0[0x68]; + char joint_2_animation_record[0x68]; float look_yaw_target; char pad12C[0x14]; float idle_look_target_position[4]; @@ -71,7 +71,7 @@ typedef struct Obj_301070 { typedef struct Busy { int f0; char pad4[0x20]; - int f24; + int current_help_message_id; } Busy; extern void attach_shared_manipulator_to_matching_class_moby(char *) __asm__("FUN_L03_002db480"); @@ -114,6 +114,9 @@ void fred_update(struct Moby *moby) { RAMP_FRED_POST_CUTSCENE_SCALAR_TO_ZERO = 4, WAIT_FOR_FRED_REMOVAL_TRIGGER = 5 }; + enum { + NPC_DIALOGUE_ACTIVATION_AUTOMATIC = 1 + }; Data_301070 *fred_vars = *(struct Data_301070 **)&moby->pvars; float rate, head_rate; int tracking; @@ -149,7 +152,7 @@ void fred_update(struct Moby *moby) { initialize_npc_dialogue(moby, fred_vars); break; case UPDATE_FRED_DIALOGUE: - if (fred_vars->dialogue_activation_mode == 1 && + if (fred_vars->dialogue_activation_mode == NPC_DIALOGUE_ACTIVATION_AUTOMATIC && is_point_inside_clip_volume(&hero.motion.pos, fred_vars->f168) != 0) { fred_vars->fC = 16.0f; } else { @@ -266,7 +269,8 @@ void fred_update(struct Moby *moby) { set_camera_position(pos); set_camera_rotation(rot); if (fred_vars->f178 >= 1.0f || - (((Busy *)D_L06_00179B90)->f0 == 0 && ((Busy *)D_L06_00179B90)->f24 == -1 && + (((Busy *)D_L06_00179B90)->f0 == 0 && + ((Busy *)D_L06_00179B90)->current_help_message_id == -1 && fred_vars->f178 > 0.2f)) { approach_value(&D_L06_0015F3FC_macro, 1.0f, frame_time_macro * 4.0f); } else { @@ -356,15 +360,18 @@ void fred_update(struct Moby *moby) { pitch = 0.5235988f; else if (pitch < -0.5235988f) pitch = -0.5235988f; - fred_vars->fA4 = pitch; - fred_vars->fA8 = yaw * 0.6f; + fred_vars->joint_0_look_pitch_target = pitch; + fred_vars->joint_0_look_yaw_target = yaw * 0.6f; fred_vars->look_yaw_target = yaw * 0.4f; } } if (big_head_cheat_enabled[0]) - fred_vars->fB0 = 2.75f; + fred_vars->joint_0_scale = 2.75f; update_joint_animation( rate * frame_scale_sq_macro, head_rate * frame_scale_sq_macro, moby, fred_vars->f40, 0); - update_joint_animation( - rate * frame_scale_sq_macro, head_rate * frame_scale_sq_macro, moby, fred_vars->fC0, 2); + update_joint_animation(rate * frame_scale_sq_macro, + head_rate * frame_scale_sq_macro, + moby, + fred_vars->joint_2_animation_record, + 2); } diff --git a/src/overlays/l06/mobys/shuttle.c b/src/overlays/l06/mobys/shuttle.c index e52a68745f..e5ab669407 100644 --- a/src/overlays/l06/mobys/shuttle.c +++ b/src/overlays/l06/mobys/shuttle.c @@ -81,9 +81,9 @@ typedef struct { typedef struct { char pad0[0x2FC]; - struct Moby *f2FC; + struct Moby *route_request_moby; char pad300[0xE]; - short f30E; + short route_request_inhibit; } Hero_302578; typedef struct { @@ -319,8 +319,8 @@ void shuttle_update(struct Moby *moby) { busy = 1; } } - if ((busy == 0 && ((Hero_302578 *)((char *)&hero))->f2FC == moby && - ((Hero_302578 *)((char *)&hero))->f30E == 0) || + if ((busy == 0 && ((Hero_302578 *)((char *)&hero))->route_request_moby == moby && + ((Hero_302578 *)((char *)&hero))->route_request_inhibit == 0) || shuttle_forced_return_requested_gp != 0) { update_shuttle_route_selection_and_prompt((char *)moby); now = shuttle_forced_return_requested_gp; @@ -692,7 +692,7 @@ void spawn_shuttle_explosion_effect( void spawn_shuttle_explosion_effect( - float scale, char *moby, char *explosion_origin, char *push, int count) { + float scale, char *moby, char *explosion_origin, char *push, int particle_count) { float position[4], direction[4], velocity[4], acceleration[4]; Colors first_colors, second_colors; int i; @@ -702,7 +702,7 @@ void spawn_shuttle_explosion_effect( second_colors = D_L06_00201960; { int piece; - for (piece = 0; piece < count; piece++) { + for (piece = 0; piece < particle_count; piece++) { int *first_color = first_colors.v + random_integer_below(6); int *second_color; int first_time, second_time; @@ -732,8 +732,8 @@ void spawn_shuttle_explosion_effect( frame_time * 10.0f * scale); } } - for (i = 0; i < count * D_L06_00162150;) { - int color1, color2, life, size, fade; + for (i = 0; i < particle_count * D_L06_00162150;) { + int color1, color2, life, spark_timing_frames, fade; i++; random_vector(position, 0.0f, 1.0f); fast_vec_add(position, position, explosion_origin); @@ -769,7 +769,7 @@ void spawn_shuttle_explosion_effect( life = truncate_float_to_s32(scale_time(random_float_between( (float)l06_shuttle_explosion_spark_timing_random_min_frames, (float)(l06_shuttle_explosion_spark_timing_random_min_frames << 1)))); - size = truncate_float_to_s32(scale_time( + spark_timing_frames = truncate_float_to_s32(scale_time( random_float_between((float)l06_shuttle_explosion_spark_timing_base_a_frames, (float)l06_shuttle_explosion_spark_timing_base_a_frames * 1.2f))); fade = truncate_float_to_s32(scale_time( @@ -781,7 +781,7 @@ void spawn_shuttle_explosion_effect( color1, color2, life, - size, + spark_timing_frames, fade, l06_shuttle_explosion_spark_table_index + (l06_shuttle_explosion_spark_alternate_mode_flag << 16)); @@ -800,8 +800,8 @@ void break_apart_shuttle_linked_mobys(struct Moby *moby) { float particle_acceleration[4]; struct Moby *piece; short *list; - short count; - int id; + short linked_moby_count; + int linked_moby_index; int i; float largest; u8 *particle; @@ -816,35 +816,45 @@ void break_apart_shuttle_linked_mobys(struct Moby *moby) { largest = 0.0f; clear_u64_value(middle); list = D_L06_001ABFC0_03b68[*(int *)(shuttle_linkage_vars + 0xCC)]; - count = 0; + linked_moby_count = 0; do { - id = *list & 0x7FFF; + linked_moby_index = *list & 0x7FFF; random_vector(push, 1.0f, 2.0f); spawn_shuttle_explosion_effect( - 30.0f, moby, &((struct Moby *)(D_L06_0015FFD8_03b68 + (id << 8)))->pos, push, 1); - fast_vec_add(middle, middle, &((struct Moby *)(D_L06_0015FFD8_03b68 + (id << 8)))->pos); - count++; - if (largest < ((struct Moby *)((id << 8) + (int)D_L06_0015FFD8_03b68))->bsphere.w) { - largest = ((struct Moby *)((id << 8) + (int)D_L06_0015FFD8_03b68))->bsphere.w; + 30.0f, + moby, + &((struct Moby *)(D_L06_0015FFD8_03b68 + (linked_moby_index << 8)))->pos, + push, + 1); + fast_vec_add(middle, + middle, + &((struct Moby *)(D_L06_0015FFD8_03b68 + (linked_moby_index << 8)))->pos); + linked_moby_count++; + if (largest < + ((struct Moby *)((linked_moby_index << 8) + (int)D_L06_0015FFD8_03b68))->bsphere.w) { + largest = + ((struct Moby *)((linked_moby_index << 8) + (int)D_L06_0015FFD8_03b68))->bsphere.w; } } while (*list++ >= 0); - fast_vec_scale(middle, middle, 1.0f / convert_integer_to_float(count)); + fast_vec_scale(middle, middle, 1.0f / convert_integer_to_float(linked_moby_count)); list = D_L06_001ABFC0_03b68[*(int *)(shuttle_linkage_vars + 0xCC)]; do { float speed; - id = *list & 0x7FFF; - fast_vec_sub(push, &((struct Moby *)(D_L06_0015FFD8_03b68 + (id << 8)))->pos, middle); - piece = (struct Moby *)((id << 8) + (int)D_L06_0015FFD8_03b68); + linked_moby_index = *list & 0x7FFF; + fast_vec_sub( + push, &((struct Moby *)(D_L06_0015FFD8_03b68 + (linked_moby_index << 8)))->pos, middle); + piece = (struct Moby *)((linked_moby_index << 8) + (int)D_L06_0015FFD8_03b68); speed = frame_time * 30.0f; fast_vec_normalize(push, push, -((piece->bsphere.w - largest) / largest) * speed + speed); push[3] = 6.0f; random_vector(spin, frame_time * 0.2617994f, frame_time * 0.08726646f); begin_moby_linear_and_angular_motion( - (char *)(D_L06_0015FFD8_03b68 + (id << 8)), push, spin); + (char *)(D_L06_0015FFD8_03b68 + (linked_moby_index << 8)), push, spin); for (i = 0; i < shuttle_breakup_particles_per_piece_gp; i++) { - piece = (struct Moby *)((id << 8) + (int)D_L06_0015FFD8_03b68); + piece = (struct Moby *)((linked_moby_index << 8) + (int)D_L06_0015FFD8_03b68); random_vector(pos, 0.0f, piece->bsphere.w * 0.00048828125f); - fast_vec_add(pos, pos, &((struct Moby *)(D_L06_0015FFD8_03b68 + (id << 8)))->pos); + fast_vec_add( + pos, pos, &((struct Moby *)(D_L06_0015FFD8_03b68 + (linked_moby_index << 8)))->pos); random_vector( particle_velocity, 0.0f, shuttle_breakup_particle_max_speed_gp * frame_time); clear_u64_value(particle_acceleration); @@ -884,7 +894,7 @@ void break_apart_shuttle_linked_mobys(struct Moby *moby) { } } } while (*list++ >= 0); - ((struct Moby *)((id << 8) + (int)D_L06_0015FFD8_03b68))->command = 30; + ((struct Moby *)((linked_moby_index << 8) + (int)D_L06_0015FFD8_03b68))->command = 30; } /* Marks every moby in the moby's list for removal; the list ends after its first negative entry. */ diff --git a/src/overlays/l06/mobys/split_door.c b/src/overlays/l06/mobys/split_door.c index 93015c041a..16e3bf246c 100644 --- a/src/overlays/l06/mobys/split_door.c +++ b/src/overlays/l06/mobys/split_door.c @@ -93,6 +93,9 @@ void split_door_update(char *moby) { SPLIT_DOOR_PHASE_TARGET_CURRENT_TRANSFORMS = 1, SPLIT_DOOR_PHASE_TARGET_CONFIGURED_TRANSFORMS = 2 }; + enum { + SPLIT_DOOR_STATE_NO_UPDATE = 2 + }; SplitDoorVars *pair_transform_vars = (SplitDoorVars *)MOBY(moby)->pvars; char *child; float position_offset[4]; diff --git a/src/overlays/l06/mobys/toxic_gas_vent.c b/src/overlays/l06/mobys/toxic_gas_vent.c index 00b33aafee..5f28a573c2 100644 --- a/src/overlays/l06/mobys/toxic_gas_vent.c +++ b/src/overlays/l06/mobys/toxic_gas_vent.c @@ -186,7 +186,7 @@ void emit_toxic_gas_vent_sparks(char *vent_moby) { Vec4 at; Vec4 spark_emission_step; Vec4 drift; - Vec4 offset; + Vec4 spark_spawn_offset; Vec4 spark_spread_with_drift; Vec4 sphere; Vec4 *pos = (Vec4 *)&MOBY(vent_moby)->pos; @@ -225,8 +225,8 @@ void emit_toxic_gas_vent_sparks(char *vent_moby) { fade = sampled_frame_count; frames = truncate_float_to_s32(scale_game_frames(spark_frames)); - fast_vec_scale(&offset, &spark_emission_step, random_float_between(0.0f, 1.0f)); - fast_vec_add(&at, pos, &offset); + fast_vec_scale(&spark_spawn_offset, &spark_emission_step, random_float_between(0.0f, 1.0f)); + fast_vec_add(&at, pos, &spark_spawn_offset); random_vector(&spark_spread_with_drift, 0.0f, spark_spread * frame_time); fast_vec_add(&spark_spread_with_drift, &spark_spread_with_drift, &drift); spawn_spark(&at, @@ -241,8 +241,8 @@ void emit_toxic_gas_vent_sparks(char *vent_moby) { life = truncate_float_to_s32(scale_time(random_float_between(spark_life_min, spark_life_max))); fade = truncate_float_to_s32(scale_time(random_float_between(spark_fade_min, spark_fade_max))); - fast_vec_scale(&offset, &spark_emission_step, random_float_between(0.0f, 1.0f)); - fast_vec_add(&at, pos, &offset); + fast_vec_scale(&spark_spawn_offset, &spark_emission_step, random_float_between(0.0f, 1.0f)); + fast_vec_add(&at, pos, &spark_spawn_offset); random_vector(&spark_spread_with_drift, 0.0f, spark_spread * frame_time); fast_vec_add(&spark_spread_with_drift, &spark_spread_with_drift, &drift); spawn_spark(&at, diff --git a/src/overlays/l07/mobys/bomb.c b/src/overlays/l07/mobys/bomb.c index 3681bea13a..98a2c6ee17 100644 --- a/src/overlays/l07/mobys/bomb.c +++ b/src/overlays/l07/mobys/bomb.c @@ -111,7 +111,7 @@ void bombomatic_bomb_update(struct Moby *moby) { Vec4f *pos = &moby->pos; DebrisVars *debris_vars = (DebrisVars *)moby->pvars; Vec4 previous_debris_position; - float size; + float explosion_effect_size; qcopy(&previous_debris_position, pos); fast_vec_add(pos, pos, debris_vars); @@ -122,9 +122,9 @@ void bombomatic_bomb_update(struct Moby *moby) { coll_sphere(0.5f, pos, 0, debris_vars->ignore) != 0) { if (debris_target == NULL || (u16)(debris_target->oclass - 0x371) >= 2) { if (moby->visible != 0 || vector_distance_xy(pos, &hero.motion.pos) < 5.0f) { - size = 0.0f; + explosion_effect_size = 0.0f; if (debris_vars->variant % 3 == 0) { - size = 10.0f; + explosion_effect_size = 10.0f; } if (vector_distance_xy(pos, debris_far_point) > 50.0f) { if (debris_vars->variant & 1) { @@ -141,7 +141,7 @@ void bombomatic_bomb_update(struct Moby *moby) { 1000.0f, 1.3f, -1, - size, + explosion_effect_size, 0, 1, -1, @@ -160,7 +160,7 @@ void bombomatic_bomb_update(struct Moby *moby) { 1000.0f, 1.2f, 0, - size, + explosion_effect_size, 0, 1, -1, @@ -181,7 +181,7 @@ void bombomatic_bomb_update(struct Moby *moby) { 1000.0f, 1.0f, 0, - size, + explosion_effect_size, 0, 1, -1, @@ -200,7 +200,7 @@ void bombomatic_bomb_update(struct Moby *moby) { 1000.0f, 1.0f, 0, - size, + explosion_effect_size, 0, 1, -1, diff --git a/src/overlays/l07/mobys/command_falling_platform.c b/src/overlays/l07/mobys/command_falling_platform.c index 80be4c4269..adb57af0e8 100644 --- a/src/overlays/l07/mobys/command_falling_platform.c +++ b/src/overlays/l07/mobys/command_falling_platform.c @@ -16,7 +16,7 @@ #include "rnc/overlay/shared/mobys/count_active_moby_group_members.h" #include "rnc/overlay/shared/rendering/effects/spawn_explosion.h" -/* steps a hit-effect emitter: orient, spawn a puff, and reseed the timer */ +/* steps a hit-effect emitter: orient, spawn a puff, and reseed the random_bits_or_sink_hold_frames */ /* Ported from rac1-decomp (src/overlays/l07_umbris/vendor_002CE470.c: func_L07_00313690), where it is exact; names translated to the US level program. */ extern int FUN_0022da68(int, int, int); extern void update_entity_matrix(void *, void *, void *, void *) __asm__("FUN_L00_00260738"); @@ -82,7 +82,7 @@ void command_falling_platform_update(char *moby) { float sway; float roll; float speed; - int timer; + int random_bits_or_sink_hold_frames; qcopy(previous, moby + 0x10); fast_vec_scale(delta, moby + 0x10, -1.0f); @@ -102,8 +102,8 @@ void command_falling_platform_update(char *moby) { falling_platform_vars->max_health = 0; falling_platform_vars->hit_weight = 4; falling_platform_vars->target_flags = 13; - timer = rand(); - if (timer & 1) + random_bits_or_sink_hold_frames = rand(); + if (random_bits_or_sink_hold_frames & 1) MOBY(moby)->rot.z = fast_add_rotations(MOBY(moby)->rot.z, 3.1415927f); falling_platform_vars->saved_rot_x = MOBY(moby)->rot.x; falling_platform_vars->saved_rot_y = MOBY(moby)->rot.y; @@ -199,8 +199,8 @@ void command_falling_platform_update(char *moby) { if (hero.air_frames.s == 0 && (char *)hero.ground_moby == moby) { if (falling_platform_vars->sway_timer == 0) FUN_0022da68(0, 0, (int)moby); - timer = scale_game_frames(90); - if (falling_platform_vars->sway_timer < timer) + random_bits_or_sink_hold_frames = scale_game_frames(90); + if (falling_platform_vars->sway_timer < random_bits_or_sink_hold_frames) falling_platform_vars->sway_timer = scale_game_frames(90); } if (falling_platform_vars->sway_timer != 0) { diff --git a/src/overlays/l07/mobys/equalizer_ammo_spawner.c b/src/overlays/l07/mobys/equalizer_ammo_spawner.c index 83dd07a9a0..87e75e6de2 100644 --- a/src/overlays/l07/mobys/equalizer_ammo_spawner.c +++ b/src/overlays/l07/mobys/equalizer_ammo_spawner.c @@ -89,10 +89,10 @@ state_one: { if (is_point_inside_clip_volume(D_0013F3D0, ammo_spawner_state[0]) == 0) return; for (i = 0; D_L07_00161CA0[i] != -1; i++) { - int id = D_L07_00161CA0[i]; - float current_ammo_count = convert_integer_to_float(weapon_ammo_counts[id]); + int weapon_index = D_L07_00161CA0[i]; + float current_ammo_count = convert_integer_to_float(weapon_ammo_counts[weapon_index]); float scale = convert_integer_to_float( - ((L07ScaleRow *)((char *)l07_ammo_spawner_scaling_rows + id * 0x18))->scale); + ((L07ScaleRow *)((char *)l07_ammo_spawner_scaling_rows + weapon_index * 0x18))->scale); float ratio = current_ammo_count / scale; float step = random_float_between(0.0f, *(float *)(ammo_spawner_state + 8)); float min_ratio = *(float *)(ammo_spawner_state + 2) / 100.0f; @@ -142,13 +142,13 @@ state_one: { } while (accepted == 0); total = remaining; debug_print(D_L07_00211B78, - id, + weapon_index, batch, fptodp(position[0]), fptodp(position[1]), fptodp(position[2]), fptodp(step)); - spawn_on_path(position, id, batch, 0); + spawn_on_path(position, weapon_index, batch, 0); step += random_float_between(*(float *)(ammo_spawner_state + 8) / retry_step, 2.0f); if (remaining < batch) { diff --git a/src/overlays/l07/mobys/homing_mine.c b/src/overlays/l07/mobys/homing_mine.c index 0390f9b5c8..5ce150cc16 100644 --- a/src/overlays/l07/mobys/homing_mine.c +++ b/src/overlays/l07/mobys/homing_mine.c @@ -126,7 +126,7 @@ void homing_mine_update(struct Moby *moby) { f32 turn; f32 new_speed; f32 max_speed; - s32 timer; + s32 chase_timeout_frames; if (moby == NULL) return; @@ -177,9 +177,9 @@ void homing_mine_update(struct Moby *moby) { moby->state = HOMING_MINE_WAIT_FOR_PROXIMITY; break; case HOMING_MINE_WAIT_FOR_PROXIMITY: - timer = scale_game_frames(600); + chase_timeout_frames = scale_game_frames(600); turn = D_0015ED6C * 6.2831855f; - homing_mine_vars->timeout = timer; + homing_mine_vars->timeout = chase_timeout_frames; moby->rot.z = fast_add_rotations(moby->rot.z, turn); if ((homing_mine_vars->target != NULL && vector_distance_xy(&moby->pos, &(homing_mine_vars->target)->pos) < 20.0f && diff --git a/src/overlays/l07/mobys/matches_first_moby_in_group.c b/src/overlays/l07/mobys/matches_first_moby_in_group.c index c1f3999bbf..ceb7a59c9a 100644 --- a/src/overlays/l07/mobys/matches_first_moby_in_group.c +++ b/src/overlays/l07/mobys/matches_first_moby_in_group.c @@ -10,8 +10,8 @@ extern void get_first_moby_in_group(int *) __asm__("FUN_L00_002591d0"); /* Returns whether the current id equals id. */ int matches_first_moby_in_group(int id) __asm__("FUN_L07_00281ef8"); -int matches_first_moby_in_group(int id) { +int matches_first_moby_in_group(int moby_address) { int current; get_first_moby_in_group(¤t); - return current == id; + return current == moby_address; } diff --git a/src/overlays/l07/mobys/mine_group.c b/src/overlays/l07/mobys/mine_group.c index be6555239b..5a497275c0 100644 --- a/src/overlays/l07/mobys/mine_group.c +++ b/src/overlays/l07/mobys/mine_group.c @@ -228,7 +228,7 @@ void mine_group_update(struct Moby *moby) { MineGroupVars *boltcrate_pvars; char *path; float *remaining; - int count; + int hit_damage_code; int current; int child; int i; @@ -247,7 +247,8 @@ void mine_group_update(struct Moby *moby) { remaining = &boltcrate_pvars->health; if (boltcrate_pvars->hittable) { limit = find_moby_hit(moby, 0x230000, 0); - hit_response_code = resolve_moby_hit_response(moby, limit, remaining, 0, &count, 0, 0, 4); + hit_response_code = + resolve_moby_hit_response(moby, limit, remaining, 0, &hit_damage_code, 0, 0, 4); switch ((unsigned)hit_response_code) { case HIT_REACTION_NONE: case HIT_REACTION_START_KNOCKBACK: @@ -265,7 +266,7 @@ void mine_group_update(struct Moby *moby) { *remaining = 0.0f; break; } - if (count > 1) { + if (hit_damage_code > 1) { float step = *(float *)(limit + 0x2c); if (*remaining <= step) { *remaining = 0.0f; @@ -311,8 +312,8 @@ void mine_group_update(struct Moby *moby) { child_placement_segment_distance = 0; qcopy(position, path + 0x10); for (j = 0; j < *(int *)path; j++) { - int offset = j * 16; - *(float *)(path + offset + 0x1c) = + int path_point_byte_offset = j * 16; + *(float *)(path + path_point_byte_offset + 0x1c) = fast_vec_dist(path + 0x10 + j * 16, path + 0x10 + ((j + 1) % *(int *)path) * 16); } if (get_first_moby_in_group(¤t, boltcrate_pvars->group, 1, 0)) { diff --git a/src/overlays/l07/mobys/sharkigator.c b/src/overlays/l07/mobys/sharkigator.c index 028163da07..89b58988ec 100644 --- a/src/overlays/l07/mobys/sharkigator.c +++ b/src/overlays/l07/mobys/sharkigator.c @@ -272,7 +272,7 @@ int test_other_group_moby_state_range(unsigned char *moby, /* Ported from rac1-decomp (src/overlays/l07_umbris/vendor_002CE470.c: func_L07_003109D0), where it is exact; names translated to the US level program. */ struct WalkerTarget { float pos[4]; - u128 q10; + u128 rotation; u128 q20; u128 q30; int moby; @@ -474,20 +474,20 @@ void handle_sharkigator_hit(struct Moby *moby, char *x, float *hp) { } void cache_path_segment_lengths(char *path_record) { - int i, count; + int i, point_count; if (path_record != 0) { - count = *(int *)path_record; + point_count = *(int *)path_record; i = 0; - if (count > 0) { + if (point_count > 0) { do { int point_byte_offset = i * 16; - int next_point_index = (i + 1) % count; + int next_point_index = (i + 1) % point_count; *(float *)(path_record + point_byte_offset + 0x1C) = fast_vec_dist(path_record + (point_byte_offset + 0x10), path_record + (next_point_index * 16 + 0x10)); i++; - count = *(int *)path_record; - } while (i < count); + point_count = *(int *)path_record; + } while (i < point_count); } } } @@ -679,7 +679,7 @@ void handle_sharkigator_contact_attack(struct Moby *moby, int seq, int frame, int state_after_target_hit, - int id, + int attack_target_moby, float lo, float hi, float hit_direction_length, @@ -713,7 +713,7 @@ void handle_sharkigator_contact_attack(struct Moby *moby, if (collect_mobies_in_sphere(probe_center, radius, 0x21, moby, hit_descriptor) == 0) { return; } - if (D_L07_00173ED8 != id) { + if (D_L07_00173ED8 != attack_target_moby) { return; } fast_vec_scale(moby_velocity, moby_velocity, -1.0f); @@ -725,10 +725,10 @@ void handle_sharkigator_contact_attack(struct Moby *moby, moby->state = state_after_target_hit; } -int test_sharkigator_target_sphere_collision(void *moby, int id, float scale) { +int test_sharkigator_target_sphere_collision(void *moby, int target_moby, float scale) { char collision_center[16]; moby_point_position(moby, 0, collision_center); - if (coll_sphere(scale, collision_center, 0x21, moby) && D_L07_00173ED8 == id) { + if (coll_sphere(scale, collision_center, 0x21, moby) && D_L07_00173ED8 == target_moby) { return 1; } return 0; @@ -740,9 +740,9 @@ int test_other_group_moby_state_range(unsigned char *moby, int lower, int upper) if (group_candidate_moby) { do { if (group_candidate_moby != moby) { - int state = group_candidate_moby[0x20]; - if (state >= lower) { - if (state <= upper) { + int group_candidate_state = group_candidate_moby[0x20]; + if (group_candidate_state >= lower) { + if (group_candidate_state <= upper) { goto found; } } @@ -768,7 +768,7 @@ void sharkigator_update(unsigned char *moby) { char *sharkigator_instance_vars; struct WalkerTarget target; float point[4]; - float offset[4]; + float attachment_point_offset[4]; float goal[4]; float delta[4]; float previous[4]; @@ -811,14 +811,14 @@ void sharkigator_update(unsigned char *moby) { if (vector_distance_xy(moby + 0x10, hero) < 30.0f) { target.moby = *(int *)(hero + 0x2000); qcopy(&target.pos, hero); - qcopy(&target.q10, hero + 0x10); + qcopy(&target.rotation, hero + 0x10); qcopy(&target.q20, hero + 0x40); qcopy(&target.q30, hero + 0x50); target.kind = WALKER_TARGET_HERO; } else { target.moby = 0; qzero(&target.pos); - qzero(&target.q10); + qzero(&target.rotation); qzero(&target.q30); qzero(&target.q20); target.kind = WALKER_TARGET_NONE; @@ -872,11 +872,12 @@ void sharkigator_update(unsigned char *moby) { D_L07_001612D0, D_L07_001612D8, 1, F(moby, 0x10), F(moby, 0x14), scale, height); } if (D_L07_0015F5CC % ((rand() & 7) + 20) == 0) { - float size = random_float_between(1.5f, 2.4f); + float particle_size = random_float_between(1.5f, 2.4f); point[0] += random_float_between(-0.15f, 0.15f); point[1] += random_float_between(-0.15f, 0.15f); point[2] = resolve_camera_surface_height((Vec4 *)&D_L07_00173EE0, 0); - spawn_moving_resizing_height_snapped_alpha_fade_particle(point, 0, -1, size, 5250.0f); + spawn_moving_resizing_height_snapped_alpha_fade_particle( + point, 0, -1, particle_size, 5250.0f); } } if (1.0f <= F(sharkigator_instance_vars, 0x14C)) { @@ -1078,7 +1079,7 @@ void sharkigator_update(unsigned char *moby) { float one; FUN_L00_0024f7c8(moby, 0, point); mpos = (char *)moby + 0x10; - fast_vec_sub(offset, point, mpos); + fast_vec_sub(attachment_point_offset, point, mpos); angle = fast_arc_tan(target.pos[0] - point[0], target.pos[1] - point[1]); func_L00_002592B0_t((char *)moby, angle, @@ -1089,7 +1090,7 @@ void sharkigator_update(unsigned char *moby) { F(moby, 0x44) *= frame_scale * 0.7f; F(sharkigator_instance_vars, 0x14C) += 0.028f; qcopy(previous, mpos); - fast_vec_sub(goal, &target, offset); + fast_vec_sub(goal, &target, attachment_point_offset); start = sharkigator_instance_vars + 0x100; fast_vec_sub(delta, goal, start); one = 1.0f; diff --git a/src/overlays/l07/mobys/snagglebeast.c b/src/overlays/l07/mobys/snagglebeast.c index 38b7af2dec..be10c281c0 100644 --- a/src/overlays/l07/mobys/snagglebeast.c +++ b/src/overlays/l07/mobys/snagglebeast.c @@ -286,7 +286,7 @@ void draw_snagglebeast_rope_attack_layer( SnagglebeastVars *rope_layer_moby_vars = (SnagglebeastVars *)MOBY(moby)->pvars; struct GeometryQuad quad; struct GeometryQuad inner; - float offset[4]; + float rope_radial_offset[4]; float spin; float step; float angle; @@ -339,11 +339,12 @@ void draw_snagglebeast_rope_attack_layer( qcopy(&quad.positions[0], &quad.positions[1]); qcopy(&quad.positions[2], &quad.positions[3]); wrapped = normalize_angle(angle + spin * 0.02f); - offset[1] = radius * fast_cos(wrapped); - offset[2] = radius * fast_sin(wrapped); - offset[0] = 0.0f; - transform_vector_by_basis(offset, offset, moby + 0xC0); - fast_vec_add(&quad.positions[3], rope_layer_moby_vars->rope_tip_position, offset); + rope_radial_offset[1] = radius * fast_cos(wrapped); + rope_radial_offset[2] = radius * fast_sin(wrapped); + rope_radial_offset[0] = 0.0f; + transform_vector_by_basis(rope_radial_offset, rope_radial_offset, moby + 0xC0); + fast_vec_add( + &quad.positions[3], rope_layer_moby_vars->rope_tip_position, rope_radial_offset); if (angle != -3.1415927f) { draw_geometry_quad(&quad, 0, 1); qcopy(&inner.positions[2], &quad.positions[2]); @@ -692,7 +693,12 @@ int update_snagglebeast_chase_movement(struct Moby *chaser_moby, int update_snagglebeast_chase_movement( - struct Moby *chaser_moby, struct ChaserVars *chaser_vars, Vec4 *goal, int mode, float range) { + struct Moby *chaser_moby, + struct ChaserVars *chaser_vars, + Vec4 *goal, + int waypoint_position, + + float range) { float position_delta[4]; char *path; struct Moby *target_moby; @@ -703,8 +709,8 @@ int update_snagglebeast_chase_movement( navigation_result = 4; path = D_L07_001B0530[chaser_vars->path]; if (range < goal_distance) { - navigation_result = - step_mover_2e3f20(chaser_moby, chaser_vars->nav, mode, chaser_vars->navOut); + navigation_result = step_mover_2e3f20( + chaser_moby, chaser_vars->nav, waypoint_position, chaser_vars->navOut); if (navigation_result == 2) { fast_vec_sub( position_delta, @@ -1003,18 +1009,21 @@ void snagglebeast_update(unsigned char *moby) { SNAGGLEBEAST_PHASE_AFTER_THIRD_HEALTH_THRESHOLD = 7, SNAGGLEBEAST_PHASE_FINAL_TIMED_DAMAGE_SEQUENCE = 8 }; + enum { + SNAGGLEBEAST_TURN_CONTROLLER_RESET = 0 + }; Vec4 oldpos; ChaserSight sight; Vec4 position; Vec4 velocity; Vec4 direction; Vec4 start; - Vec4 offset; + Vec4 hero_motion_prediction_offset; Vec4 step; Vec4 projection; SnagglebeastVars *snagglebeast_instance_state = (SnagglebeastVars *)MOBY(moby)->pvars; int follow_target; - int timer194; + int triple_spawn_attack_ready; int timer19a; int sight_ready; int target_close; @@ -1064,7 +1073,7 @@ void snagglebeast_update(unsigned char *moby) { } } timer19a = 0; - timer194 = fast_dec_timer_s16(&snagglebeast_instance_state->timer_194) != 0; + triple_spawn_attack_ready = fast_dec_timer_s16(&snagglebeast_instance_state->timer_194) != 0; if (fast_dec_timer_s16(&snagglebeast_instance_state->timer_19A) && target_distance > 9.0f) timer19a = 1; sight_ready = 0; @@ -1102,7 +1111,7 @@ void snagglebeast_update(unsigned char *moby) { if (snagglebeast_instance_state->target_nav_point != -1) { follow_target = 1; path_point_ready = 1; - timer194 = 0; + triple_spawn_attack_ready = 0; target_close = 0; } else { follow_target = 0; @@ -1113,7 +1122,7 @@ void snagglebeast_update(unsigned char *moby) { if (snagglebeast_instance_state->target_nav_point != -1) { follow_target = 1; path_point_ready = 1; - timer194 = 0; + triple_spawn_attack_ready = 0; target_close = 0; } else { follow_target = 0; @@ -1122,7 +1131,7 @@ void snagglebeast_update(unsigned char *moby) { case SNAGGLEBEAST_PHASE_AFTER_FIRST_HEALTH_THRESHOLD: case SNAGGLEBEAST_PHASE_AFTER_SECOND_HEALTH_THRESHOLD: case SNAGGLEBEAST_PHASE_AFTER_THIRD_HEALTH_THRESHOLD: - timer194 = 0; + triple_spawn_attack_ready = 0; sight_ready = 0; if (MOBY(moby)->state != SNAGGLEBEAST_IDLE) timer19a = 0; @@ -1131,7 +1140,7 @@ void snagglebeast_update(unsigned char *moby) { case SNAGGLEBEAST_PHASE_SECOND_TIMED_DAMAGE_SEQUENCE: case SNAGGLEBEAST_PHASE_FINAL_TIMED_DAMAGE_SEQUENCE: target_close = 0; - timer194 = 0; + triple_spawn_attack_ready = 0; sight_ready = 0; timer19a = 0; break; @@ -1286,7 +1295,7 @@ void snagglebeast_update(unsigned char *moby) { } MOBY(moby)->state = SNAGGLEBEAST_SWEEP_BEAM_ATTACK; } - if (timer194) { + if (triple_spawn_attack_ready) { if (MOBY(moby)->state != SNAGGLEBEAST_CHASE_TARGET || FUN_00213260(4) == 0) { snagglebeast_instance_state->substate = 0; if (MOBY(moby)->prev_seq != 4) { @@ -1379,7 +1388,7 @@ void snagglebeast_update(unsigned char *moby) { snagglebeast_instance_state->substate += 1; qcopy(&position, moby + 0x10); speed = frame_time * 8.0f; - snagglebeast_instance_state->turn_controller_state = 0; + snagglebeast_instance_state->turn_controller_state = SNAGGLEBEAST_TURN_CONTROLLER_RESET; spawn_fading_ring_effect((int)moby, &position, 0x3A, 1.0f, 25.0f, 2.0f, speed, 1.0f); FUN_L00_0024f7c8(moby, (snagglebeast_instance_state->substate & 1) + 5, &position); configure_timed_point_light(moby, @@ -1470,13 +1479,14 @@ void snagglebeast_update(unsigned char *moby) { fast_vec_sub(&direction, &direction, &velocity); qcopy(&projection, ((char *)&hero) + 0x100); projection.f[2] = 0.0f; - fast_vec_scale(&offset, &projection, (float)scale_game_frames(0x28)); + fast_vec_scale( + &hero_motion_prediction_offset, &projection, (float)scale_game_frames(0x28)); fast_vec_sub(&velocity, &direction, &start); fast_vec_scale(&velocity, &velocity, 0.5f); fast_vec_add(&velocity, &velocity, &start); fast_vec_sub(&velocity, &velocity, &position); fast_vec_sub(&velocity, &velocity, &step); - fast_vec_sub(&velocity, &offset, &velocity); + fast_vec_sub(&velocity, &hero_motion_prediction_offset, &velocity); fast_vec_add(&start, &start, &velocity); fast_vec_add(&direction, &direction, &velocity); qcopy(snagglebeast_instance_state->rope_start_position, &start); @@ -1628,7 +1638,7 @@ void snagglebeast_update(unsigned char *moby) { } MOBY(moby)->state = SNAGGLEBEAST_SWEEP_BEAM_ATTACK; } - if (timer194) { + if (triple_spawn_attack_ready) { snagglebeast_instance_state->substate = 0; if (MOBY(moby)->prev_seq != 4) { int r = random_int_between(0, 5); @@ -2577,7 +2587,7 @@ float update_snagglebeast_rope(void *moby, void *anchor) { RopeVec side; RopeVec perpendicular; RopeVec normal; - RopeVec offset; + RopeVec ring_radial_offset; RopeVec previous; RopeVec previous_cross; extern RopeParticle rope_particles[]; @@ -2689,13 +2699,13 @@ float update_snagglebeast_rope(void *moby, void *anchor) { qcopy(tangent, step); if (absolute_float(step[2]) > 2.1f) { qcopy(normal, up); - fast_vec_cross(offset, normal, step); + fast_vec_cross(ring_radial_offset, normal, step); fast_vec_sub(previous_cross, l07_rope_previous_segment_start_points[i], rope_previous_points[i]); fast_vec_cross(previous, normal, previous_cross); { - float facing = fast_vec_dot(offset, previous); + float facing = fast_vec_dot(ring_radial_offset, previous); if (facing > 0.0f) { fast_vec_scale(normal, normal, -1.0f); } @@ -2716,9 +2726,10 @@ float update_snagglebeast_rope(void *moby, void *anchor) { radius += radius * 0.25f * fast_sin(fast_add_rotations( (*(float *)&D_L07_00161B84_gp) + index * 0.7f, 0.0f)); - fast_vec_scale(offset, l07_rope_ring_profile_vectors[column], radius); - transform_vector_by_basis(offset, offset, side); - fast_vec_add(rope_grid[i][column], rope_points[i], offset); + fast_vec_scale( + ring_radial_offset, l07_rope_ring_profile_vectors[column], radius); + transform_vector_by_basis(ring_radial_offset, ring_radial_offset, side); + fast_vec_add(rope_grid[i][column], rope_points[i], ring_radial_offset); } } fast_vec_normalize(step, extension, 2.8f); diff --git a/src/overlays/l07/mobys/snagglebeast_effects.c b/src/overlays/l07/mobys/snagglebeast_effects.c index 05de038257..06bab44eb3 100644 --- a/src/overlays/l07/mobys/snagglebeast_effects.c +++ b/src/overlays/l07/mobys/snagglebeast_effects.c @@ -151,12 +151,12 @@ void configure_timed_point_light(float radius, void rumble_by_distance(char *moby) { float distance = fast_vec_dist(moby + 0x10, debris_far_point); - char *state; + char *rumble_state; if (distance > 80.0f) distance = 80.0f; - state = debris_far_point - 0x140; - *(int *)(state + 0x168) = 0x14; - *(float *)(state + 0x160) = ((80.0f - distance) / 80.0f) * 0.1f; + rumble_state = debris_far_point - 0x140; + *(int *)(rumble_state + 0x168) = 0x14; + *(float *)(rumble_state + 0x160) = ((80.0f - distance) / 80.0f) * 0.1f; } void update_timed_point_light_color(char *light_effect_state) { diff --git a/src/overlays/l08/mobys/batalia_bolt_pickup.c b/src/overlays/l08/mobys/batalia_bolt_pickup.c index 5590b4b40b..3dcb04b3c6 100644 --- a/src/overlays/l08/mobys/batalia_bolt_pickup.c +++ b/src/overlays/l08/mobys/batalia_bolt_pickup.c @@ -462,7 +462,7 @@ void update_batalia_bolt_pickup(struct Moby *moby) { int value; int spin; float shrink; - float size; + float collection_effect_scale; BoltSource_4BE8 *source; switch (moby->oclass) { @@ -506,11 +506,11 @@ void update_batalia_bolt_pickup(struct Moby *moby) { if (spin == 0) { spin--; } - size = random_float_between(0.4f, 0.5f); + collection_effect_scale = random_float_between(0.4f, 0.5f); FUN_L00_00272060(surface_basis_and_collection_vectors + 4, scale_game_frames(0x19), - size * 0.2f, - size, + collection_effect_scale * 0.2f, + collection_effect_scale, 0x7F207F7F, 0, spin, @@ -519,8 +519,8 @@ void update_batalia_bolt_pickup(struct Moby *moby) { spin = -spin; FUN_L00_00272060(surface_basis_and_collection_vectors + 4, scale_game_frames(0x19), - size * 0.14f, - size * shrink, + collection_effect_scale * 0.14f, + collection_effect_scale * shrink, 0x7F7F7F7F, 1, spin, diff --git a/src/overlays/l08/mobys/batalia_cannon.c b/src/overlays/l08/mobys/batalia_cannon.c index 1e65b9fc01..8e6b9af8fa 100644 --- a/src/overlays/l08/mobys/batalia_cannon.c +++ b/src/overlays/l08/mobys/batalia_cannon.c @@ -734,7 +734,8 @@ void batalia_cannon_update(Moby *moby) { CANNON_THREE_INACTIVE_INDEXED_TARGETS = 3, CANNON_ALL_INDEXED_TARGETS_INACTIVE = 4 }; - float position[4], offset[4], work[4], direction[4], muzzle[4], scatter[4], random_vec[4]; + float position[4], mounted_hero_position_offset[4], work[4], direction[4], muzzle[4], + scatter[4], random_vec[4]; CannonData52 *cannon_control_vars = (*(CannonData52 **)&moby->pvars); int i, target, all_done, dead, best, min_life; Moby **links; @@ -744,10 +745,10 @@ void batalia_cannon_update(Moby *moby) { if (fast_dec_timer_s16(&cannon_control_vars->exit_timer) && moby->command == 1) { qcopy(hero.motion.pos.f, position); qcopy(hero.motion.rot.f, (*(float(*)[4]) & moby->rot)); - offset[0] = fast_cos(hero.motion.rot.f[2]) * -0.7f; - offset[1] = fast_sin(hero.motion.rot.f[2]) * -0.7f; - offset[2] = 0.0f; - fast_vec_add(hero.motion.pos.f, hero.motion.pos.f, offset); + mounted_hero_position_offset[0] = fast_cos(hero.motion.rot.f[2]) * -0.7f; + mounted_hero_position_offset[1] = fast_sin(hero.motion.rot.f[2]) * -0.7f; + mounted_hero_position_offset[2] = 0.0f; + fast_vec_add(hero.motion.pos.f, hero.motion.pos.f, mounted_hero_position_offset); fast_mem_zero16((char *)hero.motion.pos.f + 0x60, 0x90); if (cannon_control_vars->health == 0) { Moby *node; diff --git a/src/overlays/l08/mobys/bolt_pickup.c b/src/overlays/l08/mobys/bolt_pickup.c index 3d3d982d17..285f9ccd84 100644 --- a/src/overlays/l08/mobys/bolt_pickup.c +++ b/src/overlays/l08/mobys/bolt_pickup.c @@ -57,7 +57,7 @@ typedef struct Hero_2B94B0 { float bolt_collection_probe_b[4]; float bolt_collection_probe_c[4]; char pad540[0x1B4C]; - int f208C; + int bolt_collection_test_selector; char pad2090[0x1F8]; float collection_radius_xy; float collection_height_tolerance; @@ -183,7 +183,7 @@ void bolt_pickup_update(Moby_2B94B0 *moby) { case MOBY_STATE_CHECK_COLLECTION: hit = 0; moby->spin_angle = fast_add_rotations(moby->spin_angle, moby_data->fC); - if (((Hero_2B94B0 *)((char *)&hero))->f208C == 15) { + if (((Hero_2B94B0 *)((char *)&hero))->bolt_collection_test_selector == 15) { if (vector_distance_xy(((Hero_2B94B0 *)((char *)&hero))->bolt_collection_probe_a, moby->pos) < 0.5f) hit = 1; diff --git a/src/overlays/l08/mobys/bomber_tank.c b/src/overlays/l08/mobys/bomber_tank.c index d4d482ac85..953ef510cf 100644 --- a/src/overlays/l08/mobys/bomber_tank.c +++ b/src/overlays/l08/mobys/bomber_tank.c @@ -866,7 +866,7 @@ void spawn_bomber_tank_joint_particles(struct Moby *moby, int joint, int count) float spawn_pos[4]; int i; int frames1, frames2, frames3; - float random_angle, offset; + float random_angle, horizontal_spread_offset; moby_point_position(moby, joint, joint_pos); build_moby_bone_transform(moby, joint, joint_transform_buffer); @@ -889,18 +889,20 @@ void spawn_bomber_tank_joint_particles(struct Moby *moby, int joint, int count) D_0015ED6C); fast_vec_add(velocity, velocity, jitter); fast_vec_scale(spread_vector, spread_vector, 0.5f); - offset = func_001F9F90_2D6C58(random_angle); - offset = - offset * (random_float_between( - 0.0f, bomber_tank_joint_particle_horizontal_spread_range_end_gp) * - D_0015ED6C); - spread_vector[0] = spread_vector[0] + offset; - offset = func_001F9FA8_2D6C58(random_angle); - offset = - offset * (random_float_between( - 0.0f, bomber_tank_joint_particle_horizontal_spread_range_end_gp) * - D_0015ED6C); - spread_vector[1] = spread_vector[1] + offset; + horizontal_spread_offset = func_001F9F90_2D6C58(random_angle); + horizontal_spread_offset = + horizontal_spread_offset * + (random_float_between(0.0f, + bomber_tank_joint_particle_horizontal_spread_range_end_gp) * + D_0015ED6C); + spread_vector[0] = spread_vector[0] + horizontal_spread_offset; + horizontal_spread_offset = func_001F9FA8_2D6C58(random_angle); + horizontal_spread_offset = + horizontal_spread_offset * + (random_float_between(0.0f, + bomber_tank_joint_particle_horizontal_spread_range_end_gp) * + D_0015ED6C); + spread_vector[1] = spread_vector[1] + horizontal_spread_offset; spread_vector[2] = bomber_tank_joint_particle_vertical_spread_gp * D_0015ED6C; } else { func_L00_001FF4B0_2D6C58( @@ -910,18 +912,20 @@ void spawn_bomber_tank_joint_particles(struct Moby *moby, int joint, int count) D_0015ED6C); fast_vec_add(velocity, velocity, jitter); fast_vec_scale(spread_vector, spread_vector, 0.5f); - offset = func_001F9F90_2D6C58(random_angle); - offset = offset * - (random_float_between( - 0.0f, bomber_tank_joint_particle_horizontal_spread_range_end_gp * 0.25f) * - D_0015ED6C); - spread_vector[0] = spread_vector[0] + offset; - offset = func_001F9FA8_2D6C58(random_angle); - offset = offset * - (random_float_between( - 0.0f, bomber_tank_joint_particle_horizontal_spread_range_end_gp * 0.25f) * - D_0015ED6C); - spread_vector[1] = spread_vector[1] + offset; + horizontal_spread_offset = func_001F9F90_2D6C58(random_angle); + horizontal_spread_offset = + horizontal_spread_offset * + (random_float_between( + 0.0f, bomber_tank_joint_particle_horizontal_spread_range_end_gp * 0.25f) * + D_0015ED6C); + spread_vector[0] = spread_vector[0] + horizontal_spread_offset; + horizontal_spread_offset = func_001F9FA8_2D6C58(random_angle); + horizontal_spread_offset = + horizontal_spread_offset * + (random_float_between( + 0.0f, bomber_tank_joint_particle_horizontal_spread_range_end_gp * 0.25f) * + D_0015ED6C); + spread_vector[1] = spread_vector[1] + horizontal_spread_offset; spread_vector[2] = bomber_tank_joint_particle_vertical_spread_gp * D_0015ED6C; } velocity[3] = bomber_tank_joint_particle_velocity_w_gp; diff --git a/src/overlays/l08/mobys/bomber_tank_bomb.c b/src/overlays/l08/mobys/bomber_tank_bomb.c index 25ba8d13f0..5c77fd35f7 100644 --- a/src/overlays/l08/mobys/bomber_tank_bomb.c +++ b/src/overlays/l08/mobys/bomber_tank_bomb.c @@ -189,7 +189,7 @@ void bomber_tank_bomb_update(struct Moby *moby) { switch (axis) { case DETONATION_EFFECT_FIXED_COLORS: { int color, color2, alpha; - float size = random_float_between(200000.0f, 300000.0f); + float initial_particle_size = random_float_between(200000.0f, 300000.0f); color = FUN_L08_002dc9a8_random_color(60); color2 = FUN_L08_002dc9a8_random_color(120); alpha = random_int_between(color, color2); @@ -197,7 +197,7 @@ void bomber_tank_bomb_update(struct Moby *moby) { position, 0x1f101820, 0x101010, - size, + initial_particle_size, alpha, 0); } break; diff --git a/src/overlays/l08/mobys/flickering_mesh_effect.c b/src/overlays/l08/mobys/flickering_mesh_effect.c index ec87a2daa9..6846fc506b 100644 --- a/src/overlays/l08/mobys/flickering_mesh_effect.c +++ b/src/overlays/l08/mobys/flickering_mesh_effect.c @@ -502,7 +502,7 @@ void draw_flickering_mesh_effect(struct Moby *moby) { float x = random_float_between(-1.0f, 1.0f) * flickering_mesh_vars->particle_range; float fraction = random_float_between(0.0f, x); - float size; + float particle_size; short life; int r, g, b, a; Vec4 *particle_motion = &sv0; @@ -522,8 +522,8 @@ void draw_flickering_mesh_effect(struct Moby *moby) { frame_scale; sv0.f[2] = random_float_between(0.0f, flickering_mesh_vars->particle_z) * frame_scale; - size = random_float_between(flickering_mesh_vars->particle_size0, - flickering_mesh_vars->particle_size1); + particle_size = random_float_between(flickering_mesh_vars->particle_size0, + flickering_mesh_vars->particle_size1); life = scale_game_frames(flickering_mesh_vars->particle_life); r = flickering_mesh_vars->particle_r; g = flickering_mesh_vars->particle_g; @@ -531,7 +531,7 @@ void draw_flickering_mesh_effect(struct Moby *moby) { a = truncate_float_to_s32( convert_integer_to_float(flickering_mesh_vars->particle_a) * fraction); spawn_colored_effect_size_first( - moby, &sv1, particle_motion, size, life, r, g, b, a); + moby, &sv1, particle_motion, particle_size, life, r, g, b, a); } } if (fast_dec_timer_s16(&flickering_mesh_vars->puff_timer)) { @@ -547,8 +547,8 @@ void draw_flickering_mesh_effect(struct Moby *moby) { (flickering_mesh_vars->puff_c1[1] << 8) | flickering_mesh_vars->puff_c1[0]; float width = flickering_mesh_vars->size_x * 0.5f; - float size = random_float_between(flickering_mesh_vars->puff_size0, - flickering_mesh_vars->puff_size1); + float puff_size = random_float_between(flickering_mesh_vars->puff_size0, + flickering_mesh_vars->puff_size1); int life = scale_game_frames(random_int_between( flickering_mesh_vars->puff_life0, flickering_mesh_vars->puff_life1)); float fraction = @@ -576,7 +576,7 @@ void draw_flickering_mesh_effect(struct Moby *moby) { 1.0f - flickering_mesh_vars->puff_blend + shape * flickering_mesh_vars->puff_blend); spawn_effect_particle_with_target_scalar( - &sv1, &sv0, puff_spawn_color, puff_payload_color, size, life); + &sv1, &sv0, puff_spawn_color, puff_payload_color, puff_size, life); } } if (flickering_mesh_vars->light != -1) { diff --git a/src/overlays/l08/mobys/gunship.c b/src/overlays/l08/mobys/gunship.c index eb696a98a6..096e920c9f 100644 --- a/src/overlays/l08/mobys/gunship.c +++ b/src/overlays/l08/mobys/gunship.c @@ -252,7 +252,7 @@ void process_gunship_part_hits(struct Moby *moby) { char *part_entry_cursor = entries; int i; int score = 0; - int state = -1; + int voice_entry_index = -1; int chosen = 0; char *gunship_part_table; for (i = 0; i < 34; i++, part_entry_cursor += 16) { @@ -261,18 +261,18 @@ void process_gunship_part_hits(struct Moby *moby) { if (i < 7) { if (score <= 0) { score = 1; - state = GUNSHIP_NON_TARGET_HIT_VOICE_ENTRY; + voice_entry_index = GUNSHIP_NON_TARGET_HIT_VOICE_ENTRY; } } else if (i < 10) { if (score < 2) { score = 2; - state = GUNSHIP_NON_TARGET_HIT_VOICE_ENTRY; + voice_entry_index = GUNSHIP_NON_TARGET_HIT_VOICE_ENTRY; } } else { if (score < 4) { score += 4; chosen = i; - state = GUNSHIP_TARGET_HIT_VOICE_ENTRY; + voice_entry_index = GUNSHIP_TARGET_HIT_VOICE_ENTRY; } } (*(unsigned char **)part_entry_cursor)[0xA4] = 0xFF; @@ -280,7 +280,7 @@ void process_gunship_part_hits(struct Moby *moby) { } *(short *)(gunship_instance_vars + 0x28C) += score; if (*(short *)(gunship_instance_vars + 0x28C) >= 8) { - state = GUNSHIP_TARGETS_EXHAUSTED_VOICE_ENTRY; + voice_entry_index = GUNSHIP_TARGETS_EXHAUSTED_VOICE_ENTRY; *(short *)(gunship_instance_vars + 0x28C) = *(short *)(gunship_instance_vars + 0x28C) % 8; if (chosen != 0) { int off = chosen * 16; @@ -319,8 +319,8 @@ void process_gunship_part_hits(struct Moby *moby) { ((char *)moby)[0x20] = 99; } } - if (state >= GUNSHIP_TARGETS_EXHAUSTED_VOICE_ENTRY) - allocate_voice_for_target_entry(state, 0, moby); + if (voice_entry_index >= GUNSHIP_TARGETS_EXHAUSTED_VOICE_ENTRY) + allocate_voice_for_target_entry(voice_entry_index, 0, moby); } /* Moby class 444 */ diff --git a/src/overlays/l08/mobys/landmine.c b/src/overlays/l08/mobys/landmine.c index 2237a391f4..d5144cb4d9 100644 --- a/src/overlays/l08/mobys/landmine.c +++ b/src/overlays/l08/mobys/landmine.c @@ -198,10 +198,10 @@ void landmine_update(struct Moby *moby) { return; } case PATH_FOLLOWER_FADE_OUT: { - Vec4 timer; - timer.f[0] = (f32)moby->alpha; - approach_value(&timer, 0.0f, 128.0f / (f32)scale_game_frames(30)); - moby->alpha = (u8)(s32)timer.f[0]; + Vec4 fade_alpha; + fade_alpha.f[0] = (f32)moby->alpha; + approach_value(&fade_alpha, 0.0f, 128.0f / (f32)scale_game_frames(30)); + moby->alpha = (u8)(s32)fade_alpha.f[0]; if (moby->alpha == 0) mark_moby_for_removal(moby); } diff --git a/src/overlays/l08/spawn_particle_line_effect.c b/src/overlays/l08/spawn_particle_line_effect.c index 2a36d74ff2..f1c1ad5062 100644 --- a/src/overlays/l08/spawn_particle_line_effect.c +++ b/src/overlays/l08/spawn_particle_line_effect.c @@ -26,24 +26,24 @@ void spawn_particle_line_effect(struct Moby *moby, void spawn_particle_line_effect( - struct Moby *moby, void *from, void *to, int count, f32 size0, f32 size1) { + struct Moby *moby, void *from, void *to, int line_puff_count, f32 size0, f32 size1) { Vec4 step; Vec4 puff_spawn_position; Vec4 effect_initial_velocity; f32 grow; - f32 size; + f32 puff_scalar_range_end; unsigned char *puff; unsigned char *tail; int alpha, grey; int i; fast_vec_sub(&step, to, from); - fast_vec_scale(&step, &step, 1.0f / (f32)count); - grow = (size1 - size0) / (f32)count; + fast_vec_scale(&step, &step, 1.0f / (f32)line_puff_count); + grow = (size1 - size0) / (f32)line_puff_count; effect_initial_velocity.q = 0; effect_initial_velocity.f[3] = 1.0f; effect_initial_velocity.f[2] = 0.01f; - for (i = 0; i < count; i++) { + for (i = 0; i < line_puff_count; i++) { fast_vec_scale(&puff_spawn_position, &step, convert_integer_to_float(i)); fast_vec_add(&puff_spawn_position, from, &puff_spawn_position); effect_initial_velocity.f[0] = randf_sym(0.0f, 0.005f); @@ -54,11 +54,11 @@ void spawn_particle_line_effect( alpha = random_int_between(0x30, 0x70); grey = random_int_between(0x30, 0x7F); grey |= (grey << 16) | (grey << 8); - size = random_float_between(1.0f, 1.02f); + puff_scalar_range_end = random_float_between(1.0f, 1.02f); puff = spawn_puff(&puff_spawn_position, line_puff_position_jitter_range_end_gp, 1.0f, - size, + puff_scalar_range_end, random_int_between(-2, 2), &effect_initial_velocity, grow + size0 * 210000.0f, diff --git a/src/overlays/l09/draw_level09_textured_surfaces.c b/src/overlays/l09/draw_level09_textured_surfaces.c index 9d5d3ccea1..44a0f1c6e8 100644 --- a/src/overlays/l09/draw_level09_textured_surfaces.c +++ b/src/overlays/l09/draw_level09_textured_surfaces.c @@ -139,7 +139,12 @@ void draw_level09_scrolling_textured_strips(char *list, void draw_level09_scrolling_textured_strips( - char *list, int count, float unused, long first_texture_index, long second_texture_index) { + char *list, + int strip_entry_count, + float unused, + long first_texture_index, + + long second_texture_index) { int i; int j; int strip_vertex_index; @@ -160,7 +165,7 @@ void draw_level09_scrolling_textured_strips( for (i = 0; i < 256; i++) { sp[i] = ((i * 0x89) & 0xF) * 0x20200 + 0x80787070; } - for (i = 0; i < count; i++) { + for (i = 0; i < strip_entry_count; i++) { char *strip_entry = list + i * 64; idx = fast_bsphere_check(strip_entry, 256.0f); if (idx == -1) @@ -217,7 +222,10 @@ void build_packet_and_draw_scaled_entries(void *data_ptr, void *list_ptr, int count) __asm__("FUN_L09_002c1978"); -void build_packet_and_draw_scaled_entries(void *data_ptr, void *list_ptr, int count) { +void build_packet_and_draw_scaled_entries(void *data_ptr, + void *list_ptr, + + int scaled_surface_entry_count) { enum { TEXTURED_GRID_USE_CURRENT_VIEW_SETTINGS = 1 }; @@ -229,7 +237,7 @@ void build_packet_and_draw_scaled_entries(void *data_ptr, void *list_ptr, int co int *packet; u64 *words; float matrix[12]; - float offset[4]; + float offset_vector[4]; u64 color; int *scratchpad_colors; int scratch_color; @@ -252,8 +260,8 @@ void build_packet_and_draw_scaled_entries(void *data_ptr, void *list_ptr, int co update_view_context(); update_camera_view_matrices(); set_scale_matrix(matrix, 1024.0f); - setup_offset_vector(-1024.0f, offset, D_L09_00166F40); - offset[3] = 1.0f; + setup_offset_vector(-1024.0f, offset_vector, D_L09_00166F40); + offset_vector[3] = 1.0f; vu1_add_data_ref(scaled_entries_vu1_setup_data, l09_scaled_entries_vu1_setup_qword_count[0]); { int *packet; @@ -348,7 +356,7 @@ void build_packet_and_draw_scaled_entries(void *data_ptr, void *list_ptr, int co for (i = 255; i >= 0; i--) scratchpad_colors[i] = scratch_color; i = 0; - if (count > 0) + if (scaled_surface_entry_count > 0) do { char *scaled_surface_entry; int visible; @@ -373,7 +381,7 @@ void build_packet_and_draw_scaled_entries(void *data_ptr, void *list_ptr, int co visible == 0); } i++; - } while (i < count); + } while (i < scaled_surface_entry_count); restore_view_after_textured_grid(surface_draw_settings); } diff --git a/src/overlays/l09/mobys/airship_part.c b/src/overlays/l09/mobys/airship_part.c index 156a046d94..1dffed48e8 100644 --- a/src/overlays/l09/mobys/airship_part.c +++ b/src/overlays/l09/mobys/airship_part.c @@ -151,13 +151,16 @@ char *spawn_airship_part(struct Moby *rotation_source_moby, return spawned_moby; } -char *find_nearest_moby_by_class(void *search_position, int type, float *nearest_distance_out) { +char *find_nearest_moby_by_class(void *search_position, + int target_moby_class, + + float *nearest_distance_out) { char *best = 0; float bestd = 100000.0f; char *candidate_moby; for (candidate_moby = D_L09_0015FFE4; candidate_moby != 0; candidate_moby = ((char *)MOBY(candidate_moby)->next)) { - if (MOBY(candidate_moby)->oclass == type) { + if (MOBY(candidate_moby)->oclass == target_moby_class) { float candidate_distance = fast_vec_dist(search_position, candidate_moby + 0x10); if (candidate_distance < bestd) { bestd = candidate_distance; diff --git a/src/overlays/l09/mobys/asteroid.c b/src/overlays/l09/mobys/asteroid.c index fbf33013ce..0149d72acb 100644 --- a/src/overlays/l09/mobys/asteroid.c +++ b/src/overlays/l09/mobys/asteroid.c @@ -709,7 +709,7 @@ void asteroid_update(struct Moby *asteroid_moby) { char *spawn_radially_scattered_moby( void *unused, float lower_radius, float upper_radius, void *origin, float *direction) { - float offset[4]; + float direction_velocity_contribution[4]; char *moby = (char *)create_moby(0x1A1); if (moby != 0) { float pi = 3.1415927f; @@ -729,8 +729,9 @@ char *spawn_radially_scattered_moby( fast_vec_normalize(spawned_velocity, &MOBY(moby)->pos, difference * speed); } gap = pi - difference; - fast_vec_normalize(offset, direction, gap * gap * 0.25f * frame_time); - fast_vec_add(spawned_velocity, spawned_velocity, offset); + fast_vec_normalize( + direction_velocity_contribution, direction, gap * gap * 0.25f * frame_time); + fast_vec_add(spawned_velocity, spawned_velocity, direction_velocity_contribution); *(int *)(spawned_velocity + 8) = 0; fast_vec_add(&MOBY(moby)->pos, &MOBY(moby)->pos, origin); fast_vec_add(&MOBY(moby)->pos, &MOBY(moby)->pos, direction); diff --git a/src/overlays/l09/mobys/barrier.c b/src/overlays/l09/mobys/barrier.c index 6eb5d37bf7..a8563b4ee0 100644 --- a/src/overlays/l09/mobys/barrier.c +++ b/src/overlays/l09/mobys/barrier.c @@ -76,10 +76,10 @@ char *spawn_barrier_replacement(struct Moby *source_moby, int spawned_moby_class }; char *moby = create_moby(spawned_moby_class); if (moby != 0) { - unsigned char state; + unsigned char draw_distance; ((unsigned char *)moby)[0x30] = 0xFF; - state = BARRIER_REPLACEMENT_DRAW_DISTANCE; - MOBY(moby)->draw_dist = state; + draw_distance = BARRIER_REPLACEMENT_DRAW_DISTANCE; + MOBY(moby)->draw_dist = draw_distance; moby[0x31] = 1; moby[0x20] = 0; qcopy(moby + 0x10, &source_moby->pos); @@ -104,7 +104,7 @@ void barrier_update(Moby *moby) { float origin[4], center[4], piece_pos[4], piece_velocity[4], push[4]; Hit_309688 *hit; int has_next; - int count; + int radial_effect_iteration_count; int i; float angle; float scale; @@ -141,12 +141,12 @@ void barrier_update(Moby *moby) { allocate_voice_for_target_entry(0, 0, moby); } moby->hit_slot = 0xFF; - count = 40; + radial_effect_iteration_count = 40; if (0.85f < radial_effect_count_reduction_control || 0.85f < barrier_radial_effect_count_reduction_control) - count = 30; + radial_effect_iteration_count = 30; angle = -3.1415927f; - for (i = 0; i < count; i++) { + for (i = 0; i < radial_effect_iteration_count; i++) { *(u128 *)piece_velocity = 0; piece_velocity[0] = random_float_between(-0.4f, 0.4f); piece_velocity[1] = random_float_between(-0.6f, 0.6f); @@ -173,7 +173,7 @@ void barrier_update(Moby *moby) { if (i % 3 == 0) { cart_burst(moby, piece_pos, -1, random_float_between(0.3f, 0.6f), 0.0f); } - angle = angle + 6.2831855f / convert_integer_to_float(count); + angle = angle + 6.2831855f / convert_integer_to_float(radial_effect_iteration_count); } fast_vec_scale(piece_pos, hit->pos, 0.5f); func_L00_0025F4A8_309688(moby, diff --git a/src/overlays/l09/mobys/elevator.c b/src/overlays/l09/mobys/elevator.c index 9fac9c0ca6..c8b3e0c3b7 100644 --- a/src/overlays/l09/mobys/elevator.c +++ b/src/overlays/l09/mobys/elevator.c @@ -52,10 +52,10 @@ void elevator_update(unsigned char *moby) { } path = ((char *)l09_paths[*(int *)(elevator_vars + 0xB4)]); if (*(int *)(elevator_vars + 0xC0) != -1) { - unsigned short id; + unsigned short save_id; if (is_point_inside_clip_volume(&hero.motion.pos, *(int *)(elevator_vars + 0xC0)) || - l09_moby_collection_state.collected[(short)(id = MOBY(moby)->save_id)] != 0 || - (level_moby_killed[current_level_index][(short)id >> 5] >> (id & 0x1F)) & 1) { + l09_moby_collection_state.collected[(short)(save_id = MOBY(moby)->save_id)] != 0 || + (level_moby_killed[current_level_index][(short)save_id >> 5] >> (save_id & 0x1F)) & 1) { if (*(int *)(elevator_vars + 0xC0) != -1) { level_moby_killed[current_level_index][(short)MOBY(moby)->save_id >> 5] |= 1 << (MOBY(moby)->save_id & 0x1F); diff --git a/src/overlays/l09/mobys/turret.c b/src/overlays/l09/mobys/turret.c index b17e0cef4c..46dbdabf05 100644 --- a/src/overlays/l09/mobys/turret.c +++ b/src/overlays/l09/mobys/turret.c @@ -96,7 +96,7 @@ void turret_update(struct Moby *moby) { TURRET_STATE_MOUNTED = 5 }; Vec4 seat; - Vec4 offset; + Vec4 hero_seat_offset; Vec4 work_vector; Vec4 shot; Vec4 muzzle; @@ -120,10 +120,10 @@ void turret_update(struct Moby *moby) { qcopy(&hero.motion.pos, &seat); qcopy(&hero.motion.rot, &moby->rot); hero.motion.rot.f[2] = fast_add_rotations(1.5707964f, hero.motion.rot.f[2]); - offset.f[0] = fast_cos(hero.motion.rot.f[2]) * -0.7f; - offset.f[1] = fast_sin(hero.motion.rot.f[2]) * -0.7f; - offset.f[2] = 0.0f; - fast_vec_add(&hero.motion.pos, &hero.motion.pos, &offset); + hero_seat_offset.f[0] = fast_cos(hero.motion.rot.f[2]) * -0.7f; + hero_seat_offset.f[1] = fast_sin(hero.motion.rot.f[2]) * -0.7f; + hero_seat_offset.f[2] = 0.0f; + fast_vec_add(&hero.motion.pos, &hero.motion.pos, &hero_seat_offset); fast_mem_zero16(&hero.motion.velocity, 0x90); if (((u32)pad_pressed_lui) & 0x10) { jet_end_mount(0); diff --git a/src/overlays/l10/mobys/configurable_particle_emitter.c b/src/overlays/l10/mobys/configurable_particle_emitter.c index c81f8c51a5..ab807c0fff 100644 --- a/src/overlays/l10/mobys/configurable_particle_emitter.c +++ b/src/overlays/l10/mobys/configurable_particle_emitter.c @@ -171,7 +171,10 @@ extern int burst_spark_active_duration_max_gp __asm__("D_L10_00161FB0") __attr extern int burst_spark_pause_duration_min_gp __asm__("D_L10_00161FB4") __attribute__((sda)); extern int burst_spark_pause_duration_max_gp __asm__("D_L10_00161FB8") __attribute__((sda)); -void emit_burst_spark_particle(void *emission_position, short *timer, short *burst) { +void emit_burst_spark_particle(void *emission_position, + short *spark_emission_countdown, + + short *burst) { float visibility_sphere[4]; float burst_spark_vertical_vector[4]; float acc[4]; @@ -193,7 +196,7 @@ void emit_burst_spark_particle(void *emission_position, short *timer, short *bur visibility_sphere[3] = 2.0f; if (fast_bsphere_check((char *)visibility_sphere, 32.0f) == -1 && random_integer_below(3) != 0) return; - if (!fast_dec_timer_s16(timer)) + if (!fast_dec_timer_s16(spark_emission_countdown)) return; clear_u64_value(burst_spark_vertical_vector); burst_spark_vertical_vector[2] = burst_spark_vertical_vector_z_scale_gp * frame_time; @@ -225,8 +228,8 @@ void emit_burst_spark_particle(void *emission_position, short *timer, short *bur second_frame_count, third_frame_count, -1); - *timer = truncate_float_to_s32(random_float_between((float)burst_spark_timer_reset_min_gp, - (float)burst_spark_timer_reset_max_gp)); + *spark_emission_countdown = truncate_float_to_s32(random_float_between( + (float)burst_spark_timer_reset_min_gp, (float)burst_spark_timer_reset_max_gp)); } /* Emits a smoke particle from pos on its timer, when the camera is near and the spot is visible. */ @@ -257,7 +260,7 @@ int l10_timed_spark_second_color_from __asm__("D_L10_00161FF0") = 0x200 int l10_timed_spark_second_color_to __asm__("D_L10_00161FF4") = 0x200080ff; extern void clear_u64_value(void *); -void emit_timed_spark_particle(void *emission_position, short *timer) { +void emit_timed_spark_particle(void *emission_position, short *emission_countdown) { float visibility_sphere[4]; float spark_vertical_vector[4]; float acc[4]; @@ -270,7 +273,7 @@ void emit_timed_spark_particle(void *emission_position, short *timer) { visibility_sphere[3] = 5.0f; if (fast_bsphere_check((char *)visibility_sphere, 32.0f) == -1 && random_integer_below(3) != 0) return; - if (!fast_dec_timer_s16(timer)) + if (!fast_dec_timer_s16(emission_countdown)) return; clear_u64_value(spark_vertical_vector); spark_vertical_vector[2] = timed_spark_vertical_vector_z_scale_gp * frame_time; @@ -302,8 +305,8 @@ void emit_timed_spark_particle(void *emission_position, short *timer) { second_frame_count, third_frame_count, -1); - *timer = truncate_float_to_s32(random_float_between((float)timed_spark_timer_reset_min_gp, - (float)timed_spark_timer_reset_max_gp)); + *emission_countdown = truncate_float_to_s32(random_float_between( + (float)timed_spark_timer_reset_min_gp, (float)timed_spark_timer_reset_max_gp)); } /* Ported from rac1-decomp (src/overlays/l10_orxon/vendor_002E30F8.c: func_L10_002EBDC8), where it is exact; names translated to the US level program. */ @@ -352,7 +355,7 @@ void emit_height_adjusted_burst_spark_particle(void *emission_position, float height) __asm__("FUN_L10_002eaa08"); void emit_height_adjusted_burst_spark_particle(void *emission_position, - short *timer, + short *particle_emission_countdown, short *burst, float height) { @@ -380,7 +383,7 @@ void emit_height_adjusted_burst_spark_particle(void *emission_position, visibility_sphere[2] -= 4.0f; if (fast_bsphere_check((char *)visibility_sphere, 32.0f) == -1) return; - if (!fast_dec_timer_s16(timer)) + if (!fast_dec_timer_s16(particle_emission_countdown)) return; frame_count_scale = random_float_between(1.0f - *(float *)&height_adjusted_spark_frame_count_scale_spread_gp, @@ -419,7 +422,7 @@ void emit_height_adjusted_burst_spark_particle(void *emission_position, second_frame_count, third_frame_count, l10_height_adjusted_spark_lookup_index_and_flags); - *timer = truncate_float_to_s32( + *particle_emission_countdown = truncate_float_to_s32( random_float_between((float)*(int *)&height_adjusted_spark_timer_reset_min_gp, (float)*(int *)&height_adjusted_spark_timer_reset_max_gp)); } diff --git a/src/overlays/l10/mobys/data_processor_linked_effect.c b/src/overlays/l10/mobys/data_processor_linked_effect.c index 458fb60b3b..6feeb6ae29 100644 --- a/src/overlays/l10/mobys/data_processor_linked_effect.c +++ b/src/overlays/l10/mobys/data_processor_linked_effect.c @@ -98,14 +98,15 @@ void data_processor_linked_effect_update(struct Moby *moby) { } while (copy_index < linked_effect_vars->strip_count); } { - float timer; + float fade_duration_frames; float new_rotation = fast_add_rotations(moby->rot.z, 1.5707964f); moby->update_dist = 0x60; moby->state = MOBY_STATE_ACTIVE_WITH_SOUND; - timer = data_processor_linked_effect_fade_duration_seconds_gp * 60.0f; + fade_duration_frames = data_processor_linked_effect_fade_duration_seconds_gp * 60.0f; moby->rot.z = new_rotation; linked_effect_vars->voice = -1; - linked_effect_vars->timer_34 = scale_game_frames(truncate_float_to_s32(timer)); + linked_effect_vars->timer_34 = + scale_game_frames(truncate_float_to_s32(fade_duration_frames)); } moby->flags |= 0x41; @@ -281,7 +282,7 @@ void render_data_processor_linked_effect(u8 *moby) { *(float *)(linked_processor_vars + 0x12de0); } for (i = 0; i < linked_effect_render_vars->strip_count; i = next_strip_index) { - int offset; + int strip_transform_byte_offset; int age; float progress; unsigned int color; @@ -312,7 +313,7 @@ void render_data_processor_linked_effect(u8 *moby) { color = (truncate_float_to_s32(alpha * 255.0f / duration) << 24) | 0xffffff; } vertex = 0; - offset = i * 0x40; + strip_transform_byte_offset = i * 0x40; next_strip_index = i + 1; *(unsigned int *)(buffers.packet.quad + 0x4c) = color; *(unsigned int *)(buffers.packet.quad + 0x48) = color; @@ -325,7 +326,8 @@ void render_data_processor_linked_effect(u8 *moby) { linked_processor_vars + group_vertices + (row + (vertex >> 1)) * 0x140 + order[i] * 0x10); } - draw_geometry_quad(buffers.packet.quad, strip_transforms + offset, 0); + draw_geometry_quad( + buffers.packet.quad, strip_transforms + strip_transform_byte_offset, 0); } row = next_row; } while (row < 19); diff --git a/src/overlays/l10/mobys/directional_particle_emitter.c b/src/overlays/l10/mobys/directional_particle_emitter.c index 8d434588cc..bf59513bf7 100644 --- a/src/overlays/l10/mobys/directional_particle_emitter.c +++ b/src/overlays/l10/mobys/directional_particle_emitter.c @@ -50,7 +50,7 @@ void directional_particle_emitter_update(struct Moby *moby) { for (; i < ((s32 *)pvars)[3]; ++i) { Vec4 position; Vec4 velocity; - Vec4 offset; + Vec4 spawn_position_offset; f32 amount; f32 radius; f32 x; @@ -68,13 +68,13 @@ void directional_particle_emitter_update(struct Moby *moby) { variant = i < directional_particle_variant_threshold_percent_gp; i = life; qcopy(&position, moby_position); - offset.f[0] = fast_cos(fast_add_rotations(moby->rot.z, 1.5707964f)) * - random_float_between(-pvars[4], pvars[4]); - offset.f[1] = fast_sin(fast_add_rotations(moby->rot.z, 1.5707964f)) * - random_float_between(-pvars[4], pvars[4]); - *(volatile f32 *)&offset.f[2] = 0.0f; - offset.f[2] = random_float_between(-pvars[5], pvars[5]); - fast_vec_add(&position, &position, &offset); + spawn_position_offset.f[0] = fast_cos(fast_add_rotations(moby->rot.z, 1.5707964f)) * + random_float_between(-pvars[4], pvars[4]); + spawn_position_offset.f[1] = fast_sin(fast_add_rotations(moby->rot.z, 1.5707964f)) * + random_float_between(-pvars[4], pvars[4]); + *(volatile f32 *)&spawn_position_offset.f[2] = 0.0f; + spawn_position_offset.f[2] = random_float_between(-pvars[5], pvars[5]); + fast_vec_add(&position, &position, &spawn_position_offset); x = random_float_between(directional_particle_speed_range_start_gp, directional_particle_speed_range_end_gp); diff --git a/src/overlays/l10/mobys/gadgebot_telepot_pad.c b/src/overlays/l10/mobys/gadgebot_telepot_pad.c index 14c10c5e77..24a8bd2304 100644 --- a/src/overlays/l10/mobys/gadgebot_telepot_pad.c +++ b/src/overlays/l10/mobys/gadgebot_telepot_pad.c @@ -76,7 +76,7 @@ void gadgebot_telepot_pad_update(char *moby) { float velocity[4]; float offset_buffer[4]; float angle; - float *offset; + float *jittered_origin; int i; char *hero_bytes; int life; @@ -91,7 +91,7 @@ void gadgebot_telepot_pad_update(char *moby) { hero_bytes = D_0013F350; if ((unsigned char)hero_bytes[0x20A4] == 1 && *telepot_pad_vars != -1 && func_001F9D48_2BFBB8(moby + 0x10, hero_bytes + 0x80) < 0.5f) { - offset = offset_buffer; + jittered_origin = offset_buffer; i = 9; do { float size, size_scaled; @@ -107,7 +107,7 @@ void gadgebot_telepot_pad_update(char *moby) { func_001F9FA8_2BFBB8(func_00214158_2BFBB8()) * func_002140F8_2BFBB8(0.0f, 0.5f); velocity[2] = 0.0f; velocity[2] += func_002140F8_2BFBB8(0.0f, 0.5f); - add_vectors(offset, velocity, D_0013F350 + 0x80); + add_vectors(jittered_origin, velocity, D_0013F350 + 0x80); func_L00_001FF4B0_2BFBB8(position, position, func_002140F8_2BFBB8(0.0f, D_0015ED6C)); position[2] = func_002140F8_2BFBB8(D_0015ED6C * 2.5f, D_0015ED6C * 5.0f); life = func_001F9850_2BFBB8(func_L00_00258BC8_2BFBB8(15, 30)); @@ -132,8 +132,8 @@ void gadgebot_telepot_pad_update(char *moby) { gadgebot_telepot_camera_effect_duration_frames_gp; if (*(short *)(effect + 0x86) == 0) { char *current = *(char **)(table + 0x180); - short *timer = (short *)(*(char **)(current + 0x70) + 0x20); - *timer = func_001F9850_2BFBB8(0x5a); + short *effect_timer_frames = (short *)(*(char **)(current + 0x70) + 0x20); + *effect_timer_frames = func_001F9850_2BFBB8(0x5a); qcopy(current + 0x40, current); } } @@ -156,8 +156,9 @@ void gadgebot_telepot_pad_update(char *moby) { func_001F9FA8_2BFBB8(func_00214158_2BFBB8()) * func_002140F8_2BFBB8(0.0f, 0.5f); velocity[2] = 0.0f; velocity[2] += func_002140F8_2BFBB8(0.0f, 0.5f); - add_vectors( - offset, velocity, (*(char **)&D_L10_0015FFD8) + (*telepot_pad_vars << 8) + 0x10); + add_vectors(jittered_origin, + velocity, + (*(char **)&D_L10_0015FFD8) + (*telepot_pad_vars << 8) + 0x10); func_L00_001FF4B0_2BFBB8(position, position, func_002140F8_2BFBB8(0.0f, D_0015ED6C)); position[2] = func_002140F8_2BFBB8(D_0015ED6C * 2.5f, D_0015ED6C * 5.0f); life = func_001F9850_2BFBB8(func_L00_00258BC8_2BFBB8(15, 30)); diff --git a/src/overlays/l10/mobys/gate.c b/src/overlays/l10/mobys/gate.c index 72333ceeae..14f5f698e7 100644 --- a/src/overlays/l10/mobys/gate.c +++ b/src/overlays/l10/mobys/gate.c @@ -28,15 +28,15 @@ void gate_update(unsigned char *gate_moby) { GATE_STATE_AT_LOWER_Y = 2 }; float *saved_position = ((float *)MOBY(gate_moby)->pvars); - unsigned short id; + unsigned short gate_save_id; switch (gate_moby[0x20]) { case GATE_STATE_WAIT_FOR_SAVE_FLAG: *(OvlQuad *)saved_position = *(OvlQuad *)&MOBY(gate_moby)->pos; - id = MOBY(gate_moby)->save_id; - if (l10_save_state.cleared[(short)id] != 0 || + gate_save_id = MOBY(gate_moby)->save_id; + if (l10_save_state.cleared[(short)gate_save_id] != 0 || (*(int *)((unsigned char *)D_0014C190_257218 + - (((short)id >> 5) * 4 + (current_level_index << 8))) >> - (id & 0x1F)) & + (((short)gate_save_id >> 5) * 4 + (current_level_index << 8))) >> + (gate_save_id & 0x1F)) & 1) { gate_moby[0x20] = 1; } diff --git a/src/overlays/l10/mobys/linked_moby_hitbox.c b/src/overlays/l10/mobys/linked_moby_hitbox.c index 694aab1dcf..991dad2cd5 100644 --- a/src/overlays/l10/mobys/linked_moby_hitbox.c +++ b/src/overlays/l10/mobys/linked_moby_hitbox.c @@ -52,7 +52,7 @@ void spawn_linked_hitbox_contact_effects(struct Moby *moby, HitBox *box) { OvlVec4 inv[4]; OvlVec4 point; f32 radius; - s32 count; + s32 hitbox_candidate_count; s32 i; s32 j; s32 point_moby_count; @@ -70,12 +70,12 @@ void spawn_linked_hitbox_contact_effects(struct Moby *moby, HitBox *box) { center.f[2] = radius; transform_vector_by_basis(¢er, ¢er, moby_rotation_basis); fast_vec_add(¢er, ¢er, &moby->pos); - count = collect_mobies_in_sphere(¢er, radius, 0x10, moby, 0); - if (count != 0) { - struct Moby *found[count]; + hitbox_candidate_count = collect_mobies_in_sphere(¢er, radius, 0x10, moby, 0); + if (hitbox_candidate_count != 0) { + struct Moby *found[hitbox_candidate_count]; - memcpy(found, D_L10_00178380_u, count * 4); - for (i = 0; i < count; i++) { + memcpy(found, D_L10_00178380_u, hitbox_candidate_count * 4); + for (i = 0; i < hitbox_candidate_count; i++) { struct Moby *hitbox_candidate_moby = found[i]; if (hitbox_candidate_moby == 0 || @@ -231,9 +231,9 @@ void linked_moby_hitbox_update(struct Moby *moby) { float initial = linked_hitbox_vars->min_scale; float now = *(float *)linked_hitbox_vars; float scale = moby->pclass->scale; - float size = (now < initial ? initial * scale : now * scale); + float moby_scale = (now < initial ? initial * scale : now * scale); moby->state = LINKED_HITBOX_STATE_WAIT_FOR_LINKED_MOBIES; - moby->scale = size; + moby->scale = moby_scale; } break; case LINKED_HITBOX_STATE_WAIT_FOR_LINKED_MOBIES: diff --git a/src/overlays/l10/mobys/nanotech_upgrade_vendor.c b/src/overlays/l10/mobys/nanotech_upgrade_vendor.c index 6f21d883a8..29bf071d10 100644 --- a/src/overlays/l10/mobys/nanotech_upgrade_vendor.c +++ b/src/overlays/l10/mobys/nanotech_upgrade_vendor.c @@ -36,13 +36,13 @@ void nanotech_upgrade_vendor_update(struct Moby *moby) { NANOTECH_VENDOR_STATE_READY = 0, NANOTECH_VENDOR_STATE_FINALIZE_PURCHASE = 1 }; - int *timer; + int *purchase_cooldown_base; float angle; int purchase; int upgrade_level; - timer = (int *)moby->pvars; - fast_dec_timer(timer + 1); + purchase_cooldown_base = (int *)moby->pvars; + fast_dec_timer(purchase_cooldown_base + 1); if (moby->state != NANOTECH_VENDOR_STATE_READY) { if (moby->state == NANOTECH_VENDOR_STATE_FINALIZE_PURCHASE) goto state_one; @@ -52,8 +52,8 @@ void nanotech_upgrade_vendor_update(struct Moby *moby) { angle = fast_arc_tan(hero.motion.pos.f[0] - moby->pos.x, hero.motion.pos.f[1] - moby->pos.y); if (fast_difference_between_rotations(moby->rot.z, angle) < 1.5707964f && - vector_distance_xy(&moby->pos, hero.motion.pos.f) < 4.0f && timer[1] == 0 && - D_L10_0015F5C4_vendor != 2) { + vector_distance_xy(&moby->pos, hero.motion.pos.f) < 4.0f && + purchase_cooldown_base[1] == 0 && D_L10_0015F5C4_vendor != 2) { set_moby_dialogue_record_value(moby, 1); if (alternate_item_available[4] == 0) { if (current_bolt_count >= 4001) { @@ -74,7 +74,7 @@ void nanotech_upgrade_vendor_update(struct Moby *moby) { return; } } else { - if (alternate_item_available[5] != 0 || timer[1] != 0) + if (alternate_item_available[5] != 0 || purchase_cooldown_base[1] != 0) return; if (current_bolt_count >= 30001) { int accepted = try_set_help_message(1, 0x271f) != 0; @@ -113,7 +113,7 @@ void nanotech_upgrade_vendor_update(struct Moby *moby) { } queue_dialogue_message(purchase, -1); D_L10_0013F640 = 0xb4; - timer[1] = scale_game_frames(0xf0); + purchase_cooldown_base[1] = scale_game_frames(0xf0); moby->state = NANOTECH_VENDOR_STATE_READY; } } diff --git a/src/overlays/l10/mobys/path_spark_effect.c b/src/overlays/l10/mobys/path_spark_effect.c index 0eb4867807..7a4ec625db 100644 --- a/src/overlays/l10/mobys/path_spark_effect.c +++ b/src/overlays/l10/mobys/path_spark_effect.c @@ -71,12 +71,13 @@ void path_spark_effect_update(char *moby) { convert_integer_to_float(truncate_float_to_s32(10.0f / (frame_time * 5.0f)) / 4) * 0.5f; } if (MOBY(moby)->pclass->scale * 0.25f < MOBY(moby)->scale) { - int count = collect_mobies_in_sphere(moby + 0x10, 0.15f, 16, effect_data->blast_source, 0); + int nearby_moby_count = + collect_mobies_in_sphere(moby + 0x10, 0.15f, 16, effect_data->blast_source, 0); *(OvlQuad *)blast_hit_position = *(OvlQuad *)&MOBY(moby)->pos; send_blast_hits(effect_data->blast_source, blast_hit_position, nearby_mobys, - count, + nearby_moby_count, 0, 0x810001, 2, diff --git a/src/overlays/l10/mobys/toxic_crab.c b/src/overlays/l10/mobys/toxic_crab.c index 408a4114f3..2c488e1a9c 100644 --- a/src/overlays/l10/mobys/toxic_crab.c +++ b/src/overlays/l10/mobys/toxic_crab.c @@ -909,7 +909,7 @@ void emit_moby_particles(struct Moby *moby) { float adjusted_particle_velocity[4]; float push[4]; char *particle_moby_data; - int count; + int group_count; float *pos_ptr; void *moby_position_source; int i; @@ -917,16 +917,16 @@ void emit_moby_particles(struct Moby *moby) { float angle; float speed; float rise; - float size; + float random_particle_scale; float time_base; int start_color; int end_color; int life; int fade; - count = l10_toxic_crab_particle_group_count; + group_count = l10_toxic_crab_particle_group_count; particle_moby_data = (char *)moby->pvars; - for (i = 0; i < count; i++) { + for (i = 0; i < group_count; i++) { pos_ptr = pos; moby_position_source = &moby->pos; qcopy_nc(pos, moby_position_source); @@ -953,9 +953,9 @@ void emit_moby_particles(struct Moby *moby) { l10_toxic_crab_particle_vertical_velocity_drop_scale * D_0015ED70 * (float)scale_game_frames(l10_toxic_crab_particle_fade_frames); for (j = 0; j < l10_toxic_crab_particles_per_group; j++) { - size = random_float_between(0.5f, 1.5f); - particle_velocity[3] = size * D_L10_00161E9C; - adjusted_particle_velocity[3] = size * D_L10_00161EA0; + random_particle_scale = random_float_between(0.5f, 1.5f); + particle_velocity[3] = random_particle_scale * D_L10_00161E9C; + adjusted_particle_velocity[3] = random_particle_scale * D_L10_00161EA0; add_random_offset_to_vector_xyz(pos, l10_toxic_crab_particle_position_jitter); add_random_offset_to_vector_xyz(adjusted_particle_velocity, l10_toxic_crab_particle_adjusted_velocity_jitter * diff --git a/src/overlays/l11/mobys/jet_fighter.c b/src/overlays/l11/mobys/jet_fighter.c index bc6d141881..5b2b708833 100644 --- a/src/overlays/l11/mobys/jet_fighter.c +++ b/src/overlays/l11/mobys/jet_fighter.c @@ -244,11 +244,11 @@ void count_active_and_visible_listed_mobys(void *moby, void *visible_moby_count) { char *moby_private_data = *(char **)((char *)moby + 0x78); - int type = *(short *)(moby_private_data + 0x108); + int target_moby_list_index = *(short *)(moby_private_data + 0x108); short *moby_list_entry; *(unsigned short *)active_moby_count = 0; *(unsigned short *)visible_moby_count = 0; - moby_list_entry = D_L11_001AC240[type]; + moby_list_entry = D_L11_001AC240[target_moby_list_index]; if (moby_list_entry == 0) return; do { @@ -384,7 +384,7 @@ void draw_ship_hud(struct Moby *moby) { u8 alpha; s32 blink; f32 step; - f32 size; + f32 hp_step_magnitude; s32 fill; s32 lo; s32 hi; @@ -581,9 +581,9 @@ void draw_ship_hud(struct Moby *moby) { step = hero.ship_hp - ship_hud_vars->shown_hp; step *= 0.2f; - size = absolute_float(step); - if (size > 1.0f) { - step /= size; + hp_step_magnitude = absolute_float(step); + if (hp_step_magnitude > 1.0f) { + step /= hp_step_magnitude; } ship_hud_vars->shown_hp += step; fill = truncate_float_to_s32(ship_hud_vars->shown_hp * 251.0f / hero.ship_hp_max) + 2; diff --git a/src/overlays/l11/mobys/oil_tanker_front.c b/src/overlays/l11/mobys/oil_tanker_front.c index 5bd6c11a68..d6ce6abc6a 100644 --- a/src/overlays/l11/mobys/oil_tanker_front.c +++ b/src/overlays/l11/mobys/oil_tanker_front.c @@ -421,12 +421,12 @@ int collect_oil_tanker_chain_mobys(struct Moby *moby, void **out) __asm__("FUN_L int collect_oil_tanker_chain_mobys(struct Moby *moby, void **chain_mobys_output) { char *tanker_chain_vars = (char *)moby->pvars; int i; - int count = *(int *)(tanker_chain_vars + 0x64) + 1; + int chain_moby_count = *(int *)(tanker_chain_vars + 0x64) + 1; chain_mobys_output[0] = moby; for (i = 0; i < *(int *)(tanker_chain_vars + 0x64); i++) { chain_mobys_output[i + 1] = ((void **)(tanker_chain_vars + 0x70))[i]; } - return count; + return chain_moby_count; } /* Spreads the 0x527 chain mobys of a D_L11_001AC240 group evenly along path table_index: each gets a start point and its path index. */ diff --git a/src/overlays/l11/mobys/psytcopus.c b/src/overlays/l11/mobys/psytcopus.c index 3fe410d467..5ee8bf6c6f 100644 --- a/src/overlays/l11/mobys/psytcopus.c +++ b/src/overlays/l11/mobys/psytcopus.c @@ -1,3 +1,7 @@ +enum { + PSYTCOPUS_PROJECTILE_CREATION_BLOCKED = 2 +}; + /* Level 11 moby class psytcopus: hits and its path state machine. */ #include "types.h" #include "rnc/overlay/shared/mobys/hit_color_flash.h" diff --git a/src/overlays/l11/mobys/resort_owner.c b/src/overlays/l11/mobys/resort_owner.c index b2a16653d8..e811ff339f 100644 --- a/src/overlays/l11/mobys/resort_owner.c +++ b/src/overlays/l11/mobys/resort_owner.c @@ -769,14 +769,17 @@ int classify_resort_owner_target_proximity(struct Moby *moby) { if (group_moby_entry == 0) continue; do { - int offset = (*group_moby_entry & 0x7fff) << 8; - struct Moby *target_group_moby = (struct Moby *)(offset + D_L11_0015FFD8); + int target_moby_byte_offset = (*group_moby_entry & 0x7fff) << 8; + struct Moby *target_group_moby = + (struct Moby *)(target_moby_byte_offset + D_L11_0015FFD8); if ((signed char)target_group_moby->state >= RESORT_OWNER_TARGET_MIN_LIVE_STATE) { if (target_group_moby->oclass != 0x4de || is_moby_in_bob_target_exclusion_state((const u8 *)target_group_moby) == 0) { found = 1; - if (fast_vec_dist(&moby->pos, - &((struct Moby *)(D_L11_0015FFD8 + offset))->pos) < 10.0f) + if (fast_vec_dist( + &moby->pos, + &((struct Moby *)(D_L11_0015FFD8 + target_moby_byte_offset))->pos) < + 10.0f) return 2; } } diff --git a/src/overlays/l11/mobys/teleporter.c b/src/overlays/l11/mobys/teleporter.c index c1760908a2..18aec636ce 100644 --- a/src/overlays/l11/mobys/teleporter.c +++ b/src/overlays/l11/mobys/teleporter.c @@ -353,13 +353,13 @@ void restore_teleporter_visibility_and_collision(struct Moby *moby) __asm__("FUN void restore_teleporter_visibility_and_collision(struct Moby *moby) { TeleporterVars *teleporter_vars = (TeleporterVars *)moby->pvars; char **child = teleporter_vars->parts; - int count; + int child_slot_countdown; int on; moby->visible = 1; moby->flags &= 0xFFFE; moby->collision = moby->pclass->collision; on = 1; - count = 2; + child_slot_countdown = 2; do { if (*child) { *(unsigned short *)(*child + 0x34) &= 0xFFFE; @@ -367,6 +367,6 @@ void restore_teleporter_visibility_and_collision(struct Moby *moby) { *(int *)(*child + 0x94) = *(int *)(*(char **)(*child + 0x24) + 0x10); } child++; - count--; - } while (count >= 0); + child_slot_countdown--; + } while (child_slot_countdown >= 0); } diff --git a/src/overlays/l12/mobys/blarg_trooper.c b/src/overlays/l12/mobys/blarg_trooper.c index f306fe7593..cd84a7e099 100644 --- a/src/overlays/l12/mobys/blarg_trooper.c +++ b/src/overlays/l12/mobys/blarg_trooper.c @@ -577,16 +577,20 @@ void process_blarg_trooper_damage_and_alerts(struct Moby *moby) { moby->state != BLARG_TROOPER_WAIT_FOR_ACTIVATION) { trooper_damage_alert_vars->call_timer++; if (scale_game_frames(0x3C) * 17 < trooper_damage_alert_vars->call_timer) { - s32 count = 0; + s32 active_group_member_count = 0; if (trooper_damage_alert_vars->groups[0] != -1) - count += count_active_moby_group_members(trooper_damage_alert_vars->groups[0], 2); + active_group_member_count += + count_active_moby_group_members(trooper_damage_alert_vars->groups[0], 2); if (trooper_damage_alert_vars->groups[1] != -1) - count += count_active_moby_group_members(trooper_damage_alert_vars->groups[1], 2); + active_group_member_count += + count_active_moby_group_members(trooper_damage_alert_vars->groups[1], 2); if (trooper_damage_alert_vars->groups[2] != -1) - count += count_active_moby_group_members(trooper_damage_alert_vars->groups[2], 2); + active_group_member_count += + count_active_moby_group_members(trooper_damage_alert_vars->groups[2], 2); if (trooper_damage_alert_vars->groups[3] != -1) - count += count_active_moby_group_members(trooper_damage_alert_vars->groups[3], 2); - if (count >= 9 && random_integer_below(0x27) == 0) { + active_group_member_count += + count_active_moby_group_members(trooper_damage_alert_vars->groups[3], 2); + if (active_group_member_count >= 9 && random_integer_below(0x27) == 0) { help_direction_or_hit_position.f[0] = fast_cos(fast_add_rotations(moby->rot.z, 3.1415927f)); help_direction_or_hit_position.f[1] = @@ -735,7 +739,7 @@ void steer_blarg_trooper_toward_point(struct Moby *moby, float path_constrained_position[4] __attribute__((aligned(16))); float path_constraint_test_position[4] __attribute__((aligned(16))); float delta[4] __attribute__((aligned(16))); - int count; + int low_movement_frame_count; if (*(unsigned char *)(trooper_steering_vars + 0x242)) { float *rotation = &moby->rot.z; @@ -793,8 +797,8 @@ void steer_blarg_trooper_toward_point(struct Moby *moby, *(OvlQuad *)&moby->pos = *(OvlQuad *)path_constrained_position; if (fast_vec_dist(&moby->pos, trooper_pre_move_position) < frame_time * 0.5f) { ++*(unsigned char *)(trooper_steering_vars + 0x243); - count = *(unsigned char *)(trooper_steering_vars + 0x243); - if (scale_game_frames(15) < count) + low_movement_frame_count = *(unsigned char *)(trooper_steering_vars + 0x243); + if (scale_game_frames(15) < low_movement_frame_count) *(unsigned char *)(trooper_steering_vars + 0x242) = 1; } else { *(unsigned char *)(trooper_steering_vars + 0x243) = 0; diff --git a/src/overlays/l12/mobys/hoven_anklebiter.c b/src/overlays/l12/mobys/hoven_anklebiter.c index 976a579d72..9bbaa20751 100644 --- a/src/overlays/l12/mobys/hoven_anklebiter.c +++ b/src/overlays/l12/mobys/hoven_anklebiter.c @@ -764,7 +764,7 @@ void spawn_hoven_anklebiter_death_sparks(struct Moby *moby) { float gravity_adjusted_spark_velocity[4]; float push[4]; char *spark_moby_vars; - int count; + int burst_count; float *pos_ptr; void *moby_position_source; int i; @@ -772,18 +772,18 @@ void spawn_hoven_anklebiter_death_sparks(struct Moby *moby) { float angle; float speed; float rise; - float size; + float spark_vector_w_scale; float time_base; int start_color; int end_color; int life; int fade; - count = l12_anklebiter_spark_burst_count; + burst_count = l12_anklebiter_spark_burst_count; spark_moby_vars = (char *)moby->pvars; if (moby->state == ANKLEBITER_DEATH_EFFECTS_AND_REMOVE) - count = truncate_float_to_s32((float)count * 1.5f); - for (i = 0; i < count; i++) { + burst_count = truncate_float_to_s32((float)burst_count * 1.5f); + for (i = 0; i < burst_count; i++) { pos_ptr = pos; moby_position_source = &moby->pos; qcopy_nc(pos, moby_position_source); @@ -810,9 +810,9 @@ void spawn_hoven_anklebiter_death_sparks(struct Moby *moby) { l12_anklebiter_spark_downward_velocity_scale * D_0015ED70 * (float)scale_game_frames(l12_anklebiter_spark_fade_frames); for (j = 0; j < l12_anklebiter_sparks_per_burst; j++) { - size = random_float_between(0.5f, 1.5f); - spark_launch_velocity[3] = size * D_L12_00161864; - gravity_adjusted_spark_velocity[3] = size * D_L12_00161868; + spark_vector_w_scale = random_float_between(0.5f, 1.5f); + spark_launch_velocity[3] = spark_vector_w_scale * D_L12_00161864; + gravity_adjusted_spark_velocity[3] = spark_vector_w_scale * D_L12_00161868; add_random_offset_to_vector_xyz(pos, l12_anklebiter_spark_position_jitter); add_random_offset_to_vector_xyz(gravity_adjusted_spark_velocity, l12_anklebiter_spark_velocity_jitter_scale * diff --git a/src/overlays/l12/mobys/hoven_turret.c b/src/overlays/l12/mobys/hoven_turret.c index cc92ec58a1..1d3a2b734d 100644 --- a/src/overlays/l12/mobys/hoven_turret.c +++ b/src/overlays/l12/mobys/hoven_turret.c @@ -125,11 +125,11 @@ typedef struct { int completion_trigger_moby_index; int f98; int f9C; - float fA0; - float fA4; + float initial_height; + float boarding_yaw_step; int fA8; - short fAC; - short fAE; + short destruction_respawn_frames; + short destruction_explosion_cooldown_frames; } Data_304920; typedef struct { @@ -214,6 +214,10 @@ void hoven_turret_update(struct Moby *moby) { HOVEN_TURRET_STATE_DESTRUCTION_EFFECTS = 7, HOVEN_TURRET_STATE_SAVE_DATA = 8 }; + enum { + HOVEN_TURRET_MUZZLE_POINT_ONE_PENDING = 0, + HOVEN_TURRET_MUZZLE_POINT_TWO_PENDING = 1 + }; Data_304920 *hoven_turret_state = *(Data_304920 **)&moby->pvars; ((Snd *)(D_0013E533 + 0x1D))->f6C = moby; @@ -232,7 +236,7 @@ void hoven_turret_update(struct Moby *moby) { hoven_turret_state->f72 = 0; hoven_turret_state->pitch_step = 0.0f; hoven_turret_state->yaw_step = 0.0f; - hoven_turret_state->fA0 = moby->pos.z; + hoven_turret_state->initial_height = moby->pos.z; hoven_turret_state->f98 = -1; moby->rot.z = 3.1415927f; ((Snd *)(D_0013E533 + 0x1D))->f6C = moby; @@ -247,10 +251,11 @@ void hoven_turret_update(struct Moby *moby) { if (vector_distance_xy(((float *)&moby->pos), ((Hero *)(D_0013E533 + 0xE1D))->motion.pos.f) < 7.0f || ((Hero *)(D_0013E533 + 0xE1D))->ground_moby == moby) { - moby->pos.z = moby->pos.z + ((hoven_turret_state->fA0 - 1.2f) - moby->pos.z) * 0.11f; - hoven_turret_state->fA4 = + moby->pos.z = + moby->pos.z + ((hoven_turret_state->initial_height - 1.2f) - moby->pos.z) * 0.11f; + hoven_turret_state->boarding_yaw_step = fast_add_rotations( - hoven_turret_state->fA4, + hoven_turret_state->boarding_yaw_step, fast_add_rotations( fast_subtract_rotations( fast_arc_tan( @@ -260,12 +265,12 @@ void hoven_turret_update(struct Moby *moby) { 1.5707964f) * 0.01f) * 0.9f; - moby->rot.z = fast_add_rotations(moby->rot.z, hoven_turret_state->fA4); + moby->rot.z = fast_add_rotations(moby->rot.z, hoven_turret_state->boarding_yaw_step); } else { - if (moby->pos.z < hoven_turret_state->fA0) { + if (moby->pos.z < hoven_turret_state->initial_height) { moby->pos.z = moby->pos.z + D_0015ED6C_gp; } else { - moby->pos.z = hoven_turret_state->fA0; + moby->pos.z = hoven_turret_state->initial_height; } if (((Hero *)(D_0013E533 + 0xE1D))->ground_moby != moby && hoven_turret_state->f98 != -1) { @@ -316,7 +321,7 @@ void hoven_turret_update(struct Moby *moby) { } if (hoven_turret_state->f8C <= 0.0f) { D_L12_00161F04 = 1; - hoven_turret_state->fAC = scale_game_frames(0x78); + hoven_turret_state->destruction_respawn_frames = scale_game_frames(0x78); moby->state = HOVEN_TURRET_STATE_DESTRUCTION_EFFECTS; break; } @@ -332,7 +337,7 @@ void hoven_turret_update(struct Moby *moby) { if (moby->prev_seq != 0) { set_moby_animation(moby, 0, 0); } - moby->pos.z = hoven_turret_state->fA0; + moby->pos.z = hoven_turret_state->initial_height; moby->rot.z = 3.1415927f; } else { jet_clear_persistent(moby->mission); @@ -421,19 +426,27 @@ void hoven_turret_update(struct Moby *moby) { float yaw; int i; - blend_moby_animation( - moby, hoven_turret_state->muzzle_alternation_state == 1 ? 4 : 3, 0, 1); + blend_moby_animation(moby, + hoven_turret_state->muzzle_alternation_state == + HOVEN_TURRET_MUZZLE_POINT_TWO_PENDING + ? 4 + : 3, + 0, + 1); yaw = fast_add_rotations(moby->rot.z, 1.5707964f); build_spherical_offset(firing_offset, hoven_turret_firing_offset_rate * D_0015ED6C_gp, yaw, hoven_turret_state->f74); - if (hoven_turret_state->muzzle_alternation_state == 1) { - hoven_turret_state->muzzle_alternation_state = 0; + if (hoven_turret_state->muzzle_alternation_state == + HOVEN_TURRET_MUZZLE_POINT_TWO_PENDING) { + hoven_turret_state->muzzle_alternation_state = + HOVEN_TURRET_MUZZLE_POINT_ONE_PENDING; moby_point_position(moby, 2, muz); } else { moby_point_position(moby, 1, muz); - hoven_turret_state->muzzle_alternation_state = 1; + hoven_turret_state->muzzle_alternation_state = + HOVEN_TURRET_MUZZLE_POINT_TWO_PENDING; } fast_vec_add(muz, muz, firing_offset); fast_vec_add(muz, muz, firing_offset); @@ -485,7 +498,7 @@ void hoven_turret_update(struct Moby *moby) { break; case HOVEN_TURRET_STATE_DESTRUCTION_EFFECTS: add_draw_callback(draw_hoven_turret_destruction_fade, moby); - if (fast_dec_timer_s16(&hoven_turret_state->fAE)) { + if (fast_dec_timer_s16(&hoven_turret_state->destruction_explosion_cooldown_frames)) { Vec_304920 explosion_position; float randomized_view_offset_distance; float randomized_view_yaw; @@ -523,9 +536,10 @@ void hoven_turret_update(struct Moby *moby) { 0, -1, 0); - hoven_turret_state->fAE = scale_game_frames(random_int_between(5, 0xD)); + hoven_turret_state->destruction_explosion_cooldown_frames = + scale_game_frames(random_int_between(5, 0xD)); } - if (fast_dec_timer_s16(&hoven_turret_state->fAC)) { + if (fast_dec_timer_s16(&hoven_turret_state->destruction_respawn_frames)) { hero_respawn(); } break; @@ -851,9 +865,10 @@ void draw_hoven_turret_destruction_fade(Level12VendorCounterMoby *moby) __asm__( void draw_hoven_turret_destruction_fade(Level12VendorCounterMoby *moby) { Level12VendorCounterData *data = moby->data; - int count = scale_game_frames(0x50); + int fade_duration_frames = scale_game_frames(0x50); int value = data->value; - if (value < count) { - emit_rgba_draw_packet(0xAA, 0, 0, (count - value) * 0x50 / count); + if (value < fade_duration_frames) { + emit_rgba_draw_packet( + 0xAA, 0, 0, (fade_duration_frames - value) * 0x50 / fade_duration_frames); } } diff --git a/src/overlays/l12/mobys/miner.c b/src/overlays/l12/mobys/miner.c index af82c7e908..885efff380 100644 --- a/src/overlays/l12/mobys/miner.c +++ b/src/overlays/l12/mobys/miner.c @@ -51,9 +51,9 @@ void update_moby_bone_attachment(struct Moby *parent, unsigned char *child, int mode) __asm__("FUN_L12_0027b9c0"); -void update_moby_bone_attachment(struct Moby *parent, unsigned char *child, int mode) { +void update_moby_bone_attachment(struct Moby *parent, unsigned char *child, int bone_index) { char workspace[0x40]; - build_moby_bone_transform(parent, mode, workspace); + build_moby_bone_transform(parent, bone_index, workspace); qcopy(child + 0x10, workspace + 0x30); advance_moby_animation(child); update_entity(child); diff --git a/src/overlays/l12/mobys/oscillating_target_link.c b/src/overlays/l12/mobys/oscillating_target_link.c index 757bc79f9c..154d58692a 100644 --- a/src/overlays/l12/mobys/oscillating_target_link.c +++ b/src/overlays/l12/mobys/oscillating_target_link.c @@ -166,7 +166,7 @@ void update_oscillating_target_link_strips(struct Moby *moby) { if (cycle > 1.0f) oscillating_link_strip_scroll_phase_gp = cycle - 1.0f; for (strip = 0; strip < 4; strip++) { - int count; + int interior_point_index; int i; float *points; float *intermediate; @@ -195,17 +195,19 @@ void update_oscillating_target_link_strips(struct Moby *moby) { i++; } while (i < oscillating_link_strip_state->strip_point_count); } - count = 1; - if (count < oscillating_link_strip_state->strip_point_count - 1) { + interior_point_index = 1; + if (interior_point_index < oscillating_link_strip_state->strip_point_count - 1) { points = (float *)((char *)oscillating_link_strip_state + strip * 0x460 + 0x1190); do { - fast_vec_add( - points, intermediate_storage[count - 1], intermediate_storage[count]); - fast_vec_add(points, points, intermediate_storage[count + 1]); + fast_vec_add(points, + intermediate_storage[interior_point_index - 1], + intermediate_storage[interior_point_index]); + fast_vec_add(points, points, intermediate_storage[interior_point_index + 1]); fast_vec_scale(points, points, 0.333f); - count++; + interior_point_index++; points += 4; - } while (count < oscillating_link_strip_state->strip_point_count - 1); + } while (interior_point_index < + oscillating_link_strip_state->strip_point_count - 1); } *(int *)(timers + (strip << 2)) = oscillating_link_strip_reset_ticks; } else { diff --git a/src/overlays/l12/mobys/planetbuster_maximus_part.c b/src/overlays/l12/mobys/planetbuster_maximus_part.c index a0a83a6d7d..be201c4a5d 100644 --- a/src/overlays/l12/mobys/planetbuster_maximus_part.c +++ b/src/overlays/l12/mobys/planetbuster_maximus_part.c @@ -416,7 +416,7 @@ void initialize_planetbuster_maximus_detached_part_motion(struct Moby *moby, int char *motion_owner_pvars = (char *)moby->pvars; struct Moby *selected; float *speed; - int offset; + int vertical_step_decrement_byte_offset; float initial_speed; float angle_scale; float first_angle; @@ -425,17 +425,17 @@ void initialize_planetbuster_maximus_detached_part_motion(struct Moby *moby, int if (slot == 0x11) { selected = moby; - offset = 0x44; + vertical_step_decrement_byte_offset = 0x44; } else { selected = (struct Moby *)(D_L12_0015FFD8_p + D_L12_001FB688[slot] * 0x100); - offset = slot * 4; + vertical_step_decrement_byte_offset = slot * 4; } initial_speed = random_float_between(frame_time_sq * 3.7f, frame_time_sq * 5.0f); angle_scale = frame_time; { char *vertical_step_decrements = motion_owner_pvars + 0x570; - speed = (float *)(vertical_step_decrements + offset); + speed = (float *)(vertical_step_decrements + vertical_step_decrement_byte_offset); } *speed = initial_speed; first_angle = randf_sym(angle_scale * 0.05235988f, angle_scale * 0.13962634f); diff --git a/src/overlays/l12/mobys/water_reservoir.c b/src/overlays/l12/mobys/water_reservoir.c index c2bf049723..bdfc86d2ab 100644 --- a/src/overlays/l12/mobys/water_reservoir.c +++ b/src/overlays/l12/mobys/water_reservoir.c @@ -50,9 +50,10 @@ void water_reservoir_update(struct Moby *moby) { WATER_RESERVOIR_STATE_ACTIVE = 1 }; float *reservoir_state = (float *)moby->pvars; - float pos[4], offset0[4], offset1[4], pos_offset_delta[4], offset_pair_delta[4]; - float fraction, frame_scale; - int scaled; + float pos[4], shared_random_offset[4], pair_delta_reference_offset[4], pos_offset_delta[4], + offset_pair_delta[4]; + float fraction, frame_scale; + int scaled; if (moby->state != WATER_RESERVOIR_STATE_INITIALIZE) { extern float D_L12_0015F3FC __attribute__((sda)); frame_scale = D_L12_0015F3FC; @@ -89,12 +90,13 @@ void water_reservoir_update(struct Moby *moby) { } if (random_float_between(0.0f, 1.0f) < fraction) { random_vector(pos, 0.0f, water_reservoir_random_offset_radius_gp); - random_vector(offset0, 0.0f, water_reservoir_random_offset_radius_gp); - random_vector(offset1, 0.0f, water_reservoir_random_offset_radius_gp); - fast_vec_sub(pos_offset_delta, pos, offset0); + random_vector(shared_random_offset, 0.0f, water_reservoir_random_offset_radius_gp); + random_vector( + pair_delta_reference_offset, 0.0f, water_reservoir_random_offset_radius_gp); + fast_vec_sub(pos_offset_delta, pos, shared_random_offset); pos_offset_delta[2] += water_reservoir_effect_delta_z_reference_gp - water_reservoir_unmirrored_effect_spawn_z_offset_gp; - fast_vec_sub(offset_pair_delta, offset0, offset1); + fast_vec_sub(offset_pair_delta, shared_random_offset, pair_delta_reference_offset); offset_pair_delta[2] += water_reservoir_mirrored_effect_spawn_z_offset_gp - water_reservoir_effect_delta_z_reference_gp; scaled = water_reservoir_effect_delta_scale_divisor_gp; diff --git a/src/overlays/l13/mobys/asteroid.c b/src/overlays/l13/mobys/asteroid.c index 25ee0c4743..938c82aa72 100644 --- a/src/overlays/l13/mobys/asteroid.c +++ b/src/overlays/l13/mobys/asteroid.c @@ -248,7 +248,7 @@ void asteroid_update(struct Moby *moby) __asm__("FUN_L13_002e1638"); void asteroid_update(struct Moby *moby) { struct BlobVars *asteroid_vars = (struct BlobVars *)moby->pvars; f32 distance = fast_vec_dist(&moby->pos, &hero_pos); - f32 size; + f32 class_scale_ratio; f32 spin; char *hit; @@ -283,26 +283,26 @@ void asteroid_update(struct Moby *moby) { } if (asteroid_vars->cooldown == 0) { moby->collision = moby->pclass->collision; - size = moby->scale / moby->pclass->scale; + class_scale_ratio = moby->scale / moby->pclass->scale; if ((frame_count & 1) == (((char *)moby - (char *)moby_base) >> 8 & 1) && - FUN_L00_001f0d60_1638(size * 6.2f, &moby->pos, 0, moby) != 0) { + FUN_L00_001f0d60_1638(class_scale_ratio * 6.2f, &moby->pos, 0, moby) != 0) { if ((struct Moby *)coll_hit_1638.moby != asteroid_vars->owner) { reflect_vector(asteroid_vars, asteroid_vars, &coll_hit_1638.normal_x); qcopy(&moby->pos, coll_hit_1638.pad30); if (coll_hit_1638.moby == 0 || ((struct Moby *)coll_hit_1638.moby)->oclass != 0xD4) { - FUN_L13_002e1348_1638(moby, asteroid_vars, size); + FUN_L13_002e1348_1638(moby, asteroid_vars, class_scale_ratio); } } } else { hit = find_moby_hit_1638(moby, 0x330000, 0); if (hit != 0 && (*(struct Moby **)(hit + 0x20))->oclass != 0xD4) { hit += 0x10; - size = moby->scale; - size /= moby->pclass->scale; + class_scale_ratio = moby->scale; + class_scale_ratio /= moby->pclass->scale; clamp_vector_length(hit, hit, frame_time * 20.0f); fast_vec_add(asteroid_vars, asteroid_vars, hit); - FUN_L13_002e1348_1638(moby, asteroid_vars, size); + FUN_L13_002e1348_1638(moby, asteroid_vars, class_scale_ratio); } moby->hit_slot = 0xFF; } diff --git a/src/overlays/l13/mobys/blarg_space_commando.c b/src/overlays/l13/mobys/blarg_space_commando.c index c479a25841..9551cec6e9 100644 --- a/src/overlays/l13/mobys/blarg_space_commando.c +++ b/src/overlays/l13/mobys/blarg_space_commando.c @@ -867,17 +867,17 @@ void update_gemlik_trail(struct Moby *moby) { TrailHit_94f8 hit; } work; TrailPoint_94f8 upper, lower; - int timer, i, j, clamp_count; + int trail_frames_remaining, i, j, clamp_count; char *clamp_cursor; float prior_height, dot; - timer = truncate_float_to_s32(gemlik_trail_vars->anchor.w); - fast_dec_timer(&timer); - gemlik_trail_vars->anchor.w = (float)timer; - if (!timer) + trail_frames_remaining = truncate_float_to_s32(gemlik_trail_vars->anchor.w); + fast_dec_timer(&trail_frames_remaining); + gemlik_trail_vars->anchor.w = (float)trail_frames_remaining; + if (!trail_frames_remaining) return; - if (timer == 20) { + if (trail_frames_remaining == 20) { for (clamp_cursor = (char *)gemlik_trail_vars, clamp_count = 15; clamp_count >= 0; clamp_count--, clamp_cursor += 16) { if (*(float *)(clamp_cursor + 0x21c) >= 1.0f) diff --git a/src/overlays/l13/mobys/fighter_jet.c b/src/overlays/l13/mobys/fighter_jet.c index 4b49c14d0b..b410f12eb1 100644 --- a/src/overlays/l13/mobys/fighter_jet.c +++ b/src/overlays/l13/mobys/fighter_jet.c @@ -129,11 +129,11 @@ extern char *l13_moby_scan_inclusive_end __asm__("D_L13_0015FFE0"); void jet_group_flag(int id, int state) __asm__("FUN_L13_00265170"); -void jet_group_flag(int id, int state) { +void jet_group_flag(int moby_class_id, int state) { char *moby = (char *)moby_base; if ((unsigned long)l13_moby_scan_inclusive_end >= (unsigned long)moby) { do { - if (MOBY(moby)->oclass == id) { + if (MOBY(moby)->oclass == moby_class_id) { if (moby[0x20] >= 0) moby[0x20] = state; } @@ -1258,7 +1258,7 @@ void update_fighter_jet_flight(void *moby_arg, void *data_arg) { FlightVec vertical; FlightVec camera_angles; FlightVec target; - FlightVec offset; + FlightVec path_sum_or_camera_offset; float steer_x; float steer_y; float steer_rate_x; @@ -1392,10 +1392,10 @@ void update_fighter_jet_flight(void *moby_arg, void *data_arg) { char *paths = (char *)l13_cuboids_gp; qcopy(target, ((char(*)[128])paths)[jet_flight_state->target_path] + 0x30); pitch_limit = fast_vec_length(paths + path_offset + 0x20); - fast_vec_add(offset, + fast_vec_add(path_sum_or_camera_offset, (jet_flight_state->target_path << 7) + (char *)l13_cuboids_gp, (jet_flight_state->target_path << 7) + (char *)l13_cuboids_gp + 0x10); - yaw_limit = fast_vec_length(offset); + yaw_limit = fast_vec_length(path_sum_or_camera_offset); } else { qcopy(target, &fighter_jet_steering_reference_position); } @@ -1498,12 +1498,12 @@ void update_fighter_jet_flight(void *moby_arg, void *data_arg) { frame_scale_sq_gp * 0.8f, frame_scale_gp); } - offset[0] = jet_flight_state->camera_offset_x; - offset[1] = jet_flight_state->camera_offset_y; - offset[2] = jet_flight_state->camera_offset_z; - offset[3] = 0.0f; + path_sum_or_camera_offset[0] = jet_flight_state->camera_offset_x; + path_sum_or_camera_offset[1] = jet_flight_state->camera_offset_y; + path_sum_or_camera_offset[2] = jet_flight_state->camera_offset_z; + path_sum_or_camera_offset[3] = 0.0f; euler_rotation_basis(basis, (char *)&jet_flight_state->roll); - transform_vector_by_basis(target, offset, basis); + transform_vector_by_basis(target, path_sum_or_camera_offset, basis); fast_vec_add(camera.v.pos, moby->pos, target); set_camera_position(camera.v.pos); camera.v.rot[0] = diff --git a/src/overlays/l13/mobys/forcefield.c b/src/overlays/l13/mobys/forcefield.c index e7cdc6a24f..86e82a04a0 100644 --- a/src/overlays/l13/mobys/forcefield.c +++ b/src/overlays/l13/mobys/forcefield.c @@ -31,7 +31,7 @@ void spawn_forcefield_contact_effects(void *moby, void *forcefield_vars) { float rotation_matrix[16]; float probe[4]; void **candidates; - int count, hit_count, i, j; + int candidate_count, hit_count, i, j; char *candidate; short half_width, half_height, max_size; float radius; @@ -46,12 +46,12 @@ void spawn_forcefield_contact_effects(void *moby, void *forcefield_vars) { query[2] = radius; transform_vector_by_basis(query, query, matrix); fast_vec_add(query, query, moby + 0x10); - count = collect_mobies_in_sphere(query, radius, 0x10, moby, 0); - if (count == 0) + candidate_count = collect_mobies_in_sphere(query, radius, 0x10, moby, 0); + if (candidate_count == 0) return; - candidates = __builtin_alloca(((unsigned)count << 5) >> 3); - memcpy(candidates, sphere_hits_ed158, count * 4); - for (i = 0; i < count; i++) { + candidates = __builtin_alloca(((unsigned)candidate_count << 5) >> 3); + memcpy(candidates, sphere_hits_ed158, candidate_count * 4); + for (i = 0; i < candidate_count; i++) { candidate = *(void **)((u32)candidates + (i << 2)); if (candidate == 0 || (unsigned char)candidate[0x20] == 0xfe || (unsigned char)candidate[0x20] == 0xfd) diff --git a/src/overlays/l13/mobys/forcefield_tower.c b/src/overlays/l13/mobys/forcefield_tower.c index 627544db10..9b079181c5 100644 --- a/src/overlays/l13/mobys/forcefield_tower.c +++ b/src/overlays/l13/mobys/forcefield_tower.c @@ -93,12 +93,13 @@ typedef struct { int set_voice_position(int index, const void *vector) __asm__("FUN_L13_002982e8"); int set_voice_position(int index, const void *vector) { - int offset = index * 0x70; + int voice_slot_byte_offset = index * 0x70; char *voice_table = D_0013E533 + 0x1D; char *vector_base = voice_table + 0xA0; - Level13SoundEffectTarget *effect = (Level13SoundEffectTarget *)(voice_table + offset); + Level13SoundEffectTarget *effect = + (Level13SoundEffectTarget *)(voice_table + voice_slot_byte_offset); effect->flags |= 0x40; - qcopy(vector_base + offset, vector); + qcopy(vector_base + voice_slot_byte_offset, vector); return 1; } diff --git a/src/overlays/l13/mobys/gemlik_projectile.c b/src/overlays/l13/mobys/gemlik_projectile.c index e104d98cf9..1da7e0a32e 100644 --- a/src/overlays/l13/mobys/gemlik_projectile.c +++ b/src/overlays/l13/mobys/gemlik_projectile.c @@ -114,7 +114,7 @@ void gemlik_projectile_update(struct Moby *moby) { L13Vec_p random_direction; } work; int i; - int flags; + int hit_descriptor_flags; int skip_level; unsigned char *hero_bytes; char *ent; @@ -126,7 +126,7 @@ void gemlik_projectile_update(struct Moby *moby) { work.velocity.z = 0.0f; set_vector_length_xy(&work.velocity, &work.velocity, 1.0f); work.velocity.z = 1.0f; - flags = 0x10001; + hit_descriptor_flags = 0x10001; hero_bytes = (unsigned char *)((char *)((char *)&hero)); if (hero_bytes[0x1FF6] != 0 && projectile_vars->deflected_marker != 31337.6015625f && fast_vec_dist(&moby->pos, hero_bytes + 0x80) < 2.0f) { @@ -139,7 +139,7 @@ void gemlik_projectile_update(struct Moby *moby) { unsigned char *hero_base = (unsigned char *)((char *)((char *)&hero)); ent = ((char **)(hero_base + 0x2020))[i]; if (ent != 0) { - int hit_mask = flags | 1; + int hit_mask = hit_descriptor_flags | 1; make_hit_descriptor(work.hit, moby, hit_mask, 1.0f, &work.velocity); work.hit[0x18] = 1; *(unsigned short *)(work.hit + 0x1A) = *(unsigned short *)((char *)moby + 0xA6); diff --git a/src/overlays/l13/mobys/group_clear_trigger.c b/src/overlays/l13/mobys/group_clear_trigger.c index 2ed46cdda0..c89ee4128a 100644 --- a/src/overlays/l13/mobys/group_clear_trigger.c +++ b/src/overlays/l13/mobys/group_clear_trigger.c @@ -15,25 +15,25 @@ int count_live_mobys_in_list(int moby_list_index, int count_live_mobys_in_list(int moby_list_index, int excluded_moby_state) { short *moby_id_list = D_L13_001ABB40[moby_list_index]; short *moby_id_cursor; - int count = 0; + int eligible_moby_count = 0; if (moby_id_list == 0) return 0; moby_id_cursor = moby_id_list; do { - int id = *moby_id_cursor & 0x7FFF; - char *moby = (char *)(id << 8) + (int)moby_base; + int moby_index = *moby_id_cursor & 0x7FFF; + char *moby = (char *)(moby_index << 8) + (int)moby_base; if (moby[0x20] >= 0) { char *moby_callback_record = get_moby_suck_cannon_record(moby); if (moby_callback_record == 0 || *(short *)(moby_callback_record + 0x68) < 4) { if (excluded_moby_state == -1 || - *(unsigned char *)((char *)(id << 8) + (int)moby_base + 0x20) != + *(unsigned char *)((char *)(moby_index << 8) + (int)moby_base + 0x20) != excluded_moby_state) { - count++; + eligible_moby_count++; } } } } while (*moby_id_cursor++ >= 0); - return count; + return eligible_moby_count; } void group_clear_trigger_update(struct Moby *moby) __asm__("FUN_L13_0030af50"); diff --git a/src/overlays/l13/mobys/mine.c b/src/overlays/l13/mobys/mine.c index e5e6fe8baf..526459f093 100644 --- a/src/overlays/l13/mobys/mine.c +++ b/src/overlays/l13/mobys/mine.c @@ -102,7 +102,7 @@ void level_13_mine_update(ProjectileMoby *moby) { ProjectileHero *hero_state; ProjectileMoby *target; ProjectileMoby *hit; - int flags; + int detonation_flags; float distance; float factor; float magnitude; @@ -149,14 +149,16 @@ void level_13_mine_update(ProjectileMoby *moby) { make_hit_descriptor(16.0f, &hitpos, moby, 0x30000, velocity); qcopy(&steering_and_collision_vector, pos); steering_and_collision_vector.z += 0.75f; - flags = collect_mobies_in_sphere(1.7f, &steering_and_collision_vector, 0x10, moby, &hitpos); - flags = flags | FUN_L00_001f0d60_2048(&steering_and_collision_vector, 1.7f, 4, moby); + detonation_flags = + collect_mobies_in_sphere(1.7f, &steering_and_collision_vector, 0x10, moby, &hitpos); + detonation_flags = + detonation_flags | FUN_L00_001f0d60_2048(&steering_and_collision_vector, 1.7f, 4, moby); hit = (ProjectileMoby *)FUN_L00_0025a420(moby, -1, 0); if (hit != 0) { float health = *(float *)(moby_data + 0x20) - *(float *)((char *)hit + 0x2C); *(float *)(moby_data + 0x20) = health; if (health <= 0.0f) { - flags |= 0x2000; + detonation_flags |= 0x2000; D_L13_00174140.moby = 0; } } @@ -168,11 +170,11 @@ void level_13_mine_update(ProjectileMoby *moby) { cls_id == 0x185 || cls_id == 0x186 || cls_id == 0x187 || cls_id == 0x188 || cls_id == 0x189 || cls_id == 0x18A || cls_id == 0x18B || cls_id == 0x18C || cls_id == 0x18F || cls_id == 0x190) - flags = 0; + detonation_flags = 0; } - if (flags != 0) { + if (detonation_flags != 0) { if (moby->visible != 0) { - if ((flags & 0x2000) != 0) { + if ((detonation_flags & 0x2000) != 0) { func_L00_0025F4A8_alt(moby, velocity, 0, diff --git a/src/overlays/l13/mobys/poison_vessel.c b/src/overlays/l13/mobys/poison_vessel.c index adf6249df2..a85ab0c007 100644 --- a/src/overlays/l13/mobys/poison_vessel.c +++ b/src/overlays/l13/mobys/poison_vessel.c @@ -49,7 +49,7 @@ void spawn_poison_vessel_destruction_effects(struct Moby *moby, void *poison_ves struct { OvlVec4 direction, velocity, axis, offset, pos, random_direction, random_vector; } work; - int count; + int particle_count; int duration; int *color, *second_color; float distance, twice_distance, extra, speed, amount; @@ -137,12 +137,12 @@ void spawn_poison_vessel_destruction_effects(struct Moby *moby, void *poison_ves duration = random_int_between(lo, hi); } spawn_poison_vessel_fragment(&work.pos, &work.random_direction, duration, 1); - count = distance < 6.0f ? truncate_float_to_s32(distance) + 1 : 4; + particle_count = distance < 6.0f ? truncate_float_to_s32(distance) + 1 : 4; extra = 0.0f; if (distance < 7.0f) extra = 7.0f - distance; - if (count > 0) { - int i = count; + if (particle_count > 0) { + int i = particle_count; L13EffectColors colors __attribute__((aligned(16))); L13EffectColors second_colors __attribute__((aligned(16))); float magnitude = 400000.0f; diff --git a/src/overlays/l13/mobys/qwarks_starfighter.c b/src/overlays/l13/mobys/qwarks_starfighter.c index f65fb15492..68c38e0c08 100644 --- a/src/overlays/l13/mobys/qwarks_starfighter.c +++ b/src/overlays/l13/mobys/qwarks_starfighter.c @@ -121,7 +121,7 @@ int queue_starfighter_voice_line(void *unused, int line_count) { int j = rand_q() % line_count; - int id = l13_starfighter_voice_line_ids[line_group_start_index + j]; + int voice_line_id = l13_starfighter_voice_line_ids[line_group_start_index + j]; int i; int lt; if (line_group_start_index < 0x1D) { @@ -146,23 +146,23 @@ int queue_starfighter_voice_line(void *unused, } if (line_group_start_index < 0x1D) { for (i = 0; i < line_count; i++) { - if ((*(int *)(moby_data + 0x13C) >> id) & 1) { + if ((*(int *)(moby_data + 0x13C) >> voice_line_id) & 1) { if (line_group_start_index < 0xC && random_integer_below(4) == 0) - *(int *)(moby_data + 0x13C) &= ~(1 << id); + *(int *)(moby_data + 0x13C) &= ~(1 << voice_line_id); j++; j %= line_count; - id = l13_starfighter_voice_line_ids[line_group_start_index + j]; + voice_line_id = l13_starfighter_voice_line_ids[line_group_start_index + j]; } else { - music_stream_state.queued_secondary_track = id + 50000; + music_stream_state.queued_secondary_track = voice_line_id + 50000; moby_data[0x13A] = 1; - *(int *)(moby_data + 0x13C) |= 1 << id; + *(int *)(moby_data + 0x13C) |= 1 << voice_line_id; return 1; } } if (line_group_start_index < 0xC) - *(int *)(moby_data + 0x13C) &= ~(1 << id); + *(int *)(moby_data + 0x13C) &= ~(1 << voice_line_id); } else { - music_stream_state.queued_secondary_track = id + 50000; + music_stream_state.queued_secondary_track = voice_line_id + 50000; moby_data[0x13A] = 1; return 1; } @@ -741,7 +741,7 @@ void process_moby_attachment_damage(Moby_2EAE80 *moby, Data_2EAE80 *moby_data) { }; int hit; int rf; - int mode; + int damage_outcome; int i; int k; int j; @@ -754,7 +754,7 @@ void process_moby_attachment_damage(Moby_2EAE80 *moby, Data_2EAE80 *moby_data) { if (moby->state < STARFIGHTER_STATE_OWNER_UNAVAILABLE) { dd = &moby_data->sub; - mode = ATTACHMENT_DAMAGE_NONE; + damage_outcome = ATTACHMENT_DAMAGE_NONE; rf = 0; k6 = 6.0f; step = (float)dd->max_health / k6; @@ -779,12 +779,12 @@ void process_moby_attachment_damage(Moby_2EAE80 *moby, Data_2EAE80 *moby_data) { } if (dd->health <= r->damage_amount) { func_L13_002EAC18_2EAE80(moby, moby_data, dd, r); - mode = ATTACHMENT_DAMAGE_LETHAL; + damage_outcome = ATTACHMENT_DAMAGE_LETHAL; moby_data->first->hit_slot = 0xFF; } else { dd->health = dd->health - r->damage_amount; moby_data->hit_flash.flash_red = 0xFA; - mode = ATTACHMENT_DAMAGE_APPLIED; + damage_outcome = ATTACHMENT_DAMAGE_APPLIED; moby_data->sub.h6 = scale_game_frames(0); start_hit_color_flash(moby, &moby_data->hit_flash); moby_data->first->hit_slot = 0xFF; @@ -833,7 +833,7 @@ void process_moby_attachment_damage(Moby_2EAE80 *moby, Data_2EAE80 *moby_data) { } moby_data->voice_line_flags = 0; moby_data->b148 = 0; - mode = ATTACHMENT_DAMAGE_STAGE_ADVANCED; + damage_outcome = ATTACHMENT_DAMAGE_STAGE_ADVANCED; if (moby->command == 7) { for (j = moby->command - 1; j < 10; j++) { func_L13_002EAAB8_2EAE80( @@ -848,7 +848,7 @@ void process_moby_attachment_damage(Moby_2EAE80 *moby, Data_2EAE80 *moby_data) { } } } - for (i = 0; i < 11 && mode == ATTACHMENT_DAMAGE_NONE; i++) { + for (i = 0; i < 11 && damage_outcome == ATTACHMENT_DAMAGE_NONE; i++) { if (moby_data->list[i] == 0) { continue; } @@ -878,12 +878,12 @@ void process_moby_attachment_damage(Moby_2EAE80 *moby, Data_2EAE80 *moby_data) { } if (dd->health <= r->damage_amount) { func_L13_002EAC18_2EAE80(moby, moby_data, dd, r); - mode = ATTACHMENT_DAMAGE_LETHAL; + damage_outcome = ATTACHMENT_DAMAGE_LETHAL; moby_data->list[i]->hit_slot = 0xFF; } else { dd->health = dd->health - r->damage_amount; moby_data->hit_flash.flash_red = 0xFA; - mode = ATTACHMENT_DAMAGE_APPLIED; + damage_outcome = ATTACHMENT_DAMAGE_APPLIED; moby_data->sub.h6 = scale_game_frames(0); start_hit_color_flash(moby, &moby_data->hit_flash); moby_data->list[i]->hit_slot = 0xFF; @@ -930,7 +930,7 @@ void process_moby_attachment_damage(Moby_2EAE80 *moby, Data_2EAE80 *moby_data) { } moby_data->voice_line_flags = 0; moby_data->b148 = 0; - mode = ATTACHMENT_DAMAGE_STAGE_ADVANCED; + damage_outcome = ATTACHMENT_DAMAGE_STAGE_ADVANCED; if (moby->command == 7) { for (k = moby->command - 1; k < 10; k++) { func_L13_002EAAB8_2EAE80( @@ -942,7 +942,7 @@ void process_moby_attachment_damage(Moby_2EAE80 *moby, Data_2EAE80 *moby_data) { moby_data->b148 = 1; } } - if (mode > ATTACHMENT_DAMAGE_NONE) { + if (damage_outcome > ATTACHMENT_DAMAGE_NONE) { if (rf != 0) { switch (moby->command - 1) { case DAMAGE_STAGE_SKIP_LINE_QUEUE: @@ -1147,7 +1147,7 @@ void draw_starfighter_tractor_beam(struct Moby *moby) { float start[4]; float direction[4]; float position[4]; - float offset[4]; + float beam_phase_offset[4]; float side[4]; float up[4]; float edge[4]; @@ -1189,8 +1189,9 @@ void draw_starfighter_tractor_beam(struct Moby *moby) { fast_vec_normalize(direction, direction, step); qcopy(position, start); distance = zero; - fast_vec_normalize(offset, direction, convert_integer_to_float(frame_count % 20) / 20.0f); - fast_vec_sub(position, position, offset); + fast_vec_normalize( + beam_phase_offset, direction, convert_integer_to_float(frame_count % 20) / 20.0f); + fast_vec_sub(position, position, beam_phase_offset); while (distance < length) { width = (distance * 0.0f) / (length + length) + 0.5f; fast_vec_cross(side, direction, D_L13_00160680); @@ -1635,7 +1636,7 @@ void qwarks_starfighter_update(Moby388 *moby) { STARFIGHTER_SHIELD_STATE_DEACTIVATE_REQUESTED = 3 }; Ship388 *starfighter_vars = moby->d; - float offset[4]; + float effect_position_or_beam_step[4]; float joint[4]; float ray_start[4]; float probe[4]; @@ -1881,14 +1882,16 @@ void qwarks_starfighter_update(Moby388 *moby) { starfighter_vars->flight_speed += (frame_time * 30.0f - starfighter_vars->flight_speed) * 0.1f; if (frame_time * 40.0f < hero_distance) { - fast_vec_sub( - offset, ((char *)&D_0013F3D0), starfighter_vars->tractor_beam_endpoint); - fast_vec_normalize(offset, offset, frame_time * 40.0f); + fast_vec_sub(effect_position_or_beam_step, + ((char *)&D_0013F3D0), + starfighter_vars->tractor_beam_endpoint); + fast_vec_normalize( + effect_position_or_beam_step, effect_position_or_beam_step, frame_time * 40.0f); fast_vec_add(starfighter_vars->tractor_beam_endpoint, starfighter_vars->tractor_beam_endpoint, - offset); + effect_position_or_beam_step); } else { - qcopy(offset, ((char *)&D_0013F3D0)); + qcopy(effect_position_or_beam_step, ((char *)&D_0013F3D0)); starfighter_vars->attack_and_death_timer_frames = scale_game_frames(0x78); if (!(starfighter_vars->voice_line_flags & 4)) { if (queue_starfighter_voice_line(moby, starfighter_vars, 0x17, 4) != 0) { @@ -1965,15 +1968,16 @@ void qwarks_starfighter_update(Moby388 *moby) { fast_vec_sub(ray_start, starfighter_vars->tractor_beam_endpoint, probe); fast_vec_normalize(ray_start, ray_start, 30.0f); fast_vec_add(ray_start, ray_start, probe); - fast_vec_sub(offset, ray_start, starfighter_vars->tractor_beam_endpoint); + fast_vec_sub( + effect_position_or_beam_step, ray_start, starfighter_vars->tractor_beam_endpoint); distance = fast_vec_dist(ray_start, ((char *)&D_0013F3D0)); if (distance != 30.0f) { - fast_vec_normalize(offset, - offset, + fast_vec_normalize(effect_position_or_beam_step, + effect_position_or_beam_step, (frame_time * 15.0f < distance) ? frame_time * 15.0f : distance); fast_vec_add(starfighter_vars->tractor_beam_endpoint, starfighter_vars->tractor_beam_endpoint, - offset); + effect_position_or_beam_step); } { char *hero = ((char *)&D_0013F350); @@ -2113,12 +2117,12 @@ void qwarks_starfighter_update(Moby388 *moby) { if (random_integer_below(0x11) == 0) { float size_ratio = moby->scale / (*(float *)(moby->cls + 0x24) * 3.0f); fast_vec_normalize(joint, moby->mat[0], random_float_between(-5.0f, 5.0f) * size_ratio); - fast_vec_add(offset, moby->pos, joint); + fast_vec_add(effect_position_or_beam_step, moby->pos, joint); fast_vec_normalize(joint, moby->mat[1], random_float_between(-4.0f, 4.0f) * size_ratio); - fast_vec_add(offset, offset, joint); + fast_vec_add(effect_position_or_beam_step, effect_position_or_beam_step, joint); fast_vec_normalize(joint, moby->mat[2], random_float_between(-4.0f, 4.0f) * size_ratio); - fast_vec_add(offset, offset, joint); - cart_burst(moby, offset, -1, size_ratio * 1.6f, 13.0f); + fast_vec_add(effect_position_or_beam_step, effect_position_or_beam_step, joint); + cart_burst(moby, effect_position_or_beam_step, -1, size_ratio * 1.6f, 13.0f); } func_L13_002E9F90_2(moby, starfighter_vars); { @@ -2334,16 +2338,16 @@ void qwarks_starfighter_update(Moby388 *moby) { starfighter_vars->snd114 = -1; starfighter_vars->snd114 = allocate_voice_for_target_entry(0, 4, (int)moby); have114: - transform_vector_by_basis(offset, D_L13_00160660, moby->mat[0]); - fast_vec_normalize(offset, offset, 7.0f); - fast_vec_sub(offset, moby->pos, offset); - offset[3] = 50.0f; + transform_vector_by_basis(effect_position_or_beam_step, D_L13_00160660, moby->mat[0]); + fast_vec_normalize(effect_position_or_beam_step, effect_position_or_beam_step, 7.0f); + fast_vec_sub(effect_position_or_beam_step, moby->pos, effect_position_or_beam_step); + effect_position_or_beam_step[3] = 50.0f; if (starfighter_vars->light120 == -1) { - starfighter_vars->light120 = - allocate_colored_effect_slot(offset, 50.0f, 0.0f, 3.0f, 0.5f, 0.01f); + starfighter_vars->light120 = allocate_colored_effect_slot( + effect_position_or_beam_step, 50.0f, 0.0f, 3.0f, 0.5f, 0.01f); } else { char *light = level13_point_light_slots + (starfighter_vars->light120 << 5); - qcopy(light + 0x10, offset); + qcopy(light + 0x10, effect_position_or_beam_step); } } starfighter_vars->b10F = 0; @@ -2405,8 +2409,11 @@ extern char *create_moby(int); extern char *create_moby(int) __asm__("FUN_0020c4f8"); -char *spawn_moby_joint_attachment(char *parent_moby, int attachment_joint_index, int id) { - char *moby = create_moby(id); +char *spawn_moby_joint_attachment(char *parent_moby, + int attachment_joint_index, + + int attachment_class_id) { + char *moby = create_moby(attachment_class_id); if (moby != 0) { char *attachment_vars; float f = diff --git a/src/overlays/l13/mobys/tracked_group_watcher.c b/src/overlays/l13/mobys/tracked_group_watcher.c index e21f513321..8369919114 100644 --- a/src/overlays/l13/mobys/tracked_group_watcher.c +++ b/src/overlays/l13/mobys/tracked_group_watcher.c @@ -37,11 +37,11 @@ void tracked_group_watcher_update(struct Moby *moby) { int valid_tracked_moby_count = 0; int i; for (i = 0; i < 8; i++) { - int id = ids[i]; + int tracked_moby_index = ids[i]; int saved_moby_class; unsigned char *o; - if (id != -1 && (saved_moby_class = cls[i]) != -1) { - o = (unsigned char *)(base + (id << 8)); + if (tracked_moby_index != -1 && (saved_moby_class = cls[i]) != -1) { + o = (unsigned char *)(base + (tracked_moby_index << 8)); if (o != 0 && *(short *)(o + 0xA6) == saved_moby_class && o[0x20] != 0xFE && o[0x20] != 0xFD) { valid_tracked_moby_count++; diff --git a/src/overlays/l14/hero/update_hero_motion_by_state.c b/src/overlays/l14/hero/update_hero_motion_by_state.c index 1f590a2c75..15cc23b11b 100644 --- a/src/overlays/l14/hero/update_hero_motion_by_state.c +++ b/src/overlays/l14/hero/update_hero_motion_by_state.c @@ -144,7 +144,7 @@ s32 process_hero_hit_reaction(s32 apply_hit_reaction) { OvlMobyEntry40 *hero_hit_entry; u8 *mob; s32 flag; - s32 id; + s32 hit_reaction_state; f32 horizontal_knockback_scale, vertical_knockback_scale, knockback_scale; OvlVec4 knockback_impulse; @@ -203,9 +203,9 @@ s32 process_hero_hit_reaction(s32 apply_hit_reaction) { case HERO_VEHICLE_MODE_ON_FOOT: mob = (u8 *)G.damage_source_moby; if (mob != 0 && (*(s16 *)(mob + 0xA6) == 0x4EB || *(s16 *)(mob + 0xA6) == 0x558)) { - id = 0x80; + hit_reaction_state = HERO_STATE_DYING_SPEED_LIMITED; call_ret: - hero_set_state(id, 1); + hero_set_state(hit_reaction_state, 1); return 1; } if (G.state.control_mode == 0x16) { diff --git a/src/overlays/l14/mobys/blarg_heavy_interceptor.c b/src/overlays/l14/mobys/blarg_heavy_interceptor.c index 1893011ffe..d3a5975ed0 100644 --- a/src/overlays/l14/mobys/blarg_heavy_interceptor.c +++ b/src/overlays/l14/mobys/blarg_heavy_interceptor.c @@ -756,14 +756,14 @@ void blarg_heavy_interceptor_update(struct Moby *moby) { 60000.0f); for (i = 0; i < 2; i++) { int signed_puff_random_value = random_integer_below(6); - float size; + float puff_size; int puff_rgb_component; unsigned char *p; if (random_integer_below(2)) { signed_puff_random_value = -signed_puff_random_value; } - size = random_float_between(40000.0f, 100000.0f); + puff_size = random_float_between(40000.0f, 100000.0f); puff_rgb_component = random_int_between(0x30, 0xFF); p = FUN_L00_0026d000_c618( &moby->pos, @@ -772,7 +772,7 @@ void blarg_heavy_interceptor_update(struct Moby *moby) { 1.0f, signed_puff_random_value, D_L14_0015F580, - size, + puff_size, puff_rgb_component | (0x60000000 | (puff_rgb_component << 16) | (puff_rgb_component << 8))); if (p != 0) { @@ -1260,7 +1260,7 @@ void draw_blarg_heavy_interceptor_spinning_beam(struct Moby *moby) { float beam_to_camera_vector[4]; float camera_facing_angles[4]; float rm[3][4]; - float size; + float quad_scale; float step; int r, g, b, a; u32 col; @@ -1301,7 +1301,7 @@ void draw_blarg_heavy_interceptor_spinning_beam(struct Moby *moby) { pk.uv[5] = 0.0f; pk.uv[6] = 0.0f; pk.uv[7] = 0.0f; - size = blarg_heavy_interceptor_spinning_beam_initial_quad_scale_gp; + quad_scale = blarg_heavy_interceptor_spinning_beam_initial_quad_scale_gp; step = blarg_heavy_interceptor_spinning_beam_initial_offset_scale_gp; r = blarg_heavy_interceptor_spinning_beam_initial_red_gp; g = blarg_heavy_interceptor_spinning_beam_initial_green_gp; @@ -1316,7 +1316,7 @@ void draw_blarg_heavy_interceptor_spinning_beam(struct Moby *moby) { pk.col[0] = col; fast_vec_scale(quad_translation_offset, beam_offset_direction, step); for (j = 0; j < 4; j++) { - fast_vec_scale(pk.m[j], D_L14_001D8600[j], size); + fast_vec_scale(pk.m[j], D_L14_001D8600[j], quad_scale); transform_vector(pk.m[j], pk.m[j], beam_quad_transform); fast_vec_add(pk.m[j], pk.m[j], quad_translation_offset); } @@ -1330,7 +1330,7 @@ void draw_blarg_heavy_interceptor_spinning_beam(struct Moby *moby) { g -= blarg_heavy_interceptor_spinning_beam_green_decrement_per_pair_gp; b -= blarg_heavy_interceptor_spinning_beam_blue_decrement_per_pair_gp; a -= blarg_heavy_interceptor_spinning_beam_alpha_decrement_per_pair_gp; - size += blarg_heavy_interceptor_spinning_beam_quad_scale_increment_per_pair_gp; + quad_scale += blarg_heavy_interceptor_spinning_beam_quad_scale_increment_per_pair_gp; step += blarg_heavy_interceptor_spinning_beam_offset_scale_increment_per_pair_gp; if (r < 0) r = 0; @@ -2066,8 +2066,11 @@ int try_retract_turret_group(int index) { extern char *D_L14_ffd0_e[] __asm__("D_L14_0015FFD0") MACRO_ADDR; int is_turret_group_activated_or_empty(int index) { + enum { + TURRET_STATE_LIVE_MINIMUM = 0 + }; unsigned short *list = (unsigned short *)D_L14_001AC2C0_2B0168[index]; - int count = 0; + int live_member_count = 0; char *moby_pool_base; if (list) goto scan; @@ -2080,13 +2083,13 @@ int is_turret_group_activated_or_empty(int index) { char *moby = moby_pool_base + ((id & 0x7FFF) << 8); int state = ((signed char)MOBY(moby)->state); char *group_member_vars = ((char *)MOBY(moby)->pvars); - if (state >= 0) - count++; - if (state >= 0 && *(short *)(group_member_vars + 0x88)) + if (state >= TURRET_STATE_LIVE_MINIMUM) + live_member_count++; + if (state >= TURRET_STATE_LIVE_MINIMUM && *(short *)(group_member_vars + 0x88)) goto success; list++; if ((short)id < 0) - return count == 0; + return live_member_count == 0; } while (1); } diff --git a/src/overlays/l14/mobys/button.c b/src/overlays/l14/mobys/button.c index 26f9952756..cc03cbb63d 100644 --- a/src/overlays/l14/mobys/button.c +++ b/src/overlays/l14/mobys/button.c @@ -29,7 +29,7 @@ void button_update(struct Moby *moby) { BUTTON_ACTIVATED = 2 }; s32 *button_pvars = (s32 *)moby->pvars; - s16 id; + s16 save_entry_index; s32 i; s32 list; char *path_entry_base; @@ -42,9 +42,10 @@ void button_update(struct Moby *moby) { case BUTTON_INITIALIZE: *(f32 *)(button_pvars + 3) = random_angle_radians(); moby->pos.z -= 0.35f; - id = (s16)moby->save_id; - if (D_L14_001BB930.cleared[id] != 0 || - (D_0014C190_257218[current_level_index][id >> 5] >> (moby->save_id & 31) & 1) != 0 || + save_entry_index = (s16)moby->save_id; + if (D_L14_001BB930.cleared[save_entry_index] != 0 || + (D_0014C190_257218[current_level_index][save_entry_index >> 5] >> (moby->save_id & 31) & + 1) != 0 || (button_pvars[2] != 0 && D_0014C050[moby->mission + current_level_index * 16] == 0xFF)) { moby->command = 2; @@ -79,8 +80,9 @@ void button_update(struct Moby *moby) { high = color << 16; moby->glow_color = high | shade | color; if (hero.ground_moby == moby && hero.air_frames.s == 0) { - id = (s16)moby->save_id; - D_0014C190_257218[current_level_index][id >> 5] |= 1 << (moby->save_id & 31); + save_entry_index = (s16)moby->save_id; + D_0014C190_257218[current_level_index][save_entry_index >> 5] |= + 1 << (moby->save_id & 31); D_L14_001BABD0[(s16)moby->save_id >> 5] |= 1 << (moby->save_id & 31); moby->state = BUTTON_ACTIVATED; moby->command = 1; diff --git a/src/overlays/l14/mobys/elevator.c b/src/overlays/l14/mobys/elevator.c index deb03a86d5..ea2a0321bf 100644 --- a/src/overlays/l14/mobys/elevator.c +++ b/src/overlays/l14/mobys/elevator.c @@ -108,15 +108,18 @@ void elevator_update(struct Moby *elevator_moby) { qcopy(&rot, &elevator_moby->rot); switch (elevator_moby->state) { case ELEVATOR_STATE_INITIALIZE: { - u16 id; + u16 elevator_save_id; elevator_moby->command = 0; elevator_moby->state = ELEVATOR_STATE_WAIT_FOR_RIDER; initialize_elevator_path_state(elevator_moby); qcopy(&elevator_moby->pos, ((char *)l14_paths[elevator_vars->path]) + 0x10); qcopy(&elevator_moby->rot, elevator_vars->rot); - id = elevator_moby->save_id; - if (D_L14_001BB930.cleared[(short)id] == 0 && - (((D_0014C190_257218[current_level_index][(short)id >> 5] >> (id & 0x1F)) ^ 1) & 1) && + elevator_save_id = elevator_moby->save_id; + if (D_L14_001BB930.cleared[(short)elevator_save_id] == 0 && + (((D_0014C190_257218[current_level_index][(short)elevator_save_id >> 5] >> + (elevator_save_id & 0x1F)) ^ + 1) & + 1) && visited52[elevator_vars->item + current_level_index * 16] == 0xFF) elevator_vars->bought = 1; else diff --git a/src/overlays/l14/mobys/enemy_fighter.c b/src/overlays/l14/mobys/enemy_fighter.c index 4e644294be..e56d46e104 100644 --- a/src/overlays/l14/mobys/enemy_fighter.c +++ b/src/overlays/l14/mobys/enemy_fighter.c @@ -161,7 +161,7 @@ void spawn_enemy_fighter_exhaust(struct Moby *emitter_moby) { int r; int spin; int life; - float size; + float ring_puff_size; if (emitter_moby->state == ENEMY_FIGHTER_STATE_INITIALIZE || emitter_moby->state == ENEMY_FIGHTER_STATE_WAIT_FOR_RESPAWN || emitter_moby->visible == 0) @@ -193,12 +193,13 @@ void spawn_enemy_fighter_exhaust(struct Moby *emitter_moby) { } } spin = 16; - size = 100000.0f; + ring_puff_size = 100000.0f; fast_vec_scale(&step, &emitter_moby->rot_row0, enemy_fighter_exhaust_ring_row0_offset_gp); fast_vec_add(&pos, &pos, &step); life = scale_game_frames(2); for (i = 0; i < 3; i++) { - puff = spawn_puff(&pos, 0.05f, 1.0f, 1.0f, spin, D_L14_0015F580, size, 0x7FFFFFFF); + puff = + spawn_puff(&pos, 0.05f, 1.0f, 1.0f, spin, D_L14_0015F580, ring_puff_size, 0x7FFFFFFF); if (puff != 0) { L14PuffTail *tail = &puff->tail; puff->frame = (emitter_moby->draw_dist >> 5 << 4) + exhaust_ftoi(4.0f); @@ -210,7 +211,7 @@ void spawn_enemy_fighter_exhaust(struct Moby *emitter_moby) { } spin = -spin; life *= 2; - size -= 20000.0f; + ring_puff_size -= 20000.0f; } fast_vec_scale(&step, &emitter_moby->rot_row1, enemy_fighter_exhaust_paired_emitter_offset_gp); fast_vec_sub(&pos, &paired_exhaust_origin, &step); @@ -234,12 +235,13 @@ void spawn_enemy_fighter_exhaust(struct Moby *emitter_moby) { } } spin = 16; - size = 100000.0f; + ring_puff_size = 100000.0f; fast_vec_scale(&step, &emitter_moby->rot_row0, enemy_fighter_exhaust_ring_row0_offset_gp); fast_vec_add(&pos, &pos, &step); life = scale_game_frames(2); for (i = 0; i < 3; i++) { - puff = spawn_puff(&pos, 0.05f, 1.0f, 1.0f, spin, D_L14_0015F580, size, 0x7FFFFFFF); + puff = + spawn_puff(&pos, 0.05f, 1.0f, 1.0f, spin, D_L14_0015F580, ring_puff_size, 0x7FFFFFFF); if (puff != 0) { L14PuffTail *tail = &puff->tail; puff->frame = (emitter_moby->draw_dist >> 5 << 4) + exhaust_ftoi(4.0f); @@ -251,7 +253,7 @@ void spawn_enemy_fighter_exhaust(struct Moby *emitter_moby) { } spin = -spin; life *= 2; - size -= 20000.0f; + ring_puff_size -= 20000.0f; } } diff --git a/src/overlays/l14/mobys/flying_car.c b/src/overlays/l14/mobys/flying_car.c index cb998e444b..146042bd3e 100644 --- a/src/overlays/l14/mobys/flying_car.c +++ b/src/overlays/l14/mobys/flying_car.c @@ -58,17 +58,17 @@ typedef struct { float yaw_spring_state; char pad9C[4]; int part; /* 0xA0 */ - float fA4; - float fA8; - float fAC; - int fB0; - int fB4; + float attached_part_local_offset_x; + float attached_part_local_offset_y; + float attached_part_local_offset_z; + int sink_offset; + int sink_offset_step; int fB8; - int fBC; - int fC0; + int rotation_oscillation_common_phase; + int rotation_oscillation_axis_phase; int trigger; /* 0xC4 */ int fC8; - int fCC; + int attached_part_interaction_hold_timer_frames; Fx_6ee0 fx; /* 0xD0 */ } Data_6ee0; @@ -166,11 +166,11 @@ void flying_car_update(struct Moby *flying_car_moby) { flying_car_moby->draw_dist = 0xFF; flying_car_data->sound = -1; flying_car_data->timer = scale_game_frames(flying_car_path_reset_delay_frames_gp); - flying_car_data->fB0 = 0; - flying_car_data->fB4 = 0; - flying_car_data->fBC = 0; - flying_car_data->fC0 = 0; - flying_car_data->fCC = 0; + flying_car_data->sink_offset = 0; + flying_car_data->sink_offset_step = 0; + flying_car_data->rotation_oscillation_common_phase = 0; + flying_car_data->rotation_oscillation_axis_phase = 0; + flying_car_data->attached_part_interaction_hold_timer_frames = 0; if (flying_car_data->part >= 0) { struct Moby *o = (struct Moby *)(D_L14_0015FFD8_macro + (flying_car_data->part << 8)); o->draw_dist = (u16)flying_car_moby->draw_dist; @@ -206,8 +206,8 @@ void flying_car_update(struct Moby *flying_car_moby) { flying_car_data->fx.b2 = 1; flying_car_data->fx.f20 = flying_car_data->fx.f24 = flying_car_data->fx.f28 = 0.0001f; update_moby_rotation_oscillation(flying_car_moby, - &flying_car_data->fBC, - &flying_car_data->fC0, + &flying_car_data->rotation_oscillation_common_phase, + &flying_car_data->rotation_oscillation_axis_phase, flying_car_rotation_oscillation_amplitude_gp, flying_car_rotation_oscillation_common_phase_update_gp, flying_car_rotation_oscillation_axis_phase_update_gp); @@ -217,24 +217,25 @@ void flying_car_update(struct Moby *flying_car_moby) { (struct Moby *)(D_L14_0015FFD8_macro + (flying_car_data->part << 8)); fast_vec_scale(&attached_part_offset_component, &flying_car_moby->rot_row0, - flying_car_data->fA4); + flying_car_data->attached_part_local_offset_x); fast_vec_add(&o->pos, &flying_car_moby->pos, &attached_part_offset_component); fast_vec_scale(&attached_part_offset_component, &flying_car_moby->rot_row1, - flying_car_data->fA8); + flying_car_data->attached_part_local_offset_y); fast_vec_add(&o->pos, &o->pos, &attached_part_offset_component); fast_vec_scale(&attached_part_offset_component, &flying_car_moby->rot_row2, - flying_car_data->fAC); + flying_car_data->attached_part_local_offset_z); fast_vec_add(&o->pos, &o->pos, &attached_part_offset_component); if ((hero.state.control_mode == HERO_MODE_GRAPPLE && hero.grapple_target == o) || (hero.state.control_mode == HERO_MODE_GRAPPLE_SWING && hero.swing_target_moby == o)) { seed_linked_record_for_flying_car(flying_car_moby); - flying_car_data->fCC = scale_game_frames(0x1E); + flying_car_data->attached_part_interaction_hold_timer_frames = + scale_game_frames(0x1E); } else { - fast_dec_timer(&flying_car_data->fCC); - if (flying_car_data->fCC != 0) { + fast_dec_timer(&flying_car_data->attached_part_interaction_hold_timer_frames); + if (flying_car_data->attached_part_interaction_hold_timer_frames != 0) { ((Part_6ee0 *)o->pvars)->f20 = 2.0f; } else { Part_6ee0 *pd = (Part_6ee0 *)o->pvars; @@ -275,15 +276,15 @@ void flying_car_update(struct Moby *flying_car_moby) { o->flags &= 0xFFBE; fast_vec_scale(&attached_part_offset_component, &flying_car_moby->rot_row0, - flying_car_data->fA4); + flying_car_data->attached_part_local_offset_x); fast_vec_add(&o->pos, &flying_car_moby->pos, &attached_part_offset_component); fast_vec_scale(&attached_part_offset_component, &flying_car_moby->rot_row1, - flying_car_data->fA8); + flying_car_data->attached_part_local_offset_y); fast_vec_add(&o->pos, &o->pos, &attached_part_offset_component); fast_vec_scale(&attached_part_offset_component, &flying_car_moby->rot_row2, - flying_car_data->fAC); + flying_car_data->attached_part_local_offset_z); fast_vec_add(&o->pos, &o->pos, &attached_part_offset_component); } if (flying_car_data->trigger >= 0) { diff --git a/src/overlays/l14/mobys/flying_debris.c b/src/overlays/l14/mobys/flying_debris.c index f14fcd29c3..3e83cda771 100644 --- a/src/overlays/l14/mobys/flying_debris.c +++ b/src/overlays/l14/mobys/flying_debris.c @@ -91,7 +91,7 @@ void flying_debris_update(struct Moby *moby) { int i; int signed_puff_random_value; int puff_rgb_component; - float size; + float offset_scale_or_puff_scalar; float bright; u8 *puff_particle; u8 *puff_tail; @@ -152,8 +152,8 @@ void flying_debris_update(struct Moby *moby) { moby->rot.y = fast_add_rotations(moby->rot.y, debris_vars->spin_y); moby->rot.z = fast_add_rotations(moby->rot.z, debris_vars->spin_z); moby_point_position(moby, 0, joint); - size = randf_sym(0.01f, 0.5f); - fast_vec_scale(ofs, (char *)moby + 0xC0, size); + offset_scale_or_puff_scalar = randf_sym(0.01f, 0.5f); + fast_vec_scale(ofs, (char *)moby + 0xC0, offset_scale_or_puff_scalar); fast_vec_add(at, joint, ofs); fast_vec_sub(moby_to_joint_direction, joint, &moby->pos); normalize_d(moby_to_joint_direction, moby_to_joint_direction, 0.05f); @@ -174,7 +174,7 @@ void flying_debris_update(struct Moby *moby) { signed_puff_random_value = random_integer_below(6); if (random_integer_below(2) != 0) signed_puff_random_value = -signed_puff_random_value; - size = random_float_between(20000.0f, 100000.0f); + offset_scale_or_puff_scalar = random_float_between(20000.0f, 100000.0f); puff_rgb_component = random_int_between(0x10, 0xFF); puff_particle = (u8 *)spawn_puff(at, @@ -183,7 +183,7 @@ void flying_debris_update(struct Moby *moby) { 1.0f, signed_puff_random_value, D_L14_0015F580, - size, + offset_scale_or_puff_scalar, puff_rgb_component | (0x60000000 | (puff_rgb_component << 16) | (puff_rgb_component << 8))); if (puff_particle != NULL) { diff --git a/src/overlays/l14/mobys/minibomber.c b/src/overlays/l14/mobys/minibomber.c index 7f076833d2..1936eeb25a 100644 --- a/src/overlays/l14/mobys/minibomber.c +++ b/src/overlays/l14/mobys/minibomber.c @@ -980,7 +980,7 @@ void emit_minibomber_bomb_release_effects(struct Moby *moby, float angle) __asm__("FUN_L14_002b5968"); void emit_minibomber_bomb_release_effects(struct Moby *moby, float *point, float angle) { - float offset[4]; + float release_point_offset[4]; float effect_spawn_position[4]; float small_offset[4]; float direction[4]; @@ -999,10 +999,10 @@ void emit_minibomber_bomb_release_effects(struct Moby *moby, float *point, float int high_color; effect_rotation_angle = fast_add_rotations(angle, moby->rot.z); - offset[0] = fast_cos(effect_rotation_angle) * 0.8f; - offset[1] = fast_sin(effect_rotation_angle) * 0.8f; - offset[2] = 0.0f; - fast_vec_add(effect_spawn_position, point, offset); + release_point_offset[0] = fast_cos(effect_rotation_angle) * 0.8f; + release_point_offset[1] = fast_sin(effect_rotation_angle) * 0.8f; + release_point_offset[2] = 0.0f; + fast_vec_add(effect_spawn_position, point, release_point_offset); for (i = 5; i >= 0; i--) { signed_puff_random_value = random_integer_below(2); if (random_integer_below(2)) @@ -1028,15 +1028,15 @@ void emit_minibomber_bomb_release_effects(struct Moby *moby, float *point, float tail->fade = part->life; } } - qcopy(small_offset, offset); - fast_vec_scale(offset, offset, 0.0625f); - offset[2] = random_float_between(0.025f, 0.06f); + qcopy(small_offset, release_point_offset); + fast_vec_scale(release_point_offset, release_point_offset, 0.0625f); + release_point_offset[2] = random_float_between(0.025f, 0.06f); qcopy(original_pos, effect_spawn_position); step = 0.6283f; for (j = 0; j < 16; j++) { effect_rotation_angle = randf_sym(0.0f, 0.5f); build_look_at_matrix( - direction, offset, small_offset, (float)j * step + effect_rotation_angle); + direction, release_point_offset, small_offset, (float)j * step + effect_rotation_angle); effect_spawn_position[0] = original_pos[0] + randf_sym(0.0f, 0.2f); effect_spawn_position[1] = original_pos[1] + randf_sym(0.0f, 0.2f); effect_spawn_position[2] = original_pos[2] + randf_sym(0.0f, 0.2f); @@ -1128,7 +1128,7 @@ void emit_minibomber_exhaust_puffs(struct Moby *moby) { int j; int signed_puff_value; int life; - float size; + float exhaust_puff_size; if (moby->state < MINIBOMBER_STATE_FOLLOW_INTRO_OR_EXIT_PATH || moby->state == MINIBOMBER_STATE_DESTROY) return; @@ -1158,12 +1158,18 @@ void emit_minibomber_exhaust_puffs(struct Moby *moby) { fast_vec_add(pos, &moby->pos, exhaust_position_offset); signed_puff_value = 0x10; life = scale_game_frames(2); - size = 100000.0f; + exhaust_puff_size = 100000.0f; for (j = 0; j < 3; j++) { L14Puff *part; L14PuffTail *tail; - part = spawn_puff( - pos, 0.05f, 1.0f, 1.0f, signed_puff_value, D_L14_0015F580_macro, size, 0x7FFFFFFF); + part = spawn_puff(pos, + 0.05f, + 1.0f, + 1.0f, + signed_puff_value, + D_L14_0015F580_macro, + exhaust_puff_size, + 0x7FFFFFFF); if (part) { tail = &part->tail; part->life = life; @@ -1174,7 +1180,7 @@ void emit_minibomber_exhaust_puffs(struct Moby *moby) { } signed_puff_value = -signed_puff_value; life *= 2; - size -= 20000.0f; + exhaust_puff_size -= 20000.0f; } } diff --git a/src/overlays/l14/mobys/path_lightning_controller.c b/src/overlays/l14/mobys/path_lightning_controller.c index 17a73ad36a..eff90685d1 100644 --- a/src/overlays/l14/mobys/path_lightning_controller.c +++ b/src/overlays/l14/mobys/path_lightning_controller.c @@ -610,7 +610,7 @@ void spawn_lightning_arc_particle_pairs(float *particle_spawn_position, int spaw float initial_velocity[4]; float saved_position[4]; float particle_scale, velocity_horizontal_angle, velocity_vertical_angle; - int random_sign, r0, i, id; + int random_sign, r0, i, particle_lifetime_frames; unsigned char *particle; if (spawn_pair_count > 0) { i = spawn_pair_count; @@ -633,9 +633,9 @@ void spawn_lightning_arc_particle_pairs(float *particle_spawn_position, int spaw particle_spawn_position[0] += randf_sym(0.0f, 0.15f); particle_spawn_position[1] += randf_sym(0.0f, 0.15f); particle_spawn_position[2] += randf_sym(0.0f, 0.15f); - id = scale_game_frames(0x3C); + particle_lifetime_frames = scale_game_frames(0x3C); particle = FUN_L00_00272060(particle_spawn_position, - id, + particle_lifetime_frames, particle_scale * 0.1f, particle_scale, 0x7F7F2020, diff --git a/src/overlays/l14/mobys/path_mover.c b/src/overlays/l14/mobys/path_mover.c index 7bbdb4aa95..d7c61044bc 100644 --- a/src/overlays/l14/mobys/path_mover.c +++ b/src/overlays/l14/mobys/path_mover.c @@ -99,12 +99,12 @@ void path_mover_update(struct Moby *moby) { } } { - u16 id; + u16 save_id; if (path_mover_vars->trigger == -1 || is_point_inside_clip_volume(&hero.motion.pos, path_mover_vars->trigger) || - D_L14_001BB930.cleared[(s16)(id = moby->save_id)] != 0 || - (D_0014C190_257218[current_level_index][(s16)id >> 5] >> (id & 0x1F)) & 1) { + D_L14_001BB930.cleared[(s16)(save_id = moby->save_id)] != 0 || + (D_0014C190_257218[current_level_index][(s16)save_id >> 5] >> (save_id & 0x1F)) & 1) { if (path_mover_vars->trigger != -1) { D_0014C190_257218[current_level_index][(s16)moby->save_id >> 5] |= 1 << (moby->save_id & 0x1F); diff --git a/src/overlays/l14/mobys/qwark_oltanis.c b/src/overlays/l14/mobys/qwark_oltanis.c index 21c133e2c7..31f1844b47 100644 --- a/src/overlays/l14/mobys/qwark_oltanis.c +++ b/src/overlays/l14/mobys/qwark_oltanis.c @@ -31,7 +31,7 @@ typedef struct { char pad0[0xAC]; float value; char padB0[0x74]; - short field124; + short item_gate_active; } Level14VendorData; typedef struct { @@ -46,7 +46,7 @@ void enable_elevator_alternate_route(Level14VendorMoby *moby) __asm__("FUN_L14_0 void enable_elevator_alternate_route(Level14VendorMoby *moby) { Level14VendorData *data = moby->data; moby->state = data->value < 0.0f ? 2 : 1; - data->field124 = 1; + data->item_gate_active = 1; } extern int D_L14_001BABD0[]; @@ -58,7 +58,7 @@ void mark_elevator_collected(Level14VendorMoby *vendor_moby) { ELEVATOR_STATE_COLLECTED = 0 }; vendor_moby->state = ELEVATOR_STATE_COLLECTED; - vendor_moby->data->field124 = 0; + vendor_moby->data->item_gate_active = 0; D_0014C190_257218[current_level_index] [(short)*(unsigned short *)((char *)vendor_moby + 0xB2) >> 5] |= 1 << (*(unsigned short *)((char *)vendor_moby + 0xB2) & 0x1F); diff --git a/src/overlays/l14/mobys/rocket_strike_fighter.c b/src/overlays/l14/mobys/rocket_strike_fighter.c index d76e9f6481..e7766807f8 100644 --- a/src/overlays/l14/mobys/rocket_strike_fighter.c +++ b/src/overlays/l14/mobys/rocket_strike_fighter.c @@ -99,9 +99,11 @@ void rocket_strike_fighter_update(struct Moby *moby) { Vec4 rocket_position; if (moby->state == ROCKET_STRIKE_FIGHTER_STATE_INITIALIZE) { - u16 id = moby->save_id; - if (D_L14_001BB930.cleared[(short)id] != 0 || - (D_0014C190_257218[current_level_index][(short)id >> 5] >> (id & 0x1F)) & 1) { + u16 fighter_save_id = moby->save_id; + if (D_L14_001BB930.cleared[(short)fighter_save_id] != 0 || + (D_0014C190_257218[current_level_index][(short)fighter_save_id >> 5] >> + (fighter_save_id & 0x1F)) & + 1) { mark_moby_and_linked_moby_for_removal(&D_L14_0015FFD8_t[moby_vars->rocket]); mark_moby_for_removal(moby); return; @@ -287,7 +289,7 @@ void spawn_rocket_strike_fighter_exhaust(struct Moby *moby) { int spin; int life; int grey; - float size; + float puff_spawn_size; if (moby->state == ROCKET_STRIKE_FIGHTER_STATE_INITIALIZE || moby->state == ROCKET_STRIKE_FIGHTER_STATE_WAIT_FOR_RESPAWN || @@ -318,13 +320,14 @@ void spawn_rocket_strike_fighter_exhaust(struct Moby *moby) { tail->fade = puff->life; } } - size = 100000.0f; + puff_spawn_size = 100000.0f; fast_vec_scale(&step, &moby->rot_row0, rocket_strike_fighter_exhaust_ring_row0_offset_gp); fast_vec_add(&pos, &pos, &step); spin = 16; life = scale_game_frames(2); for (i = 0; i < 3; i++) { - puff = spawn_puff(&pos, 0.05f, 1.0f, 1.0f, spin, D_L14_0015F580, size, 0x7FFFFFFF); + puff = + spawn_puff(&pos, 0.05f, 1.0f, 1.0f, spin, D_L14_0015F580, puff_spawn_size, 0x7FFFFFFF); if (puff != 0) { L14PuffTail *tail = &puff->tail; puff->life = life; @@ -335,9 +338,9 @@ void spawn_rocket_strike_fighter_exhaust(struct Moby *moby) { } spin = -spin; life *= 2; - size -= 20000.0f; + puff_spawn_size -= 20000.0f; } - size = 300000.0f; + puff_spawn_size = 300000.0f; fast_vec_scale(&step, &moby->rot_row0, rocket_strike_fighter_exhaust_grey_puff_row0_offset_gp); fast_vec_add(&pos, &common_exhaust_origin, &step); grey = random_int_between(0x40, 0x80); @@ -351,7 +354,7 @@ void spawn_rocket_strike_fighter_exhaust(struct Moby *moby) { 1.0f, random_integer_below(2) == 0 ? spin : -spin, D_L14_0015F580, - size, + puff_spawn_size, grey); if (grey_puff != 0) { L14PuffTail *tail = &grey_puff->tail; @@ -383,13 +386,14 @@ void spawn_rocket_strike_fighter_exhaust(struct Moby *moby) { tail->fade = puff->life; } } - size = 100000.0f; + puff_spawn_size = 100000.0f; fast_vec_scale(&step, &moby->rot_row0, rocket_strike_fighter_exhaust_ring_row0_offset_gp); fast_vec_add(&pos, &pos, &step); spin = 16; life = scale_game_frames(2); for (i = 0; i < 3; i++) { - puff = spawn_puff(&pos, 0.05f, 1.0f, 1.0f, spin, D_L14_0015F580, size, 0x7FFFFFFF); + puff = + spawn_puff(&pos, 0.05f, 1.0f, 1.0f, spin, D_L14_0015F580, puff_spawn_size, 0x7FFFFFFF); if (puff != 0) { L14PuffTail *tail = &puff->tail; puff->life = life; @@ -400,7 +404,7 @@ void spawn_rocket_strike_fighter_exhaust(struct Moby *moby) { } spin = -spin; life *= 2; - size -= 20000.0f; + puff_spawn_size -= 20000.0f; } } diff --git a/src/overlays/l14/mobys/sam.c b/src/overlays/l14/mobys/sam.c index 7e074d050d..476920c8a4 100644 --- a/src/overlays/l14/mobys/sam.c +++ b/src/overlays/l14/mobys/sam.c @@ -126,14 +126,16 @@ void sam_update(L14WatchMoby *moby) { attach_big_head_cheat_manipulator_to_matching_moby(moby); switch (moby->state) { case SAM_STATE_INITIALIZE: { - unsigned short id; + unsigned short moby_save_state_index; if (D_0013DD4F) { mark_moby_for_removal(moby); return; } - id = moby->hB2; - if (D_L14_001BB930.cleared[(short)id] != 0 || - (D_0014C190_257218[current_level_index][(short)id >> 5] >> (id & 0x1F)) & 1) { + moby_save_state_index = moby->hB2; + if (D_L14_001BB930.cleared[(short)moby_save_state_index] != 0 || + (D_0014C190_257218[current_level_index][(short)moby_save_state_index >> 5] >> + (moby_save_state_index & 0x1F)) & + 1) { mark_moby_for_removal(moby); return; } diff --git a/src/overlays/l14/mobys/unlock_sequence_controller.c b/src/overlays/l14/mobys/unlock_sequence_controller.c index 2099da309b..b05d42fa0f 100644 --- a/src/overlays/l14/mobys/unlock_sequence_controller.c +++ b/src/overlays/l14/mobys/unlock_sequence_controller.c @@ -37,7 +37,7 @@ void unlock_sequence_controller_update(struct Moby *moby) { UNLOCK_SEQUENCE_COMPLETE = 3 }; int *unlock_sequence_data = ((int *)moby->pvars); - short id; + short save_id; switch (moby->state) { case UNLOCK_SEQUENCE_INITIALIZE: @@ -46,12 +46,12 @@ void unlock_sequence_controller_update(struct Moby *moby) { mark_moby_for_removal(moby); return; } - id = ((short)moby->save_id); - if (D_L14_001BB930.cleared[id] != 0) { + save_id = ((short)moby->save_id); + if (D_L14_001BB930.cleared[save_id] != 0) { moby->state = UNLOCK_SEQUENCE_COMPLETE; return; } - if (D_0014C190_257218[current_level_index][id >> 5] >> (moby->save_id & 0x1F) & 1) { + if (D_0014C190_257218[current_level_index][save_id >> 5] >> (moby->save_id & 0x1F) & 1) { moby->state = UNLOCK_SEQUENCE_COMPLETE; return; } diff --git a/src/overlays/l14/mobys/wind_control.c b/src/overlays/l14/mobys/wind_control.c index af737d2e6d..a579ff569d 100644 --- a/src/overlays/l14/mobys/wind_control.c +++ b/src/overlays/l14/mobys/wind_control.c @@ -179,9 +179,9 @@ typedef struct { char pad0[0x14]; float f14, f18, f1C; float pos[48][4]; - short n320[48]; - short n380[48]; - short n3E0[48]; + short spark_lifetime_remaining_frames[48]; + short spark_lifetime_initial_frames[48]; + short spark_opacity[48]; float spark_step_distance[48]; int pad500; int spark_area_cuboid_index; @@ -228,9 +228,9 @@ void initialize_wind_spark(struct Moby *wind_control_moby, int i, void *spark_tr frame_time; lifetime_frames = scale_game_frames(ftoi_k(spark_vars->f14 * 2.0f / spark_vars->spark_step_distance[i])); - spark_vars->n320[i] = lifetime_frames; - spark_vars->n380[i] = lifetime_frames; - spark_vars->n3E0[i] = 0; + spark_vars->spark_lifetime_remaining_frames[i] = lifetime_frames; + spark_vars->spark_lifetime_initial_frames[i] = lifetime_frames; + spark_vars->spark_opacity[i] = 0; } extern int spark_float_to_integer(float) __asm__("FUN_001fa6d0"); @@ -261,24 +261,28 @@ void update_wind_sparks(struct Moby *wind_control_moby) { in_clip = is_point_inside_clip_volume(clip, spark_vars->spark_area_cuboid_index); i = 0; pos = spark_vars->pos[0]; - shade = spark_vars->n3E0; + shade = spark_vars->spark_opacity; do { - if (fast_dec_timer_s16(&spark_vars->n320[i]) != 0) { + if (fast_dec_timer_s16(&spark_vars->spark_lifetime_remaining_frames[i]) != 0) { if (in_clip == 0 || i < 24) { initialize_wind_spark(wind_control_moby, i, spark_travel_direction); } } else { opacity = wind_spark_peak_alpha_gp; - if (spark_vars->n380[i] - wind_spark_fade_in_frames_gp < spark_vars->n320[i]) { + if (spark_vars->spark_lifetime_initial_frames[i] - wind_spark_fade_in_frames_gp < + spark_vars->spark_lifetime_remaining_frames[i]) { spark_fade_fraction = - convert_integer_to_float(spark_vars->n380[i] - spark_vars->n320[i]); + convert_integer_to_float(spark_vars->spark_lifetime_initial_frames[i] - + spark_vars->spark_lifetime_remaining_frames[i]); spark_fade_fraction = spark_fade_fraction / convert_integer_to_float(wind_spark_fade_in_frames_gp); } else { - spark_fade_fraction = convert_integer_to_float(spark_vars->n320[i]); + spark_fade_fraction = + convert_integer_to_float(spark_vars->spark_lifetime_remaining_frames[i]); spark_fade_fraction = spark_fade_fraction / - convert_integer_to_float(spark_vars->n380[i] - wind_spark_fade_in_frames_gp); + convert_integer_to_float(spark_vars->spark_lifetime_initial_frames[i] - + wind_spark_fade_in_frames_gp); } { int spark_alpha = @@ -297,8 +301,8 @@ void update_wind_sparks(struct Moby *wind_control_moby) { absolute_float(pos[1] - l14_camera.pos.f[1]) < 8.0f && fast_difference_between_rotations(wind_control_moby->rot.z, l14_camera.yaw) > 2.3561945f) { - if (spark_vars->n320[i] > scale_game_frames(20)) { - spark_vars->n320[i] = scale_game_frames(20); + if (spark_vars->spark_lifetime_remaining_frames[i] > scale_game_frames(20)) { + spark_vars->spark_lifetime_remaining_frames[i] = scale_game_frames(20); } } } @@ -352,8 +356,8 @@ void draw_wind_sparks(struct Moby *m) { pk.uv[6] = 0.0f; pk.uv[7] = 0.0f; for (i = 0; i < 48; i++) { - if (d->n320[i] != 0) { - col = wind_spark_base_color_gp | (d->n3E0[i] << 24); + if (d->spark_lifetime_remaining_frames[i] != 0) { + col = wind_spark_base_color_gp | (d->spark_opacity[i] << 24); pk.col[3] = col; pk.col[2] = col; pk.col[1] = col; diff --git a/src/overlays/l14/path_key_camera.c b/src/overlays/l14/path_key_camera.c index 45be36c59a..e089319240 100644 --- a/src/overlays/l14/path_key_camera.c +++ b/src/overlays/l14/path_key_camera.c @@ -134,8 +134,8 @@ typedef struct { int first_linked_moby_index; int second_linked_moby_index; int third_linked_moby_index; - short n30; - short n32; + short linked_moby_event_stage; + short angle_override_stage; int side_zero_rail_spline_index; int p38; } CamRec5d48; @@ -188,13 +188,13 @@ typedef struct { float a8; float aC; float a10; - int n14; - float t18; - float t1C; - float t20; - float t24; - float t28; - float t2C; + int interpolation_stop_marker; + float side_zero_heading_override; + float side_one_heading_override; + float side_two_heading_override; + float side_zero_progress_threshold; + float side_one_progress_threshold; + float side_two_progress_threshold; } CamKey5d48; typedef struct { @@ -271,16 +271,18 @@ void update_path_key_camera(char *path_key_camera) { D_L14_001624C0 = (path_key_camera_rail_distances[side][hero.rail_segment] + hero.rail_seg_frac) / path_key_camera_rail_distances[side][999]; - if (rec->n32 < 2 && - path_key_camera_angle_override_progress_thresholds[rec->n32][side] <= D_L14_001624C0) { - rec->n32++; + if (rec->angle_override_stage < 2 && + path_key_camera_angle_override_progress_thresholds[rec->angle_override_stage][side] <= + D_L14_001624C0) { + rec->angle_override_stage++; } - if (rec->n32 == 1) { + if (rec->angle_override_stage == 1) { ((CamBones5d48 *)D_L14_0017AD80)->f274 = D_L14_001624B0 * 0.017453292f; ((CamBones5d48 *)D_L14_0017AD80)->f278 = D_L14_001624AC * 0.017453292f; } - if (rec->n30 < 3 && - path_key_camera_linked_moby_event_progress_thresholds[rec->n30][side] <= D_L14_001624C0) { + if (rec->linked_moby_event_stage < 3 && + path_key_camera_linked_moby_event_progress_thresholds[rec->linked_moby_event_stage][side] <= + D_L14_001624C0) { struct Moby *first_linked_moby = (struct Moby *)(D_L14_0015FFD8_5d48 + (rec->first_linked_moby_index << 8)); struct Moby *second_linked_moby = @@ -291,19 +293,19 @@ void update_path_key_camera(char *path_key_camera) { if (hero.rail_spline == (s32)l14_splines_macro[MOBYDATA_5d48(first_linked_moby)->zone].path) { first_linked_moby->command = 1; - if (rec->n30 > 0) { + if (rec->linked_moby_event_stage > 0) { { CamMobyData5d48 *d = MOBYDATA_5d48(second_linked_moby); second_linked_moby->command = 5; - if (rec->n30 == 2) { + if (rec->linked_moby_event_stage == 2) { CamMobyData5d48 *d2; d->timer = scale_game_frames(0x2D); third_linked_moby->command = 5; d2 = MOBYDATA_5d48(third_linked_moby); d2->timer = scale_game_frames(0x6E); - } else if (rec->n30 == 3) { + } else if (rec->linked_moby_event_stage == 3) { d->timer = scale_game_frames(0x2D); } else { d->timer = scale_game_frames(0x50); @@ -313,19 +315,19 @@ void update_path_key_camera(char *path_key_camera) { } else if (hero.rail_spline == (s32)l14_splines_macro[MOBYDATA_5d48(second_linked_moby)->zone].path) { second_linked_moby->command = 1; - if (rec->n30 > 0) { + if (rec->linked_moby_event_stage > 0) { if (random_integer_below(2)) { CamMobyData5d48 *d = MOBYDATA_5d48(first_linked_moby); first_linked_moby->command = 5; - if (rec->n30 == 2) { + if (rec->linked_moby_event_stage == 2) { CamMobyData5d48 *d2; d->timer = scale_game_frames(0x2D); third_linked_moby->command = 5; d2 = MOBYDATA_5d48(third_linked_moby); d2->timer = scale_game_frames(0x6E); - } else if (rec->n30 == 3) { + } else if (rec->linked_moby_event_stage == 3) { d->timer = scale_game_frames(0x2D); } else { d->timer = scale_game_frames(0x50); @@ -334,14 +336,14 @@ void update_path_key_camera(char *path_key_camera) { CamMobyData5d48 *d = MOBYDATA_5d48(third_linked_moby); third_linked_moby->command = 5; - if (rec->n30 == 2) { + if (rec->linked_moby_event_stage == 2) { CamMobyData5d48 *d2; d->timer = scale_game_frames(0x2D); first_linked_moby->command = 5; d2 = MOBYDATA_5d48(first_linked_moby); d2->timer = scale_game_frames(0x6E); - } else if (rec->n30 == 3) { + } else if (rec->linked_moby_event_stage == 3) { d->timer = scale_game_frames(0x2D); } else { d->timer = scale_game_frames(0x50); @@ -350,19 +352,19 @@ void update_path_key_camera(char *path_key_camera) { } } else { third_linked_moby->command = 1; - if (rec->n30 > 0) { + if (rec->linked_moby_event_stage > 0) { { CamMobyData5d48 *d = MOBYDATA_5d48(second_linked_moby); second_linked_moby->command = 5; - if (rec->n30 == 2) { + if (rec->linked_moby_event_stage == 2) { CamMobyData5d48 *d2; d->timer = scale_game_frames(0x2D); first_linked_moby->command = 5; d2 = MOBYDATA_5d48(first_linked_moby); d2->timer = scale_game_frames(0x6E); - } else if (rec->n30 == 3) { + } else if (rec->linked_moby_event_stage == 3) { d->timer = scale_game_frames(0x2D); } else { d->timer = scale_game_frames(0x50); @@ -370,20 +372,22 @@ void update_path_key_camera(char *path_key_camera) { } } } - rec->n30++; + rec->linked_moby_event_stage++; } /* Unused reads (not in rac1-decomp's SN build): with them the game compiler computes the key table's * high half and the next key index above the three side tests, as retail does. */ keys = D_L14_001F6488; next_camera_key_index = st->idx + 1; - if (side == 0 && D_L14_001F6488[st->idx + 1].t24 <= D_L14_001624C0) { + if (side == 0 && D_L14_001F6488[st->idx + 1].side_zero_progress_threshold <= D_L14_001624C0) { st->idx++; - } else if (side == 1 && D_L14_001F6488[st->idx + 1].t28 <= D_L14_001624C0) { + } else if (side == 1 && + D_L14_001F6488[st->idx + 1].side_one_progress_threshold <= D_L14_001624C0) { st->idx++; - } else if (side == 2 && D_L14_001F6488[st->idx + 1].t2C <= D_L14_001624C0) { + } else if (side == 2 && + D_L14_001F6488[st->idx + 1].side_two_progress_threshold <= D_L14_001624C0) { st->idx++; } - if (D_L14_001F6488[st->idx + 1].n14 == 0x2710) { + if (D_L14_001F6488[st->idx + 1].interpolation_stop_marker == 0x2710) { key_interpolation_fraction = 1.0f; st->idx--; } else { @@ -391,14 +395,17 @@ void update_path_key_camera(char *path_key_camera) { float den; if (side == 0) { - den = D_L14_001F6488[st->idx + 1].t24 - D_L14_001F6488[st->idx].t24; - num = D_L14_001624C0 - D_L14_001F6488[st->idx].t24; + den = D_L14_001F6488[st->idx + 1].side_zero_progress_threshold - + D_L14_001F6488[st->idx].side_zero_progress_threshold; + num = D_L14_001624C0 - D_L14_001F6488[st->idx].side_zero_progress_threshold; } else if (side == 1) { - den = D_L14_001F6488[st->idx + 1].t28 - D_L14_001F6488[st->idx].t28; - num = D_L14_001624C0 - D_L14_001F6488[st->idx].t28; + den = D_L14_001F6488[st->idx + 1].side_one_progress_threshold - + D_L14_001F6488[st->idx].side_one_progress_threshold; + num = D_L14_001624C0 - D_L14_001F6488[st->idx].side_one_progress_threshold; } else { - den = D_L14_001F6488[st->idx + 1].t2C - D_L14_001F6488[st->idx].t2C; - num = D_L14_001624C0 - D_L14_001F6488[st->idx].t2C; + den = D_L14_001F6488[st->idx + 1].side_two_progress_threshold - + D_L14_001F6488[st->idx].side_two_progress_threshold; + num = D_L14_001624C0 - D_L14_001F6488[st->idx].side_two_progress_threshold; } key_interpolation_fraction = num / den; } @@ -434,14 +441,14 @@ void update_path_key_camera(char *path_key_camera) { fast_add_rotations(fast_arc_tan(hero.moby->rot_row1.x, hero.moby->rot_row1.y), cur->f0); D_L14_001624BC = camera_placement_heading; if (side == 0) { - current_key_heading_override = D_L14_001F6488[st->idx].t18; - heading_blend_target = D_L14_001F6488[st->idx + 1].t18; + current_key_heading_override = D_L14_001F6488[st->idx].side_zero_heading_override; + heading_blend_target = D_L14_001F6488[st->idx + 1].side_zero_heading_override; } else if (side == 1) { - current_key_heading_override = D_L14_001F6488[st->idx].t1C; - heading_blend_target = D_L14_001F6488[st->idx + 1].t1C; + current_key_heading_override = D_L14_001F6488[st->idx].side_one_heading_override; + heading_blend_target = D_L14_001F6488[st->idx + 1].side_one_heading_override; } else { - current_key_heading_override = D_L14_001F6488[st->idx].t20; - heading_blend_target = D_L14_001F6488[st->idx + 1].t20; + current_key_heading_override = D_L14_001F6488[st->idx].side_two_heading_override; + heading_blend_target = D_L14_001F6488[st->idx + 1].side_two_heading_override; } if (heading_blend_target == 0.0f && current_key_heading_override == 0.0f) { heading_blend_target = (st->fC != 0.0f) ? st->fC : st->f8; diff --git a/src/overlays/l15/hero/update_hero_motion_for_current_state.c b/src/overlays/l15/hero/update_hero_motion_for_current_state.c index 7b504c9cb9..91be1a97a5 100644 --- a/src/overlays/l15/hero/update_hero_motion_for_current_state.c +++ b/src/overlays/l15/hero/update_hero_motion_for_current_state.c @@ -200,7 +200,7 @@ s32 process_hero_incoming_hit(s32 apply_hit_reaction) { T_210ce8 *incoming_hit_record; u8 *mob; s32 flag; - s32 id; + s32 hit_reaction_state; f32 horizontal_knockback_scale, vertical_knockback_scale, knockback_scale_factor; V_210ce8 knockback_vector; @@ -267,9 +267,9 @@ s32 process_hero_incoming_hit(s32 apply_hit_reaction) { case HERO_VEHICLE_MODE_ON_FOOT: mob = ((u8 *)hero.damage_source_moby); if (mob != 0 && (*(s16 *)(mob + 0xA6) == 0x4EB || *(s16 *)(mob + 0xA6) == 0x558)) { - id = 0x80; + hit_reaction_state = HERO_STATE_DYING_SPEED_LIMITED; call_ret: - hero_set_state(id, 1); + hero_set_state(hit_reaction_state, 1); return 1; } if (hero.state.control_mode == 0x16) { @@ -280,14 +280,14 @@ s32 process_hero_incoming_hit(s32 apply_hit_reaction) { if (hero.state.control_mode == HERO_MODE_WATER_SURFACE) { mob = ((u8 *)hero.damage_source_moby); if (mob != 0 && *(s16 *)(mob + 0xA6) == 0x28F) { - id = 0x82; + hit_reaction_state = HERO_STATE_DYING_ZERO_HEALTH; goto call_ret; } hero_set_state(0x75, 1); } else if (hero.state.control_mode == HERO_MODE_SWIM) { mob = ((u8 *)hero.damage_source_moby); if (mob != 0 && *(s16 *)(mob + 0xA6) == 0x28F) { - id = 0x82; + hit_reaction_state = HERO_STATE_DYING_ZERO_HEALTH; goto call_ret; } if (current_level_index == LEVEL_QUARTU || current_level_index == LEVEL_VELDIN_ORBIT) { @@ -301,7 +301,7 @@ s32 process_hero_incoming_hit(s32 apply_hit_reaction) { } else if (hero.state.control_mode == HERO_MODE_LEDGE) { mob = ((u8 *)hero.damage_source_moby); if (mob != 0) { - id = 0x82; + hit_reaction_state = HERO_STATE_DYING_ZERO_HEALTH; if (*(s16 *)(mob + 0xA6) == 0x28F) { goto call_ret; } diff --git a/src/overlays/l15/mobys/construction_arm.c b/src/overlays/l15/mobys/construction_arm.c index 61760d6fa2..09e7553603 100644 --- a/src/overlays/l15/mobys/construction_arm.c +++ b/src/overlays/l15/mobys/construction_arm.c @@ -78,12 +78,12 @@ void construction_arm_update(struct Moby *moby) { UpdateVars_2938 *arm_vars = (UpdateVars_2938 *)moby->pvars; int hit = 0; char *slot; - int ready, count; + int ready, nonwaiting_arm_count; unsigned short *list; struct Moby *group_member_moby; float minimum, maximum, speed, spread, direction; int animation, duration, minimum_effect_duration_frames; - Vec4 origin, velocity, offset, sum; + Vec4 origin, velocity, velocity_spread, sum; if (moby->state != CONSTRUCTION_ARM_DESTROY) { slot = find_moby_hit(moby, 0x10000, 0); @@ -111,7 +111,7 @@ void construction_arm_update(struct Moby *moby) { ready = 1; if (moby->group != 0xff) { slot = (char *)l15_moby_group_member_lists[moby->group]; - count = 0; + nonwaiting_arm_count = 0; if (slot == 0) return; list = (unsigned short *)slot; @@ -121,9 +121,9 @@ void construction_arm_update(struct Moby *moby) { if ((signed char)group_member_moby->state >= 0 && group_member_moby->oclass == moby->oclass && group_member_moby->state != CONSTRUCTION_ARM_WAIT_TO_TURN) - count++; + nonwaiting_arm_count++; } while ((short)*list++ >= 0); - if (count != 0) { + if (nonwaiting_arm_count != 0) { arm_vars->timer = scale_game_frames(60); ready = 0; } @@ -171,11 +171,11 @@ void construction_arm_update(struct Moby *moby) { velocity.f[0] = fast_cos(arm_vars->direction) * speed; velocity.f[1] = fast_sin(arm_vars->direction) * speed; velocity.f[2] = 0.0f; - offset.f[0] = fast_cos(direction) * spread; - offset.f[1] = fast_sin(direction) * spread; - offset.f[2] = 0.0f; + velocity_spread.f[0] = fast_cos(direction) * spread; + velocity_spread.f[1] = fast_sin(direction) * spread; + velocity_spread.f[2] = 0.0f; /* Retail computes the sum but passes velocity to the effect helper. */ - add_vectors(&sum, &velocity, &offset); + add_vectors(&sum, &velocity, &velocity_spread); moby_point_position(moby, 1, &origin); minimum_effect_duration_frames = scale_game_frames(construction_arm_effect_duration_min_frames_gp); diff --git a/src/overlays/l15/mobys/exploding_prop.c b/src/overlays/l15/mobys/exploding_prop.c index ea545603bd..73e38d2e32 100644 --- a/src/overlays/l15/mobys/exploding_prop.c +++ b/src/overlays/l15/mobys/exploding_prop.c @@ -73,7 +73,7 @@ void exploding_prop_update(struct Moby *moby) { EXPLODING_PROP_STATE_INITIALIZED = 1 }; char *hit = 0; - Vec4 velocity, hit_direction, push, offset, center; + Vec4 velocity, hit_direction, push, effect_spawn_position, center; u32 palette[4]; u32 colors[4]; Vec4 delta; @@ -112,15 +112,15 @@ void exploding_prop_update(struct Moby *moby) { angle = random_float_between(moby->rot.z, 1.5707963267948966f); radius = fast_cos(angle); radius *= random_float_between(-3.0f, 3.0f); - offset.f[0] = radius; + effect_spawn_position.f[0] = radius; angle = random_float_between(moby->rot.z, 1.5707963267948966f); radius = fast_sin(angle); radius *= random_float_between(-3.0f, 3.0f); - offset.f[1] = radius; - offset.f[2] = 0.0f; - offset.f[2] = random_float_between(1.0f, 7.0f); - add_vectors(colors, &offset, &moby->pos); - fast_vec_sub(colors, ¢er, &offset); + effect_spawn_position.f[1] = radius; + effect_spawn_position.f[2] = 0.0f; + effect_spawn_position.f[2] = random_float_between(1.0f, 7.0f); + add_vectors(colors, &effect_spawn_position, &moby->pos); + fast_vec_sub(colors, ¢er, &effect_spawn_position); velocity.q = *(u128 *)colors; fast_vec_normalize(&velocity, &velocity, frame_time * 5.0f); add_vectors(colors, &velocity, &push); @@ -132,7 +132,8 @@ void exploding_prop_update(struct Moby *moby) { radius = random_float_between(0.1f, 0.3f); life = random_int_between(100, 160); size = random_float_between(3.0f, 7.0f); - spawn_debris_chunk(&offset, &velocity, *color, radius, life, size, 0.15f, 2.0f, 1); + spawn_debris_chunk( + &effect_spawn_position, &velocity, *color, radius, life, size, 0.15f, 2.0f, 1); } clear_u64_value(&velocity); spawn_explosion(moby, @@ -161,15 +162,15 @@ void exploding_prop_update(struct Moby *moby) { angle = random_float_between(moby->rot.z, 1.5707963267948966f); radius = fast_cos(angle); radius *= random_float_between(-3.0f, 3.0f); - offset.f[0] = radius; + effect_spawn_position.f[0] = radius; angle = random_float_between(moby->rot.z, 1.5707963267948966f); radius = fast_sin(angle); radius *= random_float_between(-3.0f, 3.0f); - offset.f[1] = radius; - offset.f[2] = 0.0f; - fast_vec_add(&offset, &offset, &moby->pos); - offset.f[2] += random_float_between(1.0f, 5.5f); - fast_vec_sub(&delta, ¢er, &offset); + effect_spawn_position.f[1] = radius; + effect_spawn_position.f[2] = 0.0f; + fast_vec_add(&effect_spawn_position, &effect_spawn_position, &moby->pos); + effect_spawn_position.f[2] += random_float_between(1.0f, 5.5f); + fast_vec_sub(&delta, ¢er, &effect_spawn_position); velocity.q = delta.q; fast_vec_normalize(&velocity, &velocity, frame_time * 5.0f); add_vectors(&delta, &velocity, &hit_direction); @@ -182,7 +183,8 @@ void exploding_prop_update(struct Moby *moby) { size = random_float_between(1.0f, 3.0f) * 210000.0f; life = scale_game_frames(180); pick = random_integer_below(3); - debris = mine_debris(&offset, &velocity, color1, color2, size, life, colors[pick]); + debris = mine_debris( + &effect_spawn_position, &velocity, color1, color2, size, life, colors[pick]); if (debris != 0) *(float *)((char *)debris + 0x2c) = moby->pos.z - 0.5f; } diff --git a/src/overlays/l15/mobys/helicopter.c b/src/overlays/l15/mobys/helicopter.c index 6c8137f150..17d7deb98f 100644 --- a/src/overlays/l15/mobys/helicopter.c +++ b/src/overlays/l15/mobys/helicopter.c @@ -100,7 +100,7 @@ int move_moby_with_sphere_collision(struct Moby *moving_moby, int move_moby_with_sphere_collision( - struct Moby *moving_moby, u128 *delta, int flags, float step, float radius) { + struct Moby *moving_moby, u128 *delta, int collision_query_flags, float step, float radius) { Vec4 start; Vec4 probe; int pushed = 0; @@ -111,7 +111,7 @@ int move_moby_with_sphere_collision( fast_vec_add(&moving_moby->pos, &moving_moby->pos, delta); i = 0; do { - mask = (flags << 1) & 0x20; + mask = (collision_query_flags << 1) & 0x20; qcopy(&probe, &moving_moby->pos); probe.f[2] += step; if (coll_sphere(&probe, radius, mask | 4, moving_moby) == 0) { diff --git a/src/overlays/l15/mobys/radial_exploding_prop.c b/src/overlays/l15/mobys/radial_exploding_prop.c index a1c0c28a49..5c7e039aac 100644 --- a/src/overlays/l15/mobys/radial_exploding_prop.c +++ b/src/overlays/l15/mobys/radial_exploding_prop.c @@ -76,7 +76,8 @@ void radial_exploding_prop_update(struct Moby *moby) { RADIAL_EXPLODING_PROP_STATE_INITIALIZED = 1 }; char *slot = 0; - Vec velocity, hit_direction_step, doubled_hit_direction_step, offset, debris_origin; + Vec velocity, hit_direction_step, doubled_hit_direction_step, debris_spawn_position, + debris_origin; u32 palette[4]; u32 colors[4]; Vec position; @@ -123,12 +124,12 @@ void radial_exploding_prop_update(struct Moby *moby) { angle = random_angle_radians(); if (moby->oclass == 0x94) radius *= 3.0f; - offset.f[0] = fast_cos(angle) * radius; - offset.f[1] = fast_sin(angle) * radius; - offset.f[2] = 0.0f; - offset.f[2] = random_float_between(1.0f, 7.0f); - add_vectors(colors, &offset, &moby->pos); - fast_vec_sub(colors, base_position, &offset); + debris_spawn_position.f[0] = fast_cos(angle) * radius; + debris_spawn_position.f[1] = fast_sin(angle) * radius; + debris_spawn_position.f[2] = 0.0f; + debris_spawn_position.f[2] = random_float_between(1.0f, 7.0f); + add_vectors(colors, &debris_spawn_position, &moby->pos); + fast_vec_sub(colors, base_position, &debris_spawn_position); velocity.q = *(u128 *)colors; normalize_vector_xyz_7880(frame_time * 5.0f, &velocity, &velocity); add_vectors(colors, &velocity, &doubled_hit_direction_step); @@ -140,16 +141,23 @@ void radial_exploding_prop_update(struct Moby *moby) { radius = random_float_between(0.1f, 0.3f); duration = random_int_between(60, 100); size = random_float_between(3.0f, 7.0f); - spawn_debris_chunk( - &offset, &velocity, *palette_entry, radius, duration, size, 0.15f, 2.0f, 1); + spawn_debris_chunk(&debris_spawn_position, + &velocity, + *palette_entry, + radius, + duration, + size, + 0.15f, + 2.0f, + 1); i--; } while (i >= 0); } if (moby->oclass == 0x94) { - offset.q = *(u128 *)&moby->pos; - offset.f[2] += 10.0f; + debris_spawn_position.q = *(u128 *)&moby->pos; + debris_spawn_position.f[2] += 10.0f; radius = 1.0f; - fast_vec_sub(colors, base_position, &offset); + fast_vec_sub(colors, base_position, &debris_spawn_position); velocity.q = *(u128 *)colors; normalize_vector_xyz_7880(frame_time * 5.0f, &velocity, &velocity); add_vectors(colors, &velocity, &doubled_hit_direction_step); @@ -157,8 +165,8 @@ void radial_exploding_prop_update(struct Moby *moby) { size = random_float_between(0.75f, 1.25f); scale_vector_xyz_7880(size, &velocity, &velocity); duration = random_int_between(60, 100); - effect = - spawn_debris_chunk(&offset, &velocity, 0xc9, radius, duration, 5.0f, radius, 2.0f, 1); + effect = spawn_debris_chunk( + &debris_spawn_position, &velocity, 0xc9, radius, duration, 5.0f, radius, 2.0f, 1); if (effect != 0) scale_vector_xyz_7880(0.35f, (char *)effect + 0x40, (char *)effect + 0x40); } @@ -191,12 +199,12 @@ void radial_exploding_prop_update(struct Moby *moby) { angle = random_angle_radians(); if (moby->oclass == 0x94) radius *= 3.0f; - offset.f[0] = fast_cos(angle) * radius; - offset.f[1] = fast_sin(angle) * radius; - offset.f[2] = 0.0f; - fast_vec_add(&offset, &offset, &moby->pos); - offset.f[2] += random_float_between(1.0f, 5.5f); - fast_vec_sub(&position, base_position, &offset); + debris_spawn_position.f[0] = fast_cos(angle) * radius; + debris_spawn_position.f[1] = fast_sin(angle) * radius; + debris_spawn_position.f[2] = 0.0f; + fast_vec_add(&debris_spawn_position, &debris_spawn_position, &moby->pos); + debris_spawn_position.f[2] += random_float_between(1.0f, 5.5f); + fast_vec_sub(&position, base_position, &debris_spawn_position); velocity.q = position.q; normalize_vector_xyz_7880(frame_time * 5.0f, &velocity, &velocity); add_vectors(&position, &velocity, &hit_direction_step); @@ -209,7 +217,8 @@ void radial_exploding_prop_update(struct Moby *moby) { size = random_float_between(1.0f, 3.0f) * 210000.0f; duration = scale_game_frames(180); index = random_integer_below(3); - effect = mine_debris(&offset, &velocity, color, color2, size, duration, colors[index]); + effect = mine_debris( + &debris_spawn_position, &velocity, color, color2, size, duration, colors[index]); if (effect != 0) *(float *)((char *)effect + 0x2c) = moby->pos.z - 0.5f; i--; diff --git a/src/overlays/l15/mobys/sliding_gate.c b/src/overlays/l15/mobys/sliding_gate.c index fa06957fea..d6d8ab0c2e 100644 --- a/src/overlays/l15/mobys/sliding_gate.c +++ b/src/overlays/l15/mobys/sliding_gate.c @@ -51,7 +51,7 @@ void sliding_gate_update(struct Moby *gate_moby) { GATE_OPEN_LATCHED = 5 }; MovingVars *gate_vars = (MovingVars *)gate_moby->pvars; - Vec4 offset; + Vec4 home_offset; Vec4 pos; s32 slot; VoiceSlot_29aff0 *voice_slot; @@ -122,10 +122,10 @@ void sliding_gate_update(struct Moby *gate_moby) { gate_moby->state = GATE_OPEN; } } - offset.f[0] = fast_cos(gate_moby->rot.z) * -gate_vars->travel; - offset.f[1] = fast_sin(gate_moby->rot.z) * -gate_vars->travel; - offset.f[2] = 0.0f; - fast_vec_add(&pos, &gate_vars->home, &offset); + home_offset.f[0] = fast_cos(gate_moby->rot.z) * -gate_vars->travel; + home_offset.f[1] = fast_sin(gate_moby->rot.z) * -gate_vars->travel; + home_offset.f[2] = 0.0f; + fast_vec_add(&pos, &gate_vars->home, &home_offset); *(u128 *)&gate_moby->pos = pos.q; return; case GATE_OPEN: @@ -150,10 +150,10 @@ void sliding_gate_update(struct Moby *gate_moby) { gate_vars->sound = -1; gate_moby->state = GATE_WAIT_TO_OPEN; } - offset.f[0] = fast_cos(gate_moby->rot.z) * -gate_vars->travel; - offset.f[1] = fast_sin(gate_moby->rot.z) * -gate_vars->travel; - offset.f[2] = 0.0f; - fast_vec_add(&pos, &gate_vars->home, &offset); + home_offset.f[0] = fast_cos(gate_moby->rot.z) * -gate_vars->travel; + home_offset.f[1] = fast_sin(gate_moby->rot.z) * -gate_vars->travel; + home_offset.f[2] = 0.0f; + fast_vec_add(&pos, &gate_vars->home, &home_offset); *(u128 *)&gate_moby->pos = pos.q; if (is_point_inside_clip_volume(D_0013F3D0, gate_vars->open_volume) || is_point_inside_clip_volume(D_L15_001673C0, gate_vars->open_volume)) diff --git a/src/overlays/l15/mobys/ultramech_unlimited.c b/src/overlays/l15/mobys/ultramech_unlimited.c index 6dfe4d7fcb..1483ae3546 100644 --- a/src/overlays/l15/mobys/ultramech_unlimited.c +++ b/src/overlays/l15/mobys/ultramech_unlimited.c @@ -1000,6 +1000,10 @@ void process_ultramech_hits_and_update_target(void *ultramech_instance) { enum { HIT_CLASSIFICATION_NO_DAMAGE = 1 }; + enum { + ULTRAMECH_TARGET_NOT_OUTSIDE_SEARCH_RANGE = 0, + ULTRAMECH_TARGET_OUTSIDE_SEARCH_RANGE = 2 + }; UMoby *ultramech_moby = ultramech_instance; UData *ultramech_vars = ultramech_moby->data; char *slot = 0; @@ -1135,7 +1139,7 @@ void process_ultramech_hits_and_update_target(void *ultramech_instance) { update_hit_color_flash(ultramech_moby, (char *)ultramech_vars + 0x60); *(float *)((char *)ultramech_moby + 0x2C) = *(float *)(ultramech_moby->cls + 0x24) * ultramech_post_hit_scale_multiplier_gp; - ultramech_vars->target_range_status = 0; + ultramech_vars->target_range_status = ULTRAMECH_TARGET_NOT_OUTSIDE_SEARCH_RANGE; if (ultramech_moby->state != ULTRAMECH_WAIT_FOR_ACTIVATION) { if (ultramech_vars->target_constraint_path_index != -1) goto follow_path; @@ -1163,7 +1167,7 @@ follow_path: { check_path: if (ultramech_vars->current_target_search_range < fast_vec_dist(&ultramech_moby->pos, (char *)ultramech_vars + 0x120)) - ultramech_vars->target_range_status = 2; + ultramech_vars->target_range_status = ULTRAMECH_TARGET_OUTSIDE_SEARCH_RANGE; if (ultramech_vars->target == 0) ultramech_vars->target = (UMoby *)D_001413D0; } diff --git a/src/overlays/l16/hero/apply_hero_ground_material_effects.c b/src/overlays/l16/hero/apply_hero_ground_material_effects.c index fceb8ce17c..549b602c39 100644 --- a/src/overlays/l16/hero/apply_hero_ground_material_effects.c +++ b/src/overlays/l16/hero/apply_hero_ground_material_effects.c @@ -407,7 +407,7 @@ extern s32 FUN_L00_001f3170(void *, f32); extern u128_2133a8 D_L16_00174270[] NOT_SDA; s32 resolve_hero_position_collisions(s32 mode) __asm__("FUN_L16_00210b60"); -s32 resolve_hero_position_collisions(s32 mode) { +s32 resolve_hero_position_collisions(s32 correction_limit_mode) { V_2133a8 pre_collision_position; V_2133a8 collision_position_offset; V_2133a8 resolved_position_delta; @@ -484,7 +484,7 @@ s32 resolve_hero_position_collisions(s32 mode) { fast_vec_sub(&resolved_position_delta, &hero.motion.pos.q, &pre_collision_position); collision_extent_or_displacement_length = fast_vec_length(&resolved_position_delta); if (hero.capsule_radius * 1.5f < collision_extent_or_displacement_length) { - if (mode == 0xF) { + if (correction_limit_mode == 0xF) { if (512.0f < resolved_position_delta.f[0]) resolved_position_delta.f[0] = 512.0f; else if (resolved_position_delta.f[0] < -512.0f) diff --git a/src/overlays/l16/mobys/chomper.c b/src/overlays/l16/mobys/chomper.c index 9ba30d2eec..2e0428a741 100644 --- a/src/overlays/l16/mobys/chomper.c +++ b/src/overlays/l16/mobys/chomper.c @@ -104,6 +104,9 @@ typedef struct ChomperVars { /* Moby class 1445 */ void chomper_update(struct Moby *chomper_moby) { + enum { + CHOMPER_TARGET_SELECTION_REJECTED = 2 + }; ChomperVars *chomper_data = (ChomperVars *)chomper_moby->pvars; update_chomper_hit_reaction_and_target(chomper_moby); FUN_L00_00263ac8(2.1f, (int)chomper_moby, 1, &chomper_data->big_head_manipulator); @@ -131,7 +134,7 @@ void chomper_update(struct Moby *chomper_moby) { chomper_data->look_height = truncate_float_to_s32(3.2f); break; case CHOMPER_WAIT_TO_APPROACH_TARGET: - if (chomper_data->pursuit_target_selection_status != 2) { + if (chomper_data->pursuit_target_selection_status != CHOMPER_TARGET_SELECTION_REJECTED) { chomper_moby->state = CHOMPER_APPROACH_TARGET; if (chomper_moby->prev_seq != 0) blend_moby_animation(chomper_moby, 0, 0, scale_game_frames(20)); @@ -145,7 +148,8 @@ void chomper_update(struct Moby *chomper_moby) { chomper_moby->state = CHOMPER_FACE_TARGET; if (chomper_moby->prev_seq != 1) blend_moby_animation(chomper_moby, 1, 0, scale_game_frames(20)); - } else if (chomper_data->pursuit_target_selection_status == 2) + } else if (chomper_data->pursuit_target_selection_status == + CHOMPER_TARGET_SELECTION_REJECTED) chomper_moby->state = CHOMPER_RETURN_HOME; break; case CHOMPER_FACE_TARGET: { @@ -173,7 +177,8 @@ void chomper_update(struct Moby *chomper_moby) { chomper_moby->state = CHOMPER_WAIT_TO_APPROACH_TARGET; if (chomper_moby->prev_seq != 2) blend_moby_animation(chomper_moby, 2, 0, scale_game_frames(20)); - } else if (chomper_data->pursuit_target_selection_status != 2) + } else if (chomper_data->pursuit_target_selection_status != + CHOMPER_TARGET_SELECTION_REJECTED) chomper_moby->state = CHOMPER_APPROACH_TARGET; break; case 7: diff --git a/src/overlays/l16/mobys/clip_volume_dialogue_trigger.c b/src/overlays/l16/mobys/clip_volume_dialogue_trigger.c index 3c15d5bdd3..4f0882cce9 100644 --- a/src/overlays/l16/mobys/clip_volume_dialogue_trigger.c +++ b/src/overlays/l16/mobys/clip_volume_dialogue_trigger.c @@ -62,9 +62,9 @@ void clip_volume_dialogue_trigger_update(struct Moby *moby) { *(int *)(trigger_data + 8) = 0; } else if (is_point_inside_clip_volume(&player->motion.pos, *(int *)(trigger_data + 4)) != 0) { - unsigned char *flags = (unsigned char *)item_unlocked; - if (flags[0x19] == 0) { - flags[0x19] = 1; + unsigned char *item_unlock_flags = (unsigned char *)item_unlocked; + if (item_unlock_flags[0x19] == 0) { + item_unlock_flags[0x19] = 1; allocate_voice_for_bank_entry(1, 0, 0); queue_dialogue_message(0x53D6, -1); } diff --git a/src/overlays/l16/mobys/conveyor_belt.c b/src/overlays/l16/mobys/conveyor_belt.c index f925d1a22e..69b4c02a41 100644 --- a/src/overlays/l16/mobys/conveyor_belt.c +++ b/src/overlays/l16/mobys/conveyor_belt.c @@ -207,7 +207,7 @@ void draw_conveyor_belt_strips(struct Moby *moby) { L16RibbonPacket_u packets[2]; ConveyorBeltVars *conveyor_data = (ConveyorBeltVars *)moby->pvars; float scale = fast_vec_length(D_L16_001600EC_m + ((conveyor_data->belt_cuboid) << 7)) * 2.001f; - int count = truncate_float_to_s32(scale); + int interior_strip_count = truncate_float_to_s32(scale); float step = 2.0f / scale; int period, tint, color, limit, j; float phase; @@ -220,7 +220,7 @@ void draw_conveyor_belt_strips(struct Moby *moby) { modebits = 0x8000000000L; period = scale_game_frames(120); flags = 0xFF9000000260L; - limit = count + 2; + limit = interior_strip_count + 2; phase = convert_integer_to_float(D_L16_0015F5CC % period); phase = phase / convert_integer_to_float(period); phase = fast_sin(phase * 6.28318f - 3.14159f) * 0.5f + 0.5f; @@ -268,7 +268,7 @@ void draw_conveyor_belt_strips(struct Moby *moby) { packets[0].color[0] = 0; packets[1].color[1] = 0; packets[1].color[0] = 0; - } else if (strip == count + 1) { + } else if (strip == interior_strip_count + 1) { packets[0].color[3] = 0; packets[0].color[2] = 0; packets[1].color[3] = 0; diff --git a/src/overlays/l16/mobys/gadgetron_ceo.c b/src/overlays/l16/mobys/gadgetron_ceo.c index 3df5d67ad7..03ea8c8ed4 100644 --- a/src/overlays/l16/mobys/gadgetron_ceo.c +++ b/src/overlays/l16/mobys/gadgetron_ceo.c @@ -270,9 +270,9 @@ void gadgetron_ceo_update(L16ChallengeMoby *ceo_moby) { L16ChallengePlayer *player = (L16ChallengePlayer *)((char *)&D_0013E633_challenge + 0xE1D); unsigned char event; if (player->points >= 4500) { - unsigned char *flags = D_0013D408; - if (!flags[0x1A]) { - flags[0x1A] = 1; + unsigned char *challenge_score_announcement_flags = D_0013D408; + if (!challenge_score_announcement_flags[0x1A]) { + challenge_score_announcement_flags[0x1A] = 1; allocate_voice_for_bank_entry(1, 0, 0); FUN_L00_00263d40(0x53D6, -1); } diff --git a/src/overlays/l16/mobys/gadgetron_sign.c b/src/overlays/l16/mobys/gadgetron_sign.c index f53acfcf6d..6495858d50 100644 --- a/src/overlays/l16/mobys/gadgetron_sign.c +++ b/src/overlays/l16/mobys/gadgetron_sign.c @@ -50,14 +50,14 @@ void gadgetron_sign_update(struct Moby *moby) { }; switch (moby->state) { case GADGETRON_SIGN_INITIALIZE: { - float size = moby->scale * 4.0f; + float initialized_scale = moby->scale * 4.0f; int ff = 0xFF; int twohundred = 0x200; moby->state = GADGETRON_SIGN_ROTATE; moby->update_dist = ff; moby->draw_dist = twohundred; moby->pos.z = 160.0f; - moby->scale = size; + moby->scale = initialized_scale; } break; case GADGETRON_SIGN_ROTATE: moby->rot.z = fast_add_rotations(moby->rot.z, frame_time * -0.2617993950843811f); diff --git a/src/overlays/l16/mobys/help_desk_lady.c b/src/overlays/l16/mobys/help_desk_lady.c index a140c7017a..f75d10aaf2 100644 --- a/src/overlays/l16/mobys/help_desk_lady.c +++ b/src/overlays/l16/mobys/help_desk_lady.c @@ -120,7 +120,7 @@ void help_desk_lady_update(L16WatchMoby *moby) { }; L16WatchScratch gaze_vectors; L16WatchData *watch_data = moby->data; - L16WatchFlags *flags; + L16WatchFlags *help_desk_progress_flags; float rate; float head_rate; int tracking; @@ -158,10 +158,10 @@ void help_desk_lady_update(L16WatchMoby *moby) { } break; } - flags = (L16WatchFlags *)((char *)&D_0013D355_watch + 0x13B); - if (!flags->entered && + help_desk_progress_flags = (L16WatchFlags *)((char *)&D_0013D355_watch + 0x13B); + if (!help_desk_progress_flags->entered && is_point_inside_clip_volume((char *)&D_0013E533 + 0xE9D, watch_data->entry_region)) - flags->entered = 1; + help_desk_progress_flags->entered = 1; if (!((L16WatchFlags *)((char *)&D_0013D355_watch + 0x13B))->mission && hero.state.control_mode == HERO_MODE_GRIND) ((L16WatchFlags *)((char *)&D_0013D355_watch + 0x13B))->mission = 1; diff --git a/src/overlays/l16/mobys/path_walker.c b/src/overlays/l16/mobys/path_walker.c index d4166affa2..0c66190690 100644 --- a/src/overlays/l16/mobys/path_walker.c +++ b/src/overlays/l16/mobys/path_walker.c @@ -212,10 +212,11 @@ extern float path_walker_particle_target_scalar_scale_gp __asm__("D_L16_00161EA8 void emit_path_walker_particle(unsigned char *source_moby, void *previous_position) { float input[4]; - float offset[4]; + float particle_position[4]; float movement_velocity[4]; float velocity[4]; - float random_offset_angle, second_random_offset_angle, size, movement_distance, final_size; + float random_offset_angle, second_random_offset_angle, random_velocity_magnitude, + movement_distance, final_size; *(OvlQuad *)input = *(OvlQuad *)previous_position; if ((unsigned char)source_moby[0x31] == 0) return; @@ -227,17 +228,18 @@ void emit_path_walker_particle(unsigned char *source_moby, void *previous_positi fast_vec_scale(movement_velocity, source_moby + 0xC0, path_walker_particle_movement_velocity_scale_gp * movement_distance); - size = path_walker_particle_random_velocity_scale_gp; - size *= frame_time; - fast_vec_normalize(offset, source_moby + 0xC0, -0.5f); - fast_vec_add(offset, offset, source_moby + 0x10); + random_velocity_magnitude = path_walker_particle_random_velocity_scale_gp; + random_velocity_magnitude *= frame_time; + fast_vec_normalize(particle_position, source_moby + 0xC0, -0.5f); + fast_vec_add(particle_position, particle_position, source_moby + 0x10); random_offset_angle = random_angle_radians(); second_random_offset_angle = random_angle_radians(); - build_spherical_offset(velocity, size, random_offset_angle, second_random_offset_angle); + build_spherical_offset( + velocity, random_velocity_magnitude, random_offset_angle, second_random_offset_angle); fast_vec_add(velocity, velocity, movement_velocity); final_size = path_walker_particle_target_scalar_scale_gp; final_size *= 210000.0f; - func_L00_0026DD70_emit(offset, + func_L00_0026DD70_emit(particle_position, velocity, l16_path_walker_particle_initial_color, D_L16_00161E9C, @@ -288,7 +290,7 @@ void initialize_path_walker_group(struct Moby *moby) { for (i = 0; i < count; i++) { unsigned char *current; L16WalkerData *selected_walker_data; - unsigned short flags; + unsigned short draw_distance; if (i == count - 1) { /* the last one takes the slot the loop index is on */ @@ -306,11 +308,11 @@ void initialize_path_walker_group(struct Moby *moby) { selected = (selected + 1) % (count - 1); } } - flags = path_walker_draw_distance_gp; + draw_distance = path_walker_draw_distance_gp; current[0x30] = 255; *(float *)(current + 0x2C) *= path_walker_initial_scale_multiplier; *(int *)(current + 0x94) = 0; - *(unsigned short *)(current + 0x32) = flags; + *(unsigned short *)(current + 0x32) = draw_distance; selected_walker_data = *(L16WalkerData **)(current + 0x78); selected_walker_data->parameter = (float)rank * (period / convert_integer_to_float(count)); selected_walker_data->owner = previous; diff --git a/src/overlays/l16/mobys/taxi.c b/src/overlays/l16/mobys/taxi.c index aff03c24a1..c6ba1778ec 100644 --- a/src/overlays/l16/mobys/taxi.c +++ b/src/overlays/l16/mobys/taxi.c @@ -364,7 +364,7 @@ extern char *D_L16_0015FFD8_gp __asm__("D_L16_0015FFD8") __attribute__((sda)); char *find_group_moby_by_data_id(struct Moby *group_source_moby, int id) __asm__("FUN_L16_002e4be0"); -char *find_group_moby_by_data_id(struct Moby *group_source_moby, int id) { +char *find_group_moby_by_data_id(struct Moby *group_source_moby, int requested_data_id) { unsigned short *moby_index_entry = D_L16_001ABCC0_4be0[group_source_moby->group]; char *pool; int moby_pool_index; @@ -372,7 +372,7 @@ char *find_group_moby_by_data_id(struct Moby *group_source_moby, int id) { pool = D_L16_0015FFD8_gp; do { moby_pool_index = *moby_index_entry & 0x7FFF; - if (*(short *)(((M_4be0 *)pool)[moby_pool_index].data + 0xAC) == id) { + if (*(short *)(((M_4be0 *)pool)[moby_pool_index].data + 0xAC) == requested_data_id) { goto found; } } while ((short)*moby_index_entry++ >= 0); diff --git a/src/overlays/l16/mobys/test_dummy.c b/src/overlays/l16/mobys/test_dummy.c index 19439e681e..dd289a909b 100644 --- a/src/overlays/l16/mobys/test_dummy.c +++ b/src/overlays/l16/mobys/test_dummy.c @@ -75,7 +75,7 @@ typedef struct { int kind; int path; int lives; - int iCC; + int door_moby_group_index; int aim[2]; int sound_path; int node; @@ -150,6 +150,9 @@ void test_dummy_update(unsigned char *moby) { enum { TEST_DUMMY_TARGET_MODE_NO_MOBY_TARGET = 2 }; + enum { + TEST_DUMMY_RESPAWN_REQUEST_ACKNOWLEDGED = 1 + }; L16QuadVector position_or_delta, position_or_direction, launch_velocity; L16HitDescriptor fx; L16DummyData *dummy_data = ((L16DummyData *)MOBY(moby)->pvars); @@ -163,7 +166,7 @@ void test_dummy_update(unsigned char *moby) { FUN_L00_00263ac8(2.5f, (int)moby, 2, (unsigned char *)dummy_data->block140); switch (moby[0x20]) { case TEST_DUMMY_STATE_INITIALIZE: /* set up: lives, home position, the held child for the variant */ - dummy_data->respawn_request_state = 1; + dummy_data->respawn_request_state = TEST_DUMMY_RESPAWN_REQUEST_ACKNOWLEDGED; if (dummy_data->lives > 0) { MOBY(moby)->bolts /= dummy_data->lives; } @@ -177,7 +180,8 @@ void test_dummy_update(unsigned char *moby) { dummy_data->max_health = 2; dummy_data->health = 2.0f; dummy_data->glow_pulse_phase = random_angle_radians(); - dummy_data->route = find_nearest_test_dummy_door(dummy_data->iCC, moby + 0x10); + dummy_data->route = + find_nearest_test_dummy_door(dummy_data->door_moby_group_index, moby + 0x10); qcopy(dummy_data->spawn, moby + 0x10); switch (dummy_data->kind) { case TEST_DUMMY_KIND_THROWER: @@ -539,7 +543,7 @@ void update_test_dummy_damage_and_respawn(void *moby) { }; L16HitMoby *hit_moby = moby; float matrix[16]; - int status; + int hit_reaction_status; float amount; L16HitData *hit_data; char *dummy_hit_record; @@ -572,9 +576,10 @@ void update_test_dummy_damage_and_respawn(void *moby) { } amount = 0.0f; dummy_hit_record = find_moby_hit(hit_moby, 0x330000, 0); - hit_reaction(hit_moby, dummy_hit_record, &hit_data->health, 0, &status, &amount, 0, 4); - if (status != HIT_REACTION_STATUS_NO_DAMAGE && hit_moby->state != TEST_DUMMY_STATE_BURST && - hit_moby->state != TEST_DUMMY_STATE_RESPAWN) { + hit_reaction( + hit_moby, dummy_hit_record, &hit_data->health, 0, &hit_reaction_status, &amount, 0, 4); + if (hit_reaction_status != HIT_REACTION_STATUS_NO_DAMAGE && + hit_moby->state != TEST_DUMMY_STATE_BURST && hit_moby->state != TEST_DUMMY_STATE_RESPAWN) { hit_data->health -= amount; if (hit_data->health <= 0.0f) { hit_moby->state = TEST_DUMMY_STATE_BURST; diff --git a/src/overlays/l16/mobys/test_dummy_on_hoverboard.c b/src/overlays/l16/mobys/test_dummy_on_hoverboard.c index 55b6d2c6fc..4e228b124d 100644 --- a/src/overlays/l16/mobys/test_dummy_on_hoverboard.c +++ b/src/overlays/l16/mobys/test_dummy_on_hoverboard.c @@ -571,7 +571,8 @@ void test_dummy_on_hoverboard_update(unsigned char *moby) { expression table, and that size orders the stack slots of the cached addresses (sp+0x90..0xC4): with the literal at both calls every one of those slots is rotated by three. */ int mask = 0x30000; - float distance, duration, target, z, gap, speed, angle, scale, rate, limit, offset, slow; + float distance, duration, target, z, gap, speed, angle, scale, rate, limit, + competitor_speed_offset, slow; /* No pointer locals: every address is written where it is used. The compiler caches them itself (d + 0x1E0 from here on, the others at the top of the active state). */ @@ -594,9 +595,10 @@ void test_dummy_on_hoverboard_update(unsigned char *moby) { *(float *)(path + 0x24) - *(float *)(path + 0x14)); hoverboard_dummy_data->unk2B = 1; time = D_0015ED6C; - offset = (float)hoverboard_dummy_data->race_competitor_index * (time * 1.55f); - hoverboard_dummy_data->normal_speed_target = time * 17.0f + offset; - hoverboard_dummy_data->boost_speed_target = time * 24.0f + offset; + competitor_speed_offset = + (float)hoverboard_dummy_data->race_competitor_index * (time * 1.55f); + hoverboard_dummy_data->normal_speed_target = time * 17.0f + competitor_speed_offset; + hoverboard_dummy_data->boost_speed_target = time * 24.0f + competitor_speed_offset; if (D_0013D4DF == 0) { slow = (float)(D_0015EE3C_gp - 5); if (slow < 0.0f) { @@ -637,10 +639,11 @@ void test_dummy_on_hoverboard_update(unsigned char *moby) { if (hero.state.control_mode != 22) { MOBY(moby)->state = HOVERBOARD_DUMMY_STATE_INITIALIZE; } else { - int count = *(unsigned short *)&hoverboard_dummy_data->reactivation_timer_frames + 1; - short timer = count; + int reactivation_elapsed_frames = + *(unsigned short *)&hoverboard_dummy_data->reactivation_timer_frames + 1; + short timer = reactivation_elapsed_frames; - hoverboard_dummy_data->reactivation_timer_frames = count; + hoverboard_dummy_data->reactivation_timer_frames = reactivation_elapsed_frames; if (scale_game_frames(240) < timer) { LevelCamera *player = &l16_camera; diff --git a/src/overlays/l17/hero/process_hero_hit_response.c b/src/overlays/l17/hero/process_hero_hit_response.c index 374703d586..f5ed2c9eb1 100644 --- a/src/overlays/l17/hero/process_hero_hit_response.c +++ b/src/overlays/l17/hero/process_hero_hit_response.c @@ -81,7 +81,7 @@ s32 process_hero_hit_response(s32 apply_state_and_motion_response) { OvlMobyEntry40 *hero_moby_entry; u8 *mob; s32 flag; - s32 id; + s32 hit_response_state; f32 xy_scale, z_response, frame_duration; OvlVec4 motion_delta; @@ -140,9 +140,9 @@ s32 process_hero_hit_response(s32 apply_state_and_motion_response) { case HERO_VEHICLE_MODE_ON_FOOT: mob = (u8 *)G.damage_source_moby; if (mob != 0 && (*(s16 *)(mob + 0xA6) == 0x4EB || *(s16 *)(mob + 0xA6) == 0x558)) { - id = 0x80; + hit_response_state = HERO_STATE_DYING_SPEED_LIMITED; call_ret: - hero_set_state(id, 1); + hero_set_state(hit_response_state, 1); return 1; } if (G.state.control_mode == 0x16) { @@ -153,14 +153,14 @@ s32 process_hero_hit_response(s32 apply_state_and_motion_response) { if (G.state.control_mode == HERO_MODE_WATER_SURFACE) { mob = (u8 *)G.damage_source_moby; if (mob != 0 && *(s16 *)(mob + 0xA6) == 0x28F) { - id = 0x82; + hit_response_state = HERO_STATE_DYING_ZERO_HEALTH; goto call_ret; } hero_set_state(0x75, 1); } else if (G.state.control_mode == HERO_MODE_SWIM) { mob = (u8 *)G.damage_source_moby; if (mob != 0 && *(s16 *)(mob + 0xA6) == 0x28F) { - id = 0x82; + hit_response_state = HERO_STATE_DYING_ZERO_HEALTH; goto call_ret; } if (current_level_index == LEVEL_QUARTU || current_level_index == LEVEL_VELDIN_ORBIT) { @@ -174,7 +174,7 @@ s32 process_hero_hit_response(s32 apply_state_and_motion_response) { } else if (G.state.control_mode == HERO_MODE_LEDGE) { mob = (u8 *)G.damage_source_moby; if (mob != 0) { - id = 0x82; + hit_response_state = HERO_STATE_DYING_ZERO_HEALTH; if (*(s16 *)(mob + 0xA6) == 0x28F) { goto call_ret; } diff --git a/src/overlays/l17/mobys/dreks_fleet_turret_shot.c b/src/overlays/l17/mobys/dreks_fleet_turret_shot.c index 1e975a9702..7a16ed028a 100644 --- a/src/overlays/l17/mobys/dreks_fleet_turret_shot.c +++ b/src/overlays/l17/mobys/dreks_fleet_turret_shot.c @@ -49,13 +49,15 @@ unsigned char *create_drone_flight_trail_record(char *position_source, int mode, int step) __asm__("FUN_L17_0026fdd0"); -unsigned char *create_drone_flight_trail_record(char *position_source, int mode, int step) { +unsigned char * + +create_drone_flight_trail_record(char *position_source, int use_short_step_range, int step) { enum { DRONE_FLIGHT_TRAIL_MODE_EXTENDED_STEP_RANGE = 0 }; unsigned char *flight_trail_record; int remaining_steps; - if (mode) + if (use_short_step_range) remaining_steps = 5 - step; else remaining_steps = 0xF - step; @@ -64,8 +66,8 @@ unsigned char *create_drone_flight_trail_record(char *position_source, int mode, if (flight_trail_record != 0) { qcopy(flight_trail_record + 0x10, position_source); flight_trail_record[9] = truncate_float_to_s32(1.0f) + 0x70; - *(int *)(flight_trail_record + 0x20) = mode; - if (mode == DRONE_FLIGHT_TRAIL_MODE_EXTENDED_STEP_RANGE) { + *(int *)(flight_trail_record + 0x20) = use_short_step_range; + if (use_short_step_range == DRONE_FLIGHT_TRAIL_MODE_EXTENDED_STEP_RANGE) { int d = 0xF - step; *(int *)(flight_trail_record + 4) = 0x60FF3020; flight_trail_record[3] = 0x48; diff --git a/src/overlays/l17/mobys/fighter_jet.c b/src/overlays/l17/mobys/fighter_jet.c index 378693dcbf..44deeabb5a 100644 --- a/src/overlays/l17/mobys/fighter_jet.c +++ b/src/overlays/l17/mobys/fighter_jet.c @@ -1062,9 +1062,9 @@ typedef struct { char pad21[0x13]; unsigned short flags; char pad36[0xA]; - float r40; - float r44; - float r48; + float roll; + float pitch; + float yaw; char pad4C[0x70]; unsigned char bc; } FighterJetMoby; @@ -1338,10 +1338,10 @@ void update_fighter_jet_flight(FighterJetMoby *ship_moby, FighterJetVars *ship_v } else if (ship_vars->f34 < -1.3962634f) { ship_vars->f34 = -1.3962634f; } - if (ship_moby->r44 > 1.3962634f) { - ship_moby->r44 = 1.3962634f; - } else if (ship_moby->r44 < -1.3962634f) { - ship_moby->r44 = -1.3962634f; + if (ship_moby->pitch > 1.3962634f) { + ship_moby->pitch = 1.3962634f; + } else if (ship_moby->pitch < -1.3962634f) { + ship_moby->pitch = -1.3962634f; } } @@ -1370,11 +1370,11 @@ void update_fighter_jet_flight(FighterJetMoby *ship_moby, FighterJetVars *ship_v fast_arc_tan(target[0] - ship_moby->pos[0], target[1] - ship_moby->pos[1]), 50.0f, lenB); - ship_moby->r48 = interpolate_value_with_repeated_squaring( + ship_moby->yaw = interpolate_value_with_repeated_squaring( 1, 5, distance_to_default_target, - ship_moby->r48, + ship_moby->yaw, fast_arc_tan(target[0] - ship_moby->pos[0], target[1] - ship_moby->pos[1]), 50.0f, lenB); @@ -1388,11 +1388,11 @@ void update_fighter_jet_flight(FighterJetMoby *ship_moby, FighterJetVars *ship_v 50.0f, lenA); target_height_distance_for_moby_pitch = absolute_float(target[2] - ship_moby->pos[2]); - ship_moby->r44 = interpolate_value_with_repeated_squaring( + ship_moby->pitch = interpolate_value_with_repeated_squaring( 1, 5, target_height_distance_for_moby_pitch, - ship_moby->r44, + ship_moby->pitch, -fast_arc_tan(vector_distance_xy(ship_moby->pos, target), target[2] - ship_moby->pos[2]), 50.0f, lenA); @@ -1499,9 +1499,9 @@ void update_fighter_jet_flight(FighterJetMoby *ship_moby, FighterJetVars *ship_v tn = fast_sin(half_fov) / fast_cos(half_fov); D_L17_0016D3F0 = tn; update_view_context(); - ship_moby->r40 = fast_add_rotations(ship_vars->f30, ship_vars->f6C * D_L17_00162160); - ship_moby->r44 = fast_add_rotations(ship_vars->f34, -ship_vars->f70 * D_L17_00162164); - ship_moby->r48 = fast_add_rotations(ship_vars->f38, -ship_vars->f6C * D_L17_00162168); + ship_moby->roll = fast_add_rotations(ship_vars->f30, ship_vars->f6C * D_L17_00162160); + ship_moby->pitch = fast_add_rotations(ship_vars->f34, -ship_vars->f70 * D_L17_00162164); + ship_moby->yaw = fast_add_rotations(ship_vars->f38, -ship_vars->f6C * D_L17_00162168); if (coll_sphere(1.2f, ship_moby->pos, 0, ship_moby)) { collision_result = D_L17_00174740; if (*(char **)(collision_result + 0x18) == 0 || diff --git a/src/overlays/l17/mobys/magnet_elevator.c b/src/overlays/l17/mobys/magnet_elevator.c index d18d97e8c4..e9e487ab03 100644 --- a/src/overlays/l17/mobys/magnet_elevator.c +++ b/src/overlays/l17/mobys/magnet_elevator.c @@ -80,7 +80,7 @@ void magnet_elevator_update(struct Moby *moby) { MAGNET_ELEVATOR_STATE_WAIT_FOR_HERO_TO_LEAVE_FIRST_STOP = 8, MAGNET_ELEVATOR_STATE_WAIT_FOR_HERO_TO_LEAVE_SECOND_STOP = 9 }; - char *state = P(moby, 0x78); + char *elevator_runtime_state = P(moby, 0x78); float delta[4]; float rot[4]; float camera_position_offset[4]; @@ -89,11 +89,11 @@ void magnet_elevator_update(struct Moby *moby) { fast_vec_scale(delta, &moby->pos, -1.0f); qcopy(rot, &moby->rot); - if (W(state, 0x7C) == 0) { - float f = - 1.0f - - ((*(float *)((char *)(moby) + (0x18))) - (*(float *)((char *)(state) + (0x64)))) / - ((*(float *)((char *)(state) + (0x60))) - (*(float *)((char *)(state) + (0x64)))); + if (W(elevator_runtime_state, 0x7C) == 0) { + float f = 1.0f - ((*(float *)((char *)(moby) + (0x18))) - + (*(float *)((char *)(elevator_runtime_state) + (0x64)))) / + ((*(float *)((char *)(elevator_runtime_state) + (0x60))) - + (*(float *)((char *)(elevator_runtime_state) + (0x64)))); if (f > 1.0f) { f = 1.0f; } else if (f < 0.0f) { @@ -104,25 +104,28 @@ void magnet_elevator_update(struct Moby *moby) { } switch (B(moby, 0x20)) { case MAGNET_ELEVATOR_STATE_INITIALIZE: - (*(float *)((char *)(state) + (0x78))) = random_angle_radians(); - W(state, 0x6C) = -1; - if (W(state, 0x80) == -1 || **(int **)(D_L17_001B0DB0 + W(state, 0x80) * 4) != 0xB) { + (*(float *)((char *)(elevator_runtime_state) + (0x78))) = random_angle_radians(); + W(elevator_runtime_state, 0x6C) = -1; + if (W(elevator_runtime_state, 0x80) == -1 || + **(int **)(D_L17_001B0DB0 + W(elevator_runtime_state, 0x80) * 4) != 0xB) { mark_moby_for_removal(moby); return; } B(moby, 0x20) = 6; break; case MAGNET_ELEVATOR_STATE_BLEND_CAMERA: { - float previous_camera_blend_progress = (*(float *)((char *)(state) + (0x70))); - advance_accelerated_scalar((float *)(state + 0x70), - (float *)(state + 0x74), + float previous_camera_blend_progress = + (*(float *)((char *)(elevator_runtime_state) + (0x70))); + advance_accelerated_scalar((float *)(elevator_runtime_state + 0x70), + (float *)(elevator_runtime_state + 0x74), 1.0f, frame_time_sq * 4.0f, frame_time_sq * 4.0f, frame_time * 4.0f); - if ((*(float *)((char *)(state) + (0x70))) < 1.0f) { - float remaining_camera_blend_ratio = (1.0f - (*(float *)((char *)(state) + (0x70)))) / - (1.0f - previous_camera_blend_progress); + if ((*(float *)((char *)(elevator_runtime_state) + (0x70))) < 1.0f) { + float remaining_camera_blend_ratio = + (1.0f - (*(float *)((char *)(elevator_runtime_state) + (0x70)))) / + (1.0f - previous_camera_blend_progress); char *camera_pose_base; FUN_L17_002ee9c0_c(moby, (char *)camera_position, (char *)camera_rotation); fast_vec_sub(camera_position_offset, D_L17_001676C0, camera_position); @@ -163,16 +166,16 @@ void magnet_elevator_update(struct Moby *moby) { if (B(moby, 0x20) == 3 && P(D_0013E533_u, 0x1119) != moby) { B(moby, 0x20) = 5; } - if (!voice_is_playing(moby, W(state, 0x6C))) { - W(state, 0x6C) = allocate_voice_for_target_entry(0, 4, (int)moby); + if (!voice_is_playing(moby, W(elevator_runtime_state, 0x6C))) { + W(elevator_runtime_state, 0x6C) = allocate_voice_for_target_entry(0, 4, (int)moby); } if (B(moby, 0x20) == 2 || B(moby, 0x20) == 4) { - target = (*(float *)((char *)(state) + (0x60))); + target = (*(float *)((char *)(elevator_runtime_state) + (0x60))); } else { - target = (*(float *)((char *)(state) + (0x64))); + target = (*(float *)((char *)(elevator_runtime_state) + (0x64))); } advance_accelerated_scalar(&moby->pos.z, - (float *)(state + 0x68), + (float *)(elevator_runtime_state + 0x68), target, frame_time_sq * 0.3f, frame_time_sq * 0.3f, @@ -191,18 +194,18 @@ void magnet_elevator_update(struct Moby *moby) { if (B(moby, 0xBC) != 0) { hero_set_state(HERO_STATE_IDLE, 0); } - if (voice_is_playing(moby, W(state, 0x6C))) { - release_voice_slot(W(state, 0x6C)); - W(state, 0x6C) = -1; + if (voice_is_playing(moby, W(elevator_runtime_state, 0x6C))) { + release_voice_slot(W(elevator_runtime_state, 0x6C)); + W(elevator_runtime_state, 0x6C) = -1; } } break; } case MAGNET_ELEVATOR_STATE_WAIT_FOR_HERO_TO_LEAVE_FIRST_STOP: case MAGNET_ELEVATOR_STATE_WAIT_FOR_HERO_TO_LEAVE_SECOND_STOP: - if (voice_is_playing(moby, W(state, 0x6C))) { - release_voice_slot(W(state, 0x6C)); - W(state, 0x6C) = -1; + if (voice_is_playing(moby, W(elevator_runtime_state, 0x6C))) { + release_voice_slot(W(elevator_runtime_state, 0x6C)); + W(elevator_runtime_state, 0x6C) = -1; } if (P(D_0013E533_u, 0x1119) != moby) { if (B(moby, 0x20) == 9) { @@ -216,10 +219,11 @@ void magnet_elevator_update(struct Moby *moby) { case MAGNET_ELEVATOR_STATE_WAIT_AT_SECOND_STOP: { int i; char *hero_state; - (*(float *)((char *)(state) + (0x78))) = - fast_add_rotations((*(float *)((char *)(state) + (0x78))), frame_time * 6.2831855f); - i = truncate_float_to_s32((fast_sin((*(float *)((char *)(state) + (0x78)))) * 4.0f - 3.0f) * - 128.0f); + (*(float *)((char *)(elevator_runtime_state) + (0x78))) = fast_add_rotations( + (*(float *)((char *)(elevator_runtime_state) + (0x78))), frame_time * 6.2831855f); + i = truncate_float_to_s32( + (fast_sin((*(float *)((char *)(elevator_runtime_state) + (0x78)))) * 4.0f - 3.0f) * + 128.0f); if (i > 0x80) { i = 0x80; } else if (i < 0x20) { @@ -230,7 +234,7 @@ void magnet_elevator_update(struct Moby *moby) { W(moby, 0x90) = (i << 16) | pulse_color_green_alpha_bits | i; } hero_state = (char *)((char *)&hero); - if (H(hero_state, 0x308) != 0 || W(state, 0x7C) == 0) { + if (H(hero_state, 0x308) != 0 || W(elevator_runtime_state, 0x7C) == 0) { if (P(hero_state, 0x2FC) == moby && H(hero_state, 0x30E) == 0 && vector_distance_xy(hero_state + 0x80, &moby->pos) < 0.5f) { allocate_voice_for_target_entry(1, 0, (int)moby); @@ -243,27 +247,27 @@ void magnet_elevator_update(struct Moby *moby) { char *p = (char *)(&hero.motion.pos); float d = vector_distance_xy(&moby->pos, p); float e = absolute_float((*(float *)((char *)(p) + (0x258))) - - (*(float *)((char *)(state) + (0x64)))); - if (e < absolute_float((*(float *)((char *)(state) + (0x60))) - - (*(float *)((char *)(state) + (0x64)))) * + (*(float *)((char *)(elevator_runtime_state) + (0x64)))); + if (e < absolute_float((*(float *)((char *)(elevator_runtime_state) + (0x60))) - + (*(float *)((char *)(elevator_runtime_state) + (0x64)))) * 0.5f && d < 32.0f && d > 2.0f) { B(moby, 0xBC) = 0; B(moby, 0x20) = 3; - W(state, 0x68) = 0; + W(elevator_runtime_state, 0x68) = 0; } } else if (B(moby, 0x20) == 7) { char *p = (char *)(&hero.motion.pos); float d = vector_distance_xy(&moby->pos, p); float e = absolute_float((*(float *)((char *)(p) + (0x258))) - - (*(float *)((char *)(state) + (0x60)))); - if (e < absolute_float((*(float *)((char *)(state) + (0x60))) - - (*(float *)((char *)(state) + (0x64)))) * + (*(float *)((char *)(elevator_runtime_state) + (0x60)))); + if (e < absolute_float((*(float *)((char *)(elevator_runtime_state) + (0x60))) - + (*(float *)((char *)(elevator_runtime_state) + (0x64)))) * 0.5f && d < 32.0f && d > 2.0f) { B(moby, 0xBC) = 0; B(moby, 0x20) = 2; - W(state, 0x68) = 0; + W(elevator_runtime_state, 0x68) = 0; } } } @@ -271,7 +275,7 @@ void magnet_elevator_update(struct Moby *moby) { } } fast_vec_add(delta, delta, &moby->pos); - update_entity_matrix(state + 0x20, delta, rot, &moby->rot); + update_entity_matrix(elevator_runtime_state + 0x20, delta, rot, &moby->rot); } /* Ported from rac1-decomp (src/overlays/l17_fleet/vendor_002AA068.c: func_L17_002F04D0), where it is exact; names translated to the US level program. */ @@ -280,16 +284,19 @@ void build_magnet_elevator_camera_pose(struct Moby *moby, char *camera_position, char *state) __asm__("FUN_L17_002ee9c0"); -void build_magnet_elevator_camera_pose(struct Moby *moby, char *camera_position, char *state) { +void build_magnet_elevator_camera_pose(struct Moby *moby, + char *camera_position, + + char *camera_rotation) { fast_vec_sub(camera_position, D_L17_001676C0, &moby->pos); set_vector_length_xy(camera_position, camera_position, 2.5f); *(float *)(camera_position + 8) = 1.5f; fast_vec_add(camera_position, camera_position, &moby->pos); - clear_u64_value(state); - *(float *)(state + 8) = + clear_u64_value(camera_rotation); + *(float *)(camera_rotation + 8) = fast_arc_tan(hero.motion.body_center.f[0] - *(float *)camera_position, hero.motion.body_center.f[1] - *(float *)(camera_position + 4)); - *(int *)(state + 4) = 0; + *(int *)(camera_rotation + 4) = 0; } extern void transform_vector_by_basis(void *, void *, void *); diff --git a/src/overlays/l17/mobys/robot_dog.c b/src/overlays/l17/mobys/robot_dog.c index d9209b3e04..1987ad95be 100644 --- a/src/overlays/l17/mobys/robot_dog.c +++ b/src/overlays/l17/mobys/robot_dog.c @@ -97,8 +97,8 @@ typedef struct { float f1D4; float speed; float yawvel; - short t1E0; - short t1E2; + short blocked_line_idle_delay_frames; + short clear_line_response_delay_frames; unsigned char mode; unsigned char b1E5; char pad1E6[2]; @@ -261,8 +261,8 @@ void robot_dog_update(unsigned char *robot_dog_moby) { if (robot_dog_moby[0x53] != 3) { blend_moby_animation(robot_dog_moby, 3, 0, scale_game_frames(10)); } - robot_dog_vars->t1E0 = scale_game_frames(120); - robot_dog_vars->t1E2 = scale_game_frames(120); + robot_dog_vars->blocked_line_idle_delay_frames = scale_game_frames(120); + robot_dog_vars->clear_line_response_delay_frames = scale_game_frames(120); } } break; @@ -294,7 +294,8 @@ void robot_dog_update(unsigned char *robot_dog_moby) { MOBY(robot_dog_moby)->anim_speed = 1.7f; mode = robot_dog_vars->mode; if (mode == ROBOT_DOG_DETECTION_CLEAR_LINE_IN_FACING_CONE && - (fast_dec_timer_s16(&robot_dog_vars->t1E2) || D_0013E533[0x2EC1] != 3)) { + (fast_dec_timer_s16(&robot_dog_vars->clear_line_response_delay_frames) || + D_0013E533[0x2EC1] != 3)) { if (random_integer_below(3) == 0) { if (robot_dog_moby[0x53] != mode) { blend_moby_animation(robot_dog_moby, 2, 0, scale_game_frames(10)); @@ -310,7 +311,7 @@ void robot_dog_update(unsigned char *robot_dog_moby) { blend_moby_animation(robot_dog_moby, 7, 0, scale_game_frames(10)); } } - } else if (robot_dog_vars->t1E0 == 0 && + } else if (robot_dog_vars->blocked_line_idle_delay_frames == 0 && robot_dog_vars->mode == ROBOT_DOG_DETECTION_LINE_BLOCKED) { robot_dog_moby[0x20] = 3; if (robot_dog_moby[0x53] != 0) { @@ -352,8 +353,8 @@ void robot_dog_update(unsigned char *robot_dog_moby) { if (robot_dog_moby[0x53] != 3) { blend_moby_animation(robot_dog_moby, 3, 0, scale_game_frames(10)); } - robot_dog_vars->t1E2 = scale_game_frames(120); - robot_dog_vars->t1E0 = scale_game_frames(120); + robot_dog_vars->clear_line_response_delay_frames = scale_game_frames(120); + robot_dog_vars->blocked_line_idle_delay_frames = scale_game_frames(120); } break; } @@ -471,8 +472,8 @@ void robot_dog_update(unsigned char *robot_dog_moby) { if (robot_dog_moby[0x53] != 3) { blend_moby_animation(robot_dog_moby, 3, 0, scale_game_frames(10)); } - robot_dog_vars->t1E2 = scale_game_frames(120); - robot_dog_vars->t1E0 = scale_game_frames(120); + robot_dog_vars->clear_line_response_delay_frames = scale_game_frames(120); + robot_dog_vars->blocked_line_idle_delay_frames = scale_game_frames(120); } else if (robot_dog_moby[0x70] & 2) { far = vector_distance_xy(robot_dog_moby + 0x10, robot_dog_vars->v180); k1 = scale_time(40.0f); @@ -498,8 +499,8 @@ void robot_dog_update(unsigned char *robot_dog_moby) { if (robot_dog_moby[0x53] != 3) { blend_moby_animation(robot_dog_moby, 3, 0, scale_game_frames(10)); } - robot_dog_vars->t1E2 = scale_game_frames(120); - robot_dog_vars->t1E0 = scale_game_frames(120); + robot_dog_vars->clear_line_response_delay_frames = scale_game_frames(120); + robot_dog_vars->blocked_line_idle_delay_frames = scale_game_frames(120); } else if (MOBY(robot_dog_moby)->pos.z < 2.0f) { FUN_L00_00257470(robot_dog_moby, 0, -1); mark_moby_for_removal(robot_dog_moby); @@ -788,7 +789,7 @@ void update_robot_dog_glow_effects(struct Moby *moby) { char *robot_dog_glow_vars; int glow_pulse_period_frames; int alpha; - int mode; + int glow_pulse_mode; int i; int x, y, z; int r, g, b; @@ -810,12 +811,12 @@ void update_robot_dog_glow_effects(struct Moby *moby) { robot_dog_glow_vars = (char *)moby->pvars; glow_pulse_period_frames = scale_game_frames(glow_pulse_period_frames); alpha = 0x80; - mode = ROBOT_DOG_GLOW_MODE_SLOW_PULSE; + glow_pulse_mode = ROBOT_DOG_GLOW_MODE_SLOW_PULSE; switch (moby->state) { case ROBOT_DOG_STATE_FALL_UNTIL_LANDING: case ROBOT_DOG_STATE_TRACK_TARGET_FACING: case ROBOT_DOG_STATE_WAIT_FOR_CHASE_TRIGGER: - mode = ROBOT_DOG_GLOW_MODE_MEDIUM_PULSE; + glow_pulse_mode = ROBOT_DOG_GLOW_MODE_MEDIUM_PULSE; break; case ROBOT_DOG_STATE_WAIT_FOR_CHASE_TRIGGER_FAST_PULSE: case ROBOT_DOG_STATE_TURN_TOWARD_TARGET: @@ -825,16 +826,16 @@ void update_robot_dog_glow_effects(struct Moby *moby) { case 13: case 14: case ROBOT_DOG_STATE_FALL_THEN_REMOVE: - mode = ROBOT_DOG_GLOW_MODE_FAST_PULSE; + glow_pulse_mode = ROBOT_DOG_GLOW_MODE_FAST_PULSE; break; case ROBOT_DOG_STATE_RECOVER_THEN_REINITIALIZE: - mode = -1; + glow_pulse_mode = -1; break; } - if (mode >= ROBOT_DOG_GLOW_MODE_SLOW_PULSE) { - if (mode == ROBOT_DOG_GLOW_MODE_FAST_PULSE) { + if (glow_pulse_mode >= ROBOT_DOG_GLOW_MODE_SLOW_PULSE) { + if (glow_pulse_mode == ROBOT_DOG_GLOW_MODE_FAST_PULSE) { glow_pulse_period_frames = scale_game_frames(0x32); - } else if (mode == ROBOT_DOG_GLOW_MODE_MEDIUM_PULSE) { + } else if (glow_pulse_mode == ROBOT_DOG_GLOW_MODE_MEDIUM_PULSE) { glow_pulse_period_frames = scale_game_frames(0x5A); } glow_pulse_sine = fast_sin(((float)(D_L17_0015F5CC % glow_pulse_period_frames) / @@ -853,9 +854,9 @@ void update_robot_dog_glow_effects(struct Moby *moby) { if (g > 255) { g = 255; } - if (mode == ROBOT_DOG_GLOW_MODE_FAST_PULSE) { + if (glow_pulse_mode == ROBOT_DOG_GLOW_MODE_FAST_PULSE) { color = (alpha << 24) | (b << 16) | ((r / 2) << 8) | g; - } else if (mode != ROBOT_DOG_GLOW_MODE_SLOW_PULSE) { + } else if (glow_pulse_mode != ROBOT_DOG_GLOW_MODE_SLOW_PULSE) { color = (alpha << 24) | (b << 16) | ((r / 2) << 8) | g; } else { color = (alpha << 24) | (b << 16) | (g << 8) | r; diff --git a/src/overlays/l17/mobys/shuttle.c b/src/overlays/l17/mobys/shuttle.c index d80c1088b0..ea12deb9ba 100644 --- a/src/overlays/l17/mobys/shuttle.c +++ b/src/overlays/l17/mobys/shuttle.c @@ -286,13 +286,13 @@ void shuttle_update(struct Moby *shuttle_moby) { void update_shuttle_help_message(struct Moby *moby) { char *shuttle_private_vars = (char *)moby->pvars; - int mode = *(int *)(shuttle_private_vars + 0x94); - switch (mode) { + int selected_stop_index = *(int *)(shuttle_private_vars + 0x94); + switch (selected_stop_index) { case SHUTTLE_STOP_FIRST: *(int *)(shuttle_private_vars + 0x80) = 0; break; case SHUTTLE_STOP_SECOND: - *(int *)(shuttle_private_vars + 0x80) = mode; + *(int *)(shuttle_private_vars + 0x80) = selected_stop_index; break; } switch (*(int *)(shuttle_private_vars + 0x80)) { diff --git a/src/overlays/l18/hero/apply_hero_ground_type_effects.c b/src/overlays/l18/hero/apply_hero_ground_type_effects.c index ac21447ab1..872b29401d 100644 --- a/src/overlays/l18/hero/apply_hero_ground_type_effects.c +++ b/src/overlays/l18/hero/apply_hero_ground_type_effects.c @@ -189,7 +189,7 @@ s32 process_hero_hurt_response(s32 apply_hurt_response) { T_210ce8 *response_record; u8 *mob; s32 flag; - s32 id; + s32 hurt_response_state; f32 horizontal_response_scale, vertical_response_scale, response_frame_time; V_210ce8 response_motion_delta; @@ -258,9 +258,9 @@ s32 process_hero_hurt_response(s32 apply_hurt_response) { case HERO_VEHICLE_MODE_ON_FOOT: mob = ((u8 *)hero.damage_source_moby); if (mob != 0 && (*(s16 *)(mob + 0xA6) == 0x4EB || *(s16 *)(mob + 0xA6) == 0x558)) { - id = 0x80; + hurt_response_state = 0x80; call_ret: - hero_set_state(id, 1); + hero_set_state(hurt_response_state, 1); return 1; } if (hero.state.control_mode == 0x16) { @@ -271,14 +271,14 @@ s32 process_hero_hurt_response(s32 apply_hurt_response) { if (hero.state.control_mode == HERO_MODE_WATER_SURFACE) { mob = ((u8 *)hero.damage_source_moby); if (mob != 0 && *(s16 *)(mob + 0xA6) == 0x28F) { - id = 0x82; + hurt_response_state = 0x82; goto call_ret; } hero_set_state(0x75, 1); } else if (hero.state.control_mode == HERO_MODE_SWIM) { mob = ((u8 *)hero.damage_source_moby); if (mob != 0 && *(s16 *)(mob + 0xA6) == 0x28F) { - id = 0x82; + hurt_response_state = 0x82; goto call_ret; } if (current_level_index == LEVEL_QUARTU || current_level_index == LEVEL_VELDIN_ORBIT) { @@ -292,7 +292,7 @@ s32 process_hero_hurt_response(s32 apply_hurt_response) { } else if (hero.state.control_mode == HERO_MODE_LEDGE) { mob = ((u8 *)hero.damage_source_moby); if (mob != 0) { - id = 0x82; + hurt_response_state = 0x82; if (*(s16 *)(mob + 0xA6) == 0x28F) { goto call_ret; } diff --git a/src/overlays/l18/hero/hero_set_state.c b/src/overlays/l18/hero/hero_set_state.c index dccfe625db..446fbe140c 100644 --- a/src/overlays/l18/hero/hero_set_state.c +++ b/src/overlays/l18/hero/hero_set_state.c @@ -82,10 +82,11 @@ int hero_set_state(int requested_state, int animation_update_mode) { struct Hero *p = &hero; if (p->state.control_mode == HERO_MODE_DYING && (requested_state != HERO_STATE_IDLE_ANIMATION_WITH_DYING_OVERRIDE || - animation_update_mode != 2)) + animation_update_mode != HERO_ANIMATION_ENTRY_OVERRIDE_GUARDS)) return 0; } - if ((D_L18_0015F5C4 == 2 || D_L18_0015F5C4 == 6) && animation_update_mode != 2) + if ((D_L18_0015F5C4 == 2 || D_L18_0015F5C4 == 6) && + animation_update_mode != HERO_ANIMATION_ENTRY_OVERRIDE_GUARDS) return 0; { struct Hero *p = &hero; diff --git a/src/overlays/l18/mobys/drek_boss_electric_ball.c b/src/overlays/l18/mobys/drek_boss_electric_ball.c index 747e62b2fd..8823336202 100644 --- a/src/overlays/l18/mobys/drek_boss_electric_ball.c +++ b/src/overlays/l18/mobys/drek_boss_electric_ball.c @@ -474,7 +474,7 @@ extern unsigned char D_L18_00161FE1[3] MACRO_ADDR; /* Ported from rac1-decomp (src/overlays/l18_veldin2/vendor_002A8400.c: func_L18_002EBBF0). */ void spawn_explosion_burst(void *source_moby) { float velocity[4] __attribute__((aligned(16))); - float offset[4] __attribute__((aligned(16))); + float second_spark_vector_or_particle_position[4] __attribute__((aligned(16))); struct Moby *moby = source_moby; int i = 0; int j; @@ -492,10 +492,14 @@ void spawn_explosion_burst(void *source_moby) { speed = random_float_between(explosion_burst_spark_speed_min_gp, explosion_burst_spark_speed_max_gp); build_spherical_offset(velocity, speed * frame_time, angle, elevation); - fast_vec_scale(offset, velocity, explosion_burst_spark_second_vector_scale_gp); + fast_vec_scale(second_spark_vector_or_particle_position, + velocity, + explosion_burst_spark_second_vector_scale_gp); scale = random_float_between(0.8f, 1.2f); - offset[3] = velocity[3] = explosion_burst_spark_vector_w_gp; - offset[2] += explosion_burst_spark_second_vector_z_rate_gp * scale * frame_time; + second_spark_vector_or_particle_position[3] = velocity[3] = + explosion_burst_spark_vector_w_gp; + second_spark_vector_or_particle_position[2] += + explosion_burst_spark_second_vector_z_rate_gp * scale * frame_time; scale = random_float_between(0.8f, 1.2f); a = truncate_float_to_s32( (float)scale_game_frames(explosion_burst_spark_frame_count_gp) * scale); @@ -505,7 +509,7 @@ void spawn_explosion_burst(void *source_moby) { (float)scale_game_frames(explosion_burst_spark_third_frame_count_gp) * scale); spawn_spark(&moby->pos, velocity, - offset, + second_spark_vector_or_particle_position, explosion_burst_spark_initial_color_gp, explosion_burst_spark_second_color_gp, a, @@ -529,15 +533,19 @@ void spawn_explosion_burst(void *source_moby) { build_spherical_offset(velocity, speed, angle, elevation); angle = random_angle_radians(); offset_x = fast_cos(angle); - offset[0] = random_float_between(0.0f, explosion_burst_particle_xy_offset_limit_gp); - offset_x *= offset[0]; - offset[0] = offset_x; + second_spark_vector_or_particle_position[0] = + random_float_between(0.0f, explosion_burst_particle_xy_offset_limit_gp); + offset_x *= second_spark_vector_or_particle_position[0]; + second_spark_vector_or_particle_position[0] = offset_x; offset_y = fast_sin(angle); - offset[1] = random_float_between(0.0f, explosion_burst_particle_xy_offset_limit_gp); - offset_y *= offset[1]; - offset[1] = offset_y; - offset[2] = 0.0f; - fast_vec_add(offset, offset, &moby->pos); + second_spark_vector_or_particle_position[1] = + random_float_between(0.0f, explosion_burst_particle_xy_offset_limit_gp); + offset_y *= second_spark_vector_or_particle_position[1]; + second_spark_vector_or_particle_position[1] = offset_y; + second_spark_vector_or_particle_position[2] = 0.0f; + fast_vec_add(second_spark_vector_or_particle_position, + second_spark_vector_or_particle_position, + &moby->pos); color1 = explosion_burst_particle_first_color_choices[random_integer_below(6)]; color2 = explosion_burst_particle_second_color_choices[random_integer_below(6)]; scale = explosion_burst_particle_scale_multiplier_gp * 400000.0f; @@ -547,7 +555,16 @@ void spawn_explosion_burst(void *source_moby) { b = scale_game_frames( random_int_between(explosion_burst_particle_second_frame_count_range_start_gp, explosion_burst_particle_second_frame_count_range_end_gp)); - spawn_particle(offset, velocity, color1, color2, scale, a, b, speed, 0, 0); + spawn_particle(second_spark_vector_or_particle_position, + velocity, + color1, + color2, + scale, + a, + b, + speed, + 0, + 0); } while (j < explosion_burst_particle_count_gp); } if (explosion_burst_first_glow_scale_multiplier_gp > 0.0f) { diff --git a/src/overlays/l18/mobys/drek_fight_missile.c b/src/overlays/l18/mobys/drek_fight_missile.c index c74b153110..f8891cf0cc 100644 --- a/src/overlays/l18/mobys/drek_fight_missile.c +++ b/src/overlays/l18/mobys/drek_fight_missile.c @@ -414,7 +414,7 @@ void draw_drek_fight_missile_group_trails(struct Moby *moby) { short *group_entry; struct Moby *missile_moby; char *missile_trail_private_vars; - float offset; + float frame_color_blend_offset; float color_blend_factor; int i; int j; @@ -434,11 +434,12 @@ void draw_drek_fight_missile_group_trails(struct Moby *moby) { ((u64)drek_missile_trail_blend_factor_selector_gp << 4) | ((u64)drek_missile_trail_blend_addend_selector_gp << 6) | 0x8000000000ULL; - offset = convert_integer_to_float((game_frame + 3) & 3) * 0.0625f; + frame_color_blend_offset = convert_integer_to_float((game_frame + 3) & 3) * 0.0625f; for (j = 0; j < 4; j++) { quads[i].texture_coordinates[j][0] = drek_missile_trail_texture_coordinates[j][0]; quads[i].texture_coordinates[j][1] = drek_missile_trail_texture_coordinates[j][1]; - color_blend_factor = convert_integer_to_float(i + 1 - (j >> 1)) * 0.25f + offset; + color_blend_factor = + convert_integer_to_float(i + 1 - (j >> 1)) * 0.25f + frame_color_blend_offset; if (color_blend_factor > 1.0f) { color_blend_factor = 1.0f; } else if (color_blend_factor < 0.0f) { diff --git a/src/overlays/l18/mobys/drek_final_boss_robot.c b/src/overlays/l18/mobys/drek_final_boss_robot.c index 2286e9f604..082c0f31ae 100644 --- a/src/overlays/l18/mobys/drek_final_boss_robot.c +++ b/src/overlays/l18/mobys/drek_final_boss_robot.c @@ -444,6 +444,9 @@ void drek_final_boss_robot_update(BossMoby *moby) { DREK_BOSS_PHASE_WAIT_TO_QUEUE_ENDING_MOVIE = 10, DREK_BOSS_PHASE_WAIT_FOR_ENDING_CLEANUP = 0xB }; + enum { + DREK_BOSS_GROUND_TARGET_CENTER_HERO_POSITION = 2 + }; BossData *boss_data = (BossData *)moby->boss_private_data; BossMoby *aim_target_moby; float position_and_displacement_scratch[4]; @@ -1193,11 +1196,13 @@ void drek_final_boss_robot_update(BossMoby *moby) { update_drek_boss_arena_circling_movement((struct Moby *)moby); if (is_value_within_interpolated_window((char *)moby, 1.0f) != 0 || is_value_within_interpolated_window((char *)moby, 16.0f) != 0) { - if (random_integer_below(5) != 0 || boss_data->ground_target_center_mode == 2) { + if (random_integer_below(5) != 0 || boss_data->ground_target_center_mode == + DREK_BOSS_GROUND_TARGET_CENTER_HERO_POSITION) { float a; float r; - if (boss_data->ground_target_center_mode != 2) { + if (boss_data->ground_target_center_mode != + DREK_BOSS_GROUND_TARGET_CENTER_HERO_POSITION) { qcopy(position_displacement_direction_and_rotation_scratch, boss_data->f70); } else { qcopy(position_displacement_direction_and_rotation_scratch, hero.motion.pos.f); @@ -2455,7 +2460,7 @@ int select_drek_boss_next_action(struct Moby *moby) { BOSS_ACTION_CHOICE_FOLLOW_HERO = 5 }; char *boss_action_vars = (char *)moby->pvars; - int state = *(int *)(boss_action_vars + 0x350); + int candidate_action_state = *(int *)(boss_action_vars + 0x350); int tries = 0; int boss_action_choice_index; int ok; @@ -2463,29 +2468,29 @@ int select_drek_boss_next_action(struct Moby *moby) { boss_action_choice_index = random_integer_below(6); switch (boss_action_choice_index) { case BOSS_ACTION_CHOICE_LAUNCH_FORWARD_WITH_LATERAL_OFFSET: - state = DREK_BOSS_LAUNCH_FORWARD_WITH_LATERAL_OFFSET; + candidate_action_state = DREK_BOSS_LAUNCH_FORWARD_WITH_LATERAL_OFFSET; break; case BOSS_ACTION_CHOICE_REPOSITION_AND_AIM: - state = DREK_BOSS_ACTION_REPOSITION_AND_AIM; + candidate_action_state = DREK_BOSS_ACTION_REPOSITION_AND_AIM; break; case BOSS_ACTION_CHOICE_TARGET_GROUND_POINTS: - state = DREK_BOSS_TARGET_GROUND_POINTS; + candidate_action_state = DREK_BOSS_TARGET_GROUND_POINTS; break; case BOSS_ACTION_CHOICE_TARGET_RANDOM_ARENA_POINTS: - state = DREK_BOSS_TARGET_RANDOM_ARENA_POINTS; + candidate_action_state = DREK_BOSS_TARGET_RANDOM_ARENA_POINTS; break; case BOSS_ACTION_CHOICE_TARGET_SIDE_GROUND_POINTS: - state = DREK_BOSS_TARGET_SIDE_GROUND_POINTS; + candidate_action_state = DREK_BOSS_TARGET_SIDE_GROUND_POINTS; break; case BOSS_ACTION_CHOICE_FOLLOW_HERO: - state = DREK_BOSS_FOLLOW_HERO; + candidate_action_state = DREK_BOSS_FOLLOW_HERO; break; } ok = *(short *)((char *)drek_boss_action_eligibility_by_phase + boss_action_choice_index * 2 + *(int *)(boss_action_vars + 0x34C) * 12); - if (state == *(int *)(boss_action_vars + 0x350)) + if (candidate_action_state == *(int *)(boss_action_vars + 0x350)) ok = 0; - if (state == DREK_BOSS_FOLLOW_HERO) { + if (candidate_action_state == DREK_BOSS_FOLLOW_HERO) { if (*(int *)(boss_action_vars + 0x364) != 0) { ok = 0; } else { @@ -2496,7 +2501,7 @@ int select_drek_boss_next_action(struct Moby *moby) { ok = 0; } } - if (state == DREK_BOSS_TARGET_SIDE_GROUND_POINTS) { + if (candidate_action_state == DREK_BOSS_TARGET_SIDE_GROUND_POINTS) { if (*(int *)(boss_action_vars + 0x350) == 0xE) ok = 0; } @@ -2504,7 +2509,7 @@ int select_drek_boss_next_action(struct Moby *moby) { break; tries++; } while (tries < 100); - return state; + return candidate_action_state; } typedef unsigned int u128_f7220 __attribute__((mode(TI))); diff --git a/src/overlays/l18/mobys/falling_moby_group.c b/src/overlays/l18/mobys/falling_moby_group.c index 37e0492137..47b079163f 100644 --- a/src/overlays/l18/mobys/falling_moby_group.c +++ b/src/overlays/l18/mobys/falling_moby_group.c @@ -285,11 +285,11 @@ typedef struct { typedef struct L18VD_1cc8 { char pad0[0x30]; char update_data[0x300]; - int field330; + int linked_group_transform_progress; char pad334[4]; - int field338; + int linked_moby_count; char pad33C[8]; - int field344; + int debris_spawn_bound_accumulator; } L18VD_1cc8; void reset_drek_boss_falling_moby_group(L18VM_1cc8 *moby) __asm__("FUN_L18_002f1cc8"); @@ -298,10 +298,10 @@ void reset_drek_boss_falling_moby_group(L18VM_1cc8 *moby) { L18VD_1cc8 *data = moby->data; if (moby->class_id == 0x565) { moby->state = FALLING_MOBY_GROUP_AWAIT_ACTIVATION; - data->field330 = 0; - data->field344 = 0; + data->linked_group_transform_progress = 0; + data->debris_spawn_bound_accumulator = 0; } - apply_linked_moby_relative_transforms(moby, data->update_data, data->field338); + apply_linked_moby_relative_transforms(moby, data->update_data, data->linked_moby_count); } /* For each entry of block D_L18_001C6480[D_L18_001C6780[A]]: runs func_001F9BF0 / func_001F9EC0 against the records at D_L18_001600EC + B * 0x80 (+0x30, +0x40) diff --git a/src/overlays/l18/mobys/rocket.c b/src/overlays/l18/mobys/rocket.c index dce0f0ce94..f7d8fe0109 100644 --- a/src/overlays/l18/mobys/rocket.c +++ b/src/overlays/l18/mobys/rocket.c @@ -267,14 +267,14 @@ void spawn_rocket_explosion(void *moby_object, void *movement_step) { char *moby = moby_object; float movement_step_copy[4]; float *qp = movement_step_copy; - int flags; + int rocket_kind_flags; float flag_selected_effect_scalar, flag_selected_effect_argument, effect_scale, hit_radius, e; *(OvlQuad *)qp = *(OvlQuad *)movement_step; - flags = *(int *)(((char *)MOBY(moby)->pvars) + 0x38); - effect_scale = (flags & 1) ? 2.0f : 0.75f; - flag_selected_effect_scalar = (flags & 1) ? 4.0f : 2.0f; - flag_selected_effect_argument = (flags & 1) ? 2.0f : 1.0f; - hit_radius = (flags & 4) ? 0.0f : 1.5f; + rocket_kind_flags = *(int *)(((char *)MOBY(moby)->pvars) + 0x38); + effect_scale = (rocket_kind_flags & 1) ? 2.0f : 0.75f; + flag_selected_effect_scalar = (rocket_kind_flags & 1) ? 4.0f : 2.0f; + flag_selected_effect_argument = (rocket_kind_flags & 1) ? 2.0f : 1.0f; + hit_radius = (rocket_kind_flags & 4) ? 0.0f : 1.5f; func_L00_0025F4A8_alt(moby, qp, moby + 0x10, diff --git a/src/overlays/shared/audio/emitters/box_emitter.c b/src/overlays/shared/audio/emitters/box_emitter.c index d7e2a00bc5..e35ffb5704 100644 --- a/src/overlays/shared/audio/emitters/box_emitter.c +++ b/src/overlays/shared/audio/emitters/box_emitter.c @@ -23,7 +23,7 @@ void update_box_emitter(char *moby) { OvlVec4 delta, radius, box_size, listener; int *sound_data = *(int **)(moby + 8); int volume; - int flags; + int voice_playback_flags; float box_length, listener_length; radius.f[2] = radius.f[1] = radius.f[0] = MOBY(moby)->bsphere.w; @@ -34,7 +34,7 @@ void update_box_emitter(char *moby) { listener_length = fast_vec_length(&listener); box_length = fast_vec_length(&box_size); if (box_length < listener_length) { - flags = 0x10; + voice_playback_flags = 0x10; if (absolute_float(box_size.f[0]) <= 1.0f && absolute_float(box_size.f[1]) <= 1.0f && absolute_float(box_size.f[2]) <= 1.0f) { volume = *(int *)(D_L00_0015F5F4 + sound_data[0] * 0x20 + 0xc); @@ -57,12 +57,12 @@ void update_box_emitter(char *moby) { D_L00_0015F5F4 + sound_data[0] * 0x20); } if (*(u8 *)(D_L00_0015F5F4 + sound_data[0] * 0x20 + 0x18)) - flags = 0x14; + voice_playback_flags = 0x14; { char *slot = D_0013E550 + sound_data[4] * 0x70; if (*(char **)(slot + 0x8c) != moby || *(u8 *)(slot + 0x74) == 0) { if (fast_dec_timer(&sound_data[3])) { - sound_data[4] = play_voice(sound_data[0], flags, moby, volume); + sound_data[4] = play_voice(sound_data[0], voice_playback_flags, moby, volume); if (sound_data[2] > 0) { sound_data[3] = (int)((float)scale_game_frames( diff --git a/src/overlays/shared/camera/aim_volume_camera.c b/src/overlays/shared/camera/aim_volume_camera.c index 1bee69f9c8..814bdcc2cb 100644 --- a/src/overlays/shared/camera/aim_volume_camera.c +++ b/src/overlays/shared/camera/aim_volume_camera.c @@ -11,6 +11,7 @@ #include "rnc/overlay/shared/camera/swing_volume_camera.h" #include "rnc/overlay/shared/camera.h" #include "rnc/overlay/shared/camera/follow_camera_set_up_spring.h" + #include "rnc/overlay/shared/rendering/culling/test_point_in_transformed_unit_cylinder.h" #include "rnc/rendering/clip_volume.h" @@ -93,7 +94,7 @@ void volume_camera_aim(struct UpdateCam *aim_camera_record) { struct UpdateCam *current_follow_camera_record; Vec4f *rec_pos; FollowCamState *rig; - FollowCamState *state; + FollowCamState *current_follow_camera_state; FollowCamBlock *follow; FollowCamTail *tail; FollowCamSnap *snap; @@ -147,24 +148,26 @@ void volume_camera_aim(struct UpdateCam *aim_camera_record) { follow = &rig->follow; tail = &rig->tail; snap = &rig->tail.snap; - /* A second pointer to the same state: retail keeps both. */ - state = rig; - reset = &state->reset; + /* A second pointer to the same current_follow_camera_state: retail keeps both. */ + current_follow_camera_state = rig; + reset = ¤t_follow_camera_state->reset; qcopy(rec_pos, pos); tail->distance = params->distance; tail->pivot_height = params->height; follow->look_height = params->offset_scale; fast_vec_scale(gravity_offset, &hero.gravity_dir, -tail->pivot_height); - fast_vec_add(state->follow.pivot, &hero.motion.pos, gravity_offset); - fast_vec_sub(tail->eye_offset, pos, state->follow.pivot); - qcopy(state->tail.saved_eye_offset, tail->eye_offset); + fast_vec_add(current_follow_camera_state->follow.pivot, &hero.motion.pos, gravity_offset); + fast_vec_sub(tail->eye_offset, pos, current_follow_camera_state->follow.pivot); + qcopy(current_follow_camera_state->tail.saved_eye_offset, tail->eye_offset); fast_vec_scale(gravity_offset, &hero.gravity_dir, -follow->look_height); - fast_vec_add(state->follow.look_target, &hero.motion.pos, gravity_offset); - qcopy(state->follow.snap_look_target, state->follow.look_target); + fast_vec_add( + current_follow_camera_state->follow.look_target, &hero.motion.pos, gravity_offset); + qcopy(current_follow_camera_state->follow.snap_look_target, + current_follow_camera_state->follow.look_target); qcopy(follow->focus, &hero.motion.pos); - qcopy(state->follow.offset, follow->focus); - qcopy(state->position, rec_pos); - qcopy(state->tail.snap.shot_pos, rec_pos); + qcopy(current_follow_camera_state->follow.offset, follow->focus); + qcopy(current_follow_camera_state->position, rec_pos); + qcopy(current_follow_camera_state->tail.snap.shot_pos, rec_pos); *(s32 *)&snap->distance_reduction = 0; *(s32 *)&reset->pitch_bias = 0; reset->look_height = follow->look_height; diff --git a/src/overlays/shared/camera/clip_volume_camera.c b/src/overlays/shared/camera/clip_volume_camera.c index 999e340d97..3bdae883c8 100644 --- a/src/overlays/shared/camera/clip_volume_camera.c +++ b/src/overlays/shared/camera/clip_volume_camera.c @@ -14,7 +14,7 @@ typedef struct { char pad0[0x40]; int x40; char pad1[8]; - float x4C; + float hero_target_height_offset; } CamSub; typedef struct { @@ -43,7 +43,7 @@ void initialize_transform_state_from_level_table(char *transform_state) { char *ent; int level_table_entry_index; char *entry_subrecord; - camera_subrecord->x4C = 1.5f; + camera_subrecord->hero_target_height_offset = 1.5f; camera_subrecord->x40 = 0; (*(CamInfo **)(transform_state + 0x70))->x80 = 0; camera_info = *(CamInfo **)(transform_state + 0x70); @@ -56,7 +56,7 @@ void initialize_transform_state_from_level_table(char *transform_state) { if (level_table_entry_index < 0) { RaiseKernelTrap(); } else { - camera_subrecord->x4C = *(float *)(entry_subrecord + 0x18); + camera_subrecord->hero_target_height_offset = *(float *)(entry_subrecord + 0x18); } qcopy(transform_state + 0x30, ent); qcopy(entry_euler_angles, ent + 0x10); diff --git a/src/overlays/shared/camera/follow_camera_offset_effect.c b/src/overlays/shared/camera/follow_camera_offset_effect.c index e24f1fd268..259d1ada47 100644 --- a/src/overlays/shared/camera/follow_camera_offset_effect.c +++ b/src/overlays/shared/camera/follow_camera_offset_effect.c @@ -22,7 +22,9 @@ void update_camera_offset_effect_state(void) __asm__("FUN_L02_002fa770"); extern CameraOffsetEffect camera_offset_effect __asm__("D_L02_00167600"); extern float D_L02_0016760C NOT_SDA; extern short camera_offset_effect_duration_step_gp __asm__("D_L02_0016238C") __attribute__((sda)); -extern char D_0013CA44[]; + +#include "rnc/overlay/shared/camera/follow_camera_offset_effect_data.h" + extern short camera_offset_effect_duration_step __asm__("D_L02_0016238C"); s32 D_L02_00167604[1] __attribute__((section(".data"))) = {0}; @@ -193,7 +195,7 @@ void try_select_camera_offset_effect_moby(char *candidate_moby) { float accumulated_amount; float candidate_reference_angle_radians; if (*(short *)(selection_reference + 0x86) == 0) { - if (!(0.05f < absolute_float(*(float *)(D_0013CA44)))) { + if (!(0.05f < absolute_float(*(float *)(camera_offset_effect_selection_gate)))) { candidate_selection_state = camera_selection_context + 0x380; fast_vec_sub(candidate_displacement, candidate_moby + 0x10, &hero.motion.pos); vector_distance = fast_vec_length(candidate_displacement); diff --git a/src/overlays/shared/camera/follow_camera_set_distance.c b/src/overlays/shared/camera/follow_camera_set_distance.c index a712a58319..a244a07c99 100644 --- a/src/overlays/shared/camera/follow_camera_set_distance.c +++ b/src/overlays/shared/camera/follow_camera_set_distance.c @@ -63,12 +63,12 @@ void run_follow_camera_noop(void) { /* -1 while D_L00_00166E00+0x86 is set; else clears its current id, 1 if it was id. */ s32 clear_follow_camera_volume_if_current(s32 id) __asm__("FUN_L00_002e8388"); -s32 clear_follow_camera_volume_if_current(s32 id) { +s32 clear_follow_camera_volume_if_current(s32 volume_camera_record) { struct P1_388 *current_camera = (struct P1_388 *)current_follow_cam; if (current_camera->f86 != 0) { return -1; } - if (current_camera->p->cur == id) { + if (current_camera->p->cur == volume_camera_record) { current_camera->p->cur = 0; return 1; } diff --git a/src/overlays/shared/camera/follow_camera_setup.c b/src/overlays/shared/camera/follow_camera_setup.c index 4cda7ed305..e3059de1bc 100644 --- a/src/overlays/shared/camera/follow_camera_setup.c +++ b/src/overlays/shared/camera/follow_camera_setup.c @@ -457,7 +457,7 @@ void rebuild_follow_camera_pose(int snap) { int mask; float *from, *to; if (snap) { - float offset[4], part[4], basis[12], delta[4], start[4]; + float target_to_camera_offset[4], part[4], basis[12], delta[4], start[4]; float length; struct Hero *player = &hero; struct Hero *hero2, *hero3; @@ -467,8 +467,8 @@ void rebuild_follow_camera_pose(int snap) { part[3] = 0.0f; mask = 0x94; copy_matrix3x4(basis, player->rot_matrix); - transform_vector_by_basis(offset, part, *(char **)(target + 0xC0) + 0xC0); - fast_vec_add(camera_moby + 0x30, target, offset); + transform_vector_by_basis(target_to_camera_offset, part, *(char **)(target + 0xC0) + 0xC0); + fast_vec_add(camera_moby + 0x30, target, target_to_camera_offset); fast_vec_scale(rise, *(char **)(target + 0xC0) + 0xE0, *(float *)(target + 0xB0)); fast_vec_add(eye, target, rise); if (FUN_001efa68(eye, camera_moby + 0x30, mask, (int)player->moby, 0)) { @@ -522,11 +522,12 @@ void rebuild_follow_camera_pose(int snap) { } } /* straight above or below the target: nudge the camera sideways */ - fast_vec_sub(offset, (float *)&MOBY(camera_moby)->update_dist, (float *)target); - length = fast_vec_dot(offset, track + 0x30); + fast_vec_sub( + target_to_camera_offset, (float *)&MOBY(camera_moby)->update_dist, (float *)target); + length = fast_vec_dot(target_to_camera_offset, track + 0x30); fast_vec_scale(part, track + 0x30, length); - fast_vec_sub(offset, offset, part); - if (fast_vec_length(offset) < 0.05f) { + fast_vec_sub(target_to_camera_offset, target_to_camera_offset, part); + if (fast_vec_length(target_to_camera_offset) < 0.05f) { if (random_integer_below(2)) *(float *)(camera_moby + 0x30) += 0.5f; else @@ -597,14 +598,14 @@ void reset_follow_camera_state_from_position(char *camera_moby) { /* Initialises the type-0 camera: fills its data blocks and seeds the first position. */ typedef struct CamE { - short h0; /* 0x00 */ - short h2; /* 0x02 */ - float f4; /* 0x04 */ - float f8; /* 0x08 */ - int iC; /* 0x0C */ - int i10; /* 0x10 */ - int i14; /* 0x14 */ - int i18; /* 0x18 */ + short height_state_timer; /* 0x00 */ + short h2; /* 0x02 */ + float f4; /* 0x04 */ + float f8; /* 0x08 */ + int iC; /* 0x0C */ + int i10; /* 0x10 */ + int i14; /* 0x14 */ + int i18; /* 0x18 */ int pad1C; } CamE; @@ -613,38 +614,38 @@ typedef struct CamA { char pad10[0x40]; float orbit_origin_position[4]; /* 0x50 */ char pad60[0x50]; - float fB0; /* 0xB0 */ - int iB4; /* 0xB4 */ - float fB8; /* 0xB8 */ - int iBC; /* 0xBC */ - int iC0; /* 0xC0 */ - unsigned char bC4; /* 0xC4 */ + float fB0; /* 0xB0 */ + int requested_target_height; /* 0xB4 */ + float fB8; /* 0xB8 */ + int target_height_interpolation_state; /* 0xBC */ + int followed_moby; /* 0xC0 */ + unsigned char bC4; /* 0xC4 */ char padC5; short hC6; /* 0xC6 */ char padC8[0xE]; unsigned char bD6; /* 0xD6 */ char padD7; - short hD8; /* 0xD8 */ - short hDA; /* 0xDA */ - float fDC; /* 0xDC */ - float fE0; /* 0xE0 */ - float fE4; /* 0xE4 */ - float fE8; /* 0xE8 */ + short hD8; /* 0xD8 */ + short target_height_override_requested; /* 0xDA */ + float fDC; /* 0xDC */ + float fE0; /* 0xE0 */ + float fE4; /* 0xE4 */ + float fE8; /* 0xE8 */ char padEC[4]; } CamA; typedef struct CamB { - float v0[4]; /* 0x00 */ - float v10[4]; /* 0x10 */ - int i20; /* 0x20 */ - int i24; /* 0x24 */ - int i28; /* 0x28 */ - float target_orbit_distance; /* 0x2C */ - float f30; /* 0x30 */ - int i34; /* 0x34 */ - int i38; /* 0x38 */ - short h3C; /* 0x3C */ - short h3E; /* 0x3E */ + float v0[4]; /* 0x00 */ + float v10[4]; /* 0x10 */ + int i20; /* 0x20 */ + int i24; /* 0x24 */ + int i28; /* 0x28 */ + float target_orbit_distance; /* 0x2C */ + float f30; /* 0x30 */ + int i34; /* 0x34 */ + int i38; /* 0x38 */ + short orbit_distance_override_pending; /* 0x3C */ + short orbit_height_override_pending; /* 0x3E */ char pad40[4]; int orbit_distance_interpolation_state; /* 0x44 */ float f48; /* 0x48 */ @@ -679,18 +680,18 @@ typedef struct Cam1A8 { typedef struct CamG { char pad0[0x10]; - float v10[4]; /* 0x10 */ - float v20[4]; /* 0x20 */ - float f30; /* 0x30 */ - short h34; /* 0x34 */ - short h36; /* 0x36 */ - short h38; /* 0x38 */ - short h3A; /* 0x3A */ - float f3C; /* 0x3C */ - float f40; /* 0x40 */ - float f44; /* 0x44 */ - int i48; /* 0x48 */ - int consecutive_camera_obstruction_frames; /* 0x4C */ + float v10[4]; /* 0x10 */ + float v20[4]; /* 0x20 */ + float f30; /* 0x30 */ + short h34; /* 0x34 */ + short h36; /* 0x36 */ + short orbit_endpoint_collision_direction_class; /* 0x38 */ + short force_orbit_retraction_decay; /* 0x3A */ + float f3C; /* 0x3C */ + float f40; /* 0x40 */ + float f44; /* 0x44 */ + int i48; /* 0x48 */ + int consecutive_camera_obstruction_frames; /* 0x4C */ } CamG; typedef struct Cam220 { @@ -784,7 +785,7 @@ void follow_camera_setup(Moby_2E8210 *camera_moby) { a = &camera_moby->cam->a; qcopy(a->pos, D_0013F4D0_2E8210); a->fB0 = 1.5f; - a->iC0 = D_0013F450_2E8210.followed_hero_moby; + a->followed_moby = D_0013F450_2E8210.followed_hero_moby; a->bC4 = 0; a->bD6 = 0; a->fE0 = 0.2f; @@ -794,9 +795,9 @@ void follow_camera_setup(Moby_2E8210 *camera_moby) { a->fB8 = 0.005f; a->hC6 = 0; a->hD8 = 0; - a->iB4 = 0; - a->hDA = 0; - a->iBC = 0; + a->requested_target_height = 0; + a->target_height_override_requested = 0; + a->target_height_interpolation_state = 0; b = &camera_moby->cam->b; b->target_orbit_distance = 4.64f; @@ -809,8 +810,8 @@ void follow_camera_setup(Moby_2E8210 *camera_moby) { b->i28 = 0; b->i20 = 0; b->i24 = 0; - b->h3C = 0; - b->h3E = 0; + b->orbit_distance_override_pending = 0; + b->orbit_height_override_pending = 0; b->orbit_distance_interpolation_state = 0; b->orbit_height_interpolation_state = 0; @@ -822,7 +823,7 @@ void follow_camera_setup(Moby_2E8210 *camera_moby) { D_L00_0015EF40 = 0.75f; e = camera_moby->cam; - e->e.h0 = 0; + e->e.height_state_timer = 0; camera_height_state = &e->e; camera_height_state->i10 = 0; camera_height_state->iC = 0; @@ -865,9 +866,9 @@ void follow_camera_setup(Moby_2E8210 *camera_moby) { r = scale_game_frames(0x7D0); g = &camera_state_base->g; g->f30 = 0.0f; - g->h3A = 0; + g->force_orbit_retraction_decay = 0; g->h36 = 0; - g->h38 = 0; + g->orbit_endpoint_collision_direction_class = 0; g->consecutive_camera_obstruction_frames = 0; g->h34 = r; g->f44 = l00_follow_camera_collision_probe_step_growth_factor; @@ -886,9 +887,9 @@ void follow_camera_setup(Moby_2E8210 *camera_moby) { reset_follow_camera_state_from_position(camera_moby); qcopy(camera_moby->v40, camera_moby->v0); if (D_L00_00166E04->camera_class == 7 && D_0013F450_2E8210.h30C == 0) { - e->e.h0 = 0; + e->e.height_state_timer = 0; } else { - camera_height_state->h0 = scale_game_frames(D_L00_00161D24_gp); + camera_height_state->height_state_timer = scale_game_frames(D_L00_00161D24_gp); } } else { follow_camera_reset(camera_moby); @@ -904,7 +905,7 @@ void follow_camera_setup(Moby_2E8210 *camera_moby) { orbit_distance_shortfall = b->target_orbit_distance - fast_vec_length(orbit_offset_remainder); g->f30 = orbit_distance_shortfall; if (orbit_distance_shortfall < -0.1f) { - g->h3A = 1; + g->force_orbit_retraction_decay = 1; } camera_height_state->f8 = b->f30; camera_height_state->f4 = a->fB0; diff --git a/src/overlays/shared/camera/follow_camera_springs.c b/src/overlays/shared/camera/follow_camera_springs.c index 6b0cf64ece..13dce08966 100644 --- a/src/overlays/shared/camera/follow_camera_springs.c +++ b/src/overlays/shared/camera/follow_camera_springs.c @@ -54,11 +54,11 @@ typedef struct { typedef struct { u8 p0[0x90]; - u8 x90[0x34]; - u8 xc4; - u8 xc5; - s16 xc6; - f32 xc8; + u8 smoothed_target_position_storage[0x34]; + u8 current_attach_mode; + u8 previous_attach_mode; + s16 transition_timer_remaining; + f32 inverse_transition_duration; } A002e5730; typedef struct { @@ -1324,11 +1324,11 @@ void follow_camera_transition(O002e5730 *camera, void *input_offset) { f32 k, x, y; u8 attach_mode; if (fast_dec_timer_s16(m + 0x106)) - attach_state->xc5 = attach_state->xc4; - k = (f32)attach_state->xc6 * attach_state->xc8; + attach_state->previous_attach_mode = attach_state->current_attach_mode; + k = (f32)attach_state->transition_timer_remaining * attach_state->inverse_transition_duration; compute_follow_camera_target_position( - camera, input_offset, &target_position, attach_state->xc4); - attach_mode = attach_state->xc4; + camera, input_offset, &target_position, attach_state->current_attach_mode); + attach_mode = attach_state->current_attach_mode; if (attach_mode == CAM_ATTACH_BLEND_TO_PROJECT_HERO_FOCUS_VELOCITY || attach_mode == CAM_ATTACH_BLEND_FOCUS_VELOCITY_WITH_HOLD_TRANSITION || attach_mode == CAM_ATTACH_BLEND_OUT_FOCUS_VELOCITY || @@ -1346,7 +1346,8 @@ void follow_camera_transition(O002e5730 *camera, void *input_offset) { x = follow_camera_position_default_stiffness_gp; y = follow_camera_position_default_damping_gp; } - interpolate_follow_camera_position(camera, attach_state->x90, &target_position, x, y, 0.0f); + interpolate_follow_camera_position( + camera, attach_state->smoothed_target_position_storage, &target_position, x, y, 0.0f); } /* Updates the follow camera: eases its focus and offset vectors, then places diff --git a/src/overlays/shared/camera/grindrail_camera.c b/src/overlays/shared/camera/grindrail_camera.c index 0235ecb0d8..59c7bd4970 100644 --- a/src/overlays/shared/camera/grindrail_camera.c +++ b/src/overlays/shared/camera/grindrail_camera.c @@ -330,14 +330,14 @@ void update_camera_position_and_orientation_from_paths(Cam *camera_to_update) { CameraPreset *camera_path_preset = l01_camera_preset_rows_macro[camera_to_update->preset].preset; float rate = 0.01f; - int mode = camera_path_preset->kind; + int preset_kind = camera_path_preset->kind; int path_index = camera_path_preset->track_path; float lead = camera_path_preset->lead; float pitch_error; float look_length; float pitch_step; - if (mode == CAMERA_PRESET_KIND_RAIL_SEGMENT_SYNC) { + if (preset_kind == CAMERA_PRESET_KIND_RAIL_SEGMENT_SYNC) { Path *path; float dist; @@ -361,7 +361,7 @@ void update_camera_position_and_orientation_from_paths(Cam *camera_to_update) { camera_to_update->pos[1], rail_point[1], &data->vel[1], rate, 0.175f, 0.0f); camera_to_update->pos[2] = cam_interp_values( camera_to_update->pos[2], rail_point[2], &data->vel[2], rate, 0.175f, 0.0f); - } else if (mode == CAMERA_PRESET_KIND_MAPPED_PATHS) { + } else if (preset_kind == CAMERA_PRESET_KIND_MAPPED_PATHS) { Path *pathA = ((Path *)l01_paths[path_index]); Path *pathD = (Path *)l01_splines_macro[camera_path_preset->target].path; Path *pathC = ((Path *)l01_paths[camera_path_preset->path]); @@ -371,7 +371,7 @@ void update_camera_position_and_orientation_from_paths(Cam *camera_to_update) { int range_start = 0; int range_end = 0; int j = 0; - int count; + int hero_path_segment_count; int hero_path_range_start_segment; int camera_path_sample_segment; float node_fraction; @@ -407,11 +407,12 @@ void update_camera_position_and_orientation_from_paths(Cam *camera_to_update) { lead = pathB->nodes[j].x; } hero_path_range_start_segment = truncate_float_to_s32(pathB->nodes[j].w); - count = ((Hero *)(((char *)((char *)&hero))))->rail_segment - hero_path_range_start_segment; - if (count < 0) { - count += pathD->n; + hero_path_segment_count = + ((Hero *)(((char *)((char *)&hero))))->rail_segment - hero_path_range_start_segment; + if (hero_path_segment_count < 0) { + hero_path_segment_count += pathD->n; } - for (i = 0; i < count; i++) { + for (i = 0; i < hero_path_segment_count; i++) { sum += pathD->nodes[(hero_path_range_start_segment + i) % pathD->n].w; } sum += ((Hero *)(((char *)((char *)&hero))))->rail_seg_frac; diff --git a/src/overlays/shared/camera/hoverboard_camera.c b/src/overlays/shared/camera/hoverboard_camera.c index ae9b0b6bf7..ce3f6d3523 100644 --- a/src/overlays/shared/camera/hoverboard_camera.c +++ b/src/overlays/shared/camera/hoverboard_camera.c @@ -487,7 +487,7 @@ void update_orbit_camera_position(Camera_32B1F8 *camera) { V_32B1F8 radial; V_32B1F8 camera_position_before_height; V_32B1F8 goal; - V_32B1F8 offset; + V_32B1F8 focus_axis_offset; V_32B1F8 probe; V_32B1F8 step; Orbit_32B1F8 *orbit = camera->orbit; @@ -514,12 +514,12 @@ void update_orbit_camera_position(Camera_32B1F8 *camera) { fast_vec_sub(&rel, pos = &camera->pos, &focus); probe_step = 0; along = fast_vec_dot(&rel, &focus_state->axis); - fast_vec_normalize(&offset, &focus_state->axis, along); - fast_vec_sub(&lateral, &rel, &offset); + fast_vec_normalize(&focus_axis_offset, &focus_state->axis, along); + fast_vec_sub(&lateral, &rel, &focus_axis_offset); fast_vec_normalize(&radial, &lateral, spring->dist); fast_vec_add(&camera_position_before_height, &focus, &radial); - fast_vec_normalize(&offset, &focus_state->axis, spring->height); - fast_vec_add(&goal, &camera_position_before_height, &offset); + fast_vec_normalize(&focus_axis_offset, &focus_state->axis, spring->height); + fast_vec_add(&goal, &camera_position_before_height, &focus_axis_offset); fast_vec_add(&goal, &goal, &orbit->bias); camera->pos.x = cam_interp_values(camera->pos.x, goal.x, @@ -636,8 +636,8 @@ void update_orbit_camera_position(Camera_32B1F8 *camera) { update_hero_follow_camera_orbit(camera); qcopy(&focus_state->pos, &orbit->next); qcopy(&focus, &focus_state->pos); - fast_vec_normalize(&offset, &focus_state->axis, focus_state->dist); - fast_vec_add(&goal, &focus, &offset); + fast_vec_normalize(&focus_axis_offset, &focus_state->axis, focus_state->dist); + fast_vec_add(&goal, &focus, &focus_axis_offset); fast_vec_sub(&rel, &goal, &camera->pos); fast_vec_normalize(&rel, &rel, 1.0f); along = fast_vec_dot(&camera->fwd, &rel); diff --git a/src/overlays/shared/camera/moby_controlled_camera.c b/src/overlays/shared/camera/moby_controlled_camera.c index 6959c7ab29..f7c4887bf9 100644 --- a/src/overlays/shared/camera/moby_controlled_camera.c +++ b/src/overlays/shared/camera/moby_controlled_camera.c @@ -197,10 +197,10 @@ void apply_moby_camera_control(char *moby) { char **)(l02_moby_record_table + *(short *)(moby + 0x84) * 32 + 0x1c)); char *target; unsigned short *group; - int id; + int encoded_group_target; int index; int duration; - int count; + int wait_or_elapsed_frames; int end; int frames; int active; @@ -232,11 +232,11 @@ void apply_moby_camera_control(char *moby) { int e = *group; moby_table_base = D_L02_0015FFD8; first_group_target = (char *)(moby_table_base + ((e & 0x7fff) << 8)); - id = e; + encoded_group_target = e; } if (*(signed char *)(first_group_target + 0x20) < 0) { do { - if ((id << 16) < 0) { + if ((encoded_group_target << 16) < 0) { moby_camera_control_record->active_frames = -1; clear_follow_camera_volume_if_current(moby); return; @@ -246,7 +246,7 @@ void apply_moby_camera_control(char *moby) { int e = *group; moby_table_base = D_L02_0015FFD8; group_target_candidate = (char *)(moby_table_base + ((e & 0x7fff) << 8)); - id = e; + encoded_group_target = e; } } while (*(signed char *)(group_target_candidate + 0x20) < 0); target = group_target_candidate; @@ -301,23 +301,23 @@ void apply_moby_camera_control(char *moby) { moby_camera_control_record->active_frames += 1; if (moby_camera_control_record->mode == 1) { duration = scale_game_frames(300); - count = scale_game_frames(400); + wait_or_elapsed_frames = scale_game_frames(400); end = scale_game_frames(560); frames = scale_game_frames(200); } else { duration = scale_game_frames(300); - count = scale_game_frames(350); + wait_or_elapsed_frames = scale_game_frames(350); end = scale_game_frames(400); frames = scale_game_frames(200); } if (moby_camera_control_record->mode == 7) { if (controller_state.analog[0] != 0.0f) moby_camera_control_record->active_frames = duration; - count = moby_camera_control_record->active_frames; - if (count >= duration) { + wait_or_elapsed_frames = moby_camera_control_record->active_frames; + if (wait_or_elapsed_frames >= duration) { active = 0; moby_camera_control_record->idle_frames += 1; - if (duration + scale_game_frames(30) < count) { + if (duration + scale_game_frames(30) < wait_or_elapsed_frames) { scale = 0.1f; active = 1; } @@ -340,7 +340,7 @@ void apply_moby_camera_control(char *moby) { if (moby_camera_control_record->active_frames >= duration) { int waited = (unsigned short)moby_camera_control_record->idle_frames + 1; moby_camera_control_record->idle_frames = waited; - if ((short)waited >= count) { + if ((short)waited >= wait_or_elapsed_frames) { if (test_moby_camera_target_angle_limits(moby, 30.0f, 0.0f) != 0) moby_camera_control_record->active_frames = end; else diff --git a/src/overlays/shared/camera/orbit_camera.c b/src/overlays/shared/camera/orbit_camera.c index 02adf8d71c..e1ee51772f 100644 --- a/src/overlays/shared/camera/orbit_camera.c +++ b/src/overlays/shared/camera/orbit_camera.c @@ -43,7 +43,7 @@ typedef struct { typedef struct { u8 pad[0x50]; - u8 x50[0x20]; + u8 orbit_parameters[0x20]; u8 *m; } O002ebb00; @@ -132,6 +132,9 @@ void initialize_orbit_camera_from_parameters(char *camera_object, void initialize_orbit_camera_state(S002eb3b0 *camera_object) __asm__("FUN_L00_002eb3b0"); void initialize_orbit_camera_state(S002eb3b0 *camera_object) { + enum { + CAMERA_SELECTION_MODE_USE_PRESET_TRANSITION = 0 + }; Moby002eb3b0 *m; camera_object->m->fF0 = 0; m = camera_object->m; @@ -154,7 +157,7 @@ void initialize_orbit_camera_state(S002eb3b0 *camera_object) { zero_five_words(m); clear_twelve_bytes((u8 *)m + 0x90); initialize_orbit_camera_pose(camera_object); - camera_object->camera_selection_mode = 0; + camera_object->camera_selection_mode = CAMERA_SELECTION_MODE_USE_PRESET_TRANSITION; } void update_orbit_camera_pose(char *camera_object) __asm__("FUN_L00_002eb480"); @@ -360,6 +363,7 @@ void initialize_orbit_camera_from_hero(O002ebb00 *camera_object) { qcopy(camera_state + 0x80, raised_hero_position); zero_five_words(camera_state + 0x14); *(f32 *)(camera_state + 0x1C) = 4.64f; - copy_five_floats_with_rotation_offset(camera_object->x50, camera_state + 0x14, 0.0f); + copy_five_floats_with_rotation_offset( + camera_object->orbit_parameters, camera_state + 0x14, 0.0f); initialize_orbit_camera_state(camera_object); } diff --git a/src/overlays/shared/camera/path_flythrough_camera.c b/src/overlays/shared/camera/path_flythrough_camera.c index 2c2585b277..16760cf00e 100644 --- a/src/overlays/shared/camera/path_flythrough_camera.c +++ b/src/overlays/shared/camera/path_flythrough_camera.c @@ -205,7 +205,7 @@ void update_path_flythrough_camera(struct UpdateCam *cam) __asm__("FUN_L10_002f5 void update_path_flythrough_camera(struct UpdateCam *cam) { float initial_aim_or_previous_position[4]; - float offset[4]; + float orientation_vector[4]; float point[4]; float look_point[4]; s32 look_seg; @@ -238,19 +238,20 @@ void update_path_flythrough_camera(struct UpdateCam *cam) { (struct Moby *)(D_L10_0015FFD8_5f18 + *(int *)(flythrough_descriptor_record + 0x28) * 256); float *ofs = (float *)(flythrough_descriptor_record + 0x2C); - offset[0] = ofs[0]; - offset[1] = ofs[1]; - offset[2] = ofs[2]; - offset[3] = 0.0f; - transform_vector_by_basis(offset, offset, l10_path_camera_anchor_offset_basis); - fast_vec_add(point, &anchor->pos, offset); + orientation_vector[0] = ofs[0]; + orientation_vector[1] = ofs[1]; + orientation_vector[2] = ofs[2]; + orientation_vector[3] = 0.0f; + transform_vector_by_basis( + orientation_vector, orientation_vector, l10_path_camera_anchor_offset_basis); + fast_vec_add(point, &anchor->pos, orientation_vector); fast_vec_sub(initial_aim_or_previous_position, point, &cam->pos); } else { fast_vec_sub(initial_aim_or_previous_position, look_path + 0x10, &cam->pos); } - fast_vec_scale(offset, D_0013F5E0_5f18, -1.0f); + fast_vec_scale(orientation_vector, D_0013F5E0_5f18, -1.0f); fast_vec_normalize(&cam->forward, initial_aim_or_previous_position, 1.0f); - fast_vec_cross(&cam->right, &cam->forward, offset); + fast_vec_cross(&cam->right, &cam->forward, orientation_vector); fast_vec_normalize(&cam->right, &cam->right, 1.0f); fast_vec_cross(&cam->up, &cam->right, &cam->forward); } @@ -334,7 +335,7 @@ void update_path_flythrough_camera(struct UpdateCam *cam) { point[3] = 0.0f; transform_vector_by_basis(point, point, l10_path_camera_anchor_offset_basis); fast_vec_add(look_point, &anchor->pos, point); - fast_vec_sub(offset, look_point, &cam->pos); + fast_vec_sub(orientation_vector, look_point, &cam->pos); } else { char *look = ((char *)l10_paths[*(int *)(flythrough_descriptor_record + 0x24)]); look_seg = 0; @@ -347,10 +348,10 @@ void update_path_flythrough_camera(struct UpdateCam *cam) { run->dist / run->path_length * run->look_path_length); debug_point_5f18(point, 0.2f); noop_main_callback(look + 0x10, look + *(int *)look * 16); - fast_vec_sub(offset, point, &cam->pos); + fast_vec_sub(orientation_vector, point, &cam->pos); } fast_vec_scale(point, D_0013F5E0_5f18, -1.0f); - fast_vec_normalize(&cam->forward, offset, 1.0f); + fast_vec_normalize(&cam->forward, orientation_vector, 1.0f); fast_vec_cross(&cam->right, &cam->forward, point); fast_vec_normalize(&cam->right, &cam->right, 1.0f); fast_vec_cross(&cam->up, &cam->right, &cam->forward); diff --git a/src/overlays/shared/camera/scripted_camera.c b/src/overlays/shared/camera/scripted_camera.c index a89f866250..d94b74279b 100644 --- a/src/overlays/shared/camera/scripted_camera.c +++ b/src/overlays/shared/camera/scripted_camera.c @@ -129,14 +129,14 @@ void jet_mount(V_2eaaa0 *pa, V_2eaaa0 *pb, s32 mode, s32 transition_duration_fra void jet_end_mount(int mode) __asm__("FUN_L00_002eac18"); -void jet_end_mount(int mode) { +void jet_end_mount(int camera_handoff_request) { enum { JET_END_MOUNT_REPOSITION_BEHIND_HERO = 0 }; LevelCamera *camera_globals = &l00_camera_lui; char *current_follow_camera = ((char *)camera_globals->current_camera); initialize_camera_record_handoff_defaults(); - if (mode == JET_END_MOUNT_REPOSITION_BEHIND_HERO) { + if (camera_handoff_request == JET_END_MOUNT_REPOSITION_BEHIND_HERO) { float camera_up_offset[4] __attribute__((aligned(16))); float camera_backward_offset[4] __attribute__((aligned(16))); float hero_rotation_matrix[16] __attribute__((aligned(16))); @@ -149,14 +149,14 @@ void jet_end_mount(int mode) { FUN_001f9a10_2eac18(camera_position, hero_rotation - 0x10, camera_up_offset); FUN_001f9a10_2eac18(camera_position, camera_position, camera_backward_offset); *(short *)(((char *)camera_globals->current_camera) + 0x8A) = 1; - } else if (mode == 2) { + } else if (camera_handoff_request == 2) { *(char *)&camera_globals->transition_requested_kind = 0; *(short *)(current_follow_camera + 0x7E) = 2; camera_globals->transition_position_rate = 0.018f; camera_globals->transition_rotation_rate = 0.018f; - } else if (mode == 1) { + } else if (camera_handoff_request == 1) { *(short *)(current_follow_camera + 0x7E) = 3; - } else if (mode == 4) { + } else if (camera_handoff_request == 4) { *(char *)&camera_globals->transition_requested_kind = 0; *(short *)(current_follow_camera + 0x7E) = 5; camera_globals->transition_position_rate = 0.018f; diff --git a/src/overlays/shared/camera/swing_volume_camera.c b/src/overlays/shared/camera/swing_volume_camera.c index 6366372c65..b9c22fdcbc 100644 --- a/src/overlays/shared/camera/swing_volume_camera.c +++ b/src/overlays/shared/camera/swing_volume_camera.c @@ -12,6 +12,7 @@ #include "rnc/overlay/shared/camera/swing_volume_camera.h" #include "rnc/overlay/shared/camera.h" #include "rnc/overlay/shared/camera/follow_camera_set_up_spring.h" + #include "rnc/overlay/shared/rendering/culling/test_point_in_transformed_unit_cylinder.h" #include "rnc/rendering/clip_volume.h" @@ -20,7 +21,8 @@ enum { SWING_CAMERA_TYPE_ONE_FRAME_SWING = 3, SWING_CAMERA_TYPE_RETAIN_ON_CAMERA_REQUEST = 4, SWING_CAMERA_TYPE_SNAP_ON_ENTRY = 5, - SWING_CAMERA_TYPE_SLIDE_KEEP_ANGLE_AT_END = 10 + SWING_CAMERA_TYPE_SLIDE_KEEP_ANGLE_AT_END = 10, + SWING_CAMERA_TYPE_FORCE_FOLLOW_MODE = 11 }; typedef float CameraVec[4] __attribute__((aligned(16))); @@ -151,7 +153,7 @@ void volume_camera_swing(struct UpdateCam *swing_camera_record) { struct UpdateCam *current_follow_camera_record; Vec4f *pos; FollowCamState *rig; - FollowCamState *state; + FollowCamState *snap_camera_state; FollowCamBlock *follow; FollowCamTail *tail; FollowCamSnap *snap; @@ -212,25 +214,28 @@ void volume_camera_swing(struct UpdateCam *swing_camera_record) { follow = &rig->follow; tail = &rig->tail; snap = &rig->tail.snap; - /* A second pointer to the same state: retail keeps both. */ - state = rig; - reset = &state->reset; + /* A second pointer to the same snap_camera_state: retail keeps both. */ + snap_camera_state = rig; + reset = &snap_camera_state->reset; fast_vec_normalize(tail->eye_offset, tail->eye_offset, params->distance); tail->distance = params->distance; tail->pivot_height = params->height; follow->look_height = params->offset_scale; - qcopy(state->tail.saved_eye_offset, tail->eye_offset); + qcopy(snap_camera_state->tail.saved_eye_offset, tail->eye_offset); fast_vec_scale(gravity_offset_or_yaw_direction, &hero.gravity_dir, -tail->pivot_height); pos = ¤t_follow_camera_record->pos; - fast_vec_add(state->follow.pivot, &hero.motion.pos, gravity_offset_or_yaw_direction); - fast_vec_add(pos, state->follow.pivot, tail->eye_offset); + fast_vec_add( + snap_camera_state->follow.pivot, &hero.motion.pos, gravity_offset_or_yaw_direction); + fast_vec_add(pos, snap_camera_state->follow.pivot, tail->eye_offset); fast_vec_scale(gravity_offset_or_yaw_direction, &hero.gravity_dir, -follow->look_height); - fast_vec_add(state->follow.look_target, &hero.motion.pos, gravity_offset_or_yaw_direction); - qcopy(state->follow.snap_look_target, state->follow.look_target); + fast_vec_add(snap_camera_state->follow.look_target, + &hero.motion.pos, + gravity_offset_or_yaw_direction); + qcopy(snap_camera_state->follow.snap_look_target, snap_camera_state->follow.look_target); qcopy(follow->focus, &hero.motion.pos); - qcopy(state->follow.offset, follow->focus); - qcopy(state->position, pos); - qcopy(state->tail.snap.shot_pos, pos); + qcopy(snap_camera_state->follow.offset, follow->focus); + qcopy(snap_camera_state->position, pos); + qcopy(snap_camera_state->tail.snap.shot_pos, pos); snap->distance_reduction = tail->distance - fast_vec_length(tail->eye_offset); *(s32 *)&reset->pitch_bias = 0; reset->look_height = follow->look_height; @@ -250,7 +255,7 @@ void volume_camera_swing(struct UpdateCam *swing_camera_record) { set_follow_camera_blend_output_flags(); FOLLOW_CAM_STATE(current_follow_cam)->tail.mode = 0x14D; } - if (params->type == 11) { + if (params->type == SWING_CAMERA_TYPE_FORCE_FOLLOW_MODE) { set_follow_camera_blend_output_flags(); FOLLOW_CAM_STATE(current_follow_cam)->tail.mode = 2; } @@ -384,7 +389,7 @@ s32 volume_camera_swing_check(struct UpdateCam *swing_camera_record) { SwingCameraParams *params = camera_descriptors[swing_camera_record->descriptor_index].params; if (params->l_buttons_end == 1 && params->done != 0) return 0; - if (params->type == 11 && D_001413F4 != 2) + if (params->type == SWING_CAMERA_TYPE_FORCE_FOLLOW_MODE && D_001413F4 != 2) return 0; if ((params->type == SWING_CAMERA_TYPE_SLIDE_RELEASE_ANGLE_AT_END || params->type == SWING_CAMERA_TYPE_SLIDE_KEEP_ANGLE_AT_END) && diff --git a/src/overlays/shared/camera/target_tracking_camera.c b/src/overlays/shared/camera/target_tracking_camera.c index 0d273a04d9..8b179cd641 100644 --- a/src/overlays/shared/camera/target_tracking_camera.c +++ b/src/overlays/shared/camera/target_tracking_camera.c @@ -146,7 +146,7 @@ void update_target_tracking_camera_position(char *camera_object) { float *distance = (float *)(state + 0xa0); float *angle = (float *)(state + 0xb8); float position[4] __attribute__((aligned(16))); - float offset[4] __attribute__((aligned(16))); + float position_delta[4] __attribute__((aligned(16))); float direction[4] __attribute__((aligned(16))); float aim[4] __attribute__((aligned(16))); float target, rate, fraction, score, best, length; @@ -206,14 +206,14 @@ void update_target_tracking_camera_position(char *camera_object) { candidate = moby_table + (*neighbours & 0x7fff) * 0x100; if (candidate != current_target && (*(short *)(candidate + 0xa6) == 0x323 || *(short *)(candidate + 0xa6) == 0x2f6)) { - fast_vec_sub(offset, candidate + 0x10, current_target + 0x10); - FUN_001ff500_2ebe70(1.0f, direction, offset); + fast_vec_sub(position_delta, candidate + 0x10, current_target + 0x10); + FUN_001ff500_2ebe70(1.0f, direction, position_delta); aim[0] = fast_cos(hero.motion.rot.f[2]); aim[1] = fast_sin(hero.motion.rot.f[2]); aim[2] = 0.0f; score = fast_vec_dot(direction, aim); if (score > 0.0f) { - target = fast_vec_length(offset) - score * 10.0f; + target = fast_vec_length(position_delta) - score * 10.0f; if (target < best) { chosen = candidate; best = target; @@ -223,9 +223,13 @@ void update_target_tracking_camera_position(char *camera_object) { } while ((short)*neighbours++ >= 0); } if (chosen != 0) { - fast_vec_sub(offset, chosen + 0x10, current_target + 0x10); - *angle = rope_spring_turn( - turn, *angle, fast_arc_tan(offset[0], offset[1]), 0.00125f, 0.175f, 0.0f); + fast_vec_sub(position_delta, chosen + 0x10, current_target + 0x10); + *angle = rope_spring_turn(turn, + *angle, + fast_arc_tan(position_delta[0], position_delta[1]), + 0.00125f, + 0.175f, + 0.0f); } else if (*(int *)(follow + 0x40) == 1) *angle = rope_spring_turn(turn, *angle, @@ -261,12 +265,12 @@ void update_target_tracking_camera_position(char *camera_object) { position[2] += distance[4]; fast_vec_add(position, position, &hero.motion.pos); if (collision_line(camera_object + 0x30, position, 0x12, 0, 0) != 0) { - fast_vec_sub(offset, &D_L00_00173E60_2ebe70, camera_object + 0x30); + fast_vec_sub(position_delta, &D_L00_00173E60_2ebe70, camera_object + 0x30); collision_position = &D_L00_00173E60_2ebe70; - length = fast_vec_length(offset); + length = fast_vec_length(position_delta); if (length > 0.5f) { - FUN_001ff300_2ebe70((length - 0.5f) / length, offset, offset); - fast_vec_add(position, camera_object + 0x30, offset); + FUN_001ff300_2ebe70((length - 0.5f) / length, position_delta, position_delta); + fast_vec_add(position, camera_object + 0x30, position_delta); for (i = 0; i < 5; i++) { if (FUN_001f0d60_2ebe70(0.75f, position, 0, 0) != 0) qcopy(position, collision_position + 1); @@ -275,8 +279,8 @@ void update_target_tracking_camera_position(char *camera_object) { } } qcopy(camera_object + 0x30, position); - fast_vec_sub(offset, &hero.motion.pos, camera_object + 0x30); - *angle = fast_arc_tan(offset[0], offset[1]); + fast_vec_sub(position_delta, &hero.motion.pos, camera_object + 0x30); + *angle = fast_arc_tan(position_delta[0], position_delta[1]); *(int *)(angle + 1) = 0; } else qcopy(camera_object + 0x30, position); diff --git a/src/overlays/shared/cutscenes/update_cutscene_playback.c b/src/overlays/shared/cutscenes/update_cutscene_playback.c index 58c1fc2211..8d99d1d98c 100644 --- a/src/overlays/shared/cutscenes/update_cutscene_playback.c +++ b/src/overlays/shared/cutscenes/update_cutscene_playback.c @@ -109,7 +109,7 @@ typedef struct { s32 w8; u8 padc[0x14 - 0xC]; s32 debug_camera_mode; - s32 w18; + s32 frame_end_callback_selector; u8 pad1c[0xA0 - 0x1C]; s32 previous_step_held_buttons; u8 padA4[0xEC - 0xA4]; @@ -194,6 +194,9 @@ extern void update_game_frame_and_idle_counters(void) __asm__("FUN_L00_00297e70" void handle_pause_input(void) __asm__("FUN_L00_00297f78"); void handle_pause_input(void) { + enum { + DEBUG_CAMERA_MODE_UPDATE_HERO = 2 + }; s32 lvl, area, noctl, special; if (D_L00_0016C058.single_step_mode_countdown) { if (--D_L00_0016C058.single_step_mode_countdown == 0) @@ -316,7 +319,7 @@ void handle_pause_input(void) { update_camera(); } else if (D_L00_0016C058.debug_camera_mode) { update_debug_camera(); - if (D_L00_0016C058.debug_camera_mode == 2) + if (D_L00_0016C058.debug_camera_mode == DEBUG_CAMERA_MODE_UPDATE_HERO) update_hero_from_debug_camera(); } noop_main_callback(D_L00_00161028, 8); @@ -328,15 +331,15 @@ void handle_pause_input(void) { update_help_state(); if (DBG(2)) update_game_frame_and_idle_counters(); - if (D_L00_0016C058.w18 == 2) + if (D_L00_0016C058.frame_end_callback_selector == 2) no_op_main_callback_alt(); - if (D_L00_0016C058.w18 == 3) + if (D_L00_0016C058.frame_end_callback_selector == 3) no_op_main_callback_alt(); - if (D_L00_0016C058.w18 == 4) + if (D_L00_0016C058.frame_end_callback_selector == 4) no_op_main_callback_alt(); - if (D_L00_0016C058.w18 == 5) + if (D_L00_0016C058.frame_end_callback_selector == 5) no_op_main_callback_alt(); - if (D_L00_0016C058.w18 == 6) + if (D_L00_0016C058.frame_end_callback_selector == 6) no_op_main_callback_alt(); } @@ -492,7 +495,7 @@ typedef struct { float x18; char pad1c[0x28]; short n; - short x46; + short apply_hero_return_transform; char pad48[0x130]; M_298b18 *m[1]; } C_298b18; @@ -538,7 +541,7 @@ void finish_cutscene(void) { hero.motion.pos.f[2] = hero_candidate_z; hero.hidden = 0; update_hero_item_moby_flags(); - if (D_L00_0016C860_298b18.x46) { + if (D_L00_0016C860_298b18.apply_hero_return_transform) { f = probe_ground_height(D_L00_0016C860_298b18.v, 0, 0.5f); if (2.0f < f && absolute_float(D_L00_0016C860_298b18.x18 - f) < 2.0f) D_L00_0016C860_298b18.x18 = f; @@ -712,7 +715,7 @@ void update_cutscene_playback(void) { s32 done; s32 last; s32 i; - s32 id; + s32 current_keyframe_index; s32 audio_chunk_frame_threshold; Vec4 *keys; f32 fade; @@ -777,9 +780,9 @@ void update_cutscene_playback(void) { last = apply_cutscene_camera_key(); for (i = 0; i < D_L00_0016C860.h44; i++) { cutscene_moby = D_L00_0016C860.f178[i]; - id = D_L00_0016C860.f38 >> 1; - cutscene_moby->frame = id; - cutscene_moby->next_frame = id + 1; + current_keyframe_index = D_L00_0016C860.f38 >> 1; + cutscene_moby->frame = current_keyframe_index; + cutscene_moby->next_frame = current_keyframe_index + 1; update_moby_animation_state(cutscene_moby); cutscene_moby->blend = convert_integer_to_float(D_L00_0016C860.f38 & 1) * 0.5f; if (last && (D_L00_0016C860.f38 & 1)) { @@ -899,7 +902,7 @@ extern void raise_kernel_trap(void) __asm__("FUN_001f97b0"); extern char mpeg_memory_alloc_error_format[] __asm__("D_L00_001E9480"); /* Sets up a movie load, then uploads image data from the level buffer to GS memory in two runs of strips. */ -void prepare_movie_playback(s32 sector, s32 size, s32 language) { +void prepare_movie_playback(s32 sector, s32 movie_file_size, s32 language) { s32 image[24]; s32 large_count, small_count, gs_address, source, i, j; @@ -908,7 +911,7 @@ void prepare_movie_playback(s32 sector, s32 size, s32 language) { sound_stop_all_sounds(); music_stop(); D_L00_00161048_macro = sector; - D_L00_0016104C_macro = size; + D_L00_0016104C_macro = movie_file_size; D_L00_00161050_macro = language; D_L00_0015F5D8 = 1; fade_to_black(4); diff --git a/src/overlays/shared/enemies/blarg_elite_commando.c b/src/overlays/shared/enemies/blarg_elite_commando.c index d4fee5b356..d2ff046c03 100644 --- a/src/overlays/shared/enemies/blarg_elite_commando.c +++ b/src/overlays/shared/enemies/blarg_elite_commando.c @@ -413,9 +413,9 @@ void blarg_elite_commando_update(char *commando_moby) { fast_vec_normalize(delta, delta, frame_time * 20.0f); spawn_blarg_elite_commando_rocket(commando_moby, delta, (char *)scratch_vector); } else if (is_value_within_interpolated_window(commando_moby, 10.0f)) { - int count = commando_data->rocket_fire_cycle_count + 1; - commando_data->rocket_fire_cycle_count = count; - if ((short)count >= 3) { + int updated_fire_cycle_count = commando_data->rocket_fire_cycle_count + 1; + commando_data->rocket_fire_cycle_count = updated_fire_cycle_count; + if ((short)updated_fire_cycle_count >= 3) { MOBY(commando_moby)->state = COMMANDO_STATE_IDLE; if (((unsigned char *)commando_moby)[0x53] != 0) blend_moby_animation(commando_moby, 0, 0, scale_game_frames(10)); @@ -807,7 +807,7 @@ void emit_blarg_elite_commando_death_particles(void *moby) { float delta[4], velocity[4], position[4]; L16ParticleChoices first_particle_choices, second_particle_choices; float distance, range, delay; - int count; + int particle_count; void *origin; float *joint = position; void *movement; @@ -816,16 +816,16 @@ void emit_blarg_elite_commando_death_particles(void *moby) { clear_u64_value(velocity); distance = fast_vec_length(delta); if (distance < 8.0f) - count = truncate_float_to_s32(distance) + 2; + particle_count = truncate_float_to_s32(distance) + 2; else - count = 10; + particle_count = 10; range = 0.0f; if (distance < 7.0f) range = 7.0f - distance; origin = position; movement = velocity; - if (count > 0) { - int remaining = count; + if (particle_count > 0) { + int remaining = particle_count; do { float sample; int *first_choice, *second_choice, duration1, duration2; diff --git a/src/overlays/shared/enemies/blarg_helicopter.c b/src/overlays/shared/enemies/blarg_helicopter.c index 132370b608..9e794b94da 100644 --- a/src/overlays/shared/enemies/blarg_helicopter.c +++ b/src/overlays/shared/enemies/blarg_helicopter.c @@ -927,13 +927,16 @@ char *spawn_homing_spark_projectile(char *velocity, int lifetime_frames, float target_height) { + enum { + HOMING_SPARK_PROJECTILE_ACTIVE = 1 + }; char *spawned_moby = (char *)create_moby(0x350); char *projectile_pvars; if (spawned_moby != 0) { MOBY(spawned_moby)->update_dist = 0xFF; MOBY(spawned_moby)->draw_dist = 0x7E; MOBY(spawned_moby)->visible = 1; - MOBY(spawned_moby)->state = 1; + MOBY(spawned_moby)->state = HOMING_SPARK_PROJECTILE_ACTIVE; projectile_pvars = ((char *)MOBY(spawned_moby)->pvars); qcopy(&MOBY(spawned_moby)->pos, spawn_position); qcopy(projectile_pvars, velocity); diff --git a/src/overlays/shared/enemies/blarg_paratrooper.c b/src/overlays/shared/enemies/blarg_paratrooper.c index e280d885fa..e1a9046f21 100644 --- a/src/overlays/shared/enemies/blarg_paratrooper.c +++ b/src/overlays/shared/enemies/blarg_paratrooper.c @@ -163,6 +163,9 @@ void blarg_paratrooper_update(char *moby) { enum { PARATROOPER_TARGET_UNAVAILABLE = 2 }; + enum { + PARATROOPER_REMOVAL_REQUESTED = 2 + }; Paratrooper302618 *paratrooper_private_state = (Paratrooper302618 *)(*(char **)((char *)(moby) + 0x78)); char *path; @@ -199,7 +202,7 @@ void blarg_paratrooper_update(char *moby) { (*(unsigned char *)((char *)(moby) + 0x20)) = 8; } if ((*(unsigned char *)((char *)(moby) + 0x20)) != 0 && - paratrooper_private_state->removal_status == 2) { + paratrooper_private_state->removal_status == PARATROOPER_REMOVAL_REQUESTED) { mark_moby_for_removal(moby); if (paratrooper_private_state->bone_attachment_moby) mark_moby_for_removal(paratrooper_private_state->bone_attachment_moby); @@ -549,8 +552,8 @@ void blarg_paratrooper_update(char *moby) { } break; case PARATROOPER_STATE_KNOCKBACK_RECOVERY: { - int flags = step_moby_motion(moby, (char *)paratrooper_private_state + 0x70); - if (flags & 0x40) { + int motion_result_flags = step_moby_motion(moby, (char *)paratrooper_private_state + 0x70); + if (motion_result_flags & 0x40) { if (vector_distance_xy(&MOBY(moby)->pos, target + 0x10) < melee302618) { melee_state: (*(unsigned char *)((char *)(moby) + 0x20)) = 7; @@ -568,7 +571,7 @@ void blarg_paratrooper_update(char *moby) { moby, 6, 0, ticks + random_int_between(0, scale_game_frames(7))); } } - } else if (flags & 0x120) { + } else if (motion_result_flags & 0x120) { delete_moby: mark_moby_for_removal(moby); } @@ -616,6 +619,9 @@ void update_blarg_paratrooper_damage_and_state(char *moby) { enum { PARATROOPER_HIT_STATUS_NO_HIT_OR_SUPPRESSED = 1 }; + enum { + PARATROOPER_TARGET_UNAVAILABLE = 2 + }; Paratrooper302618 *paratrooper_instance_state; char *target, *child, *attached, *chased; float pos[4] __attribute__((aligned(16))); @@ -807,7 +813,7 @@ void update_blarg_paratrooper_damage_and_state(char *moby) { qcopy(¶trooper_instance_state->path_search_point, chased + 0x10); } else { paratrooper_instance_state->target_moby = 0; - paratrooper_instance_state->target_selection_status = 2; + paratrooper_instance_state->target_selection_status = PARATROOPER_TARGET_UNAVAILABLE; } } if (*(int *)¶trooper_instance_state->target_moby == 0) diff --git a/src/overlays/shared/enemies/blarg_ship_shot.c b/src/overlays/shared/enemies/blarg_ship_shot.c index bd7894c284..e61dcc9473 100644 --- a/src/overlays/shared/enemies/blarg_ship_shot.c +++ b/src/overlays/shared/enemies/blarg_ship_shot.c @@ -39,7 +39,7 @@ char *spawn_blarg_ship_shot(int owner, char *spawn_blarg_ship_shot(int firing_moby, float *launch_direction, float *spawn_position, - float size, + float draw_distance, float step_length, float z) { @@ -50,7 +50,7 @@ char *spawn_blarg_ship_shot(int firing_moby, MOBY(spawned_moby)->collision = 0; *(int *)(moby_vars + 0x1C) = firing_moby; MOBY(spawned_moby)->update_dist = 0xFF; - MOBY(spawned_moby)->draw_dist = truncate_float_to_s32(size); + MOBY(spawned_moby)->draw_dist = truncate_float_to_s32(draw_distance); *(int *)(spawned_moby + 0x40) = 0; MOBY(spawned_moby)->visible = 1; MOBY(spawned_moby)->rot.y = @@ -64,7 +64,7 @@ char *spawn_blarg_ship_shot(int firing_moby, step_length = fast_vec_length(launch_direction); } qcopy(&MOBY(spawned_moby)->pos, spawn_position); - size_length_ratio = truncate_float_to_s32(size / step_length); + size_length_ratio = truncate_float_to_s32(draw_distance / step_length); *(int *)(moby_vars + 0x14) = size_length_ratio; *(float *)(moby_vars + 0x20) = z; *(int *)(moby_vars + 0x18) = size_length_ratio - 13; diff --git a/src/overlays/shared/enemies/bolt_thief.c b/src/overlays/shared/enemies/bolt_thief.c index b6366685fb..f4bd6cb2fa 100644 --- a/src/overlays/shared/enemies/bolt_thief.c +++ b/src/overlays/shared/enemies/bolt_thief.c @@ -96,7 +96,7 @@ void emit_moby_offset_particles(unsigned char *moby) { int j; int signed_particle_variation; int life; - float size; + float particle_spawn_size; fast_vec_scale(emission_position_offset, moby + 0xC0, particle_pair_moby_c0_offset_scale_gp); fast_vec_add(particle_spawn_position, &MOBY(moby)->pos, emission_position_offset); fast_vec_scale(emission_position_offset, moby + 0xE0, particle_pair_moby_e0_offset_scale_gp); @@ -128,7 +128,7 @@ void emit_moby_offset_particles(unsigned char *moby) { fast_vec_add(particle_spawn_position, particle_spawn_position, emission_position_offset); signed_particle_variation = 0x10; life = scale_game_frames(2); - size = 80000.0f; + particle_spawn_size = 80000.0f; for (j = 0; j < 3; j++) { P_eca8 *part; T_eca8 *tail; @@ -138,7 +138,7 @@ void emit_moby_offset_particles(unsigned char *moby) { 1.0f, signed_particle_variation, D_L14_0015F580_macro, - size, + particle_spawn_size, 0x7FFFFFFF); if (part) { tail = &part->tail; @@ -149,7 +149,7 @@ void emit_moby_offset_particles(unsigned char *moby) { tail->bB = part->hA; } signed_particle_variation = -signed_particle_variation; - size -= 20000.0f; + particle_spawn_size -= 20000.0f; life *= 2; } } diff --git a/src/overlays/shared/enemies/bolt_thief_mine.c b/src/overlays/shared/enemies/bolt_thief_mine.c index d6cea15902..a1b6b60c22 100644 --- a/src/overlays/shared/enemies/bolt_thief_mine.c +++ b/src/overlays/shared/enemies/bolt_thief_mine.c @@ -74,13 +74,16 @@ void bolt_thief_mine_update(struct Moby *moby) __asm__("FUN_L14_002ff640"); /* Moby class 933 */ void bolt_thief_mine_update(struct Moby *moby) { + enum { + MINE_DETONATION_HIT_STATUS_MIN = 2 + }; FloatMineVars *floating_mine_private_vars = (FloatMineVars *)moby->pvars; union { HitInfo info; float sphere[4]; } scratch; float explosion_vector[4]; - int count; + int hit_status; MobyHit *hit; float glow_pulse_sine; int glow_red_intensity; @@ -121,8 +124,9 @@ void bolt_thief_mine_update(struct Moby *moby) { scratch.info.aim_height = 0.5f; scratch.info.look_height = 7; scratch.info.unk3B = 0xFF; - resolve_moby_hit_response(moby, hit, &scratch.info, 0, &count, 0, 0, 4); - if ((count >= 2 && hit != 0 && hit->moby->oclass != 0x283) || + resolve_moby_hit_response(moby, hit, &scratch.info, 0, &hit_status, 0, 0, 4); + if ((hit_status >= MINE_DETONATION_HIT_STATUS_MIN && hit != 0 && + hit->moby->oclass != 0x283) || hero.coll_hit_moby == (u8 *)moby) { clear_u64_value(explosion_vector); allocate_voice_for_target_entry(0, 0, moby); diff --git a/src/overlays/shared/enemies/bomber_jet_projectile.c b/src/overlays/shared/enemies/bomber_jet_projectile.c index 3586a5e1ba..aff8283127 100644 --- a/src/overlays/shared/enemies/bomber_jet_projectile.c +++ b/src/overlays/shared/enemies/bomber_jet_projectile.c @@ -353,7 +353,7 @@ void explosive_projectile_update(struct Moby *moby) { for (spark = 0; cutscene_active_macro != 0 ? spark < 10 : spark < 40; spark++) { Vec_2F7E08 spark_vel; float speed; - float size; + float spark_particle_size; { Vec_2F7E08 random_dir; *(u128_f6 *)&random_dir = 0; @@ -365,17 +365,17 @@ void explosive_projectile_update(struct Moby *moby) { speed = random_float_between(10.0f, 40.0f) * D_0015ED6C; fast_vec_normalize( &spark_vel, &spark_vel, cutscene_active_macro != 0 ? speed * 0.2f : speed); - size = 105000.0f; + spark_particle_size = 105000.0f; fast_vec_add(&spark_vel, &spark_vel, projectile_vars); if (cutscene_active_macro != 0) { - size = 21000.0f; + spark_particle_size = 21000.0f; } spawn_shrinking_effect_particle_with_gravity_and_secondary_spawns( &(*(Vec_2F7E08 *)&moby->pos), &spark_vel, 0x4F007FFF, 0x1F00007F, - size, + spark_particle_size, random_int_between(scale_game_frames(0x5A), scale_game_frames(0x96)) / rate_divisor, 1, -1, diff --git a/src/overlays/shared/enemies/frog.c b/src/overlays/shared/enemies/frog.c index 1d4f215ba4..b857231a6e 100644 --- a/src/overlays/shared/enemies/frog.c +++ b/src/overlays/shared/enemies/frog.c @@ -257,23 +257,30 @@ void frog_update(unsigned char *moby) { enum { FROG_STATE_RESPAWN = 0xF }; + enum { + FROG_TARGET_MODE_NO_PURSUIT_TARGET = 2 + }; + enum { + FROG_VISIBILITY_OVERRIDE_RESTORE = 0, + FROG_VISIBILITY_OVERRIDE_APPLY = 2 + }; float A[4] __attribute__((aligned(16))); float B[4] __attribute__((aligned(16))); float C[4] __attribute__((aligned(16))); float D[4] __attribute__((aligned(16))); FrogVars *frog_instance_vars; unsigned char *target; - int mode; + int visibility_override_mode; frog_instance_vars = (FrogVars *)MOBY(moby)->pvars; if (l06_frog_updates_disabled != 0) { return; } - mode = D_L06_0015F5C4; - if (mode == 2 && ((MOBY(moby)->flags ^ 1) & 1)) { + visibility_override_mode = D_L06_0015F5C4; + if (visibility_override_mode == 2 && ((MOBY(moby)->flags ^ 1) & 1)) { frog_instance_vars->hidden = 1; MOBY(moby)->flags |= 0x41; - } else if (mode == 0 && frog_instance_vars->hidden != 0) { + } else if (visibility_override_mode == 0 && frog_instance_vars->hidden != 0) { frog_instance_vars->hidden = 0; MOBY(moby)->flags &= 0xFFBE; } @@ -481,7 +488,8 @@ void frog_update(unsigned char *moby) { fast_vec_normalize(B, moby + 0xC0, frog_instance_vars->movement_speed * D_0015ED6C_gp); FUN_L06_002e9b60_c(moby, B, 1, 0.3f, 0.3f); } - if (frog_instance_vars->pursuit_target_mode != 2 && random_integer_below(9) == 0) { + if (frog_instance_vars->pursuit_target_mode != FROG_TARGET_MODE_NO_PURSUIT_TARGET && + random_integer_below(9) == 0) { frog_instance_vars->turn_angle = random_float_between(-frog_instance_vars->turn_range_degrees, frog_instance_vars->turn_range_degrees) * @@ -515,7 +523,7 @@ void frog_update(unsigned char *moby) { MOBY(moby)->state = FROG_STATE_ATTACK; if (MOBY(moby)->prev_seq != 5) blend_moby_animation(moby, 5, 4, scale_game_frames(10)); - } else if (frog_instance_vars->pursuit_target_mode == 2) { + } else if (frog_instance_vars->pursuit_target_mode == FROG_TARGET_MODE_NO_PURSUIT_TARGET) { MOBY(moby)->state = FROG_STATE_RETURN_HOME; } break; @@ -597,7 +605,7 @@ void frog_update(unsigned char *moby) { MOBY(moby)->state = FROG_STATE_WANDER; if (MOBY(moby)->prev_seq != 4) blend_moby_animation(moby, 4, 0, scale_game_frames(10)); - } else if (frog_instance_vars->pursuit_target_mode != 2) { + } else if (frog_instance_vars->pursuit_target_mode != FROG_TARGET_MODE_NO_PURSUIT_TARGET) { MOBY(moby)->state = FROG_STATE_APPROACH_TARGET; } else if (frog_instance_vars->blink_countdown != 0) { MOBY(moby)->state = FROG_STATE_BLINKING_APPROACH_TARGET; @@ -827,7 +835,7 @@ void destroy_frog_child_moby(struct Moby *moby) { float origin[4]; float debris_velocity[4]; float pos[4]; - float offset[4]; + float debris_spawn_offset[4]; FrogVars *frog_vars; int i; int j; @@ -838,11 +846,11 @@ void destroy_frog_child_moby(struct Moby *moby) { origin[2] = origin[2] + 0.5f; for (i = 3; i >= 0; i--) { float speed = random_float_between(1.0f, 4.0f) * frame_time; - *(u128 *)offset = 0; - offset[0] = random_float_between(-0.625f, 0.625f); - offset[1] = random_float_between(-0.625f, 0.625f); - offset[2] = random_float_between(0.0f, 1.25f); - *(u128 *)pos = *(u128 *)offset; + *(u128 *)debris_spawn_offset = 0; + debris_spawn_offset[0] = random_float_between(-0.625f, 0.625f); + debris_spawn_offset[1] = random_float_between(-0.625f, 0.625f); + debris_spawn_offset[2] = random_float_between(0.0f, 1.25f); + *(u128 *)pos = *(u128 *)debris_spawn_offset; fast_vec_normalize(debris_velocity, pos, speed); fast_vec_add(pos, pos, origin); spawn_crate_debris( @@ -850,11 +858,11 @@ void destroy_frog_child_moby(struct Moby *moby) { } for (j = 7; j >= 0; j--) { float speed = random_float_between(1.0f, 4.0f) * frame_time; - *(u128 *)offset = 0; - offset[0] = random_float_between(-0.625f, 0.625f); - offset[1] = random_float_between(-0.625f, 0.625f); - offset[2] = random_float_between(0.0f, 1.25f); - *(u128 *)pos = *(u128 *)offset; + *(u128 *)debris_spawn_offset = 0; + debris_spawn_offset[0] = random_float_between(-0.625f, 0.625f); + debris_spawn_offset[1] = random_float_between(-0.625f, 0.625f); + debris_spawn_offset[2] = random_float_between(0.0f, 1.25f); + *(u128 *)pos = *(u128 *)debris_spawn_offset; fast_vec_normalize(debris_velocity, pos, speed); fast_vec_add(pos, pos, origin); spawn_crate_debris(((void *)frog_vars->child), @@ -906,14 +914,14 @@ void spawn_moby_directional_spark_bursts(struct Moby *moby, Vec4 *spark_push_dir moby_spark_vertical_velocity_correction_scale_gp * frame_time_sq * (float)scale_game_frames(moby_spark_second_frame_count_base_gp); for (j = 0; j < moby_sparks_per_burst_gp; j++) { - float size = random_float_between(0.5f, 1.5f); + float spark_size_scale = random_float_between(0.5f, 1.5f); int color0; int color1; int life; int fade; float third_frame_count_base; - burst_spark_velocity.f[3] = size * D_L06_00161C40; - jittered_spark_velocity.f[3] = size * D_L06_00161C44; + burst_spark_velocity.f[3] = spark_size_scale * D_L06_00161C40; + jittered_spark_velocity.f[3] = spark_size_scale * D_L06_00161C44; add_random_offset_to_vector_xyz(&pos, moby_spark_position_jitter_bound_gp); add_random_offset_to_vector_xyz(&jittered_spark_velocity, moby_spark_velocity_jitter_bound_gp * frame_time); diff --git a/src/overlays/shared/enemies/gadgebot.c b/src/overlays/shared/enemies/gadgebot.c index c12420fcea..0ea69f5a85 100644 --- a/src/overlays/shared/enemies/gadgebot.c +++ b/src/overlays/shared/enemies/gadgebot.c @@ -1292,7 +1292,7 @@ void assign_gadgebot_attack_targets(void) { float max_spread = 1.7453293f; int weight = 0; int m; - int count; + int selected_moby_count; int wanted; int target; char *target_capacity_record; @@ -1305,12 +1305,12 @@ void assign_gadgebot_attack_targets(void) { } weights[index] = -1; target = targets[index]; - count = 0; + selected_moby_count = 0; wanted = 1; target_capacity_record = (char *)get_moby_target_info(target); if (target_capacity_record != 0) wanted = S16(target_capacity_record, 4); - while (count < wanted) { + while (selected_moby_count < wanted) { float best_score = 9999999.0f; char *best_moby = 0; for (i = 0; i < moby_count; i++) { @@ -1329,21 +1329,21 @@ void assign_gadgebot_attack_targets(void) { if (best_moby == 0) break; ((GbSlots *)PVARS(best_moby))->claimed_target = target; - selected[count] = best_moby; - count++; + selected[selected_moby_count] = best_moby; + selected_moby_count++; } - if (count != 0) { - float gaps = (float)(count - 1); + if (selected_moby_count != 0) { + float gaps = (float)(selected_moby_count - 1); float spread = gaps * spread_per_gap; float step; float first_angle; if (max_spread < spread) spread = 1.7453293f; step = 0.0f; - if (count >= 2) + if (selected_moby_count >= 2) step = spread / gaps; first_angle = spread * -0.5f; - for (i = 0; i < count; i++) { + for (i = 0; i < selected_moby_count; i++) { char *vars = PVARS(selected[i]); ((GbSlots *)vars)->spread_angle = fast_add_rotations(first_angle, (float)i * step); } @@ -1575,18 +1575,19 @@ int process_gadgebot_interactions(char *moby, int flag) __asm__("FUN_L06_002f32f int process_gadgebot_interactions(char *moby, int flag) { char **moby_ref; Iter32f0 iter; - char *state; + char *gadgebot_private_vars; int list_id; int *cursor; int interaction_candidate_moby; - state = ((char *)MOBY(moby)->pvars); + gadgebot_private_vars = ((char *)MOBY(moby)->pvars); iter.out = 0; - list_id = *(int *)(state + 0x30C); + list_id = *(int *)(gadgebot_private_vars + 0x30C); if (list_id != -1) { get_first_moby_in_group(&iter.list, list_id, 0, 0); while (iter.list != 0) { - if (process_gadgebot_interaction_candidate(moby, state, iter.list, flag, &iter.out)) + if (process_gadgebot_interaction_candidate( + moby, gadgebot_private_vars, iter.list, flag, &iter.out)) return iter.out; get_next_moby_in_group(&iter.list, iter.list, 0, 0); } @@ -1596,7 +1597,7 @@ int process_gadgebot_interactions(char *moby, int flag) { while (interaction_candidate_moby != 0) { moby_ref = &moby; if (process_gadgebot_interaction_candidate( - *moby_ref, state, interaction_candidate_moby, flag, &iter.out)) + *moby_ref, gadgebot_private_vars, interaction_candidate_moby, flag, &iter.out)) return iter.out; cursor++; interaction_candidate_moby = *cursor; diff --git a/src/overlays/shared/enemies/hero_seeking_mine.c b/src/overlays/shared/enemies/hero_seeking_mine.c index ccb4552121..2ada28cf58 100644 --- a/src/overlays/shared/enemies/hero_seeking_mine.c +++ b/src/overlays/shared/enemies/hero_seeking_mine.c @@ -211,18 +211,18 @@ void draw_group_moby_effect_quads(unsigned char *moby) { effect_quad.alpha = 0x8000000044LL; effect_quad.clamp = 0; { - int count = 3; + int uv_pair_countdown = 3; float *source = group_moby_effect_quad_uvs; float *v = &effect_quad.uv[0][1]; float *u = &effect_quad.uv[0][0]; do { - count--; + uv_pair_countdown--; *u = source[0]; *v = source[1]; source += 2; u += 2; v += 2; - } while (count >= 0); + } while (uv_pair_countdown >= 0); } group_moby_entry = (unsigned short *)D_L15_001ABE40[MOBY(moby)->group]; do { diff --git a/src/overlays/shared/enemies/large_amoeboid.c b/src/overlays/shared/enemies/large_amoeboid.c index d950133a99..b4225816b9 100644 --- a/src/overlays/shared/enemies/large_amoeboid.c +++ b/src/overlays/shared/enemies/large_amoeboid.c @@ -236,6 +236,9 @@ void large_amoeboid_update(unsigned char *moby) { enum { LARGE_AMOEBOID_DORMANT = 12 }; + enum { + AMOEBOID_TARGET_STATUS_UNAVAILABLE = 2 + }; LargeAmoeboidVars *large_amoeboid_vars = (LargeAmoeboidVars *)MOBY(moby)->pvars; char *target; char *target_position; @@ -317,7 +320,7 @@ void large_amoeboid_update(unsigned char *moby) { } break; case LARGE_AMOEBOID_TRY_ACQUIRE_TARGET_PATH: - if (large_amoeboid_vars->target_selection_status != 2) { + if (large_amoeboid_vars->target_selection_status != AMOEBOID_TARGET_STATUS_UNAVAILABLE) { if (FUN_00213260(4) == 0) { path_hit = follow_path((int *)(&large_amoeboid_vars->path_ids), 1, @@ -334,7 +337,8 @@ void large_amoeboid_update(unsigned char *moby) { large_amoeboid_vars->path_heading_offset = random_float_between(-0.34906584f, 0.34906584f); } else { - large_amoeboid_vars->target_selection_status = 2; + large_amoeboid_vars->target_selection_status = + AMOEBOID_TARGET_STATUS_UNAVAILABLE; } } } @@ -387,7 +391,7 @@ void large_amoeboid_update(unsigned char *moby) { large_amoeboid_vars->path_heading_offset = angle; large_amoeboid_vars->move_control.max_speed = distance; } else { - large_amoeboid_vars->target_selection_status = 2; + large_amoeboid_vars->target_selection_status = AMOEBOID_TARGET_STATUS_UNAVAILABLE; } } if (large_amoeboid_vars->pursuit_timer != 0 && @@ -488,9 +492,9 @@ void large_amoeboid_update(unsigned char *moby) { &large_amoeboid_vars->move_displacement, 1.0f); } else { - large_amoeboid_vars->target_selection_status = 2; + large_amoeboid_vars->target_selection_status = AMOEBOID_TARGET_STATUS_UNAVAILABLE; } - if (large_amoeboid_vars->target_selection_status == 2) + if (large_amoeboid_vars->target_selection_status == AMOEBOID_TARGET_STATUS_UNAVAILABLE) MOBY(moby)->state = LARGE_AMOEBOID_RETURN_TO_STORED_POSITION; spawn_amoeboid_movement_particles(moby); return; @@ -595,7 +599,7 @@ void large_amoeboid_update(unsigned char *moby) { &large_amoeboid_vars->move_displacement, 1.0f); } - if (large_amoeboid_vars->target_selection_status != 2 && + if (large_amoeboid_vars->target_selection_status != AMOEBOID_TARGET_STATUS_UNAVAILABLE && (MOBY(moby)->state = 4, MOBY(moby)->prev_seq != 1)) blend_moby_animation(moby, 1, 0, scale_game_frames(3)); spawn_amoeboid_movement_particles(moby); @@ -671,6 +675,10 @@ void large_amoeboid_update(unsigned char *moby) { /* Ported from rac1-decomp (src/overlays/shared/vendor_002B90A8.c: func_L01_002F0040), where it is exact; names translated to the US level program. */ void process_amoeboid_hits_and_update_targeting(char *moby) { + enum { + AMOEBOID_TARGET_STATUS_ALTERNATE_MOBY = 1, + AMOEBOID_TARGET_STATUS_UNAVAILABLE = 2 + }; V_2F0040 scratch_vector; V_2F0040 line_test_endpoint; int flag; @@ -855,11 +863,11 @@ void process_amoeboid_hits_and_update_targeting(char *moby) { if (cand != 0) { candidate_distance = vector_distance_xy(&MOBY(moby)->pos, cand + 0x10); if (candidate_distance < moby_vars->effective_target_search_radius) { - if (moby_vars->target_selection_status == 2 || + if (moby_vars->target_selection_status == AMOEBOID_TARGET_STATUS_UNAVAILABLE || candidate_distance < vector_distance_xy(&MOBY(moby)->pos, moby_vars->target + 0x10)) { moby_vars->target = cand; - moby_vars->target_selection_status = 1; + moby_vars->target_selection_status = AMOEBOID_TARGET_STATUS_ALTERNATE_MOBY; } } } @@ -1023,7 +1031,7 @@ void spawn_amoeboid_movement_particles(unsigned char *moby) { } } -void spawn_amoeboid_burst_sparks(unsigned char *moby, f32 *mode) { +void spawn_amoeboid_burst_sparks(unsigned char *moby, f32 *input_motion) { LargeAmoeboidVars *burst_amoeboid_vars = (LargeAmoeboidVars *)MOBY(moby)->pvars; f32 spawn_position[4], origin[4], velocity[4]; u128 *dest; @@ -1050,7 +1058,7 @@ void spawn_amoeboid_burst_sparks(unsigned char *moby, f32 *mode) { lateral = random_float_between(amoeboid_burst_vertical_speed_min_gp, amoeboid_burst_vertical_speed_max_gp); vertical = random_float_between(0.0f, amoeboid_burst_input_motion_scale_max_gp); - fast_vec_scale(origin_copy, mode, vertical * frame_time_gp); + fast_vec_scale(origin_copy, input_motion, vertical * frame_time_gp); scale = fast_cos(angle); origin[0] += scale * (radius * frame_time_gp); scale = fast_sin(angle); diff --git a/src/overlays/shared/enemies/path_or_ballistic_debris.c b/src/overlays/shared/enemies/path_or_ballistic_debris.c index bcfc8b9bb9..a1e5c108af 100644 --- a/src/overlays/shared/enemies/path_or_ballistic_debris.c +++ b/src/overlays/shared/enemies/path_or_ballistic_debris.c @@ -311,7 +311,7 @@ void emit_debris_trail_particles(Moby *moby) { int signed_particle_variation; int color_intensity; int alpha; - float size; + float initial_particle_size; debris_motion_state = *(Vars **)&moby->pvars; fast_vec_normalize(&emission_axis_offset, &*(Vec4_2E17B8 *)&moby->rot_row2, 0.2f); @@ -373,7 +373,7 @@ void emit_debris_trail_particles(Moby *moby) { if (func_002140B0_2E17B8(2) != 0) { signed_particle_variation = -signed_particle_variation; } - size = func_002140F8_2E17B8(60000.0f, 140000.0f); + initial_particle_size = func_002140F8_2E17B8(60000.0f, 140000.0f); color_intensity = random_int_between(0x30, 0xFF); alpha = 0x60000000; spawned_particle = func_L00_0026DEA0_2E17B8( @@ -383,7 +383,7 @@ void emit_debris_trail_particles(Moby *moby) { 1.0f, signed_particle_variation, &particle_initial_velocity, - size, + initial_particle_size, color_intensity | ((color_intensity << 16) | ((color_intensity << 8) | alpha))); if (spawned_particle != 0) { ParticleFade_2E17B8 *ef; diff --git a/src/overlays/shared/enemies/plasmabot.c b/src/overlays/shared/enemies/plasmabot.c index c6b42fd011..c2c2844366 100644 --- a/src/overlays/shared/enemies/plasmabot.c +++ b/src/overlays/shared/enemies/plasmabot.c @@ -365,6 +365,9 @@ void plasmabot_update(char *moby) __asm__("FUN_L14_002b17d8"); /* Moby class 28 */ void plasmabot_update(char *moby) { + enum { + PLASMABOT_TARGET_STATUS_REJECTED = 2 + }; PlasmabotVars *plasmabot_update_private_vars; char *plasmabot_aim_target_moby; int state; @@ -372,7 +375,7 @@ void plasmabot_update(char *moby) { float direction[4]; float end[4]; LineInfo beam_line_trace_descriptor; - int status; + int unused_debris_spawn_input; plasmabot_update_private_vars = (PlasmabotVars *)MOBY(moby)->pvars; plasmabot_aim_target_moby = 0; @@ -500,7 +503,8 @@ void plasmabot_update(char *moby) { } case PLASMABOT_WAIT_TO_START_PATH_TRAVERSAL: { float *path; - if (plasmabot_update_private_vars->target_selection_status == 2) + if (plasmabot_update_private_vars->target_selection_status == + PLASMABOT_TARGET_STATUS_REJECTED) return; if (fast_dec_timer_s16(&plasmabot_update_private_vars->path_traversal_delay_timer) == 0) return; @@ -579,7 +583,8 @@ void plasmabot_update(char *moby) { k, k, frame_time * 6.2831855f); - if (plasmabot_update_private_vars->target_selection_status == 2) + if (plasmabot_update_private_vars->target_selection_status == + PLASMABOT_TARGET_STATUS_REJECTED) break; if (fast_dec_timer_s16(&plasmabot_update_private_vars->path_traversal_delay_timer) == 0) break; @@ -634,7 +639,8 @@ void plasmabot_update(char *moby) { frame_time * 6.2831855f); aim = update_plasmabot_aim_quaternion(moby, 0, MOBY(moby)->rot.z); update_plasmabot_aim_joint_rotation(moby, ang); - if (plasmabot_update_private_vars->target_selection_status == 2) { + if (plasmabot_update_private_vars->target_selection_status == + PLASMABOT_TARGET_STATUS_REJECTED) { if (plasmabot_update_private_vars->path_index == -1) break; ((unsigned char *)moby)[0x20] = 8; @@ -812,8 +818,9 @@ void plasmabot_update(char *moby) { case PLASMABOT_SPAWN_DEBRIS_AND_REMOVE: { FUN_L00_0024f7c8(moby, 2, bone_transform_scratch); spawn_plasmabot_death_debris(moby, (char *)bone_transform_scratch); - status = 0; - ((void (*)(char *, int *, int))spawn_path_or_ballistic_debris)(moby, &status, 1); + unused_debris_spawn_input = 0; + ((void (*)(char *, int *, int))spawn_path_or_ballistic_debris)( + moby, &unused_debris_spawn_input, 1); release_beam_slot_by_id(moby); call_D678(moby); return; @@ -1268,8 +1275,8 @@ func_L00_0025CE58_2B4828(float *, float, float *, float, float, float) __asm__(" /* Eases the moby's yaw offset toward target_angle (clamped to about 70 degrees); with `flag` also eases the pitch toward its owner. Returns the remaining difference between the target and the current yaw offset. */ float update_plasmabot_aim_quaternion(char *moby, int flag, float target_angle) { - PlasmabotVars *state = (PlasmabotVars *)MOBY(moby)->pvars; - char *aim_target_moby = *(char **)(&state->target); + PlasmabotVars *plasmabot_aim_private_vars = (PlasmabotVars *)MOBY(moby)->pvars; + char *aim_target_moby = *(char **)(&plasmabot_aim_private_vars->target); float turn = fast_subtract_rotations(target_angle, MOBY(moby)->rot.z); if (turn > 1.2217304706573486f) turn = 1.2217304706573486f; @@ -1277,14 +1284,16 @@ float update_plasmabot_aim_quaternion(char *moby, int flag, float target_angle) turn = -1.2217304706573486f; { float yaw_easing_coefficient = frame_time_sq * 12.566370964050293f; - func_L00_0025CE58_2B4828((float *)(&state->aim_yaw_offset), + func_L00_0025CE58_2B4828((float *)(&plasmabot_aim_private_vars->aim_yaw_offset), turn, - (float *)(&state->aim_yaw_angular_velocity), + (float *)(&plasmabot_aim_private_vars->aim_yaw_angular_velocity), yaw_easing_coefficient, yaw_easing_coefficient, frame_time * 6.2831854820251465f); } - build_axis_rotation_quaternion(&state->aim_quaternion_storage, 2, state->aim_yaw_offset); + build_axis_rotation_quaternion(&plasmabot_aim_private_vars->aim_quaternion_storage, + 2, + plasmabot_aim_private_vars->aim_yaw_offset); if (flag) { float owner_aim_position[4]; float owner_aim_offset[4]; @@ -1301,17 +1310,20 @@ float update_plasmabot_aim_quaternion(char *moby, int flag, float target_angle) fast_vec_sub(bp, owner_aim_position, &MOBY(moby)->pos); owner_aim_offset[2] = owner_aim_offset[2] + 1.5f; target_pitch_angle = -fast_arc_tan(vector_length_xy(bp), owner_aim_offset[2]); - func_L00_0025CE58_2B4828((float *)(&state->aim_pitch_angle), + func_L00_0025CE58_2B4828((float *)(&plasmabot_aim_private_vars->aim_pitch_angle), target_pitch_angle, - (float *)(&state->aim_pitch_angular_velocity), + (float *)(&plasmabot_aim_private_vars->aim_pitch_angular_velocity), frame_time_sq * 12.566370964050293f, frame_time_sq * 12.566370964050293f, frame_time * 6.2831854820251465f); cp = pitch_quaternion; - build_axis_rotation_quaternion(cp, 1, *(float *)&state->aim_pitch_angle); - multiply_quaternions(&state->aim_quaternion_storage, &state->aim_quaternion_storage, cp); + build_axis_rotation_quaternion( + cp, 1, *(float *)&plasmabot_aim_private_vars->aim_pitch_angle); + multiply_quaternions(&plasmabot_aim_private_vars->aim_quaternion_storage, + &plasmabot_aim_private_vars->aim_quaternion_storage, + cp); } - return fast_difference_between_rotations(turn, state->aim_yaw_offset); + return fast_difference_between_rotations(turn, plasmabot_aim_private_vars->aim_yaw_offset); } extern short *D_L14_001ABF40_3920[] __asm__("D_L14_001ABF40"); diff --git a/src/overlays/shared/enemies/plasmabot_death_debris.c b/src/overlays/shared/enemies/plasmabot_death_debris.c index c2590f15cd..1df475398b 100644 --- a/src/overlays/shared/enemies/plasmabot_death_debris.c +++ b/src/overlays/shared/enemies/plasmabot_death_debris.c @@ -60,7 +60,7 @@ void plasmabot_death_debris_update(struct Moby *moby) { s32 signed_particle_variation; s32 alpha; s32 color; - f32 size; + f32 particle_size; f32 absolute_velocity; u8 *particle; u8 *fade; @@ -125,7 +125,7 @@ void plasmabot_death_debris_update(struct Moby *moby) { signed_particle_variation = random_integer_below(6); if (random_integer_below(2) != 0) signed_particle_variation = -signed_particle_variation; - size = random_float_between(40000.0f, 100000.0f); + particle_size = random_float_between(40000.0f, 100000.0f); color = random_int_between(0x30, 0xFF); alpha = 0x60000000; particle = FUN_L00_0026d000_de670(&moby->pos, @@ -134,7 +134,7 @@ void plasmabot_death_debris_update(struct Moby *moby) { 1.0f, signed_particle_variation, D_L14_0015F580, - size, + particle_size, color | ((color << 16) | ((color << 8) | alpha))); if (particle != 0) { particle[3] = 0x44; @@ -161,6 +161,9 @@ extern float plasmabot_debris_z_velocity_range_end_gp __asm__("D_L14_00161B14") unsigned char *spawn_plasmabot_death_debris(char *owner, char *pos) __asm__("FUN_L14_002dea98"); unsigned char *spawn_plasmabot_death_debris(char *debris_source_moby, char *pos) { + enum { + PLASMABOT_DEBRIS_STATE_INITIAL = 0 + }; unsigned char *spawned_moby = create_moby(0x145); char *spawned_vars; char *hero_launch_reference; @@ -170,7 +173,7 @@ unsigned char *spawn_plasmabot_death_debris(char *debris_source_moby, char *pos) *(char **)(spawned_vars + 0x24) = debris_source_moby; qcopy(&MOBY(spawned_moby)->pos, pos); MOBY(spawned_moby)->rot.z = MOBY(debris_source_moby)->rot.z; - MOBY(spawned_moby)->state = 0; + MOBY(spawned_moby)->state = PLASMABOT_DEBRIS_STATE_INITIAL; MOBY(spawned_moby)->update_dist = 0xFF; MOBY(spawned_moby)->draw_dist = 0xFF; MOBY(spawned_moby)->visible = 1; diff --git a/src/overlays/shared/enemies/sand_mouse.c b/src/overlays/shared/enemies/sand_mouse.c index 8c7cf85bbf..a6406acd30 100644 --- a/src/overlays/shared/enemies/sand_mouse.c +++ b/src/overlays/shared/enemies/sand_mouse.c @@ -281,14 +281,14 @@ void *select_sand_mouse_spawn_target(void *moby, void update_sand_mouse_targeted_spawning(char *moby, char *state) __asm__("FUN_L01_002e35a8"); -void update_sand_mouse_targeted_spawning(char *moby, char *state) { +void update_sand_mouse_targeted_spawning(char *moby, char *sand_mouse_instance_vars) { V4_w22c spawn_position; V4_w22c target_aim_position; V4_w22c spawn_offset; char *target_moby; float aim_yaw, aim_pitch, initial_yaw, initial_pitch, target_yaw, spawn_to_target_distance; - if (fast_dec_timer_s16(state + 0x4E) == 0) + if (fast_dec_timer_s16(sand_mouse_instance_vars + 0x4E) == 0) return; qzero(&spawn_position); fast_vec_add(&spawn_position, &spawn_position, &MOBY(moby)->pos); @@ -304,7 +304,7 @@ void update_sand_mouse_targeted_spawning(char *moby, char *state) { 3.1415927f, 3.1415927f); if (target_moby != 0) { - *(char **)(state + 0x68) = target_moby; + *(char **)(sand_mouse_instance_vars + 0x68) = target_moby; if (hero.motion.pos.f[2] + 1.1f < MOBY(moby)->pos.z) { target_yaw = fast_arc_tan(MOBY(target_moby)->pos.x - MOBY(moby)->pos.x, MOBY(target_moby)->pos.y - MOBY(moby)->pos.y); @@ -339,14 +339,15 @@ void update_sand_mouse_targeted_spawning(char *moby, char *state) { target_aim_position.f[2] - spawn_position.f[2]); spawn_sandmouse_projectile( moby, &spawn_position, aim_yaw, aim_pitch, initial_yaw, initial_pitch); - *(short *)(state + 0x4E) = + *(short *)(sand_mouse_instance_vars + 0x4E) = scale_game_frames(sand_mouse_projectile_spawn_interval_frames_gp); - *(int *)(state + 0x64) = *(int *)(state + 0x64) + 1; + *(int *)(sand_mouse_instance_vars + 0x64) = + *(int *)(sand_mouse_instance_vars + 0x64) + 1; } } } } else { - *(int *)(state + 0x68) = 0; + *(int *)(sand_mouse_instance_vars + 0x68) = 0; } } @@ -534,13 +535,14 @@ void sand_mouse_update(struct Moby *moby) { moby->update_dist = 0xFF; moby->draw_dist = 0xFF; if (sand_mouse_vars->parent != -1) { - unsigned short id; + unsigned short moby_save_id; qcopy(((float *)&moby->pos), ((float *)&((struct Moby *)ents)[sand_mouse_vars->parent].pos)); moby->pos.z = moby->pos.z + 0.02f; - if (l01_save_state.cleared[(short)(id = moby->save_id)] != 0 || - (*(int *)((char *)D_0014C190_257218 + (((short)id >> 5) * 4 + (D_0015ED84 << 8))) >> - (id & 0x1F)) & + if (l01_save_state.cleared[(short)(moby_save_id = moby->save_id)] != 0 || + (*(int *)((char *)D_0014C190_257218 + + (((short)moby_save_id >> 5) * 4 + (D_0015ED84 << 8))) >> + (moby_save_id & 0x1F)) & 1) { debug_print(sand_mouse_already_completed_message); mark_moby_for_removal(moby); diff --git a/src/overlays/shared/enemies/sandmouse.c b/src/overlays/shared/enemies/sandmouse.c index 4a9070df4a..78d47bb7cd 100644 --- a/src/overlays/shared/enemies/sandmouse.c +++ b/src/overlays/shared/enemies/sandmouse.c @@ -174,7 +174,7 @@ typedef union { extern s32 cutscene_mode_gp __asm__("D_L01_0015F5C4") __attribute__((sda)); void try_fire_sandmouse_projectile(char *moby, char *state) __asm__("FUN_L01_0030d5f0"); -void try_fire_sandmouse_projectile(char *moby, char *state) { +void try_fire_sandmouse_projectile(char *moby, char *sandmouse_pvars) { V4_w22c spawn_position; V4_w22c target_aim_position; V4_w22c spawn_offset; @@ -182,10 +182,10 @@ void try_fire_sandmouse_projectile(char *moby, char *state) { float target_yaw, target_pitch, initial_yaw, initial_pitch, target_bearing_yaw, spawn_to_target_distance; - if (fast_dec_timer_s16(state + 0x54) == 0) + if (fast_dec_timer_s16(sandmouse_pvars + 0x54) == 0) return; - moby_point_position(moby, (state[0x56] & 1) + 1, &spawn_position); - state[0x56] = state[0x56] ^ 1; + moby_point_position(moby, (sandmouse_pvars[0x56] & 1) + 1, &spawn_position); + sandmouse_pvars[0x56] = sandmouse_pvars[0x56] ^ 1; target_moby = select_sandmouse_projectile_target( moby, &spawn_position, @@ -197,7 +197,7 @@ void try_fire_sandmouse_projectile(char *moby, char *state) { 3.1415927f, 3.1415927f); if (target_moby != 0) { - *(char **)(state + 0x60) = target_moby; + *(char **)(sandmouse_pvars + 0x60) = target_moby; if (hero.motion.pos.f[2] + 1.1f < MOBY(moby)->pos.z) { target_bearing_yaw = fast_arc_tan(MOBY(target_moby)->pos.x - MOBY(moby)->pos.x, MOBY(target_moby)->pos.y - MOBY(moby)->pos.y); @@ -237,13 +237,13 @@ void try_fire_sandmouse_projectile(char *moby, char *state) { initial_yaw, initial_pitch); allocate_voice_for_target_entry(0, 0, (struct VoiceTarget *)moby); - *(short *)(state + 0x54) = scale_game_frames(D_L01_00162080_gp); - *(int *)(state + 0x5C) = *(int *)(state + 0x5C) + 1; + *(short *)(sandmouse_pvars + 0x54) = scale_game_frames(D_L01_00162080_gp); + *(int *)(sandmouse_pvars + 0x5C) = *(int *)(sandmouse_pvars + 0x5C) + 1; } } } } else { - *(int *)(state + 0x60) = 0; + *(int *)(sandmouse_pvars + 0x60) = 0; } } @@ -848,7 +848,7 @@ void sandmouse_update(Moby *sandmouse_moby) { Vec4 vel = {0}; int fade_particle_color_low_byte, fade_particle_color_second_byte, fade_particle_color_third_byte, color, life, spin; - f32 size; + f32 fade_particle_size; qcopy(&pos, &sandmouse_moby->pos); add_random_offset_to_vector_xyz( &pos, *(f32 *)&sandmouse_fade_particle_position_offset_distance_gp); @@ -863,11 +863,11 @@ void sandmouse_update(Moby *sandmouse_moby) { spin = -spin; life = FUN_L00_00257b90(*(int *)&sandmouse_fade_particle_min_lifetime_gp, *(int *)&sandmouse_fade_particle_max_lifetime_gp); - size = random_float_between(*(f32 *)&sandmouse_fade_particle_min_size_gp, - *(f32 *)&sandmouse_fade_particle_max_size_gp); + fade_particle_size = random_float_between(*(f32 *)&sandmouse_fade_particle_min_size_gp, + *(f32 *)&sandmouse_fade_particle_max_size_gp); FUN_L00_00272060(&pos, life, - size, + fade_particle_size, 0.001f, color, 2, diff --git a/src/overlays/shared/enemies/sandmouse_projectile.c b/src/overlays/shared/enemies/sandmouse_projectile.c index 310e547e1c..833d4303ad 100644 --- a/src/overlays/shared/enemies/sandmouse_projectile.c +++ b/src/overlays/shared/enemies/sandmouse_projectile.c @@ -84,7 +84,7 @@ void sandmouse_projectile_update(char *moby) { char *moby_vars = ((char *)MOBY(moby)->pvars); f32 *moby_position; OvlVec4 old_pos; - OvlVec4 offset; + OvlVec4 movement_delta; DropProbe probe; f32 desired_yaw, desired_pitch; f32 pitch_k, pitch_d, pitch_max; @@ -116,10 +116,10 @@ void sandmouse_projectile_update(char *moby) { (f32 *)(moby_vars + 4), MOBY(moby)->rot.y, desired_pitch, pitch_k, pitch_d, pitch_max); pitch_max = frame_time * 40.0f; MOBY(moby)->rot.y = pitch_result; - build_spherical_offset(offset.f, pitch_max, MOBY(moby)->rot.z, -pitch_result); + build_spherical_offset(movement_delta.f, pitch_max, MOBY(moby)->rot.z, -pitch_result); } qcopy(&old_pos, moby_position); - fast_vec_add(moby_position, moby_position, &offset); + fast_vec_add(moby_position, moby_position, &movement_delta); if (MOBY(moby)->pos.x < 2.0f || MOBY(moby)->pos.x > 1021.0f || MOBY(moby)->pos.y < 2.0f || MOBY(moby)->pos.y > 1021.0f || MOBY(moby)->pos.z < 2.0f || MOBY(moby)->pos.z > 1021.0f || MOBY(moby)->pos.x < 0.0f || MOBY(moby)->pos.y < 0.0f || MOBY(moby)->pos.z < 0.0f || diff --git a/src/overlays/shared/enemies/scoutbot.c b/src/overlays/shared/enemies/scoutbot.c index b199b82329..08461369b0 100644 --- a/src/overlays/shared/enemies/scoutbot.c +++ b/src/overlays/shared/enemies/scoutbot.c @@ -187,9 +187,12 @@ void scoutbot_update(Moby *moby) __asm__("FUN_L08_002d2af0"); /* Moby class 252 */ void scoutbot_update(Moby *moby) { + enum { + SCOUTBOT_TARGET_SELECTION_UNAVAILABLE = 2 + }; Data_3DF8 *scoutbot_instance_vars = (struct Data_3DF8 *)moby->pvars; float target_pos[4]; - float offset[4]; + float wander_or_effect_vector[4]; float shot_pos[4]; sound_3DF8(3.6f, moby, 2, scoutbot_instance_vars->sound_state); @@ -232,7 +235,8 @@ void scoutbot_update(Moby *moby) { scoutbot_instance_vars->b29 = 0; break; case SCOUTBOT_STATE_IDLE: - if (scoutbot_instance_vars->path_target_selection_status != 2) { + if (scoutbot_instance_vars->path_target_selection_status != + SCOUTBOT_TARGET_SELECTION_UNAVAILABLE) { scoutbot_instance_vars->ground_hover_height_offset = 0.0f; scoutbot_instance_vars->hover_bob_amplitude = 0.1f; if (moby->prev_seq != 2) { @@ -243,10 +247,12 @@ void scoutbot_update(Moby *moby) { float heading = random_angle_radians(); float radius = random_float_between(0.0f, 3.0f); - offset[0] = fast_cos(heading) * radius; - offset[1] = fast_sin(heading) * radius; - offset[2] = 0.0f; - fast_vec_add(scoutbot_instance_vars->wander_goal, scoutbot_instance_vars->home, offset); + wander_or_effect_vector[0] = fast_cos(heading) * radius; + wander_or_effect_vector[1] = fast_sin(heading) * radius; + wander_or_effect_vector[2] = 0.0f; + fast_vec_add(scoutbot_instance_vars->wander_goal, + scoutbot_instance_vars->home, + wander_or_effect_vector); if (moby->prev_seq != 2) { blend_moby_animation(moby, 2, 0, 6); } @@ -336,13 +342,17 @@ void scoutbot_update(Moby *moby) { if (vector_distance_xy(&scoutbot_instance_vars->target->pos, &moby->pos) < 3.0f && absolute_float(scoutbot_instance_vars->current_target->pos.z - moby->pos.z) < 1.0f) { - offset[0] = fast_cos(moby->rot.z) * 0.2f; - offset[1] = fast_sin(moby->rot.z) * 0.2f; - offset[2] = 0.0f; + wander_or_effect_vector[0] = fast_cos(moby->rot.z) * 0.2f; + wander_or_effect_vector[1] = fast_sin(moby->rot.z) * 0.2f; + wander_or_effect_vector[2] = 0.0f; qcopy(shot_pos, target_pos); shot_pos[2] += 0.75f; - spawn_nearby_effect( - scoutbot_instance_vars->current_target, moby, 1, shot_pos, offset, 1.0f); + spawn_nearby_effect(scoutbot_instance_vars->current_target, + moby, + 1, + shot_pos, + wander_or_effect_vector, + 1.0f); } scoutbot_instance_vars->ground_hover_height_offset = 4.0f; scoutbot_instance_vars->hover_bob_amplitude = 0.5f; @@ -376,12 +386,12 @@ void scoutbot_update(Moby *moby) { } break; case SCOUTBOT_STATE_EXPLODE_AND_REMOVE: - qcopy(offset, &moby->pos); - offset[2] += 1.0f; + qcopy(wander_or_effect_vector, &moby->pos); + wander_or_effect_vector[2] += 1.0f; allocate_voice_for_target_entry(1, 0, moby); explode_3DF8(moby, scoutbot_instance_vars->vel, - offset, + wander_or_effect_vector, 0.0f, 0.0f, 5, diff --git a/src/overlays/shared/enemies/seeker.c b/src/overlays/shared/enemies/seeker.c index 7e59200d01..14e43bb179 100644 --- a/src/overlays/shared/enemies/seeker.c +++ b/src/overlays/shared/enemies/seeker.c @@ -107,7 +107,7 @@ void seeker_update(struct Moby *moby) { Moby52Vars *seeker_instance_vars = (Moby52Vars *)moby->pvars; struct Moby *target; Vec4 vel; - s32 mode; + s32 state_dispatch_mode; s32 voice; f32 target_distance_xy; f32 z; @@ -123,8 +123,8 @@ void seeker_update(struct Moby *moby) { FUN_L00_0025a120(moby); moby->shadow_range = 0x17; } - mode = seeker_state_dispatch_mode; - if (mode == SEEKER_DISPATCH_MODE_SKIP_STATE_UPDATE) { + state_dispatch_mode = seeker_state_dispatch_mode; + if (state_dispatch_mode == SEEKER_DISPATCH_MODE_SKIP_STATE_UPDATE) { return; } switch (moby->state) { diff --git a/src/overlays/shared/enemies/sentrybot.c b/src/overlays/shared/enemies/sentrybot.c index fa1fdffa58..43709136e1 100644 --- a/src/overlays/shared/enemies/sentrybot.c +++ b/src/overlays/shared/enemies/sentrybot.c @@ -1059,8 +1059,8 @@ void sentrybot_update(unsigned char *moby) { set_sentrybot_alarm_duration(linked_alarm_moby, -1); } } else { - int mode = sentrybot_instance_data->target_mode; - if (mode != SENTRYBOT_TARGET_MODE_SUPPRESS_DIRECT_EMISSION && + int target_mode = sentrybot_instance_data->target_mode; + if (target_mode != SENTRYBOT_TARGET_MODE_SUPPRESS_DIRECT_EMISSION && sentrybot_instance_data->alert_engagement_suppressed == 0) { begin_sentrybot_turn_toward_point( (char *)moby, @@ -1080,7 +1080,7 @@ void sentrybot_update(unsigned char *moby) { set_sentrybot_alarm_duration(linked_alarm_moby, scale_game_frames(0x1E)); } } else if (sentrybot_instance_data->has_line_of_sight != 0) { - if (mode != SENTRYBOT_TARGET_MODE_SUPPRESS_DIRECT_EMISSION && + if (target_mode != SENTRYBOT_TARGET_MODE_SUPPRESS_DIRECT_EMISSION && sentrybot_instance_data->alert_engagement_suppressed == 0) { begin_sentrybot_turn_toward_point((char *)moby, sentrybot_instance_data, @@ -1393,26 +1393,28 @@ int find_sentrybot_attention_target(char *moby) { line_start[2] += 1.0f; bd = 0.0f; do { - int id = *(unsigned short *)group_moby_entry & 0x7FFF; - char *candidate_moby = (char *)((id << 8) + (int)l15_moby_array); + int candidate_moby_index = *(unsigned short *)group_moby_entry & 0x7FFF; + char *candidate_moby = (char *)((candidate_moby_index << 8) + (int)l15_moby_array); if (MOBY(candidate_moby)->oclass == 0x27B && MOBY(candidate_moby)->state >= 6 && MOBY(candidate_moby)->state < 0x10) { float f = fast_difference_between_rotations( MOBY(moby)->rot.z, fast_arc_tan(MOBY(candidate_moby)->pos.x - MOBY(moby)->pos.x, MOBY(candidate_moby)->pos.y - MOBY(moby)->pos.y)); - unsigned char candidate_state = ((char *)((id << 8) + (int)l15_moby_array))[0x20]; + unsigned char candidate_state = + ((char *)((candidate_moby_index << 8) + (int)l15_moby_array))[0x20]; if (candidate_state == 7 || candidate_state == 0xF) moby_data->priority_attention_active = 1; if (moby_data->priority_attention_active != 0 || f < 1.2217305f) { - qcopy(candidate_line_endpoint, (char *)((id << 8) + (int)l15_moby_array) + 0x10); + qcopy(candidate_line_endpoint, + (char *)((candidate_moby_index << 8) + (int)l15_moby_array) + 0x10); line_start[2] += 1.0f; if (collision_line(line_start, candidate_line_endpoint, 2, 0, 0) == 0) { float candidate_line_distance = fast_vec_dist(line_start, candidate_line_endpoint); if (best == 0 || candidate_line_distance < bd) { bd = candidate_line_distance; - best = (int)l15_moby_array + (id << 8); + best = (int)l15_moby_array + (candidate_moby_index << 8); } } } diff --git a/src/overlays/shared/enemies/sentrybot_alarm.c b/src/overlays/shared/enemies/sentrybot_alarm.c index 254535ab92..1f886f36ca 100644 --- a/src/overlays/shared/enemies/sentrybot_alarm.c +++ b/src/overlays/shared/enemies/sentrybot_alarm.c @@ -115,15 +115,15 @@ void sentrybot_alarm_update(unsigned char *moby) { float position[4]; float step; int color; - int mode; + int configuration_mode; int *alarm_state = ((int *)MOBY(moby)->pvars); switch (MOBY(moby)->state) { case SENTRYBOT_ALARM_STATE_INITIALIZE: - mode = alarm_state[0]; + configuration_mode = alarm_state[0]; l15_sentrybot_alarm_effect_update_stamp = 0; D_L15_00161AB8 = 0; *(int *)&D_L15_00161ABC_gp = 0; - if (mode == SENTRYBOT_ALARM_MODE_GROUP_RELEASE_ONLY) { + if (configuration_mode == SENTRYBOT_ALARM_MODE_GROUP_RELEASE_ONLY) { MOBY(moby)->state = SENTRYBOT_ALARM_STATE_WAIT_FOR_GROUP_RELEASE_TRIGGER; if (MOBY(moby)->prev_seq != 4) blend_moby_animation(moby, 4, 0, 0); diff --git a/src/overlays/shared/enemies/spawner.c b/src/overlays/shared/enemies/spawner.c index f684768b3a..fb809c0ffc 100644 --- a/src/overlays/shared/enemies/spawner.c +++ b/src/overlays/shared/enemies/spawner.c @@ -132,7 +132,7 @@ int refresh_spawner_population_and_find_free_slot(int unused, char *spawner_vars char *slot_moby = *slot; if (slot_moby != 0 && MOBY(slot_moby)->oclass == 0x75E && (unsigned char)MOBY(slot_moby)->state != MOBY_STATE_REMOVAL_MARKER && - (unsigned char)MOBY(slot_moby)->state != 0xFD) { + (unsigned char)MOBY(slot_moby)->state != MOBY_STATE_ALTERNATE_REMOVAL_MARKER) { spawner_vars[0x91]++; } else { last = i; @@ -152,7 +152,7 @@ void spawner_update(char *moby) { float target[4]; float launch_velocity[4]; float spawn_position[4]; - float offset[4]; + float spawn_position_offset[4]; process_spawner_hit_record(moby, spawner_vars); switch ((unsigned char)MOBY(moby)->state) { @@ -194,7 +194,7 @@ void spawner_update(char *moby) { char *target_moby = *(char **)((char *)spawner_vars + 0x140); if (target_moby != 0 && (unsigned char)MOBY(target_moby)->state != MOBY_STATE_REMOVAL_MARKER && - (unsigned char)MOBY(target_moby)->state != 0xFD) { + (unsigned char)MOBY(target_moby)->state != MOBY_STATE_ALTERNATE_REMOVAL_MARKER) { qcopy((char *)spawner_vars + 0x100, &MOBY(target_moby)->pos); } else { *(int *)((char *)spawner_vars + 0x140) = 0; @@ -275,9 +275,9 @@ void spawner_update(char *moby) { float speed = target_distance * (frame_time_macro * 0.6f); fast_vec_normalize(launch_velocity, launch_velocity, speed); moby_point_position(moby, 0, spawn_position); - fast_vec_normalize(offset, launch_velocity, 0.05f); - add_random_offset_to_vector_xyz(offset, 0.025f); - fast_vec_add(spawn_position, spawn_position, offset); + fast_vec_normalize(spawn_position_offset, launch_velocity, 0.05f); + add_random_offset_to_vector_xyz(spawn_position_offset, 0.025f); + fast_vec_add(spawn_position, spawn_position, spawn_position_offset); launch_velocity[2] = FUN_L00_0025abf0_30ab80( spawn_position, target, 0, speed, -(frame_time_sq_macro * 9.8f)); } diff --git a/src/overlays/shared/enemies/walker_update_gait.c b/src/overlays/shared/enemies/walker_update_gait.c index 13a6b6302b..f1f6347722 100644 --- a/src/overlays/shared/enemies/walker_update_gait.c +++ b/src/overlays/shared/enemies/walker_update_gait.c @@ -175,7 +175,7 @@ void walker_update_gait(WalkMoby *m, float accel) __asm__("FUN_L00_002a1670"); void walker_update_gait(WalkMoby *walker_moby, WalkData *gait_data, - int flags, + int gait_update_trigger_mask, float speed, float movement_heading, @@ -216,7 +216,7 @@ void walker_update_gait(WalkMoby *walker_moby, blend_moby_animation(walker_moby, a->id, f, 10); reset_walker_gait_helpers((char *)gait_data); } - gait_data->gait_state = 0xD; + gait_data->gait_state = WALKER_GAIT_RUN; gait_data->gait_phase_mask = walker_gait_mask( gait_data->anim[7], (float)gait_data->anim[7]->initial_animation_position); gait_data->walk_start_counter = 0; @@ -232,7 +232,7 @@ void walker_update_gait(WalkMoby *walker_moby, blend_moby_animation(walker_moby, a->id, f, 10); reset_walker_gait_helpers((char *)gait_data); } - gait_data->gait_state = 1; + gait_data->gait_state = WALKER_GAIT_WALK; gait_data->gait_phase_mask = walker_gait_mask( gait_data->anim[0], (float)gait_data->anim[0]->initial_animation_position); gait_data->walk_start_counter = 0; @@ -245,7 +245,7 @@ void walker_update_gait(WalkMoby *walker_moby, case WALKER_GAIT_WALK_UPHILL: case WALKER_GAIT_TRANSITION_FROM_UPHILL_TO_WALK: case WALKER_GAIT_ALTERNATE_TRANSITION_FROM_UPHILL_TO_WALK: - if (flags & 5) { + if (gait_update_trigger_mask & 5) { gait_data->gait_status_flags &= 0xFFF7; } case WALKER_GAIT_TRANSITION_TO_DOWNHILL: @@ -259,7 +259,7 @@ void walker_update_gait(WalkMoby *walker_moby, speed < frame_time * 0.19f) { blend_moby_animation(walker_moby, gait_data->idle_animation_id, 0, 10); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 0; + gait_data->gait_state = WALKER_GAIT_IDLE; } else if (walker_moby->b52 == gait_data->anim[gait_animation_index]->id) { float t = (gait_data->anim[7]->f08 + gait_data->anim[0]->f08) * 0.375f; if (speed > t && gait_data->gait_speed_reference > t && @@ -295,12 +295,12 @@ void walker_update_gait(WalkMoby *walker_moby, blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); } - gait_data->gait_state = 0xD; - } else if (flags & 5) { + gait_data->gait_state = WALKER_GAIT_RUN; + } else if (gait_update_trigger_mask & 5) { if (gait_data->gait_status_flags & 1) { gait_data->gait_status_flags = (gait_data->gait_status_flags & 0xFFFE) | 2; gait_data->gait_ground_height_reference = walker_moby->pos[2]; - if (flags & 1) { + if (gait_update_trigger_mask & 1) { int bl = truncate_float_to_s32(gait_data->anim[11]->transition_position_span * 0.25f / (speed / gait_data->anim[11]->f08)); @@ -314,7 +314,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 0xF; + gait_data->gait_state = WALKER_GAIT_TAKEOFF_ANIMATION; } else { int bl = truncate_float_to_s32( gait_data->anim[9]->alternate_transition_position_span * 0.25f / @@ -330,7 +330,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 0xE; + gait_data->gait_state = WALKER_GAIT_ALTERNATE_TAKEOFF_ANIMATION; } } else { float ground_height; @@ -339,7 +339,7 @@ void walker_update_gait(WalkMoby *walker_moby, ground_probe_position[1] = fast_sin(movement_heading) * gait_data->anim[gait_animation_index]->f04 * 0.5f; ground_probe_position[2] = 0.0f; - if (flags & 1) { + if (gait_update_trigger_mask & 1) { fast_vec_add(ground_probe_position, ground_probe_position, gait_data->ground_probe_anchor_record); @@ -356,7 +356,7 @@ void walker_update_gait(WalkMoby *walker_moby, gait_data->anim[gait_animation_index]->f04 * 0.5f * fast_sin(gait_data->ground_probe_correction_angle) > gait_data->terrain_transition_height_scale * 0.75f) { - if (flags & 1) { + if (gait_update_trigger_mask & 1) { int bl = truncate_float_to_s32( gait_data->anim[2]->transition_position_span * 0.25f / (speed / gait_data->anim[2]->f08)); @@ -370,7 +370,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 3; + gait_data->gait_state = WALKER_GAIT_ALTERNATE_TRANSITION_TO_UPHILL; } else { int bl = truncate_float_to_s32( gait_data->anim[1]->alternate_transition_position_span * 0.25f / @@ -387,14 +387,14 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 2; + gait_data->gait_state = WALKER_GAIT_TRANSITION_TO_UPHILL; } } else if ((ground_height - ground_probe_position[2]) + gait_data->anim[gait_animation_index]->f04 * 0.5f * fast_sin(gait_data->ground_probe_correction_angle) < -gait_data->terrain_transition_height_scale * 0.75f) { gait_data->gait_status_flags |= 8; - if (flags & 1) { + if (gait_update_trigger_mask & 1) { int bl = truncate_float_to_s32( gait_data->anim[5]->transition_position_span * 0.25f / (speed / gait_data->anim[5]->f08)); @@ -408,7 +408,8 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 8; + gait_data->gait_state = + WALKER_GAIT_ALTERNATE_TRANSITION_TO_DOWNHILL; } else { int bl = truncate_float_to_s32( gait_data->anim[4]->alternate_transition_position_span * 0.25f / @@ -425,7 +426,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 7; + gait_data->gait_state = WALKER_GAIT_TRANSITION_TO_DOWNHILL; } } break; @@ -452,12 +453,12 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 8; + gait_data->gait_state = WALKER_GAIT_ALTERNATE_TRANSITION_TO_DOWNHILL; } else if ((ground_height - ground_probe_position[2]) + gait_data->anim[gait_animation_index]->f04 * 0.5f * fast_sin(gait_data->ground_probe_correction_angle) < gait_data->terrain_transition_height_scale * 0.75f) { - gait_data->gait_state = 5; + gait_data->gait_state = WALKER_GAIT_TRANSITION_FROM_UPHILL_TO_WALK; } else { int bl = truncate_float_to_s32(gait_data->anim[3]->transition_position_span * @@ -472,7 +473,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 4; + gait_data->gait_state = WALKER_GAIT_WALK_UPHILL; } break; case WALKER_GAIT_ALTERNATE_TRANSITION_TO_UPHILL: @@ -499,12 +500,13 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 7; + gait_data->gait_state = WALKER_GAIT_TRANSITION_TO_DOWNHILL; } else if ((ground_height - ground_probe_position[2]) + gait_data->anim[gait_animation_index]->f04 * 0.5f * fast_sin(gait_data->ground_probe_correction_angle) < gait_data->terrain_transition_height_scale * 0.75f) { - gait_data->gait_state = 6; + gait_data->gait_state = + WALKER_GAIT_ALTERNATE_TRANSITION_FROM_UPHILL_TO_WALK; } else { int bl = truncate_float_to_s32( gait_data->anim[3]->alternate_transition_position_span * 0.25f / @@ -520,7 +522,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 4; + gait_data->gait_state = WALKER_GAIT_WALK_UPHILL; } break; case WALKER_GAIT_WALK_UPHILL: @@ -529,7 +531,7 @@ void walker_update_gait(WalkMoby *walker_moby, fast_sin(gait_data->ground_probe_correction_angle) < -gait_data->terrain_transition_height_scale * 0.75f) { gait_data->gait_status_flags |= 8; - if (flags & 1) { + if (gait_update_trigger_mask & 1) { int bl = truncate_float_to_s32( gait_data->anim[5]->transition_position_span * 0.25f / (speed / gait_data->anim[5]->f08)); @@ -543,7 +545,8 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 8; + gait_data->gait_state = + WALKER_GAIT_ALTERNATE_TRANSITION_TO_DOWNHILL; } else { int bl = truncate_float_to_s32( gait_data->anim[4]->alternate_transition_position_span * 0.25f / @@ -560,13 +563,13 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 7; + gait_data->gait_state = WALKER_GAIT_TRANSITION_TO_DOWNHILL; } } else if ((ground_height - ground_probe_position[2]) + gait_data->anim[gait_animation_index]->f04 * 0.5f * fast_sin(gait_data->ground_probe_correction_angle) < gait_data->terrain_transition_height_scale * 0.75f) { - if (flags & 1) { + if (gait_update_trigger_mask & 1) { int bl = truncate_float_to_s32( gait_data->anim[1]->transition_position_span * 0.25f / (speed / gait_data->anim[1]->f08)); @@ -580,7 +583,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 5; + gait_data->gait_state = WALKER_GAIT_TRANSITION_FROM_UPHILL_TO_WALK; } else { int bl = truncate_float_to_s32( gait_data->anim[2]->alternate_transition_position_span * 0.25f / @@ -597,7 +600,8 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 6; + gait_data->gait_state = + WALKER_GAIT_ALTERNATE_TRANSITION_FROM_UPHILL_TO_WALK; } } break; @@ -625,12 +629,12 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 7; + gait_data->gait_state = WALKER_GAIT_TRANSITION_TO_DOWNHILL; } else if ((ground_height - ground_probe_position[2]) + gait_data->anim[gait_animation_index]->f04 * 0.5f * fast_sin(gait_data->ground_probe_correction_angle) > gait_data->terrain_transition_height_scale * 0.75f) { - gait_data->gait_state = 2; + gait_data->gait_state = WALKER_GAIT_TRANSITION_TO_UPHILL; } else { int bl = truncate_float_to_s32( gait_data->anim[0]->alternate_transition_position_span * 0.25f / @@ -646,7 +650,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 1; + gait_data->gait_state = WALKER_GAIT_WALK; } break; case WALKER_GAIT_ALTERNATE_TRANSITION_FROM_UPHILL_TO_WALK: @@ -672,12 +676,12 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 8; + gait_data->gait_state = WALKER_GAIT_ALTERNATE_TRANSITION_TO_DOWNHILL; } else if ((ground_height - ground_probe_position[2]) + gait_data->anim[gait_animation_index]->f04 * 0.5f * fast_sin(gait_data->ground_probe_correction_angle) > gait_data->terrain_transition_height_scale * 0.75f) { - gait_data->gait_state = 3; + gait_data->gait_state = WALKER_GAIT_ALTERNATE_TRANSITION_TO_UPHILL; } else { int bl = truncate_float_to_s32(gait_data->anim[0]->transition_position_span * @@ -692,7 +696,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 1; + gait_data->gait_state = WALKER_GAIT_WALK; } break; case WALKER_GAIT_TRANSITION_TO_DOWNHILL: @@ -713,12 +717,12 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 3; + gait_data->gait_state = WALKER_GAIT_ALTERNATE_TRANSITION_TO_UPHILL; } else if ((ground_height - ground_probe_position[2]) + gait_data->anim[gait_animation_index]->f04 * 0.5f * fast_sin(gait_data->ground_probe_correction_angle) > -gait_data->terrain_transition_height_scale * 0.75f) { - gait_data->gait_state = 10; + gait_data->gait_state = WALKER_GAIT_TRANSITION_FROM_DOWNHILL_TO_WALK; } else { int bl = truncate_float_to_s32(gait_data->anim[6]->transition_position_span * @@ -733,7 +737,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 9; + gait_data->gait_state = WALKER_GAIT_WALK_DOWNHILL; } break; case WALKER_GAIT_ALTERNATE_TRANSITION_TO_DOWNHILL: @@ -755,12 +759,13 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 2; + gait_data->gait_state = WALKER_GAIT_TRANSITION_TO_UPHILL; } else if ((ground_height - ground_probe_position[2]) + gait_data->anim[gait_animation_index]->f04 * 0.5f * fast_sin(gait_data->ground_probe_correction_angle) > -gait_data->terrain_transition_height_scale * 0.75f) { - gait_data->gait_state = 11; + gait_data->gait_state = + WALKER_GAIT_ALTERNATE_TRANSITION_FROM_DOWNHILL_TO_WALK; } else { int bl = truncate_float_to_s32( gait_data->anim[6]->alternate_transition_position_span * 0.25f / @@ -776,7 +781,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 9; + gait_data->gait_state = WALKER_GAIT_WALK_DOWNHILL; } break; case WALKER_GAIT_WALK_DOWNHILL: @@ -784,7 +789,7 @@ void walker_update_gait(WalkMoby *walker_moby, gait_data->anim[gait_animation_index]->f04 * 0.5f * fast_sin(gait_data->ground_probe_correction_angle) > gait_data->terrain_transition_height_scale * 0.75f) { - if (flags & 1) { + if (gait_update_trigger_mask & 1) { int bl = truncate_float_to_s32( gait_data->anim[2]->transition_position_span * 0.25f / (speed / gait_data->anim[2]->f08)); @@ -798,7 +803,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 3; + gait_data->gait_state = WALKER_GAIT_ALTERNATE_TRANSITION_TO_UPHILL; } else { int bl = truncate_float_to_s32( gait_data->anim[1]->alternate_transition_position_span * 0.25f / @@ -815,13 +820,13 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 2; + gait_data->gait_state = WALKER_GAIT_TRANSITION_TO_UPHILL; } } else if ((ground_height - ground_probe_position[2]) + gait_data->anim[gait_animation_index]->f04 * 0.5f * fast_sin(gait_data->ground_probe_correction_angle) > -gait_data->terrain_transition_height_scale * 0.75f) { - if (flags & 1) { + if (gait_update_trigger_mask & 1) { int bl = truncate_float_to_s32( gait_data->anim[4]->transition_position_span * 0.25f / (speed / gait_data->anim[4]->f08)); @@ -835,7 +840,8 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 10; + gait_data->gait_state = + WALKER_GAIT_TRANSITION_FROM_DOWNHILL_TO_WALK; } else { int bl = truncate_float_to_s32( gait_data->anim[5]->alternate_transition_position_span * 0.25f / @@ -852,7 +858,8 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 11; + gait_data->gait_state = + WALKER_GAIT_ALTERNATE_TRANSITION_FROM_DOWNHILL_TO_WALK; } } break; @@ -875,12 +882,12 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 2; + gait_data->gait_state = WALKER_GAIT_TRANSITION_TO_UPHILL; } else if ((ground_height - ground_probe_position[2]) + gait_data->anim[gait_animation_index]->f04 * 0.5f * fast_sin(gait_data->ground_probe_correction_angle) < -gait_data->terrain_transition_height_scale * 0.75f) { - gait_data->gait_state = 7; + gait_data->gait_state = WALKER_GAIT_TRANSITION_TO_DOWNHILL; } else { int bl = truncate_float_to_s32( gait_data->anim[0]->alternate_transition_position_span / @@ -896,7 +903,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 1; + gait_data->gait_state = WALKER_GAIT_WALK; } break; case WALKER_GAIT_ALTERNATE_TRANSITION_FROM_DOWNHILL_TO_WALK: @@ -917,12 +924,12 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 3; + gait_data->gait_state = WALKER_GAIT_ALTERNATE_TRANSITION_TO_UPHILL; } else if ((ground_height - ground_probe_position[2]) + gait_data->anim[gait_animation_index]->f04 * 0.5f * fast_sin(gait_data->ground_probe_correction_angle) < -gait_data->terrain_transition_height_scale * 0.75f) { - gait_data->gait_state = 8; + gait_data->gait_state = WALKER_GAIT_ALTERNATE_TRANSITION_TO_DOWNHILL; } else { int bl = truncate_float_to_s32(gait_data->anim[0]->transition_position_span / @@ -937,7 +944,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 1; + gait_data->gait_state = WALKER_GAIT_WALK; } break; } @@ -972,12 +979,12 @@ void walker_update_gait(WalkMoby *walker_moby, blend_moby_animation(walker_moby, a->id, f, 10); reset_walker_gait_helpers((char *)gait_data); } - gait_data->gait_state = 1; - } else if (flags & 5) { + gait_data->gait_state = WALKER_GAIT_WALK; + } else if (gait_update_trigger_mask & 5) { if (gait_data->gait_status_flags & 1) { gait_data->gait_status_flags = (gait_data->gait_status_flags & 0xFFFE) | 2; gait_data->gait_ground_height_reference = walker_moby->pos[2]; - if (flags & 1) { + if (gait_update_trigger_mask & 1) { int bl = truncate_float_to_s32(gait_data->anim[11]->transition_position_span * 0.25f / (speed / gait_data->anim[11]->f08)); @@ -991,7 +998,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 0xF; + gait_data->gait_state = WALKER_GAIT_TAKEOFF_ANIMATION; } else { int bl = truncate_float_to_s32( gait_data->anim[9]->alternate_transition_position_span * 0.25f / @@ -1007,7 +1014,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->pClass->seqs[a->id], (float)fr); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 0xE; + gait_data->gait_state = WALKER_GAIT_ALTERNATE_TAKEOFF_ANIMATION; } } else { ground_probe_position[0] = @@ -1015,7 +1022,7 @@ void walker_update_gait(WalkMoby *walker_moby, ground_probe_position[1] = fast_sin(movement_heading) * gait_data->anim[0]->f04 * 0.5f; ground_probe_position[2] = 0.0f; - if (flags & 1) { + if (gait_update_trigger_mask & 1) { fast_vec_add(ground_probe_position, ground_probe_position, gait_data->ground_probe_anchor_record); @@ -1038,10 +1045,10 @@ void walker_update_gait(WalkMoby *walker_moby, case WALKER_GAIT_RESET_TO_IDLE: blend_moby_animation(walker_moby, gait_data->idle_animation_id, 0, 10); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 0; + gait_data->gait_state = WALKER_GAIT_IDLE; break; case WALKER_GAIT_TAKEOFF_ANIMATION: - if (flags & 0x30) { + if (gait_update_trigger_mask & 0x30) { float dist = vector_distance_xy(walker_moby->pos, gait_data->jump_target_position); debug_print(walker_jump_distance_debug_format, dist); gait_data->jump_vertical_velocity = @@ -1059,7 +1066,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->animation_playback_rate) { blend_moby_animation(walker_moby, gait_data->airborne_wait_animation_id, 0, 10); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 0x10; + gait_data->gait_state = WALKER_GAIT_WAIT_FOR_LANDING; } else if ((gait_data->gait_status_flags & 4) && gait_data->jump_vertical_velocity < 0.0f) { float t = compute_walker_time_to_landing((char *)walker_moby, (char *)gait_data); float len = (gait_data->anim[12]->alternate_phase_anchor_position - @@ -1076,12 +1083,12 @@ void walker_update_gait(WalkMoby *walker_moby, f = find_nearest_animation_sequence_entry(walker_moby->pClass->seqs[a->id], 0.0f); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 0x12; + gait_data->gait_state = WALKER_GAIT_SYNC_LANDING_ANIMATION; } } break; case WALKER_GAIT_ALTERNATE_TAKEOFF_ANIMATION: - if (flags & 0x30) { + if (gait_update_trigger_mask & 0x30) { float dist = fast_vec_dist(walker_moby->pos, gait_data->jump_target_position); debug_print(walker_jump_distance_debug_format, dist); gait_data->jump_vertical_velocity = @@ -1099,7 +1106,7 @@ void walker_update_gait(WalkMoby *walker_moby, walker_moby->animation_playback_rate) { blend_moby_animation(walker_moby, gait_data->airborne_wait_animation_id, 0, 10); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 0x10; + gait_data->gait_state = WALKER_GAIT_WAIT_FOR_LANDING; } else if ((gait_data->gait_status_flags & 4) && gait_data->jump_vertical_velocity < 0.0f) { float t = compute_walker_time_to_landing((char *)walker_moby, (char *)gait_data); float len = (gait_data->anim[10]->alternate_phase_anchor_position - @@ -1116,7 +1123,7 @@ void walker_update_gait(WalkMoby *walker_moby, f = find_nearest_animation_sequence_entry(walker_moby->pClass->seqs[a->id], 0.0f); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 0x11; + gait_data->gait_state = WALKER_GAIT_SYNC_ALTERNATE_LANDING_ANIMATION; } } break; @@ -1133,7 +1140,7 @@ void walker_update_gait(WalkMoby *walker_moby, find_nearest_animation_sequence_entry(walker_moby->pClass->seqs[a->id], 0.0f); blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); - gait_data->gait_state = 0x12; + gait_data->gait_state = WALKER_GAIT_SYNC_LANDING_ANIMATION; } } break; @@ -1200,7 +1207,7 @@ void walker_update_gait(WalkMoby *walker_moby, } break; case WALKER_GAIT_RESUME_RUN_AFTER_LANDING: - if (flags & 1) { + if (gait_update_trigger_mask & 1) { int bl = truncate_float_to_s32( (gait_data->anim[7]->transition_position_span * 0.25f + 2.0f) / (speed / gait_data->anim[7]->f08)); @@ -1214,7 +1221,7 @@ void walker_update_gait(WalkMoby *walker_moby, blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); gait_data->jump_vertical_velocity = 0.0f; - gait_data->gait_state = 0xD; + gait_data->gait_state = WALKER_GAIT_RUN; gait_data->gait_phase_mask = 1; gait_data->gait_status_flags &= 0xFFFD; ground_probe_position[0] = fast_cos(movement_heading) * gait_data->anim[7]->f04 * 0.5f; @@ -1229,7 +1236,7 @@ void walker_update_gait(WalkMoby *walker_moby, } break; case WALKER_GAIT_RESUME_RUN_AFTER_ALTERNATE_LANDING: - if (flags & 1) { + if (gait_update_trigger_mask & 1) { int bl = truncate_float_to_s32( (gait_data->anim[7]->alternate_transition_position_span * 0.25f + 2.0f) / (speed / gait_data->anim[7]->f08)); @@ -1244,7 +1251,7 @@ void walker_update_gait(WalkMoby *walker_moby, blend_moby_animation(walker_moby, a->id, f, bl); reset_walker_gait_helpers((char *)gait_data); gait_data->jump_vertical_velocity = 0.0f; - gait_data->gait_state = 0xD; + gait_data->gait_state = WALKER_GAIT_RUN; gait_data->gait_phase_mask = 1; gait_data->gait_status_flags &= 0xFFFD; ground_probe_position[0] = fast_cos(movement_heading) * gait_data->anim[7]->f04 * 0.5f; diff --git a/src/overlays/shared/game/initialize_level_transition_with_audio.c b/src/overlays/shared/game/initialize_level_transition_with_audio.c index aa10de810e..a3bd79fcd0 100644 --- a/src/overlays/shared/game/initialize_level_transition_with_audio.c +++ b/src/overlays/shared/game/initialize_level_transition_with_audio.c @@ -91,7 +91,7 @@ typedef struct { char padc[0x14]; int x20; short x24; - short x26; + short audio_selection_base_index; char pad28[4]; short x2c; } E_28e9c8; @@ -149,21 +149,22 @@ void initialize_level_transition_with_audio(int audio_selection_mode) { moby->flags |= 0x80; } if (audio_selection_mode == AUDIO_SELECTION_MODE_ALWAYS_FADE) { - base_audio_selection_index = D_0013E030_28e9c8.x26; + base_audio_selection_index = D_0013E030_28e9c8.audio_selection_base_index; audio_stream_table_index = base_audio_selection_index + 1; secondary_track_index = base_audio_selection_index + 6; if (current_level_index == LEVEL_ORXON && base_audio_selection_index == 1 && D_0013D4C6_lui == 0) { audio_stream_table_index = 0; secondary_track_index = 11; - } else if (current_level_index == LEVEL_OLTANIS && D_0013E030_28e9c8.x26 == 2) { + } else if (current_level_index == LEVEL_OLTANIS && + D_0013E030_28e9c8.audio_selection_base_index == 2) { audio_stream_table_index = 8; secondary_track_index = 14; } load_chunks_with_optional_fade(audio_stream_table_index, scale_game_frames(6)); } else { int k, fade_frame_count; - base_audio_selection_index = D_0013E030_28e9c8.x26; + base_audio_selection_index = D_0013E030_28e9c8.audio_selection_base_index; k = D_0013E030_28e9c8.x2c; secondary_track_index = base_audio_selection_index + 3; if (k) @@ -175,7 +176,8 @@ void initialize_level_transition_with_audio(int audio_selection_mode) { if (k) secondary_track_index = 9; alternate_audio_stream_table_index = 4; - } else if (current_level_index == LEVEL_OLTANIS && D_0013E030_28e9c8.x26 == 2) { + } else if (current_level_index == LEVEL_OLTANIS && + D_0013E030_28e9c8.audio_selection_base_index == 2) { secondary_track_index = 13; if (D_0013E030_28e9c8.x2c) secondary_track_index = 12; diff --git a/src/overlays/shared/game/restore_or_clear_level_state.c b/src/overlays/shared/game/restore_or_clear_level_state.c index 4b79340654..f8da8f5f3b 100644 --- a/src/overlays/shared/game/restore_or_clear_level_state.c +++ b/src/overlays/shared/game/restore_or_clear_level_state.c @@ -93,7 +93,7 @@ void restore_or_clear_level_state(void) __asm__("FUN_L00_00285008"); void restore_or_clear_level_state(void) { char *s = D_L00_001BB230; int i; - short id; + short vehicle_moby_class_id; u8 *record_cursor; struct Hero *hero_state; @@ -117,13 +117,13 @@ void restore_or_clear_level_state(void) { D_00151708 = *(unsigned short *)(s + 0xC54); } if (*(int *)(s + 0x44) != 0 && *(int *)(s + 0x44) != 3) { - id = 0; + vehicle_moby_class_id = 0; switch (*(int *)(s + 0x44)) { case HERO_VEHICLE_MODE_CLANK: - id = 0x57; + vehicle_moby_class_id = 0x57; break; case HERO_VEHICLE_MODE_GIANT_CLANK: - id = 0x1A3; + vehicle_moby_class_id = 0x1A3; break; default: raise_kernel_trap(); @@ -134,7 +134,7 @@ void restore_or_clear_level_state(void) { record_cursor = moby_table + i * 0x100; if (record_cursor >= D_L00_0015FFDC) break; - if (*(short *)(record_cursor + 0xA6) == id) { + if (*(short *)(record_cursor + 0xA6) == vehicle_moby_class_id) { char *s = D_L00_001BB230; enter_hero_vehicle_mode(*(int *)(s + 0x44), *(int *)(s + 0x4C), record_cursor); break; diff --git a/src/overlays/shared/game/run_level_main_loop.c b/src/overlays/shared/game/run_level_main_loop.c index a73c790a09..c578b6e056 100644 --- a/src/overlays/shared/game/run_level_main_loop.c +++ b/src/overlays/shared/game/run_level_main_loop.c @@ -235,12 +235,12 @@ void run_level_main_loop(void) { memory_card_state.pending_state >= MEMCARD_QUERY_INFO) { if (D_L00_001B9CF0.card_icon_hidden == 0) { int rotation_period_frames = 55; - float size; + float rotating_sprite_size; float sprite_rotation_radians; int hud_sprite; setup_gif_paging(0); - size = 272.0f; + rotating_sprite_size = 272.0f; vu1_add_g_sregister(0x47, 0x3004B); hud_sprite = get_icon_frame(0x755D, 0); draw_hud_sprite(hud_sprite, 0x32, 0x12C, 0x40, 0x40, 0x80); @@ -251,8 +251,8 @@ void run_level_main_loop(void) { 0x40, 0x40, get_frame_texture(get_icon_frame(0x755D, 1)), - size, - size, + rotating_sprite_size, + rotating_sprite_size, sprite_rotation_radians); do_gif_paging(); } @@ -394,7 +394,7 @@ extern char D_001383A0[]; void initialize_level_map_archive(void) { int i; - RenderArchiveState *state; + RenderArchiveState *map_archive_state; int level; struct DiscFile *file; int heap_tag, first_size, second_size, archive_transfer_qwords; @@ -402,7 +402,7 @@ void initialize_level_map_archive(void) { unsigned char *level_data; int x, y, mask_buffer; float radius_sq; - unsigned char *flags; + unsigned char *item_availability; D_L00_001841F0.initialized = 1; { @@ -431,8 +431,8 @@ void initialize_level_map_archive(void) { map_coefficients[i * 4 + 2] = map_y0 - scale_y * world_y0; } } - flags = (unsigned char *)((unsigned char *)item_available); - if (flags[0x21] != 0) { + item_availability = (unsigned char *)((unsigned char *)item_available); + if (item_availability[0x21] != 0) { D_L00_001841F0.loaded = 1; file = (struct DiscFile *)D_00138438 + D_L00_001841F0.archive_index; } else { @@ -440,27 +440,29 @@ void initialize_level_map_archive(void) { file = (struct DiscFile *)D_001383A0 + D_L00_001841F0.archive_index; } if (file->size != 0) { - state = &D_L00_001841F0; - state->coverage_enabled = 1; + map_archive_state = &D_L00_001841F0; + map_archive_state->coverage_enabled = 1; heap_tag = (int)render_archive_source_file; archive_base = ((int **)&D_L00_00173E08)[0]; archive = (int *)((int)archive_base + 0x9A800); archive_transfer_qwords = file->size << 7; read_disc_sectors_and_wait(archive, file->sector, file->size); - state->file_handle = stash_send_data( + map_archive_state->file_handle = stash_send_data( (int)archive, archive_transfer_qwords, 0x4800, (int)map_archive_stash_tag); - state->transfer_bytes = archive_transfer_qwords; + map_archive_state->transfer_bytes = archive_transfer_qwords; fast_decompress((int)archive, (int)archive_base); archive = archive_base; first_size = archive[1] - archive[0]; - state->first_data = hud_heap_alloc(first_size, 0, (char *)heap_tag, 0x2DB); - fast_mem_copy((void *)state->first_data, (char *)archive + archive[0], first_size); - state->first_data += 8; - state->second_data = state->first_data; + map_archive_state->first_data = hud_heap_alloc(first_size, 0, (char *)heap_tag, 0x2DB); + fast_mem_copy( + (void *)map_archive_state->first_data, (char *)archive + archive[0], first_size); + map_archive_state->first_data += 8; + map_archive_state->second_data = map_archive_state->first_data; second_size = archive[2] - archive[1]; - state->coverage_runs = hud_heap_alloc(second_size, 0, (char *)heap_tag, 0x2EC); - fast_mem_copy((void *)state->coverage_runs, (char *)archive + archive[1], second_size); - state->scratch_data = hud_heap_alloc(0x1000, 0, (char *)heap_tag, 0x2F3); + map_archive_state->coverage_runs = hud_heap_alloc(second_size, 0, (char *)heap_tag, 0x2EC); + fast_mem_copy( + (void *)map_archive_state->coverage_runs, (char *)archive + archive[1], second_size); + map_archive_state->scratch_data = hud_heap_alloc(0x1000, 0, (char *)heap_tag, 0x2F3); for (i = 0; i < 8; i++) { D_L00_001841F0.slots[i].cell = -1; D_L00_001841F0.slots[i].unk4 = -1; @@ -512,10 +514,10 @@ void initialize_render_archive_transfer(void) { s32 buffer; s32 bytes; s32 archive_index; - RenderArchiveState *state = &D_L00_001841F0; + RenderArchiveState *render_archive = &D_L00_001841F0; noop_main_callback(); - update_map_icons(state->archive_index, 1); + update_map_icons(render_archive->archive_index, 1); first_base = D_L00_001B9CF0.first_base; second_base = D_L00_001B9CF0.second_base; buffer = first_base + 0x9a800; @@ -525,29 +527,29 @@ void initialize_render_archive_transfer(void) { D_L00_001841F0.buffer = buffer; D_L00_001841F0.old_end = second_base; D_L00_001B9CF0.second_base = second_base + 0x48000; - state->zero_284 = 0; - state->zero_288 = 0; - state->slot_28c = -1; - state->level_slot = -1; - state->slot_294 = -1; - state->slot_298 = -1; - state->slot_29c = -1; - state->slot_2a0 = -1; - if (state->file_handle != -1) { - if (state->loaded == 0 && D_0013D4E1 != 0) { - archive_index = state->archive_index; + render_archive->zero_284 = 0; + render_archive->zero_288 = 0; + render_archive->slot_28c = -1; + render_archive->level_slot = -1; + render_archive->slot_294 = -1; + render_archive->slot_298 = -1; + render_archive->slot_29c = -1; + render_archive->slot_2a0 = -1; + if (render_archive->file_handle != -1) { + if (render_archive->loaded == 0 && D_0013D4E1 != 0) { + archive_index = render_archive->archive_index; bytes = disc_table.render_archives[archive_index].size << 7; start_audio_stream_read(buffer, disc_table.render_archives[archive_index].sector, disc_table.render_archives[archive_index].size); update_audio_stream_until_idle(1); - state->loaded = 1; - state->transfer_bytes = bytes; - send_dma_to_stash_slot(state->buffer, state->file_handle, 0, bytes); - state->level_slot = current_level_index + 0x100; - state->last_transfer_bytes = bytes; - state->map_ready = 1; - state->load_state = -2; + render_archive->loaded = 1; + render_archive->transfer_bytes = bytes; + send_dma_to_stash_slot(render_archive->buffer, render_archive->file_handle, 0, bytes); + render_archive->level_slot = current_level_index + 0x100; + render_archive->last_transfer_bytes = bytes; + render_archive->map_ready = 1; + render_archive->load_state = -2; return; } if (D_L00_001841F0.file_handle != -1) { diff --git a/src/overlays/shared/game/unlock_planet.c b/src/overlays/shared/game/unlock_planet.c index afbff88961..a26a3a508a 100644 --- a/src/overlays/shared/game/unlock_planet.c +++ b/src/overlays/shared/game/unlock_planet.c @@ -495,7 +495,7 @@ void spawn_randomized_bolt_drop(struct Moby *moby, void spawn_randomized_bolt_drop( - struct Moby *moby, int min_bolts, int max_bolts, int flags, int path_index) { + struct Moby *moby, int min_bolts, int max_bolts, int drop_behavior_mask, int path_index) { float base_velocity[4], position[4], velocity[4], spread[4], landing[4], path_point[4], quarter[4]; float first_root, second_root; @@ -512,24 +512,24 @@ void spawn_randomized_bolt_drop( twenties = 0; fifties = 0; clear_u64_value(base_velocity); - if (!(flags & 0x20)) { + if (!(drop_behavior_mask & 0x20)) { if (moby->mission != 0xFF && (unsigned)((unsigned short)moby->oclass - 0x1F4) >= 0x29) { D_L00_0015F598 = D_L00_0015FC88_macro[moby->mission] == 0xFF; } } counted = 0; if (D_L00_0015F598) { - if (!(flags & 0x20)) { + if (!(drop_behavior_mask & 0x20)) { counted = 1; } } - if (flags == 0) { + if (drop_behavior_mask == 0) { return; } if (min_bolts == 0 && max_bolts == 0) { return; } - if (flags & 4) { + if (drop_behavior_mask & 4) { aim = (unsigned char *)get_moby_target_info(moby); if (aim) { qcopy(base_velocity, aim + 0x20); @@ -605,7 +605,7 @@ void spawn_randomized_bolt_drop( } ones = remaining; sum = fifties + twenties + fives + ones; - if (sum >= 4 && (flags & 8)) { + if (sum >= 4 && (drop_behavior_mask & 8)) { down_ones = 0; down_fives = 0; down_twenties = 0; @@ -701,16 +701,16 @@ void spawn_randomized_bolt_drop( } fast_vec_add(velocity, velocity, base_velocity); if (fifties) { - spawn_bolt_by_value(moby, position, velocity, flags, 50, counted); + spawn_bolt_by_value(moby, position, velocity, drop_behavior_mask, 50, counted); fifties--; } else if (twenties) { - spawn_bolt_by_value(moby, position, velocity, flags, 20, counted); + spawn_bolt_by_value(moby, position, velocity, drop_behavior_mask, 20, counted); twenties--; } else if (fives) { - spawn_bolt_by_value(moby, position, velocity, flags, 5, counted); + spawn_bolt_by_value(moby, position, velocity, drop_behavior_mask, 5, counted); fives--; } else { - spawn_bolt_by_value(moby, position, velocity, flags, 1, counted); + spawn_bolt_by_value(moby, position, velocity, drop_behavior_mask, 1, counted); ones--; } } diff --git a/src/overlays/shared/hero/handle_hero_hit.c b/src/overlays/shared/hero/handle_hero_hit.c index 52c9520502..6ed330f8cf 100644 --- a/src/overlays/shared/hero/handle_hero_hit.c +++ b/src/overlays/shared/hero/handle_hero_hit.c @@ -29,7 +29,7 @@ s32 handle_hero_hit(s32 apply_response) { OvlMobyEntry40 *hero_moby_entry; u8 *mob; s32 flag; - s32 id; + s32 hit_response_state; f32 xy_response_scale, z_response_amount, frame_time_scale; OvlVec4 response_vector; @@ -88,9 +88,9 @@ s32 handle_hero_hit(s32 apply_response) { case HERO_VEHICLE_MODE_ON_FOOT: mob = (u8 *)G.damage_source_moby; if (mob != 0 && (*(s16 *)(mob + 0xA6) == 0x4EB || *(s16 *)(mob + 0xA6) == 0x558)) { - id = 0x80; + hit_response_state = HERO_STATE_DYING_SPEED_LIMITED; call_ret: - hero_set_state(id, 1); + hero_set_state(hit_response_state, 1); return 1; } if (G.state.control_mode == 0x16) { @@ -101,14 +101,14 @@ s32 handle_hero_hit(s32 apply_response) { if (G.state.control_mode == HERO_MODE_WATER_SURFACE) { mob = (u8 *)G.damage_source_moby; if (mob != 0 && *(s16 *)(mob + 0xA6) == 0x28F) { - id = 0x82; + hit_response_state = HERO_STATE_DYING_ZERO_HEALTH; goto call_ret; } hero_set_state(0x75, 1); } else if (G.state.control_mode == HERO_MODE_SWIM) { mob = (u8 *)G.damage_source_moby; if (mob != 0 && *(s16 *)(mob + 0xA6) == 0x28F) { - id = 0x82; + hit_response_state = HERO_STATE_DYING_ZERO_HEALTH; goto call_ret; } if (current_level_index == LEVEL_QUARTU || current_level_index == LEVEL_VELDIN_ORBIT) { @@ -122,7 +122,7 @@ s32 handle_hero_hit(s32 apply_response) { } else if (G.state.control_mode == HERO_MODE_LEDGE) { mob = (u8 *)G.damage_source_moby; if (mob != 0) { - id = 0x82; + hit_response_state = HERO_STATE_DYING_ZERO_HEALTH; if (*(s16 *)(mob + 0xA6) == 0x28F) { goto call_ret; } diff --git a/src/overlays/shared/hero/hero_frame_update.c b/src/overlays/shared/hero/hero_frame_update.c index ac96b60bd6..403354a18d 100644 --- a/src/overlays/shared/hero/hero_frame_update.c +++ b/src/overlays/shared/hero/hero_frame_update.c @@ -343,6 +343,10 @@ extern int l01_hero_set_state(int, int) __asm__("FUN_L01_0023cf98"); extern void exit_hero_vehicle_mode_if_mode_three(void) __asm__("FUN_L00_0020b930"); void update_hero_ground_material_effects(void) { + enum { + GROUND_MATERIAL_SLIP = 8, + GROUND_MATERIAL_SLIP_NO_LEDGE = 0xC + }; struct Hero *hero_ptr = &hero; int saved_ground_type; int x; @@ -404,7 +408,7 @@ void update_hero_ground_material_effects(void) { struct Hero *q = &hero; q->selector_13 = 1; } - if (saved_ground_type == 8) { + if (saved_ground_type == GROUND_MATERIAL_SLIP) { struct Hero *q = &hero; q->on_slip_ground = 1; } @@ -412,7 +416,7 @@ void update_hero_ground_material_effects(void) { struct Hero *q = &hero; q->grind_jump_block = 1; } - if (saved_ground_type == 0xC) { + if (saved_ground_type == GROUND_MATERIAL_SLIP_NO_LEDGE) { struct Hero *q = &hero; q->on_slip_ground = 1; } @@ -834,7 +838,7 @@ s32 process_hero_hit_response(s32 apply_state_and_motion_response) { OvlMobyEntry40 *hero_moby_entry; u8 *mob; s32 flag; - s32 id; + s32 hit_response_state; f32 horizontal_scale, vertical_amount, cached_frame_time; OvlVec4 motion_delta; @@ -889,9 +893,9 @@ s32 process_hero_hit_response(s32 apply_state_and_motion_response) { case HERO_VEHICLE_MODE_ON_FOOT: mob = (u8 *)G.damage_source_moby; if (mob != 0 && (*(s16 *)(mob + 0xA6) == 0x4EB || *(s16 *)(mob + 0xA6) == 0x558)) { - id = 0x80; + hit_response_state = HERO_STATE_DYING_SPEED_LIMITED; call_ret: - l01_hero_set_state(id, 1); + l01_hero_set_state(hit_response_state, 1); return 1; } if (G.state.control_mode == 0x16) { @@ -902,14 +906,14 @@ s32 process_hero_hit_response(s32 apply_state_and_motion_response) { if (G.state.control_mode == HERO_MODE_WATER_SURFACE) { mob = (u8 *)G.damage_source_moby; if (mob != 0 && *(s16 *)(mob + 0xA6) == 0x28F) { - id = 0x82; + hit_response_state = HERO_STATE_DYING_ZERO_HEALTH; goto call_ret; } l01_hero_set_state(0x75, 1); } else if (G.state.control_mode == HERO_MODE_SWIM) { mob = (u8 *)G.damage_source_moby; if (mob != 0 && *(s16 *)(mob + 0xA6) == 0x28F) { - id = 0x82; + hit_response_state = HERO_STATE_DYING_ZERO_HEALTH; goto call_ret; } if (current_level_index == LEVEL_QUARTU || current_level_index == LEVEL_VELDIN_ORBIT) { @@ -923,7 +927,7 @@ s32 process_hero_hit_response(s32 apply_state_and_motion_response) { } else if (G.state.control_mode == HERO_MODE_LEDGE) { mob = (u8 *)G.damage_source_moby; if (mob != 0) { - id = 0x82; + hit_response_state = HERO_STATE_DYING_ZERO_HEALTH; if (*(s16 *)(mob + 0xA6) == 0x28F) { goto call_ret; } @@ -1345,7 +1349,10 @@ extern s32 coll3_233940(void *, f32) __asm__("FUN_L00_001f3170"); extern u128_233940 D_L01_001742F0[] NOT_SDA; s32 resolve_hero_position_with_collision_queries(s32 mode) __asm__("FUN_L01_00233940"); -s32 resolve_hero_position_with_collision_queries(s32 mode) { +s32 resolve_hero_position_with_collision_queries(s32 large_correction_mode) { + enum { + HERO_LARGE_CORRECTION_LIMIT_TO_CAPSULE_RADIUS = 0xF + }; V_233940 pre_collision_position; V_233940 collision_query_offset; V_233940 resolved_position_delta; @@ -1412,7 +1419,7 @@ s32 resolve_hero_position_with_collision_queries(s32 mode) { fast_vec_sub(&resolved_position_delta, &hero.motion.pos.q, &pre_collision_position); query_height_or_displacement_length = fast_vec_length(&resolved_position_delta); if (hero.capsule_radius * 1.5f < query_height_or_displacement_length) { - if (mode == 0xF) { + if (large_correction_mode == HERO_LARGE_CORRECTION_LIMIT_TO_CAPSULE_RADIUS) { if (512.0f < resolved_position_delta.f[0]) resolved_position_delta.f[0] = 512.0f; else if (resolved_position_delta.f[0] < -512.0f) diff --git a/src/overlays/shared/hero/hero_handle_jump_press.c b/src/overlays/shared/hero/hero_handle_jump_press.c index 47a75dd1d6..901d2039ab 100644 --- a/src/overlays/shared/hero/hero_handle_jump_press.c +++ b/src/overlays/shared/hero/hero_handle_jump_press.c @@ -28,12 +28,12 @@ s32 pick_idle_fidget(s32 *index) { Vec4 start; HeroTableEntry70 *fidget_candidate; Vec4 *startp, *endp; - s32 i, slot_zero_item_id, count, j; + s32 i, slot_zero_item_id, eligible_fidget_count, j; s32 *choice_write_cursor; HeroTableEntry70 *table; f32 total, pick; - count = 0; + eligible_fidget_count = 0; if (hero.fidget_cooldown != 0) return 0; if (hero.health.hp == 1) { @@ -81,19 +81,19 @@ s32 pick_idle_fidget(s32 *index) { continue; } *choice_write_cursor = i; - count++; + eligible_fidget_count++; choice_write_cursor++; } - if (count == 0) + if (eligible_fidget_count == 0) return 0; total = 0.0f; - for (i = 0; i < count; i++) { + for (i = 0; i < eligible_fidget_count; i++) { HeroTableEntry70 *choice = &idle_fidgets[choices[i]]; total += 1.0f / (f32)(s32)(scale_time(choice->interval) * 60.0f); } pick = random_float_between(0.0f, 1.0f); if (pick < total) { - for (j = 0; j < count; j++) { + for (j = 0; j < eligible_fidget_count; j++) { s32 picked = choices[j]; HeroTableEntry70 *choice; *index = picked; @@ -284,16 +284,16 @@ s32 try_start_hero_item_idle_animation(void) __asm__("FUN_L00_00229a98"); s32 try_start_hero_item_idle_animation(void) { struct Hero *hero_ptr = &hero; - s32 id, k; + s32 slot_zero_item_id, k; if (hero_ptr->item_anim_active == 0 || hero_ptr->weapon_up == 0 || hero_ptr->weapon_lowered != 0) return 0; - id = hero_slot_item_id(0); - if (id != hero_ptr->item_anim_item_id) { + slot_zero_item_id = hero_slot_item_id(0); + if (slot_zero_item_id != hero_ptr->item_anim_item_id) { cancel_hero_item_animation(); return 0; } - k = item_defs[id].hero_animation; + k = item_defs[slot_zero_item_id].hero_animation; if (hero_set_state(HERO_STATE_IDLE, 0) == 0) return 0; set_hero_animation(k, 0, (f32)scale_game_frames(0xB)); diff --git a/src/overlays/shared/hero/hero_idle_sequence.c b/src/overlays/shared/hero/hero_idle_sequence.c index 0aad0bcc69..ba1cf23616 100644 --- a/src/overlays/shared/hero/hero_idle_sequence.c +++ b/src/overlays/shared/hero/hero_idle_sequence.c @@ -1,3 +1,7 @@ +enum { + HERO_EASE_KIND_ON_FOOT_HERO_MOBY = 0 +}; + /* Hero idle sequence and per-frame helpers: health, easing records, random timers, rotation targets, glow and HUD effects. */ #include "types.h" #include "rnc/overlay/shared/world/level_globals.h" @@ -161,7 +165,8 @@ int get_hero_easing_moby_by_kind(int ease_kind) { HERO_EASE_KIND_SLOT_THREE_SECONDARY_MOBY = 1, HERO_EASE_KIND_SLOT_ZERO_PRIMARY_MOBY = 5 }; - if (ease_kind == 0 || ease_kind == 2 || ease_kind == 3 || ease_kind == 4) { + if (ease_kind == HERO_EASE_KIND_ON_FOOT_HERO_MOBY || ease_kind == 2 || ease_kind == 3 || + ease_kind == 4) { return D_001413D0[0]; } if (ease_kind == HERO_EASE_KIND_SLOT_THREE_SECONDARY_MOBY) { @@ -196,7 +201,7 @@ void update_hero_easing_record(struct HeroEase *ease_record) { if (D_001413F4 == 0) { if (ease_record->kind == 4 || ease_record->kind == 2 || ease_record->kind == 3) return; - } else if (ease_record->kind == 0) { + } else if (ease_record->kind == HERO_EASE_KIND_ON_FOOT_HERO_MOBY) { return; } if (ease_record->rot_target.f[0] == 0.0f && ease_record->rot_target.f[1] == 0.0f && @@ -1075,9 +1080,9 @@ void release_and_clear_hero_voice_slots(void) { typedef struct { u8 p[0x280]; - u16 x280; + u16 qualifying_items_help_request_gate; u8 p282[0x13E]; - u16 x3c0; + u16 special_state_item_help_request_gate; } G00206cf8; extern G00206cf8 help_records __asm__("D_00141968"); @@ -1088,14 +1093,15 @@ void check_hero_item_reward_conditions(void) __asm__("FUN_L00_0 void check_hero_item_reward_conditions(void) { s32 i, qualifying_item_count; - if (help_records.x3c0 == 0 && item_available[4] != 0 && hero_is_in_special_state() != 0) { + if (help_records.special_state_item_help_request_gate == 0 && item_available[4] != 0 && + hero_is_in_special_state() != 0) { help_request(0x4E2E, 0x78); } if (D_L00_0015F5CC_00206cf8 <= 0) return; if (D_L00_0015F5CC_00206cf8 & 0x7F) return; - if (help_records.x280 != 0) + if (help_records.qualifying_items_help_request_gate != 0) return; if (D_001418F0 != 0) return; @@ -1655,11 +1661,11 @@ void draw_hero_glow_quads(void) { int i; int vehicle_mode; int glow_color; - int mode; + int glow_dispatch_mode; V_207d40 *glow_position_cursor; - mode = D_L00_0015F5C4; - if (mode == 2 || mode == 6) { + glow_dispatch_mode = D_L00_0015F5C4; + if (glow_dispatch_mode == 2 || glow_dispatch_mode == 6) { for (i = 0; i < P.queued_glow_count; i++) draw_offset_textured_effect_quad(&P.queued_glow_positions[i], P.queued_glow_colors[i], @@ -2575,7 +2581,7 @@ extern int random_integer_below_cf(void *, void *, float, float) __asm__("FUN_L0 void emit_hero_randomized_motion_effects(int iteration_count, int mode) __asm__("FUN_L00_00209a40"); -void emit_hero_randomized_motion_effects(int iteration_count, int mode) { +void emit_hero_randomized_motion_effects(int iteration_count, int emission_position_mode) { enum { HERO_MOTION_EFFECT_RANDOMIZED_HERO_POSITION = 0 }; @@ -2592,17 +2598,17 @@ void emit_hero_randomized_motion_effects(int iteration_count, int mode) { for (i = 0; i < iteration_count; i++) { hero_state = &hero; hero_displacement_source = (V_209a40 *)&hero_state->motion.displacement; - if (mode == HERO_MOTION_EFFECT_RANDOMIZED_HERO_POSITION) { + if (emission_position_mode == HERO_MOTION_EFFECT_RANDOMIZED_HERO_POSITION) { pos[0] = hero_state->motion.pos.f[0] + random_float_between(-0.1f, 0.1f); pos[1] = hero_state->motion.pos.f[1] + random_float_between(-0.1f, 0.1f); pos[2] = hero_state->motion.pos.f[2] + random_float_between(-0.5f, 0.1f); - } else if (mode == HERO_MOTION_EFFECT_ALTERNATING_MOBY_POINTS_0_AND_14) { + } else if (emission_position_mode == HERO_MOTION_EFFECT_ALTERNATING_MOBY_POINTS_0_AND_14) { if (!(i & 1)) { moby_point_position(hero_state->moby, 0, pos); } else { moby_point_position(hero_state->moby, 0xE, pos); } - } else if (mode == HERO_MOTION_EFFECT_ALTERNATING_MOBY_POINTS_23_AND_22) { + } else if (emission_position_mode == HERO_MOTION_EFFECT_ALTERNATING_MOBY_POINTS_23_AND_22) { if (!(i & 1)) { moby_point_position(hero_state->moby, 0x17, pos); } else { @@ -3064,8 +3070,9 @@ void update_hero_target_tracking(void) { char *selected_moby; struct HeroEase *manipulator_table; float yaw_delta, pitch, s; - int mode = *(int *)(hero_control_mode_owner + 0x208C); - if (mode != 1 && mode != 4 && mode != 2 && mode != 7 && mode != 0) { + int control_mode = *(int *)(hero_control_mode_owner + 0x208C); + if (control_mode != 1 && control_mode != 4 && control_mode != 2 && control_mode != 7 && + control_mode != 0) { *(int *)(hero_control_mode_owner + 0x2274) = 0; return; } @@ -3600,7 +3607,7 @@ void check_ledge_grab(void) { float probe[4], ledge[4], ray_end[4], hero_level[4], clearance[4], edge_start[4], edge_end[4], grab_point[4]; float down, fwd, up, top, drop, rise, back; - float speed, ledge_yaw, offset; + float speed, ledge_yaw, ledge_normal_offset; int can_grab, found, edge, i, j, surface, grabbable, frames; Obj *moby_info; Obj *moby_props; @@ -3756,22 +3763,26 @@ void check_ledge_grab(void) { float max = 2.4f; float step = 0.03f; - for (offset = 0.0f; offset < max; offset += step) { + for (ledge_normal_offset = 0.0f; ledge_normal_offset < max; ledge_normal_offset += step) { qcopy(edge_end, ledge); edge_end[2] = ledge[2]; - edge_end[0] += fast_cos(((Hero *)D_0013F450_20C568)->ledge_normal_yaw) * offset; - edge_end[1] += fast_sin(((Hero *)D_0013F450_20C568)->ledge_normal_yaw) * offset; + edge_end[0] += + fast_cos(((Hero *)D_0013F450_20C568)->ledge_normal_yaw) * ledge_normal_offset; + edge_end[1] += + fast_sin(((Hero *)D_0013F450_20C568)->ledge_normal_yaw) * ledge_normal_offset; qcopy(edge_start, edge_end); edge_end[2] += 0.5f; edge_start[2] -= 0.5f; if (!func_L00_001EFFF0_20C568( edge_end, edge_start, 4, (int)((Hero *)D_0013F450_20C568)->moby, 0)) { qcopy(grab_point, edge_end); - offset = step * 0.5f; - offset = -offset; + ledge_normal_offset = step * 0.5f; + ledge_normal_offset = -ledge_normal_offset; grab_point[2] = ledge[2]; - grab_point[0] += fast_cos(((Hero *)D_0013F450_20C568)->ledge_normal_yaw) * offset; - grab_point[1] += fast_sin(((Hero *)D_0013F450_20C568)->ledge_normal_yaw) * offset; + grab_point[0] += + fast_cos(((Hero *)D_0013F450_20C568)->ledge_normal_yaw) * ledge_normal_offset; + grab_point[1] += + fast_sin(((Hero *)D_0013F450_20C568)->ledge_normal_yaw) * ledge_normal_offset; qcopy(((Hero *)D_0013F450_20C568)->ledge_hang_pos.f, grab_point); ((Hero *)D_0013F450_20C568)->ledge_hang_pos.f[0] += fast_cos(((Hero *)D_0013F450_20C568)->ledge_normal_yaw) * back; diff --git a/src/overlays/shared/hero/hero_move_state_velocity.c b/src/overlays/shared/hero/hero_move_state_velocity.c index b152fd0e40..68549c6dce 100644 --- a/src/overlays/shared/hero/hero_move_state_velocity.c +++ b/src/overlays/shared/hero/hero_move_state_velocity.c @@ -1013,7 +1013,7 @@ void set_race_camera(Vec4_00216f90 *hero_world_position, void set_race_camera(Vec4_00216f90 *hero_world_position, Vec4_00216f90 *hero_euler_rotation, - int mode, + int requested_hero_state, int flag) { char *position_destination = D_0013F3D0; @@ -1044,8 +1044,8 @@ void set_race_camera(Vec4_00216f90 *hero_world_position, reset_pad_history(); cancel_hero_item_animation(); reset_hero_easing_records(); - if (mode != -1) - hero_set_state(mode, 1); + if (requested_hero_state != -1) + hero_set_state(requested_hero_state, 1); set_hero_animation_sequence_and_frame( *(unsigned char *)(*(char **)(hero_base + 0x2080) + 0x53), *(unsigned char *)(*(char **)(hero_base + 0x2080) + 0x51)); diff --git a/src/overlays/shared/hero/hero_set_state.c b/src/overlays/shared/hero/hero_set_state.c index f161ee6e89..7b4c0271eb 100644 --- a/src/overlays/shared/hero/hero_set_state.c +++ b/src/overlays/shared/hero/hero_set_state.c @@ -413,7 +413,7 @@ typedef struct { typedef struct M_221ee0 { u8 p0[0x10]; - OvlQuad q10; + OvlQuad moby_position; u8 p1[0x28 - 0x20]; struct M_221ee0 *next; u8 p2[0x31 - 0x2C]; @@ -459,7 +459,7 @@ void select_hero_grapple_swing_target(void) { continue; if (3.0f < G.q80.f[2] - *(f32 *)((u8 *)candidate_moby + 0x18)) continue; - if (q->f20 != 0.0f && q->f20 < fast_vec_dist(&G.q80, &candidate_moby->q10)) + if (q->f20 != 0.0f && q->f20 < fast_vec_dist(&G.q80, &candidate_moby->moby_position)) continue; k = G.i2084; target_angle_limit = 0.7853982f; @@ -498,7 +498,7 @@ void select_hero_grapple_swing_target(void) { if (best != 0) { qcopy(&v, &G.q80); v.f[2] += 0.5f; - qcopy(&w, &best->q10); + qcopy(&w, &best->moby_position); if (FUN_001efa68_221ee0(&v, &w, 2, 0, 0) == 0) { G.f998 = bestd; G.h99E = 1; @@ -3177,7 +3177,7 @@ typedef struct { u8 p0[0x88]; f32 water_adjusted_position_z; u8 p1[0x198 - 0x8C]; - s32 i198; + s32 hero_state_elapsed_frames; u8 p2[0x2F0 - 0x19C]; f32 water_surface_height_target; u8 p3[0x690 - 0x2F4]; @@ -3209,8 +3209,8 @@ void update_hero_water_height_and_bobbing(void) { enum { WATER_HEIGHT_CONTROL_ALTERNATE_TARGET = 0x16 }; - if (G.i198 > scale_game_frames(10) || G.water_bob_offset < 0.0f || G.i2094 == 0x11 || - G.i20A0 == 0x11) { + if (G.hero_state_elapsed_frames > scale_game_frames(10) || G.water_bob_offset < 0.0f || + G.i2094 == 0x11 || G.i20A0 == 0x11) { if (G.i2084 == 0x36) { vendor_spring(&G.water_bob_offset, &G.water_bob_spring_velocity, @@ -3269,22 +3269,22 @@ typedef struct { char p1E8[0xF4]; float f2DC; char p2E0[0x20]; - int f300; + int airborne_repeat_press_action_enabled; char p304[0x4]; short f308; short f30A; short f30C; - short f30E; + short grapple_extended_press_window_enabled; char p310[0x108]; - int f418; + int jump_ground_item_input_enabled; short f41C; - short f41E; + short jump_apex_passed; char p420[0x30]; - int f450; + int high_jump_stick_direction; char p454[0x58]; - short f4AC; + short jump_weapon_input_enabled; char p4AE[0x14E]; - int f5FC; + int wrench_slam_input_lockout; char p600[0x368]; int grapple_target_valid; char p96C[0x18]; @@ -3294,11 +3294,11 @@ typedef struct { short f99C; short swing_target_valid; char p9A0[0xC0]; - int fA60; + int active_attack_record_index; char pA64[0x38]; - int fA9C; + int wrench_combo_input_lockout; char pAA0[0x8]; - float fAA8; + float hero_animation_frame; char pAAC[0x5E4]; Moby_227fa0 *slot0_item_moby; char p1094[0xC]; @@ -3308,7 +3308,7 @@ typedef struct { int equipped_slot_state; int equipped_slot_item_id; char p10BC[0x22E]; - unsigned char f12EA; + unsigned char wrench_combo_throw_input_lockout; char p12EB[0xD99]; int hero_current_state; int f2088; @@ -3318,15 +3318,15 @@ typedef struct { char p20A5[0x3]; unsigned char equipped_item_animation_active; char p20A9[0x3]; - unsigned char f20AC; + unsigned char equipped_item_input_restricted; char p20AD[0x1EF]; - float f229C; + float hero_stick_magnitude; char p22A0[0x2A]; - unsigned char f22CA; + unsigned char repeat_press_action_latch; char p22CB[0xD]; - short f22D8; + short repeat_press_action_lockout; char p22DA[0x2]; - short f22DC; + short mode3_toggle_requested; short mode3_toggle_delay_frames; } Hero_228770; @@ -3353,11 +3353,14 @@ int process_hero_equipped_item_input(void) { enum { WRENCH_MOBY_STATE_READY = 0 }; + enum { + HERO_ITEM_SLOT_STATE_READY = 2 + }; int item_press_age_frames[3]; int start; int mask; - if (D_0013F450_h228770.f20AC != 0 && + if (D_0013F450_h228770.equipped_item_input_restricted != 0 && (D_0013F450_h228770.equipped_slot_item_id != 8 || D_0013F450_h228770.f308 != 1)) { return 0; } @@ -3367,7 +3370,7 @@ int process_hero_equipped_item_input(void) { if (D_0013F450_h228770.slot0_item_moby == 0) { return 0; } - if (D_0013F450_h228770.equipped_slot_state != 2) { + if (D_0013F450_h228770.equipped_slot_state != HERO_ITEM_SLOT_STATE_READY) { return 0; } start = D_0013F450_h228770.current_state_elapsed_frames; @@ -3375,10 +3378,11 @@ int process_hero_equipped_item_input(void) { switch (D_0013F450_h228770.equipped_slot_item_id) { case ITEM_WRENCH: if (D_0013F450_h228770.hero_control_mode < 2U || - (D_0013F450_h228770.hero_control_mode == 4 && D_0013F450_h228770.f418 != 0)) { + (D_0013F450_h228770.hero_control_mode == HERO_MODE_JUMP && + D_0013F450_h228770.jump_ground_item_input_enabled != 0)) { Moby_227fa0 *equipped_item_moby; - if (D_0013F450_h228770.f12EA != 0) { + if (D_0013F450_h228770.wrench_combo_throw_input_lockout != 0) { break; } if (!pad_pressed_within(mask, scale_game_frames(7), &item_press_age_frames[0])) { @@ -3395,11 +3399,11 @@ int process_hero_equipped_item_input(void) { break; } if ((controller_state.held & 0xA) || - ((D_0013F450_h228770.hero_current_state == 1 || - D_0013F450_h228770.hero_current_state == 0x1E) && + ((D_0013F450_h228770.hero_current_state == HERO_STATE_LOOK || + D_0013F450_h228770.hero_current_state == HERO_STATE_LOOK_RELEASE_WAIT) && D_0013F450_h228770.current_state_elapsed_frames > scale_game_frames(0x14))) { - if ((D_0013F450_h228770.hero_current_state == 1 || - D_0013F450_h228770.hero_current_state == 0x1E) && + if ((D_0013F450_h228770.hero_current_state == HERO_STATE_LOOK || + D_0013F450_h228770.hero_current_state == HERO_STATE_LOOK_RELEASE_WAIT) && D_0013F450_h228770.current_state_elapsed_frames > scale_game_frames(0x14)) { launch_hero_wrench(); break; @@ -3414,54 +3418,59 @@ int process_hero_equipped_item_input(void) { } break; } - if (D_0013F450_h228770.hero_current_state == 7 || - D_0013F450_h228770.hero_current_state == 9 || - D_0013F450_h228770.hero_current_state == 8 || - D_0013F450_h228770.hero_current_state == 6 || - (D_0013F450_h228770.hero_current_state == 0xE && D_0013F450_h228770.fAA8 > 32.0f) || - (D_0013F450_h228770.hero_current_state == 0xB && D_0013F450_h228770.f450 != 3 && - D_0013F450_h228770.fAA8 > 18.0f) || - (D_0013F450_h228770.hero_current_state == 0xB && D_0013F450_h228770.f450 == 3 && - D_0013F450_h228770.fAA8 > 20.0f) || - D_0013F450_h228770.hero_current_state == 0x2D || - D_0013F450_h228770.hero_current_state == 0x11) { + if (D_0013F450_h228770.hero_current_state == HERO_STATE_JUMP || + D_0013F450_h228770.hero_current_state == HERO_STATE_RUN_JUMP || + D_0013F450_h228770.hero_current_state == HERO_STATE_LAND || + D_0013F450_h228770.hero_current_state == HERO_STATE_FALL || + (D_0013F450_h228770.hero_current_state == HERO_STATE_DOUBLE_JUMP && + D_0013F450_h228770.hero_animation_frame > 32.0f) || + (D_0013F450_h228770.hero_current_state == HERO_STATE_HIGH_JUMP && + D_0013F450_h228770.high_jump_stick_direction != 3 && + D_0013F450_h228770.hero_animation_frame > 18.0f) || + (D_0013F450_h228770.hero_current_state == HERO_STATE_HIGH_JUMP && + D_0013F450_h228770.high_jump_stick_direction == 3 && + D_0013F450_h228770.hero_animation_frame > 20.0f) || + D_0013F450_h228770.hero_current_state == HERO_STATE_ITEM_RELEASE_FALL || + D_0013F450_h228770.hero_current_state == HERO_STATE_REPEATABLE_JUMP) { if (D_0013F450_h228770.current_state_elapsed_frames > scale_game_frames(0xA)) { int t = scale_game_frames(0xA); - if (D_0013F450_h228770.hero_current_state == 0xB || - D_0013F450_h228770.hero_current_state == 0xE) { + if (D_0013F450_h228770.hero_current_state == HERO_STATE_HIGH_JUMP || + D_0013F450_h228770.hero_current_state == HERO_STATE_DOUBLE_JUMP) { t = scale_game_frames(0x12); } if (!pad_pressed_within(mask, t, 0)) { break; } - if ((D_0013F450_h228770.f41E == 0 && D_0013F450_h228770.f2DC > 0.1f) || - (D_0013F450_h228770.f41E != 0 && D_0013F450_h228770.f2DC > 0.57f) || - (D_0013F450_h228770.hero_current_state == 8 && + if ((D_0013F450_h228770.jump_apex_passed == 0 && D_0013F450_h228770.f2DC > 0.1f) || + (D_0013F450_h228770.jump_apex_passed != 0 && D_0013F450_h228770.f2DC > 0.57f) || + (D_0013F450_h228770.hero_current_state == HERO_STATE_LAND && D_0013F450_h228770.f2DC > 0.57f)) { - if (D_0013F450_h228770.f5FC != 0) { + if (D_0013F450_h228770.wrench_slam_input_lockout != 0) { break; } hero_set_state(0x14, 1); break; } - if (D_0013F450_h228770.f12EA != 0) { + if (D_0013F450_h228770.wrench_combo_throw_input_lockout != 0) { break; } hero_set_state(0x13, 1); break; } } - if (D_0013F450_h228770.hero_control_mode == 6) { - HeroTableRow2C *wrench_attack_record = &attack_records[D_0013F450_h228770.fA60]; - int t; + if (D_0013F450_h228770.hero_control_mode == HERO_MODE_ATTACK) { + HeroTableRow2C *wrench_attack_record = + &attack_records[D_0013F450_h228770.active_attack_record_index]; + int t; - if (D_0013F450_h228770.hero_current_state == 0x15) { + if (D_0013F450_h228770.hero_current_state == HERO_STATE_CROUCH_SWING) { if (D_0013F450_h228770.current_state_elapsed_frames > scale_game_frames(0x1E)) { - if (D_0013F450_h228770.fA9C != 0) { + if (D_0013F450_h228770.wrench_combo_input_lockout != 0) { break; } - if (D_0013F450_h228770.fAA8 >= (float)wrench_attack_record->f10 && + if (D_0013F450_h228770.hero_animation_frame >= + (float)wrench_attack_record->f10 && (controller_state.held & 0xA) && pad_pressed_within(mask, scale_game_frames(0xF), 0)) { hero_set_state(0x15, 1); @@ -3469,20 +3478,22 @@ int process_hero_equipped_item_input(void) { } } } - if (D_0013F450_h228770.fA9C != 0) { + if (D_0013F450_h228770.wrench_combo_input_lockout != 0) { break; } - if (!(D_0013F450_h228770.fAA8 >= (float)wrench_attack_record->f10)) { + if (!(D_0013F450_h228770.hero_animation_frame >= (float)wrench_attack_record->f10)) { break; } - t = (truncate_float_to_s32(D_0013F450_h228770.fAA8) - wrench_attack_record->fC) * 2; + t = (truncate_float_to_s32(D_0013F450_h228770.hero_animation_frame) - + wrench_attack_record->fC) * + 2; if (t <= 0) { t = 1; } if (t > scale_game_frames(0xF)) { t = scale_game_frames(0xF); } - if (D_0013F450_h228770.f12EA != 0) { + if (D_0013F450_h228770.wrench_combo_throw_input_lockout != 0) { break; } if (!pad_pressed_within(mask, t, 0)) { @@ -3505,15 +3516,15 @@ int process_hero_equipped_item_input(void) { select_hero_grapple_swing_target(); select_hero_grapple_target(); t = scale_game_frames(5); - if (D_0013F450_h228770.f30E != 0) { + if (D_0013F450_h228770.grapple_extended_press_window_enabled != 0) { t = scale_game_frames(8); } if (D_0013F450_h228770.hero_control_mode < 2U || - D_0013F450_h228770.hero_control_mode == 4 || - D_0013F450_h228770.hero_control_mode == 2 || - D_0013F450_h228770.hero_control_mode == 0xF || - D_0013F450_h228770.hero_control_mode == 5 || - D_0013F450_h228770.hero_current_state == 0x1E) { + D_0013F450_h228770.hero_control_mode == HERO_MODE_JUMP || + D_0013F450_h228770.hero_control_mode == HERO_MODE_FALL || + D_0013F450_h228770.hero_control_mode == HERO_MODE_GRIND || + D_0013F450_h228770.hero_control_mode == HERO_MODE_LAND || + D_0013F450_h228770.hero_current_state == HERO_STATE_LOOK_RELEASE_WAIT) { if (pad_pressed_within(mask, t, 0) || ((controller_state.held & mask) && D_0013F450_h228770.f10B0 > scale_game_frames(0xF))) { @@ -3527,7 +3538,7 @@ int process_hero_equipped_item_input(void) { } if (D_0013F450_h228770.swing_target_valid != 0 && D_0013F450_h228770.grapple_entry_lockout == 0 && - D_0013F450_h228770.hero_current_state != 0x2C) { + D_0013F450_h228770.hero_current_state != HERO_STATE_GRAPPLE_SWING_ENTRY) { hero_set_state(0x2C, 1); break; } @@ -3560,12 +3571,12 @@ int process_hero_equipped_item_input(void) { } allocate_hero_voice_for_entry(0x18, 0); D_0013F450_h228770.mode3_toggle_delay_frames = 0x12; - D_0013F450_h228770.f22DC = 1; + D_0013F450_h228770.mode3_toggle_requested = 1; break; case ITEM_REMOTE_VENDOR: if (D_0013F450_h228770.hero_control_mode < 3U || - D_0013F450_h228770.hero_control_mode == 4 || - D_0013F450_h228770.hero_control_mode == 5) { + D_0013F450_h228770.hero_control_mode == HERO_MODE_JUMP || + D_0013F450_h228770.hero_control_mode == HERO_MODE_LAND) { if (pad_pressed_within(mask, scale_game_frames(8), 0)) { open_vendor_menu(0); } @@ -3573,12 +3584,12 @@ int process_hero_equipped_item_input(void) { break; case 15: if (D_0013F450_h228770.hero_control_mode < 2U || - D_0013F450_h228770.hero_control_mode == 0xC || - D_0013F450_h228770.hero_control_mode == 2 || - D_0013F450_h228770.hero_control_mode == 4 || - D_0013F450_h228770.hero_control_mode == 5 || - D_0013F450_h228770.hero_control_mode == 0xF || - D_0013F450_h228770.hero_current_state == 0x1E) { + D_0013F450_h228770.hero_control_mode == HERO_MODE_CROUCH || + D_0013F450_h228770.hero_control_mode == HERO_MODE_FALL || + D_0013F450_h228770.hero_control_mode == HERO_MODE_JUMP || + D_0013F450_h228770.hero_control_mode == HERO_MODE_LAND || + D_0013F450_h228770.hero_control_mode == HERO_MODE_GRIND || + D_0013F450_h228770.hero_current_state == HERO_STATE_LOOK_RELEASE_WAIT) { PVar *equipped_item_vars; if (D_0013F450_h228770.slot0_item_moby == 0) { @@ -3611,14 +3622,17 @@ int process_hero_equipped_item_input(void) { case 20: case 24: case 25: - if ((D_0013F450_h228770.hero_control_mode == 0 && - D_0013F450_h228770.hero_current_state != 0x1E) || - D_0013F450_h228770.hero_control_mode == 1 || - D_0013F450_h228770.hero_control_mode == 0xC || - D_0013F450_h228770.hero_control_mode == 5 || - D_0013F450_h228770.hero_control_mode == 0xF || - (D_0013F450_h228770.hero_control_mode == 4 && D_0013F450_h228770.f4AC != 0) || - (D_0013F450_h228770.hero_current_state == 0x23 && D_0013F450_h228770.fAA8 > 25.0f)) { + if ((D_0013F450_h228770.hero_control_mode == HERO_MODE_IDLE && + D_0013F450_h228770.hero_current_state != HERO_STATE_LOOK_RELEASE_WAIT) || + D_0013F450_h228770.hero_control_mode == HERO_MODE_RUN || + D_0013F450_h228770.hero_control_mode == HERO_MODE_CROUCH || + D_0013F450_h228770.hero_control_mode == HERO_MODE_LAND || + D_0013F450_h228770.hero_control_mode == HERO_MODE_GRIND || + (D_0013F450_h228770.hero_control_mode == HERO_MODE_JUMP && + D_0013F450_h228770.jump_weapon_input_enabled != 0) || + (D_0013F450_h228770.hero_current_state == + HERO_STATE_ANIMATION_RECOVERY_WITH_JUMP_CANCEL && + D_0013F450_h228770.hero_animation_frame > 25.0f)) { int t; int n; @@ -3631,11 +3645,11 @@ int process_hero_equipped_item_input(void) { ((controller_state.held & 0x20) && n > scale_game_frames(8) && n < scale_game_frames(0x11))) { if (get_ammo(-1)) { - if (D_0013F450_h228770.hero_control_mode == 0xC || - D_0013F450_h228770.hero_control_mode == 0 || - D_0013F450_h228770.hero_current_state == 3 || - (D_0013F450_h228770.hero_control_mode == 1 && - D_0013F450_h228770.f229C < 0.7f)) { + if (D_0013F450_h228770.hero_control_mode == HERO_MODE_CROUCH || + D_0013F450_h228770.hero_control_mode == HERO_MODE_IDLE || + D_0013F450_h228770.hero_current_state == HERO_STATE_STOP || + (D_0013F450_h228770.hero_control_mode == HERO_MODE_RUN && + D_0013F450_h228770.hero_stick_magnitude < 0.7f)) { hero_set_state(0x23, 1); } else { start_equipped_item_animation(); @@ -3650,8 +3664,9 @@ int process_hero_equipped_item_input(void) { break; case 18: if (D_0013F450_h228770.hero_control_mode < 2U || - (D_0013F450_h228770.hero_control_mode == 4 && D_0013F450_h228770.f418 != 0)) { - if (D_0013F450_h228770.hero_current_state != 1) { + (D_0013F450_h228770.hero_control_mode == HERO_MODE_JUMP && + D_0013F450_h228770.jump_ground_item_input_enabled != 0)) { + if (D_0013F450_h228770.hero_current_state != HERO_STATE_LOOK) { int t = scale_game_frames(0xA); int n = D_0013F450_h228770.f10B0; @@ -3676,29 +3691,34 @@ int process_hero_equipped_item_input(void) { break; } if (D_0013F450_h228770.current_state_elapsed_frames == start) { - if (hero_slot_item_id(3) == 3 && D_0013F450_h228770.hero_current_state != 0x81 && + if (hero_slot_item_id(3) == 3 && + D_0013F450_h228770.hero_current_state != + HERO_STATE_DELAYED_JUMP_OR_R1_REPEAT_EXIT_WAIT && (D_0013F450_h228770.f308 == 0 || item_available[0x1C] == 0) && - D_0013F450_h228770.f22D8 == 0) { + D_0013F450_h228770.repeat_press_action_lockout == 0) { f_fun_001f9740_227fa0(&hero_repeat_press_window_frames); if (hero_repeat_press_window_frames != 0) { if (D_0013F450_h228770.hero_control_mode < 2U || - D_0013F450_h228770.hero_control_mode == 0xC || - ((D_0013F450_h228770.hero_control_mode == 2 || - D_0013F450_h228770.hero_control_mode == 4) && - D_0013F450_h228770.f300 != 0)) { + D_0013F450_h228770.hero_control_mode == HERO_MODE_CROUCH || + ((D_0013F450_h228770.hero_control_mode == HERO_MODE_FALL || + D_0013F450_h228770.hero_control_mode == HERO_MODE_JUMP) && + D_0013F450_h228770.airborne_repeat_press_action_enabled != 0)) { if ((controller_state.held & 8) && (controller_state.pressed & 8)) { hero_set_state(0x81, 1); } } } - if ((controller_state.pressed & 8) && D_0013F450_h228770.hero_current_state != 0x81) { + if ((controller_state.pressed & 8) && + D_0013F450_h228770.hero_current_state != + HERO_STATE_DELAYED_JUMP_OR_R1_REPEAT_EXIT_WAIT) { hero_repeat_press_window_frames = scale_game_frames(0x1E); } - } else if (D_0013F450_h228770.hero_current_state != 0x13 && - D_0013F450_h228770.hero_current_state != 0x81 && - D_0013F450_h228770.hero_current_state != 0x15 && - D_0013F450_h228770.hero_current_state != 0x16) { - D_0013F450_h228770.f22CA = 0; + } else if (D_0013F450_h228770.hero_current_state != HERO_STATE_WRENCH_COMBO && + D_0013F450_h228770.hero_current_state != + HERO_STATE_DELAYED_JUMP_OR_R1_REPEAT_EXIT_WAIT && + D_0013F450_h228770.hero_current_state != HERO_STATE_CROUCH_SWING && + D_0013F450_h228770.hero_current_state != HERO_STATE_HURT) { + D_0013F450_h228770.repeat_press_action_latch = 0; } } return D_0013F450_h228770.current_state_elapsed_frames < start; @@ -3753,13 +3773,13 @@ void update_hero_animation_for_movement_speed(void) { HERO_SPEED_STEP_HIGH = 1 }; struct Hero *player = &hero; - int mode = player->vehicle_mode; - if (mode == 3) { + int vehicle_mode = player->vehicle_mode; + if (vehicle_mode == 3) { float speed = player->motion.speed_xy * 54.0f; player->anim_speed = speed; if (speed < 0.7f) player->anim_speed = 0.7f; - } else if (mode == HERO_VEHICLE_MODE_CLANK) { + } else if (vehicle_mode == HERO_VEHICLE_MODE_CLANK) { float speed = player->motion.speed_xy * 90.0f; player->anim_speed = speed; if (speed < 0.5f) diff --git a/src/overlays/shared/hero/hero_switch_item.c b/src/overlays/shared/hero/hero_switch_item.c index a356863e57..e3fa6c725a 100644 --- a/src/overlays/shared/hero/hero_switch_item.c +++ b/src/overlays/shared/hero/hero_switch_item.c @@ -1,3 +1,4 @@ +#include "rnc/mobys/moby_state.h" /* Hero items and targeting: item slots and switching, ledge and grind rail probes, aim pitch, target scoring and selection. */ #include "rnc/input/pad_globals.h" #include "types.h" @@ -503,10 +504,10 @@ s32 resolve_moby_animation_id(u8 *moby_bytes, s32 animation_id) { int hero_get_state_aim_pitch(int mode, float *out) __asm__("FUN_L00_0020d5d0"); -int hero_get_state_aim_pitch(int mode, float *aim_pitch_output) { +int hero_get_state_aim_pitch(int animation_id, float *aim_pitch_output) { int i; *aim_pitch_output = 0.0f; - i = mode - 0x1C; + i = animation_id - 0x1C; switch (i) { case 27: *aim_pitch_output = -0.9599311f; @@ -1216,13 +1217,13 @@ void update_hero_held_items_and_orientation(void) { } else { char *moby = (char *)pose_owner->moby; u128 *basis = (u128 *)pose_owner->basis; - float *offset = &pose_owner->facing_x; + float *facing_direction = &pose_owner->facing_x; basis[0] = *(u128 *)(moby + 0xC0); basis[1] = *(u128 *)(moby + 0xD0); basis[2] = *(u128 *)(moby + 0xE0); - clear_u64_value(offset); + clear_u64_value(facing_direction); pose_owner->facing_x = 1.0f; - transform_vector_by_basis(offset, offset, basis); + transform_vector_by_basis(facing_direction, facing_direction, basis); HERO_ROTATION(pose_owner) = pose_owner->motion.rot.q; } } @@ -1247,7 +1248,7 @@ void spawn_hero_item_mobies(void) __asm__("FUN_L00_0020ea80"); void spawn_hero_item_mobies(void) { struct Moby *created_moby; - s32 id; + s32 slot_zero_spawn_item_id; s32 slot; struct Hero *slot_owner; s32 i; @@ -1255,25 +1256,25 @@ void spawn_hero_item_mobies(void) { struct Moby *slot_four_moby; struct Moby *slot_four_secondary_moby; struct Moby *slot_five_moby; - s32 id3; + s32 slot_three_spawn_item_id; s32 fallback_item_id; if (hero.items[0].moby == 0 && D_L00_0015F3F8_ea80 > hero.items[0].respawn_frame && (hero.pending_item[0] == 0 || hero.pending_item[0] == 0x24)) { - id = hero.selected_item[0]; - if (id == 0) { + slot_zero_spawn_item_id = hero.selected_item[0]; + if (slot_zero_spawn_item_id == 0) { if (D_0015ED90 != 0 || (fallback_item_id = D_00141660_lui[0]) == 0) - id = 8; + slot_zero_spawn_item_id = 8; else - id = fallback_item_id; + slot_zero_spawn_item_id = fallback_item_id; } - select_world_object_resource_tables(item_defs_lui[id].cls, -1); + select_world_object_resource_tables(item_defs_lui[slot_zero_spawn_item_id].cls, -1); for (i = 0; i < 3; i++) { fill_transfer_words(&hero.item_eases[i], 0, sizeof(struct HeroEase)); hero.item_eases[i].attach_joint = -1; } - hero.items[0].item_id = id; - slot = item_defs_lui[id].slot; + hero.items[0].item_id = slot_zero_spawn_item_id; + slot = item_defs_lui[slot_zero_spawn_item_id].slot; slot_owner = (struct Hero *)((char *)&hero + slot * sizeof(struct HeroItemSlot)); created_moby = create_moby(item_defs_lui[slot_owner->items[0].item_id].cls); if (created_moby != 0) { @@ -1284,7 +1285,7 @@ void spawn_hero_item_mobies(void) { created_moby->metal_alpha = 0x18; slot_owner->items[0].moby = created_moby; slot_owner->items[0].state = 2; - if (id == 8) { + if (slot_zero_spawn_item_id == 8) { slot_owner->items[0].button_mask = 0x80; blend_moby_animation(created_moby, 1, 0, 1); } else { @@ -1301,14 +1302,14 @@ void spawn_hero_item_mobies(void) { } if (hero.items[3].moby == 0) { - id3 = hero.selected_item[3]; - if (id3 == 0) { - id3 = D_00141660_lui[3]; - if (id3 == 0) - id3 = D_0015ED94 != 0 ? 3 : 2; - } - hero.items[3].item_id = id3; - created_moby = create_moby(item_defs_lui[id3].cls); + slot_three_spawn_item_id = hero.selected_item[3]; + if (slot_three_spawn_item_id == 0) { + slot_three_spawn_item_id = D_00141660_lui[3]; + if (slot_three_spawn_item_id == 0) + slot_three_spawn_item_id = D_0015ED94 != 0 ? 3 : 2; + } + hero.items[3].item_id = slot_three_spawn_item_id; + created_moby = create_moby(item_defs_lui[slot_three_spawn_item_id].cls); if (created_moby != 0) { created_moby->draw_dist = 0x20; created_moby->visible = 1; @@ -1858,10 +1859,10 @@ void clear_hero_item_slot(int i, int respawn_threshold) { /* For the listed ids sets hero.face_expression to 3 and hero.face_expression_timer to scale_game_frames(0x46). */ void set_hero_condition_animation_timer_for_item(int id) __asm__("FUN_L00_0020fd80"); -void set_hero_condition_animation_timer_for_item(int id) { +void set_hero_condition_animation_timer_for_item(int switched_item_id) { struct Hero *hero_condition_animation_state; - switch (id) { + switch (switched_item_id) { case 9: case 11: case 13: @@ -1879,8 +1880,8 @@ void set_hero_condition_animation_timer_for_item(int id) { /* Sets the short at hero.item_swap_timer to scale_game_frames(0x46) for the listed ids. */ void set_hero_item_switch_timer_for_item(int id) __asm__("FUN_L00_0020fde0"); -void set_hero_item_switch_timer_for_item(int id) { - switch (id) { +void set_hero_item_switch_timer_for_item(int selected_item_id) { + switch (selected_item_id) { case 9: case 11: case 13: @@ -2289,7 +2290,7 @@ void hero_update_items(void) { } break; } - if (moby != 0 && moby->state != 0xFE && moby->state != 0xFD) { + if (moby != 0 && moby->state != MOBY_STATE_REMOVAL_MARKER && moby->state != 0xFD) { if (i != 6 && moby->update != 0) { moby->update(moby); } @@ -2470,7 +2471,7 @@ s32 hero_check_damage(s32 apply_damage_response) { MobyHit *hero_hit_entry; u8 *mob; s32 flag; - s32 id; + s32 damage_response_state; f32 horizontal_knockback_strength, vertical_knockback_strength, knockback_scale; V_210ce8 knockback_vector; @@ -2539,9 +2540,9 @@ s32 hero_check_damage(s32 apply_damage_response) { case HERO_VEHICLE_MODE_ON_FOOT: mob = ((u8 *)hero.damage_source_moby); if (mob != 0 && (*(s16 *)(mob + 0xA6) == 0x4EB || *(s16 *)(mob + 0xA6) == 0x558)) { - id = 0x80; + damage_response_state = HERO_STATE_DYING_SPEED_LIMITED; call_ret: - hero_set_state(id, 1); + hero_set_state(damage_response_state, 1); return 1; } if (hero.state.control_mode == 0x16) { @@ -2552,14 +2553,14 @@ s32 hero_check_damage(s32 apply_damage_response) { if (hero.state.control_mode == HERO_MODE_WATER_SURFACE) { mob = ((u8 *)hero.damage_source_moby); if (mob != 0 && *(s16 *)(mob + 0xA6) == 0x28F) { - id = 0x82; + damage_response_state = HERO_STATE_DYING_ZERO_HEALTH; goto call_ret; } hero_set_state(0x75, 1); } else if (hero.state.control_mode == HERO_MODE_SWIM) { mob = ((u8 *)hero.damage_source_moby); if (mob != 0 && *(s16 *)(mob + 0xA6) == 0x28F) { - id = 0x82; + damage_response_state = HERO_STATE_DYING_ZERO_HEALTH; goto call_ret; } if (current_level_index == LEVEL_QUARTU || current_level_index == LEVEL_VELDIN_ORBIT) { @@ -2573,7 +2574,7 @@ s32 hero_check_damage(s32 apply_damage_response) { } else if (hero.state.control_mode == HERO_MODE_LEDGE) { mob = ((u8 *)hero.damage_source_moby); if (mob != 0) { - id = 0x82; + damage_response_state = HERO_STATE_DYING_ZERO_HEALTH; if (*(s16 *)(mob + 0xA6) == 0x28F) { goto call_ret; } @@ -2749,14 +2750,14 @@ void hero_update(void) { s32 index; s32 buttons; s32 negative_x; - u8 mode; + u8 resolved_gravity_mode; struct Hero *hero_state; u8 *source; Vec4 *positions; - mode = resolve_hero_gravity_mode(); + resolved_gravity_mode = resolve_hero_gravity_mode(); hero_state = &hero; - hero_state->gravity_mode = mode; + hero_state->gravity_mode = resolved_gravity_mode; hero_state->stick_magnitude = get_capped_hero_stick_magnitude(); hero_state->wall_moby = 0; source = (u8 *)&controller_state; @@ -3289,9 +3290,14 @@ void clip_negative_segment_endpoint_xyz(Vec4_002126b8 *, void *) __asm__("FUN_L0 void hero_get_collision_ray_endpoints(Vec4_002126b8 *, Vec4_002126b8 *, int, float, float) __asm__("FUN_L00_002126b8"); void hero_get_collision_ray_endpoints( - Vec4_002126b8 *ray_start, Vec4_002126b8 *ray_end, int mode, float fa, float fb) { + Vec4_002126b8 *ray_start, + Vec4_002126b8 *ray_end, + int use_gravity_direction, + float fa, + + float fb) { Vec4_002126b8 ray_scratch_vectors[2]; - if (mode) { + if (use_gravity_direction) { char *up = (char *)&hero.gravity_dir; char *hero_position = up - 0x210; fast_vec_normalize(&ray_scratch_vectors[0], up, -fb); @@ -3334,6 +3340,14 @@ extern CollisionHit HH __asm__("D_L00_00173E40") NOT_SDA; void update_hero_ground_contact_and_surface_slopes(void) __asm__("FUN_L00_002127b8"); void update_hero_ground_contact_and_surface_slopes(void) { + enum { + GROUND_MATERIAL_SINK_SURFACE_REPROBE = 3, + GROUND_MATERIAL_SINK_SURFACE_SKIP_GROUND_CONTACT = 0xB, + GROUND_MATERIAL_WATER_SURFACE = 0xD + }; + enum { + GROUND_MATERIAL_WATER_HEIGHT_QUERY_REPROBE = 0 + }; V collision_ray_end, ground_ray_start, ground_offset_or_angles, side_ray_start, unused_side_probe_point, side_hit_angles, side_hit_normal; f32 f; @@ -3380,7 +3394,7 @@ void update_hero_ground_contact_and_surface_slopes(void) { } hero.ground_sound_class = collision_sound_class; hero.ground_type = collision_hit_material(); - if (hero.ground_type == 0) { + if (hero.ground_type == GROUND_MATERIAL_WATER_HEIGHT_QUERY_REPROBE) { hero.water_surface_z = resolve_camera_surface_height(((u8 *)&D_L00_00173E60_lui), &hero.water_surface_normal); if (hero.motion.pos.f[2] < hero.water_surface_z && hero.in_water_frames <= 0) { @@ -3395,21 +3409,21 @@ void update_hero_ground_contact_and_surface_slopes(void) { } hero.ground_sound_class = collision_sound_class; } - if (hero.ground_type == 0xD) { + if (hero.ground_type == GROUND_MATERIAL_WATER_SURFACE) { hero.water_surface_z = collision_hit_z; ground_ray_start.f[2] = collision_hit_z - 0.01f; if (collision_line(&ground_ray_start, &collision_ray_end, 4, hero.moby, 0) == 0) { goto d1; } } - if (hero.ground_type == 3) { + if (hero.ground_type == GROUND_MATERIAL_SINK_SURFACE_REPROBE) { hero.sink_surface_z = collision_hit_z; ground_ray_start.f[2] = collision_hit_z - 0.01f; if (collision_line(&ground_ray_start, &collision_ray_end, 4, hero.moby, 0) == 0) { goto d1; } } - if (hero.ground_type == 0xB) { + if (hero.ground_type == GROUND_MATERIAL_SINK_SURFACE_SKIP_GROUND_CONTACT) { hero.sink_surface_z = collision_hit_z; goto d1; } @@ -3661,7 +3675,7 @@ extern s32 rig_probe(void *, s32, f32, s32, f32) __asm__("FUN_L00_001f19a0"); extern s32 FUN_L00_001f3170(void *, f32); s32 resolve_hero_current_position_collisions(s32 mode) __asm__("FUN_L00_002133a8"); -s32 resolve_hero_current_position_collisions(s32 mode) { +s32 resolve_hero_current_position_collisions(s32 history_attempt_index) { enum { HERO_COLLISION_HISTORY_FINAL_ATTEMPT_INDEX = 0xF }; @@ -3735,7 +3749,7 @@ s32 resolve_hero_current_position_collisions(s32 mode) { fast_vec_sub(&collision_correction, &hero.motion.pos.q, &pre_collision_position); probe_height_or_correction_length = fast_vec_length(&collision_correction); if (hero.capsule_radius * 1.5f < probe_height_or_correction_length) { - if (mode == HERO_COLLISION_HISTORY_FINAL_ATTEMPT_INDEX) { + if (history_attempt_index == HERO_COLLISION_HISTORY_FINAL_ATTEMPT_INDEX) { if (512.0f < collision_correction.f[0]) collision_correction.f[0] = 512.0f; else if (collision_correction.f[0] < -512.0f) @@ -4195,7 +4209,7 @@ void hero_integrate_velocity(void) __asm__("FUN_L00_00214108"); void hero_integrate_velocity(void) { struct Curve *velocity_curve; f32 z; - Vec4 offset; + Vec4 reference_to_hero_displacement; f32 speed; f32 max_speed; s32 boost; @@ -4210,8 +4224,8 @@ void hero_integrate_velocity(void) { if (D_0013D4C2 != 0 && hero.pack_disabled == 0) { boost = hero_slot_item_id(3) == 3; } - fast_vec_sub(&offset, hero_pos, hero_pos + 0x380); - gravity_axis_offset = gravity_z(&offset); + fast_vec_sub(&reference_to_hero_displacement, hero_pos, hero_pos + 0x380); + gravity_axis_offset = gravity_z(&reference_to_hero_displacement); if (boost) { if (2.7f < gravity_axis_offset) { max_speed *= 0.47f; diff --git a/src/overlays/shared/hero/process_hero_primary_item_input.c b/src/overlays/shared/hero/process_hero_primary_item_input.c index 42f05313bd..4e8c06dd96 100644 --- a/src/overlays/shared/hero/process_hero_primary_item_input.c +++ b/src/overlays/shared/hero/process_hero_primary_item_input.c @@ -72,12 +72,12 @@ void smooth_and_clamp_value_pair(float *clamped_values, float *smoothed_values, int hero_anim_tilt_lookup(int id, float *out) __asm__("FUN_L05_0023b378"); -int hero_anim_tilt_lookup(int id, float *out_tilt_radians) { +int hero_anim_tilt_lookup(int tilt_selector, float *out_tilt_radians) { *out_tilt_radians = 0.0f; if (hero.state.control_mode == 0x16 && hero.race_ammo && (unsigned)(hero.moby->prev_seq - 0x69) < 4) return 1; - switch (id) { + switch (tilt_selector) { case 0x37: *out_tilt_radians = -0.95993108f; /* -55 degrees */ return 1; @@ -474,7 +474,7 @@ void update_hero_movement_and_collision_probes(void) { float start[4], end[4], probe[4]; u128 moby_rotation[4], rotation[4], combined[4]; float distance; - float offset; + float edge_probe_scan_offset; int hit; if (hero.tilt_disabled == 0) { integrate_hero_motion_with_collisions(); @@ -505,15 +505,17 @@ void update_hero_movement_and_collision_probes(void) { distance = 20.0f; hit = collision_line(start, end, 2, hero.moby, 0); if (!hit || (distance = fast_vec_dist(start, D_L05_00174260), distance > 3.0f)) { - for (offset = -0.4f; offset < 0.5f; offset += 0.1f) { - transform_hero_local_offset_to_world(probe, 1.1f + offset, 0.0f, 0.0f); + for (edge_probe_scan_offset = -0.4f; edge_probe_scan_offset < 0.5f; + edge_probe_scan_offset += 0.1f) { + transform_hero_local_offset_to_world( + probe, 1.1f + edge_probe_scan_offset, 0.0f, 0.0f); if (!coll_sphere(hero.capsule_radius, probe, 2, 0)) { hero.edge_ahead = 1; if (!hit) hero.edge_drop_depth = 20.0f; else hero.edge_drop_depth = distance; - hero.edge_probe_offset = hero.capsule_radius + offset; + hero.edge_probe_offset = hero.capsule_radius + edge_probe_scan_offset; if (hero.edge_probe_offset < 0.0f) hero.edge_probe_offset = 0.0f; break; @@ -1069,15 +1071,15 @@ int process_hero_primary_item_input(void) { i = 0; while (i < 5) { - int id = pv->f2C[i]; + int target_moby_index = pv->f2C[i]; Moby *candidate; float yaw_error, pitch_error, distance, score; - if (id == -1) { + if (target_moby_index == -1) { i++; continue; } - candidate = (Moby *)((char *)D_L05_0015FFD8_macro + (id << 8)); + candidate = (Moby *)((char *)D_L05_0015FFD8_macro + (target_moby_index << 8)); yaw_error = fast_difference_between_rotations( (*(Hero *)((char *)&hero)).motion.rot.f[2], fast_arc_tan(candidate->pos.x - (*(Hero *)((char *)&hero)).motion.pos.f[0], @@ -1249,21 +1251,22 @@ extern s32 weapon_ammo_counts[37] __asm__("D_0013D428"); void process_hero_race_object_interactions(void) __asm__("FUN_L05_00253b48"); void process_hero_race_object_interactions(void) { - u8 *state; + u8 *hoverboard_pvars; u8 *moby; u8 *boost_trigger_moby; u8 *ground_boost_trigger_moby; u8 *third; f32 delta[4]; f32 matrix[16]; - s32 count, red, green, blue; + s32 color_pulse_period_frames, red, green, blue; f32 period, wave, ratio; if (hero.hoverboard_moby == 0) return; - state = *(u8 **)(hero.hoverboard_moby + 0x78); - if (*(s32 *)(state + 0x44) != -1) { - get_first_moby_in_group((void **)&boost_trigger_moby, *(s32 *)(state + 0x44), 0, 0); + hoverboard_pvars = *(u8 **)(hero.hoverboard_moby + 0x78); + if (*(s32 *)(hoverboard_pvars + 0x44) != -1) { + get_first_moby_in_group( + (void **)&boost_trigger_moby, *(s32 *)(hoverboard_pvars + 0x44), 0, 0); if (boost_trigger_moby != 0) { do { if (*(s16 *)(boost_trigger_moby + 0xA6) == 0x473 && @@ -1284,9 +1287,9 @@ void process_hero_race_object_interactions(void) { } while (boost_trigger_moby != 0); } } - count = scale_game_frames(0x32); - period = convert_integer_to_float(count); - ratio = (f32)(D_L00_0015F5CC % count) / period; + color_pulse_period_frames = scale_game_frames(0x32); + period = convert_integer_to_float(color_pulse_period_frames); + ratio = (f32)(D_L00_0015F5CC % color_pulse_period_frames) / period; ratio += ratio; wave = fast_sin(ratio * 3.1415927f + -3.1415927f); red = truncate_float_to_s32(wave * 48.0f) + 0x68; @@ -1294,10 +1297,10 @@ void process_hero_race_object_interactions(void) { blue = truncate_float_to_s32(wave * 24.0f) + 0x3C; if (green > 0xFF) green = 0xFF; - if (*(s32 *)(state + 0x48) != -1) { + if (*(s32 *)(hoverboard_pvars + 0x48) != -1) { if (hero.hoverboard_airborne == 0) { get_first_moby_in_group( - (void **)&ground_boost_trigger_moby, *(s32 *)(state + 0x48), 0, 0); + (void **)&ground_boost_trigger_moby, *(s32 *)(hoverboard_pvars + 0x48), 0, 0); if (ground_boost_trigger_moby != 0) { u32 color = (blue << 16) | (0x80000000U | (green << 8)) | red; do { @@ -1326,8 +1329,8 @@ void process_hero_race_object_interactions(void) { } } } - if (*(s32 *)(state + 0x4C) != -1) { - get_first_moby_in_group((void **)&third, *(s32 *)(state + 0x4C), 0, 0); + if (*(s32 *)(hoverboard_pvars + 0x4C) != -1) { + get_first_moby_in_group((void **)&third, *(s32 *)(hoverboard_pvars + 0x4C), 0, 0); while (third != 0) { if (*(s16 *)(third + 0xA6) == 0x1D6 && fast_subtract_rotations_cf(third + 0xBC) != 0 && fast_vec_dist(&hero.motion.body_center, third + 0x10) < 1.5f) { diff --git a/src/overlays/shared/hero/set_hero_animation.c b/src/overlays/shared/hero/set_hero_animation.c index dca7777553..829bfdccc6 100644 --- a/src/overlays/shared/hero/set_hero_animation.c +++ b/src/overlays/shared/hero/set_hero_animation.c @@ -89,9 +89,9 @@ int lookup_hero_slot3_animation_key(int key, int *out_animation_key) { } else if (hero_slot_item_id(3) == 3) { animation_lookup_table = D_L00_0017BBD0; } else { - int mode = hero_slot_item_id(3); + int slot3_item_id = hero_slot_item_id(3); animation_lookup_table = (SeqEntry *)&D_L00_0015F6B8; - if (mode != 4) { + if (slot3_item_id != 4) { animation_lookup_table = 0; } } @@ -112,7 +112,10 @@ void blend_hero_slot3_mapped_animation_pair(int id, int frame_index, float blend_frames) __asm__("FUN_L00_00231e78"); -void blend_hero_slot3_mapped_animation_pair(int id, int frame_index, float blend_frames) { +void blend_hero_slot3_mapped_animation_pair(int requested_hero_animation_id, + int frame_index, + + float blend_frames) { struct Hero *hero_slot3_mapped_animation_state = &hero; struct Hero *blk2; struct Hero *blk3; @@ -131,7 +134,8 @@ void blend_hero_slot3_mapped_animation_pair(int id, int frame_index, float blend if (slot3_moby == 0 || slot3_secondary_moby == 0) { return; } - if (select_hero_slot3_animation_pair(id, &seq0, &seq1) != 0 && id != 0) { + if (select_hero_slot3_animation_pair(requested_hero_animation_id, &seq0, &seq1) != 0 && + requested_hero_animation_id != 0) { if (MOBY(slot3_moby)->prev_seq == seq0) { return; } @@ -142,8 +146,9 @@ void blend_hero_slot3_mapped_animation_pair(int id, int frame_index, float blend blk2 = &hero; ok = 1; if (blk2->state.control_mode == HERO_MODE_IDLE && - lookup_hero_slot3_animation_key(MOBY(slot3_moby)->prev_seq, &id) != 0) { - if (id == 0) { + lookup_hero_slot3_animation_key(MOBY(slot3_moby)->prev_seq, &requested_hero_animation_id) != + 0) { + if (requested_hero_animation_id == 0) { ok = 0; } } @@ -552,11 +557,11 @@ void clear_hero_queued_animation(void) { /* Stores id at &hero.queued_frame_request; -1 stands for 5 frames. */ void hero_set_attack_ticks(int id) __asm__("FUN_L00_00232640"); -void hero_set_attack_ticks(int id) { - if (id == -1) { - id = scale_game_frames(5); +void hero_set_attack_ticks(int attack_ticks) { + if (attack_ticks == -1) { + attack_ticks = scale_game_frames(5); } - hero.queued_frame_request = id; + hero.queued_frame_request = attack_ticks; } #include "rnc/sdk/eetypes.h" @@ -1407,7 +1412,7 @@ typedef struct Hero_234800 { char p188[0x6E]; short path_clearance_position_anchor_inhibit; char p1F8[0x104]; - void *p2FC; + void *nonresidual_attachment_reference_object; char p300[0xE]; short attachment_residual_decay_scale; Vec_234800 primary_attachment_local_position; @@ -1422,7 +1427,7 @@ typedef struct Hero_234800 { char p4E0[0x4]; float ledge_attachment_heading; char p4E8[0x10]; - void *p4F8; + void *residual_attachment_reference_override; char p4FC[0x1B84]; int hero_moby; int i2084; @@ -1471,28 +1476,28 @@ void update_hero_attachment(void) { amt = 0.0f; saved_hero_yaw = ((Hero_234800 *)hero_233f80)->v90.z; if (((Hero_234800 *)hero_233f80)->attachment_residual_decay_scale == 0) { - if (((Hero_234800 *)hero_233f80)->p2FC != 0) { + if (((Hero_234800 *)hero_233f80)->nonresidual_attachment_reference_object != 0) { mode = HERO_ATTACHMENT_MODE_PROBE; if (((Hero_234800 *)hero_233f80)->attachment_reference_object != - ((Hero_234800 *)hero_233f80)->p2FC) { + ((Hero_234800 *)hero_233f80)->nonresidual_attachment_reference_object) { ((Hero_234800 *)hero_233f80)->attachment_anchor_flags &= ~1; } ((Hero_234800 *)hero_233f80)->attachment_reference_object = - ((Hero_234800 *)hero_233f80)->p2FC; + ((Hero_234800 *)hero_233f80)->nonresidual_attachment_reference_object; } else { ((Hero_234800 *)hero_233f80)->attachment_reference_object = 0; ((Hero_234800 *)hero_233f80)->attachment_anchor_flags &= ~1; ((Hero_234800 *)hero_233f80)->attachment_anchor_flags &= ~2; } } else if (((Hero_234800 *)hero_233f80)->i2084 == 0x1C && - ((Hero_234800 *)hero_233f80)->p4F8 != 0) { + ((Hero_234800 *)hero_233f80)->residual_attachment_reference_override != 0) { ((Hero_234800 *)hero_233f80)->attachment_reference_object = - ((Hero_234800 *)hero_233f80)->p4F8; + ((Hero_234800 *)hero_233f80)->residual_attachment_reference_override; mode = HERO_ATTACHMENT_MODE_PROBE; } else if (((Hero_234800 *)hero_233f80)->i208C == 3 && - ((Hero_234800 *)hero_233f80)->p4F8 != 0) { + ((Hero_234800 *)hero_233f80)->residual_attachment_reference_override != 0) { ((Hero_234800 *)hero_233f80)->attachment_reference_object = - ((Hero_234800 *)hero_233f80)->p4F8; + ((Hero_234800 *)hero_233f80)->residual_attachment_reference_override; mode = HERO_ATTACHMENT_MODE_PROBE; } else if (((Hero_234800 *)hero_233f80)->attachment_reference_object != 0) { mode = HERO_ATTACHMENT_MODE_PROBE; diff --git a/src/overlays/shared/hero/update_hero_vehicle_attachments_and_effects.c b/src/overlays/shared/hero/update_hero_vehicle_attachments_and_effects.c index 5fc0f75dcc..b7ba9decc0 100644 --- a/src/overlays/shared/hero/update_hero_vehicle_attachments_and_effects.c +++ b/src/overlays/shared/hero/update_hero_vehicle_attachments_and_effects.c @@ -575,7 +575,7 @@ extern s32 rig_probe(void *, s32, f32, s32, f32) __asm__("FUN_L00_001f19a0"); extern s32 coll3_22a1d0(void *, f32) __asm__("FUN_L00_001f3170"); s32 resolve_hero_position_collisions(s32 mode) __asm__("FUN_L06_0022a1d0"); -s32 resolve_hero_position_collisions(s32 mode) { +s32 resolve_hero_position_collisions(s32 displacement_limit_mode) { V_22a1d0 pre_collision_position; V_22a1d0 collision_query_offset; V_22a1d0 position_displacement; @@ -641,7 +641,7 @@ s32 resolve_hero_position_collisions(s32 mode) { fast_vec_sub(&position_displacement, &hero.motion.pos.q, &pre_collision_position); query_height_or_displacement_length = fast_vec_length(&position_displacement); if (hero.capsule_radius * 1.5f < query_height_or_displacement_length) { - if (mode == 0xF) { + if (displacement_limit_mode == 0xF) { if (512.0f < position_displacement.f[0]) position_displacement.f[0] = 512.0f; else if (position_displacement.f[0] < -512.0f) diff --git a/src/overlays/shared/math/interpolation/spring_turn.c b/src/overlays/shared/math/interpolation/spring_turn.c index d55bbafbe5..88d9731052 100644 --- a/src/overlays/shared/math/interpolation/spring_turn.c +++ b/src/overlays/shared/math/interpolation/spring_turn.c @@ -333,7 +333,7 @@ int move_moby_with_step_collision(char *moby, float height) __asm__("FUN_L00_00258830"); int move_moby_with_step_collision(char *moby, char *velocity, - int flags, + int collision_query_flags, float step_height, float radius, @@ -343,7 +343,7 @@ int move_moby_with_step_collision(char *moby, Vs probe_end; Vs scaled_displacement; int movement_collision_result_flags = 0; - int coll_flags = (flags * 2) & 0x20; + int coll_flags = (collision_query_flags * 2) & 0x20; char *movement_position = &MOBY(moby)->pos; int i; char *collision_position; diff --git a/src/overlays/shared/mobys/evaluate_moby_animation_pose.c b/src/overlays/shared/mobys/evaluate_moby_animation_pose.c index fd30eb463f..128ca6c1f0 100644 --- a/src/overlays/shared/mobys/evaluate_moby_animation_pose.c +++ b/src/overlays/shared/mobys/evaluate_moby_animation_pose.c @@ -110,7 +110,7 @@ extern int D_L00_001BA4D0_lui[] __asm__("D_L00_001BA4D0") NOT_SDA; extern struct Hero hero_lui __asm__("D_0013F350") NOT_SDA; void FUN_L00_00257470(unsigned char *m, int flags, int arg); -void FUN_L00_00257470(unsigned char *moby, int flags, int trajectory_target_index) { +void FUN_L00_00257470(unsigned char *moby, int bolt_drop_flags, int trajectory_target_index) { float amt; int lvl; int k; @@ -161,10 +161,10 @@ void FUN_L00_00257470(unsigned char *moby, int flags, int trajectory_target_inde debug_print(D_L00_001E8F28, truncate_float_to_s32(amt)); } call_flags = 1; - if (flags & 0x100) { + if (bolt_drop_flags & 0x100) { call_flags = 5; } - if (hero_lui.on_hoverboard || (flags & 0x200)) { + if (hero_lui.on_hoverboard || (bolt_drop_flags & 0x200)) { call_flags |= 2; } if (hero_lui.state.current == 0x10 && @@ -172,10 +172,10 @@ void FUN_L00_00257470(unsigned char *moby, int flags, int trajectory_target_inde call_flags |= 2; } cnt = D_L00_0015FFBC; - if (flags & 0x400) { + if (bolt_drop_flags & 0x400) { call_flags |= 0x10; } - if (cnt < 100 || (flags & 0x800)) { + if (cnt < 100 || (bolt_drop_flags & 0x800)) { call_flags |= 8; } if (D_L00_0015FFBC < 50) { diff --git a/src/overlays/shared/mobys/find_moby_hit.c b/src/overlays/shared/mobys/find_moby_hit.c index c0866461b1..20f72f387d 100644 --- a/src/overlays/shared/mobys/find_moby_hit.c +++ b/src/overlays/shared/mobys/find_moby_hit.c @@ -603,8 +603,8 @@ int generate_random_points_from_shape_entries( Vec4_25aca0 shape_anchor, second, third, fourth, fifth; unsigned char *list; unsigned char *entry; - int count, index, chosen, emitted, limit; - unsigned int flags; + int eligible_shape_entry_count, index, chosen, emitted, limit; + unsigned int shape_entry_flags; unsigned int last; float total, weight, radius, extent, random; int type; @@ -618,7 +618,7 @@ int generate_random_points_from_shape_entries( compute_moby_joint_matrices(entity, *(short *)(entry + 2), 0); if (*(int *)(entry + 4) <= 0) return 0; - count = 0; + eligible_shape_entry_count = 0; index = 0; total = 0.0f; entry += 0x10; @@ -629,12 +629,12 @@ int generate_random_points_from_shape_entries( float radius, extent; int type; unsigned int active; - flags = *(unsigned int *)(list - 4); - last = flags >> 31; - type = flags & 0xff; - active = flags & 0x20000; + shape_entry_flags = *(unsigned int *)(list - 4); + last = shape_entry_flags >> 31; + type = shape_entry_flags & 0xff; + active = shape_entry_flags & 0x20000; if (!(((mask >> index) ^ 1) & 1) && active) { - entries[count] = entry; + entries[eligible_shape_entry_count] = entry; switch (type) { case SHAPE_INLINE_CENTER_SPHERE: case 1: @@ -655,7 +655,7 @@ int generate_random_points_from_shape_entries( radius = *(float *)(entity + 0x2c); radius = *(float *)(list + 8) * radius * 0.0009765625f; } - weights[count] = radius * 4.1887903f * radius * radius; + weights[eligible_shape_entry_count] = radius * 4.1887903f * radius * radius; break; } case SHAPE_XY_DISK_WITH_Z_EXTENT: { @@ -666,8 +666,8 @@ int generate_random_points_from_shape_entries( radius = shape_anchor.f[3] * *(float *)(entity + 0x2c); radius *= 0.0009765625f; extent = *(float *)list * (*(float *)(entity + 0x2c) * 0.0009765625f); - weights[count] = radius * 4.187743f * radius * radius + - radius * 1.5707964f * radius * extent; + weights[eligible_shape_entry_count] = radius * 4.187743f * radius * radius + + radius * 1.5707964f * radius * extent; break; } case SHAPE_ENDPOINT_SEGMENT_WITH_BALL_OFFSET: { @@ -680,12 +680,12 @@ int generate_random_points_from_shape_entries( fast_vec_sub(&third, &shape_anchor, &second); radius = FUN_001f9af0_25aca0(&third); extent = *(float *)(list + 8) * *(float *)(entity + 0x2c) * 0.0009765625f; - weights[count] = extent * 1.5707964f * extent * radius; + weights[eligible_shape_entry_count] = extent * 1.5707964f * extent * radius; break; } } - total += weights[count]; - count++; + total += weights[eligible_shape_entry_count]; + eligible_shape_entry_count++; } index++; list += 0x20; @@ -698,7 +698,7 @@ int generate_random_points_from_shape_entries( limit = maximum; for (emitted = 0; emitted < limit; emitted++) { random = random_float_between(0.0f, total); - for (chosen = 0; chosen < count; chosen++) { + for (chosen = 0; chosen < eligible_shape_entry_count; chosen++) { if (random < weights[chosen]) break; random -= weights[chosen]; diff --git a/src/overlays/shared/mobys/record_moby_context_bytes.c b/src/overlays/shared/mobys/record_moby_context_bytes.c index ddc2ab7e6b..6b78292e01 100644 --- a/src/overlays/shared/mobys/record_moby_context_bytes.c +++ b/src/overlays/shared/mobys/record_moby_context_bytes.c @@ -28,7 +28,7 @@ void record_moby_context_bytes(char *source, void record_moby_context_bytes( - char *source, int byte_count, char *context_moby, int mode, Table *entry_table) { + char *source, int byte_count, char *context_moby, int key_base_mode, Table *entry_table) { enum { MOBY_CONTEXT_MODE_MOBY_RELATIVE = 1 }; @@ -38,7 +38,7 @@ void record_moby_context_bytes( int i; Entry *e; Entry *ne; - if (mode == MOBY_CONTEXT_MODE_MOBY_RELATIVE) { + if (key_base_mode == MOBY_CONTEXT_MODE_MOBY_RELATIVE) { key = source - context_moby; } else { key = (int)source - *(unsigned short *)(context_moby + 0x78); @@ -46,8 +46,8 @@ void record_moby_context_bytes( for (i = 0; i < entry_table->n; i++) { e = &entry_table->e[i]; if (e->key == key && e->a == byte_count && v20 == e->c && v19 == e->d) { - mode = e->flag; - if (mode) { + key_base_mode = e->flag; + if (key_base_mode) { copy_memory_aligned((int)&e->pad4, source, byte_count); return; } @@ -58,7 +58,7 @@ void record_moby_context_bytes( ne->key = key; copy_memory_aligned((int)&ne->pad4, source, byte_count); ne->a = byte_count; - ne->flag = mode; + ne->flag = key_base_mode; ne->c = v20; ne->d = v19; } diff --git a/src/overlays/shared/mobys/reserve_expired_frame_slot.c b/src/overlays/shared/mobys/reserve_expired_frame_slot.c index 867af5e601..05c62c2c8d 100644 --- a/src/overlays/shared/mobys/reserve_expired_frame_slot.c +++ b/src/overlays/shared/mobys/reserve_expired_frame_slot.c @@ -8,12 +8,12 @@ extern s32 level_frame_count __asm__("D_L01_0015F5CC"); s32 reserve_expired_frame_slot(s32 *values, s32 count, s32 offset) __asm__("FUN_L01_002efbf8"); -s32 reserve_expired_frame_slot(s32 *values, s32 count, s32 offset) { +s32 reserve_expired_frame_slot(s32 *values, s32 count, s32 slot_reuse_delay_frames) { s32 index = (s32)((u32)count - 1); if (index >= 0) { for (; index >= 0; index--) { if (values[index] < level_frame_count) { - values[index] = (s32)((u32)level_frame_count + (u32)offset); + values[index] = (s32)((u32)level_frame_count + (u32)slot_reuse_delay_frames); break; } } diff --git a/src/overlays/shared/mobys/select_auto_aim_target_moby.c b/src/overlays/shared/mobys/select_auto_aim_target_moby.c index c73ecc1ae1..b982defb89 100644 --- a/src/overlays/shared/mobys/select_auto_aim_target_moby.c +++ b/src/overlays/shared/mobys/select_auto_aim_target_moby.c @@ -254,8 +254,8 @@ void cutscene_set_camera_target(u8 *moby) { Vec4_2634f8 vectors[4]; Vec4_2634f8 effect_spawn_position; Vec4_2634f8 scaled; - f32 fraction, size, lifetime, scale; - s32 count; + f32 fraction, position_jitter_scale, lifetime, scale; + s32 spawn_attempt_countdown; s32 w24; Effect *effect; if (MOBY(moby)->oclass == 0x2ee && moby != 0) { @@ -267,19 +267,19 @@ void cutscene_set_camera_target(u8 *moby) { s32 b2A; scale = fraction * -0.025f + -0.025f; lifetime = fraction * 44000.0f + 6000.0f; - size = fraction * 0.02f + 0.01f; + position_jitter_scale = fraction * 0.02f + 0.01f; w24 = 2; fast_vec_normalize(&scaled, &vectors[2], scale); fast_vec_add(&effect_spawn_position, &vectors[3], &scaled); b2A = 0x50; - count = 1; + spawn_attempt_countdown = 1; do { s32 signed_random_value; signed_random_value = random_integer_below(0x10); if (random_integer_below(2) != 0) signed_random_value = -signed_random_value; effect = spawn_puff(&effect_spawn_position, - size, + position_jitter_scale, 1.0f, 0.75f, signed_random_value, @@ -293,22 +293,22 @@ void cutscene_set_camera_target(u8 *moby) { tail->b2A = b2A; tail->initial_frame_count = effect->hA; } - count--; - } while (count >= 0); + spawn_attempt_countdown--; + } while (spawn_attempt_countdown >= 0); } { s32 b2A; scale = fraction * -0.015000001f + -0.01f; lifetime = fraction * 25000.0f + 5000.0f; - size = fraction * 0.015000001f + 0.01f; + position_jitter_scale = fraction * 0.015000001f + 0.01f; w24 = 2; b2A = 0x7f; fast_vec_normalize(&scaled, &vectors[2], scale); fast_vec_add(&effect_spawn_position, &vectors[3], &scaled); - count = 4; + spawn_attempt_countdown = 4; do { effect = spawn_puff(&effect_spawn_position, - size, + position_jitter_scale, 1.0f, 1.0f, 0x10, @@ -323,8 +323,8 @@ void cutscene_set_camera_target(u8 *moby) { tail->b2A = b2A; tail->initial_frame_count = effect->hA; } - count--; - } while (count >= 0); + spawn_attempt_countdown--; + } while (spawn_attempt_countdown >= 0); } } } @@ -493,10 +493,10 @@ void spawn_moby_break_fragments(unsigned char *source_moby, int flag) { u128_263e30 fragment_spawn_positions[16]; float random_fragment_euler_rotation[4] __attribute__((aligned(16))); - int mode = 0; + int spawned_fragment_mode = 0; int i, k; if (flag) { - mode = 2; + spawned_fragment_mode = 2; } if (first_fragment_class > 0) { if (consecutive_class_fragment_count > 0) @@ -506,7 +506,7 @@ void spawn_moby_break_fragments(unsigned char *source_moby, &MOBY(source_moby)->pos, source_moby + 0x40, 0, - mode, + spawned_fragment_mode, &zero_vector, &zero_vector, 0.0f, @@ -527,7 +527,7 @@ void spawn_moby_break_fragments(unsigned char *source_moby, &fragment_spawn_positions[i], random_fragment_euler_rotation, 0, - mode, + spawned_fragment_mode, &zero_vector, &zero_vector, 0.0f, diff --git a/src/overlays/shared/mobys/step_moby_motion.c b/src/overlays/shared/mobys/step_moby_motion.c index d476232f58..69961d1526 100644 --- a/src/overlays/shared/mobys/step_moby_motion.c +++ b/src/overlays/shared/mobys/step_moby_motion.c @@ -140,6 +140,9 @@ void trooper_start_knockback(u8 *moby, int animation_frame_index, float knockback_angle) { + enum { + MOTION_RISING = 0 + }; float *moby_vars_record; knockback_state->velocity[0] = fast_cos(knockback_angle) * knockback_state->speed; knockback_state->velocity[1] = fast_sin(knockback_angle) * knockback_state->speed; @@ -206,7 +209,7 @@ int step_moby_motion(char *moby, struct KnockbackMotion *motion_state) { Vec4 *collision_result_position; char *collision_metadata; - int flags = 0; + int motion_outcome_flags = 0; float sc, ground_reference_height, landing_prediction_divisor, f12, motion_or_record_value, r, rr, one; @@ -262,7 +265,7 @@ int step_moby_motion(char *moby, struct KnockbackMotion *motion_state) { } if (MOBY(moby)->pos.x < 2.0f || 1021.0f < MOBY(moby)->pos.x || MOBY(moby)->pos.y < 2.0f || 1021.0f < MOBY(moby)->pos.y || MOBY(moby)->pos.z < 2.0f || 1021.0f < MOBY(moby)->pos.z) { - flags = 0x100; + motion_outcome_flags = 0x100; } if (motion_state->landing_animation_frame != -1.0f && @@ -318,7 +321,7 @@ int step_moby_motion(char *moby, struct KnockbackMotion *motion_state) { } if (MOBY(moby)->anim_flags & 2) { - flags |= 0x40; + motion_outcome_flags |= 0x40; } if (!(motion_state->flags & 4)) { FUN_L00_00258278(moby, @@ -349,7 +352,7 @@ int step_moby_motion(char *moby, struct KnockbackMotion *motion_state) { if (is_moby_in_class_range_500_to_540(*pp) == 0) { if (motion_state->flags & 0x20) { if (motion_state->phase == 2) { - flags |= 0x100; + motion_outcome_flags |= 0x100; } } } else { @@ -374,7 +377,7 @@ int step_moby_motion(char *moby, struct KnockbackMotion *motion_state) { convert_integer_to_float(motion_state->collision_radius_1024ths) * sc, 36, moby) != 0) { - flags |= 2; + motion_outcome_flags |= 2; collision_result_position = (Vec4 *)&coll_hit_position; qcopy(&MOBY(moby)->pos, collision_result_position); one = 1.0f; @@ -386,7 +389,7 @@ int step_moby_motion(char *moby, struct KnockbackMotion *motion_state) { collision_metadata = (char *)collision_result_position - 0x30; if (*(int *)(collision_metadata + 0x18) == 0 || *(int *)(collision_metadata + 0x1C) > 0) { - flags |= 1; + motion_outcome_flags |= 1; motion_state->phase = 2; } fast_vec_normalize(normal_response_vector, surface_normal, motion_normal_dot); @@ -413,5 +416,5 @@ int step_moby_motion(char *moby, struct KnockbackMotion *motion_state) { motion_state->phase = 1; } } - return flags; + return motion_outcome_flags; } diff --git a/src/overlays/shared/mobys/test_path_segment_strict_crossing.c b/src/overlays/shared/mobys/test_path_segment_strict_crossing.c index 8d6d826f2b..135f2acf5f 100644 --- a/src/overlays/shared/mobys/test_path_segment_strict_crossing.c +++ b/src/overlays/shared/mobys/test_path_segment_strict_crossing.c @@ -36,7 +36,7 @@ s32 test_path_segment_strict_crossing(s32 path_index, OvlVec4 *start, OvlVec4 *e OvlVec4 *current; SegmentPath_261968 **path_slot; s32 i; - s32 offset; + s32 current_path_point_byte_offset; f32 crossing; f32 zero; @@ -55,10 +55,11 @@ s32 test_path_segment_strict_crossing(s32 path_index, OvlVec4 *start, OvlVec4 *e previous = &transformed_previous_point; current = &transformed_current_point; if (i < (*path_slot)->count) { - offset = 0x20; + current_path_point_byte_offset = 0x20; zero = 0.0f; do { - fast_vec_sub(current, (OvlVec4 *)((u8 *)*path_slot + offset), start); + fast_vec_sub( + current, (OvlVec4 *)((u8 *)*path_slot + current_path_point_byte_offset), start); transform_vector_by_basis(current, current, &direction); if (transformed_previous_point.f[3] != zero || transformed_current_point.f[3] != zero) { if (transformed_current_point.f[1] * transformed_previous_point.f[1] < 0.0f) { @@ -73,7 +74,7 @@ s32 test_path_segment_strict_crossing(s32 path_index, OvlVec4 *start, OvlVec4 *e } qcopy(previous, current); i++; - offset += 0x10; + current_path_point_byte_offset += 0x10; } while (i < (*path_slot)->count); } return 0; @@ -120,7 +121,7 @@ int path_8808(int segment_path_index, float zero; int found = 0; int i = 1; - int offset; + int path_vertex_byte_offset; float *previous_path_point_slot; float *current_path_point_slot; fast_vec_sub(v, segment_end, segment_start); @@ -139,12 +140,12 @@ int path_8808(int segment_path_index, previous_path_point_slot = previous_path_point_in_basis; current_path_point_slot = u; if (i < ((SegmentPath **)D_L00_001B04B0_261968)[segment_path_index]->count) { - offset = 0x20; + path_vertex_byte_offset = 0x20; zero = 0.0f; do { fast_vec_sub(current_path_point_slot, (char *)((SegmentPath **)D_L00_001B04B0_261968)[segment_path_index] + - offset, + path_vertex_byte_offset, segment_start); transform_vector_by_basis(current_path_point_slot, current_path_point_slot, v); if (previous_path_point_in_basis[3] != zero || u[3] != zero) { @@ -163,7 +164,7 @@ int path_8808(int segment_path_index, qcopy(previous_path_point_slot, current_path_point_slot); next: i++; - offset += 0x10; + path_vertex_byte_offset += 0x10; } while (i < ((SegmentPath **)D_L00_001B04B0_261968)[segment_path_index]->count); } lerp_vector(adjusted_endpoint, segment_start, segment_end, best); @@ -273,7 +274,7 @@ s32 resolve_point_path_segment_clearance(f32 distance, OvlVec4 *current; s32 next_point_index; s32 i; - s32 offset; + s32 axis_address_or_point_byte_offset; OvlVec4 *saved_out; s32 found; f32 original_height; @@ -284,19 +285,24 @@ s32 resolve_point_path_segment_clearance(f32 distance, saved_out = clearance_adjusted_point; qcopy(&working, point); segment_path = D_L00_001B04B0_262030[path_index]; - offset = (s32) & (*(OvlVec4 *)D_0013F5E0); - original_height = fast_vec_dot(&working, (OvlVec4 *)offset); + axis_address_or_point_byte_offset = (s32) & (*(OvlVec4 *)D_0013F5E0); + original_height = fast_vec_dot(&working, (OvlVec4 *)axis_address_or_point_byte_offset); i = 0; if (segment_path->count - 1 > found) { - height_axis = (OvlVec4 *)offset; + height_axis = (OvlVec4 *)axis_address_or_point_byte_offset; do { - offset = i << 4; + axis_address_or_point_byte_offset = i << 4; next_point_index = i + 1; - if (((OvlVec4 *)((u8 *)segment_path + offset + 0x10))->f[3] != 0.0f || + if (((OvlVec4 *)((u8 *)segment_path + axis_address_or_point_byte_offset + 0x10)) + ->f[3] != 0.0f || segment_path->points[next_point_index].f[3] != 0.0f) { - current = (OvlVec4 *)((u8 *)segment_path + (offset + 0x10)); + current = + (OvlVec4 *)((u8 *)segment_path + (axis_address_or_point_byte_offset + 0x10)); fast_vec_sub(&difference, &working, current); - fast_vec_sub(&segment, (OvlVec4 *)((u8 *)segment_path + (offset + 0x20)), current); + fast_vec_sub( + &segment, + (OvlVec4 *)((u8 *)segment_path + (axis_address_or_point_byte_offset + 0x20)), + current); projection = fast_vec_dot(&difference, height_axis); FUN_001ff500_262030(projection, &scaled_cross, height_axis); fast_vec_sub(&difference, &difference, &scaled_cross); @@ -426,7 +432,7 @@ void initialize_moby_transform_history(int source_moby, char *history_state) { typedef struct { u8 p0[0x23]; - u8 x23; + u8 history_decay_value; u8 p24[0xC]; u8 x30; u8 x31; @@ -439,17 +445,17 @@ typedef struct { u8 p73[0x21]; s32 x94; u8 p98[0xE]; - s16 xa6; + s16 spawn_class_id; } E00262528; typedef struct { u8 p0[0x100]; - s32 x100[4]; - s32 x110[4]; - E00262528 *x120[4]; + s32 initial_decay_values[4]; + s32 sample_delays[4]; + E00262528 *history_mobys[4]; u8 p130[4]; - E00262528 *x134; - s32 x138; + E00262528 *history_source_moby; + s32 history_entry_count; } O00262528; void create_moby_transform_history_entry(O00262528 *history_state, @@ -461,26 +467,26 @@ void create_moby_transform_history_entry(O00262528 *history_state, s32 sample_delay) { E00262528 *spawned_moby; - if (history_state->x138 == 4) + if (history_state->history_entry_count == 4) return; if (sample_delay >= 9) return; - spawned_moby = create_moby(history_state->x134->xa6); + spawned_moby = create_moby(history_state->history_source_moby->spawn_class_id); if (spawned_moby == 0) return; - spawned_moby->x32 = history_state->x134->x32; - spawned_moby->x38 = history_state->x134->x38; + spawned_moby->x32 = history_state->history_source_moby->x32; + spawned_moby->x38 = history_state->history_source_moby->x38; spawned_moby->x31 = 1; spawned_moby->x34 = 0x80A; spawned_moby->x30 = 0; spawned_moby->x94 = 0; - if (spawned_moby->xa6 == 0) + if (spawned_moby->spawn_class_id == 0) spawned_moby->x72 = 0; - spawned_moby->x23 = initial_decay_value; - history_state->x110[history_state->x138] = sample_delay; - history_state->x100[history_state->x138] = initial_decay_value; - history_state->x120[history_state->x138] = spawned_moby; - history_state->x138++; + spawned_moby->history_decay_value = initial_decay_value; + history_state->sample_delays[history_state->history_entry_count] = sample_delay; + history_state->initial_decay_values[history_state->history_entry_count] = initial_decay_value; + history_state->history_mobys[history_state->history_entry_count] = spawned_moby; + history_state->history_entry_count++; } typedef struct { diff --git a/src/overlays/shared/pickups/bolt.c b/src/overlays/shared/pickups/bolt.c index 5722117c77..3ec407d2ad 100644 --- a/src/overlays/shared/pickups/bolt.c +++ b/src/overlays/shared/pickups/bolt.c @@ -1,3 +1,4 @@ +#include "rnc/mobys/moby_state.h" /* Shared moby class bolt (and bolt_hexnut, bolt_starnut, bolt_circlenut): bolts dropped and collected. */ #include "types.h" #include "rnc/game/level_progress.h" @@ -470,7 +471,7 @@ void collect_bolt(struct Moby *bolt) { s32 bolt_value; s32 spin; f32 k; - f32 size; + f32 sparkle_size; BoltSource *bolt_source; switch (bolt->oclass) { @@ -513,11 +514,11 @@ void collect_bolt(struct Moby *bolt) { spin = random_integer_below(2); if (spin == 0) spin--; - size = random_float_between(0.4f, 0.5f); + sparkle_size = random_float_between(0.4f, 0.5f); FUN_L00_00272060(&pos, scale_game_frames(0x19), - size * 0.2f, - size, + sparkle_size * 0.2f, + sparkle_size, 0x7F207F7F, 0, spin, @@ -526,8 +527,8 @@ void collect_bolt(struct Moby *bolt) { spin = -spin; FUN_L00_00272060(&pos, scale_game_frames(0x19), - size * 0.14f, - size * k, + sparkle_size * 0.14f, + sparkle_size * k, 0x7F7F7F7F, 1, spin, @@ -623,7 +624,7 @@ void update_bolt_grounded_pose(char *moby, void *base_position_output, void *bas if (ground_moby != 0 && *(unsigned char *)(grounded_bolt_vars + 0x57) == 0) { int should_detach_from_ground; char *x; - if ((unsigned char)MOBY(ground_moby)->state == 0xFE || + if ((unsigned char)MOBY(ground_moby)->state == MOBY_STATE_REMOVAL_MARKER || (*(unsigned char **)(grounded_bolt_vars + 0x5C))[0x20] == 0xFD) { should_detach_from_ground = 1; } else { diff --git a/src/overlays/shared/pickups/crate.c b/src/overlays/shared/pickups/crate.c index 01d119cb6f..36c2e74864 100644 --- a/src/overlays/shared/pickups/crate.c +++ b/src/overlays/shared/pickups/crate.c @@ -1037,7 +1037,7 @@ void break_crate(M2d1428 *moby, s32 hit, s32 source) { V2d09b8 position, away, rotation, basis[3], launch, spawn_pos, spin; s32 kind; M2d1428 *broken_crate_moby; - s32 close, count, trail_count, particle, i, choice; + s32 close, debris_count, trail_count, particle, i, choice; s32 random_range_lower_bound, random_range_upper_bound, first_color, second_color; f32 angle, distance, height, speed, rise; u32 colors[6], other_colors[6]; @@ -1118,22 +1118,22 @@ void break_crate(M2d1428 *moby, s32 hit, s32 source) { break; } if (D_L00_0015FFBC >= 201) { - count = 4; + debris_count = 4; trail_count = 4; } else if (D_L00_0015FFBC >= 151) { - count = 2; + debris_count = 2; trail_count = 2; } else if (D_L00_0015FFBC >= 101) { - count = 2; + debris_count = 2; trail_count = 1; } else { if (!angle) { } if (D_L00_0015FFBC >= 51) { - count = 1; + debris_count = 1; trail_count = 0; } else { - count = 1; + debris_count = 1; trail_count = 0; } } @@ -1147,7 +1147,7 @@ void break_crate(M2d1428 *moby, s32 hit, s32 source) { clear_u64_value(&rotation); rotation.f[2] = angle; euler_rotation_basis(&basis, &rotation); - for (i = 0; i < count; ++i) { + for (i = 0; i < debris_count; ++i) { transform_vector_by_basis(&spawn_pos, &D_L00_001DE6F0_2d09b8[i], &basis); fast_vec_add(&spawn_pos, &spawn_pos, &moby->pos); qcopy(&spin, &D_L00_001DE750_2d09b8[i]); diff --git a/src/overlays/shared/pickups/crate_fragment.c b/src/overlays/shared/pickups/crate_fragment.c index 9ff3bc9187..892afd7584 100644 --- a/src/overlays/shared/pickups/crate_fragment.c +++ b/src/overlays/shared/pickups/crate_fragment.c @@ -144,12 +144,12 @@ unsigned char *spawn_crate_debris(unsigned char *debris_source_moby, void *initial_velocity, void *spawn_position, void *initial_rotation, - int type, + int debris_moby_type, int initial_bounce_count, float lo, float hi) { - unsigned char *debris_moby = create_moby(type); + unsigned char *debris_moby = create_moby(debris_moby_type); if (debris_moby) { V_2af8b0 *debris_data = ((V_2af8b0 *)MOBY(debris_moby)->pvars); float scale_multiplier; diff --git a/src/overlays/shared/pickups/infobot.c b/src/overlays/shared/pickups/infobot.c index 908e5417c0..a5890d46c7 100644 --- a/src/overlays/shared/pickups/infobot.c +++ b/src/overlays/shared/pickups/infobot.c @@ -333,7 +333,7 @@ void infobot_update(struct Moby *moby) { INFOBOT_WAIT_TO_START_FINAL_SCENE = 10, INFOBOT_SAVE_AND_REMOVE = 11 }; - Vec offset; + Vec orbit_offset; Vec step; Vec point; s32 segment; @@ -354,7 +354,7 @@ void infobot_update(struct Moby *moby) { f32 tilt_x; f32 max_speed; - offset.q = 0; + orbit_offset.q = 0; infobot = (Infobot *)moby->pvars; switch (moby->state) { case INFOBOT_INITIALIZE: @@ -466,9 +466,9 @@ void infobot_update(struct Moby *moby) { return; } infobot->bob = fast_add_rotations(infobot->bob, D_0015ED6C * 3.1415927f); - offset.v.x = fast_cos(infobot->bob); - offset.v.y = fast_sin(infobot->bob); - offset.v.z = 3.0f; + orbit_offset.v.x = fast_cos(infobot->bob); + orbit_offset.v.y = fast_sin(infobot->bob); + orbit_offset.v.z = 3.0f; moby->rot.z = fast_add_rotations(infobot->bob, 1.5707964f); if (infobot->carrier == -1) { break; @@ -560,9 +560,9 @@ void infobot_update(struct Moby *moby) { infobot->sway = 1.0f; } infobot->bob = fast_add_rotations(infobot->bob, D_0015ED6C * 3.1415927f); - offset.v.x = fast_cos(infobot->bob) * infobot->sway; - offset.v.y = fast_sin(infobot->bob) * infobot->sway; - offset.v.z = 0.0f; + orbit_offset.v.x = fast_cos(infobot->bob) * infobot->sway; + orbit_offset.v.y = fast_sin(infobot->bob) * infobot->sway; + orbit_offset.v.z = 0.0f; heading = fast_add_rotations(infobot->bob, 1.5707964f); moby->rot.z = spring_turn(moby->rot.z, heading, @@ -570,7 +570,7 @@ void infobot_update(struct Moby *moby) { D_0015ED6C * 25.132742f, D_0015ED6C * 12.566371f, &infobot->spin[2]); - fast_vec_add(&step, &offset, &orbit_path->pts[orbit_path->count - 1]); + fast_vec_add(&step, &orbit_offset, &orbit_path->pts[orbit_path->count - 1]); MPOS(moby)->q = step.q; if (fast_vec_dist(&D_0013F3D0, &orbit_path->pts[orbit_path->count - 1]) < 2.0f && D_0013F3D0.active != 0) { @@ -640,7 +640,7 @@ void infobot_update(struct Moby *moby) { &step, &D_L00_001600EC_2d5de8[infobot->attach].pos, &step); - fast_vec_add(&point, &offset, &D_L00_001600EC_2d5de8[infobot->attach].pos); + fast_vec_add(&point, &orbit_offset, &D_L00_001600EC_2d5de8[infobot->attach].pos); MPOS(moby)->q = point.q; } } diff --git a/src/overlays/shared/pickups/nanotech_ball.c b/src/overlays/shared/pickups/nanotech_ball.c index a85e3cb82c..092f7c5b8a 100644 --- a/src/overlays/shared/pickups/nanotech_ball.c +++ b/src/overlays/shared/pickups/nanotech_ball.c @@ -51,7 +51,7 @@ typedef struct { char pad3[3]; unsigned short h34; char pad4[0x42]; - T2d8138 *t78; + T2d8138 *nanotech_ball_private_state; char pad5[0x18]; int f94; } O2d8138; @@ -1031,7 +1031,7 @@ O2d8138 *create_linked_class_0326_moby(P2d8138 *p) { if (spawned_moby) { spawned_moby->b30 = 0x40; spawned_moby->b20 = 0; - spawned_moby->t78->p = p; + spawned_moby->nanotech_ball_private_state->p = p; spawned_moby->f94 = 0; spawned_moby->h34 |= 0x41; qcopy(&spawned_moby->q, &p->q); diff --git a/src/overlays/shared/props/bolt_crank.c b/src/overlays/shared/props/bolt_crank.c index 353b06cf7c..08776442b3 100644 --- a/src/overlays/shared/props/bolt_crank.c +++ b/src/overlays/shared/props/bolt_crank.c @@ -96,7 +96,7 @@ void bolt_crank_update(struct Moby *moby) { float matrix[16]; float stick[4], step[4], facing[4]; Vec4 rotation, target; - float offset[4], spring_pos; + float radial_correction[4], spring_pos; float distance, yaw_diff, angle, old_angle, height_diff, max_speed, height, ground; int save_id, area_clear; struct Moby *clearance_candidate_moby; @@ -313,9 +313,9 @@ void bolt_crank_update(struct Moby *moby) { step[1] = fast_sin(angle) * 1.05f; step[2] = 0.0f; fast_vec_add(&target, &moby->pos, step); - fast_vec_sub(offset, &target, &player->motion.pos); - offset[2] = 0.0f; - distance = vector_length_xy(offset); + fast_vec_sub(radial_correction, &target, &player->motion.pos); + radial_correction[2] = 0.0f; + distance = vector_length_xy(radial_correction); spring_pos = -distance; vendor_spring(&spring_pos, &bolt_crank_radial_correction_step_gp, @@ -323,8 +323,9 @@ void bolt_crank_update(struct Moby *moby) { frame_scale_sq * 0.015f, frame_scale_sq * 0.3f, frame_time * 7.0f); - fast_vec_normalize(offset, offset, bolt_crank_radial_correction_step_gp); - fast_vec_add(&player->motion.pos, &player->motion.pos, offset); + fast_vec_normalize( + radial_correction, radial_correction, bolt_crank_radial_correction_step_gp); + fast_vec_add(&player->motion.pos, &player->motion.pos, radial_correction); player->motion.pos.f[2] = height; if (opt_mirror_anim) { player->motion.move_yaw = fast_add_rotations(-1.5707964f, angle); diff --git a/src/overlays/shared/props/bot_door_lock.c b/src/overlays/shared/props/bot_door_lock.c index c0b25b9b3d..645163c7b4 100644 --- a/src/overlays/shared/props/bot_door_lock.c +++ b/src/overlays/shared/props/bot_door_lock.c @@ -229,7 +229,7 @@ void bot_door_lock_update(char *moby) { float *bot_door_lock_data = ((float *)MOBY(moby)->pvars); int *idata = (int *)bot_door_lock_data; float number_anchor_position[4]; - float offset[3]; + float digit_layout_offset[3]; float number_position_sum[4]; float angle; int number_color_pulse_delta; @@ -283,34 +283,66 @@ void bot_door_lock_update(char *moby) { } else { if (D_0015EDB4) { angle = fast_add_rotations(MOBY(moby)->rot.z, 1.5707964f); - offset[0] = fast_cos(angle) * 0.15f; + digit_layout_offset[0] = fast_cos(angle) * 0.15f; angle = fast_add_rotations(MOBY(moby)->rot.z, 1.5707964f); - offset[1] = fast_sin(angle) * 0.15f; - offset[2] = 0.0f; - add_vectors(number_position_sum, offset, number_anchor_position); - draw_number(offset, moby, idata[5] / 10 + 2, color, 0x7f, 4, 0xff, 0.5f); + digit_layout_offset[1] = fast_sin(angle) * 0.15f; + digit_layout_offset[2] = 0.0f; + add_vectors( + number_position_sum, digit_layout_offset, number_anchor_position); + draw_number(digit_layout_offset, + moby, + idata[5] / 10 + 2, + color, + 0x7f, + 4, + 0xff, + 0.5f); angle = fast_add_rotations(MOBY(moby)->rot.z, 1.5707964f); - offset[0] = fast_cos(angle) * -0.4f; + digit_layout_offset[0] = fast_cos(angle) * -0.4f; angle = fast_add_rotations(MOBY(moby)->rot.z, 1.5707964f); - offset[1] = fast_sin(angle) * -0.4f; - offset[2] = 0.0f; - add_vectors(number_position_sum, offset, number_anchor_position); - draw_number(offset, moby, idata[5] % 10 + 2, color, 0x7f, 4, 0xff, 0.5f); + digit_layout_offset[1] = fast_sin(angle) * -0.4f; + digit_layout_offset[2] = 0.0f; + add_vectors( + number_position_sum, digit_layout_offset, number_anchor_position); + draw_number(digit_layout_offset, + moby, + idata[5] % 10 + 2, + color, + 0x7f, + 4, + 0xff, + 0.5f); } else { angle = fast_add_rotations(MOBY(moby)->rot.z, 1.5707964f); - offset[0] = fast_cos(angle) * -0.4f; + digit_layout_offset[0] = fast_cos(angle) * -0.4f; angle = fast_add_rotations(MOBY(moby)->rot.z, 1.5707964f); - offset[1] = fast_sin(angle) * -0.4f; - offset[2] = 0.0f; - add_vectors(number_position_sum, offset, number_anchor_position); - draw_number(offset, moby, idata[5] / 10 + 2, color, 0x7f, 4, 0xff, 0.5f); + digit_layout_offset[1] = fast_sin(angle) * -0.4f; + digit_layout_offset[2] = 0.0f; + add_vectors( + number_position_sum, digit_layout_offset, number_anchor_position); + draw_number(digit_layout_offset, + moby, + idata[5] / 10 + 2, + color, + 0x7f, + 4, + 0xff, + 0.5f); angle = fast_add_rotations(MOBY(moby)->rot.z, 1.5707964f); - offset[0] = fast_cos(angle) * 0.15f; + digit_layout_offset[0] = fast_cos(angle) * 0.15f; angle = fast_add_rotations(MOBY(moby)->rot.z, 1.5707964f); - offset[1] = fast_sin(angle) * 0.15f; - offset[2] = 0.0f; - add_vectors(number_position_sum, offset, number_anchor_position); - draw_number(offset, moby, idata[5] % 10 + 2, color, 0x7f, 4, 0xff, 0.5f); + digit_layout_offset[1] = fast_sin(angle) * 0.15f; + digit_layout_offset[2] = 0.0f; + add_vectors( + number_position_sum, digit_layout_offset, number_anchor_position); + draw_number(digit_layout_offset, + moby, + idata[5] % 10 + 2, + color, + 0x7f, + 4, + 0xff, + 0.5f); } } } diff --git a/src/overlays/shared/props/breakable_lamp.c b/src/overlays/shared/props/breakable_lamp.c index c05d4d1aa6..5d7cdb861e 100644 --- a/src/overlays/shared/props/breakable_lamp.c +++ b/src/overlays/shared/props/breakable_lamp.c @@ -87,7 +87,7 @@ void breakable_lamp_update(struct Moby *moby) { Vec4 start; f32 distance; f32 fade; - f32 size; + f32 trail_size; f32 speed; f32 yaw; f32 pitch; @@ -184,7 +184,7 @@ void breakable_lamp_update(struct Moby *moby) { debris->spawn_frame = moby->spawn_frame; } for (i = 0; i < 24; i++) { - size = random_float_between(0.3f, 4.0f); + trail_size = random_float_between(0.3f, 4.0f); sign = random_integer_below(2); if (sign == 0) { sign--; @@ -200,8 +200,8 @@ void breakable_lamp_update(struct Moby *moby) { frames = scale_game_frames(0x3C); spawn_trail_c8e0(&start, frames, - size * 0.1f, - size, + trail_size * 0.1f, + trail_size, glow_and_spark_state->color | 0x7F000000, 0, sign, @@ -209,8 +209,15 @@ void breakable_lamp_update(struct Moby *moby) { 0.003f); sign = -sign; frames = scale_game_frames(0x3C); - spawn_trail_c8e0( - &start, frames, size * 0.07f, size * 0.7f, 0x7F7F7F7F, 1, sign, &effect_motion, 0.003f); + spawn_trail_c8e0(&start, + frames, + trail_size * 0.07f, + trail_size * 0.7f, + 0x7F7F7F7F, + 1, + sign, + &effect_motion, + 0.003f); effect_motion.f[1] = 0.0f; effect_motion.f[0] = 0.0f; effect_motion.f[2] = random_float_between(0.01f, 0.05f) * frame_scale; diff --git a/src/overlays/shared/props/electric_beam.c b/src/overlays/shared/props/electric_beam.c index 15f0c59792..5e57d623a2 100644 --- a/src/overlays/shared/props/electric_beam.c +++ b/src/overlays/shared/props/electric_beam.c @@ -384,7 +384,7 @@ void draw_electric_beam(char *moby) { float inverse[16] __attribute__((aligned(16))); float camera[4] __attribute__((aligned(16))); float prev_offset[4] __attribute__((aligned(16))); - float offset[4] __attribute__((aligned(16))); + float strip_half_width_offset[4] __attribute__((aligned(16))); float view[4] __attribute__((aligned(16))); float tangent[4] __attribute__((aligned(16))); u64 texture; @@ -426,18 +426,18 @@ void draw_electric_beam(char *moby) { packet[1].colors[k] = color; packet[0].colors[k] = color; } - clear_u64_value(offset); + clear_u64_value(strip_half_width_offset); { int point; for (point = 0; point < 31; point++) { - qcopy(prev_offset, offset); + qcopy(prev_offset, strip_half_width_offset); if (point < 30) { fast_vec_sub(tangent, &beam->points[point], &beam->points[point + 2]); fast_vec_sub(view, &beam->points[point + 1], camera); - fast_vec_cross(offset, view, tangent); - fast_vec_normalize(offset, offset, 0.1f); + fast_vec_cross(strip_half_width_offset, view, tangent); + fast_vec_normalize(strip_half_width_offset, strip_half_width_offset, 0.1f); } else { - clear_u64_value(offset); + clear_u64_value(strip_half_width_offset); } for (corner = 0; corner < 4; corner++) { if (corner < 2) { @@ -451,11 +451,13 @@ void draw_electric_beam(char *moby) { } else { qcopy(&packet[0].vertices[corner], &beam->points[point + 1]); if (corner & 1) - fast_vec_add( - &packet[0].vertices[corner], &packet[0].vertices[corner], offset); + fast_vec_add(&packet[0].vertices[corner], + &packet[0].vertices[corner], + strip_half_width_offset); else - fast_vec_sub( - &packet[0].vertices[corner], &packet[0].vertices[corner], offset); + fast_vec_sub(&packet[0].vertices[corner], + &packet[0].vertices[corner], + strip_half_width_offset); } /* Fakematch: 34 block notes push this loop past haifa-sched's 100-insn region limit, * so sched1 moves nothing between its blocks, as in retail. */ @@ -469,26 +471,26 @@ void draw_electric_beam(char *moby) { } } for (branch = 0; branch < 4; branch++) { - clear_u64_value(offset); + clear_u64_value(strip_half_width_offset); start_point = beam->branch_start[branch]; if (start_point >= 0x1F) continue; if (start_point <= -1) continue; for (branch_segment_index = 0; branch_segment_index < 3; branch_segment_index++) { - qcopy(prev_offset, offset); + qcopy(prev_offset, strip_half_width_offset); if (branch_segment_index < 2) { fast_vec_sub(tangent, &beam->branches[branch_segment_index][branch], &beam->branches[branch_segment_index + 2][branch]); fast_vec_sub(view, &beam->branches[branch_segment_index + 1][branch], camera); - fast_vec_cross(offset, view, tangent); - fast_vec_normalize(offset, offset, 0.1f); + fast_vec_cross(strip_half_width_offset, view, tangent); + fast_vec_normalize(strip_half_width_offset, strip_half_width_offset, 0.1f); } else { - clear_u64_value(offset); + clear_u64_value(strip_half_width_offset); } if (branch_segment_index == 0) - qcopy(prev_offset, offset); + qcopy(prev_offset, strip_half_width_offset); for (corner = 0; corner < 4; corner++) { if (corner < 2) { qcopy(&packet[0].vertices[corner], @@ -503,11 +505,13 @@ void draw_electric_beam(char *moby) { qcopy(&packet[0].vertices[corner], &beam->branches[branch_segment_index + 1][branch]); if (corner & 1) - fast_vec_add( - &packet[0].vertices[corner], &packet[0].vertices[corner], offset); + fast_vec_add(&packet[0].vertices[corner], + &packet[0].vertices[corner], + strip_half_width_offset); else - fast_vec_sub( - &packet[0].vertices[corner], &packet[0].vertices[corner], offset); + fast_vec_sub(&packet[0].vertices[corner], + &packet[0].vertices[corner], + strip_half_width_offset); } /* Fakematch: 32 block notes push this loop past haifa-sched's 100-insn region limit, * so sched1 moves nothing between its blocks, as in retail. */ diff --git a/src/overlays/shared/props/electric_water.c b/src/overlays/shared/props/electric_water.c index 8caba1ffee..3296a6bd64 100644 --- a/src/overlays/shared/props/electric_water.c +++ b/src/overlays/shared/props/electric_water.c @@ -970,12 +970,12 @@ void update_electric_water_bolt_effect(Moby *moby) { } { int elapsed = D_L15_00161CD8[k]; - int timer = D_L15_00161CC0[k]; + int side_arc_remaining_frames = D_L15_00161CC0[k]; float fade; - if (elapsed < timer) { - elapsed = timer - elapsed; + if (elapsed < side_arc_remaining_frames) { + elapsed = side_arc_remaining_frames - elapsed; } else { - elapsed = elapsed - timer; + elapsed = elapsed - side_arc_remaining_frames; } fade = convert_integer_to_float(elapsed); fade = fade / convert_integer_to_float(scale_game_frames(15)); diff --git a/src/overlays/shared/props/floor_button.c b/src/overlays/shared/props/floor_button.c index 9dc333f2dd..2430a952d9 100644 --- a/src/overlays/shared/props/floor_button.c +++ b/src/overlays/shared/props/floor_button.c @@ -34,7 +34,7 @@ void floor_button_update(struct Moby *moby) { FLOOR_BUTTON_STATE_DISABLED = 2 }; s32 *floor_button_private_state = (s32 *)moby->pvars; - s16 id; + s16 save_flag_index; s32 i; s32 list; char *path_key_cursor; @@ -47,9 +47,10 @@ void floor_button_update(struct Moby *moby) { case FLOOR_BUTTON_STATE_INITIALIZE: *(f32 *)(floor_button_private_state + 3) = random_angle_radians(); moby->pos.z -= 0.35f; - id = (s16)moby->save_id; - if (l05_mission_gated_moby_save_flags.collected[id] != 0 || - (D_0014C190_257218[current_level_index][id >> 5] >> (moby->save_id & 31) & 1) != 0 || + save_flag_index = (s16)moby->save_id; + if (l05_mission_gated_moby_save_flags.collected[save_flag_index] != 0 || + (D_0014C190_257218[current_level_index][save_flag_index >> 5] >> (moby->save_id & 31) & + 1) != 0 || (floor_button_private_state[2] != 0 && D_0014C050[moby->mission + current_level_index * 16] == 0xFF)) { moby->command = 2; diff --git a/src/overlays/shared/props/garage_door.c b/src/overlays/shared/props/garage_door.c index b678e2f442..40567e8a55 100644 --- a/src/overlays/shared/props/garage_door.c +++ b/src/overlays/shared/props/garage_door.c @@ -27,16 +27,17 @@ void garage_door_update(struct Moby *door_moby) { }; Vec4 *target = (Vec4 *)door_moby->pvars; s16 save_id_index; - u16 id; + u16 collection_save_id; switch (door_moby->state) { case GARAGE_DOOR_WAITING_FOR_COLLECTION: /* one quadword copy (lq/sq); qcopy() schedules differently */ target->q = ((Vec4 *)&door_moby->pos)->q; - id = door_moby->save_id; - save_id_index = id; + collection_save_id = door_moby->save_id; + save_id_index = collection_save_id; if (l03_save_state.cleared[save_id_index] == 0) { - if (!((D_0014C190_257218[current_level_index_gp][save_id_index >> 5] >> (id & 0x1F)) & + if (!((D_0014C190_257218[current_level_index_gp][save_id_index >> 5] >> + (collection_save_id & 0x1F)) & 1)) return; } diff --git a/src/overlays/shared/props/grindrail_barrier.c b/src/overlays/shared/props/grindrail_barrier.c index 4c3bf0b543..fdd3b6fbb5 100644 --- a/src/overlays/shared/props/grindrail_barrier.c +++ b/src/overlays/shared/props/grindrail_barrier.c @@ -204,9 +204,9 @@ void draw_grindrail_barrier_effect(char *barrier_moby) { } } { - int count; - for (count = 3; count >= 0; --count) { - rotation[0] = angles[3 - count]; + int accent_draw_countdown; + for (accent_draw_countdown = 3; accent_draw_countdown >= 0; --accent_draw_countdown) { + rotation[0] = angles[3 - accent_draw_countdown]; euler_rotation_basis(transform, rotation); draw_geometry_quad(&quad, transform, 0); } diff --git a/src/overlays/shared/props/hydrodisplacer.c b/src/overlays/shared/props/hydrodisplacer.c index 1539835f9c..0c3e3ef39c 100644 --- a/src/overlays/shared/props/hydrodisplacer.c +++ b/src/overlays/shared/props/hydrodisplacer.c @@ -362,13 +362,13 @@ s32 test_hydrodisplacer_activation_flag(void) { u8 *linked_moby; s32 ground_moby_address; s32 idx; - u8 flags; + u8 hydro_tank_full; activation_hero = &hero; linked_moby = moby_table; ground_moby_address = ((s32)activation_hero->ground_moby); - flags = (u8)activation_hero->hydro_tank_full; + hydro_tank_full = (u8)activation_hero->hydro_tank_full; linked_moby += *(s32 *)*(s32 *)((u8 *)ground_moby_address + 0x78) << 8; - if (!flags) { + if (!hydro_tank_full) { if (MOBY(linked_moby)->command & 2) return 1; } else { diff --git a/src/overlays/shared/props/lamp.c b/src/overlays/shared/props/lamp.c index 65562ff7fd..54c5bd95c9 100644 --- a/src/overlays/shared/props/lamp.c +++ b/src/overlays/shared/props/lamp.c @@ -111,7 +111,7 @@ void draw_moby_wobble_quads(struct Moby *moby) { float *direction; float *up; u64 texture; - u64 flags; + u64 blend_control; float phase; float sign; float pass; @@ -135,18 +135,18 @@ void draw_moby_wobble_quads(struct Moby *moby) { qcopy(matrix + 12, position); texture = get_effect_texture(wobble_quad_texture_index_gp); - flags = (u64)(s64)wobble_quad_blend_a_selector_gp | - ((u64)(s64)wobble_quad_blend_b_selector_gp << 2) | - ((u64)(s64)wobble_quad_blend_c_selector_gp << 4) | - ((u64)(s64)wobble_quad_blend_d_selector_gp << 6) | 0x8000000000ULL; + blend_control = (u64)(s64)wobble_quad_blend_a_selector_gp | + ((u64)(s64)wobble_quad_blend_b_selector_gp << 2) | + ((u64)(s64)wobble_quad_blend_c_selector_gp << 4) | + ((u64)(s64)wobble_quad_blend_d_selector_gp << 6) | 0x8000000000ULL; quad_b.control[0] = 0; quad_b.control[2] = 0xff9000000260ULL; quad_a.control[2] = 0xff9000000260ULL; quad_b.control[1] = texture; quad_a.control[1] = texture; quad_a.control[0] = 0; - quad_b.control[3] = flags; - quad_a.control[3] = flags; + quad_b.control[3] = blend_control; + quad_a.control[3] = blend_control; for (k = 0; k < 4; k++) { float u = wobble_quad_texcoords[k][0]; float v = wobble_quad_texcoords[k][1]; diff --git a/src/overlays/shared/props/linked_spark_emitter.c b/src/overlays/shared/props/linked_spark_emitter.c index 117c26ad14..9d268f0f90 100644 --- a/src/overlays/shared/props/linked_spark_emitter.c +++ b/src/overlays/shared/props/linked_spark_emitter.c @@ -86,12 +86,13 @@ void linked_spark_emitter_update(unsigned char *moby) { switch (MOBY(moby)->state) { case INITIALIZE_EFFECT: { - unsigned short id; + unsigned short emitter_save_id; MOBY(moby)->flags |= 1; MOBY(moby)->visible = 0; - id = MOBY(moby)->save_id; - if (l15_save_state.cleared[(short)id] == 0 && - (((*(int *)(D_0014C190 + (((short)id >> 5) * 4) + (D_0015ED84 << 8)) >> (id & 0x1F)) ^ + emitter_save_id = MOBY(moby)->save_id; + if (l15_save_state.cleared[(short)emitter_save_id] == 0 && + (((*(int *)(D_0014C190 + (((short)emitter_save_id >> 5) * 4) + (D_0015ED84 << 8)) >> + (emitter_save_id & 0x1F)) ^ 1) & 1)) { MOBY(moby)->state = EMIT_SPARKS; diff --git a/src/overlays/shared/props/novalis_elevator.c b/src/overlays/shared/props/novalis_elevator.c index 721b3af230..daec146768 100644 --- a/src/overlays/shared/props/novalis_elevator.c +++ b/src/overlays/shared/props/novalis_elevator.c @@ -58,10 +58,10 @@ void novalis_elevator_update(unsigned char *moby) { } } if (*(int *)(elevator_vars + 0xC0) != -1) { - unsigned short id; + unsigned short save_id; if (is_point_inside_clip_volume(&hero.motion.pos, *(int *)(elevator_vars + 0xC0)) || - l01_save_state.cleared[(short)(id = MOBY(moby)->save_id)] != 0 || - (D_0014C190_257218[current_level_index][(short)id >> 5] >> (id & 0x1F)) & 1) { + l01_save_state.cleared[(short)(save_id = MOBY(moby)->save_id)] != 0 || + (D_0014C190_257218[current_level_index][(short)save_id >> 5] >> (save_id & 0x1F)) & 1) { if (*(int *)(elevator_vars + 0xC0) != -1) { D_0014C190_257218[current_level_index][(short)MOBY(moby)->save_id >> 5] |= 1 << (MOBY(moby)->save_id & 0x1F); diff --git a/src/overlays/shared/props/ocean_pokitaru.c b/src/overlays/shared/props/ocean_pokitaru.c index b9fff0e354..6e312c9786 100644 --- a/src/overlays/shared/props/ocean_pokitaru.c +++ b/src/overlays/shared/props/ocean_pokitaru.c @@ -236,8 +236,8 @@ void draw_pokitaru_ocean(struct Moby *moby) { colA = fast_tween_color(0, colA, color_interpolation_scalar); colB = fast_tween_color(0, colB, color_interpolation_scalar); for (layer = 0; layer < 2; layer++) { - int id = layer + 0x28; - vu1_add_g_sregister(6, get_effect_texture(ocean_vars->f1C + id)); + int wave_texture_offset = layer + 0x28; + vu1_add_g_sregister(6, get_effect_texture(ocean_vars->f1C + wave_texture_offset)); for (y = ocean_vars->f18 * -2.0f; y < ocean_vars->f18 * 2.0f; y += ocean_vars->f18) { vertex_count = 0; for (x = ocean_vars->f18 * -2.0f; x < ocean_vars->f18 * 2.0f; diff --git a/src/overlays/shared/props/pool_init_tiles.c b/src/overlays/shared/props/pool_init_tiles.c index 2919e784b0..92baa37770 100644 --- a/src/overlays/shared/props/pool_init_tiles.c +++ b/src/overlays/shared/props/pool_init_tiles.c @@ -42,9 +42,9 @@ extern void memset(void *, s32, s32); void pool_init_tiles(VuChainRecord *records, int count) __asm__("FUN_L01_002b7a48"); -void pool_init_tiles(VuChainRecord *records, int count) { +void pool_init_tiles(VuChainRecord *records, int tile_count) { int i; - for (i = 0; i < count; i++) { + for (i = 0; i < tile_count; i++) { int j; for (j = 0; j < 3; j++) { memset(records[i].slots[j].data, 0, 0x400); diff --git a/src/overlays/shared/props/teleporter.c b/src/overlays/shared/props/teleporter.c index 1ca0c8f382..3d627ca1d6 100644 --- a/src/overlays/shared/props/teleporter.c +++ b/src/overlays/shared/props/teleporter.c @@ -72,7 +72,7 @@ struct L01Moby { char pad36[0x42]; L01MobyData *data; char pad7c[0x18]; - int field94; + int collision_data; }; extern void approach_value(float *, float, float) __asm__("FUN_00213ed8"); @@ -594,7 +594,7 @@ void hide_teleporter_and_children(L01Moby *moby) { }; L01Moby **slots = moby->data->slots; int i; - moby->field94 = 0; + moby->collision_data = 0; moby->flags |= 1; moby->state = TELEPORTER_VISIBILITY_HIDDEN; for (i = 2; i >= 0; i--, slots++) { diff --git a/src/overlays/shared/props/thruster_pack_lock.c b/src/overlays/shared/props/thruster_pack_lock.c index 1b174ceb4f..9c07fc8213 100644 --- a/src/overlays/shared/props/thruster_pack_lock.c +++ b/src/overlays/shared/props/thruster_pack_lock.c @@ -590,7 +590,7 @@ int draw_linked_moby_trails(struct Moby *moby) __asm__("FUN_L11_003192c8"); int draw_linked_moby_trails(struct Moby *moby) { TrailQuad quads[16]; - float offset[2][4]; + float trail_corner_z_offsets[2][4]; short *list, *next_list; int i, j, segment, side, slot, more, next_segment, next_side, own_class, other_class, visible, half, corner; @@ -634,9 +634,9 @@ int draw_linked_moby_trails(struct Moby *moby) { } } - memset(offset, 0, 0x20); - offset[0][2] = 0.25f; - offset[1][2] = -0.25f; + memset(trail_corner_z_offsets, 0, 0x20); + trail_corner_z_offsets[0][2] = 0.25f; + trail_corner_z_offsets[1][2] = -0.25f; list = D_L11_001AC240[moby->group]; do { @@ -671,7 +671,7 @@ int draw_linked_moby_trails(struct Moby *moby) { int point = (slot + (corner >> 1)) % 16; fast_vec_add(quads[segment].positions[corner], &((float(*)[16][4])(trail + 0xC0))[side][point][0], - offset[corner & 1]); + trail_corner_z_offsets[corner & 1]); } draw_geometry_quad(&quads[segment], 0, 0); side = next_side; @@ -877,7 +877,7 @@ void update_moby_path_transform(char *moby) { char *moby_vars = (char *)MOBY(moby)->pvars; int i = *(int *)(moby_vars + 0x64); char *table = (char *)l11_paths[*(int *)(moby_vars + 0x60)]; - int count; + int path_point_count; float matrix[16]; float current_path_point[4], next_path_point[4], lookahead_path_point[4]; float point[4], turn[4], direction[4]; @@ -886,9 +886,9 @@ void update_moby_path_transform(char *moby) { float speed; qcopy(current_path_point, table + i * 16 + 0x10); - count = *(int *)table; - qcopy(next_path_point, table + (i + 1) % count * 16 + 0x10); - qcopy(lookahead_path_point, table + (i + 2) % count * 16 + 0x10); + path_point_count = *(int *)table; + qcopy(next_path_point, table + (i + 1) % path_point_count * 16 + 0x10); + qcopy(lookahead_path_point, table + (i + 2) % path_point_count * 16 + 0x10); clear_u64_value(turn); angle_a = fast_arc_tan(current_path_point[0] - next_path_point[0], current_path_point[1] - next_path_point[1]); diff --git a/src/overlays/shared/props/trespasser_pad.c b/src/overlays/shared/props/trespasser_pad.c index b05d85ba4e..b02dbb997c 100644 --- a/src/overlays/shared/props/trespasser_pad.c +++ b/src/overlays/shared/props/trespasser_pad.c @@ -511,7 +511,7 @@ void draw_tresspasser_puzzle(char *moby) { Ring12 *markers = (Ring12 *)(&puzzle_state->markers); Ring12 *first_ring, *second_ring, *third; - int i, state, third_step; + int i, selected_ring, third_step; float phase; vu1_add_g_sregister(0x47, 0x5380b); @@ -530,18 +530,18 @@ void draw_tresspasser_puzzle(char *moby) { second_step = 0; third_step = 0; if (puzzle_state->turn_angle > 0.31415927f) { - state = puzzle_state->turning_ring; - if (state == TRESSPASSER_SELECTED_RING_FIRST) + selected_ring = puzzle_state->turning_ring; + if (selected_ring == TRESSPASSER_SELECTED_RING_FIRST) first_step = 1; - else if (state == TRESSPASSER_SELECTED_RING_SECOND) + else if (selected_ring == TRESSPASSER_SELECTED_RING_SECOND) second_step = 1; else third_step = 1; } else if (puzzle_state->turn_angle < -0.31415927f) { - state = puzzle_state->turning_ring; - if (state == TRESSPASSER_SELECTED_RING_FIRST) + selected_ring = puzzle_state->turning_ring; + if (selected_ring == TRESSPASSER_SELECTED_RING_FIRST) first_step = -1; - else if (state == TRESSPASSER_SELECTED_RING_SECOND) + else if (selected_ring == TRESSPASSER_SELECTED_RING_SECOND) second_step = -1; else third_step = -1; diff --git a/src/overlays/shared/props/underwater_door.c b/src/overlays/shared/props/underwater_door.c index 75735d1a40..dfeacf5679 100644 --- a/src/overlays/shared/props/underwater_door.c +++ b/src/overlays/shared/props/underwater_door.c @@ -36,7 +36,7 @@ void underwater_door_update(struct Moby *moby) { DOOR_HOLD_AWAY_FROM_ORIGIN = 3 }; MovingMobyVars *door_motion_data = (MovingMobyVars *)moby->pvars; - Vec4 offset; + Vec4 displacement_from_origin; Vec4 updated_door_position; f32 step; f32 magnitude; @@ -78,10 +78,10 @@ void underwater_door_update(struct Moby *moby) { increment = (moby->scale * 3.0f / moby->pclass->scale) / 3.0f * frame_time; increment = reversed ? -increment : increment; door_motion_data->travel = travel + increment; - offset.f[0] = fast_cos(moby->rot.z) * door_motion_data->travel; - offset.f[1] = fast_sin(moby->rot.z) * door_motion_data->travel; - offset.f[2] = 0.0f; - fast_vec_add(&updated_door_position, &door_motion_data->origin, &offset); + displacement_from_origin.f[0] = fast_cos(moby->rot.z) * door_motion_data->travel; + displacement_from_origin.f[1] = fast_sin(moby->rot.z) * door_motion_data->travel; + displacement_from_origin.f[2] = 0.0f; + fast_vec_add(&updated_door_position, &door_motion_data->origin, &displacement_from_origin); *(u128 *)&moby->pos = updated_door_position.q; magnitude = absolute_float(door_motion_data->travel); scale = moby->scale; @@ -129,10 +129,10 @@ void underwater_door_update(struct Moby *moby) { } else { door_motion_data->travel = 0.0f; } - offset.f[0] = fast_cos(moby->rot.z) * door_motion_data->travel; - offset.f[1] = fast_sin(moby->rot.z) * door_motion_data->travel; - offset.f[2] = 0.0f; - fast_vec_add(&updated_door_position, &door_motion_data->origin, &offset); + displacement_from_origin.f[0] = fast_cos(moby->rot.z) * door_motion_data->travel; + displacement_from_origin.f[1] = fast_sin(moby->rot.z) * door_motion_data->travel; + displacement_from_origin.f[2] = 0.0f; + fast_vec_add(&updated_door_position, &door_motion_data->origin, &displacement_from_origin); *(u128 *)&moby->pos = updated_door_position.q; if (door_motion_data->travel != 0.0f) return; diff --git a/src/overlays/shared/rendering/buffers/transfer_draw_buffer_chunks.c b/src/overlays/shared/rendering/buffers/transfer_draw_buffer_chunks.c index 908dda226d..e0724511c9 100644 --- a/src/overlays/shared/rendering/buffers/transfer_draw_buffer_chunks.c +++ b/src/overlays/shared/rendering/buffers/transfer_draw_buffer_chunks.c @@ -13,9 +13,9 @@ void transfer_draw_buffer_chunks(int dst, void transfer_draw_buffer_chunks(int destination_byte_address, int draw_buffer_byte_address, - int size) { + int byte_count) { char chunk_transfer_descriptor[0x70] __attribute__((aligned(16))); - int left = (size + 0x3FFF) & ~0x3FFF; + int left = (byte_count + 0x3FFF) & ~0x3FFF; int transfer_byte_offset = 0; while (left > 0) { FUN_00122518(chunk_transfer_descriptor, @@ -43,8 +43,8 @@ void append_draw_buffer_upload_packets(int dst, void append_draw_buffer_upload_packets(int upload_source_byte_address, int draw_buffer_byte_address, - int size) { - int left = (size + 0x3FFF) & ~0x3FFF; + int upload_byte_count) { + int left = (upload_byte_count + 0x3FFF) & ~0x3FFF; int transfer_byte_offset = 0; while (left > 0) { *(int *)D_L00_001611C0_002a0fc8 = 0x10000006; diff --git a/src/overlays/shared/rendering/debug/update_debug_menu.c b/src/overlays/shared/rendering/debug/update_debug_menu.c index 4563a3dc56..6d8c80e69d 100644 --- a/src/overlays/shared/rendering/debug/update_debug_menu.c +++ b/src/overlays/shared/rendering/debug/update_debug_menu.c @@ -874,7 +874,7 @@ void update_debug_menu(void) { if (g_debug_menu.selected_row == 2 && (controller_words.buttons.w.pressed & 0xF0)) { char *directory = level_directory_macro; char *path_format = level_file_path_format_gp; - s32 i = 0, found, fd, size; + s32 i = 0, found, fd, sample_file_byte_count; { f32 *sample; s32 count = occlusion_sample_count; @@ -930,11 +930,11 @@ void update_debug_menu(void) { sceWrite(fd, &l00_camera.pos.f[1], 4); sceWrite(fd, &l00_camera.pos.f[2], 4); sceLseek(fd, 0, 0); - size = sceLseek(fd, 0, 2); - if (size <= 0x100000) { + sample_file_byte_count = sceLseek(fd, 0, 2); + if (sample_file_byte_count <= 0x100000) { sceLseek(fd, 0, 0); - sceRead(fd, samples, size); - occlusion_sample_count = size / 12; + sceRead(fd, samples, sample_file_byte_count); + occlusion_sample_count = sample_file_byte_count / 12; } else { occlusion_sample_count = 0; } diff --git a/src/overlays/shared/rendering/effects/beam_slots.c b/src/overlays/shared/rendering/effects/beam_slots.c index 542f4b4ba7..acaf621034 100644 --- a/src/overlays/shared/rendering/effects/beam_slots.c +++ b/src/overlays/shared/rendering/effects/beam_slots.c @@ -267,10 +267,10 @@ s32_2e1f28 register_beam_slot(s32_2e1f28 id, /* Ported from rac1-decomp (src/overlays/shared/vendor_002E1660.c: func_L00_002E34F0), where it is exact; names translated to the US level program. */ int release_beam_slot_by_id(int id) __asm__("FUN_L00_002e2040"); -int release_beam_slot_by_id(int id) { +int release_beam_slot_by_id(int owner_moby_id) { unsigned int i; for (i = 0; (int)i < 3; i++) { - if (beam_slot_id[i] == id) { + if (beam_slot_id[i] == owner_moby_id) { beam_slot_state[i] = 0; beam_slot_id[i] = 0; if (beam_endpoint_light[i] != -1) { @@ -306,13 +306,13 @@ void release_beam_slot(s32 i) { s32 set_beam_origin_transform_and_endpoint(s32 id, void *src, void *v) __asm__("FUN_L00_002e2190"); -s32 set_beam_origin_transform_and_endpoint(s32 id, +s32 set_beam_origin_transform_and_endpoint(s32 beam_owner_moby_id, void *beam_origin_transform, void *endpoint_position) { s32 i; for (i = 0; i < 3; i++) { - if (id == beam_slot_id[i]) { + if (beam_owner_moby_id == beam_slot_id[i]) { if (beam_slot_state[i] == 1) beam_slot_state[i] = 2; else if (beam_slot_state[i] == 4) @@ -700,6 +700,9 @@ void draw_beam_strand_with_glow( void draw_beam_endpoint_quads_with_glow(s32 unused, s32 beam_slot) __asm__("FUN_L00_002e3388"); void draw_beam_endpoint_quads_with_glow(s32 unused, s32 beam_slot) { + enum { + TEXTURE_CLAMP_UV = 5 + }; Q_e3388 geometry_quad; f32 endpoint_to_camera_axis[4] __attribute__((aligned(16))); f32 endpoint_quad_side_axis[4] __attribute__((aligned(16))); diff --git a/src/overlays/shared/rendering/effects/draw_textured_effect_list.c b/src/overlays/shared/rendering/effects/draw_textured_effect_list.c index 51b2d4671a..391fd840cf 100644 --- a/src/overlays/shared/rendering/effects/draw_textured_effect_list.c +++ b/src/overlays/shared/rendering/effects/draw_textured_effect_list.c @@ -29,7 +29,7 @@ void draw_textured_effect_list(void *list_, int context_two_texture_state) __asm__("FUN_L12_002bc210"); void draw_textured_effect_list(void *list_, - int count, + int effect_entry_count, int context_one_texture_state, int context_two_texture_state) { @@ -49,8 +49,8 @@ void draw_textured_effect_list(void *list_, for (i = 0xB3; i >= 0; i--) { *sp++ = 0x80808080; } - if (count > 0) { - for (i = count; i != 0; i--) { + if (effect_entry_count > 0) { + for (i = effect_entry_count; i != 0; i--) { sphere_check_result = fast_bsphere_check(list, 256.0f); if (sphere_check_result != -1) { FUN_L12_002667fc(*(int *)(list + 0x1C), diff --git a/src/overlays/shared/rendering/effects/glow_particle.c b/src/overlays/shared/rendering/effects/glow_particle.c index aa6a4a0d87..231da776d3 100644 --- a/src/overlays/shared/rendering/effects/glow_particle.c +++ b/src/overlays/shared/rendering/effects/glow_particle.c @@ -157,7 +157,7 @@ unsigned char *spawn_randomly_rotated_colored_moby(int owner, unsigned char *spawn_randomly_rotated_colored_moby(int source_moby_address, V_2df808 *position, V_2df808 *vector, - int flags, + int lifetime_frames, unsigned char red, unsigned char green, unsigned char blue, @@ -188,7 +188,7 @@ unsigned char *spawn_randomly_rotated_colored_moby(int source_moby_add qcopy(spawned_moby_private_data, vector); qcopy(moby + 0x40, &rotation_copy); *(unsigned short *)(spawned_moby_private_data + 0x1e) = alpha; - *(int *)(spawned_moby_private_data + 0x14) = flags; + *(int *)(spawned_moby_private_data + 0x14) = lifetime_frames; *(unsigned short *)(spawned_moby_private_data + 0x1c) = *(unsigned short *)(spawned_moby_private_data + 0x14); update_entity(moby); diff --git a/src/overlays/shared/rendering/effects/particles.c b/src/overlays/shared/rendering/effects/particles.c index 34a480131b..6d53011fe4 100644 --- a/src/overlays/shared/rendering/effects/particles.c +++ b/src/overlays/shared/rendering/effects/particles.c @@ -138,7 +138,7 @@ unsigned char *spawn_moving_resizing_height_snapped_alpha_ unsigned char *spawn_moving_resizing_height_snapped_alpha_fade_particle( - void *initial_position, int x, int color, float size, float size_increment) { + void *initial_position, int x, int color, float initial_size_scale, float size_increment) { unsigned char *particle = create_part(0x2D); if (particle) { unsigned char *particle_data; @@ -158,7 +158,7 @@ unsigned char *spawn_moving_resizing_height_snapped_alpha_fade_particle( particle[2] = *D_L00_001B2134; particle[8] = rand(); *(short *)(particle + 0xA) = 4; - *(float *)(particle + 0xC) = size * 210000.0f; + *(float *)(particle + 0xC) = initial_size_scale * 210000.0f; drift_angle_radians = random_angle_radians(); horizontal_drift_speed = random_float_between(0.0015f, 0.0025f); *(float *)(particle_data + 0) = fast_cos(drift_angle_radians) * horizontal_drift_speed; @@ -322,7 +322,7 @@ typedef union { typedef struct { u8 pad[0xA]; - s16 xa; + s16 lifetime_countdown; u8 pc[4]; V00271d20 pos; V00271d20 vel; @@ -344,11 +344,11 @@ void update_timed_line_collision_particle(O00271d20 *particle) { motion_delta_xyz.f[3] = 0.0f; fast_vec_add(pos, pos, &motion_delta_xyz); fast_vec_add(vel, vel, &motion_delta_xyz); - if (fast_dec_timer_s16(&particle->xa)) { + if (fast_dec_timer_s16(&particle->lifetime_countdown)) { free_effect_particle(particle); } else if (coll_line_fix(vel, pos, 0x10, acc->i[3], 0)) { particle->pos.q = D_L00_00173E60.q; - particle->xa = 0; + particle->lifetime_countdown = 0; } } @@ -427,13 +427,17 @@ FUN_L00_00272060(void *pos, int s, int color, int mode, int b, float *v, float x unsigned char *FUN_L00_00272060(void *initial_position, int lifetime_frames, int color, - int mode, + int initial_rotation_mode, int rotation_increment, float *initial_velocity, float x, float y, float z) { + enum { + PARTICLE_INITIAL_ROTATION_MODE_ZERO = 0, + PARTICLE_INITIAL_ROTATION_MODE_EIGHTH_TURN_OFFSET = 1 + }; unsigned char *particle = create_part(0x35); if (particle) { unsigned char *particle_data = particle + 0x20; @@ -446,9 +450,9 @@ unsigned char *FUN_L00_00272060(void *initial_position, particle[2] = *D_L00_001B2154; *(short *)(particle + 0xA) = lifetime_frames; *(float *)(particle + 0xC) = x * 210000.0f; - if (mode == 0) { + if (initial_rotation_mode == PARTICLE_INITIAL_ROTATION_MODE_ZERO) { particle[8] = 0; - } else if (mode == 1) { + } else if (initial_rotation_mode == PARTICLE_INITIAL_ROTATION_MODE_EIGHTH_TURN_OFFSET) { particle[8] = 0x20; } else { particle[8] = random_integer_below(0xFF); @@ -657,9 +661,9 @@ typedef unsigned int u128_2726d8 __attribute__((mode(TI), aligned(16))); typedef struct { u8 *owner; - s32 x4; - s32 x8; - f32 xC; + s32 moby_point_selector; + s32 attached_owner_identity; + f32 initial_primary_position_w; } Q_2726d8; typedef struct { @@ -676,15 +680,16 @@ void update_moby_point_attached_particle(P_2726d8 *particle) { Q_2726d8 *q = &particle->q; u128_2726d8 position_delta; f32 save, sc, length_jitter, target_length; - if (particle->q.owner == 0 || *(s16 *)(particle->q.owner + 0xA6) != q->x8 || + if (particle->q.owner == 0 || + *(s16 *)(particle->q.owner + 0xA6) != q->attached_owner_identity || particle->q.owner[0x20] == 0xFE || particle->q.owner[0x20] == 0xFD) { free_effect_particle(particle); return; } - sc = q->xC * random_float_between(0.5f, 1.0f); + sc = q->initial_primary_position_w * random_float_between(0.5f, 1.0f); save = particle->secondary_position_w; qcopy(&position_delta, &particle->pos); - moby_point_position(particle->q.owner, q->x4, &particle->pos); + moby_point_position(particle->q.owner, q->moby_point_selector, &particle->pos); fast_vec_sub(&position_delta, &position_delta, &particle->pos); length_jitter = random_float_between(-0.021f, 0.021f); if (fast_vec_length(&position_delta) < 0.0625f) { @@ -937,7 +942,7 @@ unsigned char *spawn_timed_hero_relative_particle(u128 *position, int particle_texture_index, int flag, int lifetime_frames, - int mode, + int position_mode, float size_scale) { enum { @@ -946,8 +951,8 @@ unsigned char *spawn_timed_hero_relative_particle(u128 *position, unsigned char *particle = create_part(0x3B); if (particle) { int *particle_data = (int *)(particle + 0x20); - particle_data[4] = mode; - if (mode == PARTICLE_MODE_HERO_RELATIVE) + particle_data[4] = position_mode; + if (position_mode == PARTICLE_MODE_HERO_RELATIVE) fast_vec_sub(particle_data, position, D_0013F3D0); qcopy(particle + 0x10, position); *(int *)(particle + 4) = packed_color; diff --git a/src/overlays/shared/rendering/effects/spawn_explosion.c b/src/overlays/shared/rendering/effects/spawn_explosion.c index 2381965955..8acd4a1a73 100644 --- a/src/overlays/shared/rendering/effects/spawn_explosion.c +++ b/src/overlays/shared/rendering/effects/spawn_explosion.c @@ -425,7 +425,7 @@ s32 FUN_L00_0025df68(s32 *path, OvlQuad path_search_points[4]; s32 current = 0; s32 best_segment; - s32 start, end, previous, count; + s32 start, end, previous, path_vertex_count; s32 crossed; f32 current_fraction = 0.0f; f32 best_fraction; @@ -485,9 +485,9 @@ s32 FUN_L00_0025df68(s32 *path, previous_distance = 1000000000.0f; if (best_segment > 0 || wrap) { f32 distance; - count = *path; - previous = count - 1; - previous = (best_segment + previous) % count; + path_vertex_count = *path; + previous = path_vertex_count - 1; + previous = (best_segment + previous) % path_vertex_count; distance = resolve_level_path_segment_point(nearest, point, (OvlQuad *)(path + 4 + previous * 4), @@ -500,13 +500,13 @@ s32 FUN_L00_0025df68(s32 *path, *fraction = path_distance_25df68(&path_search_points[1], &path_search_points[2], 0.0f); previous_distance = distance; } - count = *path; - if (best_segment < count - 1 || wrap) { + path_vertex_count = *path; + if (best_segment < path_vertex_count - 1 || wrap) { next_distance = resolve_level_path_segment_point( &path_search_points[1], point, (OvlQuad *)(path + 4 + best_segment * 4), - (OvlQuad *)(path + 4 + ((best_segment + 1) % count) * 4), + (OvlQuad *)(path + 4 + ((best_segment + 1) % path_vertex_count) * 4), height_tolerance); if (next_distance < previous_distance) { qcopy_nc(nearest, &path_search_points[1]); diff --git a/src/overlays/shared/rendering/effects/spawn_type_10_particle.c b/src/overlays/shared/rendering/effects/spawn_type_10_particle.c index 8c362b85d5..034cd63bcc 100644 --- a/src/overlays/shared/rendering/effects/spawn_type_10_particle.c +++ b/src/overlays/shared/rendering/effects/spawn_type_10_particle.c @@ -94,7 +94,7 @@ char *draw_number(float scale, int source_moby, int number_table_index, int particle_color, - unsigned char flags, + unsigned char frame_and_blend_flags, short particle_lifetime, unsigned char kind) { @@ -107,14 +107,14 @@ char *draw_number(float scale, qcopy(particle + 0x10, particle_spawn_position); *(int *)(particle + 4) = particle_color; if (kind == DRAW_NUMBER_KIND_FROM_FLAGS) { - particle[9] = (flags >> 5) * 16 + truncate_float_to_s32(4.0f); - if (flags & 1) { + particle[9] = (frame_and_blend_flags >> 5) * 16 + truncate_float_to_s32(4.0f); + if (frame_and_blend_flags & 1) { particle[3] = 0x48; } else { particle[3] = 0x44; } } else { - particle[9] = flags; + particle[9] = frame_and_blend_flags; particle[3] = kind; } particle[1] = 0; @@ -484,7 +484,7 @@ float compute_sampled_spline_path_lengths( OvlVec4 nextNode; OvlVec4 point; OvlVec4 previousPoint; - int count = *path->f10; + int path_node_count = *path->f10; int savedIndex = *(int *)path; int index; float total = 0.0f; @@ -500,7 +500,7 @@ float compute_sampled_spline_path_lengths( &nextTangent, (int *)path, tangent_tension, tangent_bias, 0); index = 0; - while (index < count) { + while (index < path_node_count) { float segment_parameter; float step; float segmentLength; diff --git a/src/overlays/shared/rendering/effects/timed_sprite_effect.c b/src/overlays/shared/rendering/effects/timed_sprite_effect.c index b1a5aa5610..1ea9de2102 100644 --- a/src/overlays/shared/rendering/effects/timed_sprite_effect.c +++ b/src/overlays/shared/rendering/effects/timed_sprite_effect.c @@ -87,7 +87,7 @@ void draw_projected_fading_quad(char *moby) { u32 colors[4]; s32 uvs[4]; float screen[4]; - float size; + float radius_scale; float fade; s32 y, x, radius; s32 raw_x; @@ -97,9 +97,9 @@ void draw_projected_fading_quad(char *moby) { float screen_offset; qcopy(&world_position, &MOBY(moby)->pos); - size = effect_data[0]; - if (1.0f < size) - size = 1.0f; + radius_scale = effect_data[0]; + if (1.0f < radius_scale) + radius_scale = 1.0f; fade = effect_data[0] - 1.0f; if (1.0f < fade) fade = 1.0f; @@ -122,7 +122,7 @@ void draw_projected_fading_quad(char *moby) { colors[2] = color; colors[1] = color; colors[0] = color; - radius = truncate_float_to_s32((float)(projected_quad_base_radius_gp << 4) * size); + radius = truncate_float_to_s32((float)(projected_quad_base_radius_gp << 4) * radius_scale); corners[3] = 0xfffff080008000LL; corners[2] = 0xfffff080008000LL; corners[1] = 0xfffff080008000LL; diff --git a/src/overlays/shared/rendering/effects/update_three_phase_effect_particle.c b/src/overlays/shared/rendering/effects/update_three_phase_effect_particle.c index 26b0fe9126..e9be4f4e3e 100644 --- a/src/overlays/shared/rendering/effects/update_three_phase_effect_particle.c +++ b/src/overlays/shared/rendering/effects/update_three_phase_effect_particle.c @@ -874,16 +874,16 @@ unsigned char *spawn_spinning_and_fading_effect_particle(v unsigned char *spawn_spinning_and_fading_effect_particle(void *spawn_position, void *initial_velocity, - unsigned char flags, + unsigned char variant_flags, - float size) { + float initial_travel_distance) { void *source = spawn_position; unsigned char *particle = create_part2(0xC, 0); if (particle) { unsigned char *motion = particle + 0x20; qcopy(particle + 0x10, source); qcopy(motion, initial_velocity); - if (flags & 1) { + if (variant_flags & 1) { float one = 1.0f; float zero = 0.0f; float scale = D_L00_001601D8_gp; @@ -907,7 +907,7 @@ unsigned char *spawn_spinning_and_fading_effect_particle(void *spawn_pos particle[2] = texture; } } else { - int offset = 0; + int texture_bank_offset = 0; float one = 1.0f; float zero = 0.0f; float scale = D_L00_001601B8_gp; @@ -925,21 +925,21 @@ unsigned char *spawn_spinning_and_fading_effect_particle(void *spawn_pos FUN_001fa6e0_26b230(spinning_particle_default_final_color_blend_source_gp, spinning_particle_default_final_color_blend_target_gp, random_float_between(zero, one)); - if (flags & 4) { - offset = 8; + if (variant_flags & 4) { + texture_bank_offset = 8; if (!item_text_variant[0x10]) - offset = 0; + texture_bank_offset = 0; } - particle[2] = effect_texture_ids[random_integer_below(8) + offset]; + particle[2] = effect_texture_ids[random_integer_below(8) + texture_bank_offset]; particle[3] = 0x44; } particle[9] = truncate_float_to_s32(4.0f) + 0x40; particle[1] = 0; particle[8] = random_integer_below(0xFF); motion[0x1E] = truncate_float_to_s32(randf_sym(1.0f, 4.0f)); - *(float *)(motion + 0x10) = size; - motion[0x1F] = flags; - if (flags & 4) { + *(float *)(motion + 0x10) = initial_travel_distance; + motion[0x1F] = variant_flags; + if (variant_flags & 4) { *(short *)(particle + 0xA) = *(short *)(particle + 0xA) * (item_text_variant[0x10] + 2) / 2; swap_packed_color_channels(*(int *)(particle + 4), item_text_variant[0x10]); @@ -1034,7 +1034,7 @@ unsigned char *spawn_spinning_fade_in_out_effect_particle(void *spawn_origin, float hi, float vertical_position_step, - float size) { + float initial_spawn_size) { unsigned char *particle = FUN_L00_002678b8_26b790(0xD); if (particle) { unsigned char *particle_data; @@ -1043,7 +1043,7 @@ unsigned char *spawn_spinning_fade_in_out_effect_particle(void *spawn_origin, *(int *)(particle + 4) = color; particle[9] = truncate_float_to_s32(4.0f) + 0x40; particle[3] = 0x48; - *(float *)(particle + 0xC) = size; + *(float *)(particle + 0xC) = initial_spawn_size; particle[1] = 0; particle[8] = 0; particle[2] = *D_L00_001B20B4; @@ -1818,7 +1818,7 @@ unsigned char *FUN_L00_0026d000(void *spawn_position, float lo, float hi, - float size) { + float initial_particle_size) { unsigned char *particle = FUN_L00_002678b8_26d000(0x17); if (particle) { unsigned char *particle_data; @@ -1829,7 +1829,7 @@ unsigned char *FUN_L00_0026d000(void *spawn_position, particle_data = particle + 0x20; particle[9] = truncate_float_to_s32(4.0f) + 0x70; particle[3] = 0x48; - *(float *)(particle + 0xC) = size; + *(float *)(particle + 0xC) = initial_particle_size; particle[1] = 0; particle[8] = 0; particle[2] = *D_L00_001B20DC; @@ -2279,9 +2279,9 @@ typedef struct { typedef struct { f32 q0; - f32 q4; - f32 q8; - f32 qC; + f32 fade_alpha; + f32 spin_phase; + f32 fade_direction; V_26de90 v30; } Q_26de90; @@ -2313,7 +2313,7 @@ void spawn_jittered_effect_particle_with_optional_basis(voi void spawn_jittered_effect_particle_with_optional_basis(void *spawn_origin, void *optional_spawn_basis, - f32 size) { + f32 local_velocity_scale) { M_26de90 *particle; V_26de90 transformed_spawn_offset, spawn_offset, local_velocity; X_26de90 x; @@ -2346,19 +2346,19 @@ void spawn_jittered_effect_particle_with_optional_basis(void *spawn_origin, particle->b1 = 0; particle->b8 = 0; particle->b2 = *D_L00_001B20F0; - q->q4 = random_float_between(0.0f, 0.0223456f) + 1e-05f; + q->fade_alpha = random_float_between(0.0f, 0.0223456f) + 1e-05f; particle->fC = random_float_between(10080.0f, 19950.0f); - q->q8 = 0.0f; + q->spin_phase = 0.0f; particle->hA = scale_game_frames(0xFC); - q->qC = 1.0f; + q->fade_direction = 1.0f; qzero(&local_velocity); if (optional_spawn_basis) { - local_velocity.f[0] = size; + local_velocity.f[0] = local_velocity_scale; local_velocity.f[2] = -0.0025f; transform_vector_by_basis(&q->v30, &local_velocity, optional_spawn_basis); } else { - q->v30.f[0] = random_float_between(-size, size); - q->v30.f[1] = random_float_between(-size, size); + q->v30.f[0] = random_float_between(-local_velocity_scale, local_velocity_scale); + q->v30.f[1] = random_float_between(-local_velocity_scale, local_velocity_scale); q->v30.f[2] = -0.0025f; } } @@ -3343,7 +3343,7 @@ void update_splitting_effect_particle_with_collision_response_and_fade(Moby_26ff u8 fl; s32 fm; s64 hit; - s32 k, mode, kk2, t; + s32 k, collision_query_mode, kk2, t; void *aux, *col, *pa, *pb; f32 f, rotation_direction_sign, alpha_factor; @@ -3399,7 +3399,7 @@ void update_splitting_effect_particle_with_collision_response_and_fade(Moby_26ff col = pv->f1C; pa = v1u.f; pb = v0u.f; - mode = 4; + collision_query_mode = 4; aux = 0; } else { collision_parameters.f10 = pv->f1C; @@ -3413,9 +3413,9 @@ void update_splitting_effect_particle_with_collision_response_and_fade(Moby_26ff aux = &collision_parameters; pa = v1u.f; pb = v0u.f; - mode = 0; + collision_query_mode = 0; } - hit = FUN_001efa68_26ff10(pa, pb, mode, col, aux) != 0; + hit = FUN_001efa68_26ff10(pa, pb, collision_query_mode, col, aux) != 0; if (hit) { fast_vec_normalize(collision_offset, coll_hit_normal.f, 1.0f); reflect_vector(pv, pv, coll_hit_normal.f); @@ -3702,11 +3702,11 @@ void update_splitting_effect_particle_with_collision_and_fade(M_270948 *particle e->v.f[1] *= 0.95f; } { - u8 flags = e->b18; + u8 rotation_and_motion_flags = e->b18; alpha_input_or_rotation_sign = -1.0f; - if (flags & 1) + if (rotation_and_motion_flags & 1) alpha_input_or_rotation_sign = 1.0f; - if (flags & 8) { + if (rotation_and_motion_flags & 8) { e->v.f[2] += frame_scale_sq * 0.008f; e->x10 += alpha_input_or_rotation_sign * (D_0015ED60 * -0.01f) / convert_integer_to_float(e->h16); diff --git a/src/overlays/shared/rendering/frame/queue_framebuffer_upload.c b/src/overlays/shared/rendering/frame/queue_framebuffer_upload.c index 5a174b68b4..e2d6b0bf96 100644 --- a/src/overlays/shared/rendering/frame/queue_framebuffer_upload.c +++ b/src/overlays/shared/rendering/frame/queue_framebuffer_upload.c @@ -16,15 +16,15 @@ void queue_framebuffer_upload(unsigned int source) __asm__("FUN_L00_001fc558"); void queue_framebuffer_upload(unsigned int source) { int remaining = frame_size[0]; int destination = draw_buffer_address >> 8; - unsigned long count; + unsigned long chunk_row_count; unsigned long transfer; unsigned char *packet; unsigned long *words; do { - count = (long)remaining; - if (count > 0x80) - count = 0x80; + chunk_row_count = (long)remaining; + if (chunk_row_count > 0x80) + chunk_row_count = 0x80; *(unsigned int *)(PK + 0) = 0x10000006; remaining -= 0x80; *(unsigned int *)(PK + 4) = 0; @@ -32,7 +32,7 @@ void queue_framebuffer_upload(unsigned int source) { *(unsigned int *)(PK + 12) = 0x50000006; packet = PK; (*(int **)&D_L00_001611C0) = (int *)(packet + 0x10); - transfer = (unsigned long)count << 7; + transfer = (unsigned long)chunk_row_count << 7; words = (unsigned long *)(packet + 0x10); words[0] = 0x4000000000000001UL; words[1] = 0x0eeeeeee; @@ -40,7 +40,7 @@ void queue_framebuffer_upload(unsigned int source) { words[3] = 0x50; words[4] = 0; words[5] = 0x51; - words[6] = ((unsigned long)count << 32) | 0x200; + words[6] = ((unsigned long)chunk_row_count << 32) | 0x200; words[7] = 0x52; words[8] = 0; words[9] = 0x53; @@ -49,8 +49,8 @@ void queue_framebuffer_upload(unsigned int source) { (*(int **)&D_L00_001611C0) = (int *)(packet + 0x70); *(unsigned int *)(packet + 0x70) = (unsigned int)(long)(int)(transfer | 0x30000000); *(unsigned int *)(PK + 4) = source; - source += (int)(count * 0x800); - destination += (int)(count * 8); + source += (int)(chunk_row_count * 0x800); + destination += (int)(chunk_row_count * 8); *(unsigned int *)(PK + 8) = 0; *(unsigned int *)(PK + 12) = (unsigned int)transfer | 0x50000000; (*(int **)&D_L00_001611C0) = (int *)(PK + 0x10); diff --git a/src/overlays/shared/rendering/render_water_grids.c b/src/overlays/shared/rendering/render_water_grids.c index 87917381c2..ad3e0b0937 100644 --- a/src/overlays/shared/rendering/render_water_grids.c +++ b/src/overlays/shared/rendering/render_water_grids.c @@ -65,7 +65,7 @@ void cull_and_submit_water_grid_tile(f32 *grid_center_position, s32 index, s32 mode) __asm__("FUN_L01_002b8cb0"); -void cull_and_submit_water_grid_tile(f32 *grid_center_position, s32 index, s32 mode) { +void cull_and_submit_water_grid_tile(f32 *grid_center_position, s32 index, s32 clip_mode) { enum { WATER_TILE_MODE_SKIP_CLIP_TESTS = 0, WATER_TILE_MODE_TEST_FAR_CLIP = 1 @@ -84,7 +84,7 @@ void cull_and_submit_water_grid_tile(f32 *grid_center_position, s32 index, s32 m u32 near_bits, far_bits; s32 i, tile_vertex_offset, row, column; - if (mode != WATER_TILE_MODE_SKIP_CLIP_TESTS) { + if (clip_mode != WATER_TILE_MODE_SKIP_CLIP_TESTS) { row = index >> 2; column = index & 3; half_x = 0.5f * -pool_light[2]; @@ -130,7 +130,7 @@ void cull_and_submit_water_grid_tile(f32 *grid_center_position, s32 index, s32 m far_bits = (far_bits << 8) | is_vector_outside_clip(far_clip); near_bits = (near_bits << 8) | is_vector_outside_clip(near_clip); } - if (mode == WATER_TILE_MODE_TEST_FAR_CLIP) { + if (clip_mode == WATER_TILE_MODE_TEST_FAR_CLIP) { if ((near_bits & 0x01010101) == 0x01010101) return; if ((near_bits & 0x02020202) == 0x02020202) @@ -140,7 +140,7 @@ void cull_and_submit_water_grid_tile(f32 *grid_center_position, s32 index, s32 m if ((near_bits & 0x08080808) == 0x08080808) return; if (far_bits == 0) - mode = WATER_TILE_MODE_SKIP_CLIP_TESTS; + clip_mode = WATER_TILE_MODE_SKIP_CLIP_TESTS; if ((near_bits & 0x20202020) == 0x20202020) return; } else { @@ -154,16 +154,16 @@ void cull_and_submit_water_grid_tile(f32 *grid_center_position, s32 index, s32 m return; if ((near_bits & 0x20202020) == 0x20202020) return; - mode = WATER_TILE_MODE_SKIP_CLIP_TESTS; + clip_mode = WATER_TILE_MODE_SKIP_CLIP_TESTS; } } tile_vertex_offset = (index & 3) * 4 + (index >> 2) * 0x44; - if (mode != WATER_TILE_MODE_SKIP_CLIP_TESTS) { - mode = WATER_TILE_VU_ENTRY_FAR_CLIP_PENDING; + if (clip_mode != WATER_TILE_MODE_SKIP_CLIP_TESTS) { + clip_mode = WATER_TILE_VU_ENTRY_FAR_CLIP_PENDING; } else { - mode = WATER_TILE_VU_ENTRY_NO_FAR_CLIP; + clip_mode = WATER_TILE_VU_ENTRY_NO_FAR_CLIP; } - FUN_L01_00262388(mode, tile_vertex_offset); + FUN_L01_00262388(clip_mode, tile_vertex_offset); } void build_water_render_setup_packet(void) __asm__("FUN_L01_002b8f98"); @@ -227,7 +227,7 @@ void build_water_render_setup_packet(void) { void render_water_grids(f32 *water_record, s32 count) __asm__("FUN_L01_002b91c8"); -void render_water_grids(f32 *water_record, s32 count) { +void render_water_grids(f32 *water_record, s32 water_record_count) { enum { WATER_GRID_MODE_SKIP_CLIP_TESTS = 0, WATER_GRID_MODE_TEST_NEAR_CLIP = 2 @@ -238,7 +238,7 @@ void render_water_grids(f32 *water_record, s32 count) { f32 x_offset, y_offset, x_end, y_end, z; u32 near_bits, far_bits; s32 mask; - s32 i, j, mode; + s32 i, j, tile_clip_mode; s32 height_index, index; f32 *height; u32 *packet; @@ -246,7 +246,7 @@ void render_water_grids(f32 *water_record, s32 count) { build_water_render_setup_packet(); i = 0; - if (count > 0) + if (water_record_count > 0) do { f32 *next_pos = water_record + 0x464; u16 active = *(u16 *)((u8 *)water_record + 0x1e); @@ -320,11 +320,11 @@ void render_water_grids(f32 *water_record, s32 count) { for (height_index = 0x10; height_index >= 0; height_index--, height += 0x33) *height = water_record[2]; } - mode = (far_bits & 0x2f2f2f2f) != 0; - if (!mode) { - mode = WATER_GRID_MODE_TEST_NEAR_CLIP; + tile_clip_mode = (far_bits & 0x2f2f2f2f) != 0; + if (!tile_clip_mode) { + tile_clip_mode = WATER_GRID_MODE_TEST_NEAR_CLIP; if (!(near_bits & 0x2f2f2f2f)) - mode = WATER_GRID_MODE_SKIP_CLIP_TESTS; + tile_clip_mode = WATER_GRID_MODE_SKIP_CLIP_TESTS; } mask = *(u16 *)((u8 *)water_record + 0x1e); if (*(u32 *)(water_record + 5) != cached_water_texture_id_gp || @@ -360,12 +360,12 @@ void render_water_grids(f32 *water_record, s32 count) { } for (index = 0; index < 16; index++, mask = (s32)mask >> 1) { if (mask & 1) - cull_and_submit_water_grid_tile(water_record, index, mode); + cull_and_submit_water_grid_tile(water_record, index, tile_clip_mode); } next_entity: i++; water_record = next_pos; - } while (i < count); + } while (i < water_record_count); l01_packet.words[0] = 0x10000000; l01_packet.words[1] = 0; l01_packet.words[2] = 0x13000000; diff --git a/src/overlays/shared/streaming/send_dma_to_stash_slot.c b/src/overlays/shared/streaming/send_dma_to_stash_slot.c index 9d06ef5c1c..b50aafabc5 100644 --- a/src/overlays/shared/streaming/send_dma_to_stash_slot.c +++ b/src/overlays/shared/streaming/send_dma_to_stash_slot.c @@ -25,7 +25,7 @@ int send_dma_to_stash_slot(int dma_source_address, unsigned int slot, int slot_offset_quadwords, - int size) { + int transfer_quadwords) { int req[4]; int slot_limit_quadwords; if (slot >= 0x40) @@ -33,11 +33,11 @@ int send_dma_to_stash_slot(int dma_source_address, slot_limit_quadwords = l00_stash_slots[slot].limit; if (slot_limit_quadwords == 0) return -3; - if (slot_limit_quadwords < slot_offset_quadwords + size) + if (slot_limit_quadwords < slot_offset_quadwords + transfer_quadwords) return -1; req[0] = dma_source_address; req[1] = (int)(l00_stash_slots[slot].base + slot_offset_quadwords * 16); - req[2] = size * 16; + req[2] = transfer_quadwords * 16; req[3] = 0; sceSifSetDma(req, 1); return 0; diff --git a/src/overlays/shared/ui/hud/decompress_and_relocate_selected_groups.c b/src/overlays/shared/ui/hud/decompress_and_relocate_selected_groups.c index 0e555270ac..8926358264 100644 --- a/src/overlays/shared/ui/hud/decompress_and_relocate_selected_groups.c +++ b/src/overlays/shared/ui/hud/decompress_and_relocate_selected_groups.c @@ -27,7 +27,7 @@ extern int D_L00_0017E51C NOT_SDA; extern int D_L00_0017E520 NOT_SDA; void decompress_and_relocate_selected_groups(int mode) __asm__("FUN_L00_00234fd0"); -void decompress_and_relocate_selected_groups(int mode) { +void decompress_and_relocate_selected_groups(int optional_bank_selection) { enum { HUD_DECOMPRESS_OPTIONAL_BANK_3 = 0, HUD_DECOMPRESS_BOTH_OPTIONAL_BANKS = 2 @@ -61,7 +61,8 @@ void decompress_and_relocate_selected_groups(int mode) { decompression_destination += slot_3_size; } } - if (mode == HUD_DECOMPRESS_OPTIONAL_BANK_3 || mode == HUD_DECOMPRESS_BOTH_OPTIONAL_BANKS) { + if (optional_bank_selection == HUD_DECOMPRESS_OPTIONAL_BANK_3 || + optional_bank_selection == HUD_DECOMPRESS_BOTH_OPTIONAL_BANKS) { { int slot_4_size; if ((slot_4_size = decompression_slot_state->t->sz[4])) { @@ -76,7 +77,7 @@ void decompress_and_relocate_selected_groups(int mode) { } } } - if ((unsigned)(mode - 1) < 2) { + if ((unsigned)(optional_bank_selection - 1) < 2) { G_234fd0 *group_4_decompression_state = &D_L00_0017E4D8_lui; if (group_4_decompression_state->t->sz[5]) { stash_receive_data(compressed_data_buffer, @@ -157,9 +158,9 @@ extern volatile int l00_active_moby_context_selector __asm__("D_L00_0015F728") _ void select_moby_context(int state) __asm__("FUN_L00_00235668"); -void select_moby_context(int state) { +void select_moby_context(int requested_context_selector) { int oldState = l00_active_moby_context_selector; - if (state != oldState) { + if (requested_context_selector != oldState) { int saved_inactive_moby_array_start, saved_inactive_loaded_moby_end, saved_inactive_moby_pool_last_slot, old7C, oldDC, oldE0, oldE8; oldDC = (int)moby_table; diff --git a/src/overlays/shared/ui/hud/draw_hud_item_selector_panel.c b/src/overlays/shared/ui/hud/draw_hud_item_selector_panel.c index f074cdd5a4..b0cc957510 100644 --- a/src/overlays/shared/ui/hud/draw_hud_item_selector_panel.c +++ b/src/overlays/shared/ui/hud/draw_hud_item_selector_panel.c @@ -134,15 +134,15 @@ int hud_draw_gauge_frame(HudElem_237840 *gauge_element) { typedef struct { u8 pad[0x48]; - s16 x48; - s16 x4a; + s16 selector_x_offset; + s16 selector_y_offset; u8 p4c[0xC]; - s32 x58; - s32 x5c; + s32 selector_width; + s32 selector_height; u8 p60[0x10]; - s32 x70; - s32 x74; - s32 x78; + s32 selector_fade_counters; + s32 selector_selected_slot_index; + s32 selector_input_state; } O00237ae8; /* One slot of a HUD selector ring: its icon, the slot each pad direction moves to, and what @@ -180,13 +180,13 @@ void initialize_eight_slot_hud_selector(O00237ae8 *hud_element) { ItemDef *tab; D_L00_0015FA90 = 8; D_L00_0015FAC0 = &eight_slot_hud_selector_table_pointer_gp; - hud_element->x48 = 0; - hud_element->x4a = 0; - hud_element->x58 = D_L00_0015F718_gp; - hud_element->x5c = D_L00_0015F71C_gp; - hud_element->x74 = -2; - hud_element->x78 = scale_game_frames(0x1E); - hud_element->x70 = 0; + hud_element->selector_x_offset = 0; + hud_element->selector_y_offset = 0; + hud_element->selector_width = D_L00_0015F718_gp; + hud_element->selector_height = D_L00_0015F71C_gp; + hud_element->selector_selected_slot_index = -2; + hud_element->selector_input_state = scale_game_frames(0x1E); + hud_element->selector_fade_counters = 0; D_L00_0015F72C = 0; slot_entry = eight_slot_hud_selector_slots; tab = item_defs; @@ -251,7 +251,7 @@ void update_hud_item_selector_selection_and_visibility(Obj *hud_element) __asm__ void update_hud_item_selector_selection_and_visibility(Obj *hud_element) { float x, y, mag, stick_angle, a, slot_position, previous_slot_angle; - int previous_selected_slot_index, slot_step, stick_slot_index, k, id; + int previous_selected_slot_index, slot_step, stick_slot_index, k, selected_item_id; u8 *counters = &hud_element->b70; hud_element->w7C = scale_game_frames(0xB4); @@ -357,10 +357,10 @@ void update_hud_item_selector_selection_and_visibility(Obj *hud_element) { counters[1]++; if (!(((s32)controller_state.held_unmasked) & 0x10)) { int sel = hud_element->w74; - if (sel >= 0 && (id = D_L00_0015FAC0_c[D_L00_0015F72C][sel].command) != 0) { + if (sel >= 0 && (selected_item_id = D_L00_0015FAC0_c[D_L00_0015F72C][sel].command) != 0) { VendorItemInfo *rr; - int ri = id; - if (hero_lui.items[0].item_id != id) { + int ri = selected_item_id; + if (hero_lui.items[0].item_id != selected_item_id) { if (usage_stats.stat[20].count < 0xFFFF) usage_stats.stat[20].count++; } @@ -368,13 +368,13 @@ void update_hud_item_selector_selection_and_visibility(Obj *hud_element) { usage_stats.stat[20].latest_time_bucket = scale_game_frames(D_0015EEA4) / 600; usage_stats.stat[20].level_mask = usage_stats.stat[20].level_mask | (1 << current_level_index) | 0x80000000; - if (id == 0x18) + if (selected_item_id == 0x18) hero_lui.launch_drones = 1; else - hero_lui.pending_item[0] = id; + hero_lui.pending_item[0] = selected_item_id; rr = &D_L00_001C40B0[ri]; - if (rr->h8 && rr->hE < weapon_ammo_counts[id]) - weapon_ammo_counts[id] = rr->hE; + if (rr->h8 && rr->hE < weapon_ammo_counts[selected_item_id]) + weapon_ammo_counts[selected_item_id] = rr->hE; } if (counters[0]) counters[0]--; @@ -1045,7 +1045,7 @@ s32 draw_health_hud_panel(Hud *hud_element) { s16 *p; s32 sel; Pt *tab; - s32 mode; + s32 icon_capacity; s32 first_panel_half_width; s32 second_panel_half_width; s32 x0; @@ -1086,16 +1086,16 @@ s32 draw_health_hud_panel(Hud *hud_element) { panel_alpha = truncate_float_to_s32((f32)health_hud_panel_max_alpha * ratio_x); p = hud_element->p; sel = p[0] >> 1; - mode = hero_max_health; + icon_capacity = hero_max_health; if (cnt == 0) sel = 0x1E; if (hero.vehicle_mode == HERO_VEHICLE_MODE_CLANK) - mode = hero.health.vehicle_mode_hp; - if (mode == HEALTH_HUD_EIGHT_ICON_CAPACITY) { + icon_capacity = hero.health.vehicle_mode_hp; + if (icon_capacity == HEALTH_HUD_EIGHT_ICON_CAPACITY) { tab = l00_health_hud_eight_capacity_icon_offsets; first_panel_half_width = truncate_float_to_s32(ratio_x * 48.0f); second_panel_half_width = truncate_float_to_s32(ratio_x * 48.0f); - } else if (mode == HEALTH_HUD_FIVE_ICON_CAPACITY) { + } else if (icon_capacity == HEALTH_HUD_FIVE_ICON_CAPACITY) { tab = l00_health_hud_five_capacity_icon_offsets; first_panel_half_width = truncate_float_to_s32(ratio_x * 32.0f); second_panel_half_width = truncate_float_to_s32(ratio_x * 16.0f); @@ -1147,7 +1147,7 @@ s32 draw_health_hud_panel(Hud *hud_element) { health_hud_panel_cap_size, panel_alpha); } - for (i = 0; i < mode; i++) { + for (i = 0; i < icon_capacity; i++) { health_icon_frame_index = get_icon_frame(0x7536, sel); hud_frame(hud_element, health_icon_frame_index, x + tab[i].x, y + tab[i].y, 1, alpha); if (sel != 0x1E) { diff --git a/src/overlays/shared/ui/hud/draw_trick_combo_hud.c b/src/overlays/shared/ui/hud/draw_trick_combo_hud.c index 6d008a29bc..9468a1e41f 100644 --- a/src/overlays/shared/ui/hud/draw_trick_combo_hud.c +++ b/src/overlays/shared/ui/hud/draw_trick_combo_hud.c @@ -18,8 +18,7 @@ extern int D_L05_0015F97C; #include "rnc/overlay/shared/ui/hud/draw_trick_combo_hud_data/hud_release_held_element.h" -extern short D_L05_0015F978 __attribute__((sda)); -void hud_release_held_element(void) __asm__("FUN_L05_00264298"); +void hud_release_held_element(void) __asm__("FUN_L05_00264298"); void hud_release_held_element(void) { if (animation_parameter_target_id != -1) { @@ -27,7 +26,7 @@ void hud_release_held_element(void) { animation_parameter_target_id = -1; } D_L05_0015F97C = 0; - *(int *)&D_L05_0015F978 = *(int *)&D_L05_0015F978 + 1; + *(int *)&l05_hud_release_counter = *(int *)&l05_hud_release_counter + 1; } typedef struct { @@ -338,12 +337,12 @@ s32 draw_trick_combo_hud(char *element) { draw_framed_text( trick_combo_reward_text_x_gp, trick_combo_reward_label_y_gp, color, text); } else if (D_L05_0015FAD8 > 0) { - s32 count = 0; + s32 collected_pose_count = 0; s32 pose; - for (pose = 0; pose < 4 && count < D_L05_0015FAD8; pose++) { + for (pose = 0; pose < 4 && collected_pose_count < D_L05_0015FAD8; pose++) { if (D_L05_0015FAE0[pose] != 0) { - pose_ids[count] = pose; - count++; + pose_ids[collected_pose_count] = pose; + collected_pose_count++; } } if (D_L05_0015FAD8 == 1) { diff --git a/src/overlays/shared/ui/hud/hud_frame.c b/src/overlays/shared/ui/hud/hud_frame.c index ff48afb8df..6cacfb081a 100644 --- a/src/overlays/shared/ui/hud/hud_frame.c +++ b/src/overlays/shared/ui/hud/hud_frame.c @@ -32,35 +32,35 @@ typedef struct { extern G0023b120 D_L00_0017E4D8; void hud_frame(O0023b120 *o, s32 id, s32 x, s32 y, u32 flags, s32 extra) __asm__("FUN_L00_0023b120"); -void hud_frame(O0023b120 *hud_element, s32 id, s32 x, s32 y, u32 flags, s32 extra) { +void hud_frame(O0023b120 *hud_element, s32 frame_id, s32 x, s32 y, u32 layout_flags, s32 extra) { s32 base_width, base_height, draw_width, draw_height; R0023b120 *image_page; - if (id < 0) + if (frame_id < 0) return; x += hud_element->x; y += hud_element->y; - image_page = &D_L00_0017E4D8.rec[D_L00_0017E4D8.tab[id].k]; + image_page = &D_L00_0017E4D8.rec[D_L00_0017E4D8.tab[frame_id].k]; base_width = 1 << image_page->lw; base_height = 1 << image_page->lh; draw_width = base_width; draw_height = base_height; - if (flags & 1) { + if (layout_flags & 1) { x -= draw_width >> 1; y -= draw_height >> 1; } - if (flags & 2) { + if (layout_flags & 2) { x += draw_width >> 2; y += draw_height >> 2; draw_width >>= 1; draw_height >>= 1; } - if (flags & 4) { + if (layout_flags & 4) { x -= base_width >> 1; y -= base_height >> 1; draw_width <<= 1; draw_height <<= 1; } - draw_hud_sprite(id, x, y, draw_width, draw_height, extra); + draw_hud_sprite(frame_id, x, y, draw_width, draw_height, extra); } extern char *D_L00_001611C0_23b6c0 __asm__("D_L00_001611C0"); @@ -130,11 +130,13 @@ extern G_23bac0 D_L00_0017E4D8_23bac0 __asm__("D_L00_0017E4D8") NOT_SDA; void draw_rotated_hud_sprite( int id, int x, int y, int draw_width, int draw_height, int alpha) __asm__("FUN_L00_0023bac0"); -void draw_rotated_hud_sprite(int id, int x, int y, int draw_width, int draw_height, int alpha) { +void draw_rotated_hud_sprite( + + int sprite_frame_id, int x, int y, int draw_width, int draw_height, int alpha) { u64_23bac0 *packet_words; int *coordinate_offsets; G_23bac0 *sprite_render_data = &D_L00_0017E4D8_23bac0; - R_23bac0 *image_page = &sprite_render_data->rec[sprite_render_data->tab[id].k]; + R_23bac0 *image_page = &sprite_render_data->rec[sprite_render_data->tab[sprite_frame_id].k]; int ww = 1 << image_page->lw; int hh = 1 << image_page->lh; *(int *)(D_L00_001611C0_23bac0 + 0) = 0x10000007; @@ -145,7 +147,7 @@ void draw_rotated_hud_sprite(int id, int x, int y, int draw_width, int draw_heig packet_words = (u64_23bac0 *)D_L00_001611C0_23bac0; packet_words[0] = 0xB400000000008001UL; packet_words[1] = 0x53535353106UL; - packet_words[2] = get_frame_texture(id); + packet_words[2] = get_frame_texture(sprite_frame_id); packet_words[3] = 0x154; packet_words[4] = ((u64_23bac0)alpha << 24) | 0x7F7F7F; packet_words[5] = ww << 4; diff --git a/src/overlays/shared/ui/hud/hud_keep_visible.c b/src/overlays/shared/ui/hud/hud_keep_visible.c index 5bbaefa797..f6dfab12d9 100644 --- a/src/overlays/shared/ui/hud/hud_keep_visible.c +++ b/src/overlays/shared/ui/hud/hud_keep_visible.c @@ -427,7 +427,7 @@ int draw_hud_stars(HudElem *element) __asm__("FUN_L00_002365a8"); int draw_hud_stars(HudElem *element) { int x, y, i, previous, current, frames, image, star_width; float origin[4], direction[4], first_step[4], second_step[4], third_step[4], star_position[4]; - float seconds, sixteen, offset, thirty_two; + float seconds, sixteen, star_visibility_y_threshold, thirty_two; { int width = D_L00_0015F760; @@ -493,8 +493,9 @@ int draw_hud_stars(HudElem *element) { origin[0] = half_w * sixteen; origin[1] = half_h * sixteen; } - offset = (float)(10000 - element->shown_value) / 10000.0f; - offset = 116.0f - (offset + offset) * 116.0f; + star_visibility_y_threshold = (float)(10000 - element->shown_value) / 10000.0f; + star_visibility_y_threshold = + 116.0f - (star_visibility_y_threshold + star_visibility_y_threshold) * 116.0f; image = get_icon_frame(*(int *)element, 2); clear_u64_value(first_step); @@ -523,7 +524,7 @@ int draw_hud_stars(HudElem *element) { fast_vec_sub(direction, direction, first_step); limit = star_init_limit0_gp; star_width = (int)(limit * thirty_two); - offset = offset + limit; + star_visibility_y_threshold = star_visibility_y_threshold + limit; } else if (i == 10) { float limit, previous_limit, width; fast_vec_sub(direction, direction, second_step); @@ -532,7 +533,7 @@ int draw_hud_stars(HudElem *element) { width = limit * thirty_two; limit = limit - previous_limit; star_width = (int)width; - offset = offset + limit; + star_visibility_y_threshold = star_visibility_y_threshold + limit; } else if (i == 30) { float limit, previous_limit, width; fast_vec_sub(direction, direction, third_step); @@ -541,9 +542,9 @@ int draw_hud_stars(HudElem *element) { width = limit * thirty_two; limit = limit - previous_limit; star_width = (int)width; - offset = offset + limit; + star_visibility_y_threshold = star_visibility_y_threshold + limit; } - if (offset < l00_hud_star_particles[i].y) + if (star_visibility_y_threshold < l00_hud_star_particles[i].y) continue; FUN_L00_001ff348(star_position, &l00_hud_star_particles[i], origin); fast_vec_add(star_position, star_position, direction); @@ -559,7 +560,7 @@ int draw_uniform_size_hud_stars(HudElem *hud_element) __asm__("FUN_L00_00236e50" int draw_uniform_size_hud_stars(HudElem *hud_element) { float origin[4], direction[4], first_step[4], second_step[4], third_step[4], star_position[4]; int x, y; - float offset; + float star_y_threshold; s32 image; int star_width, i; @@ -591,8 +592,8 @@ int draw_uniform_size_hud_stars(HudElem *hud_element) { origin[0] = half_w * 16.0f; origin[1] = half_h * 16.0f; } - offset = (10000 - hud_element->shown_value) / 10000.0f; - offset = 116.0f - (offset + offset) * 116.0f; + star_y_threshold = (10000 - hud_element->shown_value) / 10000.0f; + star_y_threshold = 116.0f - (star_y_threshold + star_y_threshold) * 116.0f; image = get_icon_frame(*(int *)hud_element, 1); clear_u64_value(first_step); clear_u64_value(second_step); @@ -605,9 +606,9 @@ int draw_uniform_size_hud_stars(HudElem *hud_element) { if (i == 0) { fast_vec_sub(direction, direction, first_step); star_width = (int)(star_init_limit0_gp * 32.0f); - offset += star_init_limit0_gp; + star_y_threshold += star_init_limit0_gp; } - if (offset < l00_hud_star_particles[i].y) + if (star_y_threshold < l00_hud_star_particles[i].y) continue; FUN_L00_001ff348(star_position, &l00_hud_star_particles[i], origin); fast_vec_add(star_position, star_position, direction); diff --git a/src/overlays/shared/ui/map/reveal_map_around_position.c b/src/overlays/shared/ui/map/reveal_map_around_position.c index 267b039e1e..6d88858b1e 100644 --- a/src/overlays/shared/ui/map/reveal_map_around_position.c +++ b/src/overlays/shared/ui/map/reveal_map_around_position.c @@ -44,8 +44,8 @@ void reveal_map_around_position(f32 *position) { s32 y; s32 state; s32 level; - s32 mode15; - s32 mode16; + s32 hero_control_mode_is_15; + s32 hero_control_mode_is_16; s32 i; s32 *filter; s32 index; @@ -102,8 +102,8 @@ void reveal_map_around_position(f32 *position) { hero.state.control_mode == HERO_MODE_WATER_SURFACE || hero.base_condition == 1) { state = TRUE; } - mode16 = hero.state.control_mode == 16; - mode15 = hero.state.control_mode == HERO_MODE_GRIND; + hero_control_mode_is_16 = hero.state.control_mode == 16; + hero_control_mode_is_15 = hero.state.control_mode == HERO_MODE_GRIND; y_min = y - 16; for (i = 0, filter = filters; i < 16; i++, filter++) { @@ -132,19 +132,19 @@ void reveal_map_around_position(f32 *position) { *filter = 0; continue; } - if ((flags & 4) && !mode16) { + if ((flags & 4) && !hero_control_mode_is_16) { *filter = 0; continue; } - if ((flags & 8) && mode16) { + if ((flags & 8) && hero_control_mode_is_16) { *filter = 0; continue; } - if ((flags & 0x10) && !mode15) { + if ((flags & 0x10) && !hero_control_mode_is_15) { *filter = 0; continue; } - if ((flags & 0x20) && mode15) { + if ((flags & 0x20) && hero_control_mode_is_15) { *filter = 0; continue; } diff --git a/src/overlays/shared/ui/menus/find_or_assign_bolt_source_slot.c b/src/overlays/shared/ui/menus/find_or_assign_bolt_source_slot.c index 4b6f1fabd5..8c40e17173 100644 --- a/src/overlays/shared/ui/menus/find_or_assign_bolt_source_slot.c +++ b/src/overlays/shared/ui/menus/find_or_assign_bolt_source_slot.c @@ -24,16 +24,16 @@ typedef struct { typedef struct { char pad[0x224]; - int x224; + int current_selection_value; } S_27f448; extern S_27f448 D_L00_001841F0_lui __asm__("D_L00_001841F0") NOT_SDA; typedef struct { char pad0[0x30]; - int x30; + int selection_flags; char pad34[0xC]; - int x40; + int selected_index; } P_27f448; extern E_27f448 D_L00_001BA3B8[] NOT_SDA; @@ -52,11 +52,11 @@ int initialize_selection_entries_and_index(P_27f448 *selection_state) { D_L00_001BA3B8[i].d = D_L00_001C1E40[D_0013D510_lui[i]].b; } D_L00_001BA3B8[i].a = 0; - selection_state->x40 = 0; - selection_state->x30 |= 0x8000; + selection_state->selected_index = 0; + selection_state->selection_flags |= 0x8000; for (i = 0; selection_values[i]; i++) { - if (D_L00_001841F0_lui.x224 == selection_values[i]) { - selection_state->x40 = i; + if (D_L00_001841F0_lui.current_selection_value == selection_values[i]) { + selection_state->selected_index = i; break; } } diff --git a/src/overlays/shared/ui/menus/initialize_pause_menu.c b/src/overlays/shared/ui/menus/initialize_pause_menu.c index 7a25fb3cb4..47ffa267dc 100644 --- a/src/overlays/shared/ui/menus/initialize_pause_menu.c +++ b/src/overlays/shared/ui/menus/initialize_pause_menu.c @@ -757,7 +757,7 @@ void draw_pause_menu_pages(int transfer_only) { int j; int flashing_panel_index; int pass; - int flags; + int page_width_or_render_flags; int never; append_gif_transfer_packet(); @@ -806,11 +806,11 @@ void draw_pause_menu_pages(int transfer_only) { box[0] = corners[0]; box[1] = corners[3]; project_graphics_bounds(&box[0], &box[1], &rect.w, &rect.h, &rect.x, &rect.y); - flags = rect.w; + page_width_or_render_flags = rect.w; rect.x++; rect.y++; if (page_objects != 0 && page_objects[k] != 0) { - *(int *)(page_objects[k] + 0x20) = flags; + *(int *)(page_objects[k] + 0x20) = page_width_or_render_flags; *(int *)(page_objects[k] + 0x24) = rect.h; *(int *)(page_objects[k] + 0x18) = rect.x; *(int *)(page_objects[k] + 0x1C) = rect.y; @@ -837,8 +837,8 @@ void draw_pause_menu_pages(int transfer_only) { if (moby == 0 || page_objects == 0 || page_objects[j] == 0) { continue; } - flags = *(int *)(page_objects[j] + 0x10); - if (flags & 4) { + page_width_or_render_flags = *(int *)(page_objects[j] + 0x10); + if (page_width_or_render_flags & 4) { continue; } if (pause_menu_page_render_enabled[j] == 0 || *(int *)(page_objects[j] + 4) == 0) { @@ -847,13 +847,13 @@ void draw_pause_menu_pages(int transfer_only) { if (j == 6 && D_L00_001B9CF0.goodies_tab_shown == 0) { continue; } - if (pass == 0 && !(flags & 2)) { + if (pass == 0 && !(page_width_or_render_flags & 2)) { continue; } - if (pass == 1 && (flags & 2)) { + if (pass == 1 && (page_width_or_render_flags & 2)) { continue; } - if (flags & 1) { + if (page_width_or_render_flags & 1) { (*(int (**)(char *))(page_objects[j] + 4))(page_objects[j]); continue; } diff --git a/src/overlays/shared/ui/menus/process_unlock_code_input.c b/src/overlays/shared/ui/menus/process_unlock_code_input.c index affa9de40e..58bc913933 100644 --- a/src/overlays/shared/ui/menus/process_unlock_code_input.c +++ b/src/overlays/shared/ui/menus/process_unlock_code_input.c @@ -46,7 +46,7 @@ void process_unlock_code_input(void) { struct PadState *pad = &controller_state; int staged_candidate_index_limit, candidate_index_limit; int va, vb, vc; - int pressed, direction, count, j, code, index, matched; + int pressed, direction, recorded_input_count, j, code, index, matched; if ((*(long *)&pad->held_unmasked & 0xF) == 6) { pressed = *(s32 *)&pad->pressed_unmasked; if (!(pressed & 0xF0A0)) @@ -64,10 +64,10 @@ void process_unlock_code_input(void) { direction = 3; else direction = (pressed & 0x80) ? 4 : 5; - count = *(int *)&unlock_code_input_count; - unlock_code_input_sequence[count++] = direction; - *(int *)&unlock_code_input_count = count; - if (count != 20) + recorded_input_count = *(int *)&unlock_code_input_count; + unlock_code_input_sequence[recorded_input_count++] = direction; + *(int *)&unlock_code_input_count = recorded_input_count; + if (recorded_input_count != 20) return; code = -1; index = 2; diff --git a/src/overlays/shared/ui/text/draw_timed_text.c b/src/overlays/shared/ui/text/draw_timed_text.c index dd59101015..af45189b2f 100644 --- a/src/overlays/shared/ui/text/draw_timed_text.c +++ b/src/overlays/shared/ui/text/draw_timed_text.c @@ -13,7 +13,7 @@ extern void font_print_large(int, int, u64, char *, int) __asm__("FUN_001f6530") void draw_timed_text_line(int x, int y, int mode, float scale, float alpha, char *text) __asm__("FUN_L00_001fcb28"); -void draw_timed_text_line(int x, int y, int mode, float scale, float alpha, char *text) { +void draw_timed_text_line(int x, int y, int alignment, float scale, float alpha, char *text) { enum { TEXT_ALIGN_CENTER = 0, TEXT_ALIGN_RIGHT = 1 @@ -24,7 +24,7 @@ void draw_timed_text_line(int x, int y, int mode, float scale, float alpha, char width = measure_text_width_regular(text, -1) * scale; left = x; right = left; - switch (mode) { + switch (alignment) { case TEXT_ALIGN_CENTER: left -= width >> 1; right = x + (width >> 1); diff --git a/src/overlays/shared/ui/text/level_draw_dialog_text.c b/src/overlays/shared/ui/text/level_draw_dialog_text.c index fcef538d3b..7ed523227d 100644 --- a/src/overlays/shared/ui/text/level_draw_dialog_text.c +++ b/src/overlays/shared/ui/text/level_draw_dialog_text.c @@ -319,7 +319,7 @@ void level_draw_dialog_text(void) { case MESSAGE_BOX_CHOICE_DIALOG: { s32 text_color; s32 button_color; - s32 id; + s32 body_message_id; f32 alpha; box = l00_choice_dialog_text_region_template; @@ -333,25 +333,25 @@ void level_draw_dialog_text(void) { case CHOICE_DIALOG_SHARED_PAIRED_BUTTONS: font_print_center(0xCA, 0x118, button_color, get_help_message_text(0x524E), -1); font_print_center(0x135, 0x118, button_color, get_help_message_text(0x524B), -1); - id = 0x522A; + body_message_id = 0x522A; break; case CHOICE_DIALOG_ALTERNATE_BODY_PAIRED_BUTTONS: font_print_center(0xCA, 0x118, button_color, get_help_message_text(0x524E), -1); font_print_center(0x135, 0x118, button_color, get_help_message_text(0x524B), -1); - id = 0x522B; + body_message_id = 0x522B; break; case CHOICE_DIALOG_SINGLE_CENTERED_BUTTON: font_print_center(0x100, 0x118, button_color, get_help_message_text(0x524A), -1); - id = 0x522C; + body_message_id = 0x522C; break; default: - id = 0; + body_message_id = 0; break; } - if (id != 0) { + if (body_message_id != 0) { font_print_window(&box, text_color, - get_help_message_text(id), + get_help_message_text(body_message_id), -1, get_effect_texture(1), dialog_font_glyph_metrics); diff --git a/src/overlays/shared/vehicles/giant_clank_hit_sphere.c b/src/overlays/shared/vehicles/giant_clank_hit_sphere.c index 00fd9417f6..cb9c35ce33 100644 --- a/src/overlays/shared/vehicles/giant_clank_hit_sphere.c +++ b/src/overlays/shared/vehicles/giant_clank_hit_sphere.c @@ -59,26 +59,26 @@ void giant_clank_hit_sphere_update(struct Moby *moby) __asm__("FUN_L15_0029ead0" /* Moby class 1427 */ void giant_clank_hit_sphere_update(struct Moby *moby) { char *moby_class = moby->pclass; - char *state = (char *)moby->pvars; + char *hit_sphere_vars = (char *)moby->pvars; float half_relative_scale = moby->scale / *(float *)(moby_class + 0x24) * 0.5f; char *pos; struct Hero *globals; - half_relative_scale = half_relative_scale + *(float *)state; + half_relative_scale = half_relative_scale + *(float *)hit_sphere_vars; moby->scale = half_relative_scale + half_relative_scale; moby->scale = moby->scale * *(float *)(moby_class + 0x24); - if (*(int *)(state + 8) < scale_game_frames(0x28)) - moby->alpha = *(int *)(state + 8) * 127 / scale_game_frames(0x28); + if (*(int *)(hit_sphere_vars + 8) < scale_game_frames(0x28)) + moby->alpha = *(int *)(hit_sphere_vars + 8) * 127 / scale_game_frames(0x28); globals = &hero; pos = &moby->pos; play_entity_sound(half_relative_scale, ((char *)globals->moby), pos, - (float)truncate_float_to_s32(*(float *)(state + 0xC)), + (float)truncate_float_to_s32(*(float *)(hit_sphere_vars + 0xC)), 1.0f, 0x30000, 0, 1, 0); - if (fast_dec_timer((int *)(state + 8))) + if (fast_dec_timer((int *)(hit_sphere_vars + 8))) mark_moby_for_removal(moby); } diff --git a/src/overlays/shared/vehicles/hoverboard.c b/src/overlays/shared/vehicles/hoverboard.c index 9d9f2d1e11..213bdba488 100644 --- a/src/overlays/shared/vehicles/hoverboard.c +++ b/src/overlays/shared/vehicles/hoverboard.c @@ -33,10 +33,10 @@ void hoverboard_update(unsigned char *moby) { HOVERBOARD_STATE_WAIT_FOR_PLAYER_APPROACH = 0, HOVERBOARD_STATE_WAIT_FOR_CONTROL_MODE_EXIT = 1 }; - char *hoverboard_vars = ((char *)MOBY(moby)->pvars); - float delta[4], position[4], effect_position[4], offset[4], second_position[4]; - float angle, distance_scale, delta_length; - int state = (u8)MOBY(moby)->state; + char *hoverboard_vars = ((char *)MOBY(moby)->pvars); + float delta[4], position[4], effect_position[4], effect_sine_offset[4], second_position[4]; + float angle, distance_scale, delta_length; + int state = (u8)MOBY(moby)->state; struct Hero *player_hero; switch (state) { @@ -88,9 +88,9 @@ void hoverboard_update(unsigned char *moby) { angle = random_angle_radians(); distance_scale = frame_time * 0.25f; fast_vec_normalize(effect_position, moby + 0xe0, distance_scale * fast_cos(angle)); - fast_vec_normalize(offset, moby + 0xd0, distance_scale * fast_sin(angle)); + fast_vec_normalize(effect_sine_offset, moby + 0xd0, distance_scale * fast_sin(angle)); fast_vec_add(effect_position, effect_position, delta); - fast_vec_add(effect_position, effect_position, offset); + fast_vec_add(effect_position, effect_position, effect_sine_offset); qcopy(effect_position, delta); effect_position[3] = (float)hoverboard_effect_displacement_w_gp; if ((unsigned char)MOBY(moby)->command == 0) { diff --git a/src/overlays/shared/vehicles/ship_rocket.c b/src/overlays/shared/vehicles/ship_rocket.c index c80d508c40..9008d1787a 100644 --- a/src/overlays/shared/vehicles/ship_rocket.c +++ b/src/overlays/shared/vehicles/ship_rocket.c @@ -61,7 +61,7 @@ void ship_rocket_update(struct Moby *moby) { }; Missile_94f8 *rocket_vars = (Missile_94f8 *)moby->pvars; Vec4f *pos; - Vec4 previous_pos, spray, offset, velocity, random; + Vec4 previous_pos, spray, trail_particle_vector, velocity, random; float fraction; struct Moby *target; char *texture; @@ -74,9 +74,10 @@ void ship_rocket_update(struct Moby *moby) { random.f[2] = random_float_between(-1.0f, 1.0f); velocity.q = random.q; fast_vec_normalize(&velocity, &velocity, random_float_between(0.1f, 0.2f) * frame_time); - fast_vec_normalize( - &offset, &rocket_vars->step, -random_float_between(frame_time * 0.1f, frame_time)); - fast_vec_add(&velocity, &velocity, &offset); + fast_vec_normalize(&trail_particle_vector, + &rocket_vars->step, + -random_float_between(frame_time * 0.1f, frame_time)); + fast_vec_add(&velocity, &velocity, &trail_particle_vector); FUN_L00_002712b8(&moby->pos, &velocity, scale_game_frames(6), @@ -91,12 +92,12 @@ void ship_rocket_update(struct Moby *moby) { texture = rocket_smoke_texture; for (fraction = 0.0f; fraction < 1.0f; fraction += 0.33333334f) { unsigned char *particle; - fast_vec_normalize(&offset, + fast_vec_normalize(&trail_particle_vector, &rocket_vars->step, random_float_between(fraction, fraction + 0.33333334f) * rocket_vars->speed); - fast_vec_add(&offset, &offset, &moby->pos); - particle = FUN_L00_002712b8(&offset, + fast_vec_add(&trail_particle_vector, &trail_particle_vector, &moby->pos); + particle = FUN_L00_002712b8(&trail_particle_vector, &velocity, scale_game_frames(60), 0x7f, @@ -117,8 +118,13 @@ void ship_rocket_update(struct Moby *moby) { random.f[2] = 0.02f; transform_vector_by_basis(&random, &random, &moby->rot_row0); build_look_at_matrix(&random, &random, &moby->rot_row0, random_angle_radians()); - FUN_L00_0026cbb0( - &offset, &random, 0x4f007fff, 0x1fffffff, scale_game_frames(5), 1, 20000.0f); + FUN_L00_0026cbb0(&trail_particle_vector, + &random, + 0x4f007fff, + 0x1fffffff, + scale_game_frames(5), + 1, + 20000.0f); } pos = &moby->pos; target = rocket_vars->target; diff --git a/src/overlays/shared/vehicles/taxi_path.c b/src/overlays/shared/vehicles/taxi_path.c index 0415c728a0..299d486b67 100644 --- a/src/overlays/shared/vehicles/taxi_path.c +++ b/src/overlays/shared/vehicles/taxi_path.c @@ -74,7 +74,7 @@ void reset_selected_moby_to_current_placement(void *moby_v) { char *find_moby_in_owner_list_by_id(unsigned char *list_owner_moby, int id) __asm__("FUN_L05_00319598"); -char *find_moby_in_owner_list_by_id(unsigned char *list_owner_moby, int id) { +char *find_moby_in_owner_list_by_id(unsigned char *list_owner_moby, int target_moby_data_id) { unsigned short *moby_index_entry = D_L05_001ABCC0_9598[MOBY(list_owner_moby)->group]; char *pool; int candidate_moby_pool_index; @@ -82,7 +82,8 @@ char *find_moby_in_owner_list_by_id(unsigned char *list_owner_moby, int id) { pool = D_L05_0015FFD8_9598; do { candidate_moby_pool_index = *moby_index_entry & 0x7FFF; - if (*(short *)(((M_9598 *)pool)[candidate_moby_pool_index].data + 0xB4) == id) + if (*(short *)(((M_9598 *)pool)[candidate_moby_pool_index].data + 0xB4) == + target_moby_data_id) goto found; } while ((short)*moby_index_entry++ >= 0); } diff --git a/src/overlays/shared/vendor/draw_vendor_purchase_text.c b/src/overlays/shared/vendor/draw_vendor_purchase_text.c index bbbccc1ea4..43c54b4f48 100644 --- a/src/overlays/shared/vendor/draw_vendor_purchase_text.c +++ b/src/overlays/shared/vendor/draw_vendor_purchase_text.c @@ -47,8 +47,8 @@ void draw_vendor_purchase_text(void *moby, s32 x, s32 y) { draw_framebuffer_rect(0, 0, 0x200, 0x80, 0x200, 0x80, 0); { - s32 size = sizeof(box); - memset((void *)&box, 0, size); + s32 box_byte_count = sizeof(box); + memset((void *)&box, 0, box_byte_count); } box.half_x = x / 2; box.half_y = y / 2; @@ -146,7 +146,14 @@ void pool_splash(HeightTile *tile, void pool_splash( - HeightTile *tile, int count, int mode, float x, float z, float radius, float amount) { + HeightTile *tile, + int tile_count, + int add_to_existing_height, + float x, + float z, + float radius, + + float amount) { enum { POOL_SPLASH_KEEP_GREATER_MAGNITUDE = 0 }; @@ -154,7 +161,7 @@ void pool_splash( int row; int i; - for (i = 0; i < count; i++) { + for (i = 0; i < tile_count; i++) { float tile_z = tile->z + l00_pool_height_grid_layout.origin_z; float cell_z = (z - tile_z) / l00_pool_height_grid_layout.cell_height; float cell_x = (x - (tile->x + l00_pool_height_grid_layout.origin_x)) / @@ -190,7 +197,7 @@ void pool_splash( } else { height = amount / square_root(dist_sq); } - if (mode == POOL_SPLASH_KEEP_GREATER_MAGNITUDE) { + if (add_to_existing_height == POOL_SPLASH_KEEP_GREATER_MAGNITUDE) { float magnitude = absolute_float(height); if (magnitude < absolute_float(tile->heights[l00_pool_height_write_bank_index][row][col])) { diff --git a/src/overlays/shared/vendor/flag_vendor_item.c b/src/overlays/shared/vendor/flag_vendor_item.c index ffd0a77306..47d56ddb98 100644 --- a/src/overlays/shared/vendor/flag_vendor_item.c +++ b/src/overlays/shared/vendor/flag_vendor_item.c @@ -10,7 +10,7 @@ typedef struct { char pad0[0x39]; - unsigned char field39; + unsigned char flagged; } Level13VendorItem; typedef struct { @@ -34,5 +34,5 @@ void flag_vendor_item(int slot) { (Level13VendorRecord *)(slot * 32 + (int)l13_vendor_item_records); Level13VendorItem *item = vendor_item_record->item; if (moby->class_id == VENDOR_CLASS_ID) - item->field39 = 1; + item->flagged = 1; } diff --git a/src/overlays/shared/vendor/vendor_menu.c b/src/overlays/shared/vendor/vendor_menu.c index cc025e7524..1ee8799910 100644 --- a/src/overlays/shared/vendor/vendor_menu.c +++ b/src/overlays/shared/vendor/vendor_menu.c @@ -265,16 +265,16 @@ extern u8 D_0015EDD0_macro[] __asm__("D_0015EDD0") MACRO_ADDR; void build_vendor_menu_rows(s32 skip_unflagged) __asm__("FUN_L00_0029a400"); void build_vendor_menu_rows(s32 skip_unflagged) { - s32 count, i, j, stocked_item_entry, item, k; + s32 stocked_item_count, i, j, stocked_item_entry, item, k; - count = 0; + stocked_item_count = 0; if (D_0015EDD0_macro[0] != 0xFF) { do - count++; - while (count < 12 && D_0015EDD0_macro[count] != 0xFF); + stocked_item_count++; + while (stocked_item_count < 12 && D_0015EDD0_macro[stocked_item_count] != 0xFF); } vendor_menu_lui.row_count = 0; - for (i = 0; i < count; i++) { + for (i = 0; i < stocked_item_count; i++) { stocked_item_entry = D_0015EDD0_macro[i]; if (stocked_item_entry == 0xFF) continue; @@ -583,11 +583,11 @@ void start_vendor_exit_cutscene(void) { }; VendorMenu *vendor_state; VendorMoby_29a6b0 *moby; - s32 index, exit_cutscene_id, offset; + s32 index, exit_cutscene_id, cutscene_resource_base_address; f32 *cutscene_world_origin; struct MusicStreamState *state; s32 *selected; - s16 mode; + s16 secondary_stream_state; jet_end_mount(2); if ((u16)(music_stream_state.secondary.state - 6) >= 2) @@ -614,11 +614,11 @@ void start_vendor_exit_cutscene(void) { vu1_sync_chain(1); select_level_vu_chain(); selected = (s32 *)((char *)vendor_state + 0x48); - offset = D_L00_001611CC - 0x40000; - D_L00_001611CC = offset; + cutscene_resource_base_address = D_L00_001611CC - 0x40000; + D_L00_001611CC = cutscene_resource_base_address; index = vendor_menu.purchased_item; - D_L00_0016C860_lui.x58 = D_L00_00173E00[1] + offset; - D_L00_0016C860_lui.x5c = D_L00_00173E00[2] + offset; + D_L00_0016C860_lui.x58 = D_L00_00173E00[1] + cutscene_resource_base_address; + D_L00_0016C860_lui.x5c = D_L00_00173E00[2] + cutscene_resource_base_address; exit_cutscene_id = vendor_exit_cutscene_ids_by_item[index]; D_L00_0015F3FC = 0; D_L00_0015F400 = 0; @@ -632,11 +632,11 @@ void start_vendor_exit_cutscene(void) { state = &music_stream_state; state->queued_secondary_track = 0x2734; FUN_L00_002455c0(0); - mode = music_stream_state.secondary.state; - while (mode != SECONDARY_MUSIC_STREAM_READY_TO_CONTINUE) { + secondary_stream_state = music_stream_state.secondary.state; + while (secondary_stream_state != SECONDARY_MUSIC_STREAM_READY_TO_CONTINUE) { sound_update(); sce_gs_sync_v(0); - mode = music_stream_state.secondary.state; + secondary_stream_state = music_stream_state.secondary.state; } continue_audio_stream_if_ready(); } @@ -757,18 +757,18 @@ void initialize_vendor_selected_item_mobys(void) __asm__("FUN_L00_0029b6 void initialize_vendor_selected_item_mobys(void) { V_29b680 item_local_position; - int id; + int selected_item_moby_class; int k; int x; k = vendor_menu_lui.rows[vendor_menu_lui.cursor].item; - id = item_defs_lui[k].cls; + selected_item_moby_class = item_defs_lui[k].cls; if (k == 0x18) { - id = 0x1DF; + selected_item_moby_class = 0x1DF; } else { - select_world_object_resource_tables(id, -1); + select_world_object_resource_tables(selected_item_moby_class, -1); } - init_moby_instance(((u8 *)vendor_menu_lui.menu_mobys) + 0x100, id); + init_moby_instance(((u8 *)vendor_menu_lui.menu_mobys) + 0x100, selected_item_moby_class); *(short *)(((u8 *)vendor_menu_lui.menu_mobys) + 0x132) = 0x40; *(int *)(((u8 *)vendor_menu_lui.menu_mobys) + 0x194) = 0; fast_vec_add(item_local_position, @@ -819,7 +819,7 @@ void initialize_vendor_selected_item_mobys(void) { update_entity(((u8 *)vendor_menu_lui.menu_mobys) + 0x200); FUN_0020d4f0_29b680(((u8 *)vendor_menu_lui.menu_mobys) + 0x200, 0x202020, 0xE, 0xE, 0); } - init_moby_instance(((u8 *)vendor_menu_lui.menu_mobys) + 0x300, id); + init_moby_instance(((u8 *)vendor_menu_lui.menu_mobys) + 0x300, selected_item_moby_class); if ((*(unsigned char **)(((u8 *)vendor_menu_lui.menu_mobys) + 0x224))[6]) { ((u8 *)vendor_menu_lui.menu_mobys)[0x273] = 0x18; } @@ -1148,7 +1148,7 @@ void update_vendor_menu(void) { s32 i; s32 j; s32 k; - s32 id; + s32 cutscene_animation_frame; f32 k1; f32 k2; f32 k3; @@ -1592,9 +1592,9 @@ void update_vendor_menu(void) { l00_camera.rows[10] = camera_rotation_matrix[1][2]; for (i = 0; i < D_L00_0016C860.h44; i++) { mb = D_L00_0016C860.f178[i]; - id = D_L00_0016C860.f38 >> 1; - mb->next_frame = id + 1; - mb->frame = id; + cutscene_animation_frame = D_L00_0016C860.f38 >> 1; + mb->next_frame = cutscene_animation_frame + 1; + mb->frame = cutscene_animation_frame; update_moby_animation_state(mb); mb->blend = convert_integer_to_float(D_L00_0016C860.f38 & 1) * 0.5f; if (flag && (D_L00_0016C860.f38 & 1)) { diff --git a/src/overlays/shared/weapons/blaster_shot.c b/src/overlays/shared/weapons/blaster_shot.c index b774941636..89b5e811be 100644 --- a/src/overlays/shared/weapons/blaster_shot.c +++ b/src/overlays/shared/weapons/blaster_shot.c @@ -1,3 +1,4 @@ +#include "rnc/mobys/moby_state.h" /* Shared moby class 0x131: a homing shot, and the function that spawns it. */ #include "types.h" #include "rnc/mobys/moby.h" @@ -133,7 +134,7 @@ char *spawn_homing_shot( char *trail; unsigned char *variant; int collision_hit_lifetime_min_and_alpha_scratch; - int timer; + int shot_lifetime_and_spark_lifetime_max_frames; int lifetime; int i; int sparks; @@ -174,12 +175,13 @@ char *spawn_homing_shot( *(float *)(homing_shot_vars + 0x1C) = vy; *(int *)(homing_shot_vars + 0x10) = 0; *(int *)(homing_shot_vars + 0x14) = 0; - timer = scale_game_frames(0x23); + shot_lifetime_and_spark_lifetime_max_frames = scale_game_frames(0x23); variant = item_text_variant; - timer = timer + variant[0xF] * 10; + shot_lifetime_and_spark_lifetime_max_frames = + shot_lifetime_and_spark_lifetime_max_frames + variant[0xF] * 10; *(int *)(homing_shot_vars + 0x28) = 0; - *(short *)(homing_shot_vars + 0x24) = timer; - *(short *)(homing_shot_vars + 0x26) = timer; + *(short *)(homing_shot_vars + 0x24) = shot_lifetime_and_spark_lifetime_max_frames; + *(short *)(homing_shot_vars + 0x26) = shot_lifetime_and_spark_lifetime_max_frames; *(w128 *)probe = *(w128 *)&MOBY(firing_moby)->pos; probe[2] = start[2]; collision_hit_lifetime_min_and_alpha_scratch = @@ -204,8 +206,9 @@ char *spawn_homing_shot( fast_vec_normalize( spark, spark, random_float_between(D_0015ED6C * 3.0f, D_0015ED6C * 6.0f)); collision_hit_lifetime_min_and_alpha_scratch = scale_game_frames(10); - timer = scale_game_frames(15); - lifetime = random_int_between(collision_hit_lifetime_min_and_alpha_scratch, timer); + shot_lifetime_and_spark_lifetime_max_frames = scale_game_frames(15); + lifetime = random_int_between(collision_hit_lifetime_min_and_alpha_scratch, + shot_lifetime_and_spark_lifetime_max_frames); FUN_L00_0026dd20(moby + 0x10, (char *)spark, 0x7F2F4F6F, lifetime, 30000.0f); } while (sparks >= 0); variant = item_text_variant; @@ -409,7 +412,8 @@ void homing_shot_update(Moby *shot_moby) { add_vector_xyz_2cb418( (Vec4A *)&shot_moby->pos, ((char *)D_L00_00173E60), &spark_and_pushout_scratch); if (D_001403E0_lui != 0 && D_001403E0_lui->oclass == 0xA8 && - D_001403E0_lui->state != 0xFE && D_001403E0_lui->state != 0xFD) { + D_001403E0_lui->state != MOBY_STATE_REMOVAL_MARKER && + D_001403E0_lui->state != 0xFD) { allocate_voice_for_target_entry(4, 0, D_001403E0_lui); } } diff --git a/src/overlays/shared/weapons/bomb_glove.c b/src/overlays/shared/weapons/bomb_glove.c index e7bcd30be3..6b59da9dff 100644 --- a/src/overlays/shared/weapons/bomb_glove.c +++ b/src/overlays/shared/weapons/bomb_glove.c @@ -172,8 +172,8 @@ void bomb_glove_update(struct Moby *moby) { BOMB_GLOVE_READY = 2 }; CarrierVars_2c26c8 *bomb_glove_vars; - OvlVec4 local[4], saved, offset, rotatedOffset, pos, target, basis[3], matrix[4]; - OvlVec4 launch; + OvlVec4 local[4], saved, grip_local_offset, rotatedOffset, pos, target, basis[3], matrix[4]; + OvlVec4 launch; union { OvlVec4 arc; } temporary; @@ -186,9 +186,9 @@ void bomb_glove_update(struct Moby *moby) { if (moby == 0) return; bomb_glove_vars = (CarrierVars_2c26c8 *)moby->pvars; - offset.q = 0; - offset.f[1] = -0.09f; - offset.f[2] = -0.02f; + grip_local_offset.q = 0; + grip_local_offset.f[1] = -0.09f; + grip_local_offset.f[2] = -0.02f; copy_matrix3x4(basis, l00_camera_lui.view_matrix); transpose_rotation_matrix(matrix, basis); if (bomb_glove_vars == 0) @@ -199,7 +199,7 @@ void bomb_glove_update(struct Moby *moby) { } FUN_L00_0024f7c8((u8 *)moby, 0, &saved); build_moby_bone_transform(moby, 0, local); - transform_vector(&rotatedOffset, &offset, local); + transform_vector(&rotatedOffset, &grip_local_offset, local); fast_vec_add(&bomb_glove_vars->grip, &saved, &rotatedOffset); if (bomb_glove_vars->held != 0) bomb_glove_vars->held->collision_disable = 1; diff --git a/src/overlays/shared/weapons/bomb_glove_bomb.c b/src/overlays/shared/weapons/bomb_glove_bomb.c index 0066958c62..96d4acbd83 100644 --- a/src/overlays/shared/weapons/bomb_glove_bomb.c +++ b/src/overlays/shared/weapons/bomb_glove_bomb.c @@ -943,7 +943,7 @@ void launch_bomb(float *pos, unsigned char *moby, float *velocity) { int predict_throw_landing(LandingVars *v, M910 *thrown_moby, int mode) __asm__("FUN_L00_002ad410"); int predict_throw_landing(LandingVars *v, M910 *thrown_moby, int mode) { - U910 position, velocity, previous, hero_position, offset, start; + U910 position, velocity, previous, hero_position, ground_probe_position, start; int timer; int object_hit; int found = 0, i; @@ -990,8 +990,8 @@ int predict_throw_landing(LandingVars *v, M910 *thrown_moby, int mode) { if (coll_hit.moby && coll_hit.i1C <= 0) { if ((coll_hit.moby != hero.moby && coll_hit.moby != v->holder) || timer < scale_game_frames(300) - scale_game_frames(10)) { - offset.q = 0; - offset.f[2] = 0.5f; + ground_probe_position.q = 0; + ground_probe_position.f[2] = 0.5f; { H910 *h = &coll_hit; if (v->last_hit != h->moby) { @@ -1008,8 +1008,8 @@ int predict_throw_landing(LandingVars *v, M910 *thrown_moby, int mode) { object_hit = 1; qcopy(&v->landing, (char *)coll_hit.moby + 0x10); found = 1; - fast_vec_add(&offset, &offset, &v->landing); - probe_ground_height(&offset, 0, 0.5f); + fast_vec_add(&ground_probe_position, &ground_probe_position, &v->landing); + probe_ground_height(&ground_probe_position, 0, 0.5f); } } else if (coll_hit.i1C > 0) { qcopy(&v->landing, &coll_hit.pos); @@ -1038,8 +1038,8 @@ int predict_throw_landing(LandingVars *v, M910 *thrown_moby, int mode) { if ((coll_hit.moby == hero.moby || coll_hit.moby == v->holder) && timer >= scale_game_frames(300) - scale_game_frames(10)) continue; - offset.q = 0; - offset.f[2] = 0.5f; + ground_probe_position.q = 0; + ground_probe_position.f[2] = 0.5f; { H910 *h = &coll_hit; if (v->last_hit != h->moby) { @@ -1055,8 +1055,8 @@ int predict_throw_landing(LandingVars *v, M910 *thrown_moby, int mode) { } object_hit = 1; qcopy(&v->landing, (char *)coll_hit.moby + 0x10); - fast_vec_add(&offset, &offset, &v->landing); - probe_ground_height(&offset, 0, 0.5f); + fast_vec_add(&ground_probe_position, &ground_probe_position, &v->landing); + probe_ground_height(&ground_probe_position, 0, 0.5f); break; } check_surface: diff --git a/src/overlays/shared/weapons/decoy.c b/src/overlays/shared/weapons/decoy.c index 537211051c..440d5b0c0f 100644 --- a/src/overlays/shared/weapons/decoy.c +++ b/src/overlays/shared/weapons/decoy.c @@ -362,7 +362,10 @@ s32 predict_thrown_moby_landing(ThrowVars *throw_vars, struct Moby *thrown_moby, s32 mode) __asm__("FUN_L00_002c3af8"); -s32 predict_thrown_moby_landing(ThrowVars *throw_vars, struct Moby *thrown_moby, s32 mode) { +s32 predict_thrown_moby_landing(ThrowVars *throw_vars, + struct Moby *thrown_moby, + + s32 linked_moby_policy) { Vec4 predicted_position, predicted_velocity, position_scratch, q, ground_probe_position; s32 prediction_countdown; s32 found = 0; @@ -388,7 +391,7 @@ s32 predict_thrown_moby_landing(ThrowVars *throw_vars, struct Moby *thrown_moby, qcopy(&predicted_velocity, &throw_vars->vel); if (hero.state.control_mode == HERO_MODE_GRIND) fast_vec_add(&predicted_velocity, &predicted_velocity, &hero.motion.displacement); - if (hero.ground_moby && FUN_L00_002603d0((int)hero.ground_moby) && mode) + if (hero.ground_moby && FUN_L00_002603d0((int)hero.ground_moby) && linked_moby_policy) fast_vec_add(&predicted_velocity, &predicted_velocity, &hero.motion.displacement); prediction_countdown = scale_game_frames(300); } else { @@ -454,13 +457,13 @@ s32 predict_thrown_moby_landing(ThrowVars *throw_vars, struct Moby *thrown_moby, } if (prediction_countdown == 0) return 0; - if (mode == LANDING_REQUIRE_MOBY_PVARS_LINK) { + if (linked_moby_policy == LANDING_REQUIRE_MOBY_PVARS_LINK) { if (coll_hit.moby == 0) return 0; if (FUN_L00_002603d0(coll_hit.moby) == 0) goto ret0; } - if (mode != LANDING_SKIP_LINKED_MOBY_DRAW || coll_hit.moby == 0 || + if (linked_moby_policy != LANDING_SKIP_LINKED_MOBY_DRAW || coll_hit.moby == 0 || !FUN_L00_002603d0(coll_hit.moby)) add_draw_callback(draw_moby_oscillating_textured_quads, thrown_moby); throw_vars->normal.q = coll_hit_normal.q; diff --git a/src/overlays/shared/weapons/devastator.c b/src/overlays/shared/weapons/devastator.c index 5c7bab1979..1b6c07d98e 100644 --- a/src/overlays/shared/weapons/devastator.c +++ b/src/overlays/shared/weapons/devastator.c @@ -315,7 +315,7 @@ void devastator_update(struct Moby *devastator_moby) { UsageStat_2b2100 *stats; Hit_2b2100 *hit; float height, limit, yaw, pitch, yaw0, pitch0; - float size; + float target_reticle_scale; float muzzle_light_color_x, muzzle_light_color_y, muzzle_light_color_z; int i; @@ -364,11 +364,11 @@ void devastator_update(struct Moby *devastator_moby) { fast_vec_dist(view_origin_2b2100, &devastator_vars->target->pos) / 100.0f; qcopy(&point, &devastator_vars->target->pos); point.f.z += devastator_vars->target_height; - size = absolute_float(0.9f - scaled_target_distance * 0.57f); + target_reticle_scale = absolute_float(0.9f - scaled_target_distance * 0.57f); suck_draw_reticle( (int)devastator_moby, 0xFF0FFF0F, - size, + target_reticle_scale, &point, fast_normalize_angle( convert_integer_to_float(D_L00_0015F5CC_2b2100 % scale_game_frames(240)) * diff --git a/src/overlays/shared/weapons/drone.c b/src/overlays/shared/weapons/drone.c index 9f318ca8f2..0f858254fd 100644 --- a/src/overlays/shared/weapons/drone.c +++ b/src/overlays/shared/weapons/drone.c @@ -371,7 +371,7 @@ void drone_update(struct Moby *updated_moby) { struct Moby *closest; struct Moby *selected_target_moby; f32 f, distance; - s32 i, count, category, random, health; + s32 i, exclusion_entry_count, category, random, health; s32 state; struct Moby *drone; s32 k, exclusion_clear_index; @@ -386,7 +386,7 @@ void drone_update(struct Moby *updated_moby) { ((DroneSlots *)&hero)->counter++; if (((DroneSlots *)&hero)->ammo_used < ((DroneSlots *)&hero)->counter) { closest = 0; - count = 0; + exclusion_entry_count = 0; distance = 1000000.0f; ((DroneSlots *)&hero)->counter = 1; ((DroneSlots *)&hero)->ammo_capacity = 0; @@ -401,12 +401,12 @@ void drone_update(struct Moby *updated_moby) { } else if (drone->state == 0xFD) { ((DroneSlots *)&hero)->slots[k] = 0; } else { - ((DroneSlots *)&hero)->exclusions[count] = + ((DroneSlots *)&hero)->exclusions[exclusion_entry_count] = *(struct Moby **)(drone->pvars + 0x30); - count++; + exclusion_entry_count++; if (drone->state < DRONE_STATE_FADE) ((DroneSlots *)&hero)->ammo_capacity++; - if (count > 8) + if (exclusion_entry_count > 8) break; } } else { @@ -414,7 +414,8 @@ void drone_update(struct Moby *updated_moby) { } } } - for (exclusion_clear_index = count; exclusion_clear_index < 9; exclusion_clear_index++) + for (exclusion_clear_index = exclusion_entry_count; exclusion_clear_index < 9; + exclusion_clear_index++) ((DroneSlots *)&hero)->exclusions[exclusion_clear_index] = 0; selected_target_moby = func_L00_002CF3D8_2CF808(&hero.motion, ((DroneSlots *)&hero)->exclusions); @@ -452,7 +453,7 @@ void drone_update(struct Moby *updated_moby) { closest->state = DRONE_STATE_PURSUE_TARGET; random = rand_2cc608() % 3; allocate_voice_for_target_entry(random + (random > 0), 0, updated_moby); - ((DroneSlots *)&hero)->exclusions[count] = assigned->target; + ((DroneSlots *)&hero)->exclusions[exclusion_entry_count] = assigned->target; } } } diff --git a/src/overlays/shared/weapons/effect_slots_fire.c b/src/overlays/shared/weapons/effect_slots_fire.c index 3d516727de..2a1f0b4e9f 100644 --- a/src/overlays/shared/weapons/effect_slots_fire.c +++ b/src/overlays/shared/weapons/effect_slots_fire.c @@ -62,7 +62,7 @@ void effect_slots_fire(char *slots, float *position, float *direction, float dis float end[4] __attribute__((aligned(16))); float adjusted[4] __attribute__((aligned(16))); float velocity[4] __attribute__((aligned(16))); - float offset[4] __attribute__((aligned(16))); + float randomized_particle_velocity[4] __attribute__((aligned(16))); float travel_step = 0.0f; float speed = 0.0f; float travel; @@ -102,20 +102,21 @@ void effect_slots_fire(char *slots, float *position, float *direction, float dis first_count = 1; for (i = 0; i < default_particle_count + first_count; i++) { random_vector( - offset, + randomized_particle_velocity, 0.0f, (((l02_effect_particle_full_travel_spread) - (l02_effect_particle_zero_travel_spread)) * (travel / distance) + (l02_effect_particle_zero_travel_spread)) * frame_time_macro); - fast_vec_add(offset, offset, adjusted); + fast_vec_add(randomized_particle_velocity, randomized_particle_velocity, adjusted); fast_vec_scale(velocity, adjusted, random_float_between(0.0f, 1.0f)); fast_vec_add(velocity, velocity, origin); if (i < first_count) fl = 1; else fl = 0; - shot = spawn_spinning_and_fading_effect_particle(velocity, offset, fl, travel); + shot = spawn_spinning_and_fading_effect_particle( + velocity, randomized_particle_velocity, fl, travel); if (i == 2 && save_shot) { int j; for (j = 0; j < 7; j++) { @@ -130,9 +131,9 @@ void effect_slots_fire(char *slots, float *position, float *direction, float dis float color_particle_spawn_delay = random_float_between(10.0f, 30.0f); color_particle_spawn_delay = FUN_L04_001f1978(color_particle_spawn_delay); ((Slots *)slots)->timer = truncate_float_to_s32(color_particle_spawn_delay); - random_vector(offset, 0.0f, frame_time_macro + frame_time_macro); + random_vector(randomized_particle_velocity, 0.0f, frame_time_macro + frame_time_macro); fast_vec_scale(velocity, adjusted, random_float_between(0.5f, 0.1f)); - fast_vec_add(velocity, velocity, offset); + fast_vec_add(velocity, velocity, randomized_particle_velocity); velocity[3] = 0.0f; spawn_color_decaying_effect_particle(position, velocity, 0); } diff --git a/src/overlays/shared/weapons/glove_of_doom.c b/src/overlays/shared/weapons/glove_of_doom.c index af8d90a577..a0ba67d5f2 100644 --- a/src/overlays/shared/weapons/glove_of_doom.c +++ b/src/overlays/shared/weapons/glove_of_doom.c @@ -289,19 +289,19 @@ void glove_of_doom_update(struct Moby *moby) { GLOVE_SKIP_HELD_MOBY_SYNC_AND_SPAWN = 6 }; OvlVec4 pos; - OvlVec4 offset; + OvlVec4 grip_bone_offset; OvlVec4 local; OvlVec4 grip_bone_transform[4]; OvlVec4 grip; CarrierVars *glove_carrier_vars = (CarrierVars *)moby->pvars; - offset.q = 0; - offset.f[0] = 0.01f; - offset.f[1] = -0.14f; - offset.f[2] = -0.05f; + grip_bone_offset.q = 0; + grip_bone_offset.f[0] = 0.01f; + grip_bone_offset.f[1] = -0.14f; + grip_bone_offset.f[2] = -0.05f; moby_point_position((u8 *)moby, 0, &pos); build_moby_bone_transform(moby, 0, grip_bone_transform); - transform_vector(&local, &offset, grip_bone_transform); + transform_vector(&local, &grip_bone_offset, grip_bone_transform); fast_vec_add(&glove_carrier_vars->grip, &pos, &local); if (glove_carrier_vars->held != 0) { glove_carrier_vars->held->collision_disable = 1; diff --git a/src/overlays/shared/weapons/glove_of_doom_bomb.c b/src/overlays/shared/weapons/glove_of_doom_bomb.c index d43b0fdfcf..3215a86999 100644 --- a/src/overlays/shared/weapons/glove_of_doom_bomb.c +++ b/src/overlays/shared/weapons/glove_of_doom_bomb.c @@ -253,16 +253,16 @@ void doom_bot_spawner_update(struct Moby *thrown_moby) { goto remove; } case THROWN_MOBY_STATE_MOVE_WITH_COLLISION: { - f32 size, speed, rest_speed, sink; + f32 size_multiplier, speed, rest_speed, sink; f32 half = 0.5f; u8 *carry; struct Hero *player; - size = convert_integer_to_float(D_0013E534) + 1.0f; + size_multiplier = convert_integer_to_float(D_0013E534) + 1.0f; { f32 class_scale = thrown_moby->pclass->scale; - if (thrown_moby->scale < class_scale * half * size) + if (thrown_moby->scale < class_scale * half * size_multiplier) thrown_moby->scale = - thrown_moby->scale + class_scale * (frame_scale * 0.05f) * size; + thrown_moby->scale + class_scale * (frame_scale * 0.05f) * size_multiplier; } if (fast_dec_timer(&spawner_throw_vars->effect_timer)) { spawner_throw_vars->effect_timer = scale_game_frames(4); @@ -279,12 +279,12 @@ void doom_bot_spawner_update(struct Moby *thrown_moby) { sink = sink / thrown_moby->pclass->scale; end.f[2] -= sink; qcopy_nc(&probe, &next_pos); - probe.f[2] += size * 0.2f; + probe.f[2] += size_multiplier * 0.2f; player = (struct Hero *)(carry - 0x140); - if (coll_sphere(size * 0.3f, &probe, 4, player->moby)) { + if (coll_sphere(size_multiplier * 0.3f, &probe, 4, player->moby)) { collision_point = coll_hit.pad30; qcopy_nc(&thrown_moby->pos, collision_point); - thrown_moby->pos.z -= size * 0.2f; + thrown_moby->pos.z -= size_multiplier * 0.2f; collision_point += 0x10; rest_speed = 0.01f; reflect_vector(spawner_throw_vars, spawner_throw_vars, collision_point); diff --git a/src/overlays/shared/weapons/gold_devastator_missile.c b/src/overlays/shared/weapons/gold_devastator_missile.c index 4617eaca8b..a9ceddf1fe 100644 --- a/src/overlays/shared/weapons/gold_devastator_missile.c +++ b/src/overlays/shared/weapons/gold_devastator_missile.c @@ -636,7 +636,7 @@ void gold_devastator_missile_update(M910 *missile_moby) { int reduced = 0; Missile1688 *missile_data; M910 *target; - float size, yaw, pitch; + float impact_scale_multiplier, yaw, pitch; normal.q = 0; normal.f[2] = D_0015ED6C * 8.0f; blast_velocity.q = normal.q; @@ -657,7 +657,7 @@ void gold_devastator_missile_update(M910 *missile_moby) { hero_velocity.q = phase.vectors.direction.q; scale_vector_xyz(&hero_velocity, &hero_velocity, turn); } - size = convert_integer_to_float(D_0013E520.bB) + 1.0f; + impact_scale_multiplier = convert_integer_to_float(D_0013E520.bB) + 1.0f; if (target && missile_data->life < scale_game_frames(300) - scale_game_frames(5) && (signed char)target->state >= 0) { float time = 0.0f; @@ -872,8 +872,11 @@ void gold_devastator_missile_update(M910 *missile_moby) { int particles; int particle_reduction; int i, j; - int hit = - collect_mobies_in_sphere((&missile_moby->pos), 16, missile_moby, 0, (size + size)); + int hit = collect_mobies_in_sphere((&missile_moby->pos), + 16, + missile_moby, + 0, + (impact_scale_multiplier + impact_scale_multiplier)); particles = 10; predicted.q = missile_moby->pos.q; FUN_L00_0025a9f8(missile_moby, @@ -922,9 +925,11 @@ void gold_devastator_missile_update(M910 *missile_moby) { transform_vector(&predicted, &surface_motion, rotation); fast_vec_normalize(&predicted, &predicted, - random_float_between(8.5f, 16.5f) * D_0015ED6C * size); + random_float_between(8.5f, 16.5f) * D_0015ED6C * + impact_scale_multiplier); } else { - float speed = random_float_between(8.5f, 16.5f) * D_0015ED6C * size; + float speed = + random_float_between(8.5f, 16.5f) * D_0015ED6C * impact_scale_multiplier; float a = random_angle_radians(); build_spherical_offset(&predicted, speed, a, random_angle_radians()); } @@ -937,7 +942,7 @@ void gold_devastator_missile_update(M910 *missile_moby) { float particle_scale; if (fast_vec_length(&predicted) > 1.0f) fast_vec_normalize(&predicted, &predicted, D_0015ED6C * 8.0f); - particle_scale = size * 40000.0f; + particle_scale = impact_scale_multiplier * 40000.0f; life = random_int_between(scale_game_frames(60), scale_game_frames(120)) - particle_reduction * 35; spawn_shrinking_effect_particle_with_gravity_and_secondary_spawns( @@ -964,7 +969,8 @@ void gold_devastator_missile_update(M910 *missile_moby) { fast_vec_sub(&camera_delta, D_L00_00166DC0, (&missile_moby->pos)); distance = fast_vec_length(&camera_delta); camera_delta.f[2] += distance * 0.5f; - fast_vec_normalize(&predicted, &predicted, distance / 5.0f * D_0015ED6C * size); + fast_vec_normalize( + &predicted, &predicted, distance / 5.0f * D_0015ED6C * impact_scale_multiplier); fast_vec_normalize(&camera_delta, &camera_delta, (distance + distance) * D_0015ED6C); fast_vec_add(&predicted, &predicted, &camera_delta); clamp_vector_length(&predicted, &predicted, D_0015ED6C * 10.0f); @@ -983,8 +989,8 @@ void gold_devastator_missile_update(M910 *missile_moby) { if (reduced) j /= 2; for (i = 0; i < j; i++) { - float speed = - random_float_between(8.0f, 10.0f) * size * D_0015ED6C - near_adjust * D_0015ED6C; + float speed = random_float_between(8.0f, 10.0f) * impact_scale_multiplier * D_0015ED6C - + near_adjust * D_0015ED6C; Colors1688 color = l00_devastator_missile_impact_color_palette; Colors1688 fade = l00_devastator_missile_impact_fade_palette; int c = @@ -1026,10 +1032,11 @@ void gold_devastator_missile_update(M910 *missile_moby) { random.f[2] = random_float_between(-1.0f, 1.0f); v.q = random.q; } - fast_vec_normalize(&v, &v, random_float_between(0.0f, 3.0f) * D_0015ED6C * size); + fast_vec_normalize( + &v, &v, random_float_between(0.0f, 3.0f) * D_0015ED6C * impact_scale_multiplier); c = swap_packed_color_channels(color.colors[random_integer_below(6)], D_0013E520.bB); f = swap_packed_color_channels(fade.colors[random_integer_below(6)], D_0013E520.bB); - debris_scale = size * 200000.0f; + debris_scale = impact_scale_multiplier * 200000.0f; life = random_int_between(scale_game_frames(20), scale_game_frames(35)) - particle_reduction * 10; spawn_particle_alt_9768((&missile_moby->pos), &v, c, f, debris_scale, life); @@ -1043,7 +1050,7 @@ void gold_devastator_missile_update(M910 *missile_moby) { spawn_glow_particle_u8(missile_moby, (&missile_moby->pos), &blast_velocity, - size * 4.0f, + impact_scale_multiplier * 4.0f, scale_game_frames(15), c, 127, @@ -1052,7 +1059,7 @@ void gold_devastator_missile_update(M910 *missile_moby) { spawn_glow_particle_u8(missile_moby, (&missile_moby->pos), &blast_velocity, - size * 4.0f, + impact_scale_multiplier * 4.0f, scale_game_frames(24), c, 127, @@ -1062,7 +1069,7 @@ void gold_devastator_missile_update(M910 *missile_moby) { { unsigned char color = 127; int life; - float flash_scale = size * 4.0f; + float flash_scale = impact_scale_multiplier * 4.0f; if (D_0013E520.bB) color = 32; life = scale_game_frames(20); @@ -1080,7 +1087,7 @@ void gold_devastator_missile_update(M910 *missile_moby) { spawn_glow_particle_u8(missile_moby, (&missile_moby->pos), &blast_velocity, - (size + size), + (impact_scale_multiplier + impact_scale_multiplier), scale_game_frames(19), 255, 255, diff --git a/src/overlays/shared/weapons/mine.c b/src/overlays/shared/weapons/mine.c index 97c2741551..48515d96f8 100644 --- a/src/overlays/shared/weapons/mine.c +++ b/src/overlays/shared/weapons/mine.c @@ -464,7 +464,7 @@ void initialize_moby_motion_at_position(V_2aa008 *requested_position, M_2aa008 *moby_vars; struct Hero *P; N_2aa008 *scanned_moby; - s32 count; + s32 other_same_class_moby_count; N_2aa008 *best; s32 bestv; V_2aa008 *k; @@ -485,7 +485,7 @@ void initialize_moby_motion_at_position(V_2aa008 *requested_position, fast_vec_add(moby_vars, moby_vars, &P->motion.displacement); } moby_vars->h34 = scale_game_frames(0x78); - count = 0; + other_same_class_moby_count = 0; best = 0; bestv = 0; for (scanned_moby = D_L00_0015FFE4_2aa008; scanned_moby; scanned_moby = scanned_moby->p28) { @@ -498,10 +498,10 @@ void initialize_moby_motion_at_position(V_2aa008 *requested_position, bestv = ((D_2aa008 *)scanned_moby->moby_private_vars)->spawn_frame; best = scanned_moby; } - count++; + other_same_class_moby_count++; } } - if (count >= 8) + if (other_same_class_moby_count >= 8) ((D_2aa008 *)best->moby_private_vars)->spawn_frame = -1; qcopy(&initialized_moby->v10, requested_position); vector_scratch.q = ((Q_2aa008 *)hero.moby)->v10.q; @@ -984,7 +984,7 @@ void mine_update(M910 *mine_moby) { { float sp; float max_homing_step; - int mode; + int homing_phase; *(OvlQuad *)n = mine_moby->pos.q; if ((mine_moby->b70 & 2) && mine_moby->b52 == 1 && mine_moby->anim != 2) { @@ -999,14 +999,14 @@ void mine_update(M910 *mine_moby) { if (max_homing_step < sp) { v->homing_speed = max_homing_step; } - mode = v->homing_phase; - if (mode == MINE_HOMING_RISE_PHASE) { + homing_phase = v->homing_phase; + if (homing_phase == MINE_HOMING_RISE_PHASE) { mine_moby->pos.f[2] += frame_scale * 0.05f; if (fast_dec_timer(&v->homing_phase_timer) != 0) { v->homing_phase_timer = scale_game_frames(7); v->homing_phase = 2; } - } else if (mode == MINE_HOMING_FALL_PHASE) { + } else if (homing_phase == MINE_HOMING_FALL_PHASE) { mine_moby->pos.f[2] -= frame_scale * 0.05f; if (fast_dec_timer(&v->homing_phase_timer) != 0) { v->homing_phase = 0; diff --git a/src/overlays/shared/weapons/mine_glove.c b/src/overlays/shared/weapons/mine_glove.c index 9a0d092f9a..dd4d1b1333 100644 --- a/src/overlays/shared/weapons/mine_glove.c +++ b/src/overlays/shared/weapons/mine_glove.c @@ -146,7 +146,7 @@ void mine_glove_update(struct Moby *moby) { MINE_GLOVE_IDLE = 2 }; GloveVars *mine_glove_vars; - Vec4 saved, offset, rotatedOffset; + Vec4 saved, grip_local_offset, rotatedOffset; Vec4 local[4]; Vec4 pos, target; Vec4 basis[3]; @@ -163,16 +163,16 @@ void mine_glove_update(struct Moby *moby) { ++mine_glove_vars->delay; return; } - offset.q = 0; - offset.f[1] = -0.09f; - offset.f[2] = -0.02f; + grip_local_offset.q = 0; + grip_local_offset.f[1] = -0.09f; + grip_local_offset.f[2] = -0.02f; copy_matrix3x4(basis, l00_camera.view_matrix); transpose_rotation_matrix(matrix, basis); if (mine_glove_vars == 0) return; FUN_L00_0024f7c8(moby, 0, &saved); build_moby_bone_transform(moby, 0, local); - transform_vector(&rotatedOffset, &offset, local); + transform_vector(&rotatedOffset, &grip_local_offset, local); fast_vec_add(&mine_glove_vars->grip, &saved, &rotatedOffset); if (mine_glove_vars->held != 0) mine_glove_vars->held->collision_disable = 1; diff --git a/src/overlays/shared/weapons/morphoray_chicken.c b/src/overlays/shared/weapons/morphoray_chicken.c index 406cd1a81f..a1d503a147 100644 --- a/src/overlays/shared/weapons/morphoray_chicken.c +++ b/src/overlays/shared/weapons/morphoray_chicken.c @@ -381,7 +381,7 @@ void morphoray_chicken_update(Moby *chicken_moby) { struct Hero *player; float anim_speed; float flee_angle; - float size; + float relative_scale; float speed; float radius; float angle; @@ -447,7 +447,7 @@ void morphoray_chicken_update(Moby *chicken_moby) { chicken_moby->scale) * 0.1f; } - size = chicken_moby->scale / chicken_moby->pclass->scale; + relative_scale = chicken_moby->scale / chicken_moby->pclass->scale; if (fast_dec_timer(&chicken_vars->hit_cooldown) != 0) { hit = find_moby_hit(chicken_moby, -1, 0); if (hit != 0) { @@ -459,13 +459,13 @@ void morphoray_chicken_update(Moby *chicken_moby) { chicken_moby->hit_slot = 0xFF; if (chicken_vars->health < 1.0f) { if (chicken_vars->gold == 0) { - for (i = 0; i < truncate_float_to_s32(size) * 20; i++) { - radius = random_float_between(0.0f, 0.37f) * size; + for (i = 0; i < truncate_float_to_s32(relative_scale) * 20; i++) { + radius = random_float_between(0.0f, 0.37f) * relative_scale; angle = random_angle_radians(); build_spherical_offset(&point, radius, angle, random_angle_radians()); - point.z += random_float_between(0.25f, 0.5f) * size; + point.z += random_float_between(0.25f, 0.5f) * relative_scale; fast_vec_add(&point, &point, &next_pos); - radius = random_float_between(frame_time * 0.1f, frame_time) * size; + radius = random_float_between(frame_time * 0.1f, frame_time) * relative_scale; angle = random_angle_radians(); build_spherical_offset( &motion_and_normal_scratch, radius, angle, random_angle_radians()); @@ -474,7 +474,7 @@ void morphoray_chicken_update(Moby *chicken_moby) { &motion_and_normal_scratch, 0x3F7F7F7F, 0x2F2F2F, - size * 150000.0f, + relative_scale * 150000.0f, random_int_between(scale_game_frames(0x1E), scale_game_frames(0x39))); } } else { @@ -515,10 +515,10 @@ void morphoray_chicken_update(Moby *chicken_moby) { } } for (j = 0; j < count; j++) { - radius = random_float_between(feather_radius_min, feather_radius_max) * size; + radius = random_float_between(feather_radius_min, feather_radius_max) * relative_scale; angle = random_angle_radians(); build_spherical_offset(&point, radius, angle, random_angle_radians()); - point.z += feather_height * size; + point.z += feather_height * relative_scale; fast_vec_add(&point, &point, &next_pos); angle = random_float_between(feather_speed_min * frame_time, feather_speed_max * frame_time); @@ -547,7 +547,7 @@ void morphoray_chicken_update(Moby *chicken_moby) { random_int_between(scale_game_frames(0x78), scale_game_frames(0x12C)); } if (chicken_vars->expire_timer >= 0) { - speed = (frame_time + frame_time) * size; + speed = (frame_time + frame_time) * relative_scale; } else { speed = 0.333f; } @@ -560,35 +560,54 @@ void morphoray_chicken_update(Moby *chicken_moby) { chicken_moby, random_integer_below(2) == 0, 0, scale_game_frames(5)); } if (fast_dec_timer_s16(&chicken_vars->flee_timer) != 0 && - vector_distance_xy(&chicken_moby->pos, &hero.motion.pos) < size * 5.0f) { - ahead.x = fast_cos(chicken_moby->rot.z) * frame_time * size; - ahead.y = fast_sin(chicken_moby->rot.z) * frame_time * size; + vector_distance_xy(&chicken_moby->pos, &hero.motion.pos) < relative_scale * 5.0f) { + ahead.x = fast_cos(chicken_moby->rot.z) * frame_time * relative_scale; + ahead.y = fast_sin(chicken_moby->rot.z) * frame_time * relative_scale; ahead.z = 0.0f; fast_vec_add(&ahead, &ahead, &next_pos); - path_clear = move_moby_xy_with_collision_constraints( - chicken_moby, &next_pos, &ahead, 0, size * 0.2f, size * 0.5f, speed, 0.2617994f); + path_clear = move_moby_xy_with_collision_constraints(chicken_moby, + &next_pos, + &ahead, + 0, + relative_scale * 0.2f, + relative_scale * 0.5f, + speed, + 0.2617994f); if (path_clear != 0 || (fast_difference_between_rotations(chicken_moby->rot.z, fast_arc_tan(next_pos.x - chicken_moby->pos.x, next_pos.y - chicken_moby->pos.y)) < 1.5707964f && - fast_vec_dist(&chicken_moby->pos, &next_pos) > size * 0.01f)) { + fast_vec_dist(&chicken_moby->pos, &next_pos) > relative_scale * 0.01f)) { chicken_moby->state = CHICKEN_STATE_FLEE_FROM_HERO; blend_moby_animation(chicken_moby, 3, 0, scale_game_frames(10)); } else { chicken_vars->flee_timer = random_int_between(scale_game_frames(0x3C), scale_game_frames(0xB4)); } - } else if (vector_distance_xy(&chicken_moby->pos, &hero.motion.pos) < size * 5.0f && + } else if (vector_distance_xy(&chicken_moby->pos, &hero.motion.pos) < + relative_scale * 5.0f && 0.5235988f < fast_difference_between_rotations(flee_angle, chicken_moby->rot.z)) { - move_moby_xy_with_collision_constraints( - chicken_moby, &next_pos, &next_pos, 0, size * 0.2f, size * 0.5f, speed, 0.2617994f); + move_moby_xy_with_collision_constraints(chicken_moby, + &next_pos, + &next_pos, + 0, + relative_scale * 0.2f, + relative_scale * 0.5f, + speed, + 0.2617994f); chicken_moby->state = CHICKEN_STATE_TURN_AWAY_FROM_HERO; blend_moby_animation(chicken_moby, 3, 0, scale_game_frames(10)); } else { - move_moby_xy_with_collision_constraints( - chicken_moby, &next_pos, &next_pos, 0, size * 0.2f, size * 0.5f, speed, 0.2617994f); + move_moby_xy_with_collision_constraints(chicken_moby, + &next_pos, + &next_pos, + 0, + relative_scale * 0.2f, + relative_scale * 0.5f, + speed, + 0.2617994f); } break; case CHICKEN_STATE_TURN_AWAY_FROM_HERO: @@ -598,22 +617,29 @@ void morphoray_chicken_update(Moby *chicken_moby) { frame_time_sq * 0.7853982f, frame_time_sq * 1.5707964f, frame_time * 0.7853982f); - move_moby_xy_with_collision_constraints( - chicken_moby, &next_pos, &next_pos, 0, size * 0.2f, size * 0.5f, speed, 0.2617994f); + move_moby_xy_with_collision_constraints(chicken_moby, + &next_pos, + &next_pos, + 0, + relative_scale * 0.2f, + relative_scale * 0.5f, + speed, + 0.2617994f); if (fast_dec_timer_s16(&chicken_vars->flee_timer) != 0 && - vector_distance_xy(&chicken_moby->pos, &hero.motion.pos) < size * 5.0f) { - ahead.x = fast_cos(chicken_moby->rot.z) * frame_time * size; - ahead.y = fast_sin(chicken_moby->rot.z) * frame_time * size; + vector_distance_xy(&chicken_moby->pos, &hero.motion.pos) < relative_scale * 5.0f) { + ahead.x = fast_cos(chicken_moby->rot.z) * frame_time * relative_scale; + ahead.y = fast_sin(chicken_moby->rot.z) * frame_time * relative_scale; ahead.z = 0.0f; fast_vec_add(&ahead, &ahead, &next_pos); if (absolute_float(probe_ground_height(&ahead, 0, 0.5f) - ahead.z) <= - (frame_time + frame_time) * size) { + (frame_time + frame_time) * relative_scale) { chicken_moby->state = CHICKEN_STATE_FLEE_FROM_HERO; blend_moby_animation(chicken_moby, 3, 0, scale_game_frames(10)); } } else if (fast_difference_between_rotations(flee_angle, chicken_moby->rot.z) < 0.08726646f || - vector_distance_xy(&chicken_moby->pos, &hero.motion.pos) > size * 6.0f) { + vector_distance_xy(&chicken_moby->pos, &hero.motion.pos) > + relative_scale * 6.0f) { chicken_moby->state = CHICKEN_STATE_IDLE; chicken_vars->flee_timer = random_int_between(scale_game_frames(0x3C), scale_game_frames(0xB4)); @@ -622,15 +648,22 @@ void morphoray_chicken_update(Moby *chicken_moby) { } break; case CHICKEN_STATE_FLEE_FROM_HERO: - if (vector_distance_xy(&chicken_moby->pos, &hero.motion.pos) > size * 6.0f) { + if (vector_distance_xy(&chicken_moby->pos, &hero.motion.pos) > relative_scale * 6.0f) { chicken_moby->state = CHICKEN_STATE_IDLE; chicken_vars->flee_timer = random_int_between(scale_game_frames(0x3C), scale_game_frames(0xB4)); blend_moby_animation( chicken_moby, random_integer_below(2) == 0, 0, scale_game_frames(5)); - move_moby_xy_with_collision_constraints( - chicken_moby, &next_pos, &next_pos, 0, size * 0.2f, size * 0.5f, speed, 0.2617994f); - } else if (vector_distance_xy(&chicken_moby->pos, &hero.motion.pos) < size * 3.0f) { + move_moby_xy_with_collision_constraints(chicken_moby, + &next_pos, + &next_pos, + 0, + relative_scale * 0.2f, + relative_scale * 0.5f, + speed, + 0.2617994f); + } else if (vector_distance_xy(&chicken_moby->pos, &hero.motion.pos) < + relative_scale * 3.0f) { FUN_L00_00258278(chicken_moby, &chicken_vars->turn_speed, flee_angle, @@ -641,14 +674,20 @@ void morphoray_chicken_update(Moby *chicken_moby) { ahead.y = fast_sin(chicken_moby->rot.z) * (frame_time + frame_time); ahead.z = 0.0f; fast_vec_add(&ahead, &ahead, &next_pos); - path_clear = move_moby_xy_with_collision_constraints( - chicken_moby, &next_pos, &ahead, 0, size * 0.2f, size * 0.5f, speed, 0.2617994f); + path_clear = move_moby_xy_with_collision_constraints(chicken_moby, + &next_pos, + &ahead, + 0, + relative_scale * 0.2f, + relative_scale * 0.5f, + speed, + 0.2617994f); if (path_clear == 0 && (1.5707964f < fast_difference_between_rotations( chicken_moby->rot.z, fast_arc_tan(next_pos.x - chicken_moby->pos.x, next_pos.y - chicken_moby->pos.y)) || - fast_vec_dist(&chicken_moby->pos, &next_pos) < size * 0.01f)) { + fast_vec_dist(&chicken_moby->pos, &next_pos) < relative_scale * 0.01f)) { chicken_moby->state = CHICKEN_STATE_IDLE; chicken_vars->flee_timer = random_int_between(scale_game_frames(0x3C), scale_game_frames(0xB4)); @@ -665,18 +704,24 @@ void morphoray_chicken_update(Moby *chicken_moby) { frame_time_sq * 0.7853982f, frame_time_sq * 1.5707964f, frame_time * 0.7853982f); - ahead.x = fast_cos(chicken_moby->rot.z) * frame_time * size; - ahead.y = fast_sin(chicken_moby->rot.z) * frame_time * size; + ahead.x = fast_cos(chicken_moby->rot.z) * frame_time * relative_scale; + ahead.y = fast_sin(chicken_moby->rot.z) * frame_time * relative_scale; ahead.z = 0.0f; fast_vec_add(&ahead, &ahead, &next_pos); - path_clear = move_moby_xy_with_collision_constraints( - chicken_moby, &next_pos, &ahead, 0, size * 0.2f, size * 0.5f, speed, 0.2617994f); + path_clear = move_moby_xy_with_collision_constraints(chicken_moby, + &next_pos, + &ahead, + 0, + relative_scale * 0.2f, + relative_scale * 0.5f, + speed, + 0.2617994f); if (path_clear == 0 && (1.5707964f < fast_difference_between_rotations( chicken_moby->rot.z, fast_arc_tan(next_pos.x - chicken_moby->pos.x, next_pos.y - chicken_moby->pos.y)) || - fast_vec_dist(&chicken_moby->pos, &next_pos) < size * 0.01f)) { + fast_vec_dist(&chicken_moby->pos, &next_pos) < relative_scale * 0.01f)) { chicken_moby->state = CHICKEN_STATE_IDLE; chicken_vars->flee_timer = random_int_between(scale_game_frames(0x3C), scale_game_frames(0xB4)); @@ -687,25 +732,31 @@ void morphoray_chicken_update(Moby *chicken_moby) { break; case CHICKEN_STATE_CLOSE_RANGE_FLEE_FROM_HERO: if (fast_dec_timer_s16(&chicken_vars->flee_timer) != 0 && - vector_distance_xy(&chicken_moby->pos, &hero.motion.pos) > size * 4.0f) { + vector_distance_xy(&chicken_moby->pos, &hero.motion.pos) > relative_scale * 4.0f) { FUN_L00_00258278(chicken_moby, &chicken_vars->turn_speed, flee_angle, frame_time_sq * 0.7853982f, frame_time_sq * 1.5707964f, frame_time * 0.7853982f); - ahead.x = fast_cos(chicken_moby->rot.z) * frame_time * size; - ahead.y = fast_sin(chicken_moby->rot.z) * frame_time * size; + ahead.x = fast_cos(chicken_moby->rot.z) * frame_time * relative_scale; + ahead.y = fast_sin(chicken_moby->rot.z) * frame_time * relative_scale; ahead.z = 0.0f; fast_vec_add(&ahead, &ahead, &next_pos); - path_clear = move_moby_xy_with_collision_constraints( - chicken_moby, &next_pos, &ahead, 0, size * 0.2f, size * 0.5f, speed, 0.2617994f); + path_clear = move_moby_xy_with_collision_constraints(chicken_moby, + &next_pos, + &ahead, + 0, + relative_scale * 0.2f, + relative_scale * 0.5f, + speed, + 0.2617994f); if (path_clear == 0 && (1.5707964f < fast_difference_between_rotations( chicken_moby->rot.z, fast_arc_tan(next_pos.x - chicken_moby->pos.x, next_pos.y - chicken_moby->pos.y)) || - fast_vec_dist(&chicken_moby->pos, &next_pos) < size * 0.01f)) { + fast_vec_dist(&chicken_moby->pos, &next_pos) < relative_scale * 0.01f)) { chicken_moby->state = CHICKEN_STATE_IDLE; chicken_vars->flee_timer = random_int_between(scale_game_frames(0x3C), scale_game_frames(0xB4)); @@ -722,18 +773,24 @@ void morphoray_chicken_update(Moby *chicken_moby) { frame_time_sq * 0.7853982f, frame_time_sq * 1.5707964f, frame_time * 0.7853982f); - ahead.x = fast_cos(chicken_moby->rot.z) * (frame_time + frame_time) * size; - ahead.y = fast_sin(chicken_moby->rot.z) * (frame_time + frame_time) * size; + ahead.x = fast_cos(chicken_moby->rot.z) * (frame_time + frame_time) * relative_scale; + ahead.y = fast_sin(chicken_moby->rot.z) * (frame_time + frame_time) * relative_scale; ahead.z = 0.0f; fast_vec_add(&ahead, &ahead, &next_pos); - path_clear = move_moby_xy_with_collision_constraints( - chicken_moby, &next_pos, &ahead, 0, size * 0.2f, size * 0.5f, speed, 0.2617994f); + path_clear = move_moby_xy_with_collision_constraints(chicken_moby, + &next_pos, + &ahead, + 0, + relative_scale * 0.2f, + relative_scale * 0.5f, + speed, + 0.2617994f); if (path_clear == 0 && (1.5707964f < fast_difference_between_rotations( chicken_moby->rot.z, fast_arc_tan(next_pos.x - chicken_moby->pos.x, next_pos.y - chicken_moby->pos.y)) || - fast_vec_dist(&chicken_moby->pos, &next_pos) < size * 0.01f)) { + fast_vec_dist(&chicken_moby->pos, &next_pos) < relative_scale * 0.01f)) { chicken_moby->state = CHICKEN_STATE_IDLE; chicken_vars->flee_timer = random_int_between(scale_game_frames(0x3C), scale_game_frames(0xB4)); @@ -754,10 +811,10 @@ void morphoray_chicken_update(Moby *chicken_moby) { Vec4A *spawn_point; Vec4A *spawn_velocity; spawn_point = &point; - radius = random_float_between(feather_radius_min, feather_radius_max) * size; + radius = random_float_between(feather_radius_min, feather_radius_max) * relative_scale; angle = random_angle_radians(); build_spherical_offset(spawn_point, radius, angle, random_angle_radians()); - point.z += feather_height * size; + point.z += feather_height * relative_scale; fast_vec_add(spawn_point, spawn_point, &next_pos); spawn_velocity = &motion_and_normal_scratch; angle = random_float_between(feather_speed_min * frame_time, @@ -774,13 +831,13 @@ void morphoray_chicken_update(Moby *chicken_moby) { float max; fast_vec_sub(&motion_and_normal_scratch, &next_pos, &chicken_moby->pos); movement_distance = fast_vec_length(&motion_and_normal_scratch); - max = frame_time * size; + max = frame_time * relative_scale; if (max < movement_distance) { fast_vec_normalize(&motion_and_normal_scratch, &motion_and_normal_scratch, max); } fast_vec_add(&next_pos, &chicken_moby->pos, &motion_and_normal_scratch); if (absolute_float(FUN_L00_00259710(&next_pos) - chicken_moby->pos.z) <= - frame_time * size) { + frame_time * relative_scale) { qcopy(&chicken_moby->pos, &next_pos); } } else { @@ -790,7 +847,7 @@ void morphoray_chicken_update(Moby *chicken_moby) { chicken_moby->pos.z -= chicken_vars->fall_speed; { float ground = probe_ground_height(&chicken_moby->pos, 0, 0.5f); - if (chicken_moby->pos.z < ground && ground < chicken_moby->pos.z + size * 0.25f) { + if (chicken_moby->pos.z < ground && ground < chicken_moby->pos.z + relative_scale * 0.25f) { chicken_vars->fall_speed = 0.0f; chicken_moby->pos.z = ground; } diff --git a/src/overlays/shared/weapons/ryno.c b/src/overlays/shared/weapons/ryno.c index 50639b3352..08fd48f258 100644 --- a/src/overlays/shared/weapons/ryno.c +++ b/src/overlays/shared/weapons/ryno.c @@ -456,6 +456,9 @@ unsigned char *spawn_ryno_rocket(int owner_moby, float yaw, float pitch) { + enum { + RYNO_ROCKET_STATE_INITIAL = 0 + }; V_2ccee0 forward_step; V_2ccee0 collision_start; V_2ccee0 explosion_direction; @@ -475,7 +478,7 @@ unsigned char *spawn_ryno_rocket(int owner_moby, MOBY(spawned_moby)->visible = 1; MOBY(spawned_moby)->rot.z = yaw; MOBY(spawned_moby)->rot.y = pitch; - MOBY(spawned_moby)->state = 0; + MOBY(spawned_moby)->state = RYNO_ROCKET_STATE_INITIAL; *(int *)(rocket_vars + 0x20) = owner_moby; qcopy(&MOBY(spawned_moby)->pos, spawn_position); qcopy(rocket_vars + 0x10, spawn_position); diff --git a/src/overlays/shared/weapons/suckcannon.c b/src/overlays/shared/weapons/suckcannon.c index e9a2219f2c..bc4cb89b6d 100644 --- a/src/overlays/shared/weapons/suckcannon.c +++ b/src/overlays/shared/weapons/suckcannon.c @@ -321,7 +321,7 @@ typedef struct { typedef struct { float x, y, f8, timer; Vec_2DDEA0 vel; - Vec_2DDEA0 q20; + Vec_2DDEA0 suction_start_rotation_quaternion; Vec_2DDEA0 v30; Vec_2DDEA0 v40; Vec_2DDEA0 v50; @@ -1791,7 +1791,8 @@ s32 process_moby_suck_cannon_suction(u8 *moby, u8 *position, u8 *target) { s16 state; if (moby_suction_record == 0) goto missing; - if (moby == 0 || MOBY(moby)->state == 0xFE || MOBY(moby)->state == 0xFD || + if (moby == 0 || MOBY(moby)->state == MOBY_STATE_REMOVAL_MARKER || + MOBY(moby)->state == MOBY_STATE_ALTERNATE_REMOVAL_MARKER || *(s16 *)(moby_suction_record + 0x68) == 8) goto fail; qcopy_nc(moby_suction_record, position); @@ -1863,7 +1864,8 @@ s32 store_moby_in_suck_cannon(u8 *moby, OvlQuad *position) { struct Moby *sound_source_moby; if (suction_record == 0) return 0; - if (moby != 0 && MOBY(moby)->state != 0xFE && MOBY(moby)->state != 0xFD && + if (moby != 0 && MOBY(moby)->state != MOBY_STATE_REMOVAL_MARKER && + MOBY(moby)->state != MOBY_STATE_ALTERNATE_REMOVAL_MARKER && *(s16 *)(suction_record + 0x68) != 8) { qcopy(&MOBY(moby)->pos, position); FUN_L00_002d9fd0_002dbb20( @@ -1900,7 +1902,8 @@ s32 launch_suck_cannon_projectile(u8 *moby, u8 *d; if (projectile_record == 0) return 0; - if (moby == 0 || MOBY(moby)->state == 0xFE || MOBY(moby)->state == 0xFD || + if (moby == 0 || MOBY(moby)->state == MOBY_STATE_REMOVAL_MARKER || + MOBY(moby)->state == MOBY_STATE_ALTERNATE_REMOVAL_MARKER || *(s16 *)(projectile_record + 0x68) == 8) goto fail; MOBY(moby)->visible = 1; @@ -1958,7 +1961,8 @@ s32 cancel_suck_cannon_suction(struct Moby *moby) { s32 k; if (suction_record == 0) return 0; - if (moby == 0 || moby->state == 0xFE || moby->state == 0xFD) + if (moby == 0 || moby->state == MOBY_STATE_REMOVAL_MARKER || + moby->state == MOBY_STATE_ALTERNATE_REMOVAL_MARKER) return 0; k = *(s16 *)(suction_record + 0x68); if (k == 8) @@ -2139,8 +2143,8 @@ void spawn_suck_cannon_projectile_explosion(char *projectile_moby, } while (--color_effects_remaining); } if (camera_distance > 9.0f) { - float size = variant_effect_scale * 4.0f; - func_L00_002E0CB8_DD3D8(size, + float colored_moby_scale = variant_effect_scale * 4.0f; + func_L00_002E0CB8_DD3D8(colored_moby_scale, projectile_moby, &MOBY(projectile_moby)->pos, spray_bias_vector, @@ -2153,7 +2157,7 @@ void spawn_suck_cannon_projectile_explosion(char *projectile_moby, g0 = 0x20; b0 = 0; swap_color_channel_words(&r0, &g0, &b0, (&D_0013E520)->b9); - func_L00_002E0CB8_DD3D8(size, + func_L00_002E0CB8_DD3D8(colored_moby_scale, projectile_moby, &MOBY(projectile_moby)->pos, spray_bias_vector, @@ -2280,7 +2284,8 @@ int FUN_L00_002dc9f0(struct Moby *moby, char *yaw_turn_state) { Frame_2DDEA0 suction_and_projectile_scratch; R_2DDEA0 *suction_and_projectile_record; - if (moby == 0 || moby->state == MOBY_STATE_REMOVAL_MARKER || moby->state == 0xFD) + if (moby == 0 || moby->state == MOBY_STATE_REMOVAL_MARKER || + moby->state == MOBY_STATE_ALTERNATE_REMOVAL_MARKER) return 0; suction_and_projectile_record = func_L00_002DCD40_2DDEA0(moby); if (suction_and_projectile_record != 0) { @@ -2314,8 +2319,8 @@ int FUN_L00_002dc9f0(struct Moby *moby, char *yaw_turn_state) { if (1.0f < suction_and_projectile_record->f6C) suction_and_projectile_record->f6C = 1.0f; moby->pos.z += suction_and_projectile_record->f6C / 100.0f * frame_scale; - extract_matrix_rotation_quaternion(&suction_and_projectile_record->q20, - &moby->rot_row0); + extract_matrix_rotation_quaternion( + &suction_and_projectile_record->suction_start_rotation_quaternion, &moby->rot_row0); clear_u64_value(&suction_and_projectile_record->vel); break; case SUCK_UPDATE_BEING_PULLED_IN: { @@ -2340,7 +2345,7 @@ int FUN_L00_002dc9f0(struct Moby *moby, char *yaw_turn_state) { matrix_to_quaternion(&suction_and_projectile_scratch.v[1], &suction_and_projectile_scratch.v[7]); quaternion_nlerp(&suction_and_projectile_scratch.v[2], - &suction_and_projectile_record->q20, + &suction_and_projectile_record->suction_start_rotation_quaternion, &suction_and_projectile_scratch.v[1], suction_and_projectile_record->f6C); func_001FA6C0_2DDEA0(&suction_and_projectile_scratch.v[2], @@ -3006,11 +3011,11 @@ void suck_beam_update(void *moby, void *position) { } add_draw_callback(suck_beam_draw_mesh, (int)moby); { - int count, sparks; - count = 0; + int spawned_beam_particle_count, sparks; + spawned_beam_particle_count = 0; sparks = 0; for (i = 0; i < 200; i++) { - if (!D_L00_001E4C80_lui[i].p && count < 5) { + if (!D_L00_001E4C80_lui[i].p && spawned_beam_particle_count < 5) { for (segment = 9; segment >= 0 && suck_beam_ring_alphas[segment] < 64; segment--) ; if (segment > 0) { @@ -3051,7 +3056,7 @@ void suck_beam_update(void *moby, void *position) { Tail41 *tail = &main->tail; main->life = 200; tail->mode = 2; - count++; + spawned_beam_particle_count++; tail->r = 127; tail->g = 200; } @@ -3205,7 +3210,7 @@ void scatter_moby_from_hazards(O_2df1e0 *pickup_moby) { return; if (pickup_moby->pickup_moby_state == MOBY_STATE_REMOVAL_MARKER) return; - if (pickup_moby->pickup_moby_state == 0xFD) + if (pickup_moby->pickup_moby_state == MOBY_STATE_ALTERNATE_REMOVAL_MARKER) return; if (random_integer_below(10)) return; diff --git a/src/overlays/shared/weapons/taunter.c b/src/overlays/shared/weapons/taunter.c index aee847a7ff..59c71f44a4 100644 --- a/src/overlays/shared/weapons/taunter.c +++ b/src/overlays/shared/weapons/taunter.c @@ -361,7 +361,7 @@ s32 apply_taunter_to_nearby_mobies(Moby *taunter_moby, f32 radius) { Vars *vars; struct Hero *player; s32 limit; - s32 count = 0; + s32 taunter_assignment_count = 0; s32 i; f32 distance; f32 angle; @@ -421,7 +421,7 @@ s32 apply_taunter_to_nearby_mobies(Moby *taunter_moby, f32 radius) { distance < vector_distance_xy((u8 *)current + 0x10, (u8 *)taunter_candidate_moby + 0x10)) { *(Moby **)(state + 0x18) = taunter_moby; - count++; + taunter_assignment_count++; } } } @@ -443,12 +443,12 @@ s32 apply_taunter_to_nearby_mobies(Moby *taunter_moby, f32 radius) { *(f32 *)((u8 *)taunter_candidate_moby + 0x14) - hero.motion.pos.f[1])); if (angle < 0.9599311f) { *(Moby **)((u8 *)vars + 0x78) = taunter_moby; - count++; + taunter_assignment_count++; } } } } - return count; + return taunter_assignment_count; } void taunter_update(Moby *m) __asm__("FUN_L00_002b6f10"); @@ -471,6 +471,9 @@ void taunter_update(Moby *taunter_moby) { enum { TAUNTER_TYPE_CONTINUOUS_EFFECT_EMISSION = 3 }; + enum { + TAUNTER_TYPE_NONACTIVATION_BLEND_DISABLED = 1 + }; Vars *taunter_vars; s32 taunter_state; s32 voice_slot_index; @@ -551,7 +554,7 @@ void taunter_update(Moby *taunter_moby) { taunter_vars->retry++; else taunter_vars->retry = 0; - if (taunter_moby->type != 1) + if (taunter_moby->type != TAUNTER_TYPE_NONACTIVATION_BLEND_DISABLED) blend_moby_animation(taunter_moby, 1, 0, scale_game_frames(5)); goto end; } @@ -563,7 +566,7 @@ void taunter_update(Moby *taunter_moby) { goto L7340; } } - if (taunter_moby->type != 1) + if (taunter_moby->type != TAUNTER_TYPE_NONACTIVATION_BLEND_DISABLED) blend_moby_animation(taunter_moby, 1, 0, scale_game_frames(5)); voice_slot_index = taunter_vars->anim; if (voice_slot_index != -1) { diff --git a/src/overlays/shared/weapons/tesla_claw_beam.c b/src/overlays/shared/weapons/tesla_claw_beam.c index 6df8e338bd..39dde91575 100644 --- a/src/overlays/shared/weapons/tesla_claw_beam.c +++ b/src/overlays/shared/weapons/tesla_claw_beam.c @@ -911,7 +911,7 @@ void build_beam_and_arc_points(struct Moby *beam_owner_moby) { float amount; int flag; } hit; - Vec4 camera_direction, direction, delta, blend, step, offset; + Vec4 camera_direction, direction, delta, blend, step, secondary_beam_horizontal_offset; struct Moby *collided[128]; Vec4 target_delta; union { @@ -1147,17 +1147,17 @@ void build_beam_and_arc_points(struct Moby *beam_owner_moby) { *(float *)((char *)&beam[seg] + 0x148) += x_c; x_a = fast_add_rotations(fast_arc_tan(delta.f[0], delta.f[1]), 1.5707964f); x_m = secondary_beam_horizontal_wave_amplitude * fast_cos(side_phase); - offset.f[0] = fast_cos(x_a) * x_m; - offset.f[1] = fast_sin(x_a) * x_m; - offset.f[2] = 0.0f; - qcopy_nc(&D_L00_001DB890[seg], &offset); - fast_vec_add(side, side, &offset); + secondary_beam_horizontal_offset.f[0] = fast_cos(x_a) * x_m; + secondary_beam_horizontal_offset.f[1] = fast_sin(x_a) * x_m; + secondary_beam_horizontal_offset.f[2] = 0.0f; + qcopy_nc(&D_L00_001DB890[seg], &secondary_beam_horizontal_offset); + fast_vec_add(side, side, &secondary_beam_horizontal_offset); } else { mirror = 21 - seg; qcopy(side, &beam[seg]); *(float *)((char *)&beam[seg] + 0x148) += side_waves[mirror]; fast_vec_add(side, side, &D_L00_001DB890[mirror]); - qcopy(&offset, &D_L00_001DB890[seg]); + qcopy(&secondary_beam_horizontal_offset, &D_L00_001DB890[seg]); } if (seg == 1) { struct Hero *collision_source_hero = &hero; diff --git a/src/overlays/shared/weapons/turret_rocket.c b/src/overlays/shared/weapons/turret_rocket.c index dce0de2c33..3cbe1c0412 100644 --- a/src/overlays/shared/weapons/turret_rocket.c +++ b/src/overlays/shared/weapons/turret_rocket.c @@ -94,7 +94,7 @@ char *spawn_turret_rocket(int firing_moby, float *position, float *rotation, int float rotation_copy[4] __attribute__((aligned(16))); float matrix[4][4] __attribute__((aligned(16))); float velocity[4] __attribute__((aligned(16))); - float offset[4] __attribute__((aligned(16))); + float secondary_particle_motion[4] __attribute__((aligned(16))); float angle, magnitude; int i, particle_frame_count, particle_second_frame_count, particle_third_frame_count; char *moby; @@ -130,7 +130,7 @@ char *spawn_turret_rocket(int firing_moby, float *position, float *rotation, int /* Retail intentionally uses the matrix third row as the particle input. */ particle_position_ptr = matrix[2]; velocity_ptr = velocity; - offset_ptr = offset; + offset_ptr = secondary_particle_motion; matrix_row_ptr = matrix[1]; do { angle = random_angle_radians(); @@ -144,7 +144,7 @@ char *spawn_turret_rocket(int firing_moby, float *position, float *rotation, int fast_vec_add(velocity_ptr, velocity_ptr, offset_ptr); qcopy(offset_ptr, velocity_ptr); velocity[3] = moby_creation_particle_primary_motion_w_gp; - offset[3] = moby_creation_particle_secondary_motion_w_gp; + secondary_particle_motion[3] = moby_creation_particle_secondary_motion_w_gp; i++; spawn_burst(&MOBY(moby)->pos, velocity_ptr, @@ -195,7 +195,7 @@ void turret_rocket_update(char *moby) { float position[4] __attribute__((aligned(16))); float direction[4] __attribute__((aligned(16))); float velocity[4] __attribute__((aligned(16))); - float offset[4] __attribute__((aligned(16))); + float trail_secondary_motion[4] __attribute__((aligned(16))); float angle, magnitude, length, radius, spread; int i, particle_frame_count, particle_second_frame_count, particle_third_frame_count; int *timer_ptr; @@ -220,11 +220,11 @@ void turret_rocket_update(char *moby) { spread = homing_projectile_trail_spread_speed_limit_gp; magnitude = random_float_between(0.0f, spread) * frame_time; fast_vec_normalize(velocity, moby + 0xe0, magnitude * fast_cos(angle)); - fast_vec_normalize(offset, moby + 0xd0, magnitude * fast_sin(angle)); - fast_vec_add(velocity, velocity, offset); - qcopy(offset, offset); + fast_vec_normalize(trail_secondary_motion, moby + 0xd0, magnitude * fast_sin(angle)); + fast_vec_add(velocity, velocity, trail_secondary_motion); + qcopy(trail_secondary_motion, trail_secondary_motion); velocity[3] = homing_projectile_trail_primary_motion_w_gp; - offset[3] = homing_projectile_trail_secondary_motion_w_gp; + trail_secondary_motion[3] = homing_projectile_trail_secondary_motion_w_gp; i++; particle_frame_count = truncate_float_to_s32(scale_game_frames_002e8210( random_float_between((float)l08_turret_rocket_spark_first_frame_count_base, @@ -237,7 +237,7 @@ void turret_rocket_update(char *moby) { (float)l08_turret_rocket_spark_third_frame_count_base * 1.5f))); spawn_spark(position, velocity, - offset, + trail_secondary_motion, homing_projectile_trail_initial_spark_word_gp, homing_projectile_trail_second_spark_word_gp, particle_frame_count, diff --git a/src/overlays/shared/weapons/visibomb_missile.c b/src/overlays/shared/weapons/visibomb_missile.c index 3b275bd635..0839e0bbef 100644 --- a/src/overlays/shared/weapons/visibomb_missile.c +++ b/src/overlays/shared/weapons/visibomb_missile.c @@ -724,7 +724,7 @@ void spawn_moby_particle_and_glow_burst(char *source_moby, int flag) { V6 A; V6 B; float view_origin_distance, extra, sc; - int count, i, j; + int particle_count, i, j; qcopy(elevated_spawn_position, &MOBY(source_moby)->pos); elevated_spawn_position[2] += 0.3f; @@ -739,15 +739,15 @@ void spawn_moby_particle_and_glow_burst(char *source_moby, int flag) { clear_u64_value(particle_velocity); view_origin_distance = fast_vec_length(view_origin_delta); if (view_origin_distance < 8.0f) { - count = truncate_float_to_s32(view_origin_distance) + 2; + particle_count = truncate_float_to_s32(view_origin_distance) + 2; } else { - count = 10; + particle_count = 10; } extra = 0.0f; if (view_origin_distance < 7.0f) extra = 7.0f - view_origin_distance; - if (count > 0) { - i = count; + if (particle_count > 0) { + i = particle_count; do { int *pa, *pb; int particle_frame_count, particle_random_frame_value; @@ -868,11 +868,12 @@ void visibomb_missile_update(struct Moby *missile_moby) { return; } { - float t = visibomb_missile_default_speed_gp * frame_time_macro; + float requested_speed_target = visibomb_missile_default_speed_gp * frame_time_macro; if (controller_state.held & 0x40) - t = visibomb_missile_max_speed_gp * frame_time_macro; - missile_vars->smoothed_speed_target += (t - missile_vars->smoothed_speed_target) * - visibomb_missile_speed_target_blend_factor_gp; + requested_speed_target = visibomb_missile_max_speed_gp * frame_time_macro; + missile_vars->smoothed_speed_target += + (requested_speed_target - missile_vars->smoothed_speed_target) * + visibomb_missile_speed_target_blend_factor_gp; missile_vars->f4 += (missile_vars->smoothed_speed_target - missile_vars->f4) * visibomb_missile_speed_blend_factor_gp; if (visibomb_missile_max_speed_gp * frame_time_macro < missile_vars->f4) @@ -912,14 +913,16 @@ void visibomb_missile_update(struct Moby *missile_moby) { qcopy(&v20, &missile_moby->pos); fast_vec_add(&missile_moby->pos, &missile_moby->pos, &v50); if (scale_game_frames(0xBB8) - scale_game_frames(0x3C) < missile_vars->f10) { - float t = probe_ground_height(&missile_moby->pos, 0, 0.5f) + - missile_vars->launch_ground_clearance; - if (missile_moby->pos.z < t) { + float launch_clearance_target_height = probe_ground_height(&missile_moby->pos, 0, 0.5f) + + missile_vars->launch_ground_clearance; + if (missile_moby->pos.z < launch_clearance_target_height) { if (coll_hit_moby == 0 || (coll_hit_moby->pclass != 0 && coll_hit_moby->pclass->type == 5)) { float ground_clearance_pitch_adjustment = fast_arc_tan(missile_vars->f4, - approach_value(&missile_moby->pos.z, t, frame_time_macro * 6.0f)); + approach_value(&missile_moby->pos.z, + launch_clearance_target_height, + frame_time_macro * 6.0f)); if (frame_time_macro * 1.57079637f < ground_clearance_pitch_adjustment) ground_clearance_pitch_adjustment = frame_time_macro * 1.57079637f; missile_moby->rot.y -= ground_clearance_pitch_adjustment; diff --git a/src/overlays/shared/weapons/wrench.c b/src/overlays/shared/weapons/wrench.c index dee0aa6fec..dfa47e2ad2 100644 --- a/src/overlays/shared/weapons/wrench.c +++ b/src/overlays/shared/weapons/wrench.c @@ -818,11 +818,11 @@ void wrench_update(WrenchMoby *wrench_moby) { spawn_wrench_impact_effects((char *)wrench_moby); } if (active) { - int count = 1; + int hit_descriptor_amount = 1; float scale = 1.0f, radius; if (wrench_hero()->state == 20) { scale = 1.55f; - count = 2; + hit_descriptor_amount = 2; } wrench_collision_scratch.v[3][0] = fast_cos(yaw); wrench_collision_scratch.v[3][1] = fast_sin(yaw); @@ -830,7 +830,7 @@ void wrench_update(WrenchMoby *wrench_moby) { make_hit_descriptor(wrench_collision_scratch.v[0], wrench_moby, 0x10000, - (float)count, + (float)hit_descriptor_amount, wrench_collision_scratch.v[3]); set_vector_length_xy( wrench_collision_scratch.v[0], wrench_collision_scratch.v[0], scale); diff --git a/src/overlays/shared/world/load_level_gameplay.c b/src/overlays/shared/world/load_level_gameplay.c index 42e06c645c..3dbf617e4b 100644 --- a/src/overlays/shared/world/load_level_gameplay.c +++ b/src/overlays/shared/world/load_level_gameplay.c @@ -932,7 +932,7 @@ char *load_level_gameplay(int skip_gameplay_read) { { char *p = (char *)hdr + hdr->f44; int n2; - int count = 0; + int loaded_moby_count = 0; int n; char *next_moby_record; int i; @@ -945,7 +945,7 @@ char *load_level_gameplay(int skip_gameplay_read) { FillTransferWords(mem, 0, (n + n2) << 8); for (i = 0; i < n; i++) { int mission; - int flags; + int moby_load_flags; int uid; int bolts; int bolts2; @@ -958,7 +958,7 @@ char *load_level_gameplay(int skip_gameplay_read) { p += 4; mission = *(int *)p; p += 4; - flags = *(int *)p; + moby_load_flags = *(int *)p; p += 4; uid = *(int *)p; p += 4; @@ -968,18 +968,18 @@ char *load_level_gameplay(int skip_gameplay_read) { p += 4; selected_bolt_count = bolts; adjusted_bolt_count = selected_bolt_count; - if (flags != 0) { + if (moby_load_flags != 0) { level_or_group_scratch = D_0015ED84; /* read before the test: see the group loop */ - if (flags & 0x10) { + if (moby_load_flags & 0x10) { vis = find_or_assign_bolt_source_slot(level_or_group_scratch, uid); } else { vis = 0xFF; } if (l00_moby_load_exclusion_flags_by_uid[uid] != 0) { skip = 1; - } else if (flags & 3) { + } else if (moby_load_flags & 3) { if (mission_state[mission] == 0xFF) { - if (flags & 2) { + if (moby_load_flags & 2) { selected_bolt_count = bolts2; if ((D_L00_001BA4D0[uid >> 5] >> (uid & 0x1F)) & 1) { adjusted_bolt_count = (selected_bolt_count + 1) / 2; @@ -990,7 +990,7 @@ char *load_level_gameplay(int skip_gameplay_read) { skip = 1; } } else { - if (flags & 1) { + if (moby_load_flags & 1) { if ((D_0014C190_257218[D_0015ED84][uid >> 5] >> (uid & 0x1F)) & 1) { adjusted_bolt_count = (bolts + 1) / 2; } @@ -998,11 +998,11 @@ char *load_level_gameplay(int skip_gameplay_read) { skip = 1; } } - } else if (flags & 8) { + } else if (moby_load_flags & 8) { if ((D_L00_001BA4D0[uid >> 5] >> (uid & 0x1F)) & 1) { skip = 1; } - } else if ((flags & 0xC) == 4) { + } else if ((moby_load_flags & 0xC) == 4) { if ((D_0014C190_257218[D_0015ED84][uid >> 5] >> (uid & 0x1F)) & 1) { skip = 1; } @@ -1022,9 +1022,9 @@ char *load_level_gameplay(int skip_gameplay_read) { { short *slot = moby_index_remap + i; - *slot = count; + *slot = loaded_moby_count; } - m = moby_table + count; + m = moby_table + loaded_moby_count; init_moby_instance(m, *(int *)p); p += 4; m->bolt_source_slot = vis; @@ -1092,17 +1092,17 @@ char *load_level_gameplay(int skip_gameplay_read) { if (*(int *)p != -1) { store_current_level_table_value((int)m, *(int *)p); } - count++; + loaded_moby_count++; } p = next_moby_record; } - D_L00_0015FFDC = moby_table + count; + D_L00_0015FFDC = moby_table + loaded_moby_count; D_L00_0015FFDC->f20 = 0xFF; - mem += (count + n2) << 8; + mem += (loaded_moby_count + n2) << 8; D_L00_0015FFE8_macro = mem; mem += n2 << 7; mem = (char *)(((u32)mem + 0x3F) & 0xFFFFFFC0); - D_L00_0015FFE0 = (MobyInst *)((int)moby_table + ((count + n2) << 8) - 0x100); + D_L00_0015FFE0 = (MobyInst *)((int)moby_table + ((loaded_moby_count + n2) << 8) - 0x100); } if (hdr->f58 != 0) { char *pv = (char *)hdr + hdr->f58; @@ -2161,19 +2161,19 @@ s32 start_cutscene_chunk_read(s32 i) __asm__("FUN_L00_002451b8"); s32 start_cutscene_chunk_read(s32 i) { u8 *buf = D_L00_0016C860.buf; s32 start; - s32 size; + s32 sector_count; if (pal_mode != FALSE) { - size = disc_table.sector_lists[D_L00_0016C860.list].sectors_alt[i + 1] - - disc_table.sector_lists[D_L00_0016C860.list].sectors_alt[i]; + sector_count = disc_table.sector_lists[D_L00_0016C860.list].sectors_alt[i + 1] - + disc_table.sector_lists[D_L00_0016C860.list].sectors_alt[i]; start = disc_table.sector_lists[D_L00_0016C860.list].sectors_alt[i]; } else { - size = disc_table.sector_lists[D_L00_0016C860.list].sectors[i + 1] - - disc_table.sector_lists[D_L00_0016C860.list].sectors[i]; + sector_count = disc_table.sector_lists[D_L00_0016C860.list].sectors[i + 1] - + disc_table.sector_lists[D_L00_0016C860.list].sectors[i]; start = disc_table.sector_lists[D_L00_0016C860.list].sectors[i]; } - if (size > 0) { - start_audio_stream_read(buf, start, size); + if (sector_count > 0) { + start_audio_stream_read(buf, start, sector_count); update_audio_stream_until_idle(0); } return 1; diff --git a/src/rendering/effects/draw_lens_flare.c b/src/rendering/effects/draw_lens_flare.c index a6f481ce44..f416071e26 100644 --- a/src/rendering/effects/draw_lens_flare.c +++ b/src/rendering/effects/draw_lens_flare.c @@ -33,7 +33,7 @@ void draw_lens_flare(void) { f32 fy; f32 half; s32 i; - s32 size; + s32 texture_size; s64 tex; s32 rgba; s32 quad_size; @@ -57,7 +57,7 @@ void draw_lens_flare(void) { screen_center_delta[1] = ctr[1] - scr[1]; for (i = 0; i < 16; i++) { tex = get_effect_texture(effect_ribbon.tex[i] + 6); - size = (i != 0) ? 0x20 : 0x40; + texture_size = (i != 0) ? 0x20 : 0x40; sprite_center_offset[0] = screen_center_delta[0] * effect_ribbon.dist[i]; sprite_center_offset[1] = screen_center_delta[1] * effect_ribbon.dist[i]; at[0] = ctr[0] + sprite_center_offset[0]; @@ -83,11 +83,11 @@ void draw_lens_flare(void) { fade = fade * (fx * fy); rgba = (truncate_float_to_s32(fade * effect_ribbon.alpha[i]) << 24) | (effect_ribbon.color[i] & 0xFFFFFF); - quad_size = truncate_float_to_s32(size * effect_ribbon.scale[i]); + quad_size = truncate_float_to_s32(texture_size * effect_ribbon.scale[i]); half = quad_size >> 1; x = truncate_float_to_s32(at[0] - half); y = truncate_float_to_s32(at[1] - half); - draw_textured_quad(x, y, quad_size, quad_size, 0, 0, size, size, rgba, tex); + draw_textured_quad(x, y, quad_size, quad_size, 0, 0, texture_size, texture_size, rgba, tex); } effect_ribbon.intensity = 0.0f; } diff --git a/src/rendering/frame/initialize_level_render_state.c b/src/rendering/frame/initialize_level_render_state.c index d133d01dd0..6ed38ea318 100644 --- a/src/rendering/frame/initialize_level_render_state.c +++ b/src/rendering/frame/initialize_level_render_state.c @@ -72,9 +72,9 @@ typedef struct Ent40 { typedef struct Display { u8 pad00[0x23C]; - s32 x23C; - s32 x240; - s32 x244; + s32 background_color_red; + s32 background_color_green; + s32 background_color_blue; } Display; typedef struct Buf194100 { @@ -198,11 +198,11 @@ u8 *initialize_level_render_state(LevelHeader *header) { fast_mem_zero16(moby_grid_block_bitmap, 0x60); environment = (u8 *)header + header->x0; - D_0018CD00.x23C = *(s32 *)environment; + D_0018CD00.background_color_red = *(s32 *)environment; environment += 4; - D_0018CD00.x240 = *(s32 *)environment; + D_0018CD00.background_color_green = *(s32 *)environment; environment += 4; - D_0018CD00.x244 = *(s32 *)environment; + D_0018CD00.background_color_blue = *(s32 *)environment; environment += 4; fog_color_red = *environment; environment += 4; @@ -220,7 +220,9 @@ u8 *initialize_level_render_state(LevelHeader *header) { occl_fog_density_set = 500.0f; occl_fog_count = 500; part_clip_dist = 0x1F4000; - set_background_color(D_0018CD00.x23C, D_0018CD00.x240, D_0018CD00.x244); + set_background_color(D_0018CD00.background_color_red, + D_0018CD00.background_color_green, + D_0018CD00.background_color_blue); vu0_load_micro_program(D_00100AE0); fast_mem_zero16(point_lights, 0x100); fast_mem_zero16(point_light_data, 0x180); diff --git a/src/rendering/mobys/patch_moby_gifs.c b/src/rendering/mobys/patch_moby_gifs.c index 76f9509e40..d4e8a098e0 100644 --- a/src/rendering/mobys/patch_moby_gifs.c +++ b/src/rendering/mobys/patch_moby_gifs.c @@ -17,14 +17,15 @@ extern struct TexRemap moby_gs_loc_stash[] __asm__("D_001B5D80"); void patch_moby_gifs(void) __asm__("FUN_0020cef8"); void patch_moby_gifs(void) { - s32 *id; + s32 *moby_class_id_cursor; struct GifEntry *gif_entry; u8 *tex; u32 *gif; struct TexRemap *texture_remap; - for (id = moby_class_rectify; *id >= 0; id++) { - gif_entry = ((struct MobyClass *)moby_class_resources[*id])->gifs; + for (moby_class_id_cursor = moby_class_rectify; *moby_class_id_cursor >= 0; + moby_class_id_cursor++) { + gif_entry = ((struct MobyClass *)moby_class_resources[*moby_class_id_cursor])->gifs; for (;; gif_entry++) { gif = (u32 *)(gif_entry->gif & 0x7FFFFFFF); tex = gif_entry->tex; diff --git a/src/rendering/packets/set_up_vis_gif_viewer.c b/src/rendering/packets/set_up_vis_gif_viewer.c index 94e07e7172..7f401167dd 100644 --- a/src/rendering/packets/set_up_vis_gif_viewer.c +++ b/src/rendering/packets/set_up_vis_gif_viewer.c @@ -15,7 +15,7 @@ void set_up_vis_gif_viewer(u64 *packet_destination, s32 material_control_base, s32 material_control_shift2, - s32 mode) { + s32 material_index) { enum { FIRST_REGULAR_MATERIAL_INDEX = 0 }; @@ -24,21 +24,21 @@ void set_up_vis_gif_viewer(u64 *packet_destination, u64 template_texture_state1; u64 *selected_special_material_template; - template_texture_state0 = resident_material_templates[mode * 3]; - template_draw_control_bits = resident_material_templates[mode * 3 + 1]; - template_texture_state1 = resident_material_templates[mode * 3 + 2]; - if (mode >= FIRST_REGULAR_MATERIAL_INDEX) { + template_texture_state0 = resident_material_templates[material_index * 3]; + template_draw_control_bits = resident_material_templates[material_index * 3 + 1]; + template_texture_state1 = resident_material_templates[material_index * 3 + 2]; + if (material_index >= FIRST_REGULAR_MATERIAL_INDEX) { packet_destination[0] = (0x20 | (template_draw_control_bits & 0x1C)) | ((u64)prim << 6) | ((u64)(u32)draw_control_high_word << 32); packet_destination += 2; - packet_destination[0] = - (material_control_base | ((u64)material_control_shift2 << 2)) | ((u64)mode << 24); + packet_destination[0] = (material_control_base | ((u64)material_control_shift2 << 2)) | + ((u64)material_index << 24); packet_destination += 2; packet_destination[0] = template_texture_state0; packet_destination[2] = template_texture_state1; - } else if (mode < -1) { + } else if (material_index < -1) { selected_special_material_template = special_material_template; - if (mode == -3) { + if (material_index == -3) { selected_special_material_template = alternate_special_material_template; } packet_destination[0] = diff --git a/src/rendering/packets/transform_scaled_vertex_batch.c b/src/rendering/packets/transform_scaled_vertex_batch.c index d2a49d6fa6..d11f5c6cd6 100644 --- a/src/rendering/packets/transform_scaled_vertex_batch.c +++ b/src/rendering/packets/transform_scaled_vertex_batch.c @@ -16,7 +16,7 @@ void transform_scaled_vertex_batch(struct VertexBatch *object, u8 *cursor) __asm__("FUN_0020cd48"); void transform_scaled_vertex_batch(struct VertexBatch *render_instance, - s32 count, + s32 point_count, s32 point_indices, u8 *cursor) { @@ -24,14 +24,14 @@ void transform_scaled_vertex_batch(struct VertexBatch *render_instance, scale = *(f32 *)((u8 *)render_instance + 0x2C) * 0.0009765625f; func_002106F8(); - if (count > 0) { + if (point_count > 0) { do { fast_vec_scale(cursor, cursor, scale); - count -= 1; + point_count -= 1; transform_vector_by_basis(cursor, cursor, (u8 *)render_instance + 0xC0); fast_vec_add(cursor, cursor, (u8 *)render_instance + 0x10); cursor += 0x10; - } while (count != 0); + } while (point_count != 0); } } diff --git a/src/rendering/shrubs/patch_shrub_gifs.c b/src/rendering/shrubs/patch_shrub_gifs.c index eb02fa5bb5..25ba7b39e7 100644 --- a/src/rendering/shrubs/patch_shrub_gifs.c +++ b/src/rendering/shrubs/patch_shrub_gifs.c @@ -13,7 +13,7 @@ extern struct TexRemap shrub_paging_table[] __asm__("D_001D88B0"); void patch_shrub_gifs(void) __asm__("FUN_00228a30"); void patch_shrub_gifs(void) { - s32 *id; + s32 *class_id_cursor; ShrubRenderClass *tc; s32 i; s32 j; @@ -21,8 +21,8 @@ void patch_shrub_gifs(void) { u8 *gif; struct TexRemap *texture_remap; - for (id = shrub_gif_patch_class_ids; *id >= 0; id++) { - tc = shrub_render_classes[*id]; + for (class_id_cursor = shrub_gif_patch_class_ids; *class_id_cursor >= 0; class_id_cursor++) { + tc = shrub_render_classes[*class_id_cursor]; for (i = 0; i < tc->group_count; i++) { pkt = (struct GifPacket *)tc->groups[i].group + 1; gif = (u8 *)(pkt + pkt->skip) + 0x10; diff --git a/src/rendering/texture/compose_bitmap_from_mask.c b/src/rendering/texture/compose_bitmap_from_mask.c index c9f9e8e703..8728dd1394 100644 --- a/src/rendering/texture/compose_bitmap_from_mask.c +++ b/src/rendering/texture/compose_bitmap_from_mask.c @@ -11,7 +11,7 @@ void compose_bitmap_from_mask(u8 *composed_bitmap, u8 *src_set, u8 *src_clear, u do { s32 bit = 1; u8 *next_mask_byte = mask + 1; - s32 count = 7; + s32 mask_bit_countdown = 7; do { u8 selected_source_byte; if (*mask & bit) @@ -22,9 +22,9 @@ void compose_bitmap_from_mask(u8 *composed_bitmap, u8 *src_set, u8 *src_clear, u src_set += 1; src_clear += 1; composed_bitmap += 1; - count -= 1; + mask_bit_countdown -= 1; bit <<= 1; - } while (count >= 0); + } while (mask_bit_countdown >= 0); outer += 1; mask = next_mask_byte; } while (outer <= limit); diff --git a/src/rendering/texture/dma_shrub_textures.c b/src/rendering/texture/dma_shrub_textures.c index ac1968c9e7..d084537c36 100644 --- a/src/rendering/texture/dma_shrub_textures.c +++ b/src/rendering/texture/dma_shrub_textures.c @@ -15,7 +15,7 @@ void dma_shrub_textures(void) __asm__("FUN_002288f0"); void dma_shrub_textures(void) { struct DmaTag *tag; - s32 size; + s32 shrub_texture_dma_size; tag = render_packet_cursor.tag; render_packet_cursor.tag = tag + 1; @@ -24,13 +24,13 @@ void dma_shrub_textures(void) { D_001603F0.p->vif0 = 0; D_001603F0.p->vif1 = 0; if (draw_config.shrub.enabled != 0 && draw_config.shrub.count != 0) { - size = build_shrub_texture_dma(gs_texture_allocation_cursor); + shrub_texture_dma_size = build_shrub_texture_dma(gs_texture_allocation_cursor); vu1_tex_flush(); - if (size > 0x400000) { + if (shrub_texture_dma_size > 0x400000) { DebugPrint(shrub_texture_overflow_message); } - if (max_shrub_texture_dma_size < size) { - max_shrub_texture_dma_size = size; + if (max_shrub_texture_dma_size < shrub_texture_dma_size) { + max_shrub_texture_dma_size = shrub_texture_dma_size; } } render_packet_cursor.tag->tag = 0x20000000; diff --git a/src/rendering/texture/dma_tfrag_textures.c b/src/rendering/texture/dma_tfrag_textures.c index 5d261681b3..6f70112e27 100644 --- a/src/rendering/texture/dma_tfrag_textures.c +++ b/src/rendering/texture/dma_tfrag_textures.c @@ -16,7 +16,7 @@ void dma_tfrag_textures(void) __asm__("FUN_002331c0"); void dma_tfrag_textures(void) { struct DmaTag *tag; - s32 size; + s32 tfrag_texture_dma_size; tag = render_packet_cursor.tag; render_packet_cursor.tag = tag + 1; @@ -26,13 +26,13 @@ void dma_tfrag_textures(void) { D_00160EBC.p->vif1 = 0; if (draw_config.tfrag.enabled != 0 && draw_config.tfrag.count != 0) { compute_tfrag_texture_usage(); - size = build_tfrag_texture_dma(gs_texture_allocation_cursor); + tfrag_texture_dma_size = build_tfrag_texture_dma(gs_texture_allocation_cursor); vu1_tex_flush(); - if (size > 0x400000) { + if (tfrag_texture_dma_size > 0x400000) { DebugPrint(tfrag_texture_overflow_message); } - if (max_tfrag_texture_dma_size < size) { - max_tfrag_texture_dma_size = size; + if (max_tfrag_texture_dma_size < tfrag_texture_dma_size) { + max_tfrag_texture_dma_size = tfrag_texture_dma_size; } } render_packet_cursor.tag->tag = 0x20000000; diff --git a/src/rendering/texture/dma_tie_textures.c b/src/rendering/texture/dma_tie_textures.c index 7eb05576a6..5787e3d8cc 100644 --- a/src/rendering/texture/dma_tie_textures.c +++ b/src/rendering/texture/dma_tie_textures.c @@ -15,7 +15,7 @@ void dma_tie_textures(void) __asm__("FUN_00235640"); void dma_tie_textures(void) { struct DmaTag *tag; - s32 size; + s32 tie_texture_dma_size; tag = render_packet_cursor.tag; render_packet_cursor.tag = tag + 1; @@ -24,13 +24,13 @@ void dma_tie_textures(void) { D_00160F68.p->vif0 = 0; D_00160F68.p->vif1 = 0; if (draw_config.tie.enabled != 0 && draw_config.tie.count != 0) { - size = build_tie_texture_dma(gs_texture_allocation_cursor); + tie_texture_dma_size = build_tie_texture_dma(gs_texture_allocation_cursor); vu1_tex_flush(); - if (size > 0x400000) { + if (tie_texture_dma_size > 0x400000) { DebugPrint(tie_texture_overflow_message); } - if (max_tie_texture_dma_size < size) { - max_tie_texture_dma_size = size; + if (max_tie_texture_dma_size < tie_texture_dma_size) { + max_tie_texture_dma_size = tie_texture_dma_size; } } render_packet_cursor.tag->tag = 0x20000000; diff --git a/src/rendering/texture/parse_particle_textures.c b/src/rendering/texture/parse_particle_textures.c index 68740270a0..671ad8d1c4 100644 --- a/src/rendering/texture/parse_particle_textures.c +++ b/src/rendering/texture/parse_particle_textures.c @@ -32,8 +32,8 @@ void parse_particle_textures(struct ParticleHdr *hdr, s32 count) { s32 relocation_count; - s32 offset; - s32 size; + s32 payload_offset; + s32 payload_byte_count; s32 i; s32 start_page; s32 start_offset; @@ -43,18 +43,18 @@ void parse_particle_textures(struct ParticleHdr *hdr, relocation_cursor = hdr->ptrs; relocation_count = hdr->count; - offset = hdr->data_offset; - size = hdr->data_size; + payload_offset = hdr->data_offset; + payload_byte_count = hdr->data_size; for (i = 0; i < relocation_count; i = i + 1, relocation_cursor = relocation_cursor + 1) { s32 relocation_word; relocation_word = *relocation_cursor; if (relocation_word == 0) { D_001CDF80[i] = (s32)resident_lookup_payload; } else { - D_001CDF80[i] = relocation_word - (offset - (s32)resident_lookup_payload); + D_001CDF80[i] = relocation_word - (payload_offset - (s32)resident_lookup_payload); } } - copy_memory_aligned(resident_lookup_payload, (u8 *)hdr + offset, size); + copy_memory_aligned(resident_lookup_payload, (u8 *)hdr + payload_offset, payload_byte_count); particle_texture_range_count = 0; while (particle_texture_range_count < count) { start_page = range_page_base + *range_source_cursor++; diff --git a/src/runtime/memory/calculate_ring_buffer_bounds.c b/src/runtime/memory/calculate_ring_buffer_bounds.c index 60ee437f91..04849c813b 100644 --- a/src/runtime/memory/calculate_ring_buffer_bounds.c +++ b/src/runtime/memory/calculate_ring_buffer_bounds.c @@ -8,16 +8,18 @@ struct RingBufferConfig { }; extern struct RingBufferConfig D_001940C0; -s32 calculate_ring_buffer_bounds(u32 size, s32 *out_start, s32 *out_end) __asm__("FUN_001fd6e0"); +s32 calculate_ring_buffer_bounds(u32 byte_count, + s32 *out_start, + s32 *out_end) __asm__("FUN_001fd6e0"); -s32 calculate_ring_buffer_bounds(u32 size, s32 *out_start, s32 *out_end) { - if (size > 0x20000U) { +s32 calculate_ring_buffer_bounds(u32 byte_count, s32 *out_start, s32 *out_end) { + if (byte_count > 0x20000U) { *out_start = 0; *out_end = 0; return -1; } - *out_start = (D_001940C0.ring_start + current_vu_chain) - size; - *out_end = (D_001940C0.ring_end + current_vu_chain) - size; + *out_start = (D_001940C0.ring_start + current_vu_chain) - byte_count; + *out_end = (D_001940C0.ring_end + current_vu_chain) - byte_count; return 0; } diff --git a/src/runtime/memory/init_mem_slots.c b/src/runtime/memory/init_mem_slots.c index 6a8cdef27e..c9676691fb 100644 --- a/src/runtime/memory/init_mem_slots.c +++ b/src/runtime/memory/init_mem_slots.c @@ -6,9 +6,9 @@ void init_mem_slots(void) __asm__("FUN_002015d8"); void init_mem_slots(void) { int runtime_memory_base = (int)D_24135F & 0xFFFFC000; - int size = current_vu_chain; - int level_zero_workspace_base = runtime_memory_base + size; - int memory_slot_three_base = level_zero_workspace_base + size; + int runtime_reserve_bytes = current_vu_chain; + int level_zero_workspace_base = runtime_memory_base + runtime_reserve_bytes; + int memory_slot_three_base = level_zero_workspace_base + runtime_reserve_bytes; int memory_slot_four_base = memory_slot_three_base + 0x64000; int common_archive_base = memory_slot_four_base + 0x30000; D_001940C0[0] = runtime_memory_base; diff --git a/src/save/memcard_make_whole_save.c b/src/save/memcard_make_whole_save.c index 0720bf5cd2..86b0202e72 100644 --- a/src/save/memcard_make_whole_save.c +++ b/src/save/memcard_make_whole_save.c @@ -10,7 +10,7 @@ void memcard_make_whole_save(u8 *cursor) __asm__("FUN_0020abb0"); void memcard_make_whole_save(u8 *cursor) { s32 index; - s32 size; + s32 level_record_bytes; ((struct MemoryCardSaveSizes *)cursor)->main_size = memcard_get_data_size(mc_gamedata); ((struct MemoryCardSaveSizes *)cursor)->record_size = memcard_get_data_size(mc_leveldata); @@ -18,8 +18,8 @@ void memcard_make_whole_save(u8 *cursor) { cursor += memcard_prepare_data(cursor, 0, mc_gamedata); index = 0; do { - size = memcard_prepare_data(cursor, index, mc_leveldata); - cursor += size; + level_record_bytes = memcard_prepare_data(cursor, index, mc_leveldata); + cursor += level_record_bytes; index++; } while (index < 0x14); } diff --git a/src/save/memcard_restore_game.c b/src/save/memcard_restore_game.c index fc480b90bc..0c2a34f8c8 100644 --- a/src/save/memcard_restore_game.c +++ b/src/save/memcard_restore_game.c @@ -21,13 +21,13 @@ extern void memcard_restore_data(u8 *, s32, void *) __asm__("func_0020AF20"); void memcard_restore_game(u8 *p) __asm__("FUN_00209298"); void memcard_restore_game(u8 *save_buffer) { - s32 size0 = memcard_get_data_size(mc_gamedata); - s32 size1 = memcard_get_data_size(mc_leveldata); + s32 expected_game_span_bytes = memcard_get_data_size(mc_gamedata); + s32 expected_level_span_bytes = memcard_get_data_size(mc_leveldata); s32 saved_game_span_bytes = ((struct MemoryCardSaveSizes *)save_buffer)->main_size; s32 i; - if (saved_game_span_bytes != size0 || - ((struct MemoryCardSaveSizes *)save_buffer)->record_size != size1) { + if (saved_game_span_bytes != expected_game_span_bytes || + ((struct MemoryCardSaveSizes *)save_buffer)->record_size != expected_level_span_bytes) { DebugPrint(out_of_date_save_message); return; } @@ -36,7 +36,7 @@ void memcard_restore_game(u8 *save_buffer) { save_buffer += saved_game_span_bytes; for (i = 0; i < 20; i++) { memcard_restore_data(save_buffer, i, mc_leveldata); - save_buffer += size1; + save_buffer += expected_level_span_bytes; } } diff --git a/src/save/memcard_save_data.c b/src/save/memcard_save_data.c index c2b775b649..e358a2b836 100644 --- a/src/save/memcard_save_data.c +++ b/src/save/memcard_save_data.c @@ -25,7 +25,7 @@ int memcard_save_data(int slot, int flags) __asm__("FUN_0020b178"); extern s32 current_bolt_count_macro __asm__("D_0015ED98") MACRO_ADDR; -int memcard_save_data(int slot, int flags) { +int memcard_save_data(int slot, int level_index_override) { enum { LEVEL_VISIT_UNVISITED = 0 }; @@ -59,11 +59,11 @@ int memcard_save_data(int slot, int flags) { } card_state->record_index = current_level_index; saved_visit_state = LEVEL_VISIT_UNVISITED; - if (flags >= 0) { - current_level_index = flags; - saved_visit_state = level_visit_state[flags]; + if (level_index_override >= 0) { + current_level_index = level_index_override; + saved_visit_state = level_visit_state[level_index_override]; if (saved_visit_state == LEVEL_VISIT_UNVISITED) { - level_visit_state[flags] = 1; + level_visit_state[level_index_override] = 1; } } } @@ -83,7 +83,7 @@ int memcard_save_data(int slot, int flags) { alternate_animation_sequence_macro; memcard_prepare_data(memcard_game_data_buffer, 0, mc_gamedata); memcard_prepare_data(memcard_level_data_buffer, card_state->record_index, mc_leveldata); - if (flags >= 0) { + if (level_index_override >= 0) { level_visit_state[current_level_index] = saved_visit_state; current_level_index = card_state->record_index; } diff --git a/src/save/memcard_update_state.c b/src/save/memcard_update_state.c index af173fe29e..6df658ac27 100644 --- a/src/save/memcard_update_state.c +++ b/src/save/memcard_update_state.c @@ -17,9 +17,9 @@ typedef struct { s32 x0; s32 x4; - s32 x8; - s32 xC; - s32 x10; + s32 static_icon_offset; + s32 static_icon_size; + s32 save_data_offset; } McChunk; extern const char memcard_delete_entry_path_format[] __asm__("D_0015FE98"); @@ -349,8 +349,8 @@ void memcard_update_state(void) { MC.buf = (u8 *)chunk + chunk->x0; break; case MEMCARD_CREATE_PROCESS_STATIC_ICON_OPEN_RESULT_AND_REQUEST_WRITE: - MC.size = chunk->xC; - MC.buf = (u8 *)chunk + chunk->x8; + MC.size = chunk->static_icon_size; + MC.buf = (u8 *)chunk + chunk->static_icon_offset; break; case MEMCARD_CREATE_PROCESS_AUXILIARY_FILE_OPEN_RESULT_AND_REQUEST_WRITE: if (pause_action_list_mode != 0) { @@ -363,7 +363,7 @@ void memcard_update_state(void) { case MEMCARD_CREATE_PROCESS_SAVE_OPEN_RESULT_AND_REQUEST_WRITE: { s32 n = memcard_get_data_size(mc_gamedata); MC.size = n + memcard_get_data_size(mc_leveldata) * 20 + 8; - MC.buf = (u8 *)chunk + chunk->x10; + MC.buf = (u8 *)chunk + chunk->save_data_offset; break; } } @@ -902,7 +902,7 @@ void memcard_update_state(void) { calculate_ring_buffer_bounds(disc_table.memcard_data.size << 11, &chunk, &size); MC.sub = 19; - MC.buf = (u8 *)chunk + chunk->x10; + MC.buf = (u8 *)chunk + chunk->save_data_offset; } MC.busy = 0; break; diff --git a/src/sdk/callbacks/handle_sif_rpc_call.c b/src/sdk/callbacks/handle_sif_rpc_call.c index d0d6b5d40e..519e7fbd53 100644 --- a/src/sdk/callbacks/handle_sif_rpc_call.c +++ b/src/sdk/callbacks/handle_sif_rpc_call.c @@ -9,7 +9,7 @@ void handle_sif_rpc_call(u32 *packet, void *state) __asm__("FUN_0011b138"); -void handle_sif_rpc_call(u32 *packet, void *state) { +void handle_sif_rpc_call(u32 *packet, void *unused_rpc_state) { u32 *server = (u32 *)packet[13]; /* packet + 0x34 */ u32 *queue = (u32 *)server[16]; /* server + 0x40 */ diff --git a/src/sdk/deci2/sce_tty_read.c b/src/sdk/deci2/sce_tty_read.c index 24945687c1..02e97035f2 100644 --- a/src/sdk/deci2/sce_tty_read.c +++ b/src/sdk/deci2/sce_tty_read.c @@ -19,10 +19,10 @@ typedef struct { extern TtyQueue *tty_read_input_queues[] __asm__("D_00154A68"); extern TtyState D_00154A50; -s32 sceTtyRead(s8 *destination, s32 size) { +s32 sceTtyRead(s8 *destination, s32 max_bytes) { s32 i; - for (i = 0; i < size; i++) { + for (i = 0; i < max_bytes; i++) { while (tty_read_input_queues[0]->avail == 0) { } destination[i] = *D_00154A50.rcv->data; diff --git a/src/sdk/dma/sce_dma_pause.c b/src/sdk/dma/sce_dma_pause.c index d9427879f4..f55a53865a 100644 --- a/src/sdk/dma/sce_dma_pause.c +++ b/src/sdk/dma/sce_dma_pause.c @@ -4,13 +4,13 @@ extern s32 DIntr(); extern s32 EnableInterrupts(); s32 sceDmaPause(volatile u32 *chcr) { - s32 state; + s32 interrupts_were_enabled; u32 ctrl; u32 chan; u32 dstat; u32 masked; - state = DIntr(); + interrupts_were_enabled = DIntr(); ctrl = *(volatile u32 *)0x1000F520; if (!(ctrl & 0x10000)) { *(volatile u32 *)0x1000F590 = ctrl | 0x10000; @@ -20,8 +20,8 @@ s32 sceDmaPause(volatile u32 *chcr) { masked = chan & 0xFFFFFEFF; *chcr = masked; *(volatile u32 *)0x1000F590 = ctrl; - if (state != FALSE) { - EnableInterrupts(masked, dstat, ctrl, state); + if (interrupts_were_enabled != FALSE) { + EnableInterrupts(masked, dstat, ctrl, interrupts_were_enabled); } return chan; } diff --git a/src/sdk/dma/sce_dma_reset.c b/src/sdk/dma/sce_dma_reset.c index 033e236ff5..0ffeb76938 100644 --- a/src/sdk/dma/sce_dma_reset.c +++ b/src/sdk/dma/sce_dma_reset.c @@ -31,11 +31,11 @@ const s32 DmaChannelsUsed[10] __asm__("D_001533F8") = {1, 1, 1, 1, 1, 0, 0, 0, 1 s32 sceDmaReset(s32 enable_dma) { s32 dma_environment[5]; - s32 status; + s32 previous_dma_enable_bit; s32 i; u32 mask; - status = *(volatile u32 *)0x1000E000 & 1; + previous_dma_enable_bit = *(volatile u32 *)0x1000E000 & 1; for (i = 9; i >= 0; i--) { if (DmaChannelsUsed[9 - i] != 0) { sceDmaChan *dma_channel = DmaChannels[9 - i]; @@ -55,5 +55,5 @@ s32 sceDmaReset(s32 enable_dma) { if (enable_dma == 1) { *(volatile u32 *)0x1000E000 |= 1; } - return status; + return previous_dma_enable_bit; } diff --git a/src/sdk/dma/wait_dma.c b/src/sdk/dma/wait_dma.c index 18640695f8..f9dbd444f4 100644 --- a/src/sdk/dma/wait_dma.c +++ b/src/sdk/dma/wait_dma.c @@ -5,11 +5,11 @@ const u8 D_001533E0[] = "libdma: sync timeout\n"; void WaitDma(volatile u32 *chcr) { - s32 count; + s32 timeout_countdown; - count = 0x1000000; + timeout_countdown = 0x1000000; while (*chcr & 0x100) { - if (--count < 0) { + if (--timeout_countdown < 0) { scePrintf(D_001533E0); sceDmaPause(chcr); } diff --git a/src/sdk/graph/sce_gs_exec_load_image.c b/src/sdk/graph/sce_gs_exec_load_image.c index ff21a9b2de..53b37ad5e5 100644 --- a/src/sdk/graph/sce_gs_exec_load_image.c +++ b/src/sdk/graph/sce_gs_exec_load_image.c @@ -5,11 +5,11 @@ const char gs_load_image_dma_timeout_message[] __asm__("D_001531D0") = "sceGsExecLoadImage: DMA Ch.2 does not terminate\r\n"; s32 sceGsExecLoadImage(u8 *lp, u8 *image_payload) { - u32 count; + u32 dma_busy_poll_count; - count = 0; + dma_busy_poll_count = 0; while (*(volatile u32 *)0x1000A000 & 0x100) { - if (count++ > 0x1000000) { + if (dma_busy_poll_count++ > 0x1000000) { scePrintf(gs_load_image_dma_timeout_message); return -1; } @@ -22,7 +22,7 @@ s32 sceGsExecLoadImage(u8 *lp, u8 *image_payload) { } *(volatile u32 *)0x1000A000 = 0x101; while (*(volatile u32 *)0x1000A000 & 0x100) { - if (count++ > 0x1000000) { + if (dma_busy_poll_count++ > 0x1000000) { scePrintf(gs_load_image_dma_timeout_message); return -1; } diff --git a/src/sdk/graph/sce_gs_put_draw_env.c b/src/sdk/graph/sce_gs_put_draw_env.c index b31e0b6960..240996b415 100644 --- a/src/sdk/graph/sce_gs_put_draw_env.c +++ b/src/sdk/graph/sce_gs_put_draw_env.c @@ -5,13 +5,13 @@ const char gs_draw_env_dma_timeout_message[] __asm__("D_00153078") = "sceGsPutDrawEnv: DMA Ch.2 does not terminate\r\n"; s32 sceGsPutDrawEnv(u64 *env) { - u32 count; + u32 dma_busy_poll_count; u32 tag; u32 addr; - count = 0; + dma_busy_poll_count = 0; while (*(volatile u32 *)0x1000A000 & 0x100) { - if (count++ > 0x1000000) { + if (dma_busy_poll_count++ > 0x1000000) { scePrintf(gs_draw_env_dma_timeout_message); return -1; } diff --git a/src/sdk/graph/sce_gs_reset_graph.c b/src/sdk/graph/sce_gs_reset_graph.c index c8b3494f12..48e63a196c 100644 --- a/src/sdk/graph/sce_gs_reset_graph.c +++ b/src/sdk/graph/sce_gs_reset_graph.c @@ -7,14 +7,14 @@ extern s32 RemoveIntcHandler(); extern s32 disable_intc() __asm__("func_00119028"); extern void SetGsCrt(s32, s32, s32); -void sceGsResetGraph(s16 mode, s16 inter, s16 video_output_mode, s16 ff) { +void sceGsResetGraph(s16 operation, s16 inter, s16 video_output_mode, s16 ff) { enum { GS_RESET_AND_CONFIGURE_VIDEO = 0, GS_UPDATE_VIDEO_MODE = 5 }; sceGsGParam *gp; - switch (mode) { + switch (operation) { case GS_RESET_AND_CONFIGURE_VIDEO: gp = sceGsGetGParam(); *(volatile u64 *)0x12001000 = 0x200; diff --git a/src/sdk/graph/sce_gs_set_def_disp_env.c b/src/sdk/graph/sce_gs_set_def_disp_env.c index a6eb1e876d..dd2d34523c 100644 --- a/src/sdk/graph/sce_gs_set_def_disp_env.c +++ b/src/sdk/graph/sce_gs_set_def_disp_env.c @@ -31,31 +31,34 @@ void sceGsSetDefDispEnv(struct sceGsDispEnv *output, enum { GS_FRAME_MODE_FIELD = 0 }; - GsVideoModeState *state; + GsVideoModeState *video_mode_state; s32 kernel_horizontal, kernel_vertical, kernel_width, kernel_height; - s32 mode, scale; + s32 display_mode, scale; s64 scaled_horizontal; u64 display_width; u16 interlace; u64 display_vertical; u64 progressive_width; - state = sceGsGetGParam(); - if (!((u32)(state->wMode - 2) < 2) && checkModelVersion() != 0) { - _GetGsDxDyOffset( - (s16)state->wMode, &kernel_horizontal, &kernel_vertical, &kernel_width, &kernel_height); + video_mode_state = sceGsGetGParam(); + if (!((u32)(video_mode_state->wMode - 2) < 2) && checkModelVersion() != 0) { + _GetGsDxDyOffset((s16)video_mode_state->wMode, + &kernel_horizontal, + &kernel_vertical, + &kernel_width, + &kernel_height); } else { kernel_height = 0; kernel_width = 0; kernel_vertical = 0; kernel_horizontal = 0; } - mode = state->wMode; - interlace = state->nSInterlace; + display_mode = video_mode_state->wMode; + interlace = video_mode_state->nSInterlace; output->pmode = 0x66; - if (state->nSInterlace != 0) { - if (state->nSFrame_mode == GS_FRAME_MODE_FIELD) + if (video_mode_state->nSInterlace != 0) { + if (video_mode_state->nSFrame_mode == GS_FRAME_MODE_FIELD) output->smode2 = 1; else output->smode2 = 3; @@ -65,7 +68,7 @@ void sceGsSetDefDispEnv(struct sceGsDispEnv *output, output->dispfb = ((u64)(pixel_storage_format & 15) << 15) | ((u64)(((width + 63) >> 6) & 63) << 9); - if ((s16)mode == 2) { + if ((s16)display_mode == 2) { if ((s16)interlace == 1) { s32 scale; u64 value; @@ -76,7 +79,7 @@ void sceGsSetDefDispEnv(struct sceGsDispEnv *output, scaled_horizontal = scaled_horizontal + 0x27c; scaled_horizontal = (scaled_horizontal + horizontal_offset * scale) & 0xfff; value = (u64)(s64)(scale - 1) << 23; - if (state->nSFrame_mode != GS_FRAME_MODE_FIELD) { + if (video_mode_state->nSFrame_mode != GS_FRAME_MODE_FIELD) { display_width = (value | display_width) | ((u64)scaled_horizontal | ((u64)(s64)(height * 2 - 1) << 44)); } else { @@ -96,7 +99,7 @@ void sceGsSetDefDispEnv(struct sceGsDispEnv *output, ((s64)(height - 1) << 44))) | ((s64)((vertical_offset + kernel_vertical + 0x19) & 0xfff) << 12); } - } else if ((s16)mode == 3) { + } else if ((s16)display_mode == 3) { if ((s16)interlace == 1) { s32 scale; u64 value; @@ -107,7 +110,7 @@ void sceGsSetDefDispEnv(struct sceGsDispEnv *output, scaled_horizontal = scaled_horizontal + 0x290; scaled_horizontal = (scaled_horizontal + horizontal_offset * scale) & 0xfff; value = (u64)(s64)(scale - 1) << 23; - if (state->nSFrame_mode != GS_FRAME_MODE_FIELD) { + if (video_mode_state->nSFrame_mode != GS_FRAME_MODE_FIELD) { display_width = (value | display_width) | ((u64)scaled_horizontal | ((u64)(s64)(height * 2 - 1) << 44)); } else { @@ -127,7 +130,7 @@ void sceGsSetDefDispEnv(struct sceGsDispEnv *output, ((s64)(height - 1) << 44))) | ((s64)((vertical_offset + kernel_vertical + 0x24) & 0xfff) << 12); } - } else if ((s16)mode == 0x50) { + } else if ((s16)display_mode == 0x50) { output->display = ((u64)(s64)(height - 1) << 44) | ((u64)((vertical_offset + kernel_vertical + 0x23) & 0xfff) << 12) | 0x800000ULL | diff --git a/src/sdk/graph/sce_gs_set_def_load_image.c b/src/sdk/graph/sce_gs_set_def_load_image.c index a0b04c4c8f..842f03ae3d 100644 --- a/src/sdk/graph/sce_gs_set_def_load_image.c +++ b/src/sdk/graph/sce_gs_set_def_load_image.c @@ -14,35 +14,35 @@ s32 sceGsSetDefLoadImage(sceGsLoadImage *image, s16 width, s16 height) { - s32 size = 0; + s32 image_qword_count = 0; switch (pixel_format) { case PIXEL_FORMAT_32_BIT: case PIXEL_FORMAT_32_BIT_ALTERNATE: - size = (width * height) >> 2; + image_qword_count = (width * height) >> 2; break; case PIXEL_FORMAT_24_BIT: case PIXEL_FORMAT_24_BIT_ALTERNATE: - size = (width * height * 3) >> 4; + image_qword_count = (width * height * 3) >> 4; break; case PIXEL_FORMAT_16_BIT: case PIXEL_FORMAT_16_BIT_ALTERNATE: case PIXEL_FORMAT_16_BIT_ALTERNATE_2: case PIXEL_FORMAT_16_BIT_ALTERNATE_3: - size = (width * height) >> 3; + image_qword_count = (width * height) >> 3; break; case PIXEL_FORMAT_8_BIT: case PIXEL_FORMAT_8_BIT_ALTERNATE: - size = (width * height) >> 4; + image_qword_count = (width * height) >> 4; break; case PIXEL_FORMAT_4_BIT: case PIXEL_FORMAT_4_BIT_ALTERNATE: case PIXEL_FORMAT_4_BIT_ALTERNATE_2: - size = (width * height) >> 5; + image_qword_count = (width * height) >> 5; break; } - if (size > 0x7fff) { + if (image_qword_count > 0x7fff) { scePrintf("sceGsSetDefLoadImage: too big size\r\n"); return 0; } @@ -61,7 +61,7 @@ s32 sceGsSetDefLoadImage(sceGsLoadImage *image, image->q[7] = 0x52; image->q[8] = 0; image->q[9] = 0x53; - ((struct GifTag *)&image->q[10])->NLOOP = size; + ((struct GifTag *)&image->q[10])->NLOOP = image_qword_count; ((struct GifTag *)&image->q[10])->EOP = 1; ((struct GifTag *)&image->q[10])->FLG = 2; CpuSync(); diff --git a/src/sdk/graph/sce_gs_sync_v.c b/src/sdk/graph/sce_gs_sync_v.c index 21082ebd9a..47ffc86705 100644 --- a/src/sdk/graph/sce_gs_sync_v.c +++ b/src/sdk/graph/sce_gs_sync_v.c @@ -3,7 +3,7 @@ #include "rnc/sdk/graph/sce_gs_get_gparam.h" #include "rnc/sdk/kernel.h" -s32 sceGsSyncV(s32 mode) { +s32 sceGsSyncV(s32 unused_mode) { sceGsGParam *gp; s64 field; diff --git a/src/sdk/input/dbc/sceDbcCreateSocket.c b/src/sdk/input/dbc/sceDbcCreateSocket.c index e2dbcc4c8b..343466e4cb 100644 --- a/src/sdk/input/dbc/sceDbcCreateSocket.c +++ b/src/sdk/input/dbc/sceDbcCreateSocket.c @@ -10,14 +10,14 @@ extern void debug_print_stub(u8 *) __asm__("func_00124A20"); /* The header words are copied as pointers: their alias set differs from the int port/mode stores, so the header loads need not wait for them. */ -s32 sceDbcCreateSocket(void *socket_configuration, s32 port, s32 mode) { +s32 sceDbcCreateSocket(void *socket_configuration, s32 port, s32 send_address) { s32 *socket_rpc_buffer = D_0015B080; u8 *name_source = (u8 *)socket_configuration + 0x14; u8 *name_target = (u8 *)socket_rpc_buffer + 0x14; s32 i; socket_rpc_buffer[10] = port; - socket_rpc_buffer[11] = mode; + socket_rpc_buffer[11] = send_address; ((void **)socket_rpc_buffer)[0] = ((void **)socket_configuration)[0]; ((void **)socket_rpc_buffer)[1] = ((void **)socket_configuration)[1]; ((void **)socket_rpc_buffer)[2] = ((void **)socket_configuration)[2]; diff --git a/src/sdk/input/dbc/scedbcreceivedata.c b/src/sdk/input/dbc/scedbcreceivedata.c index bb855eb110..86e816f89b 100644 --- a/src/sdk/input/dbc/scedbcreceivedata.c +++ b/src/sdk/input/dbc/scedbcreceivedata.c @@ -19,27 +19,35 @@ s32 sceDbcReceiveData(s32 rpc_request_word_0, s32 *byte_count, u8 *destination) { - struct DbCState *state = &RpcReceiveData; + struct DbCState *rpc_transfer_buffer = &RpcReceiveData; s32 i; - state->unk0 = rpc_request_word_0; - state->unk4 = rpc_request_word_1; - state->unk8 = *byte_count; - if (sceSifCallRpc(&RpcQueueData, 0x8000091A, 0, state, 0x400, state, 0x400, 0, 0) < 0) { + rpc_transfer_buffer->unk0 = rpc_request_word_0; + rpc_transfer_buffer->unk4 = rpc_request_word_1; + rpc_transfer_buffer->unk8 = *byte_count; + if (sceSifCallRpc(&RpcQueueData, + 0x8000091A, + 0, + rpc_transfer_buffer, + 0x400, + rpc_transfer_buffer, + 0x400, + 0, + 0) < 0) { debug_print_stub(dbc_receive_rpc_error_message); return 0; } - if (state->unk8C < 0) { - return state->unk8C; + if (rpc_transfer_buffer->unk8C < 0) { + return rpc_transfer_buffer->unk8C; } - *byte_count = state->unk8; + *byte_count = rpc_transfer_buffer->unk8; i = 0; - if (state->unk8 > 0) { + if (rpc_transfer_buffer->unk8 > 0) { do { - destination[i] = state->payload[i]; + destination[i] = rpc_transfer_buffer->payload[i]; i++; - } while (i < state->unk8); - return state->unk8C; + } while (i < rpc_transfer_buffer->unk8); + return rpc_transfer_buffer->unk8C; } - return *(volatile s32 *)&state->unk8C; + return *(volatile s32 *)&rpc_transfer_buffer->unk8C; } diff --git a/src/sdk/interrupts/enable_interrupts.c b/src/sdk/interrupts/enable_interrupts.c index cdac4d7bce..e406324ea2 100644 --- a/src/sdk/interrupts/enable_interrupts.c +++ b/src/sdk/interrupts/enable_interrupts.c @@ -5,10 +5,10 @@ s32 EnableInterrupts(void) { enum { INTERRUPT_ENABLE_BIT_CLEAR = 0 }; - u32 status; + u32 saved_interrupt_enable_bit; - status = CpuReadStatus(); - status &= 0x10000; + saved_interrupt_enable_bit = CpuReadStatus(); + saved_interrupt_enable_bit &= 0x10000; CpuEnableInt(); - return status != INTERRUPT_ENABLE_BIT_CLEAR; + return saved_interrupt_enable_bit != INTERRUPT_ENABLE_BIT_CLEAR; } diff --git a/src/sdk/ipu/sce_ipu_restart_dma.c b/src/sdk/ipu/sce_ipu_restart_dma.c index 895c0ea8e6..054ec27340 100644 --- a/src/sdk/ipu/sce_ipu_restart_dma.c +++ b/src/sdk/ipu/sce_ipu_restart_dma.c @@ -16,15 +16,15 @@ struct sceIpuDmaEnv { void sceIpuRestartDMA(struct sceIpuDmaEnv *ctx) { u32 bits; u32 magic; - u32 count; + u32 buffered_quadword_count; s32 input_dma_quadword_count; s32 input_dma_address; bits = (u32)ctx->ipubp; magic = bits & 0x7F; - count = ((bits >> 16) & 3) + ((bits >> 8) & 0xF); - input_dma_address = ctx->d4madr - count * 0x10; - input_dma_quadword_count = ctx->d4qwc + count; + buffered_quadword_count = ((bits >> 16) & 3) + ((bits >> 8) & 0xF); + input_dma_address = ctx->d4madr - buffered_quadword_count * 0x10; + input_dma_quadword_count = ctx->d4qwc + buffered_quadword_count; if (ctx->d3madr != 0) { if (ctx->d3qwc != 0) { *(volatile u32 *)0x1000B010 = ctx->d3madr; diff --git a/src/sdk/ipu/send_ipu_command.c b/src/sdk/ipu/send_ipu_command.c index 2a4ca78f62..79448aa3b8 100644 --- a/src/sdk/ipu/send_ipu_command.c +++ b/src/sdk/ipu/send_ipu_command.c @@ -8,13 +8,13 @@ typedef struct IpuCommandState { u32 SendIpuCommand(IpuCommandState *state, u32 command) __asm__("_sendIpuCommand"); -u32 SendIpuCommand(IpuCommandState *state, u32 command) { +u32 SendIpuCommand(IpuCommandState *decoder_state, u32 command) { volatile u32 *ipu_command = (volatile u32 *)0x10002000; u32 command_class; *ipu_command = command; command_class = IpuCommandTable[command >> 28]; - state->command_result = command_class; + decoder_state->command_result = command_class; return command_class; } diff --git a/src/sdk/ipu/wait_ipu_idle.c b/src/sdk/ipu/wait_ipu_idle.c index 2cc8a52499..2e2ec8ad08 100644 --- a/src/sdk/ipu/wait_ipu_idle.c +++ b/src/sdk/ipu/wait_ipu_idle.c @@ -3,16 +3,16 @@ void _waitIpuIdle(s32 *ctx) { long new_var; - s32 count = 0; + s32 polls_since_callback = 0; if (((*((volatile u32 *)0x10002010)) & 0x80004000) == 0x80000000) { do { new_var = 0x1389; - if (count >= new_var) { - count = *((s32 *)(((u8 *)ctx) + 0x858)); - DispatchMpegCallbackNoData(count); - count = 0; + if (polls_since_callback >= new_var) { + polls_since_callback = *((s32 *)(((u8 *)ctx) + 0x858)); + DispatchMpegCallbackNoData(polls_since_callback); + polls_since_callback = 0; } else { - count++; + polls_since_callback++; } } while (((*((volatile u32 *)0x10002010)) & 0x80004000) == 0x80000000); } diff --git a/src/sdk/ipu/wait_ipu_idle64.c b/src/sdk/ipu/wait_ipu_idle64.c index 6e20586660..b665798817 100644 --- a/src/sdk/ipu/wait_ipu_idle64.c +++ b/src/sdk/ipu/wait_ipu_idle64.c @@ -6,24 +6,24 @@ s64 _waitIpuIdle64(s32 *ctx) { IPU_CMD_IDLE_THRESHOLD = 0 }; long new_var; - s64 status; - int count = 0; - status = *((volatile s64 *)0x10002000); - if (status < IPU_CMD_IDLE_THRESHOLD) { + s64 ipu_command_result; + int input_callback_poll_count = 0; + ipu_command_result = *((volatile s64 *)0x10002000); + if (ipu_command_result < IPU_CMD_IDLE_THRESHOLD) { if (((*((volatile u32 *)0x10002010)) & 0x4000) == 0) { do { new_var = 0x1389; - if (count >= new_var) { - count = *((s32 *)(((u8 *)ctx) + 0x858)); - DispatchMpegCallbackNoData(count); - count = 0; + if (input_callback_poll_count >= new_var) { + input_callback_poll_count = *((s32 *)(((u8 *)ctx) + 0x858)); + DispatchMpegCallbackNoData(input_callback_poll_count); + input_callback_poll_count = 0; } else { - count++; + input_callback_poll_count++; } - status = *((volatile s64 *)0x10002000); - } while ((status < IPU_CMD_IDLE_THRESHOLD) && + ipu_command_result = *((volatile s64 *)0x10002000); + } while ((ipu_command_result < IPU_CMD_IDLE_THRESHOLD) && (((*((volatile u32 *)0x10002010)) & 0x4000) == 0)); } } - return status; + return ipu_command_result; } diff --git a/src/sdk/kernel/SyncDCache.c b/src/sdk/kernel/SyncDCache.c index 7a9ffad31a..55b3c7c090 100644 --- a/src/sdk/kernel/SyncDCache.c +++ b/src/sdk/kernel/SyncDCache.c @@ -11,15 +11,15 @@ void SyncDCache(s32 range_start_address, s32 range_end_address) { enum { INTERRUPT_ENABLE_BIT_CLEAR = 0 }; - u32 status; + u32 saved_interrupt_enable_bit; - status = CpuReadStatus(); - status &= 0x10000; - if (status != INTERRUPT_ENABLE_BIT_CLEAR) { + saved_interrupt_enable_bit = CpuReadStatus(); + saved_interrupt_enable_bit &= 0x10000; + if (saved_interrupt_enable_bit != INTERRUPT_ENABLE_BIT_CLEAR) { DIntr(); } _sceSDC(range_start_address & 0xFFFFFFC0, range_end_address & 0xFFFFFFC0); - if (status != INTERRUPT_ENABLE_BIT_CLEAR) { + if (saved_interrupt_enable_bit != INTERRUPT_ENABLE_BIT_CLEAR) { EnableInterrupts(); } } diff --git a/src/sdk/kernel/disable_dmac.c b/src/sdk/kernel/disable_dmac.c index 01e0a22b8f..1316d5fe05 100644 --- a/src/sdk/kernel/disable_dmac.c +++ b/src/sdk/kernel/disable_dmac.c @@ -11,17 +11,17 @@ s32 disable_dmac(s32 channel_index) { enum { EE_INTERRUPT_ENABLE_CLEAR = 0 }; - u32 status; + u32 saved_interrupt_enable_bit; s32 dmac_disable_result; - status = CpuReadStatus(); - status &= 0x10000; - if (status != EE_INTERRUPT_ENABLE_CLEAR) { + saved_interrupt_enable_bit = CpuReadStatus(); + saved_interrupt_enable_bit &= 0x10000; + if (saved_interrupt_enable_bit != EE_INTERRUPT_ENABLE_CLEAR) { DIntr(); } dmac_disable_result = _DisableDmac(channel_index); CpuSync(); - if (status != EE_INTERRUPT_ENABLE_CLEAR) { + if (saved_interrupt_enable_bit != EE_INTERRUPT_ENABLE_CLEAR) { EnableInterrupts(); } return dmac_disable_result; diff --git a/src/sdk/kernel/disable_intc.c b/src/sdk/kernel/disable_intc.c index 8bc5223ff1..ae316d7434 100644 --- a/src/sdk/kernel/disable_intc.c +++ b/src/sdk/kernel/disable_intc.c @@ -11,17 +11,17 @@ s32 disable_intc(s32 intc_cause) { enum { EE_INTERRUPT_ENABLE_CLEAR = 0 }; - u32 status; + u32 saved_interrupt_enable_bit; s32 result; - status = CpuReadStatus(); - status &= 0x10000; - if (status != EE_INTERRUPT_ENABLE_CLEAR) { + saved_interrupt_enable_bit = CpuReadStatus(); + saved_interrupt_enable_bit &= 0x10000; + if (saved_interrupt_enable_bit != EE_INTERRUPT_ENABLE_CLEAR) { DIntr(); } result = _DisableIntc(intc_cause); CpuSync(); - if (status != EE_INTERRUPT_ENABLE_CLEAR) { + if (saved_interrupt_enable_bit != EE_INTERRUPT_ENABLE_CLEAR) { EnableInterrupts(); } return result; diff --git a/src/sdk/kernel/enable_dmac.c b/src/sdk/kernel/enable_dmac.c index e77405bda9..84b667aa66 100644 --- a/src/sdk/kernel/enable_dmac.c +++ b/src/sdk/kernel/enable_dmac.c @@ -11,17 +11,17 @@ s32 enable_dmac(s32 channel_index) { enum { INTERRUPT_ENABLE_BIT_CLEAR = 0 }; - u32 status; + u32 saved_interrupt_enable_bit; s32 dmac_enable_result; - status = CpuReadStatus(); - status &= 0x10000; - if (status != INTERRUPT_ENABLE_BIT_CLEAR) { + saved_interrupt_enable_bit = CpuReadStatus(); + saved_interrupt_enable_bit &= 0x10000; + if (saved_interrupt_enable_bit != INTERRUPT_ENABLE_BIT_CLEAR) { DIntr(); } dmac_enable_result = _EnableDmac(channel_index); CpuSync(); - if (status != INTERRUPT_ENABLE_BIT_CLEAR) { + if (saved_interrupt_enable_bit != INTERRUPT_ENABLE_BIT_CLEAR) { EnableInterrupts(); } return dmac_enable_result; diff --git a/src/sdk/kernel/enable_intc.c b/src/sdk/kernel/enable_intc.c index ef1e7968ec..e66281c604 100644 --- a/src/sdk/kernel/enable_intc.c +++ b/src/sdk/kernel/enable_intc.c @@ -11,17 +11,17 @@ s32 enable_intc(s32 cause_index) { enum { EE_INTERRUPT_ENABLE_BIT_CLEAR = 0 }; - u32 status; + u32 saved_interrupt_enable_bit; s32 intc_enable_result; - status = CpuReadStatus(); - status &= 0x10000; - if (status != EE_INTERRUPT_ENABLE_BIT_CLEAR) { + saved_interrupt_enable_bit = CpuReadStatus(); + saved_interrupt_enable_bit &= 0x10000; + if (saved_interrupt_enable_bit != EE_INTERRUPT_ENABLE_BIT_CLEAR) { DIntr(); } intc_enable_result = _EnableIntc(cause_index); CpuSync(); - if (status != EE_INTERRUPT_ENABLE_BIT_CLEAR) { + if (saved_interrupt_enable_bit != EE_INTERRUPT_ENABLE_BIT_CLEAR) { EnableInterrupts(); } return intc_enable_result; diff --git a/src/sdk/kernel/sbrk.c b/src/sdk/kernel/sbrk.c index 67ad063c3e..338416d8a9 100644 --- a/src/sdk/kernel/sbrk.c +++ b/src/sdk/kernel/sbrk.c @@ -10,12 +10,12 @@ extern char *heap_break __asm__("D_0012FBF4") NOT_SDA; /* Sony libkernel sbrk: moves the program break by increment with interrupts disabled; fails with ENOMEM past the end of the heap. */ void *sbrk(s32 increment) { - u32 status = CpuReadStatus(); + u32 interrupts_were_enabled = CpuReadStatus(); char *proposed_heap_break; void *previous; - status &= 0x10000; - if (status) { + interrupts_were_enabled &= 0x10000; + if (interrupts_were_enabled) { do { CpuDisableInt(); CpuSyncP(); @@ -24,14 +24,14 @@ void *sbrk(s32 increment) { proposed_heap_break = heap_break + increment; if ((char *)EndOfHeap() < proposed_heap_break) { *__errno() = 12; - if (status) { + if (interrupts_were_enabled) { CpuEnableInt(); } return (void *)-1; } previous = heap_break; heap_break = proposed_heap_break; - if (status) { + if (interrupts_were_enabled) { CpuEnableInt(); } return previous; diff --git a/src/sdk/kernel/topThread.c b/src/sdk/kernel/topThread.c index 8327fe0fb1..a13f39e14d 100644 --- a/src/sdk/kernel/topThread.c +++ b/src/sdk/kernel/topThread.c @@ -19,14 +19,14 @@ void topThread(TopThreadQueue *queue) { THREAD_COMMAND_SUSPEND = 2 }; s32 i; - u8 type; + u8 command; for (;;) { WaitSema(top_thread_semaphore); i = queue->read_index & 0x1FF; queue->read_index = i + 1; - type = queue->requests[i].command; - switch (type) { + command = queue->requests[i].command; + switch (command) { case THREAD_COMMAND_WAKEUP: WakeupThread(queue->requests[i].argument); break; diff --git a/src/sdk/libc/stdio/_vfprintf_r.c b/src/sdk/libc/stdio/_vfprintf_r.c index a20f43e9b1..14cf7a7fa1 100644 --- a/src/sdk/libc/stdio/_vfprintf_r.c +++ b/src/sdk/libc/stdio/_vfprintf_r.c @@ -79,17 +79,17 @@ s32 _vfprintf_r(RncReent *reentrancy_state, RncFile *fp, const char *fmt0, va_li OCT, DEC, HEX - } base; /* base for [diouxX] conversion */ - int dprec; /* a copy of prec if [diouxX], 0 otherwise */ - int realsz; /* field size expanded by dprec */ - int size; /* size of converted field or string */ - char *xdigs; /* digits for [xX] conversion */ + } base; /* base for [diouxX] conversion */ + int dprec; /* a copy of prec if [diouxX], 0 otherwise */ + int realsz; /* field size expanded by dprec */ + int converted_field_byte_count; /* size of converted field or string */ + char *xdigs; /* digits for [xX] conversion */ #define NIOV 8 RncStdioUio uio; /* output information: summary */ RncStdioIov iov[NIOV]; /* ... and individual io vectors */ char conversion_buffer[BUF]; /* space for %c, %[diouxX], %[eEfgG] */ char ox[2]; /* space for 0x hex-prefix */ - int state = 0; /* mbtowc calls from library must not change state */ + int multibyte_conversion_state = 0; /* mbtowc calls from library must not change state */ /* * Choose PADSIZE to trade efficiency vs. size. If larger printf @@ -162,7 +162,8 @@ s32 _vfprintf_r(RncReent *reentrancy_state, RncFile *fp, const char *fmt0, va_li */ for (;;) { cp = fmt; - while ((n = convert_multibyte_character(_REENT, &wc, fmt, MB_CUR_MAX, &state)) > 0) { + while ((n = convert_multibyte_character( + _REENT, &wc, fmt, MB_CUR_MAX, &multibyte_conversion_state)) > 0) { fmt += n; if (wc == '%') { fmt--; @@ -272,7 +273,7 @@ s32 _vfprintf_r(RncReent *reentrancy_state, RncFile *fp, const char *fmt0, va_li goto rflag; case 'c': *(cp = conversion_buffer) = va_arg(ap, int); - size = 1; + converted_field_byte_count = 1; sign = '\0'; break; case 'D': @@ -313,7 +314,7 @@ s32 _vfprintf_r(RncReent *reentrancy_state, RncFile *fp, const char *fmt0, va_li cp = (char *)inf; } - size = 3; + converted_field_byte_count = 3; break; } if (isnan(_double)) { @@ -322,7 +323,7 @@ s32 _vfprintf_r(RncReent *reentrancy_state, RncFile *fp, const char *fmt0, va_li cp = (char *)nan; } - size = 3; + converted_field_byte_count = 3; break; } @@ -337,22 +338,22 @@ s32 _vfprintf_r(RncReent *reentrancy_state, RncFile *fp, const char *fmt0, va_li if (ch <= 'e') { /* 'e' or 'E' fmt */ --expt; expsize = exponent(expstr, expt, ch); - size = expsize + ndig; + converted_field_byte_count = expsize + ndig; if (ndig > 1 || flags & ALT) - ++size; + ++converted_field_byte_count; } else if (ch == 'f') { /* f fmt */ if (expt > 0) { - size = expt; + converted_field_byte_count = expt; if (prec || flags & ALT) - size += prec + 1; + converted_field_byte_count += prec + 1; } else /* "0.X" */ - size = prec + 2; + converted_field_byte_count = prec + 2; } else if (expt >= ndig) { /* fixed g fmt */ - size = expt; + converted_field_byte_count = expt; if (flags & ALT) - ++size; + ++converted_field_byte_count; } else - size = ndig + (expt > 0 ? 1 : 2 - expt); + converted_field_byte_count = ndig + (expt > 0 ? 1 : 2 - expt); if (softsign) sign = '-'; @@ -402,13 +403,13 @@ s32 _vfprintf_r(RncReent *reentrancy_state, RncFile *fp, const char *fmt0, va_li char *string_terminator = memchr(cp, 0, prec); if (string_terminator != NULL) { - size = string_terminator - cp; - if (size > prec) - size = prec; + converted_field_byte_count = string_terminator - cp; + if (converted_field_byte_count > prec) + converted_field_byte_count = prec; } else - size = prec; + converted_field_byte_count = prec; } else - size = strlen(cp); + converted_field_byte_count = strlen(cp); sign = '\0'; break; case 'U': @@ -483,11 +484,11 @@ s32 _vfprintf_r(RncReent *reentrancy_state, RncFile *fp, const char *fmt0, va_li default: cp = "bug in vfprintf: bad base"; - size = strlen(cp); + converted_field_byte_count = strlen(cp); goto skipsize; } } - size = conversion_buffer + BUF - cp; + converted_field_byte_count = conversion_buffer + BUF - cp; skipsize: break; default: /* "%?" prints ?, unless ? is NUL */ @@ -496,7 +497,7 @@ s32 _vfprintf_r(RncReent *reentrancy_state, RncFile *fp, const char *fmt0, va_li /* pretend it was %c with argument ch */ cp = conversion_buffer; *cp = ch; - size = 1; + converted_field_byte_count = 1; sign = '\0'; break; } @@ -515,7 +516,7 @@ s32 _vfprintf_r(RncReent *reentrancy_state, RncFile *fp, const char *fmt0, va_li * Compute actual size, so we know how much to pad. * size excludes decimal prec; realsz includes it. */ - realsz = dprec > size ? dprec : size; + realsz = dprec > converted_field_byte_count ? dprec : converted_field_byte_count; if (sign) realsz++; else if (flags & HEXPREFIX) @@ -539,11 +540,11 @@ s32 _vfprintf_r(RncReent *reentrancy_state, RncFile *fp, const char *fmt0, va_li PAD(width - realsz, zeroes); /* leading zeroes from decimal precision */ - PAD(dprec - size, zeroes); + PAD(dprec - converted_field_byte_count, zeroes); /* the string or number proper */ if ((flags & FPT) == 0) { - PRINT(cp, size); + PRINT(cp, converted_field_byte_count); } else { /* glue together f_p fragments */ static _CONST char zero[] RODATA = "0"; static _CONST char point[] RODATA = "."; diff --git a/src/sdk/libc/stdio/cvt.c b/src/sdk/libc/stdio/cvt.c index caf67a6a53..a80d436e97 100644 --- a/src/sdk/libc/stdio/cvt.c +++ b/src/sdk/libc/stdio/cvt.c @@ -36,7 +36,7 @@ typedef union { static s8 *cvt(struct _reent *reentrancy_state, f64 number_to_format, s32 ndigits, - s32 flags, + s32 format_flags, s8 *sign, s32 *decpt, s32 ch, @@ -46,17 +46,17 @@ static s8 *cvt(struct _reent *reentrancy_state, DTOA_MODE_SIGNIFICANT_DIGITS = 2, DTOA_MODE_FRACTIONAL_DIGITS = 3 }; - s32 mode, dsgn; + s32 dtoa_mode, dsgn; s8 *digits, *bp, *rve; double_union value_bits; if (ch == 'f') { - mode = DTOA_MODE_FRACTIONAL_DIGITS; + dtoa_mode = DTOA_MODE_FRACTIONAL_DIGITS; } else { if (ch == 'e' || ch == 'E') { ndigits++; } - mode = DTOA_MODE_SIGNIFICANT_DIGITS; + dtoa_mode = DTOA_MODE_SIGNIFICANT_DIGITS; } value_bits.d = number_to_format; if (word0(value_bits) & Sign_bit) { @@ -65,8 +65,8 @@ static s8 *cvt(struct _reent *reentrancy_state, } else { *sign = '\000'; } - digits = _dtoa_r(reentrancy_state, number_to_format, mode, ndigits, decpt, &dsgn, &rve); - if ((ch != 'g' && ch != 'G') || (flags & ALT)) { + digits = _dtoa_r(reentrancy_state, number_to_format, dtoa_mode, ndigits, decpt, &dsgn, &rve); + if ((ch != 'g' && ch != 'G') || (format_flags & ALT)) { bp = digits + ndigits; if (ch == 'f') { if (*digits == '0' && number_to_format) { diff --git a/src/sdk/libc/stdio/smakebuf.c b/src/sdk/libc/stdio/smakebuf.c index 159236e520..b8a13484f3 100644 --- a/src/sdk/libc/stdio/smakebuf.c +++ b/src/sdk/libc/stdio/smakebuf.c @@ -36,7 +36,7 @@ extern s32 isatty() __asm__("func_00118EC0"); extern s32 __sseek(void *, s32, s32); void __smakebuf(RncFile *fp) { - u32 size, couldbetty; + u32 buffer_bytes, couldbetty; void *allocated_buffer; struct RncStatBuffer file_status; @@ -47,11 +47,11 @@ void __smakebuf(RncFile *fp) { } if ((s16)fp->_file < 0 || _fstat_r(fp->_data, (s16)fp->_file, &file_status) < 0) { couldbetty = 0; - size = 0x400; + buffer_bytes = 0x400; fp->_flags |= 0x800; } else { couldbetty = (file_status.st_mode & 0xF000) == 0x2000; - size = 0x400; + buffer_bytes = 0x400; if ((file_status.st_mode & 0xF000) == 0x8000 && fp->_seek == __sseek) { fp->_flags |= 0x400; fp->_blksize = 1024; @@ -59,7 +59,7 @@ void __smakebuf(RncFile *fp) { fp->_flags |= 0x800; } } - if ((allocated_buffer = _malloc_r(fp->_data, size)) == NULL) { + if ((allocated_buffer = _malloc_r(fp->_data, buffer_bytes)) == NULL) { fp->_flags |= 2; fp->_bf._base = fp->_p = fp->_nbuf; fp->_bf._size = 1; @@ -67,7 +67,7 @@ void __smakebuf(RncFile *fp) { fp->_data->__cleanup = (void (*)(RncReent *))D_00113AC8; fp->_flags |= 0x80; fp->_bf._base = fp->_p = (u8 *)allocated_buffer; - fp->_bf._size = size; + fp->_bf._size = buffer_bytes; if (couldbetty && isatty((s16)fp->_file)) fp->_flags |= 1; } diff --git a/src/sdk/libc/stdio/sseek.c b/src/sdk/libc/stdio/sseek.c index 77721c29f4..a1904b15f2 100644 --- a/src/sdk/libc/stdio/sseek.c +++ b/src/sdk/libc/stdio/sseek.c @@ -32,11 +32,11 @@ typedef struct __sFILE { extern s64 _lseek_r() __asm__("func_00114518"); -s64 __sseek(void *cookie, s32 offset, s32 whence) { +s64 __sseek(void *cookie, s32 byte_offset, s32 whence) { register FILE *fp = (FILE *)cookie; register s64 ret; - ret = _lseek_r(fp->_data, fp->_file, offset, whence); + ret = _lseek_r(fp->_data, fp->_file, byte_offset, whence); if (ret == -1L) fp->_flags &= ~__SOFF; else { diff --git a/src/sdk/mpeg/api/sce_mpeg_create.c b/src/sdk/mpeg/api/sce_mpeg_create.c index 8e10770045..8dbaf4568e 100644 --- a/src/sdk/mpeg/api/sce_mpeg_create.c +++ b/src/sdk/mpeg/api/sce_mpeg_create.c @@ -14,22 +14,22 @@ extern void _clearOnce(void *); extern s32 sceMpegReset(void *); extern s32 ClearMpegReferenceBuffer(void *); -s32 sceMpegCreate(void *mp, u8 *mpeg_work_area, s32 size) { +s32 sceMpegCreate(void *mp, u8 *mpeg_work_area, s32 mpeg_work_area_size) { u8 *decoder; - u8 *state; + u8 *work_area_allocator; s32 rest; s32 decode_workspace_address; - memset(mpeg_work_area, 0, size); + memset(mpeg_work_area, 0, mpeg_work_area_size); decoder = (u8 *)((((u32)mpeg_work_area + 3) >> 2) << 2); - rest = size - (decoder - mpeg_work_area); + rest = mpeg_work_area_size - (decoder - mpeg_work_area); if ((u32)rest < 0x10C0) { _Error(decoder, mpeg_work_area_too_small_message); return 0; } - state = decoder + 0x108; + work_area_allocator = decoder + 0x108; W(mp, 0x40) = (s32)decoder; - init_work_area(state, decoder + 0x10C0, rest - 0x10C0); + init_work_area(work_area_allocator, decoder + 0x10C0, rest - 0x10C0); W(mp, 0x0) = 0; W(mp, 0x4) = 0; W(mp, 0x8) = 0; @@ -62,7 +62,7 @@ s32 sceMpegCreate(void *mp, u8 *mpeg_work_area, s32 size) { L(decoder, 0xF0) = -1; W(decoder, 0x1C) = (s32)D_0012CB30; W(decoder, 0x24) = (s32)D_0012CB40; - decode_workspace_address = alloc_work_area(decoder, state, 0x600, 8); + decode_workspace_address = alloc_work_area(decoder, work_area_allocator, 0x600, 8); W(decoder, 0x48) = 0; W(decoder, 0xFC) = 0; W(decoder, 0x100) = 0; @@ -91,7 +91,7 @@ s32 sceMpegCreate(void *mp, u8 *mpeg_work_area, s32 size) { W(decoder, 0x1D8) = (s32)(decoder + 0x458); W(decoder, 0x1DC) = (s32)(decoder + 0x4C0); W(decoder, 0x1E4) = (s32)(decoder + 0x528); - mark_work_area(state); + mark_work_area(work_area_allocator); W(decoder, 0x850) = -1; W(decoder, 0x84C) = 0; W(decoder, 0x81C) = 0x70003600; diff --git a/src/sdk/mpeg/api/sce_mpeg_demux_pss_ring.c b/src/sdk/mpeg/api/sce_mpeg_demux_pss_ring.c index c521456d21..fa02230ba7 100644 --- a/src/sdk/mpeg/api/sce_mpeg_demux_pss_ring.c +++ b/src/sdk/mpeg/api/sce_mpeg_demux_pss_ring.c @@ -68,7 +68,7 @@ typedef struct { extern void _sysbitInit(SysBit *bs, u8 *start, u8 *bufstart, s32 bufsize); extern u8 *GetSysbitPointer(SysBit *bs, s32 pos); -int sceMpegDemuxPssRing(sceMpeg *mp, u8 *start, int size, u8 *bufstart, int bufsize) { +int sceMpegDemuxPssRing(sceMpeg *mp, u8 *start, int available_bytes, u8 *bufstart, int bufsize) { enum { MPEG_CALLBACK_PES_PACKET = 6 }; @@ -111,9 +111,9 @@ int sceMpegDemuxPssRing(sceMpeg *mp, u8 *start, int size, u8 *bufstart, int bufs _pack_header(bitstream, &pss_header->pack); } while (peek_bits(bitstream, 24) == 1 && peek_bits(bitstream, 32) != 0x1BA && - peek_bits(bitstream, 32) != 0x1B9 && bitstream->pos < size * 8 && cont) { + peek_bits(bitstream, 32) != 0x1B9 && bitstream->pos < available_bytes * 8 && cont) { _PES_packet(sys, bitstream, &pss_header->pes); - if (bitstream->pos > size * 8) { + if (bitstream->pos > available_bytes * 8) { continue; } for (i = 0; i < sys->n; i++) { @@ -143,7 +143,7 @@ int sceMpegDemuxPssRing(sceMpeg *mp, u8 *start, int size, u8 *bufstart, int bufs consumed_bytes = bitstream->pos >> 3; } } - if (bitstream->pos > size * 8 || peek_bits(bitstream, 32) != 0x1BA) { + if (bitstream->pos > available_bytes * 8 || peek_bits(bitstream, 32) != 0x1BA) { break; } } diff --git a/src/sdk/mpeg/api/sce_mpeg_init.c b/src/sdk/mpeg/api/sce_mpeg_init.c index 3be684fd01..997a3e678e 100644 --- a/src/sdk/mpeg/api/sce_mpeg_init.c +++ b/src/sdk/mpeg/api/sce_mpeg_init.c @@ -4,14 +4,14 @@ extern s32 DIntr(); void sceMpegInit(void) { - s32 state; + s32 interrupts_were_enabled; - state = DIntr(); + interrupts_were_enabled = DIntr(); *(volatile u32 *)0x1000F590 = *(volatile u32 *)0x1000F520 | 0x10000; *(volatile u32 *)0x1000B000 &= 0xFFFFFEFF; *(volatile u32 *)0x1000B400 &= 0xFFFFFEFF; *(volatile u32 *)0x1000F590 = *(volatile u32 *)0x1000F520 & 0xFFFEFFFF; - if (state != FALSE) { + if (interrupts_were_enabled != FALSE) { EnableInterrupts(); } *(volatile u32 *)0x1000B020 = 0; diff --git a/src/sdk/mpeg/bitstream/_peepBit.c b/src/sdk/mpeg/bitstream/_peepBit.c index e3e8ed2ce1..f4c50f2a7b 100644 --- a/src/sdk/mpeg/bitstream/_peepBit.c +++ b/src/sdk/mpeg/bitstream/_peepBit.c @@ -13,10 +13,10 @@ typedef struct PeepBitContext { s32 unk858; } PeepBitContext; -s32 _peepBit(PeepBitContext *ctx, s32 count) { +s32 _peepBit(PeepBitContext *ctx, s32 requested_bit_count) { s32 counter; - if (ctx->ipu_command_class != 0 || ctx->available_bit_count < count) { + if (ctx->ipu_command_class != 0 || ctx->available_bit_count < requested_bit_count) { counter = 0; if ((*(volatile u32 *)0x10002010 & 0x80004000) == 0x80000000) { do { @@ -31,5 +31,5 @@ s32 _peepBit(PeepBitContext *ctx, s32 count) { ctx->bit_window = (s32)_waitIpuIdle64(ctx); ctx->available_bit_count = 0x20; } - return (u32)ctx->bit_window >> (0x20 - count); + return (u32)ctx->bit_window >> (0x20 - requested_bit_count); } diff --git a/src/sdk/mpeg/bitstream/nextbit.c b/src/sdk/mpeg/bitstream/nextbit.c index 447f0f637e..e33f344edc 100644 --- a/src/sdk/mpeg/bitstream/nextbit.c +++ b/src/sdk/mpeg/bitstream/nextbit.c @@ -13,7 +13,7 @@ typedef struct NextBitContext { s32 unk858; } NextBitContext; -s32 _nextBit(NextBitContext *ctx, s32 count) { +s32 _nextBit(NextBitContext *ctx, s32 bit_count) { s32 consumed_bits; s32 counter; u32 word; @@ -26,14 +26,14 @@ s32 _nextBit(NextBitContext *ctx, s32 count) { } } while ((*(volatile u32 *)0x10002010 & 0x80004000) == 0x80000000); } - if (ctx->ipu_command_class != 0 || ctx->available_bit_count < count) { + if (ctx->ipu_command_class != 0 || ctx->available_bit_count < bit_count) { *(volatile u32 *)0x10002000 = 0x40000000; ctx->ipu_command_class = IpuCommandTable[4]; ctx->cached_bit_window = (s32)(s64)_waitIpuIdle64(ctx); } - consumed_bits = ((u32)ctx->cached_bit_window) >> (0x20 - count); + consumed_bits = ((u32)ctx->cached_bit_window) >> (0x20 - bit_count); ctx->available_bit_count = 0x20; - word = count | 0x40000000; + word = bit_count | 0x40000000; *(volatile u32 *)0x10002000 = word; ctx->ipu_command_class = IpuCommandTable[word >> 28]; ctx->cached_bit_window = (s32)(s64)_waitIpuIdle64(ctx); diff --git a/src/sdk/mpeg/demux/_getPtsDtsFlags.c b/src/sdk/mpeg/demux/_getPtsDtsFlags.c index 31d7061620..f2c642754e 100644 --- a/src/sdk/mpeg/demux/_getPtsDtsFlags.c +++ b/src/sdk/mpeg/demux/_getPtsDtsFlags.c @@ -39,7 +39,7 @@ void GetMpegPictureTimestampsAndFlags(struct MpegTimestampState *state, s64 *presentation_timestamp, s64 *decoding_timestamp, - s64 *flags) { + s64 *packed_picture_attributes) { enum { MPEG_PTS_OVERRIDE_INACTIVE = 0, MPEG_PTS_OVERRIDE_PENDING = 2 @@ -87,5 +87,5 @@ void GetMpegPictureTimestampsAndFlags(struct MpegTimestampState *state, field_flags = ((s64)picture->repeat_first_field << 5) | ((s64)picture->top_field_first << 6); sequence_flags = ((s64)picture->progressive_sequence << 8) | picture->coding_type; picture_flags = ((s64)picture->progressive_frame << 7) | ((s64)picture->picture_structure << 3); - *flags = (sequence_flags | field_flags) | picture_flags; + *packed_picture_attributes = (sequence_flags | field_flags) | picture_flags; } diff --git a/src/sdk/mpeg/demux/system_header.c b/src/sdk/mpeg/demux/system_header.c index 9f7a056840..3b4b921ae7 100644 --- a/src/sdk/mpeg/demux/system_header.c +++ b/src/sdk/mpeg/demux/system_header.c @@ -4,11 +4,11 @@ s32 ParseSystemHeader(void *state) __asm__("_system_header"); -s32 ParseSystemHeader(void *state) { - _sysbitGet(state, 0x38); - _sysbitGet(state, 0x28); - while (peek_bits(state, 1) == 1) { - _sysbitGet(state, 0x18); +s32 ParseSystemHeader(void *bitstream_context) { + _sysbitGet(bitstream_context, 0x38); + _sysbitGet(bitstream_context, 0x28); + while (peek_bits(bitstream_context, 1) == 1) { + _sysbitGet(bitstream_context, 0x18); } return 1; } diff --git a/src/sdk/mpeg/errors/_Error.c b/src/sdk/mpeg/errors/_Error.c index 238128f838..7ccffa5f69 100644 --- a/src/sdk/mpeg/errors/_Error.c +++ b/src/sdk/mpeg/errors/_Error.c @@ -12,14 +12,14 @@ void print_mpeg_error(int argument) __asm__("JumpToImageSetup"); void _Error(struct ErrorContext *context, int argument) __asm__("_Error"); void _Error(struct ErrorContext *decoder_state, int argument) { - u32 state; + u32 library_context; int callback_arguments[2]; - state = FIELD(u32, decoder_state, 0x858); - if (state != 0 && decoder_state != 0 && FIELD(u32, decoder_state, 0x0C) != 0) { + library_context = FIELD(u32, decoder_state, 0x858); + if (library_context != 0 && decoder_state != 0 && FIELD(u32, decoder_state, 0x0C) != 0) { callback_arguments[1] = argument; callback_arguments[0] = 0; - _dispatchMpegCallback(state, callback_arguments); + _dispatchMpegCallback(library_context, callback_arguments); } else { print_mpeg_error(argument); } diff --git a/src/sdk/mpeg/headers/_extensionAndUserData.c b/src/sdk/mpeg/headers/_extensionAndUserData.c index cabb7dbdbe..c5e9002a49 100644 --- a/src/sdk/mpeg/headers/_extensionAndUserData.c +++ b/src/sdk/mpeg/headers/_extensionAndUserData.c @@ -38,15 +38,15 @@ const ExtTable mpeg_extension_dispatch_table __asm__("D_001538B8") = { void _extensionAndUserData(void *decoder_state) { ExtTable extension_handlers = mpeg_extension_dispatch_table; u32 code; - u32 id; + u32 extension_id; _nextStartCode(decoder_state); while ((code = _peepBit(decoder_state, 32)) == 0x1B5 || code == 0x1B2) { if (code == 0x1B5) { _flushBuf(decoder_state, 32); - id = _nextBit(decoder_state, 4); - id = id > 10 ? 0 : id; - extension_handlers.f[id](decoder_state); + extension_id = _nextBit(decoder_state, 4); + extension_id = extension_id > 10 ? 0 : extension_id; + extension_handlers.f[extension_id](decoder_state); _nextStartCode(decoder_state); } else { _flushBuf(decoder_state, 32); diff --git a/src/sdk/mpeg/macroblock/_decMB0.c b/src/sdk/mpeg/macroblock/_decMB0.c index 6c0030fed4..d43e8935f3 100644 --- a/src/sdk/mpeg/macroblock/_decMB0.c +++ b/src/sdk/mpeg/macroblock/_decMB0.c @@ -38,7 +38,7 @@ int _decMB0(struct MpegDecoder *decoder, u32 dc_reset_command_base; int motion_vector_count; int type_code; - int type; + int macroblock_type_flags; int coding_type; int new_var; int command_base; @@ -150,9 +150,9 @@ int _decMB0(struct MpegDecoder *decoder, } decode_success = 0; if (decoder->slice_error == 0) { - type = *mb_type; - coded = type & 3; - if (type & 1) { + macroblock_type_flags = *mb_type; + coded = macroblock_type_flags & 3; + if (macroblock_type_flags & 1) { if (decoder->concealment_motion_vectors != 0) { _flushBuf(decoder, 1); }; diff --git a/src/sdk/mpeg/picture/_clearEach.c b/src/sdk/mpeg/picture/_clearEach.c index 7bb0b835d8..0a5df29045 100644 --- a/src/sdk/mpeg/picture/_clearEach.c +++ b/src/sdk/mpeg/picture/_clearEach.c @@ -7,11 +7,11 @@ extern void EnableInterrupts(); extern s32 sceIpuSync(); void _clearEach(u8 *ctx) { - s32 state; + s32 interrupts_were_enabled; *(s32 *)(ctx + 0x818) = 1; *(s32 *)(ctx + 0x1B0) = 0; - state = DIntr(); + interrupts_were_enabled = DIntr(); *(volatile u32 *)0x1000F590 = *(volatile u32 *)0x1000F520 | 0x10000; *(volatile u32 *)0x1000B000 = 0; @@ -19,7 +19,7 @@ void _clearEach(u8 *ctx) { *(volatile u32 *)0x1000D400 = 0; *(volatile u32 *)0x1000F590 = *(volatile u32 *)0x1000F520 & 0xFFFEFFFF; - if (state != FALSE) + if (interrupts_were_enabled != FALSE) EnableInterrupts(); *(volatile u32 *)0x1000B020 = 0; diff --git a/src/sdk/mpeg/picture/_getpic.c b/src/sdk/mpeg/picture/_getpic.c index 85c8062a9d..181c9ea441 100644 --- a/src/sdk/mpeg/picture/_getpic.c +++ b/src/sdk/mpeg/picture/_getpic.c @@ -19,12 +19,12 @@ s32 _getpic(struct sceMpeg *mpeg) { MPEG_DECODE_SCAN_NEXT_HEADER = 0 }; s32 image_addr; - s32 status; + s32 decode_or_skip_result; u32 start_code; struct MpegDecoder *decoder; start_code = 1; - status = MPEG_DECODE_SCAN_NEXT_HEADER; + decode_or_skip_result = MPEG_DECODE_SCAN_NEXT_HEADER; decoder = mpeg->sys; image_addr = decoder->unkD8; decoder->is_end = 0; @@ -34,7 +34,7 @@ s32 _getpic(struct sceMpeg *mpeg) { } decoder->picture_ready = 0; do { - if (status == -1) { + if (decode_or_skip_result == -1) { goto dispatch; } do { @@ -56,16 +56,18 @@ s32 _getpic(struct sceMpeg *mpeg) { decoder->picture_count_b = 0; decoder->picture_count_p = 0; decoder->picture_count_i = 0; - status = _decodeOrSkip(mpeg, 0, decoder->decode_count_i); + decode_or_skip_result = _decodeOrSkip(mpeg, 0, decoder->decode_count_i); decoder->picture_count_i = (s32)(decoder->picture_count_i + 1); break; case MPEG_PREDICTIVE_PICTURE: - status = _decodeOrSkip(mpeg, decoder->picture_count_p, decoder->decode_count_p); + decode_or_skip_result = + _decodeOrSkip(mpeg, decoder->picture_count_p, decoder->decode_count_p); decoder->picture_count_p = (s32)(decoder->picture_count_p + 1); break; case MPEG_BIDIRECTIONAL_PICTURE: case MPEG_DC_INTRA_PICTURE: - status = _decodeOrSkip(mpeg, decoder->picture_count_b, decoder->decode_count_b); + decode_or_skip_result = + _decodeOrSkip(mpeg, decoder->picture_count_b, decoder->decode_count_b); decoder->picture_count_b = (s32)(decoder->picture_count_b + 1); break; } diff --git a/src/sdk/mpeg/picture/_lastFrame.c b/src/sdk/mpeg/picture/_lastFrame.c index b6c4c0a264..c3a651d51e 100644 --- a/src/sdk/mpeg/picture/_lastFrame.c +++ b/src/sdk/mpeg/picture/_lastFrame.c @@ -8,15 +8,16 @@ extern s32 _dispRefImageField(struct MpegDecoder *, struct MpegRefImage *, struct MpegRefImage *, s32); void _lastFrame(struct MpegDecoder *decoder) { - s32 count; - count = decoder->frame_count; + s32 saved_frame_count; + saved_frame_count = decoder->frame_count; if (decoder->second_field != 0) { - _Error(decoder, missing_second_field_message, count); + _Error(decoder, missing_second_field_message, saved_frame_count); } else { if (decoder->picture_structure == 3) { - _dispRefImage(decoder, decoder->ref_images[1], count - 1); + _dispRefImage(decoder, decoder->ref_images[1], saved_frame_count - 1); } else { - _dispRefImageField(decoder, decoder->ref_images[5], decoder->ref_images[9], count - 1); + _dispRefImageField( + decoder, decoder->ref_images[5], decoder->ref_images[9], saved_frame_count - 1); } } decoder->second_field = 0; diff --git a/src/sdk/mpeg/ref_images/disprefimagefield.c b/src/sdk/mpeg/ref_images/disprefimagefield.c index 3809d893a3..6c22e78cfd 100644 --- a/src/sdk/mpeg/ref_images/disprefimagefield.c +++ b/src/sdk/mpeg/ref_images/disprefimagefield.c @@ -72,7 +72,7 @@ void PrepareMpegPictureFieldTransfers( struct MpegPictureBuffer *first, struct MpegPictureBuffer *second) __asm__("_dispRefImageField"); -void PrepareMpegPictureFieldTransfers(struct MpegFieldTransferState *state, +void PrepareMpegPictureFieldTransfers(struct MpegFieldTransferState *decoder, struct MpegPictureBuffer *first_field_ref_image, struct MpegPictureBuffer *second_field_ref_image) { @@ -88,56 +88,56 @@ void PrepareMpegPictureFieldTransfers(struct MpegFieldTransferState *state, struct MpegPictureTransfer *transfer; struct MpegPictureTransfer *second_transfer; struct MpegPictureTransfer *final_transfer; - s32 flags; - flags = 0; - if (state->picture_structure == 2) { + s32 picture_structure_flag_mask; + picture_structure_flag_mask = 0; + if (decoder->picture_structure == 2) { primary = first_field_ref_image; secondary = second_field_ref_image; - flags = 0x40; + picture_structure_flag_mask = 0x40; } else { primary = second_field_ref_image; secondary = first_field_ref_image; } - transfer = state->transfer; - GetMpegPictureTimestampsAndFlags(state, + transfer = decoder->transfer; + GetMpegPictureTimestampsAndFlags(decoder, primary, &transfer->first_timestamp.value, &transfer->first_decode_timestamp, &transfer->first_flags); - second_transfer = state->transfer; + second_transfer = decoder->transfer; timestamp = second_transfer->first_timestamp.words.low; - state->timestamp_step = 1; - state->last_timestamp = timestamp; - GetMpegPictureTimestampsAndFlags(state, + decoder->timestamp_step = 1; + decoder->last_timestamp = timestamp; + GetMpegPictureTimestampsAndFlags(decoder, secondary, &second_transfer->second_timestamp.value, &second_transfer->second_decode_timestamp, &second_transfer->second_flags); - final_transfer = state->transfer; + final_transfer = decoder->transfer; second_timestamp = final_transfer->second_timestamp.words.low; - state->timestamp_step = 1; - state->last_timestamp = second_timestamp; - first_flags = final_transfer->first_flags | flags; - state->display_width = primary->display_width; + decoder->timestamp_step = 1; + decoder->last_timestamp = second_timestamp; + first_flags = final_transfer->first_flags | picture_structure_flag_mask; + decoder->display_width = primary->display_width; second_flags = final_transfer->second_flags; final_transfer->first_flags = first_flags; - second_flags |= flags; + second_flags |= picture_structure_flag_mask; display_height = primary->display_height; final_transfer->second_flags = second_flags; - state->display_height = display_height; - state->horizontal_offset0 = primary->horizontal_offset0; - state->horizontal_offset1 = secondary->horizontal_offset1; - state->vertical_offset0 = primary->vertical_offset0; - state->vertical_offset1 = secondary->vertical_offset1; - if (_isOutSizeOK(state, first_field_ref_image) && + decoder->display_height = display_height; + decoder->horizontal_offset0 = primary->horizontal_offset0; + decoder->horizontal_offset1 = secondary->horizontal_offset1; + decoder->vertical_offset0 = primary->vertical_offset0; + decoder->vertical_offset1 = secondary->vertical_offset1; + if (_isOutSizeOK(decoder, first_field_ref_image) && first_field_ref_image->status == MPEG_PICTURE_STATUS_OUTPUT_READY && second_field_ref_image->status == MPEG_PICTURE_STATUS_OUTPUT_READY) { first_field_ref_image->macroblock_height *= 2; - if (state->decoder_initialized) - _csc_storeRefImage(state, first_field_ref_image); + if (decoder->decoder_initialized) + _csc_storeRefImage(decoder, first_field_ref_image); else - _cpr8(state, first_field_ref_image); + _cpr8(decoder, first_field_ref_image); first_field_ref_image->macroblock_height >>= 1; - FinishMpegReferenceImage(state); + FinishMpegReferenceImage(decoder); } } diff --git a/src/sdk/mpeg/ref_images/dma_ref_image.c b/src/sdk/mpeg/ref_images/dma_ref_image.c index ac032f0997..066a4a2bf3 100644 --- a/src/sdk/mpeg/ref_images/dma_ref_image.c +++ b/src/sdk/mpeg/ref_images/dma_ref_image.c @@ -35,7 +35,7 @@ void dmaRefImage(MpegRefImageState *state) { u64 *tag; s32 count; s32 interrupts; - s32 id; + s32 second_tag_id; u32 address; u64 first_tag; @@ -47,12 +47,12 @@ void dmaRefImage(MpegRefImageState *state) { first_tag = ((u64)(state->buffers[state->index].first_source[i] & 0x0fffffff) << 32) | 0x30000030; address = state->buffers[state->index].second_source[i]; - id = 3; + second_tag_id = 3; if (i == count - 1) { - id = 0; + second_tag_id = 0; } tag[0] = first_tag; - tag[2] = ((u64)(address & 0x0fffffff) << 32) | ((u64)id << 28) | 0x30; + tag[2] = ((u64)(address & 0x0fffffff) << 32) | ((u64)second_tag_id << 28) | 0x30; tag += 4; i++; } while (i < count); diff --git a/src/sdk/rpc/iop/sce_sif_alloc_iop_heap.c b/src/sdk/rpc/iop/sce_sif_alloc_iop_heap.c index 7b5b3b9af9..9f12f0c7b0 100644 --- a/src/sdk/rpc/iop/sce_sif_alloc_iop_heap.c +++ b/src/sdk/rpc/iop/sce_sif_alloc_iop_heap.c @@ -7,10 +7,10 @@ extern u8 D_00158040[]; extern u32 D_00158080[]; extern u8 D_001580C0[]; -void *sceSifAllocIopHeap(s32 size) { +void *sceSifAllocIopHeap(s32 size_bytes) { if (D_0012FCAC < 0) return 0; - *(s32 *)D_001580C0 = size; + *(s32 *)D_001580C0 = size_bytes; if (sceSifCallRpc(D_00158040, 1, 0, D_001580C0, 4, D_00158080, 4, 0, 0) < 0) return 0; return *(void **)D_00158080; diff --git a/src/sdk/rpc/iop/sce_sif_load_module_buffer.c b/src/sdk/rpc/iop/sce_sif_load_module_buffer.c index 31b59b6207..ec7fecec41 100644 --- a/src/sdk/rpc/iop/sce_sif_load_module_buffer.c +++ b/src/sdk/rpc/iop/sce_sif_load_module_buffer.c @@ -11,7 +11,11 @@ extern u8 D_00158400[]; extern s32 sif_load_module_server_changed() __asm__("func_0011CAE0"); extern s32 memcpy(); #define SIFCMD ((struct SifLoadModuleArgs *)D_00158200) -s32 _sceSifLoadModuleBuffer(s32 iop_address, s32 size, s32 module_arguments, s32 *result_out) { +s32 _sceSifLoadModuleBuffer(s32 iop_address, + s32 argument_byte_count, + s32 module_arguments, + + s32 *result_out) { s32 mask; s32 rpc_return_value; @@ -24,12 +28,12 @@ s32 _sceSifLoadModuleBuffer(s32 iop_address, s32 size, s32 module_arguments, s32 } SIFCMD->module_or_result = iop_address; if (module_arguments != 0) { - if (size >= 0xFD) { + if (argument_byte_count >= 0xFD) { memcpy(D_00158200 + 0x104, (void *)module_arguments, 0xFC); SIFCMD->arg_len_or_modres = 0xFC; } else { - memcpy(D_00158200 + 0x104, (void *)module_arguments, size); - SIFCMD->arg_len_or_modres = size; + memcpy(D_00158200 + 0x104, (void *)module_arguments, argument_byte_count); + SIFCMD->arg_len_or_modres = argument_byte_count; } } else { SIFCMD->arg_len_or_modres = 0; diff --git a/src/sdk/rpc/rpc/sce_sif_bind_rpc.c b/src/sdk/rpc/rpc/sce_sif_bind_rpc.c index c79866e0e5..111d8e38c5 100644 --- a/src/sdk/rpc/rpc/sce_sif_bind_rpc.c +++ b/src/sdk/rpc/rpc/sce_sif_bind_rpc.c @@ -17,7 +17,7 @@ extern s32 DeleteSema(); extern s32 WaitSema(); extern s32 get_available_rpc_packet() __asm__("func_0011ACE8"); -s32 sceSifBindRpc(struct sceSifClientData *client, s32 rpc_number, s32 mode) { +s32 sceSifBindRpc(struct sceSifClientData *client, s32 rpc_number, s32 completion_mode) { s32 sema_param[6]; s32 sema_id; struct SifRpcPacket *packet; @@ -33,7 +33,7 @@ s32 sceSifBindRpc(struct sceSifClientData *client, s32 rpc_number, s32 mode) { packet->sid = rpc_number; packet->pkt_addr = (s32)packet; packet->client = (s32)client; - if (mode & 1) { + if (completion_mode & 1) { goto block_7; } sema_param[1] = 1; diff --git a/src/sdk/rpc/rpc/sce_sif_call_rpc.c b/src/sdk/rpc/rpc/sce_sif_call_rpc.c index aa8a80d1dd..b1e4c0b04b 100644 --- a/src/sdk/rpc/rpc/sce_sif_call_rpc.c +++ b/src/sdk/rpc/rpc/sce_sif_call_rpc.c @@ -46,7 +46,7 @@ extern s32 sceSifSendCmd(); extern s32 sceSifWriteBackDCache(); s32 sceSifCallRpc(struct SifRpcClient *client, s32 rpc_number, - s32 mode, + s32 call_options, s32 send_buf, s32 send_size, s32 recv_buf, @@ -70,7 +70,7 @@ s32 sceSifCallRpc(struct SifRpcClient *client, return allocation_failure_result; } request_id = packet->request_id; - skip_cache_writeback = mode & 2; + skip_cache_writeback = call_options & 2; client->end_argument = end_data; client->packet = (s32)packet; client->request_id = request_id; @@ -94,7 +94,7 @@ s32 sceSifCallRpc(struct SifRpcClient *client, } } } - if (mode & 1) { + if (call_options & 1) { if (end_func == 0) { packet->completion_mode = RPC_COMPLETION_DISABLED; } else { diff --git a/src/sdk/rpc/rpc/sce_sif_init_rpc.c b/src/sdk/rpc/rpc/sce_sif_init_rpc.c index 5cfea995ff..ce06aa3d02 100644 --- a/src/sdk/rpc/rpc/sce_sif_init_rpc.c +++ b/src/sdk/rpc/rpc/sce_sif_init_rpc.c @@ -26,7 +26,7 @@ extern s32 DIntr(void); extern u32 sceSifGetReg(u32 reg); extern u32 sceSifSetReg(u32 reg, u32 val); -void sceSifInitRpc(u32 mode) { +void sceSifInitRpc(u32 unused_mode) { s32 *packet; DIntr(); diff --git a/src/sdk/storage/cdvd/handle_cd_read_callback.c b/src/sdk/storage/cdvd/handle_cd_read_callback.c index 42a24be057..2382b2435d 100644 --- a/src/sdk/storage/cdvd/handle_cd_read_callback.c +++ b/src/sdk/storage/cdvd/handle_cd_read_callback.c @@ -9,8 +9,8 @@ extern s32 iSignalSema(); void handle_cd_read_callback(s32 *status) __asm__("FUN_001206d8"); -void handle_cd_read_callback(s32 *status) { - D_00131314[0] = *status; +void handle_cd_read_callback(s32 *completed_command_state) { + D_00131314[0] = *completed_command_state; native_cd_last_command_state[0] = D_00131314[0]; if (D_00131314[0] == 11) { D_00131314[0] = 0; diff --git a/src/sdk/storage/cdvd/sceCdNcmdDiskReady.c b/src/sdk/storage/cdvd/sceCdNcmdDiskReady.c index 6b4f654072..839058f94f 100644 --- a/src/sdk/storage/cdvd/sceCdNcmdDiskReady.c +++ b/src/sdk/storage/cdvd/sceCdNcmdDiskReady.c @@ -7,7 +7,7 @@ extern s32 SignalSema(); extern s32 cd_check_ncmd() __asm__("func_00120A28"); s32 sceCdNcmdDiskReady(void) { - s32 status; + s32 drive_state; if (cd_check_ncmd(2) == 0) { return 0; @@ -16,7 +16,7 @@ s32 sceCdNcmdDiskReady(void) { SignalSema(cd_ncmd_sema); return 0; } - status = *(u32 *)((u32)native_cd_drive_state_response | 0x20000000); + drive_state = *(u32 *)((u32)native_cd_drive_state_response | 0x20000000); SignalSema(cd_ncmd_sema); - return status; + return drive_state; } diff --git a/src/sdk/storage/cdvd/sceCdRead.c b/src/sdk/storage/cdvd/sceCdRead.c index ffcc53aef3..ff64ba9f04 100644 --- a/src/sdk/storage/cdvd/sceCdRead.c +++ b/src/sdk/storage/cdvd/sceCdRead.c @@ -32,7 +32,7 @@ s32 sceCdRead(u32 sector, u32 count, void *buffer, struct sceCdRMode *mode) { CD_READ_PATTERN_2340_BYTES_PER_SECTOR = 2 }; struct CdReadCommand *command = &native_cd_read_request; - s32 size; + s32 transfer_byte_count; if (!(D_001312F4[0] & 1) && sceCdNcmdDiskReady() == 6) { return 0; @@ -50,19 +50,19 @@ s32 sceCdRead(u32 sector, u32 count, void *buffer, struct sceCdRMode *mode) { command->status = (s32 *)native_cd_read_response; switch (mode->datapattern) { case CD_READ_PATTERN_2328_BYTES_PER_SECTOR: - size = count * 2328; + transfer_byte_count = count * 2328; break; case CD_READ_PATTERN_2340_BYTES_PER_SECTOR: - size = count * 2340; + transfer_byte_count = count * 2340; break; case CD_READ_PATTERN_2048_BYTES_PER_SECTOR: default: - size = count * 2048; + transfer_byte_count = count * 2048; break; } *(s32 *)native_cd_read_response = 0; if (!(D_001312F4[0] & 2)) { - sceSifWriteBackDCache(buffer, size); + sceSifWriteBackDCache(buffer, transfer_byte_count); } sceSifWriteBackDCache(native_cd_read_completion_buffer, 0x90); sceSifWriteBackDCache(command, sizeof(*command)); diff --git a/src/sdk/storage/cdvd/sceCdSyncS.c b/src/sdk/storage/cdvd/sceCdSyncS.c index 7bedc92589..a0aae0e285 100644 --- a/src/sdk/storage/cdvd/sceCdSyncS.c +++ b/src/sdk/storage/cdvd/sceCdSyncS.c @@ -7,11 +7,11 @@ const char cd_s_command_wait_message[] __asm__("D_00152F00") = "S cmd wait\n"; -s32 sceCdSyncS(s32 mode) { +s32 sceCdSyncS(s32 nonblocking) { enum { CD_SYNC_S_WAIT = 0 }; - if (mode == CD_SYNC_S_WAIT) { + if (nonblocking == CD_SYNC_S_WAIT) { if (cd_debug > 0) { scePrintf(cd_s_command_wait_message); } diff --git a/src/sdk/storage/cdvd/scecdbreak.c b/src/sdk/storage/cdvd/scecdbreak.c index 539e1952e8..5810572423 100644 --- a/src/sdk/storage/cdvd/scecdbreak.c +++ b/src/sdk/storage/cdvd/scecdbreak.c @@ -7,7 +7,7 @@ extern s32 SignalSema(s32 semaId); extern s32 cd_check_scmd(s32 cmd) __asm__("func_00120D40"); s32 sceCdBreak(void) { - s32 status; + s32 cd_break_response; if (cd_check_scmd(0x1E) == 0) { return 0; @@ -20,10 +20,10 @@ s32 sceCdBreak(void) { return 0; } D_00131314[0] = 0; - status = *(u32 *)((u32)cd_scmd_result | 0x20000000); + cd_break_response = *(u32 *)((u32)cd_scmd_result | 0x20000000); { s32 sema2 = *(volatile u32 *)&cd_scmd_sema; SignalSema(sema2); } - return status; + return cd_break_response; } diff --git a/src/sdk/storage/fileio/sceClose.c b/src/sdk/storage/fileio/sceClose.c index 1b23b3b684..b39d40a1a3 100644 --- a/src/sdk/storage/fileio/sceClose.c +++ b/src/sdk/storage/fileio/sceClose.c @@ -28,7 +28,7 @@ s32 sceClose(s32 fd) { s32 ok; s32 sid; struct SifFileSlot *io; - struct SifFileState *state = &D_00156880; + struct SifFileState *close_request = &D_00156880; io = get_iob(fd); _sceFsWaitS(1); @@ -40,16 +40,16 @@ s32 sceClose(s32 fd) { _sceFsSigSema(); return -9; } - state->fd = io->fd; + close_request->fd = io->fd; sema.maxCount = 1; - state->iob_index = io - fio_iob; + close_request->iob_index = io - fio_iob; sema.initCount = 0; sema.option = 0; sid = CreateSema(&sema); - state->sema = sid; - state->result_addr = (s32)&close_completion_result; - state->result_size = 4; - if (sceSifCallRpc(&fio_rpc_client, 1, 0, state, 0x14, fio_rpc_result, 4, 0, 0) < 0) { + close_request->sema = sid; + close_request->result_addr = (s32)&close_completion_result; + close_request->result_size = 4; + if (sceSifCallRpc(&fio_rpc_client, 1, 0, close_request, 0x14, fio_rpc_result, 4, 0, 0) < 0) { DeleteSema(sid); _sceFsSigSema(); return -0xB; diff --git a/src/sdk/storage/memory_card/sce_mc_get_dir.c b/src/sdk/storage/memory_card/sce_mc_get_dir.c index 477cb66d91..4fa465f80b 100644 --- a/src/sdk/storage/memory_card/sce_mc_get_dir.c +++ b/src/sdk/storage/memory_card/sce_mc_get_dir.c @@ -20,7 +20,7 @@ extern s32 SignalSema(); extern s32 sceSifWriteBackDCache(); extern s32 strncpy(s8 *, s8 *, s32); -s32 sceMcGetDir(s32 port, s32 slot, s8 *name, s32 mode, s32 maxent, s32 table) { +s32 sceMcGetDir(s32 port, s32 slot, s8 *name, s32 continue_search, s32 maxent, s32 table) { enum { RPC_SUBMISSION_SUCCESS = 0 }; @@ -39,7 +39,7 @@ s32 sceMcGetDir(s32 port, s32 slot, s8 *name, s32 mode, s32 maxent, s32 table) { } D_00159AB0.port = port; D_00159AB0.slot = path_arg; - D_00159AB0.mode = mode; + D_00159AB0.mode = continue_search; D_00159AB0.maxent = maxent; D_00159AB0.table = table; strncpy(D_00159AB0.name, name, 0x3FF); diff --git a/src/sdk/storage/memory_card/sce_mc_get_info.c b/src/sdk/storage/memory_card/sce_mc_get_info.c index 2116997fc0..e3b9380892 100644 --- a/src/sdk/storage/memory_card/sce_mc_get_info.c +++ b/src/sdk/storage/memory_card/sce_mc_get_info.c @@ -24,7 +24,7 @@ extern s32 PollSema(); extern s32 SignalSema(); extern s32 sceSifWriteBackDCache(); -s32 sceMcGetInfo(s32 port, s32 slot, s32 type, s32 free_blocks, s32 format) { +s32 sceMcGetInfo(s32 port, s32 slot, s32 card_type_output, s32 free_blocks, s32 format) { s32 rpc_dispatch_result; if (mc_rpc_client.serve == 0) { @@ -36,7 +36,7 @@ s32 sceMcGetInfo(s32 port, s32 slot, s32 type, s32 free_blocks, s32 format) { D_00159A80.port = port; D_00159A80.slot = slot; D_00159A80.result = D_00159F00; - if (type != NULL) { + if (card_type_output != NULL) { D_00159A80.want_type = 1; } else { D_00159A80.want_type = 0; @@ -51,7 +51,7 @@ s32 sceMcGetInfo(s32 port, s32 slot, s32 type, s32 free_blocks, s32 format) { } else { D_00159A80.want_format = 0; } - D_00159A28[0] = type; + D_00159A28[0] = card_type_output; D_00159A2C[0] = free_blocks; D_00159A30[0] = (u32)format; sceSifWriteBackDCache(D_00159F00, 0xC0); diff --git a/src/sdk/storage/memory_card/sce_mc_open.c b/src/sdk/storage/memory_card/sce_mc_open.c index 8fed75e4b9..30c3357ec5 100644 --- a/src/sdk/storage/memory_card/sce_mc_open.c +++ b/src/sdk/storage/memory_card/sce_mc_open.c @@ -17,7 +17,7 @@ extern s32 PollSema(); extern s32 SignalSema(); extern char *strncpy(); -s32 sceMcOpen(s32 port, s32 slot, char *name, s32 mode) { +s32 sceMcOpen(s32 port, s32 slot, char *name, s32 open_flags) { struct MemoryCardNameParam *request; s32 rpc_result; @@ -34,7 +34,7 @@ s32 sceMcOpen(s32 port, s32 slot, char *name, s32 mode) { strncpy(D_00159AC4, name, 0x3FF); request = (struct MemoryCardNameParam *)(D_00159AC4 - 0x14); request->port = port; - request->flags = mode; + request->flags = open_flags; request->slot = slot; request->name[0x3FF] = 0; rpc_result = diff --git a/src/sdk/syscalls/rfu_dispatch_entry.c b/src/sdk/syscalls/rfu_dispatch_entry.c index 332ae76720..38684fa6ed 100644 --- a/src/sdk/syscalls/rfu_dispatch_entry.c +++ b/src/sdk/syscalls/rfu_dispatch_entry.c @@ -4,7 +4,7 @@ extern void RfuDispatchEntry(int status); extern void _Exit(int status); -void RfuDispatchEntry(int status) { +void RfuDispatchEntry(int exit_status) { JumpToRfuDispatch(); - _Exit(status); + _Exit(exit_status); } diff --git a/src/sdk/system/get_sysbit_pointer.c b/src/sdk/system/get_sysbit_pointer.c index 4450690f53..ed4bd253cc 100644 --- a/src/sdk/system/get_sysbit_pointer.c +++ b/src/sdk/system/get_sysbit_pointer.c @@ -8,11 +8,11 @@ typedef struct SysbitState { u32 wrap_base; } SysbitState; -s32 GetSysbitPointer(SysbitState *state, s32 bit_offset) { - u32 bit_pointer = state->bit_pointer + (bit_offset >> 3); +s32 GetSysbitPointer(SysbitState *bitstream, s32 bit_offset) { + u32 bit_pointer = bitstream->bit_pointer + (bit_offset >> 3); - if (bit_pointer >= state->limit) { - bit_pointer -= state->wrap_base; + if (bit_pointer >= bitstream->limit) { + bit_pointer -= bitstream->wrap_base; } return bit_pointer; } diff --git a/src/sdk/system/sysbit_init.c b/src/sdk/system/sysbit_init.c index 52cc122c33..8d73638da4 100644 --- a/src/sdk/system/sysbit_init.c +++ b/src/sdk/system/sysbit_init.c @@ -13,14 +13,14 @@ typedef struct SysbitState { u32 wrap_base; } SysbitState; -void _sysbitInit(SysbitState *ctx, s32 initial_bit_pointer, s32 base_addr, s32 size) { +void _sysbitInit(SysbitState *ctx, s32 initial_bit_pointer, s32 base_addr, s32 buffer_size_bytes) { ctx->field8 = initial_bit_pointer; ctx->bit_pointer = initial_bit_pointer; ctx->bits = 0; ctx->cnt = 0; ctx->total = 0; ctx->base = base_addr; - ctx->limit = base_addr + size; - ctx->wrap_base = size; + ctx->limit = base_addr + buffer_size_bytes; + ctx->wrap_base = buffer_size_bytes; _sysbitFlush(ctx, 0); } diff --git a/src/sdk/system/sysbit_jump.c b/src/sdk/system/sysbit_jump.c index 1af758c8ec..e646b68684 100644 --- a/src/sdk/system/sysbit_jump.c +++ b/src/sdk/system/sysbit_jump.c @@ -15,18 +15,18 @@ typedef struct SysbitState { void _sysbitJump(SysbitState *ctx, s32 bits) { s64 total; - u32 offset; + u32 byte_position; u32 unwrapped_byte_pointer; ctx->bits = 0; ctx->cnt = 0; total = (ctx->total = (bits * 8) + ctx->total); - offset = (u32)(total >> 3); - unwrapped_byte_pointer = ctx->field8 + offset; - offset = unwrapped_byte_pointer; + byte_position = (u32)(total >> 3); + unwrapped_byte_pointer = ctx->field8 + byte_position; + byte_position = unwrapped_byte_pointer; ctx->bit_pointer = unwrapped_byte_pointer; if (unwrapped_byte_pointer >= ctx->limit) { - ctx->bit_pointer = offset - ctx->wrap_base; + ctx->bit_pointer = byte_position - ctx->wrap_base; } _sysbitFlush(ctx, 0); } diff --git a/src/sdk/time/adjust_time.c b/src/sdk/time/adjust_time.c index facd608e58..45dfffa6a9 100644 --- a/src/sdk/time/adjust_time.c +++ b/src/sdk/time/adjust_time.c @@ -11,11 +11,11 @@ struct AdjustTimeArg { extern void decode_bcd_time_fields() __asm__("func_0012D3C0"); extern void encode_bcd_time_fields() __asm__("func_0012D428"); -void AdjustTime(struct AdjustTimeArg *time, s32 offset) { +void AdjustTime(struct AdjustTimeArg *time, s32 minute_delta) { s32 hour; decode_bcd_time_fields(); - hour = time->hour + offset; + hour = time->hour + minute_delta; if (hour >= 0) { if (hour >= 0x3D) { do { diff --git a/src/ui/help/find_help_entry.c b/src/ui/help/find_help_entry.c index 5a89f7742c..eeb5574f12 100644 --- a/src/ui/help/find_help_entry.c +++ b/src/ui/help/find_help_entry.c @@ -3,11 +3,11 @@ s32 find_help_entry(s16 id, s32 which, u16 *other) __asm__("FUN_001fecc8"); -s32 find_help_entry(s16 id, s32 which, u16 *paired_column_output) { +s32 find_help_entry(s16 lookup_key, s32 which, u16 *paired_column_output) { s32 i; for (i = 0; i < 150; i++) { - if (message_id_code_table[i][which] == id) { + if (message_id_code_table[i][which] == lookup_key) { if (paired_column_output != 0) { *paired_column_output = message_id_code_table[i][which ? 0 : 1]; } diff --git a/src/ui/help/push_help_history.c b/src/ui/help/push_help_history.c index d6e4926ca3..97e227dc09 100644 --- a/src/ui/help/push_help_history.c +++ b/src/ui/help/push_help_history.c @@ -5,11 +5,11 @@ extern s32 find_help_entry(s16, s32, u16 *) __asm__("func_001FECC8"); void push_help_history(s32 id) __asm__("FUN_001fed30"); -void push_help_history(s32 id) { +void push_help_history(s32 help_entry_id) { s32 slot; s32 i; - slot = find_help_entry(id, 0, 0); + slot = find_help_entry(help_entry_id, 0, 0); if (slot == -1) { return; } diff --git a/src/ui/hud/banks/hud_heap_alloc.c b/src/ui/hud/banks/hud_heap_alloc.c index 7ae45ffd43..651058dcb4 100644 --- a/src/ui/hud/banks/hud_heap_alloc.c +++ b/src/ui/hud/banks/hud_heap_alloc.c @@ -4,19 +4,19 @@ s32 hud_heap_alloc(s32 size) __asm__("FUN_001ff288"); -s32 hud_heap_alloc(s32 size) { +s32 hud_heap_alloc(s32 allocation_size_bytes) { struct HudState *hud_state_ptr = &hud_state; s32 allocation_address; if (hud_state_ptr->heap_cur == 0) { hud_heap_reset(); } - if (hud_state_ptr->heap_end - hud_state_ptr->heap_cur < size) { + if (hud_state_ptr->heap_end - hud_state_ptr->heap_cur < allocation_size_bytes) { return 0; } allocation_address = hud_state_ptr->heap_cur; - size = (size + 15) & 0xFFFFFFF0; - hud_state_ptr->heap_cur = allocation_address + size; + allocation_size_bytes = (allocation_size_bytes + 15) & 0xFFFFFFF0; + hud_state_ptr->heap_cur = allocation_address + allocation_size_bytes; return allocation_address; } diff --git a/src/ui/hud/banks/hud_send_resident_bank.c b/src/ui/hud/banks/hud_send_resident_bank.c index 6ed5d2db7e..e1384f1c47 100644 --- a/src/ui/hud/banks/hud_send_resident_bank.c +++ b/src/ui/hud/banks/hud_send_resident_bank.c @@ -19,7 +19,7 @@ void hud_send_resident_bank(s32 bank, s32 bank_source_address, s32 immediate) { s32 page; s32 width_log2; s32 height_log2; - s32 size; + s32 image_pixel_count; if (hud_state.header.counts->loaded[bank] == 0) { link_hud_bank(0, bank_source_address); @@ -36,14 +36,14 @@ void hud_send_resident_bank(s32 bank, s32 bank_source_address, s32 immediate) { page = address >> 8; width_log2 = hud_state.image_pages[i].width_log2; height_log2 = hud_state.image_pages[i].height_log2; - size = 1 << (width_log2 + height_log2); + image_pixel_count = 1 << (width_log2 + height_log2); hud_send_texture(hud_state.image_pages[i].source_address, page, 0x1B, width_log2, height_log2, immediate); - address += size * 4; + address += image_pixel_count * 4; hud_state.image_pages[i].gs_block_offset = page; } } diff --git a/src/ui/hud/banks/load_compressed_hud_bank.c b/src/ui/hud/banks/load_compressed_hud_bank.c index efa09061fa..4d8d5af5be 100644 --- a/src/ui/hud/banks/load_compressed_hud_bank.c +++ b/src/ui/hud/banks/load_compressed_hud_bank.c @@ -5,14 +5,15 @@ extern s32 decompress_wad() __asm__("func_0020B618"); void load_compressed_hud_bank(s32 bank, s32 raw_size) __asm__("FUN_00202d10"); void load_compressed_hud_bank(s32 bank, s32 raw_size) { - s32 size; + s32 aligned_raw_size; u32 level_archive_base; - size = (raw_size + 0xF) & 0xFFFFFFF0; - if (size != 0) { + aligned_raw_size = (raw_size + 0xF) & 0xFFFFFFF0; + if (aligned_raw_size != 0) { level_archive_base = *(u32 *)0x15EE4C; - decompress_wad( - *(s32 *)((u8 *)(level_archive_base - (-(bank * 8))) + 0x28) + level_archive_base, size); + decompress_wad(*(s32 *)((u8 *)(level_archive_base - (-(bank * 8))) + 0x28) + + level_archive_base, + aligned_raw_size); } { register u32 b2; diff --git a/src/ui/hud/sprites/draw_hud_sprite.c b/src/ui/hud/sprites/draw_hud_sprite.c index 13b0e0e082..a25591b500 100644 --- a/src/ui/hud/sprites/draw_hud_sprite.c +++ b/src/ui/hud/sprites/draw_hud_sprite.c @@ -8,14 +8,14 @@ extern u64 get_frame_texture(s32) __asm__("func_001FFA10"); void draw_hud_sprite(s32 id, s32 x, s32 y, s32 w, s32 h, s32 alpha) __asm__("FUN_001ffc30"); -void draw_hud_sprite(s32 id, s32 x, s32 y, s32 width, s32 height, s32 alpha) { +void draw_hud_sprite(s32 frame_index, s32 x, s32 y, s32 width, s32 height, s32 alpha) { struct HudTexPage *image_page; struct DmaTag *tag; u64 *sprite_packet_words; s32 tw; s32 th; - image_page = &hud_state.image_pages[hud_state.frame_refs[id].image_index]; + image_page = &hud_state.image_pages[hud_state.frame_refs[frame_index].image_index]; tw = 1 << image_page->width_log2; th = 1 << image_page->height_log2; render_packet_cursor.tag->tag = 0x10000005; @@ -27,7 +27,7 @@ void draw_hud_sprite(s32 id, s32 x, s32 y, s32 width, s32 height, s32 alpha) { render_packet_cursor.tag = tag + 1; sprite_packet_words[0] = 0x7400000000008001; sprite_packet_words[1] = 0x5353106; - sprite_packet_words[2] = get_frame_texture(id); + sprite_packet_words[2] = get_frame_texture(frame_index); sprite_packet_words[3] = 0x156; sprite_packet_words[4] = ((u64)alpha << 24) | 0x7F7F7F; sprite_packet_words[5] = 0; diff --git a/src/ui/hud/sprites/draw_hud_sprite_flipped.c b/src/ui/hud/sprites/draw_hud_sprite_flipped.c index d4a3bc8f6f..8672a516fd 100644 --- a/src/ui/hud/sprites/draw_hud_sprite_flipped.c +++ b/src/ui/hud/sprites/draw_hud_sprite_flipped.c @@ -8,14 +8,16 @@ extern u64 get_frame_texture(s32) __asm__("func_001FFA10"); void draw_hud_sprite_flipped(s32 id, s32 x, s32 y, s32 w, s32 h, s32 alpha) __asm__("FUN_001ffe18"); -void draw_hud_sprite_flipped(s32 id, s32 x, s32 y, s32 sprite_width, s32 sprite_height, s32 alpha) { +void draw_hud_sprite_flipped( + + s32 frame_index, s32 x, s32 y, s32 sprite_width, s32 sprite_height, s32 alpha) { struct HudTexPage *image_page; struct DmaTag *tag; u64 *packet_words; s32 tw; s32 th; - image_page = &hud_state.image_pages[hud_state.frame_refs[id].image_index]; + image_page = &hud_state.image_pages[hud_state.frame_refs[frame_index].image_index]; tw = 1 << image_page->width_log2; th = 1 << image_page->height_log2; render_packet_cursor.tag->tag = 0x10000007; @@ -27,7 +29,7 @@ void draw_hud_sprite_flipped(s32 id, s32 x, s32 y, s32 sprite_width, s32 sprite_ render_packet_cursor.tag = tag + 1; packet_words[0] = 0xB400000000008001; packet_words[1] = 0x53535353106; - packet_words[2] = get_frame_texture(id); + packet_words[2] = get_frame_texture(frame_index); packet_words[3] = 0x154; packet_words[4] = ((u64)alpha << 24) | 0x7F7F7F; packet_words[5] = tw << 4; diff --git a/src/ui/hud/sprites/draw_hud_sprite_subpixel.c b/src/ui/hud/sprites/draw_hud_sprite_subpixel.c index a5d55d9994..e6cecad522 100644 --- a/src/ui/hud/sprites/draw_hud_sprite_subpixel.c +++ b/src/ui/hud/sprites/draw_hud_sprite_subpixel.c @@ -7,14 +7,14 @@ extern u64 get_frame_texture(s32) __asm__("func_001FFA10"); void draw_hud_sprite_subpixel(s32 id, s32 x, s32 y, s32 w, s32 h, s32 alpha) __asm__("FUN_00200080"); -void draw_hud_sprite_subpixel(s32 id, s32 x, s32 y, s32 width, s32 height, s32 alpha) { +void draw_hud_sprite_subpixel(s32 frame_index, s32 x, s32 y, s32 width, s32 height, s32 alpha) { struct HudState *hud = &hud_state; struct HudTexPage *image_page; s32 tw; s32 th; u64 *sprite_packet; - image_page = &hud->image_pages[hud->frame_refs[id].image_index]; + image_page = &hud->image_pages[hud->frame_refs[frame_index].image_index]; tw = 1 << image_page->width_log2; th = 1 << image_page->height_log2; render_packet_cursor.tag->tag = 0x10000005; @@ -24,7 +24,7 @@ void draw_hud_sprite_subpixel(s32 id, s32 x, s32 y, s32 width, s32 height, s32 a sprite_packet = (u64 *)++render_packet_cursor.tag; sprite_packet[0] = (u64)0xE800 << 47 | 0x8001; sprite_packet[1] = 0x5353106; - sprite_packet[2] = get_frame_texture(id); + sprite_packet[2] = get_frame_texture(frame_index); sprite_packet[3] = 0x156; sprite_packet[4] = (u64)alpha << 24 | 0x7F7F7F; sprite_packet[5] = 0; diff --git a/src/ui/hud/sprites/draw_hud_sprite_uv.c b/src/ui/hud/sprites/draw_hud_sprite_uv.c index aaa9c7cad9..f6ad894999 100644 --- a/src/ui/hud/sprites/draw_hud_sprite_uv.c +++ b/src/ui/hud/sprites/draw_hud_sprite_uv.c @@ -9,14 +9,14 @@ void draw_hud_sprite_uv(s32 id, s32 x, s32 y, s32 w, s32 h, s32 u, s32 v, s32 al void draw_hud_sprite_uv( - s32 id, s32 x, s32 y, s32 sprite_width, s32 sprite_height, s32 u, s32 v, s32 alpha) { + s32 frame_index, s32 x, s32 y, s32 sprite_width, s32 sprite_height, s32 u, s32 v, s32 alpha) { struct HudState *hud = &hud_state; struct HudTexPage *image_page; s32 tw; s32 th; u64 *packet_words; - image_page = &hud->image_pages[hud->frame_refs[id].image_index]; + image_page = &hud->image_pages[hud->frame_refs[frame_index].image_index]; tw = 1 << (image_page->width_log2 + 4); th = 1 << (image_page->height_log2 + 4); render_packet_cursor.tag->tag = 0x10000005; @@ -26,7 +26,7 @@ void draw_hud_sprite_uv( packet_words = (u64 *)++render_packet_cursor.tag; packet_words[0] = (u64)0xE800 << 47 | 0x8001; packet_words[1] = 0x5353106; - packet_words[2] = get_frame_texture(id); + packet_words[2] = get_frame_texture(frame_index); packet_words[3] = 0x156; packet_words[4] = (u64)alpha << 24 | 0x7F7F7F; packet_words[5] = u | ((u64)v << 16); diff --git a/src/ui/map/coverage/decode_map_rle_row.c b/src/ui/map/coverage/decode_map_rle_row.c index 5ac4db77ab..919d411102 100644 --- a/src/ui/map/coverage/decode_map_rle_row.c +++ b/src/ui/map/coverage/decode_map_rle_row.c @@ -13,7 +13,7 @@ void decode_map_rle_row(u8 *decoded_row_dst, s32 row, u8 *compressed_data_base, u8 *packed_run_src; u32 lo; u32 hi; - s32 count; + s32 remaining_run_nibbles; u32 pair; decoded_row_cursor = decoded_row_dst; @@ -35,23 +35,23 @@ void decode_map_rle_row(u8 *decoded_row_dst, s32 row, u8 *compressed_data_base, hi = ((hi << 4) | (lo >> 4)) & 0xFF; lo = lo & 0xF; } - count = 0x100; + remaining_run_nibbles = 0x100; if (hi != 0) { - count = hi; + remaining_run_nibbles = hi; } pair = (lo | (lo << 4)) & 0xFF; if (half) { *decoded_row_cursor = *decoded_row_cursor | (lo << 4); half = 0; - count--; + remaining_run_nibbles--; decoded_row_cursor++; } - if (count != 0) { + if (remaining_run_nibbles != 0) { do { *decoded_row_cursor++ = pair; - count -= 2; - } while (count > 0); - if (count != 0) { + remaining_run_nibbles -= 2; + } while (remaining_run_nibbles > 0); + if (remaining_run_nibbles != 0) { decoded_row_cursor--; half = 1; *decoded_row_cursor = lo; diff --git a/src/ui/map/draw_map_screen.c b/src/ui/map/draw_map_screen.c index 2f1c2a7e1f..571acdbb1c 100644 --- a/src/ui/map/draw_map_screen.c +++ b/src/ui/map/draw_map_screen.c @@ -61,7 +61,7 @@ s32 draw_map_screen(struct MenuScreen *screen) { s32 previous_selected_level_id; s32 selected_level_table_index; s32 next_level_id; - s32 id; + s32 selected_map_id; s32 slot; s32 eviction_slot_index; struct MapHdr *hdr; @@ -127,11 +127,11 @@ s32 draw_map_screen(struct MenuScreen *screen) { } } - id = level_map_selection.level; + selected_map_id = level_map_selection.level; if (item_available[ITEM_MAP_SHIFT] != 0) { - id += 0x100; + selected_map_id += 0x100; } - slot = find_map_entry_slot(id); + slot = find_map_entry_slot(selected_map_id); if (level_map_selection.level != level_map_selection.loaded && slot != -1) { eviction_slot_index = pick_map_slot_to_evict(); if (level_map_selection.slot[0] != 0 && eviction_slot_index > 0) { @@ -234,7 +234,7 @@ s32 draw_map_screen(struct MenuScreen *screen) { } } } - slot = find_map_entry_slot(id); + slot = find_map_entry_slot(selected_map_id); if (level_map_selection.level != level_map_selection.loaded) { if (music_stream_state.read_state == MUSIC_STREAM_READ_IDLE && slot == -1 && pick == slot) { pick_map_slot_to_evict(level_map_selection.loaded); diff --git a/src/ui/map/draw_map_screen_layers.c b/src/ui/map/draw_map_screen_layers.c index f94707867e..9ca85f9fb5 100644 --- a/src/ui/map/draw_map_screen_layers.c +++ b/src/ui/map/draw_map_screen_layers.c @@ -14,7 +14,7 @@ s32 draw_map_screen_layers(void) __asm__("FUN_00220850"); s32 draw_map_screen_layers(void) { s32 loaded_map_index = level_map_selection.loaded; - s32 size; + s32 screen_inset; s32 screen_extent_reduction; s32 map_adjusted_frame_count; s32 ph; @@ -62,15 +62,15 @@ s32 draw_map_screen_layers(void) { } } else { map_adjusted_frame_count = game_frame_counter + loaded_map_index * 0x2AB; - size = map_layer_screen_insets[loaded_map_index]; - screen_extent_reduction = size * 2; + screen_inset = map_layer_screen_insets[loaded_map_index]; + screen_extent_reduction = screen_inset * 2; ph = map_adjusted_frame_count % 0x800; vu1_add_g_sregister(0x47, 0); vu1_add_g_sregister(8, 0); append_power_of_two_textured_screen_sprite( level_map_selection.tex0, - size, - size, + screen_inset, + screen_inset, 7, 7, (fs_aa_buffer.target_width << 4) - screen_extent_reduction, @@ -82,8 +82,8 @@ s32 draw_map_screen_layers(void) { vu1_add_g_sregister(8, 5); append_power_of_two_textured_screen_sprite( level_map_selection.tex1, - size, - size, + screen_inset, + screen_inset, 7, 7, (fs_aa_buffer.target_width << 4) - screen_extent_reduction, @@ -93,8 +93,8 @@ s32 draw_map_screen_layers(void) { 0x80); append_power_of_two_textured_screen_sprite( level_map_selection.tex2, - size, - size, + screen_inset, + screen_inset, 7, 7, (fs_aa_buffer.target_width << 4) - screen_extent_reduction, diff --git a/src/ui/menus/item_preview/load_preview_resource_bindings.c b/src/ui/menus/item_preview/load_preview_resource_bindings.c index 487a676e5a..c169fe5ea7 100644 --- a/src/ui/menus/item_preview/load_preview_resource_bindings.c +++ b/src/ui/menus/item_preview/load_preview_resource_bindings.c @@ -17,7 +17,7 @@ void load_preview_resource_bindings(s32 first_resource, s32 resource_count) __as preview_resource_buffers array; reading them through the struct gives the state base its own register. */ void load_preview_resource_bindings(s32 first_resource, s32 resource_count) { - s32 count; + s32 binding_count; s32 *class_resource_slot; s32 read_address; s32 buffer_address; @@ -31,13 +31,13 @@ void load_preview_resource_bindings(s32 first_resource, s32 resource_count) { PreviewResourceBinding *binding; s32 resource_index; - count = resource_count; + binding_count = resource_count; resource_index = 0; menu_system.preview_resource_first = first_resource; - menu_system.preview_resource_count = count; - /* Testing the index, not count, lets combine drop the constant note on + menu_system.preview_resource_count = binding_count; + /* Testing the index, not binding_count, lets combine drop the constant note on its zero, so its live range is not doubled. */ - if (resource_index < count) { + if (resource_index < binding_count) { resource_offset = first_resource * 4; binding = preview_resource_bindings + first_resource; do { @@ -47,7 +47,7 @@ void load_preview_resource_bindings(s32 first_resource, s32 resource_count) { /* Fakematch: two bindings use resource buffers 0 and 2. The do-while weights the index use one loop deeper, so the index is allocated before the binding pointer. */ - if (count == 2) { + if (binding_count == 2) { do { if (resource_index == 1) { buffer_skip = 1; @@ -74,6 +74,6 @@ void load_preview_resource_bindings(s32 first_resource, s32 resource_count) { buffer_address; } relocate_asset_entry_pointers(*class_resource_slot, animation_index); - } while (resource_index < count); + } while (resource_index < binding_count); } } diff --git a/src/ui/menus/item_preview/update_ammo_preview_transform.c b/src/ui/menus/item_preview/update_ammo_preview_transform.c index 77df5bd08a..4f08fa911b 100644 --- a/src/ui/menus/item_preview/update_ammo_preview_transform.c +++ b/src/ui/menus/item_preview/update_ammo_preview_transform.c @@ -58,7 +58,7 @@ void update_ammo_preview_transform(struct AmmoPreviewMoby *moby) __asm__("FUN_00 /* The hand-gadget loader installs this callback on its ammo preview Mobys. The slot selects a phase and a spring offset around the source Moby. */ void update_ammo_preview_transform(struct AmmoPreviewMoby *moby) { - f32 offset[4]; + f32 preview_position_offset[4]; f32 rotation_basis[12]; f32 angles[4]; struct AmmoPreviewMoby *source_moby; @@ -103,12 +103,13 @@ void update_ammo_preview_transform(struct AmmoPreviewMoby *moby) { frame_time_sq * 6.0f, frame_time * 6.0f); } - offset[0] = fast_cos(orbit_angle); - offset[1] = fast_sin(orbit_angle); - offset[2] = zero; - offset[2] = fast_sin(bob_angle) * 0.25f + 0.5f + ammo_preview_offsets[moby->slot]; - transform_vector_by_basis(offset, offset, source_moby->basis); - fast_vec_add(moby->position, moby->position, offset); + preview_position_offset[0] = fast_cos(orbit_angle); + preview_position_offset[1] = fast_sin(orbit_angle); + preview_position_offset[2] = zero; + preview_position_offset[2] = + fast_sin(bob_angle) * 0.25f + 0.5f + ammo_preview_offsets[moby->slot]; + transform_vector_by_basis(preview_position_offset, preview_position_offset, source_moby->basis); + fast_vec_add(moby->position, moby->position, preview_position_offset); clear_u64_value(angles); angles[2] = fast_add_rotations(orbit_angle, 1.5707964f); euler_rotation_basis(rotation_basis, angles); diff --git a/src/ui/menus/missions/draw_missions_menu2.c b/src/ui/menus/missions/draw_missions_menu2.c index fd9515de01..6ce054d9c1 100644 --- a/src/ui/menus/missions/draw_missions_menu2.c +++ b/src/ui/menus/missions/draw_missions_menu2.c @@ -42,7 +42,7 @@ s32 draw_missions_menu2(struct MissionsMenu *menu) { struct Rect trailing_text_region; struct Rect text_region_settings; s32 mask; - s32 count; + s32 mission_count; s32 i; s32 mission_text_y; s32 flag; @@ -57,11 +57,11 @@ s32 draw_missions_menu2(struct MissionsMenu *menu) { i = 0; mask = 0; setup_gif_paging(0); - count = collect_mission_ids(0x70000000, &mask, 0, 0); + mission_count = collect_mission_ids(0x70000000, &mask, 0, 0); vu1_add_g_sregister(0x42, 0x44); vu1_add_g_sregister(0x47, 0x10B); font_print_large(4, 4, 0x80FFA888, get_help_message_text(0x4F59), -1); - if (i < count) { + if (i < mission_count) { mission_id_cursor = (u32 *)0x70000000; do { y = mission_text_y + 0xA; @@ -90,7 +90,7 @@ s32 draw_missions_menu2(struct MissionsMenu *menu) { draw_menu_selection_marker(9, y, bit); mission_id_cursor++; mission_text_y += step * 16; - } while (i < count); + } while (i < mission_count); } if (mask < 0) { memset(&text_region_settings, 0, 0x18); diff --git a/src/ui/menus/pause/pause_stage_sprite_lists.c b/src/ui/menus/pause/pause_stage_sprite_lists.c index 6eb24dbdd5..ca9829d114 100644 --- a/src/ui/menus/pause/pause_stage_sprite_lists.c +++ b/src/ui/menus/pause/pause_stage_sprite_lists.c @@ -3,17 +3,17 @@ int pause_stage_sprite_lists(u32 *mode) __asm__("FUN_0021ca60"); -int pause_stage_sprite_lists(u32 *mode) { - u32 *sprite_list_source = mode + 12; +int pause_stage_sprite_lists(u32 *sprite_list_source_base) { + u32 *sprite_list_source = sprite_list_source_base + 12; u32 *iop_sprite_list_destination = pause_iop_sprite_lists; - int count = 7; + int word_copy_countdown = 7; do { *iop_sprite_list_destination = *sprite_list_source; sprite_list_source++; iop_sprite_list_destination++; - count--; - } while (count >= 0); + word_copy_countdown--; + } while (word_copy_countdown >= 0); return 0; } diff --git a/src/ui/menus/save_data/save_card_state_good_save.c b/src/ui/menus/save_data/save_card_state_good_save.c index 492e31a5a6..91e1b155aa 100644 --- a/src/ui/menus/save_data/save_card_state_good_save.c +++ b/src/ui/menus/save_data/save_card_state_good_save.c @@ -11,10 +11,10 @@ void save_card_state_good_save(void) __asm__("FUN_002088d0"); void save_card_state_good_save(void) { - int flags = mode_freeze_flags; + int original_flags = mode_freeze_flags; struct MemoryCardState *card_state; int nf; - mode_freeze_flags = flags & ~4; + mode_freeze_flags = original_flags & ~4; card_state = &memory_card_state; nf = mode_freeze_flags & ~2; mode_freeze_flags = nf; @@ -22,12 +22,12 @@ void save_card_state_good_save(void) { save_card_state = CS_NOCARD; return; } - if (flags & 0x80) { + if (original_flags & 0x80) { save_card_state = CS_SAVE_FAILED; mode_freeze_flags = (nf ^ 0x80) | 0x40; return; } - if (flags & 0x100) { + if (original_flags & 0x100) { save_card_state = CS_LOAD_FAILED; mode_freeze_flags = (nf ^ 0x100) | 0x40; return; @@ -38,7 +38,7 @@ void save_card_state_good_save(void) { save_card_state = CS_WARNING; return; } - if (flags & 0x200) { + if (original_flags & 0x200) { mode_freeze_flags = nf ^ 0x200; save_card_state = CS_SAVING; } diff --git a/src/ui/menus/save_data/save_card_state_prompt_create_save.c b/src/ui/menus/save_data/save_card_state_prompt_create_save.c index 243b25ece0..5381cdf874 100644 --- a/src/ui/menus/save_data/save_card_state_prompt_create_save.c +++ b/src/ui/menus/save_data/save_card_state_prompt_create_save.c @@ -6,15 +6,15 @@ void save_card_state_prompt_create_save(void) __asm__("FUN_00208ca8"); void save_card_state_prompt_create_save(void) { - int flags; + int freeze_flags_snapshot; if (memory_card_state.card[0].sync_result != 0) { save_card_state = CS_NOCARD; return; } - flags = mode_freeze_flags; - if (flags & 0x20) { - mode_freeze_flags = flags ^ 0x20; + freeze_flags_snapshot = mode_freeze_flags; + if (freeze_flags_snapshot & 0x20) { + mode_freeze_flags = freeze_flags_snapshot ^ 0x20; if (boot_level_active != 0) { save_card_state = CS_PROMPT_BEGIN_NOSAVE; } else { @@ -22,8 +22,8 @@ void save_card_state_prompt_create_save(void) { } return; } - if (flags & 0x10) { - mode_freeze_flags = flags ^ 0x10; + if (freeze_flags_snapshot & 0x10) { + mode_freeze_flags = freeze_flags_snapshot ^ 0x10; save_card_state = CS_CREATE_SAVE_PENDING; } } diff --git a/src/ui/menus/save_data/save_card_state_saving.c b/src/ui/menus/save_data/save_card_state_saving.c index a545c8f007..18d4c6abfe 100644 --- a/src/ui/menus/save_data/save_card_state_saving.c +++ b/src/ui/menus/save_data/save_card_state_saving.c @@ -14,15 +14,15 @@ extern void mode_freeze_init() __asm__("func_001FBAB8"); void save_card_state_saving(void) __asm__("FUN_00208f28"); void save_card_state_saving(void) { - s32 flags; + s32 updated_freeze_flags; if ((memory_card_state.state < MEMCARD_REQUEST_FORMAT) && - (memory_card_state.pending_state < MEMCARD_QUERY_INFO)) { + (memory_card_state.pending_state < 0)) { if (memory_card_state.err != 0) { mode_freeze_init(3, 0); save_card_state = CS_SAVE_FAILED; - flags = mode_freeze_flags | 0x40; - mode_freeze_flags = flags; + updated_freeze_flags = mode_freeze_flags | 0x40; + mode_freeze_flags = updated_freeze_flags; } else { save_card_state = CS_GOOD_SAVE; } diff --git a/src/ui/menus/stream_buffers/initialize_menu_stream_buffers.c b/src/ui/menus/stream_buffers/initialize_menu_stream_buffers.c index 5694d8a05e..f70c7dd417 100644 --- a/src/ui/menus/stream_buffers/initialize_menu_stream_buffers.c +++ b/src/ui/menus/stream_buffers/initialize_menu_stream_buffers.c @@ -2,14 +2,14 @@ #include "rnc/ui/menus/menu_system.h" #include "rnc/ui/menus/stream_buffers.h" -void initialize_menu_stream_buffers(s32 mode) __asm__("FUN_00225ac0"); +void initialize_menu_stream_buffers(s32 use_full_buffer_layout) __asm__("FUN_00225ac0"); /* Mode zero writes one primary descriptor and clears four entries. - * Nonzero mode writes two primary descriptors, one secondary descriptor, + * Nonzero use_full_buffer_layout writes two primary descriptors, one secondary descriptor, * and two further primary descriptors. Address strides are 0x11800 for * the first two groups and 0x4F000 for the final group. The flag word * is one only for the final group. */ -void initialize_menu_stream_buffers(s32 mode) { +void initialize_menu_stream_buffers(s32 use_full_buffer_layout) { enum { MENU_STREAM_MODE_SINGLE_PRIMARY_BUFFER = 0 }; @@ -25,7 +25,7 @@ void initialize_menu_stream_buffers(s32 mode) { primary_address = menu_system.help_text_buffer; secondary_address = menu_system.stream_buffer_base; - if (mode == MENU_STREAM_MODE_SINGLE_PRIMARY_BUFFER) { + if (use_full_buffer_layout == MENU_STREAM_MODE_SINGLE_PRIMARY_BUFFER) { primary_count = 1; secondary_count = 0; large_count = 0; diff --git a/src/ui/menus/stream_buffers/mark_menu_stream_buffer_read_active.c b/src/ui/menus/stream_buffers/mark_menu_stream_buffer_read_active.c index 3be7921665..952cd4351a 100644 --- a/src/ui/menus/stream_buffers/mark_menu_stream_buffer_read_active.c +++ b/src/ui/menus/stream_buffers/mark_menu_stream_buffer_read_active.c @@ -4,14 +4,14 @@ s32 mark_menu_stream_buffer_read_active(s32 buffer_address) __asm__("FUN_00225dd8"); s32 mark_menu_stream_buffer_read_active(s32 buffer_address) { - s32 count = 0; + s32 descriptors_examined = 0; u8 *stream_buffer_descriptors = (u8 *)menu_stream_buffers; s32 *stream_buffer_flags = (s32 *)(stream_buffer_descriptors + 4); loop: - count += 1; + descriptors_examined += 1; if (stream_buffer_flags[-1] != buffer_address) { stream_buffer_flags += 2; - if (count >= MENU_STREAM_BUFFER_COUNT) { + if (descriptors_examined >= MENU_STREAM_BUFFER_COUNT) { return 1; } goto loop; diff --git a/src/ui/menus/system/process_menu_entry.c b/src/ui/menus/system/process_menu_entry.c index 1240a49968..573f616a9b 100644 --- a/src/ui/menus/system/process_menu_entry.c +++ b/src/ui/menus/system/process_menu_entry.c @@ -84,7 +84,7 @@ void process_menu_entry(void *callback_context, Menu *menu, s32 follow_entry_lin char *substring_match; s32 ok; s32 condition_target_entry_index; - u16 flags; + u16 source_entry_flags; s16 linked_entry_index; s16 kind; s32 bolt_threshold; @@ -98,11 +98,11 @@ void process_menu_entry(void *callback_context, Menu *menu, s32 follow_entry_lin menu->entry_time = world_update_time; linked_entry_index = current_menu_entry->link; if (menu->current_entry != linked_entry_index) { - flags = current_menu_entry->flags; + source_entry_flags = current_menu_entry->flags; menu->current_entry = current_menu_entry->link; current_menu_entry = (MenuItem *)(menu->entries + linked_entry_index * 0x1C); menu->entry_flag = *(u8 *)¤t_menu_entry->flags & 1; - if (flags & 4) { + if (source_entry_flags & 4) { menu_entry_context[2] = (s32)callback_context; menu_entry_context[3] = (s32)menu; if (current_menu_entry->action & 0x4000) { diff --git a/src/ui/menus/weapons/count_gold_bolts.c b/src/ui/menus/weapons/count_gold_bolts.c index ce50349f74..b61f39281a 100644 --- a/src/ui/menus/weapons/count_gold_bolts.c +++ b/src/ui/menus/weapons/count_gold_bolts.c @@ -4,21 +4,21 @@ s32 count_gold_bolts(void) __asm__("FUN_00215290"); s32 count_gold_bolts(void) { - s32 count = 0; + s32 collected_bolt_count = 0; s32 row; s32 k; for (row = 0; row < 0x14; row++) { for (k = 0; k < 4; k++) { if (gold_bolts_collected[row * 4 + k] != 0) { - count++; + collected_bolt_count++; } } } - if (count < 0) { - count = 0; + if (collected_bolt_count < 0) { + collected_bolt_count = 0; } - return (count < 0x29) ? count : 0x28; + return (collected_bolt_count < 0x29) ? collected_bolt_count : 0x28; } extern __typeof__(count_gold_bolts) func_00215290 __attribute__((alias("FUN_00215290"))); diff --git a/src/ui/menus/weapons/count_gold_weapons.c b/src/ui/menus/weapons/count_gold_weapons.c index 5a620998c4..a2b1916f79 100644 --- a/src/ui/menus/weapons/count_gold_weapons.c +++ b/src/ui/menus/weapons/count_gold_weapons.c @@ -4,18 +4,18 @@ s32 count_gold_weapons(void) __asm__("FUN_00215300"); s32 count_gold_weapons(void) { - s32 count = 0; + s32 purchased_gold_weapon_count = 0; s32 i; for (i = 0; i < 0x25; i++) { if (item_text_variant[i] != 0) { - count++; + purchased_gold_weapon_count++; } } - if (count < 0) { - count = 0; + if (purchased_gold_weapon_count < 0) { + purchased_gold_weapon_count = 0; } - return (count < 0xB) ? count : 0xA; + return (purchased_gold_weapon_count < 0xB) ? purchased_gold_weapon_count : 0xA; } extern __typeof__(count_gold_weapons) func_00215300 __attribute__((alias("FUN_00215300"))); diff --git a/src/ui/menus/weapons/count_skill_points.c b/src/ui/menus/weapons/count_skill_points.c index 31e298e423..792f629e72 100644 --- a/src/ui/menus/weapons/count_skill_points.c +++ b/src/ui/menus/weapons/count_skill_points.c @@ -4,18 +4,18 @@ s32 count_skill_points(void) __asm__("FUN_00215348"); s32 count_skill_points(void) { - s32 count = 0; + s32 completed_skill_points = 0; s32 i; for (i = 0; i < 0x20; i++) { if (item_unlocked[i] != 0) { - count++; + completed_skill_points++; } } - if (count < 0) { - count = 0; + if (completed_skill_points < 0) { + completed_skill_points = 0; } - return (count < 0x1F) ? count : 0x1E; + return (completed_skill_points < 0x1F) ? completed_skill_points : 0x1E; } extern __typeof__(count_skill_points) func_00215348 __attribute__((alias("FUN_00215348"))); diff --git a/src/ui/menus/widgets/update_menu_help_text_load.c b/src/ui/menus/widgets/update_menu_help_text_load.c index 20832e43da..9f36b6973c 100644 --- a/src/ui/menus/widgets/update_menu_help_text_load.c +++ b/src/ui/menus/widgets/update_menu_help_text_load.c @@ -46,15 +46,15 @@ int update_menu_help_text_load(struct MenuScreen *menu) { int *language_entries = (int *)((char *)archive + archive[game_language]); int entry_count = *language_entries++; int entry_bytes = *language_entries++; - HelpState *state; + HelpState *help_text_state; int *text_entries; int i; copy_memory_aligned(archive, language_entries, ((entry_bytes + 3) & ~3) - 8); - state = &help_state; + help_text_state = &help_state; menu->data.help.saved_text_table = help_msgs; - menu->data.help.saved_text_count = state->count; - state->count = entry_count; + menu->data.help.saved_text_count = help_text_state->count; + help_text_state->count = entry_count; text_entries = (int *)menu_system_state->help_text_buffer; help_msgs = (int)text_entries; for (i = 0; i < help_text_count(); i++) { diff --git a/src/ui/text/draw_dialog_text.c b/src/ui/text/draw_dialog_text.c index 6422a5c99a..093b9c1878 100644 --- a/src/ui/text/draw_dialog_text.c +++ b/src/ui/text/draw_dialog_text.c @@ -311,7 +311,7 @@ void draw_dialog_text(void) { case FREEZE_CHOICE_MESSAGE_DIALOG: { s32 text_color; s32 button_color; - s32 id; + s32 body_message_id; f32 alpha; box = D_001E7908; @@ -326,25 +326,25 @@ void draw_dialog_text(void) { case FREEZE_CHOICE_SHARED_PAIRED_FOOTER_MESSAGE: font_print_center(0xCA, 0x118, button_color, get_help_message_text(0x524E), -1); font_print_center(0x135, 0x118, button_color, get_help_message_text(0x524B), -1); - id = 0x522A; + body_message_id = 0x522A; break; case FREEZE_CHOICE_ALTERNATE_PAIRED_FOOTER_MESSAGE: font_print_center(0xCA, 0x118, button_color, get_help_message_text(0x524E), -1); font_print_center(0x135, 0x118, button_color, get_help_message_text(0x524B), -1); - id = 0x522B; + body_message_id = 0x522B; break; case FREEZE_CHOICE_CENTERED_FOOTER_MESSAGE: font_print_center(0x100, 0x118, button_color, get_help_message_text(0x524A), -1); - id = 0x522C; + body_message_id = 0x522C; break; default: - id = 0; + body_message_id = 0; break; } - if (id != 0) { + if (body_message_id != 0) { font_print_window(&box, text_color, - get_help_message_text(id), + get_help_message_text(body_message_id), -1, get_effect_texture(1), normal_font_metrics); diff --git a/src/ui/text/font/measure_text_width.c b/src/ui/text/font/measure_text_width.c index 86fb29bd27..b99309e069 100644 --- a/src/ui/text/font/measure_text_width.c +++ b/src/ui/text/font/measure_text_width.c @@ -4,13 +4,13 @@ s32 measure_text_width(u8 *text, s32 max_chars, s32 glyph_table) __asm__("FUN_00 s32 measure_text_width(u8 *text, s32 max_chars, s32 glyph_table) { s32 total; - s32 count; + s32 chars_processed; s8 glyph_advance; u8 *text_cursor; u8 index; total = 0; - count = 0; + chars_processed = 0; if (max_chars == 0) goto done; if (*text == 0) @@ -19,11 +19,11 @@ s32 measure_text_width(u8 *text, s32 max_chars, s32 glyph_table) { do { index = *text_cursor; text_cursor++; - count++; + chars_processed++; glyph_advance = *(s8 *)(glyph_table + index * 4 + 3); if (glyph_advance != 0) total += glyph_advance; - } while (count != max_chars && *text_cursor != 0); + } while (chars_processed != max_chars && *text_cursor != 0); done: return total; } diff --git a/src/weapons/load_hand_gadget.c b/src/weapons/load_hand_gadget.c index c8d5ad48c4..eb5c602b74 100644 --- a/src/weapons/load_hand_gadget.c +++ b/src/weapons/load_hand_gadget.c @@ -36,9 +36,9 @@ typedef struct HandGadgetState { Moby *class_pose_moby; Moby *first_attachment_moby; Moby *second_attachment_moby; - s32 x60; - s32 x64; - s32 x68; + s32 animation_attachment0_moby_address; + s32 animation_attachment1_moby_address; + s32 animation_attachment2_moby_address; Moby *class_0197_moby; Moby *class_0266_moby; Moby *class_026a_moby; @@ -327,9 +327,9 @@ s32 load_hand_gadget(HandGadgetState *hand) { update_preview_animation_and_attachments(hand->source_moby_address, hand->class_pose_moby, hand->animation_moby, - &hand->x60, - &hand->x64, - &hand->x68); + &hand->animation_attachment0_moby_address, + &hand->animation_attachment1_moby_address, + &hand->animation_attachment2_moby_address); return 0; } diff --git a/src/world/collision/probe_ground_height.c b/src/world/collision/probe_ground_height.c index 423420322e..986b939898 100644 --- a/src/world/collision/probe_ground_height.c +++ b/src/world/collision/probe_ground_height.c @@ -8,7 +8,7 @@ extern int collision_line(void *, void *, int, int, int) __asm__("FUN_001efa68" extern char D_00194120[]; f32 probe_ground_height(void *pos, s32 flags, f32 height_offset) __asm__("FUN_00213508"); -f32 probe_ground_height(void *probe_position, s32 flags, f32 height_offset) { +f32 probe_ground_height(void *probe_position, s32 collision_mask, f32 height_offset) { f32 low_point[4]; f32 raised_point[4]; @@ -16,7 +16,7 @@ f32 probe_ground_height(void *probe_position, s32 flags, f32 height_offset) { low_point[2] = 0.01f; qcopy(raised_point, probe_position); raised_point[2] = raised_point[2] + height_offset; - if (collision_line(raised_point, low_point, flags | 2, 0, 0) != 0) { + if (collision_line(raised_point, low_point, collision_mask | 2, 0, 0) != 0) { return *(f32 *)(D_00194120 + 8); } return 0.0f; diff --git a/src/world/data/find_id_in_terminated_table.c b/src/world/data/find_id_in_terminated_table.c index 14044da005..855125ac66 100644 --- a/src/world/data/find_id_in_terminated_table.c +++ b/src/world/data/find_id_in_terminated_table.c @@ -4,11 +4,11 @@ s32 find_id_in_terminated_table(s32 id) __asm__("FUN_00205220"); -s32 find_id_in_terminated_table(s32 id) { +s32 find_id_in_terminated_table(s32 level_index) { s32 i; for (i = 0; menu_level_indices[i] != 0 && i < 20; i++) { - if (menu_level_indices[i] == id) { + if (menu_level_indices[i] == level_index) { return i; } } diff --git a/src/world/loaders/unpack_point_records.c b/src/world/loaders/unpack_point_records.c index 91c5736059..2c7c29fa28 100644 --- a/src/world/loaders/unpack_point_records.c +++ b/src/world/loaders/unpack_point_records.c @@ -14,13 +14,13 @@ extern struct Point effect_texture_definitions[] __asm__("D_0018D440"); extern s16 log2dim(s32) __asm__("FUN_001f97a0"); void unpack_point_records(s32 *src, s32 count) __asm__("FUN_00202800"); -void unpack_point_records(s32 *serialized_texture_records, s32 count) { +void unpack_point_records(s32 *serialized_texture_records, s32 texture_record_count) { s32 x; s32 y; s32 u; s32 v; - for (effect_tex_cnt = 0; effect_tex_cnt < count; effect_tex_cnt++) { + for (effect_tex_cnt = 0; effect_tex_cnt < texture_record_count; effect_tex_cnt++) { x = *serialized_texture_records++; y = *serialized_texture_records++; u = *serialized_texture_records++; diff --git a/src/world/loaders/upload_texture_images.c b/src/world/loaders/upload_texture_images.c index 85b59c239f..4d8723aeff 100644 --- a/src/world/loaders/upload_texture_images.c +++ b/src/world/loaders/upload_texture_images.c @@ -21,7 +21,10 @@ extern s32 sceGsExecLoadImage(sceGsLoadImage *img, s32 src); void upload_texture_images(s32 base, s32 count, struct TextureImage *p) __asm__("FUN_00203120"); -void upload_texture_images(s32 pixel_data_base, s32 count, struct TextureImage *texture_image) { +void upload_texture_images(s32 pixel_data_base, + s32 texture_image_count, + + struct TextureImage *texture_image) { sceGsLoadImage img; s32 i; s32 pixel_data_source; @@ -35,8 +38,8 @@ void upload_texture_images(s32 pixel_data_base, s32 count, struct TextureImage * gs_texture_allocation_cursor = gs_texture_allocation_base; gs_texture_allocation_start = gs_texture_allocation_base; - if (count > 0) { - i = count; + if (texture_image_count > 0) { + i = texture_image_count; one = 1; while (i != 0) { size = texture_image->size; diff --git a/src/world/update_world_object_animation.c b/src/world/update_world_object_animation.c index ff04364e9d..6ea7b6fa64 100644 --- a/src/world/update_world_object_animation.c +++ b/src/world/update_world_object_animation.c @@ -90,7 +90,7 @@ void update_world_object_animation(void *unused_arg) { int i; int k; int idx; - int id; + int moby_id; int part_record_offset; int endp; int pc; @@ -116,16 +116,16 @@ void update_world_object_animation(void *unused_arg) { for (i = 0; i < D_0018CB20_lui.num_parts; i++) { part_record_offset = *cp++; sp = (int *)((unsigned char *)rec + part_record_offset); - id = sp[0]; + moby_id = sp[0]; sp = (int *)((unsigned char *)sp + 0xC); endp = (int)rec + sp[0]; sp = (int *)((unsigned char *)sp + 4); - if (game_mode_macro == 6 && i == 0 && id == 0x215) { - id = cutscene_moby_ids_by_content_variant[level_render_state.content_variant]; + if (game_mode_macro == 6 && i == 0 && moby_id == 0x215) { + moby_id = cutscene_moby_ids_by_content_variant[level_render_state.content_variant]; } mob = D_0018CB20_lui.slots[i]; if (mob == 0) { - mob = create_moby(id); + mob = create_moby(moby_id); idx = mob->pclass->seq_count; mob->pclass->seq_count = idx + 1; mob->seq = idx;