Quantcast

Jump to content

» «
Photo

Combining several GTA games by parallel execution

22 replies to this topic
goodidea82
  • goodidea82

    SA Modder

  • Members
  • Joined: 13 Jun 2013

#1

Posted 07 July 2013 - 12:27 PM Edited by goodidea82, 16 August 2013 - 07:41 PM.

update: Added OllyDbg to the reference list.
------------------------------------------

In this thread a new idea is discussed of combining several GTA games into one game. The approach differs from a total conversion, (e.g. State of Liberty (SOL), or GTA United), where several maps are merged into the limited space of ~20000 object IDs. At this point I would like to express my respect to these incredible works! In fact, if the proposed idea is as good as I beliefe, then why not adapt this idea in other projects.

The Proposed Approach
The idea is to run several instances of the gta executable on the users computer, where each one is responsible for one map (e.g., San Andreas, Vice City, Liberty City, (possibiliy even another custom map)). Only one executable (map) is active (running in full screen mode) at a time. When the player crosses an imaginary border between two maps, then the executable for the new map automatically becomes actived and the old one deactivated. Several synchronization techniques could be implemented to mimize disruption by this transition, for instance: synchronizing camera position and orientation; synchronizing time, weather, player stats; spawning of player and surrounding vehicles in the active executable. I think that the disruption caused by a transition will not harm gameplay experience; for instance, a similar disruption existed already in Vice City when going to/from the other big island. To prevent poping up of the new map, a partial very low detailed mock-up of the other map's part that is visible from the current map (consisting only of few objects) would be added to the other engine, so the player thinks he sees the other map from the current map.

Advantages of the approach.
  • Depending on the configuration one or several of the original games will be fully playable including missions and mini-games. Hence, each map will feel alife and feature-rich without compromize. Each maps would have it's own music and atmosphere which totaly makes sense in my opinion. By "configuration" I mean which gta executables are choosen for each map. I suggest to use the SA engine for all maps (hence, San Andreas would be fully playable). This could then be combined, for instance, with San Vice (Vice City for San Andreas total conversion), or Vice City Stories (another total conversion for San Andreas), and one of the Liberty City (III, or IV) conversions for San Andreas. Using only the San Andreas engine would allow a more consistent experience when changing maps and simplify synchronization and implementation.
  • Most of the existing mods would still be applicable. This is a very important point for many users. Further, the game would benefit from future mods and would in this way stay alife.
  • Assumeing that solving the technical problems (described below) is not too difficult, then this approach would require less work, than merging all the maps into one map.
  • There would be object IDs left that could be utilized by mods.
  • Several total conversions would be brought together, reviving them, and the communities would be brought together too.
Disadvantages
  • In contrast to a single map, there will be some disruption when transitioning between maps/game engines. I hope this disruption can be made very small by technical solutions (some vague d3d ideas are pointed out below).
  • Users will have to install non-location-dependent mods for each engine. For example, the dynamic field of view or bullet whole mod would have to be installed on each engine. Other more location dependent mods, e.g., gasoline would have to be adapted for the other engines to have a more consistent experience.
  • The computer must have enough ressources to run, e.g., three instances of GTA. However, note that only one instance will be active at a time. Ultimately the other instances will only consume memory space and not computing power.
A Possible Plan (Technical Problems to be Solved)
Ok, so far we have been dreaming. Now let's have a look what technical problems would have to be solved. I think the problems can be divided into the following three categories and steps (and substeps).
  • Patching gta_sa.exe to allow running several instances of them in parallel. If one instance of gta_sa.exe is running, then another one does not started by default. The goal is that the currently active EXE is in full screen mode and the other ones are in the backgroud (sleeping). Solving this problem is the precondition for this whole idea and in principle this is possible as Ss4gogeta0 has showed. Ultimately the EXE should be patch in such way that compatibility with other mods would be preserved. (Possible tools OllyDbg (1), IDA (2), Visual Studio Debugger (3))
  • Transitions and Direct3D. (Update: maybe this step can be ommitted, see section "Results so far") Once the first problem is solved, the transition between games could be achieved simply by automatically changing the application in the foreground. The context switch is quite expensive, especially on the graphics side. Perhaps, better solutions are possible using D3D wrappers or injectors. I found some interesting articles for sharing D3D objects or rendering into other processes' surfaces (4,5,6,7). Maybe several gta EXEs could share a D3D object or several D3D object could render to a master process which started the gta processes? However, preserving compatibility with ENB, SALA, and other d3d-wrapper mods would be important.
  • Synchronization between the engines. This is the least difficult step I beliefe. Some static adjustements between the games are necessary like adjusting the timecyc, sharing of vehicles so that when you cross the border to a the other engine, the same vehicle can be spawned in the other EXE. Shared player model. Communication between the processes can be established via a launcher.exe. The communication is necessary for dynamic synchronization. Dynamic synchronization is, for instance: spawning of player and surrounding vehicles in the active process; synchronizing camera position and orientation, time, weapons, money, weather, player stats, player health.
