/*
	This script file is part of the Sonic 3 A.I.R. script software distribution.
	Copyright (C) 2017-2024 by Eukaryot

	Published under the GNU GPLv3 open source software license, see license.txt
	or https://www.gnu.org/licenses/gpl-3.0.en.html
*/



function void LevelRingsTableBuilder.buildRings_SSZ1()
{
	LevelRingsTableBuilder.addRing(0x0000, 0x0000)
	LevelRingsTableBuilder.addRing(0x044c, 0x057a)
	LevelRingsTableBuilder.addRing(0x044c, 0x08fa)
	LevelRingsTableBuilder.addRing(0x046c, 0x0584)
	LevelRingsTableBuilder.addRing(0x046c, 0x0904)
	LevelRingsTableBuilder.addRing(0x048c, 0x0594)
	LevelRingsTableBuilder.addRing(0x048c, 0x0914)
	LevelRingsTableBuilder.addRing(0x04ac, 0x05a2)
	LevelRingsTableBuilder.addRing(0x04ac, 0x0922)
	LevelRingsTableBuilder.addRing(0x04cc, 0x05ac)
	LevelRingsTableBuilder.addRing(0x04cc, 0x092c)
	LevelRingsTableBuilder.addRing(0x054c, 0x05ba)
	LevelRingsTableBuilder.addRing(0x0558, 0x0bb0)
	LevelRingsTableBuilder.addRing(0x056c, 0x05c4)
	LevelRingsTableBuilder.addRing(0x0570, 0x0bb0)
	LevelRingsTableBuilder.addRing(0x0580, 0x0680)
	LevelRingsTableBuilder.addRing(0x0588, 0x0bb0)
	LevelRingsTableBuilder.addRing(0x058c, 0x05d4)
	LevelRingsTableBuilder.addRing(0x0598, 0x0680)
	LevelRingsTableBuilder.addRing(0x05ac, 0x05e2)
	LevelRingsTableBuilder.addRing(0x05b0, 0x0680)
	LevelRingsTableBuilder.addRing(0x05cc, 0x05ec)
	LevelRingsTableBuilder.addRing(0x05f4, 0x0c00)
	LevelRingsTableBuilder.addRing(0x05f8, 0x06b4)
	LevelRingsTableBuilder.addRing(0x060c, 0x0c00)
	LevelRingsTableBuilder.addRing(0x0610, 0x06b4)
	LevelRingsTableBuilder.addRing(0x0628, 0x06b4)
	LevelRingsTableBuilder.addRing(0x0670, 0x0724)
	LevelRingsTableBuilder.addRing(0x0674, 0x0c40)
	LevelRingsTableBuilder.addRing(0x0688, 0x0724)
	LevelRingsTableBuilder.addRing(0x068c, 0x0c40)
	LevelRingsTableBuilder.addRing(0x0698, 0x0478)
	LevelRingsTableBuilder.addRing(0x06a0, 0x0724)
	LevelRingsTableBuilder.addRing(0x06b0, 0x0478)
	LevelRingsTableBuilder.addRing(0x06c8, 0x0478)
	LevelRingsTableBuilder.addRing(0x0734, 0x07ec)
	LevelRingsTableBuilder.addRing(0x0754, 0x07e2)
	LevelRingsTableBuilder.addRing(0x0768, 0x09a8)
	LevelRingsTableBuilder.addRing(0x0774, 0x07d4)
	LevelRingsTableBuilder.addRing(0x0780, 0x09a8)
	LevelRingsTableBuilder.addRing(0x0794, 0x07c4)
	LevelRingsTableBuilder.addRing(0x0798, 0x09a8)
	LevelRingsTableBuilder.addRing(0x07b4, 0x07ba)
	LevelRingsTableBuilder.addRing(0x07b4, 0x0cac)
	LevelRingsTableBuilder.addRing(0x07d4, 0x0ca2)
	LevelRingsTableBuilder.addRing(0x07f4, 0x0c94)
	LevelRingsTableBuilder.addRing(0x0814, 0x0c84)
	LevelRingsTableBuilder.addRing(0x0834, 0x0c7a)
	LevelRingsTableBuilder.addRing(0x0868, 0x0630)
	LevelRingsTableBuilder.addRing(0x0880, 0x0630)
	LevelRingsTableBuilder.addRing(0x0898, 0x0630)
	LevelRingsTableBuilder.addRing(0x08b4, 0x07ac)
	LevelRingsTableBuilder.addRing(0x08d4, 0x07a2)
	LevelRingsTableBuilder.addRing(0x08f4, 0x0794)
	LevelRingsTableBuilder.addRing(0x0914, 0x0784)
	LevelRingsTableBuilder.addRing(0x0934, 0x077a)
	LevelRingsTableBuilder.addRing(0x094c, 0x09fa)
	LevelRingsTableBuilder.addRing(0x096c, 0x0a04)
	LevelRingsTableBuilder.addRing(0x098c, 0x0a14)
	LevelRingsTableBuilder.addRing(0x09ac, 0x0a22)
	LevelRingsTableBuilder.addRing(0x09c8, 0x0828)
	LevelRingsTableBuilder.addRing(0x09cc, 0x0a2c)
	LevelRingsTableBuilder.addRing(0x09e0, 0x0828)
	LevelRingsTableBuilder.addRing(0x09f8, 0x0828)
	LevelRingsTableBuilder.addRing(0x0a4c, 0x05ba)
	LevelRingsTableBuilder.addRing(0x0a6c, 0x05c4)
	LevelRingsTableBuilder.addRing(0x0a8c, 0x05d4)
	LevelRingsTableBuilder.addRing(0x0aa8, 0x09e8)
	LevelRingsTableBuilder.addRing(0x0aac, 0x05e2)
	LevelRingsTableBuilder.addRing(0x0ac0, 0x09e8)
	LevelRingsTableBuilder.addRing(0x0acc, 0x05ec)
	LevelRingsTableBuilder.addRing(0x0ad8, 0x09e8)
	LevelRingsTableBuilder.addRing(0x0b28, 0x0510)
	LevelRingsTableBuilder.addRing(0x0b40, 0x0510)
	LevelRingsTableBuilder.addRing(0x0b58, 0x0510)
	LevelRingsTableBuilder.addRing(0x0b58, 0x07e8)
	LevelRingsTableBuilder.addRing(0x0b70, 0x07e8)
	LevelRingsTableBuilder.addRing(0x0b88, 0x07e8)
	LevelRingsTableBuilder.addRing(0x0be8, 0x05a8)
	LevelRingsTableBuilder.addRing(0x0c00, 0x05a8)
	LevelRingsTableBuilder.addRing(0x0c18, 0x05a8)
	LevelRingsTableBuilder.addRing(0x0c34, 0x0bec)
	LevelRingsTableBuilder.addRing(0x0c54, 0x0be2)
	LevelRingsTableBuilder.addRing(0x0c74, 0x0bd4)
	LevelRingsTableBuilder.addRing(0x0c94, 0x0bc4)
	LevelRingsTableBuilder.addRing(0x0ca8, 0x06e0)
	LevelRingsTableBuilder.addRing(0x0cb4, 0x0bba)
	LevelRingsTableBuilder.addRing(0x0cc0, 0x06e0)
	LevelRingsTableBuilder.addRing(0x0cc8, 0x00a0)
	LevelRingsTableBuilder.addRing(0x0cd8, 0x06e0)
	LevelRingsTableBuilder.addRing(0x0ce0, 0x00a0)
	LevelRingsTableBuilder.addRing(0x0cf8, 0x00a0)
	LevelRingsTableBuilder.addRing(0x0cf8, 0x0438)
	LevelRingsTableBuilder.addRing(0x0d10, 0x0438)
	LevelRingsTableBuilder.addRing(0x0d28, 0x00f0)
	LevelRingsTableBuilder.addRing(0x0d28, 0x0438)
	LevelRingsTableBuilder.addRing(0x0d28, 0x0b70)
	LevelRingsTableBuilder.addRing(0x0d40, 0x00f0)
	LevelRingsTableBuilder.addRing(0x0d40, 0x0b70)
	LevelRingsTableBuilder.addRing(0x0d58, 0x00f0)
	LevelRingsTableBuilder.addRing(0x0d58, 0x0b70)
	LevelRingsTableBuilder.addRing(0x0da8, 0x0bc0)
	LevelRingsTableBuilder.addRing(0x0dc8, 0x0bd0)
	LevelRingsTableBuilder.addRing(0x0dcc, 0x047a)
	LevelRingsTableBuilder.addRing(0x0dcc, 0x09fa)
	LevelRingsTableBuilder.addRing(0x0de8, 0x0be0)
	LevelRingsTableBuilder.addRing(0x0dec, 0x0484)
	LevelRingsTableBuilder.addRing(0x0dec, 0x0a04)
	LevelRingsTableBuilder.addRing(0x0e0c, 0x0494)
	LevelRingsTableBuilder.addRing(0x0e0c, 0x0a14)
	LevelRingsTableBuilder.addRing(0x0e2c, 0x04a2)
	LevelRingsTableBuilder.addRing(0x0e2c, 0x0a22)
	LevelRingsTableBuilder.addRing(0x0e4c, 0x04ac)
	LevelRingsTableBuilder.addRing(0x0e4c, 0x0a2c)
	LevelRingsTableBuilder.addRing(0x0ee8, 0x04f0)
	LevelRingsTableBuilder.addRing(0x0efc, 0x0bf4)
	LevelRingsTableBuilder.addRing(0x0f00, 0x04f0)
	LevelRingsTableBuilder.addRing(0x0f14, 0x0bf4)
	LevelRingsTableBuilder.addRing(0x0f18, 0x04f0)
	LevelRingsTableBuilder.addRing(0x0f6c, 0x0c04)
	LevelRingsTableBuilder.addRing(0x0f84, 0x0c04)
	LevelRingsTableBuilder.addRing(0x0f90, 0x04e8)
	LevelRingsTableBuilder.addRing(0x0fb0, 0x04d8)
	LevelRingsTableBuilder.addRing(0x0fd0, 0x04c8)
	LevelRingsTableBuilder.addRing(0x1068, 0x05e0)
	LevelRingsTableBuilder.addRing(0x1080, 0x05e0)
	LevelRingsTableBuilder.addRing(0x1098, 0x05e0)
	LevelRingsTableBuilder.addRing(0x10a8, 0x09c8)
	LevelRingsTableBuilder.addRing(0x10c0, 0x09c8)
	LevelRingsTableBuilder.addRing(0x10cc, 0x0bfa)
	LevelRingsTableBuilder.addRing(0x10d8, 0x09c8)
	LevelRingsTableBuilder.addRing(0x10ec, 0x0c04)
	LevelRingsTableBuilder.addRing(0x110c, 0x0c14)
	LevelRingsTableBuilder.addRing(0x112c, 0x0c22)
	LevelRingsTableBuilder.addRing(0x1134, 0x02ac)
	LevelRingsTableBuilder.addRing(0x114c, 0x0c2c)
	LevelRingsTableBuilder.addRing(0x1154, 0x02a2)
	LevelRingsTableBuilder.addRing(0x1168, 0x00d4)
	LevelRingsTableBuilder.addRing(0x1174, 0x0294)
	LevelRingsTableBuilder.addRing(0x117a, 0x00b2)
	LevelRingsTableBuilder.addRing(0x1194, 0x0284)
	LevelRingsTableBuilder.addRing(0x1198, 0x0098)
	LevelRingsTableBuilder.addRing(0x11a8, 0x0a00)
	LevelRingsTableBuilder.addRing(0x11b4, 0x027a)
	LevelRingsTableBuilder.addRing(0x11b8, 0x0087)
	LevelRingsTableBuilder.addRing(0x11c0, 0x0a00)
	LevelRingsTableBuilder.addRing(0x11d8, 0x0a00)
	LevelRingsTableBuilder.addRing(0x11e0, 0x0080)
	LevelRingsTableBuilder.addRing(0x1208, 0x0087)
	LevelRingsTableBuilder.addRing(0x1228, 0x0098)
	LevelRingsTableBuilder.addRing(0x1246, 0x00b2)
	LevelRingsTableBuilder.addRing(0x1258, 0x00d4)
	LevelRingsTableBuilder.addRing(0x12a8, 0x00a0)
	LevelRingsTableBuilder.addRing(0x12b4, 0x0f2c)
	LevelRingsTableBuilder.addRing(0x12c0, 0x00a0)
	LevelRingsTableBuilder.addRing(0x12d4, 0x0f22)
	LevelRingsTableBuilder.addRing(0x12d8, 0x00a0)
	LevelRingsTableBuilder.addRing(0x12f4, 0x0f14)
	LevelRingsTableBuilder.addRing(0x1314, 0x0f04)
	LevelRingsTableBuilder.addRing(0x1334, 0x0efa)
	LevelRingsTableBuilder.addRing(0x1428, 0x03a0)
	LevelRingsTableBuilder.addRing(0x1440, 0x03a0)
	LevelRingsTableBuilder.addRing(0x1458, 0x03a0)
	LevelRingsTableBuilder.addRing(0x15b4, 0x00ec)
	LevelRingsTableBuilder.addRing(0x15d4, 0x00e2)
	LevelRingsTableBuilder.addRing(0x15f4, 0x00d4)
	LevelRingsTableBuilder.addRing(0x1614, 0x00c4)
	LevelRingsTableBuilder.addRing(0x1634, 0x00ba)
	LevelRingsTableBuilder.addRing(0x1678, 0x0dd0)
	LevelRingsTableBuilder.addRing(0x1690, 0x0dd0)
	LevelRingsTableBuilder.addRing(0x16a8, 0x0dd0)
	LevelRingsTableBuilder.addRing(0x1924, 0x0998)
	LevelRingsTableBuilder.addRing(0x1928, 0x0ac0)
	LevelRingsTableBuilder.addRing(0x1928, 0x0ad4)
	LevelRingsTableBuilder.addRing(0x1940, 0x0ac0)
	LevelRingsTableBuilder.addRing(0x1940, 0x0ad4)
	LevelRingsTableBuilder.addRing(0x1944, 0x09a0)
	LevelRingsTableBuilder.addRing(0x1958, 0x0ac0)
	LevelRingsTableBuilder.addRing(0x1958, 0x0ad4)
	LevelRingsTableBuilder.addRing(0x1964, 0x09a8)
	u32[A1] = 0xffffffff
	A1 += 4
}


function void LevelRingsTableBuilder.buildRings_SSZ2()
{
	LevelRingsTableBuilder.addRing(0x0000, 0x0000)
	u32[A1] = 0xffffffff
	A1 += 4
}
