작성자 | Cerenas | ||
---|---|---|---|
작성일 | 2019-10-10 02:28:47 KST | 조회 | 3,146 |
제목 |
오래간 만입니다. Cerenas라고 합니다.(스압 주의)
|
안녕하세요. 여기에 굉장히 오랜만에 들려보네요. 오래전에 여기를 접고 혼자 놀고 있었는데, 결국 해결 못한 문제로 인해 오래간 만에 와봤습니다.
근황...이랄까요...?쭉 갤디터를 가지고 놀기는 했지만, 문제에 직면하고 나서의 이야기를 좀 풀어보고 싶어서 글을 적습니다.
질문게시판에 질문을 올렸지만, 이 아래부터는 넋두리이자 지금까지 제가 고쳐보려던 노력과 결론입니다.
굳이 이 글의 제목을 만들자면 Unable to find symbol과의 사투.
------------------------------------------------
자, 맨 처음 제가 저 오류를 발견했을 당시의 제 모드 파일의 의존관계는 다음과 같았습니다.
그림 1 (모든 의존관계 그림)
도저히 해결책을 찾지 못한 1달 쯤 되었을때, 한가지 특징적인 것을 발견하게 되었습니다.
그림 2 (일반적인 행동 | 잘못된 행동 )
(일반적인 XML| 잘못된 XML)
....행위자들이 잘못 되어가고 있다고 깨달았습니다.
그럼 저 '행동'의 출처를 찾아가 봐야겠다 생각했습니다. 출처는 liberty.mod 였죠.
.....그럼 이건 뺄 수가 없는 건데?뭐가 어찌되었든 행위자에 문제가 있다고 결론이 났습니다.
...근데, 행위자가 작살났는데 왜 없어지는 건 사운드 데이터들이지....????이해가 되질 않았죠.
게다가 멀쩡했던 행동 행위자들도 수정만 했다하면 잘못된 행위자로 변형되더군요.
저는 처음에 이렇게 생각했습니다.
노바 비밀임무의 아트 자산은...비밀임무 자체가 유료 DLC라 프로텍트를 걸어놨을테고, 그걸 아트 자산말 풀었었는데 4.4 업데이트 하면서 뭔가 잘못된 것일까?
.
.
.
.
그 믿음으로 그냥 기다려보자고 2~3개월을 그냥 손을 놔버렸습니다. 버그 제보도 했으니 뭔가 반응이 있겠지...
.
.
.
행동 행위자를 새로 만들면 박살난다.
사운드 데이터가 사라진다.갤디터에서 ctrl+3으로 보면 없지만 하지만 mpqedit로 강제로 뜯어보거나 mod파일이 아닌 mod 폴더로 저장해서 열어보면 XML자체에는 살아있다.
결국 아무 도움도 받지 못한채 다시 고민을 시작했습니다.
이건 아무리 생각해도 갤디터 자체의 문제내지는 블리자드가 고쳐야 할 문제지 개인의 mod 파일의 문제가 아니지 않은가....?????
심지어 4.3 까지는 이상없다가 4.4에서 갑자기....??더 더욱 블리자드의 문제가 아닌가!?!?!?
.
.
.
근데 벌써 몇달을 손놓고 기다렸는데 해결은 커녕 이런 문제를 눈보라씨는 인식이나 하고 있는지도 모르겠고.......
처음부터 다시 생각해보자....
내가 행위자를 만들면서 한 특이한 짓들이 무었이 있지.....?...?..?.......?
그림 3 (각종 기본형 제작, 토큰 사용)
.
.
.
.
.
..
.
.기본형 데이터,데이터 토큰 이거 다 블리자드가 쓰는거고,난 그걸 따라했을뿐인데, 이게 오류의 원인일까...........?????????
자작 기본형 데이터를 이용하던 행위자 들중 200여개를 '일반 유닛' 데이터로 부모를 바꿔주고 저장합니다.
다시 열어보니 에러의 갯수가!!!!!!!!!!
.
.
.
.
.
변함없네요....이건 아니었습니다.
.
.
.
.
.
그럼, 사운드 데이터를 죄다 없애면.....?????이건 근데 시도하지 않았습니다.이렇게 해서 된다면 자작 사운드 데이터를 아예 못쓰는 거잖아요.그럼 자작 모드의 의미가 없죠.
다른 방법을 찾아야 했습니다.
.
.
.
.
다시 의존관계를 살펴보았습니다.
그림 1-2
.
.
.
자날 시절 블리자드가 만들었던 모드들에는,자산만 들어있음에도 자유의 날개 의존관계가 들어있죠...
그럼 자날 의존관계를 노바 미술 자산에서 1번, 자유의 날개 모드 3개에서 3번 총 4번이나 겹치게 읽어오는 상황이네요?
게다가 자유의 날개 기본 모드 말고 '캠페인 모드'까지 같이 읽어오잖아요.
혹시 이게 문제가 아닐까!?그럼 저 모드들 전부 없앨까...?????.....???이미 왕저글링,폭독충,부식군주,혀감염충,구리구리스크, 아이어 요리사 유닛 다 만들었는데....?
.
.
.
.
.
.
그림 4 (자산 파일)
결국 해당 모드파일들에서 자산들만 빼와서 1개의 모드파일로 (의존관계 없이) 만들었습니다.
데이터 지우고 다시 붙여넣고 빼고 작업을 반복해서 새로운 의존관계가 완성!!!!!!
그림 5(새 의존관계)
하
하
하
하
하
하
하
해결안됨....
.
.
.
.
.
.....다시 저~ 위쪽의 생각이 떠 오릅니다.
"노바 비밀임무의 아트 자산은...비밀임무 자체가 유료 DLC라 프로텍트를 걸어놨을테고, 그걸 아트 자산말 풀었었는데 4.4 업데이트 하면서 뭔가 잘못된 것일까?"
노바 비밀임무 의존도 빼버리자...
.
.
.
.
아뿔싸. 감염된 밴시,감염된 공성전차,노바 공성전차 이동 장치, 유효성 검사기 'IsGhost'.........
결국 또 의존관계 정리 작업이 이틀...
짜잔!!!!!!!!!
.
.
.
.
.
그림 6
드디어!!!!!
드디어 문제가 해결이 되었습니다.!!!!!!
정말이예요. 오류 없이 멀쩡히 열리고 멀쩡히 소리도 추가할 수 있게 되었어요!!!!
즐거운 마음으로 갤디터 질을 다시 시작했습니다.
(하지만 이때 깨닫지 못한 진실은 9월5일 4.10.2 패치때까지 발견하지 못하였습니다. 이 이야기는 더 아래에 다시 나옵니다.)
데이터를 추가하고 새 사령관 나오면 그 사령관의 기능들을 제 모드에 다시 구현하고....그러던 중...패치노트 중에 절 놀라게 한 내용이 추가되었습니다.
https://news.blizzard.com/ko-kr/starcraft2/22837870/%EC%8A%A4%ED%83%80%ED%81%AC%EB%9E%98%ED%94%84%ED%8A%B8-ii-4-8-0-%ED%8C%A8%EC%B9%98-%EB%85%B8%ED%8A%B8
협동전 임무 의존 관계를 추가할 수 있습니다: 파일 > 의존 관계 > 표준 추가...
.
.
.
.
.
.
.
만세!!!!!!더 이상 CascView를 이용해서 협동전 데이터를 뽑아오지 않아도 돼!!!!!!!굳이 있는 데이터를 내 의존관계에 새로 '추가' 할 필요가 없게 되었다!!!!!!!!!!
저는 당장 의존관계를 추가했습니다.
.
.
.
.
.
.
.
.
Unable to find symbol XX
X 500이상...
.
.
.
.
.
아, 그래. 더러워서 안쓴다 안써.C8 그냥 여태했던대로 그냥 할께.
.
.
.
.
.
협동전 의존관계를 빼니 역시 이상없이 작동하고 있었습니다.
.
.
.
.
.
.
그렇게 타이커스의 용병,주점,오딘도 이식(이라 쓰고 베끼기라 읽는다)하고 제라툴의 유물 찾기 시스템도 이식하고....룰루랄라하던 중....이었습니다.
크산토스를 재현하고자 이리저리 해메이던 중 역시나 맵스터 답게 저와 같은 문제를 고민하던 분이 질문을 했고
(https://www.sc2mapster.com/forums/development/data/183556-attaching-a-weapon-part-unit-on-xanthos)
답변들 중에 캠페인 트리거를 열어보라길래 열어보았습니다.
그림 7,7-2
아!답은 역시나 갤디터 내부에 숨어 있었군요...한달 정도의 씨름을 하고나니 크산토스의 구성이 이해가 되어 결국 구상한대로의 합체 유닛을 만들 수 있었습니다.
.
.
.
.
.
그러다가 패치패치패치패치 4.10.0이 되었습니다.
네,새로운 워체스트와 클래식 유닛 6종이 추가된 패치였죠. 이때 당시 울트라리스크,캐리어,전투순양함은 모델만 추가되고 이게 어떤 보상일지 모르는 상태였죠.
게다가 울트라리스크는 애니메이션까지 오류가 좀 있었습니다.
https://www.playxp.com/sc2/galaxyqna/view.php?article_id=5655250&search=1&search_pos=&q=#!1
자,제가 이때부터 잠시 다른걸 하느라 갤디터를 전혀 손대지 않게 됩니다.
4.10.0이 지나고 4.10.1이지나고 4.10.2가 되었죠.
하지만 전 아직 4.10.1 이었습니다. 아직 업데이트를 안한 상태였거든요.
음....다시 갤디터를 열어볼....
.
.
.
.
.
.
Unable to find symbol XX
X 14
.
.
.
.
.
.
.
.
.
엉??????
???
??
?
?
왜?
나 아무것도 추가한 거 없는데?????????
??????
모르겠다.일단 업데이트하자!!!!!
4.10.2가 되었습니다.
Unable to find symbol XX
X 대충 8~90개 이상
4.4때보았던 그에 따른 사운드 트랙 오류는 덤
.
.
.
.
.
.
.
.
.
.
도저히 이해가 안가는 이 상황에.....또 다시 2주간의 공항상태(라기보단 그냥 바빠서 갤디터에 손을 안대고 있었습니다.)
.
.
.
.
..
.
정말....정말 갑자기 든 생각이 있습니다....
혹시 갤디터의 한계점?
...
설마?
그림 8
아니, 단순 갯수로 따져보면 제가 만든 행위자가 9816개 인데,
협동전+스텟먼의존관계의 행위자가....4724+298........5022....응?
그림 9
자작 유닛이 3001개,
협동전+스텟먼의 의존관계의 유닛이 1828+85.......2913개...하아....???
.
.
.
.
.
.
.
.
.
그림 10
자작 소리 3270...
협동+스텟 8491+10=8501
....
..
이건 협동전이 더 많네요.
.
.
.
.
.
이거 정말 내가 갤디터의 한계까지 데이터를 채워넣어 버린 건가...?
그렇다면 테스트는 간단하지요. 지금 당장 가장~의미없는 유닛들을 지워봤습니다.
그림 11
유닛 266개 삭제.
결과는.
.
.
꽝
에러의 갯수까지 세보진 않았지만 여전히 Unable to find symbol은 저를 괴롭히네요.
그림 12
유닛데이터를 지우기 전의 모드파일을 다시 불러와서 행위자를 지워봤습니다. 559개. 많군요...
.
.
.
.
.
드디어 저를 괴롭히던 Unable to fine symbol이 사라지고 말았습니다...
.
.
.
.
.
.
질문 게시판의 질문글에서 현재 제가 알고 있는 답은 오직 행위자를 줄여야 한다.
라는 답은 이렇게 해서 얻게 되었습니다.
뭔가 두서 없는 일기장 같은 느낌이었지만...심심풀이 땅콩은 되었을지 모르겠네요.
갤디터를 가지고 놀면서 항상 의문이었던 블리자드의 데이터 돌려막기...왜 그런가...했더니 이런 이유가 있었던 거군요.
본인들은 이 문제를 알고 있었을까요?
제 생각엔 당연히 알고 있을거라고 생각합니다.그리고 아마 그 해답은 블리자드가 이미 내놓았다고 생각합니다.
제가 개인적으로 생각하는 그 해답은 바로 블리자드의 새로운 파일형식인 'CASC'입니다.
블리자드는 군심 또는 공유를 만들면서 저와 같은 문제를 발견했을 거라 생각합니다. 그리고 그 해결방법으로,
정확히는 mpq를 탈피하여 CASC로 변화하는 과정에서 이 문제가 해결되었을거라 생각합니다.
하지만...갤럭시 에디터에서 지원하는 저장방식은 mpq 방식인 sc2mod 뿐이기에 해결 할 수 없는 문제일 테지요..
그래서 굉장히 고민했었지요...만들고 싶은게 더 있고, 앞으로 더 생길거고 더 오래 가지고 놀고 싶은데, 한계점에 다가왔다니....
이대로 갤디터를 그만 보내줘야 하는 지도 모르겠습니다....
아직 이 모드를 제대로 굴릴 맵도 안 만들어져 있고 각종 툴팁이나 아이콘등이 임시로 지정되어 있는 것 뿐이라 지금 당장은
무리지만, 데이터의 다이어트를 조금 시행한 후...2019년이 끝나기 전에, 제가 그동안 만들던 것들을 굴려볼 수 있는 '기술 시연'의
개념으로 아케이드 게임으로 공개하려고 합니다. 계획대로 기한을 맞출 수 있을지는 모르겠지만 그때 또 뵙겠습니다.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
© PlayXP Inc. All Rights Reserved.