HanMTGO v1.03



최근 클라이언트 네임이 바뀌어서 인식을 못하던 문제를 해결했습니다.

Since 2009-09-20

이건 뭐하는 프로그램인지?


Magic the Gathering Online v3 ( 이하 MTGO )용 유틸리티로 , 원래 클라이언트에서 한글을 지원하지 않습니다. 그래서 한국 사람은들은 편법으로 노트패드에 한글로 적고 alt+tab으로 옮겨서 카피해 넣기를 반복하면서 한글로 채팅을하고 있는 현실이죠. 그걸 조금이라도 개선하기 위해서 만든 프로그램입니다.


즉. MTGO에서 한글입력을 가능하게 해주는 서드파티입니다.


어떻게 사용하나요?


우선 MTGO클라이언트를 실행하고 같이 HanMTGO를 실행해주시면 , 알아서 달라붙은다음에 창이 사라집니다. 그뒤로 어떤 차이도 없습니다. 단지 한글입력이 됩니다. 그냥 한영 전환해서 한글 입력을 하시면 됩니다. 참고로 게임중에 나오는 창에선 한글이 깨집니다. 주의하세요. 아 그리고 중요한거 , 구현 구조상 현재 2벌식 한글만 지원합니다. 3벌식 쓰시는분껜 죄송합니다.;

그리고 예민하신 분들을 위해. 이 프로그램은 레지스트리도 건드리지 않고 , 다른 파일을 생성하지도 외부와 연결을 시도하지도 않습니다. 안심하고 쓰세요

이건 공짠가요?


네 개발자 취미로 모두가 조금이라도 편해졌으면 하기에 만든것이므로 무료입니다. 하지만 재배포는 허락하지 않습니다. 반듯이 이 홈페이지 URL로 등록해주시기 바랍니다. 간혹 업데이트가 있을수 있으므로 이건 지켜주세요.

그리고 이걸로 정말 편해졌다. 조금더 개선해주길 바란다.. 이런 생각이 드시면 개인적인 기부 환영합니다. ㅠㅠ; 매온 Tix로 받습니다. ( 과연 누가 할것인가 -_-;; ). 아님 안쓰는 카드 저에게 좀 버려주세요. 매온 아이디 'magoja' 입니다.

만든 사람은 뭐하는 아저씨인가요?


그냥 매직을 좋아하지만 , 돈이 없어서 펑펑 지르진 못하고 , 13년째 주위만 뱅뱅 맴도는 방랑자입니다. 본업은 게임 프로그래머 ( 3D )이고 조그마한 벤쳐기업에서 온라인 게임을 제작하며 대박을 꿈꾸고 있습니다.

더하실 말 없나요?


구현 구조상 입력이 안되는 글자라던가 사소한 버그가 있을 수 있습니다. 발견되면 재현방법과 함께 글을 남겨주시기 바랍니다. 그리고 보다 나은 프로그램을 위한 아이디어도 환영합니다. 그리고 즐겁게 즐겨주세요. 그동안 답답했던 매온 채팅환경이 조금이라도 나아졌길 바랍니다.


Update Log

2009-12-05 v1.03 클라이언트 네임체크 "Magic Online v3" -> "Magic Online"으로 변경
                       그리고 소스 공개

2009-10-17 v1.02 한글 입력 전송방식 번경 으로 렉걸릴시에 글자 겹쳐찍히는 현상제거
               홈페이지를 통한 버전 체크 기능 추가
2009-09-25 v1.01 업데이트된 MTGO 클라이언트에서 안되던 증상 제거
하드코딩된 윈도우 찾기 루틴 수정 -_-;. 키보드 큐잉으로 입력 오류 조금 제거
2009-09-21 조합중인 한글 표시. 대소문자 구분. 커서키 입력처리.
2009-09-20 Beta v0.1


제작 노트


Posted by 마고자
세차한김에 사진질...

야밤에 찍었더니 색감이 쪼금 이상하다

