/*
 * bit Generations: Orbital - Function Rename Map
 * Generated from analysis of orbital_final.c
 *
 * Naming conventions:
 *   GameState_*   - Global game state management
 *   Object_*      - Generic game object operations
 *   Level_*       - Level loading and setup
 *   Camera_*      - Camera/viewport management
 *   Player_*      - Player ship/object control
 *   Render_*      - Drawing/sprite rendering
 *   Image_*       - Bitmap/image operations
 *   BG_*          - Background tilemap operations
 *   Physics_*     - Physics simulation (gravity, velocity, collision response)
 *   Collision_*   - Collision detection (AABB, circle, raycast)
 *   Spatial_*     - Spatial hashing broadphase
 *   Math_*        - Math utilities (sqrt, trig, lerp, random)
 *   Mem_*         - Memory management (alloc, free, copy, stack)
 *   DMA_*         - Direct Memory Access transfers
 *   Sound_*       - Sound/music engine
 *   Animation_*   - Sprite animation
 *   Particle_*    - Particle effects
 *   Emitter_*     - Particle emitters
 *   Text*         - Text rendering system
 *   Float_*       - Software floating-point library (IEEE 754)
 *   Bignum_*      - Multi-precision integer library
 *   Printf_*      - printf-style formatting (uses Bignum for floats)
 *   List_*        - Doubly-linked list operations
 *   Script_*      - Script/event command interpreter
 *   Menu_*        - Menu system
 *   LevelSelect_* - Level selection screen
 *   Score_*       - Score display
 *   Title_*       - Title screen
 *   Save_*        - Save/load system
 *   Graphics_*    - Low-level graphics init
 *   Input_*       - Controller input
 *   SWI_*         - Software interrupt wrappers
 *
 * Fixed-point format: 12-bit fractional (Q4.12)
 *   Position values use 0x1000 = 1.0 pixel
 */

#ifndef FUNC_RENAME_MAP_H
#define FUNC_RENAME_MAP_H

/* ========================================================================
 * Core Object Management (0x08000-0x08003)
 * ======================================================================== */

#define func_0x08000934 Object_RenderWithModes
/* @ 0x08000934 - Renders object with different display modes (1=sprite, 2/3=rotation)
 *                 and updates sub-position interpolation for smooth movement.
 *                 123 lines. Handles animation blending between states. */

#define func_0x08000ba4 Object_Destroy
/* @ 0x08000ba4 - Conditional destructor: frees object and all children when flag bit 0 is set.
 *                 10 lines. Standard object cleanup pattern used throughout engine. */

#define func_0x08001198 Level_HandleTransition
/* @ 0x08001198 - Handles screen layout transitions between level states.
 *                 235 lines. Manages sub-screen positioning (up to 6 sub-views),
 *                 calculates scroll offsets, and manages text queue updates. */

#define func_0x08001fd0 Physics_CheckBoundsFixed
/* @ 0x08001fd0 - Fixed-point bounds checking for camera/object overlap.
 *                 79 lines. Uses Q12 math to determine if an object is within
 *                 camera view bounds considering velocity prediction. */

#define func_0x080023f4 Text_UpdateFromAnimation
/* @ 0x080023f4 - Updates text display from animation data.
 *                 42 lines. Reads animation frames and dispatches to
 *                 TextQueue_AddEntry for character-by-character display. */

#define func_0x08002510 TextLayer_Init
/* @ 0x08002510 - Initializes a text layer with log2-based scaling.
 *                 17 lines. Sets up animation timer, scroll speed, and
 *                 performs double Log2 calculation for zoom factor. */

#define func_0x080027ec Level_SpawnOnTrigger
/* @ 0x080027ec - Spawns level objects based on trigger conditions.
 *                 42 lines. Checks camera flags, calculates spawn position
 *                 using trigonometric lookup tables, calls Level_PlaceObject. */

#define func_0x08002958 Camera_TrackYPosition
/* @ 0x08002958 - Tracks camera Y position relative to player.
 *                 28 lines. Compares object Y against camera center (0x28c),
 *                 sets directional flags (below/aligned/above). */

#define func_0x080029bc Physics_CalcVelocityMagnitude
/* @ 0x080029bc - Calculates velocity magnitude for gravity-affected objects.
 *                 66 lines. Uses Math_Sqrt with velocity components, applies
 *                 speed limits, and handles both gravity and ballistic modes. */

#define func_0x08002c34 Level_ScrollHorizontal
/* @ 0x08002c34 - Handles horizontal scrolling for level objects.
 *                 31 lines. Advances scroll position, spawns new objects
 *                 when scroll threshold is reached, and calls Level_SpawnObjects. */

/* ========================================================================
 * Rendering/Display (0x08003-0x08006)
 * ======================================================================== */

#define func_0x080037ac Render_BitmapWithDMA
/* @ 0x080037ac - Renders bitmap with DMA transfer to VRAM.
 *                 12 lines. Conditionally draws bitmap, then performs
 *                 DMA transfer of 0x400 words for palette/VRAM update. */

#define func_0x08003c38 Camera_CalcOffset
/* @ 0x08003c38 - Calculates camera offset from velocity magnitude.
 *                 29 lines. Uses Math_Sqrt to compute camera pan speed,
 *                 applies clamping to level-specific maximum values. */

#define func_0x08003fd0 Camera_HandleInput
/* @ 0x08003fd0 - Processes camera input and debug commands.
 *                 101 lines. Handles scroll acceleration/deceleration,
 *                 processes debug key presses for object spawning. */

#define func_0x080041c4 Text_ScrollingDisplay
/* @ 0x080041c4 - Renders scrolling text display with smooth animation.
 *                 69 lines. Manages text scroll buffer, calculates
 *                 character offsets, handles wrap-around. */

#define func_0x0800431c Text_MultilineDisplay
/* @ 0x0800431c - Renders multi-line text with word wrapping.
 *                 63 lines. Processes text buffer, handles line breaks,
 *                 manages text queue for display. */

#define func_0x08004494 Camera_TrackYWithText
/* @ 0x08004494 - Tracks camera Y position with text display updates.
 *                 65 lines. Similar to Camera_TrackYPosition but also
 *                 updates text queue with directional information. */

