Skip to content

Commit da2b70b

Browse files
committed
tt
1 parent 341eb95 commit da2b70b

File tree

3 files changed

+20
-3
lines changed

3 files changed

+20
-3
lines changed

tools/patcher/DiabloUI/patcher.cpp

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3954,7 +3954,24 @@ static BYTE* patchFile(int index, size_t *dwLen)
39543954
} break;
39553955
case FILE_CATHEDRAL_SCEL:
39563956
{ // patch pSpecialsCel - L1S.CEL
3957-
buf = DRLP_L1_PatchSpec(buf, dwLen);
3957+
size_t minLen;
3958+
BYTE* minBuf = LoadFileInMem(filesToPatch[FILE_CATHEDRAL_MIN], &minLen);
3959+
if (minBuf == NULL) {
3960+
mem_free_dbg(buf);
3961+
app_warn("Unable to open file %s in the mpq.", filesToPatch[FILE_CATHEDRAL_MIN]);
3962+
return NULL;
3963+
}
3964+
size_t celLen;
3965+
BYTE* celBuf = LoadFileInMem(filesToPatch[FILE_CATHEDRAL_CEL], &celLen);
3966+
if (celBuf == NULL) {
3967+
mem_free_dbg(minBuf);
3968+
mem_free_dbg(buf);
3969+
app_warn("Unable to open file %s in the mpq.", filesToPatch[FILE_CATHEDRAL_CEL]);
3970+
return NULL;
3971+
}
3972+
buf = DRLP_L1_PatchSpec(minBuf, minLen, celBuf, celLen, buf, dwLen);
3973+
mem_free_dbg(celBuf);
3974+
mem_free_dbg(minBuf);
39583975
} break;
39593976
case FILE_CATHEDRAL_CEL:
39603977
{ // patch dMicroCels - L1.CEL

tools/patcher/drlp_l1.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ BYTE* DRLP_L1_PatchDoors(BYTE* celBuf, size_t* celLen)
142142
return resCelBuf;
143143
}
144144

145-
BYTE* DRLP_L1_PatchSpec(BYTE* sCelBuf, size_t* sCelLen)
145+
BYTE* DRLP_L1_PatchSpec(const BYTE* minBuf, size_t minLen, const BYTE* celBuf, size_t celLen, BYTE* sCelBuf, size_t* sCelLen)
146146
{
147147
constexpr BYTE TRANS_COLOR = 128;
148148
constexpr BYTE SUB_HEADER_SIZE = 10;

tools/patcher/drlp_l1.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ extern "C" {
1515
#define BLOCK_SIZE_L1 10
1616

1717
BYTE* DRLP_L1_PatchDoors(BYTE* celBuf, size_t* celLen);
18-
BYTE* DRLP_L1_PatchSpec(BYTE* sCelBuf, size_t* sCelLen);
18+
BYTE* DRLP_L1_PatchSpec(const BYTE* minBuf, size_t minLen, const BYTE* celBuf, size_t celLen, BYTE* sCelBuf, size_t* sCelLen);
1919
BYTE* DRLP_L1_PatchCel(const BYTE* minBuf, size_t minLen, BYTE* celBuf, size_t* celLen);
2020
void DRLP_L1_PatchMin(BYTE* minBuf);
2121
void DRLP_L1_PatchTil(BYTE* tilBuf);

0 commit comments

Comments
 (0)