summaryrefslogtreecommitdiffstats
path: root/generate_utils.py
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2022-11-01 19:26:53 -0700
committeryum <yum.food.vr@gmail.com>2022-11-01 19:26:53 -0700
commiteb3fecd09f18233ba9e145a9092a7eb38ff965b8 (patch)
tree51d4bfb158e5fef63febc9d52ef9926de9366c37 /generate_utils.py
parentd0120a858c2fd76bf5b5271ba5275e50565f109d (diff)
Combine 4 boolean select parameters into one
Should further improve reliability, especially in laggy environments. We'll see!
Diffstat (limited to 'generate_utils.py')
-rw-r--r--generate_utils.py33
1 files changed, 12 insertions, 21 deletions
diff --git a/generate_utils.py b/generate_utils.py
index 78ff512..2fa2077 100644
--- a/generate_utils.py
+++ b/generate_utils.py
@@ -75,41 +75,32 @@ def getDefaultStateName(which_layer):
def getActiveStateName(which_layer):
return "TaSTT_L%02d_Active" % which_layer
-def getS0StateName(which_layer, s0):
- return "TaSTT_L%02d_S%02d" % (which_layer, s0)
+def getSelectStateName(which_layer, select):
+ return "TaSTT_L%02d_S%02d" % (which_layer, select)
-def getS1StateName(which_layer, s0, s1):
- return "TaSTT_L%02d_S%02d_S%02d" % (which_layer, s0, s1)
+def getLetterStateName(which_layer, select, letter):
+ return "TaSTT_L%02d_S%02d_L%03d" % (which_layer, select, letter)
-def getS2StateName(which_layer, s0, s1, s2):
- return "TaSTT_L%02d_S%02d_S%02d_S%02d" % (which_layer, s0, s1, s2)
-
-def getS3StateName(which_layer, s0, s1, s2, s3):
- return "TaSTT_L%02d_S%02d_S%02d_S%02d_S%02d" % (which_layer, s0, s1, s2, s3)
-
-def getLetterStateName(which_layer, s0, s1, s2, s3, letter):
- return "TaSTT_L%02d_S%02d_S%02d_S%02d_S%02d_L%03d" % (which_layer, s0, s1, s2, s3, letter)
-
-def getSelectParam(which_select: int) -> str:
- return "TaSTT_S%02d" % (which_select)
+def getSelectParam() -> str:
+ return "TaSTT_Select"
def getEnableParam():
return "TaSTT_Enable"
-def getBoardIndex(which_layer, s0, s1, s2, s3):
+def getBoardIndex(which_layer, select):
# Because we divide the board into a multiple of 8 cells, some cells may
# describe animations which don't exist, depending on the size of the board.
# We work around this by simply wrapping those animations back to the top
# of the board, and rely on the OSC controller to simply not reference
# those cells.
- return ((s0 * 8 + s1 * 4 + s2 * 2 + s3) * NUM_LAYERS + which_layer) % (BOARD_ROWS * BOARD_COLS)
+ return (select * NUM_LAYERS + which_layer) % (BOARD_ROWS * BOARD_COLS)
def getShaderParamByRowCol(row, col):
return "_Letter_Row%02d_Col%02d" % (row, col)
# Mapping from layer to shader param.
-def getShaderParam(which_layer, s0, s1, s2, s3):
- index = getBoardIndex(which_layer, s0, s1, s2, s3)
+def getShaderParam(which_layer, select):
+ index = getBoardIndex(which_layer, select)
col = index % BOARD_COLS
row = floor(index / BOARD_COLS)
@@ -125,8 +116,8 @@ def getLetterAnimationName(row, col, letter):
def getClearAnimationName():
return "TaSTT_Clear_Board"
-def getAnimationNameByLayerAndIndex(which_layer, s0, s1, s2, s3, letter):
- index = getBoardIndex(which_layer, s0, s1, s2, s3)
+def getAnimationNameByLayerAndIndex(which_layer, select, letter):
+ index = getBoardIndex(which_layer, select)
col = index % BOARD_COLS
row = floor(index / BOARD_COLS)