CensoredUsername / unrpyc

A ren'py script decompiler
Other
864 stars 157 forks source link

Unknow AST Node when unrpycing 'Sakura Spirit' -screens.rpyc #13

Closed qyg123 closed 10 years ago

qyg123 commented 10 years ago

The full code shows below:


init -2: <<>> <<>> screen say: modal False default side_image = None default two_window = True if (not two_window): window: id 'window' vbox: style 'say_vbox' if who: text who: id 'who' text what: id 'what' else: vbox: style 'say_two_window_vbox' if who: window: style 'say_who_window' text who: id 'who' window: id 'window' vbox: style 'say_vbox' text what: id 'what' if side_image: add side_image else: add SideImage(): xalign 0.0 yalign 1.0 if show_quick_menu: use quick_menu

init -2: <<>> <<>> screen choice: modal False window: xalign 0.5 style 'menu_window' yalign 0.5 vbox: style 'menu' spacing 5 for caption, action, chosen in items: if action: if ('(tworows)' in caption): $ caption = caption.replace('(tworows)', '') button: action action style 'menu_choice_button1' xoffset -500 text caption: style 'menu_choice1' else: button: action action ypadding 20 style 'menu_choice_button' at (slidesmooth2(0.2, 0.4, 0, 20)) text caption: style 'menu_choice' else: text caption: style 'menu_caption'

init -2: $ config.narrator_menu = True <<>> <<>> <<>> screen input: modal False window: style 'input_window' vbox: text prompt: style 'input_prompt' input: style 'input_text' id 'input' use quick_menu

screen nvl: modal False window: style 'nvl_window' vbox: style 'nvl_vbox' for who, what, who_id, what_id, window_id in dialogue: window: id window_id hbox: spacing 10 if (who is not None): text who: id who_id text what: id what_id if items: vbox: id 'menu' for caption, action, chosen in items: if action: button: action action style 'nvl_menu_choice_button' text caption: style 'nvl_menu_choice' else: text caption: style 'nvl_dialogue' add SideImage(): xalign 0.0 yalign 1.0 use quick_menu

screen main_menu: tag menu modal False window: style 'mm_root' frame: xalign 0.17 yalign 0.2 ypadding 25 style_group 'mm' background 'gui/mmframe.png' xpadding 25 vbox: spacing 20 textbutton (('Start Game')): action ([Play('sound', 'sfx/entergame.ogg'), Start()]) at (vsmooth(0.1, 0.6, 50, 0)) textbutton (('Load Game')): action ShowMenu('load') at (vsmooth(0.2, 0.6, 50, 0)) textbutton ('Preferences'): action ShowMenu('preferences') at (vsmooth(0.3, 0.6, 50, 0)) textbutton ('Gallery'): action ShowMenu('gallery') at (vsmooth(0.4, 0.6, 50, 0)) textbutton ('Help'): action ShowMenu('help') at (vsmooth(0.5, 0.6, 50, 0)) textbutton ('Quit'): action Quit(confirm=False) at (v_smooth(0.6, 0.6, 50, 0)) add 'mm_logo'

init -2: <<>> <<>> screen navigation: modal False window: style 'gm_root' frame: xalign 1.0 yalign 0.5 ypadding 30 yoffset -41 style_group 'nav' at (slidesmooth2(0, 0.6, 300, 0)) background 'gui/navframe.png' xpadding 20 xoffset -20 vbox: spacing 10 textbutton ('Return'): action Return() at (mmsmooth(0.3, 0.6, 150, 0)) textbutton ('Preferences'): action ShowMenu('preferences') at (mmsmooth(0.3, 0.6, 150, 0)) textbutton (('Save Game')): action ShowMenu('save') at (mmsmooth(0.3, 0.6, 150, 0)) textbutton (('Load Game')): action ShowMenu('load') at (mmsmooth(0.3, 0.6, 150, 0)) textbutton (('Main Menu')): action MainMenu() at (mmsmooth(0.3, 0.6, 150, 0)) textbutton ('Help'): action ShowMenu('help') at (mmsmooth(0.3, 0.6, 150, 0)) textbutton ('Quit'): action Quit() at (mm_smooth(0.3, 0.6, 150, 0))

