Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create docs for super mario galaxy #10

Closed
wants to merge 115 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
029f2eb
galaxy basic files and GE locations
Joethepic Jul 2, 2022
9cbe62d
Merge branch 'main' into galaxy
Joethepic Jul 2, 2022
f5d9de1
add honeyhive and some items
Joethepic Jul 2, 2022
a374f77
Merge branch 'main' into galaxy
Joethepic Jul 3, 2022
3b9b00d
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Jul 3, 2022
1e0067e
finish terrace locations
Joethepic Jul 3, 2022
5398a99
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Jul 5, 2022
63b47f7
fountain locations changes
Joethepic Jul 5, 2022
6de6fc2
add int.py
Joethepic Jul 5, 2022
8548d3b
Merge branch 'main' into galaxy
Joethepic Jul 6, 2022
143741a
finish foutain locations
Joethepic Jul 6, 2022
05240e6
Update locations.py
Bokyubi Jul 6, 2022
1350b57
add missing locations
Joethepic Jul 6, 2022
010ea91
finish location data
Joethepic Jul 6, 2022
31d716c
finish items.py
Joethepic Jul 6, 2022
815eca5
add to int.py and some fixes
Joethepic Jul 6, 2022
32733f9
Merge branch 'main' into galaxy
Joethepic Jul 6, 2022
bd7e89f
add/start rules.py and regions.py
Joethepic Jul 6, 2022
65b92bd
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Jul 6, 2022
450aa1a
fixes check failing (hopefully)
Joethepic Jul 6, 2022
63b8b51
update int.py and actually fix failed check
Joethepic Jul 6, 2022
4ae5cc7
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Jul 7, 2022
a653205
making new regions
Joethepic Jul 7, 2022
6b4d51b
Merge branch 'main' into galaxy
Joethepic Jul 8, 2022
c8cfd7e
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Jul 10, 2022
777ae75
Fininish regions.py and add the last locations
Joethepic Jul 10, 2022
26592c9
add logic for main stages
Joethepic Jul 10, 2022
00f8804
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Jul 10, 2022
e35b28d
Merge branch 'main' into galaxy
Joethepic Jul 11, 2022
a1689f8
remove comets
Joethepic Jul 11, 2022
8df51ba
finsh special stages logic
Joethepic Jul 11, 2022
5071f0f
adds hungry luma logic
Joethepic Jul 11, 2022
a2360f2
7-11 updates
Joethepic Jul 12, 2022
eedd0da
finish logic
Joethepic Jul 12, 2022
de74d79
adds to int_py and revise other things
Joethepic Jul 13, 2022
060a747
making steps towards generating
Joethepic Jul 14, 2022
dec5c03
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Jul 14, 2022
a740709
Merge branch 'main' into galaxy
Joethepic Jul 17, 2022
e2a37c5
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Jul 18, 2022
9e48190
Merge branch 'main' into galaxy
Joethepic Jul 21, 2022
5215497
7-20 changes
Joethepic Jul 21, 2022
b6a0a2b
Merge branch 'main' into galaxy
Joethepic Jul 21, 2022
8bfec2e
error fixiing
Joethepic Jul 23, 2022
10ed870
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Jul 23, 2022
41dbe27
7-23 changes
Joethepic Jul 23, 2022
5b39ccd
7-25 updates
Joethepic Jul 25, 2022
88eb6da
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Jul 25, 2022
e734178
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Jul 28, 2022
77a579c
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Jul 29, 2022
6920087
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Jul 31, 2022
172c431
Merge branch 'main' into galaxy
Joethepic Aug 9, 2022
0f71749
Merge branch 'main' into galaxy
Joethepic Aug 11, 2022
9eb5354
trying to gen a game :(
Joethepic Aug 11, 2022
e68471a
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Aug 16, 2022
0acc83d
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Sep 3, 2022
8b4caab
Game was reconized!
Joethepic Sep 3, 2022
4744f08
Update README.md
Joethepic Sep 3, 2022
120b0bd
Add files via upload
Joethepic Sep 3, 2022
39a306a
moving folder 1
Joethepic Sep 3, 2022
4aee767
moving folder 2
Joethepic Sep 3, 2022
ee47efc
moving folder 3
Joethepic Sep 3, 2022
d6f5fc0
moving folder 5
Joethepic Sep 3, 2022
beed48b
moving folder 6
Joethepic Sep 3, 2022
a1777a6
Delete regions.py
Joethepic Sep 3, 2022
b981d3f
folder move 7
Joethepic Sep 3, 2022
9cbe4cd
fixing generation error 2
Joethepic Sep 4, 2022
e04bad4
basic patching files
Joethepic Sep 5, 2022
4f6da75
undo patch change
Joethepic Sep 5, 2022
ab116e4
generation error fixes 3
Joethepic Sep 5, 2022
7181b0c
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Sep 10, 2022
06ee4e1
fixing generation fails 3(i think)
Joethepic Sep 17, 2022
11e5883
fixing unit tests 1
Joethepic Sep 19, 2022
13a6faf
fixing unit tests 2
Joethepic Sep 19, 2022
e99698c
fixing mispell
Joethepic Sep 19, 2022
f612e9b
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Sep 20, 2022
19bebf6
add game to readme
Joethepic Sep 23, 2022
d73c538
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Sep 25, 2022
9bf8be1
Merge branch 'main' into galaxy
Joethepic Oct 4, 2022
6e09f54
change ids
Joethepic Oct 7, 2022
8cf2381
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Oct 7, 2022
3b9208b
10-7 updates part 2
Joethepic Oct 8, 2022
7a5a330
10-8 updates
Joethepic Oct 8, 2022
78e3f80
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Oct 9, 2022
b39066d
Add files via upload
Joethepic Oct 9, 2022
2759372
10-8 changes 2
Joethepic Oct 9, 2022
abc4e83
generation error fixes 5
Joethepic Oct 9, 2022
ea58e96
remove extra import
Joethepic Oct 12, 2022
350566b
Merge branch 'main' into galaxy
Joethepic Oct 22, 2022
681c234
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Oct 26, 2022
35db2dc
make purple coin star choice
Joethepic Oct 26, 2022
f4d5a32
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Oct 26, 2022
7378961
changes check for enable purple coin stars
Joethepic Oct 26, 2022
5f9c185
comment options.py
Joethepic Oct 26, 2022
e7059ba
comment items.py
Joethepic Oct 26, 2022
74401a0
comment rules.py
Joethepic Oct 26, 2022
bc22664
swap order on if statements and add .value
Joethepic Oct 26, 2022
4ea2951
update order on if statements and add .value 2
Joethepic Oct 26, 2022
cf44c73
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Oct 27, 2022
a256c34
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Oct 28, 2022
8ceed06
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Nov 1, 2022
1353ecf
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Nov 1, 2022
01af828
change world to multiworld
Joethepic Nov 1, 2022
2947672
change world to multiworld
Joethepic Nov 1, 2022
e7c93ff
add multiworld to variables 1
Joethepic Nov 2, 2022
ada302f
add multiworld to variables 2
Joethepic Nov 2, 2022
603b4e0
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Nov 5, 2022
fdb0b47
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Nov 10, 2022
ff6cf46
Update .gitignore
Joethepic Nov 10, 2022
4397d3e
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Dec 2, 2022
2b9f71a
fix option calling int.py
Joethepic Dec 2, 2022
9209536
12-3 changes
Joethepic Dec 4, 2022
c17091c
Fix option defination in int.py and
Joethepic Dec 5, 2022
49ca4df
Merge branch 'ArchipelagoMW:main' into galaxy
Joethepic Dec 5, 2022
f403d89
Update README.md
Joethepic Dec 5, 2022
9d2d027
create game info file
Joethepic Dec 5, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
*.apm3
*.apmc
*.apz5
*.apg
*.pyc
*.pyd
*.sfc
Expand All @@ -17,6 +18,7 @@
*.gb
*.gbc
*.gba
*.iso
*.wixobj
*.lck
*.db3
Expand Down
2 changes: 2 additions & 0 deletions Patch.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@


from __future__ import annotations

import os
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ Currently, the following games are supported:
* Hylics 2
* Overcooked! 2
* Zillion
* Super Mario Galaxy


For setup and instructions check out our [tutorials page](https://archipelago.gg/tutorial/).
Downloads can be found at [Releases](https://github.com/ArchipelagoMW/Archipelago/releases), including compiled
Expand Down
26 changes: 26 additions & 0 deletions worlds/smgalaxy/Options.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
from typing import TypedDict
from Options import Choice, Range

# this defines the enable_purple_coin_stars setting
class EnablePurpleCoinStars(Choice):
"""tuning this off we allow purple coin stars to count as checks do note all purple coin stars are postgame only but one."""
display_name = "Enable Purple Coin Stars"
option_main_game_only = 0
option_all = 1
option_none = 2

# this allows players to pick their own star count to finish the game.
class StarstoFinish(Range):
"This will set the number of stars required to reach the center of the universe."
display_name = "Stars_to_finish"
range_start = 25
range_end = 99
default = 60

# this defines all the options.
galaxy_options = {
"enable_purple_coin_stars": EnablePurpleCoinStars,
"Stars_to_finish": StarstoFinish,
}


152 changes: 152 additions & 0 deletions worlds/smgalaxy/Regions.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
import imp
import typing
from .Options import smg_options, EnablePurpleCoinStars
from BaseClasses import Region, Location, RegionType, Entrance, MultiWorld
from .locations import SMGLocation, location_table,locHH_table,locGE_table, \
locSJ_table,locBR_table,locBB_table, \
locGG_table,locFF_table,locDD_table,locDDune_table, \
locGL_table,locSS_table,locTT_table, \
locDN_table,locMM_table, \
locHL_table,locbosses_table,locspecialstages_table


def create_regions(player: int, world: MultiWorld, regions: dict):
#defines the commet obserbatory
regspecialstages = Region("Menu", RegionType.Generic, "Ship", player, world)
locspecialstages_names = [name for name, id in locspecialstages_table.items()]
locspecialstages_names = [name for name, id in locHL_table.items()]
locspecialstages_names = [name for name, id in locbosses_table.items()]
regspecialstages.locations += [SMGLocation(player, loc_name, location_table[loc_name], regspecialstages) for loc_name in locspecialstages_names]
#if world.enable_purple_coin_stars[player] == EnablePurpleCoinStars.option_main_game_only:
# regspecialstages.locations.append(SMGLocation)(player, "GG: Gateway's Purple coins", location_table["GG: Gateway's Purple coins"], regspecialstages)
world.regions.append(regspecialstages)
# defines the good egg galaxy region
regGE = Region("Good Egg", player, world)
locGE_names = [name for name, id in locGE_table.items()]
regGE.locations += [SMGLocation(player, loc_name, location_table[loc_name], regGE) for loc_name in locGE_names]
if world.enable_purple_coin_stars[player].value == 1:
regGE.locations.append(SMGLocation)(player, "GE: Purple Coin Omelet", location_table["GE: Purple Coin Omelet"], regGE)
world.regions.append(regGE)
# defines the honeyhive galaxey region
regHH = Region("Honeyhive", player, world)
locHH_names = [name for name, id in locHH_table.items()]
regHH.locations += [SMGLocation(player, loc_name, location_table[loc_name], regHH) for loc_name in locHH_names]
if world.enable_purple_coin_stars[self.player].value == 1:
regHH.locations.append(SMGLocation)(player, "GE: The Honeyhive's Purple Coins", location_table["HH: The Honeyhive's Purple Coins"], regHH)
world.regions.append(regHH)
# defines the Space Junk galaxy region
regSJ = Region("Space Junk", player, world)
locSJ_names = [name for name, id in locSJ_table.items()]
regSJ.locations += [SMGLocation(player, loc_name, location_table[loc_name], regSJ) for loc_name in locSJ_names]
if world.enable_purple_coin_stars[self.player].value == 1:
regHH.locations.append(SMGLocation)(player, "SJ: Purple Coin Spacewalk", location_table["SJ: Purple Coin Spacewalk"], regSJ)
world.regions.append(regSJ)
# defines the Battlerock galaxy
regBR = Region("Battlerock", player, world)
locBR_names = [name for name, id in locBR_table.items()]
regBR.locations += [SMGLocation(player, loc_name, location_table[loc_name], regBR) for loc_name in locBR_names]
if world.enable_purple_coin_stars[self.player].value == 1:
regBR.locations.append(SMGLocation)(player, "BR: Purple Coins on the Battlerock", location_table["BR: Purple Coins on the Battlerock"], regBR)
world.regions.append(regBR)
# defines the Beach Bowl galaxy
regBB = Region("Beach Bowl", player, world)
locBB_names = [name for name, id in locBB_table.items()]
regBB.locations += [SMGLocation(player, loc_name, location_table[loc_name], regBB) for loc_name in locBB_names]
if world.enable_purple_coin_stars[self.player].value == 1:
regBB.locations.append(SMGLocation)(player, "BB: Beachcombing for Purple Coins", location_table["BB: Beachcombing for Purple Coins"], regBB)
world.regions.append(regBB)
# define Ghostly galaxy
regG = Region("Ghostly", player, world)
locG_names = [name for name, id in locGG_table.items()]
regG.locations += [SMGLocation(player, loc_name, location_table[loc_name], regG) for loc_name in locG_names]
if world.enable_purple_coin_stars[self.player].value == 1:
regG.locations.append(SMGLocation)(player, "G: Purple Coins in the Bone Pen", location_table["G: Purple Coins in the Bone Pen"], regG)
world.regions.append(regG)
# defines the Gusty Gardens galaxy
regGG = Region("Gusty Gardens", player, world)
locGG_names = [name for name, id in locGG_table.items()]
regGG.locations += [SMGLocation(player, loc_name, location_table[loc_name], regGG) for loc_name in locGG_names]
if world.enable_purple_coin_stars[self.player].value == 1:
regGG.locations.append(SMGLocation)(player, "GG: Purple Coins on the Puzzle Cube", location_table["GG: Purple Coins on the Puzzle Cube"], regGG)
world.regions.append(regGG)
# defines Freezeflame galaxy
regFF = Region("Freezeflame", player, world)
locFF_names = [name for name, id in locFF_table.items()]
regFF.locations += [SMGLocation(player, loc_name, location_table[loc_name], regFF) for loc_name in locFF_names]
if world.enable_purple_coin_stars[self.player].value == 1:
regGG.locations.append(SMGLocation)(player, "FF: Purple Coins on the Summit", location_table["FF: Purple Coins on the Summit"], regGG)
world.regions.append(regFF)
# defines DustyDune Galaxy
regDDune = Region("Dusty Dune", player, world)
locDDune_names = [name for name, id in locDDune_table.items()]
regDDune.locations += [SMGLocation(player, loc_name, location_table[loc_name], regDDune) for loc_name in locDDune_names]
if world.enable_purple_coin_stars[self.player].value == 1:
regDDune.locations.append(SMGLocation)(player, "DDune: Purple Coins in the Desert", location_table["DDune: Purple Coin in the Desert"], regDDune)
world.regions.append(regDDune)
# defines golden leaf galaxy
regGL = Region("Gold Leaf", player, world)
locGL_names = [name for name, id in locGL_table.items()]
regGL.locations += [SMGLocation(player, loc_name, location_table[loc_name], regGL) for loc_name in locGL_names]
if world.enable_purple_coin_stars[self.player].value == 1:
regGL.locations.append(SMGLocation)(player, "GL: Purple Coins in the Woods", location_table["GL: Purple Coins in the Woods"], regGL)
world.regions.append(regGL)
# defines the Sea slide galaxy
regSS = Region("Sea Slide", player, world)
locSS_names = [name for name, id in locSS_table.items()]
regSS.locations += [SMGLocation(player, loc_name, location_table[loc_name], regSS) for loc_name in locSS_names]
if world.enable_purple_coin_stars[self.player].value == 1:
regSS.locations.append(SMGLocation)(player, "SS: Purple Coins by the Seaside", location_table["SS: Purple Coins by the Seaside"], regSS)
world.regions.append(regSS)
# defines toy time galaxy
regTT = Region ("Toy Time", player, world)
locTT_names = [name for name, id in locTT_table.items()]
regTT.locations += [SMGLocation(player, loc_name, location_table[loc_name], regTT) for loc_name in locTT_names]
if world.enable_purple_coin_stars[self.player].value == 1:
regSS.locations.append(SMGLocation)(player, "TT: Luigi's Purple Coins", location_table["TT: Luigi's Purple Coins"], regSS)
world.regions.append(regTT)
# defines deep dark galaxy
regDD = Region("Deep Dark", player, world)
locDD_names = [name for name, id in locDD_table.items()]
regDD.locations += [SMGLocation(player, loc_name, location_table[loc_name], regDD) for loc_name in locDD_names]
if world.enable_purple_coin_stars[self.player].value == 1:
regDD.locations.append(SMGLocation)(player, "DD: Plunder the Purple Coins", location_table["DD: Plunder the Purple Coins"], regDD)
world.regions.append(regDD)
# defines Dreadnaught galaxy
regDN = Region("Dreadnaught", player, world)
locDN_names = [name for name, id in locDN_table.items()]
regDN.locations += [SMGLocation (player, loc_name, location_table[loc_name], regDN) for loc_name in locDN_names]
if world.enable_purple_coin_stars[self.player].value == 1:
regDN.locations.append(SMGLocation)(player, "DN: Battlestation's Purple Coins", location_table["DN: Battlestation's Purple Coins"], regDN)
world.regions.append(regDN)
# defines Melty Molten galaxy
regMM = Region("Melty Molten", player, world)
locMM_names = [name for name, id in locMM_table.items()]
regMM.locations += [SMGLocation (player, loc_name, location_table[loc_name], regMM) for loc_name in locMM_names]
if world.enable_purple_coin_stars[self.player].value == 1:
regMM.locations.append(SMGLocation)(player, "MM: Red-Hot Purple Coins", location_table["MM: Red-Hot Purple Coins"], regMM)
world.regions.append(regMM)
#defines the fountain
regFountain = Region("Fountain", player, world)
world.regions.append(regFountain)
#defines the kitchen
regKitchen = Region("Kitchen", player, world)
world.regions.append(regKitchen)
#defines the bedroom
regBedroom = Region("Bedroom", player, world)
world.regions.append(regBedroom)
#defines the Engine Room
regEngineRoom = Region("Engine Room", player, world)
world.regions.append(regEngineRoom)
#defines the garden
regGarden = Region("Garden", player, world)
world.regions.append(regGarden)

def connect_regions(multiworld: MultiWorld, player: int, source: str, target: str, rule):
sourceRegion = multiworld.get_region(source, player)
targetRegion = multiworld.get_region(target, player)

connection = Entrance(player,'', sourceRegion)
connection.access_rule = rule

sourceRegion.exits.append(connection)
connection.connect(targetRegion)
Loading