Helpful Game Information

Talk about anything that has to do with the Game.
DavidTheTech
Programmer
Programmer
Posts: 30
Joined: Sat Sep 14, 2019 3:55 am
Location: anywhere
Contact:
Ireland

Helpful Game Information

Post by DavidTheTech »

This will update a lot following more information i find

Aight this is my first post so yea
I've been doing a lot of stuff with ida and amrts and so far it wont be possible to launch studio cause the runcode is missing form the game it gets removed when they compiled the game due to ifdef but it is possible to add it back
so there is no need to mess around with the .cfg files as that will get you no where
so what i've been doing is finding the studio function address in ida pro by using dr2 source code cause amrts is built off of it

TOOLS
Here is some tools that I use some created by me some not
https://mega.nz/#F!gwQXXYzS!NiizWJGdD_diBNWUBHUzXw
Drcrc.exe - this will create a crc32 - copy some text then open drcrc then paste somewhere
TGAViewer.zip - this is a TGA viewer i made - just put both files "TGA Viewer.exe" and "TargaImage.dll" in the same folder and drag a .tga file on to the "TGA Viewer.exe" to view the image, or you can set .tga to open "TGA Viewer.exe" by default. I made it cause its quick and doesnt take ages to open other image programs

DOCS
I unlocked Studio mode btw here is the file you need
https://mega.nz/#!9ggnBaRC!9gohUi0E5-Rb ... YW0G3B2pzM
read this forum first though
viewtopic.php?f=10&t=2681

Here is a link to all Strings inside of the AMRTS exe
https://pastebin.com/7SJLzTn8

STUDIO PART

in army men rts this is the setting up runcode part

Code: Select all

int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
  sub_4D6590();
  sub_4B3470(hInstance, lpCmdLine);
  sub_4B6520(&unk_7288E0, aStart, (int)sub_403E40, (int)sub_403DE0, (int)sub_403E70, 0, 0);
  sub_4B6520(&unk_7288E0, aIntro, (int)sub_403FD0, (int)sub_403F10, (int)sub_404100, 0, 0);
  sub_4B6520(&unk_7288E0, aShell, (int)sub_404170, (int)unknown_libname_12, (int)sub_404180, 0, 0);
  sub_4B6520(&unk_7288E0, aMission, (int)unknown_libname_14, (int)sub_404190, (int)sub_404210, 0, 0);
  sub_4D0A60(sub_4038B0);
  sub_4B34C0();
  return 0;
}
and in dark reign 2 this is the runcode setup part

Code: Select all

int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
  sub_451D53();
  sub_5E5BB9(hInstance, lpCmdLine);
  sub_5EB9E0(aKeycheck, unknown_libname_1056, unknown_libname_1054, unknown_libname_1057, 0, sub_4E2219);
  sub_5EB9E0(aIntro, sub_4E22F8, sub_4E227F, sub_4E233B, 0, 0);
  sub_5EB9E0(aLogin, unknown_libname_1059, unknown_libname_1058, unknown_libname_1060, 0, sub_4E2380);
  sub_5EB9E0(aShell, unknown_libname_1061, sub_4E23A7, unknown_libname_1062, 0, 0);
  sub_5EB9E0(aMission, sub_4E246E, sub_4E23F8, sub_4E247D, 0, 0);
  sub_5EB9E0(aOutro, unknown_libname_1064, unknown_libname_1063, unknown_libname_1065, 0, 0);
  
  sub_5EB9E0(aStudio, sub_402D11, sub_402BED, sub_402CA7, unknown_libname_13, 0);
  
  sub_5EB9E0(aMeshview, sub_50BD82, sub_506855, sub_50739C, 0, 0);
  sub_448394(sub_4E1A32);
  sub_5E5C19();
  return 0;
}
its very similar isnt it??

so far ive managed to find functions the same to dr2 and almost finished finding the complete runcode for studio
sub_4B6520(&unk_7288E0, aStudio, unknown_libname_14, sub_539FD0, ADDME, ADDME, 0);


oh and some very useful info is that dr2 Crc32 check is the exact same in amrts its the same key

if anyone has a .pdb file of army men rts I'd love if you could send it to me as I could get studio working in 10-20 mins as the pdb file renames all of the sub_ functions to their original function names given when creating the game

an example of this is you see the dr2 code when i load the pdb file it get changed in to this for example

Code: Select all

  sub_5EB9E0(aStudio, sub_402D11, sub_402BED, sub_402CA7, unknown_libname_13, 0);
will become

Code: Select all

RunCodes::Register(
    &Main::runCodes,
    aStudio,
    Studio::Process,
    Studio::Init,
    Studio::Done,
	Studio::PostInit,
    0);
CHEAT CODES
So i have figured out how to change cheat codes and what they do
how i figured this is out is for some reason when you enter a cheat code it gets converted from a string into a hex value(crc32)
so i have a tool that allows me to convert the string into crc32 hex value

Code: Select all

case 0x0A56CA72: // "ahoy captain dan"
case 0x58BA38CB: // "zap me"
case 0xECB07CC9: // "fantastic plastic"
case 0x256B72A3: // "color me stupid"
case 0x93F36B7A: // "punch line"
case 0xB858AB53: // "brain sick"
case 0x5DB41C47: // "kick some butt"
they are the cheats converted into crc32 hex

to change them in ida pro i searched for 58BA38CB which is zap me

i found the following
Image

and with that i can change all of the cheats so i can make kick some butt do tons of damage

I will release an OP version of the game when im done

Game Bonuses
Image

