mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2025-02-27 04:04:48 +01:00
New (numerical) Differential node.
This commit is contained in:
parent
f075d11357
commit
7de4b56e23
12 changed files with 161 additions and 2 deletions
|
@ -820,6 +820,7 @@
|
||||||
{"name":"node_data","order":1,"path":"scripts/node_data/node_data.yy",},
|
{"name":"node_data","order":1,"path":"scripts/node_data/node_data.yy",},
|
||||||
{"name":"node_de_stray","order":2,"path":"scripts/node_de_stray/node_de_stray.yy",},
|
{"name":"node_de_stray","order":2,"path":"scripts/node_de_stray/node_de_stray.yy",},
|
||||||
{"name":"node_delay","order":5,"path":"scripts/node_delay/node_delay.yy",},
|
{"name":"node_delay","order":5,"path":"scripts/node_delay/node_delay.yy",},
|
||||||
|
{"name":"node_differential","order":17,"path":"scripts/node_differential/node_differential.yy",},
|
||||||
{"name":"node_diffuse","order":7,"path":"scripts/node_diffuse/node_diffuse.yy",},
|
{"name":"node_diffuse","order":7,"path":"scripts/node_diffuse/node_diffuse.yy",},
|
||||||
{"name":"node_directory_search","order":17,"path":"scripts/node_directory_search/node_directory_search.yy",},
|
{"name":"node_directory_search","order":17,"path":"scripts/node_directory_search/node_directory_search.yy",},
|
||||||
{"name":"node_displace","order":2,"path":"scripts/node_displace/node_displace.yy",},
|
{"name":"node_displace","order":2,"path":"scripts/node_displace/node_displace.yy",},
|
||||||
|
@ -2032,6 +2033,7 @@
|
||||||
{"name":"s_node_de_corner","order":28,"path":"sprites/s_node_de_corner/s_node_de_corner.yy",},
|
{"name":"s_node_de_corner","order":28,"path":"sprites/s_node_de_corner/s_node_de_corner.yy",},
|
||||||
{"name":"s_node_de_stray","order":29,"path":"sprites/s_node_de_stray/s_node_de_stray.yy",},
|
{"name":"s_node_de_stray","order":29,"path":"sprites/s_node_de_stray/s_node_de_stray.yy",},
|
||||||
{"name":"s_node_delay","order":7,"path":"sprites/s_node_delay/s_node_delay.yy",},
|
{"name":"s_node_delay","order":7,"path":"sprites/s_node_delay/s_node_delay.yy",},
|
||||||
|
{"name":"s_node_differential","order":13,"path":"sprites/s_node_differential/s_node_differential.yy",},
|
||||||
{"name":"s_node_diffuse","order":41,"path":"sprites/s_node_diffuse/s_node_diffuse.yy",},
|
{"name":"s_node_diffuse","order":41,"path":"sprites/s_node_diffuse/s_node_diffuse.yy",},
|
||||||
{"name":"s_node_dilate","order":30,"path":"sprites/s_node_dilate/s_node_dilate.yy",},
|
{"name":"s_node_dilate","order":30,"path":"sprites/s_node_dilate/s_node_dilate.yy",},
|
||||||
{"name":"s_node_directory_search","order":35,"path":"sprites/s_node_directory_search/s_node_directory_search.yy",},
|
{"name":"s_node_directory_search","order":35,"path":"sprites/s_node_directory_search/s_node_directory_search.yy",},
|
||||||
|
|
|
@ -1120,7 +1120,6 @@
|
||||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Shuffle","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Shuffle","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Sort","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Sort","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Split","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Split","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Unique copy","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
|
||||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Unique","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Unique","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Zip","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Zip","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||||
|
@ -1142,6 +1141,7 @@
|
||||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Base_Convert","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Base_Convert","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Boolean","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Boolean","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Compare","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Compare","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||||
|
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Differential","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Equation","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Equation","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_FFT","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_FFT","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Logic","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Logic","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||||
|
@ -1994,6 +1994,7 @@
|
||||||
{"id":{"name":"node_de_corner","path":"scripts/node_de_corner/node_de_corner.yy",},},
|
{"id":{"name":"node_de_corner","path":"scripts/node_de_corner/node_de_corner.yy",},},
|
||||||
{"id":{"name":"node_de_stray","path":"scripts/node_de_stray/node_de_stray.yy",},},
|
{"id":{"name":"node_de_stray","path":"scripts/node_de_stray/node_de_stray.yy",},},
|
||||||
{"id":{"name":"node_delay","path":"scripts/node_delay/node_delay.yy",},},
|
{"id":{"name":"node_delay","path":"scripts/node_delay/node_delay.yy",},},
|
||||||
|
{"id":{"name":"node_differential","path":"scripts/node_differential/node_differential.yy",},},
|
||||||
{"id":{"name":"node_diffuse","path":"scripts/node_diffuse/node_diffuse.yy",},},
|
{"id":{"name":"node_diffuse","path":"scripts/node_diffuse/node_diffuse.yy",},},
|
||||||
{"id":{"name":"node_dilate","path":"scripts/node_dilate/node_dilate.yy",},},
|
{"id":{"name":"node_dilate","path":"scripts/node_dilate/node_dilate.yy",},},
|
||||||
{"id":{"name":"node_directory_search","path":"scripts/node_directory_search/node_directory_search.yy",},},
|
{"id":{"name":"node_directory_search","path":"scripts/node_directory_search/node_directory_search.yy",},},
|
||||||
|
@ -3364,6 +3365,7 @@
|
||||||
{"id":{"name":"s_node_de_corner","path":"sprites/s_node_de_corner/s_node_de_corner.yy",},},
|
{"id":{"name":"s_node_de_corner","path":"sprites/s_node_de_corner/s_node_de_corner.yy",},},
|
||||||
{"id":{"name":"s_node_de_stray","path":"sprites/s_node_de_stray/s_node_de_stray.yy",},},
|
{"id":{"name":"s_node_de_stray","path":"sprites/s_node_de_stray/s_node_de_stray.yy",},},
|
||||||
{"id":{"name":"s_node_delay","path":"sprites/s_node_delay/s_node_delay.yy",},},
|
{"id":{"name":"s_node_delay","path":"sprites/s_node_delay/s_node_delay.yy",},},
|
||||||
|
{"id":{"name":"s_node_differential","path":"sprites/s_node_differential/s_node_differential.yy",},},
|
||||||
{"id":{"name":"s_node_diffuse","path":"sprites/s_node_diffuse/s_node_diffuse.yy",},},
|
{"id":{"name":"s_node_diffuse","path":"sprites/s_node_diffuse/s_node_diffuse.yy",},},
|
||||||
{"id":{"name":"s_node_dilate","path":"sprites/s_node_dilate/s_node_dilate.yy",},},
|
{"id":{"name":"s_node_dilate","path":"sprites/s_node_dilate/s_node_dilate.yy",},},
|
||||||
{"id":{"name":"s_node_directory_search","path":"sprites/s_node_directory_search/s_node_directory_search.yy",},},
|
{"id":{"name":"s_node_directory_search","path":"sprites/s_node_directory_search/s_node_directory_search.yy",},},
|
||||||
|
|
Binary file not shown.
|
@ -6,5 +6,11 @@
|
||||||
"io":[
|
"io":[
|
||||||
"float"
|
"float"
|
||||||
],
|
],
|
||||||
|
"alias":[
|
||||||
|
"union",
|
||||||
|
"intersection",
|
||||||
|
"difference",
|
||||||
|
"xor",
|
||||||
|
]
|
||||||
"pxc_version":118069,
|
"pxc_version":118069,
|
||||||
}
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"name":"Differential",
|
||||||
|
"baseNode":"Node_Differential",
|
||||||
|
"tooltip":"Calculate how much the input value has changed since the last frame.",
|
||||||
|
"spr":"s_node_differential",
|
||||||
|
"pxc_version":118069,
|
||||||
|
"io":[
|
||||||
|
"float"
|
||||||
|
],
|
||||||
|
}
|
|
@ -23,7 +23,8 @@
|
||||||
"abs",
|
"abs",
|
||||||
"fract",
|
"fract",
|
||||||
"clamp",
|
"clamp",
|
||||||
"snap"
|
"snap",
|
||||||
|
"map",
|
||||||
],
|
],
|
||||||
"spr":"s_node_math",
|
"spr":"s_node_math",
|
||||||
"baseNode":"Node_Math",
|
"baseNode":"Node_Math",
|
||||||
|
|
|
@ -664,6 +664,7 @@
|
||||||
"Node_Statistic",
|
"Node_Statistic",
|
||||||
"Node_Base_Convert",
|
"Node_Base_Convert",
|
||||||
"Node_FFT",
|
"Node_FFT",
|
||||||
|
"Node_Differential",
|
||||||
{ "label": "/Surfaces" },
|
{ "label": "/Surfaces" },
|
||||||
"Node_Interpret_Number",
|
"Node_Interpret_Number",
|
||||||
|
|
||||||
|
|
34
scripts/node_differential/node_differential.gml
Normal file
34
scripts/node_differential/node_differential.gml
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
function Node_Differential(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
|
name = "Differential";
|
||||||
|
color = COLORS.node_blend_number;
|
||||||
|
|
||||||
|
setDimension(96, 48);
|
||||||
|
|
||||||
|
newInput(0, nodeValue_Float("Value", self, 0))
|
||||||
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
newOutput(0, nodeValue_Output("Result", self, VALUE_TYPE.float, 0));
|
||||||
|
|
||||||
|
prev_values = [];
|
||||||
|
|
||||||
|
static processData = function(_output, _data, _output_index, _array_index = 0) {
|
||||||
|
var _v = _data[0];
|
||||||
|
|
||||||
|
var _p = array_safe_get_fast(prev_values, _array_index, 0);
|
||||||
|
if(!is_array(_p)) _p = [ 0, 0 ];
|
||||||
|
|
||||||
|
var _dx = _v - _p[0];
|
||||||
|
var _dt = CURRENT_FRAME - _p[1];
|
||||||
|
|
||||||
|
_p[0] = _v;
|
||||||
|
_p[1] = CURRENT_FRAME;
|
||||||
|
prev_values[_array_index] = _p;
|
||||||
|
|
||||||
|
return _dt == 0? 0 : _dx / _dt;
|
||||||
|
}
|
||||||
|
|
||||||
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
|
draw_sprite_bbox_uniform(s_node_differential, 0, bbox);
|
||||||
|
}
|
||||||
|
}
|
13
scripts/node_differential/node_differential.yy
Normal file
13
scripts/node_differential/node_differential.yy
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"$GMScript":"v1",
|
||||||
|
"%Name":"node_differential",
|
||||||
|
"isCompatibility":false,
|
||||||
|
"isDnD":false,
|
||||||
|
"name":"node_differential",
|
||||||
|
"parent":{
|
||||||
|
"name":"number",
|
||||||
|
"path":"folders/nodes/data/value/number.yy",
|
||||||
|
},
|
||||||
|
"resourceType":"GMScript",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
90
sprites/s_node_differential/s_node_differential.yy
Normal file
90
sprites/s_node_differential/s_node_differential.yy
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
{
|
||||||
|
"$GMSprite":"",
|
||||||
|
"%Name":"s_node_differential",
|
||||||
|
"bboxMode":0,
|
||||||
|
"bbox_bottom":60,
|
||||||
|
"bbox_left":11,
|
||||||
|
"bbox_right":52,
|
||||||
|
"bbox_top":3,
|
||||||
|
"collisionKind":1,
|
||||||
|
"collisionTolerance":0,
|
||||||
|
"DynamicTexturePage":false,
|
||||||
|
"edgeFiltering":false,
|
||||||
|
"For3D":false,
|
||||||
|
"frames":[
|
||||||
|
{"$GMSpriteFrame":"","%Name":"8cc4667f-9c3c-4e01-b52b-0777c8d37513","name":"8cc4667f-9c3c-4e01-b52b-0777c8d37513","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
|
],
|
||||||
|
"gridX":0,
|
||||||
|
"gridY":0,
|
||||||
|
"height":64,
|
||||||
|
"HTile":false,
|
||||||
|
"layers":[
|
||||||
|
{"$GMImageLayer":"","%Name":"ea5fdb10-fc03-4528-b72f-b15584004814","blendMode":0,"displayName":"default","isLocked":false,"name":"ea5fdb10-fc03-4528-b72f-b15584004814","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
|
||||||
|
],
|
||||||
|
"name":"s_node_differential",
|
||||||
|
"nineSlice":null,
|
||||||
|
"origin":4,
|
||||||
|
"parent":{
|
||||||
|
"name":"number",
|
||||||
|
"path":"folders/nodes/icons/value/number.yy",
|
||||||
|
},
|
||||||
|
"preMultiplyAlpha":false,
|
||||||
|
"resourceType":"GMSprite",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
"sequence":{
|
||||||
|
"$GMSequence":"",
|
||||||
|
"%Name":"s_node_differential",
|
||||||
|
"autoRecord":true,
|
||||||
|
"backdropHeight":768,
|
||||||
|
"backdropImageOpacity":0.5,
|
||||||
|
"backdropImagePath":"",
|
||||||
|
"backdropWidth":1366,
|
||||||
|
"backdropXOffset":0.0,
|
||||||
|
"backdropYOffset":0.0,
|
||||||
|
"events":{
|
||||||
|
"$KeyframeStore<MessageEventKeyframe>":"",
|
||||||
|
"Keyframes":[],
|
||||||
|
"resourceType":"KeyframeStore<MessageEventKeyframe>",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
},
|
||||||
|
"eventStubScript":null,
|
||||||
|
"eventToFunction":{},
|
||||||
|
"length":1.0,
|
||||||
|
"lockOrigin":false,
|
||||||
|
"moments":{
|
||||||
|
"$KeyframeStore<MomentsEventKeyframe>":"",
|
||||||
|
"Keyframes":[],
|
||||||
|
"resourceType":"KeyframeStore<MomentsEventKeyframe>",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
},
|
||||||
|
"name":"s_node_differential",
|
||||||
|
"playback":1,
|
||||||
|
"playbackSpeed":30.0,
|
||||||
|
"playbackSpeedType":0,
|
||||||
|
"resourceType":"GMSequence",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
"showBackdrop":true,
|
||||||
|
"showBackdropImage":false,
|
||||||
|
"timeUnits":1,
|
||||||
|
"tracks":[
|
||||||
|
{"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
|
||||||
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"8cc4667f-9c3c-4e01-b52b-0777c8d37513","path":"sprites/s_node_differential/s_node_differential.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
|
},"Disabled":false,"id":"b2b530ad-2ba0-4eac-ba97-da1d91494520","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
|
],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||||
|
],
|
||||||
|
"visibleRange":null,
|
||||||
|
"volume":1.0,
|
||||||
|
"xorigin":32,
|
||||||
|
"yorigin":32,
|
||||||
|
},
|
||||||
|
"swatchColours":null,
|
||||||
|
"swfPrecision":0.5,
|
||||||
|
"textureGroupId":{
|
||||||
|
"name":"Default",
|
||||||
|
"path":"texturegroups/Default",
|
||||||
|
},
|
||||||
|
"type":0,
|
||||||
|
"VTile":false,
|
||||||
|
"width":64,
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue