Hi, As ScummVM isn't an emulator I wanted to ask if one of the developers could explain how you make ScummVM "read" the game, counting what's in the data files, is there a way to make an interpreter for Cosmo? (Cosmo's Cosmic Adventure)
I've managed to rip some of the sprites, but I'd like to try and make something like ScummVM but just for this game, what I mean is that I don't want to make a fan game or remake, something like CloneKeen (Sorry I can't explain 100% what I want)
I want to know how do you run at least one game that has packed graphics, music so maybe I could make something like CosmoVM
Thanks in Advance
Eugene
How to make an interpreter?
Moderator: ScummVM Team
Well, first you get to know your programming language (Lets say C++).
Then (when working with a bare-butt text editor gets bothersome) you chose a nice working environment. (Lets say Eclipse)
Then you figure out how to read files with your programs (Any C++ book should have that info)
Then, you look for libraries that may help you read the files you need. (The SDL Library will help you read PNG files amongst other things)
If you can't find any libraries or info that can help you with the specific files you want to open, you are up for some good old reverse engineering. This is not easy, and you will need some experience to do this. At this point you will at least have SPECIFIC questions to ask to others. Knowing what it is exactly you want to know helps a lot.
---
I am actually trying to do something similar at the moment. I am looking for a method to read Diablo1 spite archives (cel and cl2 files). There are editors for those but none of them are open source.
Then (when working with a bare-butt text editor gets bothersome) you chose a nice working environment. (Lets say Eclipse)
Then you figure out how to read files with your programs (Any C++ book should have that info)
Then, you look for libraries that may help you read the files you need. (The SDL Library will help you read PNG files amongst other things)
If you can't find any libraries or info that can help you with the specific files you want to open, you are up for some good old reverse engineering. This is not easy, and you will need some experience to do this. At this point you will at least have SPECIFIC questions to ask to others. Knowing what it is exactly you want to know helps a lot.
---
I am actually trying to do something similar at the moment. I am looking for a method to read Diablo1 spite archives (cel and cl2 files). There are editors for those but none of them are open source.
- ezekiel000
- Posts: 443
- Joined: Mon Aug 25, 2008 5:17 pm
- Location: Surrey, England
ERKAN - you could ask the people who made the editing tools for Cosmo's Cosmic Adventure in regards to file structures etc: http://www.dosclassics.com/cosmic/dl.php
You could also have a look at the source for Wargus and Stargus to see if Blizzard used a similar sprite format in Warcraft 2 & Starcraft.
The guys at http://linux.prinas.si/gemrb/doku.php might be able to help you as they are working on a similar project for Baldur's Gate.bobdevis wrote:I am actually trying to do something similar at the moment. I am looking for a method to read Diablo1 spite archives (cel and cl2 files). There are editors for those but none of them are open source.
You could also have a look at the source for Wargus and Stargus to see if Blizzard used a similar sprite format in Warcraft 2 & Starcraft.
Thanks for the link, I spent 3 days ripping the mni files that contain the sprites with Textract, did some batch converting to png and didn't even look for any tools!ezekiel000 wrote:ERKAN - you could ask the people who made the editing tools for Cosmo's Cosmic Adventure in regards to file structures etc: http://www.dosclassics.com/cosmic/dl.php
Tried wombat tools to get the levels, but it had some bugs with them, though all graphic resources are with me (Practically)
So let me try to understand:
1. I must download Eclipse IDE for C/C++ Developers (79 MB)
2. I must download SDL Libraries
3. I must download a C++ development app (I am using Bloodshed Devcpp, is it OK?)
Did I get it right?
Anyway I have some more questions (Sorry if they seem dumb to you)
How do you link together SDL and a development kit? (DevCPP)
What SDL package should I download for this devkit? (Will SDL-devel-1.2.13-VC6.zip (Visual C++ 6.0) work?)
Where can I find some tutorials on controls and basic SDL commands?
How can I make a GUI for the interpreter? (How did you make ScummVM's GUI?)
EDIT: I found a website that szevvy often visits so I'll try to contact him!
http://www.libsdl.org/ERKAN wrote:Where can I find some tutorials on controls and basic SDL commands?
ScummVM's GUI has been written from scratchERKAN wrote:How can I make a GUI for the interpreter? (How did you make ScummVM's GUI?)
You might want to have a look at LUA for the game logic language:
http://www.lua.org/
Or you could just write the whole thing in Adventure Game Studio (AGS):
http://www.adventuregamestudio.co.uk/
Big projects like the Sierra KQ1, KQ2 and QFG2 remakes used it - check here: http://www.agdinteractive.com/
Ok, I'll check!md5 wrote: http://www.libsdl.org/
I understand, I wanna see the code of it (How you made such a skin, buttons, I wanna make a similar skin for the time being until I manage to run at least the 1st episode)md5 wrote:ScummVM's GUI has been written from scratch
I'll check itYou might want to have a look at LUA for the game logic language:
http://www.lua.org/
Cosmo is a platformer so AGS won't work!md5 wrote:Or you could just write the whole thing in Adventure Game Studio (AGS):
http://www.adventuregamestudio.co.uk/
I know of these remakes, but they won't do for me, I wanted to know about the skinmd5 wrote:Big projects like the Sierra KQ1, KQ2 and QFG2 remakes used it - check here: http://www.agdinteractive.com/
Anyway, thanks for the links, I probably need to contact the authors of OpenJazz or CloneKeen, cuz these games are platformers too
Looked in the internet for the required SDL libs for DevCPP, Mingw32 works fine!
not to sound harsh, but do you have ANY programming experience at all, not just using tools others have written? the GUI is the last thing you should worry about. I just want to be sure you understand the scope of a project like this, I mean no offense by anything I've said. ambition only goes so far