|
|
|
@ -315,6 +315,11 @@ |
|
|
|
|
+FillTexturedTriangle() - Software rasterizes a textured, coloured, triangle |
|
|
|
|
+FillTexturedPolygon() - Hijacks DecalStructure for configuration |
|
|
|
|
+olc::vf2d arguments for Sprite::Sample() functions |
|
|
|
|
|
|
|
|
|
SIG Updates: |
|
|
|
|
The following additions are included in Sig's version of the PGE header (this is a sig version) |
|
|
|
|
+GetAnyKey() - Returns when a key is activated |
|
|
|
|
+GetAnyKeyPress() - Returns when a key is pressed down (and if a keyboard key, which key it was) |
|
|
|
|
|
|
|
|
|
!! Apple Platforms will not see these updates immediately - Sorry, I dont have a mac to test... !! |
|
|
|
|
!! Volunteers willing to help appreciated, though PRs are manually integrated with credit !! |
|
|
|
@ -971,6 +976,8 @@ namespace olc |
|
|
|
|
virtual bool OnUserUpdate(float fElapsedTime); |
|
|
|
|
// Called once on application termination, so you can be one clean coder
|
|
|
|
|
virtual bool OnUserDestroy(); |
|
|
|
|
virtual void GetAnyKey(); |
|
|
|
|
virtual void GetAnyKeyPress(olc::Key pressedKey); |
|
|
|
|
|
|
|
|
|
// Called when a text entry is confirmed with "enter" key
|
|
|
|
|
virtual void OnTextEntryComplete(const std::string& sText); |
|
|
|
@ -3674,6 +3681,9 @@ namespace olc |
|
|
|
|
bool PixelGameEngine::OnUserDestroy() |
|
|
|
|
{ return true; } |
|
|
|
|
|
|
|
|
|
void PixelGameEngine::GetAnyKey(){}; |
|
|
|
|
void PixelGameEngine::GetAnyKeyPress(olc::Key pressedKey){}; |
|
|
|
|
|
|
|
|
|
void PixelGameEngine::OnTextEntryComplete(const std::string& sText) { UNUSED(sText); } |
|
|
|
|
bool PixelGameEngine::OnConsoleCommand(const std::string& sCommand) { UNUSED(sCommand); return false; } |
|
|
|
|
|
|
|
|
@ -3831,8 +3841,10 @@ namespace olc |
|
|
|
|
platform->HandleSystemEvent(); |
|
|
|
|
|
|
|
|
|
// Compare hardware input states from previous frame
|
|
|
|
|
auto ScanHardware = [&](HWButton* pKeys, bool* pStateOld, bool* pStateNew, uint32_t nKeyCount) |
|
|
|
|
auto ScanHardware = [&](HWButton* pKeys, bool* pStateOld, bool* pStateNew, uint32_t nKeyCount,bool keyboard=true) |
|
|
|
|
{ |
|
|
|
|
bool pressed=false; |
|
|
|
|
int key; |
|
|
|
|
for (uint32_t i = 0; i < nKeyCount; i++) |
|
|
|
|
{ |
|
|
|
|
pKeys[i].bPressed = false; |
|
|
|
@ -3841,6 +3853,8 @@ namespace olc |
|
|
|
|
{ |
|
|
|
|
if (pStateNew[i]) |
|
|
|
|
{ |
|
|
|
|
pressed=true; |
|
|
|
|
key=i; |
|
|
|
|
pKeys[i].bPressed = !pKeys[i].bHeld; |
|
|
|
|
pKeys[i].bHeld = true; |
|
|
|
|
} |
|
|
|
@ -3849,13 +3863,18 @@ namespace olc |
|
|
|
|
pKeys[i].bReleased = true; |
|
|
|
|
pKeys[i].bHeld = false; |
|
|
|
|
} |
|
|
|
|
GetAnyKey(); |
|
|
|
|
} |
|
|
|
|
pStateOld[i] = pStateNew[i]; |
|
|
|
|
} |
|
|
|
|
if (pressed) { |
|
|
|
|
if (keyboard) {GetAnyKeyPress((olc::Key)key);} |
|
|
|
|
else {GetAnyKeyPress(olc::Key::NONE);} |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
ScanHardware(pKeyboardState, pKeyOldState, pKeyNewState, 256); |
|
|
|
|
ScanHardware(pMouseState, pMouseOldState, pMouseNewState, nMouseButtons); |
|
|
|
|
ScanHardware(pMouseState, pMouseOldState, pMouseNewState, nMouseButtons, false); |
|
|
|
|
|
|
|
|
|
// Cache mouse coordinates so they remain consistent during frame
|
|
|
|
|
vMousePos = vMousePosCache; |
|
|
|
|