Wizzup?
2012-07-05 17:30:03
If you have downloaded the plugins zip previously, download it again. It contains fixes for both SMART and SPS.
This is the official release of Simba 0.99.
tl;dr: There have been tons of changes. Please try this release with the new plugins (see link below) and let us know if it works well enough. Once several persons have confirmed this works for them, I'm going to add Simba 990 to the auto updaters. I chose to release this as Simba 0.99 rather than Simba 0.99-rc7 because a real release gets the Simba developers a lot more feedback.
The most notable new things in this release is the new settings form, automatic (silent) updates, proper SRL updaters, support for the latest and great SMART (7.x). The thing I am most excited for myself is the much improved lape support. We have a SRL-5 lape branch somewhere that we'll try to merge in the main SRL repository soon, so that everyone can enjoy SRL in Lape as well. SMART and other plugins should work in Lape too. (Granted that you have the new plugins, I'll get back to that)
So basically, it should be possible to run your script in Lape. Which also means most Linux users can now run at least some basic scripts with SRL and SMART. Hooray!
To achieve all of this, we had to change a few things to the plugins. This resulted in new versions of all the current plugins. However, the new plugins will not function correctly in the OLD (pre 0.99) Simba, so it is pertinent that you update to 0.99. (Old plugins will work fine in Simba 0.99, but they won't work in Lape) The SRL updater extensions have also been changed in such a way that they will not compile with Simba 0.98. The solution is to simply upgrade to 0.99 and the extensions will compile again.
EDIT: All the updates have now been pushed.
So where do we go from here?
Why, Simba 1.0 of course! Simba 1.0's main goal is usability and the much (and particularly long) anticipated Script Manager. Hopefully we'll be able to squeeze some kind of Lape forms in it as well, but no promises to that. After Simba 1.0, we'll rewrite some of the core parts of Simba. That includes a much needed thread/process rewrite as well as hopefully a lot of cleanups in the UI. I'm not sure if this will be Simba 1.1 or 2.0. I'll probably go for 2.0 since we've surpassed the 2000 commits with this release!
Download links:
Simba Installer (recommended): http://nala.villavu.com/downloads/master/902397653ce75df9d6b726824196b4fdeba892c5/SimbaInstaller.i386-win32.exe
All platform downloads: http://nala.villavu.com/downloads/master/902397653ce75df9d6b726824196b4fdeba892c5/
Short list of changes since Simba 0.98:
- Automatic Simba updates. (Can be disabled in the new Settings form)
- Updated SRL updaters. (Will now properly install plugins when they are already in use)
- DeleteFile, RenameFile added. (They are not sandboxed in Extensions)
- SetPersistentMemory support in TMufasaBitmap. (For the new SMART)
- FData is now exported for each TMufasaBitmap. This means you can directly access the memory from Lape and Plugins. You can also pass the FData pointer around in PascalScript. The type of FData differs per cpu. It's a 32 bit integer on 32 bit Simba, and a 64 bit integer on 64 bit Simba. (Just use a C ``long'')
- Installer ships with PDF and HTML documentation. (See the folder Documentation/ in your Simba folder)
- libFFI is statically linked in all Simba's except the 64 bit Windows one.
- CPascal disabled. RUTIS and CPascal support will be removed from the source soon.
- New Settings Form. (Tools -> Settings)
- Linux now properly shows current active interpreter.
- Linux mouse input now works properly again.
- Plugin backend rework; support for multiple ABIs.
- Support for plugins in lape.
- Latest and greatest Lape. You can now run most SRL scripts on Linux and Windows.
You just need to use the EIOS-capable smart. - Simba is portable by default. If a system wide install is required by some users, this can be arranged.
- The non-portable version of Simba now respects user directories on both Windows and Unix (with XDG support).
- More hash/cipher functions.
- SQLite support. (If the sqlite3 library is available)
- Major settings backend rework.
- Added Version to Simba's UserAgent.
- Support for JPG/PNG in TMufasaBitmap.SaveToFile (and in SaveBitmap)
- Formatter extension to nicely format your scripts.
- Examples/ directory.
- SendKeys now also has keymodwait
- onScriptOpen and onScriptStart hooks for extensions.
- Crash logger. When something goes wrong, Simba will attempt to write a log to a file. You can then choose to keep running Simba or terminate it. (I feel this is the most experimental feature)
- Initial support for loading a bitmap from clipboard in the bitmap convertor.
Bugs (from bugtracker) fixed:
- [0000404]: Ctrl + Space Function List,, Make it Resizeable
- [0000409]: Warning @ no memory manager set
- [0000406]: BitmapExists()
- [0000408]: DTM is inconsistent (Simba 990+)
- [0000400]: Ini files aren't secure
- [0000127]: SQLite for Simba?
- [0000403]: Path Constants
- [0000402]: ScriptFile
- [0000382]: Suggestion: Add X button to function list to quickly clear searches.
- [0000380]: FindColoredAreaTolerance
- [0000379]: Error
- [0000378]: glitchy
- [0000375]: MSI: couldn't find MSI
- [0000373]: CPU management
- [0000370]: Control + Space broken.
- [0000360]: Script formatter?
- [0000314]: Settings.xml should be written more often
- [0000293]: Add a Report Window to Simba
- [0000292]: Simba needs a portable installer
- [0000266]: Missing functions ( I dont know if syntax is changed from scar.)
- [0000263]: Change font in settings
- [0000255]: Trouble with INI functions
- [0000247]: out of ranges
- [0000224]: Change the way file specific conditionals are defined.
- [0000221]: Change the way non-string settings are loaded
- [0000040]: The Setting Form is Ugly
- [0000369]: TFontStyle, fsUnderline = fsStrikeout, vice versa.
- [0000363]: Ctrl+A in Debug Box = Ctrl+A on Script Typing Spot
- [0000280]: TMDTM.AddPoint now returns the points index.
- [0000283]: Length(s); and GetArrayLength(var arr);
- [0000251]: Custom XML files
- [0000294]: %HOMEDRIVE%\Simba\
- [0000305]: Rearranged the Class registration (PascalScript) to fix a few problems.
- [0000366] Sum64IntArr
- [0000338]: Can only load bitmap from file (no copy/paste)
- [0000415]: Mouse support on Linux fixed.
Git shortlog:
Bart de Boer (1):
Fix FilterPointsPie.
Benjamin Land (5):
Modified EIOS implementation to be fully functional for both PS, lape, and anything else. These modifications are fully backwards compatible and don't affect anything currently in use, so are safe to merge.
Added middle button functionality to EIOS and also fixed the not-clicking bug.
Dgby714 fubar'd the plugin loader; here's the fix.
Backbone of ffi bridge for lape. Missing two important things: 1) does not parse actual function arguments 2) does not clean up the allocated memory
Revert "Backbone of ffi bridge for lape. Missing two important things: 1) does"
Benjamin Lee (2):
Clear Search button
Clear Search button - Aligned button
Daniel (1):
Added Examples to Simba
David Thompson (2):
TPA Docs Update - Bored...
Fixed a mistake with Naming. Added to File Documentation.
Jack Shannon (2):
Populated settings form, added loading and saving
Access violation fix.
John Peel (49):
Simba: Use proper directories.
Settings file now defaults to DocPath incase of permission problems.
MMLAddon: crypto.inc Cleanup
MMLAddon: crypto.inc cleanup 2, Free Digest
Added DCP Ciphers, Moved DCP Hashes. Added RC2 thru RC6 to Simba.
Simba: Ctrl+A fix for memo.
Forgot a file in ctrl+A fix.
Extenstion: srl.sex update, fixed plugin updater
Simba: Use XDG_* for DocPath.
Added moved units (DCP) to Makefile.
Simba: Use DS instead of static '/'. Also added a missed semicolon.
Simba: Removed dcpbase64 from a file that didn't need it.
Simba: DocPath fix. (Windows, use GetUserDir instead of $HOME)
PascalScript: Made the first parameter of GetArrayLength a const.
PascalScript: Fixed TFontStyle enum. (Rearranged)
MML: FindFile fix.
MML: Fixed Header, Picky about consts...
Simba: Moved data files, added Portable Define.
Simba: Default to relative paths in Portable.
Cleanup and added USE_CPASCAL define. Also fixed freeing Lape.
Simba: Small changes to the form.
Lape: Added a temp fix for our lack of a proper write procedure.
Simba: Fixes to Clipboard Loading
Extenstion: Script Formatter
Simba: TPathSetting - Fixes paths when CurrentDir != AppPath
Simba: Includes.Path -> TPathSetting, Forgot...
MML: IS_INCLUDE fix.
MML: Fix RequireFile debug line.
MML: FindFile now results a Boolean.
Simba: Set TPSScript.MainFileName, Fixes FindFile.
Simba: Function List now will obey defines.
Simba: ErrorLog path fix
Simba: Dg is a dumbass, Wrong function...
Fixes Lape paths, also instead of passing paths from Simba, Read paths from Settings.
Dynamicly load SQLite, try downloading library if missing.
Forgot to remove a few unneeded variables.
No downloading the library. WriteLn where the user can get it.
Simba: Make ScriptPath Absolute, Fix USE_EXT define.
Extenstions: Fix ScriptFile =)
Plugins: Write a warning when plugins don't set a mempry manager.
Simba: Changed the plugin memmgr notification to a Debugln.
Simba: TPathSetting fix Added a check if its a file before appending the path delimeter. Added a TPathSetting.GetDefValue, as TStringSetting conflicted by using FValue instead of Value. - This also fixes our Extention bug
Simba: Renamed TPathSetting, Created a new TPathSetting. - Renamed TPathSetting to TFileSetting and removed the file check. - Added a TPathSetting that inherits TFileSetting and includes the path delimeter.
Mailmap File
MML: TMDTM.AddPoint now returns the points index. Fix for bug 0000280
Added Sum64IntArr Suggested in bug 0000366.
MML: Using Xlib instead of Xtest for Mouse functions. Fixes Bug 0000415.
MML: Changed a few TXEvent to TXButtonEvent, Removed xtest unit.
MML: Rearranged the Class registration (PascalScript) to fix a few problems. Fixes Bug 0000305
Kevin Brightwell (2):
Added LevDistance and NormLevDistance.
Added lape info.. no idea why it won't compile. Check the mmlpsthread.pas
Kyle Wollaston (21):
Added SQLite3 methods.
Changed paths in Install/windows/Setup.iss from absolute to relative as well as adding sqlite3.dll (tested, works fine).
Changed sqlite_open to not throw an exception.
Fixed auto-freeing of SQLite database handles.
Added column names in callback to first row of result.
Added USE_SQLITE define for optional support of the SQLite library.
Added additional SQLite constants.
Overloaded the (Lape) sqlite_query and sqlite_open exported methods.
Added SQLite documentation.
Fixed build error.
Minor SQLite doc changes.
Added sqlite_queryResult and updated documentation to reflect this addition.
Forgot to update the example for sqlite_queryResult in the documentation.
Added BitmapExists function. http://bugs.villavu.com/view.php?id=406
Added DTMExists.
Call file open/write hooks for INI functions, doesn't work atm (?)
Added GetProcessID function.
Added GetProcesses and SetTarget functions to Lape.
Fix multiple requests for THTTPClient.
Forgot to clear document in GetHTTPPage.
Made autocomplete form resizable..
Merlijn Wajer (169):
Simba/SimpleSettings: Initial work.
Simba/SimpleSettings: Add .lrs file.
Simba version -> 0.99.
OCRBench updates.
Some changes to OCR.
Went through the UpText code, added comments.
Comment BenLand100's code.
New Upchars!
Fix casing in updater URL.
Update Documentation version to 0.98.
Add Simba/<Version> to User Agent.
Update lape head.
SimbaVersion -> 981.
Add Simba/<Version> to User Agent.
Some documentation changes.
Bump installer version to 0.99.
Fix FindDeformedBitmapToleranceIn.
Fix CTS 2 bug.
CTS 2 Optimisation.
Update copyright.
Another CTS 2 fix.
Merge font comments.
Update lape head.
Add LAZARUS_PATH to Makefile args.
Fix CTS 2, CTS 3 and RGB<->XYZ.
Remove debug.
Update LAPE head.
New 'y' Upchar by TRiLeZ.
PORTABLE -> NOTPORTABLE.
Make updateform compliant with settings rework.
Bug 346: RO mode doesn't work on unsaved scripts.
Initial crash logger & Simba.exe info update.
Bitmapform: Add load from clipboard.
Small fixes to clipboard loading.
Added a minimal TODO.
Support JPG/PNG in TMufasaBitmap.SaveToFile.
Remove double defines.
Makefile: Remove (deprecated) rutis code.
Make: Comment some of the plugin copy procedures.
Make: Enable Script folder creation.
Credits for formatter extension.
Merge new settings work.
Fixed a few settings bugs.
Fix alternative config support.
Update lape HEAD.
Additional settings changes. - May not compile.
Fixed compilation.
Implement onChange event.
Exemplary onChange.
Small todo.
Remove useless line.
Settings fix.
Simple settings form.
Settings fix.
Simba Settings: Ensure the form is visible.
Add minimal list of settings.
Changes to new Simba Settings form.
Add Interpreter support for settings form.
Move settings form back to a normal position.
Updater is now the default tab.
Fix saving for functionlist/tray.
Clean up simbaunit.pas a bit.
Doc version bump + small fix.
Support for onDefault, more clean up to settings.
Move default settings to newsimbasettings.
Rename settings options.
Initial attempt at onScriptOpen hook.
Finish onScriptOpen and fix onScriptStart hook.
Additional doc changes for hooks.
Fix breakage due to new hooks.
Minor documentation changes.
Decrease verbosity for simbaunit.
Ready OCRBench for autobuild.
Try to fix OCRBench compilation on Windows.
Documentation underline fix.
Update copyright.
Merge OCR-Fixes branch.
Make OCR record packed.
Documentation for Uptext filter setter functions.
Finish the last bits of the initial settings form.
Change the CTS 3 algorithm slightly.
Add Path setting.
Linux: Allow mouse movement outside the client.
Fix GetColors on Linux.
GetColors fix for all platforms. ;-)
Remove deprecated MSI.sex.
SendKeys now also has keymodwait.
Update SendKeys documentation.
Few documentation fixes.
First try at adding documentation to the installer.
Update Linux TODO.
Update Setup.iss.
Update installer.
More installer changes.
More installer changes...
Makefile to also build PDF.
Split debug symbols to seperate file.
Let's test this.
There we go.
Fix case sensitivity issue.
Remove binary file from git.
Revert Setup.iss path changes.
Fix DTM invalid issue. Very interesting issue...
Update lape head.
BAZINGA. Fixed.
A few comments to dcpbase64.
libMML compilation fixes.
Update lape head!
Update lape head
Initial FPC libffi unit.
Closure API in ffi.pas.
Cleanups to ffi.pas
ffi.pas now has a license.
Change `Gonna' to ``Going to''.
ffi.pas changes and deprecation.
Update lape head.
Updater URL for system wide install.
Added OnAttach and OnDetach for plugins.
Start with plugins documentation.
Some more work on plugins documentation.
Documentation updates.
New plugin code. ABI 0, 1 and 2 are supported.
Add cdCdecl for default to mmlpsthread.
Update lape head.
Lape functions -> cdecl.
Update lape head.
Lape: Add plugin loading with libffi.
Lape: Free TList Wrappers as well.
Theoretically prevent double plugin bug.
Update Makefile for lpffi.
Fix Makefile.
Update plugin example.
Fix several hangs/bugs on exit.
Actually break instead of just print.
More fixes for when exiting=true.
Comment on a bug that should be fixed.
Add a directory seperator to all default paths.
Automatically focus search when 'X' is clicked.
Merge lape fixes for ffi.
Raise exception for lape plugins with no libffi.
Define Lape_CDECL.
Make lape-write functions lape_extdecl.
-dDynamicFFI.
FilterPointsPie fix by Bart de Boer.
Update Makefile to statically link libffi.
Put -Fl in platform_flags.
Update to latest lape.
Initial attempt at bug #117 on github.
No Static FFI on x64 Windows.
Extra check in ResetPersistentMemory.
Export FData. This is experimental!
Actually set FData in SetPersistentMemory.
Lape/PS support for PersistentMem.
Should resolve issue #115 on github.
Disable CPascal by default.
Restore Windows support for #117.
Add DeleteFile to documentation.
Warn when Plugin update fails.
Fix typo in plugins.rst.
Add formatter extension to the installer.
Add AutomaticallyUpdate setting.
Silent and automatic Simba update.
Allow force update.
Add RenameFile.
Allow DeleteFile + RenameFile in extensions.
CRov now uses built-in DeleteFile.
srl.sex uses RenameFile due to failing Windows.
Doc: SetSocketTimeout -> SetTimeout.
Fix mistake in plugins documentation.
Niels A.D. (12):
DTM Editor: Mouse hovering shows color now more clear (black letters with yellow glow).
Update lape.
Changed fontloading, so it works in Lape too. More exports for Lape.
One more exported function to Lape. Also minor changes to the dtm editor.
Lape update + import bugfix so Lape can compile again.
Fixed export.
GetColors fix. Lape update.
Lape update and file finding fix.
Lape update and fixed defines.
Added stop functionality for Lape scripts.
Catch code completion exceptions.
Lape ExposeGlobals (for CallProc).
Trenton Smith (8):
TPAFromEllipse/TPAFromCircle/SortATPAFromMidPoint
Color Conversions added for CIELab
FillEllipse, SortTPAByX/Y, FindTPARows, FindTPAColumns
CalculatePixelShiftTPA
CalculatePixelToleranceTPA
TPAFromEllipse/TPAFromCircle/SortATPAFromMidPoint
Color Conversions added for CIELab
FillEllipse, SortTPAByX/Y, FindTPARows, FindTPAColumns

