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

    1. Red Dead Redemption 2

      1. PC
      2. Gameplay
      3. Missions
      4. Help & Support
    2. Red Dead Online

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

      1. Recruitment
    2. Events

    1. GTA Online

      1. Diamond Casino & Resort
      2. DLC
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Grand Theft Auto Series

    3. GTA 6

    4. GTA V

      1. PC
      2. Guides & Strategies
      3. Help & Support
    5. GTA IV

      1. Episodes from Liberty City
      2. Multiplayer
      3. Guides & Strategies
      4. Help & Support
      5. GTA IV Mods
    6. GTA Chinatown Wars

    7. GTA Vice City Stories

    8. GTA Liberty City Stories

    9. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
      3. GTA SA Mods
    10. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
      3. GTA VC Mods
    11. GTA III

      1. Guides & Strategies
      2. Help & Support
      3. GTA III Mods
    12. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    13. Wiki

      1. Merchandising
    1. GTA Modding

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Mod Showroom

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

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Red Dead Redemption

    2. Rockstar Games

    1. Off-Topic

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

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

    2. Forum Support

    3. Site Suggestions

Alexander Blade

[V] Script/Native Documentation and Research

Recommended Posts

maro_hannover

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?

Share this post


Link to post
Share on other sites
XeClutch

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

Share this post


Link to post
Share on other sites
NTAuthority

WSC - Windows

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

Share this post


Link to post
Share on other sites
XeClutch

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.

Share this post


Link to post
Share on other sites
sasuke78200

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

Share this post


Link to post
Share on other sites
Silent

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

But PS3 buildlogs

Share this post


Link to post
Share on other sites
sasuke78200

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

Share this post


Link to post
Share on other sites
XeClutch

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?

Share this post


Link to post
Share on other sites
MulleDK19

 

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.

Share this post


Link to post
Share on other sites
fOmey

 

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

Share this post


Link to post
Share on other sites
Fun 2

 

 

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

Share this post


Link to post
Share on other sites
AdamSelene

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

I can verify it is a bit ... short ...

 

$ wc -l stats_found.txt   16954 stats_found.txt

Share this post


Link to post
Share on other sites
XeClutch

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

Share this post


Link to post
Share on other sites
proditaki
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

Share this post


Link to post
Share on other sites
Fun 2
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

Share this post


Link to post
Share on other sites
fOmey

 

 

 

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.

Share this post


Link to post
Share on other sites
unknown modder

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

Share this post


Link to post
Share on other sites
sasuke78200

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

Share this post


Link to post
Share on other sites
XeClutch

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

Share this post


Link to post
Share on other sites
sasuke78200

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)

Share this post


Link to post
Share on other sites
outlier

 

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

Share this post


Link to post
Share on other sites
XeClutch
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.

Share this post


Link to post
Share on other sites
outlier

 

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

Share this post


Link to post
Share on other sites
XeClutch

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.

Share this post


Link to post
Share on other sites
outlier

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 :)

Share this post


Link to post
Share on other sites
Alexander Blade

Wow so console , much offtopic

 

dogesmall.jpg

Share this post


Link to post
Share on other sites
XeClutch

Wow so console , much offtopic

 

dogesmall.jpg

I don't see how it is off-topic. Are you suggesting we only research the non-existent PC version of this game before it comes out?

Share this post


Link to post
Share on other sites
outlier

Wow so console , much offtopic

 

dogesmall.jpg

 

 

I thought the thread was about research too... That's all we were discussing.

Share this post


Link to post
Share on other sites
Alexander Blade

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

Share this post


Link to post
Share on other sites
XeClutch

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.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • 2 Users Currently Viewing
    0 members, 0 Anonymous, 2 Guests

×
×
  • Create New...

Important Information

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