Deji Posted September 14, 2013 Author Share Posted September 14, 2013 I dont know about you lot, but I'm certainly getting into the SCRambl hype, as you can see from recent signature updates... Just in the middle of fixing multifile compilation. SCRambl has a builder which sends each file to the compiler to compile to separate files before building the final file. The parser also creates list files for each subscript, which are a snapshot of the intermediate data which gets sent to the compiler to write to file. This is helpful mostly to me for debugging the compiler (sometimes changes in code cause SCRambl to miscount offsets, but they're easily fixed and won't be a problem for long) but may also be very helpful to people to write scripts and plugins for SCRambl. Oh yeah, that's happening. After I'm done with multifile compilation, I just need to work on header creation for SCM files, do a few other easy things here and there and SCRambl will be ready for a BETA! Here is multifile building in action. I resisted the urge to add a "because I just thought that might be helpful" response when you have to type 'y'... There's always next time I'll probably get rid of the response requirement, though. And Finally: Attempts at dev-user interactivity are rarely successful, but it would be great if anyone could write some interesting test scripts for SCRambl... It might be a fun way to christen the nearing BETA release and may help me make some necessary changes for ease of use or add new features and probably fix some bugs. I will finish writing some quick easy-to-digest documentation for getting into SCRambl tomorrow and then anyone who wants to experiment can post some scripts. Maybe someone else can improve on that and I may be able to help some people learn how to get the best out of SCRambl Link to comment Share on other sites More sharing options...
Deji Posted September 14, 2013 Author Share Posted September 14, 2013 (edited) SCRambl Documentation is here! No, here: https://dl.dropboxusercontent.com/u/46693209/MANUAL.htm It's not got everything covered, but quite a lot. It took all day, so I'm taking the night off. I hope someone will get interested in the idea of writing some fun random scripts for SCRambl. Crazy scripts. They dont even have to work in-game for all I care EDIT: Added new 'Basics' section on strings - https://dl.dropboxusercontent.com/u/46693209/MANUAL.htm#Basics.Strings EDIT2: Added macro parameter support - EDIT3: Added information on macro parameters to documentation - https://dl.dropboxusercontent.com/u/46693209/MANUAL.htm#Preprocessor.Directives.Define EDIT4: Committed latest changes on google code Edited September 21, 2013 by Deji Link to comment Share on other sites More sharing options...
Deji Posted October 17, 2013 Author Share Posted October 17, 2013 (edited) New revision of SCRambl Documentation: https://dl.dropboxusercontent.com/u/46693209/MANUAL.htm Added a lot of content and also made some changes to reflect recent major changes to the core features of SCRambl. The documentation has now also been made interactive and more user-friendly with JavaScript, so you can open/close sections and change the font size and so on. For the few that may actually read it, let us know what you think of the design so far and if it needs any more last minute changes before the BETA. Right now I'm in the middle of updating some of the features to work with the new design. UPDATE: Entered ALPHA testing stage. Will be testing, fixing and making last minute changes until Sunday and then the first public BETA will be released. Edited October 29, 2013 by Deji Link to comment Share on other sites More sharing options...
Deji Posted November 3, 2013 Author Share Posted November 3, 2013 Read the first post!!! It's real!!! As mentioned via twitter, SCRambl will be updated periodically during the BETA. Always make sure you download the latest version before reporting any bugs! And yes, this is BETA so there may be bugs and limited features for the time being. Report issues here, GTAG Modding or on Google Code. There's an installer provided which will mostly help with the daunting task of adding SCRambl to the Path environment variable. What this means is, to run SCRambl, you can simply run this in command prompt: SCRambl.exe [parameters] However, SCRambl also still has its support for console mode, which will allow you to use the console window to control SCRambl (not as speedy when it comes down to it). You could also use Sanny Builder as an IDE and add SCRambl as a 'User Tool' activated by a shortcut key, and use that shortcut to compile your script. Even though it is mentioned in the manual briefly, here is the key to the most common command line parameters: -o filepath Opens a source file (if a folder with the same name as the file is detected, you may be prompted to add scripts within as MAIN subscripts) -c Compiles all open source files -p Enables console mode (keeps the console window open, allowing you to enter commands to further control SCRambl) These command line parameters are shorthands, which refer the console commands which can be used when you're not running SCRambl from the command line respectively: open, compile, pause SCRambl currently lacks compilation of headered scripts, which will be introduced in an upcoming version of the BETA along with a huge feature still currently in the works Link to comment Share on other sites More sharing options...
Silent Posted November 5, 2013 Share Posted November 5, 2013 Native Linux build anyone? Link to comment Share on other sites More sharing options...
Deji Posted November 14, 2013 Author Share Posted November 14, 2013 (edited) SCRambl 1.0.35 (BETA) Released! + New directive #register_var for registering variables in-script with custom indexes + Added new field 'array size' for variables.def definitions, specifying variable array sizes + Added new field 'is timer' for variables.def definitions, specifying a variable is externally modified + Added handling of hashes instead of opcodes (partially) * Changed the syntax of variables.def * Improved performance (a lot) * Improved operation matching * Fixed some definition loading bugs * Fixed operation matching bug where the parser would use loosely compatible opcodes for var assignments Edited November 16, 2013 by Deji Link to comment Share on other sites More sharing options...
Deji Posted November 15, 2013 Author Share Posted November 15, 2013 (edited) Been working on some code to generate SCR definition files for Notepad++! Progress is good... If all goes well, Notepad++ might be the first official UI choice for SCRambl, since it has pretty much everything we'll need... EDIT Another (bit of a tease)! Edited November 16, 2013 by Deji Alexander, Silent and Ss4gogeta0 3 Link to comment Share on other sites More sharing options...
Deji Posted November 18, 2013 Author Share Posted November 18, 2013 (edited) SCRambl 1.0.36 (BETA) Released! * Updated command definitions in commands.def * Fixed bug where SCRambl would produce an 'Unrecognized character escape sequence' warning when using the '\\' escape sequence * Fixed bug where variable argument lists didn't work properly * Fixed bug where trying to define 'variable return lists' threw an error * Fixed bug where SCRambl wasn't throwing errors for undefined label usage * Fixed bug where conditional command overloading didn't work properly Very important update. Is anyone here even brave enough to try a new compiler? EDIT Here are the files for Notepad++ SCR syntax. Follow the readme.txt instructions very carefully! It's still a WIP! https://dl.dropboxusercontent.com/u/46693209/SCRambl-npp.zip Edited November 18, 2013 by Deji Silent 1 Link to comment Share on other sites More sharing options...
Deji Posted December 4, 2013 Author Share Posted December 4, 2013 SCRambl 1.0.38 (BETA) Released! I was in the too in the zone to release 1.0.37, so I managed to make this a huge update... 1.0.38 + Added parsing of language INI files for customisable/translatable output + New directive #import for inclusion of various types of data and parsing of definition files + SCRambl now copies final compilations to the project (source script folder) directory * SCRambl now searches for source files in contained "lib" folders, allowing for global or application-specific include files * Improved file management * Improved error handling * Improved messages and output 1.0.37 + New directive #error for throwing errors in the preprocessor and preventing further parsing + New directive #warning for outputting warnings in the preprocessor + New directive #register_type for defining new types in-script + Added casting ability, e.g. "lvar_int:32" to produce an LVAR_INT with index '32' * Fixes to macros being used in-code * Fixed preprocessor bug where #else wouldn't be processed after an #if evaluating to false * Fixed crash using operators due to previous update * Improved translation parsing (now accepts "LVAR_INT[VAR_INT]", non-array variable types handled like arrays with less automatic data available in translations) * Improved type matching & command overloading * Improved performance SCRambl has gained some updates which make it friendlier with the concept of library scripts, and uses certain "lib" folders as additional #include (and #import) directories. This will allow easy extension of the scripting environment which can be game-specific, or even mod-specific (I'm working on SuperVars v2, now). The #import directive, as well as being able to include binary files within a compilation, can load additional definition files, which are parsed the same way as the default ones loaded from each application definition folder, which is sure to come in useful for me.. I mean, us all.. I mean, whoever still mods SCRambl also now uses language files for text output, so text is customisable/translatable. Unfortunately, my lack of knowledge of world languages means this is just a theoretically useful update, lol. Ss4gogeta0 1 Link to comment Share on other sites More sharing options...
Deji Posted December 18, 2013 Author Share Posted December 18, 2013 (edited) SCRambl 1.0.39 (BETA) Released! 1.0.39 + New directives #pushcfg and #popcfg for temporary changes of parser configuration in-code * Improved the way non-array types handle subscripts * Improved error handling - SCRambl now correctly aborts after errors * Improved stability * Fixed variable ARRAY declarations * Fixed bugs in error output * Fixed bugs in ASM parsing * Fixes to operand type matching Edited December 22, 2013 by Deji Link to comment Share on other sites More sharing options...
Deji Posted January 12, 2014 Author Share Posted January 12, 2014 SCRambl1.0.40 (BETA) Released! 1.0.40 + Added new inline preprocessor feature - use brackets [ ] in SCR code to treat code inside as for the preprocessor * Huge improvements to preprocessor expression evaluations - now much more C-like * Improvements to macro use in code * Improved list generation performance (slightly) * Fixed operators being processed in strings, causing an error when they occur (notably '~') Thanks to LINK for help with ideas implementing inline preprocessing. As usual, the manual has been updated. Check out the section on inline preprocessing: https://dl.dropboxusercontent.com/u/4669320...rocessor.Inline Link to comment Share on other sites More sharing options...
Jaybog Posted February 16, 2014 Share Posted February 16, 2014 I'm really confused and feel stupid because i allways got this message Error: failed to open file ' ' Building Project Error: No files in project I first tried it on my win xp computer and thought then i should try it with win7 So i downloaded scramble today with the win7 computer of a friend and installed it there As first i was wondering that there isn't a run.bat available because at the last attempt with my own pc i found a run.bat in the scramble folder I don't know which version i tested as first. Now i downloaded SCRambl.exe 1.0.40, link from this post: http://gtaforums.com/topic/566450-relsrc-scrambl/?p=1064500838 Computersystem: win7 home premium sp1 GTA SA: v1 eu, installed at C:\Games\Grand Theft Auto San Andreas I installed SCRambl by default settings at C:\Program Files (x86)\SCRambl edited config.ini .. only gamepath I tried as first to open(or decompile?) the main.sc of demos folder with this command of run.bat inside of SCRambl folder: SCRambl.exe -o demos\ALPHA\main.sc -c -pi also tried this: SCRambl.exe -o \demos\ALPHA\main.sc -c -pbut i got the message "No files in project" As next i copied the tiny script of your manual and saved it as test.txt in SCRambl folder SCRIPT_NAME scramblWAIT 2000PRINT (HELP101) 5000 0TERMINATE_THIS_SCRIPTand wrote in the run.bat SCRambl.exe -o test.txt -c -pbut i got the message "No files in project"then i renamed it into test.sc and wrote in the run.bat SCRambl.exe -o test.sc -c -pbut i got the message "No files in project" Then i opend the stripped.txt of sannybuilder\data\sa in sannybuilder and compiled it as stripped.scm into SCRambl folder and wrote in the run.bat SCRambl.exe -o stripped.scm -c -pbut i got the message "No files in project"then i renamed it into stripped.sc and wrote in the run.bat SCRambl.exe -o stripped.sc -c -pbut i got the message "No files in project" what's wrong? or do i need any envirement? I did the same at home with my xp computer and got the same results Link to comment Share on other sites More sharing options...
Deji Posted February 16, 2014 Author Share Posted February 16, 2014 Okay, okay. Actually, the path to the source file is relative to where you are starting SCRambl.exe from. You appear to be using "SCRambl.exe" in the command line, which will mostly work with the Path environment variable set, however SCRambl will use whatever the 'current directory' is. So e.g. if you open a console window like this: Now if SCRambl.exe is typed, it will use files in "C:\Users\Deji". Unfortunately it will also try to load it's config files from there, which is something I'll fix in the next update. The run.bat file is a good alternative solution, however. You can type "run.bat" into the console window and it will work just the same (so it could be renamed to SCRambl.bat really). If you open this file you will see: @CD "C:\Program Files (x86)\SCRambl"@SCRambl.exe -o %1 [email protected]The first command 'CD' changes the current directory to SCRambl's folder, thus causing it to load files relative to that. The next line runs SCRambl and passes whatever argument was passed to it (the source file path), and the final one keeps the console window open after compilation until any key is pressed. So, running this command should work straight away: run.bat test.scYou can of course tweak run.bat however you want or copy it to create different quick ways of launching SCRambl. SCRambl has no (complete) decompilation functionality, by the way. Link to comment Share on other sites More sharing options...
Jaybog Posted February 17, 2014 Share Posted February 17, 2014 (edited) I have experience with batch files and i know: if batch file and script file is in same folder like SCRambl.exe i only need the command in the batch file SCRambl.exe -o <scriptfile> -cor with -p to keep cmd window open SCRambl.exe -o <scriptfile> -c -pisn't it? to clarify the scriptfile: i saved this script as test.txt and changed extension to test.sc SCRIPT_NAME scramblWAIT 2000PRINT (HELP101) 5000 0TERMINATE_THIS_SCRIPTthe file paths:C:\Program Files (x86)\SCRambl\run.bat C:\Program Files (x86)\SCRambl\SCRambl.exe C:\Program Files (x86)\SCRambl\test.sc now doubleclick on run.bat which contains this command: SCRambl.exe -o test.sc -c -p SCRambl.exe -o test.sc -c -p run.bat calls SCRambl.exe parameter -o to open sourcetext for scramble the scriptfile test.sc parameter -c to compile the sourcetext parameter -p to keep cmd window open the result: Error: failed to open file ' ' Building Project Error: No files in project and the scriptfile is still sourcetext, or where should i find the compiled script? I tried it also with dir path, just to try it, if it makes sense or not and i worked with cmd.exe, win7 allows to paste text into cmd window, so yes i pasted CD "C:\Programme\SCRambl" and pressed enter and then i pasted SCRambl.exe -o test.sc -c -p and pressed enter and i tried your example @CD "C:\Program Files (x86)\SCRambl"@SCRambl.exe -o %1 [email protected] and pasted run.bat test.sc into cmd window and pressed enteri tried a lot, i tried also to compile the main.sc of demo folder, i tried everything on win7 and winxp (yes, for xp i typed the dir path and the command into cmd window) but i always got this message Error: failed to open file ' ' Building Project Error: No files in project (don't click, you don't like to read it Edited February 17, 2014 by Jaybog Link to comment Share on other sites More sharing options...
Deji Posted February 18, 2014 Author Share Posted February 18, 2014 Hmm, you said... now doubleclick on run.bat which contains this command: SCRambl.exe -o test.sc -c -pHowever, in 1.0.40, the latest version, the run.bat should come like this: CD "[depends where you installed SCRambl]"SCRambl.exe -o %1 -c -pIt's automatically generated by the installer. However, I didn't add any relevant change to the run.bat in the ZIP file, which looked like this: SCRambl.exe -o %1 -c -pHowever, that's still not what you said it contained. I updated the ZIP which appeared to be fully updated in all other aspects, but try re-downloading and installing anyway to remove any doubt of any mix-ups. If that doesn't work, it must be something more technical, as the same installation is working for me as easily as dragging and dropping the source file on the .bat file. Of course, I'm really hoping it's not that random Link to comment Share on other sites More sharing options...
lpgunit Posted February 18, 2014 Share Posted February 18, 2014 Wonder if it's possible to interface it with your favourite IDE, i.e. Visual Studio. Link to comment Share on other sites More sharing options...
Silent Posted February 18, 2014 Share Posted February 18, 2014 Wonder if it's possible to interface it with your favourite IDE, i.e. Visual Studio. That's the thing I'm asking Deji for since ages, I guess it could be possible by playing around custom build settings. cba though. Link to comment Share on other sites More sharing options...
Deji Posted February 18, 2014 Author Share Posted February 18, 2014 (edited) Wonder if it's possible to interface it with your favourite IDE, i.e. Visual Studio. Hmm.. 'pretty much'? I mean, I built and debugged it in Visual Studio, so it is no challenge to launch it from Visual Studio on scripts written in it, although it's nothing like using the isolated shell to build a separate program which I've tried doing (trying to understand the VS shell API in C# is tough). You wouldn't be able to get syntax highlighting, SCR project types, etc. through the stock Visual Studio. I've provided generators for files for syntax highlighting and function hinting SCRambl SCR in Notepad++: http://gtag.gtagaming.com/notepadpp-scr.xml http://gtag.gtagaming.com/notepadpp-scr-lex.xml These, along with the readme on how to do it, allow a pretty complete integration of SCRambl with Notepad++. Not nearly as powerful and stylish as VS, but perhaps more user-friendly and is actually better than the usual grade of IDE you'd get for most simplified scripting languages, e.g. PAWN Edited February 18, 2014 by Deji lpgunit 1 Link to comment Share on other sites More sharing options...
lpgunit Posted February 18, 2014 Share Posted February 18, 2014 (edited) Wonder if it's possible to interface it with your favourite IDE, i.e. Visual Studio. Hmm.. 'pretty much'? I mean, I built and debugged it in Visual Studio, so it is no challenge to launch it from Visual Studio on scripts written in it, although it's nothing like using the isolated shell to build a separate program which I've tried doing (trying to understand the VS shell API in C# is tough). You wouldn't be able to get syntax highlighting, SCR project types, etc. through the stock Visual Studio. I've provided generators for files for syntax highlighting and function hinting SCRambl SCR in Notepad++: http://gtag.gtagaming.com/notepadpp-scr.xml http://gtag.gtagaming.com/notepadpp-scr-lex.xml These, along with the readme on how to do it, allow a pretty complete integration of SCRambl with Notepad++. Not nearly as powerful and stylish as VS, but perhaps more user-friendly and is actually better than the usual grade of IDE you'd get for most simplified scripting languages, e.g. PAWN True, well since while some do their code using an IDE, such as myself when I muck around with C# or VB, I do think it would be too much to do so when you can just write it up with a text editor and compile it. Edited February 18, 2014 by lpgunit Link to comment Share on other sites More sharing options...
Jaybog Posted March 9, 2014 Share Posted March 9, 2014 some weeks passed since my last visit but i downloaded and installed again newest version, same error and then i gave it up Hmm, you said... now doubleclick on run.bat which contains this command: SCRambl.exe -o test.sc -c -pHowever, in 1.0.40, the latest version, the run.bat should come like this: CD "[depends where you installed SCRambl]"SCRambl.exe -o %1 -c -pIt's automatically generated by the installer. However, I didn't add any relevant change to the run.bat in the ZIP file, which looked like this: SCRambl.exe -o %1 -c -pHowever, that's still not what you said it contained. I updated the ZIP which appeared to be fully updated in all other aspects, but try re-downloading and installing anyway to remove any doubt of any mix-ups. If that doesn't work, it must be something more technical, as the same installation is working for me as easily as dragging and dropping the source file on the .bat file. Of course, I'm really hoping it's not that random I said "As first i was wondering that there isn't a run.bat available because at the last attempt with my own pc i found a run.bat in the scramble folder"I must correct me a little bit, i found the run.bat inside of the beta zip but the latest exe version didn't install any run.bat Link to comment Share on other sites More sharing options...
Deji Posted March 9, 2014 Author Share Posted March 9, 2014 I said "As first i was wondering that there isn't a run.bat available because at the last attempt with my own pc i found a run.bat in the scramble folder" I must correct me a little bit, i found the run.bat inside of the beta zip but the latest exe version didn't install any run.bat Well the installation works absolutely perfectly from the .zip with minimal setup. I did have to correct something with the installer, though.. weirdly it seems I have two versions of the installer code and might have been running an older one. But no matter what, when I test any set-up method it is working fine with nothing manual done: Aside from that, I will be trying to rewrite a lot of the code and bring it to a more manageable level for future updates anyway, so hopefully if this problem persists it will be fixed by simple de-weirdifying of the code. Link to comment Share on other sites More sharing options...
Jaybog Posted March 16, 2014 Share Posted March 16, 2014 (edited) so i tried the beta zip and had success for a part,with your method and your run.bat and also with the custom run.bat SCRambl.exe -o test.sc -c -p "failed to copy c:\SCRambl_BETA\test.scc to test.scc" is that normal? i opend test.lst with notepad 'test.sc' parsed data0: [0] 03A4: SCRIPT_NAME SCRAMBL 1: [11] 0001: WAIT 2000 2: [16] 00BB: PRINT HELP101 5000 0 3: [32] 004E: TERMINATE_THIS_SCRIPT also test.scc, that have crypticals Edited March 16, 2014 by Jaybog Link to comment Share on other sites More sharing options...
Deji Posted March 18, 2014 Author Share Posted March 18, 2014 so i tried the beta zip and had success for a part,with your method and your run.bat and also with the custom run.bat SCRambl.exe -o test.sc -c -p "failed to copy c:\SCRambl_BETA\test.scc to test.scc" is that normal? i opend test.lst with notepad 'test.sc' parsed data0: [0] 03A4: SCRIPT_NAME SCRAMBL 1: [11] 0001: WAIT 2000 2: [16] 00BB: PRINT HELP101 5000 0 3: [32] 004E: TERMINATE_THIS_SCRIPT also test.scc, that have crypticals That's good. The reason it can't copy is because you're using SCRambl's install folder as the location of your source files. Usually SCRambl will compile the source to a file in it's own directory, then copy it to the directory of the source file, but in this case it can't and doesn't need to. The .scc files are your raw compiled scripts, which can be renamed to .cs or anything else (they only differ from .scm files as they don't contain a header). The .lst files are just for showing SCRambl's parsed rendition of the script, which can be helpful if something compiles wrong and you can't figure out why (e.g. it doesn't have the right definitions to make a correct type deduction). They can be turned off in the config.ini file. Link to comment Share on other sites More sharing options...
Patrick1994 Posted March 30, 2018 Share Posted March 30, 2018 (edited) I cannot download this project. In fact, every link in the intro post is dead, now that Dropbox killed "Public Folder" download links. Google code does not let me download the source code and the Wayback Machine does not have anything of the above archived. Edited March 30, 2018 by Patrick1994 BrownRecluse 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now