-
Content Count
15 -
Joined
-
Last visited
-
Days Won
9
Daerandin last won the day on February 22 2024
Daerandin had the most liked content!
About Daerandin

-
Rank
Freeman
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
Hey, I haven't been looking at this stuff for quite a while now. In short, I simply used the 'file' utility on Linux, which tells you that it is zlib compressed data. Speaking of this again, perhaps it is time I actually get started on making a program to modify those files. I was planning on doing it long ago, but other stuff came up.
-
-
-
-
-
Update! I have figured out how to make the game give you awards after a match, if you qualify or not. This will also give you the related Steam Achievement if you don't already have it. However, in order to do this I need to modify the game code in memory while the game is running. I realize that such a tool runs afoul of this sites rules, so I'm not going to promote it here. However, I am also going to get started on making tools to modify the two files related to your profile. Such tools should not go against site rules as those files are not compiled data. I will probably start working on that sometime during next week.
-
-
Unlocking all campaigns+trails can be done in the config.dat file, and I have figured out how. I created a simple test program to modify the uncompressed file. I obviously needed to manually uncompress and compress the file, but as a proof of concept it did the job. A brand new profile had all campaigns+trails unlocked. Additionally, this will also give you awards for having completed all campaigns and trails when next you play any map. It is likely that I will create a program to automate such modification as I assume most people are not particularly comfortable with modifying binary files directly with a hex editor. In any case, for now it is fully possible to do so , although the process is a bit more convoluted than with the stats.dat file. Things are not at a permanent offset within the file. Profile name can be of a variable length, so there is a unique byte sequence to denote the end of profile name, and beginning of the rest of the file. All the offsets I have gathered here are from the final byte of the special end-of-name sequence. As with the previous file, all offsets are in hexadecimal. unlock_campaigns.txt
-
I finished mapping the file, at least I think so. The final values were all associated to the awards cabinet. So far I only know how to set it so that you have the award. So if you want a full awards cabinet, just use the attached list for reference. The 3-digit hexadecimal value is the offset in the dat file, after you have decompressed the file. Ensure the four bytes at that address are modified to the hexadecimal Value in my list. You will obviously need to compress the file again for the game to be able to use it. The more interesting thing to figure out is how to make you "qualify" for each award so that it will be unlocked when next you finish a match. The "True Dedication" award is simple, just need to ensure the value for in-game time is more than 10 days. In hexadecimal that is D2F00, but since the file is in little-endian, the value has to be: 00 2F 0D which is exactly 10 days of in game time, in seconds. As far as I understand, Steam achivements are unlocked when you get an in-game award in the post-game screen. So just getting all awards this way would not do anything for Steam achievements. Campaign/Trails progress is not tracked in this file, so that's also something I want to look into. If anyone want help in how to modify the file, just message me. In time I might make a program to handle these modifications. But for now I want to gather more data. full_map.txt
-
-
This is what I have been able to create so far. It has mostly just been the boring process of matching values in the file with the in-game stats page. Unfortunately, most of these are not really that interesting as they don't help with getting awards, except for the in-game time. Still, having these values mapped will certainly help in finding the more interesting stuff. Note that there does not appear to by anything useful before offset 30, so no point looking there. The rest of the data might take some time. I will probably first try to unlock stuff and then see how the file changes to look for patterns. map.txt
-
-
-
I'm back. Seems like my motivation takes a year to get going.... Anyways, after having been busy with other stuff I finally got around to looking at this again. The actual .dat file is zlib compressed. Once decompressed it is still a binary format, but possible to read and modify. I was able to verify this by finding in-game time and also seeing it change correctly between game sessions. I do have a full award cabinet on my old profile, so I intend to start a new profile and begin to map interesting data. What I hope to do is figure out how to unlock all campaigns+trails, as well as making it easy to fill the award cabinet. Some of those were painful to get (10 days in-game). If anyone else is interested in this, you need to use zlib to decompress the stats.dat file. Then you can use a hex editor to have a look at the file. Make sure to use little-endian decoding, otherwise the decimal conversions will be incorrect. The in-game time variable is stored at offset 0x7b8 as a 32-bit value. I am not sure if it is signed or unsigned, and that does not really matter either. You need more than 68 years in-game time for that to matter.
-
-
-
You can get SH1 (HD version) on GOG. And as with all games on GOG, no copy protection or online requirement either. There is currently a sale on GOG, so you can get it 75% off the already low price there. SH1 on GOG
-
Daerandin started following Multiplayer Ai Fix, Profile Statistic (Dat File), Orbiter Space Flight Simulator and and 3 others
-
Recently I managed to obtain all Stronghold Legends trophies. The most annoying one for me was, without a doubt, the "10 days in-game" award. I tried to poke around the dat file for my game profile but couldn't figure it out, so instead I just left the game on overnight and while at work for a few weeks. Feels great to finally have all the awards, but I still want to figure out the dat file. Since in-game time is the one thing I really wanted to work out, I have decided to start there. My efforts so far have been to use two profiles. This way I can read my in-game time for one profile, and ensure it does not change by using the other profile to exit the game. Then I examined the dat file with a hex editor to look for a number that would equal the game time. This gave me no results. I looked for hexadecimal values that would equal my in game: seconds seconds + minutes (converted to seconds) seconds + minutes + hours (converted to seconds) seconds + minutes + hours + days (converted to seconds) hours days days + hours (converted to hours) None of these gave me any results. My worry is that the dat file is not pure binary data of profile stats, but possibly compressed. Still, I don't want to give up so I will change my approach. I will check in-game time for one profile, then make a copy of the dat file at that state. Then increase in-game time, and make another copy of the dat file. Then I intend to compare the files and see if the increase in game time has resulted in an equivalent increase in some value, hopefully equaling the difference in seconds. Provided I find an easily identified change, I intend to change it directly and then see how it affects profile statistics in-game. EDIT: Forgot to mention, I'm doing this on the Steam Edition. I don't know if there is a big difference between the editions, but for now I don't feel like digging out my old SHL disc.
-
-
-
-
-
I had a look at the old astronomy topics, I've always had an interest in astronomy and space flight, so I would like to share this amazing space flight simulator in case it would interest some of you. Orbiter It is completely free, always has been. The developer is a British professor with the name Martin Schweiger. The last release was in 2016, but the project was recently open sourced and community members seem to have taken over continued development. There has not been any new releases there yet so the 2016 release is still the newest available. I've been playing around with this simulator for many many years, since the early 2000's. The thing I really like about this simulator is that it has always had a strict focus on realism. There are not missions, not even any tutorials. It takes some time getting into it at first, as you will need to read the documentation to understand how to operate the available craft. Having an understanding of orbital mechanics is also important to properly enjoy this simulator. Since it focuses in near-future technology, the physics are only newtonian, which is more than accurate enough for regular spaceflight within our solar system. Mods is a big part of Orbiter, although I have not really been paying attention to that community lately. Some years back things were scattered around a bit, now it seems like everything is located at the orbiter forum in the downloads section, seems like the full game files are also available there: Orbiter Forum One mod I consider essential is XRSound, as it adds sound to Orbiter. Without this mod it is not quite as immersive. I'm also a huge fan of the XR Fleet ships: Delta Glider XR1, XR2 Ravenstar, XR5 Vanguard. Those ships have full damage simulation (overheating during re-entry, wing stress damage, ground collision damage), crew oxygen usage, and even electrical system overheating so you need to deploy an external radiator when outside the atmosphere to prevent internal overheating. I hope someone else might find some enjoyment with Orbiter. I have always loved it since I first found it.
-
Yes of course, dual booting between Windows and Linux is also an option. This would probably feel safer for most people, as you still have your Windows in case you are unhappy with Linux. The whole Linux ecosystem is very different from Windows. For instance, drivers and such is something you should not go looking for yourself. Most drivers are already in the Linux kernel, so they will be present and working without you doing anything. The big exception here would be the Nvidia graphics driver. If you use Intel or AMD, they have excellent open source drivers included in the Linux kernel. But for Nvidia you need their proprietary driver, most Linux distributions already package it so it can be easily installed from the package manager. Still, I'm not going to try and pretend like Linux is the OS for everyone. Even though you have distributions like Ubuntu and Linux Mint that are super easy to use, it would still be a big adjustment coming from Windows. And just about everything is made specifically for Windows. If you want to run WIndows software on Linux, you need to run it via Wine, and hope that it works. In my case, the only Windows specific software I try to run is games, and just about every game I have tried runs well with Wine. Ten years ago it was a lot more hassle, but these days Wine seem to be able to handle almost everything.
-
-
-
Hello everyone. I have already posted a couple of topics here and decided that I should perhaps provide a proper introduction. I don't participate much in online communities so it is unlikely anyone know me from somewhere else. I have been a fan of the Stronghold series since the very first release, and kept playing new games up until Stronghold 3. I was quite disappointed with SH3 to be honest, for multiple reasons. My biggest gripe with it is the fact that they supposedly have an official Linux version on Steam, but the Linux version was abandoned long ago and have not received updates. Last time I tried (which was admittedly many years ago), the Linux version of SH3 did not include any DLC or updates. A LOT of content and bugfixes that you get in the Windows version is missing in the Linux version. However, I still love SH2 and Legends and those are the games I keep playing even to this day. As I already mentioned, I'm an enthusiastic Linux user and a member of the Arch Linux Testing Team. I do some hobby programming now and then and have some projects, I also have a website that I hardly ever do anything with. But it was fun to set it up from scratch, I coded it in Python with the Django framework, and set it all up myself using MariaDB database and Apache webserver. I enjoy doing stuff manually on computers, it's pretty much my hobby. I intend to try and be a bit active here now and then.
-
I just wanted to share my experience with running these games on Linux just in case someone might be curious. I have not tried all Stronghold games on Linux, but I quite a lot of them. So first off, I will just list those that I can confirm will run on Linux based on my own experience: Stronghold Stronghold Crusader Stronghold 2 Stronghold Legends Stronghold 3 Stronghold Crusader 2 I have not had any issues running any of these on Linux. Personally, I only rely on the command line for Linux, so I create my own little launcher scripts for each game, and then have them in my PATH so I can launch them directly. I just use regular Wine for running games in most cases. For those who are not comfortable with the command line, there are other graphical tools available to make it easier to use Wine to play games. One such project is called PlayOnLinux, and I have used it myself many years ago. There is also a newer project called Lutris, but I have never tried it. If you have the games on Steam, then it is highly likely that you can run the games directly from Steam as long as you go to Settings, and then Steam Play settings, and ensure you enable Steam Play for all titles. You generally want to use the newest version of Proton that is available. However, on my wife's computer she could not launch Stronghold Legends with Steam Play, so she just used regular Wine set up manually. It is my hope that this could help someone take a chance with Linux if they are curious. I am able to run every game I want to Linux when I'm using either Wine or Steam's Proton. And if anyone is having issues or questions about Linux then I'd be more than happy to try and help.
-
I know Legends is the odd one out for a lot of Stronghold fans, but I've always enjoyed it. My two favorite games in the series stands between SH2 and SHL. Been a fan of the series since the original Stronghold came out in 2001. I still remember when I saw it in a local game store, brought it home with me the same day and never looked back. I must admit to not really following the series after I was hugely disappointed with SH3. They released a Linux version, which was abandoned shortly after. I wish they would just take it down because the Linux version does not include the newest patches or any of the DLC's. I'm one of those people who actually like having digital releases of games now, simply because of convenience and I also don't have to worry about game discs becoming unreadable at some point. But, it must be said that I always prefer GOG because of the no-DRM policy they run. But enough off-topic talk here. I have not played these games much lately. Came back to SH2 and Legends with the Steam Editions, but then stopped playing for a while. Some weeks back my interest resurfaced and I decided to do the Trails in Legends. Last time I completed them all was before the games came to Steam, and I remembered the Road to Hell trail to be particularly challenging towards the end. My memory was quite correct. My reactions are not what they used to be as I'm almost 40 now, so I am very happy for the option to change game speed while you are playing. I tend to set it quite low while I'm building up and defending against sieges. Still, this last mission had me sweating through the early stages. Those cursed giants that Siegfried sends in constantly was making it difficult to maintain a good defense. But once the my number of crossbowmen were high enough, combined with a few Knights of the Round Table, I began to hold my own quite easily. I had obviously taken out Vlad as soon as I could get my men over there, I don't see any other way to do this mission. Thankfully, Siegfried was also easy to take out once my defenses were in place. I sent over one dragon and almost killed him with that dragon. Then I just made a second dragon and finished him off. With just Arthur left, things were becoming quite relaxing. I massed 40 knights, and 5 trebuchets. The trebuchets were positioned so they could make holes in both walls from the same position. Then I just rode my knights directly to Arthur's keep. This is the second time in my life I've completed this particular Trail, feels quite satisfying. Now off to do the Arthur trail. Never done that one before. If I recall correctly, it was originally only available to owners of a Special Edition which was only released in the US, so I could not get it.
-
I got some testing done from people on the Steam forums, so I released the updated version. The official download page has the new version which you simply start and leave running. Then you start Stronghold 2 and you can add AI opponents when you host a multiplayer game. Note that only the game host should be running this.
-
Daerandin changed their profile photo
-
A couple of weeks ago I decided to start looking how AI can be enabled for Stronghold 2 multiplayer. I know there are some tools that works for the older versions before the Steam Edition, but I quite like the higher resolution support of the Steam Edition so I decided to figure it out. It took me quite some time to first of all learn how to analyze the game memory as it was running, and then find what I was looking for. There is a specific 1 byte variable in the game memory, this variable is always set to 1, except when you host a multiplayer game. Then the game sets it to 0. As soon as you leave the hobby you hosted, the game switches it back to 1. When this variable is 1, you can see and click on the button for adding AI in the kingmaker/multiplayer screen. When the variable is 0, this button is not present. The address for this part of memory varies between game launches, but there is a pointer to this memory region at a static location. The pointer is always at an offset of 0x00EC5F28. At this address, you read a 4 byte value, then you add an offset of 0xD28 to this value, and you will always land at the correct address for enabling AI in multiplayer. I then wrote a small little program to simplify the process. This tool of mine does not touch any game files, so there are no modifications to the game. All it does it overwrite a single byte in the game memory while it is running, so you can add AI when you host a multiplayer game. TL;DR I figured out and made a tool that lets you add AI to Stronghold 2 multiplayer. I set up a sort of official download page: <link removed> The full source code is available here: <link removed> The precompiled executable you can get from the download page requires a little bit of interaction. You will need to input the Stronghold 2 PID (process ID) before it can start working. You get the PID from the Task Manager while Stronghold 2 is running. If you compile the newest source code, then the program will find the PID automatically. I have not updated the download page with this newer version, because I was hoping that some more people would test it. I use Linux, and can only test Windows stuff virtualized, and I would prefer to have some feedback. But if I don't get anymore feedback, I'll probably just update the download anyway in a couple of days. EDIT: If you want to help, compile the newest source in Visual Studio and let me know if there are any warnings/errors when compiling. Also, maybe I'm just dumb, but I can't figure out how to make this url's into clickable links in this post editor.