Page 2 of 5
Re: Ren'Py 6.12.0 Pre-Released
Posted: Sun Jan 30, 2011 6:54 am
by Aleema
I had a name in a list called "étoile". I put a u in front (u"étoile") but the error persists ... >_<
edit: unrelated question, what's it take for Ren'Py to graduate to 7.0? =P
Re: Ren'Py 6.12.0 Pre-Released
Posted: Sun Jan 30, 2011 7:48 am
by Spiky Caterpillar
Aleema wrote:I had a name in a list called "étoile". I put a u in front (u"étoile") but the error persists ... >_<
My workarounds only cover backansi's second bug, the first is in how Ren'Py 6.12 handles python blocks. (... which I probably should wait for PyTom to fix, instead of charging in blindly and poking the code until it appears to work... but it's only one little function, and it's getting in the way of testing everything ELSE in the secret project to see if it works in 6.12...)
*poke*
*poke*
Changing the offending function in ast.py to
Code: Select all
def get_hash(self):
try:
if self.hash is not None:
return self.hash
except:
pass
code = self.source
if isinstance(code, renpy.python.ast.AST):
code = renpy.python.ast.dump(code)
import encodings.utf_8
self.hash = chr(renpy.bytecode_version) + md5.md5(encodings.utf_8.encode(code)[0]).digest()
return self.hash
seems to work, but may well do something horrible.
On the other hand, it was worth it, because now that the secret project compiles, I discover that the Linux libGLEW appears to be missing and OpenGL won't load as a result.
Re: Ren'Py 6.12.0 Pre-Released
Posted: Sun Jan 30, 2011 10:34 am
by PyTom
Okay, I've released an update to the update server. You can access it by hitting shift+U while at the top screen of the 6.12 launcher.
The current update fixes three issues:
- Get_hash crashing horribly if a non-ASCII character is found in the file.
- Unicode characters not displaying properly in ATL blocks.
- libGLEW being omitted on Linux.
I'm now going to start looking into Jack's various bugs. (Especially for save problems, it would be helpful if I knew how to make the save file.)
EDIT: Oh, I'm pretty sure that DaFool's bug comes from dropping screens.rpy into a game with a script_version.rpy file. You can only use the new screens with a newer game - the definition of the screens changed a bit recently.
Re: Ren'Py 6.12.0 Pre-Released
Posted: Sun Jan 30, 2011 10:54 am
by jack_norton
PyTom wrote:
I'm now going to start looking into Jack's various bugs. (Especially for save problems, it would be helpful if I knew how to make the save file.)
Wait the bug is not on saving, but if I try to load a previous saved game (from a game with 6.11b). Should I upload a savegame ? (basically any savegame crashes)
Re: Ren'Py 6.12.0 Pre-Released
Posted: Sun Jan 30, 2011 10:58 am
by Aleema
Yayyy! Is fixed!
*it is for posts like this that there was a minimum character count required to post*
Re: Ren'Py 6.12.0 Pre-Released
Posted: Sun Jan 30, 2011 11:55 am
by PyTom
I've figured out the Planet Stronghold loading/saving problem.
The fundamental problem is that a Render is being placed into a variable or field. I'm not sure which one it is, but I'm pretty sure it's named myRender. This then gets saved to the save file, and when it reloads, a crash occurs.
To understand what's going on here, I need to explain why we have Renders in the first place. When displaying graphics, there is stuff we don't want to put in a save file. For example, OpenGL textures each have a number they get when they are loaded into memory. On each run, that number changes - so on one run, texture 17 could be a character, and on the next, a building. To deal with this, the screen is broken up into two things. Displayables represent the parts that can be saved, and Renders the parts that can't.
I made a change that allows Renders to be loaded into memory in 6.12. They still won't work - they never did - but they should at least load. Older code (with config.developer = False) will be able to save them, but when config.developer is True, you'll get an error instead.
This will be in the next update, which will be later today. (I want to have a go at those frame bugs, first.)
Re: Ren'Py 6.12.0 Pre-Released
Posted: Sun Jan 30, 2011 12:06 pm
by jack_norton
Ah...I know where it is!! Here, when you see a new enemy:
Code: Select all
label showenemy(enm):
python:
myDisplayable = im.Image("gfx/rpg/"+Enemy[enm][1]+".png")
myRender = renpy.render(myDisplayable, 800, 600, 0, 0)
sizes = myRender.get_size()
currentwidth=sizes[0]; currentheight = sizes[1]
xscale = 1.0
yscale = 1.0
if (currentwidth > 480):
xscale = float(480) / float(currentwidth)
if (currentheight > 500):
yscale = float(500) / float(currentheight)
if (xscale < yscale):
minscale = xscale
else:
minscale = yscale
newwidth = currentwidth * minscale
newheight = currentheight * minscale
scene black
show i_panel at Position(xpos=1.5,yalign=0.5)
transform enmshw:
xalign 0.5 yalign 0.5 alpha 0
linear 1.0 alpha 1.0
linear 1.0 xalign 0.0
pause 1.0
linear 1.0 zoom minscale
$ renpy.show("r_"+Enemy[enm][1],[enmshw])
show i_panel:
xpos 1.5 yalign 0.5
linear 1.5 xalign 0.0
image test:
contains:
Null()
pause 2.0
xalign 0.9 yalign 0.0
Text(Enemy[enm][2],style="bix",size=40,slow_cps=8,slow=True)
contains:
Null()
pause 3.0
xalign 0.5 yalign 0.97
Text("click to continue",style="bix",size=32,slow_cps=8,slow=True)
show test
transform blink(d):
alpha 0
pause d
linear 0.5 alpha 1.0
python:
with ui.vbox(-2,xmaximum=500,xfill=True,xpos=470,ypos=150):
ui.at(blink(2))
ui.text("Hit Points: "+str(Enemy[enm][3]),size=25,style="bix2")
ui.at(blink(2.4))
ui.text("HP Regen: "+str(Enemy[enm][19])+"/turn",size=25,style="bix2")
ui.at(blink(2.8))
ui.text("XP When Killed: "+str(Enemy[enm][18]),size=25,style="bix2")
ui.at(blink(3.2))
ui.text("Attack: "+DmgT[Enemy[enm][5]],size=25,style="bix2")
ui.at(blink(3.6))
ui.text("Damage: ("+str(Enemy[enm][6])+"-"+str(Enemy[enm][7])+") x"+str(Enemy[enm][8]),size=25,style="bix2")
ui.at(blink(4.0))
ui.text("Armor Rating:",size=25,style="bix2")
with ui.vbox(-2,xmaximum=500,xfill=True,xpos=760,ypos=150):
ui.at(blink(2.2))
ui.text("Skill Points: "+str(Enemy[enm][4]),size=25,style="bix2")
ui.at(blink(2.6))
ui.text("SP Regen: "+str(Enemy[enm][20])+"/turn",size=25,style="bix2")
ui.at(blink(2.8))
ui.text("Critical Hit: "+str(Enemy[enm][17])+"%",size=25,style="bix2")
ui.at(blink(3.0))
ui.text("Evasion: "+str(Enemy[enm][15])+"%",size=25,style="bix2")
ui.at(blink(3.4))
ui.text("Accuracy: "+str(Enemy[enm][9])+"%",size=25,style="bix2")
## ui.at(blink(3.8))
## ui.text("x Rate of Fire: "+str(Enemy[enm][8]),size=25,style="bix2")
for i in range(5):
ui.at(blink(4.2+i*0.15))
ui.text(str(Enemy[enm][10+i])+" vs "+DmgT[i],size=25,style="bix2")
with ui.vbox(-2,xmaximum=530,xfill=True,xpos=470,ypos=480):
ui.at(blink(5.4))
ui.text("Special Move: "+EnemySk[Enemy[enm][16]][2]+" ("+str(EnemySk[Enemy[enm][16]][3])+"sp)",size=25,style="bix2")
ui.at(blink(5.6))
ui.text(EnemySk[Enemy[enm][16]][1],size=22,style="bix2")
renpy.pause()
return
would be wiser to get rid of that completely (I can find a workaround, no problems for me)?
Re: Ren'Py 6.12.0 Pre-Released
Posted: Sun Jan 30, 2011 12:13 pm
by PyTom
Yes. You probably should just do:
Code: Select all
label showenemy(enm):
python:
currentwidth, currentheight = renpy.image_size("gfx/rpg/"+Enemy[enm][1]+".png")
# ...
You should probably also get rid of myRender if you load it, using code like:
Code: Select all
label after_load:
$ myRender = None
return
Re: Ren'Py 6.12.0 Pre-Released
Posted: Sun Jan 30, 2011 12:17 pm
by jack_norton
Cool thanks a lot, will add this. I'd like to ship PS with the latest version of Renpy so will run also on netbooks, once the frame bug is fixed

Re: Ren'Py 6.12.0 Pre-Released
Posted: Sun Jan 30, 2011 10:09 pm
by PyTom
I've pushed out 6.12.0b, as a shift+U update, download, and Android package. This fixes all the bugs above, except for DaFool's one, which is almost certainly caused by an incorrect script_version somewhere.
Re: Ren'Py 6.12.0 Pre-Released
Posted: Sun Jan 30, 2011 10:28 pm
by backansi
I found a typo.
Code: Select all
AttributeError: 'Show' object has no attribute 'scren'
------
#00screen.py
class Show(Action):
#....
def predict(self):
renpy.predict_screen(self.scren, **self.kwargs)
Re: Ren'Py 6.12.0 Pre-Released
Posted: Sun Jan 30, 2011 10:51 pm
by PyTom
Fixed. Thanks!
Re: Ren'Py 6.12.0 Pre-Released
Posted: Mon Jan 31, 2011 3:48 am
by DaFool
PyTom wrote:I've pushed out 6.12.0b, as a shift+U update, download, and Android package. This fixes all the bugs above, except for DaFool's one, which is almost certainly caused by an incorrect script_version somewhere.
I just deleted script_version.rpy and rpyc It doesn't seem to be looking for it anyway.
Re: Ren'Py 6.12.0 Pre-Released
Posted: Mon Jan 31, 2011 4:52 am
by jack_norton
Maybe it's not really a renpy bug. However behaviour changed vs last version. I got this crash:
Code: Select all
Exception: Widget <renpy.display.layout.Window object at 0x10499C30> expects a child.
While running game code:
- script call at line 75 of C:\- indie dev -\games\renpy.new\Planet Stronghold/game/mapmoves.rpy
- script at line 1732 of C:\- indie dev -\games\renpy.new\Planet Stronghold/game/data.rpy
- python at line 1804 of C:\- indie dev -\games\renpy.new\Planet Stronghold/game/data.rpy.
-- Full Traceback ------------------------------------------------------------
File "C:\- indie dev -\games\renpy\renpy\bootstrap.py", line 276, in bootstrap
File "C:\- indie dev -\games\renpy\renpy\main.py", line 320, in main
File "C:\- indie dev -\games\renpy\renpy\main.py", line 93, in run
File "C:\- indie dev -\games\renpy\renpy\execution.py", line 259, in run
File "C:\- indie dev -\games\renpy\renpy\ast.py", line 588, in execute
File "C:\- indie dev -\games\renpy\renpy\python.py", line 957, in py_exec_bytecode
File "C:\- indie dev -\games\renpy.new\Planet Stronghold/game/data.rpy", line 1804, in <module>
File "C:\- indie dev -\games\renpy\renpy\display\layout.py", line 193, in __exit__
File "C:\- indie dev -\games\renpy\renpy\ui.py", line 327, in context_exit
File "C:\- indie dev -\games\renpy\renpy\ui.py", line 308, in close
File "C:\- indie dev -\games\renpy\renpy\ui.py", line 148, in close
Exception: Widget <renpy.display.layout.Window object at 0x10499C30> expects a child.
While running game code:
- script call at line 75 of C:\- indie dev -\games\renpy.new\Planet Stronghold/game/mapmoves.rpy
- script at line 1732 of C:\- indie dev -\games\renpy.new\Planet Stronghold/game/data.rpy
- python at line 1804 of C:\- indie dev -\games\renpy.new\Planet Stronghold/game/data.rpy.
Ren'Py Version: Ren'Py 6.12.0b
in the armory inventory, it can happen that I have no items on the left list.
Before it was working (showing nothing), now it crashes. I think would be cool if instead of crashing because can't find a child, maybe renpy would add something like a ui.null() or something so that it doesn't crash? after all if people forget to add a ui widget they will noticed it because the layout should be messed up, but at least not have a crash

edit: actually crashed even before, sorry

Re: Ren'Py 6.12.0 Pre-Released
Posted: Mon Jan 31, 2011 5:05 am
by jack_norton
I got an even more fun one:
Code: Select all
I'm sorry, but an uncaught exception occurred.
Exception: 1 Renders are alive at shutdown. This is probably a memory leak bug in Ren'Py.
While running game code:
-- Full Traceback ------------------------------------------------------------
File "C:\- indie dev -\games\renpy\renpy\bootstrap.py", line 276, in bootstrap
File "C:\- indie dev -\games\renpy\renpy\main.py", line 334, in main
File "render.pyx", line 93, in renpy.display.render.check_at_shutdown (render.c:1480)
Exception: 1 Renders are alive at shutdown. This is probably a memory leak bug in Ren'Py.
While running game code:
Ren'Py Version: Ren'Py 6.12.0b
cool, Ren'Py is becoming a sort of AI that can understand when has memory leaks!
