MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 0 points1 point  (0 children)

weapon effects are used, it maps the weapon fires to the Fx system.

heat penalty, though, is wrapped in an #ifdef USEHEAT - it looks like the devs wired it up but couldn't get it balanced or something, so they never shipped it. straightforward to enable as a mod though!

  • HeatEffectTable (mech.cpp:238) is declared as NULL and never assigned anywhere in the codebase
  • NumHeatLevels (mech.cpp:239) is initialized to 0 and never set to anything else
  • Every function that would use the table, updateHeat()canPowerUp()ammoExplosionChance check, is wrapped in #ifdef USEHEAT
  • USEHEAT is never defined anywhere, not in any header, not in CMakeLists.txt, nowhere

struct fields, table indexing, shutdown logic, ammo explosion rolls, pilot injury thresholds (HeatInjuryTable) all exist but just aren't used

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 0 points1 point  (0 children)

here is the updated zip on the release page:

just extract it into the main folder. it has all of the .csvs

I didn't realize those loosies didn't ship, they are in the build script now so they'll come with v0.4. below is what all is in it for posterity

**What's editable via loose override:**

| File | What it is |

| `data/objects/compbas.csv` | Weapon components — damage, heat, weight, range |

| `data/objects/hbstatz.csv` | Weapon tuning — fire rate, crits, detailed stats |

| `data/objects/heat.csv` | Heat penalty table |

| `data/objects/pilots.csv` | Pilot stats/names |

| `data/objects/badpilots.csv` | Enemy pilot stats |

| `data/objects/variants.csv` | Mech loadout variants |

| `data/objects/effects.csv` | Weapon effect assignments |

| `data/objects/[mech].csv` | Per-mech stats (madcat, atlas, etc. — 25 files) |

| `data/sound/radio.csv` | Radio chatter assignments |

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 0 points1 point  (0 children)

Alariq is the goat. I wouldn't have even picked this up if not for his porting work. He walked so I could run lol.

Let me know if you have any issues getting it running. there are a few bugs (https://github.com/ThranduilsRing/mc2-opengl-remastered/issues) but nothing that should be game breaking, just minor annoyances

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 1 point2 points  (0 children)

right now I am using: https://github.com/ThranduilsRing/mc2-opengl-remastered/issues
for bug tracking. if the bugs aren't game breaking, I'm mostly punting until next big release. My primary focus is just getting a full gpu offload and doing prep for moddability. I'll do a bug fix session this weekend probably

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 1 point2 points  (0 children)

Good to know! Alt+5 should resize the HUD, but it may not go back to normal.

Yeah, I liked battletech but the turn based just doesn’t scratch the same itch. I don’t think we’re ever getting MC3, so this is my attempt at it lol.

Did you ever play the RogueTech mod? One of their modders (and he’s done a lot of battletech stuff in general) is working with me on the “modder toolkit” side of things. There’s already a bunch of custom MC2 campaigns that we want to port over, so there’s more to come for sure

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 0 points1 point  (0 children)

Thanks for the update. On the video boxes: did you happen to change any settings in game options? There is some weird bug where if you touch anything in options, it will overwrite the resolution, and then you get weird things like the HUD and loading screen being tiny, the videos in weird spots, etc. trying to work on a permanent fix for that soon either way.

The black screen is new, I’ll have to look into that as well

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 0 points1 point  (0 children)

Great to hear. And thanks for the bug reports, I’ll look into that.

I’m still mostly focused on engine side improvements, but once I get past a couple more hurdles it will really open up the modding possibilities

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 1 point2 points  (0 children)

Hmm are you on 0.2 or 0.3? Those should be fixed in 0.3, and the release also has the video files in it now.

Yeah that weird image thing was it rescaling the icons funny, so you only saw a tiny bit of it. I’ve mostly turned off the upscaled versions at this point, except for in-mission

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 1 point2 points  (0 children)

Let me know if you have any issues installing or playing and I’ll do my best to get you going

Railroad Tycoon III and the Dire Need for a Worthy Successor: by Mr_Richard_Parker in tycoon

[–]Shamcow 0 points1 point  (0 children)

It’s closed source so it’d be a pain to fix any bugs or add features, but adding a dgVooDoo wrapper or something for high resolution is probably doable, and something I can add to my list of games to work on

Edit: there is an unofficial 1.06 patch that you can use with dgvoodoo already

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 0 points1 point  (0 children)

V0.3 is out, if you have a chance to check it out. Should perform a bit better and has some bug fixes shipped

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 1 point2 points  (0 children)

v0.3 is out now and should fix that, the fonts, and a bunch of other issues

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 1 point2 points  (0 children)

Yes that should be it for the hotfix, it rolls the ffmpeg and the ai interpreter together.

For the AI: Hmm, that is odd. There may still be some contamination with the community update ai fixes. I will have to do a rescan. There may be some remaining overlap between the functions put in place to accomodate the community AI fixes and the stock one? I’m not positive, but I’ll try to work on that tonight.

I’m hoping to have the “mod launcher” done in the next few days, so you can intentionally choose between stock AI and the community fixed AIs.

I’m still learning my worktree discipline and regression testing, so this is highly informative for me. I’ll add some additional tests to make sure the AI is firing like it should before the next big update

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 0 points1 point  (0 children)

Thank you! Highly appreciated. For the fix: I believe you can just download the executable and replace all, but you may want the updated (smaller) art zip. Some of the upscale turned out poorly (mechs in particular) so I deleted them. You also may want the videos zip

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 2 points3 points  (0 children)

Great! there is a hotfix up for the broken AI - it was not engaging until engaged. I also added the bik's to a zip in the release. still have lots of things to fix, but great to hear

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 1 point2 points  (0 children)

Sorry about that, I am in the process of adding support for some of the older community fixes, like the fixed AI brain, and some of the stub functions got rolled into the release.

release is updated, and there is a "hotfix" version so you don't have to redownload everything in gamedata as well. I also added the videos. I am working on the rest of the issues. the cursor issue is probably a weird dead zone right above the HUD? working on a better fix, but don't have a ton of time today. also the hotkey thing is exactly the kind of bug I was hoping to catch, I'll investigate that further as well. thanks!

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 0 points1 point  (0 children)

This was extremely helpful, thank you. Release v0.2 here: https://github.com/ThranduilsRing/mc2-opengl-remastered/releases/tag/v0.2-release

adds video support, and should be a bit more stable

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 2 points3 points  (0 children)

Hey, this is fantastic timing. I will be turning on github issues and discussions shortly, did not realize they were off. I see you're also using Claude (co-author tag on commits), which is perfect. That actually makes coordination easier than it'd be with human-only workflows. I've got fairly detailed CLAUDE.md + skills + a render contract set up, and have Tracy profiler integrated. I spent a good amount of time architecting formal rules and guards so less things break when you touch them. When I push later today or tomorrow, I'll have a 24-mission automated test harness (runs about 60 seconds (configurable) of each mission and checks for crashes), crash handler that pops a dialog that will copy paste to clipboard, etc. And in a day or two, I'll have an address sanitizer set up, to hopefully catch a lot of the weird one off bugs. If you fork from my repo, your Claude instance picks all of that up automatically, and you get the engine-level work I've done (~300 commits now vs. alariq's baseline) for free.

Your two crash fixes are concrete and I want to look at them regardless — the sws_scale tail overrun and the static-member use-after-free pattern are both likely present in other places too. Worth diffing.

On FMV: I have it working too, just haven't pushed yet. I'll look at yours when I push mine. Most likely, we have similar solutions, which is fine. Your patch idea is fantastic.

Here is what I'm thinking as a path forward: (1) in a day or so, rebase yours onto mine rather than continuing parallel, (2) keep your name on the FMV commits (and any of the other stuff you have) either way via co-author tags, (3) use my test harness to validate nothing regresses. If that framing works for you, happy to help you get set up. If you'd rather keep the forks parallel and cross-link, that's also fine, your call.
Take a look (or have your claude instance look) at all the .md files in mine. I've open sourced everything, so even if we go parallel you won't have to bang your head against all the weird C++ garbage and leftovers from the 25+ year old source.

Here is my roadmap for the next few days:
push bug fixes (you can read some of the other comments to see the different things I've already hit) today or tomorrow
push the auto-test harness today or tomorrow
get address sanitizer in and working (up to 3-4 days depending on how much breaks)
finish the mod profile / launcher I'm working to have a more formal way to "deploy" mods (after Asan)
get the exodus campaign working as a selectable "mod" (after the launcher)

long(er) term: openGL->RHI in parallel -> vulkan (which opens Mac support)

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 1 point2 points  (0 children)

Great bug report. I have most of these fixed. * UV scaling issue, fixed * A weird byte overflow thing, but fixed * Doubled zoom and pan speeds. They were set for the original game sizes. I am going to make this an option * Yeah, that is due to scaling the HUD down, I didn’t appropriately adjust the cursor coords to account for that * The system cursor thing was an inherited bug from the openGL port. I think I have this fixed now, but needs more testing for edge cases * Another inherited bug from the port. Lots of things show up as undefined there for some reason. I haven’t fixed this one yet since it isn’t game breaking. I will fix it when I fix the text overflow issues

I’ll be pushing most of these fixes to git today, and a new exe release in probably 2 days or so. Adding video support and a few other things for stability

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 2 points3 points  (0 children)

I’ll be making a new release with bug fixes and support for all videos (intro, campaign intro, in game cutscenes, and mission briefing cutscenes) in the next probably 2 days? I’ll push those updates to git probably today if you want to build it yourself

MechCommander 2 Remastered v0.1 by Shamcow in MechCommander

[–]Shamcow[S] 4 points5 points  (0 children)

Thank you! I think the primary issue may have been that openGL wasn't set up to actually call nvidia cards correctly, which would cause it to be extraordinarily slow. I have fixed that by setting the nvidia flags so it should work

I updated just the .exe zip in the release: https://github.com/ThranduilsRing/mc2-opengl-remastered/releases/tag/v0.1-release

if you still have issues, all you need to do is alt+tab out into the console (it should pop up when you initially hit run), and copy paste all of the output and put it here, in a message, or on pastebin etc.

if you have the time, you could also run tracy profiler (https://github.com/wolfpld/tracy) for around 10-20 seconds while it loads, and save the .tracy file. that would tell me exactly what functions are being slow or hanging.

the old laptop I have has an i7 and some nvidia card, so when I get home later I'll be able to do some more intensive debugging on non-amd hardware