You've already forked Microtransactions64
mirror of
https://github.com/Print-and-Panic/Microtransactions64.git
synced 2026-01-21 10:17:19 -08:00
Bugfix: Change instant warps to use ints instead of shorts (#500)
Additionally clean up some inconsistencies surrounding instant warps
This commit is contained in:
@@ -540,12 +540,12 @@ static void level_cmd_create_instant_warp(void) {
|
||||
|
||||
warp = gAreas[sCurrAreaIndex].instantWarps + CMD_GET(u8, 2);
|
||||
|
||||
warp[0].id = 1;
|
||||
warp[0].id = SURFACE_INSTANT_WARP_1B + CMD_GET(u8, 2);
|
||||
warp[0].area = CMD_GET(u8, 3);
|
||||
|
||||
vec3s_set(warp[0].displacement, CMD_GET(s16, 4),
|
||||
CMD_GET(s16, 6),
|
||||
CMD_GET(s16, 8));
|
||||
warp[0].displacement[0] = CMD_GET(s32, 4);
|
||||
warp[0].displacement[1] = CMD_GET(s32, 8);
|
||||
warp[0].displacement[2] = CMD_GET(s32, 12);
|
||||
}
|
||||
|
||||
sCurrentCmd = CMD_NEXT;
|
||||
|
||||
@@ -20,14 +20,10 @@ struct ObjectWarpNode {
|
||||
/*0x08*/ struct ObjectWarpNode *next;
|
||||
};
|
||||
|
||||
// From Surface 0x1B to 0x1E
|
||||
#define INSTANT_WARP_INDEX_START 0x00 // Equal and greater than Surface 0x1B
|
||||
#define INSTANT_WARP_INDEX_STOP 0x04 // Less than Surface 0x1F
|
||||
|
||||
struct InstantWarp {
|
||||
/*0x00*/ u8 id; // 0 = 0x1B / 1 = 0x1C / 2 = 0x1D / 3 = 0x1E
|
||||
/*0x01*/ u8 area;
|
||||
/*0x02*/ Vec3s displacement;
|
||||
/*0x04*/ Vec3f displacement;
|
||||
};
|
||||
|
||||
struct SpawnInfo {
|
||||
|
||||
Reference in New Issue
Block a user