Benvenuto Visitatore(Log In|Registrati)

189 Pagine V  « < 47 48 49 50 51 > »   
Reply to this topicStart new topic
> [PC-DOS] HEROQUEST by Gremlin (1991) REMASTERED, - Modding, Bugfixing e Traduzione ITA/ESP devlog
TheRuler
messaggio22 Sep 2024, 20:01
Messaggio #1201



Gruppo icone

Gruppo: SMod
Messaggi: 14.544
Iscritto il: 20 January 06
Da: Bologna
Utente Nr.: 2.653
Entropologo part-time

BGE AG: Indy3
Arcade: Silpheed
Free Roaming: Shadow of the Colossus
RTS: Praetorians

Playing Magari...
SO Windows7

OGI Supporter




CITAZIONE (raul @ 22 Sep 2024, 20:36) *
Quindi non avremo la possibilità di rianimare? Potremo solo curare o rimuovere tutti gli oggetti dall'eroe?

Non riesco a spiegarmi.
Non c'è bisogno di rianimare. E non voglio creare un'opzione nuova che rimuove tutti gli oggetti, quella c'è gia. Succede quando il personaggio muore (quindi non avrebbe neanche i soldi per essere rianimato).

io voglio aggiungere un semplicissimo codice durante la routine di morte che "rianima in automatico" l'eroe, così puoi iniziare subito una nuova missione con un eroe nuovo.
Questo fa esattamente quello che mi avevi chiesto qui.




--------------------
 
raul
messaggio22 Sep 2024, 21:02
Messaggio #1202



Gruppo icone

Gruppo: OldGamer
Messaggi: 2.695
Iscritto il: 15 September 17
Da: España
Utente Nr.: 21.627
SO Sono un BOT, cancellami l'account




Quando realizzerete il codice, vedrò esattamente cosa fa e capirò meglio tutto.
 
TheRuler
messaggio22 Sep 2024, 21:27
Messaggio #1203



Gruppo icone

Gruppo: SMod
Messaggi: 14.544
Iscritto il: 20 January 06
Da: Bologna
Utente Nr.: 2.653
Entropologo part-time

BGE AG: Indy3
Arcade: Silpheed
Free Roaming: Shadow of the Colossus
RTS: Praetorians

Playing Magari...
SO Windows7

OGI Supporter




CITAZIONE (raul @ 22 Sep 2024, 22:02) *
Quando realizzerete il codice, vedrò esattamente cosa fa e capirò meglio tutto.

Ok. tu prova a dirmi cosa hai capito. Voglio capire quali pezzi ha perso il traduttore.


Comunque una volta fatta la modifica mi dirai. Se non dovesse piacere ne discuteremo ancora.


--------------------
 
raul
messaggio22 Sep 2024, 21:30
Messaggio #1204



Gruppo icone

Gruppo: OldGamer
Messaggi: 2.695
Iscritto il: 15 September 17
Da: España
Utente Nr.: 21.627
SO Sono un BOT, cancellami l'account




La verità è che non l'ho capito e forse non è colpa del traduttore. Penso che sia meglio che lo veda con i miei occhi, perché ho l'impressione che, per quanto tu possa spiegarmelo, non lo capirò.
 
TheRuler
messaggio24 Sep 2024, 00:31
Messaggio #1205



Gruppo icone

Gruppo: SMod
Messaggi: 14.544
Iscritto il: 20 January 06
Da: Bologna
Utente Nr.: 2.653
Entropologo part-time

BGE AG: Indy3
Arcade: Silpheed
Free Roaming: Shadow of the Colossus
RTS: Praetorians

Playing Magari...
SO Windows7

OGI Supporter




Ho sistemato la routine di auto-cura, aggiungendo il reset del profilo in caso di morte. Ho colto l'occasione per fare un po' di pulizia visto che il codice si trovava in tre punti diversi.
Sono troppe le cose da modificare, non scrivo la solita SOLUZIONE. Al momento ti chiedo di testare questa nuova porzione di codice in italiano (oppure usa il mio exe sulla tua versione spagnola, inutile dire fai il backup).
COSE DA FARE:
sistemare la casualità nella assegnazione della "azione eseguita"
aggiustare guaritore (con ANNNULLA ti cura lo stesso)
migliorare la caccia al tesoro


nuovo codice auto-cura:

