'개발해봄'에 해당되는 글 12건

  1. 2012.05.31 [잡지식] 디아블로3 맥버전 패치서버 바꾸기 (11)
  2. 2012.05.25 [개발팁] 3ds Max Plugin 에서 Bone Node 걸러내기
  3. 2012.05.09 [개발팁] Visual Studio - error C2248
  4. 2012.03.27 [iOS] Xcode Project에 포함된 파일 경로 추출기
  5. 2011.12.14 [잡지식] GPGPU
  6. 2011.12.14 [잡지식] Gestalt (게슈탈트)
  7. 2011.11.11 [OpenGL] Uniform, Attribute, Varying
  8. 2011.10.16 [iOS] iOS5에서 한글 자간 벌어지는 문제
  9. 2011.10.11 [iOS] 하위버전 OS 대응
  10. 2011.08.23 [개발팁] Visual Studio 2008 유용한 단축키

디아블로3를 맥에서 하는 분들이라면 모두 북미버전을 받은 후에 한국어로 변경을 해서 쓰고 있을 것이다. 이 경우에 게임을 실행하면 북미서버에 접근해서 패치 정보를 받아오게 되는데, 이 때 아시아 서버에 패치 내용이 적용되어있지 않다면 지난 5월 29일부터 발생한 무한패치지옥에 빠지게 된다.


북미 클라이언트라 북미 서버에 접근해서 패치를 적용했는데, 막상 접속하려는 아시아 서버에는 패치된 클라이언트를 받아줄 수가 없어서 발생하는 문제이다.


이 상황이 차후에 재발할 가능성이 없다고는 보기 힘드므로 패치 서버를 아시아서버로 변경하는 방법을 올려본다. 이번 무한패치지옥도 이 방법을 통해 빠져나갈 수 있었다.


* 주의 : 이미 패치가 완료된 클라이언트는 재설치 밖에 답이 없음 ^^


Step 1

터미널을 켠 뒤에 다음과 같이 입력한다.

cd /Applications/Diablo\ III/

ls -al

그러면 .agent.db 라는 파일이 보일 것이다. vi 나 다른 텍스트 에디터를 사용해서 해당 파일을 열면

15번째 라인에 patch_url 이라는 항목이 보일 것이다. 주소에 있는 enUSkoKR로 바꿔주자.


Step 2

다시 다음과 같이 입력한다.

cd /Applications/Diablo\ III/Data_D3/PC/

여기서는 realmlist.dtf 라는 파일을 볼 수 있다. 열어서 enUSkoKR로 바꿔주자.


Step 3

마지막으로 다음과 같이 입력한다.

cd /Users/Shared/Battle.net/Agent/

여기서도 agent.db 라는 파일이 보일 것이다. 

열어보면 enUS가 상당히 많이 보이는데, patch_url 뒤에 있는 enUSkoKR로 바꿔주도록 한다.


이제 게임을 실행하면 아시아 서버에서 패치 정보를 얻어오게 된다.

'잡지식' 카테고리의 다른 글

[잡지식] HTC ChaCha A2SD 적용  (0) 2012.07.09
[잡지식] 믹싱  (0) 2012.07.09
[잡지식] 장 3도와 단 3도  (3) 2012.06.13
[잡지식] 디아블로3 맥버전 패치서버 바꾸기  (11) 2012.05.31
[잡지식] GPGPU  (0) 2011.12.14
[잡지식] Gestalt (게슈탈트)  (0) 2011.12.14

