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

Lookup tables for displaying values #146

Open
jaredballou opened this issue Oct 16, 2022 · 3 comments
Open

Lookup tables for displaying values #146

jaredballou opened this issue Oct 16, 2022 · 3 comments

Comments

@jaredballou
Copy link

As a user, I would like to be able to show a human-readable string for certain value types which are mapped to a table of values.

For example, I have a list of item IDs and names, I would like to be able to have PINCE mark the item ID field as mapped to that table, and then I would see that the item ID value is "7" and the GUI table would display the string (either as value, or in a new column).

The user would create something like a CSV/JSON/YAML hash of key/value pairs to be used to do the lookup in the initial implementation. Some games store the strings in memory so a dynamic loader might be useful, but that'd be a lot more complex to implement.

This would be stored in the table file per game, since most of these data mappings will be game specific.

Ideally, I'd be able to use a drop-down to set the value of a field that is marked as a lookup value, so that I can both see the item name in the table as well as set the value in the edit dialog using a dropdown when I am modifying the data.

@korcankaraokcu
Copy link
Owner

If you are talking about object analysis of a given memory section, yeah it's planned within the object dissection, it's also included in the roadmap if I remember correctly. If it's not the feature you are talking about, I'd appreciate a more detailed example of it

@jaredballou
Copy link
Author

An example is Persona 5 Royal, there are two places where this would come in handy. The "social links" are a list of 24 relationships with other characters, but they are added in chronological order of discovery. So, in one save game the 5th relationship value might be 13 (meaning with a character named Iwai) or 7 (with Ann).

Since there is no fixed order to be able to create a single table that has all the descriptions correct for each relationship, I'd like to have a list of items such as "13:Iwai, 7:Ann" and so on to create a lookup table that is assigned to the ID field.

This way, in the Table view, I'd have 24 slots where the first value (ID) can be displayed numerically, edited numerically, but can also be displayed/selected from the list items using the key as the value and letting the user see what relationship is which via text labels instead of needing to look up the IDs every time they load a different saved game.

To implement this, we would need two features at once:

  1. An arbitrary "table" type that can be stored within the saved table data, which can contain simple hashed lists of key:label
  2. The ability to set a value to "Table Lookup" and then select the Table which applies to this data type.

I can mock up a branch with an example of some of this, but I'm not quite sure the proper way to implement storage of the tables and how we'd tie them together. But if you just want a crack at what it would look like, I can do that.

@korcankaraokcu
Copy link
Owner

Thanks for the detailed explanation. I'll reference this issue once entry table supports custom objects

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

No branches or pull requests

2 participants