Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

122 Neutral

About charlando

  • Rank
  1. charlando

    SDL_ttf RenderText Problem

    Quote: To increase your warning level to see the error this should cause, go to project->project options->parameters and add -Wall to both the C and C++ compile settings. This means "warn me about all possible errors in my code". It helps avoid mistakes like the one you made there. Thanks a lot, that's a great tip :) You fixed my error and taught me even more about pointers :) Thank you.
  2. charlando

    SDL_ttf RenderText Problem

    hmmm, i don't quite understand what your saying there, are you saying to pass the Font class as a pointer? And i don't know what you mean by warning level - i'm using it in dev-cpp.
  3. I made the following two functions in a class Text. class Text { private: string text; Font *font; //this points to a class that holds the SDL_Color and TTF_Font int x, y; SDL_Surface *Texting; public: Text( string context, Font fonting, int X, int Y ); void Change_Text( string context ); void Update_Text( int render_method ); void Display_Text( int method ); }; Text::Text( string context, Font fonting, int X, int Y ) { text = context; font = &fonting; x = X; y = Y; } void Text::Change_Text( string context ) { text = context; } void Text::Update_Text( int render_method ) { SDL_FreeSurface( Texting ); switch(render_method) { case SOLID: Texting = TTF_RenderText_Solid( font->Get_Font(), text.c_str(), font->Get_Colour() ); case BLENDED: Texting = TTF_RenderText_Blended( font->Get_Font(), text.c_str(), font->Get_Colour() ); case SHADED: Texting = TTF_RenderText_Blended( font->Get_Font(), text.c_str(), font->Get_Colour() ); } } void Text::Display_Text( int method ) { Apply_Surface( x, y, Texting, screen ); }//font is a pointer to a class which holds the TTF_Font and SDL_Color. If in main.cpp i put //main.cpp //yes yes, //includes using namespace std; //adv is the font that works fine ;) Text writing( "Hello Charlie Banks!!! It works!!!", adv, 16, 16 ); writing.Update_Text( SOLID ); Text writing2( "Hello Charlie Banks!!! It works!!!", adv, 16, 16 ); writing2.Change_Text( "fgdg" ); writing2.Update_Text( SOLID ); Text writing3( "Hello Charlie Banks!!! It works!!!", adv, 16, 16 ); writing3.Update_Text( SOLID ); writing3.Change_Text( "fgdg" ); writing3.Update_Text( SOLID ); while( quit = false ) { //so and so... writing.Display_Text(); writing2.Display_Text(); writing3.Display_Text(); } ...in that code, writing works ok (as expected). writing2 doesn't show and writing3 delivers a MAV... So i can't update the text which is what i want to do... and i don't know why though... any help apreciated :)
  4. charlando

    C++ storing function for later

    Darn it, C++ has a weakness... But i'm so fond of it :/ I think i'll find a different way to do things... typdef might be a way... As for learning a new language, i don't think SDL works with those languages. I might work with them for other things though :) Thanks for all the help.
  5. In C++. I've been reading about function pointers. But what i want to know is if it's possible to store a function for later use. Also, how would i store a function without knowing the parameters? Any info is greatly apreciated, thanks.
  6. charlando

    puzzling class error thingy C++

    GENIUS! I'm a bad fool! Thanks a lot, it's solved! You can expect a 1up rating ;)
  7. The errors is as follows: request for member 'Start' in 'bob', which is of non-class type 'Timer()()' request for member 'Get_Ticks' in 'bob', which is of non-class type 'Timer()()' the code for main.cpp is: //yes, everything is included correctly (i think) #include <Time.h> main(int argc, char *argv[]) { Timer bob(); bob.Start(); while( bob.Get_Ticks() < 30 ); { } return 0; } the code in Time.h is: //yes everything is included class Timer { private: int startTicks; int pausedTicks; bool paused; bool started; public: Timer(); void Start(); void Stop(); void Pause(); void Unpause(); int Get_Ticks(); bool Is_Started(); bool Is_Paused(); }; Timer::Timer() { startTicks = 0; pausedTicks = 0; paused = false; started = false; } void Timer::Start() { started = true; paused = false; startTicks = SDL_GetTicks(); } int Timer::Get_Ticks() { if( started == true ) { if( paused == true ) { return pausedTicks; } else { return SDL_GetTicks() - startTicks; } } return 0; } //i cut out the bits that were'nt really important So why is it giving me that error? Everything is included and initalized as it should be... I'm using dev-cpp, any help is apreciated...
  8. charlando

    C++ directory / file help plz

    I'm using Dev-cpp, and in reply to ImperfectFreak, this is the file opening function, and i'm using namespace std so i don't need to use std:: However, i changed the flag to fstream::trunc and got the desired affect, it now works. Thanks for all the help anyway.
  9. charlando

    C++ directory / file help plz

    Thanks for the help, i'll give you a possitive rating seeing how you're in need :) But after changing the code to: filestr.open ("bob.txt", fstream::in | fstream::out | fstream::app); and having previousley created bob.txt in the same directory, it still doesn't write to it. Any help apreciated
  10. #include <greetings & intro> How in C++ do i get the directory of the application? Is it automatic? Also, in the following code: //where char name = "bob.txt" filestr.open (name, fstream::in | fstream::out | fstream::app); does this create the file if it doesn't exist? thanks.
  11. charlando

    vector and pointer help C++

    aaah now i see :) thanks. and thanks for the function idea, i'll use that.
  12. I have two things on my mind at the moment that i wish we be resolved. The first one is the initialization of vectors of structures and setting their variables. For instance i wanted to use the following code: vector<SDL_Rect> fred(1); fred[0] = {0, 3, 32, 45}; For those that don't know SDL_Rect is a structure of 4 variables. This code doesn't work. I was wondering if there was a way to do this as i see it is possible to do: SDL_Rect newRect = {0, 3, 32, 45}; So what is the difference? or the problem? Please help. Also i was wondering if anyone has any good links to a tutorial on pointers. I've been looking but i've not found anything 'exceptional'. Thanks...
  13. charlando

    class vector pointers help!

    Well thanks a lot for your help, it nearly worked after i changed 'vector<SDL_Rect> * Colpix;' to 'vector<SDL_Rect * > Colpix;'. I've come up with a better solution of using integers to refer to vectors - it should use less memory aswell. I've learned more about pointers and although i didn't succeed i thanks you all for your help.
  14. Although the title is vague, have no fear, i will explain it now. I've been trying to get this class to work, i'm trying to make a vector pointer inside a class to point to a given vector outside the class. This is C++, it looks something like this. class CTile { private: vector<SDL_Rect> * Colpix; public: CTile( int x, int y, vector<SDL_Rect> BoxType ); }; CTile::CTile( int x, int y, vector<SDL_Rect> BoxType ) { for( int i = 0; i < BoxType.size(); i++ ) { *Colpix.push_back( &BoxType ); } } ...yea i'm using SDL too, the error for this is: 'push_back' has not been declaired request for member of non-aggregate type before '(' token Am i allowed to resize a pointer? I don't know what the problem is atall. - i am including all the right header files and i deleted some irrelevant stuff from the class to make it easier to see. Thanks for any help :)
  15. charlando

    Access violation (segment fault)

    Well i'll be daamned... I read your posts and thanks for the great response :) After a bit of fiddling i changed: if( PausedTime == AnimationSpeed ) to: if( PausedTime >= AnimationSpeed ) I'm not sure why that worked but i guess i'll look into it more. Thanks a lot.
  • Advertisement

Important Information

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

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!