From 39744ac7dea31ad5d5f739ed48c10dc41871afae Mon Sep 17 00:00:00 2001 From: rdb Date: Wed, 7 Dec 2022 13:52:35 +0100 Subject: [PATCH] pstats: Fix save/load incompatibility with double-prec builds --- pandatool/src/pstatserver/pStatMonitor.cxx | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/pandatool/src/pstatserver/pStatMonitor.cxx b/pandatool/src/pstatserver/pStatMonitor.cxx index d2bd8e3953..c15a08c30c 100644 --- a/pandatool/src/pstatserver/pStatMonitor.cxx +++ b/pandatool/src/pstatserver/pStatMonitor.cxx @@ -199,7 +199,10 @@ open_default_graphs() { size_t num_colors = scan.get_uint32(); for (size_t i = 0; i < num_colors; ++i) { int key = scan.get_int32(); - _colors[key].read_datagram(scan); + LRGBColor &color = _colors[key]; + color[0] = scan.get_float32(); + color[1] = scan.get_float32(); + color[2] = scan.get_float32(); } PStatGraph *graph; @@ -297,7 +300,9 @@ save_default_graphs() const { dg.add_uint32((uint32_t)_colors.size()); for (const auto &item : _colors) { dg.add_int32(item.first); - item.second.write_datagram(dg); + dg.add_float32(item.second[0]); + dg.add_float32(item.second[1]); + dg.add_float32(item.second[2]); } dg.add_uint16(_timelines.size()); @@ -654,7 +659,9 @@ write_datagram(Datagram &dg) const { dg.add_uint32((uint32_t)_colors.size()); for (const auto &item : _colors) { dg.add_int32(item.first); - item.second.write_datagram(dg); + dg.add_float32(item.second[0]); + dg.add_float32(item.second[1]); + dg.add_float32(item.second[2]); } dg.add_uint16(_timelines.size()); @@ -704,7 +711,10 @@ read_datagram(DatagramIterator &scan) { size_t num_colors = scan.get_uint32(); for (size_t i = 0; i < num_colors; ++i) { int key = scan.get_int32(); - _colors[key].read_datagram(scan); + LRGBColor &color = _colors[key]; + color[0] = scan.get_float32(); + color[1] = scan.get_float32(); + color[2] = scan.get_float32(); } int num_collectors = client_data->get_num_collectors();