Well, with your tutorial I now understand what I have to do to decompile the scripts, HUGE help. Still trying to piece together the issue with the LDS, but it'll come I'm sure, just have to play with it more. Now I just have to figure out how to fix the decompiled code.

If I'm understanding it right, you should beable to (to a certain extent) recreate the function(s) within a LUA file just by looking at the disassembled output and piecing it back together. Looking at the first file within the play.zip you posted, I can see what the disassembled output is saying, but when I try to recreate the code based on what it says, the compare says I'm completely wrong.

For instance, this is what I see within the disassembly output for function 1 (or function 0 as it shows in the output),

Code:

1 [-]: GETGLOBAL R2 K0 ; R2 := _config_os
2 [-]: EQ 0 R2 K1 ; if R2 != "windowsmobile" then PC := 12
3 [-]: JMP 12
4 [-]: GETTABLE R2 R0 K2 ; R2 := R0["FilePath"]
5 [-]: GETTABLE R3 R1 K2 ; R3 := R1["FilePath"]
6 [-]: EQ 1 R2 R3 ; if R2 == R3 then PC := 9
7 [-]: JMP 9
8 [-]: LOADBOOL R2 0 1 ; R2 := false; PC := 10
9 [-]: LOADBOOL R2 1 0 ; R2 := true
10 [-]: RETURN R2 2 ; return R2
11 [-]: JMP 17 ; PC := 17
12 [-]: EQ 1 R0 R1 ; if R0 == R1 then PC := 15
13 [-]: JMP 15
14 [-]: LOADBOOL R2 0 1 ; R2 := false; PC := 16
15 [-]: LOADBOOL R2 1 0 ; R2 := true
16 [-]: RETURN R2 2 ; return R2
17 [-]: RETURN R0 1 ; return

Now, if I was to try to recreate what this says, this is what I believe it should look like,

Code:

RadioList_TestEqual = function(l_1_0, l_1_1)
local l_1_2 = _config_os
if l_1_2 == "windowsmobile" then
l_1_2 = l_1_0.FilePath
l_1_3 = l_1_1.FilePath
l_1_2 = l_1_2 == l_1_3
return l_1_2
elseif l_1_0 ~= l_1_1 then
l_1_2 = l_1_0 ~= l_1_1
return l_1_2
end
end

Problem is, compare mentions nothing about a R3 (l_1_3), it also says my line count and opcode count are WAY off.