So I started a hack.

Aug 18, 2006 at 5:33 PM
Junior Member
"Wahoo! Upgrade!"
Join Date: Jul 14, 2006
Location:
Posts: 47
How do you get all those cool images as backgrounds? I'd do it with mine but using 16-color images isn't exactly the best background.
 
Aug 18, 2006 at 6:04 PM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
Well, like I said, you're not limited to 16 colors so you can just use a full-color bitmap.

I suspect Pixel either wanted to keep the oldschool pixel-art style in the game, or reduced the colors to keep the filesize down. A 4bpp image in 320x240 is just 38.4k (roughly) whereas the same but in 32bpp is 307k. Big difference when you consider the amount of images in the game (maybe ~50 files or so? That's a dozen megs of "wasted" space.)

You can resize backgrounds to any size - just because the original is 48x48 it doesn't mean you can't resize it to 320x240.
 
Aug 20, 2006 at 4:18 PM
Senior Member
"Fly, Fly, Fly!"
Join Date: May 19, 2006
Location: Irvine, CA.
Posts: 142
Age: 34
Where can I get the last release of this mod?
All the links I tried are dead.
It looks like it's a fun one. ;)
 
Aug 21, 2006 at 3:09 PM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
I currently don't have internet access at home. It won't be available until about a week at most. With any luck it'll be available before the weekend.

Most of my efforts have been invested in my assembly mini-compiler and the assembly primer this weekend (along with a visit to court, long story) so the hack hasn't progressed much lately.
 
Aug 24, 2006 at 2:58 AM
Junior Member
"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Aug 23, 2006
Location:
Posts: 29
Age: 40
I could have missed someone else mentioning this in the large number of posts, but the bookshelves in Grant's House call forth dialogue from characters I as yet have not met. o.O

Did you leave the original bookshelves and their references there or something, so that they are now referencing text that has been modified?

Also, if you leave the room when Dora summons the boss in the abandoned factory, without defeating it, it won't show up again, thus screwing up the possiblity of advancing further.

I'm playing the only release I that had a download that still worked. I THINK it's the latest that you've released.
 
Aug 24, 2006 at 5:23 AM
Been here way too long...
"The Ultimate Sword of Extraordinary Magnitude"
Join Date: Jun 14, 2006
Location:
Posts: 299
Age: 34
Sontreal said:
How do you get all those cool images as backgrounds? I'd do it with mine but using 16-color images isn't exactly the best background.

You can use anything, as long as it's a bitmap saved as a .pbm, and called up as the background in the EXE. Sue's workshop recognises anything with the prefix "bk" as a background, for example, bkSpace.pbm would be recognised as a background.
diph.php
 
Aug 24, 2006 at 2:27 PM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
That's not the latest release, though I'm not sure which one was the latest one released here.

A few bugs have been fixed, including the bookshelves, the Factory boss, and a missing item crucial to advancing. I'll post the latest version this weekend maybe, it goes all the way up to the desert but it's missing the grenades (a new weapon) and the caves are currently unaccessible.

Though by this weekend, I might have added a few new things. The caves are really awesome, and I hope to finish that area by then. :)
 
Aug 24, 2006 at 3:14 PM
Junior Member
"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Aug 23, 2006
Location:
Posts: 29
Age: 40
RuneLancer said:
That's not the latest release, though I'm not sure which one was the latest one released here.

A few bugs have been fixed, including the bookshelves, the Factory boss, and a missing item crucial to advancing. I'll post the latest version this weekend maybe, it goes all the way up to the desert but it's missing the grenades (a new weapon) and the caves are currently unaccessible.

Though by this weekend, I might have added a few new things. The caves are really awesome, and I hope to finish that area by then. :)

Your work with Original Sin and from what I see of those two screenies of Endless Saga is amazing. It really makes me realize how bad I am as a programmer. I know no assembly, and my C/C++ code is incredibly messy. I suppose part of the problem is that the only college programming course I've taken that goes outside the dos prompt was an OpenGL course.

I could do quite a bit with Visual Basic easily, but since I'm not currently studying it I'd rather use C++. And Visual Basic isn't very powerful. And you have to package those programs with a VB Runtime installer, which is annoying.
 
Aug 24, 2006 at 3:22 PM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
Your problem isn't that you're a "bad" programmer. I'm going to make a few assumptions and guess it's because you rely on your courses to teach you something. To be a good programmer, you have to be able to go beyond what tutorials and courses teach you. You can't learn without making your own mistakes. I'm very flaterred that you find OS and ES impressive, but let me tell you they certainly aren't perfect. :)

OS had quite a few bugs in its earlier release. As for ES, it was built using a bottom-up approach - a ery bad move. I'm considering a rewrite in the near future to clean up a few messy bits in the code. And that's over a year of on and off effort. :)

You don't need to know assembly to be a good programmer. In fact, it's VERY rarely used when programming (there's a common misconception about assembly and how writing a program in assembly will be faster than, say, C++. The truth is, what does a C++ program get compiled to? Assembly (well, machine code.) Argument = shot down. Mind you, making use of processor-specific extensions like 3DNow and SSI can speed up code, but wether you need to use them or not depends on what you're coding...) To be a good hacker, yes, assembly is essential (but creativity and a good imagination are also very important.)

Out of curiousity, how long have you been programming? If your answer is anything under 2-3 years, then your work is very impressive. I have about 10 years of experience, and I can definately say my first few years were frustrating and full of messy code. We all end up going through that phase. ;) It's nothing to worry about.

Edit: I went through a VB phase too, and still use it every once in a while for my own dev tools because it allows for rapid developement. But good god, do I ever hate the watered-down language... Recently I built myself a GUI library for C++ and I'm writing less and less VB now that the interface-related stuff has been taken care of. VB is sub-par, no matter what arguments anyone attempts to raise in its favor. But it's also very useful for quick and dirty programs that might take a few days in a h lower-level language.. ;)
 
Aug 24, 2006 at 3:43 PM
Junior Member
"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Aug 23, 2006
Location:
Posts: 29
Age: 40
RuneLancer said:
Your problem isn't that you're a "bad" programmer. I'm going to make a few assumptions and guess it's because you rely on your courses to teach you something. To be a good programmer, you have to be able to go beyond what tutorials and courses teach you. You can't learn without making your own mistakes. I'm very flaterred that you find OS and ES impressive, but let me tell you they certainly aren't perfect. :)

....

Out of curiousity, how long have you been programming? If your answer is anything under 2-3 years, then your work is very impressive. I have about 10 years of experience, and I can definately say my first few years were frustrating and full of messy code. We all end up going through that phase. :) It's nothing to worry about.

Edit: I went through a VB phase too, and still use it every once in a while for my own dev tools because it allows for rapid developement. But good god, do I ever hate the watered-down language... Recently I built myself a GUI library for C++ and I'm writing less and less VB now that the interface-related stuff has been taken care of. VB is sub-par, no matter what arguments anyone attempts to raise in its favor. But it's also very useful for quick and dirty programs that might take a few days in a h lower-level language.. ;)

VB was the first language I learned. Which was...I believe...my sophomore year in High School. So I've been programming for...about 5 years. I tend to let my skills get rusty though, as I'm kind of a gamer. >.<

I don't so much rely on my courses to teach me the language, though I guess I do somewhat. Definitely more than I did with VB. VB is just darned EASY to learn. I had wav files playing long before any of my classmates did, and without inserting a media player OCX that sticks out like a sore thumb, which is how they did it.

Now that I think of it. I still haven't gotten to playing sound with C or C++. Time to research ;)
 
Aug 24, 2006 at 3:48 PM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
Look into FMOD. It's a very powerful sound API. Two nights ago, I wanted to test something regarding crossfading and such for Endless Saga. It took me roughly five minutes to whip up a test app from scratch using FMOD. Unfortunately the documentation is quite poor and relies a lot on reference material, so you'll have to experiment a bit.

There's a reason why Visual Basic is called Visual basic. :)

I used to be a gamer too, but I lost interest somewhere near the beginning of the "graphic wars" in the later years of the PSX. To boot, I prefer to go out and play pool with friends over a few beers or to invite some old buddies to my appartment and make use of my drinksmixing talents. So games? I'd rather code. ;)

But anyway. Look into FMOD. It's really powerful. You can have echo effects and an MP3 playing in a matter of a half hour after installing it, if you know what you're doing. :)
 
