diff --git a/mods/arena/arena-lighting.lua b/mods/arena/arena-lighting.lua index 300fb75f..ba23eb8e 100644 --- a/mods/arena/arena-lighting.lua +++ b/mods/arena/arena-lighting.lua @@ -1,10 +1,10 @@ if SM64COOPDX_VERSION == nil then return end --- lighting for Rainbow Road - -function on_level_init() +local function on_level_init() if gNetworkPlayers[0].currLevelNum == LEVEL_ARENA_RAINBOW then set_lighting_dir(1, -10) + elseif gNetworkPlayers[0].currLevelNum == LEVEL_ARENA_CITY then + set_lighting_dir(1, -1) elseif gNetworkPlayers[0].currLevelNum == LEVEL_ARENA_CITADEL then set_lighting_dir(1, -10) elseif gNetworkPlayers[0].currLevelNum == LEVEL_ARENA_FORTS then @@ -13,19 +13,38 @@ function on_level_init() set_lighting_dir(1, -10) elseif gNetworkPlayers[0].currLevelNum == LEVEL_ARENA_PILLARS then set_lighting_dir(1, -10) - else + elseif gNetworkPlayers[0].currLevelNum == LEVEL_ARENA_SKY_BEACH then + set_lighting_dir(1, 0) + elseif gNetworkPlayers[0].currLevelNum == LEVEL_ARENA_SPIRE then set_lighting_dir(1, 0) end - - if gNetworkPlayers[0].currLevelNum == LEVEL_ARENA_RAINBOW then - set_lighting_color(0, 179) - set_lighting_color(1, 189) - set_lighting_color(2, 255) - else - set_lighting_color(0, 255) - set_lighting_color(1, 255) - set_lighting_color(2, 255) +end + +--- @param m MarioState +local function mario_update(m) + if gNetworkPlayers[0].currLevelNum == LEVEL_ARENA_CITY then + m.marioBodyState.lightR = 255 + m.marioBodyState.lightG = 225 + m.marioBodyState.lightB = 115 + m.marioBodyState.shadeR = 19 + m.marioBodyState.shadeG = 58 + m.marioBodyState.shadeB = 212 + elseif gNetworkPlayers[0].currLevelNum == LEVEL_ARENA_RAINBOW then + m.marioBodyState.lightR = 255 + m.marioBodyState.lightG = 255 + m.marioBodyState.lightB = 255 + m.marioBodyState.shadeR = 19 + m.marioBodyState.shadeG = 58 + m.marioBodyState.shadeB = 212 + else + m.marioBodyState.lightR = 255 + m.marioBodyState.lightG = 255 + m.marioBodyState.lightB = 255 + m.marioBodyState.shadeR = 127 + m.marioBodyState.shadeG = 127 + m.marioBodyState.shadeB = 127 end end +hook_event(HOOK_MARIO_UPDATE, mario_update) hook_event(HOOK_ON_LEVEL_INIT, on_level_init) \ No newline at end of file diff --git a/mods/arena/arena-sound.lua b/mods/arena/arena-sound.lua index cb36f71a..4e374120 100644 --- a/mods/arena/arena-sound.lua +++ b/mods/arena/arena-sound.lua @@ -9,14 +9,19 @@ local audioMain = nil --Used for the main audio local audioSpecial = nil --Used for things like cap music local audioCurSeq = nil local bgms = { - [56] = {audio='rainbow.ogg', loopEnd = 218.781, loopStart = 06.975, volume = -5, name="Ric Fellini - All my Loving"}, --B1 - -- [57] = {audio='space.ogg', loopEnd = 300, loopStart = 06.975, volume = -5, name="Echo the Dolphin - Title Screen"}, --B1 + [50] = {audio='arena.ogg', loopEnd = 112.583, loopStart = 19.928, volume = -5, name="Mako Reactor - Final Fantasy 7" }, --B1 + [52] = {audio='arena.ogg', loopEnd = 112.583, loopStart = 19.928, volume = -5, name="Mako Reactor - Final Fantasy 7" }, --B1 + [53] = {audio='arena.ogg', loopEnd = 112.583, loopStart = 19.928, volume = -5, name="Mako Reactor - Final Fantasy 7" }, --B1 + [54] = {audio='arena.ogg', loopEnd = 112.583, loopStart = 19.928, volume = -5, name="Mako Reactor - Final Fantasy 7" }, -- + [55] = {audio='snow.ogg', loopEnd = 500, loopStart = 0, volume = -5, name="Frosty Citadel - Sonic Gaiden" }, --B1 + [56] = {audio='rainbow.ogg', loopEnd = 148.657, loopStart = 12.406, volume = -5, name="Rainbow Road - Coop Deluxe" }, --B1 + [57] = {audio='city.ogg', loopEnd = 500, loopStart = 06.975, volume = -5, name="City Outskirts - Sonic Megamix"}, --B2 } -- disable cap music function music() local np = gNetworkPlayers[0] - if np.currLevelNum == LEVEL_ARENA_RAINBOW or LEVEL_ARENA_SPACE then + if np.currLevelNum == LEVEL_ARENA_RAINBOW or LEVEL_ARENA_CITY or LEVEL_ARENA_ORIGIN or LEVEL_ARENA_FORTS or LEVEL_ARENA_SPIRE or LEVEL_ARENA_CITADEL then stop_cap_music() end end diff --git a/mods/arena/levels/level_arena_city_entry.lvl b/mods/arena/levels/level_arena_city_entry.lvl new file mode 100644 index 00000000..ecf4701f Binary files /dev/null and b/mods/arena/levels/level_arena_city_entry.lvl differ diff --git a/mods/arena/levels/level_arena_rainbow_entry.lvl b/mods/arena/levels/level_arena_rainbow_entry.lvl index 8e878d50..0f752df4 100644 Binary files a/mods/arena/levels/level_arena_rainbow_entry.lvl and b/mods/arena/levels/level_arena_rainbow_entry.lvl differ diff --git a/mods/arena/main.lua b/mods/arena/main.lua index a9e69ede..91b28638 100644 --- a/mods/arena/main.lua +++ b/mods/arena/main.lua @@ -26,13 +26,14 @@ gGameModes = { [GAME_MODE_TKOTH] = { shortName = 'TKOTH', name = 'Team King of the Hill', teams = true, teamSpawns = false, useScore = true, scoreCap = 90, minPlayers = 4, maxPlayers = 99 } } -LEVEL_ARENA_ORIGIN = level_register('level_arena_origin_entry', COURSE_NONE, 'Origin', 'origin', 28000, 0x28, 0x28, 0x28) -LEVEL_ARENA_SKY_BEACH = level_register('level_arena_sky_beach_entry', COURSE_NONE, 'Sky Beach', 'beach', 28000, 0x28, 0x28, 0x28) -LEVEL_ARENA_PILLARS = level_register('level_arena_pillars_entry', COURSE_NONE, 'Pillars', 'pillars', 28000, 0x28, 0x28, 0x28) -LEVEL_ARENA_FORTS = level_register('level_arena_forts_entry', COURSE_NONE, 'Forts', 'forts', 28000, 0x28, 0x28, 0x28) -LEVEL_ARENA_CITADEL = level_register('level_arena_citadel_entry', COURSE_NONE, 'Citadel', 'citadel', 28000, 0x28, 0x28, 0x28) -LEVEL_ARENA_SPIRE = level_register('level_arena_spire_entry', COURSE_NONE, 'Spire', 'spire', 28000, 0x28, 0x28, 0x28) +LEVEL_ARENA_ORIGIN = level_register('level_arena_origin_entry', COURSE_NONE, 'Origin', 'origin', 28000, 0x08, 0x08, 0x08) +LEVEL_ARENA_SKY_BEACH = level_register('level_arena_sky_beach_entry', COURSE_NONE, 'Sky Beach', 'beach', 28000, 0x08, 0x08, 0x08) +LEVEL_ARENA_PILLARS = level_register('level_arena_pillars_entry', COURSE_NONE, 'Pillars', 'pillars', 28000, 0x08, 0x08, 0x08) +LEVEL_ARENA_FORTS = level_register('level_arena_forts_entry', COURSE_NONE, 'Forts', 'forts', 28000, 0x08, 0x08, 0x08) +LEVEL_ARENA_CITADEL = level_register('level_arena_citadel_entry', COURSE_NONE, 'Citadel', 'citadel', 28000, 0x08, 0x08, 0x08) +LEVEL_ARENA_SPIRE = level_register('level_arena_spire_entry', COURSE_NONE, 'Spire', 'spire', 28000, 0x08, 0x08, 0x08) LEVEL_ARENA_RAINBOW = level_register('level_arena_rainbow_entry', COURSE_NONE, 'Rainbow', 'rainbow', 28000, 0x28, 0x28, 0x28) +LEVEL_ARENA_CITY = level_register('level_arena_city_entry', COURSE_NONE, 'City', 'city', 28000, 0x28, 0x28, 0x28) local gGameLevels = { { level = LEVEL_ARENA_ORIGIN, name = 'Origin' }, @@ -41,7 +42,8 @@ local gGameLevels = { { level = LEVEL_ARENA_FORTS, name = 'Forts' }, { level = LEVEL_ARENA_CITADEL, name = 'Citadel' }, { level = LEVEL_ARENA_SPIRE, name = 'Spire' }, - { level = LEVEL_ARENA_RAINBOW, name = 'Rainbow' } + { level = LEVEL_ARENA_RAINBOW, name = 'Rainbow' }, + { level = LEVEL_ARENA_CITY, name = 'City' } } -- expose certain functions to other mods diff --git a/mods/arena/sound/arena.ogg b/mods/arena/sound/arena.ogg new file mode 100644 index 00000000..c76e6032 Binary files /dev/null and b/mods/arena/sound/arena.ogg differ diff --git a/mods/arena/sound/city.ogg b/mods/arena/sound/city.ogg new file mode 100644 index 00000000..9cebfce5 Binary files /dev/null and b/mods/arena/sound/city.ogg differ diff --git a/mods/arena/sound/rainbow.ogg b/mods/arena/sound/rainbow.ogg index d4e7d0c3..f02974ad 100644 Binary files a/mods/arena/sound/rainbow.ogg and b/mods/arena/sound/rainbow.ogg differ diff --git a/mods/arena/sound/snow.ogg b/mods/arena/sound/snow.ogg new file mode 100644 index 00000000..9b8d224c Binary files /dev/null and b/mods/arena/sound/snow.ogg differ