|
From: Maurits v. R. <ma...@va...> - 2003-12-03 19:47:13
|
Hello Alexander,
You haven't committed anything the last few days, correct? If you have,
then sourceforge is slow...
avlomwel wrote:
> I think the order of processing should be:
Looks okay.
> ?A? This would imply you will intercept a ship that moves into hiding
>
behind a planet when it used the grav well to reach it. Voor VPA users
always. This is probably not right.
If you can see the ship at the beginning of the turn, you can intercept
it, else your mission setting is cleared. It doesn't matter how your
target reaches a planet.
If you see an enemy ship in your result file but the enemy then sets it
to cloak, you can't intercept it, not even when it hits a mine after one
lightyear. (I think).
From the Phost docs:
==================
Movement cannot be skipped
Stage name: Movement
* First, moves all "normal" ships in Id order. This also does cloak
fuel burn and cancels invalid intercept orders. Hyperjumpers are also
moved here.
* Second, resolves interceptors and moves them.
* Then, ships travel through wormholes.
* Finally, processes gravity wells.
==================
> ?B? Do we need to ship movement info to be correct while processing
the commands. I think not. Lets label this ship Feulconsumption and
landingX,Y + EndUpX,Y as undefined during commandprocessing.
Agreed. First all ships dump cargo, beam up stuff, set their waypoint
and mission, etc. After this we calculate the fuel consumption etc.
It could get tricky if you want to let ship 1 tow ship 2 and beam aboard
just enough fuel for the trip. Ship 2 may beam stuff aboard also, making
it too heavy to tow.
> Having said this we have some problems:
> 1) What does Move One Ship do, and why does it mutate the SHIPDATA records?
It is used only by san_WarpImprove (twice in that function). I let the
warp speeds iterate between 1 and 9 and see if that gives a lower fuel
consumption and the ship still reaches its destination. Then I print a
message if the original warp speed is different from the ideal warp speed.
After all this, the original warp speed is restored again and the
MoveOneShip function called again. Then there should be no differences
between the original SHIPDATA records and the new ones.
Maybe there are other ways to do this, but this felt like the cleanest
and easiest way at the time.
Like the MoveOneShip function says: it should only be used on one ship
at a time. It should not be used instead of the CalcFleetFuelConsumption
function.
I think it functions correctly. It may be better to call the
CalcFleetFuelConsumption again after this for safety. But it should not
be necessary and the sanity checks are done last in stats.
If we use the san_WarpImprove function as a basis for changing the warp
setting instead of just warning, this is definitely needed, just as
probably the towing function, as a different warp setting may result in
a different tow resolution.
Sorry for the long answer. :-)
I'll answer the rest later.
--
Maurits van Rees | ma...@va...
http://maurits.vanrees.org/
"Peace is not the absence of war; it is the absence of fear."
|