Results so far
  • Ss4gogeta0 has proved that this idea is possible (see here). He showed that two instances of GTA SA with SA:MP (Gta United and regular, hence two different process names) can be executed in parallel and one can switch between them "as if it were just a normal game" . Both were running in full screen mode!
  • I have also tested running GTA SA and another game (based on unreal engine), both in full screen mode, and switching between them. This works, too. Hence D3Dexclusive mode is not a problem, and therefore maybe Step 2 can be ommitted. Note, that there is a disrupption, as the screen switches to windows, but this can be ommitted, when the switching is managed in the background by a launcher.exe.
  • gta_sa.exe checks if another process with the same name is running, if yes, then it quits immediately. I did some very light patching by opening gta_sa.exe in Notepad++ and renaming occurrences of "GTA San Andreas" to another name "GTA SanXAndreas" (without changing the length). I created a copy of the whole game but with the modified exe and ran it parallel with the original game. The the second instance does not quit immediately anymore, but it runs only until the menu. Hence, there must be second reason that prevents running a second instance of the game (but it can be solved, see the post by Ss4gogeta0).
Conclusion
I think that GTA SA still has a long time to go even after GTAV. The reason is that many people grew up with it and the nostalgia will make them come back again and again (even if with breaks). Combining the GTA III worlds while preserving the original missions, gamplay, feeling, and atmosphere would be an amazing experience. The possible compatibility with existing and future mods for san andreas would keep this project alife. Making this mod does not require copying and adjusting models, textures, and collision files. Instead some lines of codes have to be written/modified in some clever way. I hope the idea is as good I think and that the technical problems can be actually solved.

This post describes an idea, but I'm not making any committment due to time constraints. I must admit that step 1 (patching the exe) is beyond my skills. However, when I see what mods have already been accomplished, I beliefe the legendary modders are out there who can help. I would like to invite experienced modders for discussions, relevant research results, and possible solutions.

References:

Bad.boy!
  • Bad.boy!

    SA modder

  • Feroci Racing
  • Joined: 20 Jun 2010
  • None

#2

Posted 07 July 2013 - 05:22 PM

There is not much use in discussing this. As you pointed out it will be very difficult/not possible to create. Another problem is the place of the games, you shouldn't be able to see California from Florida. Also you'll have to double the data files since one process will lock the files for other processes. Aparth from all that, running 3 processes for one game is one big mess, something is bound to go wrong.

toonskull
  • toonskull

    Necromancer

  • Members
  • Joined: 04 Aug 2009

#3

Posted 07 July 2013 - 11:25 PM

meh... You can discuss this all you want. The first REAL problem is, a major disadvantage you mentioned. The player who wants to download such a mod would need all the versions of the all games and then running all those programs at the same time means lots of RAM and CPU usage. You could load one program at a time but getting them to swap spit isn't easy.

I think it would almost be further ahead to pick one and somehow combine their maps together. This mod would have the issue of crossing the line between games and be declared taboo. Because then you are sharing data from game to game not being kosher here.

In the end, if the mod was somehow successfully made, it would appeal to a very small audience. Because if I want to take Claude to Vice City there are skins a plenty to do just that. I could play all the missions in GTA 3 as Tony, Carl, or anyone else for that matter.

I don't relish in raining on your parade, it would be nice to have an all-in-one but unless it comes from R* themselves...

goodidea82
  • goodidea82

    SA Modder

  • Members
  • Joined: 13 Jun 2013

#4

Posted 08 July 2013 - 07:30 PM Edited by goodidea82, 08 July 2013 - 08:44 PM.

Thanks for the comments. In your replies you describe your opinions on the technical difficulties, which is helpful if you really have the expertise. I will use them to better describe the approach and possibly resolve misunderstandings. However, you also express directly or indirectly that you don't like the idea of combining the games and discourage constructive discussion about it, which is not so helpful. Please don't say things like "There is not much use in discussing this", "meh... You can discuss this all you want", "it would be nice to have an all-in-one but unless it comes from R* themselves". I've spent quite some time thinking about it and would still like to have technical opinions from modders who have previous experience in analyzing and patching the EXE.

@Bad.boy:
  • QUOTE
    it will be very difficult/not possible to create
    This is still an open question. The most difficult part is (Step 1) to get more than one gta process running at a time. Step 2 could be ommitted in worst case and Step 3 is just normal implementation stuff. The reason why executing another instance is blocked could possibly be very simple and could be found by comparing the difference in execution (when running one instance/when trying to run in parallel). However, I did not succeed in running gta in a debugger and could not interpret the difference, but I'm sure some modders know how to do it.
  • QUOTE
    you shouldn't be able to see California from Florida
    Maybe you just don't like combining the two in first place. Where Vice City and San Andrease would be located has of course nothing to do with the approach itself, because the location can be easily configured: since the maps are not merged, IPL files do not have to modified to move an entire map by an offset. The latter is actually another advantage of the approach.
  • QUOTE
    you'll have to double the data files since one process will lock the files for other processes
    The processes will not share files. Each process has it's own data, e.g., San Andreas consists of the San Andreas files, and Vice City of the Vice City files, etc. So there is no sharing and no doubling.
  • QUOTE
    running 3 processes for one game is one big mess, something is bound to go wrong
    I had this feeling too in the beginning but think about how many processes are running in the background all the time on windows. All these processes are managed in some process hierarchy, which would also be the case with this mod: the gta processes would be (i) started and (ii) monitored by a separate launcher-process. So again if Step 1 can be solved and it runs stable, then this is not a problem.

@toonskull

  • QUOTE
    The player who wants to download such a mod would need all the versions
    What should I say, if you want the combination of the three games, then you should also own them. I'm not sure what the point is. If you're point is that you maybe miss one of the games, then with this approach you could still "switch off" the transition to the map that you are missing. That's another advantage of the approach!
  • QUOTE
    running all those programs at the same time means lots of RAM and CPU usage
    We're talking here about a game that will soon be 10 years old. The games were designed for single-core CPUs so with current and future hardware this should be no problem. This is not intended for an old low-end PC, but perhaps it could even run on a low-end pc: unless you use HD-texture mods GTAs from III era have a very low memory footprint, only video memory may be an issue; as described the idea is to put the inactive processes into inactive mode (e.g, in menu mode).
  • QUOTE
    I think it would almost be further ahead to pick one and somehow combine their maps together.
    As described, this has already been done in SOL. If the proposed approach works, it would have several advantages over merging the maps into one.
  • QUOTE
    This mod would have the issue of crossing the line between games and be declared taboo. Because then you are sharing data from game to game not being kosher here.
    Not sure what you mean with kosher. Are you saying that combining two GTA games is not allowed? I think modding is officially not allowed, but tollerated by R*.
  • QUOTE
    if the mod was somehow successfully made, it would appeal to a very small audience. Because if I want to take Claude to Vice City there are skins a plenty to do just that
    But this is really your personal taste. You're saying that you just don't like the idea of combining the games. Fine. This is not just about the skin, but about making the map bigger and extending features while having the feeling that it's one huge map with 5 cities.
  • QUOTE
    it would be nice to have an all-in-one but unless it comes from R* themselves
    Ok, so you just don't like it because it's a mod.

BTW, does anyone knwo why it says "Player Hater" under my name? I'm not hating anybody and don't know where this come from.

Bad.boy!
  • Bad.boy!

    SA modder

  • Feroci Racing
  • Joined: 20 Jun 2010
  • None

#5

Posted 08 July 2013 - 10:44 PM

I just re-read the op. If you are planning on using the same engine it would be a lot easier to simply reload new ipl files if you cross a boarder. Also about the processes running in the background on your pc, they're not connected and don't watch eachother (userland). Reading other processes memory and executing functions is pretty hacky and you shouldn't rely on it.

About the player hater thing, you can change that in the settings somewhere. If you don't have member title set it will give you one based on your post count.

Ss4gogeta0
  • Ss4gogeta0

    Huelga birds in the air and we're chargin with spears

  • Members
  • Joined: 24 May 2011
  • United-States

#6

Posted 08 July 2013 - 11:34 PM

hi there, first time caller. long time listener... tounge2.gif

this actually wouldnt be a bad idea...

for the two process's at once... a friend of mine was "supposedly" able to run two different GTA windows using GTA:U-mp and SA-MP... one played gta united while the other was base san andreas... so it could be that the game checks for a window of the same name to be open and terminats if said process name is found...

also i am curious that instead of just doing the various different games... why not just focus on the SA engine and the many total conversions for it... seems much easier that way...

oh also for the guy who doesnt want to see SA from florida... the transition could just be done through the airport so that you wouldnt have that problem catspider.gif


anyway good luck cookie.gif

Spooky
  • Spooky

    Prince of the Yolkfolk

  • Members
  • Joined: 13 Jan 2002

#7

Posted 09 July 2013 - 05:01 PM

Each game process would also try to create a hardware accelerated full screen Direct3D device... On older hardware (particularly DX8 level hardware), this will fail. Technically I think you could do some low-level trickery to get this idea working, but it seems hardly worth the bother for what the result would be.

goodidea82
  • goodidea82

    SA Modder

  • Members
  • Joined: 13 Jun 2013

#8

Posted 09 July 2013 - 08:43 PM Edited by goodidea82, 09 July 2013 - 09:11 PM.

@Bad.boy:
  • QUOTE
    reload new ipl files if you cross a boarder
    One problem (besides some others) I'm trying to solve with this approach is the limited number of 20000 object IDs. So reloading IPL and IDE files would be needed. However, if you know how to reload IPL files while the game is running this would be very useful to know anyway! So post it if you know.
  • QUOTE
    processes running in the background on your pc, they're not connected and don't watch eachother (userland). Reading other processes memory and executing functions is pretty hacky and you shouldn't rely on it.
    That would be Step 3 (what I meant with synchronisation). I think that's something I could solve. A CLEO script could simply read/write the relevant data during the transition (like camera player position, weather, etc.) and invoke send/receive functions which will be provided using an .asi file or a .cleo extension. Standard means of inter-process communication can be implemented in the .asi or .cleo file. The communication could be routed via the launcher.exe which started and monitors the processes. So this is just regular implementation work.
  • QUOTE
    About the player hater thing
    Thanks, I fixed it!
  • Remark: I understand that you prefer running only one process. Again, this is the approach already taken in SOL. SOL is amazing but for described reasons I would like to continue collecting input about the here suggested approach.

@Ss4gogeta0:

  • QUOTE
    a friend of mine was "supposedly" able to run two different GTA windows
    If that's true, that would be really good news. The windowed mode could be used as temporary solution to get from Step 1 to Step 2. As described I succeeded in starting Vice City and San Andreas in windowed mode, but only until the menu. Your friend's achievement sound much better. If you get more info, then post it!
  • QUOTE
    it could be that the game checks for a window of the same name
    That's a good point. That was the motivation for running Vice City and San Andreas in parallel. Do you know how to change the window name in the exe?
  • QUOTE
    why not just focus on the SA engine and the many total conversions for it
    I think we mean the same thing. I first described the more general approach which would allow combining different engines and then I suggested combining total conversions for SA such as San Vice, Vice City Stories for PC, and one of the total conversions of LC. Please see above.
  • QUOTE
    the transition could just be done through the airport
    That's another possibility.

@Spooky:

  • QUOTE
    process would also try to create a hardware accelerated full screen Direct3D device...On older hardware (particularly DX8 level hardware), this will fail
    That's a good point. As DX8 (even DX9) is very old, I would consider to focus on newer hardware if this is the bottelneck. In Step 2, I give references to some interesting articles on D3D related to this problem. I wonder if one of the following is possible:

    • Several GTA processes share the same D3D device which is returned from a d3d9.dll wrapper. Only the active processes would use it at a time.
    • The GTA processes are in windowed mode and render to the window of the launcher.exe which would be in full screen mode. Several articles describe how to render from one process in another processes window. A prominent example is the screensaver: the screensaver is rendered in a small preview canvas of the windows property settings.
    • Dynamically switching between windowed and full screen mode. (That would probably require the transfer via the airport for psychological reasons ;-) )
    • Something else?

    Such experiments can be first tried out in a small scenario using two small helloWorld_D3D applications which try to aquire full screen mode and predending these are the GTA processes. If one of the ideas works, then it can be tried out on the game.
  • QUOTE
    do some low-level trickery to get this idea working, but it seems hardly worth the bother for what the result would be
    The result could be really nice: a huge world with 5 cities and all features and possibly mods of the games working. But of course, it's worth only if it's not too difficult too achive. Looking at mods such as SAMP, MTA, SALA and other hacks, maybe someone has the right skills for an efficient solution. BTW, are you the creator of SAMP?

