Vs Sonic.exe Psych Engine Port ❲Validated❳
function onSongStart() triggerEvent('Screen Shake', '0.05,0.1', '0.2,0.1') setProperty('defaultCamZoom', 0.7) end function onBeatHit() if curBeat % 8 == 0 then triggerEvent('Add Camera Zoom', '0.03', '0.03') end end
Example: SONIC_EXE.xml should contain frames like SonicExe idle , SonicExe singLEFT , etc. Create data/characters/SONIC_EXE.json : vs sonic.exe psych engine port
{ "animations": [ {"name": "idle", "anim": "idle", "fps": 24, "loop": true, "indices": []}, {"name": "singLEFT", "anim": "singLEFT", "fps": 24, "loop": false}, {"name": "singDOWN", "anim": "singDOWN", "fps": 24, "loop": false}, {"name": "singUP", "anim": "singUP", "fps": 24, "loop": false}, {"name": "singRIGHT", "anim": "singRIGHT", "fps": 24, "loop": false} ], "position": [700, 100], "camera_position": [0, 0], "flip_x": false, "healthicon": "sonic_exe_icon", "healthbar_colors": [150, 0, 0] } Repeat for , GF , and Sonic.exe (opponent). 3. Stage Porting Create Stage JSON data/stages/sonic_stage.json : function onSongStart() triggerEvent('Screen Shake', '0