mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-12-14 12:09:36 +00:00
Fix mirrors, poly draw (WIP), and game over screen. Temp disable high scores.
This commit is contained in:
40
PortabilityLayer/ScanlineMaskIterator.cpp
Normal file
40
PortabilityLayer/ScanlineMaskIterator.cpp
Normal file
@@ -0,0 +1,40 @@
|
||||
#include "ScanlineMaskIterator.h"
|
||||
|
||||
namespace PortabilityLayer
|
||||
{
|
||||
ScanlineMaskIterator::ScanlineMaskIterator(const void *data, ScanlineMaskDataStorage dataStorage)
|
||||
: m_loc(data)
|
||||
, m_storage(dataStorage)
|
||||
{
|
||||
}
|
||||
|
||||
size_t ScanlineMaskIterator::Next()
|
||||
{
|
||||
switch (m_storage)
|
||||
{
|
||||
case ScanlineMaskDataStorage_UInt8:
|
||||
{
|
||||
const uint8_t *loc = static_cast<const uint8_t*>(m_loc);
|
||||
uint8_t value = *loc;
|
||||
m_loc = loc + 1;
|
||||
return value;
|
||||
}
|
||||
case ScanlineMaskDataStorage_UInt16:
|
||||
{
|
||||
const uint16_t *loc = static_cast<const uint16_t*>(m_loc);
|
||||
uint16_t value = *loc;
|
||||
m_loc = loc + 1;
|
||||
return value;
|
||||
}
|
||||
case ScanlineMaskDataStorage_UInt32:
|
||||
{
|
||||
const uint32_t *loc = static_cast<const uint32_t*>(m_loc);
|
||||
uint32_t value = *loc;
|
||||
m_loc = loc + 1;
|
||||
return value;
|
||||
}
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user