shops fixes

This commit is contained in:
Karkat
2018-02-11 13:45:49 -05:00
parent 9f8e241538
commit 8fe2ebb90d
2 changed files with 20 additions and 53 deletions

View File

@@ -128,7 +128,7 @@ RTS
!SHOP_TYPE = "$7F5051"
!SHOP_INVENTORY = "$7F5052" ; $7F505E
!SHOP_STATE = "$7F505F"
!SCRATCH_CAPACITY = "$7F5060"
!SHOP_CAPACITY = "$7F5060"
!SCRATCH_TEMP_X = "$7F5061"
!SHOP_SRAM_INDEX = "$7F5062"
!SHOP_MERCHANT = "$7F5063"
@@ -153,8 +153,8 @@ SpritePrep_ShopKeeper:
SEP #$20 ; set 8-bit accumulator
LDA ShopTable, X : STA !SHOP_ID
LDA ShopTable+5, X : STA !SHOP_TYPE
AND.b #$03 : ASL #2 : STA !SHOP_CAPACITY
LDA ShopTable+6, X : STA !SHOP_MERCHANT
AND.b #$03 : ASL #2 : STA !SCRATCH_CAPACITY
TXA : LSR #3 : PHA : ASL : !ADD 1,s : STA !SHOP_SRAM_INDEX : PLA
BRA .success
+
@@ -173,11 +173,10 @@ SpritePrep_ShopKeeper:
LDX.w #$0000
LDY.w #$0000
-
TYA : CMP !SCRATCH_CAPACITY : !BLT ++ : BRL .stop : ++
TYA : CMP !SHOP_CAPACITY : !BLT ++ : BRL .stop : ++
LDA.l ShopContentsTable+1, X : CMP.b #$FF : BNE ++ : BRL .stop : ++
LDA.l ShopContentsTable, X : CMP !SHOP_ID : BEQ ++ : BRL + : ++
LDA.l ShopContentsTable, X : CMP !SHOP_ID : BEQ ++ : BRL .next : ++
LDA.l ShopContentsTable+1, X : PHX : TYX : STA.l !SHOP_INVENTORY, X : PLX
LDA.l ShopContentsTable+2, X : PHX : TYX : STA.l !SHOP_INVENTORY+1, X : PLX
LDA.l ShopContentsTable+3, X : PHX : TYX : STA.l !SHOP_INVENTORY+2, X : PLX
@@ -205,10 +204,9 @@ SpritePrep_ShopKeeper:
JSR LoadTile
PLY : PLX
INY #4
+
.next
INX #8
BRL -
.stop
@@ -246,19 +244,6 @@ RTS
;!SHOP_INVENTORY, X
;[id][$lo][$hi][purchase_counter]
;--------------------------------------------------------------------------------
;shop_config - t--- --qq
; t - 0=Shop - 1=TakeAny
; qq - # of items for sale
;org $30C800 ; PC 0x184800 - 0x184FFF
;ShopTable:
;;db [id][roomID-low][roomID-high][entranceID-low][entranceID-high][shop_config][pad][pad]
;db $FF, $12, $01, $58, $00, $FF, $00, $00
;ShopContentsTable:
;;db [id][item][price-low][price-high][max][repl_id][repl_price-low][repl_price-high]
;db $FF, $AF, $50, $00, $00, $FF, $00, $00
;db $FF, $27, $0A, $00, $00, $FF, $00, $00
;db $FF, $12, $F4, $01, $01, $2F, $3C, $00
;db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
;!SHOP_PURCHASE_COUNTS = "$7EF3A0"
;--------------------------------------------------------------------------------
UploadVRAMTiles:
@@ -326,7 +311,7 @@ Shopkepeer_CallOriginal:
JML.l UseImplicitRegIndexedLocalJumpTable
;--------------------------------------------------------------------------------
;!SHOP_TYPE = "$7F5051"
;!SCRATCH_CAPACITY = "$7F5020"
;!SHOP_CAPACITY = "$7F5020"
;!SCRATCH_TEMP_X = "$7F5021"
Sprite_ShopKeeper:
LDA.l !SHOP_TYPE : CMP.b #$FF : BNE + : JMP.w Shopkepeer_CallOriginal : +

View File

@@ -1422,9 +1422,10 @@ db $FF, $FF, $FF, $FF
org $30C800 ; PC 0x184800 - 0x18487F - max 16 shops
ShopTable:
;db [id][roomID-low][roomID-high][doorID][zero][shop_config][shopkeeper_config][pad]
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $00, $12, $01, $6E, $00, $03, $51, $00
db $01, $10, $01, $75, $00, $03, $50, $00
;db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $01, $0F, $01, $57, $00, $03, $51, $00
db $02, $0F, $01, $60, $00, $03, $51, $00
db $FF, $12, $01, $58, $00, $03, $50, $00
db $02, $0F, $01, $57, $00, $03, $50, $00
db $03, $0F, $01, $60, $00, $03, $50, $00
db $04, $0F, $01, $6F, $00, $03, $50, $00
@@ -1434,35 +1435,16 @@ db $FF, $12, $01, $58, $00, $03, $50, $00
org $30C880 ; PC 0x184880 - 0x184FFF - max 240 entries
ShopContentsTable:
;db [id][item][price-low][price-high][max][repl_id][repl_price-low][repl_price-high]
;db $FF, $AF, $50, $00, $00, $FF, $00, $00
;db $FF, $31, $0A, $00, $00, $FF, $00, $00
;db $FF, $12, $F4, $01, $01, $2F, $3C, $00
db $01, $2E, $96, $00, $00, $FF, $00, $00
db $01, $AF, $50, $00, $00, $FF, $00, $00
db $01, $31, $32, $00, $00, $FF, $00, $00
db $02, $2E, $96, $00, $00, $FF, $00, $00
db $02, $AF, $50, $00, $00, $FF, $00, $00
db $02, $31, $32, $00, $00, $FF, $00, $00
db $FF, $2E, $96, $00, $00, $FF, $00, $00
db $FF, $AF, $50, $00, $00, $FF, $00, $00
db $FF, $31, $32, $00, $00, $FF, $00, $00
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
;db $00, $2E, $96, $00, $00, $FF, $00, $00
;db $00, $AF, $50, $00, $00, $FF, $00, $00
;db $00, $31, $32, $00, $00, $FF, $00, $00
;db $01, $05, $F4, $01, $00, $FF, $00, $00
;db $01, $AF, $50, $00, $00, $FF, $00, $00
;db $01, $44, $1E, $00, $00, $FF, $00, $00
;db $02, $2E, $96, $00, $00, $FF, $00, $00
;db $02, $AF, $50, $00, $00, $FF, $00, $00
;db $02, $31, $32, $00, $00, $FF, $00, $00
;db $03, $2E, $96, $00, $00, $FF, $00, $00
;db $03, $AF, $50, $00, $00, $FF, $00, $00
;db $03, $31, $32, $00, $00, $FF, $00, $00
;db $04, $2E, $96, $00, $00, $FF, $00, $00
;db $04, $AF, $50, $00, $00, $FF, $00, $00
;db $04, $31, $32, $00, $00, $FF, $00, $00
;db $05, $2E, $96, $00, $00, $FF, $00, $00
;db $05, $AF, $50, $00, $00, $FF, $00, $00
;db $05, $31, $32, $00, $00, $FF, $00, $00
;db $06, $2E, $96, $00, $00, $FF, $00, $00
;db $06, $AF, $50, $00, $00, $FF, $00, $00
;db $06, $31, $32, $00, $00, $FF, $00, $00
;db $FF, $2E, $96, $00, $00, $FF, $00, $00
;db $FF, $AF, $50, $00, $00, $FF, $00, $00
;db $FF, $31, $32, $00, $00, $FF, $00, $00
;db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
;================================================================================
org $30D000
MSUTrackList: