Пример #1
0
void Map_ReadHL( IDataStream *in, CPtrArray *map ){
	g_WadList = NULL;
	g_TextureNameCache = NULL;

	g_MapVersion = MAPVERSION_HL;
	Map_Read( in,map );

	FreeGSList( g_TextureNameCache );
	FreeGSList( g_WadList );
}
Пример #2
0
void Map_UpdateAllTiles()
{
	int cameraTileX = PIXEL_TO_MAP_TILE(Camera_Position.x);
	int cameraTileY = PIXEL_TO_MAP_TILE(Camera_Position.y);
	
	Map_ScrollX = cameraTileX;
	Map_ScrollY = cameraTileY;
	
	Map_ScrollXOffset = Map_ScrollX % MAP_TILE_SCROLL_WRAP_X;
	Map_ScrollYOffset = Map_ScrollY % MAP_TILE_SCROLL_WRAP_Y;
	
	int vramY = Map_ScrollYOffset * 2;
	
	for(int row = 0; row < MAP_TILE_SCROLL_WRAP_Y; row++)
	{
		Map_Read(0, cameraTileX, cameraTileY + row, MapRead_Horizontal);
		int vramX = Map_ScrollXOffset * 2;
		
		for(int column = 0; column < MAP_TILE_SCROLL_WRAP_X; column++)
		{
			uint8_t tile = 4 * Map_ReadBuffer[column];
			
			SetTile(vramX, vramY, tile + 0);
			SetTile(vramX + 1, vramY, tile + 1);
			SetTile(vramX, vramY + 1, tile + 2);
			SetTile(vramX + 1, vramY + 1, tile + 3);
		
			vramX += 2;
			if(vramX >= VRAM_SCROLL_WRAP_X)
				vramX = 0;
		}
		
		vramY += 2;
		if(vramY >= VRAM_SCROLL_WRAP_Y)
			vramY = 0;
	}
}
Пример #3
0
void Map_UpdateSliceHorizontal(int offsetY)
{
	Map_Read(0, Map_ScrollX, Map_ScrollY + offsetY, MapRead_Horizontal);
	
	int vramX = Map_ScrollXOffset * 2;
	int vramY = (Map_ScrollYOffset + offsetY) * 2;
	
	while(vramY >= VRAM_SCROLL_WRAP_Y)
		vramY -= VRAM_SCROLL_WRAP_Y;
	
	for(int i = 0; i < MAP_TILE_SCROLL_WRAP_X; i++)
	{
		uint8_t tile = 4 * Map_ReadBuffer[i];
		
		SetTile(vramX, vramY, tile + 0);
		SetTile(vramX + 1, vramY, tile + 1);
		SetTile(vramX, vramY + 1, tile + 2);
		SetTile(vramX + 1, vramY + 1, tile + 3);
	
		vramX += 2;
		if(vramX == VRAM_SCROLL_WRAP_X)
			vramX = 0;
	}
}
Пример #4
0
void Map_UpdateSliceVertical(int offsetX)
{
	Map_Read(0, Map_ScrollX + offsetX, Map_ScrollY, MapRead_Vertical);
	
	int vramX = (Map_ScrollXOffset + offsetX) * 2;
	int vramY = Map_ScrollYOffset * 2;
	
	while(vramX >= VRAM_SCROLL_WRAP_X)
		vramX -= VRAM_SCROLL_WRAP_X;
	
	for(int i = 0; i < MAP_TILE_SCROLL_WRAP_Y; i++)
	{
		uint8_t tile = 4 * Map_ReadBuffer[i];
		
		SetTile(vramX, vramY, tile + 0);
		SetTile(vramX + 1, vramY, tile + 1);
		SetTile(vramX, vramY + 1, tile + 2);
		SetTile(vramX + 1, vramY + 1, tile + 3);
	
		vramY += 2;
		if(vramY == VRAM_SCROLL_WRAP_Y)
			vramY = 0;
	}
}
Пример #5
0
void Map_ReadQ2( IDataStream *in, CPtrArray *map ){
	g_MapVersion = MAPVERSION_Q2;
	Map_Read( in,map );
}