mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	utils: cleaned up DumpTGA, removing redundancies
This commit is contained in:
		
							parent
							
								
									a130086587
								
							
						
					
					
						commit
						0167e9140e
					
				
					 2 changed files with 13 additions and 21 deletions
				
			
		|  | @ -8,6 +8,7 @@ | |||
| #include "video_core/utils.h" | ||||
| 
 | ||||
| namespace VideoCore { | ||||
| 
 | ||||
| /**
 | ||||
|  * Dumps a texture to TGA | ||||
|  * @param filename String filename to dump texture to | ||||
|  | @ -16,29 +17,20 @@ namespace VideoCore { | |||
|  * @param raw_data Raw RGBA8 texture data to dump | ||||
|  * @todo This should be moved to some general purpose/common code | ||||
|  */ | ||||
| void DumpTGA(std::string filename, int width, int height, u8* raw_data) { | ||||
|     TGAHeader hdr; | ||||
|     FILE* fout; | ||||
|     u8 r, g, b; | ||||
| void DumpTGA(std::string filename, short width, short height, u8* raw_data) { | ||||
|     TGAHeader hdr = {0, 0, 2, 0, 0, 0, 0, width, height, 24, 0}; | ||||
|     FILE* fout = fopen(filename.c_str(), "wb"); | ||||
|      | ||||
|     memset(&hdr, 0, sizeof(hdr)); | ||||
|     hdr.datatypecode = 2; // uncompressed RGB
 | ||||
|     hdr.bitsperpixel = 24; // 24 bpp
 | ||||
|     hdr.width = width; | ||||
|     hdr.height = height; | ||||
| 
 | ||||
|     fout = fopen(filename.c_str(), "wb"); | ||||
|     fwrite(&hdr, sizeof(TGAHeader), 1, fout); | ||||
|     for (int i = 0; i < height; i++) { | ||||
|         for (int j = 0; j < width; j++) { | ||||
|             b = raw_data[(3 * (i * width)) + (3 * j) + 0]; | ||||
|             g = raw_data[(3 * (i * width)) + (3 * j) + 1]; | ||||
|             r = raw_data[(3 * (i * width)) + (3 * j) + 2]; | ||||
|             putc(b, fout); | ||||
|             putc(g, fout); | ||||
|             putc(r, fout); | ||||
| 
 | ||||
|     for (int y = 0; y < height; y++) { | ||||
|         for (int x = 0; x < width; x++) { | ||||
|             putc(raw_data[(3 * (y * width)) + (3 * x) + 0], fout); // b
 | ||||
|             putc(raw_data[(3 * (y * width)) + (3 * x) + 1], fout); // g
 | ||||
|             putc(raw_data[(3 * (y * width)) + (3 * x) + 2], fout); // r
 | ||||
|         } | ||||
|     } | ||||
|      | ||||
|     fclose(fout); | ||||
| } | ||||
| } // namespace
 | ||||
|  |  | |||
|  | @ -59,6 +59,6 @@ struct TGAHeader { | |||
|  * @param raw_data Raw RGBA8 texture data to dump | ||||
|  * @todo This should be moved to some general purpose/common code | ||||
|  */ | ||||
| void DumpTGA(std::string filename, int width, int height, u8* raw_data); | ||||
| void DumpTGA(std::string filename, short width, short height, u8* raw_data); | ||||
| 
 | ||||
| } // namespace
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue