MicroMacro 1.0 beta
Posted: Mon Dec 29, 2008 8:21 am
Note: MicroMacro 1.0 can be found on the download page.
Here you go. There isn't much difference as far as features, but this version should have less bugs when it is complete.
changelog:
Here you go. There isn't much difference as far as features, but this version should have less bugs when it is complete.
changelog:
0.99 -> 1.0
* memoryRead* functions only return 1 value again. If an error occures, they return nil.
* registerKey() renamed to netPushKey().
* bit.* functions remapped to bitAnd(), bitOr(), bitLShift(), bitRShift().
* Added custom 'commands' directory for command scripts.
* Added function saveScreenshot() to save screenshots of the specified window (or 0 for desktop).
* Added function findPatternInProcess() to aid in finding addresses that may move when the game client updates.
* Added functions for getting/setting startKey and stopKey.
* Added function getAttachedHwnd() to return the handle of the attached window, or 0 if not attached.
* When attached, start and stop hotkeys only take affect when the target or MicroMacro window have focus.
* Corrected minor bugs in XML parsing.
* findWindow() and findWindowList() now can accept a second parameter; a specific control within a window.
* Made a minor improvement to keyboardType().
* Fixed a bug with function stopPE() that would cause it to not pause execution.
* Added getTime() and deltaTime() functions to get the current time, and difference between times with higher precision.
* Improved precision of yrest().
* Updated to Lua 5.1.4
* memoryReadString* functions that specify a length will read and return a string of that length, even if a NULL terminator is reached first.
* unregisterTimer() no longer generates an error when trying to unregister a non-existing timer.
* Added isDirectory() function to check if the given fully qualified path is a directory or not.
* Improved operating system detection.
* Added attachKeyboard() and attachMouse() to attach specifically one device; attach() still attaches both devices.
* Fixed window title not changing properly under Vista.
* Added memory access protection to host process; helps protect the user against malicious scripts.
* Window previews (thumbnails) will no longer be returned by findWindow() or findWindowList() unless specifically asked for (by class name).
* Removed memoryWriteU* functions. You can now use the standard memoryWrite* functions to write signed or unsigned. (only affects write functions, not read!)
* Automatic timers now run in a separate coroutine. You may now place while loops and yrests inside of timed functions without dirupting the flow of the script.
* Added getWindowClassName() function.
* Fixed network object finalizer functions causing MicroMacro to freeze.
* Improved speed of endian swapping when sending/receiving information.
* Added netGetAddress() to return the address of a remote connection.
* Fixed traceback output.
* Plugin system completely removed; Use Lua modules instead (work almost exactly the same way)
* Added cprintf_ex() function; cprintf() is now deprecated.
* Beta version number is now displayed in the log and window title.
* Window title resets back to default when re-initializing.
* Fixed a bug in the XML parser that caused negitive numbers to be returned as strings.
* Fixed an XML parser bug that caused empty strings to be returned as empty strings; they will now be returned as nil.
* Added function warning() which works almost exactly like error(), except it does not end script execution.
* Threads will no longer get out of control and block the user from stopping or killing (CTRL+L) the script.
* All memoryRead*Ptr() and memoryWrite*Ptr() functions can now accept a table of offsets for pointer chains.
* Added memory read/write functions for double type.
* Added lib/autoload.lua - place Lua and DLL files to autoload here.
* Automatically create a randomly generated network encryption key if net.lua does not exist.
* Added a proxy Lua DLL for better module compatibility.
* Fixed a bug in module loading (not running a returned function).
* Script input now assumes .lua extension if none is given (and file does not exist in current state).
* Added getModuleAddress() to return the address of a specific module inside of the given process.
* Added getTimerFrequency() to return CPU frequency and full operator support for time types.