DungeonGen bug
Animated tiles fix
This commit is contained in:
@@ -2139,7 +2139,7 @@ def find_forced_groupings(sector_pool, dungeon_map):
|
|||||||
if len(found_list) == 1:
|
if len(found_list) == 1:
|
||||||
forced_sectors = []
|
forced_sectors = []
|
||||||
for sec in other_sectors:
|
for sec in other_sectors:
|
||||||
cats = categorize_groupings(sec)
|
cats = categorize_groupings([sec])
|
||||||
if opp in cats.keys() and (len(cats[opp][0]) > 0 or len(cats[opp][1]) > 0):
|
if opp in cats.keys() and (len(cats[opp][0]) > 0 or len(cats[opp][1]) > 0):
|
||||||
forced_sectors.append(sec)
|
forced_sectors.append(sec)
|
||||||
if len(forced_sectors) > 0:
|
if len(forced_sectors) > 0:
|
||||||
|
|||||||
@@ -1,31 +1,8 @@
|
|||||||
# New Features
|
# New Features
|
||||||
|
|
||||||
* Mirror Scroll no longer erases blocks, the real mirror still will. (Sorry!)
|
* None yet
|
||||||
* Standard+Crossed Dungeon now gives you a little magic, a few bombs, and a few arrows if you die or S&Q after meeting your uncle (also works with mirror/scroll)
|
|
||||||
* Dungeon reminder added to hud for Crossed dungeons
|
|
||||||
* Blinking red square added to hud and it indicates a boss room is close by. Only appears if you have the compass. (Basic & Crossed)
|
|
||||||
* Agahnims dungeon items can be started with now
|
|
||||||
* GUI updates courtesy of Mike T
|
|
||||||
|
|
||||||
## Map Features (Crossed only + Experimental)
|
|
||||||
|
|
||||||
* Key counters added to hud. Indicates number of keys in chests (found/total). In small key shuffle, this count indicates how many smalls for that dungeon could be outside it.
|
|
||||||
* Total key indicator added to hud if you have found the map. Counts down from the total number of keys in dungeon to 0 as you collect them.
|
|
||||||
* Big Key indicator added to hud. Indicates if BK is not in the dungeon, or if BnC guard has it (Probably will move away from hud if kept)
|
|
||||||
|
|
||||||
Note: Only one of the key indicator will probably become core at most.
|
|
||||||
|
|
||||||
## Experimental changes
|
|
||||||
|
|
||||||
* Mirror scroll is now core for non-vanilla Door Shuffle (no longer experimental)
|
|
||||||
* GT Bosses stay dead in non-vanilla Door Shuffle (no longer experimental)
|
|
||||||
* Map features listed above are now experimental
|
|
||||||
|
|
||||||
# Bug Fixes
|
# Bug Fixes
|
||||||
|
|
||||||
* Splashing at hobo no longer prevents you from buying bomb capacity upgrades
|
* Crossed Dungeon generation improvements
|
||||||
* Small vitreous eyeballs will not drop items (DR basic and crossed only)
|
* Fix for Animated Tiles in crossed dungeon
|
||||||
* In Vanilla doors the HC back hallway area was broken - should be better now - also Trap Doors
|
|
||||||
* Firebar speed should now be consistent. Ice palace rooms have slow firebars even if shuffled to other dungeons. Others should have normal speed firebars.
|
|
||||||
* Red/Blue pendant swap fixed (originally ER bug)
|
|
||||||
* Compass shuffle vs map shuffle item menu fix (originally ER bug)
|
|
||||||
2
Rom.py
2
Rom.py
@@ -22,7 +22,7 @@ from EntranceShuffle import door_addresses, exit_ids
|
|||||||
|
|
||||||
|
|
||||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||||
RANDOMIZERBASEHASH = '9ed3ae2d129faa1cd3858e2f72b11b62'
|
RANDOMIZERBASEHASH = '6042de1d3a63417efe4397b69c626b88'
|
||||||
|
|
||||||
|
|
||||||
class JsonRom(object):
|
class JsonRom(object):
|
||||||
|
|||||||
@@ -1,3 +1,23 @@
|
|||||||
|
org $279500
|
||||||
|
TilesetTable:
|
||||||
|
; 0 1 2 3 4 5 6 7 8 9 a b c d e f --Offset Ruler
|
||||||
|
db $13,$04,$04,$06,$0d,$ff,$08,$05,$06,$07,$07,$07,$0e,$0e,$0b,$ff
|
||||||
|
db $13,$04,$04,$0d,$0d,$0d,$08,$05,$06,$07,$07,$07,$0e,$0e,$0b,$0b
|
||||||
|
db $04,$04,$04,$0d,$0d,$ff,$08,$05,$08,$09,$07,$07,$06,$ff,$0b,$06
|
||||||
|
db $04,$05,$04,$12,$08,$08,$08,$08,$08,$09,$07,$07,$06,$0e,$0b,$0b
|
||||||
|
db $04,$04,$04,$12,$0a,$0a,$08,$ff,$ff,$09,$07,$07,$0e,$0e,$0b,$0b
|
||||||
|
db $04,$04,$04,$12,$08,$01,$09,$09,$09,$09,$07,$0e,$0e,$0e,$0b,$0b
|
||||||
|
db $04,$04,$04,$12,$0a,$0a,$08,$09,$09,$ff,$07,$0e,$0e,$0e,$0b,$ff
|
||||||
|
db $04,$04,$04,$12,$12,$12,$08,$05,$ff,$ff,$ff,$0e,$0e,$0e,$0b,$0b
|
||||||
|
db $04,$04,$04,$12,$12,$12,$ff,$05,$ff,$05,$ff,$0e,$0e,$0e,$0b,$ff
|
||||||
|
db $0c,$0c,$0c,$0c,$ff,$0e,$0e,$0c,$0c,$05,$ff,$0e,$0e,$0e,$0b,$0b
|
||||||
|
db $0c,$0c,$0c,$0c,$0d,$0e,$0e,$05,$05,$05,$05,$0a,$0a,$ff,$0b,$0b
|
||||||
|
db $04,$0c,$0c,$0c,$0d,$0d,$0d,$0d,$05,$05,$05,$0a,$0a,$ff,$0b,$0b
|
||||||
|
db $04,$0c,$0c,$0c,$0d,$0d,$0d,$0d,$05,$05,$ff,$0a,$0a,$ff,$0b,$ff
|
||||||
|
db $04,$0c,$0c,$ff,$ff,$0d,$0d,$ff,$05,$05,$05,$0a,$0a,$ff,$0b,$06
|
||||||
|
db $04,$06,$06,$06,$06,$06,$06,$06,$06,$ff,$06,$06,$ff,$06,$06,$06
|
||||||
|
db $06,$06,$03,$03,$03,$03,$ff,$ff,$06,$06,$06,$06,$ff,$06,$06,$06
|
||||||
|
|
||||||
org $279700
|
org $279700
|
||||||
KeyDoorOffset:
|
KeyDoorOffset:
|
||||||
; 0 1 2 3 4 5 6 7 8 9 a b c d e f --Offset Ruler
|
; 0 1 2 3 4 5 6 7 8 9 a b c d e f --Offset Ruler
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ jsl SpiralWarp
|
|||||||
|
|
||||||
|
|
||||||
; Graphics fix
|
; Graphics fix
|
||||||
org $02895d
|
org $02895d ; Bank 02 line 1812 (JSL Dungeon_LoadRoom : JSL Dungeon_InitStarTileChr : JSL $00D6F9 : INC $B0)
|
||||||
Splicer:
|
Splicer:
|
||||||
jsl GfxFixer
|
jsl GfxFixer
|
||||||
lda $b1 : beq .done
|
lda $b1 : beq .done
|
||||||
@@ -39,10 +39,14 @@ rts
|
|||||||
nop #5
|
nop #5
|
||||||
.done
|
.done
|
||||||
|
|
||||||
org $00fda4
|
org $00d377 ;Bank 00 line 3185
|
||||||
|
DecompDungAnimatedTiles:
|
||||||
|
org $00fda4 ;Bank 00 line 8882
|
||||||
Dungeon_InitStarTileCh:
|
Dungeon_InitStarTileCh:
|
||||||
org $00d6ae ;(PC: 56ae)
|
org $00d6ae ;(PC: 56ae)
|
||||||
LoadTransAuxGfx:
|
LoadTransAuxGfx:
|
||||||
|
org $00d739 ;
|
||||||
|
LoadTransAuxGfx_Alt:
|
||||||
org $00df5a ;(PC: 5f5a)
|
org $00df5a ;(PC: 5f5a)
|
||||||
PrepTransAuxGfx:
|
PrepTransAuxGfx:
|
||||||
org $0ffd65 ;(PC: 07fd65)
|
org $0ffd65 ;(PC: 07fd65)
|
||||||
|
|||||||
15
asm/gfx.asm
15
asm/gfx.asm
@@ -1,11 +1,24 @@
|
|||||||
GfxFixer:
|
GfxFixer:
|
||||||
{
|
{
|
||||||
lda $b1 : bne .stage2
|
lda DRMode : bne +
|
||||||
|
jsl LoadRoomHook ;this is the code we overwrote
|
||||||
|
jsl Dungeon_InitStarTileCh
|
||||||
|
jsl LoadTransAuxGfx_Alt
|
||||||
|
inc $b0
|
||||||
|
rtl
|
||||||
|
+ lda $b1 : bne .stage2
|
||||||
jsl LoadRoomHook ; this is the rando version - let's only call this guy once - may fix star tiles and slower loads
|
jsl LoadRoomHook ; this is the rando version - let's only call this guy once - may fix star tiles and slower loads
|
||||||
jsl Dungeon_InitStarTileCh
|
jsl Dungeon_InitStarTileCh
|
||||||
jsl LoadTransAuxGfx
|
jsl LoadTransAuxGfx
|
||||||
jsl Dungeon_LoadCustomTileAttr
|
jsl Dungeon_LoadCustomTileAttr
|
||||||
jsl PrepTransAuxGfx
|
jsl PrepTransAuxGfx
|
||||||
|
lda DRMode : cmp #$02 : bne + ; only do this in crossed mode
|
||||||
|
ldx $a0 : lda TilesetTable, x
|
||||||
|
cmp $0aa1 : beq + ; already eq no need to decomp
|
||||||
|
sta $0aa1
|
||||||
|
tax : lda $02802e, x : tay
|
||||||
|
jsl DecompDungAnimatedTiles
|
||||||
|
+
|
||||||
lda #$09 : sta $17 : sta $0710
|
lda #$09 : sta $17 : sta $0710
|
||||||
jsl Palette_SpriteAux3
|
jsl Palette_SpriteAux3
|
||||||
jsl Palette_SpriteAux2
|
jsl Palette_SpriteAux2
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ RecordStairType: {
|
|||||||
}
|
}
|
||||||
|
|
||||||
SpiralWarp: {
|
SpiralWarp: {
|
||||||
|
lda DRMode : beq .abort ; abort if not DR
|
||||||
lda $040c : cmp.b #$ff : beq .abort ; abort if not in dungeon
|
lda $040c : cmp.b #$ff : beq .abort ; abort if not in dungeon
|
||||||
lda $045e : cmp #$5e : beq .gtg ; abort if not spiral - intended room is in A!
|
lda $045e : cmp #$5e : beq .gtg ; abort if not spiral - intended room is in A!
|
||||||
cmp #$5f : beq .gtg
|
cmp #$5f : beq .gtg
|
||||||
@@ -65,6 +66,16 @@ SpiralWarp: {
|
|||||||
ldy #$01 : jsr SetCamera
|
ldy #$01 : jsr SetCamera
|
||||||
|
|
||||||
stz $045e ; clear the staircase flag
|
stz $045e ; clear the staircase flag
|
||||||
|
|
||||||
|
; animated tiles fix
|
||||||
|
lda DRMode : cmp #$02 : bne + ; only do this in crossed mode
|
||||||
|
ldx $a0 : lda TilesetTable, x
|
||||||
|
cmp $0aa1 : beq + ; already eq no need to decomp
|
||||||
|
sta $0aa1
|
||||||
|
tax : lda $02802e, x : tay
|
||||||
|
jsl DecompDungAnimatedTiles
|
||||||
|
+
|
||||||
|
|
||||||
ply : plx : plb ; pull the stuff we pushed
|
ply : plx : plb ; pull the stuff we pushed
|
||||||
lda $a2 : and #$0f ; this is the code we are hijacking
|
lda $a2 : and #$0f ; this is the code we are hijacking
|
||||||
rtl
|
rtl
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user