Page 2 of 2

Re: Helpful Game Information

Posted: Sun Sep 15, 2019 3:12 am
by DavidTheTech
Sure I'll try make a list, and I've the iso file

I'll make a list of all of the functions and function arguments but at the moment I'm looking through the code more

Re: Helpful Game Information

Posted: Tue Sep 17, 2019 7:58 am
by TommyCD1
Also I know how easy it is to manipulate for cheating, but as I see it cheaters will find a way anyhow.
Is is possible to circumvent or remove the 'different data' check for online play, so one can play mods with another who does not have it? Of course this would cause online desyncs so it's not useful for gameplay changes, but I was thinking it could have some practical uses for interface mods that are just barely unable to work online; for example an interface panel that tallies the total amount of kills you have achieved in a game.

Re: Helpful Game Information

Posted: Wed Sep 18, 2019 4:32 am
by DavidTheTech
Oh yes of course some modification doesn't require the removal of the data difference check. I can figure out how to make a kill counter when I get home but as far as I'm aware it is possible

Re: Helpful Game Information

Posted: Sat Oct 05, 2019 11:19 am
by j3rry
DavidTheTech wrote: Wed Sep 18, 2019 4:32 am
David, I appreciate your work.

Wanna ask you something.

Can you figure out team color codes for multiplayer? Which addresses they have got and also try to change them? Maybe even increase their amount?
Why am I asking for that? Current colors have low contrast (two green colors, two blue colors, not even tan color). If you would need HEX color codes, I can give you list of them.

Re: Helpful Game Information

Posted: Sun Oct 06, 2019 11:33 am
by DavidTheTech
Sure ask me anything.

Um sure should be able it'll take me a bit to find them due to me resetting my ida file by mistake so gotta do a lot of rebuilding and renaming function names but I should be able to find them.

Re: Helpful Game Information

Posted: Tue Dec 24, 2019 5:19 am
by TommyCD1
You mention in your master post that you were able to find the bonus object types by searching for a "crc32" ? If so could you help me out here? I'm trying to figure out why bookmarks do not work with the studio, and something I think is happening is that according to the log file, the marker object that shows curves does not exist...

Code: Select all

=|runcodes            :170  |08:08:25|[Studio] Entering run code [Sim]
!|studio_brush_curve  :734  |08:08:25|Could not find marker object type
=|studio_brush_curve  :988  |08:08:31|The last object is dead?
=|studio_brush_curve  :988  |08:08:31|The last object is dead?
=|studio_brush_curve  :988  |08:08:32|The last object is dead?
=|studio_brush_curve  :988  |08:08:33|The last object is dead?
=|studio_brush_curve  :988  |08:08:33|The last object is dead?
=|studio_brush_curve  :988  |08:08:33|The last object is dead?
=|studio_brush_curve  :988  |08:08:34|The last object is dead?
=|studio_brush_curve  :988  |08:08:34|The last object is dead?
=|runcodes            :109  |08:08:35|[Studio] Clearing runcode [Sim]
So I looked at the .cfg that defines the marker for both Army Men RTS and for Dark Reign 2.
Dark Reign 2

Code: Select all

///////////////////////////////////////////////////////////////////////////////
//
// Copyright 1997-2000 Pandemic Studios
//

CreateObjectType("studio.marker.camera", "Marker")
{
  MapObj()
  {
    Category("Props");
    GodFile("engine_arrow.god");
  }
}

CreateObjectType("studio.marker.interest", "Marker")
{
  MapObj()
  {
    Category("Props");
    GodFile("engine_arrow.god");
  }
}
Army Men RTS

Code: Select all

///////////////////////////////////////////////////////////////////////////////
//
// Pandemic Studios
//

CreateObjectType("studio.marker.camera", "Marker")
{
  MapObj()
  {
    Category("Props");
//    GodFile("army_halftrack.god");
    GodFile("direction_node.god");
  }
}

CreateObjectType("studio.marker.interest", "Marker")
{
  MapObj()
  {
    Category("Props");
    GodFile("engine_arrow.god");
  }
}
As you can see, both are defined as "studio.marker.camera" and if we travel to the DR2 source code: you'll see that it looks specifically for "studio.marker.camera" to see what definition to use.

Code: Select all

  /////////////////////////////////////////////////////////////////////////////
  //
  // Namespace Brush - Contains all available brushes
  //
  namespace Brush
  {

    // Camera name
    static const char *CAMERA_NAME = "Curve brush camera";

    // Object type names
    static U32 CAMERA_TYPE   = 0xFD47514E; // "studio.marker.camera"
    static U32 INTEREST_TYPE = 0x11BDF0B8; // "studio.marker.interest"


    //
    // Selection filter for marker objects
    //
    static MapObj * SelectionFilter(MapObj *obj)
    {
      return (Promote::Object<MarkerObjType, MarkerObj>(obj));
    }
So since the "studio.marker.interest", which is used for regions and such, DOES work in the Army Men studio, I was wondering if you could do a search for that "0x11BDF0B8" string or hex or what it's called, and then see what it wants for "CAMERA_TYPE".

It would help out a lot to see if it wants a different name, or if it wants a definition at all, which would require a fix outside of simple .cfg editing...

Re: Helpful Game Information

Posted: Tue Jan 28, 2020 1:35 pm
by DavidTheTech
at this moment i have no clue im still researching into the game, sorry for being inactive college has been a mess when i get a break i can start research again and fix the errors