EpicSkookumScript / EpicSkookumScript/SkookumScript-Plugin

Blueprint special variable names and conversion to "_" in Skokum.

オープン
#18 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
bug enhancement
主要言語
C++
スター
138
フォーク
22
PR マージ指標
30日以内にマージされた PR はありません

説明

**Issue by [Andy2244](https://github.com/Andy2244)**
_Friday Nov 15, 2019 at 15:49 GMT_
_Originally opened as https://github.com/SkookumScript/SkookumScript-Plugin/issues/18_

----

**UE4 Version**
Binary 4.23.1

**SkookumScript Version**
4.23.1-9631420

**Describe the bug**
I noticed that some packages from the asset-store frequently use special characters in there BP variable names, which all get converted to "_" or are ignored completely.

```
Rotation >
Rotation <
* Forward
- Forward
+ Forward
```

results in sk
```
Real rotation_ : 0.0
Real rotation_ : 0.0

Boolean forward? : false
Boolean forward? : false
Boolean forward? : false
```
than we get this error:
```
A variable with the name 'rotation_' has already been created and is available in this scope and duplicate/shadowed variable names are not allowed.
Choose a different parameter name.
```

**Expected behavior**
While i can work around this in my own code, its quite hard/time consuming to fix those errors for asset-store stuff.
So maybe its a better idea to convert special characters to some ascii/hex representation?
Something like:
ascii
```
Real rotation_62 : 0.0
Real rotation_60 : 0.0
```
or Hex
```
Real rotation076 : 0.0
Real rotation074 : 0.0
```

This way each special character gets encoded to a compatible variable name, without creating duplicates.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

UE4 plugin のソースで Blueprint の変数名変換を特定し、Rotation >、Rotation <、* Forward などの名前で衝突を再現します。特殊文字によって有効で互いに異なる SkookumScript 名が生成され、asset-store の Blueprint で重複変数エラーが発生しなければ完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp, unreal-engine
領域
compilers, game-dev
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
38/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。