summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-09-07 14:16:30 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-09-07 14:16:30 -0400
commit12562aa2d42e1692aff319b091258d5c24a9e040 (patch)
tree2f83cdc87b143c62b9a5c31c010bf75ef46cca05 /src
parent112177b57f6f5ca95cd97bbe7a9a86924b341e5c (diff)
MakeObjectTemplateFromFieldObjectTemplate
Diffstat (limited to 'src')
-rw-r--r--src/field_map_obj.c5
-rw-r--r--src/malloc.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index e3e0b7158..819721773 100644
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -613,3 +613,8 @@ void MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(u16 graphics
{
MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, gUnknown_08505438[callbackIndex], sprTemplate, subspriteTables);
}
+
+void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *mapObjectTemplate, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables)
+{
+ MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(mapObjectTemplate->graphicsId, mapObjectTemplate->movementType, spriteTemplate, subspriteTables);
+}
diff --git a/src/malloc.c b/src/malloc.c
index 948303c6f..5317565dc 100644
--- a/src/malloc.c
+++ b/src/malloc.c
@@ -40,7 +40,7 @@ void PutMemBlockHeader(void *block, struct MemBlock *prev, struct MemBlock *next
void PutFirstMemBlockHeader(void *block, u32 size)
{
- PutMemBlockHeader(block, (struct MemBlock *)block, (struct MemBlock *)block, size - 16);
+ PutMemBlockHeader(block, (struct MemBlock *)block, (struct MemBlock *)block, size - sizeof(struct MemBlock));
}
void *AllocInternal(void *heapStart, u32 size)
@@ -50,6 +50,7 @@ void *AllocInternal(void *heapStart, u32 size)
struct MemBlock *splitBlock;
u32 foundBlockSize;
+ // Alignment
if (size & 3)
size = 4 * ((size / 4) + 1);
@@ -60,7 +61,7 @@ void *AllocInternal(void *heapStart, u32 size)
foundBlockSize = pos->size;
if (foundBlockSize >= size) {
- if (foundBlockSize - size <= 31) {
+ if (foundBlockSize - size < 2 * sizeof(struct MemBlock)) {
// The block isn't much bigger than the requested size,
// so just use it.
pos->flag = TRUE;