Jump to content

CoH Modder


Recommended Posts

However, it has been brought to my attention that the new Launcher has moved things around inside the root folder, and I just verified it myself. That'll require a code change, I'll probably push one out tomorrow that'll handle both new Launcher and old Launcher.

  • Thanks 1
I'm out.
Link to comment
Share on other sites

36 minutes ago, The Philotic Knight said:

@Frazier , @WanderingAries is correct, the program just looks for the CoH executable in the folder you point it to. It doesn't care WHERE that is, it can be anywhere. As long as the app can find the CoH program executable, it'll work just fine. Everything else is relative to that. I have no absolute paths hard coded in, they are all relative from the CoH root directory.

Thanks! yeah still not getting it to work. I have directed it to the both folders the Homecoming launcher created and it gives a string of popup error messages.

Edited by Frazier
Link to comment
Share on other sites

2 hours ago, The Philotic Knight said:

However, it has been brought to my attention that the new Launcher has moved things around inside the root folder, and I just verified it myself. That'll require a code change, I'll probably push one out tomorrow that'll handle both new Launcher and old Launcher.

Weird as the only thing it did was move the location and if the app simply uses the /data folder, then there shouldn't be anything Else to change.

  • Thanks 1

OG Server: Pinnacle  <||>  Current Primary Server: Torchbearer  ||  Also found on the others if desired  <||> Generally Inactive


Installing CoX:  Windows  ||  MacOS  ||  MacOS for M1  <||>  Migrating Data from an Older Installation


Clubs: Mid's Hero Designer  ||  PC Builders  ||  HC Wiki  ||  Jerk Hackers


Old Forums  <||>  Titan Network  <||>  Heroica! (by @Shenanigunner)

 

Link to comment
Share on other sites

I'm looking at your source now and think I found what you're issue is tied to:

 

MainForm.cs

        private bool RootDirectoryHasCoH()
        {
            try
            {
                if (!Directory.Exists(txtCoHRootDirectory.Text)) BtnPickRoot_Click(this, new EventArgs());
                List<string> cohClients = new List<string>() { "cityofheroes.exe", "homecoming.exe",
                    "homecoming-beta.exe", "score.exe", "coxg.exe" };
                foreach (string fileName in Directory.GetFiles(txtCoHRootDirectory.Text, "*.exe"))
                {
                    if (cohClients.Contains(Path.GetFileName(fileName).ToLower())) return true;
                }

                return false;
            }
            catch (Exception ex)
            {
                LogError(ex);
                return false;
            }
        }

It's looking for specific files in that folder as a check from what I can tell. While I understand Why you'd check, it might be best to simplify things and "trust" that's where it goes (since you won't break anything if it's wrong).

 

OR, you could write two checks, One per launcher, but you'd have to be careful as the files to look for likely won't align with what you chose.

 

Here's what I'd have it check for as is:

  • Files
    • List<string> cohClients = new List<string>() { "cityofheroes.exe", "homecoming.exe" };
  • Folder Containing Files
    • Old Launcher
      • Root
    • New Launcher (Homecoming == Root)
      • Homecoming\bin\win64\launcher.exe
      • Homecoming\bin\win64\live\cityofheroes.exe

OG Server: Pinnacle  <||>  Current Primary Server: Torchbearer  ||  Also found on the others if desired  <||> Generally Inactive


Installing CoX:  Windows  ||  MacOS  ||  MacOS for M1  <||>  Migrating Data from an Older Installation


Clubs: Mid's Hero Designer  ||  PC Builders  ||  HC Wiki  ||  Jerk Hackers


Old Forums  <||>  Titan Network  <||>  Heroica! (by @Shenanigunner)

 

Link to comment
Share on other sites

13 hours ago, WanderingAries said:

I'm looking at your source now and think I found what you're issue is tied to:

 

MainForm.cs


        private bool RootDirectoryHasCoH()
        {
            try
            {
                if (!Directory.Exists(txtCoHRootDirectory.Text)) BtnPickRoot_Click(this, new EventArgs());
                List<string> cohClients = new List<string>() { "cityofheroes.exe", "homecoming.exe",
                    "homecoming-beta.exe", "score.exe", "coxg.exe" };
                foreach (string fileName in Directory.GetFiles(txtCoHRootDirectory.Text, "*.exe"))
                {
                    if (cohClients.Contains(Path.GetFileName(fileName).ToLower())) return true;
                }

                return false;
            }
            catch (Exception ex)
            {
                LogError(ex);
                return false;
            }
        }

It's looking for specific files in that folder as a check from what I can tell. While I understand Why you'd check, it might be best to simplify things and "trust" that's where it goes (since you won't break anything if it's wrong).

 

