MISI

Anything to do with GTA1/GTA2 modding (tools, scripts and more).
Logofero
Serial Killer
Serial Killer
Posts: 264
Joined: 09 Dec 2015, 14:18
Location: Russia, Gelendzhik
Contact:

Re: MISI

Post by Logofero »

Logofero
Serial Killer
Serial Killer
Posts: 264
Joined: 09 Dec 2015, 14:18
Location: Russia, Gelendzhik
Contact:

Re: MISI

Post by Logofero »

News of project MISI:

Release of the final build MISI v0.4.2 is scheduled for May 1. After this, the project will be considered complete
BeepBoop
Car Jacker
Car Jacker
Posts: 46
Joined: 14 Oct 2016, 01:32
GH nick: BeepBoop

Re: MISI

Post by BeepBoop »

Very good, and thank you for your contributions to the GTA 2 Modding Community. It's nice to give some life to such an old game: [gang] :P [respect]
Logofero
Serial Killer
Serial Killer
Posts: 264
Joined: 09 Dec 2015, 14:18
Location: Russia, Gelendzhik
Contact:

Re: MISI

Post by Logofero »

This is the final version of MISI Library v0.4.2.

Before I thought to finish the work on the library on v0.2.2b, but then during the tests I managed to improve it. The only thing else that needs to be edited beforehand is the *.GXT dialog file and the 3D level *.GMP file, but all game objects can now be created/deleted/edited on a pure LUA using only a "notepad".

I had to work hard to achieve this result, did not fall, the library took off, many unknown errors followed in parallel along the entire development way, frequent "needle searches in a haystack" after a fall, restart and new tests, again and again. Now I can say with confidence that MISI has become stable and has a lot of functional hope for creating full-fledged missions on its basis without using pre-compilation.

Thanks to everyone who wrote words of support in this topic. All the pleasant creativity, more patience and faith in yourself.

v0.4.2, 1 may 2018
MD5 ce9555ae13ba1f206b93c183e5b15133 MISI.ASI
  • * Fixed GetPedWanted(ped), SetPedWanted(ped, level) The GET method returned a false search level if the value did not match the case number. The swith() function (in GET/SET methods) was replaced by the if condition block with an increased range of values
    * Fixed GetCarSpeed​​(car) The method returned the value 0
    * Fixed GetMaxPedDensity​​() The method returned the value 0
    * Added method GetPedAnyPos(ped) The method returns any ped coordinates that can be obtained if the player in the car returns the coordinates of the car if on foot the coordinates of the ped are returned
    * Added method SetPedAnyPos(ped) The method sets any ped coordinates if the player in the car sets the coordinates of the car if on foot, then the coordinates for ped
    * Added method IsPedAnyCar(ped) Methods check whether the player is in any auto, if yes then returns 1, if not then nil
    * Added method IsPedInCar(ped, car) Methods check if the player is in the specified auto, if yes then returns 1, if not then nil
    * Methods: DeleteTimer, SetBlockType, SetBlockLID, SetBlockSide are now protected against a nonexistent block table
    * The SetPedObjective method (ped, obj, target, objective_type, mode) now has a new argument to target instead of x, y, z the argument is (table in LUA)
    * Added method GetObjID(obj) The method returns the object ID
    * Removed method GetPedRangeOfPoint(ped, x, y, z) The method is replaced by IsPedRangeOfPoint
    * Added method IsPedRangeOfPoint(ped, x, y, z, range) The method checks whether the ped is within the specified radius from the rev
    * Added method IsPedAnyRangeOfPoint(ped, x, y, z, range) The method checks whether the ped or auto ped'a is within the specified radius from the point
    * Added method IsCarRangeOfPoint(car, x, y, z, range) The method checks whether the car is in the established radius from the point
    * Added method GetPedAnyAngle(ped) The method returns any angle that it is possible to get from the player if the player in the car gets an angle of auto, if on foot that ped
    * Added method SetPedAnyAngle(ped, angle) The method sets any angle to ped if the ped in the auto sets the angle of the car, if on foot it's ped
    * Updated module STAGEC.LUA
    * Updated all includes *.inc
    * Added file E.GXT with new dialogs for gamemode.lua (Demo missions) Note: Before replace data/E.GXT do not forget to make backups
Download link is available in the topic header http://gtamp.com/forum/viewtopic.php?f=4&t=1136#p10506
User avatar
elypter
Immortal
Posts: 1120
Joined: 26 Dec 2009, 23:53
GH nick: elypter

Re: MISI

Post by elypter »

thanks for all the work :)
yur sa'nok ngeyä
Logofero
Serial Killer
Serial Killer
Posts: 264
Joined: 09 Dec 2015, 14:18
Location: Russia, Gelendzhik
Contact:

Re: MISI

Post by Logofero »

Logofero
Serial Killer
Serial Killer
Posts: 264
Joined: 09 Dec 2015, 14:18
Location: Russia, Gelendzhik
Contact:

Re: MISI

Post by Logofero »

Theoretically, you can compile the MISI library under steam version 9.6 using its offset exe (by changing only the address in the source). But some functions may not be available (or it’s necessary to search for addresses), due to the fact that the architecture has been changed in version 11.44.

I wanted to check it out when I had a computer, but there was not much motivation. If anyone has the desire and ability to compile with a new address, this will allow modmakers to create MISI mods for the steam version.
Logofero
Serial Killer
Serial Killer
Posts: 264
Joined: 09 Dec 2015, 14:18
Location: Russia, Gelendzhik
Contact:

Re: MISI

Post by Logofero »

