Crawl can now read in dolls.txt again but there's no in-game editor or anything. What you can do is take your old dolls.txt file (if you still have it) and modify the numbers until you get something you like. Alternatively, you could create the doll settings using 0.4.5 (though the order of weapons has changed, so they'll still look a bit different).
Yeah, I know it's a bit of a hassle but for those who absolutely need their avatar to be properly dressed it is an improvement. :) Hint: The 5th column is for legs, i.e. trousers.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9986 c06c8d41-db1a-0410-9941-cceddc491573
PUQVSISR5TQFRV6UKOFREN45ZM4YSCST5QSJ2J5CHIHOSYK62MOQC
7EBC77JPGU5YMUUDYHYNKQPPAC6AC3PWEXH4HPONWV3NWNUZGNLAC
HVSBRVFZODK4R7P6EJ7Y7AHZDVRSNSFDHIH3M3DDGG5E26Z4KD5AC
Q3B3UVMYEVC4YJUPYVSNTR4DJH4E6J4JJDHZNT5LNOCHCPPMEMXAC
PHZTAI6CW7JHKFW77MKDK75UCNWBXFK7VDD3D5ORVXUFWV3C3EVQC
HBXWZNXAJ7LUX7FYUIHQYBTRMWVJC6CAQQL3NNZHK5ETLIFEZJ7QC
O746OUDNQBNZJ5YAHONNORFKWHV2EGDJWNAWGBALCYL3FGDZOOHQC
3XRTONH32W5DNI2V2SGAHXN3EHOZQ26ZXMVYL5TRP6HLQN7P4HNAC
IXWJ54CASZWYHSTDOU3TRQS2DSF4MKBRPO4VZYLE72JL5RD22O2AC
25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC
LP5EK64IEM7AHNYQID4GGKOQJQNZLKY4DCCZN47SIUZ6IXAXH5UAC
3ZWALZFSTSIVYXY4BAY6ANGINTDACZC6RSSJTEMQSTSUIE66YOBQC
4EOIRJBTEWVOK4EXA4XAWWS5CHAWZHAYRO6BRZWZ2SU2CGKV6VQAC
U6ILMKBXTQZYT62IGD2CALYNU4VQGRSTHN6QBFBU7BVUBHWYOEQQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
VJZ4D26E4L4E22SO6UYB44DNUTLG72LA4GTAEZ2DKKEMAICHOXBQC
// static void _load_doll_data(const char *fn, dolls_data *dolls, int max,
// int *mode, int *cur)
static void _load_doll_data(const char *fn, dolls_data *doll)
{
char fbuf[1024];
FILE *fp = NULL;
std::string dollsTxtString = datafile_path(fn, false, true);
const char *dollsTxt = (dollsTxtString.c_str()[0] == 0) ?
"dolls.txt" : dollsTxtString.c_str();
if ( (fp = fopen(dollsTxt, "r")) == NULL )
{
mpr("File not found.");
// File doesn't exist. By default, use equipment defaults.
// This will be saved out (if possible).
// Don't take gender too seriously. -- Enne
tilep_race_default(you.species, coinflip() ? 1 : 0,
you.experience_level, doll->parts);
void DungeonRegion::pack_player(int x, int y)
doll->parts[TILEP_PART_SHADOW] = TILEP_SHADOW_SHADOW;
#if 0
// For some reason I can't reset this although it's used identically
// elsewhere. (jpeg)
for (unsigned int j = 0; j < TILEP_PART_MAX; ++j)
doll->parts[j] = TILEP_SHOW_EQUIP;
#endif
}
else
{
memset(fbuf, 0, sizeof(fbuf));
int cur = 0;
if (fscanf(fp, "%s", fbuf) != EOF)
{
#if 0
mpr("Read MODE.");
if (strcmp(fbuf, "MODE=LOADING") == 0)
mode0 = TILEP_M_LOADING;
#endif
}
if (fscanf(fp, "%s", fbuf) != EOF)
{
if (strncmp(fbuf, "NUM=", 4) == 0)
{
sscanf(fbuf, "NUM=%d", &cur);
if (cur < 0 || cur > 10)
cur = 0;
}
}
int count = 0;
while (fscanf(fp, "%s", fbuf) != EOF)
{
if (cur == count++)
{
tilep_scan_parts(fbuf, doll->parts);
break;
}
}
if (cur >= count)
{
mprf(MSGCH_WARN, "Doll %d could not be found in '%s'.",
cur, dollsTxt);
}
fclose(fp);
}
}
static dolls_data player_doll;
void init_player_doll()
result.parts[TILEP_PART_BASE] = default_doll.parts[TILEP_PART_BASE];
result.parts[TILEP_PART_DRCHEAD] = default_doll.parts[TILEP_PART_DRCHEAD];
result.parts[TILEP_PART_DRCWING] = default_doll.parts[TILEP_PART_DRCWING];
void DungeonRegion::pack_player(int x, int y)
{
dolls_data result = player_doll;
idx = tilep_str_to_part(ibuf);
int idx = tilep_str_to_part(ibuf);
if (p == TILEP_PART_BASE)
parts[p] += idx % 2;
else if (idx == 0)
parts[p] = 0;
else if (idx == TILEP_SHOW_EQUIP)
continue;
else if (idx > tile_player_part_count[p])
parts[p] = tile_player_part_start[p];
else
{
int idx2 = tile_player_part_start[p] + idx - 1;
if (idx2 < TILE_MAIN_MAX || idx2 >= TILEP_PLAYER_MAX)
parts[p] = TILEP_SHOW_EQUIP;
else
parts[p] = idx2;
}
/*