Browse Source

Implement UiSetupPlayerInfo an UiCreatePlayerDescription and SStrCopy

This gets up a bit closer to compiling in release mode
pull/25/head
Anders Jenbo 7 years ago
parent
commit
1b9254afd6
  1. 4
      DiabloUI/_temp_funcs.h
  2. 4
      DiabloUI/connect.cpp
  3. 4
      DiabloUI/diabloui.h
  4. 46
      Stub/DiabloUI/diabloui.cpp
  5. 3
      Stub/storm.cpp

4
DiabloUI/_temp_funcs.h

@ -84,8 +84,8 @@ void __fastcall Connect_SetDiffString(_gamedata *gamedata, const char *str1, cha
BOOL __fastcall Connect_GetHeroInfoConc(const char *a1, _uiheroinfo *pInfo);
void __fastcall Connect_MakeDescString(_uiheroinfo *a1, char *name, size_t size);
void __stdcall UiCreateGameCriteria(_uiheroinfo *pInfo, char *str);
BOOL __stdcall UiCreatePlayerDescription(_uiheroinfo *info, int mode, char *desc);
void __stdcall UiSetupPlayerInfo(char *infostr, _uiheroinfo *pInfo, int type);
BOOL __stdcall UiCreatePlayerDescription(_uiheroinfo *info, DWORD mode, char *desc);
void __stdcall UiSetupPlayerInfo(char *infostr, _uiheroinfo *pInfo, DWORD type);
void __fastcall Connect_CopyPlrDescStrings(char *str1, int size1, char *str2, int size2);
BOOL __stdcall UiCopyProtError(int *pdwResult);

4
DiabloUI/connect.cpp

@ -849,7 +849,7 @@ void __stdcall UiCreateGameCriteria(_uiheroinfo *pInfo, char *str)
}
// ref: 0x10003FD6
BOOL __stdcall UiCreatePlayerDescription(_uiheroinfo *info, int mode, char *desc)
BOOL __stdcall UiCreatePlayerDescription(_uiheroinfo *info, DWORD mode, char *desc)
{
connect_charname = (char *)mode;
Connect_MakeDescString(info, desc, 0x80u);
@ -857,7 +857,7 @@ BOOL __stdcall UiCreatePlayerDescription(_uiheroinfo *info, int mode, char *desc
}
// ref: 0x10003FF7
void __stdcall UiSetupPlayerInfo(char *infostr, _uiheroinfo *pInfo, int type)
void __stdcall UiSetupPlayerInfo(char *infostr, _uiheroinfo *pInfo, DWORD type)
{
connect_charname = (char *)type;
SStrCopy(connect_plrinfostr, infostr, 128);

4
DiabloUI/diabloui.h

@ -49,8 +49,8 @@ BOOL __stdcall UiCreateGameCallback(int a1, int a2, int a3, int a4, int a5, int
BOOL __stdcall UiArtCallback(int game_type, unsigned int art_code, PALETTEENTRY *pPalette, void *pBuffer, DWORD dwBuffersize, DWORD *pdwWidth, DWORD *pdwHeight, DWORD *pdwBpp);
int __stdcall UiSelectGame(int a1, _SNETPROGRAMDATA *client_info, _SNETPLAYERDATA *user_info, _SNETUIDATA *ui_info, _SNETVERSIONDATA *file_info, int *a6);
int __stdcall UiSelectProvider(int a1, _SNETPROGRAMDATA *client_info, _SNETPLAYERDATA *user_info, _SNETUIDATA *ui_info, _SNETVERSIONDATA *file_info, int *type);
BOOL __stdcall UiCreatePlayerDescription(_uiheroinfo *info, int mode, char *desc);
void __stdcall UiSetupPlayerInfo(char *infostr, _uiheroinfo *pInfo, int type);
BOOL __stdcall UiCreatePlayerDescription(_uiheroinfo *info, DWORD mode, char *desc);
void __stdcall UiSetupPlayerInfo(char *infostr, _uiheroinfo *pInfo, DWORD type);
void __stdcall UiCreateGameCriteria(_uiheroinfo *pInfo, char *str);
BOOL __stdcall UiGetDefaultStats(int pclass, _uidefaultstats *pStats);
BOOL __stdcall UiBetaDisclaimer(int a1);

46
Stub/DiabloUI/diabloui.cpp

@ -237,9 +237,29 @@ int __cdecl UiProfileGetString()
return 0;
}
void __stdcall UiSetupPlayerInfo(char *infostr, _uiheroinfo *pInfo, int type)
char connect_plrinfostr[128];
char connect_categorystr[128];
void __stdcall UiSetupPlayerInfo(char *infostr, _uiheroinfo *pInfo, DWORD type)
{
DUMMY_PRINT("chr: %s", infostr);
DUMMY();
SStrCopy(connect_plrinfostr, infostr, 128);
char format[32];
strncpy(format, (char *)&type, 4);
strcat(format, " %d %d %d %d %d %d %d %d %d");
snprintf(
connect_categorystr,
128,
format,
pInfo->level,
pInfo->heroclass,
pInfo->herorank,
pInfo->strength,
pInfo->magic,
pInfo->dexterity,
pInfo->vitality,
pInfo->gold,
pInfo->spawned);
}
BOOL __stdcall UiCopyProtError(int *pdwResult)
@ -316,9 +336,27 @@ int __stdcall UiSelectGame(int a1, _SNETPROGRAMDATA *client_info, _SNETPLAYERDAT
return 1;
}
int __stdcall UiCreatePlayerDescription(_uiheroinfo *info, int mode, char *desc)
BOOL __stdcall UiCreatePlayerDescription(_uiheroinfo *info, DWORD mode, char *desc)
{
UNIMPLEMENTED();
char format[32];
strncpy(format, (char *)&mode, 4);
strcat(format, " %d %d %d %d %d %d %d %d %d");
snprintf(
desc,
128,
format,
info->level,
info->heroclass,
info->herorank,
info->strength,
info->magic,
info->dexterity,
info->vitality,
info->gold,
info->spawned);
return TRUE;
}
void DrawArt(int screenX, int screenY, Art *art, int nFrame, int drawW)

3
Stub/storm.cpp

@ -353,7 +353,8 @@ int STORMAPI SMemCmp(void *location1, void *location2, DWORD size)
int STORMAPI SStrCopy(char *dest, const char *src, int max_length)
{
UNIMPLEMENTED();
strncpy(dest, src, max_length);
return strlen(dest);
}
int STORMAPI SStrCmp(const char *string1, const char *string2, unsigned int size)

Loading…
Cancel
Save