update remaining offsets

This commit is contained in:
guiyomu-dev
2026-01-23 18:38:35 +01:00
parent 7ab900906f
commit ba3d781a0b
3 changed files with 28 additions and 15 deletions

View File

@@ -318,7 +318,7 @@ func (gd *GameReader) InCharacterSelectionScreen() bool {
}
func (gd *GameReader) GetSelectedCharacterName() string {
return gd.Process.ReadStringFromMemory(gd.Process.moduleBaseAddressPtr+0x1C3D694, 0)
return gd.Process.ReadStringFromMemory(gd.Process.moduleBaseAddressPtr+gd.offset.SelectedCharName, 0)
}
func (gd *GameReader) LegacyGraphics() bool {
@@ -438,11 +438,11 @@ func (gd *GameReader) IsDismissableModalPresent() (bool, string) {
}
func (gd *GameReader) LastGameName() string {
return gd.ReadStringFromMemory(gd.moduleBaseAddressPtr+0x29FB450, 0)
return gd.ReadStringFromMemory(gd.moduleBaseAddressPtr+gd.offset.LastGameName, 0)
}
func (gd *GameReader) LastGamePass() string {
return gd.ReadStringFromMemory(gd.moduleBaseAddressPtr+0x29FB4A8, 0)
return gd.ReadStringFromMemory(gd.moduleBaseAddressPtr+gd.offset.LastGamePassword, 0)
}
func (gd *GameReader) FPS() int {

View File

@@ -8,8 +8,8 @@ import (
)
func (gd *GameReader) GetKeyBindings() data.KeyBindings {
blob := gd.ReadBytesFromMemory(gd.moduleBaseAddressPtr+0x18C2894, 0x500)
blobSkills := gd.ReadBytesFromMemory(gd.moduleBaseAddressPtr+0x1CE8510, 0x500)
blob := gd.ReadBytesFromMemory(gd.moduleBaseAddressPtr+gd.offset.KeyBindingsOffset, 0x500)
blobSkills := gd.ReadBytesFromMemory(gd.moduleBaseAddressPtr+gd.offset.KeyBindingsSkillsOffset, 0x500)
skillsKB := [16]data.SkillBinding{}
for i := 0; i < 7; i++ {

View File

@@ -19,15 +19,12 @@ type Offset struct {
Ping uintptr
LegacyGraphics uintptr
CharData uintptr
SelectedCharName uintptr
LastGameName uintptr
LastGamePassword uintptr
}
func calculateOffsets(process *Process) Offset {
memory, err := process.getProcessMemory()
if err != nil || len(memory) == 0 {
// Return empty offsets - will be recalculated when game is ready
return Offset{}
}
func calculateOffsets(_ *Process) Offset {
// UnitTable
unitTableOffset := uintptr(0x1D95AF0)
@@ -55,17 +52,20 @@ func calculateOffsets(process *Process) Offset {
// FPS
fpsOffset := uintptr(0x1C46894)
// KeyBindings
keyBindingsOffset := uintptr(0x18C2894)
// KeyBindings Skills
keyBindingsSkillsOffset := uintptr(0x1CE8510)
// QuestInfo
questInfoOffset := uintptr(0)
questInfoOffset := uintptr(0x1DB23D8)
// Terror Zones
tzOffset := uintptr(0x248D4C8)
tzOffset := uintptr(0x248D430)
// Ping
pingOffset := uintptr(0)
pingOffset := uintptr(0x1CE78D0)
// LegacyGraphics
legacyGfxOffset := uintptr(0x1DB263E)
@@ -73,6 +73,15 @@ func calculateOffsets(process *Process) Offset {
// CharData
charDataOffset := uintptr(0x1CED5E8)
// Selected Char Name
selectedCharNameOffset := uintptr(0x1C3D694)
// Last Game Name
lastGameNameOffset := uintptr(0x24D5A90)
// Last Game Password
lastGamePasswordOffset := uintptr(0x24D5AE8)
return Offset{
UnitTable: unitTableOffset,
UI: uiOffsetPtr,
@@ -83,11 +92,15 @@ func calculateOffsets(process *Process) Offset {
WidgetStatesOffset: WidgetStatesOffset,
WaypointTableOffset: WaypointTableOffset,
FPS: fpsOffset,
KeyBindingsOffset: keyBindingsOffset,
KeyBindingsSkillsOffset: keyBindingsSkillsOffset,
QuestInfo: questInfoOffset,
TZ: tzOffset,
Ping: pingOffset,
LegacyGraphics: legacyGfxOffset,
CharData: charDataOffset,
SelectedCharName: selectedCharNameOffset,
LastGameName: lastGameNameOffset,
LastGamePassword: lastGamePasswordOffset,
}
}