Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. The Cayo Perico Heist
      2. Find Lobbies & Players
      3. Guides & Strategies
      4. Vehicles
      5. Content Creator
      6. Help & Support
    2. Red Dead Online

      1. Frontier Pursuits
      2. Find Lobbies & Outlaws
      3. Help & Support
    3. Crews

    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. Grand Theft Auto Series

      1. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
    6. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
    7. GTA III

      1. Guides & Strategies
      2. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    4. Featured Mods

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Movies & TV
      5. Music
      6. Sports
      7. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Announcements

      1. GTANet 20th Anniversary
    2. Support

      1. Court House
    3. Suggestions

[V] Script/Native Documentation and Research


Alexander Blade

Recommended Posts

the file archive is called xsc. does it mean that GTA V Is Not Sco? it is xsc? oh SCM When will you be back?

No more SCO, now it's platform dependent.

XSC - Xbox 360

CSC - Playstation 3

DSC - Xbox One

OSC - Playstation 4

WSC - Windows

Link to post
Share on other sites

WSC - Windows

we still don't know if the 64-bit pointer version for the Windows platform will still be called W
Link to post
Share on other sites

WSC - Windows

we still don't know if the 64-bit pointer version for the Windows platform will still be called W

I am aware, we don't know if the X1 and PS4 will be DSC and OSC either. We can only assume.

Link to post
Share on other sites

And we don't even know if there will be a 64-bit version of the game on PC.

But PS3 buildlogs

Link to post
Share on other sites

 

Well we'll have to wait till 2015 to start our researches on the PC version.

Wasn't the game scheduled to come out by the end of the year?

 

Rockstar announced the release dates yesterday.

The PlayStation 4 and Xbox One versions release November 18, 2014.

PC version delayed to January 27, 2015.

Link to post
Share on other sites

 

Here is setting RP:

 

// enumerationenum CharRP{    char1 = 0x3E68C21F, // mp0_char_xp_fm    char2 = 0x74693442, // mp1_char_xp_fm    char3 = 0xFF09C2A9, // mp2_char_xp_fm    char4 = 0x6272E33B, // mp3_char_xp_fm    char5 = 0x494A75B3, // mp4_char_xp_fm}; // methodvoid SetRP(uint Char, int RP){    STAT_SET_INT(Char, RP);} // example callsSetRP(char1, 0);SetRP(0x3E68C21F, 0);

EDIT: Here is setting rank (untested).

 

// enumerationenum CharRank{    char1 = 0xA888343F, // mp0_char_rank_fm    char2 = 0x22F6EB98, // mp1_char_rank_fm    char3 = 0xD3342A23, // mp2_char_rank_fm    char4 = 0xB2614471, // mp3_char_rank_fm    char5 = 0x92F6FB54, // mp4_char_rank_fm};// methodvoid SetRank(uint Char, int Rank){    STAT_SET_INT(Char, Rank);}// example callsSetRank(char1, 0);SetRank(0xA888343F, 0);

This is great, Any idea of any additional stats ? Or where to find them ?

 

A mate of mine came across this list on pastebin, can anyone verify ?

Edited by fOmey
Link to post
Share on other sites

 

 

Here is setting RP:

 

// enumerationenum CharRP{    char1 = 0x3E68C21F, // mp0_char_xp_fm    char2 = 0x74693442, // mp1_char_xp_fm    char3 = 0xFF09C2A9, // mp2_char_xp_fm    char4 = 0x6272E33B, // mp3_char_xp_fm    char5 = 0x494A75B3, // mp4_char_xp_fm}; // methodvoid SetRP(uint Char, int RP){    STAT_SET_INT(Char, RP);} // example callsSetRP(char1, 0);SetRP(0x3E68C21F, 0);

EDIT: Here is setting rank (untested).

 

