Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,9 @@ base-hack/assets/vial_spin/f6.png
base-hack/assets/vial_spin/f7.png
base-hack/assets/vial_spin/f8.png
base-hack/assets/vial_spin/*.py
base-hack/asm/minigames/*/main.asm
base-hack/asm/minigames/*/objects.asm
base-hack/modelling/*.obj
*.apworld
/dk64/
*.rgba32
Expand Down
2 changes: 1 addition & 1 deletion archipelago.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"minimum_ap_version": "0.6.5",
"world_version": "1.4.45",
"world_version": "1.4.46",
"authors": ["2dos", "AlmostSeagull", "Ballaam", "Green Bean", "Killklli", "Lrauq", "PoryGone", "Umed"],
"version": 7,
"compatible_version": 7,
Expand Down
26 changes: 13 additions & 13 deletions base-hack/asm/objects.asm
Original file line number Diff line number Diff line change
@@ -1,44 +1,44 @@
.importobj "obj/src_lib_items.o"
.importobj "obj/src_a.o"
.importobj "obj/src_lib.o"
.importobj "obj/src_lib_dropsanity.o"
.importobj "obj/src_main.o"
.importobj "obj/src_f3dex2.o"
.importobj "obj/src_lib.o"
.importobj "obj/src_lib_items.o"
.importobj "obj/src_main.o"
.importobj "obj/src_fixes_cannon_game.o"
.importobj "obj/src_fixes_spiders.o"
.importobj "obj/src_fixes_dk_free_softlock.o"
.importobj "obj/src_fixes_guardCatch.o"
.importobj "obj/src_fixes_helm.o"
.importobj "obj/src_fixes_level_modifiers.o"
.importobj "obj/src_fixes_parent.o"
.importobj "obj/src_fixes_quality_fixes.o"
.importobj "obj/src_fixes_tag_anywhere.o"
.importobj "obj/src_initialization_item_rando.o"
.importobj "obj/src_fixes_level_modifiers.o"
.importobj "obj/src_initialization_stack_trace.o"
.importobj "obj/src_initialization_text.o"
.importobj "obj/src_initialization_init.o"
.importobj "obj/src_initialization_cosmetic.o"
.importobj "obj/src_initialization_init.o"
.importobj "obj/src_initialization_item_rando.o"
.importobj "obj/src_initialization_qol.o"
.importobj "obj/src_instances_bananaport.o"
.importobj "obj/src_instances_cannon.o"
.importobj "obj/src_instances_melon_crate.o"
.importobj "obj/src_instances_boss_portal.o"
.importobj "obj/src_instances_crown_pad.o"
.importobj "obj/src_instances_instance_lib.o"
.importobj "obj/src_instances_instances.o"
.importobj "obj/src_instances_misc_pads.o"
.importobj "obj/src_instances_switches.o"
.importobj "obj/src_instances_instances.o"
.importobj "obj/src_item rando_text.o"
.importobj "obj/src_item rando_actors.o"
.importobj "obj/src_item rando_archipelago.o"
.importobj "obj/src_item rando_collision.o"
.importobj "obj/src_item rando_defs.o"
.importobj "obj/src_item rando_enemy_items.o"
.importobj "obj/src_item rando_item_fixes.o"
.importobj "obj/src_item rando_item_grab.o"
.importobj "obj/src_item rando_item_handler.o"
.importobj "obj/src_item rando_spawning.o"
.importobj "obj/src_item rando_archipelago.o"
.importobj "obj/src_item rando_ice_trap.o"
.importobj "obj/src_item rando_item_grab.o"
.importobj "obj/src_item rando_item_handler.o"
.importobj "obj/src_misc_exit_parser.o"
.importobj "obj/src_misc_move_hints.o"
.importobj "obj/src_misc_short_tiny.o"
Expand All @@ -51,21 +51,21 @@
.importobj "obj/src_misc_helm_hurry.o"
.importobj "obj/src_misc_hud.o"
.importobj "obj/src_misc_item_db.o"
.importobj "obj/src_misc_krusha.o"
.importobj "obj/src_misc_perma_kong_loss.o"
.importobj "obj/src_misc_stats.o"
.importobj "obj/src_misc_tns_number.o"
.importobj "obj/src_misc_warp_to_isles.o"
.importobj "obj/src_misc_win_condition.o"
.importobj "obj/src_misc_music_text.o"
.importobj "obj/src_misc_krusha.o"
.importobj "obj/src_misc_shop_indicator.o"
.importobj "obj/src_overlays_boss.o"
.importobj "obj/src_overlays_changes.o"
.importobj "obj/src_overlays_menu.o"
.importobj "obj/src_overlays_race.o"
.importobj "obj/src_overlays_arcade.o"
.importobj "obj/src_overlays_bonus.o"
.importobj "obj/src_overlays_jetpac.o"
.importobj "obj/src_overlays_bonus.o"
.importobj "obj/src_pause_hint_region_list.o"
.importobj "obj/src_pause_hints.o"
.importobj "obj/src_pause_regions.o"
Expand All @@ -74,9 +74,9 @@
.importobj "obj/src_randomizers_b_locker_requirement.o"
.importobj "obj/src_randomizers_misc_requirements.o"
.importobj "obj/src_randomizers_move_text.o"
.importobj "obj/src_randomizers_k_rool_order.o"
.importobj "obj/src_randomizers_crowd_control.o"
.importobj "obj/src_randomizers_every_lz_rando.o"
.importobj "obj/src_randomizers_k_rool_order.o"
.importobj "obj/src_randomizers_move_rando.o"
.importobj "obj/src_shorteners_bonus.o"
.importobj "obj/src_shorteners_pre_turns.o"
Expand Down
1 change: 1 addition & 0 deletions base-hack/build/build.py
Original file line number Diff line number Diff line change
Expand Up @@ -1474,6 +1474,7 @@
[0x12E5, 0x12E5], # Pineapple
[0x14A7, 0x14B5], # Pineapple
[0xB85, 0xB85], # Snide HQ Sign
[0xC39, 0xC39], # Dartboard Coin
]

palette_files = [
Expand Down
8 changes: 2 additions & 6 deletions base-hack/src/misc/krusha.c
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ void adjustAnimationTables(void) {
}
*/
int excl_base = 0;
int dances[] = {0x43A, 0x434};
int dances[] = {0x1DC, 0x43A, 0x1DC}; // 0x434 for failure anim
if (i == 0x5A) {
// Instrument
excl_base = 1;
Expand All @@ -162,11 +162,7 @@ void adjustAnimationTables(void) {
excl_base = 1;
} else if ((i >= 0x8A) && (i <= 0x8C)) {
// Tag Animation
int dance = dances[1];
if (i == 0x8B) {
dance = dances[0];
}
AnimationTable1[(7 * i) + slot] = dance;
AnimationTable1[(7 * i) + slot] = dances[i - 0x8A];
excl_base = 1;
}
if (!excl_base) {
Expand Down
24 changes: 12 additions & 12 deletions randomizer/Fill.py
Original file line number Diff line number Diff line change
Expand Up @@ -2363,7 +2363,7 @@ def Fill(spoiler: Spoiler) -> None:
ItemPool.GetItemsNeedingToBeAssumed(spoiler.settings, placed_types, placed_items=preplaced_items),
)
if unplaced > 0:
raise Ex.ItemPlacementException("Unable to find all locations during the fill. Error code: BIG-" + str(unplaced))
raise Ex.ItemPlacementException(f"Unable to find all locations during the fill. Couldn't place {unplaced} critical items.")
if spoiler.settings.extreme_debugging:
DebugCheckAllReachable(
spoiler,
Expand Down Expand Up @@ -2408,7 +2408,7 @@ def Fill(spoiler: Spoiler) -> None:
ItemPool.GetItemsNeedingToBeAssumed(spoiler.settings, placed_types, placed_items=preplaced_items),
)
if miscUnplaced > 0:
raise Ex.ItemPlacementException("Unable to find all locations during the fill. Error code: MI-" + str(miscUnplaced))
raise Ex.ItemPlacementException("Unable to find all locations during the fill. Couldn't place the bean")

# Then place the pearls
if Types.Pearl in spoiler.settings.shuffled_location_types:
Expand All @@ -2425,7 +2425,7 @@ def Fill(spoiler: Spoiler) -> None:
ItemPool.GetItemsNeedingToBeAssumed(spoiler.settings, placed_types, placed_items=preplaced_items),
)
if miscUnplaced > 0:
raise Ex.ItemPlacementException("Unable to find all locations during the fill. Error code: MI-" + str(miscUnplaced))
raise Ex.ItemPlacementException(f"Unable to find all locations during the fill. Couldn't place {miscUnplaced} pearls")
if spoiler.settings.extreme_debugging:
DebugCheckAllReachable(
spoiler,
Expand Down Expand Up @@ -2483,7 +2483,7 @@ def Fill(spoiler: Spoiler) -> None:
ItemPool.GetItemsNeedingToBeAssumed(spoiler.settings, placed_types, placed_items=preplaced_items),
)
if blueprintsUnplaced > 0:
raise Ex.ItemPlacementException("Unable to find all locations during the fill. Error code: BP-" + str(blueprintsUnplaced))
raise Ex.ItemPlacementException(f"Unable to find all locations during the fill. Couldn't place {blueprintsUnplaced} blueprints")
if spoiler.settings.extreme_debugging:
DebugCheckAllReachable(
spoiler,
Expand All @@ -2506,7 +2506,7 @@ def Fill(spoiler: Spoiler) -> None:
ItemPool.GetItemsNeedingToBeAssumed(spoiler.settings, placed_types, placed_items=preplaced_items),
)
if coinsUnplaced > 0:
raise Ex.ItemPlacementException("Unable to find all locations during the fill. Error code: CC-" + str(coinsUnplaced))
raise Ex.ItemPlacementException(f"Unable to find all locations during the fill. Couldn't place {coinsUnplaced} company coins.")
if spoiler.settings.extreme_debugging:
DebugCheckAllReachable(
spoiler,
Expand All @@ -2533,7 +2533,7 @@ def Fill(spoiler: Spoiler) -> None:
doubleTime=True,
)
if crownsUnplaced > 0:
raise Ex.ItemPlacementException("Unable to find all locations during the fill. Error code: CR-" + str(crownsUnplaced))
raise Ex.ItemPlacementException(f"Unable to find all locations during the fill. Couldn't place {crownsUnplaced} crowns.")
if spoiler.settings.extreme_debugging:
DebugCheckAllReachable(
spoiler,
Expand All @@ -2553,7 +2553,7 @@ def Fill(spoiler: Spoiler) -> None:
jetpacRequiredMedals = medalsToBePlaced[: spoiler.settings.logical_medal_requirement]
medalsUnplaced = PlaceItems(spoiler, spoiler.settings.algorithm, jetpacRequiredMedals, medalAssumedItems)
if medalsUnplaced > 0:
raise Ex.ItemPlacementException("Unable to find all locations during the fill. Error code: LM-" + str(medalsUnplaced))
raise Ex.ItemPlacementException(f"Unable to find all locations during the fill. Couldn't place {medalsUnplaced} logical medals")
# The remaining medals can be placed randomly
medalsUnplaced = PlaceItems(
spoiler,
Expand All @@ -2562,7 +2562,7 @@ def Fill(spoiler: Spoiler) -> None:
medalAssumedItems,
)
if medalsUnplaced > 0:
raise Ex.ItemPlacementException("Unable to find all locations during the fill. Error code: RM-" + str(medalsUnplaced))
raise Ex.ItemPlacementException(f"Unable to find all locations during the fill. Couldn't place {medalsUnplaced} misc medals")
if spoiler.settings.extreme_debugging:
DebugCheckAllReachable(
spoiler,
Expand All @@ -2582,7 +2582,7 @@ def Fill(spoiler: Spoiler) -> None:
rarewareRequiredFairies = fairiesToBePlaced[: spoiler.settings.logical_fairy_requirement]
fairyUnplaced = PlaceItems(spoiler, spoiler.settings.algorithm, rarewareRequiredFairies, fairyAssumedItems)
if fairyUnplaced > 0:
raise Ex.ItemPlacementException("Unable to find all locations during the fill. Error code: LF-" + str(fairyUnplaced))
raise Ex.ItemPlacementException(f"Unable to find all locations during the fill. Couldn't place {fairyUnplaced} logical fairies")
# The remaining fairies can be placed randomly
fairyUnplaced = PlaceItems(
spoiler,
Expand All @@ -2591,7 +2591,7 @@ def Fill(spoiler: Spoiler) -> None:
fairyAssumedItems,
)
if fairyUnplaced > 0:
raise Ex.ItemPlacementException("Unable to find all locations during the fill. Error code: RF-" + str(fairyUnplaced))
raise Ex.ItemPlacementException(f"Unable to find all locations during the fill. Couldn't place {fairyUnplaced} miscellaneous fairies")
if spoiler.settings.extreme_debugging:
DebugCheckAllReachable(
spoiler,
Expand All @@ -2614,7 +2614,7 @@ def Fill(spoiler: Spoiler) -> None:
preplaced_items.remove(item)
gbsUnplaced = PlaceItems(spoiler, FillAlgorithm.careful_random, gbsToBePlaced, [])
if gbsUnplaced > 0:
raise Ex.ItemPlacementException("Unable to find all locations during the fill. Error code: GB-" + str(gbsUnplaced))
raise Ex.ItemPlacementException(f"Unable to find all locations during the fill. Couldn't place {gbsUnplaced} Golden Bananas")
if spoiler.settings.extreme_debugging:
DebugCheckAllReachable(
spoiler,
Expand All @@ -2631,7 +2631,7 @@ def Fill(spoiler: Spoiler) -> None:
hintItemsToBePlaced.remove(item)
hintsUnplaced = PlaceItems(spoiler, FillAlgorithm.careful_random, hintItemsToBePlaced, [])
if hintsUnplaced > 0:
raise Ex.ItemPlacementException("Unable to find all locations during the fill. Error code: HN-" + str(hintsUnplaced))
raise Ex.ItemPlacementException(f"Unable to find all locations during the fill. Couldn't place {hintsUnplaced} hints")
if spoiler.settings.extreme_debugging:
DebugCheckAllReachable(
spoiler,
Expand Down
3 changes: 1 addition & 2 deletions randomizer/Patching/ApplyRandomizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -731,10 +731,9 @@ def patching_response(spoiler):
showWinCondition(spoiler.settings, ROM_COPY)

patchAssembly(ROM_COPY, spoiler)
calculateInitFileScreen(spoiler, ROM_COPY)
ApplyMirrorMode(spoiler.settings, ROM_COPY)

calculateInitFileScreen(spoiler, ROM_COPY)

# Apply Hash
order = 0
for count in spoiler.settings.seed_hash:
Expand Down
1 change: 1 addition & 0 deletions randomizer/Patching/Cosmetics/CustomTextures.py
Original file line number Diff line number Diff line change
Expand Up @@ -715,6 +715,7 @@ def writeCustomItemSprites(settings: Settings, ROM_COPY: ROM) -> None:
{"table": 7, "image": 0x00E5, "frame": 5, "color": 0},
{"table": 7, "image": 0x00E6, "frame": 6, "color": 0},
{"table": 7, "image": 0x00E7, "frame": 7, "color": 0},
{"table": 25, "image": 0x0C39, "frame": 4, "color": 0},
# Diddy
{"table": 7, "image": 0x0100, "frame": 0, "color": 1},
{"table": 7, "image": 0x0101, "frame": 1, "color": 1},
Expand Down
2 changes: 1 addition & 1 deletion static/patches/pointer_addresses.json

Large diffs are not rendered by default.

Binary file modified static/patches/shrink-dk64.bps
Binary file not shown.
Loading