Click to visit: JoinUO free shard list
possible bug in decompiler
4 posts
• Page 1 of 1
I don't think it's a bug.
The "if" is one scriptword, the "{" another, "(" yet another, then 0x00 are 3 bytes in the .M (one word to define constant, and one byte the constant itself), and also ")" is a script word, and keep in mind the } literals are inside the M too, they are not added by the decompiler. "if(0x00) { " ---> 2+2+3+2+2 = 7 bytes alone inside the M It looks to me it's code OSI was testing with. I do that too when programming sometimes, not the best practice though. What you could do is, provide a list with all scripts where you see this behaviour and I can see with the "normal" M Decompiler how those script functions are parsed to the execution objects. <Derrick> RunUO AI is kind of a functional prototype, which i have hacked into something resembling OSI behavior, but only by complitcating everything
|
|
<Derrick> RunUO AI is kind of a functional prototype, which i have hacked into something resembling OSI behavior, but only by complitcating everything
|
|
I do this often myself, enclose test blocks in If(false) which I can change to (True) when needed. Usually i use constants for this purpose, so i can turn on and off code scattered thoughout.
Under .Net anyway it's no different that using #define and #if compiler directives, as .Net will not compile code (in optimize mode) that cannot be entered. |
|
4 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 7 guests