mirror of
https://github.com/mwpenny/portal64-still-alive.git
synced 2024-10-20 10:37:37 -04:00
Add level signage
This commit is contained in:
parent
278214b0b2
commit
4956892ae1
9
Makefile
9
Makefile
|
@ -110,6 +110,15 @@ $(TEXTURE_VTF_SOURCES): portal_pak_dir
|
||||||
|
|
||||||
convert_all_png: $(ALL_PNG_IMAGES)
|
convert_all_png: $(ALL_PNG_IMAGES)
|
||||||
|
|
||||||
|
portal_pak_dir/%_copy_0.png: portal_pak_dir/%.png
|
||||||
|
cp $< $@
|
||||||
|
|
||||||
|
portal_pak_dir/%_copy_1.png: portal_pak_dir/%.png
|
||||||
|
cp $< $@
|
||||||
|
|
||||||
|
portal_pak_dir/%_copy_2.png: portal_pak_dir/%.png
|
||||||
|
cp $< $@
|
||||||
|
|
||||||
portal_pak_modified/%.png: portal_pak_dir/%.png assets/%.ims
|
portal_pak_modified/%.png: portal_pak_dir/%.png assets/%.ims
|
||||||
@mkdir -p $(@D)
|
@mkdir -p $(@D)
|
||||||
convert $< $(shell cat $(@:portal_pak_modified/%.png=assets/%.ims)) $@
|
convert $< $(shell cat $(@:portal_pak_modified/%.png=assets/%.ims)) $@
|
||||||
|
|
1
assets/materials/models/props_animsigns/awe_total.ims
Normal file
1
assets/materials/models/props_animsigns/awe_total.ims
Normal file
|
@ -0,0 +1 @@
|
||||||
|
-alpha extract \( +clone -crop 682x342+682+0 \) -gravity west -append -crop 682x1364+0+0 -resize 64x128
|
|
@ -0,0 +1 @@
|
||||||
|
-alpha extract -crop 154x1024+1894+0 -resize 32x212
|
20
assets/materials/models/props_animsigns/awe_total_copy_1.ims
Normal file
20
assets/materials/models/props_animsigns/awe_total_copy_1.ims
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
-alpha extract
|
||||||
|
\( +clone -crop 436x146+1061+438 -rotate 90 \) -insert 0
|
||||||
|
\( +clone -crop 146x436+1463+147 \) -insert 1
|
||||||
|
\( +clone -crop 146x436+1609+147 \) -insert 2
|
||||||
|
\( +clone -crop 146x436+1755+147 \) -insert 3
|
||||||
|
\( +clone -crop 146x436+1025+583 \) -insert 4
|
||||||
|
\( +clone -crop 146x436+1171+583 \) -insert 5
|
||||||
|
\( +clone -crop 146x436+1317+583 \) -insert 6
|
||||||
|
\( +clone -crop 146x436+1463+583 \) -insert 7
|
||||||
|
\( +clone -crop 146x436+1609+583 \) -insert 8
|
||||||
|
\( +clone -crop 146x436+1755+583 \) -insert 9
|
||||||
|
+append
|
||||||
|
+repage
|
||||||
|
-crop 1460x436+0+0
|
||||||
|
-fill black
|
||||||
|
-background black
|
||||||
|
-draw 'rectangle 141,310 189,424'
|
||||||
|
-draw 'rectangle 1447,337 1460,404'
|
||||||
|
-resize 140x
|
||||||
|
-extent 144x
|
|
@ -0,0 +1 @@
|
||||||
|
-alpha extract -crop 342x682+682+342 -resize 32x64
|
|
@ -0,0 +1 @@
|
||||||
|
-alpha remove -crop 50x50+21+20 -resize 16x16
|
|
@ -186,3 +186,97 @@ materials:
|
||||||
set: [G_LIGHTING, G_SHADE]
|
set: [G_LIGHTING, G_SHADE]
|
||||||
gDPSetCombineMode:
|
gDPSetCombineMode:
|
||||||
color: ["SHADE", "0", "TEXEL0", "0"]
|
color: ["SHADE", "0", "TEXEL0", "0"]
|
||||||
|
|
||||||
|
newsignage_back02:
|
||||||
|
gDPSetTile:
|
||||||
|
filename: ../../portal_pak_modified/materials/models/props_animsigns/newsignage_back02.png
|
||||||
|
siz: G_IM_SIZ_4b
|
||||||
|
twoTone: true
|
||||||
|
s:
|
||||||
|
wrap: false
|
||||||
|
t:
|
||||||
|
wrap: false
|
||||||
|
|
||||||
|
gSPGeometryMode:
|
||||||
|
clear: [G_LIGHTING]
|
||||||
|
gDPSetCycleType: G_CYC_1CYCLE
|
||||||
|
|
||||||
|
awe_total:
|
||||||
|
gDPSetTile:
|
||||||
|
filename: ../../portal_pak_modified/materials/models/props_animsigns/awe_total.png
|
||||||
|
siz: G_IM_SIZ_4b
|
||||||
|
fmt: G_IM_FMT_I
|
||||||
|
|
||||||
|
gDPSetRenderMode: G_RM_ZB_OPA_DECAL
|
||||||
|
gSPGeometryMode:
|
||||||
|
clear: [G_LIGHTING]
|
||||||
|
set: [G_SHADE]
|
||||||
|
gDPSetCombineMode:
|
||||||
|
color: [SHADE, PRIMITIVE, TEXEL0, PRIMITIVE]
|
||||||
|
gDPSetPrimColor:
|
||||||
|
r: 242
|
||||||
|
g: 245
|
||||||
|
b: 247
|
||||||
|
gDPSetCycleType: G_CYC_1CYCLE
|
||||||
|
|
||||||
|
awe_total_copy_0:
|
||||||
|
gDPSetTile:
|
||||||
|
filename: ../../portal_pak_modified/materials/models/props_animsigns/awe_total_copy_0.png
|
||||||
|
siz: G_IM_SIZ_4b
|
||||||
|
fmt: G_IM_FMT_I
|
||||||
|
|
||||||
|
gDPSetRenderMode: G_RM_ZB_OPA_DECAL
|
||||||
|
gSPGeometryMode:
|
||||||
|
clear: [G_LIGHTING]
|
||||||
|
set: [G_SHADE]
|
||||||
|
gDPSetCombineMode:
|
||||||
|
color: [SHADE, PRIMITIVE, TEXEL0, PRIMITIVE]
|
||||||
|
gDPSetPrimColor:
|
||||||
|
r: 242
|
||||||
|
g: 245
|
||||||
|
b: 247
|
||||||
|
gDPSetCycleType: G_CYC_1CYCLE
|
||||||
|
|
||||||
|
awe_total_copy_1:
|
||||||
|
gDPSetTile:
|
||||||
|
filename: ../../portal_pak_modified/materials/models/props_animsigns/awe_total_copy_1.png
|
||||||
|
siz: G_IM_SIZ_4b
|
||||||
|
fmt: G_IM_FMT_I
|
||||||
|
|
||||||
|
gDPSetRenderMode: G_RM_ZB_OPA_DECAL
|
||||||
|
gSPGeometryMode:
|
||||||
|
clear: [G_LIGHTING]
|
||||||
|
set: [G_SHADE]
|
||||||
|
gDPSetCombineMode:
|
||||||
|
color: [SHADE, PRIMITIVE, TEXEL0, PRIMITIVE]
|
||||||
|
gDPSetPrimColor:
|
||||||
|
r: 242
|
||||||
|
g: 245
|
||||||
|
b: 247
|
||||||
|
gDPSetCycleType: G_CYC_1CYCLE
|
||||||
|
|
||||||
|
awe_total_copy_2:
|
||||||
|
gDPSetTile:
|
||||||
|
filename: ../../portal_pak_modified/materials/models/props_animsigns/awe_total_copy_2.png
|
||||||
|
siz: G_IM_SIZ_4b
|
||||||
|
fmt: G_IM_FMT_I
|
||||||
|
|
||||||
|
gDPSetRenderMode: G_RM_ZB_OPA_DECAL
|
||||||
|
gSPGeometryMode:
|
||||||
|
clear: [G_LIGHTING]
|
||||||
|
set: [G_SHADE]
|
||||||
|
gDPSetCombineMode:
|
||||||
|
color: [SHADE, PRIMITIVE, TEXEL0, PRIMITIVE]
|
||||||
|
gDPSetPrimColor:
|
||||||
|
r: 242
|
||||||
|
g: 245
|
||||||
|
b: 247
|
||||||
|
gDPSetCycleType: G_CYC_1CYCLE
|
||||||
|
|
||||||
|
vertex_color:
|
||||||
|
gDPSetCombineMode:
|
||||||
|
color: ["0", "0", "0", SHADE]
|
||||||
|
gDPSetCycleType: G_CYC_1CYCLE
|
||||||
|
gSPGeometryMode:
|
||||||
|
clear: [G_LIGHTING]
|
||||||
|
set: [G_SHADE]
|
BIN
assets/models/props/signage.blend
Normal file
BIN
assets/models/props/signage.blend
Normal file
Binary file not shown.
Binary file not shown.
|
@ -16,10 +16,14 @@ int sortOrderForMaterial(const Material& material) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (material.mState.cycle1RenderMode.data & FORCE_BL) {
|
if (material.mState.cycle1RenderMode.GetZMode() == ZMODE_DEC) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (material.mState.cycle1RenderMode.data & FORCE_BL) {
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,6 +44,8 @@ void MeshDefinitionGenerator::AppendRenderChunks(const aiScene* scene, aiNode* n
|
||||||
|
|
||||||
if (material != settings.mMaterials.end()) {
|
if (material != settings.mMaterials.end()) {
|
||||||
materialPtr = material->second.get();
|
materialPtr = material->second.get();
|
||||||
|
} else {
|
||||||
|
std::cout << "Could not find material with name " << materialName << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
double sTile;
|
double sTile;
|
||||||
|
|
|
@ -25,21 +25,23 @@ void StaticGenerator::GenerateDefinitions(const aiScene* scene, CFileDefinition&
|
||||||
for (auto node = mIncludedNodes.begin(); node != mIncludedNodes.end(); ++node) {
|
for (auto node = mIncludedNodes.begin(); node != mIncludedNodes.end(); ++node) {
|
||||||
std::vector<RenderChunk> renderChunks;
|
std::vector<RenderChunk> renderChunks;
|
||||||
MeshDefinitionGenerator::AppendRenderChunks(scene, *node, fileDefinition, mSettings, renderChunks);
|
MeshDefinitionGenerator::AppendRenderChunks(scene, *node, fileDefinition, mSettings, renderChunks);
|
||||||
|
|
||||||
if (renderChunks.size()) {
|
for (auto& chunk : renderChunks) {
|
||||||
StaticContentElement element;
|
StaticContentElement element;
|
||||||
|
|
||||||
if (renderChunks[0].mMaterial) {
|
if (chunk.mMaterial) {
|
||||||
settings.mDefaultMaterialState = renderChunks[0].mMaterial->mState;
|
settings.mDefaultMaterialState = chunk.mMaterial->mState;
|
||||||
element.materialName = MaterialGenerator::MaterialIndexMacroName(renderChunks[0].mMaterial->mName);
|
element.materialName = MaterialGenerator::MaterialIndexMacroName(chunk.mMaterial->mName);
|
||||||
} else {
|
} else {
|
||||||
element.materialName = "0";
|
element.materialName = "0";
|
||||||
}
|
}
|
||||||
element.meshName = generateMesh(scene, fileDefinition, renderChunks, settings, "_geo");
|
std::vector<RenderChunk> singleChunk;
|
||||||
|
singleChunk.push_back(chunk);
|
||||||
|
element.meshName = generateMesh(scene, fileDefinition, singleChunk, settings, "_geo");
|
||||||
|
|
||||||
elements.push_back(element);
|
elements.push_back(element);
|
||||||
|
|
||||||
mOutput.staticMeshes.push_back(renderChunks[0].mMesh);
|
mOutput.staticMeshes.push_back(chunk.mMesh);
|
||||||
mOutput.staticRooms.push_back(mRoomMapping.RoomForNode(*node));
|
mOutput.staticRooms.push_back(mRoomMapping.RoomForNode(*node));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
#define MAX_FRAME_BUFFER_MESGS 8
|
#define MAX_FRAME_BUFFER_MESGS 8
|
||||||
|
|
||||||
#define HIGH_RES 1
|
#define HIGH_RES 0
|
||||||
|
|
||||||
#define INIT_PRIORITY 10
|
#define INIT_PRIORITY 10
|
||||||
#define GAME_PRIORITY 10
|
#define GAME_PRIORITY 10
|
||||||
|
|
Loading…
Reference in a new issue