Jump to content
  • Advertisement

jamessharpe

Member
  • Content Count

    705
  • Joined

  • Last visited

Community Reputation

497 Neutral

About jamessharpe

  • Rank
    Advanced Member
  1. jamessharpe

    Visual C++ or Netbeans?

    Quote:Original post by Yann L Hell no. I'm using GDB on a daily basis, and it constantly makes me want to throw my PC out of the window. There is nothing good about it, it is an abomination. I have been in contact with a few guys from Netbeans about the unstable debugger. We traced a lot of the crashes I was getting, and all ended somewhere in GDB. And I'm certainly not the only one experiencing this. Unfortunately there is no real alternative available under Linux. If you're willing to go for a commercial product then I can recommend totalview. Its supported on pretty much every brand of unix currently available, including linux.I use it daily at work and whilst not perfect its a pretty good product and being on the beta program, the team are quite responsive at making fixes to issues we find. The other alternative I know of for linux is DDT from allinea which I've only seen a demo of, but have heard good things about it too.
  2. jamessharpe

    [web] making a user account system?

    You could try out drupal for the user management side of things and integrate it with phpBB using http://drupal.org/project/phpbb. Drupal does have its own forum software too, but its very simple.
  3. jamessharpe

    Syncronizing Source Code

    Quote:Original post by Umbrae I put forth the opposing opinion, that CVS is complicated and SVN is easier. SVN has concise commands and an easy to understand 'revision number' system. But remember that when you come to using branches too that its actually a 'revision number' + path that is required to specify exactly what you mean by the revision number. Its this idea of using paths to represent branches which I would consider broken design in SVN (although I agree its far better than CVS in other aspects to make this point secondary in the decision)
  4. jamessharpe

    Syncronizing Source Code

    Just thought of one other advantage and that is the ability to switch quickly between branches. I have worked on a large project with svn and working on multiple branches at the same time meant I needed to have a complete copy of the source for each branch (I found svn switch too slow for switching between branches as it required the server to do a complete diff of the tree I currently had and the branch I wanted to switch to), whereas with git I am able to have one working copy and switch between copies in an instance.
  5. jamessharpe

    Syncronizing Source Code

    Quote:Original post by Oluseyi I suppose that works on the small scale, but doesn't that get unwieldy as the number of developers increases? Also, in the absence of a repo maintainer who decides what gets merged in, how are conflicts avoided? Say that 3 of your 100 developers all modify file A.cpp, in approximately the same place, how are conflicts resolved without explicit oversight? Does a subsequent commiter get a notice when a changeset conflicts with the current state of the given server/repo? You still have the idea of a master or trunk branch, and this can be managed however the project sees fit - the idea central to all decentralized version control systems is that whenever you make a modification to anything, you are working on a branch, albeit that branch may be the projects trunk but its still a branch. Quote: To my mind, revision control systems are technology for the codification of software development cultures appropriate to the organization and project. Distributed revision control makes sense in a culture where an individual developer may do "breaking work" in a personal branch for a sustained period and then integrate into mainline, but where you don't want to establish a dependency on other aspects of that trunk - or, at least, that's how I see it. Am I seeing it wrong? The advantage that the newer source control systems bring is ease of merging branches. Have you ever had to merge changes from a branch to trunk that has had some but not all of the changes that have gone into trunk since the branch point using subversion? It can get extremely difficult with having to keep track of the revision numbers to use. Ok scripts like svnmerge.py make things easier but still have their problems. Merging is soo much easier with git / mecurial, should there be any conflicts it is a case of fixing them as you would in svn and then committing. Quote:This speaks to my culture comment above. What benefit does distributed revision control present when you have a limited number of contributors in relative physical proximity or at least coherent time zones? Again ease of merging, you have the complete source history on your local working copy (this means that backup strategies are not so essential as everyone has a copy of the full history so if the server goes down then you still have the full history available) and this full history is often smaller than a subversion working copy. Also in the case of git at least the lack of proliferation of .svn directories makes packaging far easier. Also distributed revision control allows proper disconnected working - if you are on the road for a few days and want to continue working you can commit to your local repository, creating branches, merging as necessary and then when you get back to your home network push your changes into the central repository. This alone to me is a very useful feature as I don't always have net access available but I can continue developing with full SCM features nonetheless. Distributed version control software also tends to be a lot faster because you have the complete revision history available features such as blame, log are instant commands that don't require a trip to the server as using svn requires. I know of situations where people have avoided using blame and log functionality of svn because of a slow connection (VPN via dial-up).
  6. Are you turning off z-writes for the color write? Since you've already drawn all the depth information you only need to do a z compare when rendering the colour buffer.
  7. jamessharpe

    downloadable examples section

    Check out nehe.gamedev.net for example code for OpenGL. If you're looking for more advanced techniques have a look through the Articles and Columns in the Resources menu.
  8. Works fine for me under linux too (Gentoo)
  9. As you are performing updates to the threaded_timer variable in another thread, have you marked this variable as volatile? The compiler may be making assumptions about the value not changing as you never modify the threaded_timer variable in the game loop.
  10. jamessharpe

    Texture management systems

    Quote:Original post by deathkrush Loading another level is a problem, not doubt about it. You should use the same TextureManager instance everywhere, think of it as a singleton class. If you are worried about freeing existing textures and loading new ones, change the std::map approach to hold boost::shared_ptr instead of raw pointers. Also, have all your other classes hold boost::shared_ptr pointer to textures. That way you could just unload all the models and go through the std::map to delete all textures with use_count==1 (only referenced in texture manager, nowhere else) If you want to be very sneaky, when you load a new level, chances are that it will reuse existing textures, so load the level first and free unused textures after that. A better method than this is to store boost::weak_ptr's in your resourcemanager and let the shared_ptr deal with deleting the textures naturally when they are no longer used.
  11. jamessharpe

    Makefile question - SOLVED

    If you're using GNU make > =3.80 you can use eval and call to do what you want: # Creates rules to create a library # $(eval $(call make-exe prog-name,objs)) define make-exe $1: $2 $1.o @echo "Linking $@..." @$(LD) $(LDFLAGS) -o $@ $(OBJ) $@.o endef $(eval $(call prog1,$(objs))) $(eval $(call prog2,$(objs)))
  12. jamessharpe

    Project structure

    The reason why you are getting an error is because you're putting the code inline in the header file and then including that file in two separate translation units(*.cpp files). This means that the code exists twice and the linker doesn't know which on to choose when linking the units together. The solution is either to move the code to a .cpp file and only have a forward declaration of the function in the header file or to put the inline keyword in the function definition.
  13. Try checking out the book Computer Organization and Architecture by William Stallings. It's the book I used during my computer architecture modules and it's a very up to date look at most of the topics you are covering in your course.
  14. The important factor to look at is what parts of the computer science degree are replaced by the maths. In my case at York the maths replaces the hardware stuff which to me gives me the best of both worlds when it comes to combining the maths and computer science, however I do find that having a stronger maths background means that some of the computer science theoretical modules feel slow in pace. Seriously though don't expect to, or make a requirement on your course choice of learning C++. A good computer science degree will equip you with the knowledge to understand C++ realtively quickly and I think that learning some of the more esoteric languages out there that are taught in Universities is good for you if you spend your own time supplementing this with your own learning(this is where you should look to learn C/C++). I'd also recommend that you take a look at sandwich courses, as spending a year in industry is going to increase your employment prospects afterwards much more than simply coming out of uni with a degree. I'm currently on my sandwich year and am benefiting from it enormously - I'd highly recommend it.
  15. jamessharpe

    Anyone used FBOs?

    Have you got an active gl render context when you call the macro? Also another note - why are you using a macro? That should just be a normal function that returns void.
  • 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!