スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

カテゴリ : スポンサー広告

KAGEXバグ修正まとめ

現バージョンのKAGEXで自分が見つけた限りのバグ。
とりあえず自分で直しておくことを推奨。
※明らかなバグ以外の修正も含んでます。一部バグじゃないかも。

3/28 MainWindow.tjsの修正追加
- 以下2012年 -
12/14 KAGEnvSe.tjsの修正追加
7/25 KAGEnvLevelLayer.tjsの修正追加
7/24 Initialize.tjs, Conductor.tjs, MainWindow.tjsの修正追加
5/10 KAGEnvImage.tjsの修正追加
3/5 AffineLayer.tjsの修正追加
- 以下2011年 -
12/24 TransLayer.tjsの修正追加
12//22 KAGEnvImage.tjsの修正追加
12/21 KAGEnvImage.tjsの修正追加
8/26 MainWindow.tjsの修正追加
8/21 GFX_Movie.tjsの修正追加
7/27 world.tjsの修正追加
6/28 KAGEnvImage.tjsの修正追加
5/25 kag3ex3に対応
4/22 MainWindow.tjsの修正追加
2/19 EditLayer.tjsの修正追加
2/11 MapSelectLayer.tjsの修正追加
2/3 ButtonLayer.tjsの修正追加
2/3 MessageLayer.tjsの修正追加
2/3 SliderLayer.tjsの修正追加
1/30 EditLayer.tjsの修正追加
1/30 GraphicLayer.tjsの修正追加
1/20 MainWindow.tjsの修正追加
1/16 UILoader.tjsの修正追加
1/13 SelectLayer.tjs再修正