#define func_0x08004574 Level_GetIndexFromValue
/* @ 0x08004574 - Maps input value to level index using lookup table.
 *                 18 lines. Searches threshold table (12 entries) to
 *                 determine appropriate level index. */

#define func_0x08004718 Object_IsStationary
/* @ 0x08004718 - Checks if object has zero velocity (stationary).
 *                 12 lines. Tests both X and Y velocity components
 *                 against zero, returns inverse of result. */

#define func_0x080049dc Render_HUD
/* @ 0x080049dc - Renders heads-up display (progress bar, score, timer).
 *                 14 lines. Conditionally draws elements based on
 *                 game state flags at offset 0x28. */

#define func_0x08004c34 Emitter_DrawRotating
/* @ 0x08004c34 - Draws emitter with rotation based on object state.
 *                 15 lines. Calculates screen position from camera,
 *                 passes rotation angle from object state. */

#define func_0x08004ca4 Emitter_DrawStatic
/* @ 0x08004ca4 - Draws emitter without rotation (static display).
 *                 14 lines. Same positioning as rotating variant
 *                 but passes 0 for rotation parameter. */

#define func_0x08004d18 Emitter_DrawFixedAngle
/* @ 0x08004d18 - Draws emitter with fixed 90-degree rotation.
 *                 14 lines. Uses constant rotation value of 4
 *                 (90 degrees in 32-step rotation system). */

#define func_0x08004d8c Emitter_DrawDirectional
/* @ 0x08004d8c - Draws emitter with full offset configuration.
 *                 26 lines. Sets up offset struct with position, scale,
 *                 and rotation for complex particle effects. */

#define func_0x08004e14 Emitter_DrawFollow
/* @ 0x08004e14 - Draws emitter that follows parent object rotation.
 *                 26 lines. Uses parent's rotation for particle
 *                 direction, maintaining relative orientation. */

#define func_0x080053a0 Level_RenderObjects
/* @ 0x080053a0 - Renders all level objects with camera-relative positioning.
 *                 148 lines. Iterates object array, applies camera transform,
 *                 handles visibility culling and draw ordering. */

#define func_0x080055b8 Camera_CalcRenderDist
/* @ 0x080055b8 - Calculates render distance for object visibility.
 *                 30 lines. Combines X and Y offsets with object size
 *                 to determine if object should be rendered. */

#define func_0x08005620 Player_UpdateWithText
/* @ 0x08005620 - Updates player state and renders associated text.
 *                 42 lines. Processes player movement, updates text
 *                 display for player status. */

#define func_0x08005684 Player_RenderWithDirection
/* @ 0x08005684 - Renders player sprite with directional indicators.
 *                 23 lines. Draws player based on movement direction,
 *                 adds directional text labels. */

#define func_0x08005bd0 Level_MoveObject
/* @ 0x08005bd0 - Moves level object with velocity and camera offset.
 *                 51 lines. Applies velocity to position, adjusts for
 *                 camera movement, handles boundary wrapping. */

#define func_0x08005d10 Level_MoveDirectional
/* @ 0x08005d10 - Moves level objects in a specific direction.
 *                 30 lines. Applies directional velocity with camera
 *                 offset calculation. */

#define func_0x08005d98 Level_UpdatePosition
/* @ 0x08005d98 - Updates level object positions with camera-relative movement.
 *                 50 lines. Comprehensive position update with velocity
 *                 integration and camera compensation. */

#define func_0x08005eb8 GetObjectCount
/* @ 0x08005eb8 - Returns maximum object count constant (0xc = 12).
 *                 5 lines. Simple getter for level configuration. */

#define func_0x08005ebc GetMaxTime
/* @ 0x08005ebc - Returns maximum time value constant (0x1e = 30).
 *                 5 lines. Simple getter for timer configuration. */

#define func_0x08005ec4 Object_FreeIfFlag
/* @ 0x08005ec4 - Conditionally frees object based on flag.
 *                 10 lines. Standard destructor pattern: if bit 0 of
 *                 flags is set, calls Mem_FreeAndChildren. */

#define func_0x08005f08 Text_RenderTileRow
/* @ 0x08005f08 - Renders a row of text tiles with bitmask processing.
 *                 32 lines. Processes character data, renders tiles,
 *                 and handles special characters (0x2f = '/'). */

/* ========================================================================
 * Game State/Levels (0x08006-0x08009)
 * ======================================================================== */

#define func_0x080071f8 GameState_LoadFromSave
/* @ 0x080071f8 - Initializes game state from save data.
 *                 42 lines. Reads save data, sets up player state,
 *                 configures level parameters from stored values. */

#define func_0x080085fc Level_SetFlags
/* @ 0x080085fc - Modifies level flags based on game events.
 *                 19 lines. Updates level state flags at offset 0x5c,
 *                 sets completion/status bits. */

#define func_0x0800879c Level_CompleteSequence
/* @ 0x0800879c - Handles level completion sequence.
 *                 64 lines. Manages sound effects, displays completion
 *                 text, triggers score calculation, handles transitions. */

#define func_0x08008ea0 Menu_Init
/* @ 0x08008ea0 - Initializes menu system.
 *                 14 lines. Allocates menu state, sets up input
 *                 handlers, configures display parameters. */

#define func_0x08008ec4 Menu_Confirm
/* @ 0x08008ec4 - Confirms menu selection.
 *                 8 lines. Calls Menu_HandleConfirm with current
 *                 menu state pointer. */

#define func_0x08008ed8 Menu_UpdateState
/* @ 0x08008ed8 - Updates menu state machine.
 *                 13 lines. Checks menu state, processes transitions
 *                 between menu screens. */

/* ========================================================================
 * Menu/UI (0x08009-0x0800B)
 * ======================================================================== */

#define func_0x08009378 Menu_SelectItem
/* @ 0x08009378 - Handles menu item selection with math validation.
 *                 51 lines. Processes selection input, validates item
 *                 bounds, applies selection animation. */

#define func_0x080094b4 Menu_LoadSaveData
/* @ 0x080094b4 - Loads saved data into menu system.
 *                 19 lines. Calls Save_Load with appropriate parameters,
 *                 sets up save slot display. */

