Are you, in fact, a pregnant lady who lives in the apartment next door to Superdeath's parents? - Commodore

Create an account  

 
1.51 Patch collection

I've uploaded the collection of patch files I've been keeping for 1.51.
Download is at the usual place, it's for151.zip
http://seravy.x10.mx/CasterofMagic/
I haven't tested any of these, so I have no idea if they will even apply correctly. If you see any warnings when applying them, those probably won't work. I'm releasing these early so that people can try them out and report if anything does not work, then I can leave those ones out of 1.51 when the time comes to compile it.
File descriptions are somewhat less organized as they were in 1.50 since the difficulty of fixing stuff has skyrocketed meanwhile and I have no time to bother with that, working on the game all time already.
Use the same method to apply patches as you do/did with the 1.50 files. See http://www.realmsbeyond.net/forums/showt...p?tid=7911
Reply

OK, it's going to be a bit before I can get to it. No hurry, right?
Reply

(September 12th, 2016, 20:35)Tiltowait Wrote: OK, it's going to be a bit before I can get to it. No hurry, right?

Yes, you have plenty of time.
Reply

Just did a quick skim and am excited to try them when I get time. While doing this, I noticed this one:

; fixes bug : right clicking on units does not show the correct movement type : swimming appears instead of sailing
; and walking appears instead of forester, pathfinding, mountaineer, and in some cases also flight and swimming.
; requires updated unitview.lbx that contains the corrected icons.

Do you have the updated unitview.lbx?
Reply

(September 13th, 2016, 09:12)Elestan Wrote: Just did a quick skim and am excited to try them when I get time. While doing this, I noticed this one:

; fixes bug : right clicking on units does not show the correct movement type : swimming appears instead of sailing
; and walking appears instead of forester, pathfinding, mountaineer, and in some cases also flight and swimming.
; requires updated unitview.lbx that contains the corrected icons.

Do you have the updated unitview.lbx?

Reuploaded, now it's in the file.
Reply

Found a bug in W589, reuploaded the fixed version.
Reply

(September 14th, 2016, 06:15)Seravy Wrote: Found a bug in W589, reuploaded the fixed version.

On a perhaps related note, would it be possible to allow the pathfinding algorithm to momentarily ignore the 9-unit rule so that stacks can pass each other if they have sufficient movement to do so? Moving a 9-unit stack around on a road network is currently kind of painful.
Reply

Also:

W543FIX.TXT:; Fixes bug : W501 Flying Fortress fix does not work for players other than the one in slot 1.

W501 is not included. Did you mean W541?

And out of curiosity:

W560FIX.TXT:; Fixes bug : turn counter increases during Time Stop

If the turn number no longer increases, how does this affect the turn-number-based autosave, and/or the History chart? I suppose it would make sense for the whole time-stopped period to count as a single turn for those purposes.
Reply

(September 14th, 2016, 10:49)Elestan Wrote: Also:

W543FIX.TXT:; Fixes bug : W501 Flying Fortress fix does not work for players other than the one in slot 1.

W501 is not included. Did you mean W541?

And out of curiosity:

W560FIX.TXT:; Fixes bug : turn counter increases during Time Stop

If the turn number no longer increases, how does this affect the turn-number-based autosave, and/or the History chart? I suppose it would make sense for the whole time-stopped period to count as a single turn for those purposes.

W501 is in 1.50, it's not in 1.51.

Every "turn" with the same turn number overwrites the data of the previous "same" turn. Both for saving and Historian.

Quote:On a perhaps related note, would it be possible to allow the pathfinding algorithm to momentarily ignore the 9-unit rule so that stacks can pass each other if they have sufficient movement to do so?
That would be nice if it could be done. Too bad it cannot.
The procedure "objects blocking movement" marks invalid tiles, including those that violate the 9 units rule first. Then the shortest path is calculated by the "pathfinder" procedure next. Finally the units move along the path and stop when out of movement or encounter any obstacle the previous two might have overlooked.
The problem here is, we can't stop in that tile, only pass through it. Which means we must know that stack remaining movement>total cost of reaching and going though the tile. Neither of these are known in the first procedure. I might be able to hack it to receive the parameter of the stack's movement. However the path is not yet chosen, so there is no way to calculate the cost of entering it. So this cannot be fixed in the first procedure. The only possible way I see is, make the procedure mark the tile a special value (not -1 for invalid but -2 for example) and rewrite the actual pathfinding to treat these tiles "ok" if you could go past, and "invalid" otherwise. Problem is, if the tile is marked a special value instead of the cost of entering it, that information is lost so....we have no way of knowing how much it costs to go through the tile anymore. But let's say we go that far and as a workaround, include the cost in the "special value", for example -2 is for 0 cost tiles, -3 for 1 cost, -4 for 2 cost and so on. Then it can work, which only leaves one much greater problem. What if, during the unit movement, the stack is stopped anyway? There are plenty of cases when you can move to a tile, yet the movement is interrupted halfway, like if it is leftover movement from the previous turn, leading into an enemy. Or if there is a spell ward blocking entry. Or...the ship you tried to board is no longer there. Or there is a ship in the 9 stack so movement stops because they boarded a ship. Anything, really. In all of those cases you're still stuck with a tile having 9 units and there is no way to know about this prior to selecting the path because, well, you need the path to see if it is blocked. Then there is one more thing. The movement is animated and shown on screen. Including the moment when you have that more than 9 units on one tile. Which might or might not break the game and corrupt data, but I rather not risk it.

Oh and one more problem. AI. It checks which way it can go to make sure it doesn't get stuck with units trying for impossible destinations. But it has no idea how much the stack being sent moves per turn, because it only wants to know if there is a path and that data is not needed for it. So it calls the movement procedure with "this stack moves 2 per turn". Even if it does not.

I'm not saying it's impossible but the difficulty is way out of hex editing league. I'm not sure how I would make this happen even if I had the source code.

Best possible is to let the units start moving towards the destination but stop at the blocking 9 stack. This would however trick the AI into thinking there is a way through where there is not. It's fine for the destination because the AI isn't supposed to send more units on a tile they have room for, but tiles between, the whole point of calling the pathfinder is to check if they are blocked or not.
Reply

I logged the errors I get when trying to apply some of the patches - see attached. I presume these are meant to apply to the MAGIC.EXE and WIZARDS.EXE from Master150Final.zip (56724d43cb6bf0d3871bde2deddc856f and 3216c8d8cf6bb90048f3055299a12111 MD5s, respectively)?

Thanks so much for continuing to work on this!


Attached Files
.txt   output.txt (Size: 117.09 KB / Downloads: 3)
Reply



Forum Jump: