/[projet1]/users/barnsey123/HNEFATAFL/draw.s
Defence Force logotype

Diff of /users/barnsey123/HNEFATAFL/draw.s

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 793 by barnsey123, Wed Jan 4 08:37:30 2012 UTC revision 794 by dbug, Thu Feb 2 21:59:54 2012 UTC
# Line 292  _drawattackertile Line 292  _drawattackertile
292          jmp _drawbox    ; drawbox at x,y position          jmp _drawbox    ; drawbox at x,y position
293  .)  .)
294  */  */
295    
296    
297    
298    /*
299    void tileloop()
300    {
301            ptr_draw=(unsigned char*)0xa002;        // pointer to start of board
302            ptr_draw+=(col*3)+(row*720);            // 720=18*40 starting screen coordinate
303            for (counter=0;counter<18;inccounter())                                 //tileheight=pixels (e.g. 18)
304            {
305                    //for (x=0;x<tilewidth;x++)
306                    //      {
307                    //      ptr_draw[x]=ptr_graph[x];
308                    //      }
309                    ptr_draw[0]=ptr_graph[0];
310                    ptr_draw[1]=ptr_graph[1];
311                    ptr_draw[2]=ptr_graph[2];
312                    ptr_draw+=40;   // number of 6pixel "units" to advance (+40=next line down, same position across)
313                    ptr_graph+=3;   // + unit of measurement        (how many 6pixel chunks "across" in graphic file)
314            }
315    }
316    */
317    _tileloop
318    .(
319            lda _ptr_graph+0
320            sta tmp0+0
321            lda _ptr_graph+1
322            sta tmp0+1
323                    
324            lda #<$a002
325            sta tmp1+0
326            lda #>$a002
327            sta tmp1+1
328            
329            ; +col*3        
330            .(
331            ldx _col
332    loop
333            beq end
334            clc
335            lda tmp1+0
336            adc #3
337            sta tmp1+0
338            lda tmp1+1
339            adc #0
340            sta tmp1+1
341            dex
342            jmp loop
343    end
344            .)
345            
346            ; +row*720
347            .(
348            ldx _row
349    loop
350            beq end
351            clc
352            lda tmp1+0
353            adc #<720
354            sta tmp1+0
355            lda tmp1+1
356            adc #>720
357            sta tmp1+1
358            dex
359            jmp loop
360    end    
361            .)
362            
363            
364            ; Draw loop
365            .(
366            ldx #18
367    loop
368            ldy #0
369            lda (tmp0),y
370            sta (tmp1),y
371            iny
372            lda (tmp0),y
373            sta (tmp1),y
374            iny
375            lda (tmp0),y
376            sta (tmp1),y
377    
378            .(
379            clc
380            lda tmp0+0
381            adc #3
382            sta tmp0+0
383            bcc skip
384            inc tmp0+1
385    skip    
386            .)
387    
388            .(
389            clc
390            lda tmp1+0
391            adc #40
392            sta tmp1+0
393            bcc skip
394            inc tmp1+1
395    skip    
396            .)
397                            
398            dex
399            bne loop
400            .)
401                    
402            ; Update ptr_graph (for animation purpose)
403            lda tmp0+0
404            sta _ptr_graph+0
405            lda tmp0+1
406            sta _ptr_graph+1
407            
408            rts
409    .)
410    
411    
412    
413    /*
414    void drawtile() // draws a board tile, player piece or "arrow"
415    {
416            startpos=tiletodraw*54;                 // 54=3*18 calc how many lines "down" in the graphic file to print from
417            ptr_graph+=startpos;                            // set start position in graphic file
418            tileloop();
419    }
420    */
421    _drawtile
422    .(
423            ; ptr_graph+=tiletodraw*54
424            .(
425            ldx _tiletodraw
426    loop
427            beq end
428            clc
429            lda _ptr_graph+0
430            adc #<54
431            sta _ptr_graph+0
432            bcc skip
433            inc _ptr_graph+1
434    skip    
435            dex
436            jmp loop
437    end    
438            .)
439    
440            jmp _tileloop
441    .)
442    
443    
444    
445    /*
446    void drawtiles() // DRAW ALL THE TILES ON THE BOARD
447    {
448            for (row=0;row<11;row++)
449            {
450                    for (col=0;col<11;col++)
451                    {
452                            players[row][col]=tiles[row][col];      // populate players array
453                            ptr_graph=PictureTiles;                         // pointer to Picture Tiles graphics
454                            tiletodraw=tiles[row][col];
455                            if ( tiletodraw==4 ) { tiletodraw=3;}
456                            drawtile();    
457                    }
458            }
459    }
460    */
461    _drawtiles
462    .(
463            ldy #0
464            
465            ldx #0
466    loop_row        
467            stx _row
468    
469            ldx #0
470    loop_col        
471            stx _col
472            
473            lda _tiles,y
474            sta _players,y
475            cmp #4
476            bne set_tile_to_draw
477            lda #3
478    set_tile_to_draw        
479            sta _tiletodraw
480            
481            lda #<_PictureTiles
482            sta _ptr_graph+0
483            lda #>_PictureTiles
484            sta _ptr_graph+1
485            
486            tya
487            pha
488            
489            jsr _drawtile
490            
491            pla
492            tay
493            iny
494    
495            ldx _col
496            inx
497            cpx #11
498            bne loop_col
499            
500            ldx _row
501            inx
502            cpx #11
503            bne loop_row
504            
505            rts
506    .)
507    

Legend:
Removed from v.793  
changed lines
  Added in v.794

  ViewVC Help
Powered by ViewVC 1.1.26