Просмотр исходного кода

A lot of refactoring and pixelbug fixing, still WIP...

master
Ognjen Milan Robovic 3 недель назад
Родитель
Сommit
394ee1f98e
14 измененных файлов: 28 добавлений и 24 удалений
  1. +14
    -13
      source/core.adb
  2. +13
    -10
      source/core.ads
  3. +1
    -1
      source/ui.adb
  4. Двоичные данные
      sprite/ui/dwarf/title_bar_left.png
  5. Двоичные данные
      sprite/ui/dwarf/title_bar_middle.png
  6. Двоичные данные
      sprite/ui/dwarf/title_bar_right.png
  7. Двоичные данные
      sprite/ui/fairy/title_bar_middle.png
  8. Двоичные данные
      sprite/ui/imp/title_bar_middle.png
  9. Двоичные данные
      sprite/ui/kobold/title_bar_left.png
  10. Двоичные данные
      sprite/ui/kobold/title_bar_middle.png
  11. Двоичные данные
      sprite/ui/kobold/title_bar_right.png
  12. Двоичные данные
      sprite/ui/main/title_bar_left.png
  13. Двоичные данные
      sprite/ui/main/title_bar_middle.png
  14. Двоичные данные
      sprite/ui/main/title_bar_right.png

+ 14
- 13
source/core.adb Просмотреть файл

@@ -184,21 +184,22 @@ package body core is
------------------------------------------------------------------------------------------

procedure draw (data : in sprite;
x : in integer := 0;
y : in integer := 0;
u : in integer := 0;
v : in integer := 0;
width : in integer := 0;
height : in integer := 0;
state : in integer := 0) is
resize : vector := (0, 0);
x : in integer := 0;
y : in integer := 0;
u : in integer := 0;
v : in integer := 0;
width : in integer := 0;
height : in integer := 0;
state : in integer := 0;
factor : in integer := zoom;
tint : in ray.colour := (others => 255)) is
new_width : constant float := float ((if width = 0 then data.width else width));
new_height : constant float := float ((if height = 0 then data.height else height));
begin
resize.x := (if width = 0 then data.width else width);
resize.y := (if height = 0 then data.height else height);
--
ray.draw_texture (data => texture_array (data.index),
uv => (float (if u = 0 then (animation_time mod data.frames) * data.width else u), float (v), float (resize.x), float (resize.y)),
view => (float (x), float (y), float (resize.x) * float (zoom), float (resize.y) * float (zoom)));
uv => (float (if u = 0 then (animation_time mod data.frames) * data.width else u), float (v), new_width, new_height),
view => (float (x), float (y), new_width * float (factor), new_height * float (factor)),
tint => tint);
end draw;

------------------------------------------------------------------------------------------


+ 13
- 10
source/core.ads Просмотреть файл

@@ -2,8 +2,8 @@
--
-- GNU General Public Licence (version 3 or later)

with ada.text_io, ada.strings.unbounded;
use ada.text_io, ada.strings.unbounded;
with ada.text_io, ada.strings.unbounded, ray;
use ada.text_io, ada.strings.unbounded, ray;

package core is

@@ -77,7 +77,8 @@ package core is
global_time : natural := 0;
gameplay_time : natural := 0;
animation_time : natural := 0;
zoom : natural := 1;

zoom : natural := 1;

block_limit : constant natural := 40;
block_count : natural := 0;
@@ -108,13 +109,15 @@ package core is
function import_song (file_path : in string) return song;

procedure draw (data : in sprite;
x : in integer := 0;
y : in integer := 0;
u : in integer := 0;
v : in integer := 0;
width : in integer := 0;
height : in integer := 0;
state : in integer := 0);
x : in integer := 0;
y : in integer := 0;
u : in integer := 0;
v : in integer := 0;
width : in integer := 0;
height : in integer := 0;
state : in integer := 0;
factor : in integer := zoom;
tint : in ray.colour := (others => 255));

procedure write (text : in string := "";
x : in integer := 0;


+ 1
- 1
source/ui.adb Просмотреть файл

@@ -347,7 +347,7 @@ package body ui is
--
draw_horizontally (title_bar_middle, x + sprite (active, title_bar_left).width, y - sprite (active, title_bar_middle).height, middle_width);
--
core.write (title, x + sprite (active, title_bar_left).width / 2 + 20, y - sprite (active, title_bar_middle).height / 2 - 6, font (active));
write (title, x + sprite (active, title_bar_left).width, y - sprite (active, title_bar_middle).height / 2 - 12); -- 12 = font.height / 2
end draw_title_bar;

------------------------------------------------------------------------------------------


Двоичные данные
sprite/ui/dwarf/title_bar_left.png Просмотреть файл

До После
Ширина: 48  |  Высота: 48  |  Размер: 569B Ширина: 48  |  Высота: 48  |  Размер: 511B

Двоичные данные
sprite/ui/dwarf/title_bar_middle.png Просмотреть файл

До После
Ширина: 24  |  Высота: 48  |  Размер: 154B Ширина: 24  |  Высота: 48  |  Размер: 155B

Двоичные данные
sprite/ui/dwarf/title_bar_right.png Просмотреть файл

До После
Ширина: 24  |  Высота: 48  |  Размер: 425B Ширина: 48  |  Высота: 48  |  Размер: 403B

Двоичные данные
sprite/ui/fairy/title_bar_middle.png Просмотреть файл

До После
Ширина: 24  |  Высота: 48  |  Размер: 180B Ширина: 24  |  Высота: 40  |  Размер: 180B

Двоичные данные
sprite/ui/imp/title_bar_middle.png Просмотреть файл

До После
Ширина: 24  |  Высота: 48  |  Размер: 154B Ширина: 24  |  Высота: 38  |  Размер: 151B

Двоичные данные
sprite/ui/kobold/title_bar_left.png Просмотреть файл

До После
Ширина: 48  |  Высота: 48  |  Размер: 950B Ширина: 48  |  Высота: 48  |  Размер: 972B

Двоичные данные
sprite/ui/kobold/title_bar_middle.png Просмотреть файл

До После
Ширина: 24  |  Высота: 48  |  Размер: 211B Ширина: 24  |  Высота: 48  |  Размер: 215B

Двоичные данные
sprite/ui/kobold/title_bar_right.png Просмотреть файл

До После
Ширина: 32  |  Высота: 48  |  Размер: 616B Ширина: 32  |  Высота: 48  |  Размер: 687B

Двоичные данные
sprite/ui/main/title_bar_left.png Просмотреть файл

До После
Ширина: 48  |  Высота: 48  |  Размер: 713B Ширина: 48  |  Высота: 48  |  Размер: 718B

Двоичные данные
sprite/ui/main/title_bar_middle.png Просмотреть файл

До После
Ширина: 24  |  Высота: 48  |  Размер: 143B Ширина: 24  |  Высота: 48  |  Размер: 143B

Двоичные данные
sprite/ui/main/title_bar_right.png Просмотреть файл

До После
Ширина: 24  |  Высота: 48  |  Размер: 223B Ширина: 24  |  Высота: 48  |  Размер: 225B

Загрузка…
Отмена
Сохранить