Discoveries DR2 & AMRTS
Disturbing discovery in DR2 Source code
Image
dw tho this gets removed from the game when compiling if the release is set to release and not development


Cheats
here you will find tools that I have created that will allow you to cheat in the game via using dr2 and rts memory addresses/functions
Last edited by DavidTheTech on Thu Oct 03, 2019 2:27 pm, edited 9 times in total.
I was the first one to officially unlock studio mode for Army Men RTS
Add me on Discord DavidTheTech
User avatar
TommyCD1
Moderator
Moderator
Posts: 1144
Joined: Tue Jun 04, 2013 8:55 am
Location: East Coast
Contact:
United States of America

Re: Helpful studio info

Post by TommyCD1 »

Well I'm not a source code guy, so I have NO idea what's happening here. But if you're going about trying to re enter the studio into the AMRTS engine, it would take a lot of work. I believe not only was the runcode stuff removed, but also all the brush definitions too.

How are you finding this info anyhow? I know the DR2 source code is available, but is the ARMTS one? Do you have something for it, or are you just looking straight at the .exe? Sorry if I'm not very knowledgeable in regards to the hard modding aspect...
I may not make the best maps, or be the best player, but I put a lot of time, effort, and care into my stuff. That counts for something, right? No.
Image
"Can we order a pizza?"
GameRanger ID: 913974
DavidTheTech
Programmer
Programmer
Posts: 30
Joined: Sat Sep 14, 2019 3:55 am
Location: anywhere
Contact:
Ireland

Re: Helpful studio info

Post by DavidTheTech »

while i was looking through the code i saw a lot of brush information so im pretty sure it might be in there
and im using IDA pro it allows me to reverse engineer the code from the exe, and no need to apologize

and yes it can take a while to add it back it depends on how much time i have and if i can find more information

also i have figured out how to change cheat codes and change what they do some what I.e the zap me code i can change it so instead of it giving 2000 it can give 9999999 and also working on the ahoy captain dan cheat so it can be used infinitely
I was the first one to officially unlock studio mode for Army Men RTS
Add me on Discord DavidTheTech
User avatar
TommyCD1
Moderator
Moderator
Posts: 1144
Joined: Tue Jun 04, 2013 8:55 am
Location: East Coast
Contact:
United States of America

Re: Helpful Game Information

Post by TommyCD1 »

Damn this is cool. So theoretically, since we have the DR2 source code, could you possible restore removed interface features, such as the world map viewer in multiplayer lobbies, the map transfer function, or the ability to choose which persona a computer player uses?
Basically just multiplayer stuff. =))
I may not make the best maps, or be the best player, but I put a lot of time, effort, and care into my stuff. That counts for something, right? No.
Image
"Can we order a pizza?"
GameRanger ID: 913974
DavidTheTech
Programmer
Programmer
Posts: 30
Joined: Sat Sep 14, 2019 3:55 am
Location: anywhere
Contact:
Ireland

Re: Helpful Game Information

Post by DavidTheTech »

Basically yea
I was the first one to officially unlock studio mode for Army Men RTS
Add me on Discord DavidTheTech
User avatar
Secg
Half Track L2
Half Track L2
Posts: 200
Joined: Sat Jun 10, 2017 12:28 am
United States of America

Re: Helpful Game Information

Post by Secg »

Amazing work done so far. Still, have you managed to make "brain sick" halve :troll: damage dealt by enemies, instead of increasing by 150% X-( ?

Hope I can learn more from you after you'll've finished with this project!

P.S.: So PC's ability to read PS2-exclusive .god models will be finally realized after all these years?
ImageImage
DavidTheTech
Programmer
Programmer
Posts: 30
Joined: Sat Sep 14, 2019 3:55 am
Location: anywhere
Contact:
Ireland

Re: Helpful Game Information

Post by DavidTheTech »

Not yet but close, but i am able to change the bonuses

I'm gonna make videos on how to do it when I get a new pc(might be a long time sorry)

.god models are in pc version as well

I am planning on making a tool to read and view .god files with a modified mesh viewer

Image
I was the first one to officially unlock studio mode for Army Men RTS
Add me on Discord DavidTheTech
User avatar
E]x[F-Sniper
Admin
Admin
Posts: 1275
Joined: Wed Jul 16, 2008 2:21 am
Location: stfu noob
Contact:
Mexico

Re: Helpful Game Information

Post by E]x[F-Sniper »

Interesting developments. Can you add additional custom cheats? Keep us posted.
Image
DavidTheTech
Programmer
Programmer
Posts: 30
Joined: Sat Sep 14, 2019 3:55 am
Location: anywhere
Contact:
Ireland

Re: Helpful Game Information

Post by DavidTheTech »

probably it depends on what cheat you want it to do
I was the first one to officially unlock studio mode for Army Men RTS
Add me on Discord DavidTheTech
User avatar
TommyCD1
Moderator
Moderator
Posts: 1144
Joined: Tue Jun 04, 2013 8:55 am
Location: East Coast
Contact:
United States of America

Re: Helpful Game Information

Post by TommyCD1 »

Ooh, I've realized something I wanted to ask. Since you are able it seems to find the cases, I was wondering if you could potentially list all the possible entries for certain .cfg functions that we don't have a list of?

Some things I was thinking of were:
  • Properties() {
  • GenericFX() {
  • TargetStyle("");
Also I have an ISO of the PS2 amrts disc if you wanted something from that version of the build too.
I may not make the best maps, or be the best player, but I put a lot of time, effort, and care into my stuff. That counts for something, right? No.
Image
"Can we order a pizza?"
GameRanger ID: 913974
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest