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(); }
// 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; }
// 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; }