mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +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" | #include "video_core/utils.h" | ||||||
| 
 | 
 | ||||||
| namespace VideoCore { | namespace VideoCore { | ||||||
|  | 
 | ||||||
| /**
 | /**
 | ||||||
|  * Dumps a texture to TGA |  * Dumps a texture to TGA | ||||||
|  * @param filename String filename to dump texture to |  * @param filename String filename to dump texture to | ||||||
|  | @ -16,29 +17,20 @@ namespace VideoCore { | ||||||
|  * @param raw_data Raw RGBA8 texture data to dump |  * @param raw_data Raw RGBA8 texture data to dump | ||||||
|  * @todo This should be moved to some general purpose/common code |  * @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) { | ||||||
|     TGAHeader hdr; |     TGAHeader hdr = {0, 0, 2, 0, 0, 0, 0, width, height, 24, 0}; | ||||||
|     FILE* fout; |     FILE* fout = fopen(filename.c_str(), "wb"); | ||||||
|     u8 r, g, b; |      | ||||||
| 
 |  | ||||||
|     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); |     fwrite(&hdr, sizeof(TGAHeader), 1, fout); | ||||||
|     for (int i = 0; i < height; i++) { | 
 | ||||||
|         for (int j = 0; j < width; j++) { |     for (int y = 0; y < height; y++) { | ||||||
|             b = raw_data[(3 * (i * width)) + (3 * j) + 0]; |         for (int x = 0; x < width; x++) { | ||||||
|             g = raw_data[(3 * (i * width)) + (3 * j) + 1]; |             putc(raw_data[(3 * (y * width)) + (3 * x) + 0], fout); // b
 | ||||||
|             r = raw_data[(3 * (i * width)) + (3 * j) + 2]; |             putc(raw_data[(3 * (y * width)) + (3 * x) + 1], fout); // g
 | ||||||
|             putc(b, fout); |             putc(raw_data[(3 * (y * width)) + (3 * x) + 2], fout); // r
 | ||||||
|             putc(g, fout); |  | ||||||
|             putc(r, fout); |  | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |      | ||||||
|     fclose(fout); |     fclose(fout); | ||||||
| } | } | ||||||
| } // namespace
 | } // namespace
 | ||||||
|  |  | ||||||
|  | @ -59,6 +59,6 @@ struct TGAHeader { | ||||||
|  * @param raw_data Raw RGBA8 texture data to dump |  * @param raw_data Raw RGBA8 texture data to dump | ||||||
|  * @todo This should be moved to some general purpose/common code |  * @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
 | } // namespace
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue