diff options
Diffstat (limited to 'asm/gpu_obj.s')
-rw-r--r-- | asm/gpu_obj.s | 693 |
1 files changed, 358 insertions, 335 deletions
diff --git a/asm/gpu_obj.s b/asm/gpu_obj.s index df5655356..ad39f7db0 100644 --- a/asm/gpu_obj.s +++ b/asm/gpu_obj.s @@ -1,13 +1,14 @@ - thumb_func_start reset_all_obj_data -reset_all_obj_data: ; 8006974 + thumb_func_start ResetAllObjectData +; void ResetAllObjectData() +ResetAllObjectData: ; 8006974 push {r4,lr} movs r0, 0 movs r1, 0x80 - bl reset_super_sprites - bl obj_delete_all - bl copy_queue_clear + bl ResetSpriteRange + bl RemoveAllObjects + bl ClearObjectCopyRequests bl rotscale_reset_all - bl gpu_tile_obj_tags_reset + bl FreeAllObjectTiles ldr r1, =0x02021b38 movs r0, 0x40 strb r0, [r1] @@ -15,7 +16,7 @@ reset_all_obj_data: ; 8006974 movs r4, 0 strh r4, [r0] movs r0, 0 - bl gpu_tile_obj_alloc + bl AllocObjectTiles ldr r0, =0x02021bbc strh r4, [r0] ldr r0, =0x02021bbe @@ -24,11 +25,11 @@ reset_all_obj_data: ; 8006974 pop {r0} bx r0 .pool - thumb_func_end reset_all_obj_data + thumb_func_end ResetAllObjectData - thumb_func_start call_obj_callbacks -; void call_obj_callbacks() -call_obj_callbacks: ; 80069C0 + thumb_func_start CallObjectCallbacks +; void CallObjectCallbacks() +CallObjectCallbacks: ; 80069C0 push {r4-r7,lr} movs r6, 0 movs r7, 0x1 @@ -54,7 +55,7 @@ call_obj_callbacks: ; 80069C0 cmp r0, 0 beq @080069F6 adds r0, r4, 0 - bl obj_anim_step + bl AnimateObject @080069F6: adds r0, r6, 0x1 lsls r0, 24 @@ -65,15 +66,15 @@ call_obj_callbacks: ; 80069C0 pop {r0} bx r0 .pool - thumb_func_end call_obj_callbacks + thumb_func_end CallObjectCallbacks - thumb_func_start obj_sync_something -; void obj_sync_something() -obj_sync_something: ; 8006A0C + thumb_func_start PrepareSpritesForOamLoad +; void PrepareSpritesForOamLoad() +PrepareSpritesForOamLoad: ; 8006A0C push {r4,r5,lr} - bl update_obj_oam_coords - bl do_something_with_obj_priorites - bl determine_visible_sprites_maybe + bl UpdateObjectOamCoords + bl BuildObjectPriorityList + bl SortObjectsByPriority ldr r5, =0x030022c0 ldr r0, =0x00000439 adds r5, r0 @@ -83,8 +84,8 @@ obj_sync_something: ; 8006A0C movs r1, 0x1 orrs r0, r1 strb r0, [r5] - bl super_sprites_fill - bl copy_rotscale_coeffs_to_super_sprites + bl PopulateSprites + bl CopyTransformationMatricesToSprites movs r2, 0x1 ldrb r1, [r5] movs r0, 0x2 @@ -98,10 +99,11 @@ obj_sync_something: ; 8006A0C pop {r0} bx r0 .pool - thumb_func_end obj_sync_something + thumb_func_end PrepareSpritesForOamLoad - thumb_func_start update_obj_oam_coords -update_obj_oam_coords: ; 8006A58 + thumb_func_start UpdateObjectOamCoords +; void UpdateObjectOamCoords() +UpdateObjectOamCoords: ; 8006A58 push {r4-r7,lr} movs r4, 0 ldr r7, =0x02020630 @@ -193,10 +195,11 @@ update_obj_oam_coords: ; 8006A58 pop {r4-r7} pop {r0} bx r0 - thumb_func_end update_obj_oam_coords + thumb_func_end UpdateObjectOamCoords - thumb_func_start do_something_with_obj_priorites -do_something_with_obj_priorites: ; 8006B1C + thumb_func_start BuildObjectPriorityList +; void BuildObjectPriorityList() +BuildObjectPriorityList: ; 8006B1C push {r4,lr} movs r2, 0 ldr r4, =0x02020630 @@ -226,10 +229,11 @@ do_something_with_obj_priorites: ; 8006B1C pop {r0} bx r0 .pool - thumb_func_end do_something_with_obj_priorites + thumb_func_end BuildObjectPriorityList - thumb_func_start determine_visible_sprites_maybe -determine_visible_sprites_maybe: ; 8006B5C + thumb_func_start SortObjectsByPriority +; void SortObjectsByPriority() +SortObjectsByPriority: ; 8006B5C push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -459,11 +463,11 @@ determine_visible_sprites_maybe: ; 8006B5C pop {r0} bx r0 .pool - thumb_func_end determine_visible_sprites_maybe + thumb_func_end SortObjectsByPriority - thumb_func_start copy_rotscale_coeffs_to_super_sprites -; void copy_rotscale_coeffs_to_super_sprites() -copy_rotscale_coeffs_to_super_sprites: ; 8006D1C + thumb_func_start CopyTransformationMatricesToSprites +; void CopyTransformationMatricesToSprites() +CopyTransformationMatricesToSprites: ; 8006D1C push {r4-r6,lr} movs r4, 0 ldr r5, =0x030022c0 @@ -500,11 +504,11 @@ copy_rotscale_coeffs_to_super_sprites: ; 8006D1C pop {r0} bx r0 .pool - thumb_func_end copy_rotscale_coeffs_to_super_sprites + thumb_func_end CopyTransformationMatricesToSprites - thumb_func_start super_sprites_fill -; void super_sprites_fill() -super_sprites_fill: ; 8006D68 + thumb_func_start PopulateSprites +; void PopulateSprites() +PopulateSprites: ; 8006D68 push {r4-r6,lr} sub sp, 0x4 movs r4, 0 @@ -528,7 +532,7 @@ super_sprites_fill: ; 8006D68 bne @08006D9E adds r0, r2, 0 mov r1, sp - bl super_sprite_add + bl AddSprite lsls r0, 24 cmp r0, 0 bne @08006DD8 @@ -569,11 +573,11 @@ super_sprites_fill: ; 8006D68 pop {r0} bx r0 .pool - thumb_func_end super_sprites_fill + thumb_func_end PopulateSprites - thumb_func_start obj_add_from_template_forward_search -; int obj_add_from_template_forward_search(struct objtemplate *template, s16 x, s16 y, u8 y_height_related) -obj_add_from_template_forward_search: ; 8006DF4 + thumb_func_start AddObjectToFront +; u8 AddObjectToFront(struct objtemplate *template, u16 x, u16 y, u8 subpriority) +AddObjectToFront: ; 8006DF4 push {r4-r7,lr} sub sp, 0x4 adds r7, r0, 0 @@ -599,7 +603,7 @@ obj_add_from_template_forward_search: ; 8006DF4 adds r1, r7, 0 asrs r2, r5, 16 asrs r3, r6, 16 - bl template_read + bl AddObject lsls r0, 24 lsrs r0, 24 b @08006E40 @@ -616,11 +620,11 @@ obj_add_from_template_forward_search: ; 8006DF4 pop {r4-r7} pop {r1} bx r1 - thumb_func_end obj_add_from_template_forward_search + thumb_func_end AddObjectToFront - thumb_func_start obj_add_from_template_backward_search -; int obj_add_from_template_backward_search(struct objtemplate *template, s16 x, s16 y, u8 y_height_related) -obj_add_from_template_backward_search: ; 8006E48 + thumb_func_start AddObjectToBack +; u8 AddObjectToBack(struct objtemplate *template, u16 x, u16 y, u8 subpriority) +AddObjectToBack: ; 8006E48 push {r4-r7,lr} mov r7, r8 push {r7} @@ -654,7 +658,7 @@ obj_add_from_template_backward_search: ; 8006E48 adds r1, r7, 0 asrs r2, r4, 16 asrs r3, r5, 16 - bl template_read + bl AddObject lsls r0, 24 lsrs r0, 24 b @08006EA6 @@ -674,7 +678,7 @@ obj_add_from_template_backward_search: ; 8006E48 pop {r4-r7} pop {r1} bx r1 - thumb_func_end obj_add_from_template_backward_search + thumb_func_end AddObjectToBack thumb_func_start obj_add_empty_with_callback ; int obj_add_empty_with_callback(void ( *func)()) @@ -685,7 +689,7 @@ obj_add_empty_with_callback: ; 8006EB4 movs r1, 0 movs r2, 0 movs r3, 0x1F - bl obj_add_from_template_forward_search + bl AddObjectToFront lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0x40 @@ -714,9 +718,9 @@ obj_add_empty_with_callback: ; 8006EB4 bx r1 thumb_func_end obj_add_empty_with_callback - thumb_func_start template_read -; int template_read(u8 obj_id, struct objtemplate *a2, s16 x, s16 y, u8 y_height_related) -template_read: ; 8006EFC + thumb_func_start AddObject +; u8 AddObject(u8 index, struct objtemplate *template, u16 x, u16 y, u8 subpriority) +AddObject: ; 8006EFC push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -741,7 +745,7 @@ template_read: ; 8006EFC ldr r1, =0x02020630 adds r7, r0, r1 adds r0, r7, 0 - bl obj_delete + bl RemoveObject adds r2, r7, 0 adds r2, 0x3E ldrb r0, [r2] @@ -786,7 +790,7 @@ template_read: ; 8006EFC lsls r3, 30 lsrs r3, 30 adds r0, r7, 0 - bl oam_center + bl CalcVecFromObjectCenterToObjectUpperLeft mov r0, r8 ldrh r1, [r0] ldr r4, =0xffff0000 @@ -800,7 +804,7 @@ template_read: ; 8006EFC lsrs r0, 5 lsls r0, 24 lsrs r0, 24 - bl gpu_tile_obj_alloc + bl AllocObjectTiles lsls r0, 16 lsrs r2, r0, 16 asrs r0, 16 @@ -808,7 +812,7 @@ template_read: ; 8006EFC cmp r0, r1 bne @08006FC8 adds r0, r7, 0 - bl obj_delete + bl RemoveObject movs r0, 0x40 b @08007040 .pool @@ -837,7 +841,7 @@ template_read: ; 8006EFC @08006FF8: mov r1, r8 ldrh r0, [r1] - bl gpu_tile_obj_tag_get_range_start + bl GetObjectTileRangeStartByTag adds r1, r7, 0 adds r1, 0x40 strh r0, [r1] @@ -861,7 +865,7 @@ template_read: ; 8006EFC beq @0800703E mov r1, r8 ldrh r0, [r1, 0x2] - bl gpu_pal_tags_index_of + bl IndexOfObjectPaletteTag lsls r0, 4 ldrb r2, [r7, 0x5] movs r1, 0xF @@ -879,11 +883,11 @@ template_read: ; 8006EFC pop {r1} bx r1 .pool - thumb_func_end template_read + thumb_func_end AddObject - thumb_func_start obj_add_from_template_call_callback_once -; int obj_add_from_template_call_callback_once(struct objtemplate *template, s16 x, s16 y, u8 y_height_related) -obj_add_from_template_call_callback_once: ; 8007054 + thumb_func_start AddObjectAndAnimateForOneFrame +; u8 AddObjectAndAnimateForOneFrame(struct objtemplate *template, u16 x, u16 y, u8 subpriority) +AddObjectAndAnimateForOneFrame: ; 8007054 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -919,7 +923,7 @@ obj_add_from_template_call_callback_once: ; 8007054 asrs r2, r3, 16 mov r5, r8 asrs r3, r5, 16 - bl template_read + bl AddObject lsls r0, 24 lsrs r0, 24 adds r5, r0, 0 @@ -935,7 +939,7 @@ obj_add_from_template_call_callback_once: ; 8007054 cmp r0, 0 beq @080070C0 adds r0, r4, 0 - bl obj_anim_step + bl AnimateObject @080070C0: adds r0, r5, 0 b @080070D8 @@ -957,11 +961,11 @@ obj_add_from_template_call_callback_once: ; 8007054 pop {r4-r7} pop {r1} bx r1 - thumb_func_end obj_add_from_template_call_callback_once + thumb_func_end AddObjectAndAnimateForOneFrame - thumb_func_start obj_delete_and_free_tiles -; void obj_delete_and_free_tiles(struct obj *obj) -obj_delete_and_free_tiles: ; 80070E8 + thumb_func_start RemoveObjectAndFreeTiles +; void RemoveObjectAndFreeTiles(struct obj *object) +RemoveObjectAndFreeTiles: ; 80070E8 push {r4-r7,lr} adds r5, r0, 0 adds r0, 0x3E @@ -1008,17 +1012,17 @@ obj_delete_and_free_tiles: ; 80070E8 bcc @08007122 @0800713E: adds r0, r5, 0 - bl obj_delete + bl RemoveObject @08007144: pop {r4-r7} pop {r0} bx r0 .pool - thumb_func_end obj_delete_and_free_tiles + thumb_func_end RemoveObjectAndFreeTiles - thumb_func_start reset_super_sprites -; void reset_super_sprites(u8 a1, u8 a2) -reset_super_sprites: ; 8007150 + thumb_func_start ResetSpriteRange +; void ResetSpriteRange(u8 startIndex, u8 endIndex) +ResetSpriteRange: ; 8007150 push {r4-r6,lr} lsls r0, 24 lsls r1, 24 @@ -1045,11 +1049,11 @@ reset_super_sprites: ; 8007150 pop {r0} bx r0 .pool - thumb_func_end reset_super_sprites + thumb_func_end ResetSpriteRange - thumb_func_start copy_super_sprites_to_oam -; void copy_super_sprites_to_oam() -copy_super_sprites_to_oam: ; 8007188 + thumb_func_start LoadOamFromSprites +; void LoadOamFromSprites() +LoadOamFromSprites: ; 8007188 push {lr} ldr r2, =0x030022c0 ldr r1, =0x00000439 @@ -1069,10 +1073,11 @@ copy_super_sprites_to_oam: ; 8007188 pop {r0} bx r0 .pool - thumb_func_end copy_super_sprites_to_oam + thumb_func_end LoadOamFromSprites - thumb_func_start copy_queue_clear -copy_queue_clear: ; 80071B8 + thumb_func_start ClearObjectCopyRequests +; void ClearObjectCopyRequests() +ClearObjectCopyRequests: ; 80071B8 push {r4,r5,lr} ldr r0, =0x02021834 movs r1, 0 @@ -1101,10 +1106,11 @@ copy_queue_clear: ; 80071B8 pop {r0} bx r0 .pool - thumb_func_end copy_queue_clear + thumb_func_end ClearObjectCopyRequests - thumb_func_start reset_rotscale_coeffs -reset_rotscale_coeffs: ; 80071F8 + thumb_func_start ResetSpriteTransformationMatrices +; void ResetSpriteTransformationMatrices() +ResetSpriteTransformationMatrices: ; 80071F8 push {r4,lr} movs r1, 0 ldr r4, =0x02021bc0 @@ -1127,10 +1133,11 @@ reset_rotscale_coeffs: ; 80071F8 pop {r0} bx r0 .pool - thumb_func_end reset_rotscale_coeffs + thumb_func_end ResetSpriteTransformationMatrices - thumb_func_start rotscale_set_direct -rotscale_set_direct: ; 8007224 + thumb_func_start SetSpriteTransformationMatrix +; void SetSpriteTransformationMatrix(u8 index, u16 a, u16 b, u16 c, u16 d) +SetSpriteTransformationMatrix: ; 8007224 push {r4,r5,lr} ldr r5, [sp, 0xC] lsls r0, 24 @@ -1145,11 +1152,11 @@ rotscale_set_direct: ; 8007224 pop {r0} bx r0 .pool - thumb_func_end rotscale_set_direct + thumb_func_end SetSpriteTransformationMatrix - thumb_func_start obj_delete -; void obj_delete(struct obj *obj) -obj_delete: ; 8007244 + thumb_func_start RemoveObject +; void RemoveObject(struct obj *object) +RemoveObject: ; 8007244 push {lr} ldr r1, =gUnknown_082EC64C movs r2, 0x44 @@ -1157,10 +1164,11 @@ obj_delete: ; 8007244 pop {r0} bx r0 .pool - thumb_func_end obj_delete + thumb_func_end RemoveObject - thumb_func_start oam_center -oam_center: ; 8007258 + thumb_func_start CalcVecFromObjectCenterToObjectUpperLeft +; void CalcVecFromObjectCenterToObjectUpperLeft(struct obj *object, u8 shape, u8 size, u8 affineMode) +CalcVecFromObjectCenterToObjectUpperLeft: ; 8007258 push {r4-r6,lr} adds r6, r0, 0 lsls r1, 24 @@ -1194,11 +1202,11 @@ oam_center: ; 8007258 pop {r0} bx r0 .pool - thumb_func_end oam_center + thumb_func_end CalcVecFromObjectCenterToObjectUpperLeft - thumb_func_start gpu_tile_obj_alloc -; int gpu_tile_obj_alloc(u16 tile_count) -gpu_tile_obj_alloc: ; 800729C + thumb_func_start AllocObjectTiles +; s16 AllocObjectTiles(u16 numTiles) +AllocObjectTiles: ; 800729C push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -1345,11 +1353,11 @@ gpu_tile_obj_alloc: ; 800729C pop {r1} bx r1 .pool - thumb_func_end gpu_tile_obj_alloc + thumb_func_end AllocObjectTiles - thumb_func_start gpu_tile_obj_alloc_map_bit_op -; unsigned int gpu_tile_obj_alloc_map_bit_op(int tile_id, bit_operation operation) -gpu_tile_obj_alloc_map_bit_op: ; 80073B8 + thumb_func_start Unused_ObjectTileAllocationBitArrayOp +; unsigned int Unused_ObjectTileAllocationBitArrayOp(u16 tileNum, u8 op) +Unused_ObjectTileAllocationBitArrayOp: ; 80073B8 push {r4-r6,lr} lsls r0, 16 lsrs r2, r0, 16 @@ -1405,16 +1413,17 @@ gpu_tile_obj_alloc_map_bit_op: ; 80073B8 pop {r1} bx r1 .pool - thumb_func_end gpu_tile_obj_alloc_map_bit_op + thumb_func_end Unused_ObjectTileAllocationBitArrayOp thumb_func_start DummyObjectCallback +; void DummyObjectCallback(struct obj *object) DummyObjectCallback: ; 8007428 bx lr thumb_func_end DummyObjectCallback - thumb_func_start copy_queue_process -; void copy_queue_process() -copy_queue_process: ; 800742C + thumb_func_start ProcessObjectCopyRequests +; void ProcessObjectCopyRequests() +ProcessObjectCopyRequests: ; 800742C push {r4-r7,lr} ldr r0, =0x02021834 ldrb r0, [r0] @@ -1457,11 +1466,11 @@ copy_queue_process: ; 800742C pop {r0} bx r0 .pool - thumb_func_end copy_queue_process + thumb_func_end ProcessObjectCopyRequests - thumb_func_start copy_queue_add_oam_frame -; void copy_queue_add_oam_frame(u16 frameIndex, u16 targetTileNum, struct obj_tiles *frames) -copy_queue_add_oam_frame: ; 8007488 + thumb_func_start AddPicToObjectCopyRequests +; void AddPicToObjectCopyRequests(u16 picIndex, u16 targetTileNum, struct obj_tiles *pics) +AddPicToObjectCopyRequests: ; 8007488 push {r4-r6,lr} adds r5, r2, 0 lsls r0, 16 @@ -1507,11 +1516,11 @@ copy_queue_add_oam_frame: ; 8007488 pop {r0} bx r0 .pool - thumb_func_end copy_queue_add_oam_frame + thumb_func_end AddPicToObjectCopyRequests - thumb_func_start copy_queue_add -; void copy_queue_add(void *src, void *dest, u16 len) -copy_queue_add: ; 80074EC + thumb_func_start AddTilesToObjectCopyRequests +; void AddTilesToObjectCopyRequests(void *src, void *dest, u16 size) +AddTilesToObjectCopyRequests: ; 80074EC push {r4-r6,lr} adds r4, r0, 0 adds r5, r1, 0 @@ -1549,11 +1558,11 @@ copy_queue_add: ; 80074EC pop {r0} bx r0 .pool - thumb_func_end copy_queue_add + thumb_func_end AddTilesToObjectCopyRequests - thumb_func_start copy_all_from_objects -; void copy_all_from_objects(void *dest) -copy_all_from_objects: ; 800753C + thumb_func_start Unused_CopyFromObjects +; void Unused_CopyFromObjects(void *dest) +Unused_CopyFromObjects: ; 800753C push {r4,lr} adds r1, r0, 0 ldr r3, =0x02020630 @@ -1571,11 +1580,11 @@ copy_all_from_objects: ; 800753C pop {r0} bx r0 .pool - thumb_func_end copy_all_from_objects + thumb_func_end Unused_CopyFromObjects - thumb_func_start copy_all_to_objects -; void copy_all_to_objects(void *src) -copy_all_to_objects: ; 8007564 + thumb_func_start Unused_CopyToObjects +; void Unused_CopyToObjects(void *src) +Unused_CopyToObjects: ; 8007564 push {r4,lr} adds r1, r0, 0 ldr r3, =0x02020630 @@ -1593,11 +1602,11 @@ copy_all_to_objects: ; 8007564 pop {r0} bx r0 .pool - thumb_func_end copy_all_to_objects + thumb_func_end Unused_CopyToObjects - thumb_func_start obj_delete_all -; void obj_delete_all() -obj_delete_all: ; 800758C + thumb_func_start RemoveAllObjects +; void RemoveAllObjects() +RemoveAllObjects: ; 800758C push {r4,r5,lr} movs r4, 0 @08007590: @@ -1606,7 +1615,7 @@ obj_delete_all: ; 800758C lsls r0, 2 ldr r5, =0x02020630 adds r0, r5 - bl obj_delete + bl RemoveObject ldr r0, =0x020217f4 adds r0, r4, r0 strb r4, [r0] @@ -1619,16 +1628,16 @@ obj_delete_all: ; 800758C adds r0, r4 lsls r0, 2 adds r0, r5 - bl obj_delete + bl RemoveObject pop {r4,r5} pop {r0} bx r0 .pool - thumb_func_end obj_delete_all + thumb_func_end RemoveAllObjects - thumb_func_start obj_free_tiles -; void obj_free_tiles(struct obj *obj) -obj_free_tiles: ; 80075C8 + thumb_func_start FreeObjectTiles +; void FreeObjectTiles(struct obj *object) +FreeObjectTiles: ; 80075C8 push {lr} ldr r2, [r0, 0x14] ldrh r1, [r2] @@ -1636,23 +1645,23 @@ obj_free_tiles: ; 80075C8 cmp r1, r0 beq @080075DA adds r0, r1, 0 - bl gpu_tile_obj_free_by_tag + bl FreeObjectTilesByTag @080075DA: pop {r0} bx r0 .pool - thumb_func_end obj_free_tiles + thumb_func_end FreeObjectTiles - thumb_func_start obj_free_pal -; void obj_free_pal(struct obj *obj) -obj_free_pal: ; 80075E4 + thumb_func_start FreeObjectPalette +; void FreeObjectPalette(struct obj *object) +FreeObjectPalette: ; 80075E4 push {lr} ldr r0, [r0, 0x14] ldrh r0, [r0, 0x2] - bl gpu_pal_free_tag + bl FreeObjectPaletteByTag pop {r0} bx r0 - thumb_func_end obj_free_pal + thumb_func_end FreeObjectPalette thumb_func_start obj_free_rotscale_entry ; void obj_free_rotscale_entry(struct obj *obj) @@ -1681,26 +1690,26 @@ obj_free_rotscale_entry: ; 80075F4 bx r0 thumb_func_end obj_free_rotscale_entry - thumb_func_start obj_delete_and_free_resources -; void obj_delete_and_free_resources(struct obj *obj) -obj_delete_and_free_resources: ; 8007620 + thumb_func_start RemoveObjectAndFreeResources +; void RemoveObjectAndFreeResources(struct obj *object) +RemoveObjectAndFreeResources: ; 8007620 push {r4,lr} adds r4, r0, 0 - bl obj_free_tiles + bl FreeObjectTiles adds r0, r4, 0 - bl obj_free_pal + bl FreeObjectPalette adds r0, r4, 0 bl obj_free_rotscale_entry adds r0, r4, 0 - bl obj_delete_and_free_tiles + bl RemoveObjectAndFreeTiles pop {r4} pop {r0} bx r0 - thumb_func_end obj_delete_and_free_resources + thumb_func_end RemoveObjectAndFreeResources - thumb_func_start obj_anim_step -; void obj_anim_step(struct obj *obj) -obj_anim_step: ; 8007640 + thumb_func_start AnimateObject +; void AnimateObject(struct obj *object) +AnimateObject: ; 8007640 push {r4,r5,lr} adds r4, r0, 0 ldr r2, =gUnknown_082EC6C4 @@ -1731,11 +1740,11 @@ obj_anim_step: ; 8007640 pop {r0} bx r0 .pool - thumb_func_end obj_anim_step + thumb_func_end AnimateObject - thumb_func_start obj_anim_image_begin -; void obj_anim_image_begin(struct obj *obj) -obj_anim_image_begin: ; 8007688 + thumb_func_start BeginObjectImageAnim +; void BeginObjectImageAnim(struct obj *object) +BeginObjectImageAnim: ; 8007688 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -1846,7 +1855,7 @@ obj_anim_image_begin: ; 8007688 lsls r1, 22 lsrs r1, 22 ldr r2, [r4, 0xC] - bl copy_queue_add_oam_frame + bl AddPicToObjectCopyRequests @0800776C: pop {r3,r4} mov r8, r3 @@ -1854,11 +1863,11 @@ obj_anim_image_begin: ; 8007688 pop {r4-r7} pop {r0} bx r0 - thumb_func_end obj_anim_image_begin + thumb_func_end BeginObjectImageAnim - thumb_func_start obj_anim_image_continue -; void obj_anim_image_continue(struct obj *obj) -obj_anim_image_continue: ; 8007778 + thumb_func_start ContinueObjectImageAnim +; void ContinueObjectImageAnim(struct obj *object) +ContinueObjectImageAnim: ; 8007778 push {r4,lr} adds r4, r0, 0 adds r0, 0x2C @@ -1938,11 +1947,11 @@ obj_anim_image_continue: ; 8007778 pop {r0} bx r0 .pool - thumb_func_end obj_anim_image_continue + thumb_func_end ContinueObjectImageAnim - thumb_func_start anim_image_3 -; void anim_image_3(struct obj *obj) -anim_image_3: ; 8007818 + thumb_func_start ImageAnimCmd_frame +; void ImageAnimCmd_frame(struct obj *object) +ImageAnimCmd_frame: ; 8007818 push {r4-r7,lr} mov r7, r8 push {r7} @@ -2021,18 +2030,18 @@ anim_image_3: ; 8007818 lsls r1, 22 lsrs r1, 22 ldr r2, [r4, 0xC] - bl copy_queue_add_oam_frame + bl AddPicToObjectCopyRequests @080078BA: pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 - thumb_func_end anim_image_3 + thumb_func_end ImageAnimCmd_frame - thumb_func_start anim_image_2 -; void anim_image_2(struct obj *obj) -anim_image_2: ; 80078C4 + thumb_func_start ImageAnimCmd_end +; void ImageAnimCmd_end(struct obj *object) +ImageAnimCmd_end: ; 80078C4 adds r2, r0, 0 adds r2, 0x2B ldrb r1, [r2] @@ -2044,11 +2053,11 @@ anim_image_2: ; 80078C4 orrs r1, r2 strb r1, [r0] bx lr - thumb_func_end anim_image_2 + thumb_func_end ImageAnimCmd_end - thumb_func_start anim_image_1 -; void anim_image_1(struct obj *obj) -anim_image_1: ; 80078DC + thumb_func_start ImageAnimCmd_jump +; void ImageAnimCmd_jump(struct obj *object) +ImageAnimCmd_jump: ; 80078DC push {r4-r7,lr} mov r7, r8 push {r7} @@ -2140,18 +2149,18 @@ anim_image_1: ; 80078DC lsls r1, 22 lsrs r1, 22 ldr r2, [r4, 0xC] - bl copy_queue_add_oam_frame + bl AddPicToObjectCopyRequests @0800799A: pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 - thumb_func_end anim_image_1 + thumb_func_end ImageAnimCmd_jump - thumb_func_start anim_image_0 -; void anim_image_0(struct obj *obj) -anim_image_0: ; 80079A4 + thumb_func_start ImageAnimCmd_loop +; void ImageAnimCmd_loop(struct obj *object) +ImageAnimCmd_loop: ; 80079A4 push {lr} adds r1, r0, 0 adds r0, 0x2D @@ -2159,19 +2168,19 @@ anim_image_0: ; 80079A4 cmp r0, 0 beq @080079B8 adds r0, r1, 0 - bl sub_80079FC + bl ContinueImageAnimLoop b @080079BE @080079B8: adds r0, r1, 0 - bl sub_80079C4 + bl BeginImageAnimLoop @080079BE: pop {r0} bx r0 - thumb_func_end anim_image_0 + thumb_func_end ImageAnimCmd_loop - thumb_func_start sub_80079C4 -; void sub_80079C4(struct obj *obj) -sub_80079C4: ; 80079C4 + thumb_func_start BeginImageAnimLoop +; void BeginImageAnimLoop(struct obj *object) +BeginImageAnimLoop: ; 80079C4 push {r4,lr} adds r4, r0, 0 adds r0, 0x2A @@ -2192,17 +2201,17 @@ sub_80079C4: ; 80079C4 adds r1, 0x2D strb r0, [r1] adds r0, r4, 0 - bl obj_anim_rewind_to_cmd00 + bl JumpToTopOfImageAnimLoop adds r0, r4, 0 - bl obj_anim_image_continue + bl ContinueObjectImageAnim pop {r4} pop {r0} bx r0 - thumb_func_end sub_80079C4 + thumb_func_end BeginImageAnimLoop - thumb_func_start sub_80079FC -; void sub_80079FC(struct obj *obj) -sub_80079FC: ; 80079FC + thumb_func_start ContinueImageAnimLoop +; void ContinueImageAnimLoop(struct obj *object) +ContinueImageAnimLoop: ; 80079FC push {r4,lr} adds r4, r0, 0 adds r1, r4, 0 @@ -2211,17 +2220,17 @@ sub_80079FC: ; 80079FC subs r0, 0x1 strb r0, [r1] adds r0, r4, 0 - bl obj_anim_rewind_to_cmd00 + bl JumpToTopOfImageAnimLoop adds r0, r4, 0 - bl obj_anim_image_continue + bl ContinueObjectImageAnim pop {r4} pop {r0} bx r0 - thumb_func_end sub_80079FC + thumb_func_end ContinueImageAnimLoop - thumb_func_start obj_anim_rewind_to_cmd00 -; void obj_anim_rewind_to_cmd00(struct obj *obj) -obj_anim_rewind_to_cmd00: ; 8007A1C + thumb_func_start JumpToTopOfImageAnimLoop +; void JumpToTopOfImageAnimLoop(struct obj *object) +JumpToTopOfImageAnimLoop: ; 8007A1C push {r4-r7,lr} mov r12, r0 adds r0, 0x2D @@ -2282,11 +2291,11 @@ obj_anim_rewind_to_cmd00: ; 8007A1C pop {r4-r7} pop {r0} bx r0 - thumb_func_end obj_anim_rewind_to_cmd00 + thumb_func_end JumpToTopOfImageAnimLoop - thumb_func_start obj_anim_rotscale_begin -; void obj_anim_rotscale_begin(struct obj *obj) -obj_anim_rotscale_begin: ; 8007A90 + thumb_func_start BeginObjectRotScalAnim +; void BeginObjectRotScalAnim(struct obj *object) +BeginObjectRotScalAnim: ; 8007A90 push {r4-r7,lr} sub sp, 0x8 adds r6, r0, 0 @@ -2353,11 +2362,11 @@ obj_anim_rotscale_begin: ; 8007A90 pop {r0} bx r0 .pool - thumb_func_end obj_anim_rotscale_begin + thumb_func_end BeginObjectRotScalAnim - thumb_func_start obj_anim_rotscale_continue -; void obj_anim_rotscale_continue(struct obj *obj) -obj_anim_rotscale_continue: ; 8007B24 + thumb_func_start ContinueObjectRotScalAnim +; void ContinueObjectRotScalAnim(struct obj *object) +ContinueObjectRotScalAnim: ; 8007B24 push {r4,r5,lr} adds r4, r0, 0 ldrb r0, [r4, 0x1] @@ -2442,9 +2451,10 @@ obj_anim_rotscale_continue: ; 8007B24 pop {r0} bx r0 .pool - thumb_func_end obj_anim_rotscale_continue + thumb_func_end ContinueObjectRotScalAnim thumb_func_start sub_8007BD8 +; void sub_8007BD8(u8 index, struct obj *object) sub_8007BD8: ; 8007BD8 push {r4,r5,lr} sub sp, 0x8 @@ -2471,9 +2481,9 @@ sub_8007BD8: ; 8007BD8 bx r0 thumb_func_end sub_8007BD8 - thumb_func_start anim_rotscale_0 -; void anim_rotscale_0(u8 index, struct obj *obj) -anim_rotscale_0: ; 8007C0C + thumb_func_start RotScalAnimCmd_loop +; void RotScalAnimCmd_loop(u8 index, struct obj *object) +RotScalAnimCmd_loop: ; 8007C0C push {lr} adds r3, r1, 0 lsls r0, 24 @@ -2488,20 +2498,21 @@ anim_rotscale_0: ; 8007C0C beq @08007C34 adds r0, r2, 0 adds r1, r3, 0 - bl sub_8007C7C + bl ContinueRotScalAnimLoop b @08007C3C .pool @08007C34: adds r0, r2, 0 adds r1, r3, 0 - bl sub_8007C40 + bl BeginRotScalAnimLoop @08007C3C: pop {r0} bx r0 - thumb_func_end anim_rotscale_0 + thumb_func_end RotScalAnimCmd_loop - thumb_func_start sub_8007C40 -sub_8007C40: ; 8007C40 + thumb_func_start BeginRotScalAnimLoop +; void BeginRotScalAnimLoop(u8 index, struct obj *object) +BeginRotScalAnimLoop: ; 8007C40 push {r4,lr} adds r4, r1, 0 lsls r0, 24 @@ -2522,17 +2533,18 @@ sub_8007C40: ; 8007C40 ldrh r1, [r1, 0x2] strb r1, [r3, 0x3] adds r1, r4, 0 - bl obj_anim_rotscale_rewind_to_cmd00_maybe + bl JumpToTopOfRotScalAnimLoop adds r0, r4, 0 - bl obj_anim_rotscale_continue + bl ContinueObjectRotScalAnim pop {r4} pop {r0} bx r0 .pool - thumb_func_end sub_8007C40 + thumb_func_end BeginRotScalAnimLoop - thumb_func_start sub_8007C7C -sub_8007C7C: ; 8007C7C + thumb_func_start ContinueRotScalAnimLoop +; void ContinueRotScalAnimLoop(u8 index, struct obj *object) +ContinueRotScalAnimLoop: ; 8007C7C push {r4,lr} adds r4, r1, 0 lsls r0, 24 @@ -2546,17 +2558,18 @@ sub_8007C7C: ; 8007C7C subs r2, 0x1 strb r2, [r1, 0x3] adds r1, r4, 0 - bl obj_anim_rotscale_rewind_to_cmd00_maybe + bl JumpToTopOfRotScalAnimLoop adds r0, r4, 0 - bl obj_anim_rotscale_continue + bl ContinueObjectRotScalAnim pop {r4} pop {r0} bx r0 .pool - thumb_func_end sub_8007C7C + thumb_func_end ContinueRotScalAnimLoop - thumb_func_start obj_anim_rotscale_rewind_to_cmd00_maybe -obj_anim_rotscale_rewind_to_cmd00_maybe: ; 8007CAC + thumb_func_start JumpToTopOfRotScalAnimLoop +; void JumpToTopOfRotScalAnimLoop(u8 index, struct obj *object) +JumpToTopOfRotScalAnimLoop: ; 8007CAC push {r4-r7,lr} mov r12, r1 lsls r0, 24 @@ -2612,11 +2625,11 @@ obj_anim_rotscale_rewind_to_cmd00_maybe: ; 8007CAC pop {r0} bx r0 .pool - thumb_func_end obj_anim_rotscale_rewind_to_cmd00_maybe + thumb_func_end JumpToTopOfRotScalAnimLoop - thumb_func_start anim_rotscale_1 -; void anim_rotscale_1(u8 index, struct obj *obj) -anim_rotscale_1: ; 8007D18 + thumb_func_start RotScalAnimCmd_jump +; void RotScalAnimCmd_jump(u8 index, struct obj *object) +RotScalAnimCmd_jump: ; 8007D18 push {r4-r6,lr} sub sp, 0x8 adds r5, r0, 0 @@ -2651,11 +2664,11 @@ anim_rotscale_1: ; 8007D18 pop {r0} bx r0 .pool - thumb_func_end anim_rotscale_1 + thumb_func_end RotScalAnimCmd_jump - thumb_func_start anim_rotscale_2 -; void anim_rotscale_2(u8 index, struct obj *obj) -anim_rotscale_2: ; 8007D64 + thumb_func_start RotScalAnimCmd_end +; void RotScalAnimCmd_end(u8 index, struct obj *object) +RotScalAnimCmd_end: ; 8007D64 push {lr} sub sp, 0x8 lsls r0, 24 @@ -2683,11 +2696,11 @@ anim_rotscale_2: ; 8007D64 pop {r0} bx r0 .pool - thumb_func_end anim_rotscale_2 + thumb_func_end RotScalAnimCmd_end - thumb_func_start anim_rotscale_3 -; void anim_rotscale_3(u8 index, struct obj *obj) -anim_rotscale_3: ; 8007DA0 + thumb_func_start RotScalAnimCmd_frame +; void RotScalAnimCmd_frame(u8 index, struct obj *object) +RotScalAnimCmd_frame: ; 8007DA0 push {r4,r5,lr} sub sp, 0x8 adds r4, r0, 0 @@ -2712,7 +2725,7 @@ anim_rotscale_3: ; 8007DA0 pop {r0} bx r0 .pool - thumb_func_end anim_rotscale_3 + thumb_func_end RotScalAnimCmd_frame thumb_func_start rotscale_set_indirect ; void rotscale_set_indirect(u8 rotscale_entry_index, s16 rotscale_data[]) @@ -2953,7 +2966,7 @@ rotscale_reset_half: ; 8007F64 thumb_func_end rotscale_reset_half thumb_func_start rotscale_reset_full_1 -; void rotscale_reset_full_1(u8 index) +; void rotscale_reset_full_1(u8 index, u8 a2) rotscale_reset_full_1: ; 8007F80 lsls r0, 24 lsrs r0, 24 @@ -3047,6 +3060,7 @@ obj_anim_image_delay_progress: ; 8007FF4 thumb_func_end obj_anim_image_delay_progress thumb_func_start obj_anim_rotscale_delay_progress +; u8 obj_anim_rotscale_delay_progress(struct obj *object, u8 index) obj_anim_rotscale_delay_progress: ; 800801C push {lr} lsls r1, 24 @@ -3250,9 +3264,9 @@ sub_8008168: ; 8008168 bx r0 thumb_func_end sub_8008168 - thumb_func_start obj_anim_image_start -; void obj_anim_image_start(struct obj *object, u8 a2) -obj_anim_image_start: ; 80081A8 + thumb_func_start StartObjectImageAnim +; void StartObjectImageAnim(struct obj *object, u8 whichAnim) +StartObjectImageAnim: ; 80081A8 adds r2, r0, 0 adds r2, 0x2A strb r1, [r2] @@ -3265,10 +3279,11 @@ obj_anim_image_start: ; 80081A8 ands r1, r2 strb r1, [r0] bx lr - thumb_func_end obj_anim_image_start + thumb_func_end StartObjectImageAnim - thumb_func_start obj_anim_image_start_if_different -obj_anim_image_start_if_different: ; 80081C0 + thumb_func_start StartObjectImageAnimIfDifferent +; void StartObjectImageAnimIfDifferent(struct obj *object, u8 whichAnim) +StartObjectImageAnimIfDifferent: ; 80081C0 push {lr} adds r2, r0, 0 lsls r1, 24 @@ -3278,14 +3293,15 @@ obj_anim_image_start_if_different: ; 80081C0 cmp r0, r1 beq @080081D6 adds r0, r2, 0 - bl obj_anim_image_start + bl StartObjectImageAnim @080081D6: pop {r0} bx r0 - thumb_func_end obj_anim_image_start_if_different + thumb_func_end StartObjectImageAnimIfDifferent - thumb_func_start obj_anim_image_seek -obj_anim_image_seek: ; 80081DC + thumb_func_start SeekObjectImageAnim +; void SeekObjectImageAnim(struct obj *object, u8 cmdIndex) +SeekObjectImageAnim: ; 80081DC push {r4-r7,lr} adds r3, r0, 0 lsls r1, 24 @@ -3322,7 +3338,7 @@ obj_anim_image_seek: ; 80081DC ands r0, r1 strb r0, [r4] adds r0, r3, 0 - bl obj_anim_image_continue + bl ContinueObjectImageAnim ldrb r2, [r4] movs r0, 0x3F ands r0, r2 @@ -3347,9 +3363,10 @@ obj_anim_image_seek: ; 80081DC pop {r4-r7} pop {r0} bx r0 - thumb_func_end obj_anim_image_seek + thumb_func_end SeekObjectImageAnim thumb_func_start sub_8008258 +; void sub_8008258(u8 index, u8 a2) sub_8008258: ; 8008258 push {r4,r5,lr} adds r5, r0, 0 @@ -3374,6 +3391,7 @@ sub_8008258: ; 8008258 thumb_func_end sub_8008258 thumb_func_start sub_8008284 +; void sub_8008284(u8 index, u8 a2) sub_8008284: ; 8008284 push {r4,r5,lr} adds r5, r0, 0 @@ -3513,7 +3531,7 @@ rotscale_reset_all: ; 800837C ldr r1, =0x03003018 movs r0, 0 str r0, [r1] - bl reset_rotscale_coeffs + bl ResetSpriteTransformationMatrices movs r4, 0 @08008390: adds r0, r4, 0 @@ -3592,7 +3610,7 @@ rotscale_free_entry: ; 80083E8 adds r0, r2, 0 movs r2, 0 movs r3, 0 - bl rotscale_set_direct + bl SetSpriteTransformationMatrix add sp, 0x4 pop {r0} bx r0 @@ -3616,7 +3634,7 @@ obj_alloc_rotscale_entry: ; 8008428 lsls r3, 30 lsrs r3, 30 adds r0, r4, 0 - bl oam_center + bl CalcVecFromObjectCenterToObjectUpperLeft movs r0, 0x1F adds r1, r5, 0 ands r1, r0 @@ -3702,14 +3720,14 @@ sub_8008478: ; 8008478 .pool thumb_func_end sub_8008478 - thumb_func_start gpu_tile_obj_alloc_tag_and_copy_to_vram -; int gpu_tile_obj_alloc_tag_and_copy_to_vram(struct obj_tiles *x) -gpu_tile_obj_alloc_tag_and_copy_to_vram: ; 80084F8 + thumb_func_start LoadObjectPic +; u16 LoadObjectPic(struct obj_tiles *pic) +LoadObjectPic: ; 80084F8 push {r4-r6,lr} adds r5, r0, 0 ldrh r0, [r5, 0x4] lsrs r0, 5 - bl gpu_tile_obj_alloc + bl AllocObjectTiles lsls r4, r0, 16 asrs r6, r4, 16 cmp r6, 0 @@ -3719,7 +3737,7 @@ gpu_tile_obj_alloc_tag_and_copy_to_vram: ; 80084F8 ldrh r2, [r5, 0x4] lsrs r2, 5 adds r1, r4, 0 - bl gpu_tile_obj_tag_add + bl AddObjectTileRange ldr r0, [r5] lsls r1, r6, 5 ldr r2, =0x06010000 @@ -3736,11 +3754,11 @@ gpu_tile_obj_alloc_tag_and_copy_to_vram: ; 80084F8 pop {r4-r6} pop {r1} bx r1 - thumb_func_end gpu_tile_obj_alloc_tag_and_copy_to_vram + thumb_func_end LoadObjectPic - thumb_func_start gpu_tile_obj_alloc_and_load_multiple -; void gpu_tile_obj_alloc_and_load_multiple(struct obj_tiles[]) -gpu_tile_obj_alloc_and_load_multiple: ; 800853C + thumb_func_start LoadObjectPics +; void LoadObjectPics(struct obj_tiles *pics) +LoadObjectPics: ; 800853C push {r4,r5,lr} adds r5, r0, 0 movs r4, 0 @@ -3750,7 +3768,7 @@ gpu_tile_obj_alloc_and_load_multiple: ; 800853C @08008548: lsls r0, r4, 3 adds r0, r5, r0 - bl gpu_tile_obj_alloc_tag_and_copy_to_vram + bl LoadObjectPic adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 @@ -3763,17 +3781,17 @@ gpu_tile_obj_alloc_and_load_multiple: ; 800853C pop {r4,r5} pop {r0} bx r0 - thumb_func_end gpu_tile_obj_alloc_and_load_multiple + thumb_func_end LoadObjectPics - thumb_func_start gpu_tile_obj_free_by_tag -; void gpu_tile_obj_free_by_tag(int tag) -gpu_tile_obj_free_by_tag: ; 8008568 + thumb_func_start FreeObjectTilesByTag +; void FreeObjectTilesByTag(u16 tag) +FreeObjectTilesByTag: ; 8008568 push {r4-r7,lr} mov r7, r8 push {r7} lsls r0, 16 lsrs r0, 16 - bl gpu_tile_obj_tag_index_of + bl IndexOfObjectTilesTag lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0xFF @@ -3823,11 +3841,11 @@ gpu_tile_obj_free_by_tag: ; 8008568 pop {r0} bx r0 .pool - thumb_func_end gpu_tile_obj_free_by_tag + thumb_func_end FreeObjectTilesByTag - thumb_func_start gpu_tile_obj_tags_reset -; void gpu_tile_obj_tags_reset() -gpu_tile_obj_tags_reset: ; 80085E0 + thumb_func_start FreeAllObjectTiles +; void FreeAllObjectTiles() +FreeAllObjectTiles: ; 80085E0 push {r4-r7,lr} movs r2, 0 ldr r7, =0x030009f0 @@ -3856,15 +3874,15 @@ gpu_tile_obj_tags_reset: ; 80085E0 pop {r0} bx r0 .pool - thumb_func_end gpu_tile_obj_tags_reset + thumb_func_end FreeAllObjectTiles - thumb_func_start gpu_tile_obj_tag_get_range_start -; int gpu_tile_obj_tag_get_range_start(int tag) -gpu_tile_obj_tag_get_range_start: ; 8008620 + thumb_func_start GetObjectTileRangeStartByTag +; u16 GetObjectTileRangeStartByTag(u16 tag) +GetObjectTileRangeStartByTag: ; 8008620 push {lr} lsls r0, 16 lsrs r0, 16 - bl gpu_tile_obj_tag_index_of + bl IndexOfObjectTilesTag lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0xFF @@ -3881,10 +3899,11 @@ gpu_tile_obj_tag_get_range_start: ; 8008620 pop {r1} bx r1 .pool - thumb_func_end gpu_tile_obj_tag_get_range_start + thumb_func_end GetObjectTileRangeStartByTag - thumb_func_start gpu_tile_obj_tag_index_of -gpu_tile_obj_tag_index_of: ; 800864C + thumb_func_start IndexOfObjectTilesTag +; u8 IndexOfObjectTilesTag(u16 tag) +IndexOfObjectTilesTag: ; 800864C push {lr} lsls r0, 16 lsrs r2, r0, 16 @@ -3909,10 +3928,11 @@ gpu_tile_obj_tag_index_of: ; 800864C @08008674: pop {r1} bx r1 - thumb_func_end gpu_tile_obj_tag_index_of + thumb_func_end IndexOfObjectTilesTag - thumb_func_start gpu_tile_obj_tag_get_by_range_start -gpu_tile_obj_tag_get_by_range_start: ; 8008678 + thumb_func_start GetTagByObjectTileRangeStart +; u16 GetTagByObjectTileRangeStart(u16 rangeStart) +GetTagByObjectTileRangeStart: ; 8008678 push {r4-r6,lr} lsls r0, 16 lsrs r3, r0, 16 @@ -3946,11 +3966,11 @@ gpu_tile_obj_tag_get_by_range_start: ; 8008678 pop {r1} bx r1 .pool - thumb_func_end gpu_tile_obj_tag_get_by_range_start + thumb_func_end GetTagByObjectTileRangeStart - thumb_func_start gpu_tile_obj_tag_add -; void gpu_tile_obj_tag_add(u16 tag, u16 start, u16 count) -gpu_tile_obj_tag_add: ; 80086C4 + thumb_func_start AddObjectTileRange +; void AddObjectTileRange(u16 tag, u16 start, u16 count) +AddObjectTileRange: ; 80086C4 push {r4-r6,lr} adds r4, r0, 0 adds r5, r1, 0 @@ -3962,7 +3982,7 @@ gpu_tile_obj_tag_add: ; 80086C4 lsls r6, 16 lsrs r6, 16 ldr r0, =0x0000ffff - bl gpu_tile_obj_tag_index_of + bl IndexOfObjectTilesTag lsls r0, 24 lsrs r0, 24 ldr r2, =0x030009f0 @@ -3980,10 +4000,11 @@ gpu_tile_obj_tag_add: ; 80086C4 pop {r0} bx r0 .pool - thumb_func_end gpu_tile_obj_tag_add + thumb_func_end AddObjectTileRange - thumb_func_start gpu_pal_allocator_reset -gpu_pal_allocator_reset: ; 800870C + thumb_func_start ResetObjectPaletteAllocator +; void ResetObjectPaletteAllocator() +ResetObjectPaletteAllocator: ; 800870C push {r4,lr} ldr r1, =0x0300301c movs r0, 0 @@ -4007,15 +4028,15 @@ gpu_pal_allocator_reset: ; 800870C pop {r0} bx r0 .pool - thumb_func_end gpu_pal_allocator_reset + thumb_func_end ResetObjectPaletteAllocator - thumb_func_start gpu_pal_obj_alloc_tag_and_apply -; s8 gpu_pal_obj_alloc_tag_and_apply(struct rom_obj_pal_data *data) -gpu_pal_obj_alloc_tag_and_apply: ; 8008744 + thumb_func_start LoadTaggedObjectPalette +; u8 LoadTaggedObjectPalette(struct ObjectPaletteInfo *palette) +LoadTaggedObjectPalette: ; 8008744 push {r4,r5,lr} adds r5, r0, 0 ldrh r0, [r5, 0x4] - bl gpu_pal_tags_index_of + bl IndexOfObjectPaletteTag lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0xFF @@ -4024,7 +4045,7 @@ gpu_pal_obj_alloc_tag_and_apply: ; 8008744 b @0800878A @0800875A: ldr r0, =0x0000ffff - bl gpu_pal_tags_index_of + bl IndexOfObjectPaletteTag lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0xFF @@ -4036,7 +4057,7 @@ gpu_pal_obj_alloc_tag_and_apply: ; 8008744 strh r1, [r0] ldr r0, [r5] lsls r1, r4, 4 - bl gpu_pal_obj_load + bl LoadObjectPalette adds r0, r4, 0 b @0800878A .pool @@ -4046,10 +4067,11 @@ gpu_pal_obj_alloc_tag_and_apply: ; 8008744 pop {r4,r5} pop {r1} bx r1 - thumb_func_end gpu_pal_obj_alloc_tag_and_apply + thumb_func_end LoadTaggedObjectPalette - thumb_func_start gpu_pal_obj_alloc_and_load_multiple -gpu_pal_obj_alloc_and_load_multiple: ; 8008790 + thumb_func_start LoadTaggedObjectPalettes +; void LoadTaggedObjectPalettes(struct ObjectPaletteInfo *palettes) +LoadTaggedObjectPalettes: ; 8008790 push {r4,r5,lr} adds r5, r0, 0 movs r4, 0 @@ -4065,7 +4087,7 @@ gpu_pal_obj_alloc_and_load_multiple: ; 8008790 cmp r0, 0 beq @080087B6 adds r0, r1, 0 - bl gpu_pal_obj_alloc_tag_and_apply + bl LoadTaggedObjectPalette lsls r0, 24 lsrs r0, 24 cmp r0, 0xFF @@ -4074,11 +4096,11 @@ gpu_pal_obj_alloc_and_load_multiple: ; 8008790 pop {r4,r5} pop {r0} bx r0 - thumb_func_end gpu_pal_obj_alloc_and_load_multiple + thumb_func_end LoadTaggedObjectPalettes - thumb_func_start gpu_pal_obj_load -; void gpu_pal_obj_load(palette *pal, u16 offset) -gpu_pal_obj_load: ; 80087BC + thumb_func_start LoadObjectPalette +; void LoadObjectPalette(void *src, u16 destOffset) +LoadObjectPalette: ; 80087BC push {lr} lsls r1, 16 movs r2, 0x80 @@ -4089,16 +4111,16 @@ gpu_pal_obj_load: ; 80087BC bl gpu_pal_apply pop {r0} bx r0 - thumb_func_end gpu_pal_obj_load + thumb_func_end LoadObjectPalette - thumb_func_start gpu_pal_alloc_new -; int gpu_pal_alloc_new(u16 tag) -gpu_pal_alloc_new: ; 80087D4 + thumb_func_start AllocObjectPalette +; u8 AllocObjectPalette(u16 tag) +AllocObjectPalette: ; 80087D4 push {r4,lr} lsls r0, 16 lsrs r4, r0, 16 ldr r0, =0x0000ffff - bl gpu_pal_tags_index_of + bl IndexOfObjectPaletteTag lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0xFF @@ -4116,11 +4138,11 @@ gpu_pal_alloc_new: ; 80087D4 pop {r4} pop {r1} bx r1 - thumb_func_end gpu_pal_alloc_new + thumb_func_end AllocObjectPalette - thumb_func_start gpu_pal_tags_index_of -; int gpu_pal_tags_index_of(u16 a1) -gpu_pal_tags_index_of: ; 8008804 + thumb_func_start IndexOfObjectPaletteTag +; u8 IndexOfObjectPaletteTag(u16 tag) +IndexOfObjectPaletteTag: ; 8008804 push {lr} lsls r0, 16 lsrs r2, r0, 16 @@ -4149,10 +4171,11 @@ gpu_pal_tags_index_of: ; 8008804 @08008838: pop {r1} bx r1 - thumb_func_end gpu_pal_tags_index_of + thumb_func_end IndexOfObjectPaletteTag - thumb_func_start gpu_pal_tag_by_index -gpu_pal_tag_by_index: ; 800883C + thumb_func_start GetObjectPaletteTagBySlot +; u16 GetObjectPaletteTagBySlot(u8 paletteSlot) +GetObjectPaletteTagBySlot: ; 800883C lsls r0, 24 ldr r1, =0x03000cf0 lsrs r0, 23 @@ -4160,15 +4183,15 @@ gpu_pal_tag_by_index: ; 800883C ldrh r0, [r0] bx lr .pool - thumb_func_end gpu_pal_tag_by_index + thumb_func_end GetObjectPaletteTagBySlot - thumb_func_start gpu_pal_free_tag -; void gpu_pal_free_tag(int tag) -gpu_pal_free_tag: ; 800884C + thumb_func_start FreeObjectPaletteByTag +; void FreeObjectPaletteByTag(int tag) +FreeObjectPaletteByTag: ; 800884C push {lr} lsls r0, 16 lsrs r0, 16 - bl gpu_pal_tags_index_of + bl IndexOfObjectPaletteTag lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0xFF @@ -4182,21 +4205,21 @@ gpu_pal_free_tag: ; 800884C pop {r0} bx r0 .pool - thumb_func_end gpu_pal_free_tag + thumb_func_end FreeObjectPaletteByTag - thumb_func_start obj_set_f18_to_r0_f42_to_40 -; void obj_set_f18_to_r0_f42_to_40(struct obj *obj, int a2) -obj_set_f18_to_r0_f42_to_40: ; 8008874 + thumb_func_start SetSpriteOamTables_NoPriorityFromTable +; void SetSpriteOamTables_NoPriorityFromTable(struct obj *object, u32 spriteOamTables) +SetSpriteOamTables_NoPriorityFromTable: ; 8008874 str r1, [r0, 0x18] adds r0, 0x42 movs r1, 0x40 strb r1, [r0] bx lr - thumb_func_end obj_set_f18_to_r0_f42_to_40 + thumb_func_end SetSpriteOamTables_NoPriorityFromTable - thumb_func_start super_sprite_add -; int super_sprite_add(struct obj *obj, u8 *index) -super_sprite_add: ; 8008880 + thumb_func_start AddSprite +; u8 AddSprite(struct obj *obj, u8 *spriteIndex) +AddSprite: ; 8008880 push {r4,lr} adds r4, r0, 0 adds r3, r1, 0 @@ -4242,7 +4265,7 @@ super_sprite_add: ; 8008880 adds r1, r0 adds r0, r4, 0 adds r2, r3, 0 - bl sub_80088EC + bl AddSpritesFromSpriteOamTable lsls r0, 24 lsrs r0, 24 @080088E0: @@ -4250,11 +4273,11 @@ super_sprite_add: ; 8008880 pop {r1} bx r1 .pool - thumb_func_end super_sprite_add + thumb_func_end AddSprite - thumb_func_start sub_80088EC -; int sub_80088EC(struct obj *obj, struct sprite *a2, int a3) -sub_80088EC: ; 80088EC + thumb_func_start AddSpritesFromSpriteOamTable +; u8 AddSpritesFromSpriteOamTable(struct obj *object, struct sprite *sprite, u8 *spriteIndex) +AddSpritesFromSpriteOamTable: ; 80088EC push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -4527,4 +4550,4 @@ sub_80088EC: ; 80088EC pop {r1} bx r1 .pool - thumb_func_end sub_80088EC + thumb_func_end AddSpritesFromSpriteOamTable |