Esempio n. 1
0
SceneHeightmap::SceneHeightmap(RendererInterface* argRenderer, std::string argHeightmap, ResourceTexture* argTexture)
{
	// Set default position and orientation of the heightmap.
	position = Vector(	50.0f, -50.0f, -50.0f);
	orientation = Vector(0.0f, 0.0f, 0.0f);

	// Save the renderer and texture for later use.
	texture = argTexture;
	renderer = argRenderer;

	// "Location/name.bmp" of the heightmap bitmap file are converted to a LPCSTR.
	// InitializeImensions will read the height, width and offset info from the bitmap file header.
	LPCTSTR bitmap = argHeightmap.c_str();
	initializeDimensions(bitmap);

	// Create the index and vertexbuffer for the heightmap.
	fillVertices(bitmap);
	fillIndices();
}
Esempio n. 2
0
// main function
int main(void) {
    clock_t startTime;
    BOOL isRunning = TRUE;

    // introduction
    printf("    +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+\n");
    printf("    |               CC322 - Organizacion de Computadoras I                 |\n");
    printf("    |                            .-----------.                             |\n");
    printf("    |                           /   AssPong   \\                            |\n");
    printf("    |                          '==============='                           |\n");
    printf("    |                                                                      |\n");
    printf("    |                          *** Equipo 9 ***                            |\n");
    printf("    |                          Cavazos Woo David                           |\n");
    printf("    |                      Corona Garcia Erick Daniel                      |\n");
    printf("    |                                                                      |\n");
    printf("    |    Instrucciones:                                                    |\n");
    printf("    |        [ESC]   Salir                                                 |\n");
    printf("    |        [SPACE] Reset                                                 |\n");
    printf("    |        [w]     Mover jugador 1 arriba                                |\n");
    printf("    |        [s]     Mover jugador 1 abajo                                 |\n");
    printf("    |        [o]     Mover jugador 2 arriba                                |\n");
    printf("    |        [l]     Mover jugador 2 abajo                                 |\n");
    printf("    |                                                                      |\n");
    printf("    +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+\n");
    printf("Usando contexto de ASM\n");
    printf("Presione [Enter] para continuar...");
    _asm {
        mov ah, 10h
        int 16h
    }

    system(PLAY_MUSIC);
    initializeVideoContext_ASM();

    srand((unsigned int)(time(0)));
    initializeDimensions();
    resetEverything();

    g_deltaTime = 0.0;
    g_player1Wins = 0;
    g_player2Wins = 0;

    g_isKeyDownW = FALSE;
    g_isKeyDownS = FALSE;
    g_isKeyDownO = FALSE;
    g_isKeyDownL = FALSE;

    // main loop
    while (isRunning) {
        startTime = clock();

        // update
        g_isKeyDownW = FALSE;
        g_isKeyDownS = FALSE;
        g_isKeyDownO = FALSE;
        g_isKeyDownL = FALSE;
        processEvents_ASM(&isRunning);
        update();

        // draw
        clearScreen_ASM();
        drawEverything();

        // framerate cap
//         g_deltaTime = MILLISECONDS_CAP;
//         delay((unsigned int)MILLISECONDS_CAP);
//         g_deltaTime *= 0.001;

        g_deltaTime = (double)(clock() - startTime) / (double)CLOCKS_PER_SEC * 1000.0;
        if (MILLISECONDS_CAP > g_deltaTime)
            delay((unsigned int)(MILLISECONDS_CAP - g_deltaTime));
        g_deltaTime = (double)(clock() - startTime) / (double)CLOCKS_PER_SEC;
    }

    // shutdown
    system(STOP_MUSIC);

    // show winner
    system("cls");
    printf("\n");
    printf("                       .--------------------------------.\n");
    printf("                      /   ");
    if (g_player1Wins == g_player2Wins)
        printf("  ~~~~ Empate ~~~~ ");
    else if (g_player1Wins > g_player2Wins)
        printf("Ganador: Jugador 1 ");
    else
        printf("Ganador: Jugador 2 ");
    printf("(%2u : %2u)   \\\n", g_player1Wins, g_player2Wins);
    printf("                     '===================================='\n");
    printf("Presione [Enter] para salir...");
    _asm {
        mov ah, 00h
        int 16h
    }

    return EXIT_SUCCESS;
}
Esempio n. 3
0
// main function
int main(int, char**) {
    // introduction
    printf("    +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+\n");
    printf("    |               CC322 - Organizacion de Computadoras I                 |\n");
    printf("    |                            .-----------.                             |\n");
    printf("    |                           /   AssPong   \\                            |\n");
    printf("    |                          '==============='                           |\n");
    printf("    |                                                                      |\n");
    printf("    |                          *** Equipo 9 ***                            |\n");
    printf("    |                          Cavazos Woo David                           |\n");
    printf("    |                      Corona Garcia Erick Daniel                      |\n");
    printf("    |                                                                      |\n");
    printf("    |    Instrucciones:                                                    |\n");
    printf("    |        [ESC]   Salir                                                 |\n");
    printf("    |        [SPACE] Reset                                                 |\n");
    printf("    |        [w]     Mover jugador 1 arriba                                |\n");
    printf("    |        [s]     Mover jugador 1 abajo                                 |\n");
    printf("    |        [UP]    Mover jugador 2 arriba                                |\n");
    printf("    |        [DOWN]  Mover jugador 2 abajo                                 |\n");
    printf("    |                                                                      |\n");
    printf("    +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+\n");

    initialize_SDL();

    // SDL_mixer initialization
    Mix_OpenAudio(AUDIO_FREQUENCY, MIX_DEFAULT_FORMAT, AUDIO_CHANNELS, AUDIO_BUFFER_SIZE);
    g_music = Mix_LoadMUS("still_alive.ogg");

    printf("Presione [Enter] para continuar...");
    getchar();

    initializeVideoContext_SDL();

    // play music
    if (g_music == 0)
        printf("Unable to load music: %s", Mix_GetError());
    else
        Mix_PlayMusic(g_music, -1);

    srand((unsigned int)(time(0)));
    initializeDimensions();
    resetEverything();

    g_deltaTime = 0.0;
    g_player1Wins = 0;
    g_player2Wins = 0;

    g_isKeyDownW = FALSE;
    g_isKeyDownS = FALSE;
    g_isKeyDownUP = FALSE;
    g_isKeyDownDOWN = FALSE;

    // main loop
    Uint32 startTime;
    BOOL isRunning = TRUE;
    while (isRunning) {
        startTime = SDL_GetTicks();

        // update
        processEvents_SDL(&isRunning);
        update();

        // draw
        clearScreen_SDL();
        drawEverything();
        SDL_Flip(g_screen); // flip buffers

        // framerate cap
        g_deltaTime = SDL_GetTicks() - startTime;
        if (MILLISECONDS_CAP > g_deltaTime)
            SDL_Delay((Uint32)(MILLISECONDS_CAP - g_deltaTime));
        g_deltaTime = (SDL_GetTicks() - startTime) * 0.001;

        // show framerate
//        stringstream title;
//        title << "Pong - " << setprecision(1) << fixed <<
//                        (g_deltaTime == 0.0? double(FRAMERATE_CAP) : 1.0 / g_deltaTime) << " fps";
//        SDL_WM_SetCaption(title.str().c_str(), "");
    }

    // shutdown
    Mix_FreeMusic(g_music);
    Mix_CloseAudio();
    shutdown_SDL();

    // show winner
    printf("\n");
    printf("                       .--------------------------------.\n");
    printf("                      /   ");
    if (g_player1Wins == g_player2Wins)
        printf("  ~~~~ Empate ~~~~ ");
    else if (g_player1Wins > g_player2Wins)
        printf("Ganador: Jugador 1 ");
    else
        printf("Ganador: Jugador 2 ");
    printf("(%2u : %2u)   \\\n", g_player1Wins, g_player2Wins);
    printf("                     '===================================='\n");
    printf("Presione [Enter] para salir...");
    getchar();

    return EXIT_SUCCESS;
}