Compare commits

...

2 Commits

Author SHA1 Message Date
f78e71f96b Start on texturing 2024-01-15 18:35:35 +08:00
5a51a375a4 Initialize camera resolution from VIEW_SIZE constant 2024-01-15 18:33:22 +08:00
5 changed files with 19 additions and 3 deletions

View File

@ -10,6 +10,8 @@ static bool init = false;
static unsigned int width;
static unsigned int height;
static sf::Image image;
int firstperson_init(unsigned int _width, unsigned int _height)
{
printf("firstperson_init()\n");
@ -17,6 +19,9 @@ int firstperson_init(unsigned int _width, unsigned int _height)
width = _width;
height = _height;
init = true;
if (!image.loadFromFile("xd.bmp")) return 0;
return 1;
}
@ -70,11 +75,17 @@ void firstperson_update(sf::RenderTarget* renderTarget, Camera* camera)
renderTexture.draw(rectangle);
}
sf::Texture imageTexture;
sf::Sprite imageSprite;
imageTexture.loadFromImage(image);
imageSprite.setTexture(imageTexture);
renderTexture.draw(imageSprite);
renderTexture.display();
sf::Sprite sprite(renderTexture.getTexture());
sprite.setPosition(renderTexturePosition);
renderTarget->draw(sprite);
renderTarget->draw(sprite);
}
void firstperson_setTexturePosition(float x, float y)

View File

@ -130,6 +130,7 @@ static float castRay(sf::Vector2f point, float direction, TileData* tileData)
if (gridValue) {
tileData->value = gridValue;
tileData->side = goingDown? NORTH : SOUTH;
tileData->horizontalUV = 0.f;
return horizontalRayDist;
}
@ -143,6 +144,7 @@ static float castRay(sf::Vector2f point, float direction, TileData* tileData)
if (gridValue) {
tileData->value = gridValue;
tileData->side = goingRight? WEST : EAST;
tileData->horizontalUV = 0.f;
return verticalRayDist;
}

View File

@ -15,6 +15,7 @@ typedef struct
{
unsigned int value;
level_tileSide side;
float horizontalUV;
} TileData;
int level_init();

View File

@ -7,7 +7,7 @@
#include "minimap.h"
#include "firstperson.h"
#define MINIMAP_SIZE 480
#define MINIMAP_SIZE 512
#define VIEW_SIZE MINIMAP_SIZE*2
static int handleKeyCode(sf::Keyboard::Key key);
@ -21,12 +21,13 @@ static sf::Clock timer;
int view_init()
{
printf("view_init()\n");
if (!camera_init(&camera, sf::Vector2f(10.f/2.f, 10.f/2.f), 0.f, 2<<7, 0.5f*PI)) return 0;
if (!camera_init(&camera, sf::Vector2f(10.f/2.f, 10.f/2.f), 0.f, VIEW_SIZE, 0.5f*PI)) return 0;
if (!minimap_init(MINIMAP_SIZE)) return 0;
if (!firstperson_init(VIEW_SIZE, MINIMAP_SIZE)) return 0;
minimap_setTexturePosition(0.f, 0.f);
firstperson_setTexturePosition(MINIMAP_SIZE, 0.f);
return 1;
}
@ -54,6 +55,7 @@ int view_update()
window.clear();
minimap_update(&window, &camera);
firstperson_update(&window, &camera);
window.display();
return 1;

BIN
xd.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB