Simplify SetObjectSubpriorityByElevation (#737)
* Simplify SetObjectSubpriorityByElevation * 0xFF
This commit is contained in:
@@ -8413,12 +8413,12 @@ void ObjectEventUpdateElevation(struct ObjectEvent *objEvent)
|
|||||||
|
|
||||||
void SetObjectSubpriorityByElevation(u8 elevation, struct Sprite *sprite, u8 subpriority)
|
void SetObjectSubpriorityByElevation(u8 elevation, struct Sprite *sprite, u8 subpriority)
|
||||||
{
|
{
|
||||||
s32 tmp = sprite->centerToCornerVecY;
|
u16 y;
|
||||||
u32 tmpa = *(u16 *)&sprite->y;
|
|
||||||
u32 tmpb = *(u16 *)&gSpriteCoordOffsetY;
|
y = (sprite->y - sprite->centerToCornerVecY + gSpriteCoordOffsetY + 8) & 0xFF;
|
||||||
s32 tmp2 = (tmpa - tmp) + tmpb;
|
y = (16 - (y >> 4)) << 1;
|
||||||
u16 tmp3 = (0x10 - ((((u32)tmp2 + 8) & 0xFF) >> 4)) * 2;
|
|
||||||
sprite->subpriority = tmp3 + sElevationToSubpriority[elevation] + subpriority;
|
sprite->subpriority = sElevationToSubpriority[elevation] + y + subpriority;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ObjectEventUpdateSubpriority(struct ObjectEvent *objEvent, struct Sprite *sprite)
|
static void ObjectEventUpdateSubpriority(struct ObjectEvent *objEvent, struct Sprite *sprite)
|
||||||
|
|||||||
Reference in New Issue
Block a user