CODICE
1ef:c6ca:  80 3E 89 42 0B    cmp  byte ptr [0x4289], 0xb      <-- check if the hero performed an action (0B=no action)  
1ef:c6cf:  75 18             jne  0xc6e9                      <-- if different jump to potions check
1ef:c6d1:  F6 44 0B 02       test byte ptr [si + 0xb], 2      <-- check Water of healing
1ef:c6d5:  74 06             je   0xc6dd                      <-- if false jump to body healing
1ef:c6d7:  80 74 0B 02       xor  byte ptr [si + 0xb], 2      <-- remove Water of healing
1ef:c6db:  EB 22             jmp  0xc6ff                      <-- Jump to HEAL
1ef:c6dd:  F6 44 0C 20       test byte ptr [si + 0xc], 0x20   <-- check body healing
1ef:c6e1:  74 06             je   0xc6e9                      <-- if false jump to potion 1
1ef:c6e3:  80 74 0C 20       xor  byte ptr [si + 0xc], 0x20   <-- remove body healing
1ef:c6e7:  EB 16             jmp  0xc6ff                      <-- Jump to HEAL
1ef:c6e9:  F6 44 10 08       test byte ptr [si + 0x10], 8     <-- check potion 1
1ef:c6ed:  74 06             je   0xc6f5                      <-- if false jump to potion 2
1ef:c6ef:  80 74 10 08       xor  byte ptr [si + 0x10], 8     <-- remove potion 1
1ef:c6f3:  EB 0A             jmp  0xc6ff                      <-- Jump to HEAL
1ef:c6f5:  F6 44 10 04       test byte ptr [si + 0x10], 4     <-- check potion 2
1ef:c6f9:  74 07             je   0xc702                      <-- if false jump hero reset routine
1ef:c6fb:  80 74 10 04       xor  byte ptr [si + 0x10], 4     <-- remove potion 2
1ef:c6ff:  E9 0D 48          jmp  0xf0f                       <-- Jump to HEAL
1ef:c702:  53                push bx                          <-- HERO RESET routine                  
1ef:c703:  50                push ax                          
1ef:c704:  8A 1E A7 3F       mov  bl, byte ptr [0x3fa7]       <-- current hero ID      
1ef:c708:  B7 00             mov  bh, 0                      
1ef:c70a:  8A 87 94 43       mov  al, byte ptr [bx + 0x4394]  <-- get default body point
1ef:c70e:  88 44 06          mov  byte ptr [si + 6], al       <-- set default body point
1ef:c711:  8A 87 1B AD       mov  al, byte ptr [bx - 0x52e5]  <-- get default mind point    
1ef:c715:  88 44 07          mov  byte ptr [si + 7], al       <-- set default mind point
1ef:c718:  C7 44 0D 00 00    mov word ptr [si + 0xd], 0       <-- delete owned special equipment and weapons
1ef:c71d:  80 3E A7 3F 01    cmp byte ptr [0x3fa7], 1         <-- check if dwarf
1ef:c722:  75 04             jne 0xc728                      
1ef:c724:  80 4C 0E 80       or  byte ptr [si + 0xe], 0x80    <-- assign toolkit
1ef:c728:  58                pop ax                          
1ef:c729:  5B                pop bx                          
1ef:c72a:  E9 B4 49          jmp 0x10e1                       <-- Jump to DEATH


ti consiglio di leggere le annotazioni al codice sopra per capire cosa fa.
Provandolo ti accorgerai che quando un eroe muore, non avrai bisogno di rianimarlo, potrai già giocarlo come fosse nuovo.


--------------------
 
raul
messaggio24 Sep 2024, 05:42
Messaggio #1206



Gruppo icone

Gruppo: OldGamer
Messaggi: 2.695
Iscritto il: 15 September 17
Da: España
Utente Nr.: 21.627
SO Sono un BOT, cancellami l'account




Ogni piccolo cambiamento è un miracolo per il gioco...
Se vuoi ti mando la mia versione spagnola e puoi modificarla tu stesso.

Messaggio modificato da raul il 24 Sep 2024, 05:46
 
TheRuler
messaggio24 Sep 2024, 09:57
Messaggio #1207



Gruppo icone

Gruppo: SMod
Messaggi: 14.544
Iscritto il: 20 January 06
Da: Bologna
Utente Nr.: 2.653
Entropologo part-time

BGE AG: Indy3
Arcade: Silpheed
Free Roaming: Shadow of the Colossus
RTS: Praetorians

Playing Magari...
SO Windows7

OGI Supporter




CITAZIONE (raul @ 24 Sep 2024, 06:42) *
Ogni piccolo cambiamento è un miracolo per il gioco...
Se vuoi ti mando la mia versione spagnola e puoi modificarla tu stesso.

