Jump to content
  • Advertisement

synth_cat

Member
  • Content Count

    546
  • Joined

  • Last visited

Community Reputation

306 Neutral

About synth_cat

  • Rank
    Advanced Member
  1. synth_cat

    Bitmap Font Rendering

    I was just doing more or less the same thing using a custom font texture in OpenGL. I don't know if you're using OpenGL or not, but if you are, be warned: if you are using glBegin() and glEnd() for each letter, you could take a serious speed penalty. On the computer I was working on, I went down to like 5 fps printing a sentence of around 800 characters. Now to answer your question: it's apparent that the screen spacing isn't large enough, but as far as the poor-looking texture drawing, it would be hard to say what is going on without knowing what API you are using.
  2. synth_cat

    When are Choices Trivial Choices

    I think a good rule to follow is to not throw everything at the player at once. Back to the ship cargo thing - it would probably be a good idea for the game to begin with a ship which is smaller/has less customizable options. Players don't like it when they have a ton of stuff thrown at them right off the bat, even if it is all genuinely important in some way.
  3. Well I have implemented having all the song files being kept open continuously. Thus far it seems to work very well; the lurch from switching between songs is drastically reduced, and often completely absent. But still, are there any hazards I should keep an eye out for?
  4. @Aressera: I agree with what you're saying. However, I already know that once my file is open, doing anything on it is extremely fast (ie, if I'm looping one streaming sound there is no lurch at all when I loop back to the start of the song, even though this does call fseek() and fread() .) The slowdown only seems to come from having to actually open a new stream, which is way I supposed I should just open all the streams once at the start of the game.
  5. Quote: I suspect that the 3rd party library you are using causes the lurch because it tries to preload a decent chunk of the start of the file when you tell it to start playing. Yes, I am basically using the ogg vorbis libraries to stream ogg files. The ov_open() function seems to be what is causing the problem. I don't see why any other thread would be accessing these files (especially since they are encrypted and can only be read by my program using overloaded callback functions.) So should I go ahead and just keep them all open? I expect this will completely eliminate the mid-game lurching because that is almost definitely caused by the ov_open() calls. And if I open all the ogg files just once at the beginning, that problem is eliminated.
  6. But is it any riskier to have 10 files open continuously than it is to have one file open continuously? Because I'm going to have to have one file open continuously no matter what, seeing as I'm streaming music.
  7. What are the risks to keeping my files open the whole time? (I can't afford to load all the data into memory - it's far too much.)
  8. My game currently uses streaming music. Whenever I switch from one song to another (which involves closing the first file and opening/initializing the second one) it causes a nasty lurch in the game. Is it OK for me to just open all the files at the start of the game and keep them open continuously, just streaming from one at a time? I would be having around 10-20 files open. I am using Windows, dealing with files opened via fopen() style routines. Thanks! -Greg
  9. Quote: No. Generally it'd be in a file somewhere, such as "license.vorbis.txt" or something. Would you do what the license says and reprint the exact ogg vorbis terms that are on the site? I was curious since it just wouldn't make much sense for me to be posting "do not redistribute the ogg vorbis binary/source" when there is obviously no way for the end-user to access these things, since they have effectively become part of the game .exe. I guess I just feel like I'm missing something.
  10. I am working on a commercial game which statically links to the ogg vorbis libraries, so I must abide by the terms of the BSD license which comes with the libraries. The license contains this phrase: Quote: Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution What does this mean, exactly? Does this mean my game must actually display the ogg libraries license inside itself somewhere (in the credits or somewhere)?
  11. synth_cat

    how exactly to setup Ogg?

    Sorry to keep on bringing this up, but I have another problem. When I build in Debug I'm getting the warning Quote: LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library I get no such warning when I build in Release mode. - I am using Visual C++ 2005 Express - In Debug Mode my Runtime Library setting is Multi-threaded Debug DLL (/MDd) - In Release my Runtime Library setting is Multi-threaded (/MT) - In Debug Mode I link to ogg_static.lib vorbis_static.lib vorbisfile_static.lib - In Release I link to ogg_static.lib vorbis_static.lib vorbisfile_static.lib Does anyone know if the LNK4098 should be worried about in this case? If so, how can I fix it, seeing as the problem seems to have to do with the pre-built libs I am linking to?
  12. synth_cat

    how exactly to setup Ogg?

    OK, I figured it out. You have to build the ogg libs first (use the .dsw that comes with the ogg file off xiph.) Then you do the same with the vorbis libs, except in order to build them you have to link to the ogg libs you just created.
  13. synth_cat

    how exactly to setup Ogg?

    I tried building libvorbis on my own by going into the xiph files into libvorbis-1.2.0\win32\VS2005\libvorbis and building the project file in there. I get these errors, even if I change global IDE settings to go to the "lib" directory within the libvorbis-1.2.0 Linking... Creating library C:\Documents and Settings\Student\Desktop\libvorbis-1.2.0\win32\VS2005\libvorbis\Debug/libvorbis.lib and object C:\Documents and Settings\Student\Desktop\libvorbis-1.2.0\win32\VS2005\libvorbis\Debug/libvorbis.exp analysis.obj : error LNK2019: unresolved external symbol _oggpack_bytes referenced in function _vorbis_analysis bitrate.obj : error LNK2001: unresolved external symbol _oggpack_bytes info.obj : error LNK2001: unresolved external symbol _oggpack_bytes analysis.obj : error LNK2019: unresolved external symbol _oggpack_get_buffer referenced in function _vorbis_analysis bitrate.obj : error LNK2001: unresolved external symbol _oggpack_get_buffer analysis.obj : error LNK2019: unresolved external symbol _oggpack_reset referenced in function _vorbis_analysis info.obj : error LNK2001: unresolved external symbol _oggpack_reset mapping0.obj : error LNK2001: unresolved external symbol _oggpack_write res0.obj : error LNK2001: unresolved external symbol _oggpack_write bitrate.obj : error LNK2019: unresolved external symbol _oggpack_write referenced in function _vorbis_bitrate_addblock codebook.obj : error LNK2001: unresolved external symbol _oggpack_write floor1.obj : error LNK2001: unresolved external symbol _oggpack_write info.obj : error LNK2001: unresolved external symbol _oggpack_write bitrate.obj : error LNK2019: unresolved external symbol _oggpack_writetrunc referenced in function _vorbis_bitrate_addblock block.obj : error LNK2019: unresolved external symbol _oggpack_writeinit referenced in function _vorbis_block_init info.obj : error LNK2001: unresolved external symbol _oggpack_writeinit block.obj : error LNK2019: unresolved external symbol _oggpack_writeclear referenced in function _vorbis_block_clear info.obj : error LNK2001: unresolved external symbol _oggpack_writeclear mapping0.obj : error LNK2001: unresolved external symbol _oggpack_read res0.obj : error LNK2001: unresolved external symbol _oggpack_read synthesis.obj : error LNK2001: unresolved external symbol _oggpack_read codebook.obj : error LNK2019: unresolved external symbol _oggpack_read referenced in function _vorbis_staticbook_unpack floor0.obj : error LNK2001: unresolved external symbol _oggpack_read floor1.obj : error LNK2001: unresolved external symbol _oggpack_read info.obj : error LNK2001: unresolved external symbol _oggpack_read codebook.obj : error LNK2019: unresolved external symbol _oggpack_adv referenced in function _decode_packed_entry_number codebook.obj : error LNK2019: unresolved external symbol _oggpack_look referenced in function _decode_packed_entry_number info.obj : error LNK2019: unresolved external symbol _oggpack_readinit referenced in function _vorbis_synthesis_idheader synthesis.obj : error LNK2001: unresolved external symbol _oggpack_readinit
  14. synth_cat

    how exactly to setup Ogg?

    Quote: They don't supply binaries, have you tried compiling it yourself? If you really just want a ready made one, the dll's are included in the project file downloads of this tutorial on devmaster.net I tried going to the oggvorbis site and downloading their files. I end up with a bunch of "create_ogg_dll.bat" type files which all fail when I try to run them as I mentioned earlier in this thread. I did check the download links on the DevMaster tutorial and the Dev-C++ one does indeed contain ogg.dll, vorbisfile.dll, and the others. Am I free to use these for commercial purposes, or am I legally required to build them myself? And does anyone know how to build the dlls from the files from the oggvorbis site? I want to be able to switch between static vs. dynamic if necessary, and the files that come with the DevMaster tutorial files seem to be just the dynamic versions.
  15. synth_cat

    how exactly to setup Ogg?

    Sorry to bring this up again, but does anyone know where I can find ogg.dll, vorbisfile.dll, etc.? I can't find them on the oggvorbis site - just source code. I can come across the oggvorbis-win32sdk.zip file on other places online, but I'm not sure which places are "safe."
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!