댓글을 달아 주세요

  1. sodamin  댓글주소  수정/삭제  댓글쓰기

    정말 감사합니다. 유럽서버에서 다운 받아서 사용중인데 무한패치가 되어서 안되고 있었습니다. 잘 수정했습니다.

    그리고 여담으로 터미널 열어서 일일이 찾아가기 힘드니... 이렇게 하셔도 됩니다.

    cd /Applications/Diablo*

    아시겠지만 혹시나 여기 찾아오는 다른 분들을 위해 남깁니다.

    또한 편집기로 vi 편집이 가능하신 분들이 그리 많지 않을 거라 생각합니다.
    편집방법을 좀 쓰고 싶은데...지금 급히 나가봐야 해서. 다음에..^^

    2012.05.31 18:52
  2. sodamin  댓글주소  수정/삭제  댓글쓰기

    수정하다 보니 발견한게 있어서 다시 올립니다. 마지막 파일을 수정하실 때 모든 것을 koKR로 하시면 안되네요. patch url이 있는 것만 수정해야 합니다. vi에서는 /enUS 하시고 엔터 하시면 enUS로 되어 있는 문장만 찾습니다. 물론 다음 찾기는 n을 치면 되구요 수정하실 때는 대문자 R로 수정이 가능하며 수정이 끝나면 esc키를 꼭 눌러 주세요..

    2012.05.31 19:01
  3. -달봄-  댓글주소  수정/삭제  댓글쓰기

    편집방법 감사합니다 ㅎ 다른 에디터로 해도 된다고 써둔지라 별로 신경을 안썼네요 Step 3에서 patch_url 뒤에 있는거만 바꾸라고 본문에 써뒀습니다

    2012.05.31 20:31 신고
  4. 파송송계란찜  댓글주소  수정/삭제  댓글쓰기

    정보 정말 감사드립니다!!!!!!! 대학 시절 잠시 배웠던 vi를 이렇게 유용하게 쓰네요 ㅎㅎ

    2012.05.31 20:51
  5. 쏘영  댓글주소  수정/삭제  댓글쓰기

    맥 초보인데 vi가 뭔가요;;; 다른 텍스트에디터를 사용해서 해당파일을 열라고 하셨는데...거기부터 멈춰있어요.. 다른 텍스트에디터라면 뭐..?? 어떻게????.... 머릿속에서 그 말만 맴돌고 있어요~ 도움부탁드려요..;ㅁ;

    2012.05.31 22:06
    • -달봄- 2012.06.01 00:50 신고  댓글주소  수정/삭제

      음.. 터미널은 아시는건가요?
      터미널에서
      defaults write com.apple.Finder AppleShowAllFiles YES
      라고 친 다음에 엔터 누르시고 맥 화면 왼쪽 위에 사과버튼 누르고 강제 종료 들어가서 Finder 를 재시작해주세요

      그럼 Finder에서 숨긴 파일을 볼 수 있어요. Step1에 제가 적어둔 폴더 경로로 들어가시면 .agent.db 파일이 보이실겁니다

      그 파일을 맥 기본 텍스트 에디터나 TextWrangler 같은 텍스트 편집 어플로 열어서 내용 수정해주시면 돼요.

      Step2의 realmlist.dtf나 Step3의 agent.db도 마찬가지구요 ㅎㅎ

  6. sodamin  댓글주소  수정/삭제  댓글쓰기

    수정이 완료된 후에 저장할 때는 esc키를 누른 후에 (수정모드에서 명령모드로 전환) :wq나 ZZ를 치면 됩니다. 만약 수정한 것이 잘못되었을 경우 :q! 를 치면 수정한 것을 모두 저장하지 않고 처음 상태로 파일을 두고 vi에디터를 빠져 나옵니다.

    vi 파일명 하면 파일 편집이 됩니다.

    2012.05.31 22:11
  7. dneis  댓글주소  수정/삭제  댓글쓰기

    와 정말 감사드립니다.
    덕분에 디아가 실행이되네요...ㅜ_ㅜ

    2012.06.01 02:38
  8. 탱쟈  댓글주소  수정/삭제  댓글쓰기

    와우!! 저 완전 이런 글을 원했어요!!
    오늘은 패치를 해 버려서 소용 없지만~
    앞으로는 이런 일이 없겠네요~ ㅎㅎㅎ
    만세!!!

    2012.06.27 00:10

INode 하나를 파라미터로 받아 이 Node가 Bone이거나 Biped이면 True를, 아니면 False를 리턴하는 함수를 만들어보자.


BOOL isBoneOrBiped( INode* pNode )

