Make OpenMenus and Hover data accessible outside GetData() (#92)
Simply making openMenu and hoverData exposed like everything else in game_reader.go to be used with koolo on demand outside of GetData() This will improve openMenu and hover refresh by avoiding updating everything from GetData when we only need light information. Benefit: Increase responsiveness of bot, reduce cpu usage by much i already have the work done on koolo side waiting on this to be merged.
This commit is contained in:
@@ -45,7 +45,7 @@ func (gd *GameReader) GetData() data.Data {
|
|||||||
rawPlayerUnits := gd.GetRawPlayerUnits()
|
rawPlayerUnits := gd.GetRawPlayerUnits()
|
||||||
mainPlayerUnit := rawPlayerUnits.GetMainPlayer()
|
mainPlayerUnit := rawPlayerUnits.GetMainPlayer()
|
||||||
pu := gd.GetPlayerUnit(mainPlayerUnit)
|
pu := gd.GetPlayerUnit(mainPlayerUnit)
|
||||||
hover := gd.hoveredData()
|
hover := gd.HoveredData()
|
||||||
|
|
||||||
now := time.Now()
|
now := time.Now()
|
||||||
|
|
||||||
@@ -78,7 +78,7 @@ func (gd *GameReader) GetData() data.Data {
|
|||||||
// Always update other critical data
|
// Always update other critical data
|
||||||
corpseUnit := rawPlayerUnits.GetCorpse()
|
corpseUnit := rawPlayerUnits.GetCorpse()
|
||||||
roster := gd.getRoster(rawPlayerUnits)
|
roster := gd.getRoster(rawPlayerUnits)
|
||||||
openMenus := gd.openMenus()
|
openMenus := gd.OpenMenus()
|
||||||
|
|
||||||
// Quests
|
// Quests
|
||||||
// q1 := uintptr(gd.Process.ReadUInt(gd.moduleBaseAddressPtr+0x22E2978, Uint64))
|
// q1 := uintptr(gd.Process.ReadUInt(gd.moduleBaseAddressPtr+0x22E2978, Uint64))
|
||||||
@@ -132,7 +132,7 @@ func (gd *GameReader) InGame() bool {
|
|||||||
return player.UnitID > 0 && player.Position.X > 0 && player.Position.Y > 0 && player.Area > 0
|
return player.UnitID > 0 && player.Position.X > 0 && player.Position.Y > 0 && player.Area > 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gd *GameReader) openMenus() data.OpenMenus {
|
func (gd *GameReader) OpenMenus() data.OpenMenus {
|
||||||
uiBase := gd.Process.moduleBaseAddressPtr + gd.offset.UI - 0xA
|
uiBase := gd.Process.moduleBaseAddressPtr + gd.offset.UI - 0xA
|
||||||
|
|
||||||
buffer := gd.Process.ReadBytesFromMemory(uiBase, 0x16D)
|
buffer := gd.Process.ReadBytesFromMemory(uiBase, 0x16D)
|
||||||
@@ -163,7 +163,7 @@ func (gd *GameReader) openMenus() data.OpenMenus {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gd *GameReader) hoveredData() data.HoverData {
|
func (gd *GameReader) HoveredData() data.HoverData {
|
||||||
hoverAddressPtr := gd.Process.moduleBaseAddressPtr + gd.offset.Hover
|
hoverAddressPtr := gd.Process.moduleBaseAddressPtr + gd.offset.Hover
|
||||||
hoverBuffer := gd.Process.ReadBytesFromMemory(hoverAddressPtr, 12)
|
hoverBuffer := gd.Process.ReadBytesFromMemory(hoverAddressPtr, 12)
|
||||||
isUnitHovered := ReadUIntFromBuffer(hoverBuffer, 0, Uint16)
|
isUnitHovered := ReadUIntFromBuffer(hoverBuffer, 0, Uint16)
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import (
|
|||||||
|
|
||||||
func (gd *GameReader) GetRawPlayerUnits() RawPlayerUnits {
|
func (gd *GameReader) GetRawPlayerUnits() RawPlayerUnits {
|
||||||
rawPlayerUnits := make(RawPlayerUnits, 0)
|
rawPlayerUnits := make(RawPlayerUnits, 0)
|
||||||
hover := gd.hoveredData()
|
hover := gd.HoveredData()
|
||||||
for i := 0; i < 128; i++ {
|
for i := 0; i < 128; i++ {
|
||||||
unitOffset := gd.offset.UnitTable + uintptr(i*8)
|
unitOffset := gd.offset.UnitTable + uintptr(i*8)
|
||||||
playerUnitAddr := gd.Process.moduleBaseAddressPtr + unitOffset
|
playerUnitAddr := gd.Process.moduleBaseAddressPtr + unitOffset
|
||||||
|
|||||||
Reference in New Issue
Block a user