마비노기 부분언팩

Posted 2008/08/07 08:39
부분언팩 2008. 08. 18

- 기존 버전은 C언어를 바탕으로 제작되었지만, 이번 버전은 Ruby로 작성되었습니다. Ruby는 현재 Native code를 생성할 수 있는 컴파일러가 따로 존재하지 않으므로, 루비 인터프리터를 내부에 포함한 파일을 배포합니다. 이 때문에 파일의 크기가 약 40배(... 10배) 증가하였고 속도도 약간 느려졌습니다. 하지만, 이는 차후에 Ruby 새 버전이 나오면 개선될 수 있는 부분이며, C에 비해 새로운 기능을 추가하기가 압도적으로 쉬워졌습니다.

- 이번 버전은 기존에 사용하던 list.txt 파일 외에, list_yes.txt도 파일 리스트로서 기능합니다. 단, list_yes.txt파일 안에 쓰여진 파일들은 사용자에게 적용 여부를 묻지 않습니다.
주의) list.txt와 list_yes.txt는 (빈 파일일지라도) 반드시 존재해야 합니다. 이는 C와 Ruby 1.8.6 사이의 동작 방식 차이에서 기인한 것입니다.

- 이번 버전은 이전 버전과 달리, list.txt(list_yes.txt) 안의 파일 이름이 일부만 일치하는 것이 아니라 완전히 일치해야만 합니다. 대신 wildcard를 지원합니다. 예) dungeon*.xml

- 이번 버전은 번거롭게 pack파일의 이름을 입력할 필요가 없습니다. 실행하면 자동으로 자신이 속한 폴더 내의 .pack 파일을 검색하여 적용합니다. 물론 리스트 파일들은 작성해야 합니다.
수정) 폴더 내 pack파일 중 단 하나만 적용되는 문제를 해결함. -_-; 디버그 하려고 반복문 사이에  break를 넣어뒀었던듯



!!!!! 참고 / 지금 꽤 많은 컴에서 제대로 작동하지 않고 있습니다. 해결책을 찾고 있으니 잠시만 기다려주셈 _-_  해결. 내가 뭘 잘못 짜거나 한건 아니고요 -ㅅ- 루비는 스크립트 언어라서 인터프리터가 설치되지 않은 환경에서 실행할 수가 없어요. 그래서  Rubyscript2exe라는 걸 이용해서 exe파일로 만든 건데, 이게 버그가 있네요. exerb라는 걸로 대체했음. 아마 이제 잘 될거에요. (확신은 못하겠으나..)



 음. 몇마디 더 붙이겠습니다. 이 프로그램은 마비노기 패키지 파일 내부에 있는 특정 파일의 확장명을 바꾸어서, 마비노기 클라이언트에서 패키지 파일 안에 파일이 없는 것으로 인식하도록 하는 것이 목표입니다. 이를 이용해서 해당 파일들을 대응되는 폴더에 넣으면 언팩한 효과가 나도록 하는 것입니다.

 따라서 이 프로그램을 실행하면 자동으로 미니맵 수정이 일어난다거나 하는 것은 아닙니다. 여기에는 몇가지 이유가 있습니다.

 리버스 엔지니어링을 통해 파일 포맷 분석하는 것은 불법이 아닙니다. 파일 포맷에는 저작권이 적용되지 않습니다. 따라서 제가 이 pack포맷을 가지고 뭔가를 하는 프로그램을 작성하여 배포하는 것은 문제가 없습니다.

 하지만 언팩은 분명히 넥슨 측에서 원했던 게임 플레이 방식이 아니며, 어떤 면에서는 불법 프로그램(이른바 핵)과 비슷한 성격도 지니고 있습니다.

 패키지 파일 포맷 자체에는 저작권이 적용되지 않지만, 이 패키지 파일들이 담고 있는 파일들 각각은 넥슨에게 저작권이 있습니다. 그래서 제가 수정된 파일들을 함께 배포하거나, 그러한 파일들을 이용하는 방법을 자세히 설명할 수 없습니다.  만일 그랬다가는 저는 영구블럭은 물론이고, 자칫하면 넥슨에게 고발당할지도 모르지요. 저는 그런 일은 바라지 않습니다.

