?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download

  1.         module ENEMY_SKULL
  2.  
  3. init:
  4.         SET_EXEC_IX update
  5.         ld a,1
  6.         ld (ix+oData.isMovable),a
  7.         ld (ix+oData.accelerate),a
  8.         ld (ix+oData.drawMethod),a
  9.         ld (ix+oData.color),2
  10.         jp OBJECTS.setObjectId
  11. ;-------------------------------------------
  12. update:
  13.  
  14.  
  15.         ld a,(ix+oData.isDestroyed)
  16.         or a
  17.         jr nz,destroyThis
  18.  
  19.         ld a,(ix+oData.isMovable)
  20.         or a
  21.         jr z,stoneStill
  22.        
  23.         call OBJECTS.collision
  24.         call getDrawData
  25.  
  26.         xor a
  27.         cp iyh
  28.         ret z
  29.         ; IX - this object
  30.         ; IY - target object
  31.  
  32.         call OBJECTS.isSameObject
  33.         jp z,OBJECTS.alignToCell
  34.  
  35.         cp CHUPA_001_PBM_ID
  36.         jr z,convertToBomb
  37.  
  38.         cp BOOM_01_PBM_ID
  39.         jp z,BOMB.setExplosion          ; FIXME rebuild
  40.  
  41.         cp HERO_FACE_00_PBM_ID
  42.         jr z,killHero
  43.  
  44.         cp ICEHOLE_PBM_ID
  45.         jp z,OBJECTS.alignAndDestroy
  46.  
  47.         cp BROKEN_BLOCK_PBM_ID
  48.         jp z,OBJECTS.alignToCell
  49.  
  50.         cp BOX_PBM_ID
  51.         jp z,destroyBox
  52.  
  53.        
  54.         cp EXIT_DOOR_PBM_ID
  55.         ret nz
  56.         call OBJECTS.alignToCell
  57.         call OBJECTS.draw.oneObject
  58.         ld (ix+oData.needDraw),1
  59.         ld (ix+oData.isMovable),0
  60.         call POP_UP_INFO.setFear
  61.         jp SOUND_PLAYER.SET_SOUND.eat
  62. ;-------------------------------------------
  63.  
  64. stoneStill:
  65.         ld a,#40
  66.         xor (ix+oData.color)
  67.         ld (ix+oData.color),a
  68.         ret
  69. ;-------------------------------------------
  70. destroyBox:
  71.         call SOUND_PLAYER.SET_SOUND.impact
  72.         jp OBJECTS.setDestroyIY
  73. killHero:
  74.         call setIYtoIX
  75.         jp HERO.dead
  76.  
  77. convertToBomb:
  78.         ld (ix+oData.isDestroyed),1
  79.         call setIYtoIX
  80.         jp BOMB.init
  81. destroyThis:
  82.         ld hl,SOUND_PLAYER.DATA.eat
  83.         ld bc,POP_UP_INFO.setFear
  84.         jp OBJECTS.disableIXObject
  85. ;-------------------------------------------
  86.         endmodule
  87.