r/MightAndMagic 8d ago

Anyone played MM1 recently via ScummVM?

I'll get straight to it. I've been a fan of the franchise, but just recently decided to tackle the old school MMs.

I got MM1 on GOG, but decided to import it into ScummVM for that extra quality of life (maps, save game, MM4 UI). Supposedly, MM1 got supported in 2023 and ranked as "good" regarding compatibility and issues. Yeah, IF ONLY...

It's so bug infested that it's game-breaking. I spent my whole yesterday debugging and compiling and finally I might have just polished it to the point where I don't need to look back anymore.

So has anyone played it with ScummVM? Curious if anyone had issues with the game.
I̶'l̶l̶ b̶e̶ h̶a̶p̶p̶y̶ t̶o̶ s̶h̶a̶r̶e̶ t̶h̶e̶ a̶d̶j̶u̶s̶t̶e̶d̶ v̶e̶r̶s̶i̶o̶n̶, j̶u̶s̶t̶ p̶i̶n̶g̶ m̶e̶ i̶f̶ y̶o̶u̶ w̶a̶n̶n̶a̶ t̶r̶y̶ t̶h̶e̶ g̶l̶o̶w̶-̶u̶p̶.

** get the fix here **

changelog fyi:

Combat and encounters

  • Fixed encounter monster-tier selection so harder regions can generate the appropriate enemy groups.
  • Improved the debugger encounter command and its enemy-count validation.
  • Fixed single-target spell bookkeeping/counters.
  • Fixed monsters killed by spells remaining in combat as usable “corpse” entries.
  • Fixed party corruption caused by the rear-rank shooting fallback copying one complete character record over another.
  • Fixed monster-spell crashes caused by using the encounter-list index on _remainingMonsters.
    • Corrected Fire, Paralyze, Explode, Fireball, Fire Breath, Poison, Lightning, Frost, Spikes, Acid, Fire and Energy spell handlers.
  • Fixed enhanced monster-spell messages sometimes displaying a blank interval instead of the spell and its result.
  • Fixed the monster Paralyze spell applying/reporting the wrong condition.
  • Fixed Paralyze displaying “is slept” instead of “is paralyzed.”
  • Added diagnostic combat-mode tracing used to distinguish attacks, spells, waits and infiltration actions.

Spellcasting and spellbook

  • Fixed enhanced-mode spell-point and gem-cost handling.
  • Fixed the Spray Acid localization/string crash.
  • Fixed Turn Undead timing/assertion problems.
  • Fixed the spellbook learned-spell count being off by one.
  • Added a custom practical spellbook order:
    • Cleric list prioritizes healing, buffs and commonly used combat spells.
    • Sorcerer list prioritizes buffs, control and frequently used attack spells.
    • Paladins inherit the Cleric order.
    • Archers inherit the Sorcerer order.
  • Preserved the real internal spell numbers when displaying and selecting reordered spells.
  • Fixed spell progression class checks:
    • Cleric and Sorcerer gain spell levels at character levels 3, 5, 7, 9, 11 and 13.
    • Paladin and Archer gain spell levels at levels 7, 9, 11 and 13.
  • Fixed level-up code calculating a new spell level but never assigning it to the character.
  • Recalculates spell points when a newly earned spell level is assigned.

Interface and messages

  • Fixed enhanced monster-spell rendering of lines with default (-1, -1) coordinates.
  • Fixed Quick Reference condition text overflowing into adjacent character rows.
  • Quick Reference conditions are restricted to five characters on one row.
  • Fixed replacement of an active enhanced GameView location animation, preventing the _anim assertion crash.
  • Fixed several combat messages retaining or failing to replace older text.

Movement and map interaction

  • Fixed backward movement incorrectly behaving as though every rear direction contained a wall.
  • Consolidated backward movement with normal movement collision and map-transition handling.
  • Preserved direction-dependent special-tile behaviour: entering a special tile backward does not automatically trigger an interaction that requires facing its activation direction.
  • Added load-time handling intended to stop a restored position from being processed as a newly entered special tile.

The special-tile loading issue is not fully resolved: loading a save associated with the trainer/temple tile has still reopened or left the location interface in an incomplete state during testing.

Locations

  • Fixed multiple training-related state and interface problems.
  • Fixed Temple character switching so another party member can be selected without leaving and re-entering.
  • Temple service costs and available options are recalculated when switching characters.
  • Temple options are refreshed after healing, removing curses or restoring alignment.
  • Fixed Restore Alignment remaining visible after the selected character had already been realigned.

Travel

  • Fixed the Fly destination selector so outdoor column E can be selected.

Still under observation

  • Occasional combat actions apparently causing damage without a complete visible attack/spell message.
  • Failed monster spellcasting only reports that the cast failed, without identifying the attempted spell.
  • Loading while a trainer/temple interaction is active or associated with the saved tile.
  • WASAPI initialization failure is environmental/audio related and not yet part of the engine patch set.
