diff options
-rw-r--r-- | Changelog.txt | 1 | ||||
-rw-r--r-- | src/map/npc.c | 17 |
2 files changed, 17 insertions, 1 deletions
diff --git a/Changelog.txt b/Changelog.txt index 58cf88067..2143dd182 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,5 +1,6 @@ Date Added 12/14 + * Added a busy animation for npc loading [MC Cameri] * Replaced the way map loading was displayed into a progress-like way [MC Cameri] * Fixed some typos in _ShowMessage() [MC Cameri] * Replaced lots of more printf's in map-server with _ShowMessage() [MC Cameri] diff --git a/src/map/npc.c b/src/map/npc.c index 8f4716ca2..d760099ef 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -2219,11 +2219,13 @@ void ev_release(struct dbn *db, int which) */ int do_init_npc(void) { - ShowStatus("Loading NPCs...\n"); struct npc_src_list *nsl; FILE *fp; char line[1024]; int m,lines; + time_t last_time = time(0); + int busy = 0; + char c = '-'; ev_db=strdb_init(24); npcname_db=strdb_init(24); @@ -2295,6 +2297,19 @@ int do_init_npc(void) } } fclose(fp); + printf("\r"); + ShowStatus("Loading NPCs... Working: "); + if (last_time != time(0)) { + last_time = time(0); + switch(busy) { + case 0: c='\\'; busy++; break; + case 1: c='|'; busy++; break; + case 2: c='/'; busy++; break; + case 3: c='-'; busy=0; + } + } + printf("[%c]",c); + fflush(stdout); // printf("\rLoading NPCs [%d]: %-54s",npc_id-START_NPC_NUM,nsl->name); // fflush(stdout); } |