Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement MAKE_ITEM_GROUP handling. #267

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
491 changes: 484 additions & 7 deletions src/common/N3Utils.h

Large diffs are not rendered by default.

198 changes: 0 additions & 198 deletions src/engine/N3Base/AVIPlayer.cpp

This file was deleted.

29 changes: 0 additions & 29 deletions src/engine/N3Base/AVIPlayer.h

This file was deleted.

18 changes: 9 additions & 9 deletions src/engine/N3Base/BitMapFile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,8 @@ bool CBitMapFile::Save(HANDLE hFile) {
return true;
}

bool CBitMapFile::SaveRectToFile(const std::string & szFN, RECT rc) {
if (szFN.empty()) {
bool CBitMapFile::SaveRectToFile(const fs::path & fsFile, RECT rc) {
if (fsFile.empty()) {
return false;
}

Expand Down Expand Up @@ -136,7 +136,7 @@ bool CBitMapFile::SaveRectToFile(const std::string & szFN, RECT rc) {
}

DWORD dwRWC = 0;
HANDLE hFile = ::CreateFile(szFN.c_str(), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
HANDLE hFile = ::CreateFileW(fsFile.c_str(), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);

// 쓰기 모드로 파일 열기
if (INVALID_HANDLE_VALUE == hFile) {
Expand Down Expand Up @@ -179,13 +179,13 @@ bool CBitMapFile::SaveRectToFile(const std::string & szFN, RECT rc) {
return true;
}

bool CBitMapFile::LoadFromFile(const char * pszFN) {
if (NULL == pszFN || lstrlen(pszFN) <= 0) {
bool CBitMapFile::LoadFromFile(const fs::path & fsFile) {
if (fsFile.empty()) {
return false;
}

DWORD dwRWC = 0;
HANDLE hFile = ::CreateFile(pszFN, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
HANDLE hFile = ::CreateFileW(fsFile.c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

if (INVALID_HANDLE_VALUE == hFile) {
return false;
Expand All @@ -198,13 +198,13 @@ bool CBitMapFile::LoadFromFile(const char * pszFN) {
return bSuccess;
}

bool CBitMapFile::SaveToFile(const char * pszFN) {
if (NULL == pszFN || lstrlen(pszFN) <= 0) {
bool CBitMapFile::SaveToFile(const fs::path & fsFile) {
if (fsFile.empty()) {
return false;
}

DWORD dwRWC = 0;
HANDLE hFile = ::CreateFile(pszFN, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
HANDLE hFile = ::CreateFileW(fsFile.c_str(), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);

if (hFile == INVALID_HANDLE_VALUE) {
return false;
Expand Down
6 changes: 3 additions & 3 deletions src/engine/N3Base/BitMapFile.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ class CBitMapFile {
void * m_pPixels; // 실제 픽셀 데이터
int Pitch() { return ((int)((m_bmInfoHeader.biWidth * 3 + 3) / 4)) * 4; } // 비트맵의 실제 너비(byte 단위)..
bool Create(int nWidth, int nHeight, int nBPP = 24);
bool SaveRectToFile(const std::string & szFN, RECT rc);
bool SaveRectToFile(const fs::path & fsFile, RECT rc);
void * Pixels(int x = 0, int y = 0);
BITMAPINFOHEADER * GetBitmapInfoHeader() { return &m_bmInfoHeader; }
BITMAPFILEHEADER * GetBitmapFileHeader() { return &m_bmfHeader; }
bool Load(HANDLE hFile);
bool Save(HANDLE hFile);
bool LoadFromFile(const char * pszFN);
bool SaveToFile(const char * pszFN);
bool LoadFromFile(const fs::path & fsFile);
bool SaveToFile(const fs::path & fsFile);

int Width() { return m_bmInfoHeader.biWidth; }
int Height() { return m_bmInfoHeader.biHeight; }
Expand Down
9 changes: 5 additions & 4 deletions src/engine/N3Base/Jpeg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ CJpeg::~CJpeg() {
}
}

void CJpeg::LoadJPG(LPCSTR FileName) {
void CJpeg::LoadJPG(const fs::path & fsFile) {
// File Open & Load Entire Contents //
HFILE hFile = _lopen(FileName, OF_READWRITE);
HFILE hFile = _wopen(fsFile.c_str(), OF_READWRITE);
int FileSize = GetFileSize((HANDLE)hFile, NULL);
m_pBuf = new BYTE[FileSize];
_lread(hFile, m_pBuf, FileSize);
Expand Down Expand Up @@ -647,7 +647,7 @@ void CJpeg::ConvertYUV2RGB() {
delete[] pLine;
}

void CJpeg::SaveJPG(LPCSTR FileName, int Width, int Height, BYTE * pp) {
void CJpeg::SaveJPG(const fs::path & fsFile, int Width, int Height, BYTE * pp) {
m_rWidth = Width;
m_rHeight = Height;

Expand All @@ -672,7 +672,8 @@ void CJpeg::SaveJPG(LPCSTR FileName, int Width, int Height, BYTE * pp) {
}

DWORD dwWritten;
HANDLE fh = CreateFile(FileName, GENERIC_READ | GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
HANDLE fh =
CreateFileW(fsFile.c_str(), GENERIC_READ | GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (fh == INVALID_HANDLE_VALUE) {
return;
}
Expand Down
44 changes: 22 additions & 22 deletions src/engine/N3Base/Jpeg.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,30 +55,30 @@ struct SCANHEADER {
class CJpeg {
public:
// JPEG File을 Load하기 위한 함수들 //
void LoadJPG(LPCSTR FileName); // JPEG File을 Load하는 함수
void FindSOI(); // Start of Image 마커를 찾는 함수
void FindDQT(); // Quantization Table을 찾아 구조체에 설정하는 함수
void FindDHT(); // Huffman Table을 찾아 구조체에 설정하는 함수
void FindSOF(); // Frame Header를 찾아 구조체에 설정하는 함수
void FindSOS(); // Scan Header를 찾아 구조체에 설정하는 함수
void FindETC(); // DRI(Define Restart Interval) 로드
void Decode(); // 디코드를 위한 정보를 설정하고 디코드를 시작
void DecodeMCU(int mx, int my); // MCU블럭을 디코드하는 함수
void DecodeDU(int N); // 8x8 Data Unit를 디코드하는 함수
void IDCT(); // Inverse DCT를 하는 함수
void Zigzag(); // Zigzag순으로 되어있는 DU를 원상복귀시키는 함수
void DecodeAC(int Th); // DU중, AC성분을 디코드하는 함수
void DecodeDC(int Th); // DU중, DC성분을 디코드하는 함수
short Extend(WORD V, BYTE T); // V를 카테고리 T에 맞도록 확장
WORD Receive(BYTE SSSS); // 버퍼에서 SSSS비트만큼 읽어오는 함수
BYTE hDecode(int Th); // 허프만 부호를 디코드하는 부분
BYTE NextByte(); // 버퍼에서 다음 1 바이트를 읽어오는 함수
WORD NextBit(); // 버퍼에서 다음 1 비트를 읽어오는 함수
void ConvertYUV2RGB(); // 디코드된 데이터를 컬러모델을 바꿈과 동시에
// 비트맵에 호환되도록 변환하는 함수
void LoadJPG(const fs::path & fsFile); // JPEG File을 Load하는 함수
void FindSOI(); // Start of Image 마커를 찾는 함수
void FindDQT(); // Quantization Table을 찾아 구조체에 설정하는 함수
void FindDHT(); // Huffman Table을 찾아 구조체에 설정하는 함수
void FindSOF(); // Frame Header를 찾아 구조체에 설정하는 함수
void FindSOS(); // Scan Header를 찾아 구조체에 설정하는 함수
void FindETC(); // DRI(Define Restart Interval) 로드
void Decode(); // 디코드를 위한 정보를 설정하고 디코드를 시작
void DecodeMCU(int mx, int my); // MCU블럭을 디코드하는 함수
void DecodeDU(int N); // 8x8 Data Unit를 디코드하는 함수
void IDCT(); // Inverse DCT를 하는 함수
void Zigzag(); // Zigzag순으로 되어있는 DU를 원상복귀시키는 함수
void DecodeAC(int Th); // DU중, AC성분을 디코드하는 함수
void DecodeDC(int Th); // DU중, DC성분을 디코드하는 함수
short Extend(WORD V, BYTE T); // V를 카테고리 T에 맞도록 확장
WORD Receive(BYTE SSSS); // 버퍼에서 SSSS비트만큼 읽어오는 함수
BYTE hDecode(int Th); // 허프만 부호를 디코드하는 부분
BYTE NextByte(); // 버퍼에서 다음 1 바이트를 읽어오는 함수
WORD NextBit(); // 버퍼에서 다음 1 비트를 읽어오는 함수
void ConvertYUV2RGB(); // 디코드된 데이터를 컬러모델을 바꿈과 동시에
// 비트맵에 호환되도록 변환하는 함수

// JPEG File을 Save하기 위한 함수들 //
void SaveJPG(LPCSTR FileName, int Width, int Height, BYTE * pp); // JPEG 파일을 저장하는 함수
void SaveJPG(const fs::path & fsFile, int Width, int Height, BYTE * pp); // JPEG 파일을 저장하는 함수

void PutSOI(HANDLE hFile); // Start of Image 마커를 삽입
void PutDQT(HANDLE hFile); // Quantizatino Table을 삽입
Expand Down
Loading