Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - AGKorson

Pages: 1 2 [3] 4 5 ... 14
Thx for posting that. Really fascinating.

I also recently read Ken's book. Definitely a must read for any fan of Sierra games.

The story of how they were basically forced out, and Sierra was destroyed by the new management's corporate greed and fraud is quite the tragedy. Imagine what might have been if Ken and Roberta had been able to stay on a little longer and sold Sierra to someone who wasn't a crook.

AGI Development Tools / WinAGI Version 2.1.16 Available for Download
« on: March 15, 2022, 10:53:33 PM »
Version 2.1.16, which fixes the Import Game feature so games with invalid directories or resources will now load all other correctly formatted resources and provide feedback (warnings) on any invalid resources, is available here.

I've just done decompilations of some of the AGI demos. When attempting to import DEMOPAC1 (Helicopter, PQ, Thexder, SQ2, Mother Goose, LSL), I get the following error: "Property or method not available until object is loaded".
Dang it! I thought I fixed all that... ugh!

That game has 8 invalid logics (81, and 101 through 107) that all have directory entries pointing to a non-existent VOL.3 file. For some reason, I commented out the code that checks for that error (which would continue loading the game, and then inform you of the invalid logics), so now the loader just craps out.  I have no idea why I did that.

I uncommented out that code, and the game loads, just as it should.

And when attempting to import either the AGI3 demo pack (Gold Rush, Manhunter, Mother Goose, PQ, SQ2, LSL) or the KQ4 demo, it complains about invalid sound resources.
The AGI3 demo pack imports just fine for me. I don't get any errors. But the KQ4 demo has some MAJOR issues- the DIR file is not valid; it appears to be two DIR files mashed together (it's a version 3 game). The sound DIR section starts at 0x2D5. If there were 256 sounds in the game, then the file should end at 0x5D5. But the total file length is 0xA96! When you look at it in a hex editor, it's pretty obvious that there are four more directory 'chunks' at the end of that file.

WinAGI tries to load 256 sounds because there's too much data, and it's tripping on the first invalid sound (198). (Again, I thought I fixed that; it's supposed to note the error, and continue loading resources; it's fixed now.)  As it turns out, because of the bad DIR file, there are actually 16 invalid sounds (198, 221, 222-236).

The game runs fine though, because Siera's interpreter never tries to access any of the bad data in the DIR file.

And if you examine the bad DIR file, you will see that sound198 has the same location (vol 0, offset 0x778) as picture1 (which is what's actually at that location). The rest of the invalid sound entries, as well as all the other invalid DIR entries added to the end of the file don't even point to the start of an actual resource. It appears the extra data are a fragment of a DIR file from some other game.

If you open this game in AGI Studio, you will see these errors as well. But because AGI Studio doesn't let you open/edit sounds, it doesn't tell you the sounds are bad unless you try to export them.

Fundamentally, AGI Studio acts more like the original interpreter - it mostly just ignores things that it can't handle or that don't conform to file/resource standards. When I made WinAGI, I tried to add as much error checking as I could, thinking it would be helpful to know when game files and resources didn't conform to standards, because I just assumed games with bad data wouldn't run in AGI. It's been a real bitch trying to make that work though, because there are just so many bad game files and bad resources that exist in original Sierra games, and their interpreter happily processes bad data, mostly by ignoring it.

I will get an update out that will be able to handle all these errors. The new approach will be similar to original interpreter, in that WinAGI will do everything it can to get a game loaded; invalid data will be ignored/skipped as much as possible, with only a warning provided that explains any bad data that are encountered.

AGI Development Tools / WinAGI Version 2.1.15 Available for Download
« on: February 15, 2022, 02:26:14 AM »
Version 2.1.15, which fixes the 'New from Template' bug, is available here.

This version includes a bunch of other minor bugfixes. The help file has also been significantly enhanced to provide more detail on AGI.

If you encounter any more bugs, please let me know. I don't plan on any more feature updates to the VB-created version, but if there are significant bugs that need attention, I will continue to provide bug fix updates.

For those that are interested, I am still working on a C# version of WinAGI that hopefully will be able to be ported to other platforms. But it is VERY slow going; there is still a lot about C# programming (especially dealing with the user interface - forms, controls, etc) that I don't understand very well. I'll try to keep going, but I have to admit there are times where I feel like I should just give up and let someone else take over, if there's anyone out there that would even want to. There are a lot of other things that compete for my free time, and I'm beginning to feel like I need to scale back 'AGI' time for some of those other things I enjoy.

For what it's worth, I haven't given up yet, and as much as I can I'll continue pressing forward.

To play the game, you'll need your own interpreter files. It needs to be a version that supports menus and multiplication/division (MSDOS version 2.411 or higher on DOSBox). I haven't tested it on NAGI or SCUMMVM, but I think it should work just fine on those platforms too.
That's a negative on SCUMMVM, the message appears that menus need to be supported. I also gave it a whirl with nagi, but I am short a dll, that's probably just my own issue. Dosbox got me there in the end.
Yeah, I see what I did. In an early version of this, I didn't bother with the version check, figuring the players would have to be responsible for using the right interpreter. But I decided to be 'clever' and use a technique I learned that will dig into the program's code and determine the version number, but that only works for the original MSDOS files; not for newer interpreters.

If you really want to play on SCUMMVM or NAGI, just comment out the line 'call(lgc.VersionCheck);' in the main logic (lgc.Main) and recompile. I haven't tested it yet, but I'm confident that's all it would take to let it run in SCUMMVM or NAGI.

I'll post an update that provides improved checking soon.

AGI Development Tools / Re: WinAGI Version 2.1.10
« on: February 04, 2022, 10:54:28 AM »
Hey Andrew, off topic , but how's progress on your C# implementation going?

I got most of the code working to load and view game resources; it's still quite buggy, and need a lot of work to clean up all the bad coding practices that come from the VB6 model. I haven't even started on any of the editors yet. That was almost a year ago.

I got sidetracked last year on another AGI project. I'm not ready to share that project yet - hopefully real soon. Once that's done I'll try to refocus on C#.

But I can't help myself from tweaking the VB6 code; I am using WinAGI a lot on my current project, and often come across new bugs and tweaks that I just can't ignore. Old habits (and familiar tools) die hard I guess.

AGI Development Tools / Re: WinAGI Version 2.1.10
« on: February 04, 2022, 10:46:52 AM »
It's a good opportunity to say how much I, and I assume everyone here, appreciate your work on creating, and constantly improving, WinAGI.

I prefer (and strongly recommend) using the 'AutoExport' option
Suggestion - if this feature is strongly recommended, maybe you can turn it on by default? If someone dislikes it, it can always be turned off.

Thx for the compliment, I appreciate it.

AutoExport actually is on by default, at least it has been for all version 2 releases.

When you upgrade from one version to another, your settings (usually) get saved, so if you had it turned off before it will remain turned off even after an upgrade. This is actually an unintended side effect of how Windows stores the configuration settings file; it typically is put in the AppsData folder instead of the game directory, so when you remove an old version (an absolute must when upgrading), the config file doesn't usually go away. So when you reinstall the next version, WinAGI just grabs the previous config file and chugs along.) There are a few situations where Windows will kill the config file after uninstalling, but I haven't figured out exactly what's going on. I haven't spent a lot of energy trying to tweak the installation process, and have pretty much accepted what ever Windows throws at me as long as the program installs and runs.

So if you've ever disabled it in the past, it will (usually) remain disabled after an update. But it's easy enough to turn back on.

AGI Development Tools / Re: WinAGI Version 2.1.10
« on: February 03, 2022, 11:47:20 PM »
2.1.12 here. I made sure to download a fresh copy of WinAGI from the wiki. (Not that I really had a choice, it wasn't installed on my PC anymore.)

Yeah, I went back and checked the change history in github, and found that I made that fix AFTER releasing 2.1.12.

I'm just a bit amused that every time I try picking this program up again, I seem to find a brand new bug... no offense.

Well, it does suck a bit when I learn of these kinds of bugs- I always try to make sure everything is working before releasing it. But on the plus side, any extra help with testing is a good thing, so I can at least get these bugs fixed, and get an update out.

Speaking of which, I have another update that's pretty much ready for release, but before I do, are you aware of any other bugs (big or small) that I need to address? I'd like to get this out in the next couple of days.

Thx again for all the feedback!

AGI Development Tools / Re: WinAGI Version 2.1.10
« on: February 03, 2022, 11:38:51 PM »
I'm glad to know that I am not the only person to have had this happen! I ran into this less than a week ago and thought I'd done something crazy because all my comments and formatting throughout all my logics had seemed to disappear. I wasn't even able to retrieve them by opening my backups. All my comments/editing had just disappeared. I even uninstalled my old version of WinAGI and reinstalled the most current version to see if it would fix it, without success. I just started to process of trying to re-add comments and rename variables yesterday so I could read my code again. But, thanks to your post, I have been able to find that my comments aren't really gone into oblivion. I'm sure it was something I did that caused the issue, but I don't know what it was, so wouldn't be able to reproduce it (on purpose anyway). Thanks a million!

I'm sorry you had trouble with this. It's hard to do thorough testing on such a complex application, but I still should have caught this one before release.

One thing I did make sure I incorporated into WinAGI was a philosophy of protecting game files as much as possible from catastrophic errors; it's pretty hard to make things actually disappear; backup copies are made of game files before running critical file operations, so if something does go wrong, it should be possible to recover. And if the WAG file gets corrupted, it may not know where resources are anymore but they aren't gone - they'll still be in the source directory.

I prefer (and strongly recommend) using the 'AutoExport' option (on the General tab of the Settings form) to always have backup copies of non-logic resources as well. That way, if disaster strikes your VOL and DIR files, you still have all your pictures, sounds, and views as individual files.

I am curious how you got into this situation - for the WAG file to get confused about the location of your source files, it had to have been modified somehow to point to the wrong subdirectory. If you still have the 'broken' WAG file on your system, can open it in a text editor and see what it looks like? It might give a hint as to what happened if I know what properties got changed. I'm hoping it's something you did, and not a bug! ;D

Oh, and btw, have you had a chance to check out Flag Quest? It's got code in there that shows how to move objects in a straight line. Check it out, and let me know if you have any questions. Hopefully it's something you can use in your project.

AGI Development Tools / Re: WinAGI Version 2.1.10
« on: February 02, 2022, 10:07:50 PM »
Can you check which version you are using? If it's 2.1.10, I believe there was a bug with the 'New from Template' function. I thought I fixed it for 2.1.12. (The current dev version I have definitely fixes this. But I might be misremembering when I made the fix.)

What's happening is that the game file name and resource directory name aren't being properly renamed after they get copied from the template. The template game filename is 'AGIV2.wag', and the template resource directory is named 'Resources'. Which matches what you are describing. The wag file does have your new resource directory name (src), but since the copied directory didn't get renamed to 'src', when you re-open the game, it will create a directory named 'src', and then decompile the logics. Your solution is a good way to fix the problem.

And don't worry about the files being marked as needing to be recompiled; it's because once the decompiled logics are created, the CRC check gets reset, so replacing them with the original source files creates a CRC mismatch. It's no big deal- just do a game recompile and the CRC values will be restored.

Another easy workaround to this problem when you want to create a new game is to use file explorer to make a copy of the template into your desired new location, then edit the game properties, including the resource directory name the first time you open it.

The current dev version I have fixes a bunch of other bugs, mostly very minor stuff. I should be releasing another minor upgrade soon. Sorry for the inconvenience.

Good catch. It's because the score drops from two digits to one. The ones digit from the previous score wasn't being erased, so you are seeing the correct single-digit score with the old ones digit from the previous score. If your score goes to 10, it will 'self heal'. I hadnn't anticipated scores going down in value (which is exactly what a restart does!)

It's an easy fix. I replaced zip files above with version 1.0b, which does fix the problem.

Here is a new version that adds the '1', '2', '3' keys as alternates for the get-flag, duck and jump commands and fixes minor restart bug that doesn't display score correctly.

This is a fun little game. If I had one suggestion it would be to bind the actions to single key presses such as 1, 2 & 3 in addition to the existing controls. It's difficult for me to switch to the dodge reliably and my hand cramps up using Alt+F so much. Maybe that's not possible in AGI though.

Great proof-of-concept. My high score was only 60 points :(

Thanks for the feedback! Changing/adding to the keypresses is actually quite easy. If you have WinAGI, you could even do it yourself!

Are you suggesting '1' for 'getflag', '2' for 'duck' and '3' for jump?  If so, I can add them as options, and update the game files very quickly.

In another thread, I was asked about the custom algorithm I created to move objects in a straight line, instead of AGI's default (that moves objects diagonally, then horizontally).

To demonstrate how it actually works, I created this little demo game - Flag Quest.

Flag Quest is a simple arcade-style game, where the object is to collect the flags on the screen while avoiding bombs that are shot at you by a roving saucer.

To play the game, you'll need your own interpreter files. It needs to be a version that supports menus and multiplication/division (MSDOS version 2.411 or higher on DOSBox). I haven't tested it on NAGI or SCUMMVM, but I think it should work just fine on those platforms too.

The bomb object (I guess I could have called it a missile, but I'm not much of an artist, and a simple pulsating 'bomb' graphic is about the best I could draw!) uses what I call the 'move.straight' custom movement method, instead of AGI's built-in 'move.obj' method. This custom method moves the object in the straightest possible line, so it looks more natural on the screen.

I developed this algorithm independently, but it is basically an implementation of the Bresenham line-drawing algorithm (which I only recently learned of). It uses signed 16-bit integer math to do the calculations that control the object movement. This means that some math 'tricks' are necessary to get AGI's unsigned 8-bit variables to mimic 16-bit signed numbers. The source code contains a lot of detailed comments explaining exactly how to do it.

The game also includes a detailed example of the custom status line feature that I discussed in this post. It's actually pretty easy to create any kind of status line that you want. Again, detailed comments are in the source code.

Speaking of the source code, Flag Quest was developed on WinAGI, so if you want to open it in AGIStudio, you will need to add include statements for the globals.txt file and reserved.txt file to every logic (WinAGI does that automatically). With a bit of minor tweaking, you should be able to get a version of this to compile in AGIStudio. But of course, because it's so much better, I'm sure you'll just use WinAGI anyway! :-)

In addition to the source code, I'm also attaching a copy of just the game files, if all you want to do is play the game without looking at the source code.

If you have any questions at all about how either technique ('move.straight' method and custom status line) works, just ask! I'd be happy to answer any questions!.

Oh, and if you encounter any bugs in the game, let me know! I did as much testing as I could, but it's always hard to get all the bugs out without an extra set of eyes doing the testing.

Enjoy! (And post a screen shot of your highest score. I'm curious to see that - I haven't made it past level 5!)

Thanks for posting this. A lot of really interesting content that i have never seen before. And all the links to other content is a rabbit hole I am more than happy to jump down!

Pages: 1 2 [3] 4 5 ... 14

SMF 2.0.19 | SMF © 2021, Simple Machines
Simple Audio Video Embedder

Page created in 0.131 seconds with 22 queries.