Ss4gogeta0
  • Ss4gogeta0

    Huelga birds in the air and we're chargin with spears

  • Members
  • Joined: 24 May 2011
  • United-States

#9

Posted 09 July 2013 - 09:18 PM

I was able to replicate having two games open at the same time... (the game... not the Online browser... notice how there are 4 tabs, 2 for each online browser and 2 for each instance of SA)
user posted image

user posted image

I was able to easily alt tab between them and play as if it were just a normal game...

goodidea82
  • goodidea82

    SA Modder

  • Members
  • Joined: 13 Jun 2013

#10

Posted 09 July 2013 - 09:33 PM

Thanks, this is really good news! This means that Step 1 can be solved in principle (and that it even has been solved but in a different context).

Is it also possible to run two instances in full screen and then tab?

Bad.boy!
  • Bad.boy!

    SA modder

  • Feroci Racing
  • Joined: 20 Jun 2010
  • None

#11

Posted 09 July 2013 - 10:11 PM

QUOTE (goodidea82 @ Tuesday, Jul 9 2013, 21:43)
One problem (besides some others) I'm trying to solve with this approach is the limited number of 20000 object IDs. So reloading IPL and IDE files would be needed.

I mean reloading all game files from a new directory. Then using 4 processes wouldn't be necessary.

Ss4gogeta0
  • Ss4gogeta0

    Huelga birds in the air and we're chargin with spears

  • Members
  • Joined: 24 May 2011
  • United-States

#12

Posted 10 July 2013 - 05:37 PM

QUOTE (goodidea82 @ Tuesday, Jul 9 2013, 21:33)
Thanks, this is really good news! This means that Step 1 can be solved in principle (and that it even has been solved but in a different context).

Is it also possible to run two instances in full screen and then tab?

yes, both were in fullscreen. sorry i didnt explain it better.

goodidea82
  • goodidea82

    SA Modder

  • Members
  • Joined: 13 Jun 2013

#13

Posted 21 July 2013 - 01:52 PM

Ss4gogeta0 has showed that the approach is indeed feasible and that Step 1 can be solved. The next step is to figure out what is the problem of running two instances of gta_sa.exe. I'm looking for someone who can do such analysis. Following are my humble experiments and tips for you.

The game checks if another process with the same name is running. This can be solved by very light patching: open gta_sa.exe in Notepad++ and rename occurrences of "GTA San Andreas" to another name "GTA SanXAndreas" (without changing the length). I created a copy of the whole game but with the modified exe and ran it parallel with the original game. The the second instance does not quit immediately anymore, but it runs only until the menu. Hence, there must be a second reason that prevents running a second instance of the game.

When renaming the filename gta_sa.exe to something else, then it doesn't run anymore. Hence, this could indicate another reason.