init -2: <<>> <<>> screen file_picker: modal False frame: style 'file_picker_frame' yalign 0.5 ypadding 15 yoffset -42 at (slidesmooth2(0, 0.6, -200, 0)) background 'gui/pref_frame.png' xpadding 15 xoffset 40 vbox: hbox: style_group 'filepickernav' textbutton ('Previous'): action FilePagePrevious() at (qmsmooth(0.5, 0.6, 0, -50)) textbutton ('Auto'): action FilePage('auto') at (qmsmooth(0.5, 0.6, 0, -50)) textbutton ('Quick'): action FilePage('quick') at (qm_smooth(0.5, 0.6, 0, -50)) for i in range(1, 9): textbutton str(i): action FilePage(i) at (qmsmooth(0.5, 0.6, 0, -50)) textbutton ('Next'): action FilePageNext() at (qm_smooth(0.5, 0.6, 0, -50)) $ columns = 2 $ rows = 4 grid columns rows: style_group 'file_picker' spacing 16 transpose True for i in range(1, ((columns * rows) + 1)): button: action FileAction(i) at (v_smooth(0.5, 0.6, 0, -50)) hbox: add FileScreenshot(i) $ file_name = FileSlotName(i, (columns * rows)) $ filetime = FileTime(i, empty=('Empty Slot.')) $ save_name = FileSaveName(i) text ('[file_name]. [file_time!t]\n[save_name!t]') key 'save_delete': action FileDelete(i)

screen save: tag menu modal False use navigation use file_picker frame: at (slidesmooth2(0, 0.6, -200, 0)) background 'gui/label_save.png'

screen load: tag menu modal False use navigation use file_picker frame: at (slidesmooth2(0, 0.6, -200, 0)) background 'gui/label_load.png'

init -2: python:

    config.thumbnail_width = 100
    config.thumbnail_height = 60

init -2: <<>> <<>> <<>> <<>> <<>> screen preferences: tag menu modal False use navigation frame: at (slidesmooth2(0, 0.6, -200, 0)) background 'gui/label_prefs.png' frame: xalign 1.0 yalign 0.5 right_margin 400 ypadding 15 yoffset -90 at (slidesmooth2(0, 0.6, -200, 0)) background 'gui/pref_frame.png' xpadding 15 xoffset 40 grid 2 1: style_group 'pref' xoffset 50 xfill True yoffset 30 vbox: frame: stylegroup 'pref' vbox: spacing 15 label ('Display') hbox: spacing 15 textbutton _('Fullscreen'): action (Preference('display', 'fullscreen')) at (vsmooth(0.5, 0.6, 0, -20)) textbutton ('Window'): action (Preference('display', 'window')) at (v_smooth(0.5, 0.6, 0, -20)) frame: stylegroup 'pref' vbox: label ('Transitions') hbox: spacing 15 textbutton _('All'): action (Preference('transitions', 'all')) at (vsmooth(0.5, 0.6, 0, -20)) textbutton ('None'): action (Preference('transitions', 'none')) at (v_smooth(0.5, 0.6, 0, -20)) frame: stylegroup 'pref' vbox: label (('After Choices')) hbox: spacing 15 textbutton (_('Stop Skipping')): action (Preference('after choices', 'stop')) at (vsmooth(0.5, 0.6, 0, -20)) textbutton (('Keep Skipping')): action (Preference('after choices', 'skip')) at (v_smooth(0.5, 0.6, 0, -20)) frame: stylegroup 'pref' vbox: label ('Skip') hbox: spacing 15 textbutton (_('Seen Messages')): action (Preference('skip', 'seen')) at (vsmooth(0.5, 0.6, 0, -20)) textbutton (('All Messages')): action (Preference('skip', 'all')) at (v_smooth(0.5, 0.6, 0, -20)) frame: stylegroup 'pref' vbox: textbutton (('Begin Skipping')): action Skip() at (v_smooth(0.5, 0.6, 0, -20)) vbox: frame: stylegroup 'pref' vbox: label (('Music Volume')) bar: value (Preference('music volume')) frame: stylegroup 'pref' vbox: label (('Sound Volume')) bar: value (Preference('sound volume')) if config.samplesound: textbutton ('Test'): action (Play('sound', config.sample_sound)) style 'soundtest_button' at (v_smooth(0.5, 0.6, 0, -20)) if config.has_voice: frame: stylegroup 'pref' vbox: label (('Voice Volume')) bar: value (Preference('voice volume')) textbutton (_('Voice Sustain')): action (Preference('voice sustain', 'toggle')) at (v_smooth(0.5, 0.6, 0, -20)) if config.samplevoice: textbutton ('Test'): action (Play('voice', config.sample_voice)) style 'soundtest_button' at (v_smooth(0.5, 0.6, 0, -20)) frame: stylegroup 'pref' vbox: label (('Text Speed')) bar: value (Preference('text speed')) frame: stylegroup 'pref' vbox: label (('Auto-Forward Time')) bar: value (Preference('auto-forward time')) if config.hasvoice: textbutton (('Wait for Voice')): action (Preference('wait for voice', 'toggle')) at (v_smooth(0.5, 0.6, 0, -20))

init -2: <<>> <<>> <<>> <<>> <<>> <<>> screen yesno_prompt: modal True window: ypadding 20 style 'gm_root' xpadding 20 frame: yanchor 0 xmargin 0.05 xfill True ypadding 0.05 ypos 0.1 stylegroup 'yesno' at (slidesmooth2(0, 0.4, 0, 30)) background (Frame('gui/quitbox.png', 5, 5)) vbox: xalign 0.5 spacing 30 yalign 0.5 label (message): xalign 0.5 hbox: xalign 0.5 spacing 100 textbutton _('Yes'): action yes_action at (vsmooth(0.5, 0.6, 0, -20)) textbutton ('No'): action no_action at (v_smooth(0.5, 0.6, 0, -20)) key 'game_menu': action no_action

init -2: <<>> <<>> <<>> screen quick_menu: modal False hbox: xalign 0.8 yalign 1.0 spacing 5 yoffset -140 stylegroup 'quick' textbutton ('Back'): action Rollback() at (qmsmooth(0.5, 0.6, 0, -50)) textbutton ('Save'): action ShowMenu('save') at (qmsmooth(0.5, 0.6, 0, -50)) textbutton ('Q.Save'): action QuickSave() at (qmsmooth(0.5, 0.6, 0, -50)) textbutton ('Q.Load'): action QuickLoad() at (qmsmooth(0.5, 0.6, 0, -50)) textbutton ('Skip'): action Skip() at (qmsmooth(0.5, 0.6, 0, -50)) textbutton ('Auto'): action (Preference('auto-forward', 'toggle')) at (qmsmooth(0.5, 0.6, 0, -50)) textbutton ('Prefs'): action ShowMenu('preferences') at (qm_smooth(0.5, 0.6, 0, -50))

init -2: <<>> <<>> screen help: tag menu modal False use navigation frame: at (slidesmooth2(0, 0.6, -200, 0)) background 'gui/label_help.png' frame: style 'default' yoffset 84 at (slidesmooth2(0, 0.6, -200, 0)) background 'gui/pref_frame.png' xoffset 40 add 'gui/help_bg.png': at (v_smooth(0.5, 0.6, 0, -20))


Seems like some button-and-fonts-showing code(without this unknow part, the pervious art button disappeared and the font become renpy-default). could you please help me handle this problem? Thx!

CensoredUsername commented 10 years ago

Sorry for replying so late,

I cannot do much with solely the failed output, could you upload the .rpyc somewhere so I can check what is going wrong here? I really can't do much with only the output of unrpyc.

qyg123 commented 10 years ago

thx for your reply! and this is that .rpyc https://www.dropbox.com/s/qusy4pstxugmwmh/screens.rpyc hope this can be little help thx again!

CensoredUsername commented 10 years ago

That should fix it. unrpyc didn't support the recently added "style" statement yet. With this commit that should be supported too.