diff --git a/CHANGELOG.md b/CHANGELOG.md index c9fe287..7c118bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,162 @@ # Changelog +## [0.10.0.0] - 2024.09.22 +### Changed +- `EUDArray` now uses EPD by default + * For compatibility with existing code, `EPD(EPD of ConstExpr)' returns EPD as is (with warning message) + * Added `ptrEUDArray` and `errorReapplyEPD` flags to `[main]` + ```ini + [main] + ptrEUDArray : True + errorReapplyEPD : True + :: If the `ptrEUDArray` flag is turned on, EUDArray will use the ptr address as before + :: If the `errorReapplyEPD` flag is turned on, applying the EPD function to a constant EPD value will result in an error + ``` + * If the `ptrEUDArray` flag is on, EPD is not calculated when array is only used in passing to or from function boundaries. When array element is accessed, EPD calculation trigger is added at array declaration on demand. +- epScript: Added type variable feature. + * Reference types (`EUDArray`, `EUDVArray`, epScript `object` (=`EUDStruct`), `EUDStructArray`, `CUnit`, `CSprite`) can only be assigned to the same type. Operations such as `+=,` `-=,` `*=,` `/=` are not supported because they can change to invalid addresses. + * Value types (such as `LocalLocale`, `TrgUnit`, `Weapon`, `UnitOrder`, `Flingy`, `Sprite`, `Image`, `TrgPlayer`, `Upgrade`, `Tech`, etc.) supports assigment and other operations like `+=`, `-=`, ... +```js +// Syntax +var name: Type = initialValue; +static var name: Type = initialValue; +var name1: type1, name2: type2, name3: type3 = initial1, initial2, initial3; + +// Example +function onPluginStart() { + // Link hatchery to larvae + var hatchery: CUnit = 0; + foreach(unit : EUDLoopPlayerCUnit()) { + if (unit.unitType == "Zerg Hatchery") { + hatchery = unit; + } + } + foreach(unit : EUDLoopPlayerCUnit()) { + if (unit.unitType == "Zerg Larva") { + larva.connectedUnit = hatchery; + } + } +} +``` +- epScript: Relative Path Import Bug Fixes and Behavior Changes + * Fixed a bug that caused modules to be duplicated every time a relative path import was made. + * If a path can be imported with an absolute path, it will be replaced with an absolute path import. + * Only modules can be imported with relative path imports, not individual items inside the module. + * Consider making the path accessible with `sys.path.insert(1, path)'` when a parent folder prevents importing, or consider adding `__init__.py` when importing between files inside a folder to be recognized as a Python package. +- Changed behavior of epScript `object` (=`EUDMethod` of `EUDStruct`) to not duplicate triggers for each static instance they call +- Change cast behavior: don't copy the value, just use it as is and apply the type. +- Simplified `EUDVariable` constructor: `EUDVariable` now only accepts an initial value as a constructor. + * For advanced initialization options, use `EUDXVariable(epd, modifier, initial value, (optional) bitmask 0xFFFFFFFF by default)`. +- Fix `f_getuserplayerid()` and `EUDLoopPlayer` to return `TrgPlayer` type +- Change `DBString` memory layout +- `Db` initialized with `"string"` will raise error if string has a null byte in the middle +- `DBString' will raise error with a \0 null byte in the middle +- `objFieldN` flag won't change the maximum number of objects (=32768) + +### Added +- `EUDVArray` supports epScript `foreach` loop +```js +const varr = EUDVArray(10)(py_range(10)); +foreach(x : varr) { + printAll("{}", x); + if (x >= 5) break; +} +// prints: 0, 1, 2, 3, 4, 5 +``` +- scdata: Added current upgrade/tech level read/write + * Optimized to cache epd and subp for upgrade/tech and player, so that if they are unchanged or only change them with `+= 1`, epd and subp are not recalculated, and instead reuse the previously calculated results. (See Improved section) +```js +// Upgrade[TrgPlayer] = New_Upgrade_Level; +const infantryWeapon = Upgrade("Terran Infantry Weapon"); +foreach(player : EUDLoopPlayer()) { + infantryWeapon[player] = 1; +} + +// const upgrade_level = Upgrade[TrgPlayer]; +printAll("current Terran Infantry Weapon level for P1: {}", infantryWeapon[player]); + +// Tech[TrgPlayer] = new Tech level; +var spiderMines: Tech = "Spider Mines"; +spiderMines[P1] = 1; + +// const hasResearched = Tech[TrgPlayer]; // return 1 if tech is non-zero +once (Tech("Stim Pack")[P1]) { + printAll("Red researched stim pack."); +} +``` +- Added `UnitGroup.length` (suggested by 쥬뱅) +- `EUDLightBool` can be initialized with `True` (suggested by @Chromowolf) +- Added simple obfuscation to constant strings for print functions + +### Bugfix +- Fixed `<`, `>` for `EUDVariable` (reported by 고래밥은맛있어) +- epScript: fixed incorrect line number on error (reported by @Chromowolf) +- (https://github.com/armoha/eudplib/pull/28) fixed infinite loop in `EUDLoopRange(start, end)` when `start == end` (contributed by 고래밥은맛있어) +- Fixed constant CUnit instance e.g. `CUnit(EPD(0x59CCA8))` +- Fixed `EUDStruct.cast` could return `None` when subclass overrides `__init__` without `_from` parameter +- Fixed bug where Python warning messages were not printed +- Fixed bugs with `CUnit (constant)', `CSprite.from_ptr (constant)' + +### Improved +- Improved epd and cp read functions to share their triggers +- Performance improvements for `EUDVArray`, `PVariable`, `f_repmovsd_epd`, etc. +- Fixed `$L` and `setloc_epd` to also warn of location name misspellings +- Added compilation error when string count exceeds 65535 +- Improved `ConstExpr` division compile error message +- scdata: Improved error message for `UnsupportedMember` +- scdata: added caching to improve performance with ArrayMember + * When accessing a non-4-byte member, if the variable is unchanged, it will reuse the previously calculated result instead of recalculating epd, subp. + * `scdataInstance += 1;` is specialized to update all cache values, so cache invalidation and recalculation does not occur. +```js +var unit: TrgUnit = dwrand() % 228; +// (1) +unit.maxShield = 10000; +unit.elevation = 1; + +unit = dwrand() % 228; +// (2) +unit.maxHp = 10000 * 256; +// (3) +unit.hasShield = false; + +/* +ArrayMember of the scdata instance wrapping EUDVariable will cache derived values for members whose stride is not 4 bytes. +All non-4-byte-stride member accesses will perform a cache check condition and update derived values if the value has changed. + +Because unit uses 1-byte (elevation, hasShield) and 2-byte (maxShield) members, the cache check condition detects a value change at (1), and every derived values are updated; unit / 4, unit % 4, unit / 2 and 2*(unit % 2). +(member usages affect globally to every usages, even retroactively) +`var unit` is unchanged between unit.maxShield and unit.elevation, so unit.elevation does not run update for derived values. + +`unit`'s value has changed at (2) ,but unit.maxHp is a 4-byte member, so it does not run perform a cache check condition. +unit.hasShield access at (3) will perform a cache check condition and may update derived values. +*/ + +// The cache is associated with the wrapped variable, not the scdata instance. +// If cast interprets the same variable as multiple types, the bitmask range can be extended by the largest type. +var v = 23; // 0x17 +const p = TrgPlayer.cast(v); +P12.cummulativeMineral = 9999; +// TrgPlayer's bitmask is 0xF +// If that's all we've written, we'll print out the cumulative gas for P8 (playerID=7) +printAll("{}", p.cumulativeGas); + +// If we cast variable v to a TrgUnit, and access a non-4-byte-stride member, +// the bitmask of variable v is expanded from 0xF (TrgPlayer) to 0xFF (TrgUnit) globally: +const u = TrgUnit.cast(v); +printAll(u.gasCost, 200); + +// This acts globally, so, +// The above printAll("{}", p.cumulativeGas); will print 9999, +// which is P24's cumulative gas = P12's cumulative minerals. +``` +- Miscellaneous bug fixes and improvements + ## [0.9.11.2] - 2024.09.07 ### Changed -- [MSQC] local condition allows not only `EUDVariable`, `EUDXVariable`, ``EUDLightVariable`, EUDLightBool` but *any object* registered by `EUDRegisterObjectToNamespace` (suggested by 고래밥은맛있어) +- [MSQC] local condition allows not only `EUDVariable`, `EUDXVariable`, `EUDLightVariable`, `EUDLightBool` but *any object* registered by `EUDRegisterObjectToNamespace` (suggested by 고래밥은맛있어) ### Bugfix -- Bugfix: `CUnit/CSprite.from_ptr(ptr)' returns old value when ptr is 0 (reported by @dr-zzt) +- Bugfix: `CUnit`/`CSprite.from_ptr(ptr)` returns old value when ptr is 0 (reported by @dr-zzt) - Fixed bug with CUnit/CSprite not caching ptr/epd ### Improved @@ -139,7 +290,7 @@ function onPluginStart() { * `TrgUnit.nameString` = "string" * `TrgUnit.rank` = "Rank name" [see link for a list of ranks](https://github.com/armoha/eudplib/blob/main/eudplib/core/rawtrigger/strdict/stattxt.py#L1689-L1934) * `TrgUnit.readySound/whatSoundStart/whatSoundEnd/pissedSoundStart/pissedSoundEnd/yesSoundStart/yesSoundEnd` = [sfxdata.dat StarCraft sound effects file path](https://github.com/armoha/eudplib/blob/966b1649868d87f7c887a390ab4efa8bd4c22ba6/eudplib/core/rawtrigger/strdict/sfxdata.py#L3-L1145) (case insensitive, both '/' and '\\' are allowed as separators) - * `TrgUnit.unitSize` = "Independent", "Small", "Medium", "Large" + * `TrgUnit.sizeType` = "Independent", "Small", "Medium", "Large" * `TrgUnit.rightClickAction` = "NoCommand_AutoAttack", "NormalMove_NormalAttack", "NormalMove_NoAttack", "NoMove_NormalAttack", "Harvest", "HarvestAndRepair", "Nothing" * `Flingy.movementControl` = "FlingyDat", "PartiallyMobile_Weapon", "IscriptBin" * `Weapon.damageType` = "Independent", "Explosive", "Concussive", "Normal", "IgnoreArmor" diff --git a/CHANGELOG_ko.md b/CHANGELOG_ko.md index 4dc02d1..85cce36 100644 --- a/CHANGELOG_ko.md +++ b/CHANGELOG_ko.md @@ -1,11 +1,162 @@ # 변경 사항 (한국어) +## [0.10.0.0] - 2024.09.22 +### 기능 변경 +- `EUDArray`가 EPD를 기본으로 사용합니다 + * 기존 코드 호환을 위해 `EPD(상수표현식의 EPD)`는 EPD를 그대로 반환합니다 (경고 메시지 출력) + * `[main]`에 `ptrEUDArray` 와 `errorReapplyEPD` 플래그가 추가됐습니다 + ```ini + [main] + ptrEUDArray : True + errorReapplyEPD : True + :: ptrEUDArray 플래그를 켜면 이전 버전처럼 EUDArray가 ptr 주소를 사용합니다 + :: errorReapplyEPD 플래그를 켜면 상수 EPD값에 EPD함수를 적용하면 오류가 발생합니다 + ``` + * `ptrEUDArray` 플래그가 켜져있는 경우, 배열을 주고 받는 경우에는 EPD를 계산하지 않고, 원소 접근할 때만 EPD를 계산하도록 개선되었습니다. +- epScript: 타입 변수 기능 추가 + * 레퍼런스 타입(`EUDArray`, `EUDVArray`, epScript `object` (=`EUDStruct`), `EUDStructArray`, `CUnit`, `CSprite`)은 동일한 타입의 대입만 가능합니다. `+=,` `-=,` `*=,` `/=` 등의 연산은 잘못된 주소로 변경할 수 있어서 지원하지 않습니다. + * 값 타입(`LocalLocale`, `TrgUnit`, `Weapon`, `UnitOrder`, `Flingy`, `Sprite`, `Image`, `TrgPlayer`, `Upgrade`, `Tech` 등)은 대입 외에도 `+=,`, `-=` 등 다른 연산도 가능합니다. +```js +// 문법 +var 이름: 타입 = 초기값; +static var 이름: 타입 = 초기값; +var 이름1: 타입1, 이름2: 타입2, 이름3: 타입3 = 초기값1, 초기값2, 초기값3; + +// 예시 +function onPluginStart() { + // 해처리에 라바 연결하기 + var hatchery: CUnit = 0; + foreach(unit : EUDLoopPlayerCUnit()) { + if (unit.unitType == "Zerg Hatchery") { + hatchery = unit; + } + } + foreach(unit : EUDLoopPlayerCUnit()) { + if (unit.unitType == "Zerg Larva") { + larva.connectedUnit = hatchery; + } + } +} +``` +- epScript: 상대 경로 임포트 버그 수정 및 동작 변경 + * 상대 경로 임포트할 때마다 모듈이 복제되는 버그 수정 + * 절대 경로로 불러올 수 있는 위치인 경우 절대 경로 임포트로 바뀝니다. + * 상대 경로 임포트로는 모듈만 불러올 수 있고 모듈 내부 개별 개체는 불러올 수 없습니다. + * 상위 폴더로 인해 임포트가 안 될 때는 `sys.path.insert(1, 경로)`로 경로를 접근 가능하도록 추가하거나, 폴더 내부 파일끼리 임포트하는 경우에는 `__init__.py`를 추가하여 파이썬 패키지로 인식되게 하는 걸 고려해보세요. +- epScript `object`의 메소드(=`EUDStruct`의 `EUDMethod`)가 호출한 정적 인스턴스마다 트리거를 복제하지 않도록 동작 변경 +- cast 동작 변경: 값을 복사하지 않고 그대로 사용하고 타입만 적용합니다. +- `EUDVariable` 생성자 단순화: `EUDVariable`은 이제 초기값만 생성자로 입력받습니다. + * 고급 초기화 옵션은 `EUDXVariable(epd, modifier, 초기값, (생략 가능)비트마스크=기본값 0xFFFFFFFF)`를 사용하세요. +- `f_getuserplayerid()`와 `EUDLoopPlayer`가 `TrgPlayer` 타입을 리턴하도록 수정 +- `DBString` 메모리 레이아웃 변경 +- `Db`를 `"문자열"`로 생성하는 경우 중간에 \0 널 바이트가 있으면 오류나게 수정 +- `DBString`의 중간에 \0 널 바이트가 있으면 오류나게 수정 +- `objFieldN` 플래그로 동적 할당 용 객체의 필드 개수를 변경해도 최대 객체 개수는 32768개로 고정됩니다 + +### 기능 추가 +- `EUDVArray`가 epScript `foreach` 반복문을 지원합니다 +```js +const varr = EUDVArray(10)(py_range(10)); +foreach(x : varr) { + printAll("{}", x); + if (x >= 5) break; +} +// 출력: 0, 1, 2, 3, 4, 5 +``` +- scdata: 현재 업그레이드/테크 읽기/쓰기 기능 추가 + * 업그레이드와 플레이어의 epd, subp를 캐싱하도록 최적화되어 있어서 값이 그대로거나 += 로만 변경하는 경우 epd, subp를 다시 계산하지 않고 이전에 계산한 결과를 다시 사용하도록 최적화되어 있습니다. (기능 개선 항목 참고) +```js +// Upgrade[TrgPlayer] = 새_업그레이드_레벨; +const 바이오닉_공업 = Upgrade("Terran Infantry Weapon"); +foreach(player : EUDLoopPlayer()) { + 바이오닉_공업[player] = 1; +} +// const 업그레이드_레벨 = Upgrade[TrgPlayer]; +printAll("P1의 바이오닉 공업: {}", 바이오닉_공업[player]); + +// Tech[TrgPlayer] = 새 테크 단계; +var 스파이더마인: Tech = "Spider Mines"; +스파이더마인[P1] = 1; + +// const 기술_연구했는지 = Tech[TrgPlayer]; // 테크가 0이 아닌 경우 1을 리턴 +once (Tech("Stim Pack")[P1]) { + printAll("빨강이 스팀팩을 연구했습니다."); +} +``` +- `UnitGroup`에 `유닛그룹.length` 추가 (쥬뱅님 건의) +- `EUDLightBool`이 True를 초기값으로 가질 수 있도록 수정 (@Chromowolf 님 건의) +- 출력용 상수 스트링에 간단한 난독화 기능 추가 + +### 버그 수정 +- EUD변수 <, > 버그 수정 (고래밥은맛있어님 제보) +- epScript: 오류 줄이 잘못 표시되는 버그 수정 (@Chromowolf 님 제보) +- (https://github.com/armoha/eudplib/pull/28) `EUDLoopRange(시작, 끝)`에서 시작, 끝에 같은 값이 입력되면 무한 루프가 생기는 버그 수정 (고래밥은맛있어님 기여) +- `CUnit(EPD(0x59CCA8))`처럼 CUnit을 상수로 초기화했을 때 오류 수정 +- `EUDStruct.cast`가 `__init__`을 오버라이딩하는 서브클래스에서 `None`을 리턴할 수 있는 버그 수정 +- 파이썬 경고 메시지가 출력되지 않는 버그 수정 +- `CUnit(상수)`, `CSprite.from_ptr(상수)` 버그 수정 + +### 기능 개선 +- epd와 cp 읽기 함수가 트리거를 공유하도록 수정 +- `EUDVArray`, `PVariable`, `f_repmovsd_epd` 등 성능 개선 +- `$L`과 `setloc_epd`에서도 로케이션 이름 오타나면 알려주도록 수정 +- 스트링 개수가 65535개를 초과하면 컴파일 오류 추가 +- `ConstExpr` 나눗셈 컴파일 오류 메시지 개선 +- scdata: `UnsupportedMember`의 오류 메시지 개선 +- scdata: ArrayMember 캐싱으로 성능 개선 + * 4바이트가 아닌 멤버를 접근할 때, 변수의 값이 그대로면 epd, subp 계산을 다시 하지 않고 이전에 계산한 결과를 재사용합니다. + * `scdata 인스턴스 += 1;`는 모든 캐시값을 갱신하도록 특수화되어 있기 때문에 캐시 무효화와 재계산이 일어나지 않습니다. +```js +var unit: TrgUnit = dwrand() % 228; +// (1) +unit.maxShield = 10000; +unit.elevation = 1; + +unit = dwrand() % 228; +// (2) +unit.maxHp = 10000 * 256; +// (3) +unit.hasShield = false; + +/* +EUD변수를 감싸는 scdata 클래스는 ArrayMember 중에서 간격이 4바이트가 아닌 멤버를 위한 값을 캐싱해둡니다. +변수를 감싼 scdata 인스턴스로 간격이 4바이트가 아닌 멤버를 접근할 때마다, 변수가 캐시값에서 달라졌는지 체크하고, 변수가 변했으면 모든 파생된 값들을 갱신합니다. + +위 예시 코드에서 unit은 1바이트(elevation, hasShield)와 2바이트(maxShield) 배열멤버를 사용하므로, unit.maxShield를 접근할 때 변수가 캐시값과 다르므로 모든 파생된 값 { unit ÷ 4, unit % 4, unit ÷ 2, 2*(unit%2) } 을 갱신합니다. +(멤버를 사용하면 모든 멤버 접근 코드에 전역적으로 영향을 주며 이전 시점에 실행되는 코드에도 소급 적용됩니다.) + +변수 unit은 unit.maxShield와 unit.elevation 접근 사이에서 값이 변하지 않았으므로, unit.elevation에서는 파생값 갱신이 일어나지 않습니다. + +변수 unit의 값이 변하더라도 (2) unit.maxHp는 4바이트 간격 멤버이기 때문에 캐시 체크 조건을 실행하지 않으며, 따라서 파생값 갱신도 일어나지 않습니다. +따라서 (3) unit.hasShield 접근은 캐시 체크 조건을 실행하며 파생값 갱신도 같이 일어날 겁니다. +*/ + +// 캐싱값은 scdata 인스턴스가 아니라 감싸진 변수에 연결되어있습니다. +// cast로 동일한 변수를 여러 타입으로 해석할 경우, 가장 큰 타입만큼 비트마스크 범위가 확장될 수 있습니다. +var v = 23; // 0x17 +const p = TrgPlayer.cast(v); +P12.cummulativeMineral = 9999; +// TrgPlayer의 비트마스크는 0xF라서 +// 작성한 코드가 여기까지라면 P8의 누적 가스가 출력됩니다 +printAll("{}", p.cumulativeGas); + +// 변수 v를 TrgUnit으로 cast하고, 4바이트가 아닌 멤버를 접근하면 +// 변수 v의 비트마스크가 TrgPlayer의 0xF에서 TrgUnit의 0xFF로 확장됩니다: +const u = TrgUnit.cast(v); +printAll(u.gasCost, 200); + +// 이는 전역적으로 작용하므로, +// 위의 printAll("{}", p.cumulativeGas); 는 +// P24의 누적 가스 = P12의 누적 미네랄인 9999가 출력됩니다. +``` +- 그 외 잡다한 버그 수정 및 개선 + ## [0.9.11.2] - 2024.09.07 ### 기능 변경 - [MSQC] 비공유 조건에서 `EUDVariable`, `EUDXVariable`, `EUDLightVariable`, `EUDLightBool` 외에도 `EUDRegisterObjectToNamespace`로 등록한 모든 오브젝트를 사용 가능하게 수정 (고래밥은맛있어님 건의) ### 버그 수정 -- ptr이 0일 때 `CUnit/CSprite.from_ptr(ptr)`이 이전의 값을 그대로 리턴하는 버그 수정 (@dr-zzt님 제보) +- ptr이 0일 때 `CUnit`/`CSprite.from_ptr(ptr)`이 이전의 값을 그대로 리턴하는 버그 수정 (@dr-zzt 님 제보) - CUnit/CSprite의 ptr/epd 캐싱이 안 되는 버그 수정 ### 기능 개선 @@ -46,15 +197,15 @@ function onPluginStart() { } ``` - scdata 멤버 추가 - * `TrgPlayer.unitColor`: byte - * `TrgPlayer.minimapColor`: byte - * `TrgPlayer.remainingGamePause`: byte - * `TrgPlayer.missionObjectives`: TrgString - * `TrgPlayer.unitScore`: dword - * `TrgPlayer.buildingScore`: dword - * `TrgPlayer.killScore`: dword - * `TrgPlayer.razingScore`: dword - * `TrgPlayer.customScore`: dword + * `TrgPlayer.unitColor`: byte, 플레이어의 유닛 색상 + * `TrgPlayer.minimapColor`: byte, 플레이어의 미니맵, 리더보드 색상 + * `TrgPlayer.remainingGamePause`: byte, 남아있는 게임 일시정지 개수 + * `TrgPlayer.missionObjectives`: TrgString, 플레이어가 미션 오브젝트로 사용할 맵 스트링 + * `TrgPlayer.unitScore`: dword, 플레이어가 생산한 유닛들의 점수 + * `TrgPlayer.buildingScore`: dword, 플레이어가 건설한 건물들의 점수 + * `TrgPlayer.killScore`: dword, 플레이어가 처치한 유닛들의 점수 + * `TrgPlayer.razingScore`: dword, 플레이어가 파괴한 건물들의 점수 + * `TrgPlayer.customScore`: dword, 플레이어의 커스텀 점수 - scdata 플래그 기능 추가 * `CUnit.pathingFlags` - `CUnit.pathingFlags.HasCollision` (0x01) @@ -139,7 +290,7 @@ function onPluginStart() { * `TrgUnit.nameString` = "스트링" * `TrgUnit.rank` = "계급 이름" [계급 목록은 링크 참조](https://github.com/armoha/eudplib/blob/main/eudplib/core/rawtrigger/strdict/stattxt.py#L1689-L1934) * `TrgUnit.readySound/whatSoundStart/whatSoundEnd/pissedSoundStart/pissedSoundEnd/yesSoundStart/yesSoundEnd` = [sfxdata.dat 스타크래프트 효과음 파일 경로](https://github.com/armoha/eudplib/blob/966b1649868d87f7c887a390ab4efa8bd4c22ba6/eudplib/core/rawtrigger/strdict/sfxdata.py#L3-L1145) (대소문자 구별 안 함, 구분자로 '/'와 '\\' 둘 다 허용) - * `TrgUnit.unitSize` = "Independent", "Small", "Medium", "Large" + * `TrgUnit.sizeType` = "Independent", "Small", "Medium", "Large" * `TrgUnit.rightClickAction` = "NoCommand_AutoAttack", "NormalMove_NormalAttack", "NormalMove_NoAttack", "NoMove_NormalAttack", "Harvest", "HarvestAndRepair", "Nothing" * `Flingy.movementControl` = "FlingyDat", "PartiallyMobile_Weapon", "IscriptBin" * `Weapon.damageType` = "Independent", "Explosive", "Concussive", "Normal", "IgnoreArmor" @@ -193,7 +344,7 @@ function onPluginStart() { - `CUnit.cast(other)`와 `CSprite.cast(other)`의 대상이 변수일 때 변수를 복사하지 않고 그대로 사용하게 변경 ### 기능 추가 -- 기존 타입에 간편한 스타크래프트 데이터 수정 기능(scdata) 추가 (@dr-zzt님 기여) +- 기존 타입에 간편한 스타크래프트 데이터 수정 기능(scdata) 추가 (@dr-zzt 님 기여) ```js // scdata 기능 예제 function example(unit: TrgUnit) { @@ -208,7 +359,7 @@ function example(unit: TrgUnit) { } } ``` - * 자세한 설명글 @dr-zzt님이 작성 예정 + * @dr-zzt 님이 작성한 scdata 강좌글: [English](https://github.com/armoha/euddraft/wiki/SCData-Explained:-An-Easy-Way-to-Modify-SC-Data-With-Code), [한국어](https://cafe.naver.com/edac/131814) - epScript: object 전방 선언 문법 추가 (하늘바라군님, 0xFF님 건의) ```js object Food; @@ -229,7 +380,7 @@ object Meat extends Food {}; // 이건 안 됨 - epScript: `object` `extends` 의 superclass 자리에 `a.b` 를 비롯한 표현식도 사용 가능하게 수정 (0xFF님 제보) - epScript: 함수 전방 선언 문법에서 리턴 타입을 작성하면 오류나는 버그 수정 - `DisplayTextAll`, `PlayWAVAll` 등 모든 플레이어 대상으로 실행되는 함수에 변수 입력 시 오류 수정 (furina님 제보) -- 일부 `Portrait` 항목 오타 수정 (@dr-zzt님 제보) +- 일부 `Portrait` 항목 오타 수정 (@dr-zzt 님 제보) - rvalue 변수 최적화가 적용 안 되는 버그 수정 - 트리거를 선언할 수 없는 위치에 선언했을 때 `TriggerScopeError` 예외가 일찍 발생하게 수정 * 예외 처리해도 유효하지 않은 트리거가 생기는 버그 수정 @@ -259,9 +410,9 @@ object Meat extends Food {}; // 이건 안 됨 ### 기능 개선 - eudplib 0.76.15, cx_Freeze 6.15.13 업데이트 -- `EUDVarBuffer.WritePayload` 성능 개선 (@phu54321 님 기여: https://github.com/armoha/eudplib/commit/29ed0ef5a50bc78d375b9d09aba27598c83268c9) +- (https://github.com/armoha/eudplib/commit/29ed0ef5a50bc78d375b9d09aba27598c83268c9) `EUDVarBuffer.WritePayload` 성능 개선 (@phu54321 님 기여) * 컴파일 시간 4.2% 감소 -- [epScript] linetable 생성 코드 Rust로 재작성 (https://github.com/armoha/eudplib/pull/25) +- [epScript] (https://github.com/armoha/eudplib/pull/25) linetable 생성 코드 Rust로 재작성 * 컴파일 시간 5.7% 감소 * 총 9.66% 만큼 컴파일 시간 감소 @@ -271,7 +422,7 @@ object Meat extends Food {}; // 이건 안 됨 ### 기능 개선 - eudplib to 0.76.14 업데이트 -- eudplib 프론트엔드 속도 20% 가량 개선 (@phu54321 님 기여: https://github.com/armoha/eudplib/pull/24) +- (https://github.com/armoha/eudplib/pull/24) eudplib 프론트엔드 속도 20% 가량 개선 (@phu54321 님 기여) - Writing phase에서 GetObjectAddr 개선 - 빌드 시간 약 10% 감소 @@ -882,8 +1033,8 @@ function circle() { foreach(v : dq3) { ret[5] += v; } // 18 = 5 + 6 + 7 ``` * 파이썬 `collections.deque(maxlen=크기)`와 동일하게 동작합니다. -- [epScript] armoha/euddraft#86 : 함수 인자 뒤에 쉼표 허용하도록 수정 -- [epScript] armoha/euddraft#87 : 이진법 숫자 표현 추가 (@Chromowolf 님 건의) +- [epScript] (armoha/euddraft#86) 함수 인자 뒤에 쉼표 허용하도록 수정 +- [epScript] (armoha/euddraft#87) 이진법 숫자 표현 추가 (@Chromowolf 님 건의) * `0b1 == 1`, `0b10 == 2`, `0b11 == 3` - `EUDQueue.empty()`가 항상 참인 버그 수정 - `EUDQueue.popleft()` 없이 `EUDQueue.append(x)`만 사용할 때 컴파일 오류 수정 (HeartKlass님 제보) @@ -908,12 +1059,12 @@ function circle() { - [epScript] 아이템 비교/쓰기 버그 수정, epScript에서 최적화하도록 구조 변경 (34464님 제보) * 비교 연산자 우선순위 버그 수정 * `>`, `<`, `&=` 버그 수정 -- armoha/euddraft#82 : 연결맵의 `Disabled(PreserveTrigger())` 트리거가 반복 실행되는 버그 수정 (@Chromowolf 님 제보) +- (armoha/euddraft#82) 연결맵의 `Disabled(PreserveTrigger())` 트리거가 반복 실행되는 버그 수정 (@Chromowolf 님 제보) - 연결맵 트리거 일부가 반복 실행되지 않는 버그 수정 (ehwl 님 제보) - `var >> 값` 컴파일 오류 수정 (GGrush님 제보) - `EUDNot` 버그 수정 - `*=`, `/=`, `<<=`, `>>=`가 LValue 변수를 RValue로 변경하는 버그 수정 -- armoha/euddraft#65 : `if (액션)` 오류 메시지 개선 +- (armoha/euddraft#65) `if (액션)` 오류 메시지 개선 ## [0.9.7.3] - 2022.10.09 - `EUDArray`와 `EUDVArray`의 아이템 비교/쓰기 연산 최적화 @@ -1155,7 +1306,7 @@ function circle() { `shufflePayload : bool` 옵션 추가. ## [0.9.5.2] - 2022.04.14 -- (armoha/euddraft#55) 설정 파일 오류 메시지 개선 ([**@zuhanit**](https://github.com/zuhanit) 기여) +- (armoha/euddraft#55) 설정 파일 오류 메시지 개선 (@zuhanit 님 기여) ![better config error message](https://user-images.githubusercontent.com/36349353/163330102-91b83907-4d6d-4484-a787-22231d1d62ca.png) - (armoha/eudplib#5) 컴파일 속도 개선: EUD 변수 트리거 생성 개선 - 키워드 인자 `nextptr` 추가: `EUDVariable`, `EUDXVariable` diff --git a/euddraft.py b/euddraft.py index d027bdf..de03b2e 100755 --- a/euddraft.py +++ b/euddraft.py @@ -36,7 +36,7 @@ from pluginLoader import getGlobalPluginDirectory from readconfig import readconfig -version = "0.9.11.2" +version = "0.10.0.0" def applylib(): diff --git a/latest/VERSION b/latest/VERSION index 5347950..8d9ee90 100644 --- a/latest/VERSION +++ b/latest/VERSION @@ -1 +1 @@ -0.9.11.2 \ No newline at end of file +0.10.0.0 \ No newline at end of file diff --git a/libepScriptLib.dll b/libepScriptLib.dll index 8863051..806925e 100755 Binary files a/libepScriptLib.dll and b/libepScriptLib.dll differ diff --git a/poetry.lock b/poetry.lock index 1f7d918..cb86825 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2,68 +2,70 @@ [[package]] name = "cx-freeze" -version = "7.2.0" +version = "7.2.1" description = "Create standalone executables from Python scripts" optional = false python-versions = ">=3.8" files = [ - {file = "cx_Freeze-7.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f843263c0faab92f71a5650f9676806378b0d2cfe5902cb2cefb3dce20a275ac"}, - {file = "cx_Freeze-7.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37df5c5184bde8a7512e08bb0c6ee72b7d26b7a72fdb71454d63530ea440ab84"}, - {file = "cx_Freeze-7.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa95b50e3746cb534a53023e3b7393b6b39ab039885302dcaeab4245066656b5"}, - {file = "cx_Freeze-7.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fcb9fb7016b28a969952761ed2ed730a8001941e29757379cc386f080bbe055"}, - {file = "cx_Freeze-7.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:1c9d67de843ba748f2e52a5cf44f9f943e15ad8ec3bb590f767613b20ac24882"}, - {file = "cx_Freeze-7.2.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:11b86b7e5f307e67a76a8f164b9b8b0a3745418b495e6f59abd0fdfeaab206f7"}, - {file = "cx_Freeze-7.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9fbd82cdd0739daf9009c5ba0110f758f586391a00a624db94f81f3531178ea5"}, - {file = "cx_Freeze-7.2.0-cp310-cp310-win32.whl", hash = "sha256:ecea5246805c063a1d782e446c811a3c517918770fa04678637dc0f356449489"}, - {file = "cx_Freeze-7.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:ac48fe678f69b965b10c5f880609e0ec738777c109d45d77e139c76385ac4404"}, - {file = "cx_Freeze-7.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f0d518c75880a517b04a82258d935b9408874d7b27f6d8d20dc4d8818395d02e"}, - {file = "cx_Freeze-7.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8437c18a129b0cf875f68697a56cd86c69698e6790a5d2c61f8b970bc512128b"}, - {file = "cx_Freeze-7.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dbd24c7f0f402c62bed9cfbf6e7dd7d65ef2a011d2576404d9cf2d2c113c1e48"}, - {file = "cx_Freeze-7.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e04a06dc36bfd38088879f5faab7de15c99f3daada524b8a816addb203ec9464"}, - {file = "cx_Freeze-7.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:620635e86ef46872763be8b65b7c06f5f24943151e80013e3a37f312fe070895"}, - {file = "cx_Freeze-7.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e84fb083182bcaab226b7a75d2069cefcf3e3181142b09b514d99a5ae4860c8"}, - {file = "cx_Freeze-7.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dd175db3069991b60a792ee17a2e2e4853bfbcfc0b1be976ebee04ed1098c101"}, - {file = "cx_Freeze-7.2.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4030de54f227b5852155d86fc00f86a19e87d0470aa650ec4ddd06b06f270ceb"}, - {file = "cx_Freeze-7.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:60eba74abdb2211b38263797342e95732ec96621a781b02e5ff909cdc9cf5be5"}, - {file = "cx_Freeze-7.2.0-cp311-cp311-win32.whl", hash = "sha256:d727df584a9b1548dbc478f036382b8cde94471e106d38fb9c45b238bf8af4d1"}, - {file = "cx_Freeze-7.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:bb6d91342f7379ba76d8a07c263d1fba380f0044b13d3e4629e50cc8dd19b681"}, - {file = "cx_Freeze-7.2.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f7cf98f63c85fc2f947a7f68548136d60dfd7927a464d1cd38239a75b730f7f7"}, - {file = "cx_Freeze-7.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:7f988be0ad19be0df357102fae21553f36cc4f83b4e881888e3512d1a2bcb8ba"}, - {file = "cx_Freeze-7.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:98491338f6dcf52f8ee4d872d08aeae0c91466a47383ad19d1332a565f7c4df8"}, - {file = "cx_Freeze-7.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51a2f286ff58e04510b6af87c055b6fca36045a0fb785cd966f38aa70f86c3ce"}, - {file = "cx_Freeze-7.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:43e6c1ccaf9be9010a0e8a8c33edc7671dd0a6f8c49ab2bcd9f49ce0960089e0"}, - {file = "cx_Freeze-7.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64c3f734cff3620d5ecc474d59a753cae52ba96b52e0a9ade803a70699be1bc1"}, - {file = "cx_Freeze-7.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d68f2ec4c0c456c6f1ca5e623f240f27fb63ae65970a16e04689863b03a16c7e"}, - {file = "cx_Freeze-7.2.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:77e2362f075b242a99e041afb9a49693a60c102b9b1df67f6387c87fde02e34f"}, - {file = "cx_Freeze-7.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a51b97024401d5cfaa392caef8b150bf91e62c0fdcb6a68372959c6ff28349d3"}, - {file = "cx_Freeze-7.2.0-cp312-cp312-win32.whl", hash = "sha256:19fb97c8481266931c5fd5cc380b12fb09053258413ebaf6760d5063e5ffde41"}, - {file = "cx_Freeze-7.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:e61692176a8803e0853ca115cede397942c1cee9e20c8eb5798613d0b92dd75d"}, - {file = "cx_Freeze-7.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5ed93d21a7962cc2886fb6e9e7d53fec67d6da02ff8088c9007a03835adc0240"}, - {file = "cx_Freeze-7.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b00302fc33f279f7dbca764bdb60247d609e3b424ff31198512c6eeb8cdda17b"}, - {file = "cx_Freeze-7.2.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:e97745e663450871736f06321fc732b440628cff397f8ddbef05ffbc355b2f5d"}, - {file = "cx_Freeze-7.2.0-cp38-cp38-win32.whl", hash = "sha256:b7a0c2cced3fa9cf3b0cb4b67064b3ed2db1edec3186d75270ee0c01ed31cf54"}, - {file = "cx_Freeze-7.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:96046d864e03d4241e869fa5e3ae186be1fbdc170d77125fe36185c7a0108f6f"}, - {file = "cx_Freeze-7.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:36285f3367f4d220632c572f37140bdacb2020bdf7b166ee707e3e2351338955"}, - {file = "cx_Freeze-7.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:717915dfa25730b57166b25d392c83d41e3f655c8996d473ba0368aec2a9d262"}, - {file = "cx_Freeze-7.2.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:afc91a24eccfe14f1853c93e78656772710ed754f7cc5ecb9761b6250a540848"}, - {file = "cx_Freeze-7.2.0-cp39-cp39-win32.whl", hash = "sha256:166b93473e86b926db7ab26e7d83504e8330df07af44cc090ebcad40e3158417"}, - {file = "cx_Freeze-7.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:4a91284a925df800e0dbb324c51ab4fd7bd0ea708f280d94a2a10cf564c28cbe"}, - {file = "cx_freeze-7.2.0.tar.gz", hash = "sha256:c57f7101b4d35132464b1ec88cb8948c3b7c5b4ece4bb354c16091589cb33583"}, + {file = "cx_Freeze-7.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3c624b14f8f529757ff249a4e807d714bde02d4ebc8435bb382068196d353c73"}, + {file = "cx_Freeze-7.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39851cec70aa8f70960d3aaa9e2d59469b35346931d3b1cac45de14278e81f9b"}, + {file = "cx_Freeze-7.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:68d8645717f7d16a99eb2199cb754a5ebd8c5b4d75025de552e40eec21671524"}, + {file = "cx_Freeze-7.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f4330a9baef6a8d7c0d75edd3cba70239ab318178efd86007b618d3b24a3d1a8"}, + {file = "cx_Freeze-7.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:65ddd924ee59e2c503f4a1165cc3a2bd6249d316b31e1f6313fcda42d7b74054"}, + {file = "cx_Freeze-7.2.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:c51e77cde95802f4dcbdcd046748e5bf12719eb71150c40f73a2fcf046773dc1"}, + {file = "cx_Freeze-7.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e331d868cc670d4357028eb9a5c4c1d3594722eed160c981ed00bfb5113eda44"}, + {file = "cx_Freeze-7.2.1-cp310-cp310-win32.whl", hash = "sha256:d59ea1b80970b9aed4bddaf8595acbc1661237ca9ad219175fa69085526d2fd5"}, + {file = "cx_Freeze-7.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:6592d155d5b542b1eb1e4133bdcecca4292dfb4e05e7058a435b02c0016ea62c"}, + {file = "cx_Freeze-7.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:079ee0837d723a4e4d0530755d46b51594e8e7b9d0ec51e56424b928ac5cd3a1"}, + {file = "cx_Freeze-7.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d414d2020976e19243588283881280d9942404bd742c246badd94c7ca7a4e9eb"}, + {file = "cx_Freeze-7.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2770977c6a9099e8ed4267093920f27b5c6a0e55b506b6b189cedf3d6b53ab83"}, + {file = "cx_Freeze-7.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d3f527842c1c04789b6c7ee27ab23a3a4fcc5d11e25e2a4fe748c35f3d5ecd1"}, + {file = "cx_Freeze-7.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5447db1eb8747c4bf75893d6c6e738221209dc068e09f65e614fbd45ae4a7359"}, + {file = "cx_Freeze-7.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd0b06925e65dd818d91fdb50818de03b4fe36f659229046b9567cd2969d64e4"}, + {file = "cx_Freeze-7.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f8f938ea82ef37a89a7779cd5dfa444a16192816aa4946a8b3aa223f14cc7c62"}, + {file = "cx_Freeze-7.2.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:488d420400cd8842874842b4243c501e4ef51c347555f95a2153b399feeea821"}, + {file = "cx_Freeze-7.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a367589684875b72c697709d1228ec75a5c05c656f128aa542c96a2bb6503a5c"}, + {file = "cx_Freeze-7.2.1-cp311-cp311-win32.whl", hash = "sha256:c72c1182afce9ffa8b897f4bc24310da7b382b38a80812a03e03ae6a58d01cbc"}, + {file = "cx_Freeze-7.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:fc366e72ad84f1054620f8bd4cdc5de8837b430bf9c5d518263af3b53285dd1f"}, + {file = "cx_Freeze-7.2.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8ca799d6d14c319baa295c3b3655cc3ee92bbd0f8591c4bd8eccddde59f965be"}, + {file = "cx_Freeze-7.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:da55d99cf41023b5a1fde39cf8ab77606e4150762557519906483b563e3ee0ae"}, + {file = "cx_Freeze-7.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b967757dc781aa8d19b8dba5671fe17a686a7ebddd3778fac11ce886cb03c717"}, + {file = "cx_Freeze-7.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dab3a08c454a7062bbe96d9e3be8ca2717efd11e7033de24ba6e20c64a48b3b4"}, + {file = "cx_Freeze-7.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c3c24a0fa1a221741aa0eac01a79b3f4ff552342d3294f99279d599994248f9d"}, + {file = "cx_Freeze-7.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:321fa9501c066d8ce0bc46abe4b21bef66c5a97d563e5634e940622d43203532"}, + {file = "cx_Freeze-7.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1d40dd96e6448bb2dd513222542e720db3eedc9e6a9a44f435f410c3847747ac"}, + {file = "cx_Freeze-7.2.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:17898d987a62805f368b0a4b8b70a244346e201cd23b3c6fd7ad1e6df4661834"}, + {file = "cx_Freeze-7.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ef33ae6161c9a1259fcd72268fa6f6be2f0cafea88f7bfa9d36bcb7703ae8f5d"}, + {file = "cx_Freeze-7.2.1-cp312-cp312-win32.whl", hash = "sha256:df4f05f60d1bd0a4605cf0ed62f137416638e11975faaa88770cbc10493c8f45"}, + {file = "cx_Freeze-7.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:5d40688e8cef7d342961235128dfb1c828ede21993d0a56eda1ddb1cd88c3cec"}, + {file = "cx_Freeze-7.2.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4e032ed22c78f40a08cef661273db372f861513aa29d34ed60500c9d81b30e22"}, + {file = "cx_Freeze-7.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9be240df57aee4f9a625c4d98c0bf67c4b9d2db24e36213a3d95b7a41ab6b1e6"}, + {file = "cx_Freeze-7.2.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:35b36fada874364cbe0e6786e76e30adda972919c5730cf01413b39d1b9a62d4"}, + {file = "cx_Freeze-7.2.1-cp38-cp38-win32.whl", hash = "sha256:0f6158abcbafabbbbd6fbde14d68a8bf927a4e5dd5888b39dff39575eda0dd13"}, + {file = "cx_Freeze-7.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:741a213f8bc2113bc52e046bd17492f6809c9a2897e37628b1f8b0f09921376a"}, + {file = "cx_Freeze-7.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:69dbe90a27da66374b5220f90dae898c329164c176a74be74a48175ebfa9c13b"}, + {file = "cx_Freeze-7.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db7390664fb23446cf6b7f3e3c64c7be41b44d37c538eec68d6adfc7b7129047"}, + {file = "cx_Freeze-7.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d7049c46dc41d25249675a7996b9482fd4047296ef5e2ebc32ec4ca81f3fe0c2"}, + {file = "cx_Freeze-7.2.1-cp39-cp39-win32.whl", hash = "sha256:753c080b3ada2c05f48da3afb58bb0e882e2b2de76777a71b17da23971ebf396"}, + {file = "cx_Freeze-7.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:db1d4b33904eff7cf646b934ab11dae046a32c62a749be780fd04c315e2f5665"}, + {file = "cx_freeze-7.2.1.tar.gz", hash = "sha256:730d5ed75d41b6ef35318ecb8cf345521415ae4108945e8745cf9b446840788e"}, ] [package.dependencies] cx-Logging = {version = ">=3.1", markers = "sys_platform == \"win32\""} dmgbuild = {version = ">=1.6.1", markers = "sys_platform == \"darwin\""} filelock = {version = ">=3.12.3", markers = "sys_platform == \"linux\""} -lief = {version = ">=0.12.0,<0.15.0", markers = "sys_platform == \"win32\""} +importlib-metadata = {version = ">=6", markers = "python_full_version < \"3.10.2\""} +lief = {version = ">=0.12.0,<0.16.0", markers = "sys_platform == \"win32\""} +packaging = ">=24" patchelf = {version = ">=0.14", markers = "sys_platform == \"linux\" and (platform_machine == \"aarch64\" or platform_machine == \"armv7l\" or platform_machine == \"i686\" or platform_machine == \"ppc64le\" or platform_machine == \"s390x\" or platform_machine == \"x86_64\")"} -setuptools = ">=65.6.3,<71" -wheel = ">=0.42.0,<=0.43.0" +setuptools = ">=65.6.3,<75" +tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} [package.extras] -dev = ["bump-my-version (==0.24.2)", "cibuildwheel (==2.19.2)", "pre-commit (==3.5.0)", "pre-commit (==3.7.1)"] -doc = ["furo (==2024.5.6)", "myst-parser (==3.0.1)", "sphinx (==7.3.7)", "sphinx-new-tab-link (==0.5.0)", "sphinx-tabs (==3.4.5)"] -test = ["coverage (==7.6.0)", "pluggy (==1.5.0)", "pytest (==8.2.2)", "pytest-cov (==5.0.0)", "pytest-datafiles (==3.0.0)", "pytest-mock (==3.14.0)", "pytest-timeout (==2.3.1)", "pytest-xdist[psutil] (==3.6.1)"] +dev = ["bump-my-version (==0.26.0)", "cibuildwheel (==2.20.0)", "pre-commit (>=3.5.0,<=3.8.0)"] +doc = ["furo (==2024.8.6)", "myst-parser (>=3.0.1,<=4.0.0)", "sphinx (>=7.1.2,<8)", "sphinx-new-tab-link (==0.6.0)", "sphinx-tabs (==3.4.5)"] +test = ["coverage (==7.6.1)", "pluggy (==1.5.0)", "pytest (==8.3.3)", "pytest-cov (==5.0.0)", "pytest-datafiles (==3.0.0)", "pytest-mock (==3.14.0)", "pytest-timeout (==2.3.1)", "pytest-xdist[psutil] (==3.6.1)"] [[package]] name = "cx-logging" @@ -146,12 +148,13 @@ files = [ [[package]] name = "eudplib" -version = "0.77.9" +version = "0.78.3" description = "EUD Trigger generator" optional = false python-versions = "<3.12,>=3.10" files = [ - {file = "eudplib-0.77.9-cp311-cp311-win_amd64.whl", hash = "sha256:8177887a0f75e83056c49c19cad2cb3cdf0d1a473e7d7fbac36ea0b348b02938"}, + {file = "eudplib-0.78.3-cp311-cp311-win_amd64.whl", hash = "sha256:3f90878a7806261bc396e23fd3156959e69c45c8d4f4f6c8d3b8c244b8c9bc12"}, + {file = "eudplib-0.78.3.tar.gz", hash = "sha256:e997b93a826f3163bcdccd8b8aa4f8d4f8f24fcda21cd3ea371853a78254e490"}, ] [package.dependencies] @@ -159,60 +162,90 @@ typing-extensions = "*" [[package]] name = "filelock" -version = "3.16.0" +version = "3.16.1" description = "A platform independent file lock." optional = false python-versions = ">=3.8" files = [ - {file = "filelock-3.16.0-py3-none-any.whl", hash = "sha256:f6ed4c963184f4c84dd5557ce8fece759a3724b37b80c6c4f20a2f63a4dc6609"}, - {file = "filelock-3.16.0.tar.gz", hash = "sha256:81de9eb8453c769b63369f87f11131a7ab04e367f8d97ad39dc230daa07e3bec"}, + {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, + {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, ] [package.extras] -docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.1.1)", "pytest (>=8.3.2)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.3)"] +docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] typing = ["typing-extensions (>=4.12.2)"] +[[package]] +name = "importlib-metadata" +version = "8.5.0" +description = "Read metadata from Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, + {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, +] + +[package.dependencies] +zipp = ">=3.20" + +[package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +perf = ["ipython"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] +type = ["pytest-mypy"] + [[package]] name = "lief" -version = "0.14.1" +version = "0.15.1" description = "Library to instrument executable formats" optional = false python-versions = ">=3.8" files = [ - {file = "lief-0.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7a9a94882f9af110fb01b4558a58941d2352b9a4ae3fef15570a3fab921ff462"}, - {file = "lief-0.14.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:bcc06f24f64fa6f20372d625ce60c40a7a6f669e11bdd02c2f0b8c5c6d09a5ee"}, - {file = "lief-0.14.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:d22f804eee7f1b4a4b37e7a3d35e2003c4c054f3450d40389e54c8ac9fc2a5db"}, - {file = "lief-0.14.1-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl", hash = "sha256:26134815adecfd7f15dfbdf12cc64df25bcf3d0db917cf115fc3b296d09be496"}, - {file = "lief-0.14.1-cp310-cp310-win32.whl", hash = "sha256:6ca0220189698599df30b8044f43fb1fc7ba919fb9ef6047c892f9faee16393a"}, - {file = "lief-0.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:c321234b50997c217107c09e69f53518c37fac637f8735c968c258dd4c748fb2"}, - {file = "lief-0.14.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3ca365c704c6b6b1ce631b92fea2eddaf93d66c897a0ec4ab51e9ab9e3345920"}, - {file = "lief-0.14.1-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:1f3c40eadff07a4c8fa74f1e268f9fa70b68f39b6795a00cd82160ca6782d5c3"}, - {file = "lief-0.14.1-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:c202ed13b641db2e1f8a24743fb0c85595b32ea92cc3c517d3f7a9977e16dcb4"}, - {file = "lief-0.14.1-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl", hash = "sha256:fd481bfdfef04e8be4d200bca771d0d9394d9146c6cd403f9e58c80c4196a24e"}, - {file = "lief-0.14.1-cp311-cp311-win32.whl", hash = "sha256:473e9a37beef8db8bab1a777271aa49cce44dfe35af65cb8fad576377518c0bd"}, - {file = "lief-0.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:24f687244e14d4a8307430babc5c712a1dd4e519172886ad4aeb9825f88f7569"}, - {file = "lief-0.14.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6df40e3750b8b26f88a6b28ac01db7338cdb6158f28363c755bf36452ce20d28"}, - {file = "lief-0.14.1-cp312-cp312-macosx_11_0_x86_64.whl", hash = "sha256:e7f7a55db2fcf269569f9e9fa5ea752620396de17bd9d29fc8b29e176975ecdb"}, - {file = "lief-0.14.1-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:50795b51884b76a78c481d6d069d992561c217180bd81cf12554180389eff0a3"}, - {file = "lief-0.14.1-cp312-cp312-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl", hash = "sha256:497b88f9c9aaae999766ba188744ee35c5f38b4b64016f7dbb7037e9bf325382"}, - {file = "lief-0.14.1-cp312-cp312-win32.whl", hash = "sha256:08bad88083f696915f8dcda4042a3bfc514e17462924ec8984085838b2261921"}, - {file = "lief-0.14.1-cp312-cp312-win_amd64.whl", hash = "sha256:e131d6158a085f8a72124136816fefc29405c725cd3695ce22a904e471f0f815"}, - {file = "lief-0.14.1-cp313-cp313-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl", hash = "sha256:f9ff9a6959fb6d0e553cca41cd1027b609d27c5073e98d9fad8b774fbb5746c2"}, - {file = "lief-0.14.1-cp313-cp313-win32.whl", hash = "sha256:95f295a7cc68f4e14ce7ea4ff8082a04f5313c2e5e63cc2bbe9d059190b7e4d5"}, - {file = "lief-0.14.1-cp313-cp313-win_amd64.whl", hash = "sha256:cdc1123c2e27970f8c8353505fd578e634ab33193c8d1dff36dc159e25599a40"}, - {file = "lief-0.14.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:df650fa05ca131e4dfeb42c77985e1eb239730af9944bc0aadb1dfac8576e0e8"}, - {file = "lief-0.14.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:b4e76eeb48ca2925c6ca6034d408582615f2faa855f9bb11482e7acbdecc4803"}, - {file = "lief-0.14.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:016e4fac91303466024154dd3c4b599e8b7c52882f72038b62a2be386d98c8f9"}, - {file = "lief-0.14.1-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl", hash = "sha256:9a5c7732a3ce53b306c8180ab64fdfb36d8cd9df91aedd9e2b4dad9faf47492b"}, - {file = "lief-0.14.1-cp38-cp38-win32.whl", hash = "sha256:7030c22a4446ea2ac673fd50128e9c639121c0a4dae11ca1cd8cc20d62d26e7e"}, - {file = "lief-0.14.1-cp38-cp38-win_amd64.whl", hash = "sha256:4a35ceeee74bb9bb4c7171f4bca814576a3aa6dec16a0a9469e5743db0a9ba0c"}, - {file = "lief-0.14.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:abb15e4de34e70661fd35e87e2634abf0ae57a8c8ac78d02ad4259f5a5817e26"}, - {file = "lief-0.14.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:33d062340c709c1a33539d221ea3cb764cbb8d7c9ee8aae28bf9797bc8715a0b"}, - {file = "lief-0.14.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:66deb1b26de43acb2fd0b2fc5e6be70093eaaa93797332cc4613e163164c77e7"}, - {file = "lief-0.14.1-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl", hash = "sha256:c1c15bd3e5b15da6dcc0ba75d5549f15bfbf9214c0d8e3938f85877a40c352d9"}, - {file = "lief-0.14.1-cp39-cp39-win32.whl", hash = "sha256:ebcbe4eadd33d8cf2c6015f44d6c9b72f81388af745938e633c4bb90262b2036"}, - {file = "lief-0.14.1-cp39-cp39-win_amd64.whl", hash = "sha256:2db3eb282a35daf51f89c6509226668a08fb6a6d1f507dd549dd9f077585db11"}, + {file = "lief-0.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a80246b96501b2b1d4927ceb3cb817eda9333ffa9e07101358929a6cffca5dae"}, + {file = "lief-0.15.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:84bf310710369544e2bb82f83d7fdab5b5ac422651184fde8bf9e35f14439691"}, + {file = "lief-0.15.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:8fb58efb77358291109d2675d5459399c0794475b497992d0ecee18a4a46a207"}, + {file = "lief-0.15.1-cp310-cp310-manylinux_2_33_aarch64.whl", hash = "sha256:d5852a246361bbefa4c1d5930741765a2337638d65cfe30de1b7d61f9a54b865"}, + {file = "lief-0.15.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:12e53dc0253c303df386ae45487a2f0078026602b36d0e09e838ae1d4dbef958"}, + {file = "lief-0.15.1-cp310-cp310-win32.whl", hash = "sha256:38b9cee48f42c355359ad7e3ff18bf1ec95e518238e4e8fb25657a49169dbf4c"}, + {file = "lief-0.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ddf2ebd73766169594d631b35f84c49ef42871de552ad49f36002c60164d0aca"}, + {file = "lief-0.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:20508c52de0dffcee3242253541609590167a3e56150cbacb506fdbb822206ef"}, + {file = "lief-0.15.1-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:0750c892fd3b7161a3c2279f25fe1844427610c3a5a4ae23f65674ced6f93ea5"}, + {file = "lief-0.15.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a8634ea79d6d9862297fadce025519ab25ff01fcadb333cf42967c6295f0d057"}, + {file = "lief-0.15.1-cp311-cp311-manylinux_2_33_aarch64.whl", hash = "sha256:1e11e046ad71fe8c81e1a8d1d207fe2b99c967d33ce79c3d3915cb8f5ecacf52"}, + {file = "lief-0.15.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:674b620cdf1d686f52450fd97c1056d4c92e55af8217ce85a1b2efaf5b32140b"}, + {file = "lief-0.15.1-cp311-cp311-win32.whl", hash = "sha256:dbdcd70fd23c90017705b7fe6c716f0a69c01d0d0ea7a2ff653d83dc4a61fefb"}, + {file = "lief-0.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:e9b96a37bf11ca777ff305d85d957eabad2a92a6e577b6e2fb3ab79514e5a12e"}, + {file = "lief-0.15.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1a96f17c2085ef38d12ad81427ae8a5d6ad76f0bc62a1e1f5fe384255cd2cc94"}, + {file = "lief-0.15.1-cp312-cp312-macosx_11_0_x86_64.whl", hash = "sha256:d780af1762022b8e01b613253af490afea3864fbd6b5a49c6de7cea8fde0443d"}, + {file = "lief-0.15.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:d0f10d80202de9634a16786b53ba3a8f54ae8b9a9e124a964d83212444486087"}, + {file = "lief-0.15.1-cp312-cp312-manylinux_2_33_aarch64.whl", hash = "sha256:864f17ecf1736296e6d5fc38b11983f9d19a5e799f094e21e20d58bfb1b95b80"}, + {file = "lief-0.15.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c2ec738bcafee8a569741f4a749f0596823b12f10713306c7d0cbbf85759f51c"}, + {file = "lief-0.15.1-cp312-cp312-win32.whl", hash = "sha256:db38619edf70e27fb3686b8c0f0bec63ad494ac88ab51660c5ecd2720b506e41"}, + {file = "lief-0.15.1-cp312-cp312-win_amd64.whl", hash = "sha256:28bf0922de5fb74502a29cc47930d3a052df58dc23ab6519fa590e564f194a60"}, + {file = "lief-0.15.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:0616e6048f269d262ff93d67c497ebff3c1d3965ffb9427b0f2b474764fd2e8c"}, + {file = "lief-0.15.1-cp313-cp313-manylinux_2_33_aarch64.whl", hash = "sha256:6a08b2e512a80040429febddc777768c949bcd53f6f580e902e41ec0d9d936b8"}, + {file = "lief-0.15.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fcd489ff80860bcc2b2689faa330a46b6d66f0ee3e0f6ef9e643e2b996128a06"}, + {file = "lief-0.15.1-cp313-cp313-win32.whl", hash = "sha256:0d10e5b22e86bbf2d1e3877b604ffd8860c852b6bc00fca681fe1432f5018fe9"}, + {file = "lief-0.15.1-cp313-cp313-win_amd64.whl", hash = "sha256:5af7dcb9c3f44baaf60875df6ba9af6777db94776cc577ee86143bcce105ba2f"}, + {file = "lief-0.15.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f9757ff0c7c3d6f66e5fdcc6a9df69680fad0dc2707d64a3428f0825dfce1a85"}, + {file = "lief-0.15.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:8ac3cd099be2580d0e15150b1d2f5095c38f150af89993ddf390d7897ee8135f"}, + {file = "lief-0.15.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:4dedeab498c312a29b58f16b739895f65fa54b2a21b8d98b111e99ad3f7e30a8"}, + {file = "lief-0.15.1-cp38-cp38-manylinux_2_33_aarch64.whl", hash = "sha256:b9217578f7a45f667503b271da8481207fb4edda8d4a53e869fb922df6030484"}, + {file = "lief-0.15.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:82e6308ad8bd4bc7eadee3502ede13a5bb398725f25513a0396c8dba850f58a1"}, + {file = "lief-0.15.1-cp38-cp38-win32.whl", hash = "sha256:dde1c8f8ebe0ee9db4f2302c87ae3cacb9898dc412e0d7da07a8e4e834ac5158"}, + {file = "lief-0.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:a079a76bca23aa73c850ab5beb7598871a1bf44662658b952cead2b5ddd31bee"}, + {file = "lief-0.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:785a3aa14575f046ed9c8d44ea222ea14c697cd03b5331d1717b5b0cf4f72466"}, + {file = "lief-0.15.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:d7044553cf07c8a2ab6e21874f07585610d996ff911b9af71dc6085a89f59daa"}, + {file = "lief-0.15.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:13285c3ff5ef6de2421d85684c954905af909db0ad3472e33c475e5f0f657dcf"}, + {file = "lief-0.15.1-cp39-cp39-manylinux_2_33_aarch64.whl", hash = "sha256:932f880ee8a130d663a97a9099516d8570b1b303af7816e70a02f9931d5ef4c2"}, + {file = "lief-0.15.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:de9453f94866e0f2c36b6bd878625880080e7e5800788f5cbc06a76debf283b9"}, + {file = "lief-0.15.1-cp39-cp39-win32.whl", hash = "sha256:4e47324736d6aa559421720758de4ce12d04fb56bdffa3dcc051fe8cdd42ed17"}, + {file = "lief-0.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:382a189514c0e6ebfb41e0db6106936c7ba94d8400651276add2899ff3570585"}, ] [[package]] @@ -280,6 +313,17 @@ files = [ [package.dependencies] et-xmlfile = "*" +[[package]] +name = "packaging" +version = "24.1" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, +] + [[package]] name = "patchelf" version = "0.17.2.1" @@ -333,18 +377,34 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "setuptools" -version = "70.3.0" +version = "74.1.3" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-70.3.0-py3-none-any.whl", hash = "sha256:fe384da74336c398e0d956d1cae0669bc02eed936cdb1d49b57de1990dc11ffc"}, - {file = "setuptools-70.3.0.tar.gz", hash = "sha256:f171bab1dfbc86b132997f26a119f6056a57950d058587841a0082e8830f9dc5"}, + {file = "setuptools-74.1.3-py3-none-any.whl", hash = "sha256:1cfd66bfcf197bce344da024c8f5b35acc4dcb7ca5202246a75296b4883f6851"}, + {file = "setuptools-74.1.3.tar.gz", hash = "sha256:fbb126f14b0b9ffa54c4574a50ae60673bbe8ae0b1645889d10b3b14f5891d28"}, ] [package.extras] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.10.0)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] +core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.text (>=3.7)", "more-itertools (>=8.8)", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.11.*)", "pytest-mypy"] + +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] [[package]] name = "typing-extensions" @@ -358,20 +418,25 @@ files = [ ] [[package]] -name = "wheel" -version = "0.43.0" -description = "A built-package format for Python" +name = "zipp" +version = "3.20.2" +description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "wheel-0.43.0-py3-none-any.whl", hash = "sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81"}, - {file = "wheel-0.43.0.tar.gz", hash = "sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85"}, + {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, + {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, ] [package.extras] -test = ["pytest (>=6.0.0)", "setuptools (>=65)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] +type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = ">= 3.10, < 3.12" -content-hash = "3bf4833264b190a93681425d0ecc148a0ab0312551529f9c9adc05dcda552e3c" +content-hash = "e93ab2201d5e87d8b637c706aec5b460200e9db36c65fb982b1ffcaa43a46332" diff --git a/pyproject.toml b/pyproject.toml index 50a625f..75f06fb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "euddraft" -version = "0.9.11.2" +version = "0.10.0.0" description = "Framework for creating & applying various plugins to StarCraft map." authors = ["armoha ", "Park Hyun Woo "] license = "MIT" @@ -9,7 +9,7 @@ readme = "README.md" [tool.poetry.dependencies] python = ">= 3.10, < 3.12" cx-Freeze = "^7.2.0" -eudplib = "^0.77.9" +eudplib = "^0.78.2" rich = "^13.8.1" openpyxl = "^3.1.3" typing_extensions = "^4.12.2"