mirror of
https://github.com/XProger/OpenLara.git
synced 2025-08-12 08:04:09 +02:00
Merge branch 'master' of https://github.com/XProger/OpenLara
This commit is contained in:
14
src/format.h
14
src/format.h
@@ -3168,7 +3168,7 @@ namespace TR {
|
|||||||
|
|
||||||
id = TR::getLevelID(stream.size, stream.name, version, isDemoLevel);
|
id = TR::getLevelID(stream.size, stream.name, version, isDemoLevel);
|
||||||
|
|
||||||
if (version == VER_UNKNOWN || version == VER_TR1_PSX || version == VER_TR3_PSX) {
|
if (version == VER_UNKNOWN || version == VER_TR1_PSX || version == VER_TR1_SAT || version == VER_TR3_PSX) {
|
||||||
stream.read(magic);
|
stream.read(magic);
|
||||||
|
|
||||||
if (magic != MAGIC_TR1_PC &&
|
if (magic != MAGIC_TR1_PC &&
|
||||||
@@ -4068,12 +4068,16 @@ namespace TR {
|
|||||||
LOG("! unknown face type: %d\n", type);
|
LOG("! unknown face type: %d\n", type);
|
||||||
ASSERT(false);
|
ASSERT(false);
|
||||||
}
|
}
|
||||||
ASSERT(f.flags.value % 16 == 0);
|
|
||||||
ASSERT(f.flags.value / 16 < roomTexturesCount);
|
|
||||||
f.flags.value /= 16;
|
|
||||||
|
|
||||||
if (type == TYPE_R_TRANSP)
|
if (type != TYPE_SPRITE) {
|
||||||
|
ASSERT(f.flags.value % 16 == 0);
|
||||||
|
ASSERT(f.flags.value / 16 < roomTexturesCount);
|
||||||
|
f.flags.value /= 16;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type == TYPE_R_TRANSP) {
|
||||||
roomTextures[f.flags.texture].attribute = 1;
|
roomTextures[f.flags.texture].attribute = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
data.fCount = fIndex;
|
data.fCount = fIndex;
|
||||||
|
@@ -1371,10 +1371,12 @@ namespace TR {
|
|||||||
CHECK_FILE("DELDATA/AMERTIT.RAW"); // PSX
|
CHECK_FILE("DELDATA/AMERTIT.RAW"); // PSX
|
||||||
CHECK_FILE("DELDATA/JAPTIT.RAW"); // PSX JAP
|
CHECK_FILE("DELDATA/JAPTIT.RAW"); // PSX JAP
|
||||||
CHECK_FILE("BINDATA/USATIT.BIN"); // SEGA
|
CHECK_FILE("BINDATA/USATIT.BIN"); // SEGA
|
||||||
|
CHECK_FILE("BINDATA/TITLE1.BIN"); // SEGA
|
||||||
return "level/1/AMERTIT.PNG"; // WEB
|
return "level/1/AMERTIT.PNG"; // WEB
|
||||||
case LVL_TR1_GYM :
|
case LVL_TR1_GYM :
|
||||||
CHECK_FILE("DELDATA/GYMLOAD.RAW");
|
CHECK_FILE("DELDATA/GYMLOAD.RAW");
|
||||||
CHECK_FILE("BINDATA/GYM224.BIN");
|
CHECK_FILE("BINDATA/GYM224.BIN");
|
||||||
|
CHECK_FILE("BINDATA/GYM.BIN");
|
||||||
return "level/1/GYMLOAD.PNG";
|
return "level/1/GYMLOAD.PNG";
|
||||||
case LVL_TR1_1 :
|
case LVL_TR1_1 :
|
||||||
case LVL_TR1_2 :
|
case LVL_TR1_2 :
|
||||||
@@ -1382,6 +1384,7 @@ namespace TR {
|
|||||||
case LVL_TR1_3B :
|
case LVL_TR1_3B :
|
||||||
CHECK_FILE("DELDATA/AZTECLOA.RAW");
|
CHECK_FILE("DELDATA/AZTECLOA.RAW");
|
||||||
CHECK_FILE("BINDATA/AZTEC224.BIN");
|
CHECK_FILE("BINDATA/AZTEC224.BIN");
|
||||||
|
CHECK_FILE("BINDATA/AZTEC.BIN");
|
||||||
return "level/1/AZTECLOA.PNG";
|
return "level/1/AZTECLOA.PNG";
|
||||||
case LVL_TR1_4 :
|
case LVL_TR1_4 :
|
||||||
case LVL_TR1_5 :
|
case LVL_TR1_5 :
|
||||||
@@ -1390,18 +1393,21 @@ namespace TR {
|
|||||||
case LVL_TR1_7B :
|
case LVL_TR1_7B :
|
||||||
CHECK_FILE("DELDATA/GREEKLOA.RAW");
|
CHECK_FILE("DELDATA/GREEKLOA.RAW");
|
||||||
CHECK_FILE("BINDATA/GREEK224.BIN");
|
CHECK_FILE("BINDATA/GREEK224.BIN");
|
||||||
|
CHECK_FILE("BINDATA/GREEK.BIN");
|
||||||
return "level/1/GREEKLOA.PNG";
|
return "level/1/GREEKLOA.PNG";
|
||||||
case LVL_TR1_8A :
|
case LVL_TR1_8A :
|
||||||
case LVL_TR1_8B :
|
case LVL_TR1_8B :
|
||||||
case LVL_TR1_8C :
|
case LVL_TR1_8C :
|
||||||
CHECK_FILE("DELDATA/EGYPTLOA.RAW");
|
CHECK_FILE("DELDATA/EGYPTLOA.RAW");
|
||||||
CHECK_FILE("BINDATA/EGYPT224.BIN");
|
CHECK_FILE("BINDATA/EGYPT224.BIN");
|
||||||
|
CHECK_FILE("BINDATA/EGYPT.BIN");
|
||||||
return "level/1/EGYPTLOA.PNG";
|
return "level/1/EGYPTLOA.PNG";
|
||||||
case LVL_TR1_10A :
|
case LVL_TR1_10A :
|
||||||
case LVL_TR1_10B :
|
case LVL_TR1_10B :
|
||||||
case LVL_TR1_10C :
|
case LVL_TR1_10C :
|
||||||
CHECK_FILE("DELDATA/ATLANLOA.RAW");
|
CHECK_FILE("DELDATA/ATLANLOA.RAW");
|
||||||
CHECK_FILE("BINDATA/ATLAN224.BIN");
|
CHECK_FILE("BINDATA/ATLAN224.BIN");
|
||||||
|
CHECK_FILE("BINDATA/ATLAN.BIN");
|
||||||
return "level/1/ATLANLOA.PNG";
|
return "level/1/ATLANLOA.PNG";
|
||||||
// TR2
|
// TR2
|
||||||
case LVL_TR2_TITLE :
|
case LVL_TR2_TITLE :
|
||||||
|
@@ -638,8 +638,12 @@ struct Texture : GAPI::Texture {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static uint8* LoadBIN(Stream &stream, uint32 &width, uint32 &height) {
|
static uint8* LoadBIN(Stream &stream, uint32 &width, uint32 &height) {
|
||||||
height = 224;
|
if (strstr(stream.name, "224.")) {
|
||||||
width = stream.size / height / 2;
|
height = 224;
|
||||||
|
} else {
|
||||||
|
height = 256;
|
||||||
|
}
|
||||||
|
width = stream.size / height / 2;
|
||||||
|
|
||||||
uint8 *data = new uint8[stream.size];
|
uint8 *data = new uint8[stream.size];
|
||||||
stream.raw(data, stream.size);
|
stream.raw(data, stream.size);
|
||||||
|
Reference in New Issue
Block a user