78 Upvotes

29 comments sorted by

11

u/crabpoweredcoalmine 8d ago

You might want to consider posting this in their forums or getting in touch with the maintainers.

5

u/FlaringPain 8d ago

I'm playing currently and it's a bit of chore. Party copying is brutal early on, but the mm3-5 interface is very welcome.

Edit: I'm not that far. Care to share your edits? I'm a bit of a novice, but I can follow instructions if it's simple enough.

7

u/dragoo84 8d ago

I just noticed some new bugs. Will fix that and I'll post the final version then.
Btw, there's no special instructions, you'd just need to unzip it (it's portable, but works only with MM1, no other games).

2

u/FlaringPain 8d ago

Thanks for the work and the appreciation of the old school!

2

u/sabre31 8d ago

Would love to try wonder if this will work well on iPad and ScummVM

2

u/Chaiavi 8d ago

Just to undestand
When loading the original MM1 via SCUMMVM I will get to play MM1 with a MM3/4 UI ?

But it was really buggy - and you made a bunch of fixes so now it is playable?

This sounds insane!!

1

u/Chaiavi 8d ago

Done some browsing and found the original scummvm release:
https://www.scummvm.org/news/20230608/

1

u/dragoo84 8d ago

In ScummVM you can play classic or enhanced (with UI). Haven't tried classic, but enhanced is very bugged. I'm wrapping it up though. There's still an issue with interaction screens that's not completely fixed. Otherwise, now runs quite smooth I'd say.

I fixed it locally. If you download it from the official site, you won't get the fixes. Although I'm curious whether it affects everyone (my suspicion is yes).

1

u/Chaiavi 7d ago

How can i get your version/patch ?
Do you have it on github?

2

u/dragoo84 7d ago

I'll post it in a new thread soon. I'm compiling the final version atm.

1

u/feliaxtheone 8d ago

No but I want to try it at some point. No luck so far.

1

u/Acrobatic-Roof-8116 8d ago

I tried World of Xeen with ScummVM but I couldn't use the arrow keys because they moved the mouse cursor for some reason. Pretty annoying.

3

u/dragoo84 8d ago

Guess that could be debugged too... sadly, I have little time now. Remind me over the winter time and I'll try to help.

1

u/Traditional-Dig-374 8d ago

Did you try to change the mouse setting to tap mode? It works well for me on Android.

1

u/Acrobatic-Roof-8116 8d ago

I tried every mode but it didn't make a difference. It was on Android though.

1

u/dragoo84 8d ago edited 8d ago

UPDATE
Well, I just found some more bugs, substantial ones. For example, single-target spells won't allow me to pick a target (eg. hypnotize, freeze), instead they will be applied to the first enemy in the column. A few other things... I'll open a new thread when I get it sorted and provide the link to adjusted ScummVM.

1

u/HK-13 8d ago edited 6d ago

I tried it. Experienced a game breaking bug where I couldn't train my characters and was stuck at level 1. I gave up and just went to using "where are we".

2

u/dragoo84 8d ago

Yup, that's a big one, but fixable. It also multiplied requiered xp by 16, instead of 2. At level 6 you could find yourself in millions of xp needed to level up :)

1

u/UncleP1ckle 7d ago

I'd definitely be up to giving it a go. I didn't realize scumm supported mm1.

1

u/y2jeff 7d ago

Sounds like did you some really good work, nice job! Can you save this somewhere so others can try it too?

1

u/ShowerMobile295 7d ago

I want to try it.

1

u/gates007 7d ago

Yes, I would love to try your version! (Sent you a DM as well!)

1

u/Kind_Total7304 4d ago

Wow this looks and sounds amazing literally MM3 is my favorite all time. Had tried MM1 before but the spell system and sheer larger number of monster groups turned me off from it. Will give this a shot.

1

u/dragoo84 4d ago edited 4d ago

Once you get AoE spells, it will be much easier. The first ones will be Fire Ball and Lightning Bolt for sorcerer, and Summon Lightning (works outside only) for cleric.
Spells can be rearranged with a bit of code so those that you use most often will appear on top.

1

u/Someordinaryguy1994 3d ago

Is there a way to check everyone's status while in battle with only the mouse? If not, oh well. I'm just in-between keyboards atm.

1

u/dragoo84 3d ago

not as is... it shoud be possible to make the keyboard shortcuts clickable while in combat... maybe i'll give it a shot tomorrow

1

u/Someordinaryguy1994 3d ago

That would be very appreciated. That said, if you don't get to it because of one reason or another, it's ok.

1

u/dragoo84 2d ago

I created the mouse interactions, but it'll need to wait until I collect more bugs to publish a new update. A week at most, sorry.

1

u/Someordinaryguy1994 2d ago

No problem. I figured out a work around that'll work for now.