diff options
author | Smokexyz <sagunkho@hotmail.com> | 2017-04-28 05:57:39 +0800 |
---|---|---|
committer | Smokexyz <sagunkho@hotmail.com> | 2017-05-22 17:55:49 +0800 |
commit | e8affc41f106503b530abaa7faa20d6e63b727b8 (patch) | |
tree | 4e4418da2e850e9ae89f357d8b396da5ec739ac4 /src/char/inter.c | |
parent | 109661e3d5fb4cc6ddde9b32f8c99012c8d17bce (diff) | |
download | hercules-e8affc41f106503b530abaa7faa20d6e63b727b8.tar.gz hercules-e8affc41f106503b530abaa7faa20d6e63b727b8.tar.bz2 hercules-e8affc41f106503b530abaa7faa20d6e63b727b8.tar.xz hercules-e8affc41f106503b530abaa7faa20d6e63b727b8.zip |
Add storage_data reception, parsing and sending to/from the map-server.
Remove loading and saving of storage_data through char.c
Re-declaration of structure storage_data as a vector.
Re-code of portions in the map-server using storage_data.
A new approach is taken by saving the loaded storage data from sql into memory for the duration of the session, thereby removing the need of querying the database to re-load all items everytime a storage save routine is issued from the map-server.
Saving of storage items is done through a new function that significantly reduces the number of queries compared to char_memitemdata_tosql(), and therefore run-time speed. This method potentially reduces the number of update and delete queries from MAX_STORAGE (which could be >= 600) times to literally 1.
Storage items are stored in a dynamically allocated array and handled accordingly.
struct mmo_charstatus size reduces by 34,800 bytes.
Update pc_checkitem() with masks for item checks.
`sd->state.itemcheck` has been changed to `sd->itemcheck` of type `enum pc_checkitem_types`
`battle/items.conf` has been updated to reflect configuration changes.
Further updates to assert a successful reception of storage data in related functions.
Diffstat (limited to 'src/char/inter.c')
-rw-r--r-- | src/char/inter.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/char/inter.c b/src/char/inter.c index d076bb657..cfbc0fd4d 100644 --- a/src/char/inter.c +++ b/src/char/inter.c @@ -68,7 +68,7 @@ int party_share_level = 10; // recv. packet list int inter_recv_packet_length[] = { -1,-1, 7,-1, -1,13,36, (2 + 4 + 4 + 4 + NAME_LENGTH), 0, 0, 0, 0, 0, 0, 0, 0, // 3000- - 6,-1, 0, 0, 0, 0, 0, 0, 10,-1, 0, 0, 0, 0, 0, 0, // 3010- + 6,-1, 0, 0, 0, 0, 0, 0, 10,-1, 0, 0, 0, 0, 0, 0, // 3010- Account Storage [Smokexyz] -1,10,-1,14, 14,19, 6,-1, 14,14, 0, 0, 0, 0, 0, 0, // 3020- Party -1, 6,-1,-1, 55,19, 6,-1, 14,-1,-1,-1, 18,19,186,-1, // 3030- -1, 9, 0, 0, 0, 0, 0, 0, 7, 6,10,10, 10,-1, 0, 0, // 3040- |