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

How to decrypt the new version of IDS text #389

Closed
SherryChaos opened this issue May 14, 2024 · 6 comments
Closed

How to decrypt the new version of IDS text #389

SherryChaos opened this issue May 14, 2024 · 6 comments

Comments

@SherryChaos
Copy link

I know I shouldn't ask here, but I don't know who else can know the answer to this question:

the new version of Master Duel come with the new IDS_ITEM.bytes,

which used to be like: ITEM.LNG.en-US.ID1000001.Rescue Rabbit.

but now it looks like this: ITEM.LNG.en-US.c87857d0.Rescue Rabbit.

How do I get the original ID from the current "c87857d0" ?

Thanks in advance!

@Merik2013
Copy link
Contributor

Isnt that just the item id from itemid.json that it was originally using?

@SherryChaos
Copy link
Author

Isnt that just the item id from itemid.json that it was originally using?

Yes, I need the original IDs, as provided by ygomaster in itemID.json. I want to know how to get it, as the YGOMaster did.

@pixeltris
Copy link
Owner

Hi @SherryChaos, big fan of your work on MDPro3. Would be great to see a mirror of the repo on github.

Unfortunately I'm not familiar with raw IDS_ITEM.bytes data as YgoMaster uses .NET reflection to get the IDs then gets the names using lookups of the IDs:

IL2Class classInfo = classInfo = Assembler.GetAssembly("Assembly-CSharp").GetClass("IDS_ITEM", "YgomGame.TextIDs");
IL2Field[] fields = classInfo.GetFields();
foreach (IL2Field field in fields)

You'd have to use Ghidra to look into how they are doing their lookups

string name = YgomGame.Utility.ItemUtil.GetItemName(id);

@SherryChaos
Copy link
Author

Hi @SherryChaos, big fan of your work on MDPro3. Would be great to see a mirror of the repo on github.

Unfortunately I'm not familiar with raw IDS_ITEM.bytes data as YgoMaster uses .NET reflection to get the IDs then gets the names using lookups of the IDs:

IL2Class classInfo = classInfo = Assembler.GetAssembly("Assembly-CSharp").GetClass("IDS_ITEM", "YgomGame.TextIDs");
IL2Field[] fields = classInfo.GetFields();
foreach (IL2Field field in fields)

You'd have to use Ghidra to look into how they are doing their lookups

string name = YgomGame.Utility.ItemUtil.GetItemName(id);

Thank you for your interest in MDPro3 & your suggestion.
I'm not good at assembly language, I'll stick with the old file for now.

@SherryChaos
Copy link
Author

I just exported the ids i need using YgoMaster, it's very useful! Thank you, thank this project!

@SherryChaos
Copy link
Author

LOL, I just find the list in MasterDuel:
image

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