Grazie, questo codice non è stato facile e purtroppo non fa qualcosa di eclatante e visibile.

Faremo un cambio unico quando aggiusterò il guaritore.
Nel frattempo puoi provare la versione ita al solito link in cima.


--------------------
 
raul
messaggio24 Sep 2024, 10:01
Messaggio #1208



Gruppo icone

Gruppo: OldGamer
Messaggi: 2.695
Iscritto il: 15 September 17
Da: España
Utente Nr.: 21.627
SO Sono un BOT, cancellami l'account




Fallisce con i'incantesimo sonno e solo con l'incantesimo guarigoonendel mazzo dintierra
 
TheRuler
messaggio24 Sep 2024, 10:09
Messaggio #1209



Gruppo icone

Gruppo: SMod
Messaggi: 14.544
Iscritto il: 20 January 06
Da: Bologna
Utente Nr.: 2.653
Entropologo part-time

BGE AG: Indy3
Arcade: Silpheed
Free Roaming: Shadow of the Colossus
RTS: Praetorians

Playing Magari...
SO Windows7

OGI Supporter




CITAZIONE (raul @ 24 Sep 2024, 11:01) *
Fallisce con i'incantesimo sonno e solo con l'incantesimo guarigoonendel mazzo dintierra

Quella è una cosa che si sistema, come ti dicevo, risolvendo il problema originale della casualità dello stato "azione eseguita" (punto 57). Non sarà facile.

Anche aggiustare il guaritore sarà lunga. Il codice presente è complicato da spostare.


--------------------
 
raul
messaggio24 Sep 2024, 10:12
Messaggio #1210



Gruppo icone

Gruppo: OldGamer
Messaggi: 2.695
Iscritto il: 15 September 17
Da: España
Utente Nr.: 21.627
SO Sono un BOT, cancellami l'account




Quello che trovo curioso e che con l'incantesimo di guarigione del mazzo d'acqua non si ha questo problema
 
TheRuler
messaggio24 Sep 2024, 18:07
Messaggio #1211



Gruppo icone

Gruppo: SMod
Messaggi: 14.544
Iscritto il: 20 January 06
Da: Bologna
Utente Nr.: 2.653
Entropologo part-time

BGE AG: Indy3
Arcade: Silpheed
Free Roaming: Shadow of the Colossus
RTS: Praetorians

Playing Magari...
SO Windows7

OGI Supporter




CITAZIONE (raul @ 24 Sep 2024, 11:12) *
Quello che trovo curioso e che con l'incantesimo di guarigione del mazzo d'acqua non si ha questo problema

Secondo me hanno introdotto una certa casualità in alcuni incantesimi.

Se vuoi ti insegno come darti incantesimi infiniti, per verificarlo senza dover sempre uscire e rientrare nella missione


--------------------
 
raul
messaggio24 Sep 2024, 20:14
Messaggio #1212



Gruppo icone

Gruppo: OldGamer
Messaggi: 2.695
Iscritto il: 15 September 17
Da: España
Utente Nr.: 21.627
SO Sono un BOT, cancellami l'account




Non preoccuparti, preferisco approfittare e provare altre cose.
 
raul
messaggio25 Sep 2024, 06:00
Messaggio #1213



Gruppo icone

Gruppo: OldGamer
Messaggi: 2.695
Iscritto il: 15 September 17
Da: España
Utente Nr.: 21.627
SO Sono un BOT, cancellami l'account




CITAZIONE
BUG/FEATURE LIST (non in ordine di importanza):
61-Rivedere per l'ennesima volta eventi casuali della caccia al tesoro applicando l'algoritmo moderno di Fisher-Yates.

AJAJAJAJAJAJAJ

Messaggio modificato da raul il 25 Sep 2024, 06:03
 
TheRuler
messaggio25 Sep 2024, 23:15
Messaggio #1214



Gruppo icone

Gruppo: SMod
Messaggi: 14.544
Iscritto il: 20 January 06
Da: Bologna
Utente Nr.: 2.653
Entropologo part-time

BGE AG: Indy3
Arcade: Silpheed
Free Roaming: Shadow of the Colossus
RTS: Praetorians

Playing Magari...
SO Windows7

OGI Supporter




Sono riuscito finalmente a sistemare un codice che mi ha richiesto tre step successivi, per poter fare spazio e correggere durante il percorso un errore che avevo fatto col guaritore.

