Page 1 of 1

Map2D isometric

Posted: Wed Feb 22, 2006 1:34 pm
by Anonymous
Hello world!
This is an example of Map2D isométric with included simple tile (datas).
The data was generated with a code by Dobro , on french forum :
http://purebasic.hmt-forum.com/viewtopi ... &start=105 (5° topic)

with this method to calculate and store the coordinate of tiles, is more easy to add a pathfinding algorithm.
Bye.
@+
Sorry for my very bad english :oops:

Code: Select all

;**************************************** 
;* By Cpl.Bator                         * 
;* Demo Of map2D Isometric              * 
;* Example 01                           * 
;**************************************** 

Global ScreenWidth.l : ScreenWidth = 800 
Global ScreenHeight.l : ScreenHeight = 600 
Global ScrollX.l , ScrollY.l 

;Constants For the Map
#TailleMapX = 10        ; Size of the map
#TailleMapY = 10 
#TailleTileX = 64       ; Size of tile
#TailleTileY = 32 


;-Structure For la Map Iso 
Structure World 
X.l 
Y.l 
Type.l 
EndStructure 

Dim Map.World( #TailleMapX , #TailleMapY ) 


;-Init of DirectX 
If InitSprite ()=0 Or InitMouse ()=0 Or InitKeyboard ()=0 
  MessageRequester ( "Erreur" , "Impossible d'initialiser DirectX" ) 
   End 
    EndIf 


;-open screen 
OpenWindow (0,0,0,ScreenWidth , ScreenHeight, #PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget , "Exemple 01 - Map2D isométrique - Par Cpl.Bator" ) 
OpenWindowedScreen ( WindowID (),0,0,ScreenWidth , ScreenHeight,1,0,0) 


;-Declaration of procs 
Declare ConvertDataToSprite() 
Declare CreateMapIsometric(Taille_Map_X.l,Taille_Map_Y.l,TileType.l) 
Declare UpdateMap() 
Declare ControlInput() 

;-Constants
Enumeration 
    #Bloc_Grass 
EndEnumeration 




ConvertDataToSprite() 


CreateMapIsometric( #TailleMapX , #TailleMapY , #Bloc_Grass ) 



Repeat 
  ExamineKeyboard () : ExamineMouse () : ClearScreen (0,0,0) 
  UpdateMap() 
   ControlInput() 
     FlipBuffers () 
      Until KeyboardPushed ( #PB_Key_Escape ) 




Procedure ControlInput() 



If KeyboardPushed ( #PB_Key_Left ) 
ScrollX-20 
EndIf 

If KeyboardPushed ( #PB_Key_Right ) 
ScrollX+20 
EndIf 

If KeyboardPushed ( #PB_Key_Down ) 
ScrollY+10 
EndIf 

If KeyboardPushed ( #PB_Key_Up ) 
ScrollY-10 
EndIf 

EndProcedure 



Procedure UpdateMap() 
Shared TilePosX.l,TilePosY.l 

For Y = 1 To #TailleMapY 
For X = 1 To #TailleMapX 

TilePosX = Map(X,Y)\X - ScrollX 
TilePosY = Map(X,Y)\Y - SpriteHeight (Map(X,Y)\Type)+ #TailleTileY - ScrollY 

;Display tile if this on the screen 
If TilePosX >- #TailleTileX And TilePosX < ScreenWidth And TilePosY >- #TailleTileX And TilePosY < ScreenHeight 
  DisplayTransparentSprite (Map(X,Y)\Type ,TilePosX,TilePosY) 
EndIf 

; StartDrawing(ScreenOutput()) 
; Locate(TilePosX,TilePosY) 
; DrawText(Str(X)+":"+Str(Y)) 
; StopDrawing() 
  
  
Next X 
Next Y 
EndProcedure 



Procedure CreateMapIsometric(Taille_Map_X.l,Taille_Map_Y.l,TileType.l) 
Shared DecalageX.l,DecalageY.l,Offset.l 

  For Y = 1 To Taille_Map_Y 
  For X = 1 To Taille_Map_X 

 DecalageX = DecalageX + ( #TailleTileX /2) 
 DecalageY = DecalageY + ( #TailleTileY /2) 
  
 Map(X,Y)\X = DecalageX 
 Map(X,Y)\Y = DecalageY 
 Map(X,Y)\Type = TileType 
  
Next X 
   Offset+1 
   DecalageX = -(Offset*( #TailleTileX /2)) 
   DecalageY = ( #TailleTileY /2)*Offset 
Next Y 


EndProcedure 


Procedure ConvertDataToSprite() 


Shared DataR.l 
TransparentSpriteColor (-1,255,0,255) 

Restore SpriteData 

CreateSprite ( #Bloc_Grass ,64,64) 

If StartDrawing ( SpriteOutput ( #Bloc_Grass )) 

For x = 0 To 64 -1 
  For y = 0 To 64 -1 
    Read DataR 
    Plot (x,y,DataR) 
  Next y 
Next x 

StopDrawing () 

EndIf 

EndProcedure 




DataSection 
SpriteData: 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,104739,103714,101664,97821,27672,23317,18705,14861,11273,8455,6148,4355,3073,2305,2305,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,105251,1801275,90657,742273,742273,742273,742273,742273,742273,742273,742273,742273,808322,1072520,1204619,1204619,1204619,1204619,1598346,3237505,3631231,3631231,3631230,3761016,3955566,3954281,3755873,2571089,1714235,1384238,331295,2846,2049,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,24093,23579,105251,21266,2196033,742273,742273,742273,742273,742273,742273,742273,742273,808322,1138313,1204619,1204619,1204619,1204619,1335690,2516356,3631231,3631231,3631231,3696252,3891058,3955052,3888230,3426395,1978951,1647926,923431,68381,3104,2561,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,23579,1209138,105251,814380,1998654,1932861,1274931,23065,814380,742273,742273,742273,742273,808066,1072520,1204619,1204619,1204619,1204619,1270155,1991815,3500160,3631231,3631231,3696766,3826038,3955567,3954538,3756386,2637139,1714493,1384241,331296,2846,2561,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,485415,21523,1143345,22551,105251,24607,1077552,1538103,742273,742273,742273,742273,742273,742273,742273,940165,1204619,1204619,1204619,1204619,1204619,1663881,3172225,3631231,3631231,3631231,3695995,3890802,3955052,3953767,3426653,1978952,1647927,923432,68382,3104,3073,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,23322,22808,90657,22294,105251,945966,22551,2722377,1472310,742273,742273,742273,742273,742273,742273,808066,1072520,1204619,1204619,1204619,1204619,1335690,2647428,3631231,3631231,3631231,3696767,3826296,3955824,3954538,3821922,2571604,1649214,1450289,397346,2846,3074,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,222243,1406517,1472310,1274931,21523,748587,105251,880173,551208,742273,742273,742273,742273,742273,742273,742273,742273,874372,1204362,1204619,1204619,1204619,1270155,1991559,3368832,3631231,3631231,3631231,3696509,3826036,3955052,3953768,3361117,1978952,1648183,989482,199710,3104,3073,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1143345,22808,1011759,748587,23322,551208,105251,23579,353829,551208,23579,742273,742273,742273,742273,742273,742273,742530,1006471,1204619,1204619,1204619,1204619,1598089,2844291,3631231,3631231,3631231,3631231,3696251,3890802,3954539,3821922,2571603,1648958,1450290,528675,2847,3329,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1209138,1340724,21266,23579,288036,1406517,1472310,2524998,105251,288036,485415,1077552,22808,288036,742273,742273,742273,742273,742273,808323,1138313,1204619,1204619,1204619,1335690,2253702,3369088,3631231,3631231,3631231,3696766,3761015,3955309,3953767,3426652,1978952,1647927,1120810,134174,3104,3329,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,419622,222243,1669689,22037,814380,1932861,1077552,2130240,105251,24350,23836,1011759,23579,24607,742273,742273,742273,742273,742273,742273,874372,1204362,1204619,1204619,1204619,1598089,3040899,3631231,3631231,3631231,3631231,3696509,3891059,3954538,3821922,2702931,1714750,1516081,594466,2845,3586,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,222243,90657,814380,1867068,748587,945966,1011759,945966,1011759,2524998,105251,551208,748587,1077552,21780,742273,742273,742273,742273,742273,742273,742529,1006214,1204619,1204619,1204619,1335691,2253958,3434624,3631231,3631231,3631231,3631230,3761273,3889774,3953767,3492444,2175816,1713718,1186602,199966,68639,3843,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1077552,880173,24607,682794,156450,1274931,814380,23579,90657,24864,105251,90657,24093,1209138,23836,748587,742273,742273,742273,742273,742273,742273,808323,1138570,1204619,1204619,1204619,1598346,2909827,3631231,3631231,3631231,3631231,3696509,3825524,3954795,3821922,2965845,1911871,1581361,791588,68381,5123,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1538103,23322,23322,24864,222243,90657,1669689,1538103,21266,682794,23065,23836,105251,22551,1143345,880173,945966,742273,742273,742273,742273,742273,742273,742529,1006470,1204619,1204619,1204619,1270155,1991559,3368833,3631231,3631231,3631231,3631230,3761530,3890287,3953767,3689309,2504521,1713719,1449517,397087,68381,5636,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1735482,353829,23065,1472310,20752,1274931,288036,2130240,682794,748587,19210,23065,105251,880173,24864,90657,1998654,1274931,742273,742273,742273,742273,742273,742273,874115,1204362,1204619,1204619,1204619,1335690,2581892,3631231,3631231,3631231,3631231,3696766,3825525,3954539,3821922,3294293,2174528,1581617,1054502,134174,6918,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,551208,353829,617001,24607,748587,748587,1143345,156450,1274931,288036,1801275,1209138,24350,222243,105251,24350,21266,353829,419622,21780,742273,742273,742273,742273,742273,742530,1006727,1204619,1204619,1204619,1204619,1729417,3237505,3631231,3631231,3631231,3631230,3695995,3890030,3953767,3755358,2833229,1910584,1515309,594209,133917,6663,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1011759,222243,22037,814380,551208,945966,1274931,682794,1735482,90657,23322,617001,1867068,156450,105251,1669689,24864,222243,19724,742273,742273,742273,742273,742273,742273,742273,874115,1138826,1204619,1204619,1204619,1335691,2188422,3565696,3631231,3631231,3631231,3696509,3825780,3954795,3822178,3557208,2371907,1712946,1186344,265757,7687,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,814380,814380,485415,22037,1143345,1472310,2327619,1011759,814380,748587,288036,682794,617001,288036,1143345,485415,105251,1077552,485415,742273,742273,742273,742273,742273,742273,742273,742273,742273,940421,1204619,1204619,1204619,1204619,1401226,2778755,3631231,3631231,3631231,3631231,3761273,3955567,3954281,3820895,3162192,1976890,1581102,725794,133916,7173,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,814380,353829,945966,1011759,23836,1077552,24350,814380,1209138,23836,90657,748587,21523,1274931,24093,22294,105251,1274931,1143345,24864,742273,742273,742273,742273,742273,742273,742273,742273,808066,1072264,1204619,1204619,1204619,1204619,1794952,3237760,3631231,3631231,3631231,3696509,3891315,3955052,3887973,3688793,2635079,1778997,1317673,265501,8199,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,105251,748587,353829,880173,551208,814380,880173,945966,222243,617001,1209138,682794,485415,22037,24864,1735482,551208,23065,682794,105251,748587,1209138,945966,24607,1143345,21009,419622,742273,742273,742273,742273,808323,1138570,1204619,1204619,1204619,1270155,2319494,3631231,3631231,3631231,3631231,3761273,3890032,3954281,3821407,3424851,2108476,1581358,660002,133916,7430,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,105251,2064447,880173,485415,1538103,2196033,945966,23579,22037,23579,353829,1077552,353829,222243,682794,1274931,24350,1735482,551208,105251,1274931,485415,1603896,21523,880173,1932861,682794,551208,21009,742273,742273,742273,874372,1204619,1204619,1204619,1204619,1532554,3040898,3631231,3631231,3631231,3696510,3891316,3955052,3887974,3754842,2832456,1778997,1251881,199708,8712,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,105251,682794,23065,880173,1143345,617001,1735482,23579,21266,24864,748587,419622,90657,1538103,24607,1274931,1209138,748587,23579,1143345,2130240,105251,682794,22808,1472310,353829,742273,742273,742273,742273,742273,742273,742273,742529,1072263,1204619,1204619,1204619,1204619,2122887,3565440,3631231,3631231,3696767,3761017,3955568,3954281,3821408,3556692,2305854,1647150,660001,133916,7942,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,105251,748587,1472310,1274931,551208,23579,1209138,682794,682794,222243,945966,1143345,945966,288036,24864,288036,20752,24864,2459205,22551,1603896,105251,24864,90657,1143345,23065,742273,742273,742273,742273,742273,742273,742273,742273,874115,1204362,1204619,1204619,1204619,1401226,2844291,3631231,3631231,3631231,3696253,3890803,3955052,3887974,3820379,3095627,2042166,1317673,265501,9224,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,105251,1867068,1801275,1538103,485415,288036,945966,551208,24093,288036,22551,1669689,22808,1209138,1209138,1340724,880173,1472310,19724,419622,24350,22808,353829,105251,22294,24350,1603896,742273,742273,742273,742273,742273,742273,742273,742273,742530,1072520,1204619,1204619,1204619,1204619,1860488,3434368,3631231,3631231,3696766,3825782,3955311,3954538,3821408,3622228,2634305,1712688,660002,133916,7687,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,105251,419622,23322,1209138,24607,156450,17411,1406517,22808,90657,1340724,23579,1209138,1867068,419622,353829,1340724,945966,24350,880173,1209138,23065,1801275,105251,617001,23579,24093,617001,742273,742273,742273,742273,742273,742273,742273,742273,940165,1204619,1204619,1204619,1204619,1335690,2582148,3631231,3631231,3631231,3761017,3956080,3955052,3888231,3820380,3161421,2042166,1186088,265244,7430,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,105251,1011759,24864,682794,288036,24607,1340724,24864,419622,551208,288036,24093,748587,22037,1669689,485415,1209138,156450,2130240,1340724,1538103,23322,1406517,24607,1011759,105251,24864,23836,1867068,742273,742273,742273,742273,742273,742273,742273,742273,808322,1138569,1204619,1204619,1204619,1204619,1794953,3237505,3631231,3631231,3761275,3890547,3955567,3954538,3821665,3622484,2305598,1646895,528416,68123,4611,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,105251,19210,90657,748587,156450,23322,1077552,1143345,24093,1669689,90657,22551,1274931,1472310,1143345,90657,1143345,156450,485415,748587,1274931,1077552,23322,24350,814380,105251,617001,22294,880173,742273,742273,742273,742273,742273,742273,742273,742273,742273,940678,1204619,1204619,1204619,1204619,1335691,2385285,3500160,3631231,3761531,3890803,3955823,3955052,3888231,3820380,2569801,1713204,1054758,133915,3588,16711935,16711935,16711935 
Data.l 16711935,16711935,105251,23322,1340724,748587,22037,1077552,22037,90657,24607,222243,24607,485415,22037,23322,682794,24607,682794,551208,748587,1472310,1209138,1472310,682794,1209138,1735482,2196033,24864,105251,24607,90657,156450,742273,742273,742273,742273,742273,742273,742273,742273,808579,1138570,1204619,1204619,1204619,1204619,1729417,3106434,3631231,3695996,3890803,3955825,3955567,3954282,3821409,2833743,1779512,1449772,397086,2589,2305,16711935,16711935 
Data.l 16711935,16711935,105251,1538103,748587,288036,222243,1077552,682794,880173,156450,748587,814380,353829,353829,1077552,353829,23579,1406517,2196033,945966,419622,24093,617001,485415,22037,748587,1735482,945966,105251,1143345,24350,23579,742273,742273,742273,742273,742273,742273,742273,742273,742273,1006214,1204619,1204619,1204619,1204619,1335690,2516357,3434624,3696253,3890803,3955825,3955823,3955052,3887973,2966102,1780286,1581359,857379,133916,2049,16711935,16711935 
Data.l 16711935,105251,1077552,880173,1011759,748587,24607,1077552,23579,24350,288036,1932861,682794,1538103,2130240,20752,682794,880173,748587,814380,24350,945966,485415,485415,353829,748587,485415,1209138,1603896,288036,105251,24864,880173,1077552,814380,880173,880173,742273,742273,742273,742273,742273,808322,1138569,1204619,1204619,1204619,1204619,1794952,3041154,3630973,3890804,3955825,3955823,3955052,3888230,2966616,1781056,1581873,1251880,265503,3364,1792,16711935 
Data.l 16711935,105251,1209138,880173,485415,22294,24864,288036,24093,1077552,24093,1077552,880173,288036,24607,222243,1209138,1340724,485415,617001,353829,21780,945966,880173,24350,1406517,353829,551208,2327619,222243,105251,1801275,880173,1669689,90657,23065,742273,742273,742273,742273,742273,742273,742273,1006214,1204619,1204619,1204619,1204619,1401226,2581893,3565438,3890804,3955824,3955823,3955052,3887974,2900824,1781057,1647411,1383722,397089,3879,1536,16711935 
Data.l 105251,1801275,551208,1538103,288036,156450,1340724,551208,288036,20752,814380,288036,419622,1209138,24864,485415,20752,1209138,156450,1472310,1077552,24093,814380,1077552,682794,23579,814380,1406517,22808,1143345,814380,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,104739,103202,99101,92183,18191,11529,7173,4356,2818,2050,1537,1537,1793 
Data.l 105251,682794,682794,419622,617001,24350,353829,288036,945966,288036,1472310,814380,156450,419622,1340724,814380,617001,22037,22037,353829,419622,1603896,1143345,20495,22037,21009,222243,419622,1011759,945966,23836,872227,674848,14091,674848,609055,1129302,1129302,1129302,1129302,1129302,1129302,1129559,1328738,1527658,1527658,1527658,1527658,1593450,2446957,3562348,4084832,4149854,4149084,4083031,3884881,2502973,1647145,1580579,922392,198929,68115,134425,1794 
Data.l 16711935,105251,1011759,617001,1209138,23322,1209138,748587,1538103,19467,1011759,18439,617001,485415,288036,19467,945966,748587,485415,23579,1932861,1406517,682794,24607,1932861,23065,21780,24093,23322,1274931,105251,148504,16147,543262,12292,16661,1129302,1129302,1129302,1129302,1129302,1129302,1195866,1461351,1527658,1527658,1527658,1527658,1724523,2775149,3693676,4084576,4149596,4149082,4016982,3753036,2305334,1646631,1317150,396050,67600,133653,1793,16711935 
Data.l 16711935,105251,1932861,23836,682794,222243,1143345,22037,24864,222243,23065,1472310,1406517,90657,23065,748587,1340724,682794,945966,20752,880173,23579,1143345,24607,880173,353829,2130240,222243,22808,1077552,105251,1464364,82711,2451259,1069606,1129302,1129302,1129302,1129302,1129302,1129302,1129559,1328480,1527658,1527658,1527658,1527658,1527658,1987435,3103599,3890797,4084576,4149596,4149081,3951188,3424072,2107439,1580324,593428,132879,67602,134167,2561,16711935 
Data.l 16711935,16711935,105251,419622,90657,1011759,551208,880173,19981,1209138,353829,1340724,1669689,682794,1077552,1867068,353829,945966,485415,24607,945966,23322,1011759,19724,23065,2064447,485415,748587,1340724,105251,543262,82711,15890,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1196123,1461351,1527658,1527658,1527658,1527658,1593450,2381421,3563119,3890540,4150112,4149340,4148568,3950674,3029057,1844267,1054235,198414,67343,68116,3075,16711935,16711935 
Data.l 16711935,16711935,105251,22294,880173,1011759,2196033,23322,814380,24607,1472310,814380,156450,1406517,485415,22551,1077552,1538103,419622,1143345,353829,880173,1603896,24350,1143345,880173,1011759,1932861,1735482,105251,16147,1727536,16661,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1195352,1328994,1527658,1527658,1527658,1527658,1527658,1790315,2906734,3825776,3890282,4150110,4149083,4017238,3884622,2634042,1712423,527635,67085,67344,68117,3843,16711935,16711935 
Data.l 16711935,16711935,16711935,105251,1801275,748587,814380,1011759,2590791,1011759,19724,1406517,617001,748587,24864,23579,288036,551208,222243,1143345,1538103,24607,24864,1998654,1011759,748587,419622,1077552,105251,1332778,13834,1201192,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129559,1262173,1461609,1527658,1527658,1527658,1527658,1593194,2118508,3431791,3825776,3955304,4149598,4149082,3951444,3621195,2239539,1185823,198413,67084,67345,4612,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,105251,24350,551208,617001,682794,1209138,90657,419622,23836,1406517,485415,156450,24093,1340724,24864,814380,18439,485415,1669689,551208,90657,23322,21523,21523,288036,105251,13577,1135399,15376,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1195866,1395302,1527658,1527658,1527658,1527658,1527658,1593450,2643821,3629168,3825776,4020582,4149340,4148825,3950931,3226435,1910060,527893,67084,67342,67858,4612,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,105251,22294,1472310,1340724,1011759,551208,551208,617001,1472310,156450,419622,1669689,1274931,485415,1143345,1406517,617001,880173,288036,22294,2064447,1472310,1603896,105251,1201192,15633,214297,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1195609,1394787,1527658,1527658,1527658,1527658,1527658,1527658,1855851,3234927,3825776,3825776,4020324,4149084,4017238,3884623,2962748,1383716,198927,66827,67342,5380,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,105251,1143345,353829,24607,1011759,1209138,288036,748587,24864,22037,222243,880173,1472310,23579,748587,1406517,24864,485415,682794,24607,1735482,682794,353829,105251,214297,345883,82711,280090,1129302,1129302,1129302,1129302,1129302,1129559,1328224,1461865,1527658,1527658,1527658,1527658,1527658,1593194,2250349,3563119,3825776,3825776,4085089,4149081,3951444,3621193,2436918,791066,67084,67084,67343,4611,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,105251,23579,617001,288036,617001,90657,551208,353829,485415,1077552,22294,1077552,1669689,551208,551208,1077552,1538103,1143345,353829,2130240,485415,105251,872227,674848,15890,214297,1129302,1129302,1129302,1129302,1129302,1129302,1261916,1461352,1527658,1527658,1527658,1527658,1527658,1527658,1790059,2840941,3694704,3825776,3890797,4084063,4083032,3950673,3357507,2106926,461843,66828,67085,5381,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,105251,20752,24864,222243,1735482,24864,1209138,24093,945966,24350,814380,288036,21780,222243,814380,20752,23579,1603896,288036,1077552,23322,105251,609055,14348,740641,16918,740641,1129302,1129302,1129302,1129302,1195352,1394787,1527658,1527658,1527658,1527658,1527658,1527658,1593194,2052972,3235183,3825776,3825776,3955046,4149339,4016981,3818572,3028285,1514532,198927,66828,67086,5124,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,105251,2064447,24350,814380,24093,23836,1406517,485415,24093,1472310,23836,23322,90657,1011759,1472310,2196033,22294,1406517,485415,105251,15890,14605,740641,674848,13063,740641,148504,1129302,1129302,1129559,1262173,1461609,1527658,1527658,1527658,1527658,1527658,1527658,1593450,2578285,3563376,3825776,3825518,4084576,4083032,3950930,3555142,2699318,922907,67084,67085,6149,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,105251,90657,551208,22551,24864,485415,24864,419622,23579,22808,222243,945966,485415,24350,90657,1998654,682794,21009,682794,105251,1069606,16918,15633,2056501,543262,12292,1129302,1129302,1129302,1195352,1394787,1527658,1527658,1527658,1527658,1527658,1527658,1527658,1921387,3037806,3825776,3825776,3955304,4149339,4016982,3884623,3225920,2106925,396305,67085,67342,5893,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,419622,1274931,1340724,353829,24093,222243,1274931,1011759,1077552,90657,20495,1340724,156450,880173,2130240,617001,105251,214297,15633,15633,609055,609055,2319673,1924915,1129302,1129302,1129302,1195866,1461351,1527658,1527658,1527658,1527658,1527658,1527658,1593450,2315884,3366255,3825776,3825262,4084833,4083032,3950931,3752521,2962746,1383201,133134,67086,7686,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,24607,90657,288036,23065,682794,814380,22294,22037,682794,22551,288036,1472310,748587,682794,551208,156450,105251,14605,16918,14862,13320,15376,1332778,1129302,1129302,1129302,1129302,1262173,1527402,1527658,1527658,1527658,1527658,1527658,1527658,1790315,2840685,3628912,3825776,3955303,4149339,4017238,3950415,3423299,2698804,856600,67085,67086,6918,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,353829,2064447,288036,682794,1143345,748587,1274931,419622,485415,551208,22551,1867068,24607,90657,105251,1201192,14862,16404,15890,82711,16404,1266985,1129302,1129302,1129302,1129559,1328738,1527658,1527658,1527658,1527658,1527658,1527658,1593450,2315628,3234926,3825776,3890541,4084576,4083032,3950931,3752779,3159869,2041130,396050,67085,8712,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1077552,90657,22551,1932861,748587,485415,21523,1077552,1801275,222243,1406517,419622,1011759,222243,105251,14605,1398571,2714431,16404,345883,12549,938020,1595950,1129302,1129302,1195609,1461094,1527658,1527658,1527658,1527658,1527658,1527658,1790315,2775149,3563376,3825775,4020067,4149082,4016982,3950159,3554885,2896440,1317151,133134,67342,7174,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,682794,24093,353829,551208,419622,1011759,156450,1011759,1538103,1143345,24864,1340724,105251,1069606,14091,13320,543262,13834,15633,16918,1129302,1129302,1129302,1129302,1262173,1461865,1527658,1527658,1527658,1527658,1527658,1593194,2184300,3169391,3760240,3955304,4149342,4148568,3950931,3818572,3291455,2304559,593684,67342,8198,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,485415,1011759,485415,222243,551208,1011759,419622,814380,945966,156450,90657,1011759,105251,16661,740641,477469,411676,82711,411676,15633,1129302,1129302,1129302,1129559,1328737,1527658,1527658,1527658,1527658,1527658,1527658,1658986,2709869,3497583,3890539,4084575,4149081,4016982,3950415,3686471,3028025,1448737,198927,67342,6405,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,288036,1603896,90657,880173,1340724,945966,1406517,1406517,551208,748587,105251,477469,1464364,411676,12035,15119,477469,345883,543262,1129302,1129302,1129302,1195609,1395301,1527658,1527658,1527658,1527658,1527658,1527658,1987435,3169391,3759726,4019554,4149084,4083032,3950931,3884364,3423042,2436145,659735,67342,6406,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,22037,1274931,485415,90657,2196033,222243,814380,748587,1274931,288036,105251,806434,872227,872227,280090,16404,14862,14605,1129302,1129302,1129302,1129302,1261659,1461609,1527658,1527658,1527658,1527658,1527658,1658986,2775149,3563119,3955046,4149597,4149081,4016981,3950415,3752265,3094076,1580837,198928,67342,4868,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,485415,20495,814380,288036,22808,1406517,1735482,1801275,105251,1003813,14348,1201192,15633,1332778,15376,15119,1129302,1129302,1129302,1129302,1129559,1328223,1527658,1527658,1527658,1527658,1527658,1527658,2052972,3300719,3890284,4084574,4149083,4083032,3950931,3884364,3488835,2501683,856857,133135,4868,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,485415,288036,22037,1077552,945966,1340724,1340724,24350,105251,609055,674848,82711,214297,1332778,14862,674848,15633,609055,1129302,1129302,1195352,1395045,1527658,1527658,1527658,1527658,1527658,1724522,2906734,3759983,4020324,4149597,4149082,4016982,3950415,3752009,3094075,1843751,396563,67599,3843,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,551208,24864,748587,551208,748587,24093,105251,1595950,16404,674848,1727536,609055,14862,477469,214297,12549,938020,1129302,1129302,1196123,1461609,1527658,1527658,1527658,1527658,1527658,2250092,3563376,3890797,4084574,4149083,4083032,3950931,3818572,3357249,2633266,1054493,198414,4099,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,222243,1472310,1209138,22294,551208,1209138,105251,674848,806434,345883,82711,1003813,16661,16147,16661,15119,14348,1129302,1129559,1328737,1527658,1527658,1527658,1527658,1527658,1790058,3169135,3825776,3955046,4149341,4149082,4016981,3950415,3555142,2962233,1975080,527892,67343,3586,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,23065,353829,24607,288036,105251,806434,1332778,16147,15633,16918,1135399,345883,674848,15890,1003813,1129302,1129302,1196123,1461608,1527658,1527658,1527658,1527658,1593194,2446957,3628912,3825519,4084832,4149083,4083031,3950674,3752522,3159871,2501426,1185564,198927,3587,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1274931,2064447,22551,156450,105251,148504,14348,609055,674848,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129816,1394787,1527658,1527658,1527658,1527658,1527658,1987179,3235183,3825776,3955048,4149597,4148825,3951444,3884622,3357763,2896439,1909288,527380,67342,3587,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,156450,353829,105251,740641,82711,1201192,280090,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1261916,1461865,1527658,1527658,1527658,1527658,1658986,2709613,3694704,3825518,4084832,4149082,4082774,3950672,3620679,3028283,2698547,1119772,132879,3587,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,20752,485415,105251,1859122,477469,1069606,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129559,1328738,1527658,1527658,1527658,1527658,1527658,2118508,3431791,3825776,3955047,4149340,4083032,3950931,3818315,3291455,2830645,2106409,527379,67342,3330,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,105251,105251,15890,16147,15890,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1195352,1394788,1527658,1527658,1527658,1527658,1724522,2840941,3694704,3890796,4084575,4149081,3951444,3950159,3555141,3027512,2369581,1382943,264464,3330,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,104226,101920,96539,23829,16910,12298,9224,6917,4868,3843,3330,3074,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
EndDataSection 

Posted: Wed Feb 22, 2006 4:32 pm
by Joakim Christiansen
Converted to PB4:

Code: Select all

;****************************************
;* By Cpl.Bator                         *
;* Demo Of map2D Isometric              *
;* Example 01                           *
;****************************************

Global ScreenWidth.l : ScreenWidth = 800
Global ScreenHeight.l : ScreenHeight = 600
Global ScrollX.l , ScrollY.l

;Constants For the Map
#TailleMapX = 10        ; Size of the map
#TailleMapY = 10
#TailleTileX = 64       ; Size of tile
#TailleTileY = 32


;-Structure For la Map Iso
Structure World
X.l
Y.l
Type.l
EndStructure

Global Dim Map.World( #TailleMapX , #TailleMapY )


;-Init of DirectX
If InitSprite ()=0 Or InitMouse ()=0 Or InitKeyboard ()=0
  MessageRequester ( "Erreur" , "Impossible d'initialiser DirectX" )
   End
    EndIf


;-open screen
OpenWindow (0,0,0,ScreenWidth , ScreenHeight, #PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget , "Exemple 01 - Map2D isométrique - Par Cpl.Bator" )
OpenWindowedScreen ( WindowID (0),0,0,ScreenWidth , ScreenHeight,1,0,0)


;-Declaration of procs
Declare ConvertDataToSprite()
Declare CreateMapIsometric(Taille_Map_X.l,Taille_Map_Y.l,TileType.l)
Declare UpdateMap()
Declare ControlInput()

;-Constants
Enumeration
    #Bloc_Grass
EndEnumeration




ConvertDataToSprite()


CreateMapIsometric( #TailleMapX , #TailleMapY , #Bloc_Grass )



Repeat
  ExamineKeyboard () : ExamineMouse () : ClearScreen (#Black)
  UpdateMap()
   ControlInput()
     FlipBuffers ()
      Until KeyboardPushed ( #PB_Key_Escape )




Procedure ControlInput()



If KeyboardPushed ( #PB_Key_Left )
ScrollX-20
EndIf

If KeyboardPushed ( #PB_Key_Right )
ScrollX+20
EndIf

If KeyboardPushed ( #PB_Key_Down )
ScrollY+10
EndIf

If KeyboardPushed ( #PB_Key_Up )
ScrollY-10
EndIf

EndProcedure



Procedure UpdateMap()
Shared TilePosX.l,TilePosY.l

For Y = 1 To #TailleMapY
For X = 1 To #TailleMapX

TilePosX = Map(X,Y)\X - ScrollX
TilePosY = Map(X,Y)\Y - SpriteHeight (Map(X,Y)\Type)+ #TailleTileY - ScrollY

;Display tile if this on the screen
If TilePosX >- #TailleTileX And TilePosX < ScreenWidth And TilePosY >- #TailleTileX And TilePosY < ScreenHeight
  DisplayTransparentSprite (Map(X,Y)\Type ,TilePosX,TilePosY)
EndIf

; StartDrawing(ScreenOutput())
; Locate(TilePosX,TilePosY)
; DrawText(Str(X)+":"+Str(Y))
; StopDrawing()
 
 
Next X
Next Y
EndProcedure



Procedure CreateMapIsometric(Taille_Map_X.l,Taille_Map_Y.l,TileType.l)
Shared DecalageX.l,DecalageY.l,Offset.l

  For Y = 1 To Taille_Map_Y
  For X = 1 To Taille_Map_X

 DecalageX = DecalageX + ( #TailleTileX /2)
 DecalageY = DecalageY + ( #TailleTileY /2)
 
 Map(X,Y)\X = DecalageX
 Map(X,Y)\Y = DecalageY
 Map(X,Y)\Type = TileType
 
Next X
   Offset+1
   DecalageX = -(Offset*( #TailleTileX /2))
   DecalageY = ( #TailleTileY /2)*Offset
Next Y


EndProcedure


Procedure ConvertDataToSprite()


Shared DataR.l
TransparentSpriteColor (-1,RGB(255,0,255))

Restore SpriteData

CreateSprite ( #Bloc_Grass ,64,64)

If StartDrawing ( SpriteOutput ( #Bloc_Grass ))

For x = 0 To 64 -1
  For y = 0 To 64 -1
    Read DataR
    Plot (x,y,DataR)
  Next y
Next x

StopDrawing ()

EndIf

EndProcedure




DataSection
SpriteData:
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,104739,103714,101664,97821,27672,23317,18705,14861,11273,8455,6148,4355,3073,2305,2305,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,105251,1801275,90657,742273,742273,742273,742273,742273,742273,742273,742273,742273,808322,1072520,1204619,1204619,1204619,1204619,1598346,3237505,3631231,3631231,3631230,3761016,3955566,3954281,3755873,2571089,1714235,1384238,331295,2846,2049,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,24093,23579,105251,21266,2196033,742273,742273,742273,742273,742273,742273,742273,742273,808322,1138313,1204619,1204619,1204619,1204619,1335690,2516356,3631231,3631231,3631231,3696252,3891058,3955052,3888230,3426395,1978951,1647926,923431,68381,3104,2561,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,23579,1209138,105251,814380,1998654,1932861,1274931,23065,814380,742273,742273,742273,742273,808066,1072520,1204619,1204619,1204619,1204619,1270155,1991815,3500160,3631231,3631231,3696766,3826038,3955567,3954538,3756386,2637139,1714493,1384241,331296,2846,2561,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,485415,21523,1143345,22551,105251,24607,1077552,1538103,742273,742273,742273,742273,742273,742273,742273,940165,1204619,1204619,1204619,1204619,1204619,1663881,3172225,3631231,3631231,3631231,3695995,3890802,3955052,3953767,3426653,1978952,1647927,923432,68382,3104,3073,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,23322,22808,90657,22294,105251,945966,22551,2722377,1472310,742273,742273,742273,742273,742273,742273,808066,1072520,1204619,1204619,1204619,1204619,1335690,2647428,3631231,3631231,3631231,3696767,3826296,3955824,3954538,3821922,2571604,1649214,1450289,397346,2846,3074,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,222243,1406517,1472310,1274931,21523,748587,105251,880173,551208,742273,742273,742273,742273,742273,742273,742273,742273,874372,1204362,1204619,1204619,1204619,1270155,1991559,3368832,3631231,3631231,3631231,3696509,3826036,3955052,3953768,3361117,1978952,1648183,989482,199710,3104,3073,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1143345,22808,1011759,748587,23322,551208,105251,23579,353829,551208,23579,742273,742273,742273,742273,742273,742273,742530,1006471,1204619,1204619,1204619,1204619,1598089,2844291,3631231,3631231,3631231,3631231,3696251,3890802,3954539,3821922,2571603,1648958,1450290,528675,2847,3329,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1209138,1340724,21266,23579,288036,1406517,1472310,2524998,105251,288036,485415,1077552,22808,288036,742273,742273,742273,742273,742273,808323,1138313,1204619,1204619,1204619,1335690,2253702,3369088,3631231,3631231,3631231,3696766,3761015,3955309,3953767,3426652,1978952,1647927,1120810,134174,3104,3329,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,419622,222243,1669689,22037,814380,1932861,1077552,2130240,105251,24350,23836,1011759,23579,24607,742273,742273,742273,742273,742273,742273,874372,1204362,1204619,1204619,1204619,1598089,3040899,3631231,3631231,3631231,3631231,3696509,3891059,3954538,3821922,2702931,1714750,1516081,594466,2845,3586,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,222243,90657,814380,1867068,748587,945966,1011759,945966,1011759,2524998,105251,551208,748587,1077552,21780,742273,742273,742273,742273,742273,742273,742529,1006214,1204619,1204619,1204619,1335691,2253958,3434624,3631231,3631231,3631231,3631230,3761273,3889774,3953767,3492444,2175816,1713718,1186602,199966,68639,3843,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1077552,880173,24607,682794,156450,1274931,814380,23579,90657,24864,105251,90657,24093,1209138,23836,748587,742273,742273,742273,742273,742273,742273,808323,1138570,1204619,1204619,1204619,1598346,2909827,3631231,3631231,3631231,3631231,3696509,3825524,3954795,3821922,2965845,1911871,1581361,791588,68381,5123,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1538103,23322,23322,24864,222243,90657,1669689,1538103,21266,682794,23065,23836,105251,22551,1143345,880173,945966,742273,742273,742273,742273,742273,742273,742529,1006470,1204619,1204619,1204619,1270155,1991559,3368833,3631231,3631231,3631231,3631230,3761530,3890287,3953767,3689309,2504521,1713719,1449517,397087,68381,5636,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1735482,353829,23065,1472310,20752,1274931,288036,2130240,682794,748587,19210,23065,105251,880173,24864,90657,1998654,1274931,742273,742273,742273,742273,742273,742273,874115,1204362,1204619,1204619,1204619,1335690,2581892,3631231,3631231,3631231,3631231,3696766,3825525,3954539,3821922,3294293,2174528,1581617,1054502,134174,6918,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,551208,353829,617001,24607,748587,748587,1143345,156450,1274931,288036,1801275,1209138,24350,222243,105251,24350,21266,353829,419622,21780,742273,742273,742273,742273,742273,742530,1006727,1204619,1204619,1204619,1204619,1729417,3237505,3631231,3631231,3631231,3631230,3695995,3890030,3953767,3755358,2833229,1910584,1515309,594209,133917,6663,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1011759,222243,22037,814380,551208,945966,1274931,682794,1735482,90657,23322,617001,1867068,156450,105251,1669689,24864,222243,19724,742273,742273,742273,742273,742273,742273,742273,874115,1138826,1204619,1204619,1204619,1335691,2188422,3565696,3631231,3631231,3631231,3696509,3825780,3954795,3822178,3557208,2371907,1712946,1186344,265757,7687,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,814380,814380,485415,22037,1143345,1472310,2327619,1011759,814380,748587,288036,682794,617001,288036,1143345,485415,105251,1077552,485415,742273,742273,742273,742273,742273,742273,742273,742273,742273,940421,1204619,1204619,1204619,1204619,1401226,2778755,3631231,3631231,3631231,3631231,3761273,3955567,3954281,3820895,3162192,1976890,1581102,725794,133916,7173,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,814380,353829,945966,1011759,23836,1077552,24350,814380,1209138,23836,90657,748587,21523,1274931,24093,22294,105251,1274931,1143345,24864,742273,742273,742273,742273,742273,742273,742273,742273,808066,1072264,1204619,1204619,1204619,1204619,1794952,3237760,3631231,3631231,3631231,3696509,3891315,3955052,3887973,3688793,2635079,1778997,1317673,265501,8199,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,105251,748587,353829,880173,551208,814380,880173,945966,222243,617001,1209138,682794,485415,22037,24864,1735482,551208,23065,682794,105251,748587,1209138,945966,24607,1143345,21009,419622,742273,742273,742273,742273,808323,1138570,1204619,1204619,1204619,1270155,2319494,3631231,3631231,3631231,3631231,3761273,3890032,3954281,3821407,3424851,2108476,1581358,660002,133916,7430,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,105251,2064447,880173,485415,1538103,2196033,945966,23579,22037,23579,353829,1077552,353829,222243,682794,1274931,24350,1735482,551208,105251,1274931,485415,1603896,21523,880173,1932861,682794,551208,21009,742273,742273,742273,874372,1204619,1204619,1204619,1204619,1532554,3040898,3631231,3631231,3631231,3696510,3891316,3955052,3887974,3754842,2832456,1778997,1251881,199708,8712,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,105251,682794,23065,880173,1143345,617001,1735482,23579,21266,24864,748587,419622,90657,1538103,24607,1274931,1209138,748587,23579,1143345,2130240,105251,682794,22808,1472310,353829,742273,742273,742273,742273,742273,742273,742273,742529,1072263,1204619,1204619,1204619,1204619,2122887,3565440,3631231,3631231,3696767,3761017,3955568,3954281,3821408,3556692,2305854,1647150,660001,133916,7942,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,105251,748587,1472310,1274931,551208,23579,1209138,682794,682794,222243,945966,1143345,945966,288036,24864,288036,20752,24864,2459205,22551,1603896,105251,24864,90657,1143345,23065,742273,742273,742273,742273,742273,742273,742273,742273,874115,1204362,1204619,1204619,1204619,1401226,2844291,3631231,3631231,3631231,3696253,3890803,3955052,3887974,3820379,3095627,2042166,1317673,265501,9224,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,105251,1867068,1801275,1538103,485415,288036,945966,551208,24093,288036,22551,1669689,22808,1209138,1209138,1340724,880173,1472310,19724,419622,24350,22808,353829,105251,22294,24350,1603896,742273,742273,742273,742273,742273,742273,742273,742273,742530,1072520,1204619,1204619,1204619,1204619,1860488,3434368,3631231,3631231,3696766,3825782,3955311,3954538,3821408,3622228,2634305,1712688,660002,133916,7687,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,105251,419622,23322,1209138,24607,156450,17411,1406517,22808,90657,1340724,23579,1209138,1867068,419622,353829,1340724,945966,24350,880173,1209138,23065,1801275,105251,617001,23579,24093,617001,742273,742273,742273,742273,742273,742273,742273,742273,940165,1204619,1204619,1204619,1204619,1335690,2582148,3631231,3631231,3631231,3761017,3956080,3955052,3888231,3820380,3161421,2042166,1186088,265244,7430,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,105251,1011759,24864,682794,288036,24607,1340724,24864,419622,551208,288036,24093,748587,22037,1669689,485415,1209138,156450,2130240,1340724,1538103,23322,1406517,24607,1011759,105251,24864,23836,1867068,742273,742273,742273,742273,742273,742273,742273,742273,808322,1138569,1204619,1204619,1204619,1204619,1794953,3237505,3631231,3631231,3761275,3890547,3955567,3954538,3821665,3622484,2305598,1646895,528416,68123,4611,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,105251,19210,90657,748587,156450,23322,1077552,1143345,24093,1669689,90657,22551,1274931,1472310,1143345,90657,1143345,156450,485415,748587,1274931,1077552,23322,24350,814380,105251,617001,22294,880173,742273,742273,742273,742273,742273,742273,742273,742273,742273,940678,1204619,1204619,1204619,1204619,1335691,2385285,3500160,3631231,3761531,3890803,3955823,3955052,3888231,3820380,2569801,1713204,1054758,133915,3588,16711935,16711935,16711935
Data.l 16711935,16711935,105251,23322,1340724,748587,22037,1077552,22037,90657,24607,222243,24607,485415,22037,23322,682794,24607,682794,551208,748587,1472310,1209138,1472310,682794,1209138,1735482,2196033,24864,105251,24607,90657,156450,742273,742273,742273,742273,742273,742273,742273,742273,808579,1138570,1204619,1204619,1204619,1204619,1729417,3106434,3631231,3695996,3890803,3955825,3955567,3954282,3821409,2833743,1779512,1449772,397086,2589,2305,16711935,16711935
Data.l 16711935,16711935,105251,1538103,748587,288036,222243,1077552,682794,880173,156450,748587,814380,353829,353829,1077552,353829,23579,1406517,2196033,945966,419622,24093,617001,485415,22037,748587,1735482,945966,105251,1143345,24350,23579,742273,742273,742273,742273,742273,742273,742273,742273,742273,1006214,1204619,1204619,1204619,1204619,1335690,2516357,3434624,3696253,3890803,3955825,3955823,3955052,3887973,2966102,1780286,1581359,857379,133916,2049,16711935,16711935
Data.l 16711935,105251,1077552,880173,1011759,748587,24607,1077552,23579,24350,288036,1932861,682794,1538103,2130240,20752,682794,880173,748587,814380,24350,945966,485415,485415,353829,748587,485415,1209138,1603896,288036,105251,24864,880173,1077552,814380,880173,880173,742273,742273,742273,742273,742273,808322,1138569,1204619,1204619,1204619,1204619,1794952,3041154,3630973,3890804,3955825,3955823,3955052,3888230,2966616,1781056,1581873,1251880,265503,3364,1792,16711935
Data.l 16711935,105251,1209138,880173,485415,22294,24864,288036,24093,1077552,24093,1077552,880173,288036,24607,222243,1209138,1340724,485415,617001,353829,21780,945966,880173,24350,1406517,353829,551208,2327619,222243,105251,1801275,880173,1669689,90657,23065,742273,742273,742273,742273,742273,742273,742273,1006214,1204619,1204619,1204619,1204619,1401226,2581893,3565438,3890804,3955824,3955823,3955052,3887974,2900824,1781057,1647411,1383722,397089,3879,1536,16711935
Data.l 105251,1801275,551208,1538103,288036,156450,1340724,551208,288036,20752,814380,288036,419622,1209138,24864,485415,20752,1209138,156450,1472310,1077552,24093,814380,1077552,682794,23579,814380,1406517,22808,1143345,814380,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,104739,103202,99101,92183,18191,11529,7173,4356,2818,2050,1537,1537,1793
Data.l 105251,682794,682794,419622,617001,24350,353829,288036,945966,288036,1472310,814380,156450,419622,1340724,814380,617001,22037,22037,353829,419622,1603896,1143345,20495,22037,21009,222243,419622,1011759,945966,23836,872227,674848,14091,674848,609055,1129302,1129302,1129302,1129302,1129302,1129302,1129559,1328738,1527658,1527658,1527658,1527658,1593450,2446957,3562348,4084832,4149854,4149084,4083031,3884881,2502973,1647145,1580579,922392,198929,68115,134425,1794
Data.l 16711935,105251,1011759,617001,1209138,23322,1209138,748587,1538103,19467,1011759,18439,617001,485415,288036,19467,945966,748587,485415,23579,1932861,1406517,682794,24607,1932861,23065,21780,24093,23322,1274931,105251,148504,16147,543262,12292,16661,1129302,1129302,1129302,1129302,1129302,1129302,1195866,1461351,1527658,1527658,1527658,1527658,1724523,2775149,3693676,4084576,4149596,4149082,4016982,3753036,2305334,1646631,1317150,396050,67600,133653,1793,16711935
Data.l 16711935,105251,1932861,23836,682794,222243,1143345,22037,24864,222243,23065,1472310,1406517,90657,23065,748587,1340724,682794,945966,20752,880173,23579,1143345,24607,880173,353829,2130240,222243,22808,1077552,105251,1464364,82711,2451259,1069606,1129302,1129302,1129302,1129302,1129302,1129302,1129559,1328480,1527658,1527658,1527658,1527658,1527658,1987435,3103599,3890797,4084576,4149596,4149081,3951188,3424072,2107439,1580324,593428,132879,67602,134167,2561,16711935
Data.l 16711935,16711935,105251,419622,90657,1011759,551208,880173,19981,1209138,353829,1340724,1669689,682794,1077552,1867068,353829,945966,485415,24607,945966,23322,1011759,19724,23065,2064447,485415,748587,1340724,105251,543262,82711,15890,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1196123,1461351,1527658,1527658,1527658,1527658,1593450,2381421,3563119,3890540,4150112,4149340,4148568,3950674,3029057,1844267,1054235,198414,67343,68116,3075,16711935,16711935
Data.l 16711935,16711935,105251,22294,880173,1011759,2196033,23322,814380,24607,1472310,814380,156450,1406517,485415,22551,1077552,1538103,419622,1143345,353829,880173,1603896,24350,1143345,880173,1011759,1932861,1735482,105251,16147,1727536,16661,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1195352,1328994,1527658,1527658,1527658,1527658,1527658,1790315,2906734,3825776,3890282,4150110,4149083,4017238,3884622,2634042,1712423,527635,67085,67344,68117,3843,16711935,16711935
Data.l 16711935,16711935,16711935,105251,1801275,748587,814380,1011759,2590791,1011759,19724,1406517,617001,748587,24864,23579,288036,551208,222243,1143345,1538103,24607,24864,1998654,1011759,748587,419622,1077552,105251,1332778,13834,1201192,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129559,1262173,1461609,1527658,1527658,1527658,1527658,1593194,2118508,3431791,3825776,3955304,4149598,4149082,3951444,3621195,2239539,1185823,198413,67084,67345,4612,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,105251,24350,551208,617001,682794,1209138,90657,419622,23836,1406517,485415,156450,24093,1340724,24864,814380,18439,485415,1669689,551208,90657,23322,21523,21523,288036,105251,13577,1135399,15376,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1195866,1395302,1527658,1527658,1527658,1527658,1527658,1593450,2643821,3629168,3825776,4020582,4149340,4148825,3950931,3226435,1910060,527893,67084,67342,67858,4612,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,105251,22294,1472310,1340724,1011759,551208,551208,617001,1472310,156450,419622,1669689,1274931,485415,1143345,1406517,617001,880173,288036,22294,2064447,1472310,1603896,105251,1201192,15633,214297,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1195609,1394787,1527658,1527658,1527658,1527658,1527658,1527658,1855851,3234927,3825776,3825776,4020324,4149084,4017238,3884623,2962748,1383716,198927,66827,67342,5380,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,105251,1143345,353829,24607,1011759,1209138,288036,748587,24864,22037,222243,880173,1472310,23579,748587,1406517,24864,485415,682794,24607,1735482,682794,353829,105251,214297,345883,82711,280090,1129302,1129302,1129302,1129302,1129302,1129559,1328224,1461865,1527658,1527658,1527658,1527658,1527658,1593194,2250349,3563119,3825776,3825776,4085089,4149081,3951444,3621193,2436918,791066,67084,67084,67343,4611,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,105251,23579,617001,288036,617001,90657,551208,353829,485415,1077552,22294,1077552,1669689,551208,551208,1077552,1538103,1143345,353829,2130240,485415,105251,872227,674848,15890,214297,1129302,1129302,1129302,1129302,1129302,1129302,1261916,1461352,1527658,1527658,1527658,1527658,1527658,1527658,1790059,2840941,3694704,3825776,3890797,4084063,4083032,3950673,3357507,2106926,461843,66828,67085,5381,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,105251,20752,24864,222243,1735482,24864,1209138,24093,945966,24350,814380,288036,21780,222243,814380,20752,23579,1603896,288036,1077552,23322,105251,609055,14348,740641,16918,740641,1129302,1129302,1129302,1129302,1195352,1394787,1527658,1527658,1527658,1527658,1527658,1527658,1593194,2052972,3235183,3825776,3825776,3955046,4149339,4016981,3818572,3028285,1514532,198927,66828,67086,5124,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,105251,2064447,24350,814380,24093,23836,1406517,485415,24093,1472310,23836,23322,90657,1011759,1472310,2196033,22294,1406517,485415,105251,15890,14605,740641,674848,13063,740641,148504,1129302,1129302,1129559,1262173,1461609,1527658,1527658,1527658,1527658,1527658,1527658,1593450,2578285,3563376,3825776,3825518,4084576,4083032,3950930,3555142,2699318,922907,67084,67085,6149,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,105251,90657,551208,22551,24864,485415,24864,419622,23579,22808,222243,945966,485415,24350,90657,1998654,682794,21009,682794,105251,1069606,16918,15633,2056501,543262,12292,1129302,1129302,1129302,1195352,1394787,1527658,1527658,1527658,1527658,1527658,1527658,1527658,1921387,3037806,3825776,3825776,3955304,4149339,4016982,3884623,3225920,2106925,396305,67085,67342,5893,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,419622,1274931,1340724,353829,24093,222243,1274931,1011759,1077552,90657,20495,1340724,156450,880173,2130240,617001,105251,214297,15633,15633,609055,609055,2319673,1924915,1129302,1129302,1129302,1195866,1461351,1527658,1527658,1527658,1527658,1527658,1527658,1593450,2315884,3366255,3825776,3825262,4084833,4083032,3950931,3752521,2962746,1383201,133134,67086,7686,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,24607,90657,288036,23065,682794,814380,22294,22037,682794,22551,288036,1472310,748587,682794,551208,156450,105251,14605,16918,14862,13320,15376,1332778,1129302,1129302,1129302,1129302,1262173,1527402,1527658,1527658,1527658,1527658,1527658,1527658,1790315,2840685,3628912,3825776,3955303,4149339,4017238,3950415,3423299,2698804,856600,67085,67086,6918,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,353829,2064447,288036,682794,1143345,748587,1274931,419622,485415,551208,22551,1867068,24607,90657,105251,1201192,14862,16404,15890,82711,16404,1266985,1129302,1129302,1129302,1129559,1328738,1527658,1527658,1527658,1527658,1527658,1527658,1593450,2315628,3234926,3825776,3890541,4084576,4083032,3950931,3752779,3159869,2041130,396050,67085,8712,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1077552,90657,22551,1932861,748587,485415,21523,1077552,1801275,222243,1406517,419622,1011759,222243,105251,14605,1398571,2714431,16404,345883,12549,938020,1595950,1129302,1129302,1195609,1461094,1527658,1527658,1527658,1527658,1527658,1527658,1790315,2775149,3563376,3825775,4020067,4149082,4016982,3950159,3554885,2896440,1317151,133134,67342,7174,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,682794,24093,353829,551208,419622,1011759,156450,1011759,1538103,1143345,24864,1340724,105251,1069606,14091,13320,543262,13834,15633,16918,1129302,1129302,1129302,1129302,1262173,1461865,1527658,1527658,1527658,1527658,1527658,1593194,2184300,3169391,3760240,3955304,4149342,4148568,3950931,3818572,3291455,2304559,593684,67342,8198,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,485415,1011759,485415,222243,551208,1011759,419622,814380,945966,156450,90657,1011759,105251,16661,740641,477469,411676,82711,411676,15633,1129302,1129302,1129302,1129559,1328737,1527658,1527658,1527658,1527658,1527658,1527658,1658986,2709869,3497583,3890539,4084575,4149081,4016982,3950415,3686471,3028025,1448737,198927,67342,6405,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,288036,1603896,90657,880173,1340724,945966,1406517,1406517,551208,748587,105251,477469,1464364,411676,12035,15119,477469,345883,543262,1129302,1129302,1129302,1195609,1395301,1527658,1527658,1527658,1527658,1527658,1527658,1987435,3169391,3759726,4019554,4149084,4083032,3950931,3884364,3423042,2436145,659735,67342,6406,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,22037,1274931,485415,90657,2196033,222243,814380,748587,1274931,288036,105251,806434,872227,872227,280090,16404,14862,14605,1129302,1129302,1129302,1129302,1261659,1461609,1527658,1527658,1527658,1527658,1527658,1658986,2775149,3563119,3955046,4149597,4149081,4016981,3950415,3752265,3094076,1580837,198928,67342,4868,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,485415,20495,814380,288036,22808,1406517,1735482,1801275,105251,1003813,14348,1201192,15633,1332778,15376,15119,1129302,1129302,1129302,1129302,1129559,1328223,1527658,1527658,1527658,1527658,1527658,1527658,2052972,3300719,3890284,4084574,4149083,4083032,3950931,3884364,3488835,2501683,856857,133135,4868,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,485415,288036,22037,1077552,945966,1340724,1340724,24350,105251,609055,674848,82711,214297,1332778,14862,674848,15633,609055,1129302,1129302,1195352,1395045,1527658,1527658,1527658,1527658,1527658,1724522,2906734,3759983,4020324,4149597,4149082,4016982,3950415,3752009,3094075,1843751,396563,67599,3843,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,551208,24864,748587,551208,748587,24093,105251,1595950,16404,674848,1727536,609055,14862,477469,214297,12549,938020,1129302,1129302,1196123,1461609,1527658,1527658,1527658,1527658,1527658,2250092,3563376,3890797,4084574,4149083,4083032,3950931,3818572,3357249,2633266,1054493,198414,4099,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,222243,1472310,1209138,22294,551208,1209138,105251,674848,806434,345883,82711,1003813,16661,16147,16661,15119,14348,1129302,1129559,1328737,1527658,1527658,1527658,1527658,1527658,1790058,3169135,3825776,3955046,4149341,4149082,4016981,3950415,3555142,2962233,1975080,527892,67343,3586,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,23065,353829,24607,288036,105251,806434,1332778,16147,15633,16918,1135399,345883,674848,15890,1003813,1129302,1129302,1196123,1461608,1527658,1527658,1527658,1527658,1593194,2446957,3628912,3825519,4084832,4149083,4083031,3950674,3752522,3159871,2501426,1185564,198927,3587,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1274931,2064447,22551,156450,105251,148504,14348,609055,674848,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129816,1394787,1527658,1527658,1527658,1527658,1527658,1987179,3235183,3825776,3955048,4149597,4148825,3951444,3884622,3357763,2896439,1909288,527380,67342,3587,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,156450,353829,105251,740641,82711,1201192,280090,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1261916,1461865,1527658,1527658,1527658,1527658,1658986,2709613,3694704,3825518,4084832,4149082,4082774,3950672,3620679,3028283,2698547,1119772,132879,3587,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,20752,485415,105251,1859122,477469,1069606,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129559,1328738,1527658,1527658,1527658,1527658,1527658,2118508,3431791,3825776,3955047,4149340,4083032,3950931,3818315,3291455,2830645,2106409,527379,67342,3330,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,105251,105251,15890,16147,15890,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1195352,1394788,1527658,1527658,1527658,1527658,1724522,2840941,3694704,3890796,4084575,4149081,3951444,3950159,3555141,3027512,2369581,1382943,264464,3330,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,104226,101920,96539,23829,16910,12298,9224,6917,4868,3843,3330,3074,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935
EndDataSection

Posted: Wed Feb 22, 2006 10:06 pm
by SCRJ
Nice! :D

*I love isometric^^*

Posted: Wed Feb 22, 2006 11:44 pm
by Anonymous
@Joakim : Thx for convert to PB4.0
@SCRJ : Thx too.

you can download the new version of my isometric code here : File:1->Map2D_ISO.rar
Image

You can paste tile with the first mouse button, but you can't delete tile yet.
i coding this later...

add :
- Minimap
- Mini Game GUI :D
- Management of brush size (MouseWhell)

controls :
Scroll map with arrow keys, paste tile with the first button of mouse, change brush size with the Mousewhell, release mouse with TAB key, escape to quit.

enjoy! :D

@++

Posted: Thu Feb 23, 2006 5:33 pm
by Anonymous
This is a small code for modify the height of ground.
Compiled with PB 3.94

Code: Select all

;Deformation Map isométrique 
;Par Cpl.Bator 

#TailleMapX=10 
#TailleMapY=10 

#TailleTileX = 64 
#TailleTileY = 32 

Structure World 
 X.f 
 Y.f 
 Z.f 
EndStructure 

Dim Map.World(#TailleMapX,#TailleMapY) 

Global SelectVertexX.l,SelectVertexY.l 
SelectVertexX = 1 
SelectVertexY = 1 



;-Initialisation des composants DirectX 
If InitSprite()=0 Or InitMouse()=0 Or InitKeyboard()=0 
 MessageRequester("Erreur","Impossible d'initialiser DirectX") 
  End 
   EndIf 
    
OpenScreen(800 , 600,32,"") 


Declare UdpdateMap() 
Declare Initialisation_MapIso() 
Declare Modifieheight() 


Initialisation_MapIso() 

Repeat 
 ExamineKeyboard() : ExamineMouse() : ClearScreen(0,0,0) 
  UdpdateMap() 
   Modifieheight() 
    FlipBuffers() 
     Until KeyboardPushed(#PB_Key_Escape) 


Procedure Modifieheight() 

Shared KeyFlag.l 

StartDrawing(ScreenOutput()) 
DrawingMode(4) 

If SelectVertexX <= 1 : SelectVertexX = 1 : EndIf 
If SelectVertexY <= 1 : SelectVertexY = 1 : EndIf 
If SelectVertexX => #TailleMapX : SelectVertexX = #TailleMapX : EndIf 
If SelectVertexY => #TailleMapY : SelectVertexY = #TailleMapY : EndIf 

;Dessin du selecteur 
Circle(352 + Map(SelectVertexX,SelectVertexY)\X , 150 + Map(SelectVertexX,SelectVertexY)\Y - Map(SelectVertexX,SelectVertexY)\Z ,6,RGB(255,255,255))  


;Infos 
Locate(0,0) 
DrawText("Dim Map.World("+Str(SelectVertexX)+":"+Str(SelectVertexY)+")") 
Locate(0,15) 
DrawText("Z value : "+Str(Map(SelectVertexX,SelectVertexY)\Z)) 


If KeyboardPushed(#PB_Key_Left) And KeyFlag=0 
SelectVertexX-1 
KeyFlag=1 
EndIf 

If KeyboardPushed(#PB_Key_Right) And KeyFlag=0 
SelectVertexX+1 
KeyFlag=1 
EndIf 

If KeyboardPushed(#PB_Key_Down) And KeyFlag=0 
SelectVertexY+1 
KeyFlag=1 
EndIf 

If KeyboardPushed(#PB_Key_Up) And KeyFlag=0 
SelectVertexY-1 
KeyFlag=1 
EndIf 


If KeyboardPushed(#PB_Key_All)=0 
KeyFlag=0 
EndIf 


;Modification de la valeur Z 
If KeyboardPushed(#PB_Key_Add) 
Map(SelectVertexX,SelectVertexY)\Z + 0.4 
EndIf 

If KeyboardPushed(#PB_Key_Subtract) 
Map(SelectVertexX,SelectVertexY)\Z - 0.4 
EndIf 



StopDrawing() 
EndProcedure 

Procedure UdpdateMap() 
StartDrawing(ScreenOutput()) 
DrawingMode(4|1) 
FrontColor(255,255,255) 
For Y = 1 To #TailleMapY 
For X = 1 To #TailleMapX 

;Affichage des segments 
If x=>1 And x<#TailleMapX And y=>1 And y<#TailleMapY 
LineXY(352 + Map(X,Y)\X ,150+ Map(X,Y)\Y - Map(X,Y)\Z ,352 + Map(X+1,Y)\X ,150+ Map(X+1,Y)\Y - Map(X+1,Y)\Z) 
LineXY(352 + Map(X,Y)\X ,150+ Map(X,Y)\Y - Map(X,Y)\Z ,352 + Map(X,Y+1)\X ,150+ Map(X,Y+1)\Y - Map(X,Y+1)\Z) 
EndIf 


For Radius = 4 To 1 Step -1 
Circle(352 + Map(X,Y)\X ,150 +    Map(X,Y)\Y - Map(X,Y)\Z ,Radius,RGB(100/Radius,255/Radius,80))  
;Locate(352 + Map(X,Y)\X ,150 +    Map(X,Y)\Y - Map(X,Y)\Z) 
;DrawText("Map("+Str(X)+","+Str(Y)+")") 



Next Radius 

Next : Next 

StopDrawing() 
EndProcedure 


Procedure Initialisation_MapIso() 
Shared DecalageX.l,DecalageY.l,Offset.l 


 For Y = 1 To #TailleMapY 
 For X = 1 To #TailleMapX 

 DecalageX = DecalageX + (#TailleTileX/2) 
 DecalageY = DecalageY + (#TailleTileY/2) 
  
 Map(X,Y)\X    = DecalageX 
 Map(X,Y)\Y    = DecalageY 


Next X 
   Offset+1 
   DecalageX = -(Offset*(#TailleTileX/2))    
   DecalageY = (#TailleTileY/2)*Offset 
Next Y 

EndProcedure 

Posted: Thu Feb 23, 2006 9:21 pm
by Anonymous
New example with wave effect.
Enjoy ! :D

Code: Select all

;Deformation Wave  Map isométrique  
;Par Cpl.Bator 

#TailleMapX=40 
#TailleMapY=40 

#TailleTileX = 16 
#TailleTileY = 8 

Structure World 
 X.f 
 Y.f 
 Z.f 
 WaveHeight_A.f 
 WaveHeight_B.f 
 EndStructure 

Global WaveSpeed.f : WaveSpeed = 10 

Dim Map.World(#TailleMapX,#TailleMapY) 

;-Initialisation des composants DirectX 
If InitSprite()=0 Or InitMouse()=0 Or InitKeyboard()=0 
 MessageRequester("Erreur","Impossible d'initialiser DirectX") 
  End 
   EndIf 
    
OpenScreen(800 , 600,32,"") 


Declare UpdateMap() 
Declare Initialisation_MapIso() 


Initialisation_MapIso() 

Repeat 
 ExamineKeyboard() : ExamineMouse() : ClearScreen(0,0,0) 
  UpdateMap() 
    FlipBuffers() 
     Until KeyboardPushed(#PB_Key_Escape) 



Procedure UpdateMap() 
StartDrawing(ScreenOutput()) 
DrawingMode(4|1) 
FrontColor(255,255,255) 



WaveSpeed+0.1 
For Y = 1 To #TailleMapY 
For X = 1 To #TailleMapX 


;Calcul des vagues, puis affectation à la hauteur (Z). 
   Map(x,y)\WaveHeight_A = x*Cos((x*20*2*0.144)+WaveSpeed) 
   Map(y,x)\WaveHeight_B = x*Cos((x*20*2*0.144)+WaveSpeed) 
   Map(X,Y)\Z = (Map(x,y)\WaveHeight_A + Map(x,y)\WaveHeight_B)/2 



;Affichage des segments 
If x=>1 And x<#TailleMapX And y=>1 And y<#TailleMapY 
LineXY(352 + Map(X,Y)\X ,150+ Map(X,Y)\Y - Map(X,Y)\Z ,352 + Map(X+1,Y)\X ,150+ Map(X+1,Y)\Y - Map(X+1,Y)\Z) 
LineXY(352 + Map(X,Y)\X ,150+ Map(X,Y)\Y - Map(X,Y)\Z ,352 + Map(X,Y+1)\X ,150+ Map(X,Y+1)\Y - Map(X,Y+1)\Z) 
EndIf 
Next : Next 

StopDrawing() 
EndProcedure 


Procedure Initialisation_MapIso() 
Shared DecalageX.l,DecalageY.l,Offset.l 


 For Y = 1 To #TailleMapY 
 For X = 1 To #TailleMapX 

 DecalageX = DecalageX + (#TailleTileX/2) 
 DecalageY = DecalageY + (#TailleTileY/2) 
  
 Map(X,Y)\X    = DecalageX 
 Map(X,Y)\Y    = DecalageY 


Next X 
   Offset+1 
   DecalageX = -(Offset*(#TailleTileX/2))    
   DecalageY = (#TailleTileY/2)*Offset 
Next Y 

EndProcedure 

Posted: Thu Feb 23, 2006 10:16 pm
by Anonymous
This is a new example with a heightmap file.
you can use this bitmap for example :
http://www.penguinbyte.com/apps/pbwebst ... ghtmap.bmp

Code: Select all

;Deformation by HeightMap File To Isometric
;Par Cpl.Bator 

#TailleMapX=64
#TailleMapY=64

#TailleTileX = 40
#TailleTileY = 20

Structure World 
 X.f 
 Y.f 
 Z.f 
 WaveHeight_A.f
 WaveHeight_B.f
 EndStructure 

Global WaveSpeed.f : WaveSpeed = 1
Dim Map.World(#TailleMapX,#TailleMapY) 

Global ScrollX.l,ScrollY.l
ScrollX = 400
ScrollY = 200


MessageRequester("WARNING","Choose a bitmap, the size must be 128x128")
File$ = OpenFileRequester("Ouvrir un *.bmp","\","Fichiers bitmap|*.bmp",0)
If File$ = "" : End : EndIf

LoadImage(0,File$)


UseImage(0)
StartDrawing(ImageOutput())

For y = 0 To 127
For x = 0 To 127

Color.l = Point(x,y)
R.l = Red(Color)
G.l = Green(Color)
B.l = Blue(Color)
Grey.l = (R+G+B)/3
Map(Int(X/2),Int(Y/2))\Z = (Grey)

Next x
Next y
StopDrawing()




;-Initialisation des composants DirectX 
If InitSprite()=0 Or InitMouse()=0 Or InitKeyboard()=0 
 MessageRequester("Erreur","Impossible d'initialiser DirectX") 
  End 
   EndIf 
    
OpenScreen(800 , 600,32,"") 


Declare UpdateMap() 
Declare Initialisation_MapIso() 
Declare ControlInput()



   



Initialisation_MapIso() 

Repeat 
 ExamineKeyboard() : ExamineMouse() : ClearScreen(0,0,0) 
  UpdateMap() 
   ControlInput()
    FlipBuffers() 
     Until KeyboardPushed(#PB_Key_Escape) 



Procedure UpdateMap() 
StartDrawing(ScreenOutput()) 
DrawingMode(4|1) 
FrontColor(255,255,255) 


For Y = 1 To #TailleMapY 
For X = 1 To #TailleMapX 



If Map(X,Y)\X+ScrollX > 0 And Map(X,Y)\X+ScrollX < 800 And Map(X,Y)\Y+ScrollY-Map(X,Y)\Z > 0 And Map(X,Y)\Y+ScrollY-Map(X,Y)\Z < 600
;Affichage des segments 
If x=>1 And x<#TailleMapX And y=>1 And y<#TailleMapY 
LineXY(ScrollX + Map(X,Y)\X ,ScrollY + Map(X,Y)\Y - Map(X,Y)\Z ,ScrollX + Map(X+1,Y)\X ,ScrollY + Map(X+1,Y)\Y - Map(X+1,Y)\Z) 
LineXY(ScrollX + Map(X,Y)\X ,ScrollY + Map(X,Y)\Y - Map(X,Y)\Z ,ScrollX + Map(X,Y+1)\X ,ScrollY + Map(X,Y+1)\Y - Map(X,Y+1)\Z) 
EndIf 

EndIf


Next : Next 


StopDrawing() 



EndProcedure 

Procedure ControlInput()
; Gestion Basique du scrolling.


If KeyboardPushed(#PB_Key_Left)
ScrollX+20
EndIf

If KeyboardPushed(#PB_Key_Right)
ScrollX-20
EndIf

If KeyboardPushed(#PB_Key_Down)
ScrollY-10
EndIf

If KeyboardPushed(#PB_Key_Up)
ScrollY+10
EndIf

EndProcedure

Procedure Initialisation_MapIso() 
Shared DecalageX.l,DecalageY.l,Offset.l 


 For Y = 1 To #TailleMapY 
 For X = 1 To #TailleMapX 

 DecalageX = DecalageX + (#TailleTileX/2) 
 DecalageY = DecalageY + (#TailleTileY/2) 
  
 Map(X,Y)\X    = DecalageX 
 Map(X,Y)\Y    = DecalageY 


Next X 
   Offset+1 
   DecalageX = -(Offset*(#TailleTileX/2))    
   DecalageY = (#TailleTileY/2)*Offset 
Next Y 

EndProcedure

Posted: Fri Feb 24, 2006 1:54 am
by coma
good work.
do you plan to make a little (or big :D) game with it ?

Posted: Fri Feb 24, 2006 12:25 pm
by Anonymous
Maybe in the future... :wink: , not at this moment.

Posted: Sat Feb 25, 2006 12:25 am
by SCRJ
:shock:

Great examples :D

Thanks for sharing :)

Posted: Sat Feb 25, 2006 1:52 am
by Dare2
Neat, short and sweet!

Thanks! :)

How far are you intending to take this?

Posted: Sat Feb 25, 2006 10:36 am
by Anonymous
this is just for my personal training.
and shared with others. :wink:
Bye.
@+

Posted: Wed Aug 15, 2007 4:02 am
by Rook Zimbabwe
Updated for PB 4.1

Code: Select all

;**************************************** 
;* By Cpl.Bator                         * 
;* Demo Of map2D Isometric              * 
;* Example 01                           * 
;**************************************** 

Global ScreenWidth.l , ScreenWidth = 1024 
Global ScreenHeight.l , ScreenHeight = 768 
Global ScrollX.l , ScrollY.l 

;Constants For the Map 
#TailleMapX = 64        ; Size of the map 
#TailleMapY = 64
#TailleTileX = 64       ; Size of tile 
#TailleTileY = 32 


;-Structure For la Map Iso 
Structure World 
X.l 
Y.l 
Type.l 
EndStructure 

Global Dim Map.World( #TailleMapX , #TailleMapY ) 


;-Init of DirectX 
If InitSprite ()=0 Or InitMouse ()=0 Or InitKeyboard ()=0 
  MessageRequester ( "Error" , "Cannot Init DirectX" ) 
   End 
    EndIf 

ExamineDesktops()
;-open screen 
OpenWindow (0,0,0,DesktopWidth(0) , DesktopHeight(0), "Exemple 01 - Map2D isométrique - Par Cpl.Bator" , #PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget ) 
OpenWindowedScreen ( WindowID (0),0,0,DesktopWidth(0) , DesktopHeight(0),1,0,0) 


;-Declaration of procs 
Declare ConvertDataToSprite() 
Declare CreateMapIsometric(Taille_Map_X.l,Taille_Map_Y.l,TileType.l) 
Declare UpdateMap() 
Declare ControlInput() 

;-Constants 
Enumeration 
    #Bloc_Grass 
EndEnumeration 




ConvertDataToSprite() 


CreateMapIsometric( #TailleMapX , #TailleMapY , #Bloc_Grass ) 



Repeat 
  ExamineKeyboard () : ExamineMouse () : ClearScreen (#Black) 
  UpdateMap() 
   ControlInput() 
     FlipBuffers () 
      Until KeyboardPushed ( #PB_Key_Escape ) 




Procedure ControlInput() 



If KeyboardPushed ( #PB_Key_Left ) 
ScrollX-20 
EndIf 

If KeyboardPushed ( #PB_Key_Right ) 
ScrollX+20 
EndIf 

If KeyboardPushed ( #PB_Key_Down ) 
ScrollY+20 
EndIf 

If KeyboardPushed ( #PB_Key_Up ) 
ScrollY-20 
EndIf 

EndProcedure 



Procedure UpdateMap() 
Shared TilePosX.l,TilePosY.l 

For Y = 1 To #TailleMapY 
For X = 1 To #TailleMapX 

TilePosX = Map(X,Y)\X - ScrollX 
TilePosY = Map(X,Y)\Y - SpriteHeight (Map(X,Y)\Type)+ #TailleTileY - ScrollY 

;Display tile if this on the screen 
If TilePosX >- #TailleTileX And TilePosX < ScreenWidth And TilePosY >- #TailleTileX And TilePosY < ScreenHeight 
  DisplayTransparentSprite (Map(X,Y)\Type ,TilePosX,TilePosY) 
   
EndIf 

; StartDrawing(ScreenOutput()) 
; Locate(TilePosX,TilePosY) 
; DrawText(Str(X)+":"+Str(Y)) 
; StopDrawing() 
  
  
Next X 
Next Y 
EndProcedure 



Procedure CreateMapIsometric(Taille_Map_X.l,Taille_Map_Y.l,TileType.l) 
Shared DecalageX.l,DecalageY.l,Offset.l 

  For Y = 1 To Taille_Map_Y 
  For X = 1 To Taille_Map_X 

 DecalageX = DecalageX + ( #TailleTileX /2) 
 DecalageY = DecalageY + ( #TailleTileY /2) 
  
 Map(X,Y)\X = DecalageX 
 Map(X,Y)\Y = DecalageY 
 Map(X,Y)\Type = TileType 
  
Next X 
   Offset+1 
   DecalageX = -(Offset*( #TailleTileX /2)) 
   DecalageY = ( #TailleTileY /2)*Offset 
Next Y 


EndProcedure 


Procedure ConvertDataToSprite() 


Shared DataR.l 
TransparentSpriteColor (-1,RGB(255,0,255)) 

Restore SpriteData 

CreateSprite ( #Bloc_Grass ,64,64) 

If StartDrawing ( SpriteOutput ( #Bloc_Grass )) 

For x = 0 To 64 -1 
  For y = 0 To 64 -1 
    Read DataR 
    Plot (x,y,DataR) 
  Next y 
Next x 

StopDrawing () 

EndIf 

EndProcedure 




DataSection 
SpriteData: 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,104739,103714,101664,97821,27672,23317,18705,14861,11273,8455,6148,4355,3073,2305,2305,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,105251,1801275,90657,742273,742273,742273,742273,742273,742273,742273,742273,742273,808322,1072520,1204619,1204619,1204619,1204619,1598346,3237505,3631231,3631231,3631230,3761016,3955566,3954281,3755873,2571089,1714235,1384238,331295,2846,2049,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,24093,23579,105251,21266,2196033,742273,742273,742273,742273,742273,742273,742273,742273,808322,1138313,1204619,1204619,1204619,1204619,1335690,2516356,3631231,3631231,3631231,3696252,3891058,3955052,3888230,3426395,1978951,1647926,923431,68381,3104,2561,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,23579,1209138,105251,814380,1998654,1932861,1274931,23065,814380,742273,742273,742273,742273,808066,1072520,1204619,1204619,1204619,1204619,1270155,1991815,3500160,3631231,3631231,3696766,3826038,3955567,3954538,3756386,2637139,1714493,1384241,331296,2846,2561,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,485415,21523,1143345,22551,105251,24607,1077552,1538103,742273,742273,742273,742273,742273,742273,742273,940165,1204619,1204619,1204619,1204619,1204619,1663881,3172225,3631231,3631231,3631231,3695995,3890802,3955052,3953767,3426653,1978952,1647927,923432,68382,3104,3073,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,23322,22808,90657,22294,105251,945966,22551,2722377,1472310,742273,742273,742273,742273,742273,742273,808066,1072520,1204619,1204619,1204619,1204619,1335690,2647428,3631231,3631231,3631231,3696767,3826296,3955824,3954538,3821922,2571604,1649214,1450289,397346,2846,3074,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,222243,1406517,1472310,1274931,21523,748587,105251,880173,551208,742273,742273,742273,742273,742273,742273,742273,742273,874372,1204362,1204619,1204619,1204619,1270155,1991559,3368832,3631231,3631231,3631231,3696509,3826036,3955052,3953768,3361117,1978952,1648183,989482,199710,3104,3073,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1143345,22808,1011759,748587,23322,551208,105251,23579,353829,551208,23579,742273,742273,742273,742273,742273,742273,742530,1006471,1204619,1204619,1204619,1204619,1598089,2844291,3631231,3631231,3631231,3631231,3696251,3890802,3954539,3821922,2571603,1648958,1450290,528675,2847,3329,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1209138,1340724,21266,23579,288036,1406517,1472310,2524998,105251,288036,485415,1077552,22808,288036,742273,742273,742273,742273,742273,808323,1138313,1204619,1204619,1204619,1335690,2253702,3369088,3631231,3631231,3631231,3696766,3761015,3955309,3953767,3426652,1978952,1647927,1120810,134174,3104,3329,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,419622,222243,1669689,22037,814380,1932861,1077552,2130240,105251,24350,23836,1011759,23579,24607,742273,742273,742273,742273,742273,742273,874372,1204362,1204619,1204619,1204619,1598089,3040899,3631231,3631231,3631231,3631231,3696509,3891059,3954538,3821922,2702931,1714750,1516081,594466,2845,3586,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,222243,90657,814380,1867068,748587,945966,1011759,945966,1011759,2524998,105251,551208,748587,1077552,21780,742273,742273,742273,742273,742273,742273,742529,1006214,1204619,1204619,1204619,1335691,2253958,3434624,3631231,3631231,3631231,3631230,3761273,3889774,3953767,3492444,2175816,1713718,1186602,199966,68639,3843,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1077552,880173,24607,682794,156450,1274931,814380,23579,90657,24864,105251,90657,24093,1209138,23836,748587,742273,742273,742273,742273,742273,742273,808323,1138570,1204619,1204619,1204619,1598346,2909827,3631231,3631231,3631231,3631231,3696509,3825524,3954795,3821922,2965845,1911871,1581361,791588,68381,5123,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1538103,23322,23322,24864,222243,90657,1669689,1538103,21266,682794,23065,23836,105251,22551,1143345,880173,945966,742273,742273,742273,742273,742273,742273,742529,1006470,1204619,1204619,1204619,1270155,1991559,3368833,3631231,3631231,3631231,3631230,3761530,3890287,3953767,3689309,2504521,1713719,1449517,397087,68381,5636,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1735482,353829,23065,1472310,20752,1274931,288036,2130240,682794,748587,19210,23065,105251,880173,24864,90657,1998654,1274931,742273,742273,742273,742273,742273,742273,874115,1204362,1204619,1204619,1204619,1335690,2581892,3631231,3631231,3631231,3631231,3696766,3825525,3954539,3821922,3294293,2174528,1581617,1054502,134174,6918,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,551208,353829,617001,24607,748587,748587,1143345,156450,1274931,288036,1801275,1209138,24350,222243,105251,24350,21266,353829,419622,21780,742273,742273,742273,742273,742273,742530,1006727,1204619,1204619,1204619,1204619,1729417,3237505,3631231,3631231,3631231,3631230,3695995,3890030,3953767,3755358,2833229,1910584,1515309,594209,133917,6663,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1011759,222243,22037,814380,551208,945966,1274931,682794,1735482,90657,23322,617001,1867068,156450,105251,1669689,24864,222243,19724,742273,742273,742273,742273,742273,742273,742273,874115,1138826,1204619,1204619,1204619,1335691,2188422,3565696,3631231,3631231,3631231,3696509,3825780,3954795,3822178,3557208,2371907,1712946,1186344,265757,7687,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,814380,814380,485415,22037,1143345,1472310,2327619,1011759,814380,748587,288036,682794,617001,288036,1143345,485415,105251,1077552,485415,742273,742273,742273,742273,742273,742273,742273,742273,742273,940421,1204619,1204619,1204619,1204619,1401226,2778755,3631231,3631231,3631231,3631231,3761273,3955567,3954281,3820895,3162192,1976890,1581102,725794,133916,7173,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,814380,353829,945966,1011759,23836,1077552,24350,814380,1209138,23836,90657,748587,21523,1274931,24093,22294,105251,1274931,1143345,24864,742273,742273,742273,742273,742273,742273,742273,742273,808066,1072264,1204619,1204619,1204619,1204619,1794952,3237760,3631231,3631231,3631231,3696509,3891315,3955052,3887973,3688793,2635079,1778997,1317673,265501,8199,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,105251,748587,353829,880173,551208,814380,880173,945966,222243,617001,1209138,682794,485415,22037,24864,1735482,551208,23065,682794,105251,748587,1209138,945966,24607,1143345,21009,419622,742273,742273,742273,742273,808323,1138570,1204619,1204619,1204619,1270155,2319494,3631231,3631231,3631231,3631231,3761273,3890032,3954281,3821407,3424851,2108476,1581358,660002,133916,7430,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,105251,2064447,880173,485415,1538103,2196033,945966,23579,22037,23579,353829,1077552,353829,222243,682794,1274931,24350,1735482,551208,105251,1274931,485415,1603896,21523,880173,1932861,682794,551208,21009,742273,742273,742273,874372,1204619,1204619,1204619,1204619,1532554,3040898,3631231,3631231,3631231,3696510,3891316,3955052,3887974,3754842,2832456,1778997,1251881,199708,8712,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,105251,682794,23065,880173,1143345,617001,1735482,23579,21266,24864,748587,419622,90657,1538103,24607,1274931,1209138,748587,23579,1143345,2130240,105251,682794,22808,1472310,353829,742273,742273,742273,742273,742273,742273,742273,742529,1072263,1204619,1204619,1204619,1204619,2122887,3565440,3631231,3631231,3696767,3761017,3955568,3954281,3821408,3556692,2305854,1647150,660001,133916,7942,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,105251,748587,1472310,1274931,551208,23579,1209138,682794,682794,222243,945966,1143345,945966,288036,24864,288036,20752,24864,2459205,22551,1603896,105251,24864,90657,1143345,23065,742273,742273,742273,742273,742273,742273,742273,742273,874115,1204362,1204619,1204619,1204619,1401226,2844291,3631231,3631231,3631231,3696253,3890803,3955052,3887974,3820379,3095627,2042166,1317673,265501,9224,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,105251,1867068,1801275,1538103,485415,288036,945966,551208,24093,288036,22551,1669689,22808,1209138,1209138,1340724,880173,1472310,19724,419622,24350,22808,353829,105251,22294,24350,1603896,742273,742273,742273,742273,742273,742273,742273,742273,742530,1072520,1204619,1204619,1204619,1204619,1860488,3434368,3631231,3631231,3696766,3825782,3955311,3954538,3821408,3622228,2634305,1712688,660002,133916,7687,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,105251,419622,23322,1209138,24607,156450,17411,1406517,22808,90657,1340724,23579,1209138,1867068,419622,353829,1340724,945966,24350,880173,1209138,23065,1801275,105251,617001,23579,24093,617001,742273,742273,742273,742273,742273,742273,742273,742273,940165,1204619,1204619,1204619,1204619,1335690,2582148,3631231,3631231,3631231,3761017,3956080,3955052,3888231,3820380,3161421,2042166,1186088,265244,7430,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,105251,1011759,24864,682794,288036,24607,1340724,24864,419622,551208,288036,24093,748587,22037,1669689,485415,1209138,156450,2130240,1340724,1538103,23322,1406517,24607,1011759,105251,24864,23836,1867068,742273,742273,742273,742273,742273,742273,742273,742273,808322,1138569,1204619,1204619,1204619,1204619,1794953,3237505,3631231,3631231,3761275,3890547,3955567,3954538,3821665,3622484,2305598,1646895,528416,68123,4611,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,105251,19210,90657,748587,156450,23322,1077552,1143345,24093,1669689,90657,22551,1274931,1472310,1143345,90657,1143345,156450,485415,748587,1274931,1077552,23322,24350,814380,105251,617001,22294,880173,742273,742273,742273,742273,742273,742273,742273,742273,742273,940678,1204619,1204619,1204619,1204619,1335691,2385285,3500160,3631231,3761531,3890803,3955823,3955052,3888231,3820380,2569801,1713204,1054758,133915,3588,16711935,16711935,16711935 
Data.l 16711935,16711935,105251,23322,1340724,748587,22037,1077552,22037,90657,24607,222243,24607,485415,22037,23322,682794,24607,682794,551208,748587,1472310,1209138,1472310,682794,1209138,1735482,2196033,24864,105251,24607,90657,156450,742273,742273,742273,742273,742273,742273,742273,742273,808579,1138570,1204619,1204619,1204619,1204619,1729417,3106434,3631231,3695996,3890803,3955825,3955567,3954282,3821409,2833743,1779512,1449772,397086,2589,2305,16711935,16711935 
Data.l 16711935,16711935,105251,1538103,748587,288036,222243,1077552,682794,880173,156450,748587,814380,353829,353829,1077552,353829,23579,1406517,2196033,945966,419622,24093,617001,485415,22037,748587,1735482,945966,105251,1143345,24350,23579,742273,742273,742273,742273,742273,742273,742273,742273,742273,1006214,1204619,1204619,1204619,1204619,1335690,2516357,3434624,3696253,3890803,3955825,3955823,3955052,3887973,2966102,1780286,1581359,857379,133916,2049,16711935,16711935 
Data.l 16711935,105251,1077552,880173,1011759,748587,24607,1077552,23579,24350,288036,1932861,682794,1538103,2130240,20752,682794,880173,748587,814380,24350,945966,485415,485415,353829,748587,485415,1209138,1603896,288036,105251,24864,880173,1077552,814380,880173,880173,742273,742273,742273,742273,742273,808322,1138569,1204619,1204619,1204619,1204619,1794952,3041154,3630973,3890804,3955825,3955823,3955052,3888230,2966616,1781056,1581873,1251880,265503,3364,1792,16711935 
Data.l 16711935,105251,1209138,880173,485415,22294,24864,288036,24093,1077552,24093,1077552,880173,288036,24607,222243,1209138,1340724,485415,617001,353829,21780,945966,880173,24350,1406517,353829,551208,2327619,222243,105251,1801275,880173,1669689,90657,23065,742273,742273,742273,742273,742273,742273,742273,1006214,1204619,1204619,1204619,1204619,1401226,2581893,3565438,3890804,3955824,3955823,3955052,3887974,2900824,1781057,1647411,1383722,397089,3879,1536,16711935 
Data.l 105251,1801275,551208,1538103,288036,156450,1340724,551208,288036,20752,814380,288036,419622,1209138,24864,485415,20752,1209138,156450,1472310,1077552,24093,814380,1077552,682794,23579,814380,1406517,22808,1143345,814380,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,104739,103202,99101,92183,18191,11529,7173,4356,2818,2050,1537,1537,1793 
Data.l 105251,682794,682794,419622,617001,24350,353829,288036,945966,288036,1472310,814380,156450,419622,1340724,814380,617001,22037,22037,353829,419622,1603896,1143345,20495,22037,21009,222243,419622,1011759,945966,23836,872227,674848,14091,674848,609055,1129302,1129302,1129302,1129302,1129302,1129302,1129559,1328738,1527658,1527658,1527658,1527658,1593450,2446957,3562348,4084832,4149854,4149084,4083031,3884881,2502973,1647145,1580579,922392,198929,68115,134425,1794 
Data.l 16711935,105251,1011759,617001,1209138,23322,1209138,748587,1538103,19467,1011759,18439,617001,485415,288036,19467,945966,748587,485415,23579,1932861,1406517,682794,24607,1932861,23065,21780,24093,23322,1274931,105251,148504,16147,543262,12292,16661,1129302,1129302,1129302,1129302,1129302,1129302,1195866,1461351,1527658,1527658,1527658,1527658,1724523,2775149,3693676,4084576,4149596,4149082,4016982,3753036,2305334,1646631,1317150,396050,67600,133653,1793,16711935 
Data.l 16711935,105251,1932861,23836,682794,222243,1143345,22037,24864,222243,23065,1472310,1406517,90657,23065,748587,1340724,682794,945966,20752,880173,23579,1143345,24607,880173,353829,2130240,222243,22808,1077552,105251,1464364,82711,2451259,1069606,1129302,1129302,1129302,1129302,1129302,1129302,1129559,1328480,1527658,1527658,1527658,1527658,1527658,1987435,3103599,3890797,4084576,4149596,4149081,3951188,3424072,2107439,1580324,593428,132879,67602,134167,2561,16711935 
Data.l 16711935,16711935,105251,419622,90657,1011759,551208,880173,19981,1209138,353829,1340724,1669689,682794,1077552,1867068,353829,945966,485415,24607,945966,23322,1011759,19724,23065,2064447,485415,748587,1340724,105251,543262,82711,15890,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1196123,1461351,1527658,1527658,1527658,1527658,1593450,2381421,3563119,3890540,4150112,4149340,4148568,3950674,3029057,1844267,1054235,198414,67343,68116,3075,16711935,16711935 
Data.l 16711935,16711935,105251,22294,880173,1011759,2196033,23322,814380,24607,1472310,814380,156450,1406517,485415,22551,1077552,1538103,419622,1143345,353829,880173,1603896,24350,1143345,880173,1011759,1932861,1735482,105251,16147,1727536,16661,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1195352,1328994,1527658,1527658,1527658,1527658,1527658,1790315,2906734,3825776,3890282,4150110,4149083,4017238,3884622,2634042,1712423,527635,67085,67344,68117,3843,16711935,16711935 
Data.l 16711935,16711935,16711935,105251,1801275,748587,814380,1011759,2590791,1011759,19724,1406517,617001,748587,24864,23579,288036,551208,222243,1143345,1538103,24607,24864,1998654,1011759,748587,419622,1077552,105251,1332778,13834,1201192,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129559,1262173,1461609,1527658,1527658,1527658,1527658,1593194,2118508,3431791,3825776,3955304,4149598,4149082,3951444,3621195,2239539,1185823,198413,67084,67345,4612,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,105251,24350,551208,617001,682794,1209138,90657,419622,23836,1406517,485415,156450,24093,1340724,24864,814380,18439,485415,1669689,551208,90657,23322,21523,21523,288036,105251,13577,1135399,15376,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1195866,1395302,1527658,1527658,1527658,1527658,1527658,1593450,2643821,3629168,3825776,4020582,4149340,4148825,3950931,3226435,1910060,527893,67084,67342,67858,4612,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,105251,22294,1472310,1340724,1011759,551208,551208,617001,1472310,156450,419622,1669689,1274931,485415,1143345,1406517,617001,880173,288036,22294,2064447,1472310,1603896,105251,1201192,15633,214297,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1195609,1394787,1527658,1527658,1527658,1527658,1527658,1527658,1855851,3234927,3825776,3825776,4020324,4149084,4017238,3884623,2962748,1383716,198927,66827,67342,5380,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,105251,1143345,353829,24607,1011759,1209138,288036,748587,24864,22037,222243,880173,1472310,23579,748587,1406517,24864,485415,682794,24607,1735482,682794,353829,105251,214297,345883,82711,280090,1129302,1129302,1129302,1129302,1129302,1129559,1328224,1461865,1527658,1527658,1527658,1527658,1527658,1593194,2250349,3563119,3825776,3825776,4085089,4149081,3951444,3621193,2436918,791066,67084,67084,67343,4611,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,105251,23579,617001,288036,617001,90657,551208,353829,485415,1077552,22294,1077552,1669689,551208,551208,1077552,1538103,1143345,353829,2130240,485415,105251,872227,674848,15890,214297,1129302,1129302,1129302,1129302,1129302,1129302,1261916,1461352,1527658,1527658,1527658,1527658,1527658,1527658,1790059,2840941,3694704,3825776,3890797,4084063,4083032,3950673,3357507,2106926,461843,66828,67085,5381,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,105251,20752,24864,222243,1735482,24864,1209138,24093,945966,24350,814380,288036,21780,222243,814380,20752,23579,1603896,288036,1077552,23322,105251,609055,14348,740641,16918,740641,1129302,1129302,1129302,1129302,1195352,1394787,1527658,1527658,1527658,1527658,1527658,1527658,1593194,2052972,3235183,3825776,3825776,3955046,4149339,4016981,3818572,3028285,1514532,198927,66828,67086,5124,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,105251,2064447,24350,814380,24093,23836,1406517,485415,24093,1472310,23836,23322,90657,1011759,1472310,2196033,22294,1406517,485415,105251,15890,14605,740641,674848,13063,740641,148504,1129302,1129302,1129559,1262173,1461609,1527658,1527658,1527658,1527658,1527658,1527658,1593450,2578285,3563376,3825776,3825518,4084576,4083032,3950930,3555142,2699318,922907,67084,67085,6149,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,105251,90657,551208,22551,24864,485415,24864,419622,23579,22808,222243,945966,485415,24350,90657,1998654,682794,21009,682794,105251,1069606,16918,15633,2056501,543262,12292,1129302,1129302,1129302,1195352,1394787,1527658,1527658,1527658,1527658,1527658,1527658,1527658,1921387,3037806,3825776,3825776,3955304,4149339,4016982,3884623,3225920,2106925,396305,67085,67342,5893,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,419622,1274931,1340724,353829,24093,222243,1274931,1011759,1077552,90657,20495,1340724,156450,880173,2130240,617001,105251,214297,15633,15633,609055,609055,2319673,1924915,1129302,1129302,1129302,1195866,1461351,1527658,1527658,1527658,1527658,1527658,1527658,1593450,2315884,3366255,3825776,3825262,4084833,4083032,3950931,3752521,2962746,1383201,133134,67086,7686,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,24607,90657,288036,23065,682794,814380,22294,22037,682794,22551,288036,1472310,748587,682794,551208,156450,105251,14605,16918,14862,13320,15376,1332778,1129302,1129302,1129302,1129302,1262173,1527402,1527658,1527658,1527658,1527658,1527658,1527658,1790315,2840685,3628912,3825776,3955303,4149339,4017238,3950415,3423299,2698804,856600,67085,67086,6918,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,353829,2064447,288036,682794,1143345,748587,1274931,419622,485415,551208,22551,1867068,24607,90657,105251,1201192,14862,16404,15890,82711,16404,1266985,1129302,1129302,1129302,1129559,1328738,1527658,1527658,1527658,1527658,1527658,1527658,1593450,2315628,3234926,3825776,3890541,4084576,4083032,3950931,3752779,3159869,2041130,396050,67085,8712,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1077552,90657,22551,1932861,748587,485415,21523,1077552,1801275,222243,1406517,419622,1011759,222243,105251,14605,1398571,2714431,16404,345883,12549,938020,1595950,1129302,1129302,1195609,1461094,1527658,1527658,1527658,1527658,1527658,1527658,1790315,2775149,3563376,3825775,4020067,4149082,4016982,3950159,3554885,2896440,1317151,133134,67342,7174,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,682794,24093,353829,551208,419622,1011759,156450,1011759,1538103,1143345,24864,1340724,105251,1069606,14091,13320,543262,13834,15633,16918,1129302,1129302,1129302,1129302,1262173,1461865,1527658,1527658,1527658,1527658,1527658,1593194,2184300,3169391,3760240,3955304,4149342,4148568,3950931,3818572,3291455,2304559,593684,67342,8198,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,485415,1011759,485415,222243,551208,1011759,419622,814380,945966,156450,90657,1011759,105251,16661,740641,477469,411676,82711,411676,15633,1129302,1129302,1129302,1129559,1328737,1527658,1527658,1527658,1527658,1527658,1527658,1658986,2709869,3497583,3890539,4084575,4149081,4016982,3950415,3686471,3028025,1448737,198927,67342,6405,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,288036,1603896,90657,880173,1340724,945966,1406517,1406517,551208,748587,105251,477469,1464364,411676,12035,15119,477469,345883,543262,1129302,1129302,1129302,1195609,1395301,1527658,1527658,1527658,1527658,1527658,1527658,1987435,3169391,3759726,4019554,4149084,4083032,3950931,3884364,3423042,2436145,659735,67342,6406,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,22037,1274931,485415,90657,2196033,222243,814380,748587,1274931,288036,105251,806434,872227,872227,280090,16404,14862,14605,1129302,1129302,1129302,1129302,1261659,1461609,1527658,1527658,1527658,1527658,1527658,1658986,2775149,3563119,3955046,4149597,4149081,4016981,3950415,3752265,3094076,1580837,198928,67342,4868,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,485415,20495,814380,288036,22808,1406517,1735482,1801275,105251,1003813,14348,1201192,15633,1332778,15376,15119,1129302,1129302,1129302,1129302,1129559,1328223,1527658,1527658,1527658,1527658,1527658,1527658,2052972,3300719,3890284,4084574,4149083,4083032,3950931,3884364,3488835,2501683,856857,133135,4868,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,485415,288036,22037,1077552,945966,1340724,1340724,24350,105251,609055,674848,82711,214297,1332778,14862,674848,15633,609055,1129302,1129302,1195352,1395045,1527658,1527658,1527658,1527658,1527658,1724522,2906734,3759983,4020324,4149597,4149082,4016982,3950415,3752009,3094075,1843751,396563,67599,3843,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,551208,24864,748587,551208,748587,24093,105251,1595950,16404,674848,1727536,609055,14862,477469,214297,12549,938020,1129302,1129302,1196123,1461609,1527658,1527658,1527658,1527658,1527658,2250092,3563376,3890797,4084574,4149083,4083032,3950931,3818572,3357249,2633266,1054493,198414,4099,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,222243,1472310,1209138,22294,551208,1209138,105251,674848,806434,345883,82711,1003813,16661,16147,16661,15119,14348,1129302,1129559,1328737,1527658,1527658,1527658,1527658,1527658,1790058,3169135,3825776,3955046,4149341,4149082,4016981,3950415,3555142,2962233,1975080,527892,67343,3586,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,23065,353829,24607,288036,105251,806434,1332778,16147,15633,16918,1135399,345883,674848,15890,1003813,1129302,1129302,1196123,1461608,1527658,1527658,1527658,1527658,1593194,2446957,3628912,3825519,4084832,4149083,4083031,3950674,3752522,3159871,2501426,1185564,198927,3587,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,1274931,2064447,22551,156450,105251,148504,14348,609055,674848,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129816,1394787,1527658,1527658,1527658,1527658,1527658,1987179,3235183,3825776,3955048,4149597,4148825,3951444,3884622,3357763,2896439,1909288,527380,67342,3587,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,156450,353829,105251,740641,82711,1201192,280090,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1261916,1461865,1527658,1527658,1527658,1527658,1658986,2709613,3694704,3825518,4084832,4149082,4082774,3950672,3620679,3028283,2698547,1119772,132879,3587,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,20752,485415,105251,1859122,477469,1069606,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129559,1328738,1527658,1527658,1527658,1527658,1527658,2118508,3431791,3825776,3955047,4149340,4083032,3950931,3818315,3291455,2830645,2106409,527379,67342,3330,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,105251,105251,15890,16147,15890,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1129302,1195352,1394788,1527658,1527658,1527658,1527658,1724522,2840941,3694704,3890796,4084575,4149081,3951444,3950159,3555141,3027512,2369581,1382943,264464,3330,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,105251,104226,101920,96539,23829,16910,12298,9224,6917,4868,3843,3330,3074,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
Data.l 16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935,16711935 
EndDataSection
Still learning, any errors mine! :D