Aug 24, 2006 at 4:24 PM
Junior Member
"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Aug 23, 2006
Location:
Posts: 29
Age: 40
RuneLancer said:
Look into FMOD. It's a very powerful sound API. Two nights ago, I wanted to test something regarding crossfading and such for Endless Saga. It took me roughly five minutes to whip up a test app from scratch using FMOD. Unfortunately the documentation is quite poor and relies a lot on reference material, so you'll have to experiment a bit.

There's a reason why Visual Basic is called Visual basic. :)

I used to be a gamer too, but I lost interest somewhere near the beginning of the "graphic wars" in the later years of the PSX. To boot, I prefer to go out and play pool with friends over a few beers or to invite some old buddies to my appartment and make use of my drinksmixing talents. So games? I'd rather code. ;)

But anyway. Look into FMOD. It's really powerful. You can have echo effects and an MP3 playing in a matter of a half hour after installing it, if you know what you're doing. :)

great. Another DLL that needs to be in the same folder as the executable. Hooray for clutter. ;)

And FMOD's C++ interface is incompatible with Dev-C++! I can only imagine how ugly the code will look using the C interface. D'oh!

EDIT: ok, I've got the library added to the linker, and fmod.h included, and the System_Create function which is supposedly required to be called is 'undeclared.'

and it looks like it was defined in C++ style, so I can't use that anyways... *sigh*
 
Aug 24, 2006 at 6:03 PM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
I use MSVC6 to code, so I dunno about Dev-C++. I suspect it's possible to include it though, FMOD is a very popular sound library. OpenAL is another one, if you want to experiment. And SDL is awesome for simple 2D games - it includes a sound engine of its own.

It's definately possible to use the old C-style functions, but FMOD seems to be more and more OOP-oriented, so you should focus on getting those to work. Make sure you include fmod.hpp if you want to use those, not the .h - that's the old C-style header.

As for including additional ddls and cluttering" up your workspace, don't sweat it. Unless you store everything in the project root, there'll be little to no clutter in the executable. Endless Saga just has the executable, the FMOD dll, and a readme file at its root - it looks nice and clean despite the large wealth of data bundled with it. :)
 
Aug 24, 2006 at 8:52 PM
Junior Member
"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Aug 23, 2006
Location:
Posts: 29
Age: 40
RuneLancer said:
I use MSVC6 to code, so I dunno about Dev-C++. I suspect it's possible to include it though, FMOD is a very popular sound library. OpenAL is another one, if you want to experiment. And SDL is awesome for simple 2D games - it includes a sound engine of its own.

It's definately possible to use the old C-style functions, but FMOD seems to be more and more OOP-oriented, so you should focus on getting those to work. Make sure you include fmod.hpp if you want to use those, not the .h - that's the old C-style header.

As for including additional ddls and cluttering" up your workspace, don't sweat it. Unless you store everything in the project root, there'll be little to no clutter in the executable. Endless Saga just has the executable, the FMOD dll, and a readme file at its root - it looks nice and clean despite the large wealth of data bundled with it. ;)

I downloaded and example program code for FMOD and it came up with a dozen errors. So Dev-C++ is not compatible with the C++ FMOD commands.

Huh. And all these years I thought Visual C++ was a different language and couldn't compile C++ code. *installing Visual C++ from my dad's CD as I type*
 
Aug 24, 2006 at 9:41 PM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
A lot of people bash MSVC because, oh hey, it's an MS product. Let's all bash MS because it's the popular thing to do. ;) It isn't 100% identical to a "standard" C++ compiler in that certain small things behave differently, but MSVC is a C/C++ compiler regardless of what anyone says.

Good luck - FMOD is a very powerful API and it's quite easy to use. The large range of media it supports makes it even more versatile (MOD, MP3, WAV, VOC, OGG, etc...)
 
Aug 24, 2006 at 11:20 PM
Junior Member
"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Aug 23, 2006
Location:
Posts: 29
Age: 40
RuneLancer said:
A lot of people bash MSVC because, oh hey, it's an MS product. Let's all bash MS because it's the popular thing to do. ;) It isn't 100% identical to a "standard" C++ compiler in that certain small things behave differently, but MSVC is a C/C++ compiler regardless of what anyone says.

