PACL2(r18 Blame)

r18
r8

(r6으로 되돌림)
1||<-3><tablealign=right><tablewidth=500><bgcolor=#000000><tablebordercolor=#777777><color=#fff><nopad> [[파일:PACL_icon.png|width=100%]] ||
2||<-3><bgcolor=#555555><color=#fff> {{{#!wiki style="display: inline; text-shadow: 0 0 12px #ffffff; color:#ffffff"
3'''{{{+2 PACL2}}}'''}}} ||
4||<-3><bgcolor=#3D3D3D><nopad>'''{{{+1 {{{#fff | 정식 명칭}}}}}}''' ||
5||<-3>PACL2 ||
6||<-3><bgcolor=#3D3D3D><nopad>'''{{{+1 {{{#fff | 최신 버전}}}}}}''' ||
r11
7||<-3>2.5.301[* 2026-06-27 기준] ||
r8

(r6으로 되돌림)
8||<-3><bgcolor=#3D3D3D><nopad>'''{{{+1 {{{#fff | 개발자}}}}}}''' ||
9||<-3>[[Asansis]][br][[Jongyeol]] ||
r9
10||<-3><bgcolor=#3D3D3D><nopad>'''{{{+1 {{{#fff | 필요 라이브러리}}}}}}''' ||
11||<-3>JALib ||
r8

