In response to PirateHead
|
|
According to the GNU it isn't free software, but according to the price tag it is. Take your elitist open source attitude elsewhere. We don't care for it here.
|
In response to Smoko
|
|
Smoko wrote:
According to the GNU it isn't free software, but according to the price tag it is. Take your elitist open source attitude elsewhere. We don't care for it here. |
In response to Guy Hendricks
|
|
Guy Hendricks wrote:
There already is a decompiler. It works something like this, I hear: > mob Comes out as: > mo That's an... interesting view of it. No, actually, it would come out something like this: /mob/jeffroe Which is functionally equivalent. Though note that none of the original comments would be preserved. That said, having access to the BYOND source would have made writing a decompile a lot easier. Which is probably a reasonably good argument against it. |
In response to Hobnob
|
|
Wow really? I had been under the same assumption it garbles code and work has to be done to make it usable.
|
In response to Hobnob
|
|
Are the names only preserved in DEBUG mode, or have you figured out a way to get the stored values associated with it in normal mode as well?
|
In response to Popisfizzy
|
|
Popisfizzy wrote:
Are the names only preserved in DEBUG mode, or have you figured out a way to get the stored values associated with it in normal mode as well? Names are only preserved in DEBUG mode. The code that a decompiler such as the one Hobnob suggests would produce could be further processed in order to organize it and make it even more readable, however. Decompiling BYOND programs is definitely possible already, especially ones released in DEBUG mode. |
In response to PirateHead
|
|
PirateHead wrote:
Names are only preserved in DEBUG mode. Nope. Bandock has been able to extract strings as well as variable, proc, verb, and typepath names from any DMB file. As Lummox stated when I asked about it, it's because of text2path() and call()() that they're stored. |
In response to Popisfizzy
|
|
All proc, atom, variable, etc. names are preserved in both debug and non-debug mode compiled DMBs. The only extra thing that debug mode gets you is the name of the original .dm file a verb/proc was defined in, and (less usefully) the line number of each original statement.
The big limitation of decompiling is that variable types aren't preserved in procedure arguments and var decelerations. In many cases you can guess that <code>var/H = M</code> should be <code>var/mob/human/H = M</code>, but not always. |
In response to Hobnob
|
|
Hobnob wrote:
All proc, atom, variable, etc. names are preserved in both debug and non-debug mode compiled DMBs. Yes, I was aware of this. I wasn't sure if more information was provided or not, though. |
In response to Lummox JR
|
|
Lummox JR wrote:
Guy Hendricks wrote: I love anachronisms! I have an idea for XYZZY: An exploding briefcase. (I'm related to Erwin Rommel, who tried to put Hitler on trial, but is mis-credited with trying to blow him up with a suitcase. Eventually, the Rommel family ran with it. XD) Sadly I've only played a handful of text adventures in my time--I can't bring myself to call them "interactive fiction" which to my mind robs them of a certain mystique--but the ones I've played include Zork I, Planetfall, Stationfall, Suspect, The Hitchhiker's Guide to the Galaxy, and of course Ditch Day Drifter and Deep Space Drifter. There were probably others, but at any rate those are the ones I played through and completed. I've been exposed to but never finished a number of others including Colossal Cave and Zork II. Picking a favorite of all those is fairly difficult. Zork was my first text adventure. Suspect was very unique in that you had to follow everyone around and work out their movements throughout the evening. Hitchhiker's Guide was my first introduction to that story at all, and I found it to be an incredibly clever game. Ditch Day Drifter was incredibly well-conceived, and I was enthralled by Deep Space Drifter, especially the early puzzles involving swapping around those different program cubes. I also loved Hitchhiker's Guide. I had to use save states to get past the exploding keyboard, though. Moonmist was an mystery, like Suspect, Witness, and Deadline. Speaking of Deadline, I remember doing something like this: (The ">" symbol isn't Lummox JR's quote in this case, it's user input. I said that for the people who never played these kinds of games) Garden [IIRC] [I don't remember what it's description was.] There is the corpse of [since I have terrible memory, I'll call her Hillary Clinton XD] here. Hillary Clinton is here. ASK CLINTO [only need 6 letters] ABOUT CORPSE"I don't know anything about that." On the same note, I think this happened in Suspect: ASK WIDOWE[R] ABOUT CORPSE [his [i]wife's[/i] corpse]He doesn't seem interested in the corpse. Can't remember which game: PUT RED FLOPPY ON BLUE FLOPPYDone. LOOK[Blah blah] There is a blue floppy here. On top of the blue floppy is a red floppy. PUT BLUE FLOPPY ON RED FLOPPYDone. LOOK[Blah blah] [The floppies disappeared because neither of them are in the room.] And this one wasn't from Infocom: [What you need to do is give your dad something, Coke, I think, and he gives you keys or something] [Wherever] "Ain't you grounded?" TAKE COKETaken. [Your score has increased by 1 point!] And a funny example of broad definitions: PET PORCUPINEYou pet the dead porcupine. It seems a little happier. Incidentally the author of TADS wrote an incredibly great reference for it, and included some great tips on writing adventure games in general. I'd bet that's probably online free by now. Yeah, I use that manual a lot. EDIT: By the way, I've decided that, since my computer is working one-tenth as well as it did a few weeks ago, I'll try that again. I can't really work on my fast paced 2D HL2/Portal hybrid on what has only enough power to run Word. :P Naturally, I've been playing IF a lot, and love making IF. So I'll try my TADS code maker again. Undo seems easy enough (then again, programming GTA:VC seems easy enough until you try XD): Before the execution of a turn, save to file "[uppertext(ckey(world.hub))]_save[turn].sav". If turn is larger than however many turns, delete the lowest numbered turn. Undo would load "[uppertext(ckey(world.hub))]_save[turn-1].sav" The custom parser seems do-able, but not exactly easy. I could, I suppose, use a ADVENT/Adventure/Colossal Cave style parser. Take only the first 2 words, then take only the first 3 letters of those words. That reminds me: SCREW BEAR [You were supposed to type "SCREAM BEAR".]The bear jumps back, startled. [So did the guys playing...] Lummox JR |
In response to Tom
|
|
Crashed was definitely working on a python-based IDE, and I assume he's still working on it - I wrote a simplistic DM lexer in C++ he could use with Scintilla for syntax highlighting and other such niceties.
|
In response to PirateHead
|
|
Again, there are *very* valid (and maybe even personal reasons) why Tom does not go open source now, including (but not limited to) security, management of time/resources, and embarrassingly twisted code (although I think that's been improved upon in the last months). And as I recently learned from Alathon, Mozilla did a complete re-write before going open source because the earlier code was a mess. Maybe BYOND is at the same point? Who knows.
I think it would be better for folks not to become trolls of the open source 'movement'. It has it's good points and bad points. Tom may come around to embracing open source in the future, but not now. And we should respect his decision by not beating him over the head every chance you get with the 'Bat of OSS'. It would only make you more annoying! :) |
In response to Hobnob
|
|
Hobnob wrote:
Guy Hendricks wrote: > > mob Comes out as: > > mo That's an... interesting view of it. No, actually, it would come out something like this: > /mob/jeffroe Doesnt 'Have to' http://www.freefilehosting.net/files/3f6ml garbled.txt |
BYOND is not Free Software, but it should be.