Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
Acmlm's Board - I2 Archive - - Posts by Dish
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
User Post
Dish

Spiny
Level: 38

Posts: 181/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-09-04 10:24 AM, in Want the metal blade in megaman 3? Heres how! Link
It would take me longer to download/extract/apply a patch than it would to just change the THREE BYTES in question. I mean come on... three bytes... hardly a necessity for an IPS. I'm with BMF all the way on this one.

Cool hack though. Way to go... uh... bbit? XD
Dish

Spiny
Level: 38

Posts: 182/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-10-04 06:08 AM, in Want the metal blade in megaman 3? Heres how! Link
not all hacks can be represented in a screenshot. You'll have to use your imagination on this one (or actually try it out)
Dish

Spiny
Level: 38

Posts: 183/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-10-04 08:42 PM, in Apparently I don't know as much C as I thought... Link
Originally posted by HyperHacker
(If I used that pointer trick, wouldn't it mess up a lot of the memory?)


No.

The pointer trick simply takes the address (or pointer) of the array and subtracts 50 elements (not bytes) from it. So some_ptr will point to an area 50 elements before the area some_array points to. This allows you (and kind of forces you) to add an extra 50 to the index to access the same memory. The memory itself isn't changed though... not with any of that sample code I wrote.

but I'm with sloat. Just use a zero based index ;P
Dish

Spiny
Level: 38

Posts: 184/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-12-04 06:35 AM, in C++ question Link
fseek takes no strings.

1st param is the file pointer
2nd param is the offset
3rd is where you're offsetting from (by use of defines... SEEK_SET, SEEK_END, or SEEK_CUR are the common 3)

so I'd assume you want your fseek line to look like:

fseek( fp, c, SEEK_SET );

---

of course you'll want to return something from main() too ;P unless you declare it as void. And I'm not sure why your compiler is complaining about the 1st param when it should be complaining about the 3rd. Ah well.


(edited by Disch on 11-11-04 09:37 PM)
Dish

Spiny
Level: 38

Posts: 185/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-12-04 06:47 AM, in C++ question Link
The only i/o functions I really ever use are fread and fwrite due to their total control and simplicity. For example... say you want to read 16 bytes from a file:

----------
BYTE somebuffer[16];
fread( somebuffer, 1, 16, fp ); //reads 16 bytes from 'fp' and fills somebuffer with them
---------

4 params are simple:

1 - pointer to the buffer to receive the data
2 - size of each element (1 above because we're reading individual bytes, but this might be 2 if reading WORDs, or 4 if reading DWORDs)
3 - number of elements to read (this param * param 2 will be the total number of bytes from the file --- ie, fread( blah, 2, 5, fp ) <-- reads 5 elements, each 2 bytes in size making 10 bytes total read)
4 - of course the file pointer from which we're reading

fwrite works identically, except it writes instead of reads.
Dish

Spiny
Level: 38

Posts: 186/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-12-04 09:28 PM, in C++ question Link
Properly loading a table file and using it is somewhat tricky. There are shortcuts you can use if you want to "cheat" though. For example a table file might contain something like:

7F32=cha

(where 2 bytes = 3 characters). Implimenting something like that (along with the rest of the 'normal' entries) can be rough. But if you 'cheat', you can easily impliment a simple table which only has 1-byte entries and ignore the multi-byte entries.

Also... tables files can have DTE/MTE ("7F=ch", "24=ill"), getting all the characters in a single entry can be a little rough (but not all that hard). If you cheat here, you can just assume each byte will represent no more than 2 chars (however, I don't recommend doing this).

Anyway... what you could do is have 256 char pointers, and put a string in each one, which will give you an array of strings which represents your table. I don't think I'm explaining this well.... say you have a table file with these entries:

1F=be
9F=D
9A=o

to represent this in your array, you'd have:

your_table[0x1F] <- "be"
your_table[0x9F] <- "D"
your_table[0x9A] <- "o"

This way, to display text, you can just run each byte through your array and output the string which each byte represents.

However, since the length of each string is unknown (a table file could have an entry with one byte representing, say, 6 or 7 characters, or even more for all your program knows).. it'd be best to dynamically allocate memory for each string rather than work with fixed arrays.

Anyway... it seems like I'm rambling. I just woke up so sorry if this post is hard to follow hahaha
Dish

Spiny
Level: 38

Posts: 187/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-12-04 10:37 PM, in C++ question Link
I'm not 100% sure if these values are always this size... I know on different platforms, different types have different sizes... but this is the case afaik:

char - 8-bit
short - 16-bit
long - 32-bit
int - whatever your system implies (on 32-bit windows, int is 32-bit)

All values are signed by default. If you want an unsigned var you can prepend 'unsigned' to the declaration (ex: "unsigned char myvar;")

If you're #including windows.h, there's also a few other types:

BYTE - unsigned 8-bit
WORD - unsigned 16-bit
DWORD - unsigned 32-bit

edit:

if you ever want to check to be sure... you can use the sizeof operator. try doing:

printf( "%d", sizeof( int ) );

it should output '4', signaling that the size of 'int' is 4 bytes


(edited by Disch on 11-12-04 01:48 PM)
Dish

Spiny
Level: 38

Posts: 188/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-12-04 11:33 PM, in C++ question Link
1) if you're using fopen and related fuctions, you need to #include <stdio.h>

2) you're still not returning anything from main(). If you declare it as 'int', it has to return a value. Either switch it to 'void' or return something.

3) This line is problematic for a few reasons: fread( MyTrainer, 1, 40, fp );
a) 'MyTrainer' is not a pointer. If you want to supply a pointer to your MyTrainer slap a '&' before it.
b) your cTrainer class seems to be bigger than 40 bytes. Assuming there's no padding at all, I count 48 bytes. With padding (which is probably the case), I count about 52 bytes. This wouldn't cause a compiler problem but you won't get the results you might be expecting.
c) If the compiler pads your cTrainer class to start vars on 4-byte boundaries (which it probably will), you'll get unexpected results. Don't read a full struct/class at a time unless it's tightly packed and your sure it won't produce padding. Instead, read each individual value you want from the file one at a time.

4) Another problem with this line: cout << MyTrainer;. There is no way cout is overloaded to output your whole class. If you want to examine the individual values in MyTrainer, print them one at a time.

5) Not a compile problem... but " fp = fopen(newfile,"rb");" <--- if 'newfile' can't be found/opened, fopen will return NULL. Your code doesn't check for a NULL return, so if the user specifies a path to a file that doesn't exist (or can't be opened) the program will crash.

6) Not a real problem... but I dispise cout/cin ;P. printf/scanf fo-evah! If there were other problems relating to your cout/cin lines I wouldnt've caught them... since I'm totally unfamiliar with cout/cin's yukkiness.


(edited by Disch on 11-12-04 02:59 PM)
Dish

Spiny
Level: 38

Posts: 189/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-13-04 09:39 AM, in Cursed sliding puzzle Link
So I'm doing this sliding puzzle. It's a 4x4 grid with 15 pieces (and one blank space), each piece is numbered and you're supposed to arrange them in order. Anyone who's done one of these should know what I'm talking about (it was also the minigame in FF1 when you pressed A+B 55 times on the ship).

Anyway... in FF1 I devised a strategy which never failed. Arrange the top row (1,2,3,4), then left side (5,9,13), then second row (6,7,8) and shuffle the rest around until they fall into place. It served me well up until I tried this new game which has the same minigame... except this one must be randomized by Satan himself. Everytime I end up getting the following (or a variation of it):

01--02--03--04
05--06--07--08
09--10--11--12
13--15--14--__

(note 15 and 14 reversed). In the FF1 version, I would always be able to solve the 'left-overs' without disrupting anything but 10,11,12,14,15... but with the above setup... I've come to the conclusion that it is impossible unless you disrupt something else (and yes it is... I figured the pattern of how things move... and even wrote a quick program to try all moves possible to find the answer... and definatly, the above puzzle is impossible unless you disrupt something else in the puzzle).

So my question is... does anyone have a method of solving the above puzzle? And could you post the steps of how you do it?

Any help appreciated ^^
Dish

Spiny
Level: 38

Posts: 190/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-13-04 10:02 PM, in Cursed sliding puzzle Link
1) *shrug*.. that doesn't seem different than:
09--xx--xx--xx
13--xx--xx--xx
which is how I do it normally (which isn't working). Only difference is, you'd be shuffling the left side instead of the right side like I do.

2) This is actually a big help. I wasn't sure if I'd need to cut in the top 2 rows. It's good to know I won't have to. Thanks.

