CPC Rulez
https://cpcrulez.fr/forum/

[HACK] RAMBO III
https://cpcrulez.fr/forum/viewtopic.php?f=4&t=6406
Page 1 sur 1

Auteur :  hERMOL [ 18 Oct 2020, 18:09 ]
Sujet du message :  [HACK] RAMBO III

_TilesGfx: &1E5B -> &43DB
room : 10 lignes / 16 colonnes

Code :
67A0 _cur_room:                              ; a=room --> &D3 depart/start
67A0                     ld      a, 40h ; '@'
67A2                     ld      l, 0FFh
67A4
67A4 loc_67A4:                               ;
67A4                     inc     l
67A5                     sub     0Eh
67A7                     jp      nc, loc_67A4 ;
67AA                     add     a, 0Eh      ;
67AC                     ld      h, 0        ;
67AE                     add     hl, hl
67AF                     add     hl, hl      ; hl=hl*4
67B0                     ld      d, h
67B1                     ld      e, l
67B2                     add     hl, hl
67B3                     add     hl, hl
67B4                     add     hl, hl      ; hl=*&20
67B5                     sbc     hl, de      ; hl=*&1C   -4
67B7                     add     hl, hl      ; hl=*&38
67B8                     ld      d, 0
67BA                     add     a, a        ; ;a*2=2
67BB                     ld      e, a
67BC                     add     hl, de
67BD                     ld      ix, byte_62A3          ;&62A3 definition room
67C1                     ex      de, hl
67C2                     add     ix, de


&683C: affiche ecran jeu (tiles)
Code :
683C                     ld      de, byte_CF00  -> buffer temp (tiles collections)
683F                     ld      bc, _TilesGfx
6842                     exx
6843 ;
6843 ;
6843 ; aff tiles
6843                     ld      hl, 0C000h
6846                     call    sub_F705    ; draw tiles
6849                     ld      hl, 0C080h
684C                     ...


&755C ; EVENTS ROOMS DATAS => POSITION DES SOLDATS

exemple 1:
Code :
755C db 2,   ; 2 soldats
755D db 80h        ; special move
755E dw &7A42      ; definition du deplacement en &7A62
7560 db 7,         ; 7=type de deplacement (h/b) ,
7561 db 50h, 40h   ;  position x,Y


exemple 2:
Code :
&75DF:          db 3                    ; 3 soldats
                db 5, 10h, 38h,         ; soldat 1 : type move , x, y
                db 3, 40h, 1Ch,         ; soldat 2 :type move , x, y
                db 3, 50h, 34h          ; soldat 3 :type move , x, y


routine &7FF3 => (A)=test tiles/hero --> modif object et aspect

&810E -> &858E ;gfx_objets (64 octets par objet)

room temp donnes -> encoder en "tiles_collection" : &CF00 -> &CF9F

current room = &67A1
tiles_collection datas : &43DB
tiles_room_datas (&62A3): (encoder en tiles_collection) => 1 octet => 5 tiles en horizontal

;; SPRITES_INFOS

&9230 ; spr_SOLDAT
&A430 ; spr_HERO
&B630 ; spr_bullet
&B810 ; couteau bas
&B9F0 ;soldat mort


;sprites armes du bas
Code :
FE00 tab_armes:          dw byte_90B0        ; fleche
FE02                     dw byte_8FF0        ; fleche explo
FE04                     dw byte_8F30        ; pistolet+silen
FE06                     dw byte_8E70        ; pistolet
FE08                     dw byte_8DB0        ; ak47
FE0A                     dw byte_9170        ; couteau

Page 1 sur 1 Le fuseau horaire est UTC+1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/