ID:2243440
 
Not a bug
BYOND Version:511
Operating System:Windows 10 Home 64-bit
Web Browser:Chrome 57.0.2987.133
Applies to:Dream Maker
Status: Not a bug

This is not a bug. It may be an incorrect use of syntax or a limitation in the software. For further discussion on the matter, please consult the BYOND forums.
Descriptive Problem Summary:

"appearance_flags" cannot be used inside of image(), it will generate a runtime error

runtime error: bad arg name 'appearance_flags'


Numbered Steps to Reproduce Problem:

1) Attempt to use "appearance_flags" as a named argument in image()
2) Runtime errah.

Code Snippet (if applicable) to Reproduce Problem:
var/image/I = image(icon='myicon.dmi',icon_state="my_state",appearance_flags=NO_CLIENT_COLOR)


Expected Results:

All image variables to be accepted by image()

Actual Results:

Runtime error

Does the problem occur:
Every time? Or how often? Every time.
In other games? Not if they want the image to appear.
In other user accounts? Yes
On other computers? Yes

When does the problem NOT occur?

When setting appearance_flags outside of image().

var/image/I = image(...)
I.appearance_flags = NO_CLIENT_COLOR

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.)

Never.

Workarounds:

See above.

(Not sure if this counts as a bug report, or a feature request since technically the reference doesn't show it in image(), but it DOES support named args, so it should work.)
I've never heard of the image() proc taking any more than the arguments listed in the reference. Sure, it supports named arguments, but those only ever work for the arguments that are actually defined...
When using named arguments elsewhere they'll work for any variable the object has defined, which you'd think would extend to everything that supports them. There's a ton of variables that image() should probably support since they got added to image.vars.

Perhaps a feature request is more ideal, or maybe it's a bug that the new variables just got overlooked, who knows? =P
In response to Nadrew
"Elsewhere"... like, where? No built-in datum gets all of its variables initialized by its New() or global constructor proc (sound(), matrix(), regex(), image(), icon(), etc.) through named arguments. And all user-defined procs support named arguments automatically; it's a property of procs, not of constructors.
This is what I get for working on a tiny screen for too long, had a big brain fart with syntax of new() and how named arguments work. I was using {} last night and my brain was assuming I was doing the same tonight and just didn't click that these two things are not the same haha. I realized my mistake about an hour ago but couldn't get Chrome to load on this computer with DM compiling to update the report -- then I forgot after the thing overheated in the middle of compiling.
Nadrew resolved issue (Not a bug)
Yep, animate() supports a lot of appearance values but /image only supports a limited few.