From 375ec8ecb178ffd02520ccf3799deb7b1b9cd7a2 Mon Sep 17 00:00:00 2001 From: Matias Poggini Date: Sun, 10 Sep 2023 15:09:17 +0100 Subject: [PATCH] More fixes --- Pulse/Pulse.resource_order | 8 +- Pulse/Pulse.yyp | 6 +- Pulse/objects/Object12/Create_0.gml | 4 +- Pulse/objects/Object12/KeyPress_32.gml | 2 +- Pulse/objects/Object12/KeyPress_49.gml | 3 +- Pulse/objects/Object12/KeyPress_50.gml | 3 +- Pulse/objects/Object12/KeyPress_51.gml | 4 +- Pulse/objects/Object12/KeyPress_52.gml | 5 +- Pulse/objects/Object12/Mouse_60.gml | 2 - Pulse/objects/Object12/Mouse_61.gml | 2 - Pulse/objects/Test_Me/Create_0.gml | 2 +- Pulse/objects/fire/fire.yy | 4 +- Pulse/objects/snow/Create_0.gml | 18 +- Pulse/objects/snow/Step_0.gml | 7 +- Pulse/objects/snow/snow.yy | 4 +- Pulse/options/android/options_android.yy | 2 + Pulse/particles/PS_Fire/PS_Fire.yy | 2 +- .../ParticleSystem1/ParticleSystem1.yy | 2 +- Pulse/rooms/Room5/Room5.yy | 10 +- Pulse/scripts/Pulse/Pulse.gml | 21 ++- .../Pulse_Default_config.gml | 2 + Pulse/scripts/Pulse_License/Pulse_License.gml | 3 + Pulse/scripts/Pulse_Maps/Pulse_Maps.gml | 4 +- .../Pulse_Particles/Pulse_Particles.gml | 171 +++++++++++++----- Pulse/scripts/Scr_Gaussian/Scr_Gaussian.gml | 48 ----- Pulse/scripts/Scr_Gaussian/Scr_Gaussian.yy | 11 -- Pulse/sprites/flame_01/flame_01.yy | 4 +- .../81e75ac5-a31f-43ad-8727-931f92ed9858.png | Bin 0 -> 6979 bytes .../f8938f5f-23f3-4eb0-af64-4a11e568d01b.png | Bin 0 -> 6979 bytes .../pt_snow_cartoon/pt_snow_cartoon.yy | 74 ++++++++ 30 files changed, 276 insertions(+), 152 deletions(-) delete mode 100644 Pulse/scripts/Scr_Gaussian/Scr_Gaussian.gml delete mode 100644 Pulse/scripts/Scr_Gaussian/Scr_Gaussian.yy create mode 100644 Pulse/sprites/pt_snow_cartoon/81e75ac5-a31f-43ad-8727-931f92ed9858.png create mode 100644 Pulse/sprites/pt_snow_cartoon/layers/81e75ac5-a31f-43ad-8727-931f92ed9858/f8938f5f-23f3-4eb0-af64-4a11e568d01b.png create mode 100644 Pulse/sprites/pt_snow_cartoon/pt_snow_cartoon.yy diff --git a/Pulse/Pulse.resource_order b/Pulse/Pulse.resource_order index 2956bff..3ada5d5 100644 --- a/Pulse/Pulse.resource_order +++ b/Pulse/Pulse.resource_order @@ -10,6 +10,7 @@ {"name":"64 stght","order":3,"path":"folders/Examples/Sprites/64 stght.yy",}, {"name":"Extensions","order":6,"path":"folders/Extensions.yy",}, {"name":"Fonts","order":4,"path":"folders/Fonts.yy",}, + {"name":"Particle Shapes","order":19,"path":"folders/Particle Shapes.yy",}, {"name":"Paths","order":2,"path":"folders/Paths.yy",}, {"name":"Pulse","order":8,"path":"folders/Pulse.yy",}, {"name":"Scripts","order":3,"path":"folders/Scripts.yy",}, @@ -25,7 +26,6 @@ {"name":"Pulse_License","order":5,"path":"scripts/Pulse_License/Pulse_License.yy",}, {"name":"Room_Path","order":1,"path":"rooms/Room_Path/Room_Path.yy",}, {"name":"_64_strght__00017","order":17,"path":"sprites/_64_strght__00017/_64_strght__00017.yy",}, - {"name":"flame_01","order":18,"path":"sprites/flame_01/flame_01.yy",}, {"name":"Room_Path_SmartSmoke","order":2,"path":"rooms/Room_Path_SmartSmoke/Room_Path_SmartSmoke.yy",}, {"name":"_64_strght__00033","order":33,"path":"sprites/_64_strght__00033/_64_strght__00033.yy",}, {"name":"anim_curves","order":8,"path":"scripts/anim_curves/anim_curves.yy",}, @@ -44,11 +44,11 @@ {"name":"o_smoke_Dir","order":4,"path":"objects/o_smoke_Dir/o_smoke_Dir.yy",}, {"name":"experiment_01","order":16,"path":"objects/experiment_01/experiment_01.yy",}, {"name":"_64_strght__00018","order":18,"path":"sprites/_64_strght__00018/_64_strght__00018.yy",}, - {"name":"snow","order":16,"path":"objects/snow/snow.yy",}, + {"name":"snow","order":17,"path":"objects/snow/snow.yy",}, {"name":"_64_strght__00013","order":13,"path":"sprites/_64_strght__00013/_64_strght__00013.yy",}, {"name":"Macaw","order":2,"path":"scripts/Macaw/Macaw.yy",}, {"name":"_64_strght__00012","order":12,"path":"sprites/_64_strght__00012/_64_strght__00012.yy",}, - {"name":"fire","order":17,"path":"objects/fire/fire.yy",}, + {"name":"fire","order":18,"path":"objects/fire/fire.yy",}, {"name":"_64_strght__00032","order":32,"path":"sprites/_64_strght__00032/_64_strght__00032.yy",}, {"name":"_64_strght__00027","order":27,"path":"sprites/_64_strght__00027/_64_strght__00027.yy",}, {"name":"Sprite2","order":9,"path":"sprites/Sprite2/Sprite2.yy",}, @@ -56,7 +56,6 @@ {"name":"_64_strght__00031","order":31,"path":"sprites/_64_strght__00031/_64_strght__00031.yy",}, {"name":"Path3","order":10,"path":"paths/Path3/Path3.yy",}, {"name":"_64_strght__00022","order":22,"path":"sprites/_64_strght__00022/_64_strght__00022.yy",}, - {"name":"Scr_Gaussian","order":6,"path":"scripts/Scr_Gaussian/Scr_Gaussian.yy",}, {"name":"_64_strght__00019","order":19,"path":"sprites/_64_strght__00019/_64_strght__00019.yy",}, {"name":"_64_strght__00011","order":11,"path":"sprites/_64_strght__00011/_64_strght__00011.yy",}, {"name":"_64_strght__00024","order":24,"path":"sprites/_64_strght__00024/_64_strght__00024.yy",}, @@ -67,6 +66,7 @@ {"name":"_64_strght__00001","order":1,"path":"sprites/_64_strght__00001/_64_strght__00001.yy",}, {"name":"_64_strght__00026","order":26,"path":"sprites/_64_strght__00026/_64_strght__00026.yy",}, {"name":"Sprite3","order":8,"path":"sprites/Sprite3/Sprite3.yy",}, + {"name":"pt_snow_cartoon","order":1,"path":"sprites/pt_snow_cartoon/pt_snow_cartoon.yy",}, {"name":"o_particle_example","order":5,"path":"objects/o_particle_example/o_particle_example.yy",}, {"name":"_64_strght__00009","order":9,"path":"sprites/_64_strght__00009/_64_strght__00009.yy",}, {"name":"_64_strght__00029","order":29,"path":"sprites/_64_strght__00029/_64_strght__00029.yy",}, diff --git a/Pulse/Pulse.yyp b/Pulse/Pulse.yyp index bd03c6b..175c710 100644 --- a/Pulse/Pulse.yyp +++ b/Pulse/Pulse.yyp @@ -21,6 +21,7 @@ {"resourceType":"GMFolder","resourceVersion":"1.0","name":"64 stght","folderPath":"folders/Examples/Sprites/64 stght.yy",}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Extensions","folderPath":"folders/Extensions.yy",}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Fonts","folderPath":"folders/Fonts.yy",}, + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Particle Shapes","folderPath":"folders/Particle Shapes.yy",}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Paths","folderPath":"folders/Paths.yy",}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Pulse","folderPath":"folders/Pulse.yy",}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Scripts","folderPath":"folders/Scripts.yy",}, @@ -31,7 +32,7 @@ "isEcma": false, "LibraryEmitters": [], "MetaData": { - "IDEVersion": "2023.6.0.92", + "IDEVersion": "2023.8.0.98", }, "resources": [ {"id":{"name":"InstanceEmit","path":"objects/InstanceEmit/InstanceEmit.yy",},}, @@ -81,7 +82,6 @@ {"id":{"name":"_64_strght__00031","path":"sprites/_64_strght__00031/_64_strght__00031.yy",},}, {"id":{"name":"Path3","path":"paths/Path3/Path3.yy",},}, {"id":{"name":"_64_strght__00022","path":"sprites/_64_strght__00022/_64_strght__00022.yy",},}, - {"id":{"name":"Scr_Gaussian","path":"scripts/Scr_Gaussian/Scr_Gaussian.yy",},}, {"id":{"name":"_64_strght__00019","path":"sprites/_64_strght__00019/_64_strght__00019.yy",},}, {"id":{"name":"_64_strght__00011","path":"sprites/_64_strght__00011/_64_strght__00011.yy",},}, {"id":{"name":"_64_strght__00024","path":"sprites/_64_strght__00024/_64_strght__00024.yy",},}, @@ -93,6 +93,7 @@ {"id":{"name":"_64_strght__00001","path":"sprites/_64_strght__00001/_64_strght__00001.yy",},}, {"id":{"name":"_64_strght__00026","path":"sprites/_64_strght__00026/_64_strght__00026.yy",},}, {"id":{"name":"Sprite3","path":"sprites/Sprite3/Sprite3.yy",},}, + {"id":{"name":"pt_snow_cartoon","path":"sprites/pt_snow_cartoon/pt_snow_cartoon.yy",},}, {"id":{"name":"ac_Shape","path":"animcurves/ac_Shape/ac_Shape.yy",},}, {"id":{"name":"o_particle_example","path":"objects/o_particle_example/o_particle_example.yy",},}, {"id":{"name":"_64_strght__00009","path":"sprites/_64_strght__00009/_64_strght__00009.yy",},}, @@ -126,6 +127,7 @@ {"roomId":{"name":"Room_Path","path":"rooms/Room_Path/Room_Path.yy",},}, {"roomId":{"name":"Room_Path_SmartSmoke","path":"rooms/Room_Path_SmartSmoke/Room_Path_SmartSmoke.yy",},}, ], + "templateType": null, "TextureGroups": [ {"resourceType":"GMTextureGroup","resourceVersion":"1.3","name":"Default","autocrop":true,"border":2,"compressFormat":"bz2","directory":"","groupParent":null,"isScaled":true,"loadType":"default","mipsToGenerate":0,"targets":-1,}, ], diff --git a/Pulse/objects/Object12/Create_0.gml b/Pulse/objects/Object12/Create_0.gml index 0e2dc52..e9df87c 100644 --- a/Pulse/objects/Object12/Create_0.gml +++ b/Pulse/objects/Object12/Create_0.gml @@ -1,5 +1,5 @@ particle = pulse_make_particle("particle") system = pulse_make_system("sys") -particle.set_life(200,200).set_speed(3,3,0).set_direction(0,0,0).set_size(1,1,0) +particle.set_life(200,200).set_speed(3,3,0).set_direction(0,0,0).set_size([1,0.5],[3,1],0.01,0) -acc=0 \ No newline at end of file +acc=0 diff --git a/Pulse/objects/Object12/KeyPress_32.gml b/Pulse/objects/Object12/KeyPress_32.gml index 6117982..56cec46 100644 --- a/Pulse/objects/Object12/KeyPress_32.gml +++ b/Pulse/objects/Object12/KeyPress_32.gml @@ -1 +1 @@ -part_particles_create(system.index,x,y,particle._index,1) \ No newline at end of file +part_particles_create(system.index,x,y,particle.index,1) \ No newline at end of file diff --git a/Pulse/objects/Object12/KeyPress_49.gml b/Pulse/objects/Object12/KeyPress_49.gml index 0bf164f..68c4a33 100644 --- a/Pulse/objects/Object12/KeyPress_49.gml +++ b/Pulse/objects/Object12/KeyPress_49.gml @@ -1 +1,2 @@ -particle.scale_time(.5) +//particle.scale_time(.5) +part_type_size_x(particle.index,1, 3,0,0) \ No newline at end of file diff --git a/Pulse/objects/Object12/KeyPress_50.gml b/Pulse/objects/Object12/KeyPress_50.gml index 4fe89ba..8a72f63 100644 --- a/Pulse/objects/Object12/KeyPress_50.gml +++ b/Pulse/objects/Object12/KeyPress_50.gml @@ -1 +1,2 @@ -particle.scale_time(1.5) +//particle.scale_time(1.5) +part_type_size_y(particle.index,0.5,4,0,0) diff --git a/Pulse/objects/Object12/KeyPress_51.gml b/Pulse/objects/Object12/KeyPress_51.gml index 2a18af1..e377324 100644 --- a/Pulse/objects/Object12/KeyPress_51.gml +++ b/Pulse/objects/Object12/KeyPress_51.gml @@ -1,3 +1,3 @@ -particle.scale_space(.5) - +//particle.scale_space(.5) +part_type_size(particle.index,.5,.5,0,0) diff --git a/Pulse/objects/Object12/KeyPress_52.gml b/Pulse/objects/Object12/KeyPress_52.gml index d0540f5..7a42370 100644 --- a/Pulse/objects/Object12/KeyPress_52.gml +++ b/Pulse/objects/Object12/KeyPress_52.gml @@ -1 +1,4 @@ -particle.scale_space(1.5) \ No newline at end of file +//particle.scale_space(1.5) +part_type_size_x(particle.index,1,1,0,0) +part_type_size_y(particle.index,1,1,0,0) +part_type_size(particle.index,1,1,0,0) \ No newline at end of file diff --git a/Pulse/objects/Object12/Mouse_60.gml b/Pulse/objects/Object12/Mouse_60.gml index ba5d312..e69de29 100644 --- a/Pulse/objects/Object12/Mouse_60.gml +++ b/Pulse/objects/Object12/Mouse_60.gml @@ -1,2 +0,0 @@ -acc += 0.1 -particle.set_gravity(acc*.1,270) \ No newline at end of file diff --git a/Pulse/objects/Object12/Mouse_61.gml b/Pulse/objects/Object12/Mouse_61.gml index b8bca77..e69de29 100644 --- a/Pulse/objects/Object12/Mouse_61.gml +++ b/Pulse/objects/Object12/Mouse_61.gml @@ -1,2 +0,0 @@ -acc -= 0.1 -particle.set_gravity(acc*.1,270) \ No newline at end of file diff --git a/Pulse/objects/Test_Me/Create_0.gml b/Pulse/objects/Test_Me/Create_0.gml index 0f909d4..c7054ac 100644 --- a/Pulse/objects/Test_Me/Create_0.gml +++ b/Pulse/objects/Test_Me/Create_0.gml @@ -71,4 +71,4 @@ sys.set_radius(0,200)//.set_mask(0,.5) sys.force_to_edge=PULSE_TO_EDGE.FOCAL_LIFE //sys.set_line(x+200,y-50) -system.treshold=200 \ No newline at end of file +system.threshold=200 \ No newline at end of file diff --git a/Pulse/objects/fire/fire.yy b/Pulse/objects/fire/fire.yy index 94b06fd..4c06218 100644 --- a/Pulse/objects/fire/fire.yy +++ b/Pulse/objects/fire/fire.yy @@ -11,8 +11,8 @@ "managed": true, "overriddenProperties": [], "parent": { - "name": "Pulse", - "path": "Pulse.yyp", + "name": "Examples", + "path": "folders/Examples.yy", }, "parentObjectId": null, "persistent": false, diff --git a/Pulse/objects/snow/Create_0.gml b/Pulse/objects/snow/Create_0.gml index f2df902..443334b 100644 --- a/Pulse/objects/snow/Create_0.gml +++ b/Pulse/objects/snow/Create_0.gml @@ -1,28 +1,28 @@ particle = pulse_make_particle("snow") system = pulse_make_system("sys") - +/* particle.set_life(900,900).set_speed(.75,1.15,-.0002).set_direction(0,0,0) .set_size(.3,.5,-0.0005).set_shape(pt_shape_snow).set_orient(0,359,0.2,0,false) .set_color(c_white,c_aqua).set_alpha(.9,.7,0) +*/ + +particle.set_life(700,900).set_speed(.70,1.10,-.0002).set_direction(0,0,0) +.set_size(.3,.4,-0.0001).set_sprite(pt_snow_cartoon).set_orient(0,359,0.2,0,false) +.set_color(c_white,c_aqua).set_alpha(.9,.7,0) + emit = new pulse_local_emitter(system,"snow") -emit.form_line(room_width,0).set_direction_range(180,180)//(160,200) +emit.form_line(room_width+100,0).set_direction_range(180,180) emit.force_to_edge=PULSE_TO_EDGE.NONE -/* -force = new pulse_force(300,300,90,PULSE_FORCE.DIRECTION,1,.4) -force.set_range_directional(-1,0,100,650) -emit.add_local_force(force)*/ - t = 0; increment = 1; //degrees amplitude = .0025; //acceleration _sign = 1 -repeat(768) +repeat(particle.life[1]) { event_perform(ev_step,ev_step_normal) - //part_system_update(system.index) system.update_system() } \ No newline at end of file diff --git a/Pulse/objects/snow/Step_0.gml b/Pulse/objects/snow/Step_0.gml index 9aca9be..e0ba95a 100644 --- a/Pulse/objects/snow/Step_0.gml +++ b/Pulse/objects/snow/Step_0.gml @@ -11,4 +11,9 @@ shift = _sign * amplitude * dsin(t); particle.set_gravity(shift,25) -emit.pulse(1,0,0) \ No newline at end of file +var _random = irandom_range(0,1) + +if _random == 0 +{ +emit.pulse(1,-50,-50) +} \ No newline at end of file diff --git a/Pulse/objects/snow/snow.yy b/Pulse/objects/snow/snow.yy index 5b25730..17c3b0d 100644 --- a/Pulse/objects/snow/snow.yy +++ b/Pulse/objects/snow/snow.yy @@ -9,8 +9,8 @@ "managed": true, "overriddenProperties": [], "parent": { - "name": "Pulse", - "path": "Pulse.yyp", + "name": "Examples", + "path": "folders/Examples.yy", }, "parentObjectId": null, "persistent": false, diff --git a/Pulse/options/android/options_android.yy b/Pulse/options/android/options_android.yy index 98c963d..8ceeb2e 100644 --- a/Pulse/options/android/options_android.yy +++ b/Pulse/options/android/options_android.yy @@ -6,6 +6,7 @@ "option_android_arch_arm64": true, "option_android_arch_armv7": false, "option_android_arch_x86_64": false, + "option_android_attribute_allow_backup": false, "option_android_build_tools": "", "option_android_compile_sdk": "", "option_android_device_support": 0, @@ -72,6 +73,7 @@ "option_android_tools_from_version": false, "option_android_tv_banner": "${base_options_dir}/android/tv_banner.png", "option_android_tv_isgame": true, + "option_android_tv_supports_leanback": true, "option_android_use_facebook": false, "option_android_version": "1.0.0.0", } \ No newline at end of file diff --git a/Pulse/particles/PS_Fire/PS_Fire.yy b/Pulse/particles/PS_Fire/PS_Fire.yy index ce77ee3..9349f0b 100644 --- a/Pulse/particles/PS_Fire/PS_Fire.yy +++ b/Pulse/particles/PS_Fire/PS_Fire.yy @@ -10,7 +10,7 @@ "backdropYOffset": 0.0, "drawOrder": 0, "emitters": [ - {"resourceType":"GMPSEmitter","resourceVersion":"1.0","name":"Fire","additiveBlend":true,"directionIncrease":0.0,"directionMax":88.0,"directionMin":94.0,"directionWiggle":0.0,"distribution":0,"editorColour":1090519039,"editorDrawShape":true,"emitCount":1,"enabled":true,"endColour":4278192570,"GMPresetName":null,"gravityDirection":270.0,"gravityForce":0.0,"headPosition":0.0,"lifetimeMax":60.0,"lifetimeMin":60.0,"linkedEmitter":null,"locked":false,"midColour":4279523752,"mode":0,"orientationIncrease":0.0,"orientationMax":273.0,"orientationMin":0.0,"orientationRelative":true,"orientationWiggle":0.0,"regionH":10.0,"regionW":10.0,"regionX":0.0,"regionY":0.0,"scaleX":0.2,"scaleY":0.2,"shape":1,"sizeIncrease":-0.01,"sizeMax":1.0,"sizeMin":1.0,"sizeWiggle":0.02,"spawnOnDeathCount":1,"spawnOnDeathGMPreset":null,"spawnOnDeathId":null,"spawnOnUpdateCount":1,"spawnOnUpdateGMPreset":null,"spawnOnUpdateId":null,"speedIncrease":0.0,"speedMax":1.0,"speedMin":1.0,"speedWiggle":0.0,"spriteAnimate":false,"spriteId":null,"spriteRandom":false,"spriteStretch":true,"startColour":4278906623,"texture":12,}, + {"resourceType":"GMPSEmitter","resourceVersion":"1.0","name":"Fire","additiveBlend":true,"directionIncrease":0.0,"directionMax":88.0,"directionMin":94.0,"directionWiggle":0.0,"distribution":0,"editorColour":1090519039,"editorDrawShape":true,"emitCount":1,"emitDelayMax":0.0,"emitDelayMin":0.0,"emitDelayUnits":0,"emitIntervalMax":0.0,"emitIntervalMin":0.0,"emitIntervalUnits":0,"enabled":true,"endColour":4278192570,"GMPresetName":null,"gravityDirection":270.0,"gravityForce":0.0,"headPosition":0.0,"lifetimeMax":60.0,"lifetimeMin":60.0,"linkedEmitter":null,"locked":false,"midColour":4279523752,"mode":0,"orientationIncrease":0.0,"orientationMax":273.0,"orientationMin":0.0,"orientationRelative":true,"orientationWiggle":0.0,"regionH":10.0,"regionW":10.0,"regionX":0.0,"regionY":0.0,"scaleX":0.2,"scaleY":0.2,"shape":1,"sizeIncrease":-0.01,"sizeMax":1.0,"sizeMin":1.0,"sizeWiggle":0.02,"spawnOnDeathCount":1,"spawnOnDeathGMPreset":null,"spawnOnDeathId":null,"spawnOnUpdateCount":1,"spawnOnUpdateGMPreset":null,"spawnOnUpdateId":null,"speedIncrease":0.0,"speedMax":1.0,"speedMin":1.0,"speedWiggle":0.0,"spriteAnimate":false,"spriteId":null,"spriteRandom":false,"spriteStretch":true,"startColour":4278906623,"texture":12,}, ], "parent": { "name": "Particle Systems", diff --git a/Pulse/particles/ParticleSystem1/ParticleSystem1.yy b/Pulse/particles/ParticleSystem1/ParticleSystem1.yy index 525a4dc..1ee198a 100644 --- a/Pulse/particles/ParticleSystem1/ParticleSystem1.yy +++ b/Pulse/particles/ParticleSystem1/ParticleSystem1.yy @@ -10,7 +10,7 @@ "backdropYOffset": 0.0, "drawOrder": 0, "emitters": [ - {"resourceType":"GMPSEmitter","resourceVersion":"1.0","name":"Snow","additiveBlend":false,"directionIncrease":0.0,"directionMax":0.0,"directionMin":0.0,"directionWiggle":0.0,"distribution":0,"editorColour":1090519039,"editorDrawShape":true,"emitCount":1,"enabled":true,"endColour":4282253194,"GMPresetName":null,"gravityDirection":270.0,"gravityForce":0.0,"headPosition":0.0,"lifetimeMax":60.0,"lifetimeMin":60.0,"linkedEmitter":null,"locked":false,"midColour":4294937448,"mode":0,"orientationIncrease":0.0,"orientationMax":273.0,"orientationMin":0.0,"orientationRelative":true,"orientationWiggle":0.0,"regionH":10.0,"regionW":10.0,"regionX":0.0,"regionY":0.0,"scaleX":0.7,"scaleY":0.7,"shape":1,"sizeIncrease":0.0,"sizeMax":1.0,"sizeMin":1.0,"sizeWiggle":0.0,"spawnOnDeathCount":1,"spawnOnDeathGMPreset":null,"spawnOnDeathId":null,"spawnOnUpdateCount":1,"spawnOnUpdateGMPreset":null,"spawnOnUpdateId":null,"speedIncrease":0.0,"speedMax":1.0,"speedMin":1.0,"speedWiggle":0.0,"spriteAnimate":false,"spriteId":null,"spriteRandom":false,"spriteStretch":true,"startColour":4284153635,"texture":13,}, + {"resourceType":"GMPSEmitter","resourceVersion":"1.0","name":"Snow","additiveBlend":false,"directionIncrease":0.0,"directionMax":0.0,"directionMin":0.0,"directionWiggle":0.0,"distribution":0,"editorColour":1090519039,"editorDrawShape":true,"emitCount":1,"emitDelayMax":0.0,"emitDelayMin":0.0,"emitDelayUnits":0,"emitIntervalMax":0.0,"emitIntervalMin":0.0,"emitIntervalUnits":0,"enabled":true,"endColour":4282253194,"GMPresetName":null,"gravityDirection":270.0,"gravityForce":0.0,"headPosition":0.0,"lifetimeMax":60.0,"lifetimeMin":60.0,"linkedEmitter":null,"locked":false,"midColour":4294937448,"mode":0,"orientationIncrease":0.0,"orientationMax":273.0,"orientationMin":0.0,"orientationRelative":true,"orientationWiggle":0.0,"regionH":10.0,"regionW":10.0,"regionX":0.0,"regionY":0.0,"scaleX":0.7,"scaleY":0.7,"shape":1,"sizeIncrease":0.0,"sizeMax":1.0,"sizeMin":1.0,"sizeWiggle":0.0,"spawnOnDeathCount":1,"spawnOnDeathGMPreset":null,"spawnOnDeathId":null,"spawnOnUpdateCount":1,"spawnOnUpdateGMPreset":null,"spawnOnUpdateId":null,"speedIncrease":0.0,"speedMax":1.0,"speedMin":1.0,"speedWiggle":0.0,"spriteAnimate":false,"spriteId":null,"spriteRandom":false,"spriteStretch":true,"startColour":4284153635,"texture":13,}, ], "parent": { "name": "Particle Systems", diff --git a/Pulse/rooms/Room5/Room5.yy b/Pulse/rooms/Room5/Room5.yy index 47f2bc0..b95f242 100644 --- a/Pulse/rooms/Room5/Room5.yy +++ b/Pulse/rooms/Room5/Room5.yy @@ -10,13 +10,15 @@ {"name":"inst_51DE3E1F","path":"rooms/Room5/Room5.yy",}, {"name":"inst_7BBB16A2","path":"rooms/Room5/Room5.yy",}, {"name":"inst_2F5CD323","path":"rooms/Room5/Room5.yy",}, + {"name":"inst_1FEDF205","path":"rooms/Room5/Room5.yy",}, ], "isDnd": false, "layers": [ {"resourceType":"GMRInstanceLayer","resourceVersion":"1.0","name":"Instances","depth":0,"effectEnabled":true,"effectType":"_effect_glow","gridX":32,"gridY":32,"hierarchyFrozen":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"instances":[ {"resourceType":"GMRInstance","resourceVersion":"1.0","name":"inst_51DE3E1F","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":true,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"objectId":{"name":"Object13","path":"objects/Object13/Object13.yy",},"properties":[],"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":608.0,"y":376.0,}, {"resourceType":"GMRInstance","resourceVersion":"1.0","name":"inst_7BBB16A2","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":true,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"objectId":{"name":"snow","path":"objects/snow/snow.yy",},"properties":[],"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":651.0,"y":365.0,}, - {"resourceType":"GMRInstance","resourceVersion":"1.0","name":"inst_2F5CD323","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"objectId":{"name":"fire","path":"objects/fire/fire.yy",},"properties":[],"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":728.0,"y":598.0,}, + {"resourceType":"GMRInstance","resourceVersion":"1.0","name":"inst_2F5CD323","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":true,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"objectId":{"name":"fire","path":"objects/fire/fire.yy",},"properties":[],"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":728.0,"y":598.0,}, + {"resourceType":"GMRInstance","resourceVersion":"1.0","name":"inst_1FEDF205","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"objectId":{"name":"Object12","path":"objects/Object12/Object12.yy",},"properties":[],"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":627.0,"y":426.0,}, ],"layers":[],"properties":[ {"name":"g_GlowRadius","type":0,"value":"398",}, {"name":"g_GlowQuality","type":0,"value":"6.05",}, @@ -24,9 +26,9 @@ {"name":"g_GlowGamma","type":0,"value":"0.4",}, {"name":"g_GlowAlpha","type":0,"value":"1",}, ],"userdefinedDepth":false,"visible":true,}, - {"resourceType":"GMRBackgroundLayer","resourceVersion":"1.0","name":"Backgrounds_2","animationFPS":15.0,"animationSpeedType":0,"colour":4278190080,"depth":100,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"properties":[],"spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":true,"vspeed":0.0,"vtiled":false,"x":0,"y":0,}, - {"resourceType":"GMRBackgroundLayer","resourceVersion":"1.0","name":"Backgrounds_1","animationFPS":15.0,"animationSpeedType":0,"colour":4279769112,"depth":200,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"properties":[],"spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":false,"vspeed":0.0,"vtiled":false,"x":0,"y":0,}, - {"resourceType":"GMRBackgroundLayer","resourceVersion":"1.0","name":"Background","animationFPS":15.0,"animationSpeedType":0,"colour":4288240189,"depth":300,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"properties":[],"spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":false,"vspeed":0.0,"vtiled":false,"x":0,"y":0,}, + {"resourceType":"GMRBackgroundLayer","resourceVersion":"1.0","name":"Backgrounds_2","animationFPS":15.0,"animationSpeedType":0,"colour":1577058304,"depth":100,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"properties":[],"spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":true,"vspeed":0.0,"vtiled":false,"x":0,"y":0,}, + {"resourceType":"GMRBackgroundLayer","resourceVersion":"1.0","name":"Backgrounds_1","animationFPS":15.0,"animationSpeedType":0,"colour":4279769112,"depth":200,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"properties":[],"spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":true,"vspeed":0.0,"vtiled":false,"x":0,"y":0,}, + {"resourceType":"GMRBackgroundLayer","resourceVersion":"1.0","name":"Background","animationFPS":15.0,"animationSpeedType":0,"colour":4288240189,"depth":300,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"properties":[],"spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":true,"vspeed":0.0,"vtiled":false,"x":0,"y":0,}, ], "parent": { "name": "Pulse", diff --git a/Pulse/scripts/Pulse/Pulse.gml b/Pulse/scripts/Pulse/Pulse.gml index 903f874..64f67cf 100644 --- a/Pulse/scripts/Pulse/Pulse.gml +++ b/Pulse/scripts/Pulse/Pulse.gml @@ -1,3 +1,5 @@ + + function __pulse_lookup_system(_name) { var system_found = 0 /// 0 = found , 1 = not found ,2 = not found with default name @@ -111,7 +113,6 @@ function pulse_local_emitter(__part_system=__PULSE_DEFAULT_SYS_NAME,__part_type= part_type = __pulse_lookup_particle(__part_type) - //emitter form stencil_mode = __PULSE_DEFAULT_EMITTER_STENCIL_MODE form_mode = __PULSE_DEFAULT_EMITTER_FORM_MODE @@ -416,7 +417,11 @@ function pulse_local_emitter(__part_system=__PULSE_DEFAULT_SYS_NAME,__part_type= { if is_instanceof(_force,pulse_force) { - array_push(local_forces,_force) + var _i = array_get_index(local_forces,_force) + if _i != -1 + { + array_delete(local_forces,_i,1) + } } return self @@ -480,24 +485,24 @@ function pulse_local_emitter(__part_system=__PULSE_DEFAULT_SYS_NAME,__part_type= } if !_cache { - if part_system.treshold != 0 && ( time_source_get_state(part_system.count) != time_source_state_active) + if part_system.threshold != 0 && ( time_source_get_state(part_system.count) != time_source_state_active) { /* this method reduces the amount of particles too much, essentially killing the system var _current_particles = part_particles_count(part_system.index)+(_request*part_system.factor*global.pulse.particle_factor) - if _current_particles > part_system.treshold + if _current_particles > part_system.threshold { - part_system.factor *= (part_system.treshold/_current_particles) + part_system.factor *= (part_system.threshold/_current_particles) } else { - part_system.factor = (_current_particles/part_system.treshold) + part_system.factor = (_current_particles/part_system.threshold) } */ //This method seems to be good only - if _amount_request >= part_system.treshold + if _amount_request >= part_system.threshold { - part_system.factor *= (part_system.treshold/_amount_request) + part_system.factor *= (part_system.threshold/_amount_request) } time_source_reset(part_system.count) diff --git a/Pulse/scripts/Pulse_Default_config/Pulse_Default_config.gml b/Pulse/scripts/Pulse_Default_config/Pulse_Default_config.gml index 1add9cc..374e7ce 100644 --- a/Pulse/scripts/Pulse_Default_config/Pulse_Default_config.gml +++ b/Pulse/scripts/Pulse_Default_config/Pulse_Default_config.gml @@ -1,3 +1,4 @@ +// Color mode use internally to set to particles enum __PULSE_COLOR_MODE { COLOR, @@ -24,6 +25,7 @@ enum PULSE_RANDOM ANIM_CURVE = 21, EVEN = 22, } +// Color mode used by emitter enum PULSE_COLOR { A_TO_B_RGB =30, diff --git a/Pulse/scripts/Pulse_License/Pulse_License.gml b/Pulse/scripts/Pulse_License/Pulse_License.gml index 0e33149..57d64cb 100644 --- a/Pulse/scripts/Pulse_License/Pulse_License.gml +++ b/Pulse/scripts/Pulse_License/Pulse_License.gml @@ -1,4 +1,7 @@ /* +PULSE v 0.6.00 +2023.09.10 + Pulse is a Particle Library for GameMaker, made by Matias 'Delfos' Poggini (c) 2023, MIT License. diff --git a/Pulse/scripts/Pulse_Maps/Pulse_Maps.gml b/Pulse/scripts/Pulse_Maps/Pulse_Maps.gml index 4ed686b..f7adcaa 100644 --- a/Pulse/scripts/Pulse_Maps/Pulse_Maps.gml +++ b/Pulse/scripts/Pulse_Maps/Pulse_Maps.gml @@ -115,4 +115,6 @@ function __pulse_map(_map) constructor offset_v = y; return self } -} \ No newline at end of file +} + + diff --git a/Pulse/scripts/Pulse_Particles/Pulse_Particles.gml b/Pulse/scripts/Pulse_Particles/Pulse_Particles.gml index deace0a..0a42dcf 100644 --- a/Pulse/scripts/Pulse_Particles/Pulse_Particles.gml +++ b/Pulse/scripts/Pulse_Particles/Pulse_Particles.gml @@ -31,7 +31,7 @@ function __pulse_system (_name,_layer= -1,_persistent=true) constructor depth = 0; } - treshold = 0 + threshold = 0 draw = true; draw_oldtonew = true; @@ -234,18 +234,18 @@ function __pulse_system (_name,_layer= -1,_persistent=true) constructor count = time_source_create(time_source_game,__PULSE_DEFAULT_COUNT_TIMER,time_source_units_frames,function() { - if index != -1 && treshold > 0 + if index != -1 && threshold > 0 { var _current_particles = part_particles_count(index) - // if there are more particles than desired treshold - if _current_particles-treshold > treshold*.1 + // if there are more particles than desired threshold + if _current_particles-threshold > threshold*.1 { - factor *= (treshold/_current_particles) + factor *= (threshold/_current_particles) } - else if treshold-_current_particles > treshold*.1 + else if threshold-_current_particles > threshold*.1 { - factor /= (_current_particles/treshold) + factor /= (_current_particles/threshold) } else if _current_particles == 0 { @@ -282,7 +282,7 @@ function __pulse_particle (_name) constructor death_number = 1 step_type = undefined step_number = 1 - dynamics = [] + prelaunch = function(_struct){} time_factor = 1 scale_factor = 1 altered_acceleration = 0 @@ -299,8 +299,26 @@ function __pulse_particle (_name) constructor #endregion static set_size = function(_min,_max,_incr=0,_wiggle=0) { - size =[_min,_max,_incr,_wiggle] - part_type_size(index,size[0],size[1],size[2],size[3]) + if is_array(_min) or is_array(_max) or is_array(_incr) or is_array(_wiggle) + { + size[0]= is_array(_min) ? _min[0] : _min + size[1]= is_array(_min) ? _min[1] : _min + size[2]= is_array(_max) ? _max[0] : _max + size[3]= is_array(_max) ? _max[1] : _max + size[4]= is_array(_incr) ? _incr[0] : _incr + size[5]= is_array(_incr) ? _incr[1] : _incr + size[6]= is_array(_wiggle) ? _wiggle[0] : _wiggle + size[7]= is_array(_wiggle) ? _wiggle[1] : _wiggle + + part_type_size_x(index,size[0],size[2],size[4],size[6]) + part_type_size_y(index,size[1],size[3],size[5],size[7]) + + } + else + { + size =[_min,_min,_max,_max,_incr,_incr,_wiggle,_wiggle] + part_type_size(index,size[0],size[2],size[4],size[6]) + } return self } static set_scale = function(scalex,_scaley) @@ -315,24 +333,58 @@ function __pulse_particle (_name) constructor part_type_life(index,life[0],life[1]) return self } - static set_color = function(color1,color2=-1,color3=-1) + static set_color = function(color1,color2=-1,color3=-1,_mode = __PULSE_COLOR_MODE.COLOR) { if color3 != -1 { - color=[color1,color2,color3] - part_type_color3(index,color[0],color[1],color[2]) + color=[color1,color2,color3] + + switch(_mode) + { + case __PULSE_COLOR_MODE.COLOR : + part_type_color3(index,color[0],color[1],color[2]) + break + case __PULSE_COLOR_MODE.RGB : + if is_array(color1) && is_array(color2) && is_array(color3) + { + part_type_color_rgb(index,color[0][0],color[0][1],color[1][0],color[1][1],color[2][0],color[2][1]) + } + else + { + part_type_color_rgb(index,color[0],color[0],color[1],color[1],color[2],color[2]) + } + break + case __PULSE_COLOR_MODE.HSV : + if is_array(color1) && is_array(color2) && is_array(color3) + { + part_type_color_hsv(index,color[0][0],color[0][1],color[1][0],color[1][1],color[2][0],color[2][1]) + } + else + { + part_type_color_hsv(index,color[0],color[0],color[1],color[1],color[2],color[2]) + } + break + } } else if color2 != -1 { + if _mode == __PULSE_COLOR_MODE.COLOR + { + part_type_color2(index,color[0],color[1]) + } + else if _mode == __PULSE_COLOR_MODE.MIX + { + part_type_color_mix(index,color[0],color[1]) + } color=[color1,color2] - part_type_color2(index,color[0],color[1]) } else { + _mode = __PULSE_COLOR_MODE.COLOR color=[color1] part_type_color1(index,color[0]) } - color_mode = __PULSE_COLOR_MODE.COLOR + color_mode = _mode return self } static set_alpha = function(alpha1,alpha2=-1,alpha3=-1) @@ -373,11 +425,15 @@ function __pulse_particle (_name) constructor part_type_shape(index,shape) return self } - static set_sprite = function(_sprite,_animate=false,_stretch=false,_random=true) + static set_sprite = function(_sprite,_animate=false,_stretch=false,_random=true,_subimg=0) { - sprite = [_sprite,_animate,_stretch,_random] + sprite = [_sprite,_animate,_stretch,_random,_subimg] set_to_sprite = true - part_type_sprite(index,sprite[0],sprite[1],sprite[2],sprite[3]) + part_type_sprite(index,_sprite,_animate,_stretch,_random) + if _random == false + { + part_type_subimage(index,_subimg) + } return self } static set_orient = function(_min,_max,_incr=0,_wiggle=0,_relative=true) @@ -432,6 +488,7 @@ function __pulse_particle (_name) constructor } */ + #region TRANSFORMATION HELPERS /// @description It changes Life, Speed and Gravity so the particle does the same trajectory but at a different time factor (faster or slower) @@ -445,12 +502,14 @@ function __pulse_particle (_name) constructor time_factor = time_factor*_factor set_life(life[0]*_factor,life[1]*_factor) - + //flip percentage _factor = 1/_factor set_speed(speed[0]*_factor,speed[1]*_factor,speed[2]*_factor,speed[3]*_factor) set_gravity(gravity[0]*_factor,gravity[1]) + + return self } @@ -476,7 +535,7 @@ function __pulse_particle (_name) constructor set_gravity(gravity[0]*_factor,gravity[1]) if _shrink_particle { - set_size(size[0]*_factor,size[1]*_factor) + set_size([size[0]*_factor,size[1]*_factor],[size[2]*_factor,size[3]*_factor],[size[4]*_factor,size[5]*_factor],[size[6]*_factor,size[7]*_factor]) } return self @@ -501,31 +560,52 @@ function __pulse_particle (_name) constructor /// @param {Real} _wiggle : +/- amount of pixels the particle can vary step to step /// @param {Real} _mode : 0 = average of width and height of sprite, 1 = use as reference the largest side, 2 = use the smallest side static set_size_abs = function(_min,_max,_incr=0,_wiggle=0,_mode=0) - { - if sprite == undefined {} - - if _mode == 0 // average of width and height - { - var _size = mean(sprite_get_height(sprite[0]),sprite_get_width(sprite[0])) - } - else if _mode == 1 // take the largest of the sprite sides - { - var _size = max(sprite_get_height(sprite[0]),sprite_get_width(sprite[0])) - } - else // or take the smallest { - var _size = min(sprite_get_height(sprite[0]),sprite_get_width(sprite[0])) - } - - _min = _min/_size - _max = _max/_size - _incr = _incr/_size - _wiggle = _wiggle/_size + if !set_to_sprite + { + return self + } - size =[_min,_max,_incr,_wiggle] - part_type_size(index,size[0],size[1],size[2],size[3]) - return self - } + if _mode == 0 // average of width and height + { + var _size = mean(sprite_get_height(sprite[0]),sprite_get_width(sprite[0])) + } + else if _mode == 1 // take the largest of the sprite sides + { + var _size = max(sprite_get_height(sprite[0]),sprite_get_width(sprite[0])) + } + else // or take the smallest + { + var _size = min(sprite_get_height(sprite[0]),sprite_get_width(sprite[0])) + } + + if is_array(_min) or is_array(_max) or is_array(_incr) or is_array(_wiggle) + { + size[0]= is_array(_min) ? _min[0]/_size : _min/_size + size[1]= is_array(_min) ? _min[1]/_size : _min/_size + size[2]= is_array(_max) ? _max[0]/_size : _max/_size + size[3]= is_array(_max) ? _max[1]/_size : _max/_size + size[4]= is_array(_incr) ? _incr[0]/_size : _incr/_size + size[5]= is_array(_incr) ? _incr[1]/_size : _incr/_size + size[6]= is_array(_wiggle) ? _wiggle[0]/_size : _wiggle/_size + size[7]= is_array(_wiggle) ? _wiggle[1]/_size : _wiggle/_size + + part_type_size_x(index,size[0],size[2],size[4],size[6]) + part_type_size_y(index,size[1],size[3],size[5],size[7]) + + } + else + { + _min = _min/_size + _max = _max/_size + _incr = _incr/_size + _wiggle = _wiggle/_size + size =[_min,_min,_max,_max,_incr,_incr,_wiggle,_wiggle] + part_type_size(index,size[0],size[2],size[4],size[6]) + } + + return self + } /* static set_weighted_acc = function(_final_speed) { @@ -540,6 +620,9 @@ function __pulse_particle (_name) constructor static reset = function() { + time_factor = 1 + scale_factor = 1 + part_type_scale(index,scale[0],scale[1]); part_type_size(index,size[0],size[1],size[2],size[3]) part_type_life(index,life[0],life[1]) @@ -611,6 +694,8 @@ function __pulse_particle (_name) constructor part_type_color_hsv(particle_index,r_h,r_h,g_s,g_s,b_v,b_v) } + other.prelaunch(_struct) + part_particles_create(part_system_index, x_origin,y_origin,particle_index, 1); } } diff --git a/Pulse/scripts/Scr_Gaussian/Scr_Gaussian.gml b/Pulse/scripts/Scr_Gaussian/Scr_Gaussian.gml deleted file mode 100644 index 2163bab..0000000 --- a/Pulse/scripts/Scr_Gaussian/Scr_Gaussian.gml +++ /dev/null @@ -1,48 +0,0 @@ -/// @func gauss(m, sd) -/// -/// @desc Returns a pseudo-random number with an exact Gaussian distribution. -/// -/// @param {real} m mean value of the distribution -/// @param {real} sd standard deviation of distribution -/// -/// @return {real} random number with Gaussian distribution -/// -/// GMLscripts.com/license -#region License -/* - Copyright (c) 2007-2022, GMLscripts.com - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source distribution. - -GMLscripts.com/license -*/ -#endregion - -function gauss(m, sd) -{ - var x1, x2, w; - do { - x1 = random(2) - 1; - x2 = random(2) - 1; - w = x1 * x1 + x2 * x2; - } until (0 < w && w < 1); - - w = sqrt(-2 * ln(w) / w); - return m + sd * x1 * w; -} \ No newline at end of file diff --git a/Pulse/scripts/Scr_Gaussian/Scr_Gaussian.yy b/Pulse/scripts/Scr_Gaussian/Scr_Gaussian.yy deleted file mode 100644 index 720c947..0000000 --- a/Pulse/scripts/Scr_Gaussian/Scr_Gaussian.yy +++ /dev/null @@ -1,11 +0,0 @@ -{ - "resourceType": "GMScript", - "resourceVersion": "1.0", - "name": "Scr_Gaussian", - "isCompatibility": false, - "isDnD": false, - "parent": { - "name": "Pulse", - "path": "folders/Pulse.yy", - }, -} \ No newline at end of file diff --git a/Pulse/sprites/flame_01/flame_01.yy b/Pulse/sprites/flame_01/flame_01.yy index b4e6f05..7683be5 100644 --- a/Pulse/sprites/flame_01/flame_01.yy +++ b/Pulse/sprites/flame_01/flame_01.yy @@ -26,8 +26,8 @@ "nineSlice": null, "origin": 9, "parent": { - "name": "Pulse", - "path": "Pulse.yyp", + "name": "Particle Shapes", + "path": "folders/Particle Shapes.yy", }, "preMultiplyAlpha": false, "sequence": { diff --git a/Pulse/sprites/pt_snow_cartoon/81e75ac5-a31f-43ad-8727-931f92ed9858.png b/Pulse/sprites/pt_snow_cartoon/81e75ac5-a31f-43ad-8727-931f92ed9858.png new file mode 100644 index 0000000000000000000000000000000000000000..ff31f9a3a97e1b806408502f91b5cfaa18a84060 GIT binary patch literal 6979 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 literal 0 HcmV?d00001 diff --git a/Pulse/sprites/pt_snow_cartoon/layers/81e75ac5-a31f-43ad-8727-931f92ed9858/f8938f5f-23f3-4eb0-af64-4a11e568d01b.png b/Pulse/sprites/pt_snow_cartoon/layers/81e75ac5-a31f-43ad-8727-931f92ed9858/f8938f5f-23f3-4eb0-af64-4a11e568d01b.png new file mode 100644 index 0000000000000000000000000000000000000000..ff31f9a3a97e1b806408502f91b5cfaa18a84060 GIT binary patch literal 6979 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 literal 0 HcmV?d00001 diff --git a/Pulse/sprites/pt_snow_cartoon/pt_snow_cartoon.yy b/Pulse/sprites/pt_snow_cartoon/pt_snow_cartoon.yy new file mode 100644 index 0000000..6b5e09c --- /dev/null +++ b/Pulse/sprites/pt_snow_cartoon/pt_snow_cartoon.yy @@ -0,0 +1,74 @@ +{ + "resourceType": "GMSprite", + "resourceVersion": "1.0", + "name": "pt_snow_cartoon", + "bbox_bottom": 98, + "bbox_left": 2, + "bbox_right": 95, + "bbox_top": 4, + "bboxMode": 0, + "collisionKind": 1, + "collisionTolerance": 0, + "DynamicTexturePage": false, + "edgeFiltering": false, + "For3D": false, + "frames": [ + {"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"81e75ac5-a31f-43ad-8727-931f92ed9858",}, + ], + "gridX": 0, + "gridY": 0, + "height": 100, + "HTile": false, + "layers": [ + {"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"f8938f5f-23f3-4eb0-af64-4a11e568d01b","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,}, + ], + "nineSlice": null, + "origin": 4, + "parent": { + "name": "Particle Shapes", + "path": "folders/Particle Shapes.yy", + }, + "preMultiplyAlpha": false, + "sequence": { + "resourceType": "GMSequence", + "resourceVersion": "1.4", + "name": "pt_snow_cartoon", + "autoRecord": true, + "backdropHeight": 768, + "backdropImageOpacity": 0.5, + "backdropImagePath": "", + "backdropWidth": 1366, + "backdropXOffset": 0.0, + "backdropYOffset": 0.0, + "events": {"resourceType":"KeyframeStore","resourceVersion":"1.0","Keyframes":[],}, + "eventStubScript": null, + "eventToFunction": {}, + "length": 1.0, + "lockOrigin": false, + "moments": {"resourceType":"KeyframeStore","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","resourceVersion":"1.0","Keyframes":[ + {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"81e75ac5-a31f-43ad-8727-931f92ed9858","path":"sprites/pt_snow_cartoon/pt_snow_cartoon.yy",},},},"Disabled":false,"id":"747e3f36-b6e1-4c3d-ad7c-14baf48830b5","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, + ],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange": null, + "volume": 1.0, + "xorigin": 50, + "yorigin": 50, + }, + "swatchColours": null, + "swfPrecision": 2.525, + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "type": 0, + "VTile": false, + "width": 100, +} \ No newline at end of file