let's dev sep 19th 2017

event draw stuff
This commit is contained in:
Karkat
2017-09-19 23:30:54 -04:00
parent b0abb5e823
commit b08e936057
6 changed files with 66 additions and 4 deletions

View File

@@ -26,7 +26,7 @@ org $3FFFFF ; <- 1FFFFF
db #$00 ; expand file to 2mb
org $1FFFF8 ; <- FFFF8 timestamp rom
db #$20, #$17, #$09, #$15 ; year/month/day
db #$20, #$17, #$09, #$19 ; year/month/day
;================================================================================

View File

@@ -98,7 +98,10 @@ macro CopyDialog(address)
LDA.b #<address> : STA $00 ; write pointer to direct page
LDA.b #<address>>>8 : STA $01
LDA.b #<address>>>16 : STA $02
%CopyDialogIndirect()
endmacro
;--------------------------------------------------------------------------------
macro CopyDialogIndirect()
REP #$20 : LDA !OFFSET_POINTER : TAX : LDY.w #$0000 : SEP #$20 ; copy 2-byte offset pointer to X and set Y to 0
?loop:
LDA [$00], Y ; load the next character from the pointer
@@ -111,6 +114,12 @@ macro CopyDialog(address)
SEP #$20 ; set 8-bit accumulator
endmacro
;--------------------------------------------------------------------------------
LoadDialogAddressIndirect:
LDA.b #$01 : STA $7F5035 ; set flag
%CopyDialogIndirect()
;%LoadDialogAddress(UncleText)
RTL
;--------------------------------------------------------------------------------
!ITEM_TEMPORARY = "$7F5040"
FreeDungeonItemNotice:
STA !ITEM_TEMPORARY
@@ -192,7 +201,7 @@ FreeDungeonItemNotice:
PLP
PLY : PLX : PLA
JSL.l Sprite_ShowMessageMinimal
JSL.l Main_ShowTextMessage
RTL
.skip

5
eventdata.asm Normal file

File diff suppressed because one or more lines are too long

View File

@@ -91,6 +91,12 @@ RTL
;--------------------------------------------------------------------------------
PostItemAnimation:
LDA.b #$00 : STA !ITEM_BUSY ; mark item as finished
LDA $7F50A0 : BEQ +
JSL.l Main_ShowTextMessage
LDA.b #$00 : STA $7F50A0
+
STZ $02E9 : LDA $0C5E, X ; thing we wrote over to get here
RTL
;--------------------------------------------------------------------------------

View File

@@ -130,9 +130,48 @@ endmacro
;--------------------------------------------------------------------------------
!CHALLENGE_TIMER = "$7EF454"
!GOAL_COUNTER = "$7EF460"
;--------------------------------------------------------------------------------
;carry clear if pass
;carry set if caught
incsrc eventdata.asm
ProcessEventItems:
LDA $00 : PHA
LDA $01 : PHA
LDA $02 : PHA
PHY : PHP
LDA $02D8
CMP.b #$70 : !BLT + : CMP.b #$E0 : !BGE + ; Free Item Block
!SUB #$70
REP #$30 ; set 16-bit accumulator & index registers
AND.w #$00FF : ASL : TAX
LDA.l EventDataOffsets, X : !ADD.w #EventDataTable : STA $00
SEP #$20 ; set 8-bit accumulator
PHK : PLA : STA $02
JSL.l LoadDialogAddressIndirect
SEP #$10 ; set 8-bit index registers
LDX.b #$01 : BRA .done
+
LDX.b #$00
.done
PLP : PLY
PLA : STA $02
PLA : STA $01
PLA : STA $00
RTS
;--------------------------------------------------------------------------------
AddReceivedItemExpandedGetItem:
;STA $FFFFFF
PHX
JSR.w ProcessEventItems : CPX.b #$00 : BEQ ++
;JSL.l Main_ShowTextMessage
LDA.b #$01 : STA $7F50A0
BRL .done
++
LDA $02D8 ; check inventory
CMP.b #$4C : BNE + ; 50 bombs
;LDA.b #$07 : STA $7EF370 ; upgrade bombs

View File

@@ -1174,6 +1174,9 @@ dw #9999 ; Rupee Limit
; $7F5097 - Dialog Offset Pointer Return (High)
; $7F5098 - Water Entry Index
; $7F5099 - Last Entered Entrance
; $7F50A0 - Event Parameter 1
; $7F50D0 - $7F50FF - Block Cypher Parameters
; $7F5100 - $7F51FF - Block Cypher Buffer
; $7F5200 - $7F52FF - RNG Pointer Block