Skip to main content

User login

What is OpenID?
  • Log in using OpenID
  • Cancel OpenID login
  • Create new account
  • Request new password
Register
  • Home
  • Browse
    • 2D Art
    • 3D Art
    • Concept Art
    • Textures
    • Music
    • Sound Effects
    • Documents
    • Featured Tutorials
  • Submit Art
  • Collect
    • My Collections
    • Art Collections
  • Forums
  • FAQ
  • Leaderboards
    • All Time
      • Total Points
      • Comments
      • Favorites (All)
      • Favorites (2D)
      • Favorites (3D)
      • Favorites (Concept Art)
      • Favorites (Music)
      • Favorites (Sound)
      • Favorites (Textures)
    • Weekly
      • Total Points
      • Comments
      • Favorites (All)
      • Favorites (2D)
      • Favorites (3D)
      • Favorites (Concept Art)
      • Favorites (Music)
      • Favorites (Sound)
      • Favorites (Textures)
  • ❤ Donate
General Discussion

Maelstrom (classic Mac game) art?

Joe Strout
Wednesday, March 23, 2022 - 08:49
Joe Strout's picture

The 1992 Mac game Maelstrom was really great, and in particular had amazing art.  And according to Wikipedia, all that (including art) was released under Creative Commons in 2010.

I've found the current source: http://www.libsdl.org/projects/Maelstrom/source.html

Also available on GitHub, e.g.: https://github.com/richardjs/Maelstrom

But all the sprites were originally stored in the Mac resource fork (I think in 'cicn' resources, though I'm not 100% sure).  They're now in this binary file, still in the format of a Mac resource fork.  It seems the guy who did the original port to SDL just wrote C++ code to read this format directly, rather than extract the images into some more common format.

Still, that was 12 years ago.  Surely somebody has extracted these resources into a sprite sheet or separate little PNGs or something by now?  Perhaps my google-fu is too weak to find them.  Anyone know of where these resources can be found, short of re-hacking this extracted resource fork?

 

  • Log in or register to post comments
bzt
joined 4 years 3 weeks ago
Wednesday, March 23, 2022 - 11:06
bzt's picture

Hi,

@Joe Strout: "Surely somebody has extracted these resources into a sprite sheet or separate little PNGs or something by now?"

I don't think so. But if I were you, instead of messing around with the resource file directly, I would simply hack the game's source to save the sprites in memory after they are loaded from dragonland.

The sprites are loaded in two places, here and here. After the screen->LoadImage call you can save the sprite. The variables are as follows:

  • baseID - a unique sprite ID
  • index - current frame index
  • aBlit->numFrame - number of total frames
  • aBlit->sprite[index] - one sprite frame in SDL_Surface format

Using SDL_Image it should be trivial to save that SDL_Surface into a PNG file by the name ("%04d-%d.png", baseId, index), or you could merge the frames into a single SDL_Surface and save that.

EDIT: hmmm, it looks like baseID isn't unique at all. So I guess you should write a function "SaveSpriteasPNG(BlitPtr *aBlit, char *pngname);" and call that in LoadBlits() like this:

/* -- Load in the thrusters */

if ( LoadSmallSprite(spriteres, &gThrust1, 400, SHIP_FRAMES) < 0 )
return(-1);
SaveSpriteasPNG(&gThrust1, "ghrust1.png");

EDIT2: I've attached a modified init.cpp (I had to rename it to png, just rename it back to init.cpp). If you compile the game with this, then when you run the game it will save the sprites into BMP files (I've chosen BMP over PNG so that you don't have to mess around with SDL_image linking, as SDL_SaveBMP is supported by the base SDL library). Check out the "SaveBlitasBMP()" function that I've added, and modify it to your needs if you want to.

Hope this helps,
bzt

  • Log in or register to post comments
bzt
joined 4 years 3 weeks ago
Saturday, March 26, 2022 - 05:10
bzt's picture

@Joe Strout: Well? Did it work for you? Were you able to save the sprites with my init.cpp hack?

Cheers,
bzt

  • Log in or register to post comments
Joe Strout
joined 12 years 2 months ago
Sunday, March 27, 2022 - 21:05
Joe Strout's picture

No,  for me it was substantially easier to just pull them out of the resources file.

But thank you anyway!  It was generous of you to look into it.

 

  • Log in or register to post comments
bzt
joined 4 years 3 weeks ago
Monday, March 28, 2022 - 07:41
bzt's picture

@Joe Strout: "for me it was substantially easier to just pull them out of the resources file."

I've thought you don't know how to do that.

"But thank you anyway! It was generous of you to look into it."

You're welcome! I'm glad you managed to get the sprites. Well done!

Cheers,
bzt

  • Log in or register to post comments
Commander
joined 5 years 6 months ago
Wednesday, March 30, 2022 - 01:26
Commander's picture

Original Maelstrom in not arcade it is strategy game in space.

https://www.myabandonware.com/game/maelstrom-1gh

..extremely brutal fight in space in Dune movie stile. But for that time it has some heart, I don't know why Mac developer use this name. In parallel, I also played Supremacy aka Overlord on C64. Thank1`s God, name is not used by Mac in some asteroid hunt.

  • Log in or register to post comments
dannorder
joined 11 years 5 months ago
Sunday, April 3, 2022 - 19:25
dannorder's picture

The Mac game came out first.

  • Log in or register to post comments
blinkoutatime
joined 7 months 6 days ago
Monday, December 2, 2024 - 03:33

If anyone still needs original sprites from the game I do have them. They are freely available with a bit of searching as well.

Just wanted to mention here that Maelstrom2 is in development and progress on it has come a very long way. M2 features the original game in it's own mode, with new graphics and added optional features and sounds, as well as Maelstrom2 which the Sequel in 3D. There will also be support for multiplayer base in the M2 Universe and builds are planned for MacOS Intel + Apple Silicon, Windows, Linux, and iOS in the future. 

I am working very closely with the original sprite artist Ian Gilman on the project and he is very excited to see where M2 development leads. Of course it is just a few developers on the team right now, but we do have a working demo of the Original Mode of the game. 
The project can be found on Discord and I would be happy talk to anyone interested in working on the project. 

As far as art goes. Here is a sneak peek.

Attachments: 
Preview
screen_recording_2024-01-29_at_10.04.57_am.gif screen_recording_2024-01-29_at_10.04.57_am.gif 17.8 Mb [3 download(s)]
Preview
demo1.png demo1.png 1 Mb [2 download(s)]
Preview
demo2.png demo2.png 1.1 Mb [1 download(s)]
  • Log in or register to post comments
Joe Strout
joined 12 years 2 months ago
Monday, December 2, 2024 - 11:52
Joe Strout's picture

Sounds (and looks) amazing!  Please keep us posted.  I might be interested in helping out.  Can you PM me the Discord link (if not comfortable posting an invitation here)?

  • Log in or register to post comments
blinkoutatime
joined 7 months 6 days ago
Wednesday, December 4, 2024 - 03:09

Send you a link to the server. Let me know if you have any questions. Always looking for developers or artists :)

  • Log in or register to post comments
blinkoutatime
joined 7 months 6 days ago
Wednesday, December 4, 2024 - 03:14

also for anyone who needs original sprites. This site can read the original resource fork file. You will find all the games sprites loaded here in one page.

https://discmaster.textfiles.com/browse/17701/MacMania%201.toast/Games/M...

  • Log in or register to post comments