1-sistemazione della routine di auto-cura
2-aggiunta inizializzazione dell'eroe al momento della morte
3-sistemazione del Guaritore e pulizia da codice non più usato

Purtroppo sembra di non aver fatto nulla, perché il comportamento del gioco non è cambiato visibilmente, ma tutti i tasselli di questo mini-progetto si sono messi a posto.


CODICE
1ef:78cd:  A0 9E 40          mov  al, byte ptr [0x409e]            <--- Active hero's ID
1ef:78d0:  E8 AC E4          call 0x5d7f
1ef:78d3:  BB 9E 01          mov  bx, 0x19e                        <--- "Healer" string
1ef:78d6:  56                push si
1ef:78d7:  E8 13 10          call 0x88ed                        <--- draw the scroll
1ef:78da:  5E                pop  si
1ef:78db:  80 3E 7A AB 00    cmp  byte ptr [0xab7a], 0            <--- OK proceed, Cancel exits
1ef:78e0:  77 25             ja   0x7907
1ef:78e2:  BD 20 03          mov  bp, 0x320                        <--- Heal price (800)
1ef:78e5:  3B 6C 09          cmp  bp, word ptr [si + 9]            <--- compare with treasury
1ef:78e8:  77 05             ja   0x78ef
1ef:78ea:  29 6C 09          sub  word ptr [si + 9], bp            <--- remove 800 from treasury
1ef:78ed:  EB 05             jmp  0x78f4
1ef:78ef:  BB 02 00          mov  bx, 2                            <--- "not enough money" string
1ef:78f2:  EB 10             jmp  0x7904
1ef:78f4:  8A 1E 9E 40       mov  bl, byte ptr [0x409e]            <--- Active hero's ID
1ef:78f8:  B7 00             mov  bh, 0
1ef:78fa:  8B 87 94 43       mov  ax, word ptr [bx + 0x4394]    <--- Get default Body points
1ef:78fe:  88 44 06          mov  byte ptr [si + 6], al            <--- Set Body points
1ef:7901:  BB 08 00          mov  bx, 8                            <--- "Healed" string
1ef:7904:  E8 E6 0F          call 0x88ed                        <--- draw the scroll
1ef:7907:  E9 12 FE          jmp  0x771c                        <--- exit to menu



raul, preparati perché la modifica sarà grossa. Metto l'offset e i byte successivi da sostituire:
CITAZIONE
0x14F8 ---> 806418BFE9EBB590909090909090C604
0x2317 ---> 9768
0x7CF3 ---> BB9E0156E813105E803E7AAB007725BD20033B6C097705296C09EB05BB0200EB108A1E9E40B7008B
879443884406BB0800E8E60FE912FE9090909090909090909090909090909090
0x8BB0 ---> 806418BFE96697
0xCAC5 (QUESTI SONO 2A4 BYTES) ---> 4652454520626C6F636B3A9090909090909090909090909090909090909090909090909090803E89
420B7518F6440B02740680740B02EB22F6440C20740680740C20EB16F6441008740680741008EB0AF
6441004740780741004E90D4853508A1EA73FB7008A8794438844068A871BAD884407C7440D000080
3EA73F017504804C0E80585BE9B449909090909090909090909090909090909090909090909090909
090909090909090909090909090909090909090909090909090909090909090909090909090909090
909090909090909090909090909090909090909090909090909090909090909090909090909090909
090909090909090909090909090909090909090909090909090909090909090909090909090909090
909090909090909090909090909090909090909090909090909090909090909090909090909090909
090909090909090909090909090909090909090909090909090909090909090909090909090909090
909090909090909090909090909090909090909090909090909090909090909090909090909090909
090909090909090909090909090909090909090909090909090909090909090909090909090909090
9090909090909090909090909090909090900F1707110516010D08130915060A00180312100E040C0
B140290508A45033845D07408806518EF58E9E84258E9E2429090508A44038844D0804C181058E981
469090909090909090909090909090909090909090909090909090909090909090909090909090909
09090909090909090909090909090BB0E00E8FDBF5A595D5E803E7AAB007507D1ED016C09EB2A803E
7AAB017537BB2E0056555152E8DABF5A595D5E803E7AAB0473226B067AAB1A6785887146000075176
709887146000009CAF7D1214C0E204C11206C13E9B8B8BB0000E9AFB8


--------------------
 
raul
messaggio26 Sep 2024, 05:24
Messaggio #1215



Gruppo icone

