PDA

View Full Version : Look what I found in the trash!


Serge
11-26-2002, 08:26 AM
It's Serge! None other! He thought he could hide among the banana peels and the ham from last month, but no! I found him!

Anyway, nah, I'm not back to stay, just checking inhere, and making sure that noone steals my latest idea, by claiming my rights for it right now! ;)

Hold your breaths...

I'M GOING TO REVIVE THE SCUMM INTEGRATED DEVELOPMENT ENVIRONMENT!

That's right... Actually, I already DID revive it. I've started work on the damn thing again, and this obviously means that it'll take a little less than eternity for it to get done. Which means that if they find that cure for cancer and old age, you might just survive to see it. Or maybe not.

Anyway, just letting you know. It's far from even compiling a script (though I did write a simple prototype of a compiler), but it's really neat and makes it really easy to work with those scripts, rooms, costumes etc. that can't be used for anything yet.

Oh yes, in case you didn't notice, bg is absolutely in charge of this thing (the forum) as long as Tomas doesn't show up too much. So obey him, worship him.

- Serge

jannar85
11-26-2002, 09:09 AM
Yay! SCUMM IDE!
I love you Serge!!! (Well, not literally speaking of course)
Can we maybe look at the prototype, or at least give us a screenshot? :p

You'll revive SCUMM from teh dead!!! :D
Yay, heheh...

Serge
11-26-2002, 09:23 AM
I knew you'd ask (for a screenshot), and I guess I'll try. But with my VERY limited internet access (at most once a week, I bother to go to the computer room on campus), it'll take some time. We'll see. Also, I guess I didn't make the anti-promise stuff strong enough in the last post. There's really, as usual, no guarantee any of this will see the light of day. It's just like SCUMMRev 3 and SCRAMM. ;)

- Serge

jannar85
11-26-2002, 09:40 AM
Yeah, it's alright. :)
Well.... we can hope! :D

bgbennyboy
11-26-2002, 11:00 AM
Not to sound like a Serge-worshiping toadie but...

HOORAY!

This is also proof that God likes blasphemy, ive lost count of the amount of times ive said "Godammit I wish Serge was about" (usually when doing stupid things like accidentally making the greatest error ever (http://www.gorman.btinternet.co.uk/GreatestErrorEver.jpg))

Alright so it may never happen and Serge isnt really properly back but as a person who automatically becomes a jaded old cynic every time I touch a computer I need to have bursts of over-enthusiam occasionally. Seriously though, its the best news ive heard in a long, long time. Hooray!

Also you should all go vote in latest Mojo poll now. Running with the original interpreter is winning, disgraceful.

khalek
11-27-2002, 04:56 AM
yay serge!

could you please get in contact with ender he has a question or two regarding comi I believe :)

Serge
11-27-2002, 08:34 AM
Can't, really. No access to mIRC, and I don't have his email address. Also, experience has taught me not to give out mine to anyone but the people I want to know it ;)

So, he can ask bg for it. I'd be happy to answer anything I can, since the success of ScummIDE really depends on scummvm getting CMI support (the compiler I focus on will make SCUMM and MMucus etc. version 8 output)

- Serge

Ender
11-27-2002, 05:44 PM
Shouldn't be too hard to add, but something like a IDB or some detailed opcode info would help (yes, I've seen the scummrev pages ectera, but that doesn't help me with switch cases and subops and parameters. *g*).

Actually, the hardest thing right now is trying to work out what's been changed from a Word to a DWord. The opcode interpreter seems to be reading half-opcodes at a time, the commands its trying to execute don't match the output of your decompiler (and the decompiler is annoying because it doesn't seem to have an option to provide byte-location and opcode number information along with the opcode name :)

I'll e-mail you and bug you in a bit.

... oh, it'd be nice if people arn't allowed to make commercial games with ScummIDE :P

99% of the legal trouble ScummVM is still having with LucasArts is that they're afraid someone will make a new SCUMM commercial game and sell it using ScummVM to play it.

Besides all the obvious arguments, my main one is that "There's no development tools except those yourself and Humongous have" - if you go and prove me wrong, I'm done for :o)

Originally posted by Serge
So, he can ask bg for it. I'd be happy to answer anything I can, since the success of ScummIDE really depends on scummvm getting CMI support (the compiler I focus on will make SCUMM and MMucus etc. version 8 output)

- Serge

Serge
12-03-2002, 10:28 AM
The commercial games factor is quite settled on. I could never allow anyone to make commercial games with an engine that isn't my own. So, freeware only, not even shareware.

The IDB, as bg has probably told you, is a no-no. Only reason being that I really don't have the time to copy it all to 20 discs + backups and take it uphere (the university) to email it.

However, switch-cases/subops, if you haven't noticed, there's a list of all the opcodes for CMI at the SCUMMRev site. The decompiler was GOING to have a full disassembler with byte offsets etc. etc. (and it probably will have when I get further with the compiler). I'll let you know if I make a new version for study with ScummIDE. Otherwise, I'll try to dig up the complete list of opcodes, arguments etc. that I did when doing the decompiler.

For now, look at http://scummrev.mixnmojo.com/specs/CMIOpcodes.shtml

The ones with an opcode number of 1xx (i.e. greater than 255) are just subopcodes, strip the 1 and check for the rest of the number. So to do WaitForActor, the compiled code is:

0xAC O_ACTOR_STUFF
0x1E O_WAIT_FOR_ACTOR

With some pushes before this (as far as I recall, O_WAIT_FOR_ACTOR takes an actor argument). Remember that most arguments are passed with pushes. Only strings (and a few other cases - the pushes themselves, of course, being one example) are stored after the opcode. The rest is done like:

0x01 0x00000001
O_PUSH_NUMBER 1
0x02 0x80000001
O_PUSH_VARIABLE Var1 (as far as I recall)
0x08
O_EQ
0x65 0x00000010
O_IF_NOT 16

in short:
if !(Var1 == 1) jump 16 bytes forward.

You probably already know all that, but just to be sure.

Otherwise, I'll try and find the complete opcodes and arguments list.

- Serge

Serge
12-03-2002, 10:32 AM
Oh, one more thing... The Kludge functions aren't described on the URL I gave above, but you have some stuff I gave you once upon a time, as far as I recall, which should help you. Or maybe it was khalek I gave it to... Hmmm... ;)

- Serge

zpeidar
02-26-2003, 07:41 PM
Hmmm. AFAIK ScummVM has had comi support since mid christmas 2002 now, any progress on your Scumm IDE?

btw. Whatever happened to SCRAMM?

john_doe
02-27-2003, 07:55 AM
Originally posted by zpeidar
btw. Whatever happened to SCRAMM?

Dead.