Display_Items:
 lda Items_Display_Flag
 bne DONT_Display_Items

 ldx #$00
 stx Itemy_Display_int
 stx Ilosc_Itemow
Sprawdz_Display_Items:
 lda ItemID,x
 cmp Numer_Lev
 bne Next_Item_Display		;Jeli item nie na ekranie

 lda #$00  ;Atryb
 sta $7F0

 ldy ItemY,x

 lda ItemX,x
 TAX

 lda #$C0
 clc
 adc Ilosc_Itemow
 
 jsr Rys3

 inc Itemy_Display_int
 inc Itemy_Display_int
 inc Itemy_Display_int

 inc Ilosc_Itemow
 inc Ilosc_Itemow
 inc Ilosc_Itemow
 inc Ilosc_Itemow
Sprawdz_Koniec_Display_Items:
 ldx Itemy_Display_int
 cpx #$2D
 bne Sprawdz_Display_Items

DONT_Display_Items:
 rts
;************************************Ta funkcja jest uywana w tej wyej
Next_Item_Display:
 inc Ilosc_Itemow
 inc Ilosc_Itemow
 inc Ilosc_Itemow
 inc Ilosc_Itemow

 inx
 inx
 inx
 stx Itemy_Display_int
 jmp Sprawdz_Koniec_Display_Items
;************************************
Init_Items:
 lda #low(ItemTable)
 sta addrLO
 Lda #high(ItemTable)
 sta addrHI

 ldy #$00
Init_Items_Loop:
 lda [addrLO],y
 sta ItemID,y
 iny
 cpy #$30
 bne Init_Items_Loop
 rts
;************************************************
Init_Memory:		;Wrzuca koordynaty dla memory items na starcie gry
 lda #low(Memory_Item1)
 sta addrLO
 Lda #high(Memory_Item1)	;W demie nie ma chapterw...
 sta addrHI

 ldy #$00
Init_Memory_Loop:
 lda [addrLO],y
 sta $7D0,y
 iny
 cpy #$0F
 bne Init_Memory_Loop

 lda #$00
 sta MemItemFlag		;Ustaw e aden item nie wzity

 rts
;************************************************
Pick_Items:
 ldx #$00
Sprawdz_czy_Podniesie:
 lda ItemID,x
 cmp Numer_Lev
 bne Koniec_Pick_Items

 lda Hero_Y
 clc
 adc #$10
 cmp ItemY,x
 bcc Koniec_Pick_Items

 lda Hero_Y
 sec
 sbc #$05
 cmp ItemY,x
 bcs Koniec_Pick_Items

 lda Hero_X
 clc
 adc #$08
 cmp ItemX,x
 bcc Koniec_Pick_Items

 lda Hero_X
 sec
 sbc #$08
 cmp ItemX,x
 bcs Koniec_Pick_Items

 jsr Items_Check_Counter

 lda Slot1,y
 cmp #$FF
 bne END_Pick_Items

 lda #$FF
 sta ItemID,x
 sta ItemX,x
 sta ItemY,x

 TYA
 TAX

 lda ID_Item
 sta Slot1,x
 lda #$00
 sta ID_Item

 lda Software
 ORA #%00000001		;Zapisz bit e gracz podnosi item
 sta Software		;W razie gdyby item lea gdzie mona gada

 lda #$00
 ldx #$0
 jsr FamiToneSfxStart

 rts
Koniec_Pick_Items:
 inc ID_Item
 inx
 inx
 inx
 cpx #$30
 bne Sprawdz_czy_Podniesie

END_Pick_Items:
 lda #$00
 sta ID_Item
 rts
;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Pick_MemItems:
 lda MOE.Dialog
 beq Pick_MemItems.NODialog

 lda #$17
 jsr Dialog.START

Pick_MemItems.NODialog:
 ldx #$00

Pick_MemItems.Check:
 lda MemItemID,x
 cmp Numer_Lev		;ID itemu
 bne Pick_MemItems_Loop

 stx Temp2

 lda MemItemY,x
 sec
 sbc #$08
 TAY			;Y Itemu
 
 lda MemItemX,x
 TAX			;X itemu

 lda #$08
 sta Promien_Y		;Promie Y mem itemu

 lda #$08		;Promie X Mem Itemu
 
 jsr Kolizje_Dizzy

 bne Pick_MemItems_END	;Wynik to 1-kolizja nie nastpia

 lda Nacisn_guzik
 AND #%01000000
 cmp #%01000000
 bne Pick_MemItems_END

 lda #$17
 jsr Dialog.START

 inc MOE.Dialog

 ldx Temp2

 lda #$FF
 sta MemItemID,x

 lda MemItemFlag
 clc
 adc MemItemsFlagBytes,x
 sta MemItemFlag

 rts

Pick_MemItems_Loop:
 inx			;Zwiksz...x w odczycie...
 cpx #$05
 bne Pick_MemItems.Check

Pick_MemItems_END:
 rts

MemItemsFlagBytes:
 .db $01,$02,$04,$08,$10
;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
DisplayMemItems:
 ldx #$00

DisplayMemItems.Start:
 lda MemItemID,x
 cmp Numer_Lev		;ID itemu
 bne DisplayMemItems.Check

 lda #$00
 sta $7F0

 lda MemItemY,x
 TAY

 lda MemItemX,x
 TAX

 lda Global_Adv
 cmp #$60
 bcc DisplayMEM_Tile1
 cmp #$A0
 bcc DisplayMEM_Tile2
 
 lda #$BD
 jsr Rys1 
 rts

DisplayMEM_Tile1:
 lda #$BE
 jsr Rys1 
 rts

DisplayMEM_Tile2:
 lda #$BF
 jsr Rys1 
 rts

DisplayMemItems.Check:
 inx
 cpx #$05
 bne DisplayMemItems.Start
 rts


;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Items_Check_Counter:
 ldy #$00
 lda Slot1
 cmp #$FF
 beq Items_Check_Counter_Back

 ldy #$01
 lda Slot2
 cmp #$FF
 beq Items_Check_Counter_Back

 ldy #$02
 lda Slot3
 cmp #$FF
 beq Items_Check_Counter_Back

Items_Check_Counter_Back:
 rts

 .include "Items\Nazwy_Itemy.txt"
 .include "Items\Memory_Items.txt"

ItemTable: .incbin "Items\Item_Table.bin"

Palette_Table_Adv: .incbin "Mapy\Palette_Table_Adv.bin"
