• Advertisement


  • Content count

  • Joined

  • Last visited

Community Reputation

122 Neutral

About TyphoidHippo

  • Rank
  1. Hi all, First off: I'm a programmer. I've recently been asked to build some websites, which I've never really done before or even had an interest in - but the money's right so I'm doing it. Building the server side app and writing client side scripts come very naturally and I've had no problem there, but as far as making a site look the way the client desires - I'm not even going to attempt it... it would be a waste of everybody's time. There's an artist, however, that I've worked with on game projects for several years, and he's willing to deal with these people and hammer out a site design they're happy with. My question is: What should I get from him? He's going to be passing flat images back and forth with them, and I suppose I could slice up his image into a table or trial and error with CSS until I get it right, but neither of those seems like a particularly good idea to me, since it requires me to write specific markup for each specific design. That just seems primitive and like a total waste of time for something that could be automated to me. Is there a standard way people do this? Any time-saving insight would be greatly appreciated - thanks!
  2. Not sure what language/library that List class is from with it's .add() function, but in C++ with std::list - it's as simple as this - void MessWithInt(int* pInt) { *pInt *= 2; } void MessWithInt(int& refInt) { refInt *= 2; } int TestListPtrRefStuff () { std::list<int> intList; intList.push_back(5); //Pointer int* pBack = &intList.back(); MessWithInt(pBack); //Reference, if you prefer int& refBack = intList.back(); MessWithInt(refBack); int shouldBe20 = intList.back(); return shouldBe20; } That does, in fact, return 20 over here. hope that helps
  3. I believe what you are looking for is known as "API hooking". I am fairly certain this is what Fraps does, and, although I've never done it myself, the concept is along the lines of transparently redirecting a function call to your own function. I've heard it called "injecting code", as well. It's really been entirely too complicated for me to justify actually going through with it on the few occasions I've thought of a use for it. I'm sure there are a few here who know how to do it, but if they don't drop in here, you can start here: http://en.wikipedia.org/wiki/Hooking#Hooking_Direct3D and of course here: http://www.google.com/search?q=direct3d+hooking Purely speculation: IDirect3DDevice9::Present() (or glXSwapBuffer or whatever it is in OpenGL) may be a good place to start once you get your head around how to actually do the "hooking" - so you can get in and manipulate the backbuffer immediately before it's meant to be shown. There may well be technical reasons that's just impossible. Either way - Good luck with that :D
  4. vector of array

    Perhaps I've missed something in the question, but how about just this: double** array2D = new double*[500]; array2D[0] = new double[1000000]; array2D[1] = new double[2]; array2D[2] = new double[500]; It's not really a tightly-packed array, I guess, but rather an array of pointers to arrays, but an std::vector of arrays would, also, not necessarily be a contiguous array. Personally I'd use std::vector<std::vector<double>> if for no other reason than the handy size() member of all the randomly sized arrays... but if it's giving you problems, then by all means - get nasty with it Edit: Like _fastcall said - I suspect you are getting the out-of-memory error because you are making that array of 1 million doubles on the stack, which may well simply be too much. This might work: double* array0 = new double[1000000]; arrayVector.push_back(array0); Of course, remember to delete[] arrayVector[0] before popping it [Edited by - TyphoidHippo on March 18, 2010 6:26:01 PM]
  5. C++ Workshop - Pointers (Ch. 8)

    Well, i found this a good read, and even though this question was asked a month ago or so, I thought I'd try and answer it... Quote:Original post by lewc I'm not sure I fully understand pointers if a='z' b=&a c=&b then to get c to return 'z' I need to append ** to c (c** == 'z') if I simply used c* it would return the address of b rather than the value of a. I think it may seem more confusing without the context of the types of a, b, and c. char a = 'z'; char* b = &a; //Pointer to a char** c = &b;//Pointer to pointer to a To find 'z' down the pointer-trail from c you would use: char a0 = *b; // or char a1 = **c; // a1 == a0 == a == 'z' after this line is executed Not so confusing, huh? Quote:Original post by lewc I have seen people use *type varname type* varname type *varname type varname* could someone please explain each of these also can I use *type varname* type* *varname *type *varname type* varname* and what would this mean I hope I have not put anyone in a whirlwind like myself Unless there's some kind of special case I'm not aware of, lines that consist of only this: *type varName; or this: type* varName*; are always syntax errors. The * before type in the first one has no meaning, nor does the * after varName. I'm sure something horrible could be brewed up using operator overloading and pre-processor stuff, but.. whatever. The others you listed are simple to grasp once you get used to the fact that this: char* pChar; //is the same as: char *pChar; //and also the same as: char*pChar; //and even the same as: char * pChar; //They all just say that pChar is a pointer to a char. so for your last example: type* *varname; varname is a pointer to a pointer to an instance of type, just like: char** ppChar; //which is clearly a pointer to a pointer to a char HTH :D
  6. The music kept what would have otherwise been a fairly dull video flowing nicely. Intriguing at times, even. You made my monitors hit a low note I've actually never heard in a context outside of artificial testing and such. I know that seems like a silly thing to say - but I've done a *lot* of recording, mixing, and post-production on these monitors over the years, and to hear something out-of-the-ordinary (even something as trivial as a low bass drop) kind of made me...happy. Loved the sound effects. The jump one struck me as odd every time, but the rest were perfectly natural. The one for the help boxes was spot-on, and hearing that big fist actually make a ballsy "boom" was very satisfying. Overall excellent production quality all around, I realize you already know that - once you can hear a good mix, you can hear a good mix, heh... Good job. I'm about to try to send you a PM about a project you may be interested in.
  7. SOIL: new lightweight image loading lib

    This library is all kinds of badass. It was a pleasant surprise when I didn't even have to change a few of my functions to transition from my loaders to SOIL. Maybe that's not as unlikely as it seemed to me at the time...at any rate: Thank you very much, lonesock. You rock!
  • Advertisement