Jump to content
  • Advertisement

monophonic

Member
  • Content Count

    20
  • Joined

  • Last visited

Community Reputation

295 Neutral

About monophonic

  • Rank
    Member
  1. Another "why didn't they tell me..." moment here. I tried Blender once a decade or so ago and haven't looked at it since. Goes to show that once you alienate someone with a terrible choice they are not likely to come back to see if you fixed it or not.
  2. monophonic

    How to convert jpg to snb

        Based on his link, I agree with fastcall. While that is what they're discussing, the solution says that renaming the .snb to .zip will allow it to be opened -- thus it's a logical step to assume the reverse is also true. Follow his advice, and try to do the following: 1. Compress your .jpg file to .zip (e.g. using WinZip, WinRar, or whatever people use these days). If you can choose compression ratio, choose "None" or "Storage" or similar. 2. Rename your new .zip file to .snb.   EDIT: I accidentally a word.     While any SNB file is a valid ZIP file, not every valid ZIP file is a valid SNB file. Consider that every JAR file is also a valid ZIP file - but you cannot just rename a JAR file to SNB and expect it to do anything useful in a Samsung Note smartphone. The links you have provided explain how to dig out useful media from an SNB file, but offer next to no help towards building a working SNB file from pre-existing media. Which is what the OP is trying to accomplish.   My advice to alwaysGrey is to make some SNB files with the kind of content you want your created files to have, and look into how the JPGs are stored in those. Then try to recreate that with your own code and check how well it works. When there are errors, create some more files with small differences around the erroneous bits and see how those change the resulting file.
  3. Math libraries tend to use radians instead of degrees. 90 radians is 5156.62 degrees! If you assume that it wraps every 360 degrees, then you get a remainder of 116.62 degrees... which is coincidentally, only just a tad higher than 90 degrees, causing only the slight excess in perspective seen in the pictures.   You actually want to be passing Pi/2 radians as the fov argument     Well spotted. I thought I checked that the function took degrees, but apparently I did not...     ... then again maybe I did. :) May I take a moment to express my hatred towards APIs that change their contract based on a single tidbit anywhere in the code and does not communicate this possibility in the naming of its functions?
  4. Welcome Daniel!   Many years ago I had the same task while porting a mobile motorcycle game to PC. Sound support on the MIDP phones back then was quite limited, so at best the mobile game played an acceleration sound clip when the player hit the boost button. For the PC version we wanted continuous engine sound. At first we added just a constant sound but that obviously (and we knew it would) felt strange as it did not live with the speed of the action.   Our solution was the same as your first solution, changing the pitch of the looping sample by adjusting the playback rate. Only difference was that we didn't use an idling sample, but one from a bike running at about mid-speed. Experimentally we found that we could adjust the sample from about half-rate to about double rate before it started sounding synthetic, as you say.   This still felt a bit short range, like the bike did not really sound like it was accelerating as fast as the visuals seemed. This issue we solved by adding a couple of steps to the sound, where at certain calculated spots the sound jumped to a little lower pitch. This actually sounded a lot like gear shifting and gave us maybe a 50% more useful range from the single sample. That was enough to match the production standards of the rest of the game and it was shipped like that.   Now if you want to simulate the entire running range of a typical car engine, from zero to 6000+ RPM, you'll have to use multiple samples. For a typical running range of, say 750 to 3000 RPM one sample can do if you record it at the right speed. That would be 1500 RPM for this example, halve the rate and you get 750 RPM, double rate gives 3000 RPM.   I know this doesn't answer the question you asked, but I hope this at least gives you some ideas towards a solution.
  5. Your result looks like you are rendering the sides with too high a field of view or from a little too far back. But you have 90 for the field of view variable, so that should be fine. This leaves inconsistency of the camera position as the likely culprit.         I bolded the line that immediately seemed suspicious to me. Where do you set cubeMapContext._M? It looks like it is supposed to be the identity matrix. Double check that this is really the case or just drop it from the multiplication (which leaves just the assignment). Also make sure you are multiplying the matrices in the correct order, I don't know glm so I don't know which way that is supposed to go.
  6. monophonic

    bmp Loader class

    You have an error in your second error: If the height field is negative, pixel data is top to bottom.   That only adds strength to your final comment though. 
  7. monophonic

    Jim. Adams's book

    I think he's got hold of this book: http://www.amazon.com/Programming-Playing-DirectX-Premier-Development/dp/1931841098/ref=asap_bc?ie=UTF8 It comes with a CD that has example projects sources and DirectX 8, but it was not clear whether that meant the SDK or just the runtime. I quickly checked the sample pages, and they recommend, guess what, Visual C++ 6.0 (or newer...)
  8. monophonic

    Learn Java or C#

    Thanks for following up on this. As long as what is there keeps working in the basic cases I am happy with it.
  9. Now I feel like we may be missing a critical piece of information. Will it be you who would use the glBegin etc. style programming, or will it be whoever it was who wished for this support?     Would you like to explain it better? What do you mean "on top" ? Will that mix the two somehow at same time? Thanks!   Hodgman means that you would write your own Begin function that sets up some lists or arrays to collect vertexes etc., Vertex functions that add to those, and an End function that actually draws those primitives using modern OpenGL. So it would be your very own implementation of "legacy OpenGL" using modern OpenGL.
  10. monophonic

    Learn Java or C#

      When did this happen? I have enough WinForms on my out-of-the-box Ubuntu 12 Mono install to get a window and P/Invoke up an OpenGL context. mono --version says "Mono JIT compiler version 2.10.8.1 (Debian 2.10.8.1-1ubuntu2.3)" I will be appalled if an upgrade in my system means I have to rewrite my cross platform code with something more complex.   (Edit: Fixed quote)
  11.   Ditto from your friendly eastern neigbour country.
  12. You might want to check the list of formats supported by glInterleavedArrays to see if any of those would suit you. Here is the manual page. If you want to go the structures of arrays route, I believe anything that GL1.1 gl[Vertex|Normal|Texcoord|Color]Pointer works with also works with shaders in the newer versions.   If you want a more specific answer, you may want to wait for someone more experienced to chime in.
  13. If you don't need to implement physics for exercise, how about a weather vane? A rigid shape that only rotates around the up vector is quite simple to implement. The traditional rooster shape is instantly recognisable to the majority of Hollywood movie watching world to boot.
  14. Note you can't just chuck any item in any container and be done with it. That way you will run into a situation where the key to a locked drawer is in that very same drawer. The game is absolutely unwinnable when that sort of thing happens. So you will have to add some logic to ensure that every item can be reached with the previously findable items.   JDean's method is a good start to that direction though, so go ahead and make it work first. After that you modify it so you begin just those containers that can be opened without any items and items that are needed to open those containers that can be reached without any items. When you add an item to a container, you also add the container that that item opens to the list of containers, and items that are needed to open containers that can be reached after opening the first container to the list of items.
  15. Even though I am not the OP... These look great, thanks! I'm gonna bookmark them right now.
  • 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!