induktio / thinker

Improved game engine features for SMACX.
https://discord.gg/XdFuwWzzku
GNU General Public License v2.0
75 stars 10 forks source link

Feature request: Allow units that ended turn without movement to be reactivated #36

Closed pianoslum closed 1 year ago

pianoslum commented 2 years ago

Cloned from https://github.com/b-casey/OpenSMACX/issues/29

Not really a bug, but a nuisance anyways ;)

In modern Civs if you press Space on a unit you can still activate and move it later that round. In SMACX the unit's turn is over for good - no chance to move it later.

I would propose to allow later movement.

induktio commented 2 years ago

I agree it would be a useful feature. The question is just how to implement it given the limitations with patching the game. If we attempted to change the meaning of road_moves_spent field, it would probably require patching way too many changes in the binary. Veh struct has one 2-byte unused field which might have to be used for this purpose in one way or another. Hard to see any other way of keeping the game state consistent. Maybe it could be also implemented in a limited way such that any units that have expended zero moves can resume their turn later, in other cases the turn is permanently skipped.

TROYTRON commented 2 years ago

Worth noting that you can press "W" to temporarily skip a unit's turn and come back to it later. Only reason to use Space IIRC is to ensure aircraft get refuelled after ending their turn in a base (sometimes the game doesn't remember to do so).

pianoslum commented 2 years ago

@TROYTRON you're right and one has to get used to use w instead of space to remain flexible... Still I think it would be nice to be able to reactivate units that technically have moves left.

induktio commented 1 year ago

This feature is now implemented in v3.3.