#define func_0x080097d0 Menu_SaveSlotSelect
/* @ 0x080097d0 - Manages save slot selection and data display.
 *                 212 lines. Handles save slot navigation, displays
 *                 save data, manages selection state. */

#define func_0x08009c3c Menu_RenderWithOptions
/* @ 0x08009c3c - Renders menu with text options and selection.
 *                 209 lines. Full menu rendering with text display,
 *                 option highlighting, scroll handling. */

#define func_0x0800a0fc Menu_LevelSelect
/* @ 0x0800a0fc - Handles level selection screen.
 *                 74 lines. Manages level grid display, selection
 *                 cursor, level unlock status. */

/* ========================================================================
 * Particles/Emitters (0x0800E-0x08010)
 * ======================================================================== */

#define func_0x0800e748 Sound_Init
/* @ 0x0800e748 - Initializes sound system.
 *                 22 lines. Sets up sound channels, configures
 *                 initial volumes and sound bank pointers. */

#define func_0x0800f38c Level_InitEmitters
/* @ 0x0800f38c - Sets up emitters for level.
 *                 19 lines. Configures emitter positions and types
 *                 based on level data. */

#define func_0x0800f400 Level_SaveEmitters
/* @ 0x0800f400 - Saves emitter state for level.
 *                 19 lines. Persists emitter configuration for
 *                 level restoration. */

#define func_0x0800f474 Emitter_Alloc
/* @ 0x0800f474 - Allocates memory for emitter.
 *                 13 lines. Allocates emitter structure with
 *                 appropriate size and alignment. */

#define func_0x0800f490 Input_GetAnalogValue
/* @ 0x0800f490 - Gets analog stick input value.
 *                 8 lines. Calls Input_GetAnalog to read
 *                 controller analog input. */

#define func_0x0800f4a4 Input_UpdateState
/* @ 0x0800f4a4 - Updates input state machine.
 *                 13 lines. Processes raw input, updates
 *                 input buffer and button states. */

/* ========================================================================
 * Sound Engine (0x08010-0x08012)
 * ======================================================================== */

#define func_0x080101d0 Sound_GetChannelVolume
/* @ 0x080101d0 - Gets volume for a specific sound channel.
 *                 5 lines. Returns volume value from channel
 *                 parameter structure. */

#define func_0x08011bac Sound_InitChannel0
/* @ 0x08011bac - Initializes sound channel 0 (base waveform).
 *                 11 lines. Calls Math_InitLookup with channel 0
 *                 parameters, sets flag bit 0x2. */

#define func_0x08011bf0 Sound_InitChannel1
/* @ 0x08011bf0 - Initializes sound channel 1.
 *                 11 lines. Calls Math_InitLookup with channel 1
 *                 parameters, sets flag bit 0x4. */

#define func_0x08011c34 Sound_InitChannel2
/* @ 0x08011c34 - Initializes sound channel 2.
 *                 11 lines. Calls Math_InitLookup with channel 2
 *                 parameters, sets flag bit 0x8. */

#define func_0x08011c78 Sound_InitChannel3
/* @ 0x08011c78 - Initializes sound channel 3.
 *                 11 lines. Calls Math_InitLookup with channel 3
 *                 parameters, sets flag bit 0x10. */

#define func_0x08011cbc Sound_InitChannel4
/* @ 0x08011cbc - Initializes sound channel 4.
 *                 11 lines. Calls Math_InitLookup with channel 4
 *                 parameters, sets flag bit 0x20. */

#define func_0x08011d00 Sound_InitChannel5
/* @ 0x08011d00 - Initializes sound channel 5.
 *                 11 lines. Calls Math_InitLookup with channel 5
 *                 parameters, sets flag bit 0x40. */

#define func_0x08011d44 Sound_InitChannel6
/* @ 0x08011d44 - Initializes sound channel 6.
 *                 11 lines. Calls Math_InitLookup with channel 6
 *                 parameters, sets flag bit 0x80. */

#define func_0x08011d88 Sound_InitChannel7
/* @ 0x08011d88 - Initializes sound channel 7.
 *                 11 lines. Calls Math_InitLookup with channel 7
 *                 parameters, sets flag bit 0x100. */

#define func_0x08011dd0 Sound_InitChannel8
/* @ 0x08011dd0 - Initializes sound channel 8.
 *                 11 lines. Calls Math_InitLookup with channel 8
 *                 parameters, sets flag bit 0x200. */

#define func_0x08011e18 Sound_InitChannel9
/* @ 0x08011e18 - Initializes sound channel 9.
 *                 11 lines. Calls Math_InitLookup with channel 9
 *                 parameters, sets flag bit 0x400. */

#define func_0x08011e60 Sound_InitChannel10
/* @ 0x08011e60 - Initializes sound channel 10.
 *                 11 lines. Calls Math_InitLookup with channel 10
 *                 parameters, sets flag bit 0x800. */

#define func_0x08011ea8 Sound_InitChannel11
/* @ 0x08011ea8 - Initializes sound channel 11.
 *                 11 lines. Calls Math_InitLookup with channel 11
 *                 parameters, sets flag bit 0x1000. */

#define func_0x08011ef0 Sound_NoOp
/* @ 0x08011ef0 - Sound system no-operation stub.
 *                 7 lines. Returns immediately, used as placeholder
 *                 for unused sound channel initialization. */

/* ========================================================================
 * Image/Graphics (0x08012-0x08015)
 * ======================================================================== */

#define func_0x08012974 Image_ProcessSpriteSheet
/* @ 0x08012974 - Processes sprite sheet data for rendering.
 *                 36 lines. Iterates sprite entries, applies
 *                 transforms, handles 0x80000000 flag for special sprites. */

#define func_0x08012fc4 Image_Decompress
/* @ 0x08012fc4 - Decompresses image data.
 *                 25 lines. RLE-style decompression with
 *                 byte-level processing and control codes. */

#define func_0x08013014 Image_Passthrough
/* @ 0x08013014 - Identity function - returns parameter unchanged.
 *                 5 lines. Used as function pointer for modes
 *                 that don't transform data. */

