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)
|
||||
|
||||
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
|
||||
@mkdir -p $(@D)
|
||||
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]
|
||||
gDPSetCombineMode:
|
||||
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;
|
||||
}
|
||||
|
||||
if (material.mState.cycle1RenderMode.data & FORCE_BL) {
|
||||
if (material.mState.cycle1RenderMode.GetZMode() == ZMODE_DEC) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (material.mState.cycle1RenderMode.data & FORCE_BL) {
|
||||
return 2;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -44,6 +44,8 @@ void MeshDefinitionGenerator::AppendRenderChunks(const aiScene* scene, aiNode* n
|
|||
|
||||
if (material != settings.mMaterials.end()) {
|
||||
materialPtr = material->second.get();
|
||||
} else {
|
||||
std::cout << "Could not find material with name " << materialName << std::endl;
|
||||
}
|
||||
|
||||
double sTile;
|
||||
|
|
|
@ -26,20 +26,22 @@ void StaticGenerator::GenerateDefinitions(const aiScene* scene, CFileDefinition&
|
|||
std::vector<RenderChunk> renderChunks;
|
||||
MeshDefinitionGenerator::AppendRenderChunks(scene, *node, fileDefinition, mSettings, renderChunks);
|
||||
|
||||
if (renderChunks.size()) {
|
||||
for (auto& chunk : renderChunks) {
|
||||
StaticContentElement element;
|
||||
|
||||
if (renderChunks[0].mMaterial) {
|
||||
settings.mDefaultMaterialState = renderChunks[0].mMaterial->mState;
|
||||
element.materialName = MaterialGenerator::MaterialIndexMacroName(renderChunks[0].mMaterial->mName);
|
||||
if (chunk.mMaterial) {
|
||||
settings.mDefaultMaterialState = chunk.mMaterial->mState;
|
||||
element.materialName = MaterialGenerator::MaterialIndexMacroName(chunk.mMaterial->mName);
|
||||
} else {
|
||||
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);
|
||||
|
||||
mOutput.staticMeshes.push_back(renderChunks[0].mMesh);
|
||||
mOutput.staticMeshes.push_back(chunk.mMesh);
|
||||
mOutput.staticRooms.push_back(mRoomMapping.RoomForNode(*node));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
#define MAX_FRAME_BUFFER_MESGS 8
|
||||
|
||||
#define HIGH_RES 1
|
||||
#define HIGH_RES 0
|
||||
|
||||
#define INIT_PRIORITY 10
|
||||
#define GAME_PRIORITY 10
|
||||
|
|
Loading…
Reference in a new issue