diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2022-03-12 12:09:58 -0500 |
|---|---|---|
| committer | Star Rauchenberger <fefferburbia@gmail.com> | 2022-03-12 12:09:58 -0500 |
| commit | be9ccb73bc20b03f62c77f5d529602a10ef4eda9 (patch) | |
| tree | 6f88a9b780a75e52b2f04b6f61167f4ef46590a7 /src/renderer.cpp | |
| parent | c1a88a064a0cddbc1df2e716ef2102d22bbf681b (diff) | |
| download | ether-be9ccb73bc20b03f62c77f5d529602a10ef4eda9.tar.gz ether-be9ccb73bc20b03f62c77f5d529602a10ef4eda9.tar.bz2 ether-be9ccb73bc20b03f62c77f5d529602a10ef4eda9.zip | |
player has a sprite now thanks to world of solaria
Diffstat (limited to 'src/renderer.cpp')
| -rw-r--r-- | src/renderer.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
| diff --git a/src/renderer.cpp b/src/renderer.cpp index 2dac07e..0aaa14a 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp | |||
| @@ -110,6 +110,18 @@ Renderer::Renderer() | |||
| 110 | 110 | ||
| 111 | SDL_SetRenderDrawColor(ren_.get(), 100, 100, 100, 255); | 111 | SDL_SetRenderDrawColor(ren_.get(), 100, 100, 100, 255); |
| 112 | SDL_RenderFillRect(ren_.get(), nullptr); | 112 | SDL_RenderFillRect(ren_.get(), nullptr); |
| 113 | |||
| 114 | { | ||
| 115 | surface_ptr pfs(IMG_Load("../res/player.png")); | ||
| 116 | if (!pfs) | ||
| 117 | { | ||
| 118 | throw img_error(); | ||
| 119 | } | ||
| 120 | |||
| 121 | playerSheet_ = texture_ptr(SDL_CreateTextureFromSurface(ren_.get(), pfs.get())); | ||
| 122 | } | ||
| 123 | |||
| 124 | SDL_SetTextureBlendMode(playerSheet_.get(), SDL_BLENDMODE_BLEND); | ||
| 113 | } | 125 | } |
| 114 | 126 | ||
| 115 | void Renderer::render( | 127 | void Renderer::render( |
| @@ -140,10 +152,7 @@ void Renderer::render( | |||
| 140 | { | 152 | { |
| 141 | bool draw = true; | 153 | bool draw = true; |
| 142 | 154 | ||
| 143 | if ((game.player_x == x && game.player_y == y) && game.renderPlayer) | 155 | if (!game.map.at(x,y).lit) |
| 144 | { | ||
| 145 | SDL_SetRenderDrawColor(ren_.get(), 255, 255, 0, 255); | ||
| 146 | } else if (!game.map.at(x,y).lit) | ||
| 147 | { | 156 | { |
| 148 | if (drawDark) | 157 | if (drawDark) |
| 149 | { | 158 | { |
| @@ -191,6 +200,11 @@ void Renderer::render( | |||
| 191 | TILE_HEIGHT}; | 200 | TILE_HEIGHT}; |
| 192 | 201 | ||
| 193 | SDL_RenderFillRect(ren_.get(), &rect); | 202 | SDL_RenderFillRect(ren_.get(), &rect); |
| 203 | |||
| 204 | if ((game.player_x == x && game.player_y == y) && game.renderPlayer) | ||
| 205 | { | ||
| 206 | SDL_RenderCopy(ren_.get(), playerSheet_.get(), &game.playerAnim.getRenderRect(), &rect); | ||
| 207 | } | ||
| 194 | } | 208 | } |
| 195 | } | 209 | } |
| 196 | } | 210 | } |