요즘 광우병 문제 때문에 웹 이곳저곳이 들썩이고 있다. 가만히 들여다보고 있자니 재미있는 현상이 발생하고 있는 것 같아서 오랜만에 글을 올린다.

 일단, 우리가 흔히 광우병이라고 말하는 vCJD는 대단히 무서운 병이다. 그 점에 대해서는 이견의 여지가 없다. 또, 미국산 소가 그 발병원으로 의심받고 있는 것 자체는 사실이다. 하지만 간과되고 있는 점이 있다. 그 미국산 소를 먹는 미국인들 중에서는 광우병 환자가 나오지 않고 있다는 것이다. 미국에서 발병했다는 사람들은사실은 다른 나라에서 살다가 최근에 미국으로 이사한 케이스임이 밝혀졌다.

 이러면 틀림없이 이런 반론이 나올 것이다. "미국산 쇠고기는 세가지 종류가 있는데, 우리나라에 수입되는 것은 그 중에서도 가장 질이 나쁜 3급 공장우다. 이건 미국인들이 안 먹는다." 미국은 한국과 일본이 쇠고기 수입을 중단했기 때문에 현재 쇠고기의 95%를 자국에서 소비하고 있다. 일단 사실관계가 잘못되었을 뿐더러, 이렇게 되묻지 않을 수 없다. "그럼 대부분의 서민들이 먹는 한국산 쇠고기는 미국산 공장우에 비해서 더 좋은 환경에서 만들어지냐?"

 자료가 있었는데 어디에 갔는지 모르겠다. 어쨌든 대답은 노(No)다. 우리나라 소들 역시 방목하면서 키우지 않으며, 미국과 마찬가지로 동물 사료를 사용한다. 그 뿐인가, 미국의 2배가 넘는 항생제 및 약품 사용량을 자랑한다. 괜히 약물 남용 강국이겠나.

 뭐, 내가 하고자 하는 말은 미국산 쇠고기가 질이 좋다는 것이 아니다. 정부가 협상 잘했다는 것은 더더욱 아니다. 이자식들은 취임 직후부터 내 혈압 상승에 지대한 공헌을 했다.

 단지 과학적인 증거도 없이 무작정 미국산 쇠고기가 위험하다는 둥, 수입되면 다 죽는다는 둥 난리를 치는 이유가 무엇인지 궁금한 것이다. 누군가가 떡밥을 던졌으니 사람들이 그걸 보고 반응하는 것은 틀림없는데, 그 떡밥을 뿌린 사람은 누구이며 이유는 무엇일까?

 미국산 쇠고기가 광우병 위험 물질인 프리온을 많이 가지고 있다거나, 미국에서 광우병 발생률이 다른 나라보다 높다는 등, 과학적인 통계 자료가 있다면 모르겠다. 하지만 그런 건 없이 그저 '카더라'만 난무하는 것이 지금 인터넷 여론의 현실 아닌가.

 나는 누군가가 여론을 선동하고 있다고 생각한다. 뭐 2MB 정부 엿먹는 건 보기 좋다마는..


몇몇 사람들이 이런 내용의 글을 인터넷상에 마구 뿌린다고 생각해 보자. 과연 반응이 어떨까?(클릭)

이올린에 북마크하기(0) 이올린에 추천하기(0)

[Haskell] 합병 정렬

Posted 2008/02/27 22:55

merge2 a [] = a
merge2 [] b = b
merge2 (x:xs) (y:ys)
  | x < y = x:merge2 xs (y:ys)
  | x > y = y:merge2 (x:xs) ys
  | otherwise = x:y:merge2 xs ys

mergesort [] = []
mergesort (x:xs) = merge2 [x] (mergesort xs)



> mergesort [1,5,3,7,6]
[1,3,5,6,7]

하스켈은 대표적인 함수형 언어로, 변수가 존재하지 않는 신기한 언어이다. 변수가 없으므로 side-effect가 없어 디버깅에 쏟을 시간을 절약할 수 있다.

.. 라지만 이게 내 첫 하스켈 소스이다.

이올린에 북마크하기(0) 이올린에 추천하기(0)

서로소 집합 (Disjoint set)

Posted 2008/02/22 12:54

more..


어떤 두 원소가 같은 그룹에 속해 있는지 알아낼 수 있고, 빠른 시간에 그룹을 결합할 수 있는 자료구조인 서로소 집합입니다. Kruskal 등의 알고리즘을 구현할 때 많이 쓰입니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)

루비로 구현한 Minimum Cut

Posted 2008/02/20 16:05

more..

전혀 루비스럽지 않은 코드 ... orz

많이 느립니다. 다시 구현할 생각입니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)

으어어억

Posted 2008/01/15 02:39

맞다- 나 블로그가 있었지..


아무래도 들어오는 분은 거의 없는 것 같지만, 생각도 못하고 있었네요. 죄송합니다.


사용자 삽입 이미지

간담회 내용 정리



성균관대학교 반도체시스템공학과 수시 합격자 간담회 내용 정리입니다. 이럴 땐 마인드맵이 꽤 편리하군요.
이올린에 북마크하기(0) 이올린에 추천하기(0)
한국인을 한국인답게 만드는 것은 무엇인가? 사람에 따라서 여러 가지 대답이 나올 수 있겠지만, 아마도 "문화"에 대한 이야기가 나오리라고 생각한다.

우리 문화는 우리의 의식주 전반에 걸친 모든 것에 영향을 끼친다. 따라서 틀린 대답은 아니다. 다만 그 대답은 너무 범위가 넓다. 그런 식으로 말하자면, 나를 나답게 만드는 것은 내 개성이다. 하지만, 그걸 모르는 사람이 어디 있겠는가?

내가 묻고 싶은 것은, 그 중에서도 딱 하나만 골라 보면 무엇이냐는 것이다. 자동차를 자동차답게 만드는 것은 엔진, 컴퓨터를 컴퓨터답게 만드는 것은 중앙처리장치……. 이런 식으로 말이다. 과연 한국인을 한국인답게 만드는 '그 어떤 것'은 무엇일까?


