Include Sig features
This commit is contained in:
parent
4a1eb1cd61
commit
e9ba22354c
@ -316,6 +316,11 @@
|
||||
+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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user