world.tjsの308行目
                if (valueBase !== void && value.charAt(-1) == '%') {
 ↓修正
                if (valueBase !== void && value.charAt(value.length-1) == '%') {
「-1」の部分を「value.length-1」に。
314行目も全く同じです。
※kag3ex3で修正済みです。


SelectLayer.tjsの642行目
        playSE(closese, closesebuf) if (visible);
 ↓修正
//      playSE(closese, closesebuf) if (visible);
コメントアウトします。

SelectLayer.tjsの631行目
        window.insertTag("doneselect", elm !== void ? elm : %[]);
        if (setVisibleTime(false, fadeTime)) {
 ↓修正
        window.insertTag("doneselect", elm !== void ? elm : %[]);
        window.insertTag("se", %[storage:closese, buf:closesebuf]);
        if (setVisibleTime(false, fadeTime)) {
「window.insertTag("se", %[storage:closese, buf:closesebuf]);」をはさみます。


KAGEnvCharacter.tjsの619行目
            emotion.nowait = elm.nowait if elm.nowqait !== void;
 ↓修正
            emotion.nowait = elm.nowait if elm.nowait !== void;
「nowqait」→「nowait」
※kag3ex3で修正済みです。



KAGEnvCharacter.tjsの975行目
                    var operateMode = omPsNormal;
 ↓修正
                    var operateMode = omAuto;
「omPsNormal」を「omAuto」に。

UILoader.tjsの6行目
if (global.CSVParser === void) {
 ↓修正
if (typeof global.CSVParser === "undefined") {
「typeof」を追加。「void」→「"undefined"」
※kag3ex3で対応済み。



MainWindow.tjsの8544行目
            if (typeof target == "Object" && target instanceof "AffineLayer") {
                return waitLayerTransition(target, elm.canskip, +elm.wait);
            } else {
 ↓修正
            if (typeof target == "Object" && target instanceof "AffineLayer") {
                return waitLayerMotion(target, elm.canskip, +elm.wait);
            } else {
「waitLayerTransition」を「waitLayerMotion」に
※kag3ex3で削除



GraphicLayer.tjsの717行目
                    if (elm.width !== void || elm.height !== void) {
                        layer.setSize(elm.width !== void ? +elm.width : width,
                                      elm.height !== void ? +elm.height : height);
                    }
 ↓ 修正
                    if (elm.width !== void || elm.height !== void) {
                        setSize(elm.width !== void ? +elm.width : width,
                                      elm.height !== void ? +elm.height : height);
                    }
「layer.」を消去。


EditLayer.tjsの154行目
        if(Edit_vertical)
        {
            Edit_caretLayer.top = xpos;
            Edit_caretLayer.left = imageWidth - 3 - Edit_caretLayer.imageWidth;
            setAttentionPos(imageWidth - 3 , Edit_caretLayer.top);
        }
        else
        {
            Edit_caretLayer.top = 3;
            Edit_caretLayer.left = xpos;
            setAttentionPos(xpos, 3);
        }
 ↓ 修正
        if(Edit_vertical)
        {
            Edit_caretLayer.top = xpos + Edit_textOffsetY;
            Edit_caretLayer.left = imageWidth - 3 - Edit_caretLayer.imageWidth + Edit_textOffsetX;
            setAttentionPos(imageWidth - 3 , Edit_caretLayer.top);
        }
        else
        {
            Edit_caretLayer.top = 3 + Edit_textOffsetY;
            Edit_caretLayer.left = xpos + Edit_textOffsetX;
            setAttentionPos(xpos, 3);
        }
「 + Edit_textOffsetX」と「 + Edit_textOffsetY」をそれぞれ2箇所ずつ追加。


SliderLayer.tjsの132行目
                if (Slider_mouseOn) {
                    colorRect(0x_htabw, imw, tabh, clHighlight, 64);
                }
 ↓ 修正
                if (Slider_mouseOn) {
                    colorRect(0x_htabh, imw, tabh, clHighlight, 64);
                }
「x_htabw」→「x_htabh」


MessageLayer.tjsの3291行目
            object.position = +elm.position if elm.position !== void;
 ↓ 修正
            object.position = elm.position !== void ? +elm.position : 0;
「+elm.position if elm.position !== void」→「elm.position !== void ? +elm.position : 0」

MessageLayer.tjsの3044行目
            if (elm.trigger || elm.group) {
                object.loadButtons(elm.on, over, on, focus, elm.animcount, elm.animtime, true);
                object.groupName = elm.group;
            }
 ↓ 修正
            if (elm.trigger || elm.group != "") {
                object.loadButtons(on, over, on, focus, elm.animcount, elm.animtime, true);
                object.groupName = elm.group;
            }
「elm.group」→「elm.group != ""」
「elm.on」→「on」
3055行目も全く同じです。


ButtonLayer.tjsの240行目
        fillRect(00, imageWidth, imageHeight, 0);
↓ 修正
        fillRect(00, imageWidth, imageHeight, 0if !toggle;
「if !toggle」を追加。


MapSelectLayer.tjsの202行目
        buttonWidth  = elm.buttonwidth if elm.btnwidth !== void;
 ↓ 修正
        buttonWidth  = elm.buttonwidth if elm.buttonwidth !== void;
「elm.btnwidth」→「elm.buttonwidth」


EditLayer.tjsの209行目
        // クリックされた位置を割り出す
        x -= 3;
 ↓ 修正
        // クリックされた位置を割り出す
        x -= 3 + (Edit_vertical ? Edit_textOffsetY : Edit_textOffsetX);
「+ (Edit_vertical ? Edit_textOffsetY : Edit_textOffsetX)」を追加

EditLayer.tjsの593行目
                    // 背景を塗る
                    fillRect(xy, h, chw, highlightbg);
 ↓ 修正
                    // 背景を塗る
                    fillRect(x - h + Edit_textOffsetXy + Edit_textOffsetY, h, chw, highlightbg);
「x」→「x - h + Edit_textOffsetX」
「y」→「y + Edit_textOffsetY」

EditLayer.tjsの617行目
                    // 背景を塗る
                    fillRect(xy, chw, h, highlightbg);
 ↓ 修正
                    // 背景を塗る
                    fillRect(x + Edit_textOffsetXy + Edit_textOffsetY, chw, h, highlightbg);
「x」→「x + Edit_textOffsetX」
「y」→「y + Edit_textOffsetY」


MainWindow.tjsの1837行目
    function onMouseMove(x, y) {
        if (pseudoFullScreened && y == 0 && menuBarEnable && menuBarState) trackPseudoMenu();
        else if (trackTempMenuShowing) checkMenuBarHideTrackPseudoMenu();
        var hook = mouseMoveHook;
        if (hook.count > 0with (primaryLayer) callHook(hook, .cursorX, .cursorY);
        return super.onMouseMove(...);
    }
 ↓ 修正
    function onMouseMove(x, y) {
        if (pseudoFullScreened && y == 0 && menuBarEnable && menuBarState) trackPseudoMenu();
        else if (trackTempMenuShowing) checkMenuBarHideTrackPseudoMenu();
        if (isvalid this) {
            var hook = mouseMoveHook;
            if (hook.count > 0with (primaryLayer) callHook(hook, .cursorX, .cursorY);
        }
        return super.onMouseMove(...);
    }
「if (isvalid this) {」と「}」を追加。


KAGEnvImage.tjsの2533行目
        if (rgamma != void || ggamma != void || bgamma != void) {
            layer.adjustGamma(rgamma == void ? 1.0 : rgamma, 0255,
                              ggamma == void ? 1.0 : ggamma, 0255,
                              bgamma == void ? 1.0 : bgamma, 0255);
        }
 ↓ 修正
        if (rgamma !== void || ggamma !== void || bgamma !== void) {
            layer.adjustGamma(rgamma === void ? 1.0 : rgamma, 0255,
                              ggamma === void ? 1.0 : ggamma, 0255,
                              bgamma === void ? 1.0 : bgamma, 0255);
        }
3つの「!=」と「==」をそれぞれ「!==」と「===」に


world.tjsの580行目
    // 全アクション・トランジション終了時コールバック
    function onAllActionTransitionCompleted() {
        destroyTrigger.trigger();
    }
 ↓ 修正
    // 全アクション・トランジション終了時コールバック
    function onAllActionTransitionCompleted() {
        if(destroyTrigger isvalid) {
            destroyTrigger.trigger();
        }
    }
「if(destroyTrigger isvalid) {」と「}」を追加


GFX_Movie.tjsの52行目
        open(fn);
    }
 ↓ 修正
        open(fn);
        with (global.kag) {
            audioVolume = (.waveenable && .movieAudioEnable) ?
                (.wavevolume *  .movieAudioVolume) * 10 : 0;
        }

        play();
    }
「with (global.kag) { ~ }」を追加


MainWindow.tjsの10664行目
        // メッセージ窓だけ表から裏にコピー
        var messages = fore.messages;
 ↓ 修正
        // メッセージ窓だけ表から裏にコピー
        var messages = back.messages;
「fore」→「back」

KAGEnvImage.tjsの688行目
  function setRotate(param, elm) {
    rotateFrom = calcRelative(rotate, getFrom(param), 360);
    rotate     = calcRelative(rotate, getTo(param), 360);
    rotateTime = +elm.time;
    rotateAccel = +elm.accel;
    rotateNowait = elm.nowait;
  }
 ↓ 修正
  function setRotate(param, elm) {
    rotateFrom = calcRelative(rotate, getFrom(param), 360);
    rotate     = calcRelative(rotate, getTo(param), 360);
    rotateTime = elm.time;
    rotateAccel = elm.accel;
    rotateNowait = elm.nowait;
  }
「+elm.accel」の「+」を削除

KAGEnvImage.tjsの1408行目
    if (elm.slanty === voidslantx = 0;
 ↓ 修正
    if (elm.slanty === voidslanty = 0;
「slantx」→「slanty」

    if (doSlanty) {
      if (slantyFrom !== void) {
        layer.slanty = slantyFrom;
        slantyFrom = void;
      }
      if (slantxTime == 0) {
        layer.slanty = slanty;
      } else {
        layer.setSlantYTime(slanty, slantyTime, slantyAccel, slantyNowait);
      }
      doSlanty = false;
    }
 ↓ 修正
    if (doSlanty) {
      if (slantyFrom !== void) {
        layer.slanty = slantyFrom;
        slantyFrom = void;
      }
      if (slantyTime == 0) {
        layer.slanty = slanty;
      } else {
        layer.setSlantYTime(slanty, slantyTime, slantyAccel, slantyNowait);
      }
      doSlanty = false;
    }
「slantxTime」→「slantyTime」

TransLayer.tjsの215行目
  function stop() {
    done();
    layer.visible = false;
  }
 ↓ 修正
  function stop() {
    done();
    layer.visible = false;
    tlayer.visible = false;
  }
「tlayer.visible = false;」を追加。


AffineLayer.tjsの1795行目
  function setZoom(zx, zy=void) {
    //Debug.message("setZoom:" + zx + ":" + zy);
    if (zy == void) {
      zy = zx;
    }
    _zoomx = zx / 100.0;
    _zoomy = zy / 100.0;
    calcAffine();
  }
↓ 修正
  function setZoom(zx, zy=void) {
    //Debug.message("setZoom:" + zx + ":" + zy);
    if (zy === void) {
      zy = zx;
    }
    _zoomx = zx / 100.0;
    _zoomy = zy / 100.0;
    calcAffine();
  }
「zy == void」→「zy === void」


KAGEnvImage.tjsの378行目
          action.delay  = +elm.delay  if elm.time !== void;
↓ 修正
          action.delay  = +elm.delay  if elm.delay !== void;
「elm.time」→「elm.delay」


Initialize.tjsの437行目
var mp_dummy = %[], mp_target;
property mp {
  getter {
    var macroParams = mp_target ? mp_target.macroParams : void;
    return macroParams  ? /*dict*/macroParams : /*null or void*/mp_dummy;
  }
}
↓ 修正
//var mp_dummy = %[], mp_target;
//property mp {
//  getter {
//    var macroParams = mp_target ? mp_target.macroParams : void;
//    return macroParams  ? /*dict*/macroParams : /*null or void*/mp_dummy;
//  }
//}
全てコメントアウト

Conductor.tjsの202行目
    mp_target = this;
↓ 修正
    //mp_target = this;
コメントアウト

Conductor.tjsの420行目
    mp_target = void;
↓ 修正
    //mp_target = void;
コメントアウト。458行目も同じ

MainWindow.tjsの11277行目
  eval : function(elm)
  {
    // 式の評価
    Scripts.eval(elm.exp);
    return 0;
  } incontextof this,
↓ 修正
  eval : function(elm)
  {
    // 式の評価
    Scripts.eval(elm.exp,,,this);
    return 0;
  }/* incontextof this*/,
「Scripts.eval(elm.exp);」→「Scripts.eval(elm.exp,,,this);」
incontextof thisをコメントアウト

KAGEnvLevelLayer.tjsの145行目
    f.name  = name if initDisp;
↓ 修正
    f.name  = name/* if initDisp*/;
「if initDisp」をコメントアウト

KAGEnvSe.tjsの115行目
  var secommands = %[
  tagname : null
  taglist : null
  storage : setPlay incontextof this,
  play : setPlay incontextof this,
  stop : setStop incontextof this,
  fade : setFade incontextof this,
  loop : null,
  time : null,
  start : null,
  canskip : null,
  buf : null,
  filename : null,
  nosync : null,
  sync : null,
  wait : null,
  delayrun : null,
  ];
 ↓ 修正
  var secommands = %[
  tagname : null
  taglist : null
  storage : setPlay incontextof this,
  play : setPlay incontextof this,
  stop : setStop incontextof this,
  fade : setFade incontextof this,
  loop : null,
  time : null,
  start : null,
  canskip : null,
  buf : null,
  filename : null,
  nosync : null,
  sync : null,
  wait : null,
  delayrun : null,
  name : null,
  ];
「name : null,」を追加

MainWindow.tjsの3626行目
  function captureSnapshot(layer = snapshotLayer, w = scWidth, h = scHeight, hide = snapshotHideMessage) {
    with (layer) {
      .setImageSize(w, h);
      .face = dfAlpha;
      if (hide && !messageLayerHiding) setMessageLayerHiddenState(true);
      else hide = false;
      .piledCopy(00, fore.base, 00, w, h);
      if (hide) setMessageLayerHiddenState(false);
    }
  }
 ↓ 修正
  function captureSnapshot(layer = snapshotLayer, w = scWidth, h = scHeight, hide = snapshotHideMessage) {
    with (layer) {
      .setImageSize(w, h);
      .face = dfAlpha;
      if (hide && !messageLayerHiding) setMessageLayerHiddenState(true);
      else hide = false;
      setBaseLayerPos(00);
      .piledCopy(00, fore.base, 00, w, h);
      if (hide) setMessageLayerHiddenState(false);
    }
  }
「setBaseLayerPos(0, 0);」を追加
スポンサーサイト

タグ : 吉里吉里 KAGEX

カテゴリ : KAGEX

コメントの投稿

非公開コメント

No title

world.tjsの308行目の修正で、「value.lenght」ではなく「value.length」ではないでしょうか。
ただのtypoだと思いますが。

No title

ありがとうございます。
修正しました。
最新記事
カテゴリ

openclose

記事一覧
Twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。