{

Object    *obj = pNode->GetObjectRef();

Control    *pControl;

Class_ID    classID;


if( obj )

{

classID = obj->ClassID();


if( classID == BONE_OBJ_CLASSID );        // Bone Test

return TRUE;


pControl = pNode->GetTMController();


if( (pControl->ClassID() == BIPSLAVE_CONTROL_CLASS_ID) || 

    (pControl->ClassID() == BIPBODY_CONTROL_CLASS_ID) || 

    (pControl->ClassID() == FOOTPRINT_CLASS_ID) )            // Biped Test

return TRUE;

}

return FALSE;

}


참고사이트

http://www.gpgstudy.com/forum/viewtopic.php?p=30320

http://coreafive.springnote.com/pages/5675451?print=1

http://download.autodesk.com/global/docs/3dsmaxsdk2012/en_us/index.html?url=cpp_ref/idx__r_list_of_class_ids_html.html,topicNumber=cpp_ref_idx__r_list_of_class_ids_html_html


댓글을 달아 주세요

컴파일을 했을 때 다음과 같은 에러가 나는 경우가 있다.


1>c:\program files\microsoft visual studio 10.0\vc\include\fstream(890): error C2248: 'std::basic_ios<_Elem,_Traits>::basic_ios' : private 멤버('std::basic_ios<_Elem,_Traits>' 클래스에서 선언)에 액세스할 수 없습니다.

1>          with

1>          [

1>              _Elem=char,

1>              _Traits=std::char_traits<char>

1>          ]

1>          c:\program files\microsoft visual studio 10.0\vc\include\ios(176) : 'std::basic_ios<_Elem,_Traits>::basic_ios' 선언을 참조하십시오.

1>          with

1>          [

1>              _Elem=char,

1>              _Traits=std::char_traits<char>

1>          ]

1>          이 진단은 컴파일러 생성 함수 'std::basic_ifstream<_Elem,_Traits>::basic_ifstream(const std::basic_ifstream<_Elem,_Traits> &)'에서 수행되었습니다.

1>          with

1>          [

1>              _Elem=char,

1>              _Traits=std::char_traits<char>

1>          ]

자세히 보면 ifstream에 관련된 에러라는 것을 알 수 있다. 어떤 상황에서 이런 에러가 발생하는 것일까?

문제가 발생한 부분의 코드는 다음과 같다.

total = ReadNextNumber( reader );

ReadNextNumber는 다음과 같이 선언되어있다.

static int ReadNextNumber( ifstream reader )
{
char c[2];
char str[5];

memset( c, 0x00, 2 );
memset( str, 0x00, 5 );

while( c[0] != ' ' )
{
reader.read( c, 1 );
STRCAT( str, c );
}

return atoi( str );
}


ifstream 또는 ofstream 과 같은 객체는 다른 함수로 값을 넘겨줄 때 값 자체를 넘겨줘서는 안된다. 반드시 Reference 즉 변수 이름 앞에 &를 붙여서 전달해줘야 한다.

ReadNextNumber의 파라미터 ifstream reader를 ifstream &reader로 바꿔주면 에러가 사라지는 것을 확인할 수 있다.


댓글을 달아 주세요

XcodeProjectFileExtractor.py

사용법

Terminal에서 .xcodeproj 폴더로 이동하면 project.pbxproj 파일이 보인다.

그 폴더에 첨부된 .py 파일을 복사해두고 Terminal에서 

python XcodeProjectFileExtractor.py 

를 실행하면 된다.


결과는 화면에도 나타나고 result.txt 에도 기록된다.

댓글을 달아 주세요

[잡지식] GPGPU

잡지식 2011.12.14 18:38
General-Purpose computing on Graphics Processor Units

그래픽 쪽의 작업만 하던 GPU를 그래픽 외의 일반적인 부분으로 확장하여 사용하는 것 

 

'잡지식' 카테고리의 다른 글

[잡지식] HTC ChaCha A2SD 적용  (0) 2012.07.09
[잡지식] 믹싱  (0) 2012.07.09
[잡지식] 장 3도와 단 3도  (3) 2012.06.13
[잡지식] 디아블로3 맥버전 패치서버 바꾸기  (11) 2012.05.31
[잡지식] GPGPU  (0) 2011.12.14
[잡지식] Gestalt (게슈탈트)  (0) 2011.12.14

