ValveSoftware / csgo-osx-linux

Counter-Strike: Global Offensive
http://counter-strike.net
787 stars 69 forks source link

Issue with vscripts - integer/float values behaving differently! - custom maps from the Steam Workshop broken #1063

Closed uLLeticaL closed 8 years ago

uLLeticaL commented 8 years ago

LATEST UPDATE

A lot (probably everyone?) on the Mac OSX and Linux CS:GO clients are reporting broken buttons/functions on Workshop maps that rely heavily on vscripts.

Everything works as we speak fine on the Windows client, without any problems whatsoever. The problems started since the first update to the Mac OSX / Linux CS:GO clients. (this update most likely)

One of the dysfunct maps that work on Windows, but not on Linux and MacOSX.

As I created the above maps, I get a lot of reports from people that are saying the maps are broken etc, and they all share the same operating systems (Linux & OSX) I have asked for full console logs, but there are no real error messages in the console to be found. And as well, functions are getting executed, since the function printl("asdffasfas"); will just print the asdffasfas line in the console when a script function is executed.

And as well the func_buttons seem to work properly.

(49.84) output: (func_button,rm.buttons.multitarget) -> (@rms,RunScriptCode)(MultiTargetButton_Toggle()) (49.86) input rm.buttons.multitarget: @rms.RunScriptCode(MultiTargetButton_Toggle()) * FUNCTION START :: MultiTargetButton_Toggle() * FUNCTION CHANGED VALUE :: MultiTargetButton_Toggle() Enabled *\ FUNCTION EXECUTED :: MultiTargetButton_Toggle()

I'm not sure what the problem is, or what is causing it currently. On behalf of all the Linux and Mac OSX users, Thanks for looking in to it!

Tele42 commented 8 years ago

Possibly related to #739.

daniel-Jones commented 8 years ago

Todays update (June 16) has broken your sound trianing map for me, however aimbotz works fine.

Edit: it seems Aimbotz does not work correctly now, it did however earlier when testing above.

Computer Information: Manufacturer: Unknown Model: Unknown Form Factor: Desktop No Touch Input Detected

Processor Information: CPU Vendor: GenuineIntel CPU Family: 0x6 CPU Model: 0x3a CPU Stepping: 0x9 CPU Type: 0x0 Speed: 3900 Mhz 8 logical processors 4 physical processors HyperThreading: Supported FCMOV: Supported SSE2: Supported SSE3: Supported SSSE3: Supported SSE4a: Unsupported SSE41: Supported SSE42: Supported AES: Supported AVX: Supported CMPXCHG16B: Supported LAHF/SAHF: Supported PrefetchW: Unsupported

Network Information: Network Speed:

Operating System Version: Linux (64 bit) Kernel Name: Linux Kernel Version: 4.5.1-1-ARCH X Server Vendor: The X.Org Foundation X Server Release: 11803000 X Window Manager: i3 Steam Runtime Version: steam-runtime-release_2016-02-23

Video Card: Driver: NVIDIA Corporation GeForce GTX 660 Ti/PCIe/SSE2

Driver Version:  4.5.0 NVIDIA 364.19
OpenGL Version: 4.5
Desktop Color Depth: 24 bits per pixel
Monitor Refresh Rate: 60 Hz
VendorID:  0x10de
DeviceID:  0x1183
Revision Not Detected
Number of Monitors:  2
Number of Logical Video Cards:  1
Primary Display Resolution:  1920 x 1080
Desktop Resolution: 3840 x 1080
Primary Display Size: 20.08" x 11.30"  (23.03" diag)
                                        51.0cm x 28.7cm  (58.5cm diag)
Primary Bus: PCI Express 16x
Primary VRAM: 2048 MB
Supported MSAA Modes:  2x 4x 8x 16x 

Sound card: Audio device: VIA VT2020

Memory: RAM: 15946 Mb

Miscellaneous: UI Language: English LANG: C Microphone: Not set Total Hard Disk Space Available: 46838 Mb Largest Free Hard Disk Block: 27962 Mb VR Headset: None detected

demnok commented 8 years ago

+1 on this one. I'm on OS X El Capitan 10.11.5. Started since 2-3 updates ago, some breaking change was introduced. My client also behaves weirdly in full-screen mode. Probably unrelated, but happened at the same time with this one.

uLLeticaL commented 8 years ago

For some reason, when the Linux and Mac OSX CS:GO client went from 32 bit to 64 bit. In VSCript land, this broke, or behaves differently.

The following works on Windows perfectly fine. (and did work on Linux & OSX previously)

SomeVariable = 1;
if (SomeVariable == 1) { }

Now after transitioning the CS:GO client for Linux and Mac OSX to 64 bit.

if (SomeVariable == 1) { }

No longer works, instead - the following has to be done to make it work again.

if (SomeVariable == 1.0) { }

Something is broken between integers and floats, since 1==1 should equal true.

I've also checked the some of the coop.nut files, and saw the same logics, but the official coop maps by Valve might not be effected, because they are hosted on (32bit?) dedicated servers.

This problem could perhaps fix a lot more bugs within the CS:GO client. Thanks to havenoammo for finding this out as well!

This has been validated by a few people already, I've changed a lot 1's to 1.0's, and Linux/OSX users reported things were working again.

davidw-valve commented 8 years ago

@uLLeticaL I tried your code fragment, but I couldn't reproduce the behavior you see. SomeVariable == 1 compared as true for me, running on CS:GO on Linux.

Do you perhaps have a complete but minimal reproduction case I can try?

daniel-Jones commented 8 years ago

The maps do appear to be working correctly for me now.

uLLeticaL commented 8 years ago

@davidw-valve

I've made a little test map, with a test script, @havenoammo (havenoammo) found out calling RandomInt before logic will bug it out.

This is my screenshot on Windows, all cubes are green. (Windows 7 64 bit) https://i.imgur.com/ahrzMMH.jpg

Now we do the same on @havenoammo Linux CS:GO client, and last 3 cubes are all red. (Linux Kernel version 4.6.2-1-ARCH) https://i.imgur.com/ZkjzeGr.png

Thanks a lot!

wayhome5 commented 8 years ago

I am also unable to complete Weapons Course. I am on OSX Mavericks 10.9.5. I am sure the game itself is up to date. No way to progress to the next assignmnent after finishing first clip. The Workshop Aim Reaction map is also broken for me.

davidw-valve commented 8 years ago

We have a fix for this that we are going to ship with the next update.

Thank you very much for the test case. It was very helpful in tracking down and fixing this issue.

Tele42 commented 8 years ago

Closing as fixed in the 2016-07-15 update.