Changes between Initial Version and Version 1 of Ticket #13139, comment 5


Ignore:
Timestamp:
Dec 14, 2022, 12:06:36 PM (2 years ago)
Author:
alexbevi

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #13139, comment 5

    initial v1  
    3737        function (Scripts\vd.lua:808)
    3838}}}
     39
     40Just for fun I decompiled the associated Lua scripts (using [[https://quickandeasysoftware.net/software/resource-file-creator-and-dumper|RESOURCE FILE CREATOR AND DUMPER]] and [[https://quickandeasysoftware.net/software/delua-and-luac-for-grim-fandango|DELUA AND LUAC FOR GRIM FANDANGO]]):
     41
     42{{{#!lua
     43-- `gettable' tag method at line 2346 [in file Scripts\_system.lua]
     44system.oldGettableFB = setfallback("gettable", system.GettableFB)
     45-- function (Scripts\_actors.lua:749)
     46Actor.stop_chore = function(arg1, arg2, arg3) -- line 749
     47    if arg1:get_costume() then
     48        StopActorChore(arg1.hActor, arg2, arg3)
     49    end
     50end
     51-- function (Scripts\_manny.lua:870)
     52manny.stop_chore = function(arg1, arg2, arg3) -- line 870
     53    Actor.stop_chore(arg1, arg2, arg3)
     54    if arg2 == nil or (arg2 == ms_rest and arg3 == manny.base_costume) then
     55        arg1:play_chore(ms_rest, manny.base_costume)
     56    end
     57end
     58-- function (Scripts\vd.lua:77)
     59vd.open_safe = function() -- line 77
     60    local local1
     61    cur_puzzle_state[39] = TRUE
     62    START_CUT_SCENE()
     63    manny:play_chore(ms_hand_on_obj, manny.base_costume)
     64    manny:wait_for_chore()
     65    vd.handle:play_chore(2)
     66    manny:play_chore(ms_hand_off_obj, manny.base_costume)
     67    vd.handle:wait_for_chore()
     68    vd.handle:play_chore(0)
     69    vd.door_jam:play_chore(1)
     70    vd.safe_door:free()
     71    StartMovie("vd.snm", nil, 233, 119)
     72    local1 = start_script(vd.scythe_fall)
     73    wait_for_movie()
     74    music_state:set_sequence(seqOpenVault)
     75    vd.door_jam:play_chore(2)
     76    vd.door_open = TRUE
     77    music_state:update()
     78    wait_for_script(local1)
     79    manny:walkto(-0.105456002, 0.341720015, 0, 0, -11.4314003, 0)
     80    manny:play_chore(50, manny.base_costume)
     81    mn2_event = FALSE
     82    repeat
     83        break_here()
     84    until mn2_event
     85    door_scythe:free()
     86    mo.scythe:get()
     87    MakeSectorActive("scythe_here", TRUE)
     88    vd.tumblers.secured = FALSE
     89    manny:wait_for_chore()
     90    manny.is_holding = mo.scythe
     91    open_inventory(TRUE, TRUE)
     92    vd.tumblers.name = "tumblers"
     93    vd.tumblers:make_untouchable()
     94    vd.wheel:make_untouchable()
     95    vd.handle:make_untouchable()
     96    vd.vo_door:make_touchable()
     97    MakeSectorActive("safe_passage", TRUE)
     98    if not vd.cracked_safe then
     99        vd.cracked_safe = TRUE
     100        wait_for_message()
     101        manny:say_line("/vdma020/")
     102        wait_for_message()
     103        manny:say_line("/vdma021/")
     104        wait_for_message()
     105        sleep_for(750)
     106        manny:say_line("/vdma022/")
     107        manny:tilt_head_gesture()
     108    end
     109    END_CUT_SCENE()
     110end
     111-- function (Scripts\vd.lua:808)
     112vd.handle.use = function(arg1) -- line 808
     113    if meche_freed then
     114        system.default_response("not now")
     115    else
     116        START_CUT_SCENE()
     117        manny:set_rest_chore(-1)
     118        manny:walkto_object(arg1)
     119        manny:wait_for_actor()
     120        if vd.tumblers.alligned then
     121            if vd.tumblers.secured then
     122                vd.open_safe()
     123            else
     124                manny:play_chore(ms_hand_on_obj, manny.base_costume)
     125                manny:wait_for_chore()
     126                arg1:play_chore(1)
     127                start_script(vd.safe_door.scramble, vd.safe_door)
     128                manny:play_chore(ms_hand_off_obj, manny.base_costume)
     129                manny:wait_for_chore()
     130                manny:say_line("/vdma031/")
     131                wait_for_message()
     132                manny:say_line("/vdma032/")
     133            end
     134        else
     135            manny:play_chore(ms_hand_on_obj, manny.base_costume)
     136            manny:wait_for_chore()
     137            arg1:play_chore(1)
     138            if not vd.tumblers_secured then
     139                start_script(vd.safe_door.scramble, vd.safe_door)
     140            end
     141            manny:play_chore(ms_hand_off_obj, manny.base_costume)
     142            manny:wait_for_chore()
     143            if vd.wheel.tried then
     144                manny:say_line("/vdma033/")
     145            else
     146                vd.wheel.tried = TRUE
     147                vd.wheel:lookAt()
     148            end
     149        end
     150        manny:set_rest_chore(ms_rest, manny.base_costume)
     151        END_CUT_SCENE()
     152    end
     153end
     154}}}