NPC Guide

Jul 12, 2006 at 2:36 PM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
I've started work on a guide outlining NPC code. What it mentions, basically, are the display rects used to setup a frame and pseudocode explaining how the NPC works.

It also includes a short guide on creating your own NPCs, but that's assembly-only work so I'm not sure how useful that part would be on these boards. Still, the info's there, and I'm not about to remove it from the guide.

The guide basically acts as a very complete explanation of each entity's behavior. It does not provide a "hold me by the hand while I do this" explanation on how to edit them - I'm assuming that if you DO have what it takes to edit machine code, having to wade through watered down "...so we load the NPC's internal time into the accumulator and add 1 to it to increment it" explanations would lead to nothing short of annoyance. I provide the offsets for each NPC and boss's code, as well as the offsets for their frames (for non-assembly hackers wanting to change an enemy's frames) and the rest is, really, a case-by-case thing depending on what you want to change anyhow.

I'll post what I have so far tonight.
 
Jul 12, 2006 at 4:53 PM
Senior Member
"Huzzah!"
Join Date: Mar 24, 2006
Location:
Posts: 194
RuneLancer said:
It also includes a short guide on creating your own NPCs, but that's assembly-only work so I'm not sure how useful that part would be on these boards

you seem to think we're all inherently incapable of writing assembly code
 
Jul 12, 2006 at 6:25 PM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
caveoholic! said:
you seem to think we're all inherently incapable of writing assembly code
Past experience shows that the majority of the board is more comfortable with editing hex (or in one or two instance, being held by the hand and told exactly what to do. This is, mind you, a single instance and no more representative of the boards in general than one or two people with loose assembly experience would be.)

If you feel comfortable enough working with machine code-level assembly to write your own code from scratch, then the section on creating NPCs will most likely prove useful to you. Otherwise, you could benefit from the frame offsets and the detailled pseudocode outlining various NPCs' behavior and possible states (best used in conjunction with ANP and BOA.)

Mind you, I frequent other CS and/or hacking boards than this one, and some of the groups I communicate with have a much higher degree of experience than most people here (not that I'm trying to place this board in a bad light) Many have expressed interest in having some notes outlining the creation of an NPC from scratch, code-wise. It hardly seems to me like code-related discussions are very frequent here, and most questions deal with npc.tbl or writing scripts in Sue's Workshop. If you feel personally challenged by this statement, then by all means take this as encouragement to write your own assembly hacks and to start or take part in these sorts of things. :)
 
Jul 12, 2006 at 6:50 PM
Been here way too long...
"..."
Join Date: Jun 25, 2005
Location:
Posts: 372
I fear assembly. It killed my family.

Visual Basic 6 is my best friend. :)
 
Jul 12, 2006 at 7:52 PM
Senior Member
"Huzzah!"
Join Date: Mar 24, 2006
Location:
Posts: 194
RuneLancer said:
Past experience shows that the majority of the board is more comfortable with editing hex

and you've had past expirence with the majority of the board?
 
Jul 13, 2006 at 1:43 AM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
caveoholic! said:
and you've had past expirence with the majority of the board?
One would assume that if someone hasn't posted in the near month I've been here, they're not part of the active population.

By all means, prove me wrong. Find me some assembly in the past month that isn't a post by me, if this is such a majorly important issue to you. :) But this being the internet, I don't see why you take little unimportant details like this and me having 6-7 posts per day to heart so much. Am I missing something here? Did the internet suddently become a matter of life or death? :) Lighten up man.

Here's a demo of the guide, as promised. It's still in its early stages, mind you. I intend to eventually record all of my findings in a huge document (or multiple documents - the game's pseudocode may take up quite a bit of space...) and release them after my hack's completion. Until then, here's a bit of NPC info.
 
Jul 13, 2006 at 12:47 PM
Hoxtilicious
"Life begins and ends with Nu."
Join Date: Dec 30, 2005
Location: Germany
Posts: 3218
Age: 32
Its cool that youre releasing your stuff!!! ^^
The FAQ is cool, i hope you make more FAQ's...
 
Jul 13, 2006 at 9:15 PM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
My intentions are to convert all 150,000+ lines of code to commented pseudocode, include a list of offsets in RAM and various other things (pointer tables, data dumps, etc), and various notes on how the game handles things (like the bit about creating new NPCs.) I'll bundle this up and post a link to it once it and my hack are completed, and that'll be that - the only limits to editing Cave Story then will be one's personal skills and abilities, and nothing else.

Until then, better get learning x86 assembly and getting comfortable with editing machine code directly. The best alterations you can make to any project will be through raw, old-school, untamed hex-and-code alterations.

(So far, other than various bits of handler code, I've discovered how effects, entities, boss entities, and weapons work and could produce a guide for any and all of them; I'm still very limited in my understanding of most of the game's RAM offsets though; I only have maybe 5% of them mapped out.)
 
Jul 14, 2006 at 2:49 AM
Senior Member
"I, Ikachan. The Life and Documentary of the OrigiNAL SQuiD."
Join Date: Mar 1, 2006
Location: Grasstown
Posts: 155
Age: 39
RuneLancer said:
One would assume that if someone hasn't posted in the near month I've been here, they're not part of the active population.

By all means, prove me wrong. Find me some assembly in the past month that isn't a post by me, if this is such a majorly important issue to you. :) But this being the internet, I don't see why you take little unimportant details like this and me having 6-7 posts per day to heart so much. Am I missing something here? Did the internet suddently become a matter of life or death? :) Lighten up man.

I think you'll find that what he's reacting to is that you came here, you've been here less than a month, and you're acting like you're the savior of this community. Like you are better than anyone else here.

Most of this directly ties in with the attitude you showed when you said about not wanting to hand things out on a silver platter. But it's also appearant when you refuse to release any information about offsets that could help us do our own assembly reprogramming.

I hadn't been minding that behavior, until the other day I noticed a couple of bugs in Original Sin, and I did what I always do when notice a bug in a CS mod -- I went to open it up in Sue's Workshop so I could fix the bug. Well, SW said it couldn't open it, and I supposed that might be expected what with all the assembly reprogramming you've been doing, so I brought doukutsu.exe up in a hex editor to bring up the bit that links TRA numbers to map files and room names. Only to discover that it had been removed.

Leading me to the conclusion that you are extremely arrogant and paranoid.
Arrogant in that you presume none of the rest of the community could possibly assist you in any way. And paranoid that you felt the need to hide all of your map making and scripting work from the community so that noone could steal it.

That attitude stands in direct opposition to everything that this community has been founded on so far. And so I suggest that you either adapt your attitude to give a little respect to those of us who were already here, working on projects long before you came along, or you not act so surprised when members show some mild hostility.
 
Jul 14, 2006 at 3:28 AM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
upthorn said:
That attitude stands in direct opposition to everything that this community has been founded on so far. And so I suggest that you either adapt your attitude to give a little respect to those of us who were already here, working on projects long before you came along, or you not act so surprised when members show some mild hostility.
Whatever concept your community is founded on, it's not something I've been around a year or so to feel attachment to yet; no offense, but really, I don't know any of you past a few basic things. I know only a few names here (barely enough time to start to consider Osmose, Maelstrom, and Phantom cool people, and maybe recognize another name or two; plenty of time to see a lot of posts all centering around the same kind of stuff though...)

It seems like everyone is so busy expecting answers to actually, well, learn anything new and progress. Technika threw a fit when I told him to have a look at how the original Balrog even was scripted because I wouldn't post the exact script needed to run his event. Even caveoholic didn't bother to try changing the Heavy Press code. Actually, looking at the thread, I gave him the exact offsets. And he's the one who felt so offended when I loosely mentionned the assembly-related bits in my faq would probably be of less use here. Well now... are they or aren't they? Is there even a point when what's really needed is a good tutorial on x86 assembly and plenty of time to learn and practice?

(Might I add he was QUITE ready to listen without any complaints in that particular thread in-between trying to pick a fight with me over something as trivial as spare time and my average posts per day in another thread, then in this thread shortly after. There's a word for that.)

When I do post some stuff, I'm a monster because I refuse to reveal everything that I know to a community I've only known for a few weeks. Suddently I'm "better than everyone here" because I know assembly but won't give out everything that I know freely and unconditionally without a second thought, which makes me "arrogant." And when I end up rewriting parts of my own hack and moving structures about to free up contiguous blocks, and you personally can't figure out what's going on anymore, I'm "paranoid." Whatever helps your ego feel better at night. :)

I'll just keep what I find to myself entirely in that case instead of revealing the more easily-editable and useful bits and pieces. It just means less work for me so we both win, don't we? :) All's I have to concentrate on now is my hack, which is way cool for me, and your ego isn't bruised by the new guy having all of this knowhow already, which is way cool for you, too. I do look forward to seeing your discoveries and code rewrites, by the way. Seems like you've got a good thing going, so I won't bother you by posting findings you've already discovered ages ago. :) I lose nothing from no longer posting even an iota of info, and you get to keep your pride and ego intact as a veteran in this community.

(Sorry Shining Phantom, btw; I know you were glad to see me start posting some FAQs but it seems sharing information is a bad thing. >"< Feel free to PM me if you have specific questions or are curious about a few things, though, and I'll see what I can do. Effort should be rewarded. You sound like you're not afraid of getting your hands dirty with some work of your own, and I respect that quite a lot!)
 
Jul 14, 2006 at 4:19 AM
Senior Member
"I, Ikachan. The Life and Documentary of the OrigiNAL SQuiD."
Join Date: Mar 1, 2006
Location: Grasstown
Posts: 155
Age: 39
RuneLancer said:
I don't have any reason to even post a single thing that I know, no offense intended. But I do so regardless. Will it teach me anything new I could use? Eh... I've had some interesting discussions on gameplay mechanics, yes, but like I said before I've yet to see anything that goes beyond making use of a hex editor and someone else's notes. Except maybe for some of Phantom's work, and those awesome MP3s Osmose made.

I started hacking CS shortly after coming here. If a single person, in less than a month, can find all of this stuff, then an entire community should already have the game picked apart inside-out and hacked to death. CS is only a few hundred kilobytes of code. But that's not the case - it seems like everyone is so busy expecting answers where they don't have to invest time and effort learning anything new to actually, well, learn anything new and progress.. Technika threw a fit when I told him to have a look at how the original Balrog even was scripted because I wouldn't post the exact script needed to run his event. Even caveoholic didn't bother to try changing the Heavy Press code (after I dug around through the code for a while to find the exact series of lines which generate the butes - very selfish of me, might I add) Actually looking at the thread, I gave him the exact offsets.

(Might I add he was VERY much ready to listen without any complaints in that particular thread in-between trying to pick a fight with me over something as trivial as spare time and my average posts per day, then this thread. There's a word for that, but it's not my place to point it out.)

Meanwhile, knowing only a few names here (barely enough to consider Osmose, Maelstrom, and Phantom cool people, and maybe recognize another name or two,) I meet with nothing but complaints just because I invested my own spare time learning assembly and picking apart the game, and freely gave out a sample of what I found to what's essentially a group of perfect strangers. Whose complaining increases the more I release new stuff and post occasional help on certain more complex things. Nice. :)

To reiterate, I don't have any obligation to post what I know. In fact, it seems everytime I do, someone finds an excuse to complain because I didn't post enough of it. I'm not getting anything out of posting these things, so perhaps I should just keep 100% of what I find to myself? I think that's what I'll do. No skin off my nose; in fact, it just means less work for me. :)

I look forward to seeing your discoveries and code rewrites, by the way. :) (Sorry Shining Phantom, btw; I know you were glad to see me start posting some of this stuff and such. Feel free to PM me if you have specific questions though, and I'll see what I can do.)

How it works here is that when one of us discovers something, we share the whole of the discovery.

Granted, any actual changes you make to the actual code could hardly be categorized as discoveries, but any relevant offsets in the exe, any information we can discover as to the format and workings of the data files, any new information we discover about the workings of a TSC command, we share.

You, however, stop short of some vital information. You tell us that you found the offsets that control weapon behavior, and then don't tell us what they are, because "that's assembly stuff".

As for my discoveries, I helped Kapow determine the behavior of a few of those commands in the TSC reference, (CNP:zzzz, CPS, CSS, MNP:wwww, SPS, SSS, STC, and UNI) and I provided a step-by-step howto on adding options to teleporter menus (http://www.cavestory.org/forums/, revealing that it is possible to add icons to the transporter sheet and have them parse, as well as lending various scripting and hex-editing know-how to those who've been interested.

I also did not discover, but confirmed the fix for the "boss glitch" that occurs in executables that sue's workshop has been used to modify.
Maybe that's not much in comparison to your list of achievements, but I never had access to a dissassembly of cave story. I tried to make one, but the dissassembler I tried to use wouldn't work.

So maybe it seems to you that you get unjustified complaints when you try to help, but that's because, where prior to your coming, we all shared information completely freely, you stop just short of giving us the information necessary for us to do what you can.

You talk about how your list of achievements far outstrips the entire workings of the community to date, as if it is proof that you're better than us, but maybe it's just because you use a tool we don't have access to.

As for stopping sharing your findings, that just goes to prove you came here to be worshipped, rather than to be a help.
 
Jul 14, 2006 at 5:02 AM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
How it works here is that when one of us discovers something, we share the whole of the discovery.
That's nice of you. But like I said, I barely know anyone here - you can go back and read my posts to see how I've been posting more and more info the longer I've been here. You might work one way, but I joined the boards without signing any kind of open source user agreement. You might be complaining about how I'm imposing my views by not releasing all of the info that I know, but you're doing the exact same to me. We're even.

You tell us that you found the offsets that control weapon behavior, and then don't tell us what they are, because "that's assembly stuff".
Yet I even included a guide on how to edit NPCs. Refer to my earlier statement about how I hardly have any bonds with anyone here and how I've been releasing more and more info the more I start to get to know people here and begin to take part in the community. Ah, but that's right - I didn't release every iota of knowhow I had right off the bat.

As for my discoveries, I helped Kapow determine the behavior of a few of those commands in the TSC reference, (CNP:zzzz, CPS, CSS, MNP:wwww, SPS, SSS, STC, and UNI) and I provided a step-by-step howto on adding options to teleporter menus (http://www.cavestory.org/forums/, revealing that it is possible to add icons to the transporter sheet and have them parse, as well as lending various scripting and hex-editing know-how to those who've been interested.

I also did not discover, but confirmed the fix for the "boss glitch" that occurs in executables that sue's workshop has been used to modify.
Which are very respectable acheivements, no less!

Maybe it's just because you use a tool we don't have access to.
While I may have had plenty of experience writing x86 assembly programs, this is actually my first stab at an x86 machine code hack. Maybe I do have a tool you don't have access to: the ability to work things out on my own without having to be held by the hand. But assuming your google is broken (hey, the web IS a wild and unusual place!) here's a link. First one google gave me, in fact. http://www.cs.virginia.edu/cs216/guides/x86.html

Best of luck. And if you're giving it an honest shot, by all means, DO ask away. I'll honestly be glad to pump you full of answers whenever I can.

Looking for a disassembler? Can't help you there - I wrote my own based on the opcodes associated with assembly mnemonics. It's actually very easy to code one if you're not too scared to deal with hex, which you seem to have experience with. Don't have the knowhow to program something? I dunno. Use google. It turned up a good dozen programs when I put in "x86 disassembler..." Doesn't take too much hunting around now, does it?

As for stopping sharing your findings, that just goes to prove you came here to be worshipped, rather than to be a help.
If I wanted to be worshipped, I'd do just the opposite. I came here to deal with serious hacks and in-depth work, not flames because people get greedy when, pardon my ego, someone with experience comes along. I like to hear people talking about how they pulled off some tight hack through blood, sweat, and tears so we can discuss how, "Oh yeah, I totally remember going nuts trying to figure that out too :) Fun times... fun times...". Not people who kick up a storm because they are told which events to pick apart for info instead of getting the exact script they need to do something.

(And if you're wondering how it is my hack can't run with Sue's workshop anymore, rest assured, I don't give a squid's nutsack who picks away at it with a hex editor. I've made several mentions about tight space and such. Changing a pointer table means being able to move data anywhere I see fit. And lo and behold, many 1-byte values are spread out across 4 bytes; why not change the format and compress it to free up even more space for more assembly? In fact why not split up, say, weapon data into individual values in the same way NPC data is stored in npc.tbl to make editing easier? And while I'm at it, why not alter some formats to put in my own info for future expansions? At this point, there's hardly any reason why Sue's Workshop would work on it, or why it would look anything like the original. Still think it's all just for the sake of paranoia? I think that's an awful lot of effort for nothing when I could've just corrupted an unused map so that Sue would choke on it while loading instead of all this code and data rewrite. But hey, draw your own conclusions...

Edit: I forgot; I added some compression code for various graphic data Pixel stores for internal reference (the font, some of the stuff on the title screen, a bunch of things really) and some music data since they use up space and are easily compressible via RLE. If there's any real obfuscation, it'd come from there. Again, that's an awful lot of work to hide something I haven't even edited (and probably won't touch at all; it's really just in the way, work-wise.))
 
Jul 14, 2006 at 5:39 AM
Senior Member
"I, Ikachan. The Life and Documentary of the OrigiNAL SQuiD."
Join Date: Mar 1, 2006
Location: Grasstown
Posts: 155
Age: 39
RuneLancer said:
Edit: I forgot; I added some compression code for various graphic data Pixel stores for internal reference (the font, some of the stuff on the title screen, a bunch of things really) and some music data since they use up space and are easily compressible via RLE. If there's any real obfuscation, it'd come from there. Again, that's an awful lot of work to hide something I haven't even edited (and probably won't touch at all; it's really just in the way, work-wise.))

What I was talking about is the
Code:
Mimi............................Cemet...............................bk0.............................Cemet...........................0................................Graveyard..........................
Mimi............................Plant...............................BkGreen.........................Plant...........................0................................Yamashita Farm.....................

Table that links <TRA numbers to map files.
As well as allowing an enterprising modder with a hex editor to determine what map files is used for any given map name.
That was missing from your exe.
I imagine that you compressed it, but I couldn't see a point to such besides either
A) Anal retentiveness
or
B) To prevent someone from being easily able to discover which files are used on which maps, and thereby prevent them from being easily able to access your maps or scripts in any manner of preexisting editor.

And you've already exhibited a desire to prevent others from being able to reuse your work.

What I was trying to point out is that what you've done to your exe, for whatever reasons you've done it, makes it much more difficult for anyone who might be of a mind to help you with your scripting or any such. And there's an insult to the community implicit in that action.
 
Jul 14, 2006 at 5:54 AM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
What I was trying to point out is that what you've done to your exe, for whatever reasons you've done it, makes it much more difficult for anyone who might be of a mind to help you with your scripting or any such.
Have you ever, say, asked? No? And you're kicking up a storm because you can't work it out yourself, never bothered to ask, "Hey Rune, just how are maps stored in your hack?", or, "Hey Rune, what's up with your hack? It won't load in Sue's :) " and skipped right along to the flaming? Or maybe, "Hey Rune, I know you're not keen on this stuff, but any possibility I might get ahold of the maps so I can have a look at your scripts?"

How I work on my project is, with all due respect, my business. If I had released a hacking FAQ but chose to deliberately scramble the letters, that would be me being a dick. If I wrote a hack and chose to reorganize things in it to free up space for my own personal use (just who IS writing this hack, really? Me or you?), and you decide you want to edit it but end up not being able to, then flame me for it right off the bat, that's you being a dick.

Flame me for something real, like how I've been sarcastic several times in my previous posts. Not for something that doesn't suit your own personal whims despite having nothing to do with you personally. I'm not going to bend over backwards and do the impossible when I'm out of free space for a function for my hack. How you handle it on your side of things is, frankly, no more my business than how I do things on my side is yours.

upthorn said:
And there's an insult to the community implicit in that action.
The insult I see is trying to drag the "community" into your personal issues with me. I don't see anyone else getting angry over this - there have been several discussions on the game's features, all of which I've listen to so far and discussed. In fact, plenty of things were changed based on comments others have made. The "community" has had both good and bad comments on the execution of some aspects of the hack, suggestions, complaints, but exactly how the hack was carried has never been an issue until you brought it up, much less a slap in the face to anyone else.
 
Jul 14, 2006 at 10:23 AM
Senior Member
"I, Ikachan. The Life and Documentary of the OrigiNAL SQuiD."
Join Date: Mar 1, 2006
Location: Grasstown
Posts: 155
Age: 39
Actually, I wasn't trying to flame you at all. I was trying to explain to you, bluntly, why caveoholic and some others have taken a hostile stance toward you.

As for why I didn't try asking, I didn't expect you would help.
 
Jul 14, 2006 at 3:19 PM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
As for why I didn't try asking, I didn't expect you would help.
I'm hardly of any incentive to help at this point, frankly, after our exchange. But hopefully you understand now that this could've saved us both a lot of arguing. Perhaps not on every point, but it seems the fact my hack no longer conforms to the same format the original version does has been your biggest gripe so far with me.

Machine code hacking is difficult business. Not because it involves working with assembly (assembly is really easy, after you've understood how registers work and memorized the more basic opcodes) but because you're always pressed for free space. You can't just insert a few spare bytes between two functions because, say, a pointer table pointing to a function will no longer point at the start of it and end up executing the extra couple of bytes you've hammered in, crashing the game most likely. As a result, freeing up space by rewriting code or reorganizing it should be your first concern. This is also the best time to have a look at your data and change the formats according to what better suits your purpose - you're already knee-deep in code.

A pointer table is awesome because it's a 4-byte value pointing just about anywhere in the executable. You can move functions and data however you please. Great way to free up space - you want contiguous blocks of data because jumping to and fro to whatever scraps of free space you can find is VERY bad for performance and quite hard for you, the hacker, to keep track of.

Of course moving data isn't enough. You can only do it in any reasonable way if there is free space for you to munch on in the executable already. And it'll often mean reorganizing things in a different order. Real hassle. So you could, for instance, delete map entries when they're not used and reduce the size of the pointer table. Same with music. Or internal-usage graphics. Or sounds. And sometimes when you're not sure just what you can and can't delete yet (ie, "will I find a use for this song by the time I'm done hacking this game?") Unfortunately, you need space now. The solution? Use the freed up space so far to write a basic compression routine and compress resources together to free up space.

RLE is a technique used to compress similare blocks of data. There are plenty of tutorials out there - it's one of the more common ways of compressing stuff. I use it in Endless Saga (sig) to compress sprite data, for instance, and get very good results (sometimes 3x or more compression - all the blank space REALLY shrinks down with RLE.) To further compress, Huffman encoding can be used. WinZip uses a variation of this, and while I won't go into details on using it, rest assured that the docs you can find on it document the exact technique I've used.

So now you've written yourself compression routines, packed up data, and have plenty of "dead" content you can use as you see fit to add assembly hacks of your own - no more restrictions, it's smooth sailing from now on. Except, how DOES one edit maps and such now?

Easy. Keep an uncompressed, unmodified version of the hack, use it for map/script editing, and run the maps through the compressor and stick them in your modified hack. And that's where all of the changes I can make without being constrained by space requirements go (ie, the non-assembly stuff.)

Changes I've made for my own convinience in my own hack are my business, and not an attempt to "insult" the community as you put it. I work by what's convinient and, in this case, necessary. I could save myself a lot of tedious work if I didn't have a need for all that free contiguous space (and to tweak a few formats for the sake of some additions I've made to the game engine - mainly rare cases though.) I don't go around telling you how to do your hack - nor should anyone, for that matter - because it's your hack, and the sum of your efforts and understanding of the game engine. I'd appreciate it if you did the same, and ask in the future before jumping to conclusions. Maybe we'll get somewhere in the process instead of arguing over our personal beliefs regarding hacking.
 
Jul 14, 2006 at 4:15 PM
Senior Member
"I, Ikachan. The Life and Documentary of the OrigiNAL SQuiD."
Join Date: Mar 1, 2006
Location: Grasstown
Posts: 155
Age: 39
RuneLancer said:
I'm hardly of any incentive to help at this point, frankly, after our exchange. But hopefully you understand now that this could've saved us both a lot of arguing. Perhaps not on every point, but it seems the fact my hack no longer conforms to the same format the original version does has been your biggest gripe so far with me.
I assumed based on the attitude you've displayed in the forums that it was done for security purposes, rather than practical coding concerns. I see now that I was incorrect in that assumption.

However it was not my biggest gripe so much as the straw that broke the camel's back. Because there I was, trying to do something to help you, or at least just make it work right so I could finish playing through what you'd released, and I was blocked because you obfuscated the map data tables. (Of course, now I know the proper word would be "compressed" instead of obfuscated)

In retrospect, though, my criticism was overly harsh and poorly focused.

I also did not mean to derail the thread like that, but it felt to me like it would be dishonest or sly to bring up issue with you in PM where one or both of us could simply deny it ever happened.

The point I was trying to make is that, perhaps you're unaware of it, but with all your "lessons" thus far, you've been displaying a "holier-than-thou" attitude--in general, you're approaching it in a way which teaches only how to accomplish a specific effect, rather than how to accomplish any effect desired--this sets us up to be dependent on you for answers if we want to do something different than what you did already. Combined with the fact that you openly hold back knowledge, well, it gets a body wondering if you're really here to try to help, or if you're just here to show off. I'm not naming names, because I don't want to drag others in to take sides, but there are at least three others who share the same view of your attitude, though I'm sure the details of our complaints, and ideal remedies, differ somewhat.

So what I was really trying to say, simply put, is:
Maybe before you get indignant, you should try and figure out, (or ask), what you've done to cause ill-will, and how to remedy it.

I just got caught up in describing the insignificant details of how mine came about.
 
Jul 14, 2006 at 6:22 PM
Been here way too long...
"..."
Join Date: Jun 25, 2005
Location:
Posts: 372
I hope I'm not one of the three who you mention.

I mean, I'm not trying to say you're the incarnation of evil or anything - you've admitted that you were harsh, and that takes a lot of guts to say - you're a good guy for saying it.

But who is this community you're talking about? There's a base of, like, ten active users here. I mean, I'm pretty sure I'm missing a lot more (The uploader and the Oekaki board are proof of that), but there's not that many people on the board posting stuff they've found out.
 
Jul 14, 2006 at 9:11 PM
Hoxtilicious
"Life begins and ends with Nu."
Join Date: Dec 30, 2005
Location: Germany
Posts: 3218
Age: 32
Well i should say it too so: Sorry Rune, sorry upthorn
I PM'ed upthorn first that hes right because i was a little bit angry...
Well but i thought about it and i know: Rune is right! (and iam not only saying that cause rune said he will tell me things if i want to know them!)

I hope youre not angry rune, if u dont want to share the information (to me and others) i would understand that... :)

