[모드팩만들기#3] 나만의 모드팩을 만들어보자~!!

안녕하세요 까만땅콩입니다.

이제 모드팩만들기의 뼈대를 세울시간입니다.

기초공사가 튼튼해야 사상누각이 안되겠죠...

사실 이부분이 잘 설계가 되어 있으면 뒤에 월탱이 업데이트가 되더라도

크게 손볼곳이 없습니다는 사실이 아니고....

네, 노가다하는 시간이 조금 많이 줄어듭니다....

시작해보죠~~~

6번, 7번 이 기초 설계 부분입니다.


---------------- 나만의 모드팩을 만들어 보자 연재 목록 ----------------

1. 설치형 모드팩의 화면구성

2. 모드팩을 만들기 위하여 기본적으로 알아야 할것은??

3. 모드팩의 인스톨 진행 순서 및 화면 설명

4. 까만땅콩 모드팩의 구조

5. 모드팩을 만들기 위해 필요한 프로그램 및 설정

6. 내가 원하는 모드팩 만들기 - 인스톨 화면 설계 편

7. 내가 원하는 모드팩 만들기 - 모드팩 구성 트리 설계 편

8. 내가 원하는 모드팩 만들기 - 모드 설명 이미지 파일과 사운드 넣기

9. 내가 원하는 모드팩 만들기 - 선택한 모드의 기능 설정 ON & OFF 설정하기

10. 대표적인 모드들의 공식 제작자 또는 꾸준한 팬 업데이트 사이트 링크

--------------------------------------------------------------

6. 내가 원하는 모드팩 만들기 - 인스톨 화면 설계 편

    인스톨 화면 설계는 본인이 만들고자 하는 모드팩의 성격을 드러낸다고 생각하면 됩니다.

    제가 추구하는 모드팩은 다음과 같은 목표를 두고 개발을 하였습니다.

    1) 모드를 인스톨 하더라도 윈도우의 레지스트리에 모드팩이 깔린 흔적이 남지 않아야 한다.

    2) 모드 설치를 위해서 나타나는 셋업화면의 갯수가 최소화 되어야 한다.

    3) 모드 선택시 시간이 걸리니까 배경음악이 들어 갔으면 좋겠다.

    4) 설치하고자 하는 모드의 텍스트 설명에 마우스커서가 올라가면 해당 모드의 샘플 이미지를 출력한다.

    5) 사운드 파일의 경우 해당 사운드 클릭시 샘플사운드가 나오도록 한다.

    6) 인스톨이 완료 되면 엔딩 페이지가 있어야한다.

    7) 모드팩을 만든사람과 도움을 준사람 그리고 사용자 라이센스에 대한 내용을 표시한다.

    이제부터 화면의 구성(갯수)을 시작해 보도록 하죠~

    INNO SETUP에서 인스톨러를 만들때 가장 기본적으로 나오는 페이지는 아래와 같습니다.
  

    a. Welcome Page

       - 인스톨 시작시 제일 처음 나오는 페이지





    b. Select Dir Page

       - 프로그램이 설치될 디렉토리를 지정하는 페이지




    c. Ready Page

       - 인스톨 되는 방식 및 디렉토리, 인스톨 되는 콤포넌트등 설치 정보를 확인하는 페이지.




    d. Installing Page

       - 파일이 인스톨되는 진행상황을 보여주는 페이지.




    e. Finished Page

       - 설치가 정상적으로 종료되었음을 알려주는 페이지.




    위 다섯개의 페이지가 기본페이지로 사용이 됩니다.

    이에 여기 기본에서 뺄것과 추가 해야 하는것을 생각해봅시다~

    WelcomePage는 뽀대가 안나니까 패쓰~!! 사실 '다음' 버튼 한번 누르는게 귀찮음....

    흠 내가 맹글었으니 사용자 라이센스는 알려줘야 겠죠...

    LicensePage는 제가 추가 한 페이지 입니다.

    모드의 저작권 관련 및 기타 권리사항들이 여기에 다 표기 되어야 그나마 시비 걸지는 않겠죠 -0-

    뭐 이런것도 귀찬다~!! 이 페이지도 빼도 됩니다. -_-;;;;;

    SelectDirPage는 왠만하면 손대지 맙시다...

    모드팩 소스안에 보면 월탱이 설치된 디렉토리의 정보를 윈도우 레지스트리 검색으로

    자동으로 찾아서 디렉토리가 나오도록 되어 있습니다.

    그런데~!! 디렉토리 자동 설정 기능이 모든 PC환경에서 자~~알 동작하지는 않습니다.

    특히나 PC방에 있는 PC들은 요즘 대부분 프로그램 설치 정보를 서버에 두고 숨켜두기에

    못찾습니다...

    어 그런데 제일 중요한 뭔가가 빠졌네요...

    모드 선택형 인스톨러를 만드는데 왜 선택 페이지는 어디갔지? 라고 생각하신다면

    흠 일단 100점 추가~!!

    흐름을 잘 이해하고 있다고 보시면 됩니다.

    INNO SETUP 에서 콤포넌트 선택 부분은 옵션기능인 것이었습니다~~~!!!

    요 아래에 나오는 모드팩 구성 트리 설계를 마치고 넣도록 하죠~

    모드를 선택하는 페이지의 이름은 SelectComponentPage로 기억해두세요.

    다음은 ReadyPage인데요 뭐 눈으로 한번 확인하고 설치하라는 나름의 배려인데

    이 페이지도 귀찮다 싶으면 빼면되요~

    이제 실제로 프로그램이 설치되는 과정을 보여주는 InstallingPage 입니다.

    이 페이지도 안보이게 해서 선택된 모드를 설치할 수 있습니다.

    그래도 보는게 조금은 안심이 되겠죠...

    마지막 페이지인 FinishedPage는 설치과정이 모두 완료 되었다고 알려주는 페이지이니

    내버려두도록하죠~

    위에서 얘기한 페이지를 넣고 빼고 안보이도록 숨기고 하는 기능은 모드팩 소스의 중심에 있는

    BlackPeanut.iss 파일에서 해당 명령어를 넣으면 됩니다.

    이렇게 저렇게 내맘대로 사용되는 페이지를 조정하고 싶다는 분은 공개한 소스를 가지고 먼저 만들어 본 다음에

    페이지 사용 설정과 관련되어서는 따로 설명할 부분을 기다리시면 됩니다.

    아니면 먼저 선행학습을 하셔도 되구요~

    자 요약해 봅시다.

    설치형 모드팩 프로그램에서 사용되는 기본 페이지는 아래와 같습니다.

    - LicensePage

    - SelectDirPage

    - SelectComponentsPage

    - ReadyPage

    - InstallingPage

    - FinishedPage
   
    WelcomePage는 스플래쉬 화면으로 대체를 하는것이니 빼버렸습니다.



