Add mini-diffs and change the difference transmission frequency.
This commit is contained in:
@@ -357,23 +357,29 @@ void World::diff_globals(World *master, StreamBuffer *sb) {
|
||||
assert(tsb.empty());
|
||||
}
|
||||
|
||||
int64_t World::patch_everything(StreamBuffer *sb, DebugCollector *dbc) {
|
||||
DebugBlock dbb(dbc, "patch_everything");
|
||||
int64_t World::patch(StreamBuffer *sb, DebugCollector *dbc) {
|
||||
DebugBlock dbb(dbc, "patch");
|
||||
int64_t actor_id = patch_actor(sb, dbc);
|
||||
patch_visible(sb, dbc);
|
||||
patch_luatabs(sb, dbc);
|
||||
patch_tanclass(sb, dbc);
|
||||
patch_source(sb, dbc);
|
||||
patch_globals(sb, dbc);
|
||||
bool full = sb->read_bool();
|
||||
if (full) {
|
||||
patch_luatabs(sb, dbc);
|
||||
patch_tanclass(sb, dbc);
|
||||
patch_source(sb, dbc);
|
||||
patch_globals(sb, dbc);
|
||||
}
|
||||
return actor_id;
|
||||
}
|
||||
|
||||
void World::diff_everything(int64_t actor_id, World *master, StreamBuffer *sb) {
|
||||
void World::diff(int64_t actor_id, bool full, World *master, StreamBuffer *sb) {
|
||||
diff_actor(actor_id, master, sb);
|
||||
util::IdVector visible = get_visible_union(actor_id, master);
|
||||
diff_visible(visible, master, sb);
|
||||
diff_luatabs(actor_id, master, sb);
|
||||
diff_tanclass(actor_id, master, sb);
|
||||
diff_source(master, sb);
|
||||
diff_globals(master, sb);
|
||||
sb->write_bool(full);
|
||||
if (full) {
|
||||
diff_luatabs(actor_id, master, sb);
|
||||
diff_tanclass(actor_id, master, sb);
|
||||
diff_source(master, sb);
|
||||
diff_globals(master, sb);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user