#define func_0x08013016 Image_Passthrough2
/* @ 0x08013016 - Identity function - returns parameter unchanged.
 *                 5 lines. Duplicate passthrough for second
 *                 function pointer slot. */

#define func_0x08013032 Script_Advance
/* @ 0x08013032 - Advances script offset by 1.
 *                 6 lines. Increments instruction pointer at
 *                 offset 0x40 in script context. */

#define func_0x0801308c Script_ReadData
/* @ 0x0801308c - Reads data from script context.
 *                 33 lines. Processes script commands, handles
 *                 text encoding and special characters. */

#define func_0x080134b8 Image_ProcessData
/* @ 0x080134b8 - Processes image data with save/load support.
 *                 169 lines. Complex image processing with multiple
 *                 modes (0x40, 0x80, 0xc0), handles color data. */

#define func_0x08013720 Script_IncrementOffset
/* @ 0x08013720 - Increments script offset.
 *                 6 lines. Adds 1 to instruction pointer at
 *                 offset 0x40. */

#define func_0x08013754 Image_ProcessColor
/* @ 0x08013754 - Processes color/palette data.
 *                 23 lines. Handles 0x1000000 flag for extended
 *                 color modes, processes palette entries. */

#define func_0x080137bc Image_CheckState
/* @ 0x080137bc - Checks image processing state.
 *                 10 lines. Compares state against expected value,
 *                 clears flag bit if matched. */

#define func_0x080137dc Image_SetPalette
/* @ 0x080137dc - Sets image palette.
 *                 12 lines. Writes palette data to image structure,
 *                 updates color indices. */

#define func_0x08013800 Text_Init
/* @ 0x08013800 - Initializes text rendering system.
 *                 22 lines. Sets up text buffers, initializes
 *                 character mapping with DMA transfer. */

#define func_0x08013e20 Text_UpdateDisplay
/* @ 0x08013e20 - Updates text display buffer.
 *                 34 lines. Processes text queue, renders characters,
 *                 handles scroll and animation. */

#define func_0x08013f6c Text_ProcessQueue
/* @ 0x08013f6c - Processes text queue entries.
 *                 31 lines. Handles text commands (0xb, 0x2000000,
 *                 0x400), manages text buffer state. */

#define func_0x08014188 Text_Render
/* @ 0x08014188 - Renders text to screen.
 *                 65 lines. Processes text data, handles character
 *                 rendering with animation support. */

#define func_0x080143ac Text_GetCharData
/* @ 0x080143ac - Gets character data for rendering.
 *                 34 lines. Looks up character in font table,
 *                 returns glyph data for rendering. */

#define func_0x08014400 Text_RenderString
/* @ 0x08014400 - Renders complete text string.
 *                 35 lines. Processes string with length calculation,
 *                 handles special characters (0x18, 0x19, 0x1b). */

#define func_0x080148e8 Text_SetPosition
/* @ 0x080148e8 - Sets text cursor position.
 *                 12 lines. Writes position values to text structure,
 *                 updates cursor coordinates. */

#define func_0x0801490c Text_ProcessData
/* @ 0x0801490c - Processes text data with scrolling.
 *                 28 lines. Handles text scroll, processes character
 *                 data with 0x80 flag support. */

#define func_0x08014cb4 Script_GetByte
/* @ 0x08014cb4 - Gets next byte from script.
 *                 11 lines. Reads byte from script pointer,
 *                 advances instruction pointer. */

#define func_0x08014cd4 Math_CalcSqrt
/* @ 0x08014cd4 - Wrapper for square root calculation.
 *                 8 lines. Calls Math_Sqrt with parameters from
 *                 global data structure. */

#define func_0x08014ce8 Script_ReadWord
/* @ 0x08014ce8 - Reads word (4 bytes) from script.
 *                 14 lines. Reads aligned word from script pointer,
 *                 returns combined value. */

#define func_0x08014dd8 Mem_CompareBlocks
/* @ 0x08014dd8 - Compares two memory blocks.
 *                 17 lines. Byte-by-byte comparison with length
 *                 parameter, returns match status. */

#define func_0x08014ed0 Math_CalcLookup
/* @ 0x08014ed0 - Calculates math lookup table entry.
 *                 20 lines. Processes trigonometric lookup with
 *                 0x8000 and 0x10000 scaling. */

#define func_0x08014f34 Script_ReadBytes
/* @ 0x08014f34 - Reads multiple bytes from script.
 *                 13 lines. Loop to read 3 bytes sequentially,
 *                 calls Script_GetNextByte for each. */

#define func_0x08014f6c SWI_Halt
/* @ 0x08014f6c - GBA software interrupt: HALT.
 *                 6 lines. CPU enters low-power halt state
 *                 until interrupt occurs (SWI 10). */

#define func_0x08014f78 SWI_VBlankIntrWait
/* @ 0x08014f78 - GBA software interrupt: VBlankIntrWait.
 *                 6 lines. Waits for VBlank interrupt (SWI 6),
 *                 used for frame synchronization. */

#define func_0x08014f7c SWI_Call
/* @ 0x08014f7c - Generic software interrupt call.
 *                 6 lines. Calls SWI 6 with parameters,
 *                 returns second parameter. */

#define func_0x08014fac Graphics_InitOAM
/* @ 0x08014fac - Initializes OAM (Object Attribute Memory).
 *                 56 lines. Sets up sprite attributes, configures
 *                 OAM entries for hardware sprite display. */

/* ========================================================================
 * Math/Memory (0x08015-0x08018)
 * ======================================================================== */

#define func_0x08015454 Exec_JumpTable
/* @ 0x08015454 - Executes function via jump table.
 *                 10 lines. Calls function pointer from recovered
 *                 jump table entry. */

#define func_0x08015458 Exec_JumpTable2
/* @ 0x08015458 - Executes function via jump table (variant).
 *                 10 lines. Second jump table execution path. */

#define func_0x0801550c Math_FixedDiv
/* @ 0x0801550c - Fixed-point division with normalization.
 *                 65 lines. Performs division with 0x10000000/0x80000000
 *                 normalization, handles sign and overflow. */

