Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft Change: Use Squirrel version 3.0.7 #7708

Open
wants to merge 2 commits into
base: master
from

Conversation

@nikolas
Copy link
Contributor

nikolas commented Aug 29, 2019

Here's a branch to play around with that updates OpenTTD's modified
version of Squirrel 2.2.5 to a similarly modified version of
Squirrel 3.0.7.

This is a work-in-progress as the compiler warnings need to be addressed.
But, it's in a usable state to test out AIs and game scripts using
Squirrel 3.

@nikolas nikolas force-pushed the nikolas:squirrel3 branch 4 times, most recently from 4001de9 to fa44532 Aug 29, 2019
@nielsmh

This comment has been minimized.

Copy link
Contributor

nielsmh commented Aug 29, 2019

Fails on Windows since it compiles with SQUNICODE defined, which defined SQChar as wchar_t and becomes incompatible.

I think this is a high risk change not worth pursuing, it will most likely break a large number of existing AI and GS. In my opinion, if even a single existing addon breaks this can't be merged.

@LordAro

This comment has been minimized.

Copy link
Member

LordAro commented Aug 29, 2019

In my opinion, if even a single existing addon breaks this can't be merged.

Agreed, unless the old behaviour can be restored

I'd like to be annoying and ask that adding squirrel 3 and making modifications to it should be separate commits. Breaks the "every commit should compile" rule, but I think it would be worth it to make it more obvious which are our modifications

@nikolas

This comment has been minimized.

Copy link
Contributor Author

nikolas commented Aug 29, 2019

I think this is a high risk change not worth pursuing, it will most likely break a large number of existing AI and GS. In my opinion, if even a single existing addon breaks this can't be merged.

Absolutely this will break AIs that depend on Squirrel 2 features. For example, AdmiralAI breaks because it uses for(local c = 0; c < vargc; c++) {, and vargc is no longer a keyword in Squirrel 3.

I don't intend this to be merged any time soon. Rather, this is an experimental branch for anyone who wants to test things in Squirrel 3.

@nikolas nikolas force-pushed the nikolas:squirrel3 branch 5 times, most recently from 44214e3 to 3fd4b91 Aug 29, 2019
@nikolas

This comment has been minimized.

Copy link
Contributor Author

nikolas commented Aug 30, 2019

I've separated this out into two commits on @LordAro's suggestion. It's easy to see the modifications now. That was a big challenge with updating this in the first place.

@nikolas nikolas force-pushed the nikolas:squirrel3 branch from 3091b48 to db05859 Aug 30, 2019
@nikolas nikolas force-pushed the nikolas:squirrel3 branch 2 times, most recently from f343372 to 6335dfc Aug 30, 2019
@nikolas nikolas force-pushed the nikolas:squirrel3 branch from 6335dfc to be4bc7c Sep 9, 2019
@nikolas nikolas changed the title Change: Use Squirrel version 3.0.7 Draft Change: Use Squirrel version 3.0.7 Sep 17, 2019
@nikolas nikolas force-pushed the nikolas:squirrel3 branch from be4bc7c to 5fa1463 Sep 18, 2019
nikolas added 2 commits Aug 6, 2019
This is Squirrel 3.0.7 from squirrel-lang.org.
@nikolas nikolas force-pushed the nikolas:squirrel3 branch from 5fa1463 to 7eb3d42 Nov 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.