// enumerationenum CharRank{    char1 = 0xA888343F, // mp0_char_rank_fm    char2 = 0x22F6EB98, // mp1_char_rank_fm    char3 = 0xD3342A23, // mp2_char_rank_fm    char4 = 0xB2614471, // mp3_char_rank_fm    char5 = 0x92F6FB54, // mp4_char_rank_fm};// methodvoid SetRank(uint Char, int Rank){    STAT_SET_INT(Char, Rank);}// example callsSetRank(char1, 0);SetRank(0xA888343F, 0);

This is great, Any idea of any additional stats ? Or where to find them ?

 

A mate of mine came across this list on pastebin, can anyone verify ?

 

Get stats from mpstatssetup.xml

MP0_KILLS_PLAYERS = 2077765393

Link to post
Share on other sites

Was thinking of stuff and figured a possible way to give someone a wanted level.

void GiveWanted(int Player, int wanted){    int curped = PLAYER_PED_ID();    int tarped = GET_PLAYER_PED(Player);    Vector3 curpos = GET_ENTITY_COORDS(curped, 1);    Vector3 tarpos = GET_ENTITY_COORDS(tarped, 1);    if (IS_PED_IN_ANY_VEHICLE(tarped, 0)) // unsure of the second arg    {        SET_ENTITY_COORDS(curped, tarpos.x, tarpos.y, tarpos.z, 0, 0, 0, 1);        SET_PED_INTO_VEHICLE(curped, 0, -1);        SET_PLAYER_WANTED_LEVEL(PLAYER_ID(), wanted);        DELETE_VEHICLE(GET_VEHICLE_PED_IS_IN(curped));        SET_ENTITY_COORDS(curped, curpos.x, curpos.y, curpos.z, 0, 0, 0, 1);    }    else        _PRINT_STRING("Player must be in vehicle", 2000); // credit to XBLToothpik for custom native}
Edited by XeClutch
Link to post
Share on other sites
const uint mp0_char_creator_stamina = 0x53c49a79,        mp1_char_creator_stamina = 0xc56abf4a,        mp2_char_creator_stamina = 0x435d8d03,        mp3_char_creator_stamina = 0x5ecadc12,        mp4_char_creator_stamina = 0x22d65166,        mp5_char_creator_stamina = 0x48c46e8a,        mp0_char_creator_shooting = 0x3363cc06,        mp1_char_creator_shooting = 0x92130b82,        mp2_char_creator_shooting = 0x4c18f3c4,        mp3_char_creator_shooting = 0xa2c88d72,        mp4_char_creator_shooting = 0xf54141c0,        mp5_char_creator_shooting = 0x8e9895b2,        mp0_char_creator_strength = 0x6a9721fb,        mp1_char_creator_strength = 0x7d9a5285,        mp2_char_creator_strength = 0x1e5a2fa2,        mp3_char_creator_strength = 0xc45cd34c,        mp4_char_creator_strength = 0xf6e826e4,        mp5_char_creator_strength = 0x822c3a08,        mp0_char_creator_stealth = 0x36b01f9,        mp1_char_creator_stealth = 0x434e90e6,        mp2_char_creator_stealth = 0xc4501370,        mp3_char_creator_stealth = 0x9a5b4a07,        mp4_char_creator_stealth = 0xa6ac5db3,        mp5_char_creator_stealth = 0xc6d22ef4,        mp0_char_creator_flying = 0x6c0fd0c6,        mp1_char_creator_flying = 0x19338114,        mp2_char_creator_flying = 0x323aaf73,        mp3_char_creator_flying = 0x402e6dab,        mp4_char_creator_flying = 0x4b68e3dc,        mp5_char_creator_flying = 0x8d9107da,        mp0_char_creator_bike = 0xd7d4b6ae,        mp1_char_creator_bike = 0x577e93af,        mp2_char_creator_bike = 0xded50ca1,        mp3_char_creator_bike = 0x564c120,        mp4_char_creator_bike = 0x2268c53a,        mp5_char_creator_bike = 0x8bb2ebac,        mp0_char_creator_lung = 0xf82220ed,        mp1_char_creator_lung = 0xd0bb06d6,        mp2_char_creator_lung = 0xf016e495,        mp3_char_creator_lung = 0x94f3e59e,        mp4_char_creator_lung = 0x36a565f1,        mp5_char_creator_lung = 0xf442f10a;

These are usefull STATS too probably

Link to post
Share on other sites
const uint mp0_char_creator_stamina = 0x53c49a79,        mp1_char_creator_stamina = 0xc56abf4a,        mp2_char_creator_stamina = 0x435d8d03,        mp3_char_creator_stamina = 0x5ecadc12,        mp4_char_creator_stamina = 0x22d65166,        mp5_char_creator_stamina = 0x48c46e8a,        mp0_char_creator_shooting = 0x3363cc06,        mp1_char_creator_shooting = 0x92130b82,        mp2_char_creator_shooting = 0x4c18f3c4,        mp3_char_creator_shooting = 0xa2c88d72,        mp4_char_creator_shooting = 0xf54141c0,        mp5_char_creator_shooting = 0x8e9895b2,        mp0_char_creator_strength = 0x6a9721fb,        mp1_char_creator_strength = 0x7d9a5285,        mp2_char_creator_strength = 0x1e5a2fa2,        mp3_char_creator_strength = 0xc45cd34c,        mp4_char_creator_strength = 0xf6e826e4,        mp5_char_creator_strength = 0x822c3a08,        mp0_char_creator_stealth = 0x36b01f9,        mp1_char_creator_stealth = 0x434e90e6,        mp2_char_creator_stealth = 0xc4501370,        mp3_char_creator_stealth = 0x9a5b4a07,        mp4_char_creator_stealth = 0xa6ac5db3,        mp5_char_creator_stealth = 0xc6d22ef4,        mp0_char_creator_flying = 0x6c0fd0c6,        mp1_char_creator_flying = 0x19338114,        mp2_char_creator_flying = 0x323aaf73,        mp3_char_creator_flying = 0x402e6dab,        mp4_char_creator_flying = 0x4b68e3dc,        mp5_char_creator_flying = 0x8d9107da,        mp0_char_creator_bike = 0xd7d4b6ae,        mp1_char_creator_bike = 0x577e93af,        mp2_char_creator_bike = 0xded50ca1,        mp3_char_creator_bike = 0x564c120,        mp4_char_creator_bike = 0x2268c53a,        mp5_char_creator_bike = 0x8bb2ebac,        mp0_char_creator_lung = 0xf82220ed,        mp1_char_creator_lung = 0xd0bb06d6,        mp2_char_creator_lung = 0xf016e495,        mp3_char_creator_lung = 0x94f3e59e,        mp4_char_creator_lung = 0x36a565f1,        mp5_char_creator_lung = 0xf442f10a;

These are usefull STATS too probably

 

Great work !

But i'm sure mp5 doesn't exist ?

You can find all stats hashed by checking mpstatsinit.xsc

Your stats about shooting :

        mp0_char_creator_shooting = 0x3363cc06,        mp1_char_creator_shooting = 0x92130b82,        mp2_char_creator_shooting = 0x4c18f3c4,        mp3_char_creator_shooting = 0xa2c88d72,        mp4_char_creator_shooting = 0xf54141c0,        mp5_char_creator_shooting = 0x8e9895b2,

Mpstatsinit :

    setElem(0x3363CC06, 0, getElemPtr(1209, &g_2405085, 24), 4); // mp0_char_creator_shooting    setElem(0x92130B82, 1, getElemPtr(1209, &g_2405085, 24), 4); // mp1_char_creator_shooting    setElem(0x4C18F3C4, 2, getElemPtr(1209, &g_2405085, 24), 4); // mp2_char_creator_shooting    setElem(0xA2C88D72, 3, getElemPtr(1209, &g_2405085, 24), 4); // mp3_char_creator_shooting    setElem(0xF54141C0, 4, getElemPtr(1209, &g_2405085, 24), 4); // mp4_char_creator_shooting
Link to post
Share on other sites

 

 

 

Here is setting RP:

 

// enumerationenum CharRP{    char1 = 0x3E68C21F, // mp0_char_xp_fm    char2 = 0x74693442, // mp1_char_xp_fm    char3 = 0xFF09C2A9, // mp2_char_xp_fm    char4 = 0x6272E33B, // mp3_char_xp_fm    char5 = 0x494A75B3, // mp4_char_xp_fm}; // methodvoid SetRP(uint Char, int RP){    STAT_SET_INT(Char, RP);} // example callsSetRP(char1, 0);SetRP(0x3E68C21F, 0);

EDIT: Here is setting rank (untested).

 

// enumerationenum CharRank{    char1 = 0xA888343F, // mp0_char_rank_fm    char2 = 0x22F6EB98, // mp1_char_rank_fm    char3 = 0xD3342A23, // mp2_char_rank_fm    char4 = 0xB2614471, // mp3_char_rank_fm    char5 = 0x92F6FB54, // mp4_char_rank_fm};// methodvoid SetRank(uint Char, int Rank){    STAT_SET_INT(Char, Rank);}// example callsSetRank(char1, 0);SetRank(0xA888343F, 0);

This is great, Any idea of any additional stats ? Or where to find them ?

 

A mate of mine came across this list on pastebin, can anyone verify ?

 

Get stats from mpstatssetup.xml

MP0_KILLS_PLAYERS = 2077765393

 

Thank you, ill sus it out.

Link to post
Share on other sites

But i'm sure mp5 doesn't exist ?

Great work !

You can find all stats hashed by checking mpstatsinit.xsc

Your stats about shooting :

        mp0_char_creator_shooting = 0x3363cc06,        mp1_char_creator_shooting = 0x92130b82,        mp2_char_creator_shooting = 0x4c18f3c4,        mp3_char_creator_shooting = 0xa2c88d72,        mp4_char_creator_shooting = 0xf54141c0,        mp5_char_creator_shooting = 0x8e9895b2,

Mpstatsinit :

    setElem(0x3363CC06, 0, getElemPtr(1209, &g_2405085, 24), 4); // mp0_char_creator_shooting    setElem(0x92130B82, 1, getElemPtr(1209, &g_2405085, 24), 4); // mp1_char_creator_shooting    setElem(0x4C18F3C4, 2, getElemPtr(1209, &g_2405085, 24), 4); // mp2_char_creator_shooting    setElem(0xA2C88D72, 3, getElemPtr(1209, &g_2405085, 24), 4); // mp3_char_creator_shooting    setElem(0xF54141C0, 4, getElemPtr(1209, &g_2405085, 24), 4); // mp4_char_creator_shooting

I dont understand alexander blades decompiler. Also the size of the array is only 5 items, so that is only support for mp0 -> mp4, however as you can only access the first 2 characters atm, you only really need to worry about mp0 and mp1.

	g_2405085[1209 <6>][0] = 862178310;	g_2405085[1209 <6>][1] = 2450721666;	g_2405085[1209 <6>][2] = 1276703684;	g_2405085[1209 <6>][3] = 2731052402;	g_2405085[1209 <6>][4] = 4114694592;
Edited by unknown modder
Link to post
Share on other sites

Hi guys, I'm trying to reverse engineer the Scripting Mechanism of the game.

 

Actually I reversed the function that Add Natives, to the "native pool".

 

Does it actually looks like this ? Because I'm really confused about the part where it computes the index. (c.f the code)

 

 

 

// size 0x40struct Native{    struct Native*     __unk_00;                // + 0x00    unsigned int     uiNativeFunction;        // + 0x04    unsigned int     __unk_08;                // + 0x08    unsigned int     __unk_0C;                // + 0x0C    unsigned int     __unk_10;                // + 0x10    unsigned int     __unk_14;                // + 0x14    unsigned int     __unk_18;                // + 0x18    unsigned int     __unk_1C;                // + 0x1C    unsigned int     uiNextNativeIndex;        // + 0x20    unsigned int     uiNativeHash;            // + 0x24    unsigned int     __unk_28;                // + 0x28    unsigned int     __unk_2C;                // + 0x2C    unsigned int     __unk_30;                // + 0x30    unsigned int     __unk_34;                // + 0x34    unsigned int     __unk_38;                // + 0x38    unsigned int     __unk_3C;                // + 0x3C    };// Address : 0x1DB8230 (PS3 v1.16)struct Native* g_Natives[256];        // <-- the mask to the index is 0xFF (256)void AddNative(unsigned int a_uiNativeHash, unsigned int a_uiNativeFunction){    unsigned int l_uiIndex;    struct Native*        l_pNative;        if(a_uiNativeHash < 2)    {        a_uiNativeHash += 2;    }    l_uiIndex = a_uiNativeHash & 0xFF;    // Is this part good ? I'm really confused about this one    l_pNative = g_Natives[l_uiIndex]; //l_pNative = (Native*)(0x1DB8230 + Index);            if(l_pNative == NULL || l_pNative->uiNextNativeIndex == 7)    {                //l_pNative = sub_10230(0x40);        l_pNative = malloc(sizeof(struct Native));                memset(l_pNative, 0x00, sizeof(struct Native));                l_pNative->__unk_00 = (struct Native*)g_Natives[l_uiIndex];        l_pNative->uiNextNativeIndex = 0;        g_Natives[l_uiIndex] = l_pNative;    }    l_uiIndex = l_pNative->uiNextNativeIndex;    l_pNative[l_uiIndex].uiNativeHash = a_uiNativeHash;    l_pNative[l_uiIndex].uiNativeFunction = a_uiNativeFunction;    l_pNative->uiNextNativeIndex++;}

 

 

 

EDIT : Made a mistake on the computing of 'l_uiIndex'

Edited by sasuke78200
Link to post
Share on other sites

Hi guys, I'm trying to reverse engineer the Scripting Mechanism of the game.

 

Actually I reversed the function that Add Natives, to the "native pool".

 

Does it actually looks like this ? Because I'm really confused about the part where it computes the index. (c.f the code)

 

 

 

// size 0x40struct Native{	struct Native* 	__unk_00;				// + 0x00	unsigned int 	uiNativeFunction;		// + 0x04	unsigned int 	__unk_08;				// + 0x08	unsigned int 	__unk_0C;				// + 0x0C	unsigned int 	__unk_10;				// + 0x10	unsigned int 	__unk_14;				// + 0x14	unsigned int 	__unk_18;				// + 0x18	unsigned int 	__unk_1C;				// + 0x1C	unsigned int 	uiNextNativeIndex;		// + 0x20	unsigned int 	uiNativeHash;			// + 0x24	unsigned int 	__unk_28;				// + 0x28	unsigned int 	__unk_2C;				// + 0x2C	unsigned int 	__unk_30;				// + 0x30	unsigned int 	__unk_34;				// + 0x34	unsigned int 	__unk_38;				// + 0x38	unsigned int 	__unk_3C;				// + 0x3C	};// Address : 0x1DB8230 (PS3 v1.16)struct Native* g_Natives[1021];		// <-- the mask to the index is 0x3FC (1020)void AddNative(unsigned int a_uiNativeHash, unsigned int a_uiNativeFunction){	unsigned int l_uiIndex;	struct Native*		l_pNative;		if(a_uiNativeHash < 2)	{		a_uiNativeHash += 2;	}	l_uiIndex = (a_uiNativeHash * 4) & 0x3FC;	// Is this part good ? I'm really confused about this one	l_pNative = g_Natives[l_uiIndex]; //l_pNative = (Native*)(0x1DB8230 + Index);			if(l_pNative == NULL || l_pNative->uiNextNativeIndex == 7)	{				//l_pNative = sub_10230(0x40);		l_pNative = malloc(sizeof(struct Native));				memset(l_pNative, 0x00, sizeof(struct Native));				l_pNative->__unk_00 = (struct Native*)g_Natives[l_uiIndex];		l_pNative->uiNextNativeIndex = 0;		g_Natives[l_uiIndex] = l_pNative;	}	l_uiIndex = l_pNative->uiNextNativeIndex;	l_pNative[l_uiIndex].uiNativeHash = a_uiNativeHash;	l_pNative[l_uiIndex].uiNativeFunction = a_uiNativeFunction;	l_pNative->uiNextNativeIndex++;}

 

 

Looks pretty close to what I am using for 360. Seems like you hit the nail on the head :p

fe347444c2f26488a05160fc669f149f.png

Link to post
Share on other sites

Erf .., is there any way to load code on PS3 ?

I'm not really a PS3 modder so I don't really know how to.

I really want to try on live if my researches are good.

 

 

(I Jailbroken my PS3 two weeks ago, that's why)

Link to post
Share on other sites

 

Hi guys, I'm trying to reverse engineer the Scripting Mechanism of the game.

 

Actually I reversed the function that Add Natives, to the "native pool".

 

Does it actually looks like this ? Because I'm really confused about the part where it computes the index. (c.f the code)

 

 

 

// size 0x40struct Native{	struct Native* 	__unk_00;				// + 0x00	unsigned int 	uiNativeFunction;		// + 0x04	unsigned int 	__unk_08;				// + 0x08	unsigned int 	__unk_0C;				// + 0x0C	unsigned int 	__unk_10;				// + 0x10	unsigned int 	__unk_14;				// + 0x14	unsigned int 	__unk_18;				// + 0x18	unsigned int 	__unk_1C;				// + 0x1C	unsigned int 	uiNextNativeIndex;		// + 0x20	unsigned int 	uiNativeHash;			// + 0x24	unsigned int 	__unk_28;				// + 0x28	unsigned int 	__unk_2C;				// + 0x2C	unsigned int 	__unk_30;				// + 0x30	unsigned int 	__unk_34;				// + 0x34	unsigned int 	__unk_38;				// + 0x38	unsigned int 	__unk_3C;				// + 0x3C	};// Address : 0x1DB8230 (PS3 v1.16)struct Native* g_Natives[1021];		// <-- the mask to the index is 0x3FC (1020)void AddNative(unsigned int a_uiNativeHash, unsigned int a_uiNativeFunction){	unsigned int l_uiIndex;	struct Native*		l_pNative;		if(a_uiNativeHash < 2)	{		a_uiNativeHash += 2;	}	l_uiIndex = (a_uiNativeHash * 4) & 0x3FC;	// Is this part good ? I'm really confused about this one	l_pNative = g_Natives[l_uiIndex]; //l_pNative = (Native*)(0x1DB8230 + Index);			if(l_pNative == NULL || l_pNative->uiNextNativeIndex == 7)	{				//l_pNative = sub_10230(0x40);		l_pNative = malloc(sizeof(struct Native));				memset(l_pNative, 0x00, sizeof(struct Native));				l_pNative->__unk_00 = (struct Native*)g_Natives[l_uiIndex];		l_pNative->uiNextNativeIndex = 0;		g_Natives[l_uiIndex] = l_pNative;	}	l_uiIndex = l_pNative->uiNextNativeIndex;	l_pNative[l_uiIndex].uiNativeHash = a_uiNativeHash;	l_pNative[l_uiIndex].uiNativeFunction = a_uiNativeFunction;	l_pNative->uiNextNativeIndex++;}

 

 

Looks pretty close to what I am using for 360. Seems like you hit the nail on the head :p

fe347444c2f26488a05160fc669f149f.png

 

 

Ha! Well,I've a long way to go before I reach those standards. Thanks for posting, it will help me a lot! Here's a snippet of where I'm up to (yes, it's as raw as blue steak). Looks familiar though :O (nowhere near as nice or detailed as both of yours). I have a fair idea what I'm going to find in arr when I dump the RT values. I'm still going to pretend that I have no idea but at least I can check my answers now. Thanks again both of you :)

 

