/*
	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_DEZ1()
{
	LevelRingsTableBuilder.addRing(0x0000, 0x0000)
	LevelRingsTableBuilder.addRing(0x0158, 0x09b0)
	LevelRingsTableBuilder.addRing(0x0170, 0x09b0)
	LevelRingsTableBuilder.addRing(0x0188, 0x09b0)
	LevelRingsTableBuilder.addRing(0x02a8, 0x0990)
	LevelRingsTableBuilder.addRing(0x02c0, 0x0990)
	LevelRingsTableBuilder.addRing(0x02d8, 0x0990)
	LevelRingsTableBuilder.addRing(0x0368, 0x0950)
	LevelRingsTableBuilder.addRing(0x0380, 0x0950)
	LevelRingsTableBuilder.addRing(0x0398, 0x0950)
	LevelRingsTableBuilder.addRing(0x0430, 0x077c)
	LevelRingsTableBuilder.addRing(0x0450, 0x0784)
	LevelRingsTableBuilder.addRing(0x0470, 0x078c)

	// Remove some rings in the floor
	//LevelRingsTableBuilder.addRing(0x05c0, 0x08e8)
	//LevelRingsTableBuilder.addRing(0x05d8, 0x08e8)
	//LevelRingsTableBuilder.addRing(0x05f0, 0x08e8)

	LevelRingsTableBuilder.addRing(0x0768, 0x077c)
	LevelRingsTableBuilder.addRing(0x0780, 0x077c)
	LevelRingsTableBuilder.addRing(0x0798, 0x077c)
	LevelRingsTableBuilder.addRing(0x07c0, 0x08e8)
	LevelRingsTableBuilder.addRing(0x07d8, 0x08e8)
	LevelRingsTableBuilder.addRing(0x07f0, 0x08e8)
	LevelRingsTableBuilder.addRing(0x0a24, 0x0820)
	LevelRingsTableBuilder.addRing(0x0a24, 0x0838)
	LevelRingsTableBuilder.addRing(0x0a24, 0x0850)
	LevelRingsTableBuilder.addRing(0x0a24, 0x0868)
	LevelRingsTableBuilder.addRing(0x0a3c, 0x0820)
	LevelRingsTableBuilder.addRing(0x0a3c, 0x0838)
	LevelRingsTableBuilder.addRing(0x0a3c, 0x0850)
	LevelRingsTableBuilder.addRing(0x0a3c, 0x0868)
	LevelRingsTableBuilder.addRing(0x0a54, 0x0820)
	LevelRingsTableBuilder.addRing(0x0a54, 0x0838)
	LevelRingsTableBuilder.addRing(0x0a54, 0x0850)
	LevelRingsTableBuilder.addRing(0x0a54, 0x0868)
	LevelRingsTableBuilder.addRing(0x0a60, 0x098c)
	LevelRingsTableBuilder.addRing(0x0a6c, 0x0820)
	LevelRingsTableBuilder.addRing(0x0a6c, 0x0838)
	LevelRingsTableBuilder.addRing(0x0a6c, 0x0850)
	LevelRingsTableBuilder.addRing(0x0a6c, 0x0868)
	LevelRingsTableBuilder.addRing(0x0a90, 0x0998)
	LevelRingsTableBuilder.addRing(0x0aa0, 0x05fc)
	LevelRingsTableBuilder.addRing(0x0ab8, 0x05fc)
	LevelRingsTableBuilder.addRing(0x0ac0, 0x09a4)
	LevelRingsTableBuilder.addRing(0x0af0, 0x09b0)
	LevelRingsTableBuilder.addRing(0x0b20, 0x09bc)
	LevelRingsTableBuilder.addRing(0x0b8c, 0x0650)
	LevelRingsTableBuilder.addRing(0x0ba4, 0x0650)
	LevelRingsTableBuilder.addRing(0x0d0c, 0x09b0)
	LevelRingsTableBuilder.addRing(0x0d14, 0x0890)
	LevelRingsTableBuilder.addRing(0x0d24, 0x09b0)
	LevelRingsTableBuilder.addRing(0x0d2c, 0x0890)
	LevelRingsTableBuilder.addRing(0x0d8c, 0x092c)
	LevelRingsTableBuilder.addRing(0x0da4, 0x092c)
	LevelRingsTableBuilder.addRing(0x0e0c, 0x092c)
	LevelRingsTableBuilder.addRing(0x0e24, 0x092c)
	LevelRingsTableBuilder.addRing(0x0ee0, 0x08b0)
	LevelRingsTableBuilder.addRing(0x0ef8, 0x08b0)
	LevelRingsTableBuilder.addRing(0x0f10, 0x08b0)
	LevelRingsTableBuilder.addRing(0x0f68, 0x0630)
	LevelRingsTableBuilder.addRing(0x0f80, 0x0630)
	LevelRingsTableBuilder.addRing(0x0f98, 0x0630)
	LevelRingsTableBuilder.addRing(0x0fe8, 0x04a0)
	LevelRingsTableBuilder.addRing(0x1000, 0x04a0)
	LevelRingsTableBuilder.addRing(0x1018, 0x04a0)
	LevelRingsTableBuilder.addRing(0x10b0, 0x07c8)
	LevelRingsTableBuilder.addRing(0x10d8, 0x07be)
	LevelRingsTableBuilder.addRing(0x1100, 0x07b4)
	LevelRingsTableBuilder.addRing(0x1128, 0x05fc)
	LevelRingsTableBuilder.addRing(0x1128, 0x07aa)
	LevelRingsTableBuilder.addRing(0x1140, 0x05fc)
	LevelRingsTableBuilder.addRing(0x1150, 0x07a0)
	LevelRingsTableBuilder.addRing(0x1158, 0x05fc)
	LevelRingsTableBuilder.addRing(0x129c, 0x08f0)
	LevelRingsTableBuilder.addRing(0x12b4, 0x08f0)
	LevelRingsTableBuilder.addRing(0x12cc, 0x08f0)
	LevelRingsTableBuilder.addRing(0x12e4, 0x08f0)
	LevelRingsTableBuilder.addRing(0x131c, 0x0aa0)
	LevelRingsTableBuilder.addRing(0x131c, 0x0ab8)
	LevelRingsTableBuilder.addRing(0x131c, 0x0ad0)
	LevelRingsTableBuilder.addRing(0x131c, 0x0ae8)
	LevelRingsTableBuilder.addRing(0x1334, 0x0aa0)
	LevelRingsTableBuilder.addRing(0x1334, 0x0ab8)
	LevelRingsTableBuilder.addRing(0x1334, 0x0ad0)
	LevelRingsTableBuilder.addRing(0x1334, 0x0ae8)
	LevelRingsTableBuilder.addRing(0x134c, 0x0aa0)
	LevelRingsTableBuilder.addRing(0x134c, 0x0ab8)
	LevelRingsTableBuilder.addRing(0x134c, 0x0ad0)
	LevelRingsTableBuilder.addRing(0x134c, 0x0ae8)
	LevelRingsTableBuilder.addRing(0x1364, 0x0aa0)
	LevelRingsTableBuilder.addRing(0x1364, 0x0ab8)
	LevelRingsTableBuilder.addRing(0x1364, 0x0ad0)
	LevelRingsTableBuilder.addRing(0x1364, 0x0ae8)
	LevelRingsTableBuilder.addRing(0x13e8, 0x0b70)
	LevelRingsTableBuilder.addRing(0x1400, 0x0b70)
	LevelRingsTableBuilder.addRing(0x1418, 0x0b70)
	LevelRingsTableBuilder.addRing(0x1668, 0x0a94)
	LevelRingsTableBuilder.addRing(0x1680, 0x0a94)
	LevelRingsTableBuilder.addRing(0x1698, 0x0a94)
	LevelRingsTableBuilder.addRing(0x170c, 0x0570)
	LevelRingsTableBuilder.addRing(0x1724, 0x0570)
	LevelRingsTableBuilder.addRing(0x17c4, 0x037c)
	LevelRingsTableBuilder.addRing(0x17d8, 0x0ba0)
	LevelRingsTableBuilder.addRing(0x17dc, 0x037c)
	LevelRingsTableBuilder.addRing(0x17f0, 0x0ba0)
	LevelRingsTableBuilder.addRing(0x17f4, 0x037c)
	LevelRingsTableBuilder.addRing(0x1808, 0x0ba0)
	LevelRingsTableBuilder.addRing(0x180c, 0x037c)
	LevelRingsTableBuilder.addRing(0x1824, 0x037c)
	LevelRingsTableBuilder.addRing(0x183c, 0x037c)
	LevelRingsTableBuilder.addRing(0x1a68, 0x0bb0)
	LevelRingsTableBuilder.addRing(0x1a80, 0x0bb0)
	LevelRingsTableBuilder.addRing(0x1a98, 0x0bb0)
	LevelRingsTableBuilder.addRing(0x1b40, 0x0520)
	LevelRingsTableBuilder.addRing(0x1b40, 0x0540)
	LevelRingsTableBuilder.addRing(0x1b40, 0x0560)
	LevelRingsTableBuilder.addRing(0x1b40, 0x0580)
	LevelRingsTableBuilder.addRing(0x1b60, 0x0520)
	LevelRingsTableBuilder.addRing(0x1b60, 0x0540)
	LevelRingsTableBuilder.addRing(0x1b60, 0x0560)
	LevelRingsTableBuilder.addRing(0x1b60, 0x0580)
	LevelRingsTableBuilder.addRing(0x1b80, 0x0520)
	LevelRingsTableBuilder.addRing(0x1b80, 0x0540)
	LevelRingsTableBuilder.addRing(0x1b80, 0x0560)
	LevelRingsTableBuilder.addRing(0x1b80, 0x0580)
	LevelRingsTableBuilder.addRing(0x1ba0, 0x0520)
	LevelRingsTableBuilder.addRing(0x1ba0, 0x0540)
	LevelRingsTableBuilder.addRing(0x1ba0, 0x0560)
	LevelRingsTableBuilder.addRing(0x1ba0, 0x0580)
	LevelRingsTableBuilder.addRing(0x1bc0, 0x0520)
	LevelRingsTableBuilder.addRing(0x1bc0, 0x0540)
	LevelRingsTableBuilder.addRing(0x1bc0, 0x0560)
	LevelRingsTableBuilder.addRing(0x1bc0, 0x0580)
	LevelRingsTableBuilder.addRing(0x1c68, 0x04b0)
	LevelRingsTableBuilder.addRing(0x1c68, 0x0a74)
	LevelRingsTableBuilder.addRing(0x1c80, 0x04b0)
	LevelRingsTableBuilder.addRing(0x1c80, 0x0a74)
	LevelRingsTableBuilder.addRing(0x1c98, 0x04b0)
	LevelRingsTableBuilder.addRing(0x1c98, 0x0a74)
	LevelRingsTableBuilder.addRing(0x1e30, 0x0410)
	LevelRingsTableBuilder.addRing(0x1e30, 0x0430)
	LevelRingsTableBuilder.addRing(0x1e30, 0x0450)
	LevelRingsTableBuilder.addRing(0x1e30, 0x0470)
	LevelRingsTableBuilder.addRing(0x1e30, 0x0490)
	LevelRingsTableBuilder.addRing(0x1e68, 0x086c)
	LevelRingsTableBuilder.addRing(0x1e80, 0x086c)
	LevelRingsTableBuilder.addRing(0x1e98, 0x086c)
	LevelRingsTableBuilder.addRing(0x1ea8, 0x076c)
	LevelRingsTableBuilder.addRing(0x1ec0, 0x076c)
	LevelRingsTableBuilder.addRing(0x1ed8, 0x076c)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 2)
	{
		LevelRingsTableBuilder.addRing(0x1f18, 0x0a18)
	}

	LevelRingsTableBuilder.addRing(0x1f28, 0x088c)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 2)
	{
		LevelRingsTableBuilder.addRing(0x1f30, 0x0a18)
	}

	LevelRingsTableBuilder.addRing(0x1f40, 0x088c)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 2)
	{
		LevelRingsTableBuilder.addRing(0x1f48, 0x0a18)
	}

	LevelRingsTableBuilder.addRing(0x1f58, 0x088c)
	LevelRingsTableBuilder.addRing(0x1ff8, 0x0858)
	LevelRingsTableBuilder.addRing(0x2010, 0x0858)
	LevelRingsTableBuilder.addRing(0x2028, 0x0858)
	LevelRingsTableBuilder.addRing(0x2028, 0x08ac)
	LevelRingsTableBuilder.addRing(0x2040, 0x08ac)
	LevelRingsTableBuilder.addRing(0x2058, 0x08ac)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 2)
	{
		LevelRingsTableBuilder.addRing(0x2080, 0x09ec)
		LevelRingsTableBuilder.addRing(0x2098, 0x09ec)
		LevelRingsTableBuilder.addRing(0x20b0, 0x09ec)
	}
	else
	{
		LevelRingsTableBuilder.addRing(0x2068, 0x09f0)
		LevelRingsTableBuilder.addRing(0x2080, 0x09f0)
		LevelRingsTableBuilder.addRing(0x2098, 0x09f0)
	}

	LevelRingsTableBuilder.addRing(0x20e8, 0x05f0)
	LevelRingsTableBuilder.addRing(0x2100, 0x05f0)
	LevelRingsTableBuilder.addRing(0x2118, 0x05f0)
	LevelRingsTableBuilder.addRing(0x2268, 0x01d0)
	LevelRingsTableBuilder.addRing(0x2268, 0x04d4)
	LevelRingsTableBuilder.addRing(0x2268, 0x08b0)
	LevelRingsTableBuilder.addRing(0x2280, 0x01d0)
	LevelRingsTableBuilder.addRing(0x2280, 0x04d4)
	LevelRingsTableBuilder.addRing(0x2280, 0x08b0)
	LevelRingsTableBuilder.addRing(0x2284, 0x0580)
	LevelRingsTableBuilder.addRing(0x2298, 0x01d0)
	LevelRingsTableBuilder.addRing(0x2298, 0x04d4)
	LevelRingsTableBuilder.addRing(0x2298, 0x08b0)
	LevelRingsTableBuilder.addRing(0x229c, 0x0580)
	LevelRingsTableBuilder.addRing(0x231c, 0x0570)
	LevelRingsTableBuilder.addRing(0x2334, 0x0570)
	LevelRingsTableBuilder.addRing(0x234c, 0x0570)
	LevelRingsTableBuilder.addRing(0x2364, 0x0570)
	LevelRingsTableBuilder.addRing(0x2468, 0x04d4)
	LevelRingsTableBuilder.addRing(0x2480, 0x04d4)
	LevelRingsTableBuilder.addRing(0x2498, 0x04d4)
	LevelRingsTableBuilder.addRing(0x251c, 0x05b0)
	LevelRingsTableBuilder.addRing(0x2534, 0x05b0)
	LevelRingsTableBuilder.addRing(0x254c, 0x05b0)
	LevelRingsTableBuilder.addRing(0x2564, 0x05b0)
	LevelRingsTableBuilder.addRing(0x2588, 0x07a0)
	LevelRingsTableBuilder.addRing(0x2588, 0x07c0)
	LevelRingsTableBuilder.addRing(0x2588, 0x07e0)
	LevelRingsTableBuilder.addRing(0x2588, 0x08a0)
	LevelRingsTableBuilder.addRing(0x2588, 0x08c0)
	LevelRingsTableBuilder.addRing(0x2588, 0x08e0)
	LevelRingsTableBuilder.addRing(0x25a0, 0x07a0)
	LevelRingsTableBuilder.addRing(0x25a0, 0x07c0)
	LevelRingsTableBuilder.addRing(0x25a0, 0x07e0)
	LevelRingsTableBuilder.addRing(0x25a0, 0x08a0)
	LevelRingsTableBuilder.addRing(0x25a0, 0x08c0)
	LevelRingsTableBuilder.addRing(0x25a0, 0x08e0)
	LevelRingsTableBuilder.addRing(0x25b8, 0x07a0)
	LevelRingsTableBuilder.addRing(0x25b8, 0x07c0)
	LevelRingsTableBuilder.addRing(0x25b8, 0x07e0)
	LevelRingsTableBuilder.addRing(0x25b8, 0x08a0)
	LevelRingsTableBuilder.addRing(0x25b8, 0x08c0)
	LevelRingsTableBuilder.addRing(0x25b8, 0x08e0)
	LevelRingsTableBuilder.addRing(0x2668, 0x0760)
	LevelRingsTableBuilder.addRing(0x2668, 0x0780)
	LevelRingsTableBuilder.addRing(0x2668, 0x07a0)
	LevelRingsTableBuilder.addRing(0x2668, 0x08e0)
	LevelRingsTableBuilder.addRing(0x2668, 0x0900)
	LevelRingsTableBuilder.addRing(0x2668, 0x0920)
	LevelRingsTableBuilder.addRing(0x2680, 0x0760)
	LevelRingsTableBuilder.addRing(0x2680, 0x0780)
	LevelRingsTableBuilder.addRing(0x2680, 0x07a0)
	LevelRingsTableBuilder.addRing(0x2680, 0x08e0)
	LevelRingsTableBuilder.addRing(0x2680, 0x0900)
	LevelRingsTableBuilder.addRing(0x2680, 0x0920)
	LevelRingsTableBuilder.addRing(0x2698, 0x0760)
	LevelRingsTableBuilder.addRing(0x2698, 0x0780)
	LevelRingsTableBuilder.addRing(0x2698, 0x07a0)
	LevelRingsTableBuilder.addRing(0x2698, 0x08e0)
	LevelRingsTableBuilder.addRing(0x2698, 0x0900)
	LevelRingsTableBuilder.addRing(0x2698, 0x0920)
	LevelRingsTableBuilder.addRing(0x2758, 0x081c)
	LevelRingsTableBuilder.addRing(0x2758, 0x0834)
	LevelRingsTableBuilder.addRing(0x2758, 0x084c)
	LevelRingsTableBuilder.addRing(0x2758, 0x0864)
	LevelRingsTableBuilder.addRing(0x2778, 0x081c)
	LevelRingsTableBuilder.addRing(0x2778, 0x0834)
	LevelRingsTableBuilder.addRing(0x2778, 0x084c)
	LevelRingsTableBuilder.addRing(0x2778, 0x0864)
	LevelRingsTableBuilder.addRing(0x2798, 0x081c)
	LevelRingsTableBuilder.addRing(0x2798, 0x0834)
	LevelRingsTableBuilder.addRing(0x2798, 0x084c)
	LevelRingsTableBuilder.addRing(0x2798, 0x0864)
	LevelRingsTableBuilder.addRing(0x28e8, 0x04f0)
	LevelRingsTableBuilder.addRing(0x2900, 0x04f0)
	LevelRingsTableBuilder.addRing(0x2918, 0x04f0)
	LevelRingsTableBuilder.addRing(0x2bdc, 0x0430)
	LevelRingsTableBuilder.addRing(0x2bf4, 0x0430)
	LevelRingsTableBuilder.addRing(0x2c0c, 0x0430)
	LevelRingsTableBuilder.addRing(0x2c24, 0x0430)
	LevelRingsTableBuilder.addRing(0x2dcc, 0x0430)
	LevelRingsTableBuilder.addRing(0x2de4, 0x0430)
	LevelRingsTableBuilder.addRing(0x2dfc, 0x0430)
	LevelRingsTableBuilder.addRing(0x2e14, 0x0430)
	LevelRingsTableBuilder.addRing(0x2e28, 0x07f0)
	LevelRingsTableBuilder.addRing(0x2e40, 0x07f0)
	LevelRingsTableBuilder.addRing(0x2e50, 0x0410)
	LevelRingsTableBuilder.addRing(0x2e58, 0x07f0)
	LevelRingsTableBuilder.addRing(0x2e68, 0x0410)
	LevelRingsTableBuilder.addRing(0x2e80, 0x0410)
	LevelRingsTableBuilder.addRing(0x2e98, 0x0410)
	LevelRingsTableBuilder.addRing(0x2eb0, 0x0700)
	LevelRingsTableBuilder.addRing(0x2eb0, 0x0720)
	LevelRingsTableBuilder.addRing(0x2eb0, 0x0740)
	LevelRingsTableBuilder.addRing(0x2eb0, 0x0760)
	LevelRingsTableBuilder.addRing(0x2eb0, 0x0780)
	LevelRingsTableBuilder.addRing(0x2ed0, 0x03f0)
	LevelRingsTableBuilder.addRing(0x2ee8, 0x03f0)
	LevelRingsTableBuilder.addRing(0x2f00, 0x03f0)
	LevelRingsTableBuilder.addRing(0x2f30, 0x0350)
	LevelRingsTableBuilder.addRing(0x2f30, 0x0370)
	LevelRingsTableBuilder.addRing(0x2f30, 0x0390)
	LevelRingsTableBuilder.addRing(0x2f30, 0x03b0)
	LevelRingsTableBuilder.addRing(0x2fd0, 0x0370)
	LevelRingsTableBuilder.addRing(0x2fd0, 0x0390)
	LevelRingsTableBuilder.addRing(0x2fd0, 0x03b0)
	LevelRingsTableBuilder.addRing(0x301c, 0x03f4)
	LevelRingsTableBuilder.addRing(0x3034, 0x03f4)
	LevelRingsTableBuilder.addRing(0x304c, 0x03f4)
	LevelRingsTableBuilder.addRing(0x3064, 0x03f4)
	LevelRingsTableBuilder.addRing(0x30b0, 0x0370)
	LevelRingsTableBuilder.addRing(0x30b0, 0x0390)
	LevelRingsTableBuilder.addRing(0x30b0, 0x03b0)
	LevelRingsTableBuilder.addRing(0x33c0, 0x02c4)
	LevelRingsTableBuilder.addRing(0x33e0, 0x02cc)
	LevelRingsTableBuilder.addRing(0x3400, 0x02d4)
	LevelRingsTableBuilder.addRing(0x3420, 0x02dc)
	LevelRingsTableBuilder.addRing(0x3440, 0x02e4)
	u32[A1] = 0xffffffff
	A1 += 4
}


function void LevelRingsTableBuilder.buildRings_DEZ2()
{
	LevelRingsTableBuilder.addRing(0x0000, 0x0000)
	LevelRingsTableBuilder.addRing(0x041c, 0x03d0)
	LevelRingsTableBuilder.addRing(0x0434, 0x03d0)
	LevelRingsTableBuilder.addRing(0x044c, 0x03d0)
	LevelRingsTableBuilder.addRing(0x0464, 0x03d0)
	LevelRingsTableBuilder.addRing(0x059c, 0x03f4)
	LevelRingsTableBuilder.addRing(0x05b4, 0x03f4)
	LevelRingsTableBuilder.addRing(0x05cc, 0x03f4)
	LevelRingsTableBuilder.addRing(0x05e4, 0x03f4)
	LevelRingsTableBuilder.addRing(0x06e0, 0x07d0)
	LevelRingsTableBuilder.addRing(0x06f8, 0x07d0)
	LevelRingsTableBuilder.addRing(0x0710, 0x07d0)
	LevelRingsTableBuilder.addRing(0x0728, 0x07d0)
	LevelRingsTableBuilder.addRing(0x0800, 0x07b0)
	LevelRingsTableBuilder.addRing(0x0818, 0x07b0)
	LevelRingsTableBuilder.addRing(0x0830, 0x07b0)
	LevelRingsTableBuilder.addRing(0x0908, 0x058e)
	LevelRingsTableBuilder.addRing(0x0928, 0x0380)
	LevelRingsTableBuilder.addRing(0x0928, 0x0596)
	LevelRingsTableBuilder.addRing(0x0940, 0x0380)
	LevelRingsTableBuilder.addRing(0x0948, 0x059e)
	LevelRingsTableBuilder.addRing(0x0958, 0x0380)
	LevelRingsTableBuilder.addRing(0x0968, 0x05a6)
	LevelRingsTableBuilder.addRing(0x0a18, 0x0734)
	LevelRingsTableBuilder.addRing(0x0a38, 0x073c)
	LevelRingsTableBuilder.addRing(0x0a58, 0x0744)
	LevelRingsTableBuilder.addRing(0x0c9c, 0x0a74)
	LevelRingsTableBuilder.addRing(0x0cb4, 0x0a74)
	LevelRingsTableBuilder.addRing(0x0ccc, 0x0a74)
	LevelRingsTableBuilder.addRing(0x0ce4, 0x0a74)
	LevelRingsTableBuilder.addRing(0x0de0, 0x07f0)
	LevelRingsTableBuilder.addRing(0x0de0, 0x0810)
	LevelRingsTableBuilder.addRing(0x0de0, 0x0830)
	LevelRingsTableBuilder.addRing(0x0e00, 0x07f0)
	LevelRingsTableBuilder.addRing(0x0e00, 0x0810)
	LevelRingsTableBuilder.addRing(0x0e00, 0x0830)
	LevelRingsTableBuilder.addRing(0x0e20, 0x07f0)
	LevelRingsTableBuilder.addRing(0x0e20, 0x0810)
	LevelRingsTableBuilder.addRing(0x0e20, 0x0830)
	LevelRingsTableBuilder.addRing(0x0f5c, 0x058c)
	LevelRingsTableBuilder.addRing(0x0f74, 0x058c)
	LevelRingsTableBuilder.addRing(0x0f8c, 0x058c)
	LevelRingsTableBuilder.addRing(0x0fa4, 0x058c)
	LevelRingsTableBuilder.addRing(0x0fa8, 0x07c0)
	LevelRingsTableBuilder.addRing(0x0fa8, 0x07e0)
	LevelRingsTableBuilder.addRing(0x0fa8, 0x0800)
	LevelRingsTableBuilder.addRing(0x0fa8, 0x0820)
	LevelRingsTableBuilder.addRing(0x0fdc, 0x050c)
	LevelRingsTableBuilder.addRing(0x0ff4, 0x050c)
	LevelRingsTableBuilder.addRing(0x100c, 0x050c)
	LevelRingsTableBuilder.addRing(0x1024, 0x050c)
	LevelRingsTableBuilder.addRing(0x1154, 0x0930)
	LevelRingsTableBuilder.addRing(0x116c, 0x0930)
	LevelRingsTableBuilder.addRing(0x1268, 0x04ec)
	LevelRingsTableBuilder.addRing(0x1274, 0x02cc)
	LevelRingsTableBuilder.addRing(0x1280, 0x04ec)
	LevelRingsTableBuilder.addRing(0x128c, 0x02cc)
	LevelRingsTableBuilder.addRing(0x1298, 0x04ec)
	LevelRingsTableBuilder.addRing(0x12a4, 0x02cc)
	LevelRingsTableBuilder.addRing(0x12dc, 0x02ac)
	LevelRingsTableBuilder.addRing(0x12f4, 0x02ac)
	LevelRingsTableBuilder.addRing(0x130c, 0x02ac)
	LevelRingsTableBuilder.addRing(0x13e8, 0x08d0)
	LevelRingsTableBuilder.addRing(0x1400, 0x08d0)
	LevelRingsTableBuilder.addRing(0x1418, 0x08d0)
	LevelRingsTableBuilder.addRing(0x14a4, 0x0730)
	LevelRingsTableBuilder.addRing(0x14bc, 0x0730)
	LevelRingsTableBuilder.addRing(0x14e0, 0x0a0c)
	LevelRingsTableBuilder.addRing(0x14ec, 0x09f0)
	LevelRingsTableBuilder.addRing(0x14f8, 0x09d4)
	LevelRingsTableBuilder.addRing(0x14f8, 0x0a0c)
	LevelRingsTableBuilder.addRing(0x1504, 0x09f0)
	LevelRingsTableBuilder.addRing(0x1510, 0x0a0c)
	LevelRingsTableBuilder.addRing(0x1558, 0x07b4)
	LevelRingsTableBuilder.addRing(0x1570, 0x07b4)
	LevelRingsTableBuilder.addRing(0x1588, 0x07b4)
	LevelRingsTableBuilder.addRing(0x1768, 0x0b30)
	LevelRingsTableBuilder.addRing(0x1768, 0x0c00)
	LevelRingsTableBuilder.addRing(0x1780, 0x0b30)
	LevelRingsTableBuilder.addRing(0x1780, 0x0c00)
	LevelRingsTableBuilder.addRing(0x1798, 0x0b30)
	LevelRingsTableBuilder.addRing(0x1798, 0x0c00)
	LevelRingsTableBuilder.addRing(0x1850, 0x02dc)
	LevelRingsTableBuilder.addRing(0x1850, 0x02f4)
	LevelRingsTableBuilder.addRing(0x1850, 0x030c)
	LevelRingsTableBuilder.addRing(0x1850, 0x0324)
	LevelRingsTableBuilder.addRing(0x18a8, 0x0374)
	LevelRingsTableBuilder.addRing(0x18c0, 0x0374)
	LevelRingsTableBuilder.addRing(0x18d8, 0x0374)
	LevelRingsTableBuilder.addRing(0x195c, 0x01fc)
	LevelRingsTableBuilder.addRing(0x1974, 0x01fc)
	LevelRingsTableBuilder.addRing(0x198c, 0x01fc)
	LevelRingsTableBuilder.addRing(0x19a4, 0x01fc)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 2)
	{
		// Add some rings there, as this part is quite unfair when starting from the checkpoint with no rings
		LevelRingsTableBuilder.addRing(0x19a8, 0x08cc)
		LevelRingsTableBuilder.addRing(0x19c0, 0x08cc)
		LevelRingsTableBuilder.addRing(0x19d8, 0x08cc)
	}

	LevelRingsTableBuilder.addRing(0x19e8, 0x0a3c)
	LevelRingsTableBuilder.addRing(0x1a00, 0x0a3c)
	LevelRingsTableBuilder.addRing(0x1a18, 0x0a3c)
	LevelRingsTableBuilder.addRing(0x1ab0, 0x05e0)
	LevelRingsTableBuilder.addRing(0x1ab0, 0x0600)
	LevelRingsTableBuilder.addRing(0x1ab0, 0x0620)
	LevelRingsTableBuilder.addRing(0x1ab0, 0x0640)
	LevelRingsTableBuilder.addRing(0x1b24, 0x06ac)
	LevelRingsTableBuilder.addRing(0x1b3c, 0x06ac)
	LevelRingsTableBuilder.addRing(0x1b54, 0x06ac)
	LevelRingsTableBuilder.addRing(0x1b6c, 0x06ac)
	LevelRingsTableBuilder.addRing(0x1c1c, 0x02b0)
	LevelRingsTableBuilder.addRing(0x1c1c, 0x02d0)
	LevelRingsTableBuilder.addRing(0x1c1c, 0x02f0)
	LevelRingsTableBuilder.addRing(0x1c1c, 0x0310)
	LevelRingsTableBuilder.addRing(0x1c34, 0x02b0)
	LevelRingsTableBuilder.addRing(0x1c34, 0x02d0)
	LevelRingsTableBuilder.addRing(0x1c34, 0x02f0)
	LevelRingsTableBuilder.addRing(0x1c34, 0x0310)
	LevelRingsTableBuilder.addRing(0x1c4c, 0x02b0)
	LevelRingsTableBuilder.addRing(0x1c4c, 0x02d0)
	LevelRingsTableBuilder.addRing(0x1c4c, 0x02f0)
	LevelRingsTableBuilder.addRing(0x1c4c, 0x0310)
	LevelRingsTableBuilder.addRing(0x1c64, 0x02b0)
	LevelRingsTableBuilder.addRing(0x1c64, 0x02d0)
	LevelRingsTableBuilder.addRing(0x1c64, 0x02f0)
	LevelRingsTableBuilder.addRing(0x1c64, 0x0310)
	LevelRingsTableBuilder.addRing(0x1ce0, 0x0c4c)
	LevelRingsTableBuilder.addRing(0x1cf8, 0x0c4c)
	LevelRingsTableBuilder.addRing(0x1d10, 0x0c4c)
	LevelRingsTableBuilder.addRing(0x1da8, 0x040c)
	LevelRingsTableBuilder.addRing(0x1dc0, 0x040c)
	LevelRingsTableBuilder.addRing(0x1dd8, 0x040c)
	LevelRingsTableBuilder.addRing(0x1e40, 0x0650)
	LevelRingsTableBuilder.addRing(0x1e58, 0x0650)
	LevelRingsTableBuilder.addRing(0x1e70, 0x0650)
	LevelRingsTableBuilder.addRing(0x1e88, 0x0650)
	LevelRingsTableBuilder.addRing(0x20b8, 0x0a10)
	LevelRingsTableBuilder.addRing(0x20bc, 0x0420)
	LevelRingsTableBuilder.addRing(0x20d0, 0x09f0)
	LevelRingsTableBuilder.addRing(0x20d0, 0x0a10)
	LevelRingsTableBuilder.addRing(0x20d4, 0x0420)
	LevelRingsTableBuilder.addRing(0x20e8, 0x09d0)
	LevelRingsTableBuilder.addRing(0x20e8, 0x09f0)
	LevelRingsTableBuilder.addRing(0x20e8, 0x0a10)
	LevelRingsTableBuilder.addRing(0x20ec, 0x0420)
	LevelRingsTableBuilder.addRing(0x2100, 0x09d0)
	LevelRingsTableBuilder.addRing(0x2100, 0x09f0)
	LevelRingsTableBuilder.addRing(0x2104, 0x0420)
	LevelRingsTableBuilder.addRing(0x2118, 0x09d0)
	LevelRingsTableBuilder.addRing(0x2168, 0x09b0)
	LevelRingsTableBuilder.addRing(0x2180, 0x09b0)
	LevelRingsTableBuilder.addRing(0x2198, 0x09b0)
	LevelRingsTableBuilder.addRing(0x23dc, 0x08f0)
	LevelRingsTableBuilder.addRing(0x23f4, 0x08f0)
	LevelRingsTableBuilder.addRing(0x240c, 0x08f0)
	LevelRingsTableBuilder.addRing(0x2424, 0x08f0)
	LevelRingsTableBuilder.addRing(0x2718, 0x0368)
	LevelRingsTableBuilder.addRing(0x2720, 0x0674)
	LevelRingsTableBuilder.addRing(0x2738, 0x0360)
	LevelRingsTableBuilder.addRing(0x2740, 0x0674)
	LevelRingsTableBuilder.addRing(0x2758, 0x0358)
	LevelRingsTableBuilder.addRing(0x2760, 0x0674)
	LevelRingsTableBuilder.addRing(0x2778, 0x0350)
	LevelRingsTableBuilder.addRing(0x27b0, 0x0590)
	LevelRingsTableBuilder.addRing(0x27b0, 0x05b0)
	LevelRingsTableBuilder.addRing(0x27b0, 0x05d0)
	LevelRingsTableBuilder.addRing(0x27b0, 0x05f0)
	LevelRingsTableBuilder.addRing(0x27d8, 0x0830)
	LevelRingsTableBuilder.addRing(0x27f0, 0x0830)
	LevelRingsTableBuilder.addRing(0x2808, 0x0830)
	LevelRingsTableBuilder.addRing(0x2a14, 0x0560)
	LevelRingsTableBuilder.addRing(0x2a2c, 0x0560)
	LevelRingsTableBuilder.addRing(0x2a44, 0x0560)
	LevelRingsTableBuilder.addRing(0x2e5c, 0x0370)
	LevelRingsTableBuilder.addRing(0x2e74, 0x0370)
	LevelRingsTableBuilder.addRing(0x2e8c, 0x0370)
	LevelRingsTableBuilder.addRing(0x2ea4, 0x0370)
	LevelRingsTableBuilder.addRing(0x2fd8, 0x03ec)
	LevelRingsTableBuilder.addRing(0x2fdc, 0x0870)
	LevelRingsTableBuilder.addRing(0x2ff0, 0x03ec)
	LevelRingsTableBuilder.addRing(0x2ff4, 0x0870)
	LevelRingsTableBuilder.addRing(0x3008, 0x03ec)
	LevelRingsTableBuilder.addRing(0x300c, 0x0870)
	LevelRingsTableBuilder.addRing(0x3024, 0x0870)
	LevelRingsTableBuilder.addRing(0x30d8, 0x040c)
	LevelRingsTableBuilder.addRing(0x30f0, 0x040c)
	LevelRingsTableBuilder.addRing(0x3108, 0x040c)
	LevelRingsTableBuilder.addRing(0x3178, 0x03d8)
	LevelRingsTableBuilder.addRing(0x3190, 0x03d8)
	LevelRingsTableBuilder.addRing(0x31a8, 0x03d8)
	LevelRingsTableBuilder.addRing(0x31a8, 0x042c)
	LevelRingsTableBuilder.addRing(0x31c0, 0x042c)
	LevelRingsTableBuilder.addRing(0x31d8, 0x042c)
	LevelRingsTableBuilder.addRing(0x3254, 0x0470)
	LevelRingsTableBuilder.addRing(0x326c, 0x0470)
	LevelRingsTableBuilder.addRing(0x3330, 0x04a8)
	LevelRingsTableBuilder.addRing(0x3358, 0x049e)
	LevelRingsTableBuilder.addRing(0x3380, 0x0494)
	LevelRingsTableBuilder.addRing(0x33a8, 0x048a)
	LevelRingsTableBuilder.addRing(0x33d0, 0x0480)
	LevelRingsTableBuilder.addRing(0x3430, 0x0480)
	LevelRingsTableBuilder.addRing(0x3458, 0x048a)
	LevelRingsTableBuilder.addRing(0x3480, 0x0494)
	LevelRingsTableBuilder.addRing(0x34a8, 0x049e)
	LevelRingsTableBuilder.addRing(0x34d0, 0x04a8)
	u32[A1] = 0xffffffff
	A1 += 4
}


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