EMI INDO's Recent Forum Activity

  • Manual Porting Plugin

    1. editorTextPlugin
    2. drawingPlugin

    Update editorTextPlugin to addon SDK v2

    📁 filePath: 'a/plugin-sdk/v2/editorTextPlugin/addon.json'
    ❌ SDK v1: "sdk-version": 1, ➝ ✅ SDK v2: "sdk-version": 2,
    
    📁 filePath: 'a/plugin-sdk/v2/editorTextPlugin/c3runtime/actions.js'
    ❌ SDK v1: const C3 = self.C3; ➝ ✅ SDK v2: const C3 = globalThis.C3;
    
    📁 filePath: 'a/plugin-sdk/v2/editorTextPlugin/c3runtime/conditions.js'
    ❌ SDK v1: const C3 = self.C3; ➝ ✅ SDK v2: const C3 = globalThis.C3;
    
    📁 filePath: 'a/plugin-sdk/v2/editorTextPlugin/c3runtime/expressions.js'
    ❌ SDK v1: const C3 = self.C3; ➝ ✅ SDK v2: const C3 = globalThis.C3;
    
    📁 filePath: 'a/plugin-sdk/v2/editorTextPlugin/c3runtime/instance.js'
    ❌ SDK v1: const C3 = self.C3; ➝ ✅ SDK v2: const C3 = globalThis.C3;
    ❌ SDK v1: C3.Plugins.MyCompany_TextPlugin.Instance = class MyTextInstance extends C3.SDKWorldInstanceBase ➝ ✅ SDK v2: C3.Plugins.MyCompany_TextPlugin.Instance = class MyTextInstance extends globalThis.ISDKWorldInstanceBase
    ❌ SDK v1: constructor(inst, properties) ➝ ✅ SDK v2: constructor()
    ❌ SDK v1: super(inst); ➝ ✅ SDK v2: super();
    ✅ New SDK v2: const properties = this._getInitProperties();
    ❌ SDK v1: Release() ➝ ✅ SDK v2: _release()
    ❌ SDK v1: super.Release(); ➝ ✅ SDK v2: super._release();
    ❌ SDK v1: _MaybeCreateRendererText(renderer) ➝ ✅ SDK v2: _maybeCreateRendererText(renderer)
    ❌ SDK v1: this._rendererText.SetIsAsync(false); ➝ ✅ SDK v2: this._rendererText = renderer.createRendererText();
    ✅ New SDK v2: this._rendererText.sizePt = 12;
    ❌ SDK v1: Draw(renderer) ➝ ✅ SDK v2: _draw(renderer)
    ✅ New SDK v2: this._maybeCreateRendererText(renderer);
    ✅ New SDK v2: 
    ✅ New SDK v2: const layer = this.layer;
    ✅ New SDK v2: const textZoom = layer.renderScale;
    ✅ New SDK v2: this._rendererText.setSize(this.width, this.height, textZoom);
    ✅ New SDK v2: 
    ✅ New SDK v2: this._rendererText.fontFace = this._font;
    ✅ New SDK v2: this._rendererText.text = this._text;
    ✅ New SDK v2: 
    ✅ New SDK v2: let quad = this.getBoundingQuad();
    ✅ New SDK v2: const texture = this._rendererText.getTexture();
    ✅ New SDK v2: 
    ✅ New SDK v2: 
    ❌ SDK v1: if (wi.GetAngle() === 0 && wi.GetLayer().GetAngle() === 0) ➝ ✅ SDK v2: if (this.angle === 0 && layer.angle === 0)
    ❌ SDK v1: tempQuad.setFromRect(tempRect); ➝ ✅ SDK v2: const [dl, dt] = layer.layerToDrawSurface(quad.p1.x, quad.p1.y);
    ✅ New SDK v2: const [dr, db] = layer.layerToDrawSurface(quad.p3.x, quad.p3.y);
    ✅ New SDK v2: const ox = Math.round(dl) - dl;
    ✅ New SDK v2: const oy = Math.round(dt) - dt;
    ✅ New SDK v2: quad = new DOMQuad(new DOMPoint(dl + ox, dt + oy),
    ✅ New SDK v2: new DOMPoint(dr + ox, dt + oy),
    ✅ New SDK v2: new DOMPoint(dr + ox, db + oy),
    ✅ New SDK v2: new DOMPoint(dl + ox, db + oy));
    ❌ SDK v1: this._runtime.GetCanvasManager().SetDeviceTransform(renderer); ➝ ✅ SDK v2: renderer.setDeviceTransform();
    ❌ SDK v1: renderer.Quad3(tempQuad, this._rendererText.GetTexRect()); ➝ ✅ SDK v2: renderer.setTexture(texture);
    ✅ New SDK v2: renderer.quad3(quad, this._rendererText.getTexRect());
    ❌ SDK v1: layer._SetTransform(renderer); ➝ ✅ SDK v2: renderer.setLayerTransform(layer);
    ❌ SDK v1: let offY = 0; ➝ ✅ SDK v2: let ox = 0;
    ✅ New SDK v2: let oy = 0;
    ❌ SDK v1: if (this._runtime.IsPixelRoundingEnabled()) ➝ ✅ SDK v2: if (this.runtime.isPixelRoundingEnabled)
    ❌ SDK v1: quad = tempQuad; ➝ ✅ SDK v2: ox = Math.round(quad.p1.x) - quad.p1.x;
    ✅ New SDK v2: oy = Math.round(quad.p1.y) - quad.p1.y;
    ✅ New SDK v2: 
    ✅ New SDK v2: if (ox !== 0 || oy !== 0)
    ✅ New SDK v2: {
    ✅ New SDK v2: quad = new DOMQuad(new DOMPoint(quad.p1.x + ox, quad.p1.y + oy),
    ✅ New SDK v2: new DOMPoint(quad.p2.x + ox, quad.p2.y + oy),
    ✅ New SDK v2: new DOMPoint(quad.p3.x + ox, quad.p3.y + oy),
    ✅ New SDK v2: new DOMPoint(quad.p4.x + ox, quad.p4.y + oy));
    ✅ New SDK v2: }
    ❌ SDK v1: renderer.Quad3(quad, this._rendererText.GetTexRect()); ➝ ✅ SDK v2: renderer.setTexture(texture);
    ✅ New SDK v2: renderer.quad3(quad, this._rendererText.getTexRect());
    ❌ SDK v1: SaveToJson() ➝ ✅ SDK v2: _saveToJson()
    ❌ SDK v1: LoadFromJson(o) ➝ ✅ SDK v2: _loadFromJson(o)
    ❌ SDK v1: _SetText(text) ➝ ✅ SDK v2: _setText(text)
    ❌ SDK v1: _GetText() ➝ ✅ SDK v2: _getText()
    
    📁 filePath: 'a/plugin-sdk/v2/editorTextPlugin/c3runtime/plugin.js'
    ❌ SDK v1: const C3 = self.C3; ➝ ✅ SDK v2: const C3 = globalThis.C3;
    ❌ SDK v1: C3.Plugins.MyCompany_TextPlugin = class MyTextPlugin extends C3.SDKPluginBase ➝ ✅ SDK v2: C3.Plugins.MyCompany_TextPlugin = class MyTextPlugin extends globalThis.ISDKPluginBase
    ❌ SDK v1: constructor(opts) ➝ ✅ SDK v2: constructor()
    ❌ SDK v1: super.Release(); ➝ ✅ SDK v2: super();
    
    📁 filePath: 'a/plugin-sdk/v2/editorTextPlugin/c3runtime/type.js'
    ❌ SDK v1: const C3 = self.C3; ➝ ✅ SDK v2: const C3 = globalThis.C3;
    ❌ SDK v1: C3.Plugins.MyCompany_TextPlugin.Type = class MyTextType extends C3.SDKTypeBase ➝ ✅ SDK v2: C3.Plugins.MyCompany_TextPlugin.Type = class MyTextType extends globalThis.ISDKObjectTypeBase
    ❌ SDK v1: constructor(objectClass) ➝ ✅ SDK v2: constructor()
    ❌ SDK v1: super(objectClass); ➝ ✅ SDK v2: super();
    ❌ SDK v1: OnCreate() ➝ ✅ SDK v2: _onCreate()
    
    📁 filePath: 'a/plugin-sdk/v2/editorTextPlugin/instance.js'
    ❌ SDK v1: const SDK = self.SDK; ➝ ✅ SDK v2: const SDK = globalThis.SDK;
    
    📁 filePath: 'a/plugin-sdk/v2/editorTextPlugin/plugin.js'
    ❌ SDK v1: const SDK = self.SDK; ➝ ✅ SDK v2: const SDK = globalThis.SDK;
    ❌ SDK v1: this._info.SetVersion(PLUGIN_VERSION); ➝ ✅ SDK v2: this._info.SetName(globalThis.lang(".name"));
    ✅ New SDK v2: this._info.SetDescription(globalThis.lang(".description"));
    ❌ SDK v1: this._info.SetHelpUrl(self.lang(".help-url")); ➝ ✅ SDK v2: this._info.SetHelpUrl(globalThis.lang(".help-url"));
    
    📁 filePath: 'a/plugin-sdk/v2/editorTextPlugin/type.js'
    ❌ SDK v1: const SDK = self.SDK; ➝ ✅ SDK v2: const SDK = globalThis.SDK;
    
    📁 filePath: 'a/plugin-sdk/v2/drawingPlugin/addon.json'
    ❌ SDK v1: "sdk-version": 1, ➝ ✅ SDK v2: "sdk-version": 2,
    
    📁 filePath: 'a/plugin-sdk/v2/drawingPlugin/c3runtime/actions.js'
    ❌ SDK v1: const C3 = self.C3; ➝ ✅ SDK v2: const C3 = globalThis.C3;
    ❌ SDK v1: alert("Test property = " + this._GetTestProperty()); ➝ ✅ SDK v2: alert("Test property = " + this._getTestProperty());
    
    📁 filePath: 'a/plugin-sdk/v2/drawingPlugin/c3runtime/conditions.js'
    ❌ SDK v1: const C3 = self.C3; ➝ ✅ SDK v2: const C3 = globalThis.C3;
    
    📁 filePath: 'a/plugin-sdk/v2/drawingPlugin/c3runtime/expressions.js'
    ❌ SDK v1: const C3 = self.C3; ➝ ✅ SDK v2: const C3 = globalThis.C3;
    
    📁 filePath: 'a/plugin-sdk/v2/drawingPlugin/c3runtime/instance.js'
    ❌ SDK v1: const C3 = self.C3; ➝ ✅ SDK v2: const C3 = globalThis.C3;
    ❌ SDK v1: C3.Plugins.MyCompany_DrawingPlugin.Instance = class DrawingInstance extends C3.SDKWorldInstanceBase ➝ ✅ SDK v2: C3.Plugins.MyCompany_DrawingPlugin.Instance = class DrawingInstance extends globalThis.ISDKWorldInstanceBase
    ❌ SDK v1: constructor(inst, properties) ➝ ✅ SDK v2: constructor()
    ❌ SDK v1: super(inst); ➝ ✅ SDK v2: super();
    ✅ New SDK v2: const properties = this._getInitProperties();
    ❌ SDK v1: Release() ➝ ✅ SDK v2: _release()
    ❌ SDK v1: super.Release(); ➝ ✅ SDK v2: super._release();
    ❌ SDK v1: Draw(renderer) ➝ ✅ SDK v2: _draw(renderer)
    ❌ SDK v1: const texture = imageInfo.GetTexture(); ➝ ✅ SDK v2: const imageInfo = this.objectType.getImageInfo();
    ✅ New SDK v2: const texture = imageInfo.getTexture(renderer);
    ❌ SDK v1: renderer.SetTexture(texture); ➝ ✅ SDK v2: let quad = this.getBoundingQuad();
    ✅ New SDK v2: const rcTex = imageInfo.getTexRect();
    ❌ SDK v1: else ➝ ✅ SDK v2: renderer.setTexture(texture);
    ✅ New SDK v2: 
    ✅ New SDK v2: if (this.runtime.isPixelRoundingEnabled)
    ❌ SDK v1: renderer.Quad3(quad, rcTex); ➝ ✅ SDK v2: const ox = Math.round(this.x) - this.x;
    ✅ New SDK v2: const oy = Math.round(this.y) - this.y;
    ✅ New SDK v2: 
    ✅ New SDK v2: if (ox !== 0 && oy !== 0)
    ✅ New SDK v2: {
    ✅ New SDK v2: quad = new DOMQuad(new DOMPoint(quad.p1.x + ox, quad.p1.y + oy),
    ✅ New SDK v2: new DOMPoint(quad.p2.x + ox, quad.p2.y + oy),
    ✅ New SDK v2: new DOMPoint(quad.p3.x + ox, quad.p3.y + oy),
    ✅ New SDK v2: new DOMPoint(quad.p4.x + ox, quad.p4.y + oy));
    ✅ New SDK v2: }
    ✅ New SDK v2: 
    ✅ New SDK v2: renderer.quad3(quad, rcTex);
    ❌ SDK v1: SaveToJson() ➝ ✅ SDK v2: _saveToJson()
    ❌ SDK v1: LoadFromJson(o) ➝ ✅ SDK v2: _loadFromJson(o)
    ❌ SDK v1: _SetTestProperty(n) ➝ ✅ SDK v2: _setTestProperty(n)
    ❌ SDK v1: _GetTestProperty() ➝ ✅ SDK v2: _getTestProperty()
    
    📁 filePath: 'a/plugin-sdk/v2/drawingPlugin/c3runtime/plugin.js'
    ❌ SDK v1: const C3 = self.C3; ➝ ✅ SDK v2: const C3 = globalThis.C3;
    ❌ SDK v1: C3.Plugins.MyCompany_DrawingPlugin = class DrawingPlugin extends C3.SDKPluginBase ➝ ✅ SDK v2: C3.Plugins.MyCompany_DrawingPlugin = class DrawingPlugin extends globalThis.ISDKPluginBase
    ❌ SDK v1: constructor(opts) ➝ ✅ SDK v2: constructor()
    ❌ SDK v1: super.Release(); ➝ ✅ SDK v2: super();
    
    📁 filePath: 'a/plugin-sdk/v2/drawingPlugin/c3runtime/type.js'
    ❌ SDK v1: const C3 = self.C3; ➝ ✅ SDK v2: const C3 = globalThis.C3;
    ❌ SDK v1: C3.Plugins.MyCompany_DrawingPlugin.Type = class DrawingType extends C3.SDKTypeBase ➝ ✅ SDK v2: C3.Plugins.MyCompany_DrawingPlugin.Type = class DrawingType extends globalThis.ISDKObjectTypeBase
    ❌ SDK v1: constructor(objectClass) ➝ ✅ SDK v2: constructor()
    ❌ SDK v1: super(objectClass); ➝ ✅ SDK v2: super();
    ❌ SDK v1: Release() ➝ ✅ SDK v2: _onCreate()
    ❌ SDK v1: this.GetImageInfo().LoadAsset(this._runtime); ➝ ✅ SDK v2: this.runtime.assets.loadImageAsset(this.getImageInfo());
    ❌ SDK v1: LoadTextures(renderer) ➝ ✅ SDK v2: _loadTextures(renderer)
    ❌ SDK v1: sampling: this._runtime.GetSampling() ➝ ✅ SDK v2: return renderer.loadTextureForImageInfo(this.getImageInfo(), {
    ✅ New SDK v2: sampling: this.runtime.sampling
    ❌ SDK v1: ReleaseTextures() ➝ ✅ SDK v2: _releaseTextures(renderer)
    ❌ SDK v1: this.GetImageInfo().ReleaseTexture(); ➝ ✅ SDK v2: renderer.releaseTextureForImageInfo(this.getImageInfo());
    
    📁 filePath: 'a/plugin-sdk/v2/drawingPlugin/instance.js'
    ❌ SDK v1: const SDK = self.SDK; ➝ ✅ SDK v2: const SDK = globalThis.SDK;
    
    📁 filePath: 'a/plugin-sdk/v2/drawingPlugin/plugin.js'
    ❌ SDK v1: const SDK = self.SDK; ➝ ✅ SDK v2: const SDK = globalThis.SDK;
    ❌ SDK v1: this._info.SetVersion(PLUGIN_VERSION); ➝ ✅ SDK v2: this._info.SetName(globalThis.lang(".name"));
    ✅ New SDK v2: this._info.SetDescription(globalThis.lang(".description"));
    ❌ SDK v1: this._info.SetHelpUrl(self.lang(".help-url")); ➝ ✅ SDK v2: this._info.SetHelpUrl(globalThis.lang(".help-url"));
    
    📁 filePath: 'a/plugin-sdk/v2/drawingPlugin/type.js'
    ❌ SDK v1: const SDK = self.SDK; ➝ ✅ SDK v2: const SDK = globalThis.SDK;
    
    
    
    
  • I mean screenshot of doqqs initial post

    Not untrue, but not quite right.

    On Start of layout: create banner > show false

    in the same aciton block: banner show

    It's better if show false

    Condition on banner load: banner show

    or On Start of layout: create banner > show true

    On Start of layout:

    |_triger once: create banner > show true

  • Are you using my plugin AdmobPro, if there is a problem contact me, and as you can see from the screenshot the logic is not correct.

    cordova.c3addoncsb@gmail.com

  • construct.net/en/game-assets/addons/firebase-web-gt-mobile-gt-1881

    ALL-Firebase-v1.0.0.3

    Fix bug: Auth action > SignIn User With Email And Password.

    New fiture: Firestore leaderboard

    New leaderboard_c3p

    Update: firebase modules v11.3.1

  • Add browser plugins.

    I suggest you add a lot of logs in each action and candition, you will see where the logs are disconnected.

    If you can't find it add as much as possible,

    Example logs 1 to 50, you will see

    1

    2

    3

    4

    23

    24

    25

    disconnected from log 4 you have to check.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Have a great day!

    Check All: https://github.com/EMIINDO?tab=repositories

EMI INDO's avatar

EMI INDO

Member since 22 Sep, 2019

Twitter
EMI INDO has 30 followers

Trophy Case

  • 5-Year Club
  • Forum Contributor Made 100 posts in the forums
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • RTFM Read the fabulous manual
  • Email Verified

Progress

10/44
How to earn trophies