From e7fb664498ab63acec437a7bc521fe11e7812900 Mon Sep 17 00:00:00 2001 From: Lee Salzman Date: Thu, 11 Dec 2008 03:05:39 +0000 Subject: [PATCH] buildworldstate cleanup git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@3982 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- source/src/server.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/source/src/server.cpp b/source/src/server.cpp index 52050fd7..59e11846 100644 --- a/source/src/server.cpp +++ b/source/src/server.cpp @@ -371,10 +371,20 @@ bool buildworldstate() } } int psize = ws.positions.length(), msize = ws.messages.length(); - if(psize) recordpacket(0, ws.positions.getbuf(), psize); - if(msize) recordpacket(1, ws.messages.getbuf(), msize); - loopi(psize) { uchar c = ws.positions[i]; ws.positions.add(c); } - loopi(msize) { uchar c = ws.messages[i]; ws.messages.add(c); } + if(psize) + { + recordpacket(0, ws.positions.getbuf(), psize); + ucharbuf p = ws.positions.reserve(psize); + p.put(ws.positions.getbuf(), psize); + ws.positions.addbuf(p); + } + if(msize) + { + recordpacket(1, ws.messages.getbuf(), msize); + ucharbuf p = ws.messages.reserve(msize); + p.put(ws.messages.getbuf(), msize); + ws.messages.addbuf(p); + } ws.uses = 0; loopv(clients) {