Changed assets and maps, credits and test for tiled export
This commit is contained in:
parent
3bf8c3a991
commit
dde228ca72
8
Makefile
8
Makefile
|
@ -3,13 +3,15 @@ BUILD_DIR = build
|
||||||
|
|
||||||
# Source files
|
# Source files
|
||||||
SOURCES := \
|
SOURCES := \
|
||||||
src/main.cpp \
|
src/test.cpp
|
||||||
src/game_data.cpp
|
# src/main.cpp \
|
||||||
|
# src/game_data.cpp
|
||||||
|
|
||||||
# Assets files
|
# Assets files
|
||||||
ASSETS := \
|
ASSETS := \
|
||||||
assets/player-sheets/player_idle_sheet.png \
|
assets/player-sheets/player_idle_sheet.png \
|
||||||
assets/player-sheets/player_walk_sheet.png
|
assets/player-sheets/player_walk_sheet.png \
|
||||||
|
assets/tileset/tileset.png
|
||||||
|
|
||||||
# Output target name
|
# Output target name
|
||||||
OUTPUT := 2D_Engine_Casio_Tool
|
OUTPUT := 2D_Engine_Casio_Tool
|
||||||
|
|
|
@ -4,13 +4,16 @@
|
||||||
## Description
|
## Description
|
||||||
This tool is used to make game data for the 2D_Engine_Casio [Gitea](https://gitea.skadubpc.net/ulysse/2D_Engine_Casio).
|
This tool is used to make game data for the 2D_Engine_Casio [Gitea](https://gitea.skadubpc.net/ulysse/2D_Engine_Casio).
|
||||||
|
|
||||||
## Licences
|
## Licences and Credits
|
||||||
- This program is open-source : you can redistribute and/or modify it under the term of the **GNU GPLv3**.
|
- This program is open-source : you can redistribute and/or modify it under the term of the **GNU GPLv3**.
|
||||||
Copyright (C) 2025 Ulysse Cura. See [LICENSE](LICENSE) or [gnu.org/licenses/gpl-3.0.html](https://www.gnu.org/licenses/gpl-3.0.html).
|
Copyright (C) 2025 Ulysse Cura. See [LICENSE](LICENSE) or [gnu.org/licenses/gpl-3.0.html](https://www.gnu.org/licenses/gpl-3.0.html).
|
||||||
|
|
||||||
- Files from the gint project are used but not modified in directory [gint](gint).
|
- Files from the gint project are used in directory [gint](gint).
|
||||||
[Git](https://git.planet-casio.com/Lephenixnoir/gint)
|
[Git](https://git.planet-casio.com/Lephenixnoir/gint)
|
||||||
|
|
||||||
- Folder [src/nlohmann/json](src/nlohmann/json) contains code under **MIT license** :
|
- Folder [src/nlohmann/json](src/nlohmann/json) contains code under **MIT license** :
|
||||||
Copyright (c) 2013-2025 Niels Lohmann. See [src/nlohmann/json/LICENSE.MIT](src/nlohmann/json/LICENSE.MIT).
|
Copyright (c) 2013-2025 Niels Lohmann. See [LICENSE.MIT](src/nlohmann/json/LICENSE.MIT).
|
||||||
[GitHub](https://github.com/nlohmann/json)
|
[GitHub](https://github.com/nlohmann/json)
|
||||||
|
|
||||||
|
- Assets are taken from the free pack offered by [Anokolisa](https://anokolisa.itch.io/).
|
||||||
|
See [Terms.pdf]()
|
||||||
|
|
Binary file not shown.
|
@ -0,0 +1,24 @@
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,1483,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,1532,0,0,0,794,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,1581,0,904,905,1046,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,2176,2177,2178,2179,2180,2181,2182,0,1543,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,2225,2226,2227,2228,2229,2230,2231,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,1729,2326,2327,2274,2275,2276,2277,2278,2279,2280,2176,2177,2178,2179,2180,2181,2182,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,2176,2177,2178,2180,2181,1778,2375,2376,0,0,0,0,0,0,0,2225,2226,2227,2228,2229,2230,2231,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,2225,2226,2227,2229,2230,2231,0,0,0,0,0,0,0,0,0,2274,2275,2276,2277,2278,2279,2280,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,2274,2275,2276,2278,2279,2280,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
|
|
@ -1,4 +1,29 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<map version="1.10" tiledversion="1.11.1" orientation="orthogonal" renderorder="left-up" width="25" height="14" tilewidth="16" tileheight="16" infinite="0" nextlayerid="3" nextobjectid="1">
|
<map version="1.10" tiledversion="1.11.1" orientation="orthogonal" renderorder="left-up" width="32" height="24" tilewidth="16" tileheight="16" infinite="0" nextlayerid="10" nextobjectid="8">
|
||||||
<tileset firstgid="1" source="tileset.tsx"/>
|
<editorsettings>
|
||||||
|
<export target="dungeon_entry.example" format="example"/>
|
||||||
|
</editorsettings>
|
||||||
|
<tileset firstgid="1" source="../tileset/tileset.tsx"/>
|
||||||
|
<group id="4" name="Background">
|
||||||
|
<layer id="3" name="Background Layer 1" width="32" height="24">
|
||||||
|
<data encoding="base64" compression="zlib">
|
||||||
|
eJx9ljlsU0EQhtfv2c+OAkgcCYlEABGnAiooOSRuKKAAXAENDQ0VIeHogkHiMDRQuAcSjgKQDFKAECSgCBU0QUkeBhLsSAlHaij4V2+HNztvneLT857/zOzsrKueUp9BlREadP8keAPGfaUmQAguo30FXAXXQMnM1Wtac0otB22gPZfcW7d/BUr9BnOBvW+V2VLO2O0FaaUWgkVgEO3n4AV4CYbMnG7o7QZ7wF6wLxfZ1MnsewSdx+CJH/XxfU+g/TSI5o1k4jWbMLYZbAFbwQz6ZsEP8FP7Y/bvhd4ZcBacA+fBQfQfAofBF2h+Bd/AJJjyo/1p3zLz9w/0/2bic+BxXIF1HWAlWGX8OI65A9C7B+6DB+AhKGLsIrgEFkNjCVgKloGWdLw3+foerEUM1oH1Qaxf9ZJnecCP+25C/xYYg+Y4mABjaFd0TMEzsA1628EOsBPsSkf7U86RDUegexQcC2z7ZH7mMnHfW/x+B5qbcKZNUV+zsb8OpsEp6HWD06AH9KZjTUKvK2HddXAjsG2jGBSUUnkVfTVdBj2WziRjSmtvQ+8OuAv6wQAoZu0z1r+HoPsKDIPXxoY12H8a1Nm37mh3qni/k4E7dlWmVzH6JT8e5/czNNoXQBFUDDXwAWMfveh30dAn7OB5w22hsRr069l4bNjcidXZ6N6S9nemS3iY6/txv/5Omd99xgbSGgyScdBtqlXUnjP6/N5q7fYU5go2YO5G3+5rSdl2kOYM9GeDZAyoVvF+/eX3Vmu3pew7wu8Nr9etwo7/NQPx7MgmY0C1SuY5v7daW+aRrOnyjLUdfE/Nfuj3+Lb/vFbRelpTd5yXzF9uc6O48Pj0+7atVKv0b/428H2lfujZvode0vZQ9OtcHsW+n8zeZVEnXG8DjRWUHW+Xb7I+8/jwXKa5IxnbD9fbwH1p9AaEos3jQOt4LpNd9L5R2/U28Phwf7RG3tTgLpXUlTWG5zL10/tGbdfbIP3msaa6X1B2DGTMdL7XvCiXXe8b7SnfBleO05d8p3dI5jg/C8p3Poe/b/JcR9NRrZzvPpHfFIP57gPlO4e/b9wvjX7TZa2U51lQ9hvs+g8h48f7+PvmymGqlfLcXbmXZzGQdcB1ZxvdEZnjLl+4nwVhg/SXn6m8Ezym/wB9MCI6
|
||||||
|
</data>
|
||||||
|
</layer>
|
||||||
|
<layer id="5" name="Background Layer 2" width="32" height="24">
|
||||||
|
<data encoding="base64" compression="zlib">
|
||||||
|
eJyNlnuIFVUcx8+9d2buHVN01UpLl7trrJJh+Nwso9J1IfABaqlUGOnuXVFXKU0skkQCCwlrodWgtTBL1tc/4a6KCu72sLeStttDI1DXtdRMkzSjz+n8hjkze2/5x2fO+/f9zXn8zmlMKbUVtsF2qHGUmg+Pekr9nFSqBRJKqQ8lXSPpIt+kmsXkx2eUmgB9XKX6ws1wC/xGh4swEJvFcA67L6KzKhWO14zB7nHqNtDnTcfU9aHcF26i/AftV2B3Mjou8OMA9ZXoV6A5ESqhhLpSeJj8FGxMdaJjS9MmraZPTuzOJ23CxwWknzHuXsaU4cNgGAKd1C/0o3ZqKV+gfiT9l8GzsBymUbeC9Dk4EfvfgPuxX0+/9aJ/Gu0OL2z/hLEzGTsLFtO3f6qrdlbq5tG3Ct6HLbAam42kW6GXk1+/1jF2D9H3U/Hhc9IvJP8nY9dgfyN93oZ3oJ/2Q+xVoj/cmo836N8G7a4pf0/6AzxUQN+2ew3Nv+A6/C36zWjnGL+HdK/8p0c5LfZ9N7R1BBsfU/6GtClj6k5hpwfz+XQB/QG034ndoXAXrKXvMNK7RWsd5U7yPv3q+c8V7JlRNNTEGA1X0B5L/9Nod8A48rcyth9sQn+Il9+Hx2h/HJ6AffSZQ/qktc6b3KjmvERXG3MtPxZgI4u/RbF1O+qY/fQtaRu0y5ysFa1XU+Z8riN9LWXO7UdJo51PMx+2Hw3YmiDr97Jn1k3vp4wbXbd99NkPB8SPLHN8UPI3qt3CpxW6Z0I/tA9LsbNb5r0czXv0GulzDSvl/+vocx4uiObFAmf1v7jE5zI04vt3EldegutkOq11P4l/29HdATuhBa1WyJKfSb9S0kF59upXVt302D4aHotHZxOh/jDW73bxpwKdYvLHsXUCfoJL1F2G5/FrIXYXQW2effoUGq9TX1dgD2vfb0uFZyrQn0N+EpqT4T1p76njERTJHijDj5W0veWZPXOSMdXS9ogK7Wqu3cBeOKRjIukMPVd6LyfNXg70H9TxCMaLxg7qf8xEbdS75txOJ78LSrSf8u912L8a8+OM5WOgre/Dioy5g3T9HZK2S99n0OiOrR6yfq/E1j04t1UJ40fJ//x3VnydIeWlaC+z/iuDLR+6ic676Dc75m7YA3tj+jqOHcTncfh3nx/ORZOwK4bWPeyb9VrN2M0ZcwfZNvV9etU6+2OY03I4S/0v8CsM9rrGSm3zAWxXQbUfxkN9xkdRHi1zqP390g/j3gf6XWCtTTPloZbtHPkaGIBPA6EYZlGeXeAMBPlyWf9cIvQpaDsi+VMy98tFvwPtM7H5WI/OBpis3yj6rvVMrNxirUVbbK/ZMTGX5zxMi8Wv4A7qL/eb3fY1OoflbjjmmFi5yg3vhn/3YSy+BP8+gk+15BvyxKwgDgVr0Zo091ukH1pJ2Cl3emesvUG0FW2/J6P6QYyP6+o34RLfxKFgv2/WcS5p7je77wjXvNvsuyGiL/+10ZoDfR5HFvChrJt5k72QCvf7UfLHUuE7Ut9vJWnz/pzrmndbEX71hvMJEyunpKN+TLLWVMca24dgD9hxUr/Jx4rvHmnaCd+Rs61+/wBAje4m
|
||||||
|
</data>
|
||||||
|
</layer>
|
||||||
|
<layer id="7" name="Background Layer 3" width="32" height="24">
|
||||||
|
<data encoding="base64" compression="zlib">
|
||||||
|
eJy1lltsTEEYgM/udrttwgtqK/VCNBWJiGLrEhGSXlDUbakmiKhLQiI88KDthlTdxTXSxJNGkLilVWnwIIg2eJIQL9p6EFIiVLd4EN9k/7XjdM7e6MN35pzZmfn+mfPPznFZluXSWJFpWSthi9eytnr//k2xI3tgneK427JysgbW+xkjF3p5qPVYVp3H3F9RxBj1uA9kRp4b6feNuj63c58/0LbE5i+lrkzmMI4xbtjczQ6xdGjzzo8Tb5TJtC80rNUeQ10iGonzp9YvqPkrub+aMbDPBq39Je3+SpL+9jjr24BzBO88B0aCH3JhscRVQblUi/FVinPu4fJDzdkhhnXkQhvjl+AshTKYb8vBR5rzBeuTTZ+h0mZIZnz/ch8574s9TzS875OM0UP9R/mtCN90mAEzoQ/C4FF1tPVSfqZhF3OaLf6COHHUa/61Bv85xmlSueyLP5eptJkGAdgmvmEy3mqeK+Gl5E8e5Wi5b2XcOzL2CWn/xRUpv9LnSTL7TyOb9hfoN0/GOiix7GN/+ohtId5yWKTl8nv8G6X9A8qx4lT7Nj9Ff5RdjPOMm+cyl2b8LbAXb41tH42i/qz4l6Xp227Ly81cQszrlytW98khDxbgn6XWmhj2p+m3o/y38E/SxitWe8mQY2Hq+uE7tPxH/1v8623j7Tb4CzIiZ0MIumn/TvoUudJzF3LZBMOzYrncK+VlT+x8C+JdlRE5Gyop10AV+CXGai5TUowh6lb3Y2xzV7l8Xv6v1PnWgKsT1yHJxyOUR+EY3JbzbA55FUgiDuUNaG6XIZeD7tj59lTKNm0v3OP+vuGMia5FIA6614kGWzwfcM118P0rav2Kbbk2wbD/dg6S30SVwX9R8y/hnVTA4QTnVrvDd5gJle+nWPfTcMawt2vw1UIdhCQn7ibwp8Jr/A/F+9jmv4bvujhvpvG91JHEOjR5It+R6j5M2a/F8AZnJ3RBN+QlOGPTRf+OHG/4/6uWuZcPkj9ocCp+A7wWfQ4=
|
||||||
|
</data>
|
||||||
|
</layer>
|
||||||
|
</group>
|
||||||
|
<layer id="6" name="Foreground" width="32" height="24">
|
||||||
|
<data encoding="base64" compression="zlib">
|
||||||
|
eJy9lrtLw1AUh2+TmoeTirZCQXDTxUlBdFLUKgjiIv4NriLURamPVrvqILiKWAeV1kfBToJODjqJOmip1VZw6iz4C0lomt7U3N7q8NGS9Jzv9Nzcc+MhhHjqwJ2XkHsvf55+gZCdhtpihRrj7MwJpe+3dcrJwq7F/23zB8T/raVH0j834Y0BP2WNt/6xR2GFkBWwCtbAOoiAqKLfV4x6G6W/8SfgSYJTcAbOwQVIKaXfDMA9aPgzAr/zCrn8KiHtIAvPG8iBd/AB8qCg0HuTMPoTUdy5rDm0+CIuFuEfh3tCra03Zn0xqXLdaDk6BT0HrbfVqNYb7f4l/GmpvDYzdluszGHGz9SwhksyIcuy0VO5/J61NvPaNfw3Dns7yug/gu8YnMhscU6kGP0v8L6CjOHPuqyjC7OlG4QtfcjDXWD0N6GvzaAFTLt8dmZtcy0p6s+pdba4ZQi/H2aI2XA4N3Ni5fMvYg96f9mHGvOMNdPwecv3j0Yv3H1gUaXXZM6PPQb/p8P/D1KuH8ATB4e2HoSMmqwzaMTlWRlwOL9CFP8jHE/gWaXXZJ0fCy79kw7+OMP7lL0mjX3Od4U05xn6wOn/4vQrnO+jHRzzsxVr0QZ8aunsZs0xxeEfhW8MBNXqZ/cPhvR1yg==
|
||||||
|
</data>
|
||||||
|
</layer>
|
||||||
</map>
|
</map>
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<tileset version="1.10" tiledversion="1.11.1" name="tileset" tilewidth="16" tileheight="16" tilecount="1000" columns="1000">
|
|
||||||
<image source="../tileset/tileset.png" width="16000" height="16"/>
|
|
||||||
</tileset>
|
|
Binary file not shown.
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 242 KiB |
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<tileset version="1.10" tiledversion="1.11.1" name="tileset" tilewidth="16" tileheight="16" tilecount="1000" columns="1000">
|
<tileset version="1.10" tiledversion="1.11.1" name="tileset" tilewidth="16" tileheight="16" tilecount="2646" columns="49">
|
||||||
<image source="tileset.png" width="16000" height="16"/>
|
<image source="tileset.png" width="784" height="864"/>
|
||||||
</tileset>
|
</tileset>
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
struct texture_t builtin_textures[NB_TEXTURES] = {
|
struct texture_t builtin_textures[NB_TEXTURES] = {
|
||||||
{"player_idle_sheet", &img_player_idle_sheet},
|
{"player_idle_sheet", &img_player_idle_sheet},
|
||||||
{"player_run_sheet", &img_player_walk_sheet}
|
{"player_walk_sheet", &img_player_walk_sheet}
|
||||||
};
|
};
|
||||||
|
|
||||||
void load_json_into_game_data(json *json_input, game_data_t *bin_output)
|
void load_json_into_game_data(json *json_input, game_data_t *bin_output)
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define GAME_DATA_HPP
|
#define GAME_DATA_HPP
|
||||||
|
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include "gint/display-cg.h"
|
#include <gint/display-cg.h>
|
||||||
#include "nlohmann/json/json.hpp"
|
#include "nlohmann/json/json.hpp"
|
||||||
|
|
||||||
using nlohmann::json;
|
using nlohmann::json;
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <gint/display-cg.h>
|
||||||
|
|
||||||
|
extern bopti_image_t img_tileset;
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
int16_t value = 0;
|
||||||
|
printf("colorcount:%d, value:%d\n", img_tileset.color_count, value);
|
||||||
|
printf("width:%d, height:%d\n", img_tileset.width, img_tileset.height);
|
||||||
|
printf("totalsize:%ld\n", sizeof(img_tileset) + img_tileset.width * img_tileset.height);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
50
test.json
50
test.json
|
@ -1,50 +0,0 @@
|
||||||
{
|
|
||||||
"value": 42,
|
|
||||||
"str": "You should eat more bread",
|
|
||||||
"list": [
|
|
||||||
3,
|
|
||||||
5,
|
|
||||||
7
|
|
||||||
],
|
|
||||||
|
|
||||||
"object": {
|
|
||||||
"value2": 24,
|
|
||||||
"str2": "XD",
|
|
||||||
"list2": [
|
|
||||||
4,
|
|
||||||
6,
|
|
||||||
8
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
"object_list": [
|
|
||||||
{
|
|
||||||
"name": "Aaron",
|
|
||||||
"age": 12,
|
|
||||||
"passions": [
|
|
||||||
"Showering",
|
|
||||||
"Eating",
|
|
||||||
"Parking"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Suzann",
|
|
||||||
"age": 27,
|
|
||||||
"passions": [
|
|
||||||
"Sleeping",
|
|
||||||
"Horsing",
|
|
||||||
"Parachuting"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Heliott",
|
|
||||||
"age": 35,
|
|
||||||
"passions": [
|
|
||||||
"Watching",
|
|
||||||
"Baking",
|
|
||||||
"Running"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
]
|
|
||||||
}
|
|
Loading…
Reference in New Issue