SamuKata
vrengames
vrengames

patreon


LR2 v0.33.2 Fix

The v0.33.1 release was a classic case of "It works on my machine", with a number of problems that have now been fixed up in v0.33.2. (Actually v.33.3, but who's counting?)

PC: Lab Rats 2 v0.33.3-PC
Mac: Lab Rats 2 v0.33.3-Mac
Android: Lab Rats 2 v0.33.3-Android 

v0.33.2 to v0.33.3 file patch: Patch 

A change to the file structure was necessary, which means you will have to redownload the full game.

There were a few issues in v0.33.1 that had to be resolved. The first was that the facial expression code was not properly changed over to use the new .zip file based system, which resulted in it failing to find files unless you manually unzipped the file (or have the source files sitting there to start with, like I did...).

Once the main crashing issue was fixed I was able to look into the serious performance problems that were reported by people who were able to get v0.33.1 working. That revealed a flaw in my performance testing benchmark, which had previously reported the speed of the .zip change as being negligible. Once the testing error was corrected I could see that animation resulted in a ridiculous 3 to 5 second delay, but that non-animated performance was unchanged. I've chased the problem down to a single render call that takes seconds when using the zip based system, but milliseconds when using archived or unpacked images. There's a deeper problem there, but fixing it isn't needed for a useful solution here. The android version of LR2 doesn't make use of animations already, so the .zip structure should work perfectly going forward. On PC/Mac I have returned to using Ren'py's archives. Performance is now back to it's previous state.

That's all for today, more posts in the near future about what I'll be working on for v0.34!

Comments

i did the same, the image folder was missing

This is why I have a couple friends I use as alpha-testers before sending something out- So it's more a case of "it works on our 4 machines" rather than "it works on the development machine" Should pick a couple patrons that're familiar with code if not python itself to get a build 24h before you're planning on releasing publicly. In the end it'd save you a lot of time and you'd less often be 1/3rd of the way through the month still fixing last month's issues.

Mash

Clothing removal isn't being drawn. The character remains there full clothed.

Thanny

[code] I'm sorry, but an uncaught exception occurred. While loading <'MatrixColor' <'MatrixColor' <'Image' u'character_images/empty_holder.png'> (1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)> (0.11792998618096777, 0.0, 0.0, 0.0, 0.0, 0.0, 0.055848026067786646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.07812413536648992, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)>: File "game/script.rpy", line 10543, in script call screen main_choice_display([people_list,actions_list]) File "renpy/common/000statements.rpy", line 531, in execute_call_screen store._return = renpy.call_screen(name, *args, **kwargs) IOError: Couldn't find file 'character_images/empty_holder.png'. -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 10543, in script call screen main_choice_display([people_list,actions_list]) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\ast.py", line 1949, in execute self.call("execute") File "E:\Lab_Rats_2-v0.33.2-pc\renpy\ast.py", line 1937, in call return renpy.statements.call(method, parsed, *args, **kwargs) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\statements.py", line 277, in call return method(parsed, *args, **kwargs) File "renpy/common/000statements.rpy", line 531, in execute_call_screen store._return = renpy.call_screen(name, *args, **kwargs) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\exports.py", line 2905, in call_screen rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\ui.py", line 297, in interact rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\core.py", line 2702, in interact repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\core.py", line 3194, in interact_core self.draw_screen(root_widget, fullscreen_video, (not fullscreen_video) or video_frame_drawn) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\core.py", line 2094, in draw_screen renpy.config.screen_height, File "renpy/display/render.pyx", line 490, in renpy.display.render.render_screen (gen\renpy.display.render.c:6805) rv = render(root, width, height, st, st) File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\layout.py", line 722, in render surf = render(child, width, height, cst, cat) File "renpy/display/render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075) cpdef render(d, object widtho, object heighto, double st, double at): File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\layout.py", line 722, in render surf = render(child, width, height, cst, cat) File "renpy/display/render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075) cpdef render(d, object widtho, object heighto, double st, double at): File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\layout.py", line 722, in render surf = render(child, width, height, cst, cat) File "renpy/display/render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075) cpdef render(d, object widtho, object heighto, double st, double at): File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "accelerator.pyx", line 110, in renpy.display.accelerator.transform_render File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "accelerator.pyx", line 110, in renpy.display.accelerator.transform_render File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\layout.py", line 1871, in render cr = renpy.display.render.render(self.child, width, height, st, at) File "renpy/display/render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075) cpdef render(d, object widtho, object heighto, double st, double at): File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\layout.py", line 722, in render surf = render(child, width, height, cst, cat) File "renpy/display/render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075) cpdef render(d, object widtho, object heighto, double st, double at): File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\layout.py", line 336, in render surf = render(self.child, width, height, st, at) File "renpy/display/render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075) cpdef render(d, object widtho, object heighto, double st, double at): File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\layout.py", line 722, in render surf = render(child, width, height, cst, cat) File "renpy/display/render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075) cpdef render(d, object widtho, object heighto, double st, double at): File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\layout.py", line 336, in render surf = render(self.child, width, height, st, at) File "renpy/display/render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075) cpdef render(d, object widtho, object heighto, double st, double at): File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\im.py", line 583, in render return cache.get(self, render=True) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\im.py", line 266, in get surf = image.load() File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\im.py", line 1259, in load surf = cache.get(self.image) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\im.py", line 266, in get surf = image.load() File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\im.py", line 1259, in load surf = cache.get(self.image) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\im.py", line 266, in get surf = image.load() File "E:\Lab_Rats_2-v0.33.2-pc\renpy\display\im.py", line 628, in load surf = renpy.display.pgrender.load_image(renpy.loader.load(self.filename), self.filename) File "E:\Lab_Rats_2-v0.33.2-pc\renpy\loader.py", line 576, in load raise IOError("Couldn't find file '%s'." % name) IOError: Couldn't find file 'character_images/empty_holder.png'. Windows-8-6.2.9200 Ren'Py 7.3.5.606 Lab Rats 2 - Down to Business v0.33.2 Sat Oct 10 20:18:50 2020 [/code]

zergline

It my version of Lab Rats 2 v33.2 zip file the character_images folder is not included. I did a copy and paste of the folder from a previous copy into the v33.2 images folder and it works now.

It looks like the character_images folder was not in the 33.2 zip file. Try coping and pasting it into the 33.2 images folder.

``` I'm sorry, but an uncaught exception occurred. While loading <'MatrixColor' <'MatrixColor' <'Image' u'character_images/empty_holder.png'> (1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)> (0.5499412101828419, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2935953257290877, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1588071768999288, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)>: File "game/script.rpy", line 10596, in script call $ picked_option.call_action() File "game/script.rpy", line 10907, in script call call hire_select_process(candidates) from _call_hire_select_process File "game/script.rpy", line 10932, in script call screen interview_ui(candidates,count) File "renpy/common/000statements.rpy", line 531, in execute_call_screen store._return = renpy.call_screen(name, *args, **kwargs) IOError: Couldn't find file 'character_images/empty_holder.png'. -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 10596, in script call $ picked_option.call_action() File "game/script.rpy", line 10907, in script call call hire_select_process(candidates) from _call_hire_select_process File "game/script.rpy", line 10932, in script call screen interview_ui(candidates,count) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\ast.py", line 1949, in execute self.call("execute") File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\ast.py", line 1937, in call return renpy.statements.call(method, parsed, *args, **kwargs) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\statements.py", line 277, in call return method(parsed, *args, **kwargs) File "renpy/common/000statements.rpy", line 531, in execute_call_screen store._return = renpy.call_screen(name, *args, **kwargs) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\exports.py", line 2905, in call_screen rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\ui.py", line 297, in interact rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\core.py", line 2702, in interact repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\core.py", line 3194, in interact_core self.draw_screen(root_widget, fullscreen_video, (not fullscreen_video) or video_frame_drawn) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\core.py", line 2094, in draw_screen renpy.config.screen_height, File "renpy/display/render.pyx", line 490, in renpy.display.render.render_screen (gen\renpy.display.render.c:6805) rv = render(root, width, height, st, st) File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\layout.py", line 722, in render surf = render(child, width, height, cst, cat) File "renpy/display/render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075) cpdef render(d, object widtho, object heighto, double st, double at): File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\layout.py", line 722, in render surf = render(child, width, height, cst, cat) File "renpy/display/render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075) cpdef render(d, object widtho, object heighto, double st, double at): File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\layout.py", line 722, in render surf = render(child, width, height, cst, cat) File "renpy/display/render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075) cpdef render(d, object widtho, object heighto, double st, double at): File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "accelerator.pyx", line 110, in renpy.display.accelerator.transform_render File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "accelerator.pyx", line 110, in renpy.display.accelerator.transform_render File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\layout.py", line 1871, in render cr = renpy.display.render.render(self.child, width, height, st, at) File "renpy/display/render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075) cpdef render(d, object widtho, object heighto, double st, double at): File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\layout.py", line 722, in render surf = render(child, width, height, cst, cat) File "renpy/display/render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075) cpdef render(d, object widtho, object heighto, double st, double at): File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\layout.py", line 336, in render surf = render(self.child, width, height, st, at) File "renpy/display/render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075) cpdef render(d, object widtho, object heighto, double st, double at): File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\layout.py", line 722, in render surf = render(child, width, height, cst, cat) File "renpy/display/render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075) cpdef render(d, object widtho, object heighto, double st, double at): File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\layout.py", line 336, in render surf = render(self.child, width, height, st, at) File "renpy/display/render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075) cpdef render(d, object widtho, object heighto, double st, double at): File "renpy/display/render.pyx", line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520) rv = d.render(widtho, heighto, st, at) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\im.py", line 583, in render return cache.get(self, render=True) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\im.py", line 266, in get surf = image.load() File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\im.py", line 1259, in load surf = cache.get(self.image) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\im.py", line 266, in get surf = image.load() File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\im.py", line 1259, in load surf = cache.get(self.image) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\im.py", line 266, in get surf = image.load() File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\display\im.py", line 628, in load surf = renpy.display.pgrender.load_image(renpy.loader.load(self.filename), self.filename) File "L:\Lab Rats 2\Lab_Rats_2-v0.33.2-pc\renpy\loader.py", line 576, in load raise IOError("Couldn't find file '%s'." % name) IOError: Couldn't find file 'character_images/empty_holder.png'. Windows-8-6.2.9200 Ren'Py 7.3.5.606 Lab Rats 2 - Down to Business v0.33.2 Sat Oct 10 13:38:55 2020 ```

Got an error while reqruiting new stuff


More Creators