# Kick tables for SRS 180 degree rotation?

Thread in 'Research & Development' started by Zowayix, 8 Apr 2012.

1. ### Zowayix

This question really only applies to Heboris using the SRS-X rotation system, because no other system (not even Nullpomino and Lockjaw using 180 degree rotation) seems to do this.

http://harddrop.com/wiki/List_of_twists
In sections 6 and 7 of the article above, it lists a number of twists that can only be done with 180 degree rotation in SRS. I tested a bunch of these, and all of them have worked in Heboris with SRS-X, but nowhere else.

My question is, what kick tables does SRS-X use to determine where to place the block when basic rotation fails? I looked at the tables on the tetrisconcept wiki and the only rudimentary solution I could think of was that SRS-X attempts to do something like rotate right twice (without ever checking or rendering the intermediate state) using every possible combination of the 5 tests for each rotation, followed by doing it all over again for rotating left twice. While this theoretically works, it requires doing 50 tests for every double rotation, which is very inefficient.

Does anyone know the actual algorithm used by SRS-X?

2. ### Kitaru

Heboris iterates over static kick tables for 180s. Here is the result of a source dive:

The (0,0) spam in the I-piece 180 table is pretty classy.

3. ### Zowayix

What does this sentence mean?

I assume the table comes from a combination of the kicks involved when rotating left twice and rotating right twice, which is why the table lists 8 different kick locations for double rotation whereas single rotation would have 4 kick locations. But how was it derived?

4. ### Kitaru

I just meant that it checks over a list of defined offsets rather than calculate anything on the spot like Worlds SRS did. So, I'm not sure just from looking how they came up with these offsets, or why they only made five of the eleven kicks for each I-piece rotation do anything (or why there are eleven kicks per rotation for the rest of the pieces in the first place).

My guess for the "five out of eleven" thing is that they're pointing to one list or the other with the same bit of code and didn't feel like doing anything fancy to avoid going out of bounds on the shorter list. I'm also guessing they made up the only five kicks that "made sense" and that filling out the full eleven would have been ridiculous.