cx1Zxjw.png

Edited by outlier
Link to post
Share on other sites
Ha! Well,I've a long way to go before I reach those standards. Thanks for posting, it will help me a lot! Here's a snippet of where I'm up to (yes, it's as raw as blue steak). Looks familiar though :O (nowhere near as nice or detailed as both of yours). I have a fair idea what I'm going to find in arr when I dump the RT values. I'm still going to pretend that I have no idea but at least I can check my answers now. Thanks again both of you :)

 

cx1Zxjw.png

 

Looks good but that isn't something your supposed to call manually, that is the destination of one of your 3 hooks.

Link to post
Share on other sites

 

Ha! Well,I've a long way to go before I reach those standards. Thanks for posting, it will help me a lot! Here's a snippet of where I'm up to (yes, it's as raw as blue steak). Looks familiar though :O (nowhere near as nice or detailed as both of yours). I have a fair idea what I'm going to find in arr when I dump the RT values. I'm still going to pretend that I have no idea but at least I can check my answers now. Thanks again both of you :)

 

cx1Zxjw.png

Looks good but that isn't something your supposed to call manually, that is the destination of one of your 3 hooks.

 

Yea I know mate. It is just my direct reverse attempt on that function/procedure. The function which stood out like dogs balls in that suspiciously looking Init type of function where a lot (if not all) of the natives are pre-loaded/tabled. Still a way to go yet, but I'm on the road that I want to be on :)

 