화벨좀 맞출껄 -_-;

가방에 카메라에 삼각대까지 매고 자전거타고 공원나가는게 쉬운일이 아니다 -_-;;
Posted by 마고자
내 비앙키... 일전에 고생해서 조립한 녀석
어제 비 잔뜩 맞아서 세차한후에 기름칠해줬다.
자전거 번개를 나가면 사람들이 비앙키에 대한 관심이 높다. 단지 이뻐서 -.-;
특히 내 비앙키는 그다기 고스펙이 아니라 어디 자랑할 녀석은 아닌데..
그래서 다들 이쁘다고 해주니까 좋다.. 그리고 내가봐도 이쁘다
105레버.. 더이상 높은그레이드가 과연필요할까? 라는 생각이 들정도로
완성도가 높은 레버.
드디어 속도계 장만했다. 어제 용돈 탈탈 털어서 구입 ㅜㅜ
디그리서로 청소해준 스프라켓
중간에 디그리서가 다 떨어져서 깨끗하지 못한 크랭크 -.-;;
도로라이딩을 하기때문에 보다 안전하기 위해 후미등을 고성능으로 교환했다.
저놈도 꽤 비싸다 .. 내 돈...털썩
카본수통케이지와 비상시를 위한 에어노바 미니펌프
그리고 Edoardo Bianchi! ...근데 뭐라고 읽는걸까..

그리고 정비중인 마고자..
Posted by 마고자
어제 저녁에 무슨일이 있었는지 모르겠지만

소리가 안나온다.. -_-

폰을 바꾸란 계시인가!?

여튼 수리받거나 새로 사기전엔

음성통화 불가능 , 문자 Only
Posted by 마고자

자전거 타는 사진이 거의 없는데..
이번에 강화도 가서 한장 건짐..

작년 생일선물로 아가씨가 사주신 쫄쫄이 풀셋..

장마가 길어져서 휴업중..
한강이 물에 잠겨서정리되는데까지 오래걸릴듯
이번달까지는 자출은 무리
Posted by 마고자
자전거 탈때를 포함해서 , 지하철 타고 다니면서 이어폰 줄에 대한 스트레스가 상당했다. 원흉은 iPod 이 되겠는데 , 가방이나 주머니에 넣어서 듣자니 줄
이 너무 신경쓰이고 걸리는 경우가 많아서 예전부터 불루투스 헤드셋을 쓰고싶었으나 , 자금이 딸려서 참고 있다가 최근에 쌓여있던 카드 포인트를 다 부어서 질렀다.
일단 사기로 결정을 하고 가장 나에게 맞는 모델이 뭔지를 고르는 작업에 들어갔다. 고르면서 가이드라인으로 잡은것은 다음과 같다.

1) 이어폰타입으로 가벼워야 한다
2) 자전거 탈때도 쓸수 있도록 고정이 잘되면 좋겠다
3) 검증된 회사걸 사자
4) 이뻐야한다.


이리저리 시장조사와 쇼핑몰 뒤지기를 한후에 나오는 모델이 이 Sony DR-BT160AS였다. 문제는 가격이 비싸다는거였는데 -_- 그건 어떻게든 해결. 모델이 결정된 이상 총알같이 지르는건 인지상정. 애초에 iPod이랑 컴퓨터에 사용할거라서 소니 아이팟 동글 세트( DR-BT106iK )를 구입했다.

PC용 USB동그리는 제일 저렴한걸로 따로 구매해서 컴퓨터에 붙였다.
그리고 이건 소니 아이팟 전용 블루투스 동글.
착용샷.. 모델은 아가씨. 아가씨가 머리가 길어서 착용하고 가만있으면 헤드셋이 전혀 안보여서 머리를 살짝 올리고 사진 촬영.

여튼 중요한 사용기
1) 디자인 무게 착용감 음질
커널형 타입의 이어폰으로 귀에 쏙 들어가게끔 3가지 종류의 어뎁터(?)가 들어있어서 편하고 , 생각보다 가벼워서 하루종일 끼고 있어도 그다지 불편함이 없다. 그리고 , 자전거 탈때도 쓸걸 고려했기때문에 집에 오자말자 장비 다 착용해봤는데 꽤 괜찮다.
그리고 디자인도 맘에 들고 , 목에 걸고 다녀도 괜찮다.
귀에 건상태에서 한쪽이나 양쪽을 뽑을수도 있다.
블루투스 폰이 없어서 헤드셋으로 사용해보진 않았다 -.-;

그리고 음질은 솔직히 잘 모르겠다. 내가 음질에 그리 민간함 사람이 아닌지라. 하지만 예전 싸구려 이어폰쓸때보다 mp3의 인코딩 되면서 음질 열화되어서 나는 쇠소리가 전보다 잘 들린다. 이게 표현력이 높아서 그런건지 원래 그런건진 잘 모르겠는데 , 나야 원래 그런 소리 많이 듣고 살아서 별로 이상한지 모르겠다.
2) 베터리
스펙상 7시간이라고 되어있는데. 넉넉한 분량은 아니지만 , 회사에서 안쓸때 ( 회의할때 , 점심시간 등등 ) 충전기를 꼽아 놓으니까 별로 불편한것 모르고 사용하고있다. 아직까지 베터리 때문에 중간에 파워오프 된적이 없다.

3) 블루투스

회사에서 쓸때는 사무실 구석구석 음악이 끊어지는 일이 없다. 그래서 이어폰 끼고 돌아다니고 회의실에 가곤 한다. 자리 이동할때마다 이어폰부터 뽑던 과정이 없어져서 무척 편하다. 물론 충전을 해야하는 귀찮음이 추가되지만 충분히 극복할만 하다.

그리고 무척이나 좋았던점은 다음과 같다.

원래 내가 컴퓨터로 작업할때 음악을 컴퓨터로 잘 듣질 않았다. 컴퓨터로 음악을 들으면 여러가지 잡음들, 메선져 소리 , 웹페이지 소리 등등이 섞여서 나오는 것도있고 무엇보다 제일 큰건 , 게임 디버그할때 사운드 찢어지는 것 때문이었다.
그런데 블루투스 헤드셋을 장만하니 , 아웃풋 소스가 하나 추가된거라서 , 프로그램 단위로 출력 소스를 선택할수가 있었다. 그래서 Winamp , 곰플레이어에서 나오는 소리만 헤드셋으로 나오게 했더니 세상이 편해졌다.

좀 불편한 점이라면 , 최초에 블루투스 장비와 접속할때 딜레이걸리는것. 그리고 가끔 접속에 버벅대는 경우가 있다.

4) 아이팟

이부분은 살때 전혀 고려하지 못한 부분이었는데 , 아이팟에 블루투스 송신기를 붙이면 아이팟 베터리 소모량이 두배쯤 되는것 같다. 즉 평소보다 베터리가 두배의 속도로 단다. 첫날에 아이팟으로 꽤 들었었는데 , 집에 갈때 베터리가 빈사상태였다.
회사에서 아이팟 충전이 좀 거시기한 상황이라 , 애초에 알았으면 좀더 고민하지 않았을까 한다. 어쨌든 회사에선 컴퓨터로 음악듣는걸로 해결을 했기에 지금은 그다지 문제가 되지 않는다.

5) 스포츠

스포츠 타입으로 나온 녀석이지만 , 인터넷 검색을 해보니 이거 끼고 헬스 1개월 했다가 땀으로 보드 다 태워먹었다는 뉴스를 발견했다. 방수가 얼마나 될지 정확히는 알수 없지만 , 만족할 만한 수준은 아닐것 같다. 물론 자전거 탈때 헬스처럼 땀이 쏟아지지는 않으니까 (모자도 쓰니까) 저정도 까지 되지야 않겠지만 , 자제하는게 낫지 않을까 한다.
여튼 착용하고 자전거를 탄 소감은 만족..
하지만 커널형이라 조심조심 해야할듯 하다.

