summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--src/map/chrif.c4
-rw-r--r--src/map/map.c7
-rw-r--r--vcproj-7.1/char-server_txt.vcproj4
-rw-r--r--vcproj-8/char-server_txt.vcproj4
5 files changed, 19 insertions, 3 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index cb8004112..6adb78a76 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/08/15
+ * Updated vc-project files to compile with the new int_homun files.
+ [Skotlex]
+ * Hopefully fixed the crash when using charsave_method = 1 [Skotlex]
* Moved s_pet structure from map_session_data to pet_data, this enabled the
removal of a few redundant values in the pet_data structure (name, class,
equip) [Skotlex]
diff --git a/src/map/chrif.c b/src/map/chrif.c
index b8990f87e..f4def8091 100644
--- a/src/map/chrif.c
+++ b/src/map/chrif.c
@@ -215,10 +215,8 @@ int chrif_save(struct map_session_data *sd, int flag)
charsave_savechar(sd->char_id, &sd->status);
if (flag) //Character final saved.
sd->state.finalsave = 1;
- if (flag == 1) {
+ if (flag == 1)
chrif_char_offline(sd); //Tell char server that character went offline.
- map_quit_ack(sd); //Remove from memory.
- }
return 0;
}
#endif
diff --git a/src/map/map.c b/src/map/map.c
index 70dc79cac..abcd26440 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -1706,6 +1706,13 @@ int map_quit(struct map_session_data *sd) {
sd->st = NULL;
sd->npc_id = 0;
}
+#ifndef TXT_ONLY
+ if(charsave_method)
+ { //Let player be free'd on closing the connection.
+ idb_remove(pc_db,sd->status.account_id);
+ return 0;
+ }
+#endif
if(sd->fd)
{ //Player will be free'd on save-ack. [Skotlex]
if (session[sd->fd])
diff --git a/vcproj-7.1/char-server_txt.vcproj b/vcproj-7.1/char-server_txt.vcproj
index f5c70df22..896bdac08 100644
--- a/vcproj-7.1/char-server_txt.vcproj
+++ b/vcproj-7.1/char-server_txt.vcproj
@@ -165,6 +165,10 @@
RelativePath="..\src\char\int_pet.c">
</File>
<File
+ RelativePath="..\src\char\int_pet.c"
+ >
+ </File>
+ <File
RelativePath="..\src\char\int_status.c">
</File>
<File
diff --git a/vcproj-8/char-server_txt.vcproj b/vcproj-8/char-server_txt.vcproj
index 31da60fa0..66bcfd8ea 100644
--- a/vcproj-8/char-server_txt.vcproj
+++ b/vcproj-8/char-server_txt.vcproj
@@ -230,6 +230,10 @@
>
</File>
<File
+ RelativePath="..\src\char\int_homun.c"
+ >
+ </File>
+ <File
RelativePath="..\src\char\int_status.c"
>
</File>