Erik-JS / SSSS_Tools

Collection of tools for Saint Seiya: Soldiers' Soul
MIT License
8 stars 3 forks source link

Character Viewer #2

Open DarkPaladin125 opened 3 years ago

DarkPaladin125 commented 3 years ago

I don't know if this is actually an issue, but oh well...

I don't own the Athena and Hades OCE DLC, since I've got my Steam version recently. (I do own them on the PS4). When I unlock them through the Soul Save Editor, they can be used in Battle and other modes, but I can't access their models on Character Viewer (Collection). Is there any workaround?

Thanks.

Erik-JS commented 3 years ago

Anyone is free to open an issue here for any reason. GitHub has recently deployed a Discussions feature, but I haven't set it up yet in any of my repos. Even when I eventually do it, of course I'll recommend people to use it, but it won't be "enforced".

This problem with the character viewer will be investigated now - I think I was aware of this already... Can't say when, but I'll see what I can do.

DarkPaladin125 commented 3 years ago

I see. I actually felt a little guilty for commenting something that is not actually a feature (the README says it doesn't edit collection items), but this issue in particular made me feel down.

I thank you for your politeness. Looking forward to see the feature implemented. 👏

DarkPaladin125 commented 3 years ago

Hey, @Erik-JS! Some news! I did a little research myself. And I found something very interesting.

When I first posted the issue, I had just finished Legend of Cosmo, but had done no progress on Battle of Gold.

After my first battle, fought as Mu, I unlocked Aries Mu [God Cloth] and his model for purchase. I made a backup without having purchased it (but having the character unlocked), and a new backup after having purchased it. Then, I xxd'd the files and diff'd them.

There were four changes, which I comment based on what I've understood from your source code:

  1. At 0x388c, which I have no idea what changed;
  2. At 0x3c2c, in which a single byte changed from 00 to 03, followed by 00 00 00 (must be a little endian Int32);
  3. At 0x5cd0, in which a single byte from 00 to 01, followed by 00 00 00 (must be a little endian Int32);
  4. At 0x6190, which stores the Cosmo Points amount (in fact, the difference subtraction is exactly 3000, the cost of the model).

Taking into account we're dealing with 4-byte integers, I made some calculations using the index 71 for Aries Mu [God Cloth] (from DESC_PLAYABLECHARACTERS.txt), by offsetting it to 144 (index for The Goddess Athena [Athena Cloth OCE]) and to 146 (index for The Underworld God Hades [Surplice OCE]). When correctly offsetting the second changed address (0x3c2c), and changing it from 00 to 03 successfully unlocked the character models.

The third changed address "family", when changed (from 00 to 01), by itself, yielded no result. But I might as well as change it for syncing sake anyway.

I'm emailing you the files I fiddled with. It may interest you as well. Sorry for the long text, and thanks a lot. 😄

I've achieved my goal. I guess it can be closed, but you may want to close it only when the feature is implemented. Therefore, I'll leave the closing up to you. Thanks again.

Gui1707 commented 3 years ago

@DarkPaladin125 Sady vc poderia me ensinar a fazer esse processo? Tenho alguns mods instalados e gostaria de tentar desbloquear o modo galeria para eles. Obrigado pela atenção.

DarkPaladin125 commented 3 years ago

@Gui1707 eu não sei se com MODs funciona. Vou compartilhar com você o que eu descobri:

Você vai precisar de um editor hexadecimal para editar o arquivo que o editor normalmente edita. Os modelos de personagem estão armazenados no endereço base 0x3B10. O modelo de cada personagem ocupa 4 bytes. Quando ele está bloqueado o valor é 0 (00 00 00 00), e quando liberado é 3 (00 00 00 03 no PS3, que organiza os bytes na forma big endian, ou 03 00 00 00 na Steam que organiza os bytes na forma little endian).

A ordem de cada personagem é dada no arquivo DESC_PLAYABLECHARACTERS.txt deste projeto, em que são fornecidos os índices de cada personagem. Para saber o endereço você deve fazer a seguinte conta: base + 4 × índice, lembrando de usar sempre o sistema hexadecimal.

Por exemplo, para saber onde fica armazenado o modelo do Poseidon (índice 127 = 7F em hexadecimal), você faz: 3B10 + 4 × 7F = 3D0C. Depois de descobrir você escreve 00 00 00 03 (PS3) ou 03 00 00 00 (Steam, que acho que é o caso por causa dos MODs) a partir endereço encontrado. Isso já desbloqueia o modelo do personagem.

Além disso, quando eu desbloqueei o modelo do Mu de Áries [Armadura Divina], também mexeu em outra região de memória. A base para essa região é 0x5BB4. Eu tentei mexer nela sozinho, não fez muita coisa, mas acho bom você mexer também. Ela muda para 1 (00 00 00 01 no PS3, ou 01 00 00 00 no PC) quando o modelo está destravado.

De novo, no exemplo do Poseidon: 5BB4 + 4 × 7F = 5DB0 e muda para 00 00 00 01 (PS3) ou 01 00 00 00 (Steam).

Isso é o que eu descobri.

Os problemas que eu vejo com os mods são:

  1. O maior dos problemas: eu mesmo não estudei como os mods são injetados 😅;
  2. Caso os dados dos MODs sejam armazenados na mesma região que os personagens normais, você vai ter que descobrir o índice de cada MOD na raça;
  3. Caso os dados dos MODs sejam armazenados em outra região, nenhuma das fórmulas que passei acima vai funcionar;
  4. Pode ser que o jogo nem suporte ter os MODs visualizáveis na Coleção; novamente, como não sei como eles funcionam, não posso afirmar isso com certeza.

Enfim, espero poder ter ajudado.

saintseiyakill commented 3 years ago

Eu preciso de ajudar, ja procurei diversos tutoriais e nao entendi como faço pra fazer a modificação e liberar Athena e Hades OCE. poderia me ajudar? Só preciso habilitar essas duas skins já que nao comprei na pre venda

Gui1707 commented 3 years ago

É bem tranquilo pra liberar os personagens se quiser entre em nosso servidor no Discord e eu te ensino. Abraço https://discord.gg/zASEAxkz

saintseiyakill commented 3 years ago

É bem tranquilo pra liberar os personagens se quiser entre em nosso servidor no Discord e eu te ensino. Abraço https://discord.gg/zASEAxkz o link está invalido. Meu problema agora é que consegui desbloquear as skins de Hades e Athena OCE, porem isso afetou minha galeria uma vez que os modelos nao aparecem, não consegui completar a galeria, pq os espaços dos modelos estão lá, porem nao habilitados. Jogo na steam e a conquista de 100% da galeria nao pode ser habilitada. sabe o que fazer nessa situação?

saintseiyakill commented 3 years ago

Hey, @Erik-JS! Some news! I did a little research myself. And I found something very interesting.

When I first posted the issue, I had just finished Legend of Cosmo, but had done no progress on Battle of Gold.

After my first battle, fought as Mu, I unlocked Aries Mu [God Cloth] and his model for purchase. I made a backup without having purchased it (but having the character unlocked), and a new backup after having purchased it. Then, I xxd'd the files and diff'd them.

There were four changes, which I comment based on what I've understood from your source code:

  1. At 0x388c, which I have no idea what changed;
  2. At 0x3c2c, in which a single byte changed from 00 to 03, followed by 00 00 00 (must be a little endian Int32);
  3. At 0x5cd0, in which a single byte from 00 to 01, followed by 00 00 00 (must be a little endian Int32);
  4. At 0x6190, which stores the Cosmo Points amount (in fact, the difference subtraction is exactly 3000, the cost of the model).

Taking into account we're dealing with 4-byte integers, I made some calculations using the index 71 for Aries Mu [God Cloth] (from DESC_PLAYABLECHARACTERS.txt), by offsetting it to 144 (index for The Goddess Athena [Athena Cloth OCE]) and to 146 (index for The Underworld God Hades [Surplice OCE]). When correctly offsetting the second changed address (0x3c2c), and changing it from 00 to 03 successfully unlocked the character models.

The third changed address "family", when changed (from 00 to 01), by itself, yielded no result. But I might as well as change it for syncing sake anyway.

I'm emailing you the files I fiddled with. It may interest you as well. Sorry for the long text, and thanks a lot. 😄

I've achieved my goal. I guess it can be closed, but you may want to close it only when the feature is implemented. Therefore, I'll leave the closing up to you. Thanks again.

poderia me enviar esses arquivos?

Gui1707 commented 1 year ago

I see. I actually felt a little guilty for commenting something that is not actually a feature (the README says it doesn't edit collection items), but this issue in particular made me feel down.

I thank you for your politeness. Looking forward to see the feature implemented. 👏

Voce ainda continua ativo na comunidade?