7. 내가 원하는 모드팩 만들기 - 모드팩 구성 트리 설계 편

    지금부터 본인이 만들고자 하는 모드팩의 구성 트리를 만드는 방법을 알아보겠습니다.

    사람마다 같은 모드들을 사용하더라도 이 기능은 ON 저 기능은 OFF~

    네 참으로 다양합니다. 그래서 이 트리 부분의 설계가 어찌보면 제일 짜증나는 작업이죠

    이런 기능은 기본적으로 쓰면되지 왜 넣었다 뺏다 해서리...

    뭐 모드 제작자들이 그런 기능 온/오프 설정을 하도록 만들었으니

    모드팩 제작자도 최대한 반영하는것이 원칙이나.......

    그렇게 되면 모드의 종류가 많아질 수록 선택 옵션은 기하 급수적으로 늘어나니 본인이 잘 판단하기를 바랍니다.

    제가 봤을때 가장 옵션부분에 신경을 많이 쓴것이 아슬란 모드팩입니다.

    저는 선뜻 아슬란 같이 무지많은 옵션을 주기가 꺼려지더군요....

    노가다 해야하니까...

    잡설은 여기까지 하고 이제 부터 진짜 실전입니다.

    앞으로 실전 부분은 제가 올린 소스를 기준으로 설명되며

    제꺼에는 너무 많은 모드들이 들어가 있으니 차근차근 쉽게 할 수 있도록 대부분의 모드들을 지우고

    단순화시킨 다음에 단계별로 진행 해보겠습니다.

    XVM 모드를 예를 들면 좋겠으나 머리가 아프도록 옵션이 많으니 단순하게 모드별 설정을 하지 않고

    사용을 할지 하지 않을지만 결정하면 선택된 모드들만 인스톨이 되는 간단한 부분 부터 해보죠~

    이제 부터 만들어질 모드팩은 아래의 그림에 있는 탱크아이콘으로 하겠습니다.

    

    이제 트리 구조에 대하여 먼저 설명을 하고 진행을 해야 본인의 모드팩 구성 트리를 만들때

    쉽게 할 수 있을듯합니다.

    위에 사용될 탱크 아이콘의 트리구조는 실제 소스코드에서는 아래와 같이 두가지를 정의해야 합니다.




    이해가 어려울수도 있지만 INNO SETUP은 외부에 보여지는 디스크립션을 한번 정의하고

    내부의 트리구조를 만드는 콤포넌트 네임에 이 디스크립션을 매칭하는것입니다.

    모드팩 프로그램에 보여지는 모드의 설명은 위의 그림에서 보듯이

    CustomMessages.iss 파일에서 정해놓은 문구가 그대로 출력이 됩니다.

    CompDesc163 이라는 배열에 '까만땅콩 Contour Icon' 이라고 문구가 정의가 되면

    Components.iss 파일에서는 TANKICON\BP 라는 콤포넌트 네임에 CompDesc163을

    사용한다라고 지정을 합니다.

    쉽게 구분하면 외부에 보여지는 이름은 CustomMessages.iss 에 지정하고

    프로그램 내부에서 해당 모드를 부를때 사용하는 이름을 Components.iss 파엘에서 지정하는 겁니다.

    일단 여기까지 이해를 하였으면 이제 소스 파일들을 위에서 언급한 대로 수정해 보겠습니다.

    소스 수정을 하는것은 제가 수정을 해서 첨부파일로 배포를 하는것이 가장 좋을듯 하나~!!!

    그렇게 하면 자기 스스로 해보는 학습의 효과가 없다고 판단되기 때문에

    특정파일의 몇 라인부터 몇라인까지 지우세요~!! 이렇게 하면서 진행 하도록 하겠습니다.


    이번은 여기까지 하고 커피한잔 드시고 다음 연재까지 트리구조 한번 생각해보세요~!!

    Bye Bye~!

    

   
