San Andreas / Моды / Моды

Unofficial CLEO 4.4.4 development patch for GTA San Andreas


  • Sig102Df | загрузил Sig102Df
  • github.com/dima16263690d-pr...
  • 10/15/2026
  • 24 Скачивания

Оценки:

Сначала войди в аккаунт.


Избранное:

Скачать
29.85Mb
Доля антивирусов, обнаруживших угрозу: 1.49254%
Посмотреть отчёт проверки на вирусы

Видео

Видео пока не добавлены.
Войди в аккаунт, чтобы добавить видео к этому моду.

Описание

What can I say? Well, I attempted to create an unofficial patch for CLEO 4.4.4—and, in my view, it turned out quite well. I plan to continue expanding this ASI plugin, which is based on CLEO 4. Many might ask: "Why create a patch when CLEO 5 exists?" While CLEO 5 certainly exists and is unique, many older CS scripts are incompatible with it. My primary goal was to improve CLEO 4. Preserving legacy CS scripts was crucial, especially considering that many of them are no longer being updated by their original authors. Secondly, in my personal opinion, CLEO 5 serves as a bridge toward the future 64-bit *GTA Trilogy*. And thirdly, I simply prefer the classic *Sanny Builder*.

 

 

Features implemented in version 1.1:

Full *Mod Loader* compatibility.

*Mod Loader* path resolver.

Support for `modloader.ini` priorities.

Integration of the resolver into CLEO entry points.

Audio / BASS (*Mod Loader* support).

Safe *Plugin SDK 2.0* (everything is additive; the original ABI is preserved).

Script profiling.

Script memory (isolated from the *GTA* heap).

Custom arena allocator (replacing the *GTA* heap); large blocks are partitioned according to the requested size rather than allocating the entire arena.

Intrusive block tracking (avoiding CRT heap churn); memory is reclaimed from the owner when a script stops (`ReleaseOwner`) or at the end of a session. Diagnostics: frame time monitor and streaming (cleo\debug\cleo_frametime.log)

Localized .ini files and system information

Descriptions in `DebugUtils.ini` (configured via `[DebugUtils.General] Language` — `en`/`ru`); settings are preserved, and the previous file is backed up as `.bak`.

Fixed: description lines are now actual comments (prefixed with `;`); previously, the engine incorrectly interpreted them as configuration keys.

Added system details to the header of `cleo_core.log`, including OS, CPU, RAM, display resolution/refresh rate, and GPU information (model, vendor/device ID, driver string, and driver version via D3D9).

 

Implemented features:

Hooking system and hook functionality.

Resolved memory-related and lifecycle issues concerning `CCustomScript`.

`0E6F` — create a child custom script based on a label.

`0E70` — retrieve the most recently created custom script.

`0A93` — terminate the current custom thread.

`0AB1` / `0AB2` — call and return from an `ScmFunction`.

`ScmFunction` lifecycle management; scope restoration and cleanup.

Saving child element state to `csN.children.sav`.

Saving `ScmFunction` state to `csN.functions.sav`.

Restoration of the active `ScmFunction` and its scope after saving/loading.

Fixed an issue where string pointers were not correctly restored after loading.

Diagnostic log: `cleo_diagnostic.log`.

Verified workflow: parent element → child element → save → load → restoration of the active process.

Optimized thread operations and improved processing speed for CS scripts.

CLEO 4 — updated to the latest SDK/plugin version. Ported the audio plugin from CLEO 5.

Implemented a separate "plugins" folder (just like in CLEO 5).

I plan to further improve the plugin's debugging features, such as Crashinfo, in the future.

You can take a look at the work done here:

https://github.com/dima16263690d-prog/cleo4-unofficial-patch

Опубликовано комментариев: 0.