sprite animation testing
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

61 satır
1008B

  1. ;----------------
  2. ; Program Start
  3. ;----------------
  4. INCLUDE "src/actor.asm"
  5. SECTION "Program Start", ROM0[$150]
  6. Start:
  7. ld a, IEF_VBLANK
  8. ld [rIE], a
  9. ei
  10. xor a
  11. ld [hVBlankFlag], a
  12. call Wait_VBlank
  13. xor a
  14. ldh [rLCDC], a
  15. call Clear_Map
  16. call Clear_OAM
  17. call Load_Tiles
  18. ; call Load_Map
  19. ld a, %11100100
  20. ld [rBGP], a
  21. ld [rOBP0], a
  22. ld [rOBP1], a
  23. xor a
  24. ld [rSCY], a
  25. ld [rSCX], a
  26. ld [rNR52], a
  27. call CopyDMARoutine
  28. ld a, 72
  29. ld [Player_YPos], a
  30. ld a, 80
  31. ld [Player_XPos], a
  32. ld a, $FF
  33. ld [Player_GFXCounter], a
  34. xor a
  35. ld [Player_GFXState], a
  36. ld [Player_TileData], a
  37. ld a, HIGH(ActorROM)
  38. ld [Player_GFXData+1], a
  39. ld a, LOW(ActorROM)
  40. ld [Player_GFXData], a
  41. ld a, LCDCF_ON | LCDCF_OBJON | LCDCF_BGON
  42. ld [rLCDC], a
  43. game_loop:
  44. call Hide_OAM
  45. call Read_Pad
  46. call PC_Update
  47. call Wait_VBlank
  48. ld de, wShadowOAM
  49. ld hl, Player
  50. call RenderActor
  51. ld a, HIGH(wShadowOAM)
  52. call hOAMDMA
  53. jr game_loop