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.
Tweak 'color' to something else like alpha or something new doesn't result in warnings.