Here are some hints for debugging and tracing.
  • Visual Studio Debugger: How to: Debug an Executable Not Part of a Visual Studio Solution. Once loaded into VS right-click on the file in the project explorer and run it with Debug->"attach to new instance" or "jump into new instance" (freely translated from German, I don't know the english menu item). You don't see the assember source if you use Debug->"start new instance" (also freely translated).
  • IDA. This is probably the most powerful tool. There is a limited free version here. Select disassemble a new file and select the executable. In the "Load a new file" window I used the options as they are (e.g. metapc) but selected "Load ressources". Then give it some time to do computation. Then I selected "Win32 debugger" from the dropdown box in the menu and disabled the button next to it with the tooltip saying: "Use source-level debugging". Only if this button is disabled, I was able to run the exe. Then set a break point near the beginnig of the code and press the play button. Now you can follow the process execution.

Ss4gogeta0
  • Ss4gogeta0

    Huelga birds in the air and we're chargin with spears

  • Members
  • Joined: 24 May 2011
  • United-States

#14

Posted 21 July 2013 - 10:46 PM

QUOTE (goodidea82 @ Sunday, Jul 21 2013, 13:52)
Ss4gogeta0 has showed that the approach is indeed feasible and that Step 1 can be solved. The next step is to figure out what is the problem of running two instances of gta_sa.exe. I'm looking for someone who can do such analysis. Following are my humble experiments and tips for you.

The game checks if another process with the same name is running. This can be solved by very light patching: open gta_sa.exe in Notepad++ and rename occurrences of "GTA San Andreas" to another name "GTA SanXAndreas" (without changing the length). I created a copy of the whole game but with the modified exe and ran it parallel with the original game. The the second instance does not quit immediately anymore, but it runs only until the menu. Hence, there must be a second reason that prevents running a second instance of the game.

When renaming the filename gta_sa.exe to something else, then it doesn't run anymore. Hence, this could indicate another reason.

Here are some hints for debugging and tracing.
  • Visual Studio Debugger: How to: Debug an Executable Not Part of a Visual Studio Solution. Once loaded into VS right-click on the file in the project explorer and run it with Debug->"attach to new instance" or "jump into new instance" (freely translated from German, I don't know the english menu item). You don't see the assember source if you use Debug->"start new instance" (also freely translated).
  • IDA. This is probably the most powerful tool. There is a limited free version here. Select disassemble a new file and select the executable. In the "Load a new file" window I used the options as they are (e.g. metapc) but selected "Load ressources". Then give it some time to do computation. Then I selected "Win32 debugger" from the dropdown box in the menu and disabled the button next to it with the tooltip saying: "Use source-level debugging". Only if this button is disabled, I was able to run the exe. Then set a break point near the beginnig of the code and press the play button. Now you can follow the process execution.

hmmm.. it could be that the exe checks for the same hash number?

Methical
  • Methical

    Gramps

  • Feroci Racing
  • Joined: 23 May 2008
  • New-Zealand

#15

Posted 25 July 2013 - 10:45 PM Edited by methodunderg, 25 July 2013 - 10:49 PM.

Try it in a hex editor, just like we used with ENB to create multiple instances of the d3d9.dll to create 'Hybrid' setups so we could use multiple effect.txts.
I also have a 'Reload' script by fastman92 that reloads the .dat files. Maybe he could extend this to work the with the ide/ipl files too?

goodidea82
  • goodidea82

    SA Modder

  • Members
  • Joined: 13 Jun 2013

#16

Posted 28 July 2013 - 09:49 PM

Thanks for your replies.

@Ss4gogeta0
QUOTE
it could be that the exe checks for the same hash number

As we discussed via email, I think this is a possible reason. This would be another copy protection I guess, and the hash number could be either compared, or (speculating) be even used as a constant in other computation. To search for it, one would probably have to monitor system function calls that give information about this and other running processes. I wonder what SA:MP does different so that it allows running multiple instances.

@methodunderg
QUOTE
Try it in a hex editor

That's certainly the correct way to do it (using IDA is probably even better). However, I did not break the exe if this is what you mean. The patched exe runs perfectly when running only one instance. Hence, no carraige return or other byte were added/modified. The second instance just freezes before or inside the menu. Interestingly, I obsere the same behavior when running gta-vc.exe (Vice City) as one instance and gta_sa.exe as another instance.
QUOTE
just like we used with ENB to create multiple instances of the d3d9.dll to create 'Hybrid' setups so we could use multiple effect.txts

This sounds like related work, both for step 1 and step 2. If you have insights from it that can help in this project then post it!
QUOTE
I also have a 'Reload' script by fastman92 that reloads the .dat files. Maybe he could extend this to work the with the ide/ipl files too?

Bad.boy has suggested (see here) to run one instance of the game and to reload the dat/ide/ipl files when changing maps. This would be another approach, and if it works good, that would be great. However, I have several concerns about his approach: (1) reloading the files would take much longer, then just switching the process in the foreground; reloading would probably take almost as long as starting a new game; (2) most of the other advantages (see section advantages) would be lost, e.g. missions, other mods, etc. I therefore prefer to continue with the here suggested approach.

Besides the approach, a reloading script for dat files is generally a very valuable modding tool! I would like to have it, is there a link to it? I wish I had it when I was working on my own HD grass, then I didn't have to restart the game thousand times. Reloading ide/ipl files would be generally useful for everyone.


Ss4gogeta0
  • Ss4gogeta0

    Huelga birds in the air and we're chargin with spears

  • Members
  • Joined: 24 May 2011
  • United-States

#17

Posted 03 August 2013 - 05:09 PM

eont have my comp at the moment. cryani.gif

X-Seti
  • X-Seti

    Retro modding.

  • Feroci Racing
  • Joined: 28 Jun 2005
  • Mars

#18

Posted 09 August 2013 - 08:55 AM Edited by X-Seti, 10 August 2013 - 09:35 AM.

Interesting. I had the idea of linking processes GTAIII-VC and SA back in 2004 but I did not know enough about D3D/3DX handling and process injecting back then.

Respawn created a mod where depending where you was (player location) either the gta-vc.exe or gta-sa.exe would be launched but those engines never run together. I did not like this idea but this was after all a great idea.

SOL: trials & troubles.

I've reached all my personal goals with SOL and got everything on one map. however I wanted to push things more.
I had posted on the SOL boards about me losing data that has put me back 3 months, look at the SOL topics for more info. I was really pissed last night over this.

I have reached getting everything under 19999 ID objects (not 20000) just yet, ID 20000 onwards on the SA engine is used by other engine functions for shadows, 2dfx/animation effects and in game lighting. Anything after ID 26316 seems to be untouched by any function and trying to and Inst/ Objs is not recognized by the engine.

QUOTE (SOLWiki)

0 - 19999 (20000) - DFF models defined within IDE files
20000 - 24999 (5000) - TXD archives.
25000 - 25254 (255) - COL collision archives.
25255 - 25510 (256) - IPL Binary IPL files.
25511 - 25574 (64) - DAT files limited to nodes*.dat files 25575 - 25754 (180) - IFP animation archives.
25755 - 26229 (475) - RRR car recordings, carrec*.rrr files
26230 - 26315 (86) - SCM scripts


SOL VC; now is about 22400 IDs from where beta 69.5 left things where I'm was struggling to push things down more because some of models do not import / export well with Kams scripts correctly. I would end up with model alpha bugs.

SOL VC; without LODs Beta 50.0 was about 16000 ID objects but this idea soon sank because there was a lot of people back in 2007 who could not run the mod at a decent frame rate.

Also the hacks still have to be worked on for VC engine as things are not perfect as 3 locations on the map seem to crash the engine yet the problem doesn't appear to be the models also and I have been struggling to find time to work out what model or if it's a hack creating this condition.

SOL SA; is hardly of the ground as I need the support. Without this version will never happen as I can't do all this alone.

The reason be hide all ID's reducing was I once had the dream on running SOL on mobile but all I can do is laugh at this now.

So you might ask where does this leave me. S.O.L!


Edit; Apon reflection.

I am not mocking the work that others have done in the past; All the good work from Steve-M, Jernjl, Illspirit, Kam and many others but those old tools like COL Editor 2, TXDWorkshop, KED, MED and Kams scripts all need to be updated.

Many mods never get finished because of the problems with tools or hacks where other members including me with Kams scripts need to be addressed.

If we want to truely see one mod we can all call finished and I would like this to be SOL, We all need to think about all working together with a plan.

Beyond SOL with the right tools out there we will see new mods from people with the right tools, right now this is GTAForums biggest problem and that is the transition from 3dsmax to Game engine.

That's it without going to much into detail.

goodidea82
  • goodidea82

    SA Modder

  • Members
  • Joined: 13 Jun 2013

#19

Posted 16 August 2013 - 07:07 PM Edited by goodidea82, 16 August 2013 - 07:22 PM.

QUOTE
Interesting. I had the idea of linking processes GTAIII-VC and SA back in 2004 but I did not know enough about D3D/3DX handling and process injecting back then.

If this project ever gets started (right now it's only an idea), it would be great if you would join. Your experience and capabilities would be very valuable.

QUOTE
Respawn created a mod where depending where you was (player location) either the gta-vc.exe or gta-sa.exe would be launched .... I did not like this idea but this was after all a great idea.

Launching another exe on demand is unfortunately too time consuming, even with fastloader.asi. This is of course the reason for running them parallel.

I couldn't find who is "Respawn". If he is still active and you could give a reference how to find him or the description of his idea, that would be great.

QUOTE
but those engines never run together

Right, problem of Step 1.

QUOTE
I've reached all my personal goals with SOL and got everything on one map.

You can be proud of it. It's an amazing accomplishment!

Thanks for the expose of SOL. Also the clarification about the IDs is very interesting.

QUOTE
If we want to truely see one mod we can all call finished and I would like this to be SOL

I know you want to advertise SOL, but the here proposed approach would require less work and not only the maps but all game features including missions would be included and even mods would still work. Remark: I'm not criticizing SOL but this thread should be about the here discussed approach.

QUOTE
old tools ... all need to be updated

That's right. I wish the developers had made them open source when they realized they stopped development. The good news is that the tools exist and there are incredible possibilities to mod the old GTA games. But we have to accept that most probably the tools will not be updated.

Ss4gogeta0
  • Ss4gogeta0

    Huelga birds in the air and we're chargin with spears

  • Members
  • Joined: 24 May 2011
  • United-States

#20

Posted 19 August 2013 - 05:01 PM

we need some way that we can convince modders to help us with this idea.

fastman92
  • fastman92

    фастман92 | ف

  • Members
  • Joined: 28 Jul 2009
  • None

#21

Posted 19 August 2013 - 06:50 PM

QUOTE (X-Seti @ Friday, Aug 9 2013, 10:55)
Kams scripts all need to be updated.

What about trying GTA .dff Importer and GTA DFF Exporter by seggaeman?

I second this completely that better tools have to invented. It will require some open-source programmers who are interested in doing this work.
I was always a firm believer that an open-source is undoubtedly greater than closed source.

brian.
  • brian.

    Possible Descendant Of Kraff

  • BUSTED!
  • Joined: 13 Jan 2012

#22

Posted 20 August 2013 - 04:55 AM Edited by brian., 20 August 2013 - 04:57 AM.

Now, I don't mean to do promotion, because it will seem like it, but I think it's necessary to tell about this very nice possibility and hope that you will help to tell others because it really is a big deal what I am about to say.

And though it is not directly GTA Modding, it does solve many of the problems being discussed here, and this engine is deeply rooted in GTA Modding in its history, very deeply rooted in GTA Modding as you will see. icon14.gif

It is being made and maintained by the creator of Protect the Prime Minister in SAMP, and creators and team members and leaders from the Gostown mod, and work has been done by many others around GTA modding and gtaforums scenes, and I really think it fair to share it here for it to be considered. If someone would like to make a topic to discuss the possibility of this being the next evolution of all the things we love about GTA modding, it would be great.

The engine already is made with the tears of us modders in consideration. It is made with how we we are used to working with GTA in mind, and also wanting to get rid of everything that limits us, the whole group is basically on the same page that it needs to be like GTA modding that we love so much, but not limiting, and not starting all over every time a new gta comes out.

Very importantly to add, this engine already has a GTA San Andreas extractor which is very advanced already and can easily be expanded by those with know-how to convert more. You can run this tool if you have installed GTA San Andreas on your own machine and run the map in the engine. It opens a whole new world of reworking, retooling, and upgrading/enhancing our favorite game worlds, a whole new, almost limitless (man power/hours) potential to our favorite fan mods, favorite games.

And the freedom to totally convert in ways unseen before - what's the difference if it's GTA engine or not, if it's the same kind of work flow, open source (mit/free as in freedom do what you want), and is ripe for development on large scale?

It has been made by veteran gta modders and users of the tools we appreciate but see problems in - with in mind we have a better option, that we don't mess with Rockstar's engines as they become harder and harder and more cheat/mod protected, and instead we can evolve and create something for all of us, while we still enjoy some gta mods and playing new gta games - this was the big vision, and I hope that you will like the idea to discuss it, elsewhere I understand, but if you make a topic to talk about the possibilities, let me know, I will come over and tell the others to visit as well, and you guys can get ask and answer session like reddit and stuff icon14.gif

http://gritengine.com

If you have already seen this before, take another look, a lot has come a long way - many things are not even reflected on the site directly but you can see all kinds of things in wiki and svn logs icon14.gif

Thank you for a brief moment of your time, and you can get back to the discussion at hand - we all agree GTA Modding is the most awesome community and 3rd party modding scene ever - built from the ground up by dedicated fans, I hope we agree that along side GTA Modding, GTA modders also deserve an engine for them as well.

Maybe your mod you would like to port to it and make commercial... etc. icon14.gif

Ss4gogeta0
  • Ss4gogeta0

    Huelga birds in the air and we're chargin with spears

  • Members
  • Joined: 24 May 2011
  • United-States

#23

Posted 29 August 2013 - 12:01 AM Edited by Ss4gogeta0, 29 August 2013 - 06:46 PM.

bump since i havnt been around much...




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users