Hello to all. I ordered a print with MISI.
Attachments
IMG_20190401_190129_498.jpg
IMG_20190401_190129_501.jpg
User avatar
elypter
Immortal
Posts: 1120
Joined: 26 Dec 2009, 23:53
GH nick: elypter

Re: MISI

Post by elypter »

nice
yur sa'nok ngeyä
Logofero
Serial Killer
Serial Killer
Posts: 264
Joined: 09 Dec 2015, 14:18
Location: Russia, Gelendzhik
Contact:

Re: MISI

Post by Logofero »

elypter wrote:nice
Thanks. T-shirt and print are very soft and stylish. I am very satisfied. So the library got into the stage of merchandise.
Logofero
Serial Killer
Serial Killer
Posts: 264
Joined: 09 Dec 2015, 14:18
Location: Russia, Gelendzhik
Contact:

Re: MISI

Post by Logofero »

Parameters for VS to compile MISI.

The project was going to Visual Studio 2017 v15.5.2 under the x86 (release) platform.

MISI Property Pages:

General-> Project Defaults-> Configuration Type: Dynamic Library (.dll)

Include Directories: Your directory to lua-5.3.4/scr
Reference Directories: Your directory to lua-5.3.4/lib
C/C ++ -> Optimization: Full Optimization (/Ox)
Code Generation-> Rntime Library: Multi-threaded (/MT)
Linker-> Enable Incremental Linking: No (/INCREMENTAL: NO)
Linker-> Optimization-> References: Yes (/OPT: REF)
Linker-> Optimization-> Link Time Code Generation: Use Fast Link Time Code Generation (/LTCG: incremental)

Note: The MISI project uses a static language LUA link for mobility (all in one file). The lua.lib file is a static library ready to be integrated into the project. Important: *.lib does not need to be compiled as a dynamic dll.
TempUser_
Mugger
Mugger
Posts: 16
Joined: 07 Aug 2017, 17:08

Re: MISI

Post by TempUser_ »

Is it possible to use MISI library, and WidescreenFix mod from ThirteenAG at once?
While playing with files, few times I managed to run both mods, only problem I don't know how exactly I did that. :)
Logofero
Serial Killer
Serial Killer
Posts: 264
Joined: 09 Dec 2015, 14:18
Location: Russia, Gelendzhik
Contact:

Re: MISI

Post by Logofero »

TempUser_ wrote: 21 Aug 2020, 18:47 Is it possible to use MISI library, and WidescreenFix mod from ThirteenAG at once?
While playing with files, few times I managed to run both mods, only problem I don't know how exactly I did that. :)
Hi.
It can theoretically be used with other ASI.

However, I do not guarantee stable operation of both libraries, since MISI automatic loading so you don't need ASI Loader. But no one bothers you to loading it through ASI Loader, as a separate ASI mod. I have not tested this for compatibility with other plugins.

You can try doing it. If the library loads, creates a LOG, loads all scripts, then everything works. Enjoy!
TempUser_
Mugger
Mugger
Posts: 16
Joined: 07 Aug 2017, 17:08

Re: MISI

Post by TempUser_ »

Issue for me is that I don't know all these nitty-gritty details with DLL/ASI are loaded, and how they interacts with main executable.
From my perspective, most "loaders" often have some original game DLL modified, so it allows inject custom code during runtime.

For example to run MISI you need to have these files in game root folder:
.\MISI.ASI

and WidescreenFix mod has these:
.\scripts\GTA2.WidescreenFix.asi
.\scripts\GTA2.WidescreenFix.ini
.\ddraw.dll
.\wndmode.ini

As result if I drop ddraw.dll from WFX.

MISI log shows up this:
[22.08.2020-13:24:20] **** MISI library: G:\Games\GTA.2 - Copy\MISI.ASI loaded.
[22.08.2020-13:24:21] **** MISI library: G:\Games\GTA.2 - Copy\MISI.ASI unloaded.
Same happens if you drop MISI into scripts folder.

At some point in MISI log I had error that was mentioned here few pages before:
-- Not supported game exe UNKNOWN VERSION. MISI only supported version: v11.44
Could this mean that WidescreenFix loads first, edits few addresses in EXE, and once its time to load MISI it detects that this is not the correct EXE where I should be injected, and module exits.
Logofero
Serial Killer
Serial Killer
Posts: 264
Joined: 09 Dec 2015, 14:18
Location: Russia, Gelendzhik
Contact:

Re: MISI

Post by Logofero »

MISI should be loaded from the root of the game, since it was conceived as a single center responsible for mods the game using scripts. Therefore, different collisions may occur if the location of the library is changed, or the game exe file does not match the allowable amounts.

In order to load library together with other ASI plugins, you either need to combine their code in the body of the library, or turn into a separate ASI plugin that will load along with other plugins from a special folder via ASI Loader (removing all dependencies on the root path from MISI).

If you really are interested, then it is better to study the source code of MISI, compare it with other ASI plugins, especially pay attention to how different libraries are loaded. Next, change the way to load MISI library and recompile it as a plugin or integrate the code of another library into it, leaving it as the main application.

Edited: corrected text.
TempUser_
Mugger
Mugger
Posts: 16
Joined: 07 Aug 2017, 17:08

Re: MISI

Post by TempUser_ »

Problem I had, just got solved in easy way, once WFX is installed, you need to start game with admin rights (at least once) in my case. Plus if you moved your installfolder, you need to import and gta2_install.reg.
After that both ASI loads in correctly without any additional tinkering.
Could be that I messed up with install files as well.
Post Reply