Having fun modifying the engine to get the html5 export to work.

letmethink

  • *
  • Posts: 2545
Okay, so I fixed firefox locally through openfl, but messed up collisions slightly (the first time things collide, nothing is triggered - I may just have forgotten to apply my early fix since I jumped to build 8553.

I'll update the game once the fix for collisions is worked out. I'm annoyed because I thought I had ported everything, and know that some variable I have to initialise as 0 rather than just declaring an int but I can't find it.

« Last Edit: August 26, 2015, 03:47:06 pm by letmethink »
~Letmethink

letmethink

  • *
  • Posts: 2545
Great, I remembered how to fix it. I'll upload the new build now. It should work as well in firefox as it does in chrome now. I haven't tested other browsers:

http://www.newgrounds.com/projects/games/896330/preview
~Letmethink

rob1221

  • *
  • Posts: 9473
Confirmed working in Firefox.

ajimundi

  • *
  • Posts: 230
Excellent work. I tried to manually incorporate your GitHub into current weekly release (8529) and it almost worked. It failed at StencylPreloader.hx, which I assume was generated pre-compilation by Stencyl, since it is not in the source files. It says something about BitmapData not having loadFromBase64 field. Any idea what's wrong?
::: It's never too late, unless you're dead. Maybe not even then. :::

Justin

  • *
  • Posts: 4716
Per letmethink's request, I've patched the preloader to work with html5, but you'll need to wait for the next public release for it to be available.
For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

Justin

  • *
  • Posts: 4716
Also, didn't realize you had made a PR. I thought I would be emailed about it, but I guess I don't have notifications set up for that. Anyway, I've merged it and I'm updating Stencyl.
For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

SatriaM

  • *
  • Posts: 4
Per letmethink's request, I've patched the preloader to work with html5, but you'll need to wait for the next public release for it to be available.
Ah, excellent news for new user, looking forward to it. I'm still learning stuffs in Stencyl, but this would be useful for sure. :)
A question, though, would HTML5 export be part of Indie or Studio license?

ajimundi

  • *
  • Posts: 230
Per letmethink's request, I've patched the preloader to work with html5, but you'll need to wait for the next public release for it to be available.
Good to know it's not an error on my part. The last time I do serious coding, I haven't even heard of this GITHub stuffs. I guess I have become obsolete. :D
::: It's never too late, unless you're dead. Maybe not even then. :::

Jon

  • *
  • Posts: 17524
For the interim, while the feature is being vetted, we'll let anyone publish to HTML5 and put a watermark on it until we finalize our plans.

Justin

  • *
  • Posts: 4716
Private release is now up to date with openfl 3.3.2, lime 2.6.1, and letmethink's html5 work.
For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

Justin

  • *
  • Posts: 4716
@letmethink: What's your setup like? I tried a basic game with the updates, no dice.

Code: [Select]
graphics/SheetAnimation.hx:289: characters 10-19 : Unknown identifier : tilesheet
models/Actor.hx:1784: characters 2-34 : com.stencyl.models.ActorAnimation has no field __invalidateMatrix
graphics/shaders/PostProcess.hx:312: characters 15-27 : Int should be lime.graphics.opengl.GLUniformLocation
graphics/shaders/PostProcess.hx:312: characters 15-27 : Int should be js.html.webgl.UniformLocation
graphics/shaders/PostProcess.hx:312: characters 15-27 : For function argument 'location'
graphics/shaders/PostProcess.hx:313: characters 15-26 : Int should be lime.graphics.opengl.GLUniformLocation
graphics/shaders/PostProcess.hx:313: characters 15-26 : Int should be js.html.webgl.UniformLocation
graphics/shaders/PostProcess.hx:313: characters 15-26 : For function argument 'location'
graphics/shaders/PostProcess.hx:314: characters 15-32 : Int should be lime.graphics.opengl.GLUniformLocation
graphics/shaders/PostProcess.hx:314: characters 15-32 : Int should be js.html.webgl.UniformLocation
graphics/shaders/PostProcess.hx:314: characters 15-32 : For function argument 'location'
graphics/shaders/PostProcess.hx:315: characters 15-34 : Int should be lime.graphics.opengl.GLUniformLocation
graphics/shaders/PostProcess.hx:315: characters 15-34 : Int should be js.html.webgl.UniformLocation
graphics/shaders/PostProcess.hx:315: characters 15-34 : For function argument 'location'
graphics/shaders/PostProcess.hx:322: characters 16-20 : Int should be lime.graphics.opengl.GLUniformLocation
graphics/shaders/PostProcess.hx:322: characters 16-20 : Int should be js.html.webgl.UniformLocation
graphics/shaders/PostProcess.hx:322: characters 16-20 : For function argument 'location'
graphics/shaders/Shader.hx:102: characters 2-42 : js.html.webgl.UniformLocation should be Int
behavior/Script.hx:2913: characters 68-73 : openfl.utils.ByteArray should be haxe.io.BytesData
behavior/Script.hx:2913: characters 68-73 : lime.utils.ByteArray should be haxe.io.BytesData
behavior/Script.hx:2913: characters 68-73 : lime.utils.ByteArray should be js.html.ArrayBuffer
behavior/Script.hx:2913: characters 68-73 : For function argument 'b'
behavior/Script.hx:2894: lines 2894-2915 : Missing return String
behavior/Script.hx:4405: characters 2-10 : Accessing this field requires a system platform (php,neko,cpp,etc.)
Engine.hx:2991: characters 4-35 : openfl.display.Graphics has no field __invalidate

My first guess was that you have different defines on your end, such as having openfl legacy turned on or something.
For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

DJEmergency

  • Posts: 170
It works great with Safari!

DJEmergency

  • Posts: 170
Question... I'm on a Mac... How would I export it to HTML5?

letmethink

  • *
  • Posts: 2545
@letmethink: What's your setup like? I tried a basic game with the updates, no dice.

Code: [Select]
graphics/SheetAnimation.hx:289: characters 10-19 : Unknown identifier : tilesheet
models/Actor.hx:1784: characters 2-34 : com.stencyl.models.ActorAnimation has no field __invalidateMatrix
graphics/shaders/PostProcess.hx:312: characters 15-27 : Int should be lime.graphics.opengl.GLUniformLocation
graphics/shaders/PostProcess.hx:312: characters 15-27 : Int should be js.html.webgl.UniformLocation
graphics/shaders/PostProcess.hx:312: characters 15-27 : For function argument 'location'
graphics/shaders/PostProcess.hx:313: characters 15-26 : Int should be lime.graphics.opengl.GLUniformLocation
graphics/shaders/PostProcess.hx:313: characters 15-26 : Int should be js.html.webgl.UniformLocation
graphics/shaders/PostProcess.hx:313: characters 15-26 : For function argument 'location'
graphics/shaders/PostProcess.hx:314: characters 15-32 : Int should be lime.graphics.opengl.GLUniformLocation
graphics/shaders/PostProcess.hx:314: characters 15-32 : Int should be js.html.webgl.UniformLocation
graphics/shaders/PostProcess.hx:314: characters 15-32 : For function argument 'location'
graphics/shaders/PostProcess.hx:315: characters 15-34 : Int should be lime.graphics.opengl.GLUniformLocation
graphics/shaders/PostProcess.hx:315: characters 15-34 : Int should be js.html.webgl.UniformLocation
graphics/shaders/PostProcess.hx:315: characters 15-34 : For function argument 'location'
graphics/shaders/PostProcess.hx:322: characters 16-20 : Int should be lime.graphics.opengl.GLUniformLocation
graphics/shaders/PostProcess.hx:322: characters 16-20 : Int should be js.html.webgl.UniformLocation
graphics/shaders/PostProcess.hx:322: characters 16-20 : For function argument 'location'
graphics/shaders/Shader.hx:102: characters 2-42 : js.html.webgl.UniformLocation should be Int
behavior/Script.hx:2913: characters 68-73 : openfl.utils.ByteArray should be haxe.io.BytesData
behavior/Script.hx:2913: characters 68-73 : lime.utils.ByteArray should be haxe.io.BytesData
behavior/Script.hx:2913: characters 68-73 : lime.utils.ByteArray should be js.html.ArrayBuffer
behavior/Script.hx:2913: characters 68-73 : For function argument 'b'
behavior/Script.hx:2894: lines 2894-2915 : Missing return String
behavior/Script.hx:4405: characters 2-10 : Accessing this field requires a system platform (php,neko,cpp,etc.)
Engine.hx:2991: characters 4-35 : openfl.display.Graphics has no field __invalidate

My first guess was that you have different defines on your end, such as having openfl legacy turned on or something.

I definitely fixed all of those in my PR. Are you sure the latest Stencyl version actually uses my edits? For example, in my edits I commented out line 2991 of Engine.hx, but in the latest private release the line is:
Code: [Select]
l.overlay.graphics.__invalidate();

and it isn't commented out as it should be.
~Letmethink

Justin

  • *
  • Posts: 4716
Ah, ok. I glanced at the files to confirm, and saw something that I thought you had changed, but I guess that was my mistake. Looks like I updated Stencyl with the wrong engine version.
For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)