Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Drug Wars
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

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

    1. Grand Theft Auto Series

      1. Bugs*
      2. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

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

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

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

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    7. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    8. Portable Games

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

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

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

    1. GTA Mods

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

      1. Documentation
    3. Mod Showroom

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

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

    2. Rockstar Collectors

    1. Off-Topic

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

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

    2. Forum Support

    3. Suggestions

DYOM open source project


MiranDMC
 Share

Recommended Posts

Hey.

I'm new to GTA modding, but have years of experience in reverse engineering and modding generally.

 

Recently I was recommended some videos of Joshimuz playing DYOM missions and it caught my attention. Long story short:

I have decompiled DYOM to source code, cleaned it up, made it possible to compile back. Additionally I compressed global variable addresses reducing compiled MAIN size from ~190K to ~170K.

Currently I'm documenting the code (naming variables and labels). I have reverse engineered mission file format earlier during creation of external editor for DYOM missions.

See the editor: https://gtaforums.com/topic/987607-gta-dyom-editor-tool/

 

Are there people interested in open source or closed community project? I found there are other 'versions' of DYOM than 8.1, but nothing seems to be the main stream.

It would be nice to have new official releases of DYOM.

 

What i think direction of the project should be:

  • Full compatibility with previous official releases
  • Stability
  • No mindless increasing limits (objective, actor .ect count)
  • Keep it simple. Using in game editor is complicated already.

 

I see that original authors refused to release sources multiple times. The thing they were afraid of already happened, we have multiple alternative DYOM versions.

Maybe they would be more favourable for one official project and donate the code. Original source is always better than decompiled one.

 

Anyway I was already able to fix editor texts logging into briefs and made objective texts appearing into briefs, so current source can be worked with. I have personal repo with all changes that can be published if project gain traction.

 

Anyone interested?

Edited by MiranDMC
Link to comment
Share on other sites

I wouldn't exactly call Mission Maker a version of DYOM, as it is an independent project and totally different from the essence of DYOM. Practically, the same goes for LDYOM, since it uses a totally new node system and doesn't look similar to DYOM, but it carry its name.

 

Unfortunately Mission Maker went to a dark path, every moment there is new information about what "really" happened to the creator of the mod, so I will not go into details, but I think by the damage that has already been done I have no hope that the mod will be getting back on its feet.

 

LDYOM even with a complicated system, seems very promising and perfect for complex missions and multiple choices (from what I heard). The fact of being open source makes it easy for anyone to collaborate and make their own nodes (when I tested it I made a node of "If you press the X button then...", the LUA language is very practical). At the moment, it's in turtle steps, but I believe it can surprise us soon.

 

DYOM IX and RED has apparently been discontinued, but it is necessary to recognize the hard work that halter and darkmorgan had in this short period of time. The limitation that occurred due to the lack of source code made it reach a dead end, there was no way to do practically nothing else without causing numerous bugs. It was a huge contribution to the community because in addition to bringing a version with new features, it brought a bit of light on many things regarding what can be done with the mod without having original source code.

 

I think that by analyzing these experiences one can conclude that a new version of DYOM could only work with the support of a team of members (so that there is no risk of a single developer get discouraged and the project die) and the original source code (so that there are no very limiting barriers that cause the forced end of development).

Link to comment
Share on other sites

I'm the developer for the DYOM Randomizer for SA (the one that Josh uses) and have done a fair bit of reverse engineering of the source code and the format of the DYOM file myself.

 

In my opinion, the best way would be to not continue with the existing decompiled code base of DYOM that it seems like you're currently using (based on the language of the text) since it's decompiled SCM, and SCM itself is a language that's pretty hard to work with. The control flow is especially difficult to figure out given the labyrinth of gosub's and jumps. I don't think that such a language is in any way suitable for such a project and I think you won't be able to rack up contributors since the core of the project is too difficult and time consuming to understand. The original code can still be used as reference to maintain compatibility.

 

I did want to develop a continuation of DYOM myself, in a more manageable language, e.g. C++. Many complex to implement methods in SCM are far easier here, and there's also additional things you can implement that wouldn't be possible given the limitations of SCM. For example, DYOM relies upon extension of the SCM language by CLEO to run in the first place to be able to read files and does memory function calls that are trivial to do in C++.

 

In conclusion, if you'd be willing to transition to use a different language than SCM, I'd be willing to join in the project.

   

 

 

Link to comment
Share on other sites

In perspective of slowly documenting decompiled SCM rewriting it from scratch in C++ seems compelling, as original sources most likely won't be available.

 

C++ is perfect for me. I will contribute, but you need to create base of the project. I have no idea how to create game extension. I guess you still need some framework like CLEO, generally base on SMC commands and extending it with direct memory access. Please PM me with your discord contact.

Link to comment
Share on other sites

Create an account or sign in to comment

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

Create an account

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

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • 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.