sprite animation testing
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
1.6KB

  1. PC_Update:
  2. ld b, 0
  3. ld c, 0
  4. ld a, [hCurKeys]
  5. and %10000000
  6. cp %10000000 ; 0 if down pressed
  7. jr nz, .up
  8. ld b, 1
  9. .up:
  10. ld a, [hCurKeys]
  11. and %01000000
  12. cp %01000000 ; 0 if up pressed
  13. jr nz, .left
  14. ld b, 255
  15. .left:
  16. ld a, [hCurKeys]
  17. and %00100000
  18. cp %00100000 ; 0 if down pressed
  19. jr nz, .right
  20. ld c, 255
  21. .right:
  22. ld a, [hCurKeys]
  23. and %00010000
  24. cp %00010000 ; 0 if up pressed
  25. jr nz, .last
  26. ld c, 1
  27. .last:
  28. ld a, [Player_XPos]
  29. add c
  30. ld [Player_XPos], a
  31. ld a, [Player_YPos]
  32. add b
  33. ld [Player_YPos], a
  34. .a:
  35. ld a, [hNewKeys]
  36. and %00000001 ; a pressed
  37. cp %00000001
  38. jr nz, .end
  39. ld a, [Player_GFXState]
  40. xor %00000001
  41. ld [Player_GFXState], a
  42. .end:
  43. ret
  44. Clear_OAM:
  45. ld hl, wShadowOAM
  46. ld bc, wShadowOAMEnd - wShadowOAM
  47. .loop:
  48. xor a
  49. ld [hli], a
  50. dec bc
  51. ld a, b
  52. or c
  53. jr nz, .loop
  54. ret
  55. Hide_OAM:
  56. ld hl, wShadowOAM
  57. ld c, (wShadowOAMEnd - wShadowOAM) / 4
  58. .loop:
  59. xor a
  60. ld [hl], a
  61. ld a, l
  62. or 3
  63. inc a
  64. ld l, a
  65. dec c
  66. jr nz, .loop
  67. ret
  68. Clear_Map:
  69. ld hl, _SCRN0
  70. ld bc, _SCRN0_END - _SCRN0
  71. .loop:
  72. xor a
  73. ld [hli], a
  74. dec bc
  75. ld a, b
  76. or c
  77. jr nz, .loop
  78. ret
  79. Load_Tiles:
  80. ld hl, _BGTILES
  81. ld de, grassTiles
  82. ld bc, grassTilesEnd - grassTiles
  83. call MemCpy
  84. ld hl, _VRAM
  85. ld de, parecivo_tile_data
  86. ld bc, parecivo_tile_data_size
  87. call MemCpy
  88. ld de, VillagerTiles
  89. ld bc, VillagerTilesEnd - VillagerTiles
  90. call MemCpy
  91. ret
  92. Load_Map:
  93. xor a
  94. ld hl, _SCRN0
  95. ld c, 0
  96. .loop
  97. ld [hl], a
  98. dec c
  99. jr nz, .loop
  100. ret