- mod.next = 0;
- mod.id = atoi(strtok(defline, delim));
- mod.m_or_i = * strtok(NULL, delim);
- mod.mapchar = * strtok(NULL, delim);
- if ('i' == mod.m_or_i)
- {
- line_p = strtok(NULL, delim);
- }
- else
- {
- md.corpse_id = atoi(strtok(NULL, delim));
- md.hitpoints_start = atoi(strtok(NULL, delim));
- line_p = strtok(NULL, delim);
- }
- mod.desc = calloc(strlen(line_p), sizeof(char));
- memcpy(mod.desc, line_p, strlen(line_p) - 1);
- if ('i' == mod.m_or_i)
- {
- id.map_obj_def = mod;
- * p_p_id = malloc(sizeof(struct ItemDef));
- * * p_p_id = id;
- p_p_id = (struct ItemDef * *) * p_p_id;
- }
- else
- {
- md.map_obj_def = mod;
- * p_p_md = malloc(sizeof(struct MonsterDef));
- * * p_p_md = md;
- p_p_md = (struct MonsterDef * *) * p_p_md;
- }
+ sprintf(line, "%d %d %d %d %d\n",
+ mo->id, mo->type, mo->lifepoints, mo->pos.y, mo->pos.x);
+ try_fwrite(line, strlen(line), 1, file, world, f_name);
+ mo = mo->next;