#define func_0x08015aa4 Physics_CompareBodiesEx
/* @ 0x08015aa4 - Extended physics body comparison.
 *                 11 lines. Calls Physics_CompareBodies, returns
 *                 0 if bodies match (for filtering). */

#define func_0x08015af4 Math_InitSystem
/* @ 0x08015af4 - Initializes math system.
 *                 8 lines. Calls Math_Init with global data,
 *                 returns initialized state. */

#define func_0x08015b08 Math_SetConstants
/* @ 0x08015b08 - Sets math constants.
 *                 7 lines. Writes constant values to global
 *                 data structure, calls Math_Init. */

#define func_0x08015b20 Math_CheckState
/* @ 0x08015b20 - Checks math system state.
 *                 13 lines. Tests initialization flag, returns
 *                 state value if initialized. */

#define func_0x08015b50 Math_Init2
/* @ 0x08015b50 - Second math initialization.
 *                 8 lines. Calls Math_Init with alternate data,
 *                 returns state offset. */

#define func_0x08015c74 Physics_Update
/* @ 0x08015c74 - Updates physics simulation.
 *                 44 lines. Processes physics state with memory
 *                 alignment, handles velocity and position updates. */

#define func_0x08015dbc Mem_GetStackTop
/* @ 0x08015dbc - Gets top of stack.
 *                 8 lines. Returns current stack pointer value
 *                 from Mem_GetStackPtr. */

#define func_0x08015dc8 Mem_GetStackFrame
/* @ 0x08015dc8 - Gets stack frame pointer.
 *                 12 lines. Returns stack frame with offset
 *                 calculations for local variables. */

#define func_0x08015ddc Physics_ApplyForceAndCopy
/* @ 0x08015ddc - Applies force and copies result.
 *                 11 lines. Calls Physics_ApplyForce, copies
 *                 result if successful. */

#define func_0x08015df4 Collision_Check
/* @ 0x08015df4 - Basic collision check.
 *                 23 lines. Checks collision with type validation,
 *                 handles special case for type 4. */

#define func_0x08015ef8 Collision_Resolve
/* @ 0x08015ef8 - Resolves collision response.
 *                 164 lines. Complex collision resolution with
 *                 linked list traversal, physics response. */

#define func_0x08016640 Math_InitFromParam
/* @ 0x08016640 - Initializes math from parameter structure.
 *                 8 lines. Calls Math_Init with data from
 *                 parameter array, returns result. */

#define func_0x08016650 Mem_FreeObject
/* @ 0x08016650 - Frees object memory.
 *                 9 lines. Sets vtable pointer, conditionally
 *                 frees with children based on flag. */

#define func_0x0801666c Object_Copy
/* @ 0x0801666c - Copies object structure.
 *                 15 lines. Creates local copy, processes
 *                 object data for duplication. */

#define func_0x08016710 Mem_FreeObject2
/* @ 0x08016710 - Frees object memory (variant).
 *                 9 lines. Second free pattern with different
 *                 vtable pointer. */

#define func_0x08016818 Object_Copy2
/* @ 0x08016818 - Copies object structure (variant).
 *                 13 lines. Alternative copy implementation
 *                 with different structure layout. */

#define func_0x080168e8 Mem_GetStackFrame2
/* @ 0x080168e8 - Gets stack frame (variant).
 *                 11 lines. Returns stack frame with local
 *                 variable space allocation. */

#define func_0x080169bc Mem_FreeObject3
/* @ 0x080169bc - Frees object memory (variant).
 *                 9 lines. Third free pattern with offset-based
 *                 vtable pointer. */

#define func_0x080169f4 Object_InitThree
/* @ 0x080169f4 - Initializes three related objects.
 *                 25 lines. Sets up trio of objects with
 *                 shared initialization parameters. */

#define func_0x08016eb0 Collision_CheckAABB
/* @ 0x08016eb0 - Checks AABB collision.
 *                 14 lines. Calls Collision_AABBOverlap for
 *                 axis-aligned bounding box test. */

#define func_0x08016f04 Collision_ResolveDetailed
/* @ 0x08016f04 - Detailed collision resolution.
 *                 56 lines. Complex collision response with
 *                 0x1fffffff/0x4000000 masking. */

#define func_0x08017148 Object_InitTwo
/* @ 0x08017148 - Initializes two related objects.
 *                 25 lines. Sets up pair of objects with
 *                 shared initialization. */

#define func_0x08017284 Object_InitTwo2
/* @ 0x08017284 - Initializes two objects (variant).
 *                 18 lines. Alternative two-object initialization
 *                 with different parameters. */

#define func_0x08017338 Mem_FreeObject4
/* @ 0x08017338 - Frees object memory (variant).
 *                 9 lines. Fourth free pattern. */

#define func_0x08017354 Object_Copy3
/* @ 0x08017354 - Copies object structure (variant).
 *                 15 lines. Third copy implementation. */

#define func_0x080173f8 Mem_FreeObject5
/* @ 0x080173f8 - Frees object memory (variant).
 *                 9 lines. Fifth free pattern. */

#define func_0x08017414 Object_Copy4
/* @ 0x08017414 - Copies object structure (variant).
 *                 15 lines. Fourth copy implementation. */

#define func_0x080174b8 Collision_CheckAABB2
/* @ 0x080174b8 - Checks AABB collision (inverted result).
 *                 8 lines. Calls Collision_AABBOverlap,
 *                 returns inverted result. */

#define func_0x080174e4 Collision_ResolveAdvanced
/* @ 0x080174e4 - Advanced collision resolution.
 *                 176 lines. Complex collision handling with
 *                 multiple response modes. */

#define func_0x08017ae4 Object_InitSingle
/* @ 0x08017ae4 - Initializes single object.
 *                 18 lines. Standard single-object initialization. */

#define func_0x08017c14 Object_InitSingle2
/* @ 0x08017c14 - Initializes single object (variant).
 *                 18 lines. Alternative single-object init. */

#define func_0x08017d44 Object_InitSingle3
/* @ 0x08017d44 - Initializes single object (variant).
 *                 18 lines. Third single-object initialization. */

#define func_0x08017e74 Object_InitSingle4
/* @ 0x08017e74 - Initializes single object (variant).
 *                 18 lines. Fourth single-object initialization. */

/* ========================================================================
 * Physics/Collision (0x08018-0x0801F)
 * ======================================================================== */

#define func_0x08018134 Collision_HandleType0
/* @ 0x08018134 - Collision handler for object type 0.
 *                 24 lines. Processes collision response for
 *                 basic object type. */

#define func_0x08018278 Collision_HandleType1
/* @ 0x08018278 - Collision handler for object type 1.
 *                 24 lines. Processes collision response for
 *                 moving object type. */

#define func_0x080183bc Collision_HandleType2
/* @ 0x080183bc - Collision handler for object type 2.
 *                 24 lines. Processes collision response for
 *                 collectible type. */

#define func_0x08018500 Collision_HandleType3
/* @ 0x08018500 - Collision handler for object type 3.
 *                 24 lines. Processes collision response for
 *                 hazard type. */

#define func_0x08018644 Collision_HandleType4
/* @ 0x08018644 - Collision handler for object type 4.
 *                 24 lines. Processes collision response for
 *                 trigger type. */

#define func_0x08018788 Collision_HandleType5
/* @ 0x08018788 - Collision handler for object type 5.
 *                 24 lines. Processes collision response for
 *                 wall type. */

#define func_0x080188cc Collision_HandleType6
/* @ 0x080188cc - Collision handler for object type 6.
 *                 24 lines. Processes collision response for
 *                 platform type. */

#define func_0x08018a10 Collision_HandleType7
/* @ 0x08018a10 - Collision handler for object type 7.
 *                 24 lines. Processes collision response for
 *                 enemy type. */

#define func_0x08018b54 Collision_HandleType8
/* @ 0x08018b54 - Collision handler for object type 8.
 *                 24 lines. Processes collision response for
 *                 projectile type. */

#define func_0x08018c98 Collision_HandleType9
/* @ 0x08018c98 - Collision handler for object type 9.
 *                 24 lines. Processes collision response for
 *                 powerup type. */

#define func_0x08018ddc Collision_HandleType10
/* @ 0x08018ddc - Collision handler for object type 10.
 *                 24 lines. Processes collision response for
 *                 decorative type. */

#define func_0x08018f20 Collision_HandleType11
/* @ 0x08018f20 - Collision handler for object type 11.
 *                 24 lines. Processes collision response for
 *                 special type. */

#define func_0x08019064 Collision_HandleType12
/* @ 0x08019064 - Collision handler for object type 12.
 *                 24 lines. Processes collision response for
 *                 animated type. */

#define func_0x080191a8 Collision_HandleType13
/* @ 0x080191a8 - Collision handler for object type 13.
 *                 24 lines. Processes collision response for
 *                 interactive type. */

#define func_0x080192ec Collision_HandleType14
/* @ 0x080192ec - Collision handler for object type 14.
 *                 24 lines. Processes collision response for
 *                 particle type. */

#define func_0x08019430 Collision_HandleType15
/* @ 0x08019430 - Collision handler for object type 15.
 *                 24 lines. Processes collision response for
 *                 final type. */

#define func_0x08019594 Physics_ReturnTrue
/* @ 0x08019594 - Always returns 1 (true).
 *                 5 lines. Used as function pointer for collision
 *                 handlers that always succeed. */

#define func_0x0801959c Physics_ApplyImpulseToBody
/* @ 0x0801959c - Applies impulse to physics body.
 *                 6 lines. Calls Physics_ApplyImpulse with
 *                 global body reference. */

#define func_0x08019ae0 Mem_CompareAligned
/* @ 0x08019ae0 - Compares aligned memory blocks.
 *                 22 lines. Optimized comparison for 4-byte
 *                 aligned data, falls back to byte comparison. */

#define func_0x08019c6c Float_Init
/* @ 0x08019c6c - Initializes floating-point value.
 *                 14 lines. Sets up float from integer with
 *                 global buffer reference. */

#define func_0x08019c98 Float_Compare
/* @ 0x08019c98 - Compares two floating-point values.
 *                 18 lines. Bitwise comparison with sign/
 *                 exponent handling. */

#define func_0x08019d38 Object_Find
/* @ 0x08019d38 - Finds object by type.
 *                 17 lines. Searches object list with type
 *                 matching (stride 0x14). */

#define func_0x08019da4 Object_Reset
/* @ 0x08019da4 - Resets all objects.
 *                 27 lines. Iterates object list, resets each
 *                 to default state (0xab, 0x26 values). */

#define func_0x08019e14 SWI_Compare
/* @ 0x08019e14 - Software interrupt comparison.
 *                 6 lines. Calls SWI 0xab, returns 0x13
 *                 (GBA register check). */

#define func_0x08019e28 Float_Copy
/* @ 0x08019e28 - Copies floating-point value.
 *                 11 lines. Uses SWI_CpuSet to copy float
 *                 from global buffer. */

#define func_0x08019e54 Physics_Bounce
/* @ 0x08019e54 - Physics bounce response.
 *                 9 lines. Calls Physics_BounceReflect then
 *                 SWI 0xab, returns 6. */

#define func_0x08019e78 Physics_BounceWithGravity
/* @ 0x08019e78 - Physics bounce with gravity compensation.
 *                 22 lines. Calls Physics_BounceReflect, applies
 *                 gravity offset (0x14 bytes). */

#define func_0x08019f44 Physics_ApplyDampingAndCalcReflect
/* @ 0x08019f44 - Applies damping and calculates reflection.
 *                 7 lines. Sequential calls to Physics_ApplyDamping
 *                 then Physics_CalcReflect. */

#define func_0x08019f50 Physics_Bounce2
/* @ 0x08019f50 - Physics bounce (variant).
 *                 9 lines. Similar to Physics_Bounce but returns
 *                 5 instead of 6. */

#define func_0x08019fc0 Physics_BounceWithCollision
/* @ 0x08019fc0 - Physics bounce with collision detection.
 *                 19 lines. Combines bounce physics with collision
 *                 response (0xab, 0x21 operations). */

#define func_0x0801a0a8 Float_FromIntAndCalcReflect
/* @ 0x0801a0a8 - Converts int to float and calculates reflection.
 *                 7 lines. Calls Float_FromInt then Physics_CalcReflect. */

