* 아래는 위즈커뮤니티(http://www.widz.info/)의 드로아크님께서 연재로 작성해주시는
* 애드온 해부학 제1편입니다.





■ 들어가기에 앞서



많은 분들이 애드온을 사용하면서 과연
이 애드온이 어떻게 돌아가는지 알지 못하고 사용하고 계십니다.

간혹 관심이 있는 분들이 있다고 하더라도
어디부터 봐야 알수있는지 모르시는 분들이 대부분이죠.



저 또한 한글화 작업을 하기 이전에는 마찬가지였습니다.
과연 어떻게, 어떤 원리로 동작하는 것일까? 이런 의문들...



많은 한글화 작업을 하면서 익혀온 애드온의 "속사정(?)"을 여기에 풀어볼까 합니다.

이번 첫 연재에서는 애드온이 무엇이고 그 애드온은
어떻게 설치하며 어떤 구조로 이루어 져있는지 알아봅시다.





■ 애드온이 과연 무엇인가요?



애드온은 월드 오브 워크래프트(이하 와우)에서 UI(User Interface:사용자 인터페이스. 이하 UI)를
보조해주거나 더 많은 기능을 부여해주는 하나의 플러그인(Plug-In)이라고 할 수 있습니다.



보통 기본 기능을 확장시키거나 변형시켜서 보다
편리하게 게임을 즐길수 있게 해주는 도구이지요.


보통 와우가 기본으로 설치할 경우의 와우 폴더입니다.

C:Program FilesWorld of Warcraft



이 경로 아래에 보면 여러가지 폴더가 있습니다.
그 중에서 Interface 라는 폴더가 바로 애드온이 위치하는 폴더입니다.


와우를 설치후 한번이라도 실행해봤다면 그 폴더안에
AddOns라는 폴더가 생성되어 있을겁니다.

이 폴더가 바로 애드온이 위치하는 폴더입니다.


하나의 애드온은 그 AddOns 폴더 안에 또하나의 폴더로 설치됩니다.
예를 들어서 ASDF 라는 애드온이라면 보통 ASDF 라는 폴더 명으로 설치가 되게 됩니다.








■ 애드온은 과연 어떻게 이루어져 있을까?



와우에서는 UI에 XML과 LUA라는 스크립트 언어를 사용합니다.
이는 와우의 기본 UI에도 마찬가지로 사용되고 있습니다.

보통 유저가 개발해서 배포되는 애드온은 3가지 구성요소를 가지고 있습니다.



■ 예제

sampleui 라는 이름의 애드온일 경우


sampleui라는 폴더 안의 내용

1. TOC 파일(sampleui.toc)
: 해당 애드온의 각 기본정보를 저장하는 파일입니다.

2. LUA 파일(sampleui.lua)
: 해당 애드온의 중심 스크립트 코드를 저장하는 파일입니다.

3. XML 파일(sampleui.xml)
: 해당 애드온의 뼈대를 이루는 파일입니다. 보통 눈에 보여지는 부분을 담당합니다.








기본적으로 애드온의 이름이 A라면 해당 파일들의 이름도 A라는 이름을 가지게 됩니다.
하지만 반드시 지켜야 되는 것은 아닙니다. 틀려도 상관은 없다는 이야기죠.


다만, 반드시 일치해야 하는 것이 있습니다.
바로 애드온 폴더 이름과 TOC파일의 이름은 일치해야합니다.


그 이유는 와우에서 애드온을 인식하는 과정에서
해당 폴더명의 이름과 일치하는 TOC파일을 찾아서
그 애드온의 모든 기본 정보를 읽어들이기 때문입니다..



보통 애드온을 다운로드 받으시고 압축을 열어보시면 2가지 경우를 보실 수 있습니다.
첫 번째는 애드온 폴더 채로 압축되어 있는 경우이고 두 번째는 파일만 압축되어 있는 경우입니다.



전자의 경우는 그냥 애드온 폴더에 압축을 해제해 주시는 것만으로도 설치가 끝납니다.
하지만 후자의 경우는 TOC 파일 이름으로 폴더를 생성해서 그 폴더에 설치해 주시면 됩니다.





■ TOC 파일 해부



각종 애드온을 보면 XML파일이 없는 경우도 있고 LUA파일이 없는 경우도 있습니다.
어떤 경우에는 둘다 없는 경우도 있죠.


하지만 반드시 있는 파일이 있는데 그것이 바로 TOC 파일 입니다.
TOC 파일은 애드온의 기본적인 정보를 가지고 있는 파일 입니다.



해당 애드온 이름, 버전, 구성요소 등등 각종 필수정보를
가지고 있기 때문에 애드온에 있어서 없어서는 절대 안되는 파일입니다.









■ SampleUI 라는 애드온의 TOC 예제


## Interface: 11000
## Title: SampleUI
## Notes: 이 애드온은 SampleUI 입니다
## Author: 애드온제작자
## SavedVariables: SampleUI_DB
## Dependencies: Ace
## OptionalDeps: myAddOns, ImprovedErrorFrame, TipBuddy
## Version: 1.0
SampleUI.lua
SampleUI.xml




## Interface:


처음 나오는 이부분은 해당 애드온이 사용될 와우 클라이언트의 버전을 표시합니다.
이부분의 버전과 현재 사용중인 클라이언트 버전이 일치하지 않으면
와우에서는 해당 애드온을 구버전으로 인식하고 동작하지 않습니다.

(외부애드온 설정에서 구버전사용을 체크하시면 사용이 가능해지긴 합니다.)



## Title:


해당 애드온의 이름을 표시합니다.
이는 외부애드온 설정에서 해당 애드온의 이름으로 표시됩니다.



## Notes:


해당 애드온의 설명 부분입니다. 이 애드온이 어떠한 애드온 인지를 간단하게 표시합니다.
역시 외부애드온 설정에서 애드온 이름 아래에 설명글로 표시됩니다.



## Author:


애드온을 제작한 제작자를 표시합니다.



## SavedVariables:

해당 애드온이 저장해야할 부분이 있을 경우 해당 저장파일 이름을 지정합니다.



## Dependencies:


해당 애드온을 사용하기 위해 필요한 필수요소를 지정합니다.
이 항목에 지정된 애드온이 설지되지 않으면 해당 애드온은 동작하지 않습니다.



## OptionalDeps:

해당 애드온이 영향을 끼치거나 연동되는 애드온을 지정합니다.



## Version:

해당 애드온의 버전을 표시합니다.



이후 아래에 표시된 파일 명은 해당 애드온에서 읽어들여야 할 파일을 표시합니다.
반드시 모든 애드온을 표시해야 되는 것은 아닙니다. 읽어들여야 하는 파일만 표시하면 됩니다.



한가지 중요한 것은 파일이 표기된 순서대로 읽어들인다는 점입니다.
만일 위 예제에서 XML파일이 LUA파일에서 어떠한 것을 불러와서
사용한다고 한다면 반드시 LUA파일이 먼저 나와 있어야 합니다.


즉,LUA파일 보다 XML파일을 먼저표기하면 해당 애드온은 에러가 나거나 오동작하게 됩니다.





첫 연재에서는 이렇게 애드온의 기본적인 사항과 그 중 TOC 파일에 대해서 설명해봤습니다.
다음 연재에서는 좀더 깊이 들어가서 현재 쓰이고 있는 애드온들을 중심으로 풀어가보겠습니다.




『 드로아크 』