Good luck - FMOD is a very powerful API and it's quite easy to use. The large range of media it supports makes it even more versatile (MOD, MP3, WAV, VOC, OGG, etc...)

Gah. I don't suppose you would know how to hide/not show the console (command line) window with MSVC6? I've looked all over the project options... -.-

And looked again. And a 3rd time. WHERE'S THE OPTION? >.<

I don't WANT a console window dammit! I've already got OpenGL spawning a NON-Dos window...

EDIT: Nevermind I got it. had to say the project was a win32 application instead of a Win32 console, then use WinMain(insert random crap here) instead of main(). Darn Micro$oft.

again, EDIT: argh. So close!....NEVERMIND! I missed an important line of code. SUCCESS! Now to figure out how to extract the CaveStory sound effects as wavs...except I just realized that if I do that, I'll clutter the user's CaveStory folder with wav files... (this is for CaveShark.)
 
Aug 25, 2006 at 3:08 PM
The Bartender
"All your forum are belong to us!"
Join Date: Jun 18, 2006
Location: Montreal, Canada
Posts: 581
Age: 39
Cave Story's wavs are all available via PXTOne. It bundles them along with the main executable.

But if you can extract them from the executable, why not load them t startup instead of dubplicating data? There's no reason why you'd want to drag along a bunch of files you can already grab from the main executable. To boot, if someone modifies the game's sounds, you'd have THEIR sounds as they'd be in the game, and not the original Cave Story sounds. But if you're really worried about clutter, which you really shouldn't be just put them in their own folder. Worrying over 60 files in a data folder the user wouldn't normally go picking through isn't clutter, it's paranoia. ;)

I'm curious how you got the sounds to work. AFAIK, Pixel's waveform-based format isn't supported by FMOD, being somewhat proprietary. They're not stored as WAVs, but rather a series of 0x70-byte long channels.

Erg, my bad. I read that as "I figured out how to extract CS's sounds as WAV", not "how to..." The short answer is, it's impossible because CS doesn't use WAVs. The long answer is you'll have to grab the waveforms (poke around the ROM hacking forum, I started a thread about hacking sound that might help) and convert them yourself to WAV. Or you can use PXTOne's included WAVs (in the sound hacking thread)

Good luck, and it's not MS's fault if you don't know how to use MSVC6 yet. ;) The difference between WinMain and main is very beneficial, in fact. You don't have to go calling a bunch of API functions to get a handle to your application, which is crucial to Win32 programming. If there's anything they did right, it's the Win32 application model.

Wait until you start creating windows and controls. It's likely to end up being the biggest function in your program unless you're smart and create a little library of your own to manag this stuff. Then? Just a dozen lines and you're set! :D
 
Aug 25, 2006 at 6:43 PM
Junior Member
"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Aug 23, 2006
Location:
Posts: 29
Age: 40
Yeah, I didn't extract them or anything. I just got an MP3 of the CaveStory theme playing as a test and said, "Yay!". The program doesn't really need sound, I just wanted to see if I could do it.

On a side note, the link for the Pxtones of the Cave Story sounds is a dead link, and I don't think I'll be able to find the original link on the japanese BBS, if the link even still exists there.

EDIT: Did you know pxtone comes with a C Header file and library in pxtone_include? Hmmm...HMMMMMM...
 
Aug 27, 2006 at 12:44 AM
Junior Member
"Fresh from the Bakery"
Join Date: Jul 4, 2006
Location:
Posts: 19
ChimuKun said:
On a side note, the link for the Pxtones of the Cave Story sounds is a dead link, and I don't think I'll be able to find the original link on the japanese BBS, if the link even still exists there.
Sorry about that. Here's the correct link:

Cave Story SFX/Editor

The original thread has been updated as well.
 
Aug 27, 2006 at 1:24 AM
Junior Member
"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Aug 23, 2006
Location:
Posts: 29
Age: 40
Snarwin said:
Sorry about that. Here's the correct link:

Cave Story SFX/Editor

The original thread has been updated as well.

Thanks, man. Time to take a look ;)

Uhm...What good is a .wav file if it's not realy a wav? I thought the .pxt was the one used to place it in CaveStory. DOH -.-
 
Top