#define func_0x0801a0f8 Object_FindByType
/* @ 0x0801a0f8 - Finds object by extended type.
 *                 18 lines. Searches with 0xfffffff0 mask and
 *                 0x20 type comparison. */

#define func_0x0801a134 Physics_SetGravity
/* @ 0x0801a134 - Sets gravity for physics body.
 *                 6 lines. Writes 0x2000 gravity value to
 *                 body structure. */

#define func_0x0801a14c Object_Clone
/* @ 0x0801a14c - Clones object with physics.
 *                 18 lines. Calls SWI 0xab with 0x11 operation,
 *                 handles null source. */

#define func_0x0801a178 Object_InitForPhysics
/* @ 0x0801a178 - Initializes object for physics simulation.
 *                 12 lines. Calls SWI 0xab, sets up physics
 *                 parameters (0x10 flag). */

#define func_0x0801a1d0 Physics_GetState
/* @ 0x0801a1d0 - Gets physics system state.
 *                 5 lines. Returns current state from global
 *                 data structure. */

#define func_0x0801b464 Bignum_Init
/* @ 0x0801b464 - Initializes bignum (big number) system.
 *                 Lines vary. Sets up multi-precision integer
 *                 library for high-precision calculations. */

#define func_0x0801b7d0 Bignum_FormatExtended
/* @ 0x0801b7d0 - Extended bignum formatting function.
 *                 Multi-parameter formatting with digit processing.
 *                 Returns formatted string pointer. */

#define func_0x0801b570 Text_ProcessChar
/* @ 0x0801b570 - Processes character for text rendering.
 *                 36 lines. Handles character encoding with
 *                 0x134 offset for special characters. */

#define func_0x0801b5c8 Bignum_InitFromParam
/* @ 0x0801b5c8 - Initializes bignum from parameter.
 *                 46 lines. Sets up bignum with 0x15 and 0x38
 *                 structure offsets, handles initialization. */

#define func_0x0801c4c8 Bignum_Process
/* @ 0x0801c4c8 - Processes bignum operation.
 *                 41 lines. Iterates bignum digits (0x40 entries),
 *                 applies mathematical operations. */

#define func_0x0801c594 Bignum_ApplyImpulse
/* @ 0x0801c594 - Applies impulse to bignum value.
 *                 17 lines. Calls Physics_ApplyImpulse with
 *                 0x58 stride calculation. */

#define func_0x0801c5c4 Bignum_ProcessData
/* @ 0x0801c5c4 - Processes bignum data.
 *                 44 lines. Handles 0xe and 0x76 structure,
 *                 processes with linked list traversal. */

#define func_0x0801c648 Bignum_CloneAndReturn
/* @ 0x0801c648 - Clones bignum value.
 *                 6 lines. Calls Bignum_Clone, returns
 *                 cloned value. */

#define func_0x0801c6b8 Bignum_Format
/* @ 0x0801c6b8 - Formats bignum for display.
 *                 151 lines. Converts bignum to string with
 *                 0xffffffff/0x200/0x400 handling. */

#define func_0x0801c968 Bignum_Free
/* @ 0x0801c968 - Frees bignum memory.
 *                 6 lines. Calls Bignum_FreeDigits for
 *                 cleanup. */

#define func_0x0801ca6c Bignum_InitWithDefaults
/* @ 0x0801ca6c - Initializes bignum with default values.
 *                 19 lines. Handles null parameters with
 *                 default initialization. */

#define func_0x0801ca98 Bignum_ProcessBytes
/* @ 0x0801ca98 - Processes bignum byte-by-byte.
 *                 43 lines. Handles 0xff and 0x100 thresholds,
 *                 processes in chunks. */

#define func_0x0801cb18 Bignum_GetDigits
/* @ 0x0801cb18 - Gets digits from bignum.
 *                 33 lines. Extracts digit array with 0x4c
 *                 offset, handles 0x10/0x0/0xff values. */

#define func_0x0801cb88 Bignum_Multiply
/* @ 0x0801cb88 - Multiplies bignum values.
 *                 34 lines. Multiplication with 0x10000 and
 *                 0xc carry handling. */

#define func_0x0801d168 Bignum_InitFromFloat
/* @ 0x0801d168 - Initializes bignum from float.
 *                 29 lines. Converts floating-point to bignum
 *                 with 0x14/0x80000/0xff/0x1f handling. */

#define func_0x0801d1b4 Bignum_ProcessAndNormalize
/* @ 0x0801d1b4 - Processes and normalizes bignum.
 *                 53 lines. Multi-step normalization with
 *                 0x14/0x10/0x20/0xb operations. */

#define func_0x0801d270 Bignum_Divide
/* @ 0x0801d270 - Divides bignum values.
 *                 52 lines. Division with 0x100000 and
 *                 0x10/0x20 handling. */

#define func_0x0801d358 Bignum_ToFloat
/* @ 0x0801d358 - Converts bignum to float.
 *                 23 lines. Float conversion with 0x10/0x20
 *                 and 0x100000 operations. */

#define func_0x0801d3a8 Bignum_Normalize
/* @ 0x0801d3a8 - Normalizes bignum value.
 *                 22 lines. Normalization with 0x18 and 0x20
 *                 operations. */

#define func_0x0801d460 Bignum_TrimDigits
/* @ 0x0801d460 - Trims bignum digits.
 *                 10 lines. Calls Bignum_Trim with 0x100 flag,
 *                 normalizes result. */

#define func_0x0801d4a0 Bignum_Trim2
/* @ 0x0801d4a0 - Trims bignum (variant).
 *                 16 lines. Calls Bignum_Trim with 0x1000
 *                 threshold. */

#define func_0x0801d520 Bignum_ApplyImpulse2
/* @ 0x0801d520 - Applies impulse to bignum (variant).
 *                 40 lines. Complex impulse with 0xfffffffc
 *                 and 0x25/0x13 operations. */

#define func_0x0801d578 Float_Init2
/* @ 0x0801d578 - Initializes float (variant).
 *                 14 lines. Similar to Float_Init with
 *                 different initialization. */

