News:

Want to praise Simutrans?
Your feedback is important for us ;D.

12234 makeobj compile error

Started by makie, Yesterday at 03:46:08 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

makie

R12234 compile makeobj  for linux
R12233 is ok
Quote../simutrans/descriptor/writer/image_writer.cc:360:23: error: 'class image_t' has no member named 'zoomable'
  360 |                 image.zoomable = false;
      |                       ^~~~~~~~
../simutrans/descriptor/writer/image_writer.cc:363:23: error: 'class image_t' has no member named 'zoomable'
  363 |                 image.zoomable = true;
      |                       ^~~~~~~~
../simutrans/descriptor/writer/image_writer.cc:442:23: error: 'class image_t' has no member named 'len'
  442 |                 image.len = 0;
      |                       ^~~
../simutrans/descriptor/writer/image_writer.cc:447:31: error: 'class image_t' has no member named 'len'
  447 |                         image.len = len;
      |                               ^~~
../simutrans/descriptor/writer/image_writer.cc:450:187: error: 'class image_t' has no member named 'zoomable'
  450 |                 dbg->debug( "", "image[%3u] =%-30s %-20s %5u %5u %5u %5u %5u %6u %4s", index, an_imagekey.c_str(), imagekey.c_str(), col, row, image.x, image.y, image.w, image.h, (image.zoomable) ? "yes" : "no" );
      |                                                                                                                                                                                           ^~~~~~~~
../simutrans/descriptor/writer/image_writer.cc:453:183: error: 'class image_t' has no member named 'zoomable'
  453 |                 dbg->debug( "", "image[%3u] =%-30s %-20s %5u %5u %5u %5u %5u %6u %4s", index, an_imagekey.c_str(), imagekey.c_str(), 0, 0, image.x, image.y, image.w, image.h, (image.zoomable) ? "yes" : "no" );
      |                                                                                                                                                                                       ^~~~~~~~
../simutrans/descriptor/writer/image_writer.cc:493:43: error: 'class image_t' has no member named 'len'
  493 |         obj_node_t node(this, 10 + (image.len * sizeof(uint16)), &parent);
      |                                           ^~~
../simutrans/descriptor/writer/image_writer.cc:502:40: error: 'class image_t' has no member named 'zoomable'
  502 |         node.write_uint8 (outfp, image.zoomable);
      |                                        ^~~~~~~~
../simutrans/descriptor/writer/image_writer.cc:504:19: error: 'class image_t' has no member named 'len'
  504 |         if (image.len) {
      |                   ^~~
../simutrans/descriptor/writer/image_writer.cc:506:47: error: 'class image_t' has no member named 'len'
  506 |                 node.write_bytes(outfp, image.len * sizeof(uint16), pixdata);
      |                                               ^~~

victor_18993

Hi Mackie, I'll check it and let you know as soon as I have it.
En la vida todo son vivencias y cada una de ellas nos hace mas grandes,¿Como de grande eres tu? :)

victor_18993

Thanks for the report, makie.
I was able to reproduce the Makeobj build failure on both GCC and MSVC. It was a regression introduced in r12234: the headless
image_t no longer contains
len and
zoomable, while Makeobj was still using an
image_t instance as temporary writer state.
I have fixed this by keeping that metadata local to
image_writer.cc, without adding anything back to the headless
image_t.
The fix is now in trunk as r12235.
I also verified that Makeobj builds correctly again and that the generated
.pak output is byte-identical to the pre-regression version.
En la vida todo son vivencias y cada una de ellas nos hace mas grandes,¿Como de grande eres tu? :)