("color_test", 0, mesh_load_window,
[
(ti_on_presentation_load,
[
(presentation_set_duration, 999999),
(set_fixed_point_multiplier, 100),
# store color code string
(try_begin),
(lt, reg1, 10),
(str_store_string, s2, "@{reg1}"),
(else_try),
(try_begin),
(eq, reg1, 10),
(str_store_string, s2, "@A"),
(else_try),
(eq, reg1, 11),
(str_store_string, s2, "@B"),
(else_try),
(eq, reg1, 12),
(str_store_string, s2, "@C"),
(else_try),
(eq, reg1, 13),
(str_store_string, s2, "@D"),
(else_try),
(eq, reg1, 14),
(str_store_string, s2, "@E"),
(else_try),
# (eq, reg1, 15),
(str_store_string, s2, "@F"),
(try_end),
(try_end),
(try_begin),
(lt, reg2, 10),
(str_store_string, s1, "@{s2}{reg2}"),
(else_try),
(try_begin),
(eq, reg2, 10),
(str_store_string, s1, "@{s2}A"),
(else_try),
(eq, reg2, 11),
(str_store_string, s1, "@{s2}B"),
(else_try),
(eq, reg2, 12),
(str_store_string, s1, "@{s2}C"),
(else_try),
(eq, reg2, 13),
(str_store_string, s1, "@{s2}D"),
(else_try),
(eq, reg2, 14),
(str_store_string, s1, "@{s2}E"),
(else_try),
# (eq, reg2, 15),
(str_store_string, s1, "@{s2}F"),
(try_end),
(try_end),
(try_begin),
(lt, reg3, 10),
(str_store_string, s3, "@{reg3}"),
(else_try),
(try_begin),
(eq, reg3, 10),
(str_store_string, s3, "@A"),
(else_try),
(eq, reg3, 11),
(str_store_string, s3, "@B"),
(else_try),
(eq, reg3, 12),
(str_store_string, s3, "@C"),
(else_try),
(eq, reg3, 13),
(str_store_string, s3, "@D"),
(else_try),
(eq, reg3, 14),
(str_store_string, s3, "@E"),
(else_try),
# (eq, reg3, 15),
(str_store_string, s3, "@F"),
(try_end),
(try_end),
(try_begin),
(lt, reg4, 10),
(str_store_string, s2, "@{s3}{reg4}"),
(else_try),
(try_begin),
(eq, reg4, 10),
(str_store_string, s2, "@{s3}A"),
(else_try),
(eq, reg4, 11),
(str_store_string, s2, "@{s3}B"),
(else_try),
(eq, reg4, 12),
(str_store_string, s2, "@{s3}C"),
(else_try),
(eq, reg4, 13),
(str_store_string, s2, "@{s3}D"),
(else_try),
(eq, reg4, 14),
(str_store_string, s2, "@{s3}E"),
(else_try),
# (eq, reg4, 15),
(str_store_string, s2, "@{s3}F"),
(try_end),
(try_end),
(try_begin),
(lt, reg5, 10),
(str_store_string, s4, "@{reg5}"),
(else_try),
(try_begin),
(eq, reg5, 10),
(str_store_string, s4, "@A"),
(else_try),
(eq, reg5, 11),
(str_store_string, s4, "@B"),
(else_try),
(eq, reg5, 12),
(str_store_string, s4, "@C"),
(else_try),
(eq, reg5, 13),
(str_store_string, s4, "@D"),
(else_try),
(eq, reg5, 14),
(str_store_string, s4, "@E"),
(else_try),
# (eq, reg5, 15),
(str_store_string, s4, "@F"),
(try_end),
(try_end),
(try_begin),
(lt, reg6, 10),
(str_store_string, s3, "@{s4}{reg6}"),
(else_try),
(try_begin),
(eq, reg6, 10),
(str_store_string, s3, "@{s4}A"),
(else_try),
(eq, reg6, 11),
(str_store_string, s3, "@{s4}B"),
(else_try),
(eq, reg6, 12),
(str_store_string, s3, "@{s4}C"),
(else_try),
(eq, reg6, 13),
(str_store_string, s3, "@{s4}D"),
(else_try),
(eq, reg6, 14),
(str_store_string, s3, "@{s4}E"),
(else_try),
# (eq, reg6, 15),
(str_store_string, s3, "@{s4}F"),
(try_end),
(try_end),
# calculate color code
(assign, reg7, reg6),
(assign, ":overlay", reg5),
(val_lshift, ":overlay", 4),
(val_add, reg7, ":overlay"),
(assign, ":overlay", reg4),
(val_lshift, ":overlay", 8),
(val_add, reg7, ":overlay"),
(assign, ":overlay", reg3),
(val_lshift, ":overlay", 12),
(val_add, reg7, ":overlay"),
(assign, ":overlay", reg2),
(val_lshift, ":overlay", 16),
(val_add, reg7, ":overlay"),
(assign, ":overlay", reg1),
(val_lshift, ":overlay", 20),
(val_add, reg7, ":overlay"),
# print color code
(assign, ":size", 0),
(assign, ":position", 0),
(position_set_x, pos1, 800),
(position_set_y, pos1, 800),
(create_text_overlay, ":unused", "@{s1}", tf_center_justify|tf_vertical_align_center),
(overlay_set_size, 0, pos1),
(position_set_x, ":position", 20),
(position_set_y, ":position", 40),
(overlay_set_position, 0, ":position"),
(overlay_set_color, 0, reg7),
(create_text_overlay, ":unused", "@{s2}", tf_center_justify|tf_vertical_align_center),
(overlay_set_size, 1, pos1),
(position_set_x, ":position", 50),
(overlay_set_position, 1, ":position"),
(overlay_set_color, 1, reg7),
(create_text_overlay, ":unused", "@{s3}", tf_center_justify|tf_vertical_align_center),
(overlay_set_size, 2, pos1),
(position_set_x, ":position", 80),
(overlay_set_position, 2, ":position"),
(overlay_set_color, 2, reg7),
# buttons
(assign, ":size", -5),
(position_set_y, ":position", 60),
(try_for_range, ":overlay", 3, 9),
(val_add, ":size", 15),
(position_set_x, ":position", ":size"),
(create_game_button_overlay, ":unused", "@add"),
(overlay_set_position, ":overlay", ":position"),
(this_or_next|eq, ":overlay", 4),
(eq, ":overlay", 6),
(val_add, ":size", 5),
(try_end),
(assign, ":size", -5),
(position_set_y, ":position", 20),
(try_for_range, ":overlay", 9, 15),
(val_add, ":size", 15),
(position_set_x, ":position", ":size"),
(create_game_button_overlay, ":unused", "@sub"),
(overlay_set_position, ":overlay", ":position"),
(this_or_next|eq, ":overlay", 10),
(eq, ":overlay", 12),
(val_add, ":size", 5),
(try_end),
(create_game_button_overlay, ":unused", "@exit"),
(position_set_y, ":position", 10),
(position_set_x, ":position", 70),
(overlay_set_position, 15, ":position"),
]
),
(ti_on_presentation_mouse_press,
[
(store_trigger_param_1, ":object"),
# find out color code change
(try_begin),
(eq, ":object", 3),
(val_add, reg1, 1),
(val_min, reg1, 15),
(else_try),
(eq, ":object", 4),
(val_add, reg2, 1),
(val_min, reg2, 15),
(else_try),
(eq, ":object", 5),
(val_add, reg3, 1),
(val_min, reg3, 15),
(else_try),
(eq, ":object", 6),
(val_add, reg4, 1),
(val_min, reg4, 15),
(else_try),
(eq, ":object", 7),
(val_add, reg5, 1),
(val_min, reg5, 15),
(else_try),
(eq, ":object", 8),
(val_add, reg6, 1),
(val_min, reg6, 15),
(else_try),
(eq, ":object", 9),
(val_sub, reg1, 1),
(val_max, reg1, 0),
(else_try),
(eq, ":object", 10),
(val_sub, reg2, 1),
(val_max, reg2, 0),
(else_try),
(eq, ":object", 11),
(val_sub, reg3, 1),
(val_max, reg3, 0),
(else_try),
(eq, ":object", 12),
(val_sub, reg4, 1),
(val_max, reg4, 0),
(else_try),
(eq, ":object", 13),
(val_sub, reg5, 1),
(val_max, reg5, 0),
(else_try),
(eq, ":object", 14),
(val_sub, reg6, 1),
(val_max, reg6, 0),
(try_end),
(try_begin),
(eq, ":object", 15),
(presentation_set_duration, 0),
(else_try),
(presentation_set_duration, 0),
(start_presentation, "prsnt_color_test"),
(try_end),
]
),
]
),