headless option
|
@ -268,6 +268,8 @@
|
|||
{"name":"button","order":34,"path":"folders/widgets/button.yy",},
|
||||
{"name":"rotator","order":35,"path":"folders/widgets/rotator.yy",},
|
||||
{"name":"text","order":36,"path":"folders/widgets/text.yy",},
|
||||
{"name":"lovify","order":26,"path":"folders/nodes/data/misc/lovify.yy",},
|
||||
{"name":"spr","order":6,"path":"folders/nodes/data/misc/lovify/spr.yy",},
|
||||
],
|
||||
"ResourceOrderSettings": [
|
||||
{"name":"s_node_corner","order":13,"path":"sprites/s_node_corner/s_node_corner.yy",},
|
||||
|
@ -385,6 +387,7 @@
|
|||
{"name":"node_3d_mesh_terrain","order":9,"path":"scripts/node_3d_mesh_terrain/node_3d_mesh_terrain.yy",},
|
||||
{"name":"s_node_condition_type","order":9,"path":"sprites/s_node_condition_type/s_node_condition_type.yy",},
|
||||
{"name":"fd_rectangle_set_material_time_step","order":8,"path":"scripts/fd_rectangle_set_material_time_step/fd_rectangle_set_material_time_step.yy",},
|
||||
{"name":"s_lovify_heart_16","order":4,"path":"sprites/s_lovify_heart_16/s_lovify_heart_16.yy",},
|
||||
{"name":"Obj_FirebaseREST_Listener_On_Firestore","order":1,"path":"objects/Obj_FirebaseREST_Listener_On_Firestore/Obj_FirebaseREST_Listener_On_Firestore.yy",},
|
||||
{"name":"credit_badge_popular","order":2,"path":"sprites/credit_badge_popular/credit_badge_popular.yy",},
|
||||
{"name":"s_node_path_sample","order":3,"path":"sprites/s_node_path_sample/s_node_path_sample.yy",},
|
||||
|
@ -484,6 +487,7 @@
|
|||
{"name":"fd_rectangle_get_acceleration_y","order":3,"path":"scripts/fd_rectangle_get_acceleration_y/fd_rectangle_get_acceleration_y.yy",},
|
||||
{"name":"sh_simplex","order":7,"path":"shaders/sh_simplex/sh_simplex.yy",},
|
||||
{"name":"node_noise_grid_tri","order":6,"path":"scripts/node_noise_grid_tri/node_noise_grid_tri.yy",},
|
||||
{"name":"s_lovify_heart_12","order":1,"path":"sprites/s_lovify_heart_12/s_lovify_heart_12.yy",},
|
||||
{"name":"node_threshold","order":9,"path":"scripts/node_threshold/node_threshold.yy",},
|
||||
{"name":"sh_cell_noise_edge","order":2,"path":"shaders/sh_cell_noise_edge/sh_cell_noise_edge.yy",},
|
||||
{"name":"node_pb_fx_strip","order":11,"path":"scripts/node_pb_fx_strip/node_pb_fx_strip.yy",},
|
||||
|
@ -618,6 +622,7 @@
|
|||
{"name":"s_node_rigidSim_global","order":4,"path":"sprites/s_node_rigidSim_global/s_node_rigidSim_global.yy",},
|
||||
{"name":"sh_channel_G_grey","order":8,"path":"shaders/sh_channel_G_grey/sh_channel_G_grey.yy",},
|
||||
{"name":"sh_corner_iterate","order":2,"path":"shaders/sh_corner_iterate/sh_corner_iterate.yy",},
|
||||
{"name":"s_lovify_heart_6","order":2,"path":"sprites/s_lovify_heart_6/s_lovify_heart_6.yy",},
|
||||
{"name":"display_screenshot","order":4,"path":"extensions/display_screenshot/display_screenshot.yy",},
|
||||
{"name":"node_strand_sim_inline","order":12,"path":"scripts/node_strand_sim_inline/node_strand_sim_inline.yy",},
|
||||
{"name":"node_path_map","order":17,"path":"scripts/node_path_map/node_path_map.yy",},
|
||||
|
@ -957,6 +962,7 @@
|
|||
{"name":"sh_find_boundary_stretch_y","order":2,"path":"shaders/sh_find_boundary_stretch_y/sh_find_boundary_stretch_y.yy",},
|
||||
{"name":"BBMOD_Vec2","order":4,"path":"scripts/BBMOD_Vec2/BBMOD_Vec2.yy",},
|
||||
{"name":"sh_grid_hex","order":1,"path":"shaders/sh_grid_hex/sh_grid_hex.yy",},
|
||||
{"name":"s_node_lovify","order":6,"path":"sprites/s_node_lovify/s_node_lovify.yy",},
|
||||
{"name":"s_node_lua_surface","order":18,"path":"sprites/s_node_lua_surface/s_node_lua_surface.yy",},
|
||||
{"name":"node_data","order":1,"path":"scripts/node_data/node_data.yy",},
|
||||
{"name":"node_wiggler","order":2,"path":"scripts/node_wiggler/node_wiggler.yy",},
|
||||
|
@ -1038,6 +1044,7 @@
|
|||
{"name":"s_node_array_remove","order":7,"path":"sprites/s_node_array_remove/s_node_array_remove.yy",},
|
||||
{"name":"s_node_zigzag","order":18,"path":"sprites/s_node_zigzag/s_node_zigzag.yy",},
|
||||
{"name":"node_FLIP_render","order":3,"path":"scripts/node_FLIP_render/node_FLIP_render.yy",},
|
||||
{"name":"s_lovify_heart_8","order":3,"path":"sprites/s_lovify_heart_8/s_lovify_heart_8.yy",},
|
||||
{"name":"s_key_display_mouse","order":1,"path":"sprites/s_key_display_mouse/s_key_display_mouse.yy",},
|
||||
{"name":"dynaSurf_square_outline","order":3,"path":"scripts/dynaSurf_square_outline/dynaSurf_square_outline.yy",},
|
||||
{"name":"node_3d_repeat","order":1,"path":"scripts/node_3d_repeat/node_3d_repeat.yy",},
|
||||
|
@ -1071,6 +1078,7 @@
|
|||
{"name":"node_atlas_get","order":1,"path":"scripts/node_atlas_get/node_atlas_get.yy",},
|
||||
{"name":"fontScrollBox","order":14,"path":"scripts/fontScrollBox/fontScrollBox.yy",},
|
||||
{"name":"node_grid_hex","order":2,"path":"scripts/node_grid_hex/node_grid_hex.yy",},
|
||||
{"name":"sh_lovify","order":1,"path":"shaders/sh_lovify/sh_lovify.yy",},
|
||||
{"name":"FirebaseREST_Firestore_collection_compare","order":5,"path":"scripts/FirebaseREST_Firestore_collection_compare/FirebaseREST_Firestore_collection_compare.yy",},
|
||||
{"name":"node_pb_draw_blob","order":5,"path":"scripts/node_pb_draw_blob/node_pb_draw_blob.yy",},
|
||||
{"name":"credit_badge_value","order":1,"path":"sprites/credit_badge_value/credit_badge_value.yy",},
|
||||
|
@ -1765,6 +1773,7 @@
|
|||
{"name":"path_function","order":4,"path":"scripts/path_function/path_function.yy",},
|
||||
{"name":"s_node_shell_excecute","order":33,"path":"sprites/s_node_shell_excecute/s_node_shell_excecute.yy",},
|
||||
{"name":"fd_rectangle_set_velocity_dissipation_value","order":14,"path":"scripts/fd_rectangle_set_velocity_dissipation_value/fd_rectangle_set_velocity_dissipation_value.yy",},
|
||||
{"name":"s_lovify_icon","order":5,"path":"sprites/s_lovify_icon/s_lovify_icon.yy",},
|
||||
{"name":"panel_history","order":7,"path":"scripts/panel_history/panel_history.yy",},
|
||||
{"name":"sh_channel_H","order":3,"path":"shaders/sh_channel_H/sh_channel_H.yy",},
|
||||
{"name":"rotatorRandom","order":1,"path":"scripts/rotatorRandom/rotatorRandom.yy",},
|
||||
|
|
|
@ -304,6 +304,8 @@
|
|||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"button","folderPath":"folders/widgets/button.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"rotator","folderPath":"folders/widgets/rotator.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"text","folderPath":"folders/widgets/text.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"lovify","folderPath":"folders/nodes/data/misc/lovify.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"spr","folderPath":"folders/nodes/data/misc/lovify/spr.yy",},
|
||||
],
|
||||
"IncludedFiles": [
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"ApolloHelp.html","ConfigValues":{"Itch":{"CopyToMask":"0",},},"CopyToMask":-1,"filePath":"datafiles",},
|
||||
|
@ -590,6 +592,7 @@
|
|||
{"id":{"name":"node_3d_mesh_terrain","path":"scripts/node_3d_mesh_terrain/node_3d_mesh_terrain.yy",},},
|
||||
{"id":{"name":"s_node_condition_type","path":"sprites/s_node_condition_type/s_node_condition_type.yy",},},
|
||||
{"id":{"name":"fd_rectangle_set_material_time_step","path":"scripts/fd_rectangle_set_material_time_step/fd_rectangle_set_material_time_step.yy",},},
|
||||
{"id":{"name":"s_lovify_heart_16","path":"sprites/s_lovify_heart_16/s_lovify_heart_16.yy",},},
|
||||
{"id":{"name":"Obj_FirebaseREST_Listener_On_Firestore","path":"objects/Obj_FirebaseREST_Listener_On_Firestore/Obj_FirebaseREST_Listener_On_Firestore.yy",},},
|
||||
{"id":{"name":"credit_badge_popular","path":"sprites/credit_badge_popular/credit_badge_popular.yy",},},
|
||||
{"id":{"name":"s_node_path_sample","path":"sprites/s_node_path_sample/s_node_path_sample.yy",},},
|
||||
|
@ -706,6 +709,7 @@
|
|||
{"id":{"name":"sh_simplex","path":"shaders/sh_simplex/sh_simplex.yy",},},
|
||||
{"id":{"name":"node_noise_grid_tri","path":"scripts/node_noise_grid_tri/node_noise_grid_tri.yy",},},
|
||||
{"id":{"name":"blurSurface","path":"scripts/blurSurface/blurSurface.yy",},},
|
||||
{"id":{"name":"s_lovify_heart_12","path":"sprites/s_lovify_heart_12/s_lovify_heart_12.yy",},},
|
||||
{"id":{"name":"node_threshold","path":"scripts/node_threshold/node_threshold.yy",},},
|
||||
{"id":{"name":"sh_cell_noise_edge","path":"shaders/sh_cell_noise_edge/sh_cell_noise_edge.yy",},},
|
||||
{"id":{"name":"node_pb_fx_strip","path":"scripts/node_pb_fx_strip/node_pb_fx_strip.yy",},},
|
||||
|
@ -855,6 +859,7 @@
|
|||
{"id":{"name":"s_node_rigidSim_global","path":"sprites/s_node_rigidSim_global/s_node_rigidSim_global.yy",},},
|
||||
{"id":{"name":"sh_channel_G_grey","path":"shaders/sh_channel_G_grey/sh_channel_G_grey.yy",},},
|
||||
{"id":{"name":"sh_corner_iterate","path":"shaders/sh_corner_iterate/sh_corner_iterate.yy",},},
|
||||
{"id":{"name":"s_lovify_heart_6","path":"sprites/s_lovify_heart_6/s_lovify_heart_6.yy",},},
|
||||
{"id":{"name":"display_screenshot","path":"extensions/display_screenshot/display_screenshot.yy",},},
|
||||
{"id":{"name":"node_strand_sim_inline","path":"scripts/node_strand_sim_inline/node_strand_sim_inline.yy",},},
|
||||
{"id":{"name":"node_path_map","path":"scripts/node_path_map/node_path_map.yy",},},
|
||||
|
@ -1240,6 +1245,7 @@
|
|||
{"id":{"name":"sprite_add_functions","path":"scripts/sprite_add_functions/sprite_add_functions.yy",},},
|
||||
{"id":{"name":"BBMOD_Vec2","path":"scripts/BBMOD_Vec2/BBMOD_Vec2.yy",},},
|
||||
{"id":{"name":"sh_grid_hex","path":"shaders/sh_grid_hex/sh_grid_hex.yy",},},
|
||||
{"id":{"name":"s_node_lovify","path":"sprites/s_node_lovify/s_node_lovify.yy",},},
|
||||
{"id":{"name":"s_node_lua_surface","path":"sprites/s_node_lua_surface/s_node_lua_surface.yy",},},
|
||||
{"id":{"name":"node_data","path":"scripts/node_data/node_data.yy",},},
|
||||
{"id":{"name":"node_wiggler","path":"scripts/node_wiggler/node_wiggler.yy",},},
|
||||
|
@ -1334,6 +1340,7 @@
|
|||
{"id":{"name":"s_node_array_remove","path":"sprites/s_node_array_remove/s_node_array_remove.yy",},},
|
||||
{"id":{"name":"s_node_zigzag","path":"sprites/s_node_zigzag/s_node_zigzag.yy",},},
|
||||
{"id":{"name":"node_FLIP_render","path":"scripts/node_FLIP_render/node_FLIP_render.yy",},},
|
||||
{"id":{"name":"s_lovify_heart_8","path":"sprites/s_lovify_heart_8/s_lovify_heart_8.yy",},},
|
||||
{"id":{"name":"s_key_display_mouse","path":"sprites/s_key_display_mouse/s_key_display_mouse.yy",},},
|
||||
{"id":{"name":"dynaSurf_square_outline","path":"scripts/dynaSurf_square_outline/dynaSurf_square_outline.yy",},},
|
||||
{"id":{"name":"node_3d_repeat","path":"scripts/node_3d_repeat/node_3d_repeat.yy",},},
|
||||
|
@ -1373,6 +1380,7 @@
|
|||
{"id":{"name":"node_atlas_get","path":"scripts/node_atlas_get/node_atlas_get.yy",},},
|
||||
{"id":{"name":"fontScrollBox","path":"scripts/fontScrollBox/fontScrollBox.yy",},},
|
||||
{"id":{"name":"node_grid_hex","path":"scripts/node_grid_hex/node_grid_hex.yy",},},
|
||||
{"id":{"name":"sh_lovify","path":"shaders/sh_lovify/sh_lovify.yy",},},
|
||||
{"id":{"name":"FirebaseREST_Firestore_collection_compare","path":"scripts/FirebaseREST_Firestore_collection_compare/FirebaseREST_Firestore_collection_compare.yy",},},
|
||||
{"id":{"name":"node_pb_draw_blob","path":"scripts/node_pb_draw_blob/node_pb_draw_blob.yy",},},
|
||||
{"id":{"name":"draw_overlay","path":"scripts/draw_overlay/draw_overlay.yy",},},
|
||||
|
@ -1449,6 +1457,7 @@
|
|||
{"id":{"name":"file_functions","path":"scripts/file_functions/file_functions.yy",},},
|
||||
{"id":{"name":"node_perlin_smear","path":"scripts/node_perlin_smear/node_perlin_smear.yy",},},
|
||||
{"id":{"name":"node_alpha_cutoff","path":"scripts/node_alpha_cutoff/node_alpha_cutoff.yy",},},
|
||||
{"id":{"name":"node_lovify","path":"scripts/node_lovify/node_lovify.yy",},},
|
||||
{"id":{"name":"pack_best_fit","path":"scripts/pack_best_fit/pack_best_fit.yy",},},
|
||||
{"id":{"name":"sh_channel_R","path":"shaders/sh_channel_R/sh_channel_R.yy",},},
|
||||
{"id":{"name":"draw_circle_functions","path":"scripts/draw_circle_functions/draw_circle_functions.yy",},},
|
||||
|
@ -2128,6 +2137,7 @@
|
|||
{"id":{"name":"s_node_dot_product","path":"sprites/s_node_dot_product/s_node_dot_product.yy",},},
|
||||
{"id":{"name":"s_node_canvas","path":"sprites/s_node_canvas/s_node_canvas.yy",},},
|
||||
{"id":{"name":"d3d_light","path":"scripts/d3d_light/d3d_light.yy",},},
|
||||
{"id":{"name":"s_lovify_heart_10","path":"sprites/s_lovify_heart_10/s_lovify_heart_10.yy",},},
|
||||
{"id":{"name":"sh_downsample","path":"shaders/sh_downsample/sh_downsample.yy",},},
|
||||
{"id":{"name":"Obj_FirebaseFirestore_Collection_Query_Greater","path":"objects/Obj_FirebaseFirestore_Collection_Query_Greater/Obj_FirebaseFirestore_Collection_Query_Greater.yy",},},
|
||||
{"id":{"name":"sh_remove_black","path":"shaders/sh_remove_black/sh_remove_black.yy",},},
|
||||
|
@ -2164,6 +2174,7 @@
|
|||
{"id":{"name":"path_function","path":"scripts/path_function/path_function.yy",},},
|
||||
{"id":{"name":"s_node_shell_excecute","path":"sprites/s_node_shell_excecute/s_node_shell_excecute.yy",},},
|
||||
{"id":{"name":"fd_rectangle_set_velocity_dissipation_value","path":"scripts/fd_rectangle_set_velocity_dissipation_value/fd_rectangle_set_velocity_dissipation_value.yy",},},
|
||||
{"id":{"name":"s_lovify_icon","path":"sprites/s_lovify_icon/s_lovify_icon.yy",},},
|
||||
{"id":{"name":"panel_history","path":"scripts/panel_history/panel_history.yy",},},
|
||||
{"id":{"name":"sh_channel_H","path":"shaders/sh_channel_H/sh_channel_H.yy",},},
|
||||
{"id":{"name":"rotatorRandom","path":"scripts/rotatorRandom/rotatorRandom.yy",},},
|
||||
|
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
|
@ -104,10 +104,11 @@ if !ready exit;
|
|||
|
||||
if(buttonInstant(THEME.button_hide, bx, by, ui(28), ui(28), mouse_ui, interactable && sFOCUS, sHOVER, __txtx("gradient_editor_key_blend", "Key blending"), THEME.grad_blend) == 2) {
|
||||
menuCall("gradient_window_blend_menu", bx + ui(32), by, [
|
||||
menuItem(__txtx("gradient_editor_blend_hard", "Hard blend"), function() { gradient.type = 1; onApply(gradient); }),
|
||||
menuItem(__txtx("gradient_editor_blend_RGB", "RGB blend"), function() { gradient.type = 0; onApply(gradient); }),
|
||||
menuItem(__txtx("gradient_editor_blend_HSV", "HSV blend"), function() { gradient.type = 2; onApply(gradient); }),
|
||||
menuItem(__txtx("gradient_editor_blend_OKLAB", "OKLAB blend"), function() { gradient.type = 3; onApply(gradient); }),
|
||||
menuItem(__txtx("gradient_editor_blend_hard", "Solid"), function() { gradient.type = 1; onApply(gradient); }),
|
||||
menuItem(__txtx("gradient_editor_blend_RGB", "RGB"), function() { gradient.type = 0; onApply(gradient); }),
|
||||
menuItem(__txtx("gradient_editor_blend_sRGB", "sRGB"), function() { gradient.type = 4; onApply(gradient); }),
|
||||
menuItem(__txtx("gradient_editor_blend_HSV", "HSV"), function() { gradient.type = 2; onApply(gradient); }),
|
||||
menuItem(__txtx("gradient_editor_blend_OKLAB", "OKLAB"), function() { gradient.type = 3; onApply(gradient); }),
|
||||
],, gradient);
|
||||
}
|
||||
bx -= ui(32);
|
||||
|
|
|
@ -149,7 +149,7 @@
|
|||
with(dialogCall(o_dialog_add_multiple_images, WIN_W / 2, WIN_H / 2))
|
||||
setPath(path);
|
||||
} else {
|
||||
PANEL_GRAPH.onStepBegin();
|
||||
if(!IS_CMD) PANEL_GRAPH.onStepBegin();
|
||||
|
||||
var node = noone;
|
||||
for( var i = 0, n = array_length(path); i < n; i++ ) {
|
||||
|
@ -192,10 +192,10 @@
|
|||
break;
|
||||
}
|
||||
|
||||
PANEL_GRAPH.mouse_grid_y += 160;
|
||||
if(!IS_CMD)PANEL_GRAPH.mouse_grid_y += 160;
|
||||
}
|
||||
|
||||
if(node)
|
||||
if(node && !IS_CMD)
|
||||
PANEL_GRAPH.toCenterNode();
|
||||
}
|
||||
}
|
||||
|
@ -313,22 +313,21 @@
|
|||
#endregion
|
||||
|
||||
#region arguments
|
||||
#macro IS_CMD PROGRAM_ARGUMENTS._cmd
|
||||
|
||||
alarm[1] = 2;
|
||||
|
||||
globalvar PROGRAM_ARGUMENTS;
|
||||
PROGRAM_ARGUMENTS = {
|
||||
run : false,
|
||||
_cmd : false,
|
||||
_run : false,
|
||||
_persist : false,
|
||||
};
|
||||
|
||||
//PROGRAM_ARGUMENTS = {
|
||||
// path: "D:/Project/MakhamDev/LTS-PixelComposer/TEST/terminal/outline.pxc",
|
||||
// image: "D:/Project/MakhamDev/LTS-PixelComposer/TEST/terminal/05.png",
|
||||
// run : true,
|
||||
// persist : false,
|
||||
//};
|
||||
//.\PixelComposer.exe "D:/Project/MakhamDev/LTS-PixelComposer/TEST/terminal/outline.pxc" --h -image "D:/Project/MakhamDev/LTS-PixelComposer/TEST/terminal/05.png"
|
||||
|
||||
var paramCount = parameter_count();
|
||||
var paramType = "path";
|
||||
var paramType = "_path";
|
||||
|
||||
for( var i = 0; i < paramCount; i++ ) {
|
||||
var param = parameter_string(i);
|
||||
|
@ -341,28 +340,33 @@
|
|||
run_in(1, function() { dialogCall(o_dialog_crashed); });
|
||||
break;
|
||||
|
||||
case "--h" : PROGRAM_ARGUMENTS.run = true; break;
|
||||
case "--p" : PROGRAM_ARGUMENTS.persist = true; break;
|
||||
case "--h" :
|
||||
debug_event("OutputDebugOn");
|
||||
PROGRAM_ARGUMENTS._cmd = true;
|
||||
PROGRAM_ARGUMENTS._run = true;
|
||||
break;
|
||||
|
||||
case "--p" : PROGRAM_ARGUMENTS._persist = true; break;
|
||||
}
|
||||
|
||||
} else if(string_starts_with(param, "-")) {
|
||||
paramType = string_trim(param, ["-"]);
|
||||
|
||||
} else if(paramType == "path") {
|
||||
} else if(paramType == "_path") {
|
||||
var path = param;
|
||||
path = string_replace_all(path, "\n", "");
|
||||
path = string_replace_all(path, "\"", "");
|
||||
|
||||
if(file_exists_empty(path) && filename_ext(path) == ".pxc")
|
||||
PROGRAM_ARGUMENTS.path = path;
|
||||
PROGRAM_ARGUMENTS._path = path;
|
||||
|
||||
} else {
|
||||
PROGRAM_ARGUMENTS[$ paramType] = param;
|
||||
}
|
||||
}
|
||||
|
||||
if(struct_exists(PROGRAM_ARGUMENTS, "path")) {
|
||||
var path = PROGRAM_ARGUMENTS.path;
|
||||
if(struct_exists(PROGRAM_ARGUMENTS, "_path")) {
|
||||
var path = PROGRAM_ARGUMENTS._path;
|
||||
|
||||
if(PROJECT == noone || PROJECT.path != path) {
|
||||
file_open_parameter = path;
|
||||
|
@ -370,6 +374,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
if(PROGRAM_ARGUMENTS.run)
|
||||
if(PROGRAM_ARGUMENTS._cmd)
|
||||
draw_enable_drawevent(false);
|
||||
#endregion
|
|
@ -69,33 +69,34 @@
|
|||
var t = get_timer();
|
||||
|
||||
__initPatreon(); log_message("SESSION", $"> init Patreon | complete in {get_timer() - t}"); t = get_timer();
|
||||
__initTheme(); log_message("SESSION", $"> init Theme | complete in {get_timer() - t}"); t = get_timer();
|
||||
__initLocale(); log_message("SESSION", $"> init Locale | complete in {get_timer() - t}"); t = get_timer();
|
||||
loadFonts(); log_message("SESSION", $"> init Font | complete in {get_timer() - t}"); t = get_timer();
|
||||
if(!IS_CMD) { __initTheme(); log_message("SESSION", $"> init Theme | complete in {get_timer() - t}"); t = get_timer(); }
|
||||
if(!IS_CMD) { __initLocale(); log_message("SESSION", $"> init Locale | complete in {get_timer() - t}"); t = get_timer(); }
|
||||
if(!IS_CMD) { loadFonts(); log_message("SESSION", $"> init Font | complete in {get_timer() - t}"); t = get_timer(); }
|
||||
__initProject(); log_message("SESSION", $"> init Project | complete in {get_timer() - t}"); t = get_timer();
|
||||
|
||||
__initAction(); log_message("SESSION", $"> init Action | complete in {get_timer() - t}"); t = get_timer();
|
||||
if(!IS_CMD) { __initAction(); log_message("SESSION", $"> init Action | complete in {get_timer() - t}"); t = get_timer(); }
|
||||
__initSurfaceFormat(); log_message("SESSION", $"> init SurfaceFormat | complete in {get_timer() - t}"); t = get_timer();
|
||||
__initCollection(); log_message("SESSION", $"> init Collection | complete in {get_timer() - t}"); t = get_timer();
|
||||
__initAssets(); log_message("SESSION", $"> init Assets | complete in {get_timer() - t}"); t = get_timer();
|
||||
__initPresets(); log_message("SESSION", $"> init Presets | complete in {get_timer() - t}"); t = get_timer();
|
||||
if(!IS_CMD) { __initCollection(); log_message("SESSION", $"> init Collection | complete in {get_timer() - t}"); t = get_timer(); }
|
||||
if(!IS_CMD) { __initAssets(); log_message("SESSION", $"> init Assets | complete in {get_timer() - t}"); t = get_timer(); }
|
||||
if(!IS_CMD) { __initPresets(); log_message("SESSION", $"> init Presets | complete in {get_timer() - t}"); t = get_timer(); }
|
||||
__initFontFolder(); log_message("SESSION", $"> init FontFolder | complete in {get_timer() - t}"); t = get_timer();
|
||||
__initLua(); log_message("SESSION", $"> init Lua | complete in {get_timer() - t}"); t = get_timer();
|
||||
__initNodeData(); log_message("SESSION", $"> init NodeData | complete in {get_timer() - t}"); t = get_timer();
|
||||
if(!IS_CMD) { __initNodeData(); log_message("SESSION", $"> init NodeData | complete in {get_timer() - t}"); t = get_timer(); }
|
||||
__initNodes(); log_message("SESSION", $"> init Nodes | complete in {get_timer() - t}"); t = get_timer();
|
||||
__initSteamUGC(); log_message("SESSION", $"> init SteamUGC | complete in {get_timer() - t}"); t = get_timer();
|
||||
__initAddon(); log_message("SESSION", $"> init Addon | complete in {get_timer() - t}"); t = get_timer();
|
||||
__initPalette(); log_message("SESSION", $"> init Palette | complete in {get_timer() - t}"); t = get_timer();
|
||||
__initGradient(); log_message("SESSION", $"> init Gradient | complete in {get_timer() - t}"); t = get_timer();
|
||||
if(!IS_CMD) { __initSteamUGC(); log_message("SESSION", $"> init SteamUGC | complete in {get_timer() - t}"); t = get_timer(); }
|
||||
if(!IS_CMD) { __initAddon(); log_message("SESSION", $"> init Addon | complete in {get_timer() - t}"); t = get_timer(); }
|
||||
if(!IS_CMD) { __initPalette(); log_message("SESSION", $"> init Palette | complete in {get_timer() - t}"); t = get_timer(); }
|
||||
if(!IS_CMD) { __initGradient(); log_message("SESSION", $"> init Gradient | complete in {get_timer() - t}"); t = get_timer(); }
|
||||
|
||||
loadAddon(); log_message("SESSION", $"> init Addons | complete in {get_timer() - t}"); t = get_timer();
|
||||
if(!IS_CMD) { loadAddon(); log_message("SESSION", $"> init Addons | complete in {get_timer() - t}"); t = get_timer(); }
|
||||
|
||||
LOAD_SAMPLE(); log_message("SESSION", $"> init sample | complete in {get_timer() - t}"); t = get_timer();
|
||||
INIT_FOLDERS(); log_message("SESSION", $"> init folders | complete in {get_timer() - t}"); t = get_timer();
|
||||
RECENT_LOAD(); log_message("SESSION", $"> init recents | complete in {get_timer() - t}"); t = get_timer();
|
||||
if(!IS_CMD) { LOAD_SAMPLE(); log_message("SESSION", $"> init sample | complete in {get_timer() - t}"); t = get_timer(); }
|
||||
if(!IS_CMD) { INIT_FOLDERS(); log_message("SESSION", $"> init folders | complete in {get_timer() - t}"); t = get_timer(); }
|
||||
if(!IS_CMD) { RECENT_LOAD(); log_message("SESSION", $"> init recents | complete in {get_timer() - t}"); t = get_timer(); }
|
||||
|
||||
log_message("SESSION", $">> Initialization complete in {get_timer() - t0}");
|
||||
|
||||
if(!IS_CMD) {
|
||||
__initPanel();
|
||||
|
||||
if(file_exists_empty("icon.png"))
|
||||
|
@ -106,6 +107,7 @@
|
|||
|
||||
var cmd = ".pxcc=\"" + string(program_directory) + "PixelComposer.exe\"";
|
||||
shell_execute_async("assoc", cmd);
|
||||
}
|
||||
|
||||
directory_set_current_working(DIRECTORY);
|
||||
#endregion
|
||||
|
|
|
@ -101,11 +101,11 @@ _HOVERING_ELEMENT = noone;
|
|||
PROJECT.animator.frame_progress = false;
|
||||
} else {
|
||||
if(UPDATE & RENDER_TYPE.full) {
|
||||
if(PROGRAM_ARGUMENTS.run) {
|
||||
if(PROGRAM_ARGUMENTS._run) {
|
||||
exportAll();
|
||||
PROGRAM_ARGUMENTS.run = false;
|
||||
PROGRAM_ARGUMENTS._run = false;
|
||||
|
||||
if(!IS_RENDERING && !struct_try_get(PROGRAM_ARGUMENTS, "persist", true)) game_end();
|
||||
if(!IS_RENDERING && !PROGRAM_ARGUMENTS._persist) game_end();
|
||||
} else
|
||||
Render();
|
||||
|
||||
|
|
|
@ -83,10 +83,12 @@ function __Node_3D_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
|||
file_text_close(fObj);
|
||||
file_text_close(fMtl);
|
||||
|
||||
if(!IS_CMD) {
|
||||
var noti = log_message("EXPORT", "Export obj as " + oPath, THEME.noti_icon_tick, COLORS._main_value_positive, false);
|
||||
noti.path = filename_dir(oPath);
|
||||
noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer);
|
||||
}
|
||||
}
|
||||
|
||||
static update = function() {
|
||||
export();
|
||||
|
|
|
@ -167,7 +167,7 @@
|
|||
is_rendering = false;
|
||||
time_since_last_frame = 0;
|
||||
|
||||
if(struct_try_get(PROGRAM_ARGUMENTS, "persist", true)) game_end();
|
||||
if(PROGRAM_ARGUMENTS._cmd && !PROGRAM_ARGUMENTS._persist) game_end();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -35,6 +35,15 @@
|
|||
return make_color_rgba(rg.x, rg.y, rg.z, a);
|
||||
} #endregion
|
||||
|
||||
function make_color_srgba(r, g, b, a) { #region
|
||||
INLINE
|
||||
r = power(r, 1 / 2.2) * 255;
|
||||
g = power(g, 1 / 2.2) * 255;
|
||||
b = power(b, 1 / 2.2) * 255;
|
||||
|
||||
return int64(round(r) + (round(g) << 8) + (round(b) << 16) + (round(a) << 24));
|
||||
} #endregion
|
||||
|
||||
function colorFromRGBArray(arr) { #region
|
||||
var r = round(real(arr[0]) * 255);
|
||||
var g = round(real(arr[1]) * 255);
|
||||
|
@ -66,6 +75,11 @@
|
|||
return [ color_get_red(col) / 255, color_get_green(col) / 255, color_get_blue(col) / 255 ];
|
||||
} #endregion
|
||||
|
||||
function color_srgb(col) { #region
|
||||
INLINE
|
||||
return [ power(color_get_red(col) / 255, 2.2), power(color_get_green(col) / 255, 2.2), power(color_get_blue(col) / 255, 2.2) ];
|
||||
} #endregion
|
||||
|
||||
function color_hsv(col) { #region
|
||||
INLINE
|
||||
return [ color_get_hue(col) / 255, color_get_saturation(col) / 255, color_get_value(col) / 255 ];
|
||||
|
@ -212,6 +226,23 @@ function color_diff(c1, c2, fast = false, alpha = false) { #region
|
|||
|
||||
return make_color_oklab(ok, a);
|
||||
} #endregion
|
||||
|
||||
function merge_color_srgb(c0, c1, t) { #region
|
||||
INLINE
|
||||
|
||||
var sr0 = color_srgb(c0);
|
||||
var sr1 = color_srgb(c1);
|
||||
|
||||
var sr = [
|
||||
lerp(sr0[0], sr1[0], t),
|
||||
lerp(sr0[1], sr1[1], t),
|
||||
lerp(sr0[2], sr1[2], t),
|
||||
];
|
||||
|
||||
var a = is_real(c0)? 255 : clamp(round(lerp(color_get_alpha(c0), color_get_alpha(c1), t)), 0, 255);
|
||||
|
||||
return make_color_srgba(sr, a);
|
||||
} #endregion
|
||||
#endregion
|
||||
|
||||
#region sorting functions
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#region colors
|
||||
globalvar CDEF, COLORS, THEME_VALUE;
|
||||
|
||||
CDEF = {};
|
||||
CDEF = new ThemeColorDef();
|
||||
COLORS = new ThemeColor();
|
||||
THEME_VALUE = new ThemeValue();
|
||||
#endregion
|
||||
|
||||
function loadColor(theme = "default") { #region
|
||||
CDEF = {};
|
||||
CDEF = new ThemeColorDef();
|
||||
COLORS = new ThemeColor();
|
||||
THEME_VALUE = new ThemeValue();
|
||||
|
||||
|
|
|
@ -26,6 +26,8 @@ function __log(title, str, fname = "log/log.txt") { #region
|
|||
|
||||
function log_message(title, str, icon = noone, flash = false, write = true) { #region
|
||||
if(TEST_ERROR) return;
|
||||
if(IS_CMD) return;
|
||||
|
||||
if(write) __log("[MESSAGE] ", string(title) + ": " + string(str));
|
||||
|
||||
return noti_status(string(title) + ": " + string(str), icon, flash);
|
||||
|
@ -33,6 +35,8 @@ function log_message(title, str, icon = noone, flash = false, write = true) { #r
|
|||
|
||||
function log_warning(title, str, ref = noone) { #region
|
||||
if(TEST_ERROR) return;
|
||||
if(IS_CMD) return;
|
||||
|
||||
__log("[WARNING] ", string(title) + ": " + string(str));
|
||||
|
||||
return noti_warning(string(title) + ": " + string(str),, ref);
|
||||
|
@ -40,6 +44,8 @@ function log_warning(title, str, ref = noone) { #region
|
|||
|
||||
function log_crash(str) { #region
|
||||
if(TEST_ERROR) return;
|
||||
if(IS_CMD) return;
|
||||
|
||||
__log("[ERROR] ", string(str));
|
||||
|
||||
return noti_error(string(str));
|
||||
|
|
|
@ -1,11 +1,27 @@
|
|||
globalvar FONT_DEF, FONT_ISLOADED, FONT_CACHE, FONT_CUST_CACHE, GLYPH_MAP;
|
||||
globalvar f_h1, f_h2, f_h3, f_h5, f_p0, f_p0b, f_p1, f_p2, f_p3, f_code, f_sdf, f_sdf_medium;
|
||||
|
||||
FONT_DEF = true;
|
||||
FONT_CACHE = {};
|
||||
FONT_CUST_CACHE = {};
|
||||
FONT_ISLOADED = false;
|
||||
GLYPH_MAP = {};
|
||||
#region default
|
||||
FONT_DEF = true;
|
||||
FONT_CACHE = {};
|
||||
FONT_CUST_CACHE = {};
|
||||
FONT_ISLOADED = false;
|
||||
GLYPH_MAP = {};
|
||||
|
||||
f_h1 = _f_h1;
|
||||
f_h2 = _f_h2;
|
||||
f_h3 = _f_h3;
|
||||
f_h5 = _f_h5;
|
||||
f_p0 = _f_p0;
|
||||
f_p0b = _f_p0b;
|
||||
f_p1 = _f_p1;
|
||||
f_p2 = _f_p2;
|
||||
f_p3 = _f_p3;
|
||||
f_code = _f_code;
|
||||
f_sdf = _f_sdf;
|
||||
f_sdf_medium = _f_sdf_medium;
|
||||
FONT_ISLOADED = false;
|
||||
#endregion
|
||||
|
||||
function _font_add(path, size, sdf = false, custom = false) { #region
|
||||
var _cache = custom? FONT_CUST_CACHE : FONT_CACHE;
|
||||
|
|
|
@ -2,7 +2,8 @@ enum GRADIENT_INTER {
|
|||
smooth,
|
||||
none,
|
||||
hue,
|
||||
oklab
|
||||
oklab,
|
||||
srgb
|
||||
}
|
||||
|
||||
function gradientKey(time, value) constructor { #region
|
||||
|
@ -79,6 +80,7 @@ function gradientObject(color = c_black) constructor { #region
|
|||
case GRADIENT_INTER.smooth : return merge_color (_pkey.value, _key.value, rat);
|
||||
case GRADIENT_INTER.hue : return merge_color_hsv (_pkey.value, _key.value, rat);
|
||||
case GRADIENT_INTER.oklab : return merge_color_oklab(_pkey.value, _key.value, rat);
|
||||
case GRADIENT_INTER.srgb : return merge_color_srgb (_pkey.value, _key.value, rat);
|
||||
case GRADIENT_INTER.none : return _pkey.value;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,16 +27,19 @@ function LOAD_PATH(path, readonly = false, safe_mode = false) { #region
|
|||
|
||||
var _PROJECT = PROJECT;
|
||||
PROJECT = new Project();
|
||||
if(PANEL_GRAPH.project.path == "" && !PANEL_GRAPH.project.modified) {
|
||||
var ind = array_find(PROJECTS, PANEL_GRAPH.project);
|
||||
|
||||
if(_PROJECT.path == "" && !_PROJECT.modified) {
|
||||
var ind = array_find(PROJECTS, _PROJECT);
|
||||
if(ind == -1) ind = 0;
|
||||
PROJECTS[ind] = PROJECT;
|
||||
|
||||
PANEL_GRAPH.setProject(PROJECT);
|
||||
if(!IS_CMD) PANEL_GRAPH.setProject(PROJECT);
|
||||
} else {
|
||||
if(!IS_CMD) {
|
||||
var graph = new Panel_Graph(PROJECT);
|
||||
PANEL_GRAPH.panel.setContent(graph, true);
|
||||
PANEL_GRAPH = graph;
|
||||
}
|
||||
array_push(PROJECTS, PROJECT);
|
||||
}
|
||||
|
||||
|
@ -44,6 +47,7 @@ function LOAD_PATH(path, readonly = false, safe_mode = false) { #region
|
|||
if(!res) return false;
|
||||
|
||||
PROJECT.safeMode = safe_mode;
|
||||
if(!IS_CMD)
|
||||
setFocus(PANEL_GRAPH.panel);
|
||||
|
||||
return PROJECT;
|
||||
|
@ -246,14 +250,14 @@ function LOAD_AT(path, readonly = false, override = false) { #region
|
|||
PROJECT.modified = false;
|
||||
|
||||
log_message("FILE", "load " + path, THEME.noti_icon_file_load);
|
||||
PANEL_MENU.setNotiIcon(THEME.noti_icon_file_load);
|
||||
if(!IS_CMD) PANEL_MENU.setNotiIcon(THEME.noti_icon_file_load);
|
||||
|
||||
refreshNodeMap();
|
||||
|
||||
if(struct_has(_load_content, "timelines") && !array_empty(_load_content.timelines.contents))
|
||||
PROJECT.timelines.deserialize(_load_content.timelines);
|
||||
|
||||
run_in(1, PANEL_GRAPH.toCenterNode);
|
||||
if(!IS_CMD) run_in(1, PANEL_GRAPH.toCenterNode);
|
||||
|
||||
//print($"========== Load completed in {(get_timer() - t) / 1000} ms ==========");
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ enum DYNA_INPUT_COND {
|
|||
zero = 1 << 1,
|
||||
}
|
||||
|
||||
function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x, _y) constructor {
|
||||
function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor {
|
||||
#region ---- main & active ----
|
||||
active = true;
|
||||
renderActive = true;
|
||||
|
@ -23,7 +23,9 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
manual_deletable = true;
|
||||
manual_ungroupable = true;
|
||||
destroy_when_upgroup = false;
|
||||
ds_list_add(PANEL_GRAPH.getNodeList(_group), self);
|
||||
|
||||
var l = _group == noone? PROJECT.nodes : _group.getNodeList();
|
||||
ds_list_add(l, self);
|
||||
|
||||
active_index = -1;
|
||||
active_range = [ 0, TOTAL_FRAMES - 1 ];
|
||||
|
@ -1956,7 +1958,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
|
||||
static doApplyDeserialize = function() {}
|
||||
|
||||
static loadGroup = function(context = PANEL_GRAPH.getCurrentContext()) { #region
|
||||
static loadGroup = function(context = noone) { #region
|
||||
if(_group == noone) {
|
||||
if(context != noone) context.add(self);
|
||||
} else {
|
||||
|
|
|
@ -586,8 +586,8 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
p = save_surface(_surf, p);
|
||||
}
|
||||
|
||||
if(form != NODE_EXPORT_FORMAT.animation) {
|
||||
var noti = log_message("EXPORT", "Export " + string(array_length(surf)) + " images complete.", THEME.noti_icon_tick, COLORS._main_value_positive, false);
|
||||
if(form != NODE_EXPORT_FORMAT.animation && !IS_CMD) {
|
||||
var noti = log_message("EXPORT", $"Export {array_length(surf)} images complete.", THEME.noti_icon_tick, COLORS._main_value_positive, false);
|
||||
noti.path = filename_dir(p);
|
||||
noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer);
|
||||
|
||||
|
@ -604,8 +604,8 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
|
||||
p = save_surface(surf, p);
|
||||
|
||||
if(form != NODE_EXPORT_FORMAT.animation) {
|
||||
var noti = log_message("EXPORT", "Export image as " + p, THEME.noti_icon_tick, COLORS._main_value_positive, false);
|
||||
if(form != NODE_EXPORT_FORMAT.animation && !IS_CMD) {
|
||||
var noti = log_message("EXPORT", $"Export image as {p}", THEME.noti_icon_tick, COLORS._main_value_positive, false);
|
||||
noti.path = filename_dir(p);
|
||||
noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer);
|
||||
|
||||
|
@ -693,7 +693,7 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
} #endregion
|
||||
|
||||
static doInspectorAction = function() { #region
|
||||
if(!PROGRAM_ARGUMENTS.run && (LOADING || APPENDING)) return;
|
||||
if(!PROGRAM_ARGUMENTS._cmd && (LOADING || APPENDING)) return;
|
||||
|
||||
var path = getInputData(1);
|
||||
if(path == "") return;
|
||||
|
@ -799,10 +799,13 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
var res = ProcIdExists(render_process_id);
|
||||
|
||||
if(res == 0 || OS == os_macosx) {
|
||||
if(!IS_CMD) {
|
||||
var noti = log_message("EXPORT", $"Export {render_type} as {render_target}", THEME.noti_icon_tick, COLORS._main_value_positive, false);
|
||||
noti.path = filename_dir(render_target);
|
||||
noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer);
|
||||
PANEL_MENU.setNotiIcon(THEME.noti_icon_tick);
|
||||
}
|
||||
|
||||
render_process_id = 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -140,7 +140,7 @@
|
|||
#endregion
|
||||
|
||||
#region node function
|
||||
function nodeLoad(_data, scale = false, _group = PANEL_GRAPH.getCurrentContext()) {
|
||||
function nodeLoad(_data, scale = false, _group = noone) {
|
||||
if(!is_struct(_data)) return;
|
||||
|
||||
var _x = _data.x;
|
||||
|
|
|
@ -192,9 +192,7 @@ function Node_Global(_x = 0, _y = 0) : __Node_Base(_x, _y) constructor {
|
|||
input_display_list = -1;
|
||||
anim_priority = -999;
|
||||
|
||||
static valueUpdate = function(index) {
|
||||
RENDER_ALL
|
||||
}
|
||||
static valueUpdate = function(index) { RENDER_ALL }
|
||||
|
||||
static createValue = function() { #region
|
||||
var _in = nodeValue("NewValue", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0);
|
||||
|
@ -264,11 +262,12 @@ function Node_Global(_x = 0, _y = 0) : __Node_Base(_x, _y) constructor {
|
|||
for(var i = 0; i < array_length(_inputs); i++) {
|
||||
var _des = _inputs[i];
|
||||
var _in = createValue();
|
||||
var _name = struct_try_get(_des, "global_name", "");
|
||||
|
||||
_in.editor.type_index = struct_try_get(_des, "global_type", 0);
|
||||
_in.editor.disp_index = struct_try_get(_des, "global_disp", 0);
|
||||
_in.editor.disp_index = struct_try_get(_des, "global_disp", 0);
|
||||
_in.editor.value_name = struct_try_get(_des, "global_name", "");
|
||||
_in.editor.value_name = _name;
|
||||
|
||||
_in.editor.slider_range = _des.global_s_range;
|
||||
_in.editor.slider_step = struct_try_get(_des, "global_s_step", 0.01);
|
||||
|
@ -276,6 +275,8 @@ function Node_Global(_x = 0, _y = 0) : __Node_Base(_x, _y) constructor {
|
|||
_in.editor.refreshInput();
|
||||
|
||||
_in.applyDeserialize(_des);
|
||||
|
||||
if(struct_has(PROGRAM_ARGUMENTS, _name)) _in.setValue(PROGRAM_ARGUMENTS[$ _name]);
|
||||
}
|
||||
|
||||
if(struct_has(_map, "attr")) struct_override(attributes, _map.attr);
|
||||
|
|
|
@ -13,7 +13,7 @@ function Node_Gradient_Palette(_x, _y, _group = noone) : Node_Processor(_x, _y,
|
|||
inputs[| 2].array_depth = 1;
|
||||
|
||||
inputs[| 3] = nodeValue("Blending", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1)
|
||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "Hard", "RGB", "HSV", "OKLAB" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "Hard", "RGB", "HSV", "OKLAB", "sRGB" ]);
|
||||
|
||||
outputs[| 0] = nodeValue("Gradient", self, JUNCTION_CONNECT.output, VALUE_TYPE.gradient, new gradientObject(c_white) )
|
||||
|
||||
|
@ -46,6 +46,7 @@ function Node_Gradient_Palette(_x, _y, _group = noone) : Node_Processor(_x, _y,
|
|||
case 1 : grad.type = GRADIENT_INTER.smooth; break;
|
||||
case 2 : grad.type = GRADIENT_INTER.hue; break;
|
||||
case 3 : grad.type = GRADIENT_INTER.oklab; break;
|
||||
case 4 : grad.type = GRADIENT_INTER.srgb; break;
|
||||
}
|
||||
|
||||
return grad;
|
||||
|
|
12
scripts/node_lovify/node_checkerboard.yy
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"isDnD": false,
|
||||
"isCompatibility": false,
|
||||
"parent": {
|
||||
"name": "generator",
|
||||
"path": "folders/nodes/data/generator.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "node_checkerboard",
|
||||
"tags": [],
|
||||
"resourceType": "GMScript",
|
||||
}
|
71
scripts/node_lovify/node_lovify.gml
Normal file
|
@ -0,0 +1,71 @@
|
|||
function Node_Lovify(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Lovify";
|
||||
color = CDEF.red;
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone );
|
||||
|
||||
inputs[| 1] = nodeValue("Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, seed_random(6) );
|
||||
|
||||
inputs[| 2] = nodeValue("Density", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.5 )
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
inputs[| 3] = nodeValue("Distribution", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.1 )
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||
|
||||
input_display_list = [ 1,
|
||||
["Surfaces", false], 0,
|
||||
["Love", false], 2, 3,
|
||||
];
|
||||
|
||||
attribute_surface_depth();
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _surf = _data[0];
|
||||
var _seed = _data[1];
|
||||
var _dens = _data[2];
|
||||
var _dist = _data[3];
|
||||
var _dim = surface_get_dimension(_surf);
|
||||
|
||||
_outSurf = surface_verify(_outSurf, _dim[0], _dim[1], attrDepth());
|
||||
|
||||
random_set_seed(_seed);
|
||||
|
||||
var amo = (_dim[0] * _dim[1]) / 8 * _dens;
|
||||
var sprs = [ s_lovify_heart_6 ];
|
||||
var sde = max(_dim[0], _dim[1]);
|
||||
var hmax = 12;
|
||||
|
||||
if(sde > 16) { sprs[1] = s_lovify_heart_8; hmax = 16; }
|
||||
if(sde > 20) { sprs[2] = s_lovify_heart_10; hmax = 20; }
|
||||
if(sde > 24) { sprs[3] = s_lovify_heart_12; hmax = 24; }
|
||||
if(sde > 32) { sprs[4] = s_lovify_heart_16; hmax = 32; }
|
||||
|
||||
var maxS = min(4, ceil(sde / hmax / 4));
|
||||
|
||||
surface_set_target(_outSurf);
|
||||
DRAW_CLEAR
|
||||
|
||||
shader_set(sh_lovify);
|
||||
draw_surface(_surf, 0, 0);
|
||||
shader_reset();
|
||||
|
||||
repeat(amo) {
|
||||
var _r = power(random_seed(1, _seed++), _dist) * 0.75;
|
||||
var _a = random_seed(360, _seed++);
|
||||
|
||||
var _x = lengthdir_x(_r, _a) + 0.5;
|
||||
var _y = lengthdir_y(_r, _a) + 0.5;
|
||||
|
||||
_x *= _dim[0];
|
||||
_y *= _dim[1];
|
||||
|
||||
var ss = irandom_range_seed(1, maxS, _seed++);
|
||||
draw_sprite_ext(sprs[irandom(array_length(sprs) - 1)], 0, _x, _y, ss, ss, 0, c_white, 1);
|
||||
}
|
||||
surface_reset_target();
|
||||
|
||||
return _outSurf;
|
||||
}
|
||||
}
|
11
scripts/node_lovify/node_lovify.yy
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"resourceType": "GMScript",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "node_lovify",
|
||||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "lovify",
|
||||
"path": "folders/nodes/data/misc/lovify.yy",
|
||||
},
|
||||
}
|
12
scripts/node_lovify/node_stripe.yy
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"isDnD": false,
|
||||
"isCompatibility": false,
|
||||
"parent": {
|
||||
"name": "generator",
|
||||
"path": "folders/nodes/data/generator.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "node_stripe",
|
||||
"tags": [],
|
||||
"resourceType": "GMScript",
|
||||
}
|
|
@ -2,8 +2,11 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor { #regio
|
|||
name = _name;
|
||||
spr = _spr;
|
||||
node = _node;
|
||||
icon = noone;
|
||||
|
||||
createNode = _create;
|
||||
self.tags = tags;
|
||||
new_node = false;
|
||||
|
||||
tooltip = "";
|
||||
tooltip_spr = noone;
|
||||
|
@ -14,12 +17,12 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor { #regio
|
|||
|
||||
is_patreon_extra = false;
|
||||
|
||||
if(!IS_CMD) {
|
||||
var pth = DIRECTORY + "Nodes/tooltip/" + node + ".png";
|
||||
if(file_exists_empty(pth))
|
||||
tooltip_spr = sprite_add(pth, 0, false, false, 0, 0);
|
||||
new_node = false;
|
||||
if(file_exists_empty(pth)) tooltip_spr = sprite_add(pth, 0, false, false, 0, 0);
|
||||
}
|
||||
|
||||
if(struct_has(global.NODE_GUIDE, node)) { #region
|
||||
if(!IS_CMD && struct_has(global.NODE_GUIDE, node)) { #region
|
||||
var _n = global.NODE_GUIDEarn[$ node];
|
||||
name = _n.name;
|
||||
if(_n.tooltip != "")
|
||||
|
@ -41,6 +44,12 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor { #regio
|
|||
return self;
|
||||
} #endregion
|
||||
|
||||
static setIcon = function(icon) { #region
|
||||
INLINE
|
||||
self.icon = icon;
|
||||
return self;
|
||||
} #endregion
|
||||
|
||||
static isDeprecated = function() { #region
|
||||
INLINE
|
||||
deprecated = true;
|
||||
|
@ -106,10 +115,10 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor { #regio
|
|||
var fav = array_exists(global.FAV_NODES, node);
|
||||
if(fav) draw_sprite_ui_uniform(THEME.star, 0, _x + grid_size - ui(10), _y + grid_size - ui(10), 0.7, COLORS._main_accent, 1.);
|
||||
|
||||
if(IS_PATREON && is_patreon_extra) {
|
||||
var spr_x = _x + grid_size - 4;
|
||||
var spr_y = _y + 4;
|
||||
|
||||
if(IS_PATREON && is_patreon_extra) {
|
||||
BLEND_SUBTRACT
|
||||
gpu_set_colorwriteenable(0, 0, 0, 1);
|
||||
draw_sprite_ext(s_patreon_supporter, 0, spr_x, spr_y, 1, 1, 0, c_white, 1);
|
||||
|
@ -120,6 +129,8 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor { #regio
|
|||
|
||||
if(point_in_circle(_mx, _my, spr_x, spr_y, 10)) TOOLTIP = __txt("Supporter exclusive");
|
||||
}
|
||||
|
||||
if(icon) draw_sprite_ext(icon, 0, spr_x, spr_y, 1, 1, 0, c_white, 1);
|
||||
} #endregion
|
||||
|
||||
static drawList = function(_x, _y, _mx, _my, list_height) { #region
|
||||
|
@ -234,6 +245,7 @@ function addNodePCXCatagory(name, list, filter = []) { #region
|
|||
function __initNodes() {
|
||||
global.__currPage = "";
|
||||
|
||||
if(!IS_CMD) {
|
||||
var favPath = DIRECTORY + "Nodes/fav.json";
|
||||
global.FAV_NODES = file_exists_empty(favPath)? json_load_struct(favPath) : [];
|
||||
if(!is_array(global.FAV_NODES)) global.FAV_NODES = [];
|
||||
|
@ -241,6 +253,7 @@ function __initNodes() {
|
|||
var recPath = DIRECTORY + "Nodes/recent.json";
|
||||
global.RECENT_NODES = file_exists_empty(recPath)? json_load_struct(recPath) : [];
|
||||
if(!is_array(global.RECENT_NODES)) global.RECENT_NODES = [];
|
||||
}
|
||||
|
||||
NODE_PAGE_DEFAULT = ds_list_size(NODE_CATEGORY);
|
||||
ADD_NODE_PAGE = NODE_PAGE_DEFAULT;
|
||||
|
@ -488,6 +501,8 @@ function __initNodes() {
|
|||
|
||||
var filter = ds_list_create(); #region
|
||||
addNodeCatagory("Filter", filter);
|
||||
addNodeObject(filter, "Lovify", s_node_lovify, "Node_Lovify", [1, Node_Lovify]).setIcon(s_lovify_icon);
|
||||
|
||||
ds_list_add(filter, "Combines");
|
||||
addNodeObject(filter, "Blend", s_node_blend, "Node_Blend", [0, Node_create_Blend], ["normal", "add", "subtract", "multiply", "screen", "maxx", "minn"], "Blend 2 images using different blendmodes.");
|
||||
addNodeObject(filter, "RGBA Combine", s_node_RGB_combine, "Node_Combine_RGB", [1, Node_Combine_RGB],, "Combine 4 image in to one. Each image use to control RGBA channel.").setVersion(1070);
|
||||
|
|
|
@ -160,6 +160,7 @@
|
|||
|
||||
#region save load
|
||||
function PREF_SAVE() { #region
|
||||
if(IS_CMD) return;
|
||||
var map = {};
|
||||
|
||||
var save_l = [];
|
||||
|
|
|
@ -1,193 +1,101 @@
|
|||
function Theme() constructor {
|
||||
pixel_builder = noone;
|
||||
junc_visible = noone;
|
||||
tools_canvas_channel = noone;
|
||||
ui_scrollbar = noone;
|
||||
control_remove = noone;
|
||||
vct = noone;
|
||||
node_frame_title = noone;
|
||||
duplicate = noone;
|
||||
function Theme() constructor { #region
|
||||
group_label = noone;
|
||||
visible = noone;
|
||||
pixel_builder = noone;
|
||||
control_remove = noone;
|
||||
node_frame_title = noone;
|
||||
panel_graph = noone;
|
||||
tunnel = noone;
|
||||
icon_curve_connection = noone;
|
||||
timeline_clock = noone;
|
||||
animate_clock = noone;
|
||||
prop_selecting = noone;
|
||||
node_websocket_receive = noone;
|
||||
text_slider = noone;
|
||||
preview_bone_IK = noone;
|
||||
tools_3d_transform_object = noone;
|
||||
prop_anchor = noone;
|
||||
node_draw_path = noone;
|
||||
node_pin_bg_active = noone;
|
||||
icon_splash_show_on_start = noone;
|
||||
noti_icon_warning = noone;
|
||||
pin = noone;
|
||||
accept_16 = noone;
|
||||
animate_prop_go = noone;
|
||||
accept = noone;
|
||||
bone_tool_detach = noone;
|
||||
loading_s = noone;
|
||||
loop = noone;
|
||||
cursor_path_add = noone;
|
||||
addon_icon = noone;
|
||||
inspector_text_halign = noone;
|
||||
anchor_scale_hori = noone;
|
||||
noti_icon_file_save = noone;
|
||||
minus_20 = noone;
|
||||
node_junctions_outline = noone;
|
||||
color_wheel = noone;
|
||||
group_s = noone;
|
||||
add = noone;
|
||||
panel_animation = noone;
|
||||
code_show_line = noone;
|
||||
canvas_tools_rect_fill = noone;
|
||||
path_tools_add = noone;
|
||||
node_rotator_knob = noone;
|
||||
discord = noone;
|
||||
action_history = noone;
|
||||
onion_skin = noone;
|
||||
timeline_onion_skin = noone;
|
||||
animate_onion_skin = noone;
|
||||
anchor_rotate = noone;
|
||||
button_left = noone;
|
||||
obj_distribute_v = noone;
|
||||
node_goto = noone;
|
||||
star = noone;
|
||||
bone_tool_scale = noone;
|
||||
node_junctions_single_hover = noone;
|
||||
node_note_selecting = noone;
|
||||
obj_angle = noone;
|
||||
node_use_global = noone;
|
||||
panel_inspector = noone;
|
||||
gradient_mask = noone;
|
||||
steam_creator = noone;
|
||||
animation_stretch = noone;
|
||||
ui_panel_fg = noone;
|
||||
toolbar = noone;
|
||||
icon_visibility = noone;
|
||||
node_use_project = noone;
|
||||
ac_constant = noone;
|
||||
redo = noone;
|
||||
inspector_surface_valign = noone;
|
||||
textbox_header = noone;
|
||||
obj_direction = noone;
|
||||
anchor_arrow = noone;
|
||||
rigidSim = noone;
|
||||
button = noone;
|
||||
icon_64 = noone;
|
||||
node_pin_bg = noone;
|
||||
button_hide = noone;
|
||||
window_maximize = noone;
|
||||
animation_timing = noone;
|
||||
new_file = noone;
|
||||
play_action = noone;
|
||||
canvas_tools_selection_rectangle = noone;
|
||||
minus = noone;
|
||||
splice_draw = noone;
|
||||
panel_preview = noone;
|
||||
tools_3d_rotate = noone;
|
||||
toolbar_shadow = noone;
|
||||
noti_icon_tick = noone;
|
||||
inspector_area_type = noone;
|
||||
explorer = noone;
|
||||
noti_icon_log = noone;
|
||||
prop_on_end = noone;
|
||||
export_package = noone;
|
||||
icon_split_view = noone;
|
||||
grad_blend = noone;
|
||||
node_bg = noone;
|
||||
strand_grab = noone;
|
||||
canvas_tools_ellip_fill = noone;
|
||||
vfx = noone;
|
||||
mesh_tool_edit = noone;
|
||||
ui_panel_bg = noone;
|
||||
bone = noone;
|
||||
node_trigger = noone;
|
||||
timeline_ease = noone;
|
||||
cache_group = noone;
|
||||
button = noone;
|
||||
prop_anchor = noone;
|
||||
chat = noone;
|
||||
wiki = noone;
|
||||
patreon = noone;
|
||||
dialog_bg = noone;
|
||||
color_picker_box = noone;
|
||||
object_valign = noone;
|
||||
addon_setting = noone;
|
||||
sequence_control = noone;
|
||||
node_junctions_array_hover = noone;
|
||||
text = noone;
|
||||
info = noone;
|
||||
node_checkbox = noone;
|
||||
splash_thumbnail = noone;
|
||||
search = noone;
|
||||
icon_active_split = noone;
|
||||
timeline_node = noone;
|
||||
textbox_code = noone;
|
||||
file = noone;
|
||||
undo = noone;
|
||||
gear = noone;
|
||||
bone_tool_IK = noone;
|
||||
rotator_bg = noone;
|
||||
cursor_path_remove = noone;
|
||||
lock = noone;
|
||||
icon_24 = noone;
|
||||
node_note_pin = noone;
|
||||
minus_16 = noone;
|
||||
window_exit = noone;
|
||||
text_popup = noone;
|
||||
animation_setting = noone;
|
||||
folder = noone;
|
||||
button_hide_circle_28 = noone;
|
||||
feedback = noone;
|
||||
tab_exit = noone;
|
||||
timeline_graph = noone;
|
||||
canvas_tools_pencil = noone;
|
||||
path_tools_draw = noone;
|
||||
refresh_16 = noone;
|
||||
node_slider = noone;
|
||||
checkbox = noone;
|
||||
menu_button = noone;
|
||||
icon_save_all = noone;
|
||||
button_hide_middle = noone;
|
||||
icon_minimap = noone;
|
||||
noti_icon_console = noone;
|
||||
textbox = noone;
|
||||
fluid_sim = noone;
|
||||
ui_panel_tab = noone;
|
||||
button_path_icon = noone;
|
||||
strand_stretch = noone;
|
||||
cursor_select = noone;
|
||||
node_glow = noone;
|
||||
control_pin = noone;
|
||||
rotator_knob = noone;
|
||||
node_junction_name_bg = noone;
|
||||
play_sound = noone;
|
||||
view_group = noone;
|
||||
copy = noone;
|
||||
node_use_expression = noone;
|
||||
ui_selection = noone;
|
||||
color_picker_sample = noone;
|
||||
ac_node = noone;
|
||||
close_16 = noone;
|
||||
anchor_bone_stick = noone;
|
||||
cross = noone;
|
||||
checkbox_on_start = noone;
|
||||
node_new_badge = noone;
|
||||
node_junction_inspector = noone;
|
||||
unit_angle = noone;
|
||||
icon_array_processor = noone;
|
||||
icon_preview_export = noone;
|
||||
play_all = noone;
|
||||
timeline_folder = noone;
|
||||
bone_tool_remove = noone;
|
||||
strandSim = noone;
|
||||
cursor_path_anchor = noone;
|
||||
workshop_project = noone;
|
||||
explorer = noone;
|
||||
inspector_text_valign = noone;
|
||||
timeline_dopesheet_bg = noone;
|
||||
node_dropper = noone;
|
||||
icon_grid = noone;
|
||||
node_note_title = noone;
|
||||
widget_selecting = noone;
|
||||
hamburger = noone;
|
||||
menu_bg = noone;
|
||||
node_coor_pin = noone;
|
||||
code_show_auto = noone;
|
||||
canvas_tools_rect = noone;
|
||||
hamburger_s = noone;
|
||||
path_tools_circle = noone;
|
||||
node_bg_name = noone;
|
||||
workshop_upload = noone;
|
||||
node_websocket_send = noone;
|
||||
heart = noone;
|
||||
textbox_number_slider = noone;
|
||||
|
@ -195,156 +103,270 @@ function Theme() constructor {
|
|||
preview_light = noone;
|
||||
button_color_overlay = noone;
|
||||
button_path_not_found_icon = noone;
|
||||
anchor_scale = noone;
|
||||
button_right = noone;
|
||||
timeline_keyframe_selecting = noone;
|
||||
crop_tool = noone;
|
||||
view_mode = noone;
|
||||
strand_push = noone;
|
||||
icon_delete = noone;
|
||||
control_add = noone;
|
||||
slider = noone;
|
||||
bone_tool_move = noone;
|
||||
node_frame_bg = noone;
|
||||
paste = noone;
|
||||
icon_toggle = noone;
|
||||
text_bullet = noone;
|
||||
ui_panel_active = noone;
|
||||
visible = noone;
|
||||
progress_bar = noone;
|
||||
loading = noone;
|
||||
fill = noone;
|
||||
preview_crosshair = noone;
|
||||
inspector_view = noone;
|
||||
node_draw_area = noone;
|
||||
window_fullscreen = noone;
|
||||
icon_center_canvas = noone;
|
||||
value_link = noone;
|
||||
checkbox = noone;
|
||||
bone_tool_add = noone;
|
||||
workshop_update = noone;
|
||||
tools_3d_transform = noone;
|
||||
ui_label_bg = noone;
|
||||
noti_icon_tick = noone;
|
||||
inspector_padding = noone;
|
||||
node_name_type = noone;
|
||||
noti_icon_file_load = noone;
|
||||
add_20 = noone;
|
||||
icon_reset_when_preview = noone;
|
||||
folder_16 = noone;
|
||||
node_junctions_outline_hover = noone;
|
||||
graph = noone;
|
||||
inspector_corner = noone;
|
||||
node_slider = noone;
|
||||
text = noone;
|
||||
new_line_shift = noone;
|
||||
canvas_tools_ellip = noone;
|
||||
cache = noone;
|
||||
mesh_tool_delete = noone;
|
||||
strandSim = noone;
|
||||
save = noone;
|
||||
node_rotator_bg = noone;
|
||||
keyframe_override = noone;
|
||||
arrow_back_32 = noone;
|
||||
path_tools_anchor = noone;
|
||||
itch = noone;
|
||||
prop_keyframe = noone;
|
||||
shadow_drop_down_24 = noone;
|
||||
unit_angle = noone;
|
||||
node_coor_pin = noone;
|
||||
ac_function = noone;
|
||||
color_picker_dropper = noone;
|
||||
obj_distribute_h = noone;
|
||||
node_junctions_single = noone;
|
||||
node_note_bg = noone;
|
||||
anchor = noone;
|
||||
color_wheel = noone;
|
||||
node_create = noone;
|
||||
sort = noone;
|
||||
arrow = noone;
|
||||
unit_audio = noone;
|
||||
inspector_surface_halign = noone;
|
||||
button_lime = noone;
|
||||
anchor_solid_hori = noone;
|
||||
preset = noone;
|
||||
icon_32 = noone;
|
||||
window_minimize = noone;
|
||||
d3d_preview_settings = noone;
|
||||
unit_ref = noone;
|
||||
refresh = noone;
|
||||
canvas_tools_selection_circle = noone;
|
||||
path_tools_transform = noone;
|
||||
timeline_keyframe = noone;
|
||||
tools_3d_scale = noone;
|
||||
key_display = noone;
|
||||
path_tools_anchor = noone;
|
||||
display_palette = noone;
|
||||
obj_hemicircle = noone;
|
||||
inspector_area = noone;
|
||||
button_hide_left = noone;
|
||||
noti_icon_error = noone;
|
||||
noti_icon_console_failed = noone;
|
||||
ui_panel_bg_cover = noone;
|
||||
icon_tile_view = noone;
|
||||
view_mode = noone;
|
||||
node_junctions_bg = noone;
|
||||
color_picker_dropper = noone;
|
||||
folder_add = noone;
|
||||
tool_side = noone;
|
||||
strand_cut = noone;
|
||||
canvas_tools_bucket = noone;
|
||||
project = noone;
|
||||
control_unpin = noone;
|
||||
rotator_bg = noone;
|
||||
node_bg_pill = noone;
|
||||
smoke_sim = noone;
|
||||
node_processor = noone;
|
||||
object_halign = noone;
|
||||
trophy = noone;
|
||||
youtube = noone;
|
||||
dialog_active = noone;
|
||||
circle = noone;
|
||||
bone = noone;
|
||||
timeline_elastic = noone;
|
||||
button_hide_fill = noone;
|
||||
folder_content = noone;
|
||||
node_deprecated_badge = noone;
|
||||
node_active = noone;
|
||||
node_junctions_array = noone;
|
||||
node_note_resize = noone;
|
||||
minus = noone;
|
||||
node_move = noone;
|
||||
workshop_collection = noone;
|
||||
reverse = noone;
|
||||
animate_node_go = noone;
|
||||
menu_button_mask = noone;
|
||||
obj_draw_line = noone;
|
||||
bone_tool_transform = noone;
|
||||
value_use_surface = noone;
|
||||
cursor_path_move = noone;
|
||||
prop_gradient = noone;
|
||||
add_16 = noone;
|
||||
icon_visibility = noone;
|
||||
save_auto = noone;
|
||||
d3d_snap_settings = noone;
|
||||
scroll_box_arrow = noone;
|
||||
rotator_random_mode = noone;
|
||||
workshop_download = noone;
|
||||
group = noone;
|
||||
anchor_selector = noone;
|
||||
node_active = noone;
|
||||
code_syntax_highlight = noone;
|
||||
inspector_channel = noone;
|
||||
canvas_tools_eraser = noone;
|
||||
node_state = noone;
|
||||
path_tools_rectangle = noone;
|
||||
rotator_knob = noone;
|
||||
steam = noone;
|
||||
menu_separator = noone;
|
||||
timeline_color = noone;
|
||||
anchor_rotate = noone;
|
||||
websocket = noone;
|
||||
button_hide_right = noone;
|
||||
anchor_scale = noone;
|
||||
node_output_visible = noone;
|
||||
node_checkbox = noone;
|
||||
reset_16 = noone;
|
||||
icon_grid_setting = noone;
|
||||
filter_type = noone;
|
||||
group = noone;
|
||||
node_new_badge = noone;
|
||||
node_deprecated_badge = noone;
|
||||
inspector_channel = noone;
|
||||
slider = noone;
|
||||
star = noone;
|
||||
vct = noone;
|
||||
refresh_20 = noone;
|
||||
path_open_20 = noone;
|
||||
icon_delete = noone;
|
||||
junc_visible = noone;
|
||||
cursor_select = noone;
|
||||
add = noone;
|
||||
hamburger_s = noone;
|
||||
panel_preview = noone;
|
||||
folder = noone;
|
||||
anchor = noone;
|
||||
icon_curve_connection = noone;
|
||||
palette_selecting = noone;
|
||||
cross = noone;
|
||||
palette_mask = noone;
|
||||
node_goto = noone;
|
||||
anchor_scale_hori = noone;
|
||||
ui_panel_bg = noone;
|
||||
anchor_selector = noone;
|
||||
obj_angle = noone;
|
||||
cache_group = noone;
|
||||
node_bg_name = noone;
|
||||
onion_skin = noone;
|
||||
icon_grid_setting = noone;
|
||||
icon_tile_view = noone;
|
||||
icon_split_view = noone;
|
||||
ui_panel_tab = noone;
|
||||
icon_reset_when_preview = noone;
|
||||
d3d_snap_settings = noone;
|
||||
tab_exit = noone;
|
||||
d3d_preview_settings = noone;
|
||||
icon_center_canvas = noone;
|
||||
icon_preview_export = noone;
|
||||
ui_panel_fg = noone;
|
||||
ui_panel_active = noone;
|
||||
node_glow = noone;
|
||||
preview_hide = noone;
|
||||
node_state = noone;
|
||||
undo = noone;
|
||||
redo = noone;
|
||||
timeline_dopesheet_bg = noone;
|
||||
add_16 = noone;
|
||||
minus_16 = noone;
|
||||
curve_presets = noone;
|
||||
close_16 = noone;
|
||||
checkbox_active = noone;
|
||||
node_websocket_receive = noone;
|
||||
tools_canvas_channel = noone;
|
||||
canvas_tools_bucket = noone;
|
||||
canvas_tools_ellip_fill = noone;
|
||||
canvas_tools_ellip = noone;
|
||||
canvas_tools_rect_fill = noone;
|
||||
canvas_tools_rect = noone;
|
||||
canvas_tools_eraser = noone;
|
||||
canvas_tools_pencil = noone;
|
||||
icon_24 = noone;
|
||||
canvas_tools_selection_circle = noone;
|
||||
canvas_tools_selection_rectangle = noone;
|
||||
node_bg = noone;
|
||||
timeline_folder = noone;
|
||||
animate_node_go = noone;
|
||||
timeline_node = noone;
|
||||
arrow = noone;
|
||||
folder_16 = noone;
|
||||
noti_icon_warning = noone;
|
||||
loop = noone;
|
||||
circle_16 = noone;
|
||||
text_slider = noone;
|
||||
tool_side = noone;
|
||||
button_path_icon = noone;
|
||||
menu_bg = noone;
|
||||
toolbar = noone;
|
||||
pin = noone;
|
||||
icon_active_split = noone;
|
||||
copy = noone;
|
||||
node_pin_bg = noone;
|
||||
node_pin_bg_active = noone;
|
||||
loop_24 = noone;
|
||||
feedback_24 = noone;
|
||||
button_left = noone;
|
||||
button_right = noone;
|
||||
button_middle = noone;
|
||||
obj_direction = noone;
|
||||
tunnel = noone;
|
||||
node_processor = noone;
|
||||
keyframe_override = noone;
|
||||
frame_range = noone;
|
||||
unit_audio = noone;
|
||||
loading = noone;
|
||||
inspector_surface_halign = noone;
|
||||
inspector_surface_valign = noone;
|
||||
panel_animation = noone;
|
||||
project_fix_palette = noone;
|
||||
palette_separator = noone;
|
||||
refresh = noone;
|
||||
file = noone;
|
||||
crop_tool = noone;
|
||||
icon_cmd_enter = noone;
|
||||
node_name_type = noone;
|
||||
cache = noone;
|
||||
button_hide_fill = noone;
|
||||
duplicate = noone;
|
||||
textbox_code = noone;
|
||||
object_halign = noone;
|
||||
timeline_ease = noone;
|
||||
accept = noone;
|
||||
gear = noone;
|
||||
ui_scrollbar = noone;
|
||||
ui_selection_range_sim_hori = noone;
|
||||
ui_selection_range_hori = noone;
|
||||
timeline_keyframe = noone;
|
||||
inspector_checkbox = noone;
|
||||
workshop_collection = noone;
|
||||
prop_selecting = noone;
|
||||
vfx = noone;
|
||||
timeline_key_ease = noone;
|
||||
timeline_key_empty = noone;
|
||||
timeline_keyframe_selecting = noone;
|
||||
value_link = noone;
|
||||
addon_icon = noone;
|
||||
timeline_graph = noone;
|
||||
panel_inspector = noone;
|
||||
checkbox_on_start = noone;
|
||||
animate_prop_go = noone;
|
||||
folder_content = noone;
|
||||
addon_setting = noone;
|
||||
smoke_sim = noone;
|
||||
button_hide_right = noone;
|
||||
button_hide_middle = noone;
|
||||
button_hide_left = noone;
|
||||
paste = noone;
|
||||
ui_selection = noone;
|
||||
color_picker_box = noone;
|
||||
timeline_onion_skin = noone;
|
||||
timeline_color = noone;
|
||||
project = noone;
|
||||
lock = noone;
|
||||
animation_stretch = noone;
|
||||
preset = noone;
|
||||
ui_panel_bg_cover = noone;
|
||||
path_open = noone;
|
||||
inspector_view = noone;
|
||||
tools_3d_scale = noone;
|
||||
tools_3d_rotate = noone;
|
||||
sequence_control = noone;
|
||||
animation_setting = noone;
|
||||
tools_3d_transform = noone;
|
||||
animation_timing = noone;
|
||||
ac_constant = noone;
|
||||
circle = noone;
|
||||
steam = noone;
|
||||
ac_node = noone;
|
||||
save = noone;
|
||||
workshop_upload = noone;
|
||||
ac_function = noone;
|
||||
workshop_update = noone;
|
||||
loading_s = noone;
|
||||
fill = noone;
|
||||
rigidSim = noone;
|
||||
animate_clock = noone;
|
||||
node_use_expression = noone;
|
||||
prop_keyframe = noone;
|
||||
prop_on_end = noone;
|
||||
refresh_16 = noone;
|
||||
node_dropper = noone;
|
||||
text_popup = noone;
|
||||
menu_button_mask = noone;
|
||||
textbox = noone;
|
||||
widget_selecting = noone;
|
||||
scroll_box_arrow = noone;
|
||||
tools_3d_transform_object = noone;
|
||||
strand_push = noone;
|
||||
strand_comb = noone;
|
||||
}
|
||||
strand_stretch = noone;
|
||||
strand_cut = noone;
|
||||
strand_grab = noone;
|
||||
info = noone;
|
||||
fluid_sim = noone;
|
||||
} #endregion
|
||||
|
||||
function ThemeColor() constructor {
|
||||
function ThemeColor() constructor { #region
|
||||
bg = noone;
|
||||
|
||||
_main_accent = noone;
|
||||
|
@ -477,9 +499,9 @@ function ThemeColor() constructor {
|
|||
histogram = noone;
|
||||
heat = noone;
|
||||
speed = noone;
|
||||
}
|
||||
} #endregion
|
||||
|
||||
function ThemeValue() constructor {
|
||||
function ThemeValue() constructor { #region
|
||||
highlight_corner_radius = noone;
|
||||
selection_corner_radius = noone;
|
||||
|
||||
|
@ -492,4 +514,32 @@ function ThemeValue() constructor {
|
|||
minimap_corner_radius = noone;
|
||||
slider_type = noone;
|
||||
font_aa = noone;
|
||||
}
|
||||
} #endregion
|
||||
|
||||
function ThemeColorDef() constructor { #region
|
||||
main_dkblack = #191925;
|
||||
main_mdblack = #1e1e2c;
|
||||
main_black = #272736;
|
||||
main_dkgrey = #3b3b4e;
|
||||
main_dark = #4da6ff;
|
||||
main_grey = #6d6d81;
|
||||
main_ltgrey = #7e7e8f;
|
||||
main_white = #d6d6e8;
|
||||
main_bg = #1c1c23;
|
||||
|
||||
blue = #27aae1;
|
||||
cyan = #88ffe9;
|
||||
yellow = #ffe478;
|
||||
orange = #ff9166;
|
||||
red = #eb004b;
|
||||
pink = #eb00b7;
|
||||
purple = #9200d4;
|
||||
lime = #8fde5d;
|
||||
pgreen = #50eb17;
|
||||
pblue = #3d43f5;
|
||||
|
||||
black = #000000;
|
||||
dkgrey = #202020;
|
||||
smoke = #6d6e71;
|
||||
white = #ffffff;
|
||||
} #endregion
|
|
@ -18,6 +18,16 @@ uniform sampler2D gradient_shiftSurf;
|
|||
uniform vec4 gradient_map_range;
|
||||
uniform sampler2D gradient_map;
|
||||
|
||||
vec3 linearToGamma(vec3 c) { return pow(c, vec3( 2.2)); }
|
||||
vec3 gammaToLinear(vec3 c) { return pow(c, vec3(1. / 2.2)); }
|
||||
|
||||
vec3 rgbMix(vec3 c1, vec3 c2, float t) { #region
|
||||
vec3 k1 = linearToGamma(c1);
|
||||
vec3 k2 = linearToGamma(c2);
|
||||
|
||||
return gammaToLinear(mix(k1, k2, t));
|
||||
} #endregion
|
||||
|
||||
vec3 rgb2oklab(vec3 c) { #region
|
||||
const mat3 kCONEtoLMS = mat3(
|
||||
0.4121656120, 0.2118591070, 0.0883097947,
|
||||
|
@ -100,16 +110,24 @@ uniform sampler2D gradient_shiftSurf;
|
|||
col = gradient_color[i];
|
||||
else {
|
||||
float t = (prog - gradient_time[i - 1]) / (gradient_time[i] - gradient_time[i - 1]);
|
||||
vec3 c0 = gradient_color[i - 1].rgb;
|
||||
vec3 c1 = gradient_color[i].rgb;
|
||||
float a = mix(gradient_color[i - 1].a, gradient_color[i].a, t);
|
||||
|
||||
if(gradient_blend == 0)
|
||||
col = mix(gradient_color[i - 1], gradient_color[i], t);
|
||||
col = vec4(mix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 1)
|
||||
col = gradient_color[i - 1];
|
||||
|
||||
else if(gradient_blend == 2)
|
||||
col = vec4(hsvMix(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(hsvMix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 3)
|
||||
col = vec4(oklabMax(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(oklabMax(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 4)
|
||||
col = vec4(rgbMix(c0, c1, t), a);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -14,6 +14,16 @@ uniform vec2 dimension;
|
|||
uniform vec4 gradient_map_range;
|
||||
uniform sampler2D gradient_map;
|
||||
|
||||
vec3 linearToGamma(vec3 c) { return pow(c, vec3( 2.2)); }
|
||||
vec3 gammaToLinear(vec3 c) { return pow(c, vec3(1. / 2.2)); }
|
||||
|
||||
vec3 rgbMix(vec3 c1, vec3 c2, float t) { #region
|
||||
vec3 k1 = linearToGamma(c1);
|
||||
vec3 k2 = linearToGamma(c2);
|
||||
|
||||
return gammaToLinear(mix(k1, k2, t));
|
||||
} #endregion
|
||||
|
||||
vec3 rgb2oklab(vec3 c) { #region
|
||||
const mat3 kCONEtoLMS = mat3(
|
||||
0.4121656120, 0.2118591070, 0.0883097947,
|
||||
|
@ -96,16 +106,24 @@ uniform vec2 dimension;
|
|||
col = gradient_color[i];
|
||||
else {
|
||||
float t = (prog - gradient_time[i - 1]) / (gradient_time[i] - gradient_time[i - 1]);
|
||||
vec3 c0 = gradient_color[i - 1].rgb;
|
||||
vec3 c1 = gradient_color[i].rgb;
|
||||
float a = mix(gradient_color[i - 1].a, gradient_color[i].a, t);
|
||||
|
||||
if(gradient_blend == 0)
|
||||
col = mix(gradient_color[i - 1], gradient_color[i], t);
|
||||
col = vec4(mix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 1)
|
||||
col = gradient_color[i - 1];
|
||||
|
||||
else if(gradient_blend == 2)
|
||||
col = vec4(hsvMix(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(hsvMix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 3)
|
||||
col = vec4(oklabMax(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(oklabMax(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 4)
|
||||
col = vec4(rgbMix(c0, c1, t), a);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -40,6 +40,16 @@ uniform int uniAsp;
|
|||
uniform vec4 gradient_map_range;
|
||||
uniform sampler2D gradient_map;
|
||||
|
||||
vec3 linearToGamma(vec3 c) { return pow(c, vec3( 2.2)); }
|
||||
vec3 gammaToLinear(vec3 c) { return pow(c, vec3(1. / 2.2)); }
|
||||
|
||||
vec3 rgbMix(vec3 c1, vec3 c2, float t) { #region
|
||||
vec3 k1 = linearToGamma(c1);
|
||||
vec3 k2 = linearToGamma(c2);
|
||||
|
||||
return gammaToLinear(mix(k1, k2, t));
|
||||
} #endregion
|
||||
|
||||
vec3 rgb2oklab(vec3 c) { #region
|
||||
const mat3 kCONEtoLMS = mat3(
|
||||
0.4121656120, 0.2118591070, 0.0883097947,
|
||||
|
@ -122,16 +132,24 @@ uniform int uniAsp;
|
|||
col = gradient_color[i];
|
||||
else {
|
||||
float t = (prog - gradient_time[i - 1]) / (gradient_time[i] - gradient_time[i - 1]);
|
||||
vec3 c0 = gradient_color[i - 1].rgb;
|
||||
vec3 c1 = gradient_color[i].rgb;
|
||||
float a = mix(gradient_color[i - 1].a, gradient_color[i].a, t);
|
||||
|
||||
if(gradient_blend == 0)
|
||||
col = mix(gradient_color[i - 1], gradient_color[i], t);
|
||||
col = vec4(mix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 1)
|
||||
col = gradient_color[i - 1];
|
||||
|
||||
else if(gradient_blend == 2)
|
||||
col = vec4(hsvMix(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(hsvMix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 3)
|
||||
col = vec4(oklabMax(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(oklabMax(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 4)
|
||||
col = vec4(rgbMix(c0, c1, t), a);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -11,6 +11,16 @@ varying vec4 v_vColour;
|
|||
uniform float gradient_time[GRADIENT_LIMIT];
|
||||
uniform int gradient_keys;
|
||||
|
||||
vec3 linearToGamma(vec3 c) { return pow(c, vec3( 2.2)); }
|
||||
vec3 gammaToLinear(vec3 c) { return pow(c, vec3(1. / 2.2)); }
|
||||
|
||||
vec3 rgbMix(vec3 c1, vec3 c2, float t) { #region
|
||||
vec3 k1 = linearToGamma(c1);
|
||||
vec3 k2 = linearToGamma(c2);
|
||||
|
||||
return gammaToLinear(mix(k1, k2, t));
|
||||
} #endregion
|
||||
|
||||
vec3 rgb2oklab(vec3 c) { #region
|
||||
const mat3 kCONEtoLMS = mat3(
|
||||
0.4121656120, 0.2118591070, 0.0883097947,
|
||||
|
@ -88,16 +98,24 @@ varying vec4 v_vColour;
|
|||
col = gradient_color[i];
|
||||
else {
|
||||
float t = (prog - gradient_time[i - 1]) / (gradient_time[i] - gradient_time[i - 1]);
|
||||
vec3 c0 = gradient_color[i - 1].rgb;
|
||||
vec3 c1 = gradient_color[i].rgb;
|
||||
float a = mix(gradient_color[i - 1].a, gradient_color[i].a, t);
|
||||
|
||||
if(gradient_blend == 0)
|
||||
col = mix(gradient_color[i - 1], gradient_color[i], t);
|
||||
col = vec4(mix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 1)
|
||||
col = gradient_color[i - 1];
|
||||
|
||||
else if(gradient_blend == 2)
|
||||
col = vec4(hsvMix(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(hsvMix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 3)
|
||||
col = vec4(oklabMax(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(oklabMax(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 4)
|
||||
col = vec4(rgbMix(c0, c1, t), a);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -11,6 +11,16 @@ varying vec4 v_vColour;
|
|||
uniform float gradient_time[GRADIENT_LIMIT];
|
||||
uniform int gradient_keys;
|
||||
|
||||
vec3 linearToGamma(vec3 c) { return pow(c, vec3( 2.2)); }
|
||||
vec3 gammaToLinear(vec3 c) { return pow(c, vec3(1. / 2.2)); }
|
||||
|
||||
vec3 rgbMix(vec3 c1, vec3 c2, float t) { #region
|
||||
vec3 k1 = linearToGamma(c1);
|
||||
vec3 k2 = linearToGamma(c2);
|
||||
|
||||
return gammaToLinear(mix(k1, k2, t));
|
||||
} #endregion
|
||||
|
||||
vec3 rgb2oklab(vec3 c) { #region
|
||||
const mat3 kCONEtoLMS = mat3(
|
||||
0.4121656120, 0.2118591070, 0.0883097947,
|
||||
|
@ -88,16 +98,24 @@ varying vec4 v_vColour;
|
|||
col = gradient_color[i];
|
||||
else {
|
||||
float t = (prog - gradient_time[i - 1]) / (gradient_time[i] - gradient_time[i - 1]);
|
||||
vec3 c0 = gradient_color[i - 1].rgb;
|
||||
vec3 c1 = gradient_color[i].rgb;
|
||||
float a = mix(gradient_color[i - 1].a, gradient_color[i].a, t);
|
||||
|
||||
if(gradient_blend == 0)
|
||||
col = mix(gradient_color[i - 1], gradient_color[i], t);
|
||||
col = vec4(mix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 1)
|
||||
col = gradient_color[i - 1];
|
||||
|
||||
else if(gradient_blend == 2)
|
||||
col = vec4(hsvMix(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(hsvMix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 3)
|
||||
col = vec4(oklabMax(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(oklabMax(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 4)
|
||||
col = vec4(rgbMix(c0, c1, t), a);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -46,6 +46,16 @@ float random (in vec2 st) { return fract(sin(dot(st.xy + vec2(85.456034, 64.5406
|
|||
uniform vec4 gradient_map_range;
|
||||
uniform sampler2D gradient_map;
|
||||
|
||||
vec3 linearToGamma(vec3 c) { return pow(c, vec3( 2.2)); }
|
||||
vec3 gammaToLinear(vec3 c) { return pow(c, vec3(1. / 2.2)); }
|
||||
|
||||
vec3 rgbMix(vec3 c1, vec3 c2, float t) { #region
|
||||
vec3 k1 = linearToGamma(c1);
|
||||
vec3 k2 = linearToGamma(c2);
|
||||
|
||||
return gammaToLinear(mix(k1, k2, t));
|
||||
} #endregion
|
||||
|
||||
vec3 rgb2oklab(vec3 c) { #region
|
||||
const mat3 kCONEtoLMS = mat3(
|
||||
0.4121656120, 0.2118591070, 0.0883097947,
|
||||
|
@ -128,16 +138,24 @@ float random (in vec2 st) { return fract(sin(dot(st.xy + vec2(85.456034, 64.5406
|
|||
col = gradient_color[i];
|
||||
else {
|
||||
float t = (prog - gradient_time[i - 1]) / (gradient_time[i] - gradient_time[i - 1]);
|
||||
vec3 c0 = gradient_color[i - 1].rgb;
|
||||
vec3 c1 = gradient_color[i].rgb;
|
||||
float a = mix(gradient_color[i - 1].a, gradient_color[i].a, t);
|
||||
|
||||
if(gradient_blend == 0)
|
||||
col = mix(gradient_color[i - 1], gradient_color[i], t);
|
||||
col = vec4(mix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 1)
|
||||
col = gradient_color[i - 1];
|
||||
|
||||
else if(gradient_blend == 2)
|
||||
col = vec4(hsvMix(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(hsvMix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 3)
|
||||
col = vec4(oklabMax(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(oklabMax(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 4)
|
||||
col = vec4(rgbMix(c0, c1, t), a);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -44,6 +44,16 @@ float random (in vec2 st) { return fract(sin(dot(st.xy + vec2(85.456034, 64.5406
|
|||
uniform vec4 gradient_map_range;
|
||||
uniform sampler2D gradient_map;
|
||||
|
||||
vec3 linearToGamma(vec3 c) { return pow(c, vec3( 2.2)); }
|
||||
vec3 gammaToLinear(vec3 c) { return pow(c, vec3(1. / 2.2)); }
|
||||
|
||||
vec3 rgbMix(vec3 c1, vec3 c2, float t) { #region
|
||||
vec3 k1 = linearToGamma(c1);
|
||||
vec3 k2 = linearToGamma(c2);
|
||||
|
||||
return gammaToLinear(mix(k1, k2, t));
|
||||
} #endregion
|
||||
|
||||
vec3 rgb2oklab(vec3 c) { #region
|
||||
const mat3 kCONEtoLMS = mat3(
|
||||
0.4121656120, 0.2118591070, 0.0883097947,
|
||||
|
@ -126,16 +136,24 @@ float random (in vec2 st) { return fract(sin(dot(st.xy + vec2(85.456034, 64.5406
|
|||
col = gradient_color[i];
|
||||
else {
|
||||
float t = (prog - gradient_time[i - 1]) / (gradient_time[i] - gradient_time[i - 1]);
|
||||
vec3 c0 = gradient_color[i - 1].rgb;
|
||||
vec3 c1 = gradient_color[i].rgb;
|
||||
float a = mix(gradient_color[i - 1].a, gradient_color[i].a, t);
|
||||
|
||||
if(gradient_blend == 0)
|
||||
col = mix(gradient_color[i - 1], gradient_color[i], t);
|
||||
col = vec4(mix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 1)
|
||||
col = gradient_color[i - 1];
|
||||
|
||||
else if(gradient_blend == 2)
|
||||
col = vec4(hsvMix(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(hsvMix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 3)
|
||||
col = vec4(oklabMax(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(oklabMax(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 4)
|
||||
col = vec4(rgbMix(c0, c1, t), a);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -43,6 +43,16 @@ float random (in vec2 st) { return fract(sin(dot(st.xy + vec2(85.456034, 64.5406
|
|||
uniform vec4 gradient_map_range;
|
||||
uniform sampler2D gradient_map;
|
||||
|
||||
vec3 linearToGamma(vec3 c) { return pow(c, vec3( 2.2)); }
|
||||
vec3 gammaToLinear(vec3 c) { return pow(c, vec3(1. / 2.2)); }
|
||||
|
||||
vec3 rgbMix(vec3 c1, vec3 c2, float t) { #region
|
||||
vec3 k1 = linearToGamma(c1);
|
||||
vec3 k2 = linearToGamma(c2);
|
||||
|
||||
return gammaToLinear(mix(k1, k2, t));
|
||||
} #endregion
|
||||
|
||||
vec3 rgb2oklab(vec3 c) { #region
|
||||
const mat3 kCONEtoLMS = mat3(
|
||||
0.4121656120, 0.2118591070, 0.0883097947,
|
||||
|
@ -125,16 +135,24 @@ float random (in vec2 st) { return fract(sin(dot(st.xy + vec2(85.456034, 64.5406
|
|||
col = gradient_color[i];
|
||||
else {
|
||||
float t = (prog - gradient_time[i - 1]) / (gradient_time[i] - gradient_time[i - 1]);
|
||||
vec3 c0 = gradient_color[i - 1].rgb;
|
||||
vec3 c1 = gradient_color[i].rgb;
|
||||
float a = mix(gradient_color[i - 1].a, gradient_color[i].a, t);
|
||||
|
||||
if(gradient_blend == 0)
|
||||
col = mix(gradient_color[i - 1], gradient_color[i], t);
|
||||
col = vec4(mix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 1)
|
||||
col = gradient_color[i - 1];
|
||||
|
||||
else if(gradient_blend == 2)
|
||||
col = vec4(hsvMix(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(hsvMix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 3)
|
||||
col = vec4(oklabMax(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(oklabMax(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 4)
|
||||
col = vec4(rgbMix(c0, c1, t), a);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -45,6 +45,16 @@ float random (in vec2 st) { return fract(sin(dot(st.xy + vec2(85.456034, 64.5406
|
|||
uniform vec4 gradient_map_range;
|
||||
uniform sampler2D gradient_map;
|
||||
|
||||
vec3 linearToGamma(vec3 c) { return pow(c, vec3( 2.2)); }
|
||||
vec3 gammaToLinear(vec3 c) { return pow(c, vec3(1. / 2.2)); }
|
||||
|
||||
vec3 rgbMix(vec3 c1, vec3 c2, float t) { #region
|
||||
vec3 k1 = linearToGamma(c1);
|
||||
vec3 k2 = linearToGamma(c2);
|
||||
|
||||
return gammaToLinear(mix(k1, k2, t));
|
||||
} #endregion
|
||||
|
||||
vec3 rgb2oklab(vec3 c) { #region
|
||||
const mat3 kCONEtoLMS = mat3(
|
||||
0.4121656120, 0.2118591070, 0.0883097947,
|
||||
|
@ -127,16 +137,24 @@ float random (in vec2 st) { return fract(sin(dot(st.xy + vec2(85.456034, 64.5406
|
|||
col = gradient_color[i];
|
||||
else {
|
||||
float t = (prog - gradient_time[i - 1]) / (gradient_time[i] - gradient_time[i - 1]);
|
||||
vec3 c0 = gradient_color[i - 1].rgb;
|
||||
vec3 c1 = gradient_color[i].rgb;
|
||||
float a = mix(gradient_color[i - 1].a, gradient_color[i].a, t);
|
||||
|
||||
if(gradient_blend == 0)
|
||||
col = mix(gradient_color[i - 1], gradient_color[i], t);
|
||||
col = vec4(mix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 1)
|
||||
col = gradient_color[i - 1];
|
||||
|
||||
else if(gradient_blend == 2)
|
||||
col = vec4(hsvMix(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(hsvMix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 3)
|
||||
col = vec4(oklabMax(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(oklabMax(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 4)
|
||||
col = vec4(rgbMix(c0, c1, t), a);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -19,6 +19,16 @@ uniform float number[BATCH_SIZE];
|
|||
uniform vec4 gradient_map_range;
|
||||
uniform sampler2D gradient_map;
|
||||
|
||||
vec3 linearToGamma(vec3 c) { return pow(c, vec3( 2.2)); }
|
||||
vec3 gammaToLinear(vec3 c) { return pow(c, vec3(1. / 2.2)); }
|
||||
|
||||
vec3 rgbMix(vec3 c1, vec3 c2, float t) { #region
|
||||
vec3 k1 = linearToGamma(c1);
|
||||
vec3 k2 = linearToGamma(c2);
|
||||
|
||||
return gammaToLinear(mix(k1, k2, t));
|
||||
} #endregion
|
||||
|
||||
vec3 rgb2oklab(vec3 c) { #region
|
||||
const mat3 kCONEtoLMS = mat3(
|
||||
0.4121656120, 0.2118591070, 0.0883097947,
|
||||
|
@ -101,16 +111,24 @@ uniform float number[BATCH_SIZE];
|
|||
col = gradient_color[i];
|
||||
else {
|
||||
float t = (prog - gradient_time[i - 1]) / (gradient_time[i] - gradient_time[i - 1]);
|
||||
vec3 c0 = gradient_color[i - 1].rgb;
|
||||
vec3 c1 = gradient_color[i].rgb;
|
||||
float a = mix(gradient_color[i - 1].a, gradient_color[i].a, t);
|
||||
|
||||
if(gradient_blend == 0)
|
||||
col = mix(gradient_color[i - 1], gradient_color[i], t);
|
||||
col = vec4(mix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 1)
|
||||
col = gradient_color[i - 1];
|
||||
|
||||
else if(gradient_blend == 2)
|
||||
col = vec4(hsvMix(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(hsvMix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 3)
|
||||
col = vec4(oklabMax(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(oklabMax(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 4)
|
||||
col = vec4(rgbMix(c0, c1, t), a);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
26
shaders/sh_lovify/sh_lovify.fsh
Normal file
|
@ -0,0 +1,26 @@
|
|||
varying vec2 v_vTexcoord;
|
||||
varying vec4 v_vColour;
|
||||
|
||||
#define SRGB_TO_LINEAR(c) pow((c), vec3(2.2))
|
||||
#define LINEAR_TO_SRGB(c) pow((c), vec3(1.0 / 2.2))
|
||||
#define SRGB(r, g, b) SRGB_TO_LINEAR(vec3(r, g, b) / 255.0)
|
||||
|
||||
void main() {
|
||||
vec4 c = texture2D( gm_BaseTexture, v_vTexcoord );
|
||||
|
||||
vec3 COLOR0 = SRGB(252., 3., 111.);
|
||||
vec3 COLOR1 = SRGB(190., 3., 252.);
|
||||
|
||||
float t = length(v_vTexcoord) / sqrt(2.);
|
||||
t = smoothstep(0.0, 1.0, clamp(t, 0.0, 1.0));
|
||||
|
||||
vec3 color = mix(COLOR0, COLOR1, t);
|
||||
color = LINEAR_TO_SRGB(color);
|
||||
vec4 b = vec4(color, 1.);
|
||||
|
||||
float lum = dot(c.rgb, vec3(0.2126, 0.7152, 0.0722));
|
||||
vec4 blend = lum > 0.5? (1. - (1. - 2. * (b - 0.5)) * (1. - c)) : ((2. * b) * c);
|
||||
blend = 0.5 + (blend * 1.75 - 0.5) * 0.66;
|
||||
|
||||
gl_FragColor = blend;
|
||||
}
|
19
shaders/sh_lovify/sh_lovify.vsh
Normal file
|
@ -0,0 +1,19 @@
|
|||
//
|
||||
// Simple passthrough vertex shader
|
||||
//
|
||||
attribute vec3 in_Position; // (x,y,z)
|
||||
//attribute vec3 in_Normal; // (x,y,z) unused in this shader.
|
||||
attribute vec4 in_Colour; // (r,g,b,a)
|
||||
attribute vec2 in_TextureCoord; // (u,v)
|
||||
|
||||
varying vec2 v_vTexcoord;
|
||||
varying vec4 v_vColour;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 object_space_pos = vec4( in_Position.x, in_Position.y, in_Position.z, 1.0);
|
||||
gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * object_space_pos;
|
||||
|
||||
v_vColour = in_Colour;
|
||||
v_vTexcoord = in_TextureCoord;
|
||||
}
|
10
shaders/sh_lovify/sh_lovify.yy
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"resourceType": "GMShader",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "sh_lovify",
|
||||
"parent": {
|
||||
"name": "lovify",
|
||||
"path": "folders/nodes/data/misc/lovify.yy",
|
||||
},
|
||||
"type": 1,
|
||||
}
|
|
@ -105,6 +105,16 @@ float curveEval(in float _x) { #region
|
|||
uniform vec4 gradient_map_range;
|
||||
uniform sampler2D gradient_map;
|
||||
|
||||
vec3 linearToGamma(vec3 c) { return pow(c, vec3( 2.2)); }
|
||||
vec3 gammaToLinear(vec3 c) { return pow(c, vec3(1. / 2.2)); }
|
||||
|
||||
vec3 rgbMix(vec3 c1, vec3 c2, float t) { #region
|
||||
vec3 k1 = linearToGamma(c1);
|
||||
vec3 k2 = linearToGamma(c2);
|
||||
|
||||
return gammaToLinear(mix(k1, k2, t));
|
||||
} #endregion
|
||||
|
||||
vec3 rgb2oklab(vec3 c) { #region
|
||||
const mat3 kCONEtoLMS = mat3(
|
||||
0.4121656120, 0.2118591070, 0.0883097947,
|
||||
|
@ -187,16 +197,24 @@ float curveEval(in float _x) { #region
|
|||
col = gradient_color[i];
|
||||
else {
|
||||
float t = (prog - gradient_time[i - 1]) / (gradient_time[i] - gradient_time[i - 1]);
|
||||
vec3 c0 = gradient_color[i - 1].rgb;
|
||||
vec3 c1 = gradient_color[i].rgb;
|
||||
float a = mix(gradient_color[i - 1].a, gradient_color[i].a, t);
|
||||
|
||||
if(gradient_blend == 0)
|
||||
col = mix(gradient_color[i - 1], gradient_color[i], t);
|
||||
col = vec4(mix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 1)
|
||||
col = gradient_color[i - 1];
|
||||
|
||||
else if(gradient_blend == 2)
|
||||
col = vec4(hsvMix(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(hsvMix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 3)
|
||||
col = vec4(oklabMax(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(oklabMax(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 4)
|
||||
col = vec4(rgbMix(c0, c1, t), a);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -43,6 +43,16 @@ uniform int gradient_use;
|
|||
uniform vec4 gradient_map_range;
|
||||
uniform sampler2D gradient_map;
|
||||
|
||||
vec3 linearToGamma(vec3 c) { return pow(c, vec3( 2.2)); }
|
||||
vec3 gammaToLinear(vec3 c) { return pow(c, vec3(1. / 2.2)); }
|
||||
|
||||
vec3 rgbMix(vec3 c1, vec3 c2, float t) { #region
|
||||
vec3 k1 = linearToGamma(c1);
|
||||
vec3 k2 = linearToGamma(c2);
|
||||
|
||||
return gammaToLinear(mix(k1, k2, t));
|
||||
} #endregion
|
||||
|
||||
vec3 rgb2oklab(vec3 c) { #region
|
||||
const mat3 kCONEtoLMS = mat3(
|
||||
0.4121656120, 0.2118591070, 0.0883097947,
|
||||
|
@ -125,16 +135,24 @@ uniform int gradient_use;
|
|||
col = gradient_color[i];
|
||||
else {
|
||||
float t = (prog - gradient_time[i - 1]) / (gradient_time[i] - gradient_time[i - 1]);
|
||||
vec3 c0 = gradient_color[i - 1].rgb;
|
||||
vec3 c1 = gradient_color[i].rgb;
|
||||
float a = mix(gradient_color[i - 1].a, gradient_color[i].a, t);
|
||||
|
||||
if(gradient_blend == 0)
|
||||
col = mix(gradient_color[i - 1], gradient_color[i], t);
|
||||
col = vec4(mix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 1)
|
||||
col = gradient_color[i - 1];
|
||||
|
||||
else if(gradient_blend == 2)
|
||||
col = vec4(hsvMix(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(hsvMix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 3)
|
||||
col = vec4(oklabMax(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(oklabMax(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 4)
|
||||
col = vec4(rgbMix(c0, c1, t), a);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -43,6 +43,16 @@ float random (in vec2 st) { return fract(sin(dot(st.xy + vec2(85.456034, 64.5406
|
|||
uniform vec4 gradient_map_range;
|
||||
uniform sampler2D gradient_map;
|
||||
|
||||
vec3 linearToGamma(vec3 c) { return pow(c, vec3( 2.2)); }
|
||||
vec3 gammaToLinear(vec3 c) { return pow(c, vec3(1. / 2.2)); }
|
||||
|
||||
vec3 rgbMix(vec3 c1, vec3 c2, float t) { #region
|
||||
vec3 k1 = linearToGamma(c1);
|
||||
vec3 k2 = linearToGamma(c2);
|
||||
|
||||
return gammaToLinear(mix(k1, k2, t));
|
||||
} #endregion
|
||||
|
||||
vec3 rgb2oklab(vec3 c) { #region
|
||||
const mat3 kCONEtoLMS = mat3(
|
||||
0.4121656120, 0.2118591070, 0.0883097947,
|
||||
|
@ -125,16 +135,24 @@ float random (in vec2 st) { return fract(sin(dot(st.xy + vec2(85.456034, 64.5406
|
|||
col = gradient_color[i];
|
||||
else {
|
||||
float t = (prog - gradient_time[i - 1]) / (gradient_time[i] - gradient_time[i - 1]);
|
||||
vec3 c0 = gradient_color[i - 1].rgb;
|
||||
vec3 c1 = gradient_color[i].rgb;
|
||||
float a = mix(gradient_color[i - 1].a, gradient_color[i].a, t);
|
||||
|
||||
if(gradient_blend == 0)
|
||||
col = mix(gradient_color[i - 1], gradient_color[i], t);
|
||||
col = vec4(mix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 1)
|
||||
col = gradient_color[i - 1];
|
||||
|
||||
else if(gradient_blend == 2)
|
||||
col = vec4(hsvMix(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(hsvMix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 3)
|
||||
col = vec4(oklabMax(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(oklabMax(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 4)
|
||||
col = vec4(rgbMix(c0, c1, t), a);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -38,6 +38,16 @@ uniform int gradient_use;
|
|||
uniform vec4 gradient_map_range;
|
||||
uniform sampler2D gradient_map;
|
||||
|
||||
vec3 linearToGamma(vec3 c) { return pow(c, vec3( 2.2)); }
|
||||
vec3 gammaToLinear(vec3 c) { return pow(c, vec3(1. / 2.2)); }
|
||||
|
||||
vec3 rgbMix(vec3 c1, vec3 c2, float t) { #region
|
||||
vec3 k1 = linearToGamma(c1);
|
||||
vec3 k2 = linearToGamma(c2);
|
||||
|
||||
return gammaToLinear(mix(k1, k2, t));
|
||||
} #endregion
|
||||
|
||||
vec3 rgb2oklab(vec3 c) { #region
|
||||
const mat3 kCONEtoLMS = mat3(
|
||||
0.4121656120, 0.2118591070, 0.0883097947,
|
||||
|
@ -120,16 +130,24 @@ uniform int gradient_use;
|
|||
col = gradient_color[i];
|
||||
else {
|
||||
float t = (prog - gradient_time[i - 1]) / (gradient_time[i] - gradient_time[i - 1]);
|
||||
vec3 c0 = gradient_color[i - 1].rgb;
|
||||
vec3 c1 = gradient_color[i].rgb;
|
||||
float a = mix(gradient_color[i - 1].a, gradient_color[i].a, t);
|
||||
|
||||
if(gradient_blend == 0)
|
||||
col = mix(gradient_color[i - 1], gradient_color[i], t);
|
||||
col = vec4(mix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 1)
|
||||
col = gradient_color[i - 1];
|
||||
|
||||
else if(gradient_blend == 2)
|
||||
col = vec4(hsvMix(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(hsvMix(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 3)
|
||||
col = vec4(oklabMax(gradient_color[i - 1].rgb, gradient_color[i].rgb, t), a);
|
||||
col = vec4(oklabMax(c0, c1, t), a);
|
||||
|
||||
else if(gradient_blend == 4)
|
||||
col = vec4(rgbMix(c0, c1, t), a);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
After Width: | Height: | Size: 401 B |
After Width: | Height: | Size: 401 B |
74
sprites/s_lovify_heart_10/s_lovify_heart_10.yy
Normal file
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
"resourceType": "GMSprite",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "s_lovify_heart_10",
|
||||
"bbox_bottom": 9,
|
||||
"bbox_left": 0,
|
||||
"bbox_right": 9,
|
||||
"bbox_top": 0,
|
||||
"bboxMode": 0,
|
||||
"collisionKind": 1,
|
||||
"collisionTolerance": 0,
|
||||
"DynamicTexturePage": false,
|
||||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"ec6c05a3-1afa-4535-b626-fa89043e5a1c",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 10,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"6f5e1bcb-933f-42d4-a7a1-b5c607647da8","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "spr",
|
||||
"path": "folders/nodes/data/misc/lovify/spr.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
"resourceType": "GMSequence",
|
||||
"resourceVersion": "1.4",
|
||||
"name": "s_lovify_heart_10",
|
||||
"autoRecord": true,
|
||||
"backdropHeight": 768,
|
||||
"backdropImageOpacity": 0.5,
|
||||
"backdropImagePath": "",
|
||||
"backdropWidth": 1366,
|
||||
"backdropXOffset": 0.0,
|
||||
"backdropYOffset": 0.0,
|
||||
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"eventStubScript": null,
|
||||
"eventToFunction": {},
|
||||
"length": 1.0,
|
||||
"lockOrigin": false,
|
||||
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"playback": 1,
|
||||
"playbackSpeed": 30.0,
|
||||
"playbackSpeedType": 0,
|
||||
"showBackdrop": true,
|
||||
"showBackdropImage": false,
|
||||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"ec6c05a3-1afa-4535-b626-fa89043e5a1c","path":"sprites/s_lovify_heart_10/s_lovify_heart_10.yy",},},},"Disabled":false,"id":"ef9df84f-0a91-468a-a3c4-162bf1903f41","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
"volume": 1.0,
|
||||
"xorigin": 5,
|
||||
"yorigin": 5,
|
||||
},
|
||||
"swatchColours": null,
|
||||
"swfPrecision": 2.525,
|
||||
"textureGroupId": {
|
||||
"name": "Default",
|
||||
"path": "texturegroups/Default",
|
||||
},
|
||||
"type": 0,
|
||||
"VTile": false,
|
||||
"width": 10,
|
||||
}
|
After Width: | Height: | Size: 419 B |
After Width: | Height: | Size: 419 B |
74
sprites/s_lovify_heart_12/s_lovify_heart_12.yy
Normal file
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
"resourceType": "GMSprite",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "s_lovify_heart_12",
|
||||
"bbox_bottom": 11,
|
||||
"bbox_left": 0,
|
||||
"bbox_right": 11,
|
||||
"bbox_top": 0,
|
||||
"bboxMode": 0,
|
||||
"collisionKind": 1,
|
||||
"collisionTolerance": 0,
|
||||
"DynamicTexturePage": false,
|
||||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"78d0172b-5ac2-402f-ae37-a33213b71322",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 12,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"d3ebb107-5682-4bc9-9413-6e57ae73bfe6","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "spr",
|
||||
"path": "folders/nodes/data/misc/lovify/spr.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
"resourceType": "GMSequence",
|
||||
"resourceVersion": "1.4",
|
||||
"name": "s_lovify_heart_12",
|
||||
"autoRecord": true,
|
||||
"backdropHeight": 768,
|
||||
"backdropImageOpacity": 0.5,
|
||||
"backdropImagePath": "",
|
||||
"backdropWidth": 1366,
|
||||
"backdropXOffset": 0.0,
|
||||
"backdropYOffset": 0.0,
|
||||
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"eventStubScript": null,
|
||||
"eventToFunction": {},
|
||||
"length": 1.0,
|
||||
"lockOrigin": false,
|
||||
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"playback": 1,
|
||||
"playbackSpeed": 30.0,
|
||||
"playbackSpeedType": 0,
|
||||
"showBackdrop": true,
|
||||
"showBackdropImage": false,
|
||||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"78d0172b-5ac2-402f-ae37-a33213b71322","path":"sprites/s_lovify_heart_12/s_lovify_heart_12.yy",},},},"Disabled":false,"id":"a2efd4f7-d254-40c9-b407-4dce81ff915e","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
"volume": 1.0,
|
||||
"xorigin": 6,
|
||||
"yorigin": 6,
|
||||
},
|
||||
"swatchColours": null,
|
||||
"swfPrecision": 2.525,
|
||||
"textureGroupId": {
|
||||
"name": "Default",
|
||||
"path": "texturegroups/Default",
|
||||
},
|
||||
"type": 0,
|
||||
"VTile": false,
|
||||
"width": 12,
|
||||
}
|
After Width: | Height: | Size: 442 B |
After Width: | Height: | Size: 442 B |
74
sprites/s_lovify_heart_16/s_lovify_heart_16.yy
Normal file
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
"resourceType": "GMSprite",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "s_lovify_heart_16",
|
||||
"bbox_bottom": 15,
|
||||
"bbox_left": 0,
|
||||
"bbox_right": 15,
|
||||
"bbox_top": 0,
|
||||
"bboxMode": 0,
|
||||
"collisionKind": 1,
|
||||
"collisionTolerance": 0,
|
||||
"DynamicTexturePage": false,
|
||||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"b5210b91-bcb4-4b9a-aa23-ff9770518890",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 16,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"c7d7e132-563b-47ef-8109-cd86fed3f0c9","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "spr",
|
||||
"path": "folders/nodes/data/misc/lovify/spr.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
"resourceType": "GMSequence",
|
||||
"resourceVersion": "1.4",
|
||||
"name": "s_lovify_heart_16",
|
||||
"autoRecord": true,
|
||||
"backdropHeight": 768,
|
||||
"backdropImageOpacity": 0.5,
|
||||
"backdropImagePath": "",
|
||||
"backdropWidth": 1366,
|
||||
"backdropXOffset": 0.0,
|
||||
"backdropYOffset": 0.0,
|
||||
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"eventStubScript": null,
|
||||
"eventToFunction": {},
|
||||
"length": 1.0,
|
||||
"lockOrigin": false,
|
||||
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"playback": 1,
|
||||
"playbackSpeed": 30.0,
|
||||
"playbackSpeedType": 0,
|
||||
"showBackdrop": true,
|
||||
"showBackdropImage": false,
|
||||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"b5210b91-bcb4-4b9a-aa23-ff9770518890","path":"sprites/s_lovify_heart_16/s_lovify_heart_16.yy",},},},"Disabled":false,"id":"58ff330e-e611-4bdf-bae5-cf52361a093c","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
"volume": 1.0,
|
||||
"xorigin": 8,
|
||||
"yorigin": 8,
|
||||
},
|
||||
"swatchColours": null,
|
||||
"swfPrecision": 2.525,
|
||||
"textureGroupId": {
|
||||
"name": "Default",
|
||||
"path": "texturegroups/Default",
|
||||
},
|
||||
"type": 0,
|
||||
"VTile": false,
|
||||
"width": 16,
|
||||
}
|
After Width: | Height: | Size: 370 B |
After Width: | Height: | Size: 370 B |
74
sprites/s_lovify_heart_6/s_lovify_heart_6.yy
Normal file
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
"resourceType": "GMSprite",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "s_lovify_heart_6",
|
||||
"bbox_bottom": 5,
|
||||
"bbox_left": 0,
|
||||
"bbox_right": 5,
|
||||
"bbox_top": 0,
|
||||
"bboxMode": 0,
|
||||
"collisionKind": 1,
|
||||
"collisionTolerance": 0,
|
||||
"DynamicTexturePage": false,
|
||||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"f0e29127-ada5-42d6-872b-7579721152f2",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 6,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"ccd92203-1fe7-4598-b979-e3f6bcbe8125","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "spr",
|
||||
"path": "folders/nodes/data/misc/lovify/spr.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
"resourceType": "GMSequence",
|
||||
"resourceVersion": "1.4",
|
||||
"name": "s_lovify_heart_6",
|
||||
"autoRecord": true,
|
||||
"backdropHeight": 768,
|
||||
"backdropImageOpacity": 0.5,
|
||||
"backdropImagePath": "",
|
||||
"backdropWidth": 1366,
|
||||
"backdropXOffset": 0.0,
|
||||
"backdropYOffset": 0.0,
|
||||
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"eventStubScript": null,
|
||||
"eventToFunction": {},
|
||||
"length": 1.0,
|
||||
"lockOrigin": false,
|
||||
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"playback": 1,
|
||||
"playbackSpeed": 30.0,
|
||||
"playbackSpeedType": 0,
|
||||
"showBackdrop": true,
|
||||
"showBackdropImage": false,
|
||||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"f0e29127-ada5-42d6-872b-7579721152f2","path":"sprites/s_lovify_heart_6/s_lovify_heart_6.yy",},},},"Disabled":false,"id":"0f7674fb-1b08-4f74-8dc2-72c5a65d1481","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
"volume": 1.0,
|
||||
"xorigin": 3,
|
||||
"yorigin": 3,
|
||||
},
|
||||
"swatchColours": null,
|
||||
"swfPrecision": 2.525,
|
||||
"textureGroupId": {
|
||||
"name": "Default",
|
||||
"path": "texturegroups/Default",
|
||||
},
|
||||
"type": 0,
|
||||
"VTile": false,
|
||||
"width": 6,
|
||||
}
|
After Width: | Height: | Size: 376 B |
After Width: | Height: | Size: 376 B |
74
sprites/s_lovify_heart_8/s_lovify_heart_8.yy
Normal file
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
"resourceType": "GMSprite",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "s_lovify_heart_8",
|
||||
"bbox_bottom": 7,
|
||||
"bbox_left": 0,
|
||||
"bbox_right": 7,
|
||||
"bbox_top": 0,
|
||||
"bboxMode": 0,
|
||||
"collisionKind": 1,
|
||||
"collisionTolerance": 0,
|
||||
"DynamicTexturePage": false,
|
||||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"0187099f-c05b-4480-8ad8-8cdab99fad72",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 8,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"66525455-64e5-4891-957b-f2d6d0295ff1","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "spr",
|
||||
"path": "folders/nodes/data/misc/lovify/spr.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
"resourceType": "GMSequence",
|
||||
"resourceVersion": "1.4",
|
||||
"name": "s_lovify_heart_8",
|
||||
"autoRecord": true,
|
||||
"backdropHeight": 768,
|
||||
"backdropImageOpacity": 0.5,
|
||||
"backdropImagePath": "",
|
||||
"backdropWidth": 1366,
|
||||
"backdropXOffset": 0.0,
|
||||
"backdropYOffset": 0.0,
|
||||
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"eventStubScript": null,
|
||||
"eventToFunction": {},
|
||||
"length": 1.0,
|
||||
"lockOrigin": false,
|
||||
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"playback": 1,
|
||||
"playbackSpeed": 30.0,
|
||||
"playbackSpeedType": 0,
|
||||
"showBackdrop": true,
|
||||
"showBackdropImage": false,
|
||||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"0187099f-c05b-4480-8ad8-8cdab99fad72","path":"sprites/s_lovify_heart_8/s_lovify_heart_8.yy",},},},"Disabled":false,"id":"2b6d942b-c191-4453-8ea4-229ba23640e6","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
"volume": 1.0,
|
||||
"xorigin": 4,
|
||||
"yorigin": 4,
|
||||
},
|
||||
"swatchColours": null,
|
||||
"swfPrecision": 2.525,
|
||||
"textureGroupId": {
|
||||
"name": "Default",
|
||||
"path": "texturegroups/Default",
|
||||
},
|
||||
"type": 0,
|
||||
"VTile": false,
|
||||
"width": 8,
|
||||
}
|
BIN
sprites/s_lovify_icon/35d16322-4261-423a-ae41-08c0f4200eee.png
Normal file
After Width: | Height: | Size: 515 B |
After Width: | Height: | Size: 515 B |
74
sprites/s_lovify_icon/s_lovify_icon.yy
Normal file
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
"resourceType": "GMSprite",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "s_lovify_icon",
|
||||
"bbox_bottom": 25,
|
||||
"bbox_left": 6,
|
||||
"bbox_right": 25,
|
||||
"bbox_top": 6,
|
||||
"bboxMode": 0,
|
||||
"collisionKind": 1,
|
||||
"collisionTolerance": 0,
|
||||
"DynamicTexturePage": false,
|
||||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"35d16322-4261-423a-ae41-08c0f4200eee",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 32,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"5771e4ab-ce7f-420f-86ef-dc37f109428f","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 9,
|
||||
"parent": {
|
||||
"name": "spr",
|
||||
"path": "folders/nodes/data/misc/lovify/spr.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
"resourceType": "GMSequence",
|
||||
"resourceVersion": "1.4",
|
||||
"name": "s_lovify_icon",
|
||||
"autoRecord": true,
|
||||
"backdropHeight": 768,
|
||||
"backdropImageOpacity": 0.5,
|
||||
"backdropImagePath": "",
|
||||
"backdropWidth": 1366,
|
||||
"backdropXOffset": 0.0,
|
||||
"backdropYOffset": 0.0,
|
||||
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"eventStubScript": null,
|
||||
"eventToFunction": {},
|
||||
"length": 1.0,
|
||||
"lockOrigin": false,
|
||||
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"playback": 1,
|
||||
"playbackSpeed": 30.0,
|
||||
"playbackSpeedType": 0,
|
||||
"showBackdrop": true,
|
||||
"showBackdropImage": false,
|
||||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"35d16322-4261-423a-ae41-08c0f4200eee","path":"sprites/s_lovify_icon/s_lovify_icon.yy",},},},"Disabled":false,"id":"1d9ca0c3-630e-4dfc-ab19-a9a39fb5d740","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
"volume": 1.0,
|
||||
"xorigin": 20,
|
||||
"yorigin": 12,
|
||||
},
|
||||
"swatchColours": null,
|
||||
"swfPrecision": 2.525,
|
||||
"textureGroupId": {
|
||||
"name": "Default",
|
||||
"path": "texturegroups/Default",
|
||||
},
|
||||
"type": 0,
|
||||
"VTile": false,
|
||||
"width": 32,
|
||||
}
|
BIN
sprites/s_node_lovify/0a0aeef0-0788-41b2-9d02-7cfe1a0653f9.png
Normal file
After Width: | Height: | Size: 693 B |
After Width: | Height: | Size: 693 B |
74
sprites/s_node_lovify/s_node_lovify.yy
Normal file
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
"resourceType": "GMSprite",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "s_node_lovify",
|
||||
"bbox_bottom": 59,
|
||||
"bbox_left": 4,
|
||||
"bbox_right": 59,
|
||||
"bbox_top": 4,
|
||||
"bboxMode": 0,
|
||||
"collisionKind": 1,
|
||||
"collisionTolerance": 0,
|
||||
"DynamicTexturePage": false,
|
||||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"0a0aeef0-0788-41b2-9d02-7cfe1a0653f9",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 64,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"0e840a20-06fd-4423-90ac-10db684cea2d","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "spr",
|
||||
"path": "folders/nodes/data/misc/lovify/spr.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
"resourceType": "GMSequence",
|
||||
"resourceVersion": "1.4",
|
||||
"name": "s_node_lovify",
|
||||
"autoRecord": true,
|
||||
"backdropHeight": 768,
|
||||
"backdropImageOpacity": 0.5,
|
||||
"backdropImagePath": "",
|
||||
"backdropWidth": 1366,
|
||||
"backdropXOffset": 0.0,
|
||||
"backdropYOffset": 0.0,
|
||||
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"eventStubScript": null,
|
||||
"eventToFunction": {},
|
||||
"length": 1.0,
|
||||
"lockOrigin": false,
|
||||
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"playback": 1,
|
||||
"playbackSpeed": 30.0,
|
||||
"playbackSpeedType": 0,
|
||||
"showBackdrop": true,
|
||||
"showBackdropImage": false,
|
||||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"0a0aeef0-0788-41b2-9d02-7cfe1a0653f9","path":"sprites/s_node_lovify/s_node_lovify.yy",},},},"Disabled":false,"id":"1a8b337a-13c6-43af-ac2f-16ce34d65ea6","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
"volume": 1.0,
|
||||
"xorigin": 32,
|
||||
"yorigin": 32,
|
||||
},
|
||||
"swatchColours": null,
|
||||
"swfPrecision": 2.525,
|
||||
"textureGroupId": {
|
||||
"name": "Default",
|
||||
"path": "texturegroups/Default",
|
||||
},
|
||||
"type": 0,
|
||||
"VTile": false,
|
||||
"width": 64,
|
||||
}
|