Gruppo: OldGamer
Messaggi: 2.695
Iscritto il: 15 September 17
Da: España
Utente Nr.: 21.627
SO Sono un BOT, cancellami l'account




Non c'è bisogno di essere un programmatore per sapere che la rifinitura del codice non è né tempo né lavoro sprecato. Come ti ho detto, ogni piccolo cambiamento nel codice è un miracolo per il gioco.

Ho già fatto le modifiche nel codice della versione spagnola, hai bisogno che controlli qualcosa?
Ho notato che hai modificato il file italian.bin e vorrei sapere perché.

Messaggio modificato da raul il 26 Sep 2024, 05:37
 
TheRuler
messaggio26 Sep 2024, 07:20
Messaggio #1216



Gruppo icone

Gruppo: SMod
Messaggi: 14.544
Iscritto il: 20 January 06
Da: Bologna
Utente Nr.: 2.653
Entropologo part-time

BGE AG: Indy3
Arcade: Silpheed
Free Roaming: Shadow of the Colossus
RTS: Praetorians

Playing Magari...
SO Windows7

OGI Supporter




Grazie, mi piace ripulire il codice, e mi piace ancora di più quando questo funziona!
Come diceva hannibal smith "adoro i piani ben riusciti".

Ho modificato la frase "corpo e mente ripristinati" in "il rimedio ti rinvigorisce.".
Mi piaceva che fosse più "guaritore" e meno "tecnico".

Verifica auto-cura (ancora il bug della casualità dell'azione devo sistemarlo), il guaritore, e il fatto che ora un personaggio morto è già giocabile. Basta selezionarlo di nuovo.


--------------------
 
raul
messaggio26 Sep 2024, 14:15
Messaggio #1217



Gruppo icone

Gruppo: OldGamer
Messaggi: 2.695
Iscritto il: 15 September 17
Da: España
Utente Nr.: 21.627
SO Sono un BOT, cancellami l'account




“Mi amore quando i piani vanno bene” ("Me encanta que los planes salgan bien"), si legge nella versione spagnola.


Ho già giocato e i nuovi personaggi funzionano molto bene e l'autoguarigione è ancora come sapete con errori di azione casuali. Domani, se riesco, farò molti più test, oggi sono riuscito a testare solo un po' di più.

Messaggio modificato da raul il 26 Sep 2024, 14:20
 
TheRuler
messaggio26 Sep 2024, 17:45
Messaggio #1218



Gruppo icone

Gruppo: SMod
Messaggi: 14.544
Iscritto il: 20 January 06
Da: Bologna
Utente Nr.: 2.653
Entropologo part-time

BGE AG: Indy3
Arcade: Silpheed
Free Roaming: Shadow of the Colossus
RTS: Praetorians

Playing Magari...
SO Windows7

OGI Supporter




CITAZIONE (raul @ 26 Sep 2024, 15:15) *
“Mi amore quando i piani vanno bene” ("Me encanta que los planes salgan bien"), si legge nella versione spagnola.
ero grande fan dell' A-Team. Ho sempre adorato il fatto che voi spagnoli traducete tutto.
El Equipo A, lol.

CITAZIONE
Ho già giocato e i nuovi personaggi funzionano molto bene e l'autoguarigione è ancora come sapete con errori di azione casuali. Domani, se riesco, farò molti più test, oggi sono riuscito a testare solo un po' di più.
Che ne dici allora della rinnovo dell'eroe quando muore? Ora è chiaro quello che volevo dire? non serve più rinnovare il personaggio.
Ho preferito assegnare a quella terza icona del menù personaggio, solo l'azione di guaritore.

Ah, ricordiamoci che 800 monete è un valore di test.
In settimana conto di provare una campagna con 4 eroi, per verificare he il prezzo sia adatto anche con più di un eroe.
Ti farà piacere sapere che al momento mi snon messo a studiare il nuovo algoritmo per gli eventi casuali, per l'ENNESIMA volta ;-)
Un pò mi dispiace cancellare il vecchio codice, mi era venuto molto bene e ci stava alla perfezione con uno scarto di ZERO byte. Non importa, il prossimo sarà meglio.


--------------------
 
raul
messaggio26 Sep 2024, 18:46
Messaggio #1219



Gruppo icone

Gruppo: OldGamer
Messaggi: 2.695
Iscritto il: 15 September 17
Da: España
Utente Nr.: 21.627
SO Sono un BOT, cancellami l'account




CITAZIONE (TheRuler @ 26 Sep 2024, 18:45) *
ero grande fan dell' A-Team. Ho sempre adorato il fatto che voi spagnoli traducete tutto.
El Equipo A, lol.

Vuoi dire che non hai la serie doppiata in italiano?

CITAZIONE
Che ne dici allora della rinnovo dell'eroe quando muore? Ora è chiaro quello che volevo dire? non serve più rinnovare il personaggio.

Ora capisco. Un'ottima idea, semplicemente quando il personaggio muore viene disattivato e quando viene riattivato si rinnova automaticamente.

CITAZIONE
Ho preferito assegnare a quella terza icona del menù personaggio, solo l'azione di guaritore.

Mi sta bene, anche se non mi dispiace l'idea di scambiare il guaritore con le opzioni all'interno di un villaggio, e stavo anche per proporre una quarta opzione per andare alla fucina.

CITAZIONE
Ah, ricordiamoci che 800 monete è un valore di test.

Lo so, ma mi piace l'idea, con 500 non è difficile risparmiare quella cifra senza dover cercare tesori, inoltre il guaritore è una seconda risorsa nel caso in cui non si abbia abbastanza con pozioni e magie curative.

CITAZIONE
In settimana conto di provare una campagna con 4 eroi, per verificare he il prezzo sia adatto anche con più di un eroe.

Penso che sia meglio finire prima la caccia al tesoro e anche gli incantesimi casuali, non sono sicuro della cosa dell'autoguarigione.

CITAZIONE
Ti farà piacere sapere che al momento mi snon messo a studiare il nuovo algoritmo per gli eventi casuali, per l'ENNESIMA volta ;-)

Al vostro ritmo, l'algoritmo attuale è abbastanza decente, anche se, essendo un perfezionista come me, vorrete mettere la ciliegina sulla torta. La mia idea è che quando avrai tutto, farò alcuni test finali con diversi personaggi e alternandoli.

CITAZIONE
Un pò mi dispiace cancellare il vecchio codice, mi era venuto molto bene e ci stava alla perfezione con uno scarto di ZERO byte. Non importa, il prossimo sarà meglio.

Se si cancella il vecchio codice, questi sono byte che si recuperano.

Messaggio modificato da raul il 26 Sep 2024, 21:23
 
TheRuler
messaggio27 Sep 2024, 11:55
Messaggio #1220



Gruppo icone

Gruppo: SMod
Messaggi: 14.544
Iscritto il: 20 January 06
Da: Bologna
Utente Nr.: 2.653
Entropologo part-time

BGE AG: Indy3
Arcade: Silpheed
Free Roaming: Shadow of the Colossus
RTS: Praetorians

Playing Magari...
SO Windows7

OGI Supporter




CITAZIONE
Vuoi dire che non hai la serie doppiata in italiano?
nono anche noi doppiamo tutto, abbiamo importanti scuole di doppiaggio italiano. Quello che volevo dire è che voi non usate termini inglesi, come computer e mouse, li traducete in spagnolo. Mentre in Italia si usano abitualmente. Per quello mi faceva sorridere "El equipo A", da noi è sempre rimasto A-Team.

CITAZIONE
Mi sta bene, anche se non mi dispiace l'idea di scambiare il guaritore con le opzioni all'interno di un villaggio, e stavo anche per proporre una quarta opzione per andare alla fucina.
cosa farebbe la fucina? esponi pure la tua idea.

CITAZIONE
non sono sicuro della cosa dell'autoguarigione.
cosa intendi?


--------------------
 
TheRuler
messaggio27 Sep 2024, 12:10
Messaggio #1221



Gruppo icone

Gruppo: SMod
Messaggi: 14.544
Iscritto il: 20 January 06
Da: Bologna
Utente Nr.: 2.653
Entropologo part-time

BGE AG: Indy3
Arcade: Silpheed
Free Roaming: Shadow of the Colossus
RTS: Praetorians

Playing Magari...
SO Windows7

OGI Supporter




Ho terminato la nuova implementazione degli eventi casuali (o "caccia al tesoro" come la chiami tu) utilizzando l'algoritmo moderno di Fisher-Yates:
File Allegato  Screenshot_2024_09_27_125721.png ( 95.89k ) Numero di download: 0

File Allegato  Screenshot_2024_09_27_125758.png ( 83.99k ) Numero di download: 0


CODICE
1ef:87ca:  50             push ax
1ef:87cb:  52             push dx
1ef:87cc:  56             push si
1ef:87cd:  57             push di
1ef:87ce:  55             push bp
1ef:87cf:  BB 3B 46       mov  bx, 0x463b
1ef:87d2:  30 C0          xor  al, al
1ef:87d4:  88 07          mov  byte ptr [bx], al
1ef:87d6:  43             inc  bx
1ef:87d7:  FE C0          inc  al
1ef:87d9:  3C 19          cmp  al, 0x19
1ef:87db:  75 F7          jne  0x87d4                    <-- loop that writes the first linear sequence 00-18
1ef:87dd:  BB 3B 46       mov  bx, 0x463b
1ef:87e0:  8A 0E 93 39    mov  cl, byte ptr [0x3993]    <-- X mouse coordinate as secondary seed for shuffle repetition
1ef:87e4:  51             push cx
1ef:87e5:  B9 18 00       mov  cx, 0x18
1ef:87e8:  E8 28 AE       call 0x3613                    <-- primary seed for Fisher-Yates shuffle loop
1ef:87eb:  31 D2          xor  dx, dx                    <-- put dx to zero
1ef:87ed:  89 CF          mov  di, cx                    <-- copy last index to di
1ef:87ef:  F7 F1          div  cx                        <-- put in dx rand index (a number between 0 and last index)
1ef:87f1:  89 D6          mov  si, dx                    <-- copy rand index to si
1ef:87f3:  8A 10          mov  dl, byte ptr [bx + si]    <-- read number A from rand index
1ef:87f5:  8A 31          mov  dh, byte ptr [bx + di]    <-- read number B from last index
1ef:87f7:  88 30          mov  byte ptr [bx + si], dh    <-- write number B to rand index
1ef:87f9:  88 11          mov  byte ptr [bx + di], dl    <-- write number A to last index
1ef:87fb:  E2 EB          loop 0x87e8                    <-- primary loop
1ef:87fd:  59             pop  cx
1ef:87fe:  E2 E4          loop 0x87e4                    <-- secondary loop
1ef:8800:  5D             pop  bp
1ef:8801:  5F             pop  di
1ef:8802:  5E             pop  si
1ef:8803:  5A             pop  dx
1ef:8804:  58             pop  ax


CITAZIONE
offset 0x8BEA change the following 62 (3Eh) Bytes to 5052565755BB3B4630C0880743FEC03C1975F7BB3B468a0e933951B91800E828AE31D289CFF7F189
D68A108A3188308811E2EB59E2E45d5f5e5a58909090

Raul, ho lasciato del codice nel free block (troverai delle differenze col mo exe), inutile che te lo faccia modificare adesso, tanto quella parte devo riorganizzarla.

Qualche sequenza generata col nuovo algoritmo, entrando sempre con il barbaro nella missione 2:
CODICE
0B 06 0D 09 12 07 18 14 13 11 16 0C 0F 15 02 04 10 00 05 17 03 0A 0E 08 01
09 0C 0A 17 18 0E 02 05 03 0F 14 04 0B 07 08 10 15 01 00 12 16 0D 11 06 13
03 04 13 02 18 09 0D 16 0C 07 0B 10 0F 11 01 06 15 00 17 08 0E 05 0A 14 12
16 04 03 01 17 12 0D 02 0B 0F 08 14 09 06 10 0E 0A 07 11 13 18 05 00 15 0C
15 0E 02 04 09 00 18 07 01 0A 14 12 17 05 10 06 03 13 11 16 0F 0B 0D 0C 08
0C 00 15 17 05 16 0A 0B 18 0F 06 07 04 0E 10 03 01 13 02 08 0D 09 12 11 14
0B 18 01 15 10 08 0C 02 17 0A 00 0F 06 04 16 11 0D 03 07 05 13 09 12 14 0E
0B 07 17 0D 0C 01 14 10 00 06 0F 15 0E 13 16 03 12 04 09 05 02 18 0A 08 11
04 0B 02 0F 09 0A 06 07 15 00 0E 10 16 11 08 05 12 0C 03 18 14 13 17 0D 01
09 14 10 00 18 0E 17 06 15 07 0F 13 0B 0C 11 02 05 12 0D 04 01 08 16 03 0A
10 00 05 04 07 01 0B 18 08 0F 11 0C 06 17 03 16 13 15 0E 12 09 0A 02 0D 14
06 11 0C 14 16 01 10 0D 0B 0A 04 13 09 08 18 00 17 02 07 05 12 03 0F 0E 15



Ed ecco il mio codice in azione. La parte in alto del data segment, che sottolineo all'ìinizio, è la sequenza da mescolare. Il codice partirà a scambiare dall'ultimo valore a destra, prima di FF.
Ripeto poi la mescolata completa un altro numero di volte casuale in base alla posizione X del mouse nel momento in cui si clicca per entrare nella missione.

File Allegato  ezgif_5_bb1a900e2f.gif ( 2.46mb ) Numero di download: 7

--- clicca per vedere l'animazione ---
Sembra tutto davvero casuale ora, ma aspetto a cantare vittoria, anche la volta precedente mi sembrava fosse casuale invece il tuo occhio aveva trovato un pattern.
Attendiamo il tuo test definitivo.


--------------------
 
raul
messaggio27 Sep 2024, 16:37
Messaggio #1222



Gruppo icone

Gruppo: OldGamer
Messaggi: 2.695
Iscritto il: 15 September 17
Da: España
Utente Nr.: 21.627
SO Sono un BOT, cancellami l'account




CITAZIONE (TheRuler @ 27 Sep 2024, 12:55) *
cosa farebbe la fucina? esponi pure la tua idea.

La mia idea era di cambiare il guaritore come se fosse un villaggio per visitare luoghi diversi:

1. guaritore per recuperare tutta la vita.
2. negromante per far rivivere l'eroe
3. una locanda per reclutare un nuovo eroe
4. la bottega del fabbro (quella che abbiamo già)

Era solo un'idea di fantasia, il modo in cui lo avete ora è più fedele al gioco originale.

CITAZIONE
cosa intendi?

Si sa che l'auto-guarigione non funziona bene a causa del punto 57.
 
raul
messaggio27 Sep 2024, 16:48
Messaggio #1223



Gruppo icone

Gruppo: OldGamer
Messaggi: 2.695
Iscritto il: 15 September 17
Da: España
Utente Nr.: 21.627
SO Sono un BOT, cancellami l'account




CITAZIONE (TheRuler @ 27 Sep 2024, 13:10) *
Raul, ho lasciato del codice nel free block (troverai delle differenze col mo exe), inutile che te lo faccia modificare adesso, tanto quella parte devo riorganizzarla.

Non hai caricato la nuova versione italiana, ho paura di cambiare qualcosa senza assicurarmi che sia uguale alla tua.
 
TheRuler
messaggio27 Sep 2024, 17:29
Messaggio #1224



Gruppo icone

Gruppo: SMod
Messaggi: 14.544
Iscritto il: 20 January 06
Da: Bologna
Utente Nr.: 2.653
Entropologo part-time

BGE AG: Indy3
Arcade: Silpheed
Free Roaming: Shadow of the Colossus
RTS: Praetorians

Playing Magari...
SO Windows7

OGI Supporter




Hai ragione, avevo dimenticato di fare l'upload su drive.
CITAZIONE
Si sa che l'auto-guarigione non funziona bene a causa del punto 57.

giusto.


--------------------
 
raul
messaggio27 Sep 2024, 17:48
Messaggio #1225



Gruppo icone

Gruppo: OldGamer
Messaggi: 2.695
Iscritto il: 15 September 17
Da: España
Utente Nr.: 21.627
SO Sono un BOT, cancellami l'account




Ho appena eseguito alcuni test e ho trovato un possibile schema.
Nella missione 1, una volta terminato il mazzo di 24 carte, sembra ricominciare la stessa sequenza.

Esempio: se si è iniziato con 1 mostro, 1 trappola e lo 00 del gruppo oro, quando si finisce di completare le 24 carte del mazzo e si torna all'inizio, si ricomincia con 1 mostro, 1 trappola e lo 00 dell'oro, esattamente come la prima volta (per qualche motivo le pozioni vengono saltate).

Avviso importante: è possibile che quando ho chiesto i tesori sia scattata una trappola che mi ha tolto l'unico punto corpo che possedevo e che si sia attivato l'incantesimo di autoguarigione. Devo confermarlo, ma vorrei che lo controllaste per sicurezza. (confermato)

Sono sicuro che mi odierete quando leggerete questo post lookaround.gif

Messaggio modificato da raul il 27 Sep 2024, 18:30
 

189 Pagine V  « < 47 48 49 50 51 > » 
Reply to this topicStart new topic
1 utenti stanno leggendo questa discussione (1 visitatori e 0 utenti anonimi)
0 utenti:

 

Modalità di visualizzazione: Normale · Passa a: Lineare · Passa a: Outline


Versione Lo-Fi Oggi è il: 26th October 2026 - 05:48