Commit 65d50ca5 authored by Chen Bill's avatar Chen Bill

update message_buffer writing

parent 9da976f3
......@@ -95,7 +95,7 @@ void duel::delete_effect(effect* peffect) {
delete peffect;
}
int32 duel::read_buffer(byte* buf) {
std::memcpy(buf, buffer, bufferlen);
std::memcpy(buf, message_buffer, bufferlen);
return bufferlen;
}
void duel::release_script_group() {
......@@ -130,7 +130,7 @@ void duel::write_buffer8(uint8 value) {
}
void duel::clear_buffer() {
bufferlen = 0;
bufferp = buffer;
bufferp = message_buffer;
}
void duel::set_responsei(uint32 resp) {
game_field->returns.ivalue[0] = resp;
......
......@@ -13,6 +13,8 @@
#include <set>
#include <unordered_set>
#define BUFFER_SIZE 4096
class card;
class group;
class effect;
......@@ -23,8 +25,8 @@ class duel {
public:
using card_set = std::set<card*, card_sort>;
char strbuffer[256];
byte buffer[0x1000];
uint32 bufferlen;
byte message_buffer[BUFFER_SIZE];
int32 bufferlen;
byte* bufferp;
interpreter* lua;
field* game_field;
......
......@@ -63,7 +63,7 @@ struct effect_set {
return container[index];
}
private:
std::array<effect*, 64> container;
std::array<effect*, 64> container{ nullptr };
int count{ 0 };
};
......
......@@ -174,9 +174,9 @@ int32 scriptlib::debug_set_ai_name(lua_State *L) {
if(len > 100)
len = 100;
pduel->write_buffer16(len);
memcpy(pduel->bufferp, pstr, len);
pduel->bufferp += len;
pduel->bufferlen += len;
for (int i = 0; i < len; ++i) {
pduel->write_buffer8(pstr[i]);
}
pduel->write_buffer8(0);
return 0;
}
......@@ -190,9 +190,9 @@ int32 scriptlib::debug_show_hint(lua_State *L) {
if(len > 1024)
len = 1024;
pduel->write_buffer16(len);
memcpy(pduel->bufferp, pstr, len);
pduel->bufferp += len;
pduel->bufferlen += len;
for (int i = 0; i < len; ++i) {
pduel->write_buffer8(pstr[i]);
}
pduel->write_buffer8(0);
return 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment