struct Preferences_Ext_Struct{
uint8 version;
uchar userhash[16];
WINDOWPLACEMENT EmuleWindowPlacement;
};where WINDOWPLACEMENT is defined by
typedef struct tagWINDOWPLACEMENT {
UINT length;
UINT flags;
UINT showCmd;
POINT ptMinPosition;
POINT ptMaxPosition;
RECT rcNormalPosition;
#ifdef _MAC
RECT rcDevice;
#endif
} WINDOWPLACEMENT;
That's what's saved in preferences.dat. And it was much more stored in it in the past like in v0.20.
I also found this in the changelog
Quote
----------------------
- Oktober 10th, 2002-
----------------------
Unk: Fixed a bug with when you cancel multiple downloads.. (CML)
Ornis: main-preferences are now stored in an .ini -file. -> more compatibility for coming versions
Ornis: localized emule-output of messages. Thanks to various translators for translating the text itself:)
which suggest to me that in the beginning there was no preference.ini, but only the preference.dat. Then it was decided to have an .ini file. Perhaps for editable reason, but e.g. the userhash was kept in the .dat file in binary form to make it harder to change it manually. Perhaps there was an aspect of backward compatibility too.
loverboy, on 01 November 2009 - 05:50 PM, said:
what's the reason to mix such different things into an important file (that first of all stores your hash)?
If you think about it, does it really matter much? Imo it doesn't, the userhash just needs to be stored somewhere.
This post has been edited by Nissenice: 01 November 2009 - 08:53 PM