요즈음 나는 영어 공부를 하고 있다. 비록 알고 있는 단어는 많지 않지만, 문법을 공부하고 나니 대부분의 지문을 해석할 수 있었다. 모든 문장이 몇 가지의 규칙에 딱 맞게 작성되어 있기 때문이다. 흥미로운 일이다. '이런저런 규칙을 만들자' 하고 언어를 만든 것도 아닐 텐데.

그에 비해, 한국어는 나쁘게 말하면 일관성이 없고, 좋게 말하면 여유가 많다. 그 이유가 무엇일까? 나는 이렇게 생각한다. 영어는 서구인들의 실용적이고 합리적인 사고방식을 반영하고, 한국어는 유쾌하고 매사에 여유로운 -코리안 타임을 보라. 얼마나 여유로운가? 바람직하진 않지만- 사고방식을 반영하는 것이다.

이처럼, 언어는 그 말을 사용하는 사람들의 사고방식을 반영하고, 나아가서는 사람들의 사고방식에 반영된다. 나는 감히 말한다. 한국인을 한국인답게 만드는 것은 우리말이고, 우리글이다.

세계화의 이름, 허울은 좋다. 그러나 한국어를 버리는 순간, 그건 코리언일 수는 있어도 한국인은 아니게 된다. 이 사실을 정부와 지자체가 알고, 제발 'Hi Seoul' 같은 병신짓은 그만 했으면 좋겠다.
이올린에 북마크하기(0) 이올린에 추천하기(0)

한민족 최대의 종교.

Posted 2007/09/11 01:52

기독교? 기독교 신자가 많다지만 남한 인구의 20% 정도밖에 안 된다. (1천만이 적은 수는 아니지만) 불교도 큰 차이 안 난다. 카톨릭은 기독교보다 적은 걸로 안다.

그렇다면 한민족 최대의 종교는 무엇인가?

다음 기사를 보자.


“딸이 물에 빠지는 순간도 초상화부터 건져”
 
(출처 : 연합뉴스)


난 돌아버리는 줄 알았다.

쟤들이 우리 민족이 맞긴 맞냐. 통일이란게 가능하긴 한 거냐. 아예 갈라서는 것은 어떨까. 별별 생각이 다 든다. 이거야 원...

아무튼 저게 한반도 전체 인구 40%를 신도로 보유한 종교임에 틀림없다.
이올린에 북마크하기(0) 이올린에 추천하기(0)

갈릴레이에 대한 잘못된 상식

Posted 2007/09/08 18:35
 갈릴레이가 지동설을 주장하다가 종교 재판을 받았고, 나오면서 '지구는 돈다' 운운했다는 이야기. 매우 유명한 이야기입니다. 그냥 아무 위인전이나 집어들면 항상 나오지요. 워싱턴 대통령의 '나무찍기 사건'이나, 에디슨의 '체온으로 계란삶기(?)'처럼 말예요.

 하지만, 이건 사실이 아닙니다. 갈릴레이가 지동설을 처음 주장했던 사람도 아닐 뿐더러, 그 당시에도 지동설은 상당히 많이 알려져 있었습니다. 단지 당시에 주류 학설로 천동설이 인정받고 있었을 뿐입니다. 갈릴레이가 종교재판을 받은 것은 책 조금 더 팔아보겠다는 생각에 교황 이름을 도용했기 때문이고, 실상 별로 처벌받지도 않았습니다. 그는 상당히 인맥이 좋았거든요.

 그리고, 그렇다 해서 당시 사람들을 탓할 것은 아닙니다. 보통 사람들의 생각보다 천동설은 현실을 정확하게 반영하는 이론입니다. 단지 현상들을 설명하기 위해 워낙 복잡한 개념들이 도입되었고, 지동설은 비교적 간단하게 그 현상들을 설명할 수 있기 때문에 지지받았던 거죠.

 뭐니뭐니해도 지동설이 사실이라면, '연주시차'라는 것이 나타나야 합니다. 그런데 이 연주시차는 오늘날의 기술로도 관측이 쉽지 않습니다. 가장 가까운 별조차 전혀 티가 나지 않죠. 엄청 정밀한 측정기계가 필요합니다. 그러니, 그 시절에 연주시차를 측정할 수 있을리 만무하잖습니까? 당시의 천문학자들이 지동설보다 천동설을 지지한 이유는 그것 때문입니다. 오늘날에도 천동설을 지지하는 사람이 나오는 것도 이해할 만 합니다.

 우리 주위에는 이처럼 잘못 알려진 일화들이 많습니다. 개념 없는 위인전이 낳은 비극이라고 할까... 예를 들자면 콜럼버스 정도가 있을까요. 이사벨라 여왕 앞에 무릎꿇고 지구는 둥글다. 그렇지 않다면 목을 걸겠다- 이런 식으로 말했다고 알려져 있죠. 그러나 지구가 둥글다는건 당시엔 이미 상식에 속했습니다. 단지 지구의 지름이 어느 정도냐가 논쟁의 대상이었죠.
이올린에 북마크하기(0) 이올린에 추천하기(0)