Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Memory Addresses #7

Open
23 of 39 tasks
Eein opened this issue Aug 12, 2023 · 3 comments
Open
23 of 39 tasks

Memory Addresses #7

Eein opened this issue Aug 12, 2023 · 3 comments

Comments

@Eein
Copy link
Collaborator

Eein commented Aug 12, 2023

Readables

  • PlayerPosition/Coordinates
    • xyz
    • xyz on world map
    • NOT NEEDED; facing direction - PlayerController -> LookDirectionController -> currentLookAngle
      • 1 - Up
      • 2 - UpRight
      • 3 - Right
      • 4 - DownRight
      • 5 - Down
      • 6 - DownLeft
      • 7 - Left
      • 8 - UpLeft
  • NOT NEEDED; Movement state (walking, jumping, climbing ladder/wall, falling, on rope, swimming)
    • Enums arent available, however there are some in code
    • only swimming can be easily found
    • climbing may be able to be inferred and theres two different states, climbing (up) and sliding (down a ladder)
    • others have not been tested thoroughly
  • Enemy positions on map (are they attacking us, how to approach?)
    • Map enemy orientation or info if they have seen us (for back attacks)
      • all of the above info exists i believe; however its all runtime - will require extensive digging to get this one.
  • Item locations on map (chests, levers, farmables)
    • there is a HashMap for openedChests and in LevelDefinition there is chest count; Like enemies, i believe these are gameobjects that are preloaded in each scene
  • NPC locations on map (if we need to talk to someone who is moving?)
    • These are monoscripts on the GameObjects - will take a while to figure this out.
    • Actor ID so we know who is who?
      • as above with chests and enemies, this looks like preloaded gameobjects.
  • Main Menu (at start of game)
    • Cursor Position
    • Character selection (left/right position of male/female MC on new game seems like it's random)
      • have the addresses to determine which character we are selecting.
    • How do we determine if there are saves or not? We need to be able to select New Game/Load Game.
      • can get this.
  • Menu
    • Cursor Position
    • is open
  • Pause Menu (PauseManager)
    • isPaused (in case we need to buffer)
  • NOT NEEDED; Game State (Battle, Menu, Etc.)
    • this is not found in any enum i can find, but each state has a manager we can use to construct one.
  • "In Control Flags" (can we move, or are we blocked by a dialog box or cutscene?)
    • Dialog - found something semi-reliable - working on it
    • Cutscene- I this cutscenes may be similar to dialogs
  • Inventory State
  • Party State (PlayerPartyManager and maybe others)
    • Current Character HP/MP
    • Character stats/level (incl. max HP/MP)
  • Battle state
    • Enemy turn order
    • Current enemy HP
    • Enemy counter/weakness
    • Attack timing (need to know what attack is incoming in order to time blocking)
      Might need player/enemy position since timing might be different on distance
    • Enemy locks and lock countdown
    • Party turns available
    • NOT NEEDED; Party available attack types (incl. skills)
      • i currently have indexes for these (not sure about combos yet) - so we can map character + skill index = skill if we want. i think the skills show their attack types on them though.
    • Boost energy available (on ground / on char)
    • Ultimate gauge progress
  • NOT NEEDED; Story Progression
    • I believe ProgressionManager has the current uniqueId of story, but it needs to be translated

Eventual writables

  • Movement Speed (For quick testing) - toggleable by imgui
@Eein
Copy link
Collaborator Author

Eein commented Aug 13, 2023

How do we determine if there are saves or not? We need to be able to select New Game/Load Game

I think it always shows both?
if not, the ui button has a way to know if its disabled or not - maybe that will work
image

@orkaboy
Copy link
Collaborator

orkaboy commented Sep 29, 2023

Marked the "in control" flags as done; the stuff we have with dialog open and the player movement state should work for almost every situation.

@knutwalker
Copy link

Story Progression
I believe ProgressionManager has the current uniqueId of story, but it needs to be translated

These are the activities you run through in an NG Any% with their name and id mapping and possible sub activity indexes:

Activity { id: "52a858126abcbff4d8d033bb23f08fdc", name: "Children of the Solstice", sub_index: 0 }
Activity { id: "66bcb808b6721bd46b2da0ac01e59ff3", name: "The school in the sky", sub_index: 0 }
Activity { id: "19c82a7232c1f9f4a86307c77eed7639", name: "A sound in the night", sub_index: 0 }
Activity { id: "9a99e968b0534d947b44897bd695e1dc", name: "Heroes in the making", sub_index: 0 }
Activity { id: "f03de10d62c095444aae69a23ad42138", name: "The Forbidden Cavern", sub_index: 0 }
Activity { id: "11c7d807be4a2274fa40818b4c2b0daf", name: "Trails in the mist", sub_index: 0 }
Activity { id: "f14dfa5f7dbe6fc4a84ec44490a8e47b", name: "Trials in the mist", sub_index: 0 }
Activity { id: "97ae3ffc4a27e43449f392c8f3622369", name: "To new horizons", sub_index: 0 }
Activity { id: "aad3864147cb3d94c9edf10226a0bb54", name: "Malkomud the wizard", sub_index: 0 }
Activity { id: "cea51817e36010549a2efc96ae88f7ed", name: "Onwards to Brisk", sub_index: 0 }
Activity { id: "1f74b48c5438e7b41839550cb3f62ed0", name: "Pirate's Honor", sub_index: 0 }
Activity { id: "9a97cd4c9d198914aab17879bf5a13f9", name: "Journey to Wraith Island", sub_index: 0 }
Activity { id: "d00a7c25e212e01469c0fdae8a1c7e92", name: "Banshee's Wail", sub_index: 0 }
Activity { id: "4f94835e4800c4248b07227b3869826b", name: "The Necromancer's Stone", sub_index: 0 }
Activity { id: "9e1d3cb17e380004c95de80dd3e2615b", name: "Dweller of Woe", sub_index: 0 }
Activity { id: "cd6c659277fdf0247bab6787b0f2c705", name: "Cataclysm", sub_index: 0 }
Activity { id: "2161a932a48416a4dbdc1fb08da04572", name: "The Sea of Nightmare", sub_index: 0 }
Activity { id: "2161a932a48416a4dbdc1fb08da04572", name: "The Sea of Nightmare", sub_index: 1 }
Activity { id: "2161a932a48416a4dbdc1fb08da04572", name: "The Sea of Nightmare", sub_index: 2 }
Activity { id: "0590bf14dae78ac4da5c600e55776e1f", name: "A new beginning", sub_index: 0 }
Activity { id: "0590bf14dae78ac4da5c600e55776e1f", name: "A new beginning", sub_index: 1 }
Activity { id: "0590bf14dae78ac4da5c600e55776e1f", name: "A new beginning", sub_index: 2 }
Activity { id: "fff5565a565aa3f41828f3cbbcad927b", name: "Coral Hammer", sub_index: 0 }
Activity { id: "fff5565a565aa3f41828f3cbbcad927b", name: "Coral Hammer", sub_index: 2 }
Activity { id: "f8b55a3c67c0e0840b6f823e9040a23f", name: "The lost city of the Docarri", sub_index: 0 }
Activity { id: "f8b55a3c67c0e0840b6f823e9040a23f", name: "The lost city of the Docarri", sub_index: 1 }
Activity { id: "eb53f09b0154f384da0581cd701f6f51", name: "Oracle of Tides", sub_index: 0 }
Activity { id: "1fe0faabd6a679d43b862853cd230758", name: "Beyond the waterfall", sub_index: 0 }
Activity { id: "f1a4ea18def72674e89343d80885f742", name: "Glacial hike", sub_index: 0 }
Activity { id: "e5509c07107d8414eb4ffcd57b80b58b", name: "Dweller of Torment", sub_index: 0 }
Activity { id: "48e54951a8035484fbb829c4b04edefc", name: "Vial of Time", sub_index: 0 }
Activity { id: "48e54951a8035484fbb829c4b04edefc", name: "Vial of Time", sub_index: 1 }
Activity { id: "b29658354979b0c4db0318a217443223", name: "The sleeping giant", sub_index: 0 }
Activity { id: "059ddb424612fb7439f5a1d343f079b6", name: "Hills of Intent", sub_index: 0 }
Activity { id: "07ef5008d43832848a6d9cbbf9c8c4de", name: "The Crone of the Marsh", sub_index: 0 }
Activity { id: "f2ec74275bf9ea3489e1bc825f7bef4d", name: "Clockwork Conundrum", sub_index: 0 }
Activity { id: "53291799882c5614fa565caf064d5e9f", name: "Dweller of Strife", sub_index: 0 }
Activity { id: "d6352d7b22428c74094742c721e175c3", name: "On borrowed time", sub_index: 0 }
Activity { id: "ca291a70aa1807b49be236d89ba7da00", name: "The kingdom in the clouds", sub_index: 0 }
Activity { id: "ca291a70aa1807b49be236d89ba7da00", name: "The kingdom in the clouds", sub_index: 1 }
Activity { id: "ee67b04d7a573624f8cd8682c5286e5e", name: "Swan Song of the Warrior Cook", sub_index: 0 }
Activity { id: "ee67b04d7a573624f8cd8682c5286e5e", name: "Swan Song of the Warrior Cook", sub_index: 1 }
Activity { id: "f86a96d9bc36bba4c9e5c369460016dd", name: "Across the Sea of Stars", sub_index: 0 }
Activity { id: "f86a96d9bc36bba4c9e5c369460016dd", name: "Across the Sea of Stars", sub_index: 1 }
Activity { id: "0d5287f6c54e0a04ebc732335e3c3602", name: "A world without sun", sub_index: 0 }
Activity { id: "0d5287f6c54e0a04ebc732335e3c3602", name: "A world without sun", sub_index: 1 }
Activity { id: "d359e9894c101ff428a75c16703be338", name: "The dead of a forgotten race", sub_index: 0 }
Activity { id: "d359e9894c101ff428a75c16703be338", name: "The dead of a forgotten race", sub_index: 1 }
Activity { id: "d935526b4a51c4d489b82304f9bba8df", name: "Living Glass", sub_index: 0 }
Activity { id: "13b141452f02cf04fa75e3e04a1bfbc4", name: "Cult of the birdmen", sub_index: 0 }
Activity { id: "13b141452f02cf04fa75e3e04a1bfbc4", name: "Cult of the birdmen", sub_index: 1 }
Activity { id: "13b141452f02cf04fa75e3e04a1bfbc4", name: "Cult of the birdmen", sub_index: 2 }
Activity { id: "13b141452f02cf04fa75e3e04a1bfbc4", name: "Cult of the birdmen", sub_index: 3 }
Activity { id: "13b141452f02cf04fa75e3e04a1bfbc4", name: "Cult of the birdmen", sub_index: 4 }
Activity { id: "13b141452f02cf04fa75e3e04a1bfbc4", name: "Cult of the birdmen", sub_index: 5 }
Activity { id: "dc089832d5c807d4680f0d184529af56", name: "To kill the clouds", sub_index: 0 }
Activity { id: "6cc0584116564ed45901e54bc7ab58fe", name: "Back to Home World", sub_index: 0 }
Activity { id: "913b12bbb2756a94baac8c1f85c22e36", name: "The Artificer", sub_index: 0 }
Activity { id: "4e5d2415274cfa148a061bca3fcc4bdf", name: "Dweller of Dread", sub_index: 0 }
Activity { id: "2b80f9d8826569f4f95c8b2cd4290845", name: "The Fated Hour", sub_index: 0 }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants