Source SDK 2013/ko

From Valve Developer Community
Jump to: navigation, search
Icon-broom.png
이 문서는 더 높은 품질을 위해 정리 되어야만 합니다 because:
OS X 운영체제는 기존 문서가 Windwos 운영체제 중심으로 작성되어 있어 SDK를 이용하는데 많은 제약이 있습니다. 언젠가 갈아엎을 필요가 있습니다. 또한 쉐이더 관련 지침이 제대로 작성되지 않았습니다.
도움을 주시려면, VDC 수정 도움Wikipedia 정리 과정 을 참고하세요.
Note.png메모:당신은 Notepad ++를 이용해 Visual Studio 대신 간편하게 편집할 수 있습니다. 단지 작업이 끝나면 저장만 눌러주면 됩니다.

준비하기 (멀티 및 싱글 모두)

Source Sdk Base 2013 설치

Source Sdk 2013 (본인 재량에 따라 멀티 혹은 싱글) Steam->라이브러리->도구(또는 검색창에 Source Sdk base 2013 입력후 설치)에서 설치하시거나 아래 링크를 통해 설치해주세요:

소스 코드 얻기

방법 1:GitHub Desktop client 이용하기(Windows/OS X)

  1. GitHub Desktop 사이트에 접속해 실행파일을 받고 설치를 진행해줍니다.
  2. Source SDK git repo 사이트를 접속하시고 "Clone to desktop"을 눌러줍시다.

방법 3: 직접 ZIP 압축파을 다운로드 받기

Note.png메모:Note: 당신이 이 방법을 선택하실 경우 앞으로 repo 업데이트가 있을때마다 수동으로 코드를 변경해주셔야 합니다.

여기에서 파일을 받고 압축을 풀어줍시다.

설정하기 (각 플랫폼 마다)

Windows 운영체제에서 Source Sdk 설정하기

1단계: Visual Studio 2013 설치

Note.png메모:Source Sdk 2013은 Visual Studio 2015에서 컴파일이 실행되지 않지만 (버그 보고서) 당신은 Visual Studio 2013과 2015을 동시에 설치한다음 2015버전을 실행해 프로젝트를 불러오고 해당 업데이트 화면에서 건너뛰기를 선택해 2015를 이용하실 수도 있습니다.
  1. Visual Studio 2013을 받아 설치합시다..
  2. Multibyte MFC Library도 설치해줍시다..
Note.png메모:Multibyte MFC Library 추가기능이 Visual Studio 2013 Express에서는 작동되지 않습니다..

2단계: Microsoft Speech SDK 설치하기

  1. Microsoft Speech SDK을 받아 실행합시다.
  2. 원하시는 경로에 Unzip을 선택해 압축을 풀고 Microsoft Speech SDK 5.1.msi을 실행시켜 줍시다.
  3. 기본경로에 파일을 설치해주신다음 C:\Program Files (x86)\Microsoft Speech SDK 5.1 폴더 내에 있는 내용물을 <SDKROOT>\sp\src\utils 경로나<SDKROOT>\mp\src\utils 경로에 sapi51폴더를 만들어 그 폴더 안으로 복사해줍시다.
  4. 경로 설정에 유의합시다! : \sp\src\utils\sapi51 폴더에 'Include','Bin','IDE'. 같은 폴더가 있어야 하며 결코 Microsoft Speech SDK 5.1폴더가 있으면 안됩니다. 만약 이런 잘못된 경로로 진행하시면 나중에 컴파일 단계에서 에러 코드 1을 출력될 것입니다.
  5. InClude 폴더 내에 있는 sphelper.h 을 실행시켜 다음 행에 있는 기존 문구 대신 아래 문구로 바꿔줍시다.(앞에서 언급했듯 Notepad++을 이용해 바꿔주시면 간단합니다. 단 저장을 잊지말고 눌러주세요!):


769 행 :

   const size_t ulLenVendorPreferred = wcslen(pszVendorPreferred); // no size_t

1418 행 :

   static long CoMemCopyWFEX(const WAVEFORMATEX * pSrc, WAVEFORMATEX ** ppCoMemWFEX) // missing long

2368 행 :

   const WCHAR * PropertyStringValue() const
   {
       // Search for the first NULL and return pointer to the char past it.
       SPDBG_ASSERT(eEventId == SPEI_PROPERTY_STRING_CHANGE);
       const WCHAR * psz = (const WCHAR *)lParam; // moved this from for init
       for (; *psz; psz++) {}
       return psz + 1;
   }

2560 행 :

   SPPHONEID* pphoneId = (SPPHONEID*)((WCHAR *)dsPhoneId); // improper casting

2634 행 :

   pphoneId += wcslen((const wchar_t *)pphoneId) + 1; // improper casting

3단계: 프로젝트 파일을 컴파일하기

  1. <path-to-git>\sp\src\ 경로에 있는 createallprojects.batcreategameprojects.bat 파일을 실행시켜 줍시다.
  2. <path-to-git>\mp\src\ 경로에 있는 createallprojects.batcreategameprojects.bat 파일을 실행시켜 줍시다.
  1. 원하시는 모드의(Singleplayer 혹은 Multiplayer) everything.sln 파일을 열어줍시다. .
  2. Solution Explorer 목록 밑에 있는 모든 솔루선, 을 선택해주시고 우클릭을 한다음 DuBug를 Release로 교체해 줍시다.
  3. 이후everything 솔루선에 대해, Build Solution을 실행해 컴파일 시켜줍시다..

Notes

Note.png메모:만약 컴파일 도중 오류가 발생하면 해당 솔루선에 우클릭을 해 Rebuild를 눌러 해결할 수도 있습니다.

{{Note|client.dll 파일은 일반적으로 <path-to-git>\sp\src\game\client\Release_mod_hl2<path-to-git>\sp\src\game\client\Release_mod_episodic}경로에 생성됩니다.}

Note.png메모:server.dll 파일은 일반적으로 <path-to-git>\sp\src\game\server\Release_mod_hl2<path-to-git>\sp\src\game\server\Release_mod_episodic

경로에 생성 됩니다.

Note.png메모:Source Sdk Base 2013 Singleplayer의 경우 베타 모드를 활성화 하지않으면 Engine.dll에서 디버거가 중단되는 현상이 발견되고 있습니다. 스팀>라이브러리에서 Source Sdk Base 2013 Singleplayer를 선택해 우클릭을 해주신다음 설정을 눌러 베타 탭에 들어가 베타모드를 활성화 해주셔야 합니다. 이 문제는 조만간 해결될 것으로 보입니다.

4단계 구축: 자신만의 쉐이더 구축하기

Source SDK 2013: Shader Authoring 문서로 이동해주시기 바랍니다..

스팀에서 설정

자세한 내용은 Setup mod on steam 문서를 참조하세요..

여담

문제현상

MSB8008:특정 플랫폼 (v120_xp) 및 (v120)을 갖고 있지 않거나 유효하지 않습니다. (Windows)

  1. 모든 프로젝트 파일을 선택합시다.
  2. 파일에 우클릭을 해주시고, "Properties" 을 눌러줍시다.
  3. "Configuration Properties" 에 들어갑시다.
  4. "Platform toolset"(v100)로 바꿔줍시다.

(Visual Studio가 영문판이기에 각각의 용어를 따로 번역하지 않았습니다.)

(경로:Project->Properties->Configuration Properties->General->Platform toolset = Visual Studio 2010(v100))


따른 내용 보기