Benvenuto Visitatore(Log In|Registrati)
![]() ![]() |
30 Aug 2023, 22:37
Messaggio
#251
|
|
Gruppo: SMod Messaggi: 14.545 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 |
tried to remove all the monsters and objects retaining the wandering monster but I think I've messed up some calculation...
The behaviour is interesting though. It shows every monster in the game (even the myst on top left) and also some origins of furnitures. The layout is always the same. When I reach a certaint point on the map I cannot move the barbarian anymore. It's when you hit the memory limit, I think.
Screenshot_2023_08_30_233350.png ( 161.41k )
Numero di download: 2-------------------- |
|
|
|
31 Aug 2023, 07:40
Messaggio
#252
|
|
Gruppo: OldGamer Messaggi: 332 Iscritto il: 27 June 14 Utente Nr.: 20.463 BGE Command & Conquer: Tiberian Dawn SO Windows7 |
I looked in the original quests, and the maximum amount of rooms used at one time is 33, in Quest 19 and in Quest 22, and the maximum amount of main rooms used is 15, in Quest 22.
Quest 1: QUOTE THE MAZE Wandering monster: Orc Cells: 343 (corridor: 131; rooms: 212) Rooms: 32 (corridor: 19; rooms: 13) Dead rooms: 12, 21, 24, 25, 26, 36, 37, 39, 41, 42 Quest 19: QUOTE THE GATE OF BELLTHOR Wandering monster: Skeleton Cells: 366 (corridor: 148; rooms: 218) Rooms: 33 (corridor: 20; rooms: 13) Dead rooms: 21, 24, 25, 26, 29, 33, 37, 39, 42 Quest 22: QUOTE THE FORBIDDEN CITY Wandering monster: ChaosWarrior Cells: 363 (corridor: 123; rooms: 240) Rooms: 33 (corridor: 18; rooms: 15) Dead rooms: 4, 5, 24, 25, 26, 29, 30, 35, 41 I guess the easiest test to see if things mess up might be to restore some of the removed corridors in the Quest 22 map and see if that causes issues. The test I did that I emailed you about only has 13 main rooms though, and the last three rooms still messed up. Strangely enough, that one only has 31 rooms in total. Maybe the amount it loads is hardcoded in the engine per level? I mean, the game has enough things hardcoded per level that that could be plausible. If so, the real test is to see if any replacement for quest 1 will load any room numbers that are different from what the original quest 1 contains. [edit] No, my test used room 21, the very first big room, to put the staircase in, and that room is not present in the original Quest 1. And I distinctly remember that that loaded fine. I also had only 13 rooms and 18 corridors; the original Q1 has 13 big ones and 19 corridors. Stats for my Q1 test room were: QUOTE TEST. Wandering monster: Orc Cells: 334 (corridor: 135; rooms: 199) Rooms: 31 (corridor: 18; rooms: 13) Dead rooms: 19, 20, 30, 31, 32, 33, 35, 36, 40, 41, 42 Less rooms, less cells... only difference is, slightly more corridor cells than the original Quest 1. Messaggio modificato da Nyerguds il 31 Aug 2023, 11:05 -------------------- Expert on all things Command & Conquer 1. Creator of a bunch of small modding tools.
|
|
|
|
1 Sep 2023, 12:48
Messaggio
#253
|
|
Gruppo: OldGamer Messaggi: 332 Iscritto il: 27 June 14 Utente Nr.: 20.463 BGE Command & Conquer: Tiberian Dawn SO Windows7 |
I dug into the savegame format a bit, after encountering the issue where my barabarian could only use one save slot. Apparently the version of the game shared on a lot of abandonware sites has that problem.
While this can easily be fixed with hex editing, I found out that this is actually a bug caused by the game itself: you can make savegame slots unusable like that in the game by opening the function to change the name of the character, confirming with an empty name, and then saving the character data. Anyway, I figured out a bunch more stuff, like the fact the game has specific separate values for weapons and for armour. The order of some of the data in the article was also wrong because of this; armour is specifically saved in a different byte. https://moddingwiki.shikadi.net/wiki/HeroQu...Savegame_Format [edit] I also discovered that in both the main menu and in-game, right mouse button is a substitute for the "back" or "ok" buttons. I already knew it could be used to pass on the turn to the next player, but not having to move the mouse to press "OK" on dialogs streamlines the game a whole lot! Messaggio modificato da Nyerguds il 1 Sep 2023, 13:15 -------------------- Expert on all things Command & Conquer 1. Creator of a bunch of small modding tools.
|
|
|
|
1 Sep 2023, 16:57
Messaggio
#254
|
|
Gruppo: SMod Messaggi: 14.545 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 also discovered that in both the main menu and in-game, right mouse button is a substitute for the "back" or "ok" buttons. I already knew it could be used to pass on the turn to the next player, but not having to move the mouse to press "OK" on dialogs streamlines the game a whole lot! Funny, I used that trick when I was a kid and now gave it for granted! Confirm, it speeds up things a lot! AAAAH now I see what's going on with the two list. I've assumed it was just one because they're adjacent. My interpretation was wrong but actually worked until you want to add something from the shield onward. The way they layed out the inventory in game tricked me, they basically moved the toolkit from position 8 to position 12 shifting up the 4 armours. Good Catch Maarten, as always. I've updated the savegame page. Found body and mind points and base attack/defense dice. You can build a Mage Tank, with 30 body, 20 mind, 10 attack dice, 10 defence dice. Also found in quest.exe how to move around the text. Just wanted to give more room to the inventory names and costs, but can't yet. If I shift to the left let's say three spaces the first three letters disappear. Have to find the routine that clear that portion of screen while moving the mouse off the item. Meanwhile I've took the opportunity to give more breath to the info on the right. Still not decided the final position.
Screenshot_2023_09_01_181532.png ( 178.58k )
Numero di download: 0CITAZIONE pointer position of inventory text in QUEST.EXE 0x01482B pointer block to costs - 0x18 Bytes 0x014843 equipment costs (in decimal) - 0x1F Bytes 0x014863 class (barbarian) 0x014873 name (sigmar) 0x01486F "GOLD" 0x014867 gold amount (4 digits) 0x014877 screen position for the equipment names 0x01487B pointer block to the pointers in [language].bin to the item names - 0x18 Bytes Will report to wiki as soon as I create the quest.exe page, but I need to gather more info -------------------- |
|
|
|
1 Sep 2023, 18:22
Messaggio
#255
|
|
Gruppo: OldGamer Messaggi: 332 Iscritto il: 27 June 14 Utente Nr.: 20.463 BGE Command & Conquer: Tiberian Dawn SO Windows7 |
I also discovered that in both the main menu and in-game, right mouse button is a substitute for the "back" or "ok" buttons. I already knew it could be used to pass on the turn to the next player, but not having to move the mouse to press "OK" on dialogs streamlines the game a whole lot! Funny, I used that trick when I was a kid and now gave it for granted! Confirm, it speeds up things a lot! It would be nice if we could find the click zones in the main screen; then we could add something that makes it somehow link a click zone to make it exit the game... maybe coordinates 0,0 or something. Exiting a program is a fairly simple thing if I remember correctly. Messaggio modificato da Nyerguds il 1 Sep 2023, 18:23 -------------------- Expert on all things Command & Conquer 1. Creator of a bunch of small modding tools.
|
|
|
|
1 Sep 2023, 21:15
Messaggio
#256
|
|
Gruppo: SMod Messaggi: 14.545 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 would be nice if we could find the click zones in the main screen; then we could add something that makes it somehow link a click zone to make it exit the game... maybe coordinates 0,0 or something. Exiting a program is a fairly simple thing if I remember correctly. That would be really nice. Since we can modify the graphic, adding an "EXIT" button would be straightforward. EDIT: or add the official button even to the main screen.
Screenshot_2023_09_04_002314.png ( 3.02k )
Numero di download: 0The right click trick works also as "back" in the pages, btw. -------------------- |
|
|
|
3 Sep 2023, 23:22
Messaggio
#257
|
|
Gruppo: SMod Messaggi: 14.545 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 |
Funny thing.
Experimenting with the shop part, I've found the pointer to the protection screen. One of my goal was also to remove the crack and give the possibility to install the translation with or without the protection (Gremlin bypassed it by default in CD version) and this is a good finding in this regard. At least now I got the chance to translate, align the text and see the result.
quest_008.png ( 2.43k )
Numero di download: 0QUEST.EXE at 0x014893 change 8581 to 8481 (it works also with 8681), as soon as you enter the shop screen it goes to the protection check (and loops there). Change instead the other 8581 at 0x0148B7 behave the same way but only when you click on the background in the shop screen. Nyerguds, could this be useful to implement the exit routine? There is also a bug in one of the shileds, probably only a matter of shifting a bit, but in this way it's got color!
Screenshot_2023_09_04_003750.png ( 15.45k )
Numero di download: 0Nyerguds, you're the expert here. Just a proof of concept if we want to fix bugs! EDIT nevermind, it gets corrupted since memory is overwritten. It does not occur in proper uncracked exe. The shiled at page 12:
Screenshot_2023_09_04_004105.png ( 14.21k )
Numero di download: 0-------------------- |
|
|
|
4 Sep 2023, 20:35
Messaggio
#258
|
|
Gruppo: SMod Messaggi: 14.545 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 |
Found a forum with cheat engine table for this game, very interesting to study.
https://fearlessrevolution.com/viewtopic.php?f=4&t=17255 -------------------- |
|
|
|
4 Sep 2023, 20:51
Messaggio
#259
|
|
|
Gruppo: OldGamer Messaggi: 2.695 Iscritto il: 15 September 17 Da: España Utente Nr.: 21.627 SO Sono un BOT, cancellami l'account |
Potete approfittare di questi trucchi?
|
|
|
|
4 Sep 2023, 21:17
Messaggio
#260
|
|
Gruppo: SMod Messaggi: 14.545 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 |
Potete approfittare di questi trucchi? Può essere utile come riferimento per capire dove sono gli indirizzi di alcune cose come i punti vita e il movimento. Cose che ho già trovato direttamente nel file del savegame. https://moddingwiki.shikadi.net/wiki/HeroQu...Savegame_Format -------------------- |
|
|
|
4 Sep 2023, 21:39
Messaggio
#261
|
|
Gruppo: SMod Messaggi: 14.545 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've managed to find the original floppy images!
I've compared the queast.exe with the original CD-ROM quest.exe (that has the protection bypassed by Gremlin) and reverted back the Shield screen! The plan is to release as optional. I think it's better to preserve such things. Anyway I've found a way to keep the Shield screen and enter the game with any answer. CITAZIONE to restore shield protection in UNCOMPRESSED QUEST.EXE modify at offset 0x0541 from 90 90 90 to E8 DC FE (if you modify these bytes only the shield screen stays and regardless of page entered the game starts anyway) at offset 0x0549 from EB to 74 if quest.exe is compressed search for: C706E9370000C3 and replace with: FF369031833E90 7403 (0x0374) jumps to the absolute offset where the code is 0x4087, that could be the exit to dos routine. We could eventually add up a portion in the game to exit properly, as Nyerguds rightly pointed out. A "feature" never implemented by Gremlin! -------------------- |
|
|
|
5 Sep 2023, 12:13
Messaggio
#262
|
|
Gruppo: OldGamer Messaggi: 332 Iscritto il: 27 June 14 Utente Nr.: 20.463 BGE Command & Conquer: Tiberian Dawn SO Windows7 |
So the copy protection screen does allow you to exit the game? Or does it just get stuck on there? If it does, then that's a very interesting research route.
In fact, the copy protection screen functions could be a good place to place the exit code then. I know DOS games are generally really tight on space to put new code in. Messaggio modificato da Nyerguds il 5 Sep 2023, 15:09 -------------------- Expert on all things Command & Conquer 1. Creator of a bunch of small modding tools.
|
|
|
|
5 Sep 2023, 16:06
Messaggio
#263
|
|
Gruppo: SMod Messaggi: 14.545 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 the copy protection screen does allow you to exit the game? Yes, if you answer with the wrong page you return to dos. The original text says "reboot and try again", but no reboot is required, maybe they intended restart the game or simply they didn't change the text from the Amiga version. The PC was actually the only system that dosn't use autoboot to start a game -------------------- |
|
|
|
6 Sep 2023, 21:22
Messaggio
#264
|
|
Gruppo: OldGamer Messaggi: 332 Iscritto il: 27 June 14 Utente Nr.: 20.463 BGE Command & Conquer: Tiberian Dawn SO Windows7 |
So the easiest way to handle this is make some way to get to that password screen, and turn it into an exit confirmation screen :p
-------------------- Expert on all things Command & Conquer 1. Creator of a bunch of small modding tools.
|
|
|
|
7 Sep 2023, 22:26
Messaggio
#265
|
|
Gruppo: SMod Messaggi: 14.545 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 the easiest way to handle this is make some way to get to that password screen, and turn it into an exit confirmation screen :p Trying but failing. The code jumps to a place that I don't think is where the exit routine is. Actually I have yet to figure out if the bytes changed are opcodes or addresses. @nyerguds, this is my first attempt to ADD an object to the map. Never thought about that but I've found a proficient way to test the addition by temporarily modifing the starting position of an hero near the recently added object ;-P Sorry for the italian, asking the community: ***** in italiano ***** Nella quest 13 "la ricerca della lama degli spiriti" ho trovato anticlimatica la stanza con la lama degli spiriti:
Screenshot_2023_09_07_223123.png ( 257.4k )
Numero di download: 3
5 mostri e dentro NULLA. Per trovare la lama devi fare una ricerca tesori. Il fatto è che ucciso l'ultimo mostro la stanza resta vuota, non un indizio, una rastrelliera, un armadio, un forziere, nulla. Il libro delle imprese del boardgame non mette mobilia, ma fa proferire al master una frase che indica che quei mostri stanno custodendo proprio la Lama.
Screenshot_2023_09_07_232332.png ( 27.58k )
Numero di download: 2Ho pensato dunque di mettere un forziere o una rastrelliera, ma penso si addica di più il primo:
Screenshot_2023_09_07_231310.png ( 278.74k )
Numero di download: 2CITAZIONE QUEST13.BIN (la ricerca della lama degli spiriti):
Modificare il byte all'offset 0x462, da 40 a 43. Modificare il byte all'offset 0x46c, da 24 a 25. All'offset 0x5a2 INSERIRE i seguenti 3 byte: 08 0F 5C -------------------- |
|
|
|
9 Sep 2023, 23:07
Messaggio
#266
|
|
Gruppo: SMod Messaggi: 14.545 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 |
a little jump ahead on the "random" events thing.
Now I have the proof of exactly how the sequence is hard-coded, because I've found the references between the language file and the quest.exe. In [LANGUAGE].BIN each textbox has an address that is written in the first part of the file: the pointers. Those pointers are written in the quest.exe in different sections. They did want the "randomization" to behave like this, probably to make the game easier and a little predictable. Since they didn't implement an exchange system between the heroes, knowing when a certain potion would pops up while searching should mitigate its lack. In Quest.exe at 0x7144 we find F400 the pointer of the "wooden box" event. The first time you search for treasures the game reads from [language].bin, starting from this offset 9 events in a row (all money events), exactly as they are laid in the pointer section. If you change the starting pointer, the game shows you the corresponding text but the hero will continue to find the money as they were originally intended to appear. This means that there are two separate lists, one that displays the text and one that assigns the money. And this is a bad thing. After this section it's the potions turn. I've found the sequence 1801120112011A011601 that contains 5 pointers and they're always the same: speed, healing, healing, strength, recovery. No matter what, after a ton of money (330 to 360) comes the potions, in this specific order. Then I've found a section with the last three events merged with code that probably really randomizes them, at least displays one or the other. Heroic potion, holy water, and nothing. Then 3x wire traps (the same text repeated 3 times) and a variable number of wandering monster events, from 3 to X! (the most I've found was 6). And finally it loops to the wooden box again. CODICE offsets (LE) da cercare dentro: italian.bin quest.exe random events 3928 F400 IN UNA VECCHIA E SEMPLICE...SCATOLA DI LEGNO BB28 F600 NELLA PUNTA DI UN VECCHIO...SCARPONE 4629 F800 LA FORTUNA e CON TE, IN...UN ANGOLO A529 FA00 SCOPRI UN MAGRO BOTTINO DI SOLE...10 MONETE 102A FC00 IN MEZZO A VECCHI STRACCI...TROVI UNA BORSA 662A FE00 IN UNA PICCOLA SCATOLA, ...LASCIATA STUPIDAMENTE D82A 0001 SOTTO UNA PIETRA FUORI POSTO,...AVVOLTO IN UNA STOFFA 552B 0201 FRUGANDO TRA VECCHIE...VESTI SCOVI 20 ANTICHE FC04 0401 SPARSE PER LA STANZA TROVI 30...MONETE 5A2F 1801 SOPRA AD UNO SCAFFALE C'e...POZIONE DI VELOCITA’ 292E 1201 AVVOLTA DA STRACCI TROVI...POZIONE DI GUARIGIONE CB2F 1A01 SCOVI UNA PICCOLA...POZIONE DI FORZA F12E 1601 IN MEZZO A VECCHIE BOTTIGLIE...POZIONE DEL RECUPERO 1B30 1C01 IN UNA BORSA DI PELLE...L'INFUSO EROICO 972E 1401 ABBANDONATA IN UN ANGOLO...ACQUA BENEDETTA 780F 4C00 L'ISPEZIONE NON PORTA A NULLA 3C2C 0A01 SENTI UN FILO PREMERE SULLA GAMBA A22B 0601 SEI IMPEGNATO A CERCARE QUANDO UN MOSTRO I think the right point where is better to play is the Heroic potion/holy water/nothing section. We could dummy everithing else and put every event in that code, basically loop that real random little sequence continuously. Just speculating, any sugestion is welcome. -------------------- |
|
|
|
10 Sep 2023, 04:24
Messaggio
#267
|
|
|
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 capisco come possano pensare che l'opzione migliore per gli eventi sia quella di renderli più prevedibili, quando il gioco stesso ha già troppe strutture a causa della sua mancanza di IA e di espedienti.
Grazie alla vostra nuova scoperta e al mio trucco fortuito, potete fare qualcosa per rendere gli eventi più casuali? |
|
|
|
19 Sep 2023, 22:42
Messaggio
#268
|
|
Gruppo: SMod Messaggi: 14.545 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 alla vostra nuova scoperta e al mio trucco fortuito, potete fare qualcosa per rendere gli eventi più casuali? Non ti so dire purtroppo. Il metodo che hanno usato per la "casualità" deglie eventi che ho mappato, che tu avevi già grosso modo compreso vista la tua esperienza col gioco, è davvero troppo annegato nel codice per poterci tirare fuori qualcosa di davvero random senza romperlo. Le sequenze sono in punti diversi e si comportano troppo diversamente. Volevo portare all'attenzione una serie di softlock possibili nella quest "la città proibita" (ma può avvenire in altre misisoni). Come nel boardgame capita che in punti precisi cadano pezzi di soffitto. Si possono riparare solo con la borsa attrezzi e a quel punto dell'avventura si spera che tutti gli eroi ce l'abbiano. Nel caso in cui un eroe non ce l'abbia e passa per ultimo in un determinato punto, può restare bloccato e non poter uscire perché la trappola, se disinnescata riscatta ad ogni passaggio. Col fatto che il gioco non prevede una uscita dalla quest se non dalle scale (sì, non c'è un ESCI al menù o al dos da dentro la missione) sei costretto a resettare il pc (o più verosimilmente chiudere dosbox Il punto è questo (col nano al centro che può disinnescare quella di sx ma non quella di dx!):
Screenshot_2023_09_19_231737.png ( 62.26k )
Numero di download: 0Corrisponde alla transizione tra due aree di corridoio. Hanno messo la trappola esattamente al limitare della zona di corridoio, così facendo, se si viene da destra, la roccia cade nella zona adiacente, rendendo impossibile disinnescarla dalla zona sinistra. In questo gioco puoi attaccare mostri tra zone adiacenti (e loro non ti attaccano!) ma così le trappole non le puoi disinnescare. Immagino basti spostare più internamente di una casella le trappole ai bordi. Non mi pare ci siano controindicazioni. -------------------- |
|
|
|
20 Sep 2023, 09:37
Messaggio
#269
|
|
Gruppo: OldGamer Messaggi: 332 Iscritto il: 27 June 14 Utente Nr.: 20.463 BGE Command & Conquer: Tiberian Dawn SO Windows7 |
If you change the starting pointer, the game shows you the corresponding text but the hero will continue to find the money as they were originally intended to appear. This means that there are two separate lists, one that displays the text and one that assigns the money. And this is a bad thing. Ow. Indeed. It means that your "randomised" events will also have randomised text that doesn't actually match the event, right? Volevo portare all'attenzione una serie di softlock possibili nella quest "la città proibita". Come nella misisone del boardgame cadono in punti precisi pezzi di soffitto. Si possono riparare solo con la borsa attrezzi e a quel punto dell'avventura si spera che tutti gli eroi ce l'abbiano. Nel caso in cui un eroe non ce l'abbia e passa per ultimo in un determinato punto, può restare bloccato e non poter uscire perché la trappola, se disinnescata riscatta ad ogni passaggio. I was wondering about that when I made the "flood fill" logic to see which areas were accessible, actually. Back then, I knew about the falling rocks trap, but I hadn't played the game yet, and I didn't know it was possible to repair traps, so I wondered if I should make such traps count as rocks or as passable area. Messaggio modificato da Nyerguds il 20 Sep 2023, 09:48 -------------------- Expert on all things Command & Conquer 1. Creator of a bunch of small modding tools.
|
|
|
|
20 Sep 2023, 21:53
Messaggio
#270
|
|
Gruppo: SMod Messaggi: 14.545 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 |
Ow. Indeed. It means that your "randomised" events will also have randomised text that doesn't actually match the event, right? Unfortunately. It would require us to decompile the exe and understand how and where they match, but that should be the last thing, the first would be to plan how to reuse the code to do a proper randomization. We should get rid of a great chunk of code and create a new one from scratch. But I sincerely don't know how to achieve this exactly. Basically we should mimic the real boardgame that has a mixed up deck of 30 cards (some duplicated) from which you draw when searching for treasure. I was wondering about that when I made the "flood fill" logic to see which areas were accessible, actually. Back then, I knew about the falling rocks trap, but I hadn't played the game yet, and I didn't know it was possible to repair traps, so I wondered if I should make such traps count as rocks or as passable area. The game treats them differently in fact, falling rocks are traps that spring during the game and can be removed, fallen rocks (ID 30,31) are placed on the board from the beginning and count as concrete inaccessible rock. The manual I remember saying something along these lines "think as if the corridors and rooms were carved into the rock and are the only place you can explore, outside is simply rock, meters of solid inaccessible rock and the fallen rock token are the delimiters". And that's also the reason why you cannot use the magic "pass through rock" on something that is not a (thin) wall. The trap is triggered upon stepping into the trapped tile and can cause two events, you are hit and lose 1 point or you jump aside avoiding it. Both events result in a fallen rock tile behind the hero. For the records you have to use the "toolkit" twice to fully remove the falling rock, first you remove the rock (the tile remains) and after you fix the trap. But I think it is bugged, since you only fix the trap, not disarm it. You can step on it again triggering it indefinitely. A hero without the toolkit can softlock the game stepping into it, advance one step and go back (see the dwarf in the previous screenshot). -------------------- |
|
|
|
24 Sep 2023, 05:17
Messaggio
#271
|
|
|
Gruppo: OldGamer Messaggi: 2.695 Iscritto il: 15 September 17 Da: España Utente Nr.: 21.627 SO Sono un BOT, cancellami l'account |
Ragazzi, mi dispiace non potervi aiutare oggi, ma sto entrando nell'ultimo mese prima dell'esame e sono totalmente concentrato su di esso, ma continuo a leggervi.
|
|
|
|
25 Sep 2023, 17:07
Messaggio
#272
|
|
Gruppo: SMod Messaggi: 14.545 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 |
Ragazzi, mi dispiace non potervi aiutare oggi, ma sto entrando nell'ultimo mese prima dell'esame e sono totalmente concentrato su di esso, ma continuo a leggervi. In bocca al lupo raul! Non voglio distrarti! ;-) I was just playing around the 19th quest to find a way to restore an unused content. At the end of the quest, the moment you defeat Bellthor, the stairs appear in place of a table. Out of the blue, no text or warning. Translating the game I've indeed found a text that should precede this swap (THE TABLE SLIDES ASIDE...REVEALING THE GATE TO...THE WITCH LORDS DOMAIN).This is hard coded and resides in QUEST.EXE. Found the IDs of the stairs (with wildcard 38????????39????????3A????????3B) and discovered the code responsible for the action.
Screenshot_2023_09_25_175050.png ( 32.58k )
Numero di download: 2C606 seems to be an opcode that perform some sort of reset of the tile. (if I change it it behaves different, drawing the stairs but make them inaccessable, like if the table was present). Still don't know what 59 does but the number on its left is the position of the tile. Maarten need to jump in to help on this. It could be useful to understand how the code puts the tiles on screen apart from the quest files. EDIT, undersood, 59 is part of the memory address where to put the value of the tile.
Screenshot_2023_09_25_160508.png ( 158.19k )
Numero di download: 0the first C6 06 32 59 00 resets the tile removing the table (since every object is defined on one tile only and then extends to the other tiles as an overlay), so I put C6 06 to 00 00 and the table stayed:
Screenshot_2023_09_25_203022.png ( 289.23k )
Numero di download: 1Tried messing with the bytes before that first C606 and nothing happened. This means that that part of code that do the swap is called from another part. The table is in this position:
Screenshot_2023_09_25_173848.png ( 34.7k )
Numero di download: 0They seem to be subsequential, after 0x34, add 25 tiles and you have 0x4C. But I can't understand why the top left is not the origin. So, next step is to intercept the moment you kill bellthor and inject the pointer to the scroll that displays the message. But that will be the harder part. There are a lot of unused text in the game that could be restored in this way. Let's try to decompile QUEST.EXE:
Screenshot_2023_09_25_211619.png ( 55.01k )
Numero di download: 10As I suspected those C3 are the return code of the function. byte ptr (POINTER) for those 0,0,38,39,3a,3b set the tiles. Have to find out what that "byte ptr [3F97h],1h" at the end does. -------------------- |
|
|
|
26 Sep 2023, 20:43
Messaggio
#273
|
|
Gruppo: OldGamer Messaggi: 332 Iscritto il: 27 June 14 Utente Nr.: 20.463 BGE Command & Conquer: Tiberian Dawn SO Windows7 |
Have to find out what that "byte ptr [3F97h],1h" at the end does. That's not what it says. You're ignoring the first column. The full thing is "mov byte ptr [3F97h],1h" It simply puts a byte value of 1 into the memory at address 3F97h. -------------------- Expert on all things Command & Conquer 1. Creator of a bunch of small modding tools.
|
|
|
|
26 Sep 2023, 22:12
Messaggio
#274
|
|
Gruppo: SMod Messaggi: 14.545 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 |
Have to find out what that "byte ptr [3F97h],1h" at the end does. That's not what it says. You're ignoring the first column. The full thing is "mov byte ptr [3F97h],1h" It simply puts a byte value of 1 into the memory at address 3F97h. Thanks, just experimenting with the decompiler. So C6 is the opcode for mov, 06 means byte pointer (so there could be word/dword pointer as well), then the address and then the value. Got it. Still I don't understand what setting 1 at that memory address does. There are other 7 operations like that in the file, 6 are set to 1, and 1 to 0. Tried 0 and other values but no changes. How the memory address 5933 (where to put tile 38) is related to the map? -------------------- |
|
|
|
27 Sep 2023, 10:36
Messaggio
#275
|
|
Gruppo: OldGamer Messaggi: 332 Iscritto il: 27 June 14 Utente Nr.: 20.463 BGE Command & Conquer: Tiberian Dawn SO Windows7 |
opcodes aren't that simple... there's a different code for moving data into each of the different registers (ax, bx, cx, dx, sp, si, etc; the small memory spots on the CPU itself that can be used as temporary storage) and for moving data into pointer locations, and the commands are also different depending on the size of the data to move into that (byte, word, dword, though I don't think dword exists here since it's 16 bit).
There's a file called OPCODES.HLP floating around on the internet that has a decent overview of them all. I learned most of the stuff I know from that file. Unfortunately the .hlp format is no longer supported by modern operating systems, and you'll have to figure out how to install some legacy component into Windows to still open it. Though, to understand registers, I have this Cool Diagram:
cool_diagram_that_owns.png ( 11.58k )
Numero di download: 19Messaggio modificato da Nyerguds il 27 Sep 2023, 10:37 -------------------- Expert on all things Command & Conquer 1. Creator of a bunch of small modding tools.
|
|
|
|
![]() ![]() |
| Versione Lo-Fi | Oggi è il: 2nd November 2026 - 14:16 |