But in 1 point upthorn is right:

How it works here is that when one of us discovers something, we share the whole of the discovery.

But rune is right when he says: "I wont give the answer on a silver platter!" its means: he wont do the work for other people, they must do it by own...
So dont be angry and mad everyone, hold together! ^^
 
Jul 14, 2006 at 11:26 PM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
I assumed based on the attitude you've displayed in the forums that it was done for security purposes, rather than practical coding concerns. I see now that I was incorrect in that assumption.
That's fine by me. We got the matter straightened out, and that's all that matters.

I also did not mean to derail the thread like that, but it felt to me like it would be dishonest or sly to bring up issue with you in PM where one or both of us could simply deny it ever happened.
As opposed to making a scene on the boards so either of us could prove who's the bigger man. I do appoligize to you and the other members of the board for also taking part in this (and perhaps even provoking it, if you look at it that way), however. Hopefully there are no hard feelings.


The point I was trying to make is that, perhaps you're unaware of it, but with all your "lessons" thus far, you've been displaying a "holier-than-thou" attitude--in general, you're approaching it in a way which teaches only how to accomplish a specific effect, rather than how to accomplish any effect desired--this sets us up to be dependent on you for answers if we want to do something different than what you did already.
In that case, I'll try to tone down this "holier than thou" attitude - I'm sorry about that, and hadn't noticed I was taking that tone. But frankly, I'm a jerk online, and it's bound to happen - I appoligize in advance for future events of this nature. Though, no offense, but if giving an offset into some code and an explanation of what it's for isn't enough to get people doing some quick decompiling (the way assembly is set out, it's quite easy to find where functions begin and end - the stack is preserved and shifted into local space at the start, then restored and the function RETed from at the end), giving the start offset of a function and saying, "There. That's the Booster management code." won't help much more. What more could you want? Assembly isn't something you can just change numbers in, you need a certain level of understanding to alter it. The only thing more you could want would be a beginner's guide to assembly - something I'm not going to write.