OR, you could write two checks, One per launcher, but you'd have to be careful as the files to look for likely won't align with what you chose.

 

Here's what I'd have it check for as is:

  • Files
    • List<string> cohClients = new List<string>() { "cityofheroes.exe", "homecoming.exe" };
  • Folder Containing Files
    • Old Launcher
      • Root
    • New Launcher (Homecoming == Root)
      • Homecoming\bin\win64\launcher.exe
      • Homecoming\bin\win64\live\cityofheroes.exe

I've just confirmed that the CoH Modder tool now works with my latest code update. Anyone that wants to use CoH Modder with EITHER the old launcher, or the new launcher, or some other setup like for example Thunderspy, can do so, as long as they have version 1.64. Users of the new Homecoming Launcher just needs to make sure they point the program to their Homecoming directory as the root, as all of the paths are relative from there:

 

image.png.103ef79a00adc731a6dd0c2be254d21c.png

 

And yes, @WanderingAries the code change was ridiculously simple and only one functional line (two visual lines) of code:

 

                //Check for the new Homecoming launcher
                if (Directory.GetFiles(txtCoHRootDirectory.Text + @"bin\win32\live\", "cityofheroes.exe").Length > 0 ||
                    Directory.GetFiles(txtCoHRootDirectory.Text + @"bin\win64\live\", "cityofheroes.exe").Length > 0) return true;

I do want to maintain this, to try to help prevent users from doing something stupid, like pointing it at their c:\windows\system32 folder, and some malicious mod author doing something evil like adding "command.com" or "ntoskrnl.exe" to their mod so that it gets deleted when the user uninstalls it.

 

I know, I know, it's unlikely, but I like to try to do what I can to prevent that kind of possibility.

  • Like 3
I'm out.
Link to comment
Share on other sites

53 minutes ago, The Philotic Knight said:

I do want to maintain this, to try to help prevent users from doing something stupid, like pointing it at their c:\windows\system32 folder, and some malicious mod author doing something evil like adding "command.com" or "ntoskrnl.exe" to their mod so that it gets deleted when the user uninstalls it.

 

I know, I know, it's unlikely, but I like to try to do what I can to prevent that kind of possibility.

You mean like this?

 

  • Haha 1

OG Server: Pinnacle  <||>  Current Primary Server: Torchbearer  ||  Also found on the others if desired  <||> Generally Inactive


Installing CoX:  Windows  ||  MacOS  ||  MacOS for M1  <||>  Migrating Data from an Older Installation


Clubs: Mid's Hero Designer  ||  PC Builders  ||  HC Wiki  ||  Jerk Hackers


Old Forums  <||>  Titan Network  <||>  Heroica! (by @Shenanigunner)

 

Link to comment
Share on other sites

4 hours ago, The Philotic Knight said:

OH man I'd forgotten about Foamy the Squirrel, I wonder if they're still making new videos...

I'm pretty sure he is, but I'm probably several years behind.

OG Server: Pinnacle  <||>  Current Primary Server: Torchbearer  ||  Also found on the others if desired  <||> Generally Inactive


Installing CoX:  Windows  ||  MacOS  ||  MacOS for M1  <||>  Migrating Data from an Older Installation


Clubs: Mid's Hero Designer  ||  PC Builders  ||  HC Wiki  ||  Jerk Hackers


Old Forums  <||>  Titan Network  <||>  Heroica! (by @Shenanigunner)

 

Link to comment
Share on other sites

35 minutes ago, The Philotic Knight said:

@arthurh35353 not sure what you're missing. There's three lists:

 

  1. Top list - mods on the server that aren't on your computer 
  2. Middle list - mods downloaded onto your computer, but not installed in CoH
  3. Bottom list - mods installed and active in your CoH installation.

After installing mods, nothing is added to any of the windows.

Link to comment
Share on other sites

@arthurh35353 that's... really weird, and I've never seen that before. Try using the Fresh Start button, and let me know how it goes, okay? If that doesn't work, go to my site and get the latest version, I see that you're on 1.63, go get 1.64 (not that that should matter).

 

Also, what version of Windows do you have? And what version(s) of the .NET Framework do you have installed on your system? I'm a little bit concerned that the bottom section isn't "snapping" to the bottom of your window, it should automatically move the entire grid structure.

 

See the following article to determine the .NET framework versions installed on your system:

 

https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed

 

The program is currently compiled to the 4.5 .NET framework, make sure you have that version installed.

Edited by The Philotic Knight
I'm out.
Link to comment
Share on other sites

I (thought) I did the fresh start while poking around. Win10 Pro here, fully updated. I was using this for work from home for a while (before they started talking about installing management spy software) so I believe I have the latest .net framework 4.8.

 

I think it also nuked my manually installed mods, but that may be by design.

Edited by arthurh35353
added info
Link to comment
Share on other sites

7 minutes ago, arthurh35353 said:

I did the fresh start while poking around. Win10 Pro here, fully updated. I was using this for work from home for a while (before they started talking about installing management spy software) so I believe I have the latest .net framework 4.8.

Every .NET Framework version is independent, I believe. See here for another example of someone having an issue with a program that was written for a different version of the framework:

 

https://www.se.com/ww/en/faqs/FA269881/

 

I would try to install the 4.5 framework anyways, and if your system doesn't let you, let me know, maybe we can investigate it from there.

I'm out.
Link to comment
Share on other sites

Then I probably do have 4.5 in there also. This Install's been in place for 4 or 5 years of installing 70+ steam games. (Weird, can't copy paste that Win10Pro shows it as part of the OS.)

 

Now I'm getting the Unhandled exception error when I tried to install a mod.

 

Let's see what happens when I try to set the installation folder to the HC-bin64.

 

And now Tequelia to start Homecoming is crashing with missing files. WTF did I do?

 

 

Edited by arthurh35353
Link to comment
Share on other sites

 

19 minutes ago, arthurh35353 said:

Then I probably do have 4.5 in there also. This Install's been in place for 4 or 5 years of installing 70+ steam games. (Weird, can't copy paste that Win10Pro shows it as part of the OS.)

 

Now I'm getting the Unhandled exception error when I tried to install a mod.

 

Let's see what happens when I try to set the installation folder to the HC-bin64.

 

And now Tequelia to start Homecoming is crashing with missing files. WTF did I do?

 

 

I think I found your issue. Do not tell it to go to \homeciming\bin64. Instead tell it to go to \homecoming. Your Data folder should be in your homeciming folder like this.

 

 

Untitled.thumb.png.3f1f7a1671805ff89b5b02262b1fe6a6.png

 

 

 

Edited by Solarverse
Link to comment
Share on other sites

3 minutes ago, arthurh35353 said:

That is actually where I was before. I'm downloading the Homecoming Launcher now. I guess I get to reinstall. And I may look at Bitdefender, as it was nicely blocking installing HC...

That is just very strange. I have never had that issue before. One last question, you are not placing your homecoming folder in the \CityofHeroes folder, are you?

Link to comment
Share on other sites

19 minutes ago, arthurh35353 said:

That is actually where I was before. I'm downloading the Homecoming Launcher now. I guess I get to reinstall. And I may look at Bitdefender, as it was nicely blocking installing HC...

I guess the very first question I should have asked was... which launcher are you using, Tequilla, or the new Homecoming Launcher? But, I think a wipe and reinstall would probably be best at this point. Please keep us up to date.

I'm out.
Link to comment
Share on other sites

3 hours ago, The Philotic Knight said:

@arthurh35353 that's... really weird, and I've never seen that before. Try using the Fresh Start button, and let me know how it goes, okay? If that doesn't work, go to my site and get the latest version, I see that you're on 1.63, go get 1.64 (not that that should matter).

 

Also, what version of Windows do you have? And what version(s) of the .NET Framework do you have installed on your system? I'm a little bit concerned that the bottom section isn't "snapping" to the bottom of your window, it should automatically move the entire grid structure.

 

See the following article to determine the .NET framework versions installed on your system:

 

https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed

 

The program is currently compiled to the 4.5 .NET framework, make sure you have that version installed.

What is confusing me, is if you look at the bottom of the CoH Modder Tool, it shows that they have 5 Local Mods and 5 Installed Mods. So it recognizes that they have mods, but for some reason they are not rendering in the information screen.

Link to comment
Share on other sites

Yeah, that's why I was asking about the .NET version, because the THIS should NOT be happening, those SplitContainer objects should be "Anchored" to the right and bottom edge of the Form, and so when the form is resized, they should be resizing along with it. The fact that they are not is making me think there's something wrong with @arthurh35353's .NET installation:

 

image.thumb.png.b97a53271d47fae2db1cf5d11f1de7c4.png

 

 

 

It should look like this when the form is "scrunched" down:

image.png.155d4d7a306a667ada63276a857eea3a.png

 

And like this when it's maximized:

image.thumb.png.6699ee011684fdab6ee25423ba3a3356.png

 

So, I suspect a MUCH bigger problem than just the location of the CoH root folder. These onscreen objects should be behaving on every Windows PC the same way. That's fundamental to how the .NET framework works...

 

 

  • Like 1
I'm out.
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
×
×
  • Create New...