(r6으로 되돌림)
12||<-3><bgcolor=#3D3D3D><nopad>'''{{{+1 {{{#fff | 주요 링크}}}}}}''' ||
13||<-3>[[https://discord.gg/m2HYMphGRD&v=jTrLMRi1qog|[[파일:Discord.png|width=25]]]] | [[https://www.notion.so/PACL2-29d5b2059a5b80a9a7b3df5db0fae02d|설명서]]||
r7
14
r8

(r6으로 되돌림)
15[clearfix]
16[목차]
17== 개요 ==
18PACL2은 A Dance of Fire and Ice의 모드이다.
19Predictive Advanced Custom Level editor[* 예측형 고급 커스텀 레벨 편집기]의 머리글자를 딴 것으로, Java로 만들어진 PACL을 계승하여 모드로 이식되었다.
20다양한 편의기능을 추가시켜준다.
21== 버전 표기법 ==
222.3.0 버전 이후만 해당된다.
23 * 2.A.BCD 형태의 버전으로 표기한다.
24 * A랑 B는 두 자리 이상의 수일 수 있다.
25 * CD는 각각 하나의 숫자이다.
26 * 업데이트 내역에는 맨 뒤 두자리를 제거한다.
27 * 새로운 기능이 추가된 경우, A 자리가 변동되고 BCD 자리가 101로 초기화된다.
28 * 버그 수정이 많거나, 기능이 일부만 변경되면 B 자리가 변동된다.
29 * 매우 작은 버그 수정만이 일어난 경우, CD 자리가 변동된다. 업데이트 내역에는 표시되지 않는다.
30== 기능 ==
31[[Jongyeol#s-5.10|SmartEditor]]에서 계승된 기능은 [*SE SmartEditor에서 계승된 기능이다]로, 비활성화가 불가능한 기능은 [*X 비활성화가 불가능하다]로 표기한다.
32=== Logging[*X] ===
33PACL2의 로그 범위를 설정해준다.
34=== FixChartLoad[*SE] ===
35에디터에서 레벨을 새로고침하는 속도를 줄인다.
36예시로, 타일의 개수가 십만이 넘어가도 '''타일 설치 속도가 거의 줄어들지 않는다!'''
37=== BGAMod[*SE] ===
38플레이 시 행성과 타일, 그리고 히트사운드를 제거한다.
39이때, [[레벨 에디터/이벤트#s-4.1.5|사운드 재생]]은 그대로 적용되는데, 이는 의도된 사항이라고 한다.
40이 기능을 적용하고 무적을 킨 뒤 플레이하면, 놓침 수가 기하급수적으로 늘어나는 현상이 있다.
41=== SpeedPauseConverter[*SE] ===
42[[레벨 에디터/이벤트#s-4.1.1|속도 설정]]과 [[레벨 에디터/이벤트#s-4.1.7|비트 일시정지]] 간 상호 변환이 가능하게 만들어준다.
43쉽게 말해, 속도 설정에서 비트 일시정지로, 비트 일시정지에서 속도 설정으로 이벤트 변환이 가능하다는 것이다.
44=== BetterUndoRedo ===
45레벨 자체가 변경되지 않는 이상, 실행된 작업을 저장하지 않고 건너뛴다. 레벨의 데이터가 변경된 경우에만 작업 목록을 저장하며, 실행 취소 시에는 저장된 작업 목록에서 순차적으로 불러올 수 있다.
46예를 들어, 타일을 여러번 클릭하는 것이 undo에 저장되지 않는다.
47=== EditorUI ===
48가로형 입력란: 입력란을 가로로 배치한다. 이 때문에, ui가 겹쳐서 나올 수도 있다. 이땐, 에디터 페널을 확대할 수 있다는 것을 기억하자. --파티클은요...?--
49타일 번호 추가: 이벤트 탭의 최상단에 타일 번호를 추가한다.
r11
50=== Timeline ===
r8

(r6으로 되돌림)
51'''이 모드의 주요 기능'''
52영상 편집기 같이 미리보기 + 타임라인에서 이벤트 수정을 지원한다.
53## 이 기능이 설명해야 할게 많아서 다음에
54=== MemoryOptimizer[*X] ===
55모든 장식에 강력한 최적화가 적용된다. 이로 인해 GPU의 성능이 충분하다면 레벨 오픈 시 장식이 차지하는 메모리 사용량이 '''95% 이상''' 감소한다고 한다.
56=== BugFix[*X] ===
57인게임에 존재하는 치명적인 버그 일부를 수정해준다.
58대표적으로 older 버전에서만 열리던 [[HALL/한가지의 레벨|HALL]]이 일반 버전에서도 열릴 수 있게 해줬으나, 얼불춤 3.1.0 업데이트에서 해당 버그가 공식적으로 고쳐졌다.
59=== CustomEvents[* KeyLimiter에서 계승된 기능이다] ===
60[youtube(WBtxUbABXPg)]
61'''이 모드의 두 번쨰 주요 기능'''
r10
62[[KeyLimiter]] 모드의 키 제한과 더불어서 판정 제한, 세부 판정, 그리고 '''변수''' 등의 총 9개의 이벤트가 모드의 2.5 버전에서 추가되었다.
r13
63==== 제약조건 ====
r11
64===== 키 제한 =====
65[[파일:KeyLimiter선택화면.png]]
66[[KeyLimiter]]에서 계승해온 기능, 최대 키 수를 제한한다. 지정된 키 수를 초과할 경우 다음 동작 중 하나를 택하여 실행이 가능하다.
67 - 무시: 지정된 키 수를 초과한 키가 입력될 때 기존 판정 대신 '과입력!'이라는 판정이 발생해 다음 타일로 넘어가지 않는다.
68 - 게임 오버: 지정된 키 수를 초과한 키가 입력될 때 바로 게임 오버 처리가 된다. 이때 '메시지' 란을 수정해 게임 오버 시 하단에 띄울 메시지를 적을 수 있다.
69 - 이벤트 실행: 지정된 키 수를 초과한 키가 입력될 때 입력된 이벤트 테그를 실행한다. 실행할 이벤트의 검색 범위는 키 제한 이벤트가 설치된 타일에만 해당된다.
70 - 무시 후 이벤트 실행: '무시'와 '이벤트 실행'이 합쳐진 옵션
71 - 게임오버 후 이벤트 실행: '게임 오버'와 '이벤트 실행된이 합쳐진 옵션
72===== 판정 제한 =====
73===== 세부 판정 감지 =====
r13
74==== 변수 ====
r11
75===== 변수 설정 =====
76===== 변수 연산 =====
77===== 변수 비교 =====
r13
78==== 고급 ====
r11
79===== 장식 추적 =====
80===== 장식 공전 =====
81===== 이벤트 실행 =====
r14
82===== [[/프로그램|프로그램]] =====
83[[파일:Program선택화면.png]]
84변수 조작, 이벤트 실행, 카메라/트랙/장식 이동 등 다양한 동작을 프로그래밍 방직으로 제어할 수 있는 이벤트
85[include(틀:자세한 내용,문서=PACL2/프로그램)]
86
r8

(r6으로 되돌림)
87== 인게임 변경 사항 ==
88 * 기준 좌표가 카메라인 장식의 드래그가 비활성화된다.
89 * 하단 이벤트 선택기는 항상 활성 상태로 유지된다.
90 * 모든 탭(설정, 이벤트 탭)이 모든 필터 앞으로 이동한다.
91 * '첫' 타일로 이동하는 버튼이 항상 활성 상태로 유지된다.
92 * 장식 선택시 해당 장식의 기준 좌표가 카메라일 때 해당 장식으로 카메라를 이동하지 않는다.
93 * 타임라인이 활성화되면 타일 선택 시 카메라 이동이 비활성화된다.
94 * 타임라인이 활성화되면 이벤트를 생성할 때 마지막으로 생성한 이벤트의 각도 오프셋의 영향을 받지 않는다.
95 * "[[레벨 에디터/이벤트#s-4.2.4|길 이동]]"의 "회전 오프셋" 항목이 "회전"으로 변경된다.[* 기존 회전값이 반영되지 않으므로 혼동을 주기 쉽다라고 생각했기 때문이라고 한다.]
96== 유의 사항 ==
97=== 모드 충돌 ===
98레벨 에디터에서 특정 이벤트를 생성하거나, 타일을 연속해서 생성하거나 지우는 등, 반복적인 작업을 프레임 단위로 수행하는 모드가 존재할 경우 성능이 크게 감소한다. --그건 이 모드 없어도 마찬가지잖아요--
r16
99EventCategory가 7777~7779 EventType이 33333333~33333342, 23819723로 설정된 타 모드와 충돌할 수 있다.
r8

(r6으로 되돌림)
100
101현재 충돌이 확인된 모드는 다음과 같다.
102 * KeyboardChatterBlocker
103 * Optimizer - MemoryOptimizer와 충돌
104 * [[MappingHelper]] - BetterUndoRedo, Timeline과 충돌
105 * MagicShapeMultiply - Timeline과 충돌
r18
106 * [[KeyLimiter]] - CustomEvents와 충돌 (2.5 버전 이후)
r8

(r6으로 되돌림)
107=== 알려진 문제 ===
108 * 재생 중 그래픽 끊김 문제가 발생하면 싱크가 밀린다. 이는 인게임 또는 하드웨어 문제일 가능성이 높다. 타임라인을 끌어 다시 재생하면 대부분 해결된다.
109 * 게임 시작 후 레벨의 이벤트 개수가 4,294,967,296개 이상 누적된 경우 버튼이 오작동할 수 있다.
110 * 레벨 길이가 9시간 6분 이상인 경우, 타임라인 세부 위치 조절이 불가할 수 있다.
111 * 고급 필터를 생성할 때 동명의 필터가 생성한 타일의 뒤에 이미 존재할 경우 1회의 값 변경 전까지 고급 필터가 반영되지 않는다.
112 * 타일이 많은 레벨을 열었을 때 메모리 누수가 존재한다. 이는 모드가 모두 꺼져 있을 때도 발생한다. --그러면 이 모드 문제가 아니잖아요--
r11
113 * '''360도 타일에 [[레벨 에디터/이벤트#s-4.1.7|비트 일시정지]] 이벤트를 넣을 경우''' 미리보기에서 싱크에 문제가 생긴다. 이는 얼불춤 로직상 '''절대로''' 수정이 불가능하다고 하니 360도에 일시정지를 넣지 말자.
r8

(r6으로 되돌림)
114== 여담 ==
115 * 가끔씩 사람들이 [[#s3.3|공이 안보이거나 놓침 수가 기하급수적으로 늘어난다]]고 버그 제보를 할 때가 있다.
116
117
r17
118[[분류:모드]][[분류:Asansis]]