Added SM74 (created by Lugmillord)

This commit is contained in:
MysterD 2022-04-15 18:28:10 -07:00
parent 0a0d9d3aa5
commit 0178d3319c
75 changed files with 3275 additions and 0 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View 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
View 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
View 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

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

131
mods/sm74/main.lua Normal file
View 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)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

43
mods/sm74/stars.lua Normal file
View 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