Extra fields should be avoided as much as possible
Sure. I just checked and ChessV currently supports 200 games and it was only required to expand the FEN format on 5 of them (and 2 of the 5 are Apothecarys). But when extra state must be stored, I do not agree that it is better to jam it into one of the existing fields to represent something different. That is not compliant with the FEN spec anyway.
I don't like the use of the extra + at all
If the first Bishop is captured in the virgin state, you could leave its rights, implying that conversion of the one that is still there is still optional.
Ok, this is something I had not considered. I could do it but I am not sure it's better. To find out if a conversion is mandatory, instead of checking the next character for a plus, you check to see if there is another conversion option and then see if that is invalid because the square does not contain a piece of the appropriate type. This doesn't really seem simpler to me. It may also be less extensible in the case of more than two converting pieces.
EDIT: I said this backwards. If there is another character, then the conversion is optional. If there isn't then it's mandatory. I guess that is pretty simple. This works for me.
Sure. I just checked and ChessV currently supports 200 games and it was only required to expand the FEN format on 5 of them (and 2 of the 5 are Apothecarys). But when extra state must be stored, I do not agree that it is better to jam it into one of the existing fields to represent something different. That is not compliant with the FEN spec anyway.
Ok, this is something I had not considered. I could do it but I am not sure it's better. To find out if a conversion is mandatory, instead of checking the next character for a plus, you check to see if there is another conversion option and then see if that is invalid because the square does not contain a piece of the appropriate type. This doesn't really seem simpler to me. It may also be less extensible in the case of more than two converting pieces.
EDIT: I said this backwards. If there is another character, then the conversion is optional. If there isn't then it's mandatory. I guess that is pretty simple. This works for me.