![]() |
Benvenuto Visitatore(Log In|Registrati)
![]() ![]() |
![]() |
![]()
Messaggio
#301
|
|
![]() ![]() Gruppo: SMod Messaggi: 11.970 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 ![]() |
If I use the fake encoder it produces a larger file (67KB) and this is the result: ![]() While having fun with dosbox debugger I've come up with an hypothesis on why the zombie sprite is messed up if I edit the heads. large uncompressed graphic files are dinamically loaded into memory when requested, after use the memory is flushed and reused by other larg files. MONSTERS.VGA is loaded first, then MAPS.VGA. They're contiguous in memory and MAPS slightly overlaps into MONSTERS' previously assigned memory area. the zombie is the first of the file. ![]() What I have to understand is where and how the game set's the sizes. I suspect the compressed file should have some sort of uncompressed size written in it but I cannot find it. Maybe the reason why the encoder of Shelwien does not create a compatible file is that the game expects some file information in one specific position in the file, and shelwien doesn't write that where the game expects it. -------------------- |
|
|
![]()
Messaggio
#302
|
|
![]() ![]() Gruppo: SMod Messaggi: 11.970 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 ![]() |
Nuovo contenuto recuperato!
Nella missione "corsa contro il tempo", arrivati ad una stanza con 2 casse puoi cercare tesori. Ti carichi una cassa in spalla ma solo una a testa. Se cerchi tesori nuovamente non compare alcun testo. Ora sì: ![]() Un'altra piccola conquista di una sfida che mi ha spinto a studiare il debugger di dosbox e la mappatura della ram. Interessantissimo! Soprattutto quando capisci (tipo l'1%) come funziona assembly! Ore di studio e test per arrivare alla fine a cambiare 2 byte. DUE BYTE di un indirizzo di un jump. ![]() B2A9 --> D3FE sotto con un altro bug da fixare. E andiamo. Se qualcuno fosse interessato a capire come funziona il debugger di dosbox a me sono bastati (nei limiti di quello che mi serviva) questi due link: https://zwomp.com/posts/2020/understanding-...x-debug-screen/ https://www.vogons.org/viewtopic.php?t=3944 -------------------- |
|
|
![]()
Messaggio
#303
|
|
![]() ![]() Gruppo: SMod Messaggi: 11.970 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 ![]() |
While comparing the memory dumps, searching for changes to understand why the "compression glitch" occurs, I've discovered a nice thing.
The area that we cover because of that size set larger-than-necessary into QUESTxx.BIN files have some code. See that bunch of bytes on the left panel that starts with "shields.ega"? ![]() Left panel: original quest01.bin - Right panel: modified quest01.bin Upon loading a quest, the game overwrites that area with whatever have available to fill at that moment (don't know why or what, there are stuff from two separate files and leaves a gap also), but then writes those 00 FF FF FF FF right before "shields.ega" and 00 00 00 00 at the end of thoe code. STRANGE nonetheless... investigated further. It turned out that THAT is indeed one of the functions in charge of the randomization of the events. There is a code in another part that takes the result of this function and writes to a specific portion of memory a sequence from 00 to 18 here you can see on the left the sequence with the trick discovered by raul and on the right the one without that trick + crack. ![]() The "shield.ega" code is there since the the start of the game and become overwritten only once you load a quest. Why without our trick the sequence is always the same? it's BECAUSE OF THE CRACK! It completely bypasses the jump to that "shields.ega" part that sets a value that I assume is a sort of seed. If the code is bypassed the game reads a default value 00 that should be the fixed sequence. I THINK they tied the ID of the given random shield to the sequences. If that is confirmed it would be a fine move against the crackers! Funny thing is the crack can be found on the CD version! they basically broke their own game! This is how they originally intended the pseudo-randomization (top left at offset 0xFCEB beginning with 11 you can see all the numbers between 00 and 18 randomized. FF is the ending code and probably the code that loops back): ![]() Sometimes the fixed sequence still occurs, it seems it picks the default value. What we've discussed previously stays: there are more sequences, one with wandering mosnter, one with coins, one with potions and one with traps. They get arranged randomly in blocks. And separately inside those blocks. EDIT: And sometimes you get the perfect randomization: ![]() EDIT2: Found out that they did use the fixed event list 00 to 18 on pourpose if the hero has no equipment. May be that's the use for those UNKNOWN first 6 bytes in QUEST.SAV! If those are all zeroes the hero is fresh new so the game shoul go easy on him (first gold, then potions then traps eccc), a way to let them "farm" I think. So no need to overwrite random things in memory anymore, mystery solved! fun fact browsing the memory dump: ![]() ![]() Also, Nyerguds, 2BC is the memory location of the functions to exit to dos. ![]() -------------------- |
|
|
![]()
Messaggio
#304
|
|
![]() ![]() Gruppo: OldGamer Messaggi: 303 Iscritto il: 27 June 14 Utente Nr.: 20.463 BGE Command & Conquer: Tiberian Dawn SO Windows7 ![]() |
Wow, you're really mapping this game out
![]() -------------------- |
|
|
![]()
Messaggio
#305
|
|
![]() ![]() Gruppo: SMod Messaggi: 11.970 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 ![]() |
Wow, you're really mapping this game out ![]() Among a tidy up and a feng shui in quest11: before/after ![]() ![]() before/after ![]() ![]() CITAZIONE Quest11 (bastion of chaos) 0x0519: 09 --> 0A 0x059D: 0B0E --> 090D 0x05CA: 140B --> 110A -------------------- |
|
|
![]()
Messaggio
#306
|
|
![]() ![]() Gruppo: SMod Messaggi: 11.970 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 ![]() |
Dang. The file MAPS.VGA where heads I've just changed are stored behaves perfectly but in one case. In quest07, I've found two monsters "invisible" (one is Karlen, easy to reach, just cast "pass through rock" in the starting room on you and go left). Even if I decode the original one and encode (v2) it back (14KB instead os 13KB) without editing anything it produces the glitch anyways. The monsters are in SPRITES.VGA, not in MAPS.VGA! If I use the fake encoder it produces a larger file (67KB) and this is the result: [attachment=10025:quest_029.png] Changing the memory space occupied by the questxx.bin doesn't produce any benefit but I think It's a memory allocation issue. We overwrite something. I've also tried trimming down to the original size of the file encoded with v2. No change. The strange thing is that with v2 encoder the monster is invisible but when he attacks become visible for a couple of frames. Nyerguds, could it be related to the lack of RLE? Damn, the encoding corrects the animation issue in the intro but breaks this. EDIT: I tried to encode other files, here how it behaves with SPRITES.VGA: [attachment=10026:quest_030.png] I am a bit ashamed but asked the author. Hope he will came up with a solution or at least a workaround. Shelwien finally come up with a solution, adding RLE to his encoder. It works! it friggin' works!
Files allegati
-------------------- |
|
|
![]()
Messaggio
#307
|
|
![]() Gruppo: Gamer Messaggi: 125 Iscritto il: 15 September 17 Da: España Utente Nr.: 21.627 SO Sono un BOT, cancellami l'account ![]() |
wowwwwwwwwwwwww
Questo ragazzo è una vera meraviglia. |
|
|
![]()
Messaggio
#308
|
|
![]() ![]() Gruppo: SMod Messaggi: 11.970 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 ![]() |
Il gioco ha molti di questi Pixel fuori posto.
Ho colto l'occasione per togliere il trucco al mago, dargli una sistemata ai capelli e donargli uno sguardo meno spento (ora hai proprio la sensazione che ti guardi dall'alto). ![]() ![]() PRIMA - DOPO Praticamente l'ho portato dall'estetista. ![]() -------------------- |
|
|
![]()
Messaggio
#309
|
|
![]() ![]() Gruppo: OldGamer Messaggi: 303 Iscritto il: 27 June 14 Utente Nr.: 20.463 BGE Command & Conquer: Tiberian Dawn SO Windows7 ![]() |
Yes, the fade above his head definitely looked weird. No idea why thy thought that was a good idea.
I always wondered if this was the bad guy or the good guy. I found this video about it: https://www.youtube.com/watch?v=1jSexThIpOY So apparently, officially, it's Mentor... the good wizard. huh. Weird. Messaggio modificato da Nyerguds il 3 Nov 2023, 09:01 -------------------- |
|
|
![]()
Messaggio
#310
|
|
![]() ![]() Gruppo: SMod Messaggi: 11.970 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 ![]() |
So apparently, officially, it's Mentor... the good wizard. huh. Weird. What? Always thought that was the opposite. ![]() Why on earth they depicted your Master about to send all his monsters against you? reading the comments there is another interesting theory, Morcar/Zargon is Mentor. He plays both roles. -------------------- |
|
|
![]()
Messaggio
#311
|
|
![]() ![]() Gruppo: SMod Messaggi: 11.970 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 ![]() |
I am on my way to modify the graphic of the map (that, suprisingly, it would be playable as a top down view!) because the original is a mess, very unclear.
To enhance it is necessary to higlight the doors, shift some tiles and change the wrong look of the stairs the walls or the floor tiles of the top right room for example. ![]() ![]() they strangely decided to use different doors of the same type (topdown L shaped, see in the right image the door of the room the barbarian is in). In this first iteration (on the right) I've changed only the first type (horizontal and vertical) doors. ![]() ![]() And I need to verify this but I think it is possible to trim the position and size of the furnitures to match the actual space they occupy on the map. ![]() ![]() ![]() ![]() It seems they created some forniture to match a 2x1 layout rather than 3x2. That's pretty odd and funny. But unfortunately it is a difficult process to do by hands, I think I have to wait for the mythic Engie to implement this game. ;-) -------------------- |
|
|
![]()
Messaggio
#312
|
|
![]() ![]() Gruppo: OldGamer Messaggi: 303 Iscritto il: 27 June 14 Utente Nr.: 20.463 BGE Command & Conquer: Tiberian Dawn SO Windows7 ![]() |
So apparently, officially, it's Mentor... the good wizard. huh. Weird. What? Always thought that was the opposite. Why on earth they depicted your Master about to send all his monsters against you? Exactly; it's a pretty odd case. But they asked the creators, and you can't argue with "Word of God" ![]() But unfortunately it is a difficult process to do by hands, I think I have to wait for the mythic Engie to implement this game. ;-) It might take some time... I have a lot of work to do these days :-\ But, now we got the final compression algorithm, at least! Messaggio modificato da Nyerguds il 3 Nov 2023, 10:26 -------------------- |
|
|
![]()
Messaggio
#313
|
|
![]() ![]() Gruppo: SMod Messaggi: 11.970 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 ![]() |
It might take some time... I have a lot of work to do these days :-\ But, now we got the final compression algorithm, at least! Yeah didn't mean to rush you. There's absolutely no hurry, we've waited for over thirty years! ghgh.gif Now that I dug into the vga files and "understood" the content I ask you how do you make a tool recognize all the different images inside them? The offsets are inside QUEST.exe but I am wondering if you can pull them out from the VGA themselves since they contain a series of images one following the other without brake symbols of sorts. The problem in MAPS.VGA for example is that it starts with a 256x256 image, then a bunch of 8x8 and lastly a 24x24 image. I know you have already encountered and solved this "problem" many times like in C&C, Kort etcetera, I am curious to know your approach on this. -------------------- |
|
|
![]()
Messaggio
#314
|
|
![]() ![]() Gruppo: SMod Messaggi: 11.970 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 ![]() |
Just wondering if it was possible to fix the fact that the monsters cannot attack you if they stand on a connected tile in an adjacent room (but you can).
It "should" be simple but I discovered it is a bit tricky to solve. Maybe they ditched the mechanic due to lack of time. Anyway if you trick the engine by changing the quest's map like this you get attacked by the monster: ![]() ![]() The problem is we cannot us this approach cause we cannot modify the maps to suit the monster position (we can actually do the opposite, but this would fall out of scope), and there is no collision detect between doors and monsters (they never implemented because monsters cannot interact with door by rule), the zombie simply walked to me passing the closed door. Also the double door is a problem but actually no, cause this won't be the method I mean to use. Although it is possible to mod the map for a modded layout, maybe for special quests. ![]() This betters explain how the arrows code works. -------------------- |
|
|
![]()
Messaggio
#315
|
|
![]() Gruppo: Gamer Messaggi: 125 Iscritto il: 15 September 17 Da: España Utente Nr.: 21.627 SO Sono un BOT, cancellami l'account ![]() |
Non ho dubbi che questo gioco sia stato realizzato in fretta e furia.
Credo che uno dei problemi maggiori sia stato quello di averlo rilasciato su molte piattaforme contemporaneamente e le limitazioni di alcune di esse hanno trascinato in basso le altre versioni. |
|
|
![]()
Messaggio
#316
|
|
![]() ![]() Gruppo: SMod Messaggi: 11.970 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 ![]() |
Non ho dubbi che questo gioco sia stato realizzato in fretta e furia. Credo che uno dei problemi maggiori sia stato quello di averlo rilasciato su molte piattaforme contemporaneamente e le limitazioni di alcune di esse hanno trascinato in basso le altre versioni. Sì, molto probabile. E' complice il fatto che sia uscito per primo su PC, già la versione Amiga è più curata nelle meccaniche e nella grafica, pur avendo meno colori. EDIT: Anche su amiga si comportano uguale i mostri in stanze adiacenti. https://youtu.be/tBr2IYiPWlM?t=6300 Forse la soluzione più elegante potrebbe essere spostare i mostri. -------------------- |
|
|
![]() ![]() |
Versione Lo-Fi | Oggi è il: 10th December 2023 - 11:23 |