mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-11-28 23:13:02 +00:00
Added SM74 (created by Lugmillord)
This commit is contained in:
parent
8d2e732243
commit
d3a669c3b0
75 changed files with 3275 additions and 0 deletions
BIN
mods/sm74/actors/collision_star_door.col
Normal file
BIN
mods/sm74/actors/collision_star_door.col
Normal file
Binary file not shown.
BIN
mods/sm74/actors/grate_door_col.col
Normal file
BIN
mods/sm74/actors/grate_door_col.col
Normal file
Binary file not shown.
BIN
mods/sm74/actors/grate_door_geo.bin
Normal file
BIN
mods/sm74/actors/grate_door_geo.bin
Normal file
Binary file not shown.
BIN
mods/sm74/actors/lll_col_rotate_firebars.col
Normal file
BIN
mods/sm74/actors/lll_col_rotate_firebars.col
Normal file
Binary file not shown.
BIN
mods/sm74/actors/lll_geo_rotate_firebars.bin
Normal file
BIN
mods/sm74/actors/lll_geo_rotate_firebars.bin
Normal file
Binary file not shown.
BIN
mods/sm74/actors/lll_geo_sinking_rock.bin
Normal file
BIN
mods/sm74/actors/lll_geo_sinking_rock.bin
Normal file
Binary file not shown.
BIN
mods/sm74/actors/lll_sinking_rock_col.col
Normal file
BIN
mods/sm74/actors/lll_sinking_rock_col.col
Normal file
Binary file not shown.
BIN
mods/sm74/actors/star_door_geo.bin
Normal file
BIN
mods/sm74/actors/star_door_geo.bin
Normal file
Binary file not shown.
BIN
mods/sm74/actors/star_geo.bin
Normal file
BIN
mods/sm74/actors/star_geo.bin
Normal file
Binary file not shown.
52
mods/sm74/bhv-overrides.lua
Normal file
52
mods/sm74/bhv-overrides.lua
Normal file
|
@ -0,0 +1,52 @@
|
|||
function bhv_custom_koopa_the_quick_loop(obj)
|
||||
if obj.oKoopaMovementType >= KOOPA_BP_KOOPA_THE_QUICK_BASE then
|
||||
obj.oKoopaTheQuickRaceIndex = (gNetworkPlayers[0].currAreaIndex - 1)
|
||||
end
|
||||
end
|
||||
|
||||
-- hook the behavior
|
||||
id_bhvCustomKoopa = hook_behavior(id_bhvKoopa, OBJ_LIST_PUSHABLE, false, nil, bhv_custom_koopa_the_quick_loop)
|
||||
|
||||
---------------------------------------------------
|
||||
|
||||
function bhv_custom_cage_door_loop(obj)
|
||||
if obj.collisionData == smlua_collision_util_get("bob_seg7_collision_gate") then
|
||||
obj.collisionData = smlua_collision_util_get("grate_door_col")
|
||||
end
|
||||
end
|
||||
|
||||
-- hook the behavior
|
||||
id_bhvCustomOpenableCageDoor = hook_behavior(id_bhvOpenableCageDoor, OBJ_LIST_SURFACE, false, nil, bhv_custom_cage_door_loop)
|
||||
|
||||
---------------------------------------------------
|
||||
|
||||
function bhv_custom_star_door_loop(obj)
|
||||
if obj.collisionData == smlua_collision_util_get("inside_castle_seg7_collision_star_door") then
|
||||
obj.collisionData = smlua_collision_util_get("collision_star_door")
|
||||
end
|
||||
end
|
||||
|
||||
-- hook the behavior
|
||||
id_bhvCustomStarDoor = hook_behavior(id_bhvStarDoor, OBJ_LIST_SURFACE, false, nil, bhv_custom_star_door_loop)
|
||||
|
||||
---------------------------------------------------
|
||||
|
||||
function bhv_custom_lll_sinking_rock_block_loop(obj)
|
||||
if obj.collisionData == smlua_collision_util_get("lll_seg7_collision_floating_block") then
|
||||
obj.collisionData = smlua_collision_util_get("lll_sinking_rock_col")
|
||||
end
|
||||
end
|
||||
|
||||
-- hook the behavior
|
||||
id_bhvCustomLllSinkingRockBlock = hook_behavior(id_bhvLllSinkingRockBlock, OBJ_LIST_SURFACE, false, nil, bhv_custom_lll_sinking_rock_block_loop)
|
||||
|
||||
---------------------------------------------------
|
||||
|
||||
function bhv_custom_rotating_block_with_fire_bars_loop(obj)
|
||||
if obj.collisionData == smlua_collision_util_get("lll_seg7_collision_rotating_fire_bars") then
|
||||
obj.collisionData = smlua_collision_util_get("lll_col_rotate_firebars")
|
||||
end
|
||||
end
|
||||
|
||||
-- hook the behavior
|
||||
id_bhvCustomRotatingBlockWithFireBars = hook_behavior(id_bhvLllRotatingBlockWithFireBars, OBJ_LIST_SURFACE, false, nil, bhv_custom_rotating_block_with_fire_bars_loop)
|
44
mods/sm74/camera.lua
Normal file
44
mods/sm74/camera.lua
Normal file
|
@ -0,0 +1,44 @@
|
|||
sOverrideCameraModes = {
|
||||
[CAMERA_MODE_RADIAL] = true,
|
||||
[CAMERA_MODE_OUTWARD_RADIAL] = true,
|
||||
[CAMERA_MODE_BEHIND_MARIO] = true,
|
||||
[CAMERA_MODE_CLOSE] = true,
|
||||
--[CAMERA_MODE_C_UP] = true,
|
||||
[CAMERA_MODE_WATER_SURFACE] = true,
|
||||
[CAMERA_MODE_SLIDE_HOOT] = true,
|
||||
[CAMERA_MODE_INSIDE_CANNON] = true,
|
||||
--[CAMERA_MODE_BOSS_FIGHT] = true,
|
||||
[CAMERA_MODE_PARALLEL_TRACKING] = true,
|
||||
[CAMERA_MODE_FIXED] = true,
|
||||
[CAMERA_MODE_8_DIRECTIONS] = true,
|
||||
[CAMERA_MODE_FREE_ROAM] = true,
|
||||
[CAMERA_MODE_SPIRAL_STAIRS] = true,
|
||||
}
|
||||
|
||||
function override_camera()
|
||||
local m = gMarioStates[0]
|
||||
local np = gNetworkPlayers[0]
|
||||
|
||||
if sOverrideCameraModes[m.area.camera.mode] == nil then
|
||||
return
|
||||
end
|
||||
|
||||
if (np.currLevelNum == LEVEL_BOWSER_1 or np.currLevelNum == LEVEL_BOWSER_2 or np.currLevelNum == LEVEL_BOWSER_3) then
|
||||
return
|
||||
end
|
||||
|
||||
set_camera_mode(m.area.camera, CAMERA_MODE_ROM_HACK, 0)
|
||||
end
|
||||
|
||||
function on_set_camera_mode(c, mode, frames)
|
||||
local m = gMarioStates[0]
|
||||
if sOverrideCameraModes[mode] ~= nil then
|
||||
-- do not allow change
|
||||
return false
|
||||
end
|
||||
|
||||
-- allow camera change
|
||||
return true
|
||||
end
|
||||
|
||||
hook_event(HOOK_ON_SET_CAMERA_MODE, on_set_camera_mode)
|
103
mods/sm74/course.lua
Normal file
103
mods/sm74/course.lua
Normal file
|
@ -0,0 +1,103 @@
|
|||
sCourseNamesEE = false
|
||||
|
||||
function course_names_swap_sm74()
|
||||
if not sCourseNamesEE then return end
|
||||
smlua_text_utils_course_acts_replace(COURSE_BOB, " 1 DICE-FORTRESS", "WALLJUMPING LESSON", "CONQUER THE PILLARS", "THE OBSERVATION TOWER", "COLLECT 8 RED COINS", "SECRETS OF THE SKY", "THE BOX'S TREASURE")
|
||||
smlua_text_utils_course_acts_replace(COURSE_WF, " 2 SKYWARD SLOPES", "TO THE TOP OF THE TOWER", "8 DANGEROUS RED COINS", "THE OUTER WALL", "NO TIME TO WASTE", "FLOATATION TECHNOLOGY BOX", "MASTER OF JUMPING")
|
||||
smlua_text_utils_course_acts_replace(COURSE_JRB, " 3 AZURE-ABYSS", "THE DEEPEST DIVE", "CAVE EXPLORATION", "PRECISION PILLARS", "RED TREASURE HUNT", "HEAVY METAL REQUIRED", "WALL OF FAILURE?")
|
||||
smlua_text_utils_course_acts_replace(COURSE_CCM, " 4 SYSTEM OF A TOWN", "ROOFTOP CLIMBING", "INTO THE SEWER SYSTEM", "THE SECONDARY HOUSE ENTRANCE", "FIND THE SECRET ROOM", "THE VILLAGE'S RED COINS", "THE MANSION'S SECRET STAR")
|
||||
smlua_text_utils_course_acts_replace(COURSE_BBH, " 5 HAUNTED FACTORY", "EXPLORE THE FACTORY", "TOXIC RIDE", "WATCH YOUR STEP", "BLOCKS OF DOOM", "8 SPOOKY RED COINS", "THE HIDDEN ROOM")
|
||||
smlua_text_utils_course_acts_replace(COURSE_HMC, " 6 STALAGMITE CAVE", "DOWNWARDS", "BURNING-HOT TUNNEL", "RED COINS IN THE CAVERN", "HOT OBSTACLE COURSE", "CHUCKYA'S CHALLENGE", "CAP-COMBINATION")
|
||||
smlua_text_utils_course_acts_replace(COURSE_LLL, " 7 ICE CRYSTAL-TOWER", "REMATCH WITH KING WHOMP", "SCALDING WATERS", "ALMOST TO THE TOP", "FROZEN RED COINS", "HOW HIGH CAN YOU GO?", "DOWN-LOW SECRET STAR")
|
||||
smlua_text_utils_course_acts_replace(COURSE_SSL, " 8 OVERHEATING OASIS", "UNDER CONSTRUCTION", "HIDDEN INSIDE THE LABYRINTH", "THE PYRAMIDS OF TUTANPOKEY", "THUNDER MOUNTAIN", "8 HOT RED COINS", "THE PHARAOH'S SANDY SECRET")
|
||||
smlua_text_utils_course_acts_replace(COURSE_DDD, " 9 FLOWERY GARDENS", "KING BOB-OMB'S REVENGE", "RED COINS IN THE GARDENS", "VAST WOODEN STRUCTURE", "LUMBERJACK JUMPING", "THE WINDMILL'S STAR", "A HIDDEN CAVE")
|
||||
smlua_text_utils_course_acts_replace(COURSE_SL, "10 SWAMPY SPRING", "KOOPA THE CHEATER", "GROUNDED RED COINS", "THE TOWER OF POWER", "THE OTHER POWER-TOWER", "FEARFUL FAILURE BLOCKS", "A CLIFF'S HIDDEN STAR")
|
||||
smlua_text_utils_course_acts_replace(COURSE_WDW, "11 SUNNY BEACH", "MYSTERY OF THE SAPPHIRES", "GOLDEN GLIMMER", "THING WITH SPIKES", "TREASURE HUNT", "SHINY OBJECT", "STARLIGHT")
|
||||
smlua_text_utils_course_acts_replace(COURSE_TTM, "12 CLIFF OF WRATH", "KING BOO'S INVASION", "TRICKY PILLARS", "RED COIN QUEST", "WALLJUMPING MADNESS", "PROBLEMATIC BOX", "LOOK OUT")
|
||||
smlua_text_utils_course_acts_replace(COURSE_THI, "13 MOLTEN TREASURE CHEST", "HIGH IN THE SKY", "RED COIN FLIGHT", "INSIDE A CAVE", "THE MOUNTAIN PEAKS", "HOT AND SPICY", "ACROBATIC FLYER")
|
||||
smlua_text_utils_course_acts_replace(COURSE_TTC, "14 LUMINIUM-SPHERE", "TOWER OF THE WEST", "JUMPING MAESTRO", "BOTTOMLESS FORTRESS", "BEHIND THE WALL", "TREASURE-TOWER", "RED FRUSTRATION")
|
||||
smlua_text_utils_course_acts_replace(COURSE_RR, "15 OMBRU-SPHERE", "THE SAME PLACE AGAIN?", "TINY TOWER", "THE HIGH BUILDING", "INTENSE CHALLENGE", "FLIGHT FOR SIGHT", "MORE RED FRUSTRATION")
|
||||
|
||||
smlua_text_utils_secret_star_replace(COURSE_BITDW, " BOWSER'S BADLANDS-BATTLEFIELD")
|
||||
smlua_text_utils_secret_star_replace(COURSE_BITFS, " BOWSER'S AQUATIC CASTLE")
|
||||
smlua_text_utils_secret_star_replace(COURSE_BITS, " BOWSER'S CRYSTAL PALACE")
|
||||
smlua_text_utils_secret_star_replace(COURSE_PSS, " FROZEN SLIDE")
|
||||
smlua_text_utils_secret_star_replace(COURSE_COTMC, " TOXIC-SWITCH OF DANGER")
|
||||
smlua_text_utils_secret_star_replace(COURSE_TOTWC, " LAVA-SWITCH OF ERUPTION")
|
||||
smlua_text_utils_secret_star_replace(COURSE_VCUTM, " DUST-SWITCH OF IDENTITY")
|
||||
smlua_text_utils_secret_star_replace(COURSE_WMOTR, " TOWER OF THE EAST")
|
||||
smlua_text_utils_secret_star_replace(COURSE_SA, " CHAMPION'S CHALLENGE")
|
||||
smlua_text_utils_secret_star_replace(COURSE_CAKE_END, "")
|
||||
|
||||
smlua_text_utils_castle_secret_stars_replace(" BONUS STARS")
|
||||
smlua_text_utils_extra_text_replace(0, "YOU GOT A BONUS STAR!")
|
||||
smlua_text_utils_extra_text_replace(1, "")
|
||||
smlua_text_utils_extra_text_replace(2, "")
|
||||
smlua_text_utils_extra_text_replace(3, "")
|
||||
smlua_text_utils_extra_text_replace(4, "")
|
||||
smlua_text_utils_extra_text_replace(5, "")
|
||||
smlua_text_utils_extra_text_replace(6, "")
|
||||
end
|
||||
|
||||
function course_names_swap_sm74ee()
|
||||
if sCourseNamesEE then return end
|
||||
smlua_text_utils_course_acts_replace(COURSE_BOB, " 1 DEVIL'S DICE", "LITTLE WARM-UP", "LET'S-A-GO!", "SCALE THE TOWER", "FUNDAMENTAL TUNNEL PROBLEMS", "FIRST RED KATASTROPHE", "YOU WON'T FIND ME!")
|
||||
smlua_text_utils_course_acts_replace(COURSE_WF, " 2 VIRUSVINE VERANDA", "THE VINE'S TREASURE", "TIME PRESSURE TRAVEL", "ON TOP OF THAT WALL!", "JUMPING-PARCOUR 1", "JUMPING-PARCOUR 2", "LIGHT RED COINS")
|
||||
smlua_text_utils_course_acts_replace(COURSE_JRB, " 3 DEEPRED DEPTHS", "THE UPPER END OF THE CRATER", "SMALL PILLAR TRAINING", "HOT STEP STONES", "DEEP WITHIN THE VOLCANO", "ARTISTIC COIN SEARCH", "PAINFUL EXPERIENCE")
|
||||
smlua_text_utils_course_acts_replace(COURSE_CCM, " 4 SYSTEM OF A DOWNTOWN", "GHOST ODYSSEE", "GUARDIAN OF THE VILLAGE", "EXPANDED SECRET ROOM", "DEATH PIT", "SO CLOSE AND YET SO FAR AWAY", "HIDDEN COWARD")
|
||||
smlua_text_utils_course_acts_replace(COURSE_BBH, " 5 DROWNED FACTORY", "PEARL DIVER", "THE TUNNEL LABYRINTH PART 1", "THE TUNNEL LABYRINTH PART 2", "THE TUNNEL LABYRINTH PART 3", "THE TUNNEL LABYRINTH PART 4", "THE TUNNEL LABYRINTH PART 5")
|
||||
smlua_text_utils_course_acts_replace(COURSE_HMC, " 6 INFERNOPIT CAVE", "DEEP WITHIN THE CALDRON", "BALLS OF STEEL AND FIRE", "BLUE CONTRAST BLOCKS", "SIDE CALDRON SHENANIGANS", "DANCE WITH THE HEAVE-HOS", "RED SIN")
|
||||
smlua_text_utils_course_acts_replace(COURSE_LLL, " 7 MELTING ICECRYSTAL-TOWER", "BRICK BATTLE", "FLOATATION IN BLOCK FORM", "SOUL OF A CLIMBER", "BLOOR-RED FINANCES", "ANNOYING SEARCH", "UNJUSTIFIABLE SEARCH")
|
||||
smlua_text_utils_course_acts_replace(COURSE_SSL, " 8 OVERGROWN OASIS", "STILL UNDER CONSTRUCTION", "FLOOD LANDING STAGE", "NOT SO SECRET SECRET ANYMORE", "DOUBTFUL PYRAMID", "HIDDEN HERMIT", "YOU SHALL DROWN!")
|
||||
smlua_text_utils_course_acts_replace(COURSE_DDD, " 9 FIREFLOWER FIELDS", "ANOTHER REMATCH WITH KING BOB-OMB", "WINDY MILL", "WAY TOO EASY COINS", "THE UNSTABLE WOODEN CONSTRUCTION", "NOT SO SECRET CAVERN", "BARK BEETLE JUMPS")
|
||||
smlua_text_utils_course_acts_replace(COURSE_SL, "10 BREEZING BEACH", "SECRET OF THE SMARAGDS", "HOT POLE-DANCE", "SOMEWHERE IN THE NOWHERE", "NOWHERE IN THE SOMEWHERE", "COLD TOMB", "HEMOGLOBIN-COINS")
|
||||
smlua_text_utils_course_acts_replace(COURSE_WDW, "11 DRIED-OUT DEAD DESERT", "BURNING FEET", "AIRY STORED COINS", "THE OLD HIDEOUT", "GRAVE DIGGER", "CEMETARY ARTISTICS", "THE SAND PLATEAU'S TORTURE")
|
||||
smlua_text_utils_course_acts_replace(COURSE_TTM, "12 CLIFF OF PAIN", "MOVE YOUR BUTT UP THERE!", "WAY TOO HIGH", "ANOTHER PROBLEMATIC BOX", "HEAVE-HO CAVE", "YOU-CAN-GUESS-WHICH COINS", "BRAZENLY PLACED")
|
||||
smlua_text_utils_course_acts_replace(COURSE_THI, "13 ACID PEAKS", "WELCOME TO THE ACID SWAMP", "EYE TO EYE", "ACIDPROOF BOXES", "IN THE BIG CAVE", "ANOTHER CLIMBING CHALLENGE", "LAVA-COLORED GLITTER")
|
||||
smlua_text_utils_course_acts_replace(COURSE_TTC, "14 VENENO SPHERE", "THE SAME PLACE IN A WORSE WORLD", "THROUGH THE HEART OF THE WORLD", "THE EDGE OF THE WORLD", "THE ROOF OF THE WORLD", "WORLDWIDE PAIN", "BLOODRED COINS OF RUINATION")
|
||||
smlua_text_utils_course_acts_replace(COURSE_RR, "15 CRUDELO SPHERE", "THE NIGHTMARE BEGINS", "JUST GO CRAZY", "STRAIGHT FROM HELL", "TRAUMATISING EXPERIENCE", "MORBID DEADLY PUZZLE", "BLOODY SCREAM OF RAGE")
|
||||
|
||||
smlua_text_utils_secret_star_replace(15, " BOWSER'S BEAUTIFUL BACKYARD")
|
||||
smlua_text_utils_secret_star_replace(16, " BOWSER'S QUICKSAND PIT")
|
||||
smlua_text_utils_secret_star_replace(17, " ZTAR ZANCTUARY")
|
||||
smlua_text_utils_secret_star_replace(18, " OLD SUPPLY SLIDE")
|
||||
smlua_text_utils_secret_star_replace(19, " TOXIC TERRACE")
|
||||
smlua_text_utils_secret_star_replace(20, " DEVIL'S PIT")
|
||||
smlua_text_utils_secret_star_replace(21, " DUST DESTINATION")
|
||||
smlua_text_utils_secret_star_replace(22, " LAKE OF THE LORDS")
|
||||
smlua_text_utils_secret_star_replace(23, " TRIARC-BRIDGE")
|
||||
smlua_text_utils_secret_star_replace(24, "")
|
||||
|
||||
smlua_text_utils_castle_secret_stars_replace(" BONUSSTARS")
|
||||
smlua_text_utils_extra_text_replace(0, "BONUS STAR")
|
||||
smlua_text_utils_extra_text_replace(1, "")
|
||||
smlua_text_utils_extra_text_replace(2, "")
|
||||
smlua_text_utils_extra_text_replace(3, "")
|
||||
smlua_text_utils_extra_text_replace(4, "")
|
||||
smlua_text_utils_extra_text_replace(5, "")
|
||||
smlua_text_utils_extra_text_replace(6, "")
|
||||
end
|
||||
|
||||
----------
|
||||
-- main --
|
||||
----------
|
||||
|
||||
function course_names_swap()
|
||||
local areaIndex = gNetworkPlayers[0].currAreaIndex
|
||||
if areaIndex == 1 then
|
||||
course_names_swap_sm74()
|
||||
sCourseNamesEE = false
|
||||
else
|
||||
course_names_swap_sm74ee()
|
||||
sCourseNamesEE = true
|
||||
end
|
||||
end
|
||||
|
||||
-----------
|
||||
-- setup --
|
||||
-----------
|
||||
|
||||
-- do initial swap to sm74
|
||||
sCourseNamesEE = true
|
||||
course_names_swap_sm74()
|
||||
sCourseNamesEE = false
|
2902
mods/sm74/dialog.lua
Normal file
2902
mods/sm74/dialog.lua
Normal file
File diff suppressed because it is too large
Load diff
BIN
mods/sm74/levels/level_bbh_entry.lvl
Normal file
BIN
mods/sm74/levels/level_bbh_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_bitdw_entry.lvl
Normal file
BIN
mods/sm74/levels/level_bitdw_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_bitfs_entry.lvl
Normal file
BIN
mods/sm74/levels/level_bitfs_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_bits_entry.lvl
Normal file
BIN
mods/sm74/levels/level_bits_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_bob_entry.lvl
Normal file
BIN
mods/sm74/levels/level_bob_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_bowser_1_entry.lvl
Normal file
BIN
mods/sm74/levels/level_bowser_1_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_bowser_2_entry.lvl
Normal file
BIN
mods/sm74/levels/level_bowser_2_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_bowser_3_entry.lvl
Normal file
BIN
mods/sm74/levels/level_bowser_3_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_castle_courtyard_entry.lvl
Normal file
BIN
mods/sm74/levels/level_castle_courtyard_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_castle_grounds_entry.lvl
Normal file
BIN
mods/sm74/levels/level_castle_grounds_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_castle_inside_entry.lvl
Normal file
BIN
mods/sm74/levels/level_castle_inside_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_ccm_entry.lvl
Normal file
BIN
mods/sm74/levels/level_ccm_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_cotmc_entry.lvl
Normal file
BIN
mods/sm74/levels/level_cotmc_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_ddd_entry.lvl
Normal file
BIN
mods/sm74/levels/level_ddd_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_hmc_entry.lvl
Normal file
BIN
mods/sm74/levels/level_hmc_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_jrb_entry.lvl
Normal file
BIN
mods/sm74/levels/level_jrb_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_lll_entry.lvl
Normal file
BIN
mods/sm74/levels/level_lll_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_pss_entry.lvl
Normal file
BIN
mods/sm74/levels/level_pss_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_rr_entry.lvl
Normal file
BIN
mods/sm74/levels/level_rr_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_sa_entry.lvl
Normal file
BIN
mods/sm74/levels/level_sa_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_sl_entry.lvl
Normal file
BIN
mods/sm74/levels/level_sl_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_ssl_entry.lvl
Normal file
BIN
mods/sm74/levels/level_ssl_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_thi_entry.lvl
Normal file
BIN
mods/sm74/levels/level_thi_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_totwc_entry.lvl
Normal file
BIN
mods/sm74/levels/level_totwc_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_ttc_entry.lvl
Normal file
BIN
mods/sm74/levels/level_ttc_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_ttm_entry.lvl
Normal file
BIN
mods/sm74/levels/level_ttm_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_vcutm_entry.lvl
Normal file
BIN
mods/sm74/levels/level_vcutm_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_wdw_entry.lvl
Normal file
BIN
mods/sm74/levels/level_wdw_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_wf_entry.lvl
Normal file
BIN
mods/sm74/levels/level_wf_entry.lvl
Normal file
Binary file not shown.
BIN
mods/sm74/levels/level_wmotr_entry.lvl
Normal file
BIN
mods/sm74/levels/level_wmotr_entry.lvl
Normal file
Binary file not shown.
131
mods/sm74/main.lua
Normal file
131
mods/sm74/main.lua
Normal file
|
@ -0,0 +1,131 @@
|
|||
-- name: Super Mario 74 (+EE)
|
||||
-- description: This is two romhacks in one.\n\nSuper Mario 74 and Super Mario 74 Extreme Edition.\n\nThere are 60 custom levels, with a total of 308 stars.\n\nUse the chat command '/swap' to swap between EE and normal.\n\nCreated by Lugmillord\n\nPorted to PC by PeachyPeach and jesusyoshi54\n\nPorted to coop by djoslin0
|
||||
-- incompatible: romhack
|
||||
|
||||
------------------
|
||||
-- level values --
|
||||
------------------
|
||||
|
||||
gLevelValues.entryLevel = LEVEL_CASTLE_COURTYARD
|
||||
gLevelValues.exitCastleLevel = LEVEL_CASTLE_COURTYARD
|
||||
gLevelValues.exitCastleWarpNode = 0x40
|
||||
|
||||
---------------------
|
||||
-- behavior values --
|
||||
---------------------
|
||||
|
||||
gBehaviorValues.KoopaBobAgility = 6.0
|
||||
gBehaviorValues.KoopaThiAgility = 6.0
|
||||
gBehaviorValues.trajectories.KoopaBobTrajectory = get_trajectory('KoopaTHI_path')
|
||||
gBehaviorValues.trajectories.KoopaThiTrajectory = get_trajectory('KoopaTHI_path_EE')
|
||||
|
||||
gBehaviorValues.dialogs.KoopaQuickBobStartDialog = DIALOG_009
|
||||
gBehaviorValues.dialogs.KoopaQuickThiStartDialog = DIALOG_009
|
||||
gBehaviorValues.dialogs.KoopaQuickBobWinDialog = DIALOG_031
|
||||
gBehaviorValues.dialogs.KoopaQuickThiWinDialog = DIALOG_031
|
||||
|
||||
--------------
|
||||
-- movtexs --
|
||||
--------------
|
||||
|
||||
movtexqc_register('bbh_2_Movtex_0', 0 + 4, 2, 0)
|
||||
movtexqc_register('ccm_1_Movtex_0', 1 + 4, 1, 0)
|
||||
movtexqc_register('hmc_1_Movtex_0', 3 + 4, 1, 0)
|
||||
movtexqc_register('ssl_1_Movtex_0', 4 + 4, 1, 0)
|
||||
movtexqc_register('ssl_2_Movtex_0', 4 + 4, 2, 0)
|
||||
movtexqc_register('bob_1_Movtex_0', 5 + 4, 1, 0)
|
||||
movtexqc_register('sl_1_Movtex_0', 6 + 4, 1, 0)
|
||||
movtexqc_register('sl_2_Movtex_0', 6 + 4, 2, 0)
|
||||
movtexqc_register('wdw_1_Movtex_0', 7 + 4, 1, 0)
|
||||
movtexqc_register('jrb_1_Movtex_0', 8 + 4, 1, 0)
|
||||
movtexqc_register('bitfs_1_Movtex_0', 15 + 4, 1, 0)
|
||||
movtexqc_register('ddd_1_Movtex_0', 19 + 4, 1, 0)
|
||||
movtexqc_register('castle_courtyard_1_Movtex_0', 22 + 4, 1, 0)
|
||||
movtexqc_register('cotmc_1_Movtex_0', 24 + 4, 1, 0)
|
||||
movtexqc_register('wmotr_2_Movtex_0', 27 + 4, 2, 0)
|
||||
|
||||
-----------
|
||||
-- music --
|
||||
-----------
|
||||
|
||||
smlua_audio_utils_replace_sequence(0x02, 0x11, 80, "02_Seq_sm74_custom")
|
||||
smlua_audio_utils_replace_sequence(0x03, 0x1E, 75, "03_Seq_sm74_custom")
|
||||
smlua_audio_utils_replace_sequence(0x04, 0x25, 70, "04_Seq_sm74_custom")
|
||||
smlua_audio_utils_replace_sequence(0x05, 0x13, 75, "05_Seq_sm74_custom")
|
||||
smlua_audio_utils_replace_sequence(0x06, 0x0F, 75, "06_Seq_sm74_custom")
|
||||
smlua_audio_utils_replace_sequence(0x08, 0x0B, 70, "08_Seq_sm74_custom")
|
||||
smlua_audio_utils_replace_sequence(0x09, 0x0D, 65, "09_Seq_sm74_custom")
|
||||
smlua_audio_utils_replace_sequence(0x0B, 0x25, 65, "0B_Seq_sm74_custom")
|
||||
smlua_audio_utils_replace_sequence(0x0C, 0x15, 85, "0C_Seq_sm74_custom")
|
||||
smlua_audio_utils_replace_sequence(0x11, 0x19, 70, "11_Seq_sm74_custom")
|
||||
smlua_audio_utils_replace_sequence(0x13, 0x25, 65, "13_Seq_sm74_custom")
|
||||
smlua_audio_utils_replace_sequence(0x18, 0x1C, 75, "18_Seq_sm74_custom")
|
||||
smlua_audio_utils_replace_sequence(0x1E, 0x11, 75, "1E_Seq_sm74_custom")
|
||||
smlua_audio_utils_replace_sequence(0x21, 0x25, 75, "21_Seq_sm74_custom")
|
||||
smlua_audio_utils_replace_sequence(0x22, 0x25, 80, "22_Seq_sm74_custom")
|
||||
smlua_audio_utils_replace_sequence(0x23, 0x25, 80, "23_Seq_sm74EE_custom")
|
||||
smlua_audio_utils_replace_sequence(0x24, 0x24, 70, "24_Seq_sm74EE_custom")
|
||||
smlua_audio_utils_replace_sequence(0x25, 0x25, 85, "25_Seq_sm74EE_custom")
|
||||
smlua_audio_utils_replace_sequence(0x26, 0x13, 75, "26_Seq_sm74EE_custom")
|
||||
smlua_audio_utils_replace_sequence(0x27, 0x11, 75, "27_Seq_sm74EE_custom")
|
||||
smlua_audio_utils_replace_sequence(0x28, 0x25, 85, "28_Seq_sm74EE_custom")
|
||||
smlua_audio_utils_replace_sequence(0x29, 0x23, 70, "29_Seq_sm74EE_custom")
|
||||
smlua_audio_utils_replace_sequence(0x2A, 0x21, 80, "2A_Seq_sm74EE_custom")
|
||||
smlua_audio_utils_replace_sequence(0x2B, 0x25, 80, "2B_Seq_sm74EE_custom")
|
||||
smlua_audio_utils_replace_sequence(0x2C, 0x25, 70, "2C_Seq_sm74EE_custom")
|
||||
smlua_audio_utils_replace_sequence(0x2D, 0x0E, 75, "2D_Seq_sm74EE_custom")
|
||||
smlua_audio_utils_replace_sequence(0x2E, 0x18, 80, "2E_Seq_sm74EE_custom")
|
||||
smlua_audio_utils_replace_sequence(0x2F, 0x1D, 70, "2F_Seq_sm74EE_custom")
|
||||
smlua_audio_utils_replace_sequence(0x30, 0x23, 65, "30_Seq_sm74EE_custom")
|
||||
smlua_audio_utils_replace_sequence(0x31, 0x11, 80, "31_Seq_sm74EE_custom")
|
||||
|
||||
------------
|
||||
-- camera --
|
||||
------------
|
||||
camera_set_use_course_specific_settings(false)
|
||||
|
||||
----------------------------------
|
||||
|
||||
function mario_update_local(m)
|
||||
override_camera()
|
||||
end
|
||||
|
||||
function mario_update(m)
|
||||
if m.playerIndex == 0 then
|
||||
mario_update_local(m)
|
||||
end
|
||||
end
|
||||
|
||||
function on_level_init()
|
||||
local m = gMarioStates[0]
|
||||
local np = gNetworkPlayers[0]
|
||||
|
||||
save_file_set_using_backup_slot(np.currAreaIndex ~= 1)
|
||||
gMarioStates[0].numStars = save_file_get_total_star_count(get_current_save_file_num()-1,COURSE_MIN-1,COURSE_MAX-1)
|
||||
gLevelValues.exitCastleArea = gNetworkPlayers[0].currAreaIndex
|
||||
|
||||
star_areas_replace()
|
||||
course_names_swap()
|
||||
dialog_swap()
|
||||
|
||||
end
|
||||
|
||||
function get_star_collection_dialog()
|
||||
return 0
|
||||
end
|
||||
|
||||
function on_swap_command(msg)
|
||||
local np = gNetworkPlayers[0]
|
||||
if np.currAreaIndex == 1 then
|
||||
djui_chat_message_create('Swapping to Extreme Edition')
|
||||
else
|
||||
djui_chat_message_create('Swapping to normal edition')
|
||||
end
|
||||
warp_to_level(np.currLevelNum, np.currAreaIndex ~ 3, np.currActNum)
|
||||
return true
|
||||
end
|
||||
|
||||
hook_event(HOOK_MARIO_UPDATE, mario_update)
|
||||
hook_event(HOOK_ON_LEVEL_INIT, on_level_init)
|
||||
hook_event(HOOK_GET_STAR_COLLECTION_DIALOG, get_star_collection_dialog)
|
||||
hook_chat_command('swap', "swap between Extreme Edition and normal", on_swap_command)
|
BIN
mods/sm74/sound/02_Seq_sm74_custom.m64
Normal file
BIN
mods/sm74/sound/02_Seq_sm74_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/03_Seq_sm74_custom.m64
Normal file
BIN
mods/sm74/sound/03_Seq_sm74_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/04_Seq_sm74_custom.m64
Normal file
BIN
mods/sm74/sound/04_Seq_sm74_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/05_Seq_sm74_custom.m64
Normal file
BIN
mods/sm74/sound/05_Seq_sm74_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/06_Seq_sm74_custom.m64
Normal file
BIN
mods/sm74/sound/06_Seq_sm74_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/08_Seq_sm74_custom.m64
Normal file
BIN
mods/sm74/sound/08_Seq_sm74_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/09_Seq_sm74_custom.m64
Normal file
BIN
mods/sm74/sound/09_Seq_sm74_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/0B_Seq_sm74_custom.m64
Normal file
BIN
mods/sm74/sound/0B_Seq_sm74_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/0C_Seq_sm74_custom.m64
Normal file
BIN
mods/sm74/sound/0C_Seq_sm74_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/11_Seq_sm74_custom.m64
Normal file
BIN
mods/sm74/sound/11_Seq_sm74_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/13_Seq_sm74_custom.m64
Normal file
BIN
mods/sm74/sound/13_Seq_sm74_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/18_Seq_sm74_custom.m64
Normal file
BIN
mods/sm74/sound/18_Seq_sm74_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/1E_Seq_sm74_custom.m64
Normal file
BIN
mods/sm74/sound/1E_Seq_sm74_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/21_Seq_sm74_custom.m64
Normal file
BIN
mods/sm74/sound/21_Seq_sm74_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/22_Seq_sm74_custom.m64
Normal file
BIN
mods/sm74/sound/22_Seq_sm74_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/23_Seq_sm74EE_custom.m64
Normal file
BIN
mods/sm74/sound/23_Seq_sm74EE_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/24_Seq_sm74EE_custom.m64
Normal file
BIN
mods/sm74/sound/24_Seq_sm74EE_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/25_Seq_sm74EE_custom.m64
Normal file
BIN
mods/sm74/sound/25_Seq_sm74EE_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/26_Seq_sm74EE_custom.m64
Normal file
BIN
mods/sm74/sound/26_Seq_sm74EE_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/27_Seq_sm74EE_custom.m64
Normal file
BIN
mods/sm74/sound/27_Seq_sm74EE_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/28_Seq_sm74EE_custom.m64
Normal file
BIN
mods/sm74/sound/28_Seq_sm74EE_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/29_Seq_sm74EE_custom.m64
Normal file
BIN
mods/sm74/sound/29_Seq_sm74EE_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/2A_Seq_sm74EE_custom.m64
Normal file
BIN
mods/sm74/sound/2A_Seq_sm74EE_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/2B_Seq_sm74EE_custom.m64
Normal file
BIN
mods/sm74/sound/2B_Seq_sm74EE_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/2C_Seq_sm74EE_custom.m64
Normal file
BIN
mods/sm74/sound/2C_Seq_sm74EE_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/2D_Seq_sm74EE_custom.m64
Normal file
BIN
mods/sm74/sound/2D_Seq_sm74EE_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/2E_Seq_sm74EE_custom.m64
Normal file
BIN
mods/sm74/sound/2E_Seq_sm74EE_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/2F_Seq_sm74EE_custom.m64
Normal file
BIN
mods/sm74/sound/2F_Seq_sm74EE_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/30_Seq_sm74EE_custom.m64
Normal file
BIN
mods/sm74/sound/30_Seq_sm74EE_custom.m64
Normal file
Binary file not shown.
BIN
mods/sm74/sound/31_Seq_sm74EE_custom.m64
Normal file
BIN
mods/sm74/sound/31_Seq_sm74EE_custom.m64
Normal file
Binary file not shown.
43
mods/sm74/stars.lua
Normal file
43
mods/sm74/stars.lua
Normal file
|
@ -0,0 +1,43 @@
|
|||
|
||||
-------------------
|
||||
-- replace stars --
|
||||
-------------------
|
||||
|
||||
starPositions = gLevelValues.starPositions
|
||||
|
||||
vec3f_set(starPositions.KoopaBobStarPos, 1174.0, 0.0, 4091.0)
|
||||
vec3f_set(starPositions.KoopaThiStarPos, 1107.0, 189.0, -4781.0)
|
||||
vec3f_set(starPositions.EyerockStarPos, 0.0, -900.0, -3700.0)
|
||||
vec3f_set(starPositions.BigBullyStarPos, 3700.0, 600.0, -5500.0)
|
||||
vec3f_set(starPositions.ChillBullyStarPos, 130.0, 1600.0, -4335.0)
|
||||
vec3f_set(starPositions.BigPiranhasStarPos, -6300.0, -1850.0, -6300.0)
|
||||
vec3f_set(starPositions.TuxieMotherStarPos, 3167.0, -4300.0, 5108.0)
|
||||
vec3f_set(starPositions.WigglerStarPos, 0.0, 2048.0, 0.0)
|
||||
vec3f_set(starPositions.PssSlideStarPos, -6358.0, -4300.0, 4700.0)
|
||||
vec3f_set(starPositions.RacingPenguinStarPos, -7339.0, -5700.0, -6774.0)
|
||||
vec3f_set(starPositions.TreasureJrbStarPos, 1800.0, 2500.0, 1700.0)
|
||||
vec3f_set(starPositions.TreasureChestStarPos, -1900.0, -4000.0, -1400.0)
|
||||
vec3f_set(starPositions.GhostHuntBooStarPos, 980.0, 1100.0, 250.0)
|
||||
vec3f_set(starPositions.KleptoStarPos, -5550.0, 300.0, -930.0)
|
||||
vec3f_set(starPositions.MerryGoRoundStarPos, -1600.0, -2100.0, 205.0)
|
||||
vec3f_set(starPositions.MrIStarPos, 1370.0, 2000.0, -320.0)
|
||||
vec3f_set(starPositions.BigBullyTrioStarPos, 5226.0, -104.0, -4841.0)
|
||||
vec3f_set(starPositions.MantaRayStarPos, -3180.0, -3600.0, 120.0)
|
||||
vec3f_set(starPositions.SnowmanHeadStarPos, -4700.0, -1024.0, 1890.0)
|
||||
vec3f_set(starPositions.CcmSlideStarPos, 2500.0, -4350.0, 5750.0)
|
||||
vec3f_set(starPositions.UkikiCageStarPos, 2500.0, -1200.0, 1300.0)
|
||||
vec3f_set(starPositions.UnagiStarPos, 6833.0, -3654.0, 2230.0)
|
||||
vec3f_set(starPositions.JetstreamRingStarPos, 3400.0, -3200.0, -500.0)
|
||||
|
||||
function star_areas_replace()
|
||||
local areaIndex = gNetworkPlayers[0].currAreaIndex
|
||||
if areaIndex == 1 then
|
||||
vec3f_set(starPositions.BalconyBooStarPos, 139.0, 2986.0, -622.0)
|
||||
vec3f_set(starPositions.KingBobombStarPos, 4423.0, 150.0, 5607.0)
|
||||
vec3f_set(starPositions.KingWhompStarPos, -313.0, 150.0, -4525.0)
|
||||
else
|
||||
vec3f_set(starPositions.BalconyBooStarPos, 1352.0, 636.0, -4037.0)
|
||||
vec3f_set(starPositions.KingBobombStarPos, -4635.0, 750.0, 5108.0)
|
||||
vec3f_set(starPositions.KingWhompStarPos, 427.0, 850.0, -4499.0)
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue