📄 tool.cpp
字号:
SM_ReadInt (SysInfo.enterproxy );
fscanf( fp, "%s\n", MapName );
fscanf( fp, "%s\n", SysInfo.ip );
fscanf( fp, "%s\n", SysInfo. agentip );
fscanf( fp, "%s\n", SysInfo. proxyip );
SM_ReadInt (SysInfo.keyr );
SM_ReadInt (SysInfo.keyp );
SM_ReadInt (SysInfo.mapx );
SM_ReadInt (SysInfo.mapy );
SM_ReadInt (SysInfo.makesou2size );
fclose (fp);
}
else
{
#endif
//SysInfo.dx = 0; // 1捞搁 傈眉葛靛, 0 : 芒葛靛 // switch screen
SysInfo.notdead = 0; // 0 : normal 1 : 林牢傍篮 公利
SysInfo.music = 1; // 1捞搁 澜厩阑 脑
SysInfo.effect = 1; // 1捞搁 瓤苞阑 脑
SysInfo.cddata = 0; // 0 : read from CD 1 : From hard
SysInfo.onekill = 0; // 0 : normal 1 : onekill.
SysInfo.gamemakemode= 0; // 0 : no debug info. 1 : show debug info.
SysInfo.notconectserver = 0; // 0 : conect server 1 : not conect
SysInfo.enable_menu = 0; // 0 : conect server 1 : not conect
SysInfo.gamemakemode = 0; // 0 : conect server 1 : not conect
SysInfo.loaditemfromtoi2 = 0;
#ifdef _DEBUG
}
#endif
}
void WriteInitialData (void)
{
FILE *fp = Fopen ( DEVELOPEMENT_ENVIR_FILENAME, "wt");
if( fp )
{
SM_WriteInt (SysInfo.dx);
SM_WriteInt (SysInfo.notdead );
SM_WriteInt (SysInfo.music);
SM_WriteInt (SysInfo.effect);
SM_WriteInt (SysInfo.cddata);
SM_WriteInt (SysInfo.onekill );
SM_WriteInt (SysInfo.gamemakemode );
SM_WriteInt (SysInfo.notconectserver );
SM_WriteInt (SysInfo.enable_menu );
SM_WriteInt (SysInfo.viewcharacterframe );
SM_WriteInt (SysInfo.gamemakemode );
SM_WriteInt (SysInfo.loaditemfromtoi2 );
SM_WriteInt (SysInfo.makeanitable_bin );
SM_WriteInt (SysInfo.port );
SM_WriteInt (SysInfo.entergameserver );
SM_WriteInt (SysInfo.enteragent );
SM_WriteInt (SysInfo.enterproxy );
fprintf( fp, "%s\n", MapName );
fprintf( fp, "%s\n", SysInfo.ip );
fprintf( fp, "%s\n", SysInfo.agentip );
fprintf( fp, "%s\n", SysInfo.proxyip );
SM_WriteInt (SysInfo.keyr );
SM_WriteInt (SysInfo.keyp );
SM_WriteInt (SysInfo.mapx );
SM_WriteInt (SysInfo.mapy );
SM_WriteInt (SysInfo.makesou2size );
fclose (fp);
}
}
BOOL CALLBACK ModeSettingProc(HWND hDlg, UINT Message, WPARAM wParam, LPARAM lParam)
{
char temp[ FILENAME_MAX];
switch(Message)
{
case WM_INITDIALOG:
LoadInitialData ();
CheckRadioButton( hDlg, IDC_RADIO1, IDC_RADIO2, SysInfo.dx ? IDC_RADIO1 : IDC_RADIO2 );
CheckDlgButton( hDlg , IDC_CHECK_SUPER_HERO, SysInfo.notdead ? MF_CHECKED : MF_UNCHECKED );
CheckDlgButton( hDlg , IDC_CHECK_SOUND, SysInfo.music ? MF_CHECKED : MF_UNCHECKED );
CheckDlgButton( hDlg , IDC_CHECK_EFFECT_WAVE, SysInfo.effect ? MF_CHECKED : MF_UNCHECKED );
CheckDlgButton( hDlg , IDC_CHECK_READ_CDDATA, SysInfo.cddata ? MF_CHECKED : MF_UNCHECKED );
CheckDlgButton( hDlg , IDC_CHECK_ONE_KILL, SysInfo.onekill ? MF_CHECKED : MF_UNCHECKED );
CheckDlgButton( hDlg , IDC_CHECK_CONECT_SERVER, SysInfo.notconectserver ? MF_CHECKED : MF_UNCHECKED );
CheckDlgButton( hDlg , IDC_CHECK_ENABLE_MENU, SysInfo.enable_menu ? MF_CHECKED : MF_UNCHECKED );
CheckDlgButton( hDlg , IDC_CHECK_VIEWCHARACTERFRAME, SysInfo.viewcharacterframe? MF_CHECKED : MF_UNCHECKED );
CheckDlgButton( hDlg , IDC_CHECK_GAMEMAKEMODE , SysInfo.gamemakemode ? MF_CHECKED : MF_UNCHECKED );
CheckDlgButton( hDlg , IDC_LOAD_ITEM_FROM_TOI2, SysInfo.loaditemfromtoi2 ? MF_CHECKED : MF_UNCHECKED );
CheckDlgButton( hDlg , IDC_SAVE_ANIMATION_TABLE,SysInfo.makeanitable_bin ? MF_CHECKED : MF_UNCHECKED );
CheckDlgButton( hDlg , IDC_ENTER_AGENTIP, SysInfo.enteragent ? MF_CHECKED : MF_UNCHECKED );
CheckDlgButton( hDlg , IDC_ENTER_PROXYIP, SysInfo.enterproxy ? MF_CHECKED : MF_UNCHECKED );
CheckDlgButton( hDlg , IDC_ENTER_GAMESERVER, SysInfo.entergameserver ? MF_CHECKED : MF_UNCHECKED );
CheckDlgButton( hDlg , IDC_KEY_RECORD , SysInfo.keyr ? MF_CHECKED : MF_UNCHECKED );
CheckDlgButton( hDlg , IDC_KEY_PLAY , SysInfo.keyp ? MF_CHECKED : MF_UNCHECKED );
CheckDlgButton( hDlg , IDC_MAP_SCROLL_TYPE , SysInfo.mapscrolltype ? MF_CHECKED : MF_UNCHECKED );
Edit_SetText (GetDlgItem(hDlg, IDC_MAPNAME ), MapName );
Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_IP ), SysInfo.ip );
Edit_SetText (GetDlgItem(hDlg, IDC_AGENTIP ), SysInfo.agentip );
Edit_SetText (GetDlgItem(hDlg, IDC_PROXYIP ), SysInfo.proxyip );
sprintf (temp, "%d", SysInfo.port );
Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_PORT ), temp );
sprintf (temp, "%d", SysInfo.mapx );
Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_MAPX ), temp );
sprintf (temp, "%d", SysInfo.mapy );
Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_MAPY ), temp );
CheckDlgButton( hDlg , IDC_MAKE_SOU2_SIZE, SysInfo.makesou2size? MF_CHECKED : MF_UNCHECKED );
// Edit_SetText (GetDlgItem(hDlg, IDC_EDIT7), SysInfo.notepad );
return TRUE;
case WM_PAINT:
break;
case WM_COMMAND:
switch( LOWORD( wParam ))
{
case IDOK: SysInfo.dx = IsDlgButtonChecked( hDlg, IDC_RADIO1 );
if( SysInfo.dx == 1 ) g_DirectDrawInfo.bFullscreen = TRUE;
SysInfo.notdead = IsDlgButtonChecked( hDlg, IDC_CHECK_SUPER_HERO );
SysInfo.music = IsDlgButtonChecked( hDlg, IDC_CHECK_SOUND );
SysInfo.effect = IsDlgButtonChecked( hDlg, IDC_CHECK_EFFECT_WAVE );
SysInfo.cddata = IsDlgButtonChecked( hDlg, IDC_CHECK_READ_CDDATA );
SysInfo.onekill = IsDlgButtonChecked( hDlg, IDC_CHECK_ONE_KILL );
SysInfo.gamemakemode = IsDlgButtonChecked( hDlg, IDC_CHECK_DEBUGINFO );
SysInfo.notconectserver = IsDlgButtonChecked( hDlg, IDC_CHECK_CONECT_SERVER );
SysInfo.enable_menu = IsDlgButtonChecked( hDlg, IDC_CHECK_ENABLE_MENU );
SysInfo.viewcharacterframe = IsDlgButtonChecked( hDlg, IDC_CHECK_VIEWCHARACTERFRAME );
SysInfo.gamemakemode = IsDlgButtonChecked( hDlg, IDC_CHECK_GAMEMAKEMODE );
SysInfo.loaditemfromtoi2= IsDlgButtonChecked( hDlg, IDC_LOAD_ITEM_FROM_TOI2 );
SysInfo.makeanitable_bin= IsDlgButtonChecked( hDlg, IDC_SAVE_ANIMATION_TABLE );
SysInfo.keyr= IsDlgButtonChecked( hDlg, IDC_KEY_RECORD );
SysInfo.keyp= IsDlgButtonChecked( hDlg, IDC_KEY_PLAY );
SysInfo.mapscrolltype = IsDlgButtonChecked( hDlg, IDC_MAP_SCROLL_TYPE );
Edit_GetText( GetDlgItem(hDlg, IDC_MAPNAME), MapName, FILENAME_MAX);
SysInfo.entergameserver = IsDlgButtonChecked( hDlg, IDC_ENTER_GAMESERVER );
SysInfo.enteragent = IsDlgButtonChecked( hDlg, IDC_ENTER_AGENTIP );
SysInfo.enterproxy = IsDlgButtonChecked( hDlg, IDC_ENTER_PROXYIP );
Edit_GetText( GetDlgItem(hDlg, IDC_EDIT_IP ), SysInfo.ip, 25 );
Edit_GetText( GetDlgItem(hDlg, IDC_AGENTIP ), SysInfo.agentip, 25 );
Edit_GetText( GetDlgItem(hDlg, IDC_PROXYIP ), SysInfo.proxyip, 25 );
Edit_GetText( GetDlgItem(hDlg, IDC_EDIT_PORT ), temp, FILENAME_MAX);
SysInfo.port = atoi( temp );
Edit_GetText( GetDlgItem(hDlg, IDC_EDIT_MAPX ), temp, FILENAME_MAX);
SysInfo.mapx = atoi( temp );
Edit_GetText( GetDlgItem(hDlg, IDC_EDIT_MAPY ), temp, FILENAME_MAX);
SysInfo.mapy = atoi( temp );
SysInfo.makesou2size = IsDlgButtonChecked( hDlg, IDC_MAKE_SOU2_SIZE );
if( GetSysInfo( SI_GAME_MAKE_MODE ) ) WriteInitialData ();
SysInfo.result = 1;
EndDialog(hDlg, LOWORD(wParam));
return (TRUE);
case IDCANCEL :
SysInfo.result = 999;
EndDialog(hDlg, LOWORD(wParam));
return (TRUE);
}
break;
}
return FALSE;
}
//#define _SWITCH_SCREEN
void ModeSetting ( HWND hwnd, HINSTANCE hInstance)
{
#ifdef _DEBUG
FILE *fp, *wp;
AGAIN_:
wp = fp = Fopen( DEVELOPEMENT_ENVIR_FILENAME, "rb" );
if( fp ) fclose(fp);
if( wp ) DialogBox( hInstance, MAKEINTRESOURCE( IDD_DEVELOPE_ENVIR ), NULL, (DLGPROC)ModeSettingProc );
else
{
DialogBox( hInstance, MAKEINTRESOURCE( IDD_DEVELOPE_ENVIR1 ), NULL, (DLGPROC)ModeSettingProc );
}
if( SysInfo.result == 1 ) // 角青窍扁 困秦 OK甫 喘范促.
{
if( SysInfo.dx == 0 ) // windows mode..
{
if( GetBitsPerPixel() <= 8 )
{
JustMsg ( "芒葛靛俊辑 免仿且版快 窍捞漠扼( 65536color)俊辑 角青秦具 钦聪促.\n" );
goto AGAIN_;
}
}
}
#else
SysInfo.music = 1;
SysInfo.effect = 1;
#ifdef _SWITCH_SCREEN
SysInfo.dx = 0; // switch screen
g_DirectDrawInfo.bFullscreen = false;// switch screen
#else
SysInfo.dx = 1; // switch screen
g_DirectDrawInfo.bFullscreen = true;// switch screen
#endif
#endif
}
//------------------------------------------------------------------------------------
// Animation阑 check窍扁 困茄 风凭...
BOOL CALLBACK CheckEquipmentProc(HWND hDlg, UINT Message, WPARAM wParam, LPARAM lParam)
{
LPCHARACTER lpChar;
char temp[FILENAME_MAX];
int *ac;
RECT rect, grect;
static int id = 1;
lpChar = ReturnCharacterID( id );
if( SysInfo.notconectserver == 1 )
{
if( lpChar == NULL )
{
id =0;
lpChar = Hero;
JustMsg( " 弊繁 ID绰 绝绢夸. ID甫 0锅栏肺 官策聪促. " );
}
}
else
{
if( lpChar == NULL )
{
id =1;
lpChar = Hero;
JustMsg( " 弊繁 ID绰 绝绢夸. ID甫 1锅栏肺 官策聪促. " );
}
}
ac= lpChar->accessory;
switch(Message)
{
case WM_INITDIALOG: CheckRadioButton( hDlg, IDC_RADIO_1_FEMALE, IDC_RADIO_1_MALE , lpChar->sprno ? IDC_RADIO_1_MALE : IDC_RADIO_1_FEMALE );
sprintf (temp, "%d", ac[0] );
Edit_SetText (GetDlgItem(hDlg, IDC_EDIT1), temp);
sprintf (temp, "%d", ac[2]);
Edit_SetText (GetDlgItem(hDlg, IDC_EDIT4), temp);
sprintf (temp, "%d", ac[3]);
Edit_SetText (GetDlgItem(hDlg, IDC_EDIT5), temp);
sprintf( temp, "%d", id );
Edit_SetText (GetDlgItem(hDlg, IDC_CHAR_NO), temp);
ShowWindow( hDlg , SW_HIDE);
GetWindowRect( hDlg, &rect );
GetWindowRect( g_hwndMain, &grect );
MoveWindow( hDlg, grect.right+1, 0, rect.right, rect.bottom, true);
return TRUE;
case WM_PAINT:
break;
case WM_COMMAND:
switch( LOWORD( wParam ))
{
case IDOK :
sprintf( temp, "%d", id );
Edit_GetText (GetDlgItem(hDlg, IDC_CHAR_NO), temp, 9);
id = atoi( temp );
lpChar = ReturnCharacterID( id );
if( lpChar == NULL )
{
id =1;
lpChar = Hero;
JustMsg( " 弊繁 ID绰 绝绢夸. ID甫 1锅栏肺 官策聪促. " );
}
ac= lpChar->accessory;
lpChar->sprno = IsDlgButtonChecked( hDlg, IDC_RADIO_1_MALE );
if( IsDlgButtonChecked( hDlg, IDC_RADIO_1_NO ) )
{
lpChar->basicAction = ACTION_NONE;
lpChar->basicWalk = ACTION_BASIC_WALK;
}
if( IsDlgButtonChecked( hDlg, IDC_RADIO_1_ONESWORD ) )
{
lpChar->basicAction = ACTION_BATTLE_NONE;
lpChar->basicWalk = ACTION_BATTLE_WALK_OWNHAND;
}
if( IsDlgButtonChecked( hDlg, IDC_RADIO_1_TWOSWORD ) )
{
lpChar->basicAction = ACTION_BATTLE_NONE_TWOHAND;
lpChar->basicWalk = ACTION_BATTLE_WALK_TWOHAND;
}
if( IsDlgButtonChecked( hDlg, IDC_RADIO_1_PENSING ) )
{
lpChar->basicAction = ACTION_ATTACK_PENSWORD2;
lpChar->basicWalk = ACTION_BATTLE_WALK_OWNHAND;
}
if( IsDlgButtonChecked( hDlg, IDC_CHECK_1_VIEW_PART ) )
CheckEquipmentFlag = TRUE;
else
CheckEquipmentFlag = FALSE;
Edit_GetText( GetDlgItem(hDlg, IDC_EDIT1), temp, 9);
ac[0] = atoi (temp);
Edit_GetText( GetDlgItem(hDlg, IDC_EDIT4), temp, 9);
ac[2] = atoi (temp);
Edit_GetText( GetDlgItem(hDlg, IDC_EDIT5), temp, 9);
ac[3] = atoi (temp);
////
LoadHeroClothAccessoryDataOne( lpChar->sprno, ac[0]);
{
LoadHeroClothAccessoryDataOne( lpChar->sprno, ac[0]+1);
// LoadHeroClothAccessoryDataOne( lpChar->sprno, ac[0]+200); // NEW_CHAR YGI
// LoadHeroClothAccessoryDataOne( lpChar->sprno, ac[0]+201);
}
{
// FreeHeroClothAccessoryDataOne( lpChar->sprno, old[2] );
LoadHeroClothAccessoryDataOne( lpChar->sprno, ac[2]);
}
{
// FreeHeroClothAccessoryDataOne( lpChar->sprno, old[3] );
LoadHeroClothAccessoryDataOne( lpChar->sprno, ac[3]);
}
////
//EndDialog(hDlg, LOWORD(wParam));
GameTestProc( &g_DirectDrawInfo );
return (TRUE);
case IDCANCEL :
EndDialog(hDlg, LOWORD(wParam));
return (TRUE);
}
break;
}
return FALSE;
}
void CheckEquipmentData( HWND hwnd, HINSTANCE hInstance)
{
HWND hCreateCheckEquipment =
CreateDialog( g_hInstance, MAKEINTRESOURCE( IDD_CHECK_EQUIP ), g_hwndMain, (DLGPROC)CheckEquipmentProc );
ShowWindow( hCreateCheckEquipment, SW_HIDE );
int ScreenX = GetSystemMetrics(SM_CXSCREEN);
RECT rect;
RECT grect;
GetWindowRect( hCreateCheckEquipment, &rect );
GetWindowRect( g_hwndMain, &grect );
MoveWindow(hCreateCheckEquipment, grect.right+1, 0, rect.right, rect.bottom, true);
ShowWindow(hCreateCheckEquipment, SW_SHOW);
}
//------------------------------------------------------------------------------------
void GetAnimationTxt( LPCHARACTER lpChar, HWND hwnd )
{ //< CSD-031014
int i;
char temp[FILENAME_MAX];
int AnotherLineCount, LineCount = Edit_GetLineCount( hwnd ) -1;
int CharCount;
int frame, dx, dy, attackf, wave, height, effect;
lpChar->AnimationTable[ TempAnimationCount].nCount = LineCount;
AnotherLineCount = 0;
for( i = 0; i < LineCount ; i++)
{
CharCount = Edit_GetLine( hwnd, i, temp, FILENAME_MAX ); // 030812 YGI
if (temp[CharCount-2] == '\r')
{
temp[CharCount-2] = '\n';
temp[CharCount-1] = '\0';
}
else
{
temp[CharCount] = '\0';
}
sscanf( temp, "%d %d %d %d %d %d %d ", &frame, &dx, &dy, &attackf, &wave, &height, &effect );
lpChar->AnimationTable[ TempAnimationCount].cFrame[ i] = frame -1;
lpChar->AnimationTable[ TempAnimationCount].dx[ i] = dx;
lpChar->AnimationTable[ TempAnimationCount].dy[ i] = dy;
lpChar->AnimationTable[ TempAnimationCount].attackf[ i] = attackf;
lpChar->AnimationTable[ TempAnimationCount].wave[ i] = wave;
lpChar->AnimationTable[ TempAnimationCount].height[ i] = height;
lpChar->AnimationTable[ TempAnimationCount].effect[ i] = effect;
AnotherLineCount ++;
}
if( AnotherLineCount != LineCount ) JustMsg( "扼牢荐啊 崔扼.." );
lpChar->AnimationTable[ TempAnimationCount].nCount = LineCount;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -