ID:1028703
 
BYOND Version:496
Operating System:Windows 8 Professional
Web Browser:Firefox 16.0
Applies to:Dream Maker
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
Recently have come across a bug where if you try to call an object's object variable's procedure during compilation without defining scope, results in a failed parsing on one of the passes (causing either warnings or errors). Only way around it right now to specify a scope (workaround provided by Super Saiyan X).

Numbered Steps to Reproduce Problem:
1. Create an object type with at least one procedure.
2. Create another object type.
3. Add a variable that uses the first object type.
4. Create a procedure for the second object type.
5. Make a call from one of the procedures without using any scoping from the variable of the first object type.

Code Snippet (if applicable) to Reproduce Problem:
ColorObj
var
red
green
blue
New(red=0xFF,green=0xFF,blue=0xFF)
src.red = red
src.green = green
src.blue = blue
proc
SetColor(red,green,blue)
src.red = red
src.green = green
src.blue = blue

TestObj1
var
ColorObj/color = new()
New()
color.SetColor(1,1,1)


Expected Results:
Proper compilation with no warnings or errors.

Actual Results:
Compilation filled with warnings or errors.

Does the problem occur:
Every time? Or how often? Every time.
In other games? N/A
In other user accounts? N/A
On other computers? N/A

When does the problem NOT occur?
When scoping is provided.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download /build to download old versions for testing.) N/A

Workarounds:
Provide scoping either using src or another variable (local) that points to the owned variable to make it work. This workaround is provided by Super Saiyan X as stated.
Looks like this old bug is either most likely fixed or there is a bug with trying to call a procedure from a variable name of 'color'.

Tweak 'color' to something else like alpha or something new doesn't result in warnings.