void main( int argc, char* argv[] ) { char* dumpname; FILE* dumphandle; int dumps; int i; int entryoffs; char id[4]; ca_entry_t entry; unsigned char *buf; char *lmpname; FILE *lmphandle; dumpname = GetCmdOpt( "-d", argc, argv ); if( dumpname == NULL ) __error( "missing arg. no -d\n" ); lmpname = GetCmdOpt( "-e", argc, argv ); dumphandle = fopen( dumpname, "rb" ); __chkptr( dumphandle ); fread( id, 4, 1, dumphandle ); if( !memcmp( id, "CA ", 4 )) __warning( "wrong id in dump.\n" ); fread( &dumps, sizeof( int ), 1, dumphandle ); for( i = 0; i < dumps; i++ ) { fread( &entry, sizeof( ca_entry_t ), 1, dumphandle ); entryoffs = ftell( dumphandle ); printf( "chunk name:\t%s\n", entry.name ); printf( "chunk size:\t%d\n", entry.size ); printf( "chunk pointer:\t%p\n", entry.data ); printf( "data position in dump:\t%d\n\n", entryoffs ); if( lmpname ) if( !strcmp( lmpname, entry.name ) ) { printf( "extracting lump to lump\n" ); buf = ( unsigned char* )malloc( entry.size ); __chkptr( buf ); fread( buf, entry.size, 1, dumphandle ); lmphandle = fopen( "lump", "wb" ); fwrite( buf, entry.size, 1, lmphandle ); free( buf ); fclose( lmphandle ); } else { fseek( dumphandle, entry.size, SEEK_CUR ); } } fclose( dumphandle ); }
void main( int argc, char* argv[] ) { arr_t* inarr; arr_t* outarr; FILE* inhandle; FILE* outhandle; char* outname; char* data; char* ident; int firstarg; int i; int width, height, size; int steps; int flags; width = height = size = 0; outname = GetCmdOpt( "-o", argc, argv ); __chkptr( outname ); // printf( "creating animation %s\n", outname ); ident = GetCmdOpt( "-i", argc, argv ); firstarg = 3; if( ident != NULL ) firstarg+=2; steps = argc - firstarg; for( i = firstarg; i < argc; i++ ) { inhandle = fopen( argv[i], "rb" ); __chkptr( inhandle ); // printf( "%s\n", argv[i] ); inarr = ARR_Read( inhandle ); if( size == 0 ) { size = inarr -> bytes; width = inarr -> size_x; height = inarr -> size_y; flags = inarr->flags; data = ( char* )malloc( size * steps ); __chkptr( data ); } memcpy( data+size*(i-firstarg), inarr->data, size ); } outarr = ARR_Create( width, height, 4, steps, ident, flags ); memcpy( outarr->data, data, size * steps ); outhandle = fopen( outname, "wb" ); ARR_Write( outhandle, outarr ); }
int main( int argc, char* argv[] ) { struct hostent *hp; // server socket struct sockaddr_in sadd; int ssock; unsigned char sip[4]; // client socket struct sockaddr_in cadd; int csock; int l; int magic; char *sname; char *portname; int port; sname = GetCmdOpt( "-s", argc, argv ); if( !sname ) { printf( "missing opt -s ( servername )\n" ); exit( -1 ); } hp = gethostbyname( sname ); if( !hp ) { printf( "gethostbyname: failed ( name: %s )\n", sname ); error( -1 ); } }
int main( int argc, char* argv[] ) { char *tdbname, *rawname, *comment; int found; tdbentry_t* entries = NULL; CDB_StartUp( 0 ); tdbname = CDB_GetString( "tdb/tdb_name" ); if( tdbname == NULL ) __error( "cannot extract key \"tdb/tdb_name\" from cdb. please add.\n" ); rawname = GetCmdOpt( "-r", argc, argv ); if( rawname == NULL ) { PrintUsage(); __error( "missing argument -r\n" ); } comment = GetCmdOpt( "-c", argc, argv ); if( comment == NULL ) { PrintUsage(); __error( "missing argument -c\n" ); } TDB_Load( tdbname ); if( ( found = TDB_Query( NULL, rawname )) == 0 ) { __message( "%s not found\n", rawname ); exit( 0 ); } // printf( "found: %d\n", found ); if( strlen( comment ) >= 256 ) comment[255] = '\0'; TDB_GetPointer( &entries ); strcpy( entries[matches[0]].comment, comment ); TDB_Write( tdbname ); exit( 0 ); }
void main( int argc, char* argv[] ) { char* tdbname; char* arr; CDB_StartUp( 0 ); tdbname = CDB_GetString( "tdb/tdb_name" ); if( tdbname == NULL ) __error( "cannot find key tdb/tdb_name.\n" ); arr = GetCmdOpt( "-r", argc, argv ); if( arr == NULL ) __error( "no argument. usage: tdbremove -r rawname\n" ); TDB_Load( tdbname ); TDB_RemoveEntry( arr ); TDB_Write( tdbname ); }
void main( int argc, char* argv[] ) { u_int32_t i, i2, arrcount; int x, y, xs, ys, xh, yh; char dumpheaders = 0; char* tganame; char* arrname; char* palname; char* arrident; char* arrnext; char* arrmode; int reducemode; int mm; int ts, td; int pixels; int rsum, gsum, bsum; int x2, y2; int blur; FILE* tgahandle; FILE* arrhandle; FILE* palhandle; pal_t* pal = NULL; tga_t* tga[2]; arr_t* arr; rgb_t rgb; dumpheaders = CheckCmdSwitch( "-d", argc, argv ); palname = GetCmdOpt( "-p", argc, argv ); tganame = GetCmdOpt( "-t", argc, argv ); if( tganame == NULL ) { printf( "no tga given.\n" ); PrintUsage(); exit( 0 ); } if ( CheckCmdSwitch( "--rgb565", argc, argv ) ) { reducemode = ARR_F_RGB565; } else { reducemode = ARR_F_P8; } arrident = GetCmdOpt( "-i", argc, argv ); if( arrident == NULL ) __warning( "no arr ident given.\n" ); else if( strlen( arrident ) >= 32 ) arrident[31] = '\0'; printf( "tga: %s\n", tganame ); tgahandle = fopen( tganame, "rb" ); CHKPTR( tgahandle ); tga[0] = TGA_Read( tgahandle ); CHKPTR( tga[0] ); // TGA_Dump( tga[0] ); fclose( tgahandle ); if( dumpheaders ) TGA_Dump( tga[0] ); tga[1] = TGA_Create( tga[0]->image_width/*/2*/, tga[0]->image_height/*/2*/, TGA_TYPE_TRUECOLOR ); __chkptr( tga[1] ); arrname = GetCmdOpt( "-a", argc, argv ); if( arrname == NULL ) { printf( "no arr given.\n" ); PrintUsage(); exit( 0 ); } printf( "arr: %s\n", arrname ); switch( tga[0]->image_type ) { case TGA_TYPE_TRUECOLOR: printf( "tga is 24bit.\n" ); if( palname == NULL ) { CDB_StartUp( 0 ); palname = CDB_GetString( "misc/default_pal" ); if( palname == NULL ) { PrintUsage(); __error( "no pal found.\n" ); } } printf( "pal: %s\n", palname ); palhandle = fopen( palname, "rb" ); CHKPTR( palhandle ); pal = PAL_Read( palhandle ); CHKPTR( pal ); fclose( palhandle ); arr = ARR_Create( tga[0]->image_width, tga[0]->image_height, 4, 1, arrident, reducemode ); CHKPTR( arr ); printf( "reducing color. " ); xs = tga[0]->image_width; ys = tga[0]->image_height; arrcount = 0; for ( mm = 0; mm < 4; mm++ ) { ts = mm & 1; td = (mm+1) & 1; // printf("%d->%d\n",ts,td); // reduce // printf(" i: %d, x: %d, y: %d\n", mm, xs, ys ); pixels = xs * ys; for( i = 0; i < pixels; i++ ) { rgb.red = tga[ts]->image.red[i]; rgb.green = tga[ts]->image.green[i]; rgb.blue = tga[ts]->image.blue[i]; if ( reducemode == ARR_F_P8 ) arr->data[arrcount++] = PAL_ReduceColor( pal, &rgb ); else { *((unsigned short*)(&arr->data[arrcount])) = RGB888ToRGB565( &rgb ); arrcount+=2; } if( (i & 0xff) == 0 ) { printf( "." ); fflush( stdout ); } } if ( mm == 3 ) break; // mipmap xh = xs / 2; yh = ys / 2; if ( xh < 4 || yh < 4 ) blur = 0; else blur = 1; for ( y = 0; y < yh; y++ ) { for ( x = 0; x < xh; x++ ) { x2 = x*2; y2 = y*2; if ( blur ) { rsum = tga[ts]->image.red[ y2*xs + x2 ]; gsum = tga[ts]->image.green[ y2*xs + x2 ]; bsum = tga[ts]->image.blue[ y2*xs + x2 ]; rsum += tga[ts]->image.red[ y2*xs + (x2+1) ]; gsum += tga[ts]->image.green[ y2*xs + (x2+1) ]; bsum += tga[ts]->image.blue[ y2*xs + (x2+1) ]; rsum += tga[ts]->image.red[ (y2+1)*xs + x2 ]; gsum += tga[ts]->image.green[ (y2+1)*xs + x2 ]; bsum += tga[ts]->image.blue[ (y2+1)*xs + x2 ]; rsum += tga[ts]->image.red[ (y2+1)*xs + (x2+1) ]; gsum += tga[ts]->image.green[ (y2+1)*xs + (x2+1) ]; bsum += tga[ts]->image.blue[ (y2+1)*xs + (x2+1) ]; tga[td]->image.red[ y*xh + x ] = rsum / 4; tga[td]->image.green[ y*xh + x ] = gsum / 4; tga[td]->image.blue[ y*xh + x ] = bsum / 4; } else { rsum = tga[ts]->image.red[ y2*xs + x2 ]; gsum = tga[ts]->image.green[ y2*xs + x2 ]; bsum = tga[ts]->image.blue[ y2*xs + x2 ]; tga[td]->image.red[ y*xh + x ] = 255; //rsum; tga[td]->image.green[ y*xh + x ] = 0;//gsum; tga[td]->image.blue[ y*xh + x ] = 0; //bsum; } } } xs = xh; ys = yh; } printf( "\n" ); break; /* case TGA_TYPE_INDEXED: printf( "tga is indexed./n" ); arr = ARR_Create( tga->image_width, tga->image_height, 1, arr_ident, NULL ); CHKPTR( arr ); printf( "copying ...\n" ); memcpy( arr->data, tga->image_indexed.data, tga->image_indexed.bytes ); break; */ default: __error( "we need an uncompressed 24(/8)bit tga.\n" ); ARR_Free( arr ); break; } arrhandle = fopen( arrname, "wb" ); CHKPTR( arrhandle ); ARR_Write( arrhandle, arr ); fclose( arrhandle ); }
BOOL CGrannyViewerApp::InitInstance() { try { std::string config_file = "xml\\config.xml"; if(!nConfig::Init(config_file)) { MessageBox(NULL, config_file.c_str(), "Can't Open File", MB_OK|MB_ICONERROR); return FALSE; } } catch (...) { return FALSE; } InitCommonControls(); CWinApp::InitInstance(); // OLE 라이브러리를 초기화합니다. if (!AfxOleInit()) { AfxMessageBox(IDP_OLE_INIT_FAILED); return FALSE; } AfxEnableControlContainer(); SetRegistryKey(_T("Harkon")); LoadStdProfileSettings(4); CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CGrannyViewerDoc), RUNTIME_CLASS(CMainFrame), RUNTIME_CLASS(CGrannyViewerView)); if (!pDocTemplate) return FALSE; AddDocTemplate(pDocTemplate); ReadConfig(); std::string granny_file = nConfig::aos ? "xml/granny_aos.xml" : "xml/granny.xml"; CStringArray arOpt; GetCmdOpt(m_lpCmdLine, arOpt); for (int i = 0; i < arOpt.GetSize(); i++) { //if (arOpt[i] == "-id" && (i+1) < arOpt.GetSize()) if (arOpt[i] == "-imm") nConfig::useVertexArray = false; else granny_file = arOpt[i]; } if (!OpenDocumentFile(granny_file.c_str())) return FALSE; // m_iModelID = -1; m_pMainWnd->ShowWindow(SW_SHOW); m_pMainWnd->UpdateWindow(); GfxLog("OpenGL Render Mode : %s\n", nConfig::useVertexArray ? "vertex array" : "immediate"); #if 0 cGrannyFile f; if (!f.import("data/aa.smd")) return FALSE; #endif return TRUE; }
void main( int argc, char* argv[] ) { int i, i2, offset; int firstarg; char* outpath; char arrname[256]; char walname[256]; char tmpname[256]; char* tmpptr; char arrident[32]; unsigned char* data; arr_t* arr; wal_header_t walheader; FILE* arrhandle; FILE* walhandle; outpath = GetCmdOpt( "-o", argc, argv ); if( outpath == NULL ) { firstarg = 1; } else { firstarg = 3; } for( i = firstarg; i < argc; i++ ) { strcpy( walname, argv[i] ); if( strrchr( walname, '.' ) == 0 ) { continue; } tmpptr = strrchr( argv[i], '.' ); *tmpptr = '\0'; sprintf( arrname, "%s.arr", argv[i] ); if( outpath != NULL ) { strcpy( tmpname, arrname ); sprintf( arrname, "%s/%s", outpath, tmpname ); } printf( "converting %s\tto %s\n", walname, arrname ); walhandle = fopen( walname, "rb" ); __chkptr( walhandle ); fread( &walheader, sizeof( wal_header_t ), 1, walhandle ); strcpy( arrident, walheader.name_junk ); arr = ARR_Create( walheader.size_x, walheader.size_y, 4, 1, arrident ); arrhandle = fopen( arrname, "wb" ); //strcpy( tmpname, arrname ); tmpptr = arrname; if( arrhandle == NULL ) { for(;;) { tmpptr = strchr( tmpptr, '/' ); if( tmpptr != NULL ) { *tmpptr = '\0'; mkdir( arrname, 511 ); printf(" mkdir : %s\n", arrname ); *tmpptr = '/'; tmpptr++; } else { arrhandle = fopen( arrname, "wb" ); break; } } } __chkptr( arrhandle ); data = ( unsigned char* ) malloc( walheader.size_x * walheader.size_y ); __chkptr( data ); offset = 0; for( i2 = 0; i2 < 4; i2++ ) { //printf( "offset: %d\n", offset ); fread( data, walheader.size_x * walheader.size_y, 1, walhandle ); memcpy( arr->data+offset, data, walheader.size_x * walheader.size_y ); offset+=walheader.size_x * walheader.size_y; walheader.size_x/=2; walheader.size_y/=2; } ARR_Write( arrhandle, arr ); ARR_Free( arr ); free( ( void* )data ); fclose( walhandle ); fclose( arrhandle ); } }
void main( int argc, char* argv[] ) { char* pal_name; char* file_name; char* file_suf; int file_type = TYPE_UNKNOWN; int i, i2; int start_x; int data_start; vid_device_t* vid_dev; char* data; arr_t* arr; char* wal_data[4]; wal_header_t wal_header; FILE* pal_handle; FILE* in_handle; /* Signal handler setzen */ signal( SIGSEGV, (void(*) ()) SecureShutDown ); signal( SIGABRT, (void(*) ()) SecureShutDown ); signal( SIGTERM, (void(*) ()) SecureShutDown ); signal( SIGQUIT, (void(*) ()) SecureShutDown ); signal( SIGINT, (void(*) ()) SecureShutDown ); SOS_SetShockHandler( MyShockHandler ); file_name = GetCmdOpt( "-f", argc, argv ); if( file_name == NULL ) { __message( "no filename given.\n" ); PrintUsage(); exit( 0 ); } file_suf = strrchr( file_name, '.' ); if( ( file_suf == NULL ) && ( !CheckCmdSwitch( "-t", argc, argv) )) { printf( "filename doesn't seem to have a sufix.\n" ); PrintUsage(); exit( 0 ); } file_suf++; if( CheckCmdSwitch( "-t", argc, argv ) ) { file_suf = GetCmdOpt( "-t", argc, argv ); } printf( "suf: %s\n", file_suf ); if( ! (memcmp( file_suf, "arr", 3 ))) { file_type = TYPE_ARR; } else if( ! (memcmp( file_suf, "wal", 3 ))) { file_type = TYPE_WAL; } printf( "type: %d\n", file_type ); CDB_StartUp( 0 ); UI_StartUp( "ui_x11.so" ); vid_dev = VID_StartUp(); VID_SetModeByName( 640, 480, 8 ); KEYB_StartUp(); pal_name = GetCmdOpt( "-p", argc, argv ); if( pal_name == NULL ) { pal_name = CDB_GetString( "misc/default_pal" ); if( pal_name == NULL ) { __error( "couldn't find any palname.\n" ); } } printf( "\t\tpal: %s\n", pal_name ); pal_handle = fopen( pal_name, "rb" ); VID_LoadPal( pal_handle ); fclose( pal_handle ); data = ( char* )VID_GetVirtualPage() -> data; in_handle = fopen( file_name, "rb" ); if( in_handle == NULL ) __error( "file not found.\n" ); if( file_type == TYPE_ARR ) { arr = ARR_Read( in_handle ); ARR_Dump( arr ); if( CheckCmdSwitch( "-d", argc, argv )) { ARR_Dump( arr ); } start_x = 0; data_start = 0; for( i = 0; i < arr->mipmap_num; i++ ) { // printf(" i: %d, x: %d, y %d\n", i, arr->size_x, arr->size_y ); for( i2 = 0; i2 < arr->size_y; i2++ ) { memcpy( &data[i2*640+start_x], &arr->data[i2*arr->size_x+data_start], arr->size_x); } // printf("\n"); start_x+=arr->size_x+1; data_start += arr->size_x * arr->size_y; arr->size_x/=2; arr->size_y/=2; } } if( file_type == TYPE_WAL ) // warning: quick and dirty code! todo: make it better. { fread( &wal_header, sizeof( wal_header_t ), 1, in_handle ); //wal_tmp = wal_header->size_x*wal_header->size_y; //wal_data_size = wal_tmp + wal_tmp/4 + wal_tmp/8 + wal_tmp/16; start_x = 0; for( i = 0; i < 4; i++ ) { wal_data[i] = ( char* )malloc( wal_header.size_x * wal_header.size_y ); fread( wal_data[i], wal_header.size_x * wal_header.size_y, 1, in_handle ); for( i2 = 0; i2 < wal_header.size_y; i2++ ) { memcpy( &data[i2*640+start_x], &wal_data[i][i2*wal_header.size_x], wal_header.size_x ); } start_x += wal_header.size_x+1; wal_header.size_x/=2; wal_header.size_y/=2; } } if( file_type == TYPE_UNKNOWN ) { data[6500] = 127; } VID_Refresh(); for(;;) { usleep( 100000 ); KEYB_Update(); if( KEYB_KeyPressed( KEYID_ENTER )) break; } KEYB_ShutDown(); VID_ShutDown(); UI_ShutDown(); }
int main( int argc, char* argv[] ) { char *ptr; int del; sname = GetCmdOpt( "-s", argc, argv ); if( !sname ) { printf( "missing opt -s ( servername )\n" ); exit( -1 ); } hp = gethostbyname( sname ); if( !hp->h_addr ) { printf( "gethostbyname: failed ( name: %s )\n", sname ); exit( -1 ); } memcpy( sip, hp->h_addr, 4 ); printf( "server ip:\t%i.%i.%i.%i\n",( unsigned char ) sip[0],( unsigned char ) sip[1],( unsigned char ) sip[2], ( unsigned char ) sip[3]); gethostname( hostname, sizeof( hostname ) ); hp = gethostbyname( hostname ); if( !hp->h_addr ) { printf( "gethostbyname: failed ( name: %s )\n", hostname ); exit( -1 ); } memcpy( mip, hp->h_addr, 4 ); printf( "client ip:\t%i.%i.%i.%i\n",( unsigned char ) mip[0],( unsigned char ) mip[1],( unsigned char ) mip[2], ( unsigned char ) mip[3]); sport = 26002; portname = GetCmdOpt( "-p", argc, argv ); if( portname ) { sport = atoi( portname ); } printf( "server port:\t%d\n", sport ); ssock = socket( AF_INET, SOCK_STREAM, 0 ); memcpy( ( char* )&sadd.sin_addr, ( char* )sip, 4 ); sadd.sin_family = AF_INET; sadd.sin_port = htons(sport); del = 60000000; // detting delay to 60 s ptr = GetCmdOpt( "-d", argc, argv ); if( ptr ) del = atoi( ptr )*1000000; printf( "delay:\t%d\n", del ); for( ;; ) { Request(); usleep( del ); } }