그리고 달리면서 헤드셋 뒤쪽 레버로 볼룸 조절이라던지 , 곡넘기기를 할수가 있다는게 무척이나 편하고 좋았다.

개인 소감

비싼거 빼곤 상당히 맘에 든다. 앞으로 일반 이어폰은 거의 쓰지 않을것 같다.~
Posted by 마고자
다운로드 링크용 요아래

이름 : MtgImage ver 2009/07/13
제작 : 마고자
용도 : Magic the Gathering 카드이미지를 magiccards.info 사이트에서 긁어주는 것
      (주로 Magic Work Station , MWS에서 사용하는 용도 )


사용법 :
프로그램을 실행하고 원하는 익스펜션을 선택하고
Get Images 버튼을 누르면 순서대로 다운 받는다.
양에따라 상당한 시간이 걸릴수 있으니 참고.

파일은 익스편션 네임을 폴더로 해서 카드 이름으로 저장이 된다. 밑의 "Save with CardNumber" 가 선택된경우는 카드 번호로 저장된다. 혹시나 유니코드 문제로 파일이 제대로 저장이 되지 않는 경우가 있을수 있는데. (ex AEther Flash 등등 ) 그런 경우 이용하면 좋다.


제작노트

일전에도 비슷한 용도의 프로그램을 VC로 만든적이 있는데..
전에 작업한건 소스를 엇다가 놔뒀는지 종체 찾을수가 없고 -_- Python 공부하면서 쉬엄쉬엄 작업했다.

스타트는 맹목적인 프로그래밍 공부는 너무나 지루하고 효율이 안난다는것 , 역시나 사용해보지 않으면 랭귀지를 내것으로 만들기 힘들다. 그래서 구상. 대체 뭘 만들면 연습도 되고 좋을까. 파이썬의 특징인 간편한 스트링처리를 활용해서 기본적인 UI를 갖춘 Image Downloader를 만들자 로 시작했다.

기존 VC로 만든것과 다른점은

전엔 익스펜션정보를 외부파일에 놔두고 그걸 이용해서 데이타를 긁었다.
하지만 이번엔 익스편션 정보와 카드 정보들을 모두 해당 사이트에서 긁어서 보여준다.
그래서 익스펜션 추가되더라도 프로그램이 바뀌는 것이 없다 <= 뽀인트

물론 현재 Magiccards.info 사이트의 기본 프레임웍이 바뀌면 안될 수 있다


작업환경은 Python 2.6 + Eclipse with Python plugin. 초반에 이클립스 몰라서 노트패드로 졸 고생 -_- 이런거 있으면 미리미리 알려주길 바람 .. UI는 wxPython 을 이용해서 처리하고  다운받을때는 Dialog 창에서 다운로드 Thread 를 돌린다. 실행화일은 Py2exe 로 빌드했다.

누구 보여주기 부끄런 소스는 여기 있다. 물론 무단 도용은 금지. 사용할땐 허락을 요구함. 보면 알겠지만 , 기술적으론 특별한것없고 , html파일 뒤적여서 원하는 정보만 뽑아내는 string 노가다의 결과물.
[2009/07/22 버젼 소스임]
 파이썬이 참 생산적이고 좋은 언어라는 것을 작업하면서 느꼈다. C++ 같은 클래스 상속개념도 있어서 금박 적응 했다. 새로운 문법 새로운개념들 모두 재미있고 이런것도 C++에 있으면 좋겠다 라고 생각되는것들도 종종있다. 앞으로 간단한 어플리케이션은 대부분 Python으로 만들듯하다. 역시나 생산력엔 장사없다. C++은 코어쪽 루틴 작업할때 중심으로 쓸듯.

파이썬으 Embed에서도 좋은 성능을 낼수 있으면 좋겠지만 , 그렇진 않은듯하다.
실제로 그렇다면 Lua 같은 embed에서 강한 언어가 나오지 않았겠지.