there are at least three others who share the same view of your attitude
In all bluntness, so what? :) It's the internet. In a worse-case scenario, I get lynched and banned. From an internet forum. Out of a few million. It's, frankly, not something that bothers me much.

On a similare note, this is a public forum. Anyone can join. And while your views may be that you feel it's only proper to release everything you know publicly, it won't always be like that with everyone joining here. It's my decision not to behave in this sort of way while still providing some information when I feel it could be useful. And if you feel that's wrong, perhaps the forums should be made private or it should be made into a rule.

Maybe before you get indignant, you should try and figure out, (or ask), what you've done to cause ill-will, and how to remedy it.
Yes, you're right. I am quick to jump to conclusions. However, no offense man, but you're the one who quickly jumped to the conclusion that I had deliberately obfuscated my hack; I'd say we both have a few things to keep an eye out for, behavior-wise.

Rune is right!
While I appreciate the thought, I'm no more right (nor wrong) than anyone else would be. It's a point of view, and nobody can force you to change your point of view on something. Upthorn is just as entitled to releasing his work publicly as I am to keeping it to myself. The problem is finding a common grounds where we can be agree to respect each other's views on this.

he wont do the work for other people, they must do it by own...
That's entirely correct. The environment I started out in was a harsh one where, while people would help you out if you were trying to learn how to do things on your own, they would never give out direct answers. You were responsible for your own learning. It was hard, but I'd say if there's anything I learned right, it's how to hack, because I had to work for it myself.

I'm not trying to impose this on anyone. I'd say I've already posted a LOT of info, a lot more than I should've from the sound of how everyone's uptight over me not revealing ALL of it. But that's how I work, and while I do appoligize for the tone I take and intend to change that here, my beleifs towards hacking are not going to change.

Peace. :)
 
Top