diff --git a/ass/grass.ass b/ass/grass.ass new file mode 100644 index 0000000..476661f --- /dev/null +++ b/ass/grass.ass @@ -0,0 +1,5 @@ +SECTION "Grass Tile", ROM0 +grassTiles:: +DB $00,$00,$00,$00,$20,$00,$02,$00 +DB $04,$00,$44,$00,$20,$00,$00,$00 +grassTilesEnd:: diff --git a/ass/villager.ass b/ass/villager.ass index d088351..e7db7c0 100644 --- a/ass/villager.ass +++ b/ass/villager.ass @@ -5,25 +5,25 @@ DB $1F,$18,$3F,$20,$7F,$48,$74,$57 DB $26,$25,$0E,$09,$0E,$0A,$1E,$12 DB $F8,$18,$FC,$04,$FE,$12,$2E,$EA DB $64,$A4,$70,$90,$70,$50,$78,$48 -DB $0F,$08,$1F,$12,$1D,$14,$1F,$10 +DB $0F,$08,$1F,$12,$1D,$16,$1F,$10 DB $0F,$09,$07,$04,$03,$02,$07,$04 -DB $F0,$10,$F8,$48,$B8,$28,$F8,$08 +DB $F0,$10,$F8,$48,$B8,$68,$F8,$08 DB $F0,$90,$E0,$20,$C0,$40,$E0,$20 DB $00,$00,$00,$00,$00,$00,$00,$00 DB $01,$01,$03,$02,$03,$02,$07,$04 DB $00,$00,$00,$00,$00,$00,$00,$00 DB $80,$80,$C0,$40,$C0,$40,$E0,$20 -DB $0F,$08,$1F,$10,$1F,$12,$1D,$14 +DB $0F,$08,$1F,$10,$1F,$12,$1D,$16 DB $0F,$08,$07,$05,$03,$02,$07,$04 -DB $F0,$10,$F8,$08,$F8,$48,$B8,$28 +DB $F0,$10,$F8,$08,$F8,$48,$B8,$68 DB $F0,$10,$E0,$A0,$C0,$40,$E0,$20 DB $07,$04,$1F,$18,$3F,$20,$7C,$4F DB $76,$55,$2E,$29,$0E,$0A,$1E,$12 DB $E0,$20,$F8,$18,$FC,$04,$3E,$F2 DB $6E,$AA,$74,$94,$70,$50,$78,$48 -DB $0F,$08,$1F,$12,$1D,$14,$1F,$10 +DB $0F,$08,$1F,$12,$1D,$16,$1F,$10 DB $0F,$09,$07,$04,$03,$02,$1F,$1C -DB $F0,$10,$F8,$48,$B8,$28,$F8,$08 +DB $F0,$10,$F8,$48,$B8,$68,$F8,$08 DB $F0,$90,$E0,$20,$C0,$40,$F8,$38 DB $3F,$20,$7F,$48,$77,$54,$24,$27 DB $06,$05,$0E,$09,$0E,$0A,$1E,$12 diff --git a/ass/villager.gbr b/ass/villager.gbr index 3f600ce..f9e4ff1 100644 Binary files a/ass/villager.gbr and b/ass/villager.gbr differ diff --git a/src/actor.asm b/src/actor.asm index 7d2f125..ef1baee 100644 --- a/src/actor.asm +++ b/src/actor.asm @@ -68,8 +68,8 @@ VillagerWaving:: db (.vwFrame01End - @) / 4 db 8, -16, 17, 0 db 8, -8, 18, 0 - db 0, -16, 19, 0 - db 0, -8, 20, 0 + db 0, -16, 19, OAMF_PAL1 + db 0, -8, 20, OAMF_PAL1 db -8, -16, 21, 0 db -8, -8, 22, 0 .vwFrame01End @@ -78,8 +78,8 @@ VillagerWaving:: db (.vwFrame02End - @) / 4 db 8, -16, 17, 0 db 8, -8, 18, 0 - db 0, -16, 23, 0 - db 0, -8, 24, 0 + db 0, -16, 23, OAMF_PAL1 + db 0, -8, 24, OAMF_PAL1 db -8, -16, 21, 0 db -8, -8, 22, 0 .vwFrame02End @@ -88,8 +88,8 @@ VillagerWaving:: db (.vwFrame03End - @) / 4 db 8, -16, 25, 0 db 8, -8, 26, 0 - db 0, -16, 23, 0 - db 0, -8, 24, 0 + db 0, -16, 23, OAMF_PAL1 + db 0, -8, 24, OAMF_PAL1 db -8, -16, 21, 0 db -8, -8, 22, 0 .vwFrame03End @@ -98,8 +98,8 @@ VillagerWaving:: db (.vwFrame04End - @) / 4 db 8, -16, 17, 0 db 8, -8, 18, 0 - db 0, -16, 23, 0 - db 0, -8, 24, 0 + db 0, -16, 23, OAMF_PAL1 + db 0, -8, 24, OAMF_PAL1 db -8, -16, 21, 0 db -8, -8, 22, 0 .vwFrame04End @@ -108,8 +108,8 @@ VillagerWaving:: db (.vwFrame05End - @) / 4 db 8, -16, 17, 0 db 8, -8, 18, 0 - db 0, -16, 19, 0 - db 0, -8, 20, 0 + db 0, -16, 19, OAMF_PAL1 + db 0, -8, 20, OAMF_PAL1 db -8, -16, 21, 0 db -8, -8, 22, 0 .vwFrame05End @@ -118,8 +118,8 @@ VillagerWaving:: db (.vwFrame06End - @) / 4 db 8, -16, 29, 0 db 8, -8, 30, 0 - db 0, -16, 27, 0 - db 0, -8, 28, 0 + db 0, -16, 27, OAMF_PAL1 + db 0, -8, 28, OAMF_PAL1 db -8, -16, 21, 0 db -8, -8, 22, 0 .vwFrame06End diff --git a/src/entry.asm b/src/entry.asm index 05e4c28..a65f801 100644 --- a/src/entry.asm +++ b/src/entry.asm @@ -17,10 +17,11 @@ Start: call Clear_Map call Clear_OAM call Load_Tiles - ; call Load_Map + call Load_Map ld a, %11100100 ld [rBGP], a ld [rOBP0], a + ld a, %11000100 ld [rOBP1], a xor a ld [rSCY], a @@ -29,23 +30,24 @@ Start: call CopyDMARoutine - ld a, 100 + ld a, $3F ld [Player_YPos], a - ld a, 40 + ld a, $3A ld [Player_XPos], a ld a, $FF ld [Player_GFXCounter], a - xor a + ld a, 1 ld [Player_GFXState], a + xor a ld [Player_TileData], a ld a, HIGH(ActorROM) ld [Player_GFXData+1], a ld a, LOW(ActorROM) ld [Player_GFXData], a - ld a, 24 + ld a, $71 ld [NPC01_YPos], a - ld a, 24 + ld a, $8C ld [NPC01_XPos], a ld a, 20 ld [NPC01_GFXCounter], a @@ -58,56 +60,60 @@ Start: ld a, LOW(ActorROM) ld [NPC01_GFXData], a - ld a, 48 + ld a, $15 ld [NPC02_YPos], a - ld a, 48 + ld a, $1C ld [NPC02_XPos], a ld a, 30 ld [NPC02_GFXCounter], a - xor a + ld a, 1 ld [NPC02_GFXState], a + xor a ld [NPC02_TileData], a ld a, HIGH(ActorROM) ld [NPC02_GFXData+1], a ld a, LOW(ActorROM) ld [NPC02_GFXData], a - ld a, 72 + ld a, $29 ld [NPC03_YPos], a - ld a, 72 + ld a, $90 ld [NPC03_XPos], a ld a, 40 ld [NPC03_GFXCounter], a - xor a + ld a, 1 ld [NPC03_GFXState], a + xor a ld [NPC03_TileData], a ld a, HIGH(ActorROM) ld [NPC03_GFXData+1], a ld a, LOW(ActorROM) ld [NPC03_GFXData], a - ld a, 96 + ld a, $71 ld [NPC04_YPos], a - ld a, 96 + ld a, $4F ld [NPC04_XPos], a ld a, 50 ld [NPC04_GFXCounter], a - xor a + ld a, 1 ld [NPC04_GFXState], a + xor a ld [NPC04_TileData], a ld a, HIGH(ActorROM) ld [NPC04_GFXData+1], a ld a, LOW(ActorROM) ld [NPC04_GFXData], a - ld a, 130 + ld a, $4A ld [NPC05_YPos], a - ld a, 130 + ld a, $67 ld [NPC05_XPos], a - ld a, 10 + ld a, $FF ld [NPC05_GFXCounter], a - xor a + ld a, 1 ld [NPC05_GFXState], a + xor a ld [NPC05_TileData], a ld a, HIGH(ActorROM) ld [NPC05_GFXData+1], a diff --git a/src/main.asm b/src/main.asm index 7254797..eb728d1 100644 --- a/src/main.asm +++ b/src/main.asm @@ -2,6 +2,7 @@ INCLUDE "inc/hardware.inc" INCLUDE "inc/structs.asm" INCLUDE "ass/parecivo.ass" INCLUDE "ass/tiles.ass" +INCLUDE "ass/grass.ass" INCLUDE "ass/villager.ass" INCLUDE "ass/map.ass" INCLUDE "src/animation.asm" diff --git a/src/misc.asm b/src/misc.asm index 128bd65..86e096a 100644 --- a/src/misc.asm +++ b/src/misc.asm @@ -82,6 +82,10 @@ Clear_Map: ret Load_Tiles: + ld hl, _BGTILES + ld de, grassTiles + ld bc, grassTilesEnd - grassTiles + call MemCpy ld hl, _VRAM ld de, parecivo_tile_data ld bc, parecivo_tile_data_size @@ -92,9 +96,11 @@ Load_Tiles: ret Load_Map: + xor a ld hl, _SCRN0 - ld de, Map - ld bc, Map_Size - call MemCpy + ld c, 0 +.loop + ld [hl], a + dec c + jr nz, .loop ret - diff --git a/testing/ISSOtm.asm b/testing/ISSOtm.asm deleted file mode 100644 index 0e2deee..0000000 --- a/testing/ISSOtm.asm +++ /dev/null @@ -1,54 +0,0 @@ -PlayerGfx:: -INCLUDE "res/actors/player.pal.asm" ; CGB palette - db OAMF_PAL1 ; Additional attr - dw PlayerTiles - -PlayerTiles: - ; number of tiles: - db (.displayStructs - .tiles) / 16 -.tiles -INCBIN "res/actors/player.2bpp" -.displayStructs - dw PlayerStandingUp - dw PlayerWalkingUp - dw PlayerStandingDown - dw PlayerWalkingDown - dw PlayerStandingLeft - dw PlayerWalkingLeft - dw PlayerStandingRight - dw PlayerWalkingRight - -PlayerWalkingDown: - db $20 - db 8 - dw .frame0 - db 8 - dw .frame1 - db 8 - dw .frame0 - db 8 - dw .frame2 - -.frame0 - db (.frame0End - @) / 4 - db -31, -8, 0, 0 - db -15, -8, 2, 0 - db -31, 0, 4, 0 - db -15, 0, 6, 0 -.frame0End - -.frame1 - db (.frame1End - @) / 4 - db -31, -8, 8, 0 - db -15, -8, 10, 0 - db -31, 0, 12, 0 - db -15, 0, 14, 0 -.frame1End - -.frame2 - db (.frame2End - @) / 4 - db -31, -8, 16, 0 - db -15, -8, 18, 0 - db -31, 0, 20, 0 - db -15, 0, 22, 0 -.frame2End