Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
Ùpdate Squirrel and replace sqplus with sqrat
BlueHazzard:
Hi, i finally got somehow the time to finish a first patch for porting squirrel to the newest version and replace sqplus with sqrat.
i have made a pull request to the repo of obfuscated on github and attached a patch here.
The changes are following:
--- Quote ---general scripting:
# unified error handling
# more informative errors and error reporting dialog
+ complete unicode utf8 support
+ Add more test cases
+ Add menu test script
+ Add script to convert old 2.0.8 squirrel scripts to new 3.0.4
script plugins
# Fix multiple bugs in script Menu Handling
+ Add parameter to OnModuleMenuClicked to distinguish between module
menus
+ CodeBlocks event handling in scripts
add cb_vm:
+ Prepared to use multiple vms
+ Sand boxing
script binding utility
+ Add StackHandler class for easy squirrel stack handling
wxWidgets binding
+ wxStrings are now handled as native strings: no need of
_("") or wxT("") to create wxStrings. Calls to wxWidgets functions
can now handle native strings
+ Add various global bindings
documentation
+ begin squirrel section in doxygen documentation
--- End quote ---
i forget to mention, that i added also squirrel debugger interface, so you can debug squirrel code running in codeblocks with codeblocks (you need the squirrel debugger: https://github.com/bluehazzard/cbSquirrelDebugger this debugger should work with the current Codeblocks version). I will post a video how it works probably later this week...
I have tested this patch with wxWidgets 2.8, and git trunk (3.0) on windows 7 and linux with tdm-gcc4.8 and tdm-gcc5.0 and also 64bit on windows. I could not test the PCH because gcc crashed every time i tried to compile it, so this my need some more tweaking. Also missing are the make files. i simply have not the experience to update them.
This is one of more patches. When the rework is finally finished codeblocks scripts can use all base wxWidgets controls and wxWidgets events. Script plugins are as comfortable to install as normal plugins and many more improvements.. It all is working on my local branch, i "just" have to split it up in handy patches and keep them in sync with the trunk.
greetings
PS.: i had to split the patch. You have to rename the files from sqplus_to_sqrat.001.7z -> sqplus_to_sqrat.7z.001 because i could not upload the original file
PSS. Keeping the "thousand" project (wx2.8 wx3.0 64bit, unix all plugins ecc.) files in sync is a terrible job...
oBFusCATed:
Do you keep the version with separate commits somewhere?
This one is really massive 17k loc added and only 1.5k loc removed according to github.
I don't think anyone can review such a big commit :(
oBFusCATed:
Already saw bad staff in the commit.
1. There was a using namespace in a header.
2. Some new classes have been named in non conforming to the naming convention way (Menu_point_item).
3. I don't like the ->GetVM()->GetVM() pattern I see all over the place.
4. The changes in the envvars plugin looks to be mostly cosmetic, but they clutter the diff for no apparent reason.
5. You can remove all the code in the debugger plugin. It is mostly useless.
6. The changes in common_functions.script look to be cosmetic only.
7. The convert script is using camelcase for the name of the file. It is better to stick to lowercase and underscores!
8. Why have you added 2 new scripting extensions?
9. Problems with indents in src/sdk/menuitemsmanager.cpp
10. Using std::list in the same file. Using std::list ist the same as committing a crime against humanity. Vectors are always better. :)
11. Mixing includes with "" and <>, I'd say prefer "".
12. There are changes in wxpropgrid. Why? Why not separate commit?
13. Extremely log line in app.cpp
14. Lots of "FIXME (bluehazzard#1#): squirrel error" left in the code. Why?
I've glanced over the patch only and this is not a thorough review.
The biggest problem is the size of the commit.
So I'd rather prefer if you split it up in parts. I've mentioned this many times on IRC.
And for me the most important part is getting the sq3+sqrat in svn.
After that we can add more features. But I'd prefer if we have a solid base.
ollydbg:
About PCH, you can use the compiler from MinGW-w64 site, such as MinGW-build GCC 5.3, it fixed PCH bug already. TDM GCC 5.1 dose not have such fix.
stahta01:
FYI: Using "wxCHECK_VERSION" without including "wx/version.h" will likely lead to errors on NO PCH builds on Linux.
Edit: This header "wx/wxprec.h" includes "wx/defs.h"; and "wx/defs.h" includes "wx/version.h". Your patch guards "wx/wxprec.h" which will likely result in a NOPCH Build error.
Tim S.
Navigation
[0] Message Index
[#] Next page
Go to full version