Forest Fidelity: Fixed tree log rendering and added HQ leaves - v2.1.8

This commit is contained in:
Michael Howard 2026-04-24 15:38:45 -05:00
parent 236f66aa2a
commit 63c496d237
13 changed files with 18 additions and 15 deletions

View File

@ -71,11 +71,11 @@ make -j$(nproc)
## 📜 Version History ## 📜 Version History
### v2.1.7 - Log Realism (Latest) ### v2.1.8 - Forest Fidelity (Latest)
- **Visual Overhaul**: Added authentic Oak Log textures with separate bark and rings. - **High-Detail Leaves**: Integrated a new high-definition leaves texture with improved alpha transparency.
- **Multi-Texture Rendering**: Implemented specialized draw calls for complex cube mapping. - **Tree Log Fix**: Corrected the rendering pipeline to ensure trees use the multi-texture Oak Log mapping.
### v2.1.6 - Inventory Insight ### v2.1.7 - Log Realism
- **Item Tooltips**: Added mouse-over identification for all inventory items. - **Item Tooltips**: Added mouse-over identification for all inventory items.
- **UI Polish**: Dynamic tooltip positioning and screen-edge detection. - **UI Polish**: Dynamic tooltip positioning and screen-edge detection.

BIN
assets/leaves.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 513 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 513 B

View File

@ -1 +1 @@
v2.1.7 v2.1.8

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 513 B

View File

@ -1 +1 @@
v2.1.7 v2.1.8

View File

@ -824,7 +824,7 @@ int main(void)
// By default, windows have minimize, maximize, and close buttons on the top bar. // By default, windows have minimize, maximize, and close buttons on the top bar.
SetConfigFlags(FLAG_WINDOW_RESIZABLE | FLAG_VSYNC_HINT); SetConfigFlags(FLAG_WINDOW_RESIZABLE | FLAG_VSYNC_HINT);
InitWindow(screenWidth, screenHeight, "MorriCraft v2.1.7"); InitWindow(screenWidth, screenHeight, "MorriCraft v2.1.8");
LoadConfig(); LoadConfig();
SetExitKey(KEY_NULL); // Prevent ESC from closing the window SetExitKey(KEY_NULL); // Prevent ESC from closing the window
@ -944,8 +944,8 @@ int main(void)
blockTextures[DIRT] = LoadTexture("assets/dirt.png"); blockTextures[DIRT] = LoadTexture("assets/dirt.png");
blockTextures[GRASS] = LoadTexture("assets/grass.png"); blockTextures[GRASS] = LoadTexture("assets/grass.png");
blockTextures[COBBLESTONE] = LoadTexture("assets/cobblestone.png"); blockTextures[COBBLESTONE] = LoadTexture("assets/cobblestone.png");
blockTextures[LOG] = LoadTexture("assets/plank.png"); // Fallback for missing log.png blockTextures[LOG] = LoadTexture("assets/oak_log_side.png");
blockTextures[LEAVES] = blockTextures[GRASS]; // Leaves share grass texture (tinted in render loop) blockTextures[LEAVES] = LoadTexture("assets/leaves.png");
blockTextures[PLANK] = LoadTexture("assets/plank.png"); blockTextures[PLANK] = LoadTexture("assets/plank.png");
blockTextures[SAND] = LoadTexture("assets/sand.png"); blockTextures[SAND] = LoadTexture("assets/sand.png");
blockTextures[STONE] = LoadTexture("assets/stone.png"); blockTextures[STONE] = LoadTexture("assets/stone.png");
@ -1999,8 +1999,8 @@ int main(void)
DrawTexturePro(titleTexture, sourceRec, destRec, origin, 0.0f, WHITE); DrawTexturePro(titleTexture, sourceRec, destRec, origin, 0.0f, WHITE);
EndMode2D(); EndMode2D();
// Show Version Number (v2.1.7) in Red // Show Version Number (v2.1.8) in Red
DrawTextEx(customFont, "v2.1.7", (Vector2){ (float)currentWidth - 140, (float)currentHeight - 40 }, 22, 1.0f, RED); DrawTextEx(customFont, "v2.1.8", (Vector2){ (float)currentWidth - 140, (float)currentHeight - 40 }, 22, 1.0f, RED);
// --- PLAYER NAME POPUP (IF MISSING) --- // --- PLAYER NAME POPUP (IF MISSING) ---
if (playerName == "") { if (playerName == "") {
@ -2609,14 +2609,17 @@ int main(void)
DrawGrassBlock(pos, blockTextures[GRASS].id, grassTopTexture.id, blockTextures[DIRT].id, blockTint); DrawGrassBlock(pos, blockTextures[GRASS].id, grassTopTexture.id, blockTextures[DIRT].id, blockTint);
} }
} }
} else if (renderType == LOG) {
for (Chunk* chunk : visibleChunks) {
for (auto& pos : chunk->renderLists[LOG]) {
DrawLog(pos, logSideTexture.id, logTopTexture.id, blockTint);
}
}
} else if (renderType == CRAFTING_TABLE) { } else if (renderType == CRAFTING_TABLE) {
for (Chunk* chunk : visibleChunks) { for (Chunk* chunk : visibleChunks) {
for (auto& pos : chunk->renderLists[CRAFTING_TABLE]) { for (auto& pos : chunk->renderLists[CRAFTING_TABLE]) {
DrawCraftingTable(pos, craftingSideTexture.id, craftingTopTexture.id, blockTextures[DIRT].id, blockTint); DrawCraftingTable(pos, craftingSideTexture.id, craftingTopTexture.id, blockTextures[DIRT].id, blockTint);
} }
for (auto& pos : chunk->renderLists[LOG]) {
DrawLog(pos, logSideTexture.id, logTopTexture.id, blockTint);
}
} }
} else { } else {
rlSetTexture(blockTextures[renderType].id); rlSetTexture(blockTextures[renderType].id);

View File

@ -1 +1 @@
v2.1.7 v2.1.8