#define func_0x0801d5a4 Float_Init3
/* @ 0x0801d5a4 - Initializes float (variant).
 *                 14 lines. Third float initialization
 *                 pattern. */

#define func_0x0801d600 Float_Init4
/* @ 0x0801d600 - Initializes float (variant).
 *                 14 lines. Fourth float initialization
 *                 pattern. */

#define func_0x0801d630 Mem_CompareAndAlloc
/* @ 0x0801d630 - Compares memory and allocates if needed.
 *                 42 lines. Conditional allocation with
 *                 0x10000000/0x80000000 operations. */

#define func_0x0801db34 Float_Multiply4
/* @ 0x0801db34 - Multiplies floating-point values.
 *                 21 lines. Float multiplication with
 *                 temporary buffers. */

#define func_0x0801db9c Float_Multiply5
/* @ 0x0801db9c - Multiplies floating-point values (variant).
 *                 135 lines. Complex multiplication with
 *                 0x1f/0xfffffffe/0x20/0x80000000 handling. */

#define func_0x0801e0cc Float_Multiply6
/* @ 0x0801e0cc - Multiplies floating-point values (variant).
 *                 19 lines. Simplified float multiplication. */

#define func_0x0801e0f8 Float_Add2
/* @ 0x0801e0f8 - Adds floating-point values.
 *                 25 lines. Float addition with temporary
 *                 buffer handling. */

#define func_0x0801e144 Float_Subtract2
/* @ 0x0801e144 - Subtracts floating-point values.
 *                 25 lines. Float subtraction with
 *                 temporary buffer. */

#define func_0x0801e1dc Float_Compare2
/* @ 0x0801e1dc - Compares floating-point values.
 *                 25 lines. Float comparison with 0xffffffff
 *                 result handling. */

#define func_0x0801e274 Float_Multiply7
/* @ 0x0801e274 - Multiplies floating-point values (variant).
 *                 25 lines. Another float multiplication
 *                 variant. */

#define func_0x0801e2c0 Float_Normalize
/* @ 0x0801e2c0 - Normalizes floating-point value.
 *                 40 lines. Float normalization with
 *                 0x1f/0x3c/0x80000000 operations. */

#define func_0x0801e33c Float_ToInt
/* @ 0x0801e33c - Converts floating-point to integer.
 *                 37 lines. Float-to-int conversion with
 *                 0x1f/0x3c operations. */

#define func_0x0801e6f4 Float_Divide2
/* @ 0x0801e6f4 - Divides floating-point values.
 *                 17 lines. Float division with temporary
 *                 buffers. */

#define func_0x0801e720 Float_Divide3
/* @ 0x0801e720 - Divides floating-point values (variant).
 *                 19 lines. Alternative float division. */

#define func_0x0801e754 Float_Divide4
/* @ 0x0801e754 - Divides floating-point values (complex).
 *                 81 lines. Complex division with
 *                 0x1f/0x100000000/0x80000000/0x21 handling. */

#define func_0x0801e8b8 Float_Sqrt
/* @ 0x0801e8b8 - Calculates floating-point square root.
 *                 68 lines. Float sqrt with 0x40000000/0x7f/0x40/0x80
 *                 normalization. */

#define func_0x0801ea88 Float_Sin
/* @ 0x0801ea88 - Calculates sine of float angle.
 *                 15 lines. Float sine calculation with
 *                 temporary buffers. */

#define func_0x0801eab0 Float_Cos
/* @ 0x0801eab0 - Calculates cosine of float angle.
 *                 21 lines. Float cosine calculation. */

#define func_0x0801eaf8 Float_Sin2
/* @ 0x0801eaf8 - Calculates sine (variant).
 *                 21 lines. Alternative sine calculation. */

#define func_0x0801eb40 Float_Cos2
/* @ 0x0801eb40 - Calculates cosine (variant).
 *                 21 lines. Alternative cosine with
 *                 0xffffffff handling. */

#define func_0x0801eb88 Float_Sin3
/* @ 0x0801eb88 - Calculates sine (variant).
 *                 21 lines. Third sine variant with
 *                 0xffffffff. */

#define func_0x0801ebd0 Float_Cos3
/* @ 0x0801ebd0 - Calculates cosine (variant).
 *                 21 lines. Third cosine variant. */

#define func_0x0801ec18 Float_Sin4
/* @ 0x0801ec18 - Calculates sine (variant).
 *                 21 lines. Fourth sine variant. */

#define func_0x0801ec60 Float_Normalize2
/* @ 0x0801ec60 - Normalizes floating-point (variant).
 *                 34 lines. Float normalization with
 *                 0x1f/0x1e/0x80000000 operations. */

#define func_0x0801ecc0 Float_Normalize3
/* @ 0x0801ecc0 - Normalizes floating-point (variant).
 *                 34 lines. Alternative normalization with
 *                 0x1f/0x1e/0xff handling. */

#define func_0x0801ed28 Float_ToInt2
/* @ 0x0801ed28 - Converts float to int (variant).
 *                 13 lines. Simplified float-to-int conversion. */

#define func_0x0801ed4c Float_FromInt2
/* @ 0x0801ed4c - Converts int to float (variant).
 *                 15 lines. Int-to-float conversion with
 *                 intermediate calculations. */

#define func_0x0801ed64 Float_GetBuffer
/* @ 0x0801ed64 - Gets float buffer pointer.
 *                 14 lines. Returns float buffer with
 *                 0x1e offset calculation. */

#define func_0x0801ed90 Float_Normalize4
/* @ 0x0801ed90 - Normalizes floating-point (variant).
 *                 20 lines. Normalization with 0x20/0xff
 *                 operations. */

#define func_0x0801edc4 Float_Normalize5
/* @ 0x0801edc4 - Normalizes floating-point (variant).
 *                 18 lines. Normalization with 0x10/0x10000
 *                 operations. */

#define func_0x0801ef70 List_Free
/* @ 0x0801ef70 - Frees linked list node.
 *                 11 lines. Sets vtable, conditionally frees
 *                 with children. */

#define func_0x0801ef90 List_Free2
/* @ 0x0801ef90 - Frees linked list node (variant).
 *                 11 lines. Alternative list node free. */

#endif /* FUNC_RENAME_MAP_H */
