mirror of
https://github.com/FWGS/xash3d-fwgs.git
synced 2026-08-05 03:24:56 +08:00
utils: mdldec: use separate options for sequences and textures.
This commit is contained in:
committed by
Alibek Omarov
parent
9054b11ebd
commit
54657c149b
@@ -526,30 +526,32 @@ ShowHelp
|
|||||||
*/
|
*/
|
||||||
static void ShowHelp( const char *app_name )
|
static void ShowHelp( const char *app_name )
|
||||||
{
|
{
|
||||||
LogPrintf( "usage: %s [-dhlmuVv] <source_file>", app_name );
|
LogPrintf( "usage: %s [-ahlmtuVv] <source_file>", app_name );
|
||||||
LogPrintf( " %s [-dhlmuVv] <source_file> <target_directory>", app_name );
|
LogPrintf( " %s [-ahlmtuVv] <source_file> <target_directory>", app_name );
|
||||||
LogPutS( "\nnote:");
|
LogPutS( "\nnote:" );
|
||||||
LogPutS( "\tby default this decompiler aimed to support extended MDL10 format from XashXT/PrimeXT/Paranoia2.");
|
LogPutS( "\tby default this decompiler aimed to support extended MDL10 format from XashXT/PrimeXT/Paranoia2." );
|
||||||
LogPutS( "\tif you use an old GoldSource studio model compiler you may be need to edit .qc-file after decompilation.");
|
LogPutS( "\tif you use an old GoldSource studio model compiler you may be need to edit .qc-file after decompilation." );
|
||||||
LogPutS( "\noptions:");
|
LogPutS( "\noptions:" );
|
||||||
LogPutS( "\t-d\tplace smd and texture files to separate directories." );
|
LogPutS( "\t-a\tplace files with animations to separate directory." );
|
||||||
|
LogPutS( "\t-l\tdo not output logs." );
|
||||||
LogPutS( "\t-m\tuse only GoldSource-compatible motion types and ignore deprecated motion types with \"A\" prefix." );
|
LogPutS( "\t-m\tuse only GoldSource-compatible motion types and ignore deprecated motion types with \"A\" prefix." );
|
||||||
LogPutS( "\t-u\tenable UV coords shifting for DoomMusic's and Sven-Coop's studio model compilers.");
|
LogPutS( "\t-t\tplace texture files to separate directory." );
|
||||||
LogPutS( "\t-V\tignore some validation checks for broken models.");
|
LogPutS( "\t-u\tenable UV coords shifting for DoomMusic's and Sven-Coop's studio model compilers." );
|
||||||
LogPutS( "\t-l\tdo not output logs.");
|
LogPutS( "\t-V\tignore some validation checks for broken models." );
|
||||||
LogPutS( "\t-v\tshow version.");
|
LogPutS( "\t-v\tshow version." );
|
||||||
LogPutS( "\t-h\tthis message.");
|
LogPutS( "\t-h\tthis message." );
|
||||||
}
|
}
|
||||||
|
|
||||||
int main( int argc, char *argv[] )
|
int main( int argc, char *argv[] )
|
||||||
{
|
{
|
||||||
int opt, ret = 0 ;
|
int opt, ret = 0 ;
|
||||||
|
|
||||||
while( ( opt = getopt( argc, argv, "dhlmuVv" )) != -1 )
|
while( ( opt = getopt( argc, argv, "ahlmtuVv" )) != -1 )
|
||||||
{
|
{
|
||||||
switch( opt )
|
switch( opt )
|
||||||
{
|
{
|
||||||
case 'd': globalsettings |= SETTINGS_SEPARATERESOURCES; break;
|
case 'a': globalsettings |= SETTINGS_SEPARATEANIMSFOLDER; break;
|
||||||
|
case 't': globalsettings |= SETTINGS_SEPARATETEXTURESFOLDER; break;
|
||||||
case 'l': globalsettings |= SETTINGS_NOLOGS; break;
|
case 'l': globalsettings |= SETTINGS_NOLOGS; break;
|
||||||
case 'm': globalsettings |= SETTINGS_LEGACYMOTION; break;
|
case 'm': globalsettings |= SETTINGS_LEGACYMOTION; break;
|
||||||
case 'u': globalsettings |= SETTINGS_UVSHIFTING; break;
|
case 'u': globalsettings |= SETTINGS_UVSHIFTING; break;
|
||||||
|
|||||||
@@ -481,7 +481,7 @@ static void WriteSequenceInfo( FILE *fp )
|
|||||||
|
|
||||||
seqdesc = (mstudioseqdesc_t *)( (byte *)model_hdr + model_hdr->seqindex );
|
seqdesc = (mstudioseqdesc_t *)( (byte *)model_hdr + model_hdr->seqindex );
|
||||||
|
|
||||||
seq_path = ( globalsettings & SETTINGS_SEPARATERESOURCES ) ? DEFAULT_SEQUENCEPATH : "";
|
seq_path = ( globalsettings & SETTINGS_SEPARATEANIMSFOLDER ) ? SEQUENCEPATH : "";
|
||||||
|
|
||||||
for( i = 0; i < model_hdr->numseq; ++i, ++seqdesc )
|
for( i = 0; i < model_hdr->numseq; ++i, ++seqdesc )
|
||||||
{
|
{
|
||||||
@@ -607,8 +607,8 @@ void WriteQCScript( void )
|
|||||||
fprintf( fp, "$modelname \"%s.mdl\"\n", modelfile );
|
fprintf( fp, "$modelname \"%s.mdl\"\n", modelfile );
|
||||||
|
|
||||||
fputs( "$cd \".\"\n", fp );
|
fputs( "$cd \".\"\n", fp );
|
||||||
if( globalsettings & SETTINGS_SEPARATERESOURCES )
|
if( globalsettings & SETTINGS_SEPARATETEXTURESFOLDER )
|
||||||
fputs( "$cdtexture \"./" DEFAULT_TEXTUREPATH "\"\n", fp );
|
fputs( "$cdtexture \"./" TEXTUREPATH "\"\n", fp );
|
||||||
else fputs( "$cdtexture \"./\"\n", fp );
|
else fputs( "$cdtexture \"./\"\n", fp );
|
||||||
fputs( "$cliptotextures\n", fp );
|
fputs( "$cliptotextures\n", fp );
|
||||||
fputs( "$scale 1.0\n", fp );
|
fputs( "$scale 1.0\n", fp );
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ enum
|
|||||||
SETTINGS_UVSHIFTING = BIT(1),
|
SETTINGS_UVSHIFTING = BIT(1),
|
||||||
SETTINGS_NOLOGS = BIT(2),
|
SETTINGS_NOLOGS = BIT(2),
|
||||||
SETTINGS_NOVALIDATION = BIT(3),
|
SETTINGS_NOVALIDATION = BIT(3),
|
||||||
SETTINGS_SEPARATERESOURCES = BIT(4),
|
SETTINGS_SEPARATEANIMSFOLDER = BIT(4),
|
||||||
|
SETTINGS_SEPARATETEXTURESFOLDER = BIT(5),
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // SETTINGS_H
|
#endif // SETTINGS_H
|
||||||
|
|||||||
@@ -591,7 +591,7 @@ static void WriteSequences( void )
|
|||||||
char path[MAX_SYSPATH];
|
char path[MAX_SYSPATH];
|
||||||
mstudioseqdesc_t *seqdesc = (mstudioseqdesc_t *)( (byte *)model_hdr + model_hdr->seqindex );
|
mstudioseqdesc_t *seqdesc = (mstudioseqdesc_t *)( (byte *)model_hdr + model_hdr->seqindex );
|
||||||
|
|
||||||
len = Q_snprintf( path, MAX_SYSPATH, ( globalsettings & SETTINGS_SEPARATERESOURCES ) ? "%s" DEFAULT_SEQUENCEPATH : "%s", destdir );
|
len = Q_snprintf( path, MAX_SYSPATH, ( globalsettings & SETTINGS_SEPARATEANIMSFOLDER ) ? "%s" SEQUENCEPATH : "%s", destdir );
|
||||||
|
|
||||||
if( len == -1 || !MakeDirectory( path ))
|
if( len == -1 || !MakeDirectory( path ))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ GNU General Public License for more details.
|
|||||||
#ifndef SMD_H
|
#ifndef SMD_H
|
||||||
#define SMD_H
|
#define SMD_H
|
||||||
|
|
||||||
#define DEFAULT_SEQUENCEPATH "anims/"
|
#define SEQUENCEPATH "anims/"
|
||||||
|
|
||||||
void WriteSMD( void );
|
void WriteSMD( void );
|
||||||
|
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ void WriteTextures( void )
|
|||||||
mstudiotexture_t *texture = (mstudiotexture_t *)( (byte *)texture_hdr + texture_hdr->textureindex );
|
mstudiotexture_t *texture = (mstudiotexture_t *)( (byte *)texture_hdr + texture_hdr->textureindex );
|
||||||
char path[MAX_SYSPATH];
|
char path[MAX_SYSPATH];
|
||||||
|
|
||||||
len = Q_snprintf( path, MAX_SYSPATH, ( globalsettings & SETTINGS_SEPARATERESOURCES ) ? "%s" DEFAULT_TEXTUREPATH : "%s", destdir );
|
len = Q_snprintf( path, MAX_SYSPATH, ( globalsettings & SETTINGS_SEPARATETEXTURESFOLDER ) ? "%s" TEXTUREPATH : "%s", destdir );
|
||||||
|
|
||||||
if( len == -1 || !MakeDirectory( path ))
|
if( len == -1 || !MakeDirectory( path ))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ GNU General Public License for more details.
|
|||||||
#ifndef TEXTURE_H
|
#ifndef TEXTURE_H
|
||||||
#define TEXTURE_H
|
#define TEXTURE_H
|
||||||
|
|
||||||
#define DEFAULT_TEXTUREPATH "textures/"
|
#define TEXTUREPATH "textures/"
|
||||||
|
|
||||||
void WriteTextures( void );
|
void WriteTextures( void );
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user