diff --git a/Tables.py b/Tables.py index 272a0f93..15f98f58 100644 --- a/Tables.py +++ b/Tables.py @@ -59,4 +59,25 @@ door_pair_offset_table = { 0xc1: 0x01c2, 0xc2: 0x01ca, 0xc3: 0x01d2, 0xc4: 0x01d9, 0xc5: 0x01da, 0xc6: 0x01dd, 0xc7: 0x01e3, 0xc8: 0x01e6, 0xc9: 0x01e7, 0xcb: 0x01ec, 0xcc: 0x01ed, 0xce: 0x01f0, 0xd0: 0x01f1, 0xd1: 0x01f3, 0xd2: 0x01f7, 0xd5: 0x01f8, 0xd6: 0x01fa, 0xd8: 0x01fd, 0xd9: 0x0200, 0xda: 0x0203, 0xdb: 0x0204, 0xdc: 0x0206, 0xe0: 0x020 -} \ No newline at end of file +} + +multiply_lookup = { + 0x08: {0x8: 1, 0x10: 2, 0x18: 3, 0x20: 4, 0x30: 6, 0x50: 0xa, 0xa0: 0x14}, + 0x10: {0x8: 1, 0x10: 1, 0x18: 3, 0x20: 2, 0x30: 3, 0x50: 0x4, 0xa0: 0xa}, + 0x18: {0x8: 1, 0x10: 2, 0x18: 1, 0x20: 4, 0x30: 2, 0x50: 0xa, 0xa0: 0x14}, + 0x20: {0x8: 1, 0x10: 1, 0x18: 3, 0x20: 1, 0x30: 3, 0x50: 5, 0xa0: 5}, + 0x30: {0x8: 1, 0x10: 1, 0x18: 1, 0x20: 2, 0x30: 1, 0x50: 5, 0xa0: 0xa}, + 0x50: {0x8: 1, 0x10: 1, 0x18: 3, 0x20: 2, 0x30: 3, 0x50: 1, 0xa0: 2}, + 0xa0: {0x8: 1, 0x10: 1, 0x18: 3, 0x20: 1, 0x30: 3, 0x50: 1, 0xa0: 1}, +} + +divisor_lookup = { + 0x08: {0x8: 1, 0x10: 1, 0x18: 1, 0x20: 1, 0x30: 1, 0x50: 1, 0xa0: 1}, + 0x10: {0x8: 2, 0x10: 1, 0x18: 2, 0x20: 1, 0x30: 1, 0x50: 1, 0xa0: 1}, + 0x18: {0x8: 3, 0x10: 3, 0x18: 1, 0x20: 3, 0x30: 1, 0x50: 3, 0xa0: 3}, + 0x20: {0x8: 4, 0x10: 2, 0x18: 4, 0x20: 1, 0x30: 2, 0x50: 2, 0xa0: 1}, + 0x30: {0x8: 6, 0x10: 3, 0x18: 2, 0x20: 3, 0x30: 1, 0x50: 3, 0xa0: 3}, + 0x50: {0x8: 0xa, 0x10: 4, 0x18: 0xa, 0x20: 5, 0x30: 5, 0x50: 1, 0xa0: 1}, + 0xa0: {0x8: 0x14, 0x10: 0xa, 0x18: 0x14, 0x20: 5, 0x30: 0xa, 0x50: 2, 0xa0: 1}, +} + diff --git a/asm/doortables.asm b/asm/doortables.asm index d4dd762b..38043199 100644 --- a/asm/doortables.asm +++ b/asm/doortables.asm @@ -488,4 +488,54 @@ dw $0000 dw $0000,$0000 dw $0000 dw $0000,$0000,$0000,$0000 -dw $ffff ; indicates the end - we can drop this \ No newline at end of file +dw $ffff ; indicates the end - we can drop this + +; Edge Transition Table +org $27C500 ;ends around 27C5F0 +NorthOpenEdge: +db $80,$00,$11, $80,$00,$11, $80,$00,$11, $80,$00,$11 +db $80,$00,$11, $80,$00,$11, $80,$00,$11, $80,$00,$11 +db $80,$00,$11, $80,$00,$11, $80,$00,$11 +SouthOpenEdge: +db $80,$00,$11, $80,$00,$11, $80,$00,$11, $80,$00,$11 +db $80,$00,$11, $80,$00,$11, $80,$00,$11, $80,$00,$11 +db $80,$00,$11, $80,$00,$11, $80,$00,$11 +WestOpenEdge: +db $80,$00,$11, $80,$00,$11, $80,$00,$11 +db $80,$00,$11, $80,$00,$11, $80,$00,$11 +db $80,$00,$11, $80,$00,$11, $80,$00,$11 +EastOpenEdge: +db $80,$00,$11, $80,$00,$11, $80,$00,$11 +db $80,$00,$11, $80,$00,$11, $80,$00,$11 +db $80,$00,$11, $80,$00,$11, $80,$00,$11 +; Edge Info Table (Midpoint, Width, Min Coord) +NorthEdgeInfo: +db $a8,$10,$a0, $2c,$08,$28 ;HC +db $b8,$20,$a8 ; DP West Wing +db $38,$20,$28, $f8,$a0,$a8, $b8,$20,$a8 ; DP Main +db $78,$20,$68 ; DP East Wing +db $f8,$10,$f0, $7c,$18,$70 ; TT Lobby +db $74,$18,$68, $f8,$10,$f0 ; TT Compass +SouthEdgeInfo: +db $a8,$10,$a0, $2c,$08,$28 ; HC +db $b8,$20,$a8 ; DP Sandworm +db $38,$20,$28, $f8,$a0,$a8, $b8,$20,$a8 ; DP North Hall & Dead End +db $78,$20,$68 ; DP Arrow Pot +db $f8,$10,$f0, $7c,$18,$70 ; TT Ambush +db $74,$18,$68, $f8,$10,$f0 ; TT BK Corner +WestEdgeInfo: +db $78,$30,$60 ; TT Attic +db $40,$20,$30 ; DP North Hall +db $40,$20,$30 ; DP Arrow Pot +db $84,$18,$78, $68,$10,$60 ; HC South +db $a0,$a0,$50 ; DP East Wing +db $58,$50,$30, $98,$50,$70 ; TT BK Corner +db $58,$50,$30 ; TT Compass +EastEdgeInfo: +db $78,$30,$60 ; TT Attic +db $40,$20,$30 ; DP Sandworm +db $40,$20,$30 ; DP North Hall +db $68,$10,$60, $84,$18,$78 ; HC Guards +db $a0,$a0,$50 ; DP Main Lobby +db $58,$50,$30, $98,$50,$70 ; TT Ambush +db $58,$50,$30 ; TT Nook \ No newline at end of file diff --git a/asm/edges.asm b/asm/edges.asm new file mode 100644 index 00000000..e69de29b