라그나로크 창모드로 하시는 분들이 많을텐데,
장사캐릭을 켜둔다거나 보조캐릭 세워두는 용으로 창을 2~3개 이상 켜게 되는 일이 많습니다.
이때 창 크기가 다 같으면..뭐 별로 관계는 없지만
화면도 많이 가리고 비디오메모리도 많이 아깝고 하거든요.

그래서 주캐릭이 떠있는 창은 큰 창으로,
부캐릭이 떠있는 창은 작은 창으로.....이렇게 쓰고 싶은 분들을 위해 만들어봤습니다...

물론, setup 파일 실행시켜서 창 크기 조정하고 저장해도 됩니다.
그게 정석인데,
이게 창 크기가 달라지면 화면 아래 채팅창들 위치가 달라지고 이리저리 밀려서
매번 재조정하기가 영 귀찮더라는 말이죠....



이런 식으로 생겼습니다. 제가 사용하는 5가지 해상도 기준으로 만들었습니다.
라그 실행 전 각 버튼을 클릭하면, 해당 해상도로 조정해줍니다.

맨 아래 있는 SavePosition 버튼은, 방금 실행했던 라그 창에 맞춰서
채팅창의 위치를 저장해주는 버튼입니다.

예를 들어보겠습니다.
지금 라그 사냥은 1600*1024 해상도로 켜서 주로 플레이하고,
프론테라에 노점 연 캐릭은 800*600 으로 켜두고 싶다고 합시다.

맨 처음 실행할 때는 좀 조정이 필요합니다..
우선 해당 프로그램을 먼저 실행하고 나서, (지금 사용중인 라그 해상도가 표시됩니다)
아마도 지금 사용중일.. 1600*1024 해상도 그대로 라그를 한 번 실행했다 종료한 후,
SavePosition 버튼을 누릅니다.
그러면 라그 폴더 내에 1600.lua 라는, 1600*1024 해상도에서 사용하던 채팅창 위치가 기록됩니다.

다음은 800*600 버튼을 눌러서 해상도를 바꿔주고, 다시 라그나로크를 켭니다.
큰 화면에 맞춰서 채팅창이 이리저리 밀려있을텐데요,
이것을 편하게 조절한 다음에 라그를 종료합니다.
그리고 다시 SavePosition 버튼을 누르면, 800.lua 파일에 채팅창 위치가 기록됩니다.

이걸로 끝입니다...
이제부터 큰 화면에서 하려면 1600*1024 버튼 누른 후 라그 실행,
작은 화면에서 하려면 800*600 버튼 누르고 라그 실행하면 됩니다.

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

제가 GUI 프로그래밍을 할 줄 몰라서, 좀 간단한 것 없나 찾아보다가..
무료로 간단하게 할 수 있는게 오토핫키라, 얼른 설명서 보고 만들어봤습니다.

오토핫키 프로그램 자체에 혐오감을 가진 분이 많으실 걸로 생각합니다.....

그렇기 때문에 압축파일 안에 소스코드 첨부했고,
자바나 다른 프로그래밍 툴 쓸 줄 아는 분은 직접 활용하시도록
관련된 내용 설명해두겠습니다.

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

라그나로크 설치 폴더는 레지스트리 내에 저장되는데..위치는
HKEY_CURRENT_USERSOFTWAREGravityRagnarokOnline
변수명은 RagPath 입니다.

화면 해상도는..라그나로크 설치 폴더 내에 있는 Savedata 폴더, Optioninfo.lua 에 저장됩니다.
OptionInfoList["WIDTH"] , OptionInfoList["HEIGHT"] 가 각각 화면 너비와 높이값입니다.

채팅창 위치는 동일 폴더 내 ChatWndInfo_U.lua 에 저장됩니다.

이 lua 파일들은 라그 종료시 다시 저장됩니다.
화면 위치나 줌 정도 등등 마지막 기록이 남아있는데, 다른 값은 건드리지 않도록 했습니다.


소스 보시면 아시겠지만 설명서 읽으면서 얼기설기 만들어 엉망진창입니다.
전문가 분들의 도움 환영합니다....

아참,,, 64비트 윈도우에서 컴파일해서 32비트인분은 실행 안될지도 모르겠습니다

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

죄송합니다. 제가 챗창을 거의 신경 안써서 눈치못챘는데
첫번째 채팅창만큼은 파일이 아니라 레지스트리에 저장되네요;;
저장되는 경로는
64비트 윈도우에서는 HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeGravity SoftRagnarokUIRectInfo
32비트 윈도우에서는 HKEY_LOCAL_MACHINESOFTWAREGravity SoftRagnarokUIRectInfo
여기에 각 윈도우 크기나 넓이 등등등이 다 저장되어있습니다..

일단 따로 관리하기 귀찮아서;;
saveposition 버튼 누르면 해당 레지스트리 각각 해상도.rgt 파일에 저장되도록 했습니다.

덕분에 이제 오만 UI가 해상도별로 다 확실하게 저장되지만
레지스트리를 다시 쓰기 때문에 관리자 권한으로 실행이 필요합니다.....

혹시 수정 전에 시험해보셨던 분들께는 정말 죄송합니다.