WalterCouto / D2CE

Diablo II Character Editor
GNU General Public License v3.0
55 stars 7 forks source link

Here is an example of a .d2s that isn't opening by Editor, but loads normally in game #2

Closed LordTreufeldt closed 2 years ago

LordTreufeldt commented 2 years ago

Aqui está um exemplo de arquivo .d2s que não está sendo aberto pelo editor, mas que carrega normalmente no jogo:

Loradiel.zip

Ao que parece, este char tem algum "Unique Item" no baú que está impedindo o editor de abrir o arquivo!

WalterCouto commented 2 years ago

Outros editors têm o mesmo problema, por exemplo https://d2s.dschu012.dev.

Todos nós estamos encontrando algo inesperado nas "magical properties". Eu Vou tentar encontrar o problema.

LordTreufeldt commented 2 years ago

Então Walter ... Depois do ocorrido com os saves, eu andei dando uma analisada no save que estava dando incompatibilidade com os editores, inclusive o teu.

No caso do savegame Loradiel.d2s, havia um "Unique Item" no baú que eu tinha importado, mas não criado. Importei de um pack na internet.  Esse item era uma "Unique Ancient Armor" só que ela estava com a atribuição de um outro Unique Item nível 2, uma adaga unique se não me engano, a Rixot's Queen. Então creio eu que a rotina que trata os itens talvez estivesse procurando a assinatura da armadura mas encontrava os bytes da adaga! E aí dá bode ao tentar abrir o save, talvez pelo comprimento dos bytes que definem o item, não sei, só uma divagação ...

Tenta analisar por aí ... Depois que joguei fora essa armadura com assinatura de adaga, o save voltou a funcionar e abrir normalmente!

Só que isso pode ser um problema! O jogo D2R aceita um item com assinatura inválida, o que a meu ver, não deveria acontecer e o jogo deveria excluir esse item automaticamente.

Só lembrando que a versão que uso é 1.06xxx. Não sei se no patch atual 2.4 é feita alguma validação da assinatura do item ...

Em 01/03/2022 10:00, WalterCouto escreveu:

Outros editors têm o mesmo problema, por exemplo https://d2s.dschu012.dev.

Todos nós estamos encontrando algo inesperado nas "magical properties". Eu Vou tentar encontrar o problema.

— Reply to this email directly, view it on GitHub https://github.com/WalterCouto/D2CE/issues/2#issuecomment-1055417943, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXVOWIQAGCIZ7MMFJULP2CDU5YIFVANCNFSM5PCDNLWQ. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: @.***>

WalterCouto commented 2 years ago

Eu encontrei o problema. Este item tem "realm data". Eu não encontrei muitas informações sobre como essa seção opcional é tratada e nenhum dos exemplos que encontrei continha essa seção, portanto eu nunca encontrei esse problema antes ou pude testar esse caso. As informações que encontrei indicavam que esta seção era de 96 bits, mas eu não tinha como testar se estava correto. Seu item mostra que a seção é de 128 bits, e usando isso, tudo é tratado corretamente. Seus characters são casos muito bons para D2R editors :).

Eu vou corrigir isso em breve.

LordTreufeldt commented 2 years ago

Legal. Aproveitando o encejo ... Existe a quantidade de soquetes do item, mas precisa validar também no editor se o item tem o atributo mágico "Increased Sockets", se não me engano, vai de 0 a 15. Tem alguns itens que utilizo essa propriedade pra adicionar mais soquetes, pois no D2R o jogo "capa" qualquer tentativa de aumentar a quantidade de soquetes somente pela propriedade normal do item. Com "increased sockets" dá pra passar desse limite. No caso, o teu editor está carregando somente as jewels ou gemas que estão nos soquetes normais do item e não nos adicionais, beleza.

Abraço;

Em qua., 2 de mar. de 2022 às 11:10, WalterCouto @.***> escreveu:

Eu encontrei o problema. Este item tem "realm data". Eu não encontrei muitas informações sobre como essa seção opcional é tratada e nenhum dos exemplos que encontrei continha essa seção, portanto eu nunca encontrei esse problema antes ou pude testar esse caso. As informações que encontrei indicavam que esta seção era de 96 bits, mas eu não tinha como testar se estava correto. Seu item mostra que a seção é de 128 bits, e usando isso, tudo é tratado corretamente. Seus characters são casos muito bons para D2R editors :).

Eu vou corrigir isso em breve.

— Reply to this email directly, view it on GitHub https://github.com/WalterCouto/D2CE/issues/2#issuecomment-1056972473, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXVOWIXA5S5WSUZKTFA4SIDU55ZHFANCNFSM5PCDNLWQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: @.***>

WalterCouto commented 2 years ago

Fixed in release-2.1.5