diff options
Diffstat (limited to 'generate_utils.py')
| -rw-r--r-- | generate_utils.py | 46 |
1 files changed, 43 insertions, 3 deletions
diff --git a/generate_utils.py b/generate_utils.py index 87e8e4f..e066eb1 100644 --- a/generate_utils.py +++ b/generate_utils.py @@ -12,6 +12,7 @@ def replaceMacros(lines, macro_defs): BOARD_ROWS=8 BOARD_COLS=22 INDEX_BITS=4 +#CHARS_PER_CELL=4 CHARS_PER_CELL=80 NUM_LAYERS=ceil((BOARD_ROWS * BOARD_COLS) / (2**INDEX_BITS)) @@ -47,10 +48,34 @@ def getToggleParam(): # Each layer controls a group of cells. There's only one letter per layer, thus # this is also the name of the parameter which sets the letter for a layer. -def getLayerParam(which_layer): +def getLayerParam(which_layer: int) -> str: return "TaSTT_L%02d" % which_layer -def getSelectParam(which_layer, which_select): +def getLayerName(which_layer: int) -> str: + return getLayerParam(which_layer) + +def getDefaultStateName(which_layer): + return "TaSTT_L%02d_Do_Nothing" % 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 getS1StateName(which_layer, s0, s1): + return "TaSTT_L%02d_S%02d_S%02d" % (which_layer, s0, s1) + +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_layer: int, which_select: int) -> str: return "TaSTT_L%02d_S%02d" % (which_layer, which_select) def getEnableParam(): @@ -64,13 +89,28 @@ def getBoardIndex(which_layer, s0, s1, s2, s3): # those cells. return ((s0 * 8 + s1 * 4 + s2 * 2 + s3) * 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) col = index % BOARD_COLS row = floor(index / BOARD_COLS) - return "_Letter_Row%02d_Col%02d" % (row, col) + + return getShaderParamByRowCol(row, col) + +def getAnimationName(row, col, letter): + return "R%02dC%02dL%02d" % (row, col, letter) + +def getAnimationNameByLayerAndIndex(which_layer, s0, s1, s2, s3, letter): + index = getBoardIndex(which_layer, s0, s1, s2, s3) + + col = index % BOARD_COLS + row = floor(index / BOARD_COLS) + + return "R%02dC%02dL%02d" % (row, col, letter) # Returns the path to the animation for the given shader parameter + letter. def getAnimationPath(shader_param, letter): |
