4/29/2023 0 Comments Scummvm rom setIt also has methods that use that block index pointer to put together the file data from its disparate data blocks when it is asked to do so.Īs a result, the program flow works like this: The file class then, is much smaller, just containing a bit of metadata about the file (name, size, type), and a block index pointer to where either the data, or the index block/master index block is stored. if a file is in a subdirectory, the path would be “subdir/file”). The disk class also contains methods used for parsing the entire volume, the loader blocks data, the volume bitmap, and a hashmap to hold all the file objects with their full path name as their key (ie. The disk volume contains structs that mirror the data layout in the disk, for example a directory header: The general structure has stayed mostly the same throughout, where the disk volume is a class, and the file itself is another. Today, I will show how it works in more detail with reference to the code. In the last post, I gave a brief explanation of how the file structure works. dsk files (although it does not account for Sparse files currently, which are unlikely to be relevant for game engines but it should be noted none the less). There were a number of frustrating issues along the way, but I was successful in implementing a Common::Archive class that can handle ProDOS. I also mentioned last time that it could eventually be converted into an implementation of the Common::Archive system in ScummVm, so that other engines reading ProDOS files would not also need to simulate the file system. First however I should mention that because ProDOS is an entire file system and not just a series of files stored together, and because accessing the files should be as similar to the original game as possible, I needed to have the engine simulate the file system. This was a somewhat lengthy process, as I will get into shortly. Since ScummVm did not have a way to read ProDOS specifically, the first thing that needed to be done was to implement some way to do so. Last week I talked about how The Immortal is stored as. The first week of the coding period is over, and there a few things to talk about. Looking ahead to an even more eventful and productive week! I can also finish my trello tasks one by one (as they are identified bugs) This week, when I get done with the STUBs, I can start looking for the source of bugs in the targets I mentioned in my proposal. So this would be another target for me to tackle in my coding period. Seems like this target is also being one which we would be using to fix the Director Engine and will make it work just like the original. sev also pushed a quick fix for the game’s cursor. These issues have been documented on the trello board. Not being able to leave the first level (sev identified this as an issue of not checking for punycoded file paths). Animations are quite fast at some places.Wrong palette in the corridor (This is an issue while importing palettes from sharedCast).There were a few issues with the target : Speaking of targets, hsrtron playtested The Seven Colours : Legend of PSYS City. So it would be all about resolving bugs in various targets like Meet Mediaband, The Journeyman Project, Spaceship Warlock. Then the issues won’t be about missing code in Director, it would be about wrong code. So there wasn’t much progress these days.īut seeing how things went this week, I am sure that I can implement all the STUBs in Director Engine’s Codebase next week, which would be inline to what was my goal for the first two weeks in my proposal. Second was my birthday, I turned 20 this week. One was when I had some mild fever and was exhausted. You can see all my PRs for the week, sorted by last updated here. I also refactored the RIFX Chunk dumping so it dumps all Archive chunks now. The lingo properties now don’t have STUBs (yay!) (Actually one is left, but I have figured that out. 18 of them were implementations of STUBs. 4 are open and 1 is a draft (Though that will be open tomorrow). I will add a strikethrough to the ones that are done. Still, it has all the ones that are unimplemented. This gist doesn’t contain some STUBs I had implemented at the first day of week. So I kept it for later and started working on the STUBs in the Director Engine codebase. I had some progress in finding the cause of the issue, but didn’t have any code to push (this was the first day of the week). I first tried my hands on the window properties task that was assigned to me on Trello. I have shared the link to that in my previous blog post. sev assigned me some tasks in the Trello board for the director engine.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |