diff options
| -rw-r--r-- | src/koopatlas/map.cpp | 25 | 
1 files changed, 18 insertions, 7 deletions
diff --git a/src/koopatlas/map.cpp b/src/koopatlas/map.cpp index fa5c120..f4b953c 100644 --- a/src/koopatlas/map.cpp +++ b/src/koopatlas/map.cpp @@ -142,9 +142,11 @@ void dWMMap_c::renderer_c::beginRendering() {  	GXSetVtxDesc(GX_VA_POS, GX_DIRECT);  	GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); +	// Tiles  	GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_S16, 0); -	GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_U8, 8); +	GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); +	// Doodads  	GXSetVtxAttrFmt(GX_VTXFMT1, GX_VA_POS, GX_POS_XY, GX_F32, 0);  	GXSetVtxAttrFmt(GX_VTXFMT1, GX_VA_TEX0, GX_TEX_ST, GX_U8, 8); @@ -249,19 +251,28 @@ void dWMMap_c::renderer_c::renderTileLayer(dKPLayer_s *layer, dKPLayer_s::sector  					s16 worldX = (worldSectorX | inX) * 24;  					s16 worldY = -((worldSectorY | inY) * 24); -					u8 tileX = (tileID & 0x1F) * 8; -					u8 tileY = ((tileID & 0x1E0) / 32) * 16;  					TileReport("Drawing tile %d at %d,%d\n", tileID, worldX, worldY); +					 +					float tileX = (float)((tileID & 0x1F) * 28); +					float tileY = (float)(((tileID & 0x1E0) >> 5) * 28); + +					float xMult = (1.0f / 896.0f); +					float yMult = (1.0f / 448.0f); + +					float coordX1 = xMult * (tileX + 2.0f); +					float coordX2 = xMult * (tileX + 26.0f); +					float coordY1 = yMult * (tileY + 2.0f); +					float coordY2 = yMult * (tileY + 26.0f);  					GXBegin(GX_QUADS, GX_VTXFMT0, 4);  					GXPosition2s16(worldX + 24, worldY - 24); -					GXTexCoord2u8(tileX + 7, tileY + 14); +					GXTexCoord2f32(coordX2, coordY2);  					GXPosition2s16(worldX + 24, worldY); -					GXTexCoord2u8(tileX + 7, tileY + 2); +					GXTexCoord2f32(coordX2, coordY1);  					GXPosition2s16(worldX, worldY); -					GXTexCoord2u8(tileX + 1, tileY + 2); +					GXTexCoord2f32(coordX1, coordY1);  					GXPosition2s16(worldX, worldY - 24); -					GXTexCoord2u8(tileX + 1, tileY + 14);//*/ +					GXTexCoord2f32(coordX1, coordY2);  					GXEnd();  				}  			}  | 