앞으로 업데이트가 있을까?.. 나도 모름
원래 만들던 목적은 , 저렴하게 매직을 즐기기위한 온라인 드래프트 프로그램인데 -_-; 그거에 가장 기초작업으로 진행한것임.. 천천히 공부하면서 만들어봐야지.

Update Log
2009/07/13 초기 버전 배포
2009/07/16 사이트 접속이 안될때 에러 처리 추가
2009/07/16 파일명 끝에 ".full" 넣어주는 옵션 추가 ( MWS 용 )
2009/07/22 Split card의 '/'를 제거함. 그리고 IO에러 발생시 로그를 남김.

PS> Feedback 은 이글의 리플로 부탁드립니다.
PS2> Magiccards.info 사이트에서 M2010 업데이트가 되는대로 다운이 가능할거예용..
PS3> Magiccards.info 싸이트가 접속이 안되면 에러가 납니다. 안되면 직접 사이트 들어가보세요
Posted by 마고자
2009. 7. 3. 16:37

간만에 한 아케이드 게임..

무무킹이 소개를 해줬다

"슈퍼마리오 살짝 비슷한데 재밌어요"

직접해보니

슈퍼마리오의 액션 에다가

"페르시아의 왕자 Sand of Time"에서의 시간돌리기능력을 이용한

퍼즐게임이라고나 할까 -_-?

기존 게임하던 가닥이 없으면 무척 어려울것..

여튼 추천..

스테이즈 구성이랑 연출이 정말 대단했던 게임..


몇일 고생하다가 결국 별 다먹음... -_-;;

참고로 별먹는건 별로 추천할일이 아닌듯 -_-;;

여튼 요즘 세상에 나오기 참 어려운 명작이라고 생각한다.
Posted by 마고자
성민아저씨에게 거의 거저 넘겨 받다시피해서 받은 프레임..

나름 로드란게 어떤것인가 많이 느껴주게 해줬던..

새파란색에 깔금했던 클래식 프레임

이번에 비앙키 프레임으로 바꾸고 어떻게 처분할가 고민을 하다가

어제 비비 분리해서 헐값에 팔았음..

거래 한 사람은 프레임과 조립을 조금 아는 사람이라

날 더이상 귀찮게 하진 않을거 같음 ..

쓰지않던 자잘한 부품들을 그냥 버리듯 다 줘버렸음..


다른 사람 손에서 이쁨 잘 받으며 오래오래 달리기를..
Posted by 마고자
- C++에서 NULL에 해당하는 키워드는 None 이다.
그리고 실제 널인지 확인하려면 type을 활용한다.

type( nodeChild ) == type( None )

파이썬은 데이타가 모두 동적이기때문에 , 간혹 이게 어떤건지 확인할때 type은 유용하다

- Enum 이 따로 없다. 하지만 Enum을 쓰는 대신에 그냥 스트링을 처리하면 보기에도 편하다. 글자가 틀리면 대략 난감.. .. 어차피 switch - case 문이 없어서 if elif 페어로 계속 넣어야 하니까 대충 적응하자.

- string 모듈의 strip() 펑션은 스트링의 화이트 스페이스를 제거해준다.

>>> from string import *
>>> strip( '   a    ')
'a'
>>> strip( '               \n' )
''

- Tuple에 익숙해지자.
파이썬은 리턴값이라던지 모든 데이타에 Tuple을 적용할수 있다. 함수에서 여러개의 인자를 리턴하면 ( return a , b ) 리턴값은 계네들이 합쳐진 튜플로 넘어온다. ( [ a , b ] ) 그래서 잘 짤라서 쓰는 방법이 있고 임의로 튜플을 만들어서 리턴할 수도 있다.

두개 값을 리턴하는 곳에서 두개의 인수를 지정해야한다.
a , b = funciton()

두개를 지정하지 않고 하나만 받으면 그 변수는 두개의 데이타를 가진 튜플이 된다.

Posted by 마고자