Lv27
찐땅콩
15%
 
경험치
5,661
베니
67
이니
31,319
  • 명성치7166
  • 제니119
  • 1

코멘트

새로고침
새로고침
인증글 3추글 즐겨찾기
최근 방문한 게시판
    초기화
    번호             제목             글쓴이 등록일 조회 추천
    4131      [일반]  지피지기면 백전백승. 나를 분석해보자  [1] 블록케이 00:25  620 9
    4130      [일반]  9.19패치이후 8티어 탑방비율  [14] 다사용중이야 00:46  1177 34
    4128      [일반]  월탱 보이스팩 프로젝트 파일 [13] 작은신선 06-22  725 15
    4127      [일반]  월탱 보이스 재추출  [4] Woonu 06-22  443 15
    4125      [일반]   브금팩 제작 프로젝트 파일 공유합니다.  [5] Fahrenhite 06-19  437 33
    4124      [일반]  에델바이스 정면 장갑을 Araboja ..  [2] Woonu 06-18  2787 0
    4123      [일반]  네임리스 정면 장갑을 Araboja !  [20] Woonu 06-18  3799 0
    4122      [일반]  발큐리아 전차 음성바꾸기 [11] 작은신선 06-18  1302 21
    4120      [일반]  크레딧 수익률 순위 탑10  [45] Nioki123 06-13  6087 26
    4118      [일반]  사운드팩 제작자 분들 필독!  [13] Woonu 06-11  1101 18
    4116      [일반]  0.9.19.0.1 피방에서 월탱하기 [11] 천사제니 06-06  4311 0
    4113      [일반]  7만판 탱린이의 헤비 라인전 팁  [29] 탱창 06-01  5592 106
    4112      [일반]    구축자리 공유  [26] 낭만대포 05-25  7164 101
    4111      [일반]  골드효율표 0522  [10] specter 05-22  3995 28
    4110      [일반]  Chrysler GF 장갑은? (성작탄..  [16] Woonu 05-20  6129 9
    4108      [일반]  공홈 게임 실행 설치 [19] 라이징헌터 05-16  2193 17
    4107      [일반]   보상판매를 한번 해보자  [11] Kshroach 05-15  5832 13
    4106      [일반]  모드 파일 wotmod 확장자로 만들기       Mistyaa 05-10  1370 12
    4105      [일반]   3배 구경우세, 입사각 보정과 절대도탄..  [9] 창고 05-10  4209 31
    4104      [일반]   보상판매 어떤시스템인가?  [9] specter 05-09  3999 15
    4102      [일반]  초보분들을 위한 관통 매커니즘 [12] Stayon 05-08  3302 30
    4101      [일반]  오늘 공개된 WN8 V30 업데이트에 .. [26] 아시아아시아 05-08  5010 26
    4100      [전차운영]  평균 이상은 확실, 물량의 나라 미..  [18] 월산수화 05-07  4050 13
    4098      [일반]  군사 행진 골드 효율표  [8] specter 05-05  2922 26
    4097      [일반]  공간장갑의 마법  [19] Tictock 05-05  4464 6
    4096      [일반]  9.18)아시아도 피해갈 수 없는 MM..  [28] Bedone 05-03  9829 61
    4092      [일반]  골드/크레딧 효율표  [1] 시나마후유 05-02  2303 11
    4090      [일반]  골드 효율 표  [8] specter 04-28  4125 37
    4088      [일반]  (폐기됨) 아시아서버에서 한국 계정으로..  [19] Hinero 04-24  6140 30
    4086      [일반]  핑도배하는사람 빠르게 차단하기  [12] 블루니스 04-23  3485 26
    4085      [일반]  [모드팩만들기#3] 나만의 모드팩을 만..       찐땅콩 04-21  808 11
    4084      [전술]    발사되는 탄을 막는 주포 방어술 (추가.. [26] 에스메랄다 04-20  7893 49
    4082      [일반]  [모드팩만들기 #2] 나만의 모드팩을 ..  [4] 찐땅콩 04-19  673 30
    4081      [일반]   [모드팩만들기#1] 나만의 모드팩을 만..  [5] 찐땅콩 04-18  2166 68
    4076      [일반]  내가 좋아하는 탱크를 쉽게 그려보자.  [20] 다르타냥공방 04-10  5042 16
    4075      [일반]  월탱을 처음하는 분들을 위한 아주 소소..  [4] Luckyxstrik 04-09  4701 23
    4074      [일반]  자신의 플레이 다시보기, 고수 영상 보.. [3] 히이잌이 04-09  2042 0
    4072      [일반]   자주포에 관하여  [15] 시오그 04-09  4161 29
    4070      [일반]    DW_Basak(Batignolles_..  [10] 결투의대가 04-09  1976 36
    4069      [일반]  9.18 경전차 리벨런싱으로 얻는 크레..  [14] Kshroach 04-09  4977 4
    4068      [일반]   인벤 유저 팁/공략 인벤 5년간 총정리..  [26] 유형권 04-09  9173 191
    4066      [일반]   본섭M53/M55 vs 테섭M53/M5..  [13] Strv103d 04-08  2535 14
    4065      [일반]  신규 유저를 위한 미세먼지 팁 9가지 [4] 에리카사마 04-08  2503 3
    4063      [일반]  스팟 메커니즘에 대해서(초보자분 추천)  [9] 뜻밖에행운아 04-07  2067 27
    4062      [일반]  로레인 8티 vs 9티 시절 스탯 비교  [7] 창고 04-07  2808 14
    4060      [일반]  탱크들의 스펙순위를 알아보자.  [23] 룰크 04-04  6011 27
    4059      [일반]   해치공략개론:T110편  [18] Hellsbells 04-04  3742 52
    4058      [전술]  이벤트도 있고 겸사 겸사 써보는 경전의.. [4] 외눈도깨비 04-03  2327 1
    4057      [일반]   E100(이백) 빠르게 약점공략해보자.  [23] Cocomco 04-02  5630 51
    4056      [일반]  실력을 늘리기 위해선 팁도 중요하지만...  [13] Woonu 04-01  4134 32
    4055      [일반]  ['베타'로의 회귀팩]효율을 알아보자!  [12] Demi 04-01  2783 24
    4053      [일반]  저격이 많은 아시아섭을 위한 미세팁 [4] Dakia 03-31  4410 6
    4052      [일반]  공식 포럼에서 사진 업로드 하는 방법  [1] Tictock 03-31  463 4
    4050      [일반]  그냥 혹시나하는 미세팁 [15] 행복한 03-31  1837 28
    4049      [일반]  똥팁이지만, 꼭 알아야할 한가지 [5] crescent98 03-31  1992 8
    4048      [일반]  라데온 유저를 위한 튕김방지 팁 [15] 에쎌케이 03-30  1593 16
    4047      [일반]  T25 Pilot No.1 장단점 및 .. [2] 투폴레프 03-30  2223 6
    4045      [일반]  핑플로터를 통한 회선 확인 및 보고 방..  [9] Tictock 03-29  2015 9
    4043      [일반]  아시아 서버 환불 받고싶은데 영어 울렁.. [8] Ysjun428 03-28  1844 0
    4040      [일반]  2만판 하면서 얻은 팁 [22] 벨지단토 03-27  5705 71
     1  2  3  4  5  6  7  8  9  10 
    명칭: (주)인벤커뮤니케이션즈 | 등록번호: 경기 아51514 | 등록연월일: 2009. 12. 14 | 제호: 인벤(INVEN)
    발행인: 배혜농 | 편집인: 이동원 | 발행소: 경기 성남시 분당구 성남대로 331번길 8, 17층 1701호
    발행연월일: 2004 11. 11 | 전화번호: 02 - 6393 - 7700 | E-mail: help@Inven.co.kr

    인벤의 콘텐츠 및 기사는 저작권법의 보호를 받으므로, 무단 전재, 복사, 배포 등을 금합니다.
    Copyrightⓒ Inven Communications. All rights reserved.