I've only got you to blame for this anyway Clutch. In my thread you gave me some great hints. I didn't need them as I was quite happy working without any TU's. But I thought, and thought, and thought. And something finally clicked. I knew exactly where and what you meant, for the most part anyway. I knew where to find the gateway in order to solve your riddle. So yeah, curiosity killed the cat and I started reversing. I come here next morning and coincidentally find you and sasuke having a very interesting conversation.

Edited by outlier
Link to post
Share on other sites

Yea I know mate. It is just my direct reverse attempt on that function/procedure. The function which stood out like dogs balls in that suspiciously looking Init type of function where a lot (if not all) of the natives are pre-loaded/tabled. Still a way to go yet, but I'm on the road that I want to be on :)

I've only got you to blame for this anyway Clutch. In my thread you gave me some great hints. I didn't need them as I was quite happy working without any TU's. But I thought, and thought, and thought. And something finally clicked. I knew exactly where and what you meant, for the most part anyway. I knew where to find the gateway in order to solve your riddle. So yeah, curiosity killed the cat and I started reversing. I come here next morning and coincidentally find you and sasuke having a very interesting conversation.

 

Haha thanks, I like giving people hints so people can learn on their own. A big reason I stopped releasing on 7S is because everyone on their has become so obsessed with leeching it's unreal.

Link to post
Share on other sites

Haha thanks, I like giving people hints so people can learn on their own. A big reason I stopped releasing on 7S is because everyone on their has become so obsessed with leeching it's unreal.

 

Yeah there seems to be a lot of fire over there, or there was. I'm too old for all of that crap. I'm here to learn (well more than learn, understand) and hopefully I can contribute where I can. My RGH does not go online (and never will) so I'm restricted on what I can do.

 

The part I'm most excited about is now I know how to interpret the debugger. That asm jargon it spews when you screw up is actually quite handy... if you know what you're looking for lol :)

Link to post
Share on other sites

Some of the posts I see are all about console modding , not the research :) The forum rules are very straight regarding pirated stuff including consoles , you will get such topics/posts removed very fast if posted in the popular forum sections above , mods just don't look at what's happening here .

Edited by Alexander Blade
Link to post
Share on other sites

Some of the posts I see are all about console modding , not the research :) The forum rules are very straight regarding pirated stuff including consoles , you will get such topics/posts removed very fast if posted in the popular forum sections above , mods just don't look at what's happening here .

Who's to say we didn't legally purchase the game and extract the contents ourselves? I see what you mean though but it isn't promoting piracy in any way, shape, or form.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 3 Users Currently Viewing
    0 members, 0 Anonymous, 3 Guests

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.