by kraada » Mon Dec 08, 2008 11:03 am
Yes, val_p_raise_aggressor_pos only shows the position of the person who made the last raise, however I think you can work around this for the most part.
The key is that there's a flag: flg_f_has_position.
So I'd go for something like this:
when flg_p_3bet_def_opp is true (you faced a 3bet) and flg_p_first_raise and flg_p_open_opp are true (you raised first in), you can sum up the times that enum_p_3bet_action was F, C or R (fold, call, or raise respectively). For times when it's C you can test against flg_f_has_position to see if you are in position or not thus know if you were in position the whole time. For times it's R and there's a flop, you can perform the same test. For times it's F, you can check val_p_raise_aggressor_pos, as if you fold and the hand ends then he is the last aggressor and you can find your position relative to his.
The only cases I don't immediately see how to deal with are times you 4-bet and no flop is seen, or if things are multiway (squeeze spots, that sort of thing). This should get you most of the way there though and I'll make a note to look at it some more later and if I think of a way to deal with R/no-flop or multiway spots I'll let you know.