|
De-Initialize a map.
TMapScrollInfo MapInfo; MapInfo = hel_MapInit(0, 4096, 32, FALSE, Layer0_Map); // Lots of stuff here ... hel_MapDeInit(&MapInfo); |
|
Get the currect map position in tiles.
TMapScrollInfo MapInfo; TPoint32 Pt={0,0}; MapInfo = hel_MapInit(0, 4096, 32, FALSE, Layer0_Map); hel_MapSetPosition(&MapInfo, 512, 0); Pt = hel_MapGetPosition(&MapInfo); ham_VBAText("Position in tiles X: %d \n", Pt.X); ham_VBAText("Position in tiles Y: %d \n", Pt.Y); |
|
Get the currect map position in pixel.
TMapScrollInfo MapInfo; TPoint32 Pt={0,0}; MapInfo = hel_MapInit(0, 4096, 32, FALSE, Layer0_Map); hel_MapSetPosition(&MapInfo, 512, 0); Pt = hel_MapGetPositionInPixel(&MapInfo); ham_VBAText("Position in pixels X: %d \n", Pt.X); ham_VBAText("Position in pixels Y: %d \n", Pt.Y); |
|
Initialize a map.
TMapScrollInfo MapInfo; MapInfo = hel_MapInit(0, // BgNo 4096, // Map-width in tiles 32, // Map-height in tiles FALSE, // Is it a rotation map? Layer0_Map); // Pointer to map-data |
|
Initialize a map.
The parameter MapSize can be on of the following defines, depending if it's a rotation map or not... For a normal map use one of these:
For a rotation map use one of these:
TMapScrollInfo MapInfo; MapInfo = hel_MapInitEx(0, // BgNo 4096, // Map-width in tiles 512, // Map-height in tiles TRUE, // Is it a rotation map? MAP_SIZE_ROT_64X64, // hardware mapsize Layer0_Map); // Pointer to map-data |
|
Check if a map uses boundschecking.
TMapScrollInfo MapInfo; MapInfo = hel_MapInit(0, 4096, 32, FALSE, Layer0_Map); if (hel_MapIsBoundsCheckEnabled(&MapInfo)) ham_VBAText("Boundscheck enabled\n"); else ham_VBAText("Boundscheck disabled\n"); |
|
Redraw the map.
TMapScrollInfo MapInfo; MapInfo = hel_MapInit(0, 4096, 32, FALSE, Layer0_Map); hel_MapRedraw(&MapInfo); |
|
Scroll the map.
TMapScrollInfo MapInfo; MapInfo = hel_MapInit(0, 4096, 32, FALSE, Layer0_Map); while(GameLoopActive) { if(NewFrame) { if(UserPressedRight) { // Scroll one pixel to the right hel_MapScrollBy(&MapInfo, 1, 0); } } } hel_MapDeInit(&MapInfo); |
|
Setup map bounds checking.
TMapScrollInfo MapInfo; MapInfo = hel_MapInit(0, 4096, 32, FALSE, Layer0_Map); // Turn off boundscheck hel_MapIsBoundsCheckEnabled(&MapInfo, FALSE); |
|
Setup map notify-callbacks.
TMapScrollInfo MapInfo; // Is called whenever a new row has been drawn void MapOnTopRowChanged(TMapScrollInfo *pMapInfo, u32 X, u32 Y) { ham_DrawText(1, 1, "MapOnTopRowChanged "); ham_DrawText(1, 2, "X: %d ", X); ham_DrawText(1, 3, "Y: %d ", Y); } // Init map MapInfo = hel_MapInit(0, 4096, 32, FALSE, Layer0_Map); // Set callback function(s) hel_MapSetCallbacks(&MapInfo, (PMapNotifyFunc)MapOnTopRowChanged, NULL); // Scroll the map by 32 pixels in X and Y hel_MapScrollBy(&MapInfo, 32, 32); |
|
Set map position in tiles.
TMapScrollInfo MapInfo; MapInfo = hel_MapInit(0, 4096, 32, FALSE, Layer0_Map); hel_MapSetPosition(&MapInfo, 512, 0); |
|
Set map position in pixels.
TMapScrollInfo MapInfo; MapInfo = hel_MapInit(0, 4096, 32, FALSE, Layer0_Map); hel_MapSetPositionInPixel(&MapInfo, 512, 0); |