댓글을 달아 주세요

게슈탈트(독일어: Gestalt→형태, 형상)는 형태 심리학의 중추 개념이다. 이 것은 19세기  C. 에렌펠스에 의해 정의되었다. 형태 심리학자들은 심리 현상은 요소의 가산적 총화로는 설명할 수 없고 전체성을 갖는 동시에 구조화되어 있다고 주장하면서 그러한 성질을 게슈탈트라 하였다.

From 위키백과

하나하나만 봐선 의미가 없는데 전체적으로 봤을 때 구조적인 형태로 보이는 심리 현상.

 

'잡지식' 카테고리의 다른 글

[잡지식] HTC ChaCha A2SD 적용  (0) 2012.07.09
[잡지식] 믹싱  (0) 2012.07.09
[잡지식] 장 3도와 단 3도  (3) 2012.06.13
[잡지식] 디아블로3 맥버전 패치서버 바꾸기  (11) 2012.05.31
[잡지식] GPGPU  (0) 2011.12.14
[잡지식] Gestalt (게슈탈트)  (0) 2011.12.14

댓글을 달아 주세요

  • Uniform
Application에서 OpenGL ES API를 통해 Shader로 전달되는 읽기 전용 값을 저장하는 변수. Uniform 변수는 Vertex Shader와 Fragment Shader에서 공유되며 주로 Matrix, Lighting Parameter, Color 등의 값을 저장하는데 사용된다.

uniform mat4 viewProjMatrix;
uniform mat4 viewMatrix;
uniform vec3 lightPosition;

glGetUniformLocation
glUniform-
 
  • Attribute 
Vertex Shader에서만 사용가능한 타입으로 Vertex 각각의 정보를 전달하기 위해 사용된다. 일반적으로 Position, Normal, Texture Coordinate, Color 등의 정보가  전달된다.

attribute vec4 a_position;
attribute vec2 a_texCoord0;

glVertexAttribPointer
glBindAttribLocation

  • Varying 
Vertex Shader의 Output이자 Fragment Shader의 Input으로 사용될 변수를 지정하는 데 사용된다. Application 쪽에선 건드릴 수 없는 변수이므로 관련 API 또한 존재하지 않는다.

varying vec2 texCoord;
varying vec4 color;

 

'OpenGL ES' 카테고리의 다른 글

[OpenGL] Uniform, Attribute, Varying  (0) 2011.11.11

댓글을 달아 주세요

iOS5로 업데이트 후에 단어와 단어 사이의 공백이 무시무시하게 벌어지는 문제가 있다. UIFont에서 fontWithName:@"AppleGothic"으로 폰트를 얻어오면 문제가 된다.
systemFontOfSize API를 사용하면 문제 없이 나타난다.

댓글을 달아 주세요

상위버전 SDK로 빌드된 라이브러리를 사용한 어플을 하위버전의 단말에 탑재하면 어플이 시작되다가 종료되는 현상이 발생하게 된다. 이는 Build Phases의 Link Binary With Libraries에서 상위버전 SDK에만 존재하는 라이브러리를 'Required'로 링크시켰기 때문이다. 'Required'를 'Optional'로 바꿔주면 잘 실행되는 것을 볼 수 있다.



Build Settings의 OTHER_LINKER_FLAGS에서 -l 로 링크하는 라이브러리의 경우 -weak-l 로 링크하면 같은 효과를 얻을 수 있다.

댓글을 달아 주세요


F12
커서가 있는 위치의 함수, 변수의 정의로 이동

Ctrl + -  
F12나 찾기 등으로 커서가 움직인 경우 이전 커서 위치로 이동


vim 에서 ctags를 이용했을 때 Ctrl + ], Ctrl + T와 같은 기능이라고 보시면 됩니다. 

댓글을 달아 주세요

1 2 

글 보관함

카운터

Total : 28,546 / Today : 9 / Yesterday : 10
get rsstistory!