1 /*---------------------------------------------------------------------------* 2 Project: Revolution THP Utilities Library 3 File: thputilities.h 4 5 Copyright (C)2002-2006 Nintendo All Rights Reserved. 6 7 These coded instructions, statements, and computer programs contain 8 proprietary information of Nintendo of America Inc. and/or Nintendo 9 Company Ltd., and are protected by Federal copyright law. They may 10 not be disclosed to third parties or copied or duplicated in any form, 11 in whole or in part, without the prior written consent of Nintendo. 12 13 $Log: thputilities.h,v $ 14 Revision 1.1 02/08/2006 02:52:42 aka 15 Imported from Dolphin Tree. 16 17 18 11 03/12/24 1:48p Akagi 19 Added THPUtyCopyTHPFile(). 20 21 10 03/09/15 5:50p Akagi 22 Renamed all functions from THPCONVXXXX to THPUtyXXXX. 23 24 9 03/07/03 10:57a Akagi 25 Renamed some functions. 26 27 8 03/07/01 3:09p Akagi 28 Modified to divide old THPConv.exe into 2 LIBs and 1 EXE by 29 Ohki-san@NTSC. 30 31 7 03/07/01 2:59p Akagi 32 Moved from build/tools/THPConv/include. 33 34 6 03/07/01 9:19a Akagi 35 Moved from securebuild/tools. 36 37 5 02/05/08 2:30p Akagi 38 modified [-trk] option By Tsuji (IRD) 39 40 1 02/01/16 4:56p Akagi 41 Initial revision made by Tsuji-san (IRD). 42 43 $NoKeywords: $ 44 45 *---------------------------------------------------------------------------*/ 46 47 #ifndef __THPUTILITIES_H__ 48 #define __THPUTILITIES_H__ 49 50 #ifdef __cplusplus 51 extern "C" { 52 #endif 53 54 #include <revolution/types.h> 55 #include <revolution/thpfile.h> 56 #include <win32/thpaudio.h> 57 58 //-------------------------------------- 59 // flags for THPUtyCreateTHP 60 //-------------------------------------- 61 #define THP_CREATETHP_FILEFLAG_JPEGS 0 62 #define THP_CREATETHP_FILEFLAG_THP 1 63 64 //-------------------------------------- 65 // THPFileName 66 //-------------------------------------- 67 typedef struct 68 { 69 char name[_MAX_PATH]; 70 unsigned long fileSize; 71 72 } THPFileName; 73 74 //-------------------------------------- 75 // Utility Functions 76 //-------------------------------------- 77 78 void THPUtyConvertToUnixFmt( char* fmt ); 79 80 u16 THPUtyReverseEndianU16( u16 data ); 81 u32 THPUtyReverseEndianU32( u32 data ); 82 f32 THPUtyReverseEndianF32( f32 data ); 83 84 s32 THPUtyWritePad32 ( FILE* op, u32 bytes ); 85 s32 THPUtyPutU32 ( FILE* op, u32 data ); 86 s32 THPUtyPutF32 ( FILE* op, f32 data ); 87 88 //-------------------------------------- 89 // THP File Write Functions 90 //-------------------------------------- 91 92 void THPUtyHeaderInit( THPHeader* header ); 93 94 s32 THPUtyWriteTHPHeader ( FILE* op, THPHeader* header ); 95 s32 THPUtyWriteTHPFrameCompInfo ( FILE* op, THPFrameCompInfo* compinfo ); 96 s32 THPUtyWriteTHPVideoInfo ( FILE* op, THPVideoInfo* videoinfo ); 97 s32 THPUtyWriteTHPAudioInfo ( FILE* op, THPAudioInfo* audioinfo ); 98 s32 THPUtyWriteTHPFrameHeader ( FILE* op, THPFrameCompInfo* frameCompInfo, 99 THPFrameHeader* frameHeader ); 100 s32 THPUtyWriteTHPComponentsInfo( FILE* op, THPFrameCompInfo* compinfo, 101 THPVideoInfo* videoinfo, 102 THPAudioInfo* audioinfo, 103 s32* compinfosize ); 104 s32 THPUtyWriteTHPFileHeader ( FILE* op, THPFileHeader* fileHeader, 105 s32* compInfoSize ); 106 107 //-------------------------------------- 108 // THP File Read Functions 109 //-------------------------------------- 110 111 s32 THPUtyReadTHPHeader ( FILE* ip, THPHeader* header ); 112 s32 THPUtyReadTHPFrameCompInfo( FILE* ip, THPFrameCompInfo* compinfo ); 113 s32 THPUtyReadTHPVideoInfo ( FILE* ip, THPVideoInfo* videoinfo ); 114 s32 THPUtyReadTHPVideoInfoOld ( FILE* ip, THPVideoInfo* videoinfo ); 115 s32 THPUtyReadTHPAudioInfo ( FILE* ip, THPAudioInfo* audioinfo ); 116 s32 THPUtyReadTHPAudioInfoOld ( FILE* ip, THPAudioInfo* audioinfo ); 117 s32 THPUtyReadTHPFrameHeader ( FILE* ip, THPFrameHeader* frameHeader, 118 s32 componentNum ); 119 s32 THPUtyReadTHPFileHeader ( FILE* ip, THPFileHeader* fileHeader ); 120 121 //-------------------------------------- 122 // THP File Manipulating Functions 123 //-------------------------------------- 124 125 s32 THPUtyCopyTHPFile ( FILE* ip, THPFileHeader* fileHeader, 126 FILE* op ); 127 s32 THPUtyCreateTHP ( FILE* op, s32 fileFlag, 128 void* filePtr, 129 THPFileHeader* fileHeader, 130 THPAudioHandle** audioHandleList ); 131 s32 THPUtyChangeAudioTrack( FILE* iop, THPFileHeader* fileHeader, 132 THPAudioHandle** audioHandleList ); 133 134 #ifdef __cplusplus 135 } 136 #endif 137 138 #endif // __THPUTILITIES_H__ 139