- All games
- Final Fantasy XII: The Zodiac Age
- Mods
- Miscellaneous
- FF12 LUA Loader
FF12 LUA Loader
-
Endorsements
-
Unique DLs--
-
Total DLs--
-
Total views--
-
Version1.6.4
- Download:
- Manual
File information
Last updated
Original upload
Created by
ffgrieverUploaded by
ffgrieverVirus scan
Tags for this mod
About this mod
This module allows you to create scripts in LUA with which you can change the executable, memory and even call in game functions. This means that you do not have to patch your executable to enable hacks such as an FOV changer. It also has build in support for asmJit with which you can generate machine code yourself and numerous other capabilities.
- Requirements
-
Nexus requirements
Mod name Notes FF12 External File Loader 1.3.15+ Mods requiring this file
- Permissions and credits
-
Credits and distribution permission
- Other user's assets All the assets in this file belong to the author, or are from free-to-use modder's resources
- Upload permission You can upload this file to other sites but you must credit me as the creator of the file
- Modification permission You are allowed to modify my files and release bug fixes or improve on the features so long as you credit me as the original creator
- Conversion permission You can convert this file to work with other games as long as you credit me as the creator of the file
- Asset use permission You are allowed to use the assets in this file without permission as long as you credit me
- Asset use permission in mods/files that are being sold You are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
- Asset use permission in mods/files that earn donation points You must get permission to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
Xeavin for writing article stub.
Everyone who helped with testing.
Drahsid and Xeaving for a lot of great ideas and feature requests ;)Donation Points system
Please log in to find out whether this mod is receiving Donation Points
- Changelogs
-
-
Version 1.6.4
- Updated battle pack bindings
-
Version 1.6.3
- Added support for saving and loading json config files.
- Added support for save/load handlers that let you store data along with each save and load them (save extension).
-
Version 1.6.2
- Added alloc/dealloc functions for non executable, less limited memory allocations.
- Increased maximum guaranteed allocatable, executable memory in 32bit space to 128MB from 8MB.
- Added loadfile function.
- Added allocation tracking and checks that prevent scripts from deallocating memory they did not allocate.
- Changed formatting of some messages to always pad with zeros to the nearest 8bit value.
- Formatting changes to errors and messages.
- Possibility to clear allocated memory.
- External File Loader 1.3.15 support (note that it won't properly work on older versions).
- Fixed a deadlock when unregistering an event during a synchronous event.
- Added support for one-shot events.
- Addeed possibility to disable particular event queuing if one of the same type is already queued to execute or currently executing.
- Changed some void pointers to uintptr_t for easier handling within lua.
- Xeavin updated onMapJump event hooks to cover all cases (previous one would miss some).
-
Version 1.6.0
- support for global symbols
- support for flags
- large array writes optimization (around 6 times faster)
- some register/unregister functions that could take only one parameter can take now multiple at once
-
Version 1.5.1
- Optimized message.convert (should be 150-250 times faster)
- Using message.convert without specifying language will use current game language instead of English
- Added support for executing any function with any args
- Fixed a potential bug that could cause conversion language to change during message.convert
-
Version 1.5.0
- Fixed a lot of potential crashes and lua state corruptions.
- Minimized probability of events piling up when a script ends.
- -- note that it is recommended to update External File Loader to version 1.3.13 or later to fix registering an event after unregistering --
-
Version 1.4.3
- Requires FF12 External File Loader v1.3.11 or later
- Fixed rounding of integers by sol::as
- Added async execution
- Made reads/writes to known memory areas much faster
- Added parse function (without assembling code)
- Xeavin updated battlback bindings
- Fixed asmjit not allowing more than 32 labels in some scenarios
-
Version 1.3.0
- Increases responsiveness of events in cases where a lot of events are being fired (may cause more cpu load)
- Memory.readArray will now return a lua table instead of std::vector wrapper.
- Changes to battle pack binding (thanks to Xeavin).
- Added LFS support.
- Make synchronous event and queue locks separate to solve issues with thread synchronization.
- UnregisterEventSync now taking the right number of parameters.
- Porting of text changes from new version of ff12-text.
- Added the possibility to force close message window at any time.
-
Version 1.2.3
- Updated lua sol2.
- Finished the code that allows synchronous events to change argument values before passing them to the original function/next hook.
- Added a few functions to call table (getCurrentMap, getPreviousMap, getCurrentMapIndex, getPreviousMapIndex).
- Uncommented call.mapJump and onMapJump event.
- Changed message.print and message.printw to be aware of both width and height instead of only text length (should fix some weirdness with not reopening a window when a number of lines changes).
-
Version 1.2.1
- Fixed various issues and crashes manifesting on Windows 7.
- Added most battle pack sections for easier live editing. (based on xeavin's CE script)
-
Version 1.1.13
- Added a possibility to execute a code at a given address by memory.execute.
- Added possibility for lua scripts to display messages using in game engine with message.print (non blocking) and message.printw (blocking) functions.
- Added possibility to convert a given text to in game format using message.convert.
- Minor fixes.
-
Version 1.1.4
- Added time and frame time functions.
- Added support for labels in memory address operands.
-
Version 1.1.2
- memory.assemble functions now also return size
- all memory.assemble functions can now register and use global symbols
- added set of functions to register, unregister and get values of global symbols
- added functions that allow to get module version from within a script and check whether minimum version requirements are met
-
Version 1.0.6
- Changed the way auto assembler behaves when optimizing lea instructions.
-
Version 1.0.5
- First public release.
-
This module allows you to create scripts in LUA with which you can change the game's executable, memory and even call in game functions. This means that you do not have to patch your executable to enable hacks such as an FOV changer. It also has build in support for asmJit with which you can generate machine code yourself and numerous other capabilities that allows you to modify game files in real-time like the battlepack.bin.
This module requires FF12 Vortex Game Support Extension version 0.8.0 or above (it should auto update in vortex). It also requires FF12 External File Loader (or rather, module loader part of it - available here).
The extension is still in early stages, but it already can do a lot of things. There is a lot of new features planned.
If you need a documentation, here is a great wiki page made by Xeavin:
https://xeavin.gitbook.io/ff12-lua-loader