• Content count

  • Joined

  • Last visited

Community Reputation

100 Neutral

About generaleskimo

  • Rank
  1. Another big flaw that I see with Windows is the lack of openness when compared to Linux. Because Linux is open source, there are many components in the OS, especially related to the user interface, that can be customized easily, while Windows is generally stuck the way it's built (I know there are systems like Windows Blinds to change the look and feel, but it doesn't make significant changes to the behavior and it is extremely slow). Windows is also quite bloated because it is necessary for it to support many legacy API calls that were written over a decade ago when the OS had an extremely poor architecture. The lack of a package manager for Windows is also a great disadvantage, as resolving dependencies either has to be done by the user or by bundling installers together and leaving behind a mess of libraries. Lastly, the Windows driver interface often feels like a huge mess compared to the pseudo-file based drivers found in Linux and Unix systems. To put this in perspective, I use Windows mostly for personal stuff and game development, and Linux systems for work.
  2. Well, since shaded_ptr is just a template, everything should be included in the handful of header files associated with shared_ptr. However, you cannot just spam shared_ptr and expect that to work for memory management. There are many ways that shared_ptr can fail to deallocate memory, and I wouldn't trust any C++ project I was working on to someone who doesn't understand memory allocation. Also, have you considered a team management solution such as SVN or Git? You really shouldn't be using email to manage code. Also, your should't ever have to include the Boost libraries with the project. All you need to do is put it in the classpath on both of the systems.
  3. Storing persistant data within the .exe

    Near impossible. You cannot modify the exe at runtime, and you cannot change the size of the EXE without changing the relocation table as well.
  4. iphone apps running on android?

    Not really. Android apps must use Java and iPhone apps must use Objective C (although I think you can use C++ now). Also, Steve Jobs has made it very clear that he will never allow Java on the iPhone. The best luck you could have would be to just make a basic browser shell and write a web app if it needs to be cross-platform.
  5. Unity Programming languages for iphone...

    Apple would probably say "no" to the use of another language. You might be able to get away with using Lua for internal scripting if you compile the Lua interpreter into your program, but you'll find no luck with D. For example, Sun was developing a Java VM for the iPhone that would allow people to develop cross-platform Java applications that could be run on the iPhone, but Apple explicitly banned it, saying it would not allow Java applications on the iPhone.
  6. When I was reading the article on 64-bit errors, it got me thinking about ptrdiff_t. On a 32-bit system, ptrdiff_t is a 32 bit signed integer, meaning one bit is dedicated to the sign, while all 32 bits in a pointer are used when addressing. Thus, one could create erroneous results by subtracting pointers to memory more than 2GB apart. int* temp = (int*)1; int* temp2 = (int*)0xFFFFFFF1; ptrdiff_t diff = temp2 - temp; cout << "ptr diff: " << diff << endl; On a 32-bit system, you get a negative difference. Theoretically, it is possible to get the same issue on a 64-bit system, but you would need over 8EB (that's exabytes) of RAM. So, why is it safe to use ptrdiff_t for this purpose at all? It seems extremely dangerous to me. All the system has to do is allocate you memory over 2GB apart!
  7. Boids algorithm on the GPU?

    Quote:Original post by Mathy What is the difference between n^2 and O(n^2)? n^2 is just a shorter way of saying O(n^2).
  8. For chars, there is really no reason to use an array of pointers. Chars are going to be 1 byte. Pointers to chars, on a modern OS, can be as large as 8 bytes. However, lets say we are talking about larger objects. In C++, one advantage to pointers is that they allow polymorphism, as using a traditional array of objects could cause slicing. In C and C++, pointers can point to objects which are dynamically allocated (malloc in C, new in C++). Pointers also make it more efficient to swapping objects in and out of the array, because they do not need to be copied from different places in memory. Also, in C++, copying an object into an array initiates the copy constructor, which can be bad and extremely costly at times.
  9. Little/No In game Music

    Half Life 1 had music only in one or two sections in the entire game.
  10. global std::vector causes memory leaks?

    I found the leak using MemWatch, which makes a lot of sense in retrospect.
  11. When I was trying to track down a rather strange memory leak, I traced it to a static vector<int>. I found that the problem could also be duplicated using a global variable as well, as follows: #include <vector> vector<int> myVec(5); int main() { return 0; } Why exactly is this an automatic memory leak? Shouldn't it's dynamic array be deleted when the destructor is called?
  12. [SOLVED] Darwinia-like Triangle coloring

    Quote:Original post by ShinkaFudan You did mistake the question. I mentioned that I am not using lighting, nor do I want to use lighting to achieve this effect. I want the color to be based on height only. As I understand it, Darwinia does not only use height. They use a pallet (probably a texture as mentioned before), but they ALSO rely on the surface normal (which is used in flat shading) and several different color directional lights (which further emphasize the differentiation by surface normal). Take out these effects and I imagine Darwinia would look very similar to your technique. When they chose this it wasn't simply an artistic choice- it also served to make the visuals more readable to reinforce the gameplay, which often relies heavily on height differences between units. The lighting helps to provide subtle depth queues by adding small deviations from the pre-defined color pallet. This effect is NOT negligible, as you erroneously assert, and asking us to help you recreate a lighting effect without using lighting seems like a pointless venture. The second big difference is that, in your technique, you make triangle edges darker, while Darwinia makes them brighter. Try switching that around, maybe removing some of the aliasing, and see what you get.
  13. bsp maps

    Well, from what I understand, BSP isn't a definitive standard, so editors aren't going to be interchangeable. It isn't like MP3 or mdl where there is a standard file structure and then different editors... BSP is a system for visibility determination, and .bsp files often have only that system in common. What engine are you using? If you are building your own engine, then I think you are a few steps ahead of yourself.
  14. Well, look on the MMO's website, find what source license it is using (likely GNU General Public License). Then, just read through the terms of the agreement. A port to a different language will have exactly the same terms of use as any other modified version, and you just need to follow those rules.
  15. Quote:Original post by cherryyosh Now, I don't know how much memory the wii has, and I have believed it to hold at least 512mb if not 1gig, but by your post im guessing not a lot, so you should already be making it in a low memory way, so adding fbo's should be much of a pain. From what I understand, the Wii has a TOTAL of 88MB of RAM (some of that is reserved for different things, like texture and audio memory, and I'm sure someone else can be more specific). It sounds like it'd be tough to develop for... I second Nypren's approach. For a quick hack, you can have your PC and Wii builds optimize the data structure of the models when they get loaded up. However, in my experience, you get the best results by generating platform-specific content at compile-time. Most major cross-platform engines have this functionality (Cryengine 2, Unreal 3, Source [I think]). Since iterating on the PC is so much faster, I always just build all the content in the preferred PC format (Windows, I assume), and then build a utility to convert to the other platform-specific data types.