3) If I could get it to either of those, I could have it solved. Both of those examples are one "move" away from being solved (well... according to my 'strategy' anyway:

When you're just messing with:

xx--xx--xx
xx--xx--__

There's only 1 real "move" you can make. The piece you "move" has so move down the middle column (which moves it 2 pieces in either direction). All other moves are just rotating what's already in position. Like say you have:

12--15--14
11--10--__

That is already solved without any more "moves". All you have to do is rotate the whole thing clockwise (or counter clockwise) and everything goes in position.

15--14--12
11--10--__

This is solved in 1 'move' (by moving 12). You rotate in either direction until 12 is in the middle column, then you throw it down (which moves it 2 pieces in either direciton, putting it between 11 and 15), then rotate the rest into place.

The reason why the:
10--11--12
15--14--__
scenario is so tricky is because it requires a move of only 1 piece in a direction... not two. If I can get it to where the pieces are layed out so that it can be put together by moves of 2 pieces, then I can easily have it solved. So in your examples above (which all only require moves of two pieces in either direction-- the first one only needing 15 to move, and the second only needing 13 to move), I wouldnt've had any problem with them. The hard part for me is getting to how you had them.


Your post really helped me a lot though. Especially knowing that you don't have to touch 1-8. Thanks a bunch ^^

edit: are you sure you won't have to touch 1-8?

edit2: yeah... I'm still having a hard time with this. As far as I can tell... even with 9 and 13 in the mix... each 'move' can still only skip 2 pieces in either direction. To get this solved I'll need to skip an odd number (1 or 3) of pieces... which is making me think I need to step into the second row. Right now I'm looking at putting 7 and 8 in the mix and leaving 9 and 13 be.


(edited by Disch on 11-13-04 01:35 PM)
(edited by Disch on 11-13-04 02:21 PM)
Dish

Spiny
Level: 38

Posts: 191/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-14-04 03:46 AM, in Chrono Trigger vs. Final Fantasy 6, Which One Is Your'e Favorite? Link
- Way more characters
- More spells / unique moves
- Battles that are actually random as opposed to being completely fixed
- Better score

In case you don't see where I'm going... my answer would have to be FF6. CT has to be one of the most overhyped RPGs around (then again, so is FF6.. but not so much as to the extent that CT is). The plots in both were good... although I'd say CT's story was better. Plus it was cool to see you do something in one time and have it affect another time... but there were equally as many cool quirks to be found in FF6.

The fixed battles and small cast in CT pretty much completely destroyed all replay value the game had for me. The desire to see the extra endings wasn't enough to make me sit through the game again... the plot is what kept me going the first time around... but after you've played it once, the plot isn't enough of a driving force to keep you going again.

Enemy graphics were absolutly gorgeous in FF6. Sure they were just fixed images and not animated like they were in CT... but if you compare them side-by-side, CTs enemies are... well... bland to say the least. Not that they're bad... I mean CT has terrific graphics... I'm just saying FF6's are better. And just look at some of the battle backgrounds (like the plains in WoB), absolutly stunning.

And of course... the characters and villains in FF6 are way better. Like... better in the sense that they're more memorable and more "complete". Dispite there being an insane number (16 or maybe 18?) of characters in FF6, each one has his/her own personality (and their own backstory/other event they can confront later in the game). And let's not forget Kefka and Ultros... who are arguably 2 of the best video game villains of all time (I know Seph is popular... but come on... he doesn't hold a candle to Kefka). Then take a look at CT. Some characters (Frog, Magus, maybe even Robo or whatever his name is) were good... whereas some were definatly lacking (Ayala I think her name is). And of course the stereotypical rebellious-tomboy-princess Marle, and who can forget remember Crono... the character who had absolutly zero personality (on a somewhat related note... the first time I played CT and they introduced Crono and Marle, right away I was thinking "SoM ripoff"... I mean Crono is almost a carbon copy of 'boy' from SoM (assuming you take away all of 'boy's personality)... and Marle is the girl from SoM.... there's like no difference between them at all).

So basically... CT has an edge on the plot... but FF6 is better in pretty much every other way imaginable.


(edited by Disch on 11-13-04 06:57 PM)
Dish

Spiny
Level: 38

Posts: 192/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-14-04 11:56 AM, in Cursed sliding puzzle Link
Originally posted by Masterofmario11
Is it me, or do I just get lucky everytime I do one of those puzzles. It seems like forever since I've come to a situation like that.


If I weren't embarrased to reveal the game which contains this particular puzzle.. I'd link you. I seem to hit this situation 80% of the time. But it never ever ever happened in FF1.

Anyway... I've decided that tomorrow I'm just going to write a program to crack it (try every move possible in sequence until it finds a result). I'll probably have to leave it running overnight (or maybe even for a day or two ), but then I'll have the answer. I'll post my results when I have them.
Dish

Spiny
Level: 38

Posts: 193/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-15-04 06:57 AM, in How to tell if a window is in system tray? Link
Can't help you with this one... I haven't done any work involving the system tray ever. But I'm kind of interested... so if you find out elsewhere, could you post your findings (or a link to them) in here? ^^
Dish

Spiny
Level: 38

Posts: 194/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-17-04 08:43 PM, in And you thought VB was bad for adding unneeded stuff to files? Link
All I can say is look at your compiler options. You're right, there's no reason for any of what you mentioned. If this is VC++, you should be doing a "release" build and not a debug build (but still mess with the release build options to optimize it the way you want... sometimes it still includes debugging stuff, don't ask me why)

Dcahrakos: you should be able to use any compiler. I know gcc/gpp has options to build a dll.
Dish

Spiny
Level: 38

Posts: 195/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-18-04 04:00 AM, in some more lateral thinkin puzzles Link
1) He owns a convertible. The top was down.

2) He's a priest or justice of the peace and he married people in that he performed the cerimony (and didn't actually get married himself)

3) geeogree has my guess.
Dish

Spiny
Level: 38

Posts: 196/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-21-04 10:36 PM, in GBA doubts Link
I don't know the specifics as they relate to GBA dev... but..

.o files are object files. You can sort of think of them as assembled, binary versions of your source (.asm) files. If you want to create a completed executable, you'll need to tie all the object files together (which as you thought, is done by the linker).

Whatever assembler you're using should come with both an assembler and a linker.
Dish

Spiny
Level: 38

Posts: 197/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-23-04 07:09 AM, in Smb3 coin fireball asm hack MIA Link
Originally posted by Trashykins
You're asking for realism.

In a game where a fat pipe-fixer fights giant turtles, man eating plants and killer beetles in order to save a princess.

Riiiiight.


There's nothing wrong with adding a bit of realistic flavor to a video game.

More realistic graphics can give the game more appeal.
More realistic map themes can give the game a better atmosphere
More realistic physics can improve control.
More realistic sound clips can improve music quality
More realistic ways to be hurt killed can add a strategic twist and/or add more puzzles to the game (spend too long underwater and you drown.... for example)

Just because the game is in heart a fantasy doesn't mean adding realism is a bad idea.

If, in the future, you decide to get this uncontrollable urge to ridicule someone's idea... at least try to come up with an actual reason.

In short: You're a jerk.
Dish

Spiny
Level: 38

Posts: 198/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-23-04 07:52 AM, in Smb3 coin fireball asm hack MIA Link
I might have went overboard with the slander. But realism (on at least some level) is a good addition to any game. There are even several "real" aspects to Mario already:

- Koopa Troopas actually kind of look like turtles.
- Mario actually kind of looks human
- Fire melts ice blocks
- Mario swims in the water
- Gravity pulls Mario to the ground

When there's a game that has a green and orange blob floating through a mystery land that may or may not exist in order to collect magical items that are completely shapeless... then I can see how adding something realistic might get so easily dismissed.

So no. Trashy didn't have a point. He was just being a wise-ass

Yeah I'm probably being overly bitter for some reason. I don't quite understand why myself. For some reason this post really hit a nerve.
Dish

Spiny
Level: 38

Posts: 199/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-23-04 09:27 PM, in html tables Link
I can't help you with how to do it. But I will say this:

DON'T DO IT

Layouts are supposed to fit the content of the page/post. Not the other way around. Good designs stretch/shrink to fit the user's screen and accomodate any size content. There's already a scrollbar attached to the browser... there's no reason to add another one just for your page/post.... it just makes the page harder to navigate (or the post harder to read)... which ultimately just defeats the whole purpose.
Dish

Spiny
Level: 38

Posts: 200/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 11-24-04 12:15 AM, in Best NES Palette? Link
Since the NES doesn't use actual RGB values, no palette has gotten it exactly right. It's even harder to get 'exact' values when the same NES can look slightly different on 2 different TVs.

So there is no real 'accurate' palette. Just pick whichever one looks the best to you (or most like how your NES looks). Personally... I like the palette BMF came up with (or at least I think it was BMF) that was in that Art of Rom Hacking doc Vagla wrote a while back (or at least I think it was Vagla).


(edited by Disch on 11-23-04 03:15 PM)
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Acmlm's Board - I2 Archive - - Posts by Dish


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.028 seconds.