이 ν¬μŠ€νŒ…μ€ 쿠팑 νŒŒνŠΈλ„ˆμŠ€ ν™œλ™μ˜ μΌν™˜μœΌλ‘œ, 이에 λ”°λ₯Έ μΌμ •μ•‘μ˜ 수수료λ₯Ό μ œκ³΅λ°›μ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

λ°˜μ‘ν˜•
//β”•β”•β”•β”•β”• λ””μ ΈμŠ€νŒŒμΌ ν•˜λ‚˜ν•˜λ‚˜λ²—κΈ΄λ‹€μŒ λ””μ½”λ”©μ‹œν‚¨λ‹€μŒ ν‘œλ©΄μœΌλ‘œ λ³΅μ‚¬μ‹œν‚€κΈ°β”•β”•β”•β”•
//━━ λ””μ ΈμŠ€ μ½μ–΄μ„œ 이미지 클래슀 동적할당 ━━//
//━━ 이것은 32λΉ„νŠΈμž„μ„ λ„ˆλ„ μ•Œκ³  μžˆμ§€ μ•ŠλŠλƒ?
////━━ 16λΉ„νŠΈλ‘œ λ§Œλ“œλŠ”κ²Œ μˆ™μ œμ΄λ―€λ‘œ λ§Œλ“€λ„λ‘ ν•˜μ—¬λΌ.
  m_Image = new CImages[IMG_END];

  HANDLE    hFile;
  BYTE    byNameSize;
  char    szAlxName[128];
  DWORD    dwFileSize;
  DWORD    dwRead;
  BYTE*    pData;
  int      i;
  //μ’† νŒŒμΌμ„ 읽기λͺ¨λ“œλ‘œ ν•Έλ“€μž‘μŒ
  hFile = CreateFile("jot.dgs", GENERIC_READ, 0, NULL,
    OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);


  //pData νŒŒμΌν•˜λ‚˜μ”©ν•˜λ‚˜μ”© κΉŒμ„œ ν‘œλ©΄μœΌλ‘œ λ³΅μ‚¬μ‹œμΌœμ£ΌλŠ” Loadν•¨μˆ˜μ— νƒ‘μž¬μ‹œμΌœλ²„λ¦°λ‹€.
  for(i = 0; i < IMG_END; i++)
  {
    //이름이 ν•„μš”ν•˜μ§€λŠ” μ•Šμ§€λ§Œ μžˆκΈ°λ•Œλ¬Έμ— ν˜•μ‹μ μœΌλ‘œ 읽어쀀닀
    //μ•Œλ ‰μŠ€ : κ±΄λ„ˆλ›°κ³  μ½μ–΄μ€˜λ„ λ˜κ² μ§€λ§Œ κ·Έλƒ₯ 읽으면 포인터가 μ΄λ™ν•˜λ‹ˆκΉ
    //         이게 νŽΈν•΄μ„œ μ΄λ ‡κ²Œ ν•˜λŠ” 거겠지 ????
    ReadFile(hFile, &byNameSize, 1, &dwRead, NULL);
    memset(szAlxName, 0, 128);
    ReadFile(hFile, szAlxName, byNameSize, &dwRead, NULL);


//β”β”νŒŒμΌ ν•˜λ‚˜~~ν•˜λ‚˜~~~λ₯Ό ν‘œλ©΄ ν•˜λ‚˜~~ν•˜λ‚˜μ—λ‹€κ°€ λ³΅μ‚¬μ‹œν‚€κΈ°
    //νŒŒμΌμ‚¬μ΄μ¦ˆμ™€ 데이타λ₯Ό μ½λŠ”λ‹€
    //ALEX   : 이뢀뢄이 μ€‘μš”ν•˜λ‹€. μ‹€μ œλ‘œ Data λ₯Ό μ½μ–΄λ“œλ¦°λ‹€μŒ
    //         ν‘œλ©΄μ—λ‹€κ°€ λ³΅μ‚¬μ‹œν‚€κΈ° μœ„ν•΄ Loadν•¨μˆ˜λ₯Ό λΆˆλŸ¬λ“œλ¦°λ‹€.
    ReadFile(hFile, &dwFileSize, 4, &dwRead, NULL);
    pData = new BYTE[dwFileSize];
    ReadFile(hFile, pData, dwFileSize, &dwRead, NULL);
    //μ•”ν˜ΈνšŒλ˜μ–΄μžˆμœΌλ‹ˆ λ””μ½”λ”©ν•˜κ³ 
    Decode(pData, dwFileSize);

    //λ³΅μ‚¬λ•Œλ¦¬μž!!!μΊ¬μΊ¬
    if(m_Image[i].Load(m_lpDD, pData, nBit, nMemOff) == false) return false;

    delete [] pData ;
  }


  CloseHandle(hFile);

  
//━━ μΉ΄μš΄ν„° 클래슀 동적할당 ━━//
  m_Count = new CCount;
  m_Count->SetUp();

  if(SetClip() == false) return false;


  return true;
}


//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// β˜†β”β”€ 08-02-15, λ³΅ν˜Έν™” ν•œλ‹€ seth. β”€β”β˜†
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
void CMainGame::Decode(BYTE* pAlxData, int dwFileSize)
{
  BYTE*    pData;
  BYTE    byPassWord[3];
  int      i;

  pData = new BYTE[dwFileSize - 3];
  memset(pData, 0, dwFileSize - 3);

  byPassWord[0] = pAlxData[1];
  byPassWord[1] = pAlxData[3];
  byPassWord[2] = pAlxData[6];

  for(i = 0; i < dwFileSize; i++)
  {
    pAlxData[i] = pAlxData[i] ^  byPassWord[0];
    pAlxData[i] = pAlxData[i] ^  byPassWord[1];
    pAlxData[i] = pAlxData[i] ^  byPassWord[2];
  }

  //μ•Œλ ‰μŠ€ 헀더카피
  pData[0] = pAlxData[0];
  pData[1] = pAlxData[2];
  pData[2] = pAlxData[4];
  pData[3] = pAlxData[5];
  memcpy(&pData[4], &pAlxData[7], 4);

  memcpy(&pData[sizeof(tagAlex)], &pAlxData[sizeof(tagAlex) + 3], dwFileSize - sizeof(tagAlex) - 3);
  memset(pAlxData, 0, dwFileSize);
  memcpy(pAlxData, pData, dwFileSize - 3);


  delete [] pData;
}

λ°˜μ‘ν˜•

+ Recent posts