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 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 Mods
    10. GTA Vice City

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

      1. Guides & Strategies
      2. Help & Support
      3. GTA 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

Sign in to follow this  
ATHMystikal

[HELP]: SaveFile ENEX Connections

Recommended Posts

ATHMystikal

Hi guys,

 

 

I have some questions about savefile ENEX connections

 

1. Why the savefile ENEX connections are necessory

2. After some missions, some more ENEX entries are added. What are they

are they some new burglary markers. But why they are not added at beginning like other buglary markers which exist from the beginning of game?

 

3. when I read GTAModding.com page on save file formats, the format is given like this.Afetr BLOCK it is immeduately followed by

 

 

 0    dword           count 4                    array of words----

 

And this is followed by enex connection data

 

What does that mean. In some savefiles, there are 6 bytes before actual connection begin.

 

424C 4F43 4B 0100 0000 B1000000 0440 3701

 

And in some savefiles only 4 bytes before the actual connections begin.

 

424C 4F43 4B 0000 0000 0000 0440 3701

 

 

Data in green="BLOCK"

Data in orange=Those tricky bytes

Data in blue=First ENEX Connection

 

What is this???

 

Both files are original savefiles. That means no extra enexes are present in them.

One savefile is older and other is a recent save dont know which one is older.

 

 

Edited by ATHMystikal

Share this post


Link to post
Share on other sites
xmen

 

1. Why the savefile ENEX connections are necessory

it just save target number and flags, dunno why R* do that lol.gif

 

 

3. when I read GTAModding.com page on save file formats, the format is given like this.Afetr BLOCK it is immeduately followed by

 

ah i see, i had that problem when i was working on SGU(thanks to OrionSR) and forgot to update gtamodding, here is what you need

first read 4 bytes (useless)

then read 2 bytes (if value != -1) then read next 2 more short variables (2 * 2 bytes) else break the loop

Share this post


Link to post
Share on other sites
ATHMystikal

Thankz for reply.

But i still didn't get it.

 

Why some have 6 and some have 4 bytes before connection data.

 

 

When i explored the savefiles, what i understood is:

 

Read first 4 bytes as UInt32

 

if(value==0) then actual data imeediately follows it

else

read another UInt16 and disacard it. actual data is after that.

 

Am I right. I got it right correctly so far doing like this. Sometimes the last read 2 bytes have different values which has not much relation with number no of connections.

 

And I am now checking if it has any relation with additional ( newly added by game) ENEXs. Still found nothing.

 

Share this post


Link to post
Share on other sites
OrionSR

I suppose I should double check, but IIRC, that first word is set to 0 if CJ has saved outside, or 1 if saved inside, and the data that follows is the index of the enex used before saving.

 

All fixed burglary doors are in SF or Bayside. Those extra connections that get created and destroyed on occasion are the burglary doors that are created in other area. They come and go, and saving at night seems to catch more of them in the save file. They'll get dumped and replaced when the save is used again.

Share this post


Link to post
Share on other sites
ATHMystikal

 

All fixed burglary doors are in SF or Bayside. Those extra connections that get created and destroyed on occasion are the burglary doors that are created in other area. They come and go, and saving at night seems to catch more of them in the save file. They'll get dumped and replaced when the save is used again.

So you mean even if we delete those entries from savefile, they wont affect the game play (as long as checksum is correct) ????

 

 

I suppose I should double check, but IIRC, that first word is set to 0 if CJ has saved outside, or 1 if saved inside, and the data that follows is the index of the enex used before saving.

 

 

So if saved outside no enex is stored. So 4 bytes before data.

If saved inside that particular enex should be store so 4+2=6 bytes. Am I correct?

 

EDIT: You are right OrionSR. Its just as you said. I've tested it on about 25 savegames and they all crrespond to it. The games which are saved at 'four Dragons' and 'Tierra Robanda' have only 4 bytes.(thats the only outside saved files i have). And others which are saved inside have 6 bytes. The first 4 bytes act as single UInt32 and take 0 or 1. If 0. Then it is outside and there is no 5th and 6th bytes. Otherwise 5th and 6th form a UInt16 and indicate the ENEX entry in savefile.

 

Thanks for your help icon14.gificon14.gif

Edited by ATHMystikal

Share this post


Link to post
Share on other sites
OrionSR

I haven't tried anything as drastic as deleting the temporary burglary links from the save, I usually just work around them. I wouldn't be surprised if they could be deleted safely, but that would require resizing the save file and I usually try to avoid that. A more interesting experiment is whether or not it's possible to add new links by editing instead of starting a new save.

 

I got to thinking about the interior saves and that structure at the beginning of the enex block. The Chain Game saves I set up have the LS Big House attached to the inside and outside door of the north roof of Caligula's - it's kind of weird but I wanted a Penthouse Suite. Anyway, I ran a test when CJ enter Caligula's, then used the Penthouse enex to get upstair, and finally entered to save at the LA Big House which has the save disk moved from the Queens Interior. All three links got nested before the LSPD enex is listed.

 

 

03 00 00 00 91 00 F2 00 F4 00 00 00 04 40 37 01

 

Share this post


Link to post
Share on other sites
ATHMystikal

Oh, I see,

 

So the first four bytes must be indicating how may save chains (didn't get a better word). Let it be X. So then there will be X*2 bytes follwowing it before the real ENEX info. Am I right???

 

Does something like this happen within normal game. I mean the chaining of safehouse ENEX? I need to do this because I am developing an ENEX add/delete tool dozingoff.gif

 

 

The Chain Game saves I set up have the LS Big House attached to the inside and outside door of the north roof of Caligula's - it's kind of weird but I wanted a Penthouse Suite. Anyway, I ran a test when CJ enter Caligula's, then used the Penthouse enex to get upstair, and finally entered to save at the LA Big House which has the save disk moved from the Queens Interior.

 

I didn't uderstand it completely. But seems like a brilliant idea. So here is what i got.

 

You get into calligullas's ENEX (roof) but you will be transportd to LS Big House.

and vice versa.

 

 

Share this post


Link to post
Share on other sites
OrionSR

You've got the right idea. However, I don't think "save chain" is exactly right. I suspect the game always tracks the "enex chain" (?) as CJ moves about, but generally you don't get to see it in the save file except after a save. The example I can think of in game may not apply, but when time runs out during burglary CJ gets spat out the last door he entered. So perhaps the enex chain is the way out to the real world when this command is used.

 

No. There are no standard examples of a save nested in an enex chain. However, some people use a save anywhere mod or show save screen cleo script so you still might run into an enex chain longer than 1.

 

I'm not sure I can explain it properly, but the Chain Game Round 29 just finished up 100% in case you want to look for yourself. You'll need version 2 scripts to run it. http://gtasnp.com/11101

 

 

 

 

 

 

Share this post


Link to post
Share on other sites
ATHMystikal

I tried to add some (about 6) new ENEXs to an existing 100% save. and used my tool to update the savefile. This removed any extra Burglary ENEXs (I had 10) which were present in the actual savefile.

 

Then I started game and loaded this savefile. Viola!! No problems biggrin.gif. Almost Every ENEXs works without any trouble (I checked about 40-45 and they worked). The newly added ones are also working. I checked some Burglary ENEXs in bayside also. I found no problems at all confused.gif.

 

So may be those saved/cached extra ENEXs may be of no use. and we could simply erase them. Oh no then why R* added them?? dozingoff.gif

 

EDIT: The block immediately following BLOCK 25 is Radio info. So i am trying to check if deleting those ENEX entries have any effect on Radio.

 

EDIT2: Checked for a long time. But every station works. Dunno if the live news are working (which descuss events going on in game)

Edited by ATHMystikal

Share this post


Link to post
Share on other sites
ATHMystikal

OrionSR:

I made a change in my tool. Now it can succesfully add ENEX to savefiles containing 'nested ENEX safehouse entry' and update them. I will upload it shortly.

Thanks for ur help!

Share this post


Link to post
Share on other sites
OrionSR

Interesting. I figured the nested links wouldn't be too much of a problem as long as a reliable description of the properties was available. I suppose I should update the Wiki for SA Save Files again now that this data have been described and verified.

 

My theory on the extra burglary enex connections is that this is the method used to put burglary doors all over the map. There are lots of fixed burglary doors in SF, and 4 in Bayside. All the doors in LS and LV, and quite a few in SF as well, are all created and destroyed somehow. I suspect the clock plays a roll, and somehow CJ current location, but I've got no idea of how the other enex doors are placed. There doesn't seem to be any data. I haven't been able to find enex data in IPL streams. Perhaps the doors objects themselves play a roll in placing the temporary enex links.

 

Just a reminder in context: There's a memory limit of 400 enex links and most of them are used. If you add too many new links there won't be room in memory for the temporary burglary links.

 

BTW, I've got some memory dumps from PS2 in case you want to poke around and see if you can learn something by examining the temporary burglary links in active memory.

 

And while I'm thinking of it. The X and Y radius values described in IPL documentation appears to be applied to the exit location.

 

 

Here's my description of the enex information in memory. This is taken from my PS2 Cheat Creation topic where I've been experimenting with changing the enex links with cheat codes that alter active memory.

 

0x00 character[7]        Name of Enex string0x07 byte                nul terminator of string (00)0x08 float               X1 - X in Coord0x0C float               Y1 - Y in Coord0x10 float               adjusted X out0x14 float               adjusted Y out0x18 float               Z in Coord + 1.00x1C byte[4]             (unknown) possibly related to unknown Rot1?? (some IPL values appear to be radian) - cannot decode0x20 float               X out Coord0x24 float               Y out Coord0x28 float               Z out Coord + 1.00x2C float               Out Angle0x30 word                door flags0x32 byte                Interior number0x33 byte                Sky0x34 byte                Time On0x35 byte                Time Off0x36 byte                I2 (unknown)0x37 byte                (unknown)0x38 dword               destination address 

 

 

 

If you use the PS2 memory dumps at my host at filefront the enex data starts at offset:

 

NTSCv1: 00C986B0.

NTSCv2: 00C99230

PAL: 00C987B0

 

http://hosted.filefront.com/OrionSR/

 

Does your tool resize the enex block? Are there any problems associated with resizing the block and save file in order to add new enex data?

Edited by OrionSR

Share this post


Link to post
Share on other sites
ATHMystikal

 

Does your tool resize the enex block? Are there any problems associated with resizing the block and save file in order to add new enex data?

 

Resize blocks,Yes I think and found no problems yet. But didnt understand the question.So I will explain what my tool does

 

When ENEX is added and savefile is updated, my tool will write new ENEX Entries at requred positions (not a last position only). ie, it can add enex at intermediate positon too. When update button pressed, the new ENEX numbers are calculated and new connection data is created(because new destination IDs must be calculated) and they are written in BLOCK25. Only the IPL enex are written. After that, I will write BLOCK26 immediately after that. So any existing extra burglary ENEX are lost. And everything after that, till end of BLOCK27 are also written. Then remaning data are repetetion of 0xC800 bytes before that. Is this the way it supposed to do?

However it works for me.

 

 

And about the information you provided. Sorry I havent played SA on any consoles. I have only a PC version. I dont have PS2 or Xbox sad.gifsad.gif . So i dont think that info is useful to me.

 

 

Just a reminder in context: There's a memory limit of 400 enex links and most of them are used. If you add too many new links there won't be room in memory for the temporary burglary links.

 

I knew it, but at present my tool will not check for limit. This is to find actually how much we can add. BTW how that number 400 comes into scene. When i see the savefile, there are lot of space wasted after BLOCK27. And each ENEX id is 4 bytes long. So it can go beyond 0x018F .

Also my tool can delete existing enexs So we can make room for new ENEXs by deleting unwanted existing ones.

 

 

Thanks for your warm reply smile.gif

 

 

EDIT: I've read somewhere that somebody succesfulyy added about 70 new ENEXs mercie_blink.gif . Is that true?. Is the 400 limit comes from memmory limitation (RAM) or savefile space limitation. In former case will SALA can fix it right??

Edited by ATHMystikal

Share this post


Link to post
Share on other sites
OrionSR

Thank you. The description of your tool answered my questions.

 

Then remaning data are repetetion of 0xC800 bytes before that. Is this the way it supposed to do?

I think this is correct; whatever is described in the Wiki is probably the least risky method of extending a save file. However, when I was confronted with manually patching saves with a lot of padding I experimented with flooding the slack with FFs without any observable difficulties.

 

I suspect the PS2 memory dumps correspond in kind with PC memory - similar information, different locations. I haven't investigated PC memory so I don't have anything to offer. I found it interesting to see how the enex information is used in memory but it probably won't make too much difference for your tool.

 

The limit of 400 enex connections comes from active memory. There is room for only 400 enex connections unless you use something like a limits adjuster. I observed the size of memory in the PS2 dumps, and on PC I tested the limit by adding lots of dummy enex lines and checking how many got saved.

 

If your tool deletes some of the extra enex connections then you will also need to adjust the IPL entries in order to maintain the proper sequence of IPL entries. Changing the default sequence of IPL entries will scramble the links on standard saves. Changing the IPL line and then remapping with the tool would help maintain compatibility with existing and downloaded saves. Keep in mind that there is a 1 to 1 correspondence between the source and destination index IDs and the sequence of the current list of enex lines in the IPL files.

 

If you remap the links with an enex tool without altering the IPL line for that enex the wrong interior/zone names will be displayed when using the link. For the most part this isn't a problem but if the link is to an interior with... (how to put it?) with active character scripts (barber, tattoo, clothes, fastfood (?), ammu-nation) then those scripts will not run unless the text identifier matches the appropriate interior.

 

That probably didn't make sense, so here's an example: If you change the Fort Carson ammu-nation link in the save to the unused ammu-nation then the guy behind the counter won't be present to sell stuff unless the IPL line for the Fort Carson link is changed from AMMUN3 to AMMUN4. However, the Ammu-nation challenge mission is still present.

 

BTW, will your tool also allow the user to activate doors and adjust the door flags so that cars, bikes, or NPC can use the links?

Edited by OrionSR

Share this post


Link to post
Share on other sites
ATHMystikal

 

If your tool deletes some of the extra enex connections then you will also need to adjust the IPL entries in order to maintain the proper sequence of IPL entries. Changing the default sequence of IPL entries will scramble the links on standard saves. Changing the IPL line and then remapping with the tool would help maintain compatibility with existing and downloaded saves. Keep in mind that there is a 1 to 1 correspondence between the source and destination index IDs and the sequence of the current list of enex lines in the IPL files.

 

yeah my tool does it correctly. There is still 1 o 1 currespondance with source and destination IDs. Here is how it works:

When you add an ENEX, it is added to specified IPL. If some ENEX is deleted, it is removed from that particular IPL file which contains it. After rebuilding the altered IPLs, the tool will calculate new ENEX IDs for all remaining ENEX entries after edit. Then it will call a function to find matches, then they are connected with approapriate macthes and a new data structure conatining Source ID, Flag, Destination ID is created (just like in savefile). the new ENEX numbers are calculated on the basis of order of ENEX in the IPL files. So the exact oreder is preserved. This part of program is the most complex. It took 1 week to do that single function. confused.gif

 

Then the created data structure is written to savefile(as explained in previous post).

 

And before editing anything, the flags for each existing door is saved.and later they are reassigned approppriately. So the doors which are locked at the time

of that save stays locked and which were unlocked satys unlocked. So this means my tool will not ruin the gameflow colgate.gif

 

But newly created ENEX are always unlocked.

 

However I have almost finished beta2 and will upload it within 24 hours. It has the ability to lock/unlock any door at wish wink.gif

 

 

BTW, will your tool also allow the user to activate doors and adjust the door flags so that cars, bikes, or NPC can use the links?

 

Thats a good idea. I will include it in next version(not beta2).

 

One of the most sad thing is nobody who downloaded my tool gave me a feedback( well except Xmen- he found a bug and reported and I fixed it. He also gave me some advices. Thanks). So I dont know whether its working well for others sad.gif .

 

If you are interested why dont you just try my tool.Download it here

DOWNLOAD

 

After all its not as bad as I thought sigh.gif

 

EDIT: I was thinking about how the scripts lock and unlock ENEXs.I know that they are doing it. So if the opcode specifies the ENEX number to specify which should be locked/unlocked, my tool may cause problems. Because when you delete ENEX, the ENEX number of all ENEX following it are altered.

So do you have any info for me on this??

 

Thanks again: God Bless You

Edited by ATHMystikal

Share this post


Link to post
Share on other sites
ATHMystikal

 

My theory on the extra burglary enex connections is that this is the method used to put burglary doors all over the map. There are lots of fixed burglary doors in SF, and 4 in Bayside. All the doors in LS and LV, and quite a few in SF as well, are all created and destroyed somehow. I suspect the clock plays a roll, and somehow CJ current location, but I've got no idea of how the other enex doors are placed. There doesn't seem to be any data. I haven't been able to find enex data in IPL streams. Perhaps the doors objects themselves play a roll in placing the temporary enex links.

 

Above is a quote from one of your previous posts. One sentense caught my attention

 

Perhaps the doors objects themselves play a roll in placing the temporary enex links.
.

It can be checked by deleting that particular door objects using MEd or something. Then see if the ENEX show up again. I will check it as soon as I install GTA (yeah I got it corrupted again )suicidal.gif

Share this post


Link to post
Share on other sites
OrionSR

Well then. It sounds like your tool is much more robust than I had initially imagined. It looks like you've already considered most of the problems I was anticipating.

 

The scripting for locking and unlocking the doors should not be affected by your tool unless you make additional changes to the enex lines. I am aware of 2 methods used for changing the door locks. The primary method is to call the name of the enex. This method works on all enexes with the same name; so one command can lock all Burger doors and the interior.

 

07FB: set_interior 'GYM1' access 1  // Ganton Gym 

 

If you change the enex strings then you should be able to prevent the scripts from changing the door properties. There is a chance the game might get confused when checking active interiors by name instead of number, but I'm not sure where to test for conflicts.

 

The other method is by location and radius. There are a few different versions of the codes used to make these changes.

 

0864: set_interior_at 2165.72 -1673.14 radius 10.0 access 1 09B4: set_object_property_at 345.5621 306.2212 radius 10.0 bitmask 16384 flag 0  

 

One of my tricks for keeping the Jefferson Safe House open on a new game is to move the door to the alley or in front of a door on a neighboring house. As long a the door is outside of the radius of the buy property pickup it will remain unlocked after the startup missions run.

Edited by OrionSR

Share this post


Link to post
Share on other sites
ATHMystikal

Thanks for the info. So i'm going to upload the beta2 of my tool within 30 minutes.

 

Anyway you now hold an unoffical record of being the guy who replied to me the most number of times!!! happy.gif

 

for(i=0;i<infinity;i++)

{

cout<<"Thank you!";

}

Share this post


Link to post
Share on other sites
ATHMystikal

I found something about extra burglary. May be you already knew it.

 

In an original save after 1st mision, some of the burglary enex have destination as FFFF. But In savefiles containing extra burglary ENEXs, some of these FFFF are replaced with those extra ones. This assignment is random as far i know. It is almost same in all savefiles. And the extra enexs are connected back to these existing enexs.

But in some cases, the extra burglary enexs are connected to already paired ones like TATOO. But the destination of TATOO is same as before, not altered.

 

And one more question, the number of saved extra Burglary enexs is always 10 ???

EDIT: No its not sometimes its 8,10,or even 12.

 

And something else:

 

The destination ID of the extra burglary ENEXs are found to be fixed. I checked a number of savefiles having diffrent amount of extra burglary ENEXs. But all of them have same destination number for curresponding SourceID. But all of them were children of one save.(I mean i had a save, i played someime saved to a new file, played somemore saved to another..)

 

Then I tried something odd. I loade a savefile into my tool. Deleted the first normal ENEX (POLICE1 in Las.ipl). Then updated it. It removed all cached temporory burglary enexs. Then I strted playing and went to LV and did some burglary (yes burglary are still working)and saved again.

 

Then I checked the new savefile. The burglary connections are not restored in it!!!. No extra burglary enexes are present in them.

 

Here is the relevent parts of my savefiles

 

I. Original(GTASAsf8.b)

-------------------------------

 

7801 0440 0401 connected to TATTO2 gen_int1.ipl7901 0440 4C01 connected to BARBER2 gen_int5.ipl7A01 0440 5901 connected to CHANGER gen_int5.ipl Wardrobe Int7B01 0440 4B01 connected to BAR1 gen_int5.ipl Disco Bar7C01 0440 4801 connected to FDPIZA gen_int5.ipl Well Stacked Pizza7D01 0440 3601 connected to LASTRIP gen_int3.ipl Pig Pen7E01 0640 2A01 connected to GENWRHS gen_int3.ipl Warehouse7F01 0440 4201 connected to CSSPRT gen_int5.ipl Pro-Laps8001 0040 FFFF 8101 0040 FFFF    

 

 

II. Another child of GTASAsf8.b(GTASAsf6.b)

-------------------------------------------------

 

7801 0440 0401 connected to TATTO2 gen_int1.ipl7901 0440 4C01 connected to BARBER2 gen_int5.ipl7A01 0440 5901 connected to CHANGER gen_int5.ipl Wardrobe Int7B01 0440 4B01 connected to BAR1 gen_int5.ipl Disco Bar7C01 0440 4801 connected to FDPIZA gen_int5.ipl Well Stacked Pizza7D01 0440 3601 connected to LASTRIP gen_int3.ipl Pig Pen7E01 0640 2A01 connected to GENWRHS gen_int3.ipl Warehouse7F01 0440 4201 connected to CSSPRT gen_int5.ipl Pro-Laps8001 0040 FFFF 8101 0040 FFFF    

 

 

Look both of them are same!

 

III.Here is another one with more burglary ENEX(GTASAsf5.b)

------------------------------------------------------------------------

 

7801 0440 0401 connected to TATTO2 gen_int1.ipl7901 0440 4C01 connected to BARBER2 gen_int5.ipl7A01 0440 5901 connected to CHANGER gen_int5.ipl Wardrobe Int7B01 0440 4B01 connected to BAR1 gen_int5.ipl Disco Bar7C01 0440 4801 connected to FDPIZA gen_int5.ipl Well Stacked Pizza7D01 0440 3601 connected to LASTRIP gen_int3.ipl Pig Pen7E01 0640 2A01 connected to GENWRHS gen_int3.ipl Warehouse7F01 0440 4201 connected to CSSPRT gen_int5.ipl Pro-Laps8001 0040 FFFF 8101 0040 FFFF    8201 0614 FFFF8301 0614 0B01 connected to VGSHS2 gen_int2.ipl Burlary Knife8401 0610 0B01 connected to VGSHS2 gen_int2.ipl Burlary Knife

 

 

Look here also the ENEXs in common have the same Destinations.

 

Then I opened my tool and deleted the first normal ENEX, saved it as GTASAsf7.b.

Then I checked it to see that all temperory ENEX are removed. Strted the game. loaded this savefile and just went out of savehouse went to LV and did some burglary and saved it in LV as GTASAsf1.b

 

Then I opened GTASAsf1.b in hexeditor there were no extra burglary enexs. Every ENEX numbers were decremented by 1 as I deleted the first ENEX.

 

So those extra burglary ENEXs doesn't make any sense at first look.

 

But when I looked closely, most of the extra burglary ENEX is connected to a shop. Does something like this (i mean to shops like barber, tatoo..)

exist as normal burglary ENEXs????I hardly find anything

 

 

So I strongly suspect that those are if they are burglary related,

 

Act as secondory ENEXs, ie in normal time, they use their normal IPL defined ENEX connection and During Burglary those are disabled and these ENEXs are used.

But they cannot be treated as temperory ENEXs. because each of them has constant Destinations (see the hex values).

 

If they are not burglary related, then they may be used for some missions.

 

Well I going to check these things, but one problem. How would I know the location of these extra ENEXs.

 

 

Share this post


Link to post
Share on other sites
OrionSR

Okay, this is strange. I've never noticed any of the extra enex connections ending up linked with any destination other than a burglary interior. Even the flags don't look right. However, most of my observations about the extra enex links were made on beginning saves. Looking through the saves I have on hand it appears that your observations about the confusing destinations is correct. I have no explanation.

 

As far as I know, the coordinates for the extra enex connections are only stored in memory.

 

Share this post


Link to post
Share on other sites
ATHMystikal

I've been playing around with those extra ENEXs all these days. I recently got a feeling that they are not always burglary related. May be they are used for burglary as well. I did well above 40 burlary missions last 2 days and never found a burglary ENEX that takes into a shop and allows you to steal things from it. When I enter the shops during burglary, they just act like usual.

 

Also i started a new game. I finished 1st mission and saved it. They didn't get any extra ENEXs, and did another mission saved again, this too didn't get any.

 

I had a complete backup of saves for all the missions. but I forgot where it is stored sad.gif. If I get it, I could probably find; after which mission, they satart to dump into savefile. This will also help to find if they are changed during missions.

 

But with my existing saves, I found that they are not changing. So I think R* will be creating some non IPL ENEXs for some missions or sub-missions and stored those entries in RAM along witth other ordinary pairs for quick access. And when a savefile is created, they were also dumped and they dont care about them later. This is because. doing burglary mission with and without these extra ENEX in your save doesn't make any noticeable difference.

 

 

But in my previous post you can see that, some extra ENEXs are connected to shops. and some of these shops are connected back also. That means somewhere in the game, they got connected.

If that was used for mission, burglary or sub-mission, in which?. Did you remember any mission or sub-mission related with TATOO shop,PRO-LAPS etc..

 

And about the cordinates of an extra ENEX. Since their destination ID points to an existing IPL ENEX, their source information will be taken from an existing IPL ENEX

too. Because thnik of an extra ENEX to a TATOO. Then its exterior marker should be infront of some TATOO shop itself, and logically it cant be infront of house or some other thing. And all TATOO shops already have an IPL ENEX infront of it. SO extra ENEX may be taking the cordinates from one such ENEX.

 

I dont think R* create an ENEX infront of a house door, which takes you to TATOO shop.

Edited by ATHMystikal

Share this post


Link to post
Share on other sites
ATHMystikal

After thinking a lot, the extra ENEX to BAR may be used during a dating. Because did you notice. In dating, you enter a bar through the ENEX, but you never comeout through an ENEX, instead after cutscene takes you out. This happens when entering girl friends house after dating. That means you comeout of interior to exterior without using an ENEX.

If you enter such enexs, are you actually entring interior world?. Because eventhough you are entering it, only a cutscene is played, you cant move around inside it.

 

Oh I found out my old savefiles. and I started to look through them to find out in which save, the extra ENEX starts to dump. But I am frustrated to see that about 90% doesn't have them. I checked if savefile after first burglary mission, 'Home Invasion'. But it has none. And I checked some more files. Some of them has some not. Aprent may have them but child may not.

 

But saves under the same mission name have them almost same. Also the save files with Sub-mission name(eg, barnstorming) have these ENEXs most times. But saves with main-mission names have those rarely.

 

 

And you have to see this:

 

7601 0040 FFFF

7701 0040 FFFF

7901 0614 0B01

7A01 0614 FFFF

7B01 0610 0B01

 

Look there is no 78 01 , This is an unmodified original savefile saved after passing the mission 'Free Fall' and It works well.

 

'Breaking the Bank at Caligulas' also got 78 01 missing. But saves before and after have it correct.

 

 

Oh these extra ENEXs are so confusing. I am leaving them to work in whatever way they want devil.gifdevil.gifmercie_blink.gif

Share this post


Link to post
Share on other sites
OrionSR

I'm not sure if this will help or not, but here a sample of the extra burglary doors found in a NewGame start on PS2v1. On this save CJ would have started the game and then ran down the alley until the radar stopped blinking, then the memory was dumped. I think, or maybe he entered Jefferson before saving - I had moved the door to keep it open on my first tests with the emulator.

 

Data structure can be found on this post earlier in this thread.

http://www.gtaforums.com/index.php?showtop...st&p=1058265985

 

 

00c9ded0h: 4C 41 48 53 31 42 00 00 28 0C 05 45 7A 2B AA C4; LAHS1B..(..Ez+ªÄ00c9dee0h: 28 2C 05 45 7A 4B AA C4 20 42 D1 41 7D 8D 45 40; (,.EzKªÄ BÑA}[email protected]: 28 1C 05 45 13 75 AA C4 20 42 CD 41 FD FF 33 43; (..E.uªÄ BÍAýÿ3C00c9df00h: 06 14 00 00 00 00 00 80 D8 C7 C9 00 4C 41 48 53; .......€ØÇÉ.LAHS00c9df10h: 31 41 00 00 37 39 06 45 90 BB A4 C4 37 59 06 45; 1A..79.E»¤Ä7Y.E00c9df20h: 90 FB A4 C4 87 1C CE 41 00 00 00 00 37 29 06 45; û¤Ä‡.ÎA....7).E00c9df30h: F6 C1 A4 C4 87 1C CE 41 00 00 00 00 06 14 00 00; öÁ¤Ä‡.ÎA........00c9df40h: 00 18 00 80 9C C7 C9 00 4C 41 48 53 31 41 00 00; ...€œÇÉ.LAHS1A..00c9df50h: B9 EC 08 45 23 5F 9F C4 B9 0C 09 45 23 9F 9F C4; ¹ì.E#_ŸÄ¹..E#ŸŸÄ00c9df60h: D7 56 C9 41 DB 0F 49 40 B9 FC 08 45 BD A8 9F C4; ×VÉAÛ[email protected]¹ü.E½¨ŸÄ00c9df70h: 7B C7 C8 41 00 00 34 43 06 14 00 00 00 00 00 80; {ÇÈA..4C.......€00c9df80h: 9C C7 C9 00 4C 41 48 53 31 42 00 00 B0 8A 06 45; œÇÉ.LAHS1B..°Š.E00c9df90h: F8 55 9B C4 B0 AA 06 45 F8 95 9B C4 20 38 CB 41; øU›Ä°ª.Eø•›Ä 8ËA00c9dfa0h: 00 00 00 00 B0 9A 06 45 F8 55 9B C4 20 38 CB 41; ....°š.EøU›Ä 8ËA00c9dfb0h: 00 00 00 00 06 14 00 00 00 18 00 80 D8 C7 C9 00; ...........€ØÇÉ.00c9dfc0h: 4C 41 48 53 31 41 00 00 C9 52 06 45 70 A8 A0 C4; LAHS1A..ÉR.Ep¨ Ä00c9dfd0h: C9 72 06 45 70 E8 A0 C4 87 BC C1 41 DB 0F 49 40; Ér.Epè ć¼ÁAÛ[email protected]: C9 82 06 45 0A E2 A0 C4 87 BC C1 41 00 00 34 43; É‚.E.â ć¼ÁA..4C00c9dff0h: 06 14 00 00 00 00 00 80 9C C7 C9 00 4C 41 48 53; .......€œÇÉ.LAHS00c9e000h: 53 36 00 00 E0 E3 02 45 F0 05 8F C4 E0 03 03 45; S6..àã.Eð.Äà..E00c9e010h: F0 45 8F C4 6C CF D4 41 DB 0F C9 BF E0 EB 02 45; ðEÄlÏÔAÛ.É¿àë.E00c9e020h: F0 25 8F C4 6C CF D4 41 00 00 87 C3 06 14 00 00; ð%ÄlÏÔA..‡Ã....00c9e030h: 00 18 00 80 CC C4 C9 00 4C 41 48 53 31 42 00 00; ...€ÌÄÉ.LAHS1B..00c9e040h: D0 8C 0C 45 78 B9 9A C4 D0 AC 0C 45 78 F9 9A C4; ÐŒ.Ex¹šÄЬ.ExùšÄ00c9e050h: 20 78 CF 41 00 00 00 00 D0 9C 0C 45 78 B9 9A C4;  xÏA....Ðœ.Ex¹šÄ00c9e060h: 20 78 CF 41 00 00 00 00 06 14 00 00 00 18 00 80;  xÏA...........€00c9e070h: D8 C7 C9 00 4C 41 48 53 31 41 00 00 07 46 0B 45; ØÇÉ.LAHS1A...F.E00c9e080h: 9D 07 9B C4 07 66 0B 45 9D 47 9B C4 D7 56 CD 41; .›Ä.f.EG›Ä×VÍA00c9e090h: 00 00 00 00 07 56 0B 45 03 FE 9A C4 7B C7 CC 41; .....V.E.þšÄ{ÇÌA00c9e0a0h: 00 00 00 00 06 14 00 00 00 18 00 80 9C C7 C9 00; ...........€œÇÉ.00c9e0b0h: 4C 41 48 53 31 41 00 00 B7 0C 0A 45 D0 C0 9A C4; LAHS1A..·..EÐÀšÄ00c9e0c0h: B7 2C 0A 45 D0 00 9B C4 87 5C C1 41 00 00 00 00; ·,.EÐ.›Ä‡\ÁA....00c9e0d0h: B7 FC 09 45 36 C7 9A C4 87 5C C1 41 00 00 00 00; ·ü.E6ǚć\ÁA....00c9e0e0h: 06 14 00 00 00 00 00 80 9C C7 C9 00 4C 41 48 53; .......€œÇÉ.LAHS00c9e0f0h: 31 42 00 00 68 F1 09 45 BA 0F A0 C4 68 11 0A 45; 1B..hñ.Eº. Äh..E00c9e100h: BA 2F A0 C4 20 22 C9 41 7D 8D 45 40 68 01 0A 45; º/ Ä "ÉA}[email protected]: 53 59 A0 C4 20 22 C5 41 FD FF 33 43 06 14 00 00; SY Ä "ÅAýÿ3C....00c9e120h: 00 00 00 80 D8 C7 C9 00 4C 41 48 53 31 42 00 00; ...€ØÇÉ.LAHS1B..00c9e130h: 18 EA 08 45 06 D2 9A C4 18 0A 09 45 06 F2 9A C4; .ê.E.ÒšÄ...E.òšÄ00c9e140h: 20 12 C4 41 9B 96 60 BD 18 FA 08 45 6D A8 9A C4;  .ÄA›–`½.ú.Em¨šÄ00c9e150h: 20 12 C0 41 00 00 00 00 06 14 00 00 00 00 00 80;  .ÀA...........€00c9e160h: D8 C7 C9 00 4C 41 48 53 31 42 00 00 D0 8C 0C 45; ØÇÉ.LAHS1B..ÐŒ.E00c9e170h: 78 B9 9A C4 D0 AC 0C 45 78 F9 9A C4 20 78 CF 41; x¹šÄЬ.ExùšÄ xÏA00c9e180h: 00 00 00 00 D0 9C 0C 45 78 B9 9A C4 20 78 CF 41; ....Ðœ.Ex¹šÄ xÏA00c9e190h: 00 00 00 00 06 14 00 00 00 18 00 80 D8 C7 C9 00; ...........€ØÇÉ.00c9e1a0h: 4C 41 48 53 31 42 00 00 50 38 11 45 00 38 9C C4; LAHS1B..P8.E.8œÄ00c9e1b0h: 50 58 11 45 00 78 9C C4 41 43 E0 41 00 00 00 00; PX.E.xœÄACàA....00c9e1c0h: 50 48 11 45 CD B4 9C C4 41 43 E0 41 00 00 34 C3; PH.EÍ´œÄACàA..4Ã00c9e1d0h: 06 14 00 00 00 18 00 80 D8 C7 C9 00 4C 41 48 53; .......€ØÇÉ.LAHS00c9e1e0h: 53 36 00 00 54 B5 02 45 3A B1 91 C4 54 D5 02 45; S6..Tµ.E:±‘ÄTÕ.E00c9e1f0h: 3A F1 91 C4 66 C6 D4 41 DB 0F C9 BF 87 B8 02 45; :ñ‘ÄfÆÔAÛ.É¿‡¸.E00c9e200h: 3A D1 91 C4 66 C6 D4 41 00 00 87 C3 06 14 00 00; :Ñ‘ÄfÆÔA..‡Ã....00c9e210h: 00 18 00 80 CC C4 C9 00 4C 41 48 53 31 42 00 00; ...€ÌÄÉ.LAHS1B..00c9e220h: 50 38 11 45 C0 26 A0 C4 50 58 11 45 C0 66 A0 C4; P8.EÀ& ÄPX.EÀf Ä00c9e230h: 41 43 E0 41 00 00 00 00 50 48 11 45 8D A3 A0 C4; ACàA....PH.E£ Ä00c9e240h: 41 43 E0 41 00 00 34 C3 06 14 00 00 00 00 00 80; ACàA..4Ã.......€00c9e250h: D8 C7 C9 00 4C 41 48 53 31 42 00 00 D6 DC 11 45; ØÇÉ.LAHS1B..ÖÜ.E00c9e260h: 88 0E 9E C4 D6 FC 11 45 88 4E 9E C4 41 43 E0 41; ˆ.žÄÖü.EˆNžÄACàA00c9e270h: 00 00 00 00 D6 EC 11 45 55 CB 9D C4 41 43 E0 41; ....Öì.EUËÄACàA00c9e280h: 00 00 00 00 06 14 00 00 00 00 00 80 D8 C7 C9 00; ...........€ØÇÉ.00c9e290h: 4C 41 48 53 53 36 00 00 E1 A9 02 45 EE E6 93 C4; LAHSS6..á©.Eîæ“Ä00c9e2a0h: E1 C9 02 45 EE 26 94 C4 C7 96 D8 41 DB 0F C9 BF; áÉ.Eî&”ÄÇ–ØAÛ.É¿00c9e2b0h: AE AE 02 45 EE 26 94 C4 C7 96 D8 41 00 00 87 C3; ®®.Eî&”ÄÇ–ØA..‡Ã00c9e2c0h: 06 14 00 00 00 00 00 80 CC C4 C9 00 4C 41 48 53; .......€ÌÄÉ.LAHS00c9e2d0h: 31 42 00 00 D6 DC 11 45 88 4A 96 C4 D6 FC 11 45; 1B..ÖÜ.EˆJ–ÄÖü.E00c9e2e0h: 88 8A 96 C4 41 43 E0 41 00 00 00 00 D6 EC 11 45; ˆŠ–ÄACàA....Öì.E00c9e2f0h: 55 07 96 C4 41 43 E0 41 00 00 00 00 06 14 00 00; U.–ÄACàA........00c9e300h: 00 00 00 80 D8 C7 C9 00 4C 41 48 53 31 42 00 00; ...€ØÇÉ.LAHS1B..00c9e310h: 10 DD 03 45 F8 68 9B C4 10 FD 03 45 F8 A8 9B C4; .Ý.Eøh›Ä.ý.Eø¨›Ä00c9e320h: 20 18 CF 41 00 00 00 00 10 ED 03 45 F8 68 9B C4;  .ÏA.....í.Eøh›Ä00c9e330h: 20 18 CF 41 00 00 00 00 06 14 00 00 00 18 00 80;  .ÏA...........€00c9e340h: D8 C7 C9 00 4C 41 48 53 31 42 00 00 50 36 05 45; ØÇÉ.LAHS1B..P6.E00c9e350h: 48 E5 9F C4 50 56 05 45 48 25 A0 C4 20 68 CF 41; HåŸÄPV.EH% Ä hÏA00c9e360h: DB 0F 49 40 50 46 05 45 48 25 A0 C4 20 68 CF 41; Û[email protected]% Ä hÏA00c9e370h: 00 00 34 43 06 14 00 00 00 00 00 80 D8 C7 C9 00; ..4C.......€ØÇÉ.00c9e380h: 4C 41 48 53 31 41 00 00 69 2A 06 45 F0 CA AA C4; LAHS1A..i*.EðªÄ00c9e390h: 69 4A 06 45 F0 0A AB C4 87 4C CD 41 DA 0F 49 40; iJ.Eð.«Ä‡LÍAÚ[email protected]: 69 5A 06 45 8A 04 AB C4 87 4C CD 41 FF FF 33 43; iZ.EŠ.«Ä‡LÍAÿÿ3C00c9e3b0h: 06 14 00 00 00 18 00 80 9C C7 C9 00 4C 41 48 53; .......€œÇÉ.LAHS00c9e3c0h: 31 41 00 00 99 A3 02 45 A3 A6 9F C4 99 C3 02 45; 1A..™£.E£¦ŸÄ™Ã.E00c9e3d0h: A3 E6 9F C4 D7 86 D1 41 DB 0F 49 40 99 B3 02 45; £æŸÄ׆ÑAÛ[email protected]™³.E00c9e3e0h: 3D F0 9F C4 7B F7 D0 41 00 00 34 43 06 14 00 00; =ðŸÄ{÷ÐA..4C....00c9e3f0h: 00 00 00 80 9C C7 C9 00 4C 41 48 53 31 42 00 00; ...€œÇÉ.LAHS1B..00c9e400h: B8 99 02 45 46 50 9A C4 B8 B9 02 45 46 70 9A C4; ¸™.EFPšÄ¸¹.EFpšÄ00c9e410h: 20 52 D0 41 9B 96 60 BD B8 A9 02 45 AD 26 9A C4;  RÐA›–`½¸©.E­&šÄ00c9e420h: 20 52 CC 41 00 00 00 00 06 14 00 00 00 00 00 80;  RÌA...........€00c9e430h: D8 C7 C9 00 4C 41 48 53 42 33 00 00 00 95 04 45; ØÇÉ.LAHSB3...•.E00c9e440h: A9 5D A6 C4 00 B5 04 45 A9 9D A6 C4 69 2E D5 41; ©]¦Ä.µ.E©¦Äi.ÕA00c9e450h: 9C 96 60 3D 00 A5 04 45 76 FA A5 C4 69 2E D5 41; œ–`=.¥.Evú¥Äi.ÕA00c9e460h: 00 00 00 00 06 14 00 00 00 18 00 80 34 C6 C9 00; ...........€4ÆÉ. 

 

Edited by OrionSR

Share this post


Link to post
Share on other sites
ATHMystikal

Thankz I am working on it. I,ve played GTASA many times, and I never found Extra Burglary ENEX in first save [PC]. Do you know when/after which mission they are first stored into savefile.?

Share this post


Link to post
Share on other sites
OrionSR

New enexes can appear right away, without any missions. In the chain game saves we suspect that rolling the clock back to just after midnight was contributing the the creation of burglary enexes. Perhaps CJ's location in the Jefferson Alley contributes to burglary doors rather than another type of enex.

Share this post


Link to post
Share on other sites
ATHMystikal

 

0x00 character[7]        Name of Enex string0x07 byte                nul terminator of string (00)0x08 float               X1 - X in Coord0x0C float               Y1 - Y in Coord0x10 float               adjusted X out0x14 float               adjusted Y out0x18 float               Z in Coord + 1.00x1C byte[4]             (unknown) possibly related to unknown Rot1?? (some IPL values appear to be radian) - cannot decode0x20 float               X out Coord0x24 float               Y out Coord0x28 float               Z out Coord + 1.00x2C float               Out Angle0x30 word                door flags0x32 byte                Interior number0x33 byte                Sky0x34 byte                Time On0x35 byte                Time Off0x36 byte                I2 (unknown)0x37 byte                (unknown)0x38 dword               destination address

 

 

This format is given by you in an older post. its correct, but I think it needs some clarification about the cordinates.

 

After a lot of experiments, I found that if X,Y,Z are entry cordinates of an ENEX and radX and radY are radii of the same in IPL file,then in memory

 

 

0x08 float               is  X-(radX/2) = Xmin0x0C float               is Y+(radY/2)  = Ymax0x10 float               is X+(radX/2)   = Xmax0x14 float               is Y-(radY/2)   = Ymin

 

 

That is if player is within Xmax and Xmin and ymax and Ymin, the ENEX is activated and we are teleported. These cordinates are derived from the actual cordinates and radii giiven in IPL.

 

And a doubt. In IPL ENEX documentation, I saw the term X radius and Y radius. But how could it be possible. Radius is related to a circle. But there is no circle in a single cordinate. In X or Y cord, there is only line. So I think X-width and Y width is better term.

 

As we can see from above, those boudaries (Xmax,Xmin,Ymax,Ymin) forms a rectagle, not a circle. and enex marker is placed at X,Y,Z

 

user posted image

 

Xmax-Xmin=radX in IPL

Ymax-Ymin=radY in IPL

 

And I was observing the ENEXs in memory and did a lot with extra ENEXs. Yes most of them(above 90%) are burglary ENEXs.

 

To find out if they have any relation with those present in savefile, I took one savefile, deleted the extra ENEXs and updated it using my tool. Them I loaded it in game.

And I scanned the memmory. Yes those extra are still present. So they are not read from savefile ENEXs. To test it, I loaded a savefile with extra ENEXs and did the samething. Then did some burglary and saved it agin.Then I opened it in Hex editor. But the extra ENEXs are not altered. Same happened with the other save in which no extra ENEXs were present. No extra ENEXs are written when they are resaved.

 

And about the cordinates of the extra ENEXs. I searched the memmory and decoded some of them. They are given below.

 

 

Cordinates of extra enexs:NAME	Xmin  Ymax  Xmax  Ymin  Z  DESCRIPTION----	---------	----------	----------	-----------	---------	-----------------------------LAHS1A	2513.0735,	-1690.3591,	2515.0735,	-1692.2591,	14.098299	Burglary house near CJs houseLAHS1A	1694.3628,	-2124.8242,	1696.3638,	-2126.8242,	13.812893	Burglary house near Verdent Bluffs savehouse	LAHS1A	1666.5203,	-2106.0613,	1668.5203,	-2108.0613,	14.097178	Burglary house near Verdent Bluffs savehouseLAHS1A	1672.5659,	-2121.3337,	1674.5659,	-2123.3337,	14.148830	Burglary house near Verdent Bluffs savehouse

 

 

If u cant see it correctly, copy psate it to notepad and turn off wordwrap.

 

Then I tested them by doing burglary mission. They are working.

 

To find if they acquire their cordinates from 'door object', I started MEd and navigated to these area and found these houses. But for my surprice, none of them had a door object. They dont have a door object like safehouse or other buildings. The door is just a texture. So the cordinates are not read from door object.

 

For testing, I deleted the building using MEd. but LOD was left behind. Then I run gta and started burglary. But this time, there was no marker on that building.So it is related to the building model/collision.(doesnt mean cords are read from them)

 

So may be they are hard coded in the exe. or scripted in the burglar mission script.

 

Then I tried to find out when they are written to memmory. I found it. they are written when we load a savefile for the first time. If we load another savefile, none of them (even ordinary IPL enex) are re-written.I tested it with savefiles with/without extra ENEX, modeed saves with more than 376 ENEX, less than 376.. Loaded them in diffrent order. but still they are written only once.But I had to test it again.

 

 

 

 

Share this post


Link to post
Share on other sites
OrionSR

Yeah, okay. It looks like I was wrong about the Entrance coordinates. See if this matches observations.

 

Assume X rad and Y rad to be X width and Y width:

 

 0x00 character[7]        Name of Enex string0x07 byte                nul terminator of string (00)0x08 float               X1a - X width/20x0C float               Y1a - X width/20x10 float               X2b + X width/20x14 float               Y2b + X width/20x18 float               Z in Coord + 1.00x1C byte[4]             (unknown) possibly related to unknown Rot1??  - cannot decode0x20 float               X out Coord0x24 float               Y out Coord0x28 float               Z out Coord + 1.00x2C float               Out Angle0x30 word                door flags0x32 byte                Interior number0x33 byte                Sky0x34 byte                Time On0x35 byte                Time Off0x36 byte                I2 (unknown)0x37 byte                (unknown)0x38 dword               destination address

 

Share this post


Link to post
Share on other sites
ATHMystikal

I think you made a ssmall mistake. There is no X1a or X2b both are same (the valuse of X in IPL)

and one more. its not -,-,+,+ but -,+,+,-

This

 

0x08 float               X1a - X width/20x0C float               Y1a - X width/20x10 float               X2b + X width/20x14 float               Y2b + X width/2

 

 

becomes this

 

0x08 float               X - X width/20x0C float               Y + Y width/20x10 float               X + X width/20x14 float               Y - Y width/2

 

where

X,Y,Z are cordinates of that ENTRY in IPL (X1,Y1.Z1 in IPL nomenclature)

X width and Y width are X radius and Y radius in IPL

 

ie always

[0x10] - [0x08] = Xwidth

[0x0C] - [0x14] = Ywidth

 

 

So getting everything togethor

 

0x00 character[7]        Name of Enex string0x07 byte                nul terminator of string (00)0x08 float               X - X width/20x0C float               Y + Y width/20x10 float               X + X width/20x14 float               Y - Y width/20x18 float               Z in Coord + 1.00x1C byte[4]             (unknown) possibly related to unknown Rot1??  - cannot decode0x20 float               X out Coord0x24 float               Y out Coord0x28 float               Z out Coord + 1.00x2C float               Out Angle0x30 word                door flags0x32 byte                Interior number0x33 byte                Sky0x34 byte                Time On0x35 byte                Time Off0x36 byte                I2 (unknown)0x37 byte                (unknown)0x38 dword               destination address

 

I am new in this area. So admit my suggestion only if you find it correct.

I request you to verify my observations. I dont have much experience in these things. You are my teacher in this field.

 

thanks for looking at that post. smile.gif

Edited by ATHMystikal

Share this post


Link to post
Share on other sites
OrionSR

Um... yeah. That looks right. But still, we shouldn't be defining memory based on an IPL definition. Perhaps someone has already documented this area of memory and we can borrow from that. The X width and Y width are defined in IPL and are not present in memory. Perhaps something like:

 

 

0x00 character[7]        Name of Enex string0x07 byte                nul terminator of string (00)0x08 float               XinMin 0x0C float               YinMax0x10 float               XinMax0x14 float               YinMin0x18 float               Z in Coord + 1.00x1C byte[4]             (unknown) possibly related to unknown Rot1??  - cannot decode0x20 float               X out Coord0x24 float               Y out Coord0x28 float               Z out Coord + 1.00x2C float               Out Angle0x30 word                door flags0x32 byte                Interior number0x33 byte                Sky0x34 byte                Time On0x35 byte                Time Off0x36 byte                I2 (unknown)0x37 byte                (unknown)0x38 dword               destination address 

 

Notes:

  • XinMax in memory = IPL X1 + X width/2
  • X width is defined as X radius in current documentation.

Share this post


Link to post
Share on other sites
ATHMystikal

Yeah thats correct, I think.

 

And did you get anything more about how those extra ENEXs get their cordinates??. I rechecked and found that many buglary houses haven't got any door object. So cordinates are not taken from it.

 

But unlike normal ENEXs, they need some building model to work. If you delete the building model, yellow markers will not appear. Actually they are not created in memoty either if building is missing

Edited by ATHMystikal

Share this post


Link to post
Share on other sites
OrionSR

I've got no idea how the extra enex connections get their coordinates. Although I am a bit curious, I'm not sure this information is particularly useful.

 

Here's another question that's been bugging me: How does the game know that the extra links in the save are not associated with enex lines I've added after the game was started?

 

 

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.

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.

Sign in to follow this  

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

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