From 465842710c7cb87e0e8fffd0b2afe3d624fe2354 Mon Sep 17 00:00:00 2001 From: "chirs241097@gmail.com" Date: Sat, 8 Mar 2014 02:23:30 +0000 Subject: Merge code for Windows, Leaf_Anim rewrite, should fix crashes in Windows. This revision (or the next one) will be released to public. --- hgewin/power.cpp | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100755 hgewin/power.cpp (limited to 'hgewin/power.cpp') diff --git a/hgewin/power.cpp b/hgewin/power.cpp new file mode 100755 index 0000000..dadcda9 --- /dev/null +++ b/hgewin/power.cpp @@ -0,0 +1,53 @@ +/* +** Haaf's Game Engine 1.8 +** Copyright (C) 2003-2007, Relish Games +** hge.relishgames.com +** +** Core functions implementation: power status +*/ + + +#include "hge_impl.h" + + +void HGE_Impl::_InitPowerStatus() +{ + hKrnl32 = LoadLibrary("kernel32.dll"); + + if(hKrnl32 != NULL) + lpfnGetSystemPowerStatus = (GetSystemPowerStatusFunc)GetProcAddress(hKrnl32, "GetSystemPowerStatus"); + + _UpdatePowerStatus(); +} + + +void HGE_Impl::_UpdatePowerStatus() +{ + SYSTEM_POWER_STATUS ps; + + if(lpfnGetSystemPowerStatus != NULL && lpfnGetSystemPowerStatus(&ps)) + { + if(ps.ACLineStatus == 1) + { + nPowerStatus = HGEPWR_AC; + } + else if(ps.BatteryFlag < 128) + { + nPowerStatus = ps.BatteryLifePercent; + } + else + { + nPowerStatus = HGEPWR_UNSUPPORTED; + } + } + else + { + nPowerStatus = HGEPWR_UNSUPPORTED; + } +} + + +void HGE_Impl::_DonePowerStatus() +{ + if(hKrnl32 != NULL) FreeLibrary(hKrnl32); +} -- cgit v1.2.3