graphics: continue to rewrite code to be more simple ;
retrieve modifications to allow to load some graphics with different resolutions: actionhelp, bigscenpics, fighthelp, invenhelp, outhelp, scenpics, stathelp, townhelp, dlogpics, dlogscrollled, dlogscrollwh, edbuttons, edsplash, pcedtitle.
This commit is contained in:
@@ -129,13 +129,14 @@ ePicType cPict::getPicType(){
|
|||||||
return picType;
|
return picType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AsanU: unset
|
||||||
cPict::cPict(cDialog& parent) :
|
cPict::cPict(cDialog& parent) :
|
||||||
cControl(CTRL_PICT,parent) {
|
cControl(CTRL_PICT,parent), drawScaled(false) {
|
||||||
setFormat(TXT_FRAME, FRM_SOLID);
|
setFormat(TXT_FRAME, FRM_SOLID);
|
||||||
}
|
}
|
||||||
|
|
||||||
cPict::cPict(sf::RenderWindow& parent) :
|
cPict::cPict(sf::RenderWindow& parent) :
|
||||||
cControl(CTRL_PICT, parent) {
|
cControl(CTRL_PICT, parent), drawScaled(false) {
|
||||||
setFormat(TXT_FRAME, FRM_SOLID);
|
setFormat(TXT_FRAME, FRM_SOLID);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -577,15 +578,14 @@ void cPict::recalcRect() {
|
|||||||
case PIC_CUSTOM_FULL:
|
case PIC_CUSTOM_FULL:
|
||||||
if(drawScaled) break;
|
if(drawScaled) break;
|
||||||
auto sheet = getSheet(SHEET_FULL, picNum);
|
auto sheet = getSheet(SHEET_FULL, picNum);
|
||||||
sf::Vector2u sz = sheet->getSize();
|
bounds.width() = sheet->dimension.x;
|
||||||
bounds.width() = sz.x;
|
bounds.height() = sheet->dimension.y;
|
||||||
bounds.height() = sz.y;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
setBounds(bounds);
|
setBounds(bounds);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<const sf::Texture> cPict::getSheet(eSheetType type, size_t n) {
|
std::shared_ptr<const Texture> cPict::getSheet(eSheetType type, size_t n) {
|
||||||
std::ostringstream sout;
|
std::ostringstream sout;
|
||||||
bool purgeable = false;
|
bool purgeable = false;
|
||||||
switch(type) {
|
switch(type) {
|
||||||
@@ -672,7 +672,7 @@ std::shared_ptr<const sf::Texture> cPict::getSheet(eSheetType type, size_t n) {
|
|||||||
sout << "sheet" << n;
|
sout << "sheet" << n;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return &ResMgr::graphics.get(sout.str(), purgeable);
|
return &ResMgr::textures.get(sout.str(), purgeable);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cPict::draw(){
|
void cPict::draw(){
|
||||||
@@ -862,7 +862,7 @@ void cPict::drawPresetItem(short num, rectangle to_rect){
|
|||||||
to_rect.right = to_rect.left + 28;
|
to_rect.right = to_rect.left + 28;
|
||||||
to_rect.bottom = to_rect.top + 36;
|
to_rect.bottom = to_rect.top + 36;
|
||||||
fill_rect(*inWindow, to_rect, sf::Color::Black);
|
fill_rect(*inWindow, to_rect, sf::Color::Black);
|
||||||
std::shared_ptr<const sf::Texture> from_gw;
|
std::shared_ptr<const Texture> from_gw;
|
||||||
rectangle from_rect = {0,0,18,18};
|
rectangle from_rect = {0,0,18,18};
|
||||||
if(num < 55) {
|
if(num < 55) {
|
||||||
from_gw = getSheet(SHEET_ITEM);
|
from_gw = getSheet(SHEET_ITEM);
|
||||||
@@ -916,9 +916,9 @@ void cPict::drawPresetBoom(short num, rectangle to_rect){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void cPict::drawFullSheet(short num, rectangle to_rect){
|
void cPict::drawFullSheet(short num, rectangle to_rect){
|
||||||
rectangle from_rect;
|
|
||||||
auto from_gw = getSheet(SHEET_FULL, num);
|
auto from_gw = getSheet(SHEET_FULL, num);
|
||||||
from_rect = rectangle(*from_gw);
|
if (!from_gw) return;
|
||||||
|
rectangle from_rect = rectangle(*from_gw);
|
||||||
if(!drawScaled) {
|
if(!drawScaled) {
|
||||||
to_rect.right = to_rect.left + (from_rect.right - from_rect.left);
|
to_rect.right = to_rect.left + (from_rect.right - from_rect.left);
|
||||||
to_rect.bottom = to_rect.top + (from_rect.bottom - from_rect.top);
|
to_rect.bottom = to_rect.top + (from_rect.bottom - from_rect.top);
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
#include <map>
|
#include <map>
|
||||||
#include "control.hpp"
|
#include "control.hpp"
|
||||||
#include "pictypes.hpp"
|
#include "pictypes.hpp"
|
||||||
|
#include "texture.hpp"
|
||||||
|
|
||||||
/// A simple icon.
|
/// A simple icon.
|
||||||
/// This control can also be made clickable.
|
/// This control can also be made clickable.
|
||||||
@@ -87,7 +88,7 @@ public:
|
|||||||
cPict& operator=(cPict& other) = delete;
|
cPict& operator=(cPict& other) = delete;
|
||||||
cPict(cPict& other) = delete;
|
cPict(cPict& other) = delete;
|
||||||
private:
|
private:
|
||||||
static std::shared_ptr<const sf::Texture> getSheet(eSheetType type, size_t n = 0);
|
static std::shared_ptr<const Texture> getSheet(eSheetType type, size_t n = 0);
|
||||||
static short animFrame;
|
static short animFrame;
|
||||||
pic_num_t picNum;
|
pic_num_t picNum;
|
||||||
ePicType picType;
|
ePicType picType;
|
||||||
|
@@ -395,7 +395,7 @@ void cScrollbar::draw_horizontal() {
|
|||||||
draw_rect.width() = btn_size;
|
draw_rect.width() = btn_size;
|
||||||
if(depressed && pressedPart == PART_UP)
|
if(depressed && pressedPart == PART_UP)
|
||||||
from_rect = up_rect[style][HORZ_PRESSED];
|
from_rect = up_rect[style][HORZ_PRESSED];
|
||||||
sf::Texture scroll_gw = *ResMgr::graphics.get(scroll_textures[style]);
|
auto const &scroll_gw = *ResMgr::textures.get(scroll_textures[style]);
|
||||||
rect_draw_some_item(scroll_gw, from_rect, *inWindow, draw_rect);
|
rect_draw_some_item(scroll_gw, from_rect, *inWindow, draw_rect);
|
||||||
if(pos > 0) {
|
if(pos > 0) {
|
||||||
from_rect = bar_rect[style][HORZ];
|
from_rect = bar_rect[style][HORZ];
|
||||||
@@ -458,7 +458,7 @@ void cScrollbar::draw_vertical() {
|
|||||||
draw_rect.height() = btn_size;
|
draw_rect.height() = btn_size;
|
||||||
if(depressed && pressedPart == PART_UP)
|
if(depressed && pressedPart == PART_UP)
|
||||||
from_rect = up_rect[style][VERT_PRESSED];
|
from_rect = up_rect[style][VERT_PRESSED];
|
||||||
sf::Texture scroll_gw = *ResMgr::graphics.get(scroll_textures[style]);
|
auto const &scroll_gw = *ResMgr::textures.get(scroll_textures[style]);
|
||||||
rect_draw_some_item(scroll_gw, from_rect, *inWindow, draw_rect);
|
rect_draw_some_item(scroll_gw, from_rect, *inWindow, draw_rect);
|
||||||
if(pos > 0) {
|
if(pos > 0) {
|
||||||
from_rect = bar_rect[style][VERT];
|
from_rect = bar_rect[style][VERT];
|
||||||
|
@@ -32,25 +32,50 @@ struct Texture {
|
|||||||
return rectangle(0, 0, dimension.y, dimension.x);
|
return rectangle(0, 0, dimension.y, dimension.x);
|
||||||
}
|
}
|
||||||
static sf::Vector2u getApplicationDimension(std::string const &name) {
|
static sf::Vector2u getApplicationDimension(std::string const &name) {
|
||||||
|
if (name.size()<5 || name.substr(name.size()-4)!=".png") return {0,0};
|
||||||
|
std::string const base=name.substr(0,name.size()-4);
|
||||||
static std::map<std::string, sf::Vector2u> nameToDimensions = {
|
static std::map<std::string, sf::Vector2u> nameToDimensions = {
|
||||||
{ "buttons.png", {192,115} },
|
{ "actionhelp", {275,100} },
|
||||||
{ "spidlogo.png", {350,350} },
|
{ "bigscenpics", {256,64} },
|
||||||
{ "inventory.png", {271,144} },
|
{ "booms", {224,252} },
|
||||||
|
{ "buttons", {192,115} },
|
||||||
|
{ "dlogpics", {144,360} },
|
||||||
|
{ "fields", {224,144} },
|
||||||
|
{ "fighthelp", {320,125} },
|
||||||
|
{ "invenhelp", {138,112} },
|
||||||
|
{ "inventory", {271,144} },
|
||||||
|
{ "missiles", {144,288} },
|
||||||
|
{ "objects", {140,396} },
|
||||||
|
{ "outhelp", {320,125} },
|
||||||
{ "pcedbuttons", {114,57} },
|
{ "pcedbuttons", {114,57} },
|
||||||
{ "startanim.png", {280,590} },
|
{ "pcs", {280,576} },
|
||||||
{ "startbut.png", {301,48} },
|
{ "scenpics", {160,224} },
|
||||||
{ "startsplash.png", {640,480} },
|
{ "spidlogo", {350,350} },
|
||||||
{ "startup.png", {602, 322} },
|
{ "startanim", {280,590} },
|
||||||
{ "statarea.png", {271,116} },
|
{ "startbut", {301,48} },
|
||||||
{ "terscreen.png", {278,350} },
|
{ "startsplash", {640,480} },
|
||||||
{ "textbar.png", {279,22} },
|
{ "startup", {602,322} },
|
||||||
{ "transcript.png", {256,138} },
|
{ "statarea", {271,116} },
|
||||||
|
{ "stathelp", {106,29} },
|
||||||
|
{ "staticons", {36,120} },
|
||||||
|
{ "talkportraits", {320,288} },
|
||||||
|
{ "teranim", {672,180} },
|
||||||
|
{ "termap", {252,576} },
|
||||||
|
{ "terscreen", {278,350} },
|
||||||
|
{ "textbar", {279,22} },
|
||||||
|
{ "tinyobj", {180,252} },
|
||||||
|
{ "townhelp", {320,125} },
|
||||||
|
{ "transcript", {256,138} },
|
||||||
};
|
};
|
||||||
auto const &it=nameToDimensions.find(name);
|
auto const &it=nameToDimensions.find(base);
|
||||||
if (it!=nameToDimensions.end())
|
if (it!=nameToDimensions.end())
|
||||||
return it->second;
|
return it->second;
|
||||||
else
|
// now check the special case terXXX.png and monstXXX.png
|
||||||
return {0,0};
|
if (base.size()>=4 && base.substr(0,3)=="ter" && base.substr(3).find_first_not_of( "0123456789" ) == std::string::npos)
|
||||||
|
return {280,180};
|
||||||
|
if (base.size()>=6 && base.substr(0,5)=="monst" && base.substr(5).find_first_not_of( "0123456789" ) == std::string::npos)
|
||||||
|
return {224,360};
|
||||||
|
return {0,0};
|
||||||
}
|
}
|
||||||
std::shared_ptr<sf::Texture> texture;
|
std::shared_ptr<sf::Texture> texture;
|
||||||
sf::Vector2u dimension;
|
sf::Vector2u dimension;
|
||||||
|
@@ -188,13 +188,13 @@ void init_main_buttons() {
|
|||||||
|
|
||||||
void Set_up_win () {
|
void Set_up_win () {
|
||||||
// Preload the main PC editor interface images
|
// Preload the main PC editor interface images
|
||||||
ResMgr::graphics.get("pcedtitle");
|
ResMgr::textures.get("pcedtitle");
|
||||||
ResMgr::graphics.get("icon");
|
ResMgr::textures.get("icon");
|
||||||
ResMgr::graphics.get("invenbtns");
|
ResMgr::textures.get("invenbtns");
|
||||||
ResMgr::graphics.get("staticons");
|
ResMgr::textures.get("staticons");
|
||||||
ResMgr::graphics.get("dlogpics");
|
ResMgr::textures.get("dlogpics");
|
||||||
ResMgr::textures.get("pcedbuttons");
|
ResMgr::textures.get("pcedbuttons");
|
||||||
ResMgr::graphics.get("pcs");
|
ResMgr::textures.get("pcs");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void draw_main_screen();
|
static void draw_main_screen();
|
||||||
@@ -239,12 +239,12 @@ void draw_main_screen() {
|
|||||||
tileImage(mainPtr,windRect,bg[12]);
|
tileImage(mainPtr,windRect,bg[12]);
|
||||||
mainPtr.setView(mainView);
|
mainPtr.setView(mainView);
|
||||||
|
|
||||||
sf::Texture& icon_gworld = *ResMgr::graphics.get("icon");
|
auto const & icon_gworld = *ResMgr::textures.get("icon");
|
||||||
dest_rec = source_rect = rectangle(icon_gworld);
|
dest_rec = source_rect = rectangle(icon_gworld);
|
||||||
dest_rec.offset(23, 16);
|
dest_rec.offset(23, 16);
|
||||||
rect_draw_some_item(icon_gworld,source_rect,mainPtr,dest_rec);
|
rect_draw_some_item(icon_gworld,source_rect,mainPtr,dest_rec);
|
||||||
|
|
||||||
sf::Texture& title_gworld = *ResMgr::graphics.get("pcedtitle");
|
auto const &title_gworld = *ResMgr::textures.get("pcedtitle");
|
||||||
dest_rec = source_rect = rectangle(title_gworld);
|
dest_rec = source_rect = rectangle(title_gworld);
|
||||||
dest_rec.offset(66, 0);
|
dest_rec.offset(66, 0);
|
||||||
rect_draw_some_item(title_gworld,source_rect,mainPtr,dest_rec,sf::BlendAlpha);
|
rect_draw_some_item(title_gworld,source_rect,mainPtr,dest_rec,sf::BlendAlpha);
|
||||||
|
@@ -358,7 +358,7 @@ void Set_up_win() {
|
|||||||
|
|
||||||
void run_startup_g() {
|
void run_startup_g() {
|
||||||
sf::Event event;
|
sf::Event event;
|
||||||
sf::Texture& pict_to_draw = *ResMgr::graphics.get("edsplash", true);
|
auto & pict_to_draw = *ResMgr::textures.get("edsplash", true);
|
||||||
rectangle dest_rect = rectangle(pict_to_draw);
|
rectangle dest_rect = rectangle(pict_to_draw);
|
||||||
|
|
||||||
play_sound(-95);
|
play_sound(-95);
|
||||||
@@ -374,16 +374,16 @@ void run_startup_g() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// It's never needed again, so don't keep it in GPU memory
|
// It's never needed again, so don't keep it in GPU memory
|
||||||
ResMgr::graphics.free("edsplash");
|
ResMgr::textures.free("edsplash");
|
||||||
}
|
}
|
||||||
|
|
||||||
void load_graphics(){
|
void load_graphics(){
|
||||||
// Preload the main editor interface graphics
|
// Preload the main editor interface graphics
|
||||||
ResMgr::graphics.get("edbuttons");
|
ResMgr::textures.get("edbuttons");
|
||||||
ResMgr::graphics.get("teranim");
|
ResMgr::textures.get("teranim");
|
||||||
ResMgr::graphics.get("fields");
|
ResMgr::graphics.get("fields");
|
||||||
ResMgr::graphics.get("objects");
|
ResMgr::textures.get("objects");
|
||||||
ResMgr::graphics.get("tinyobj");
|
ResMgr::textures.get("tinyobj");
|
||||||
ResMgr::graphics.get("termap");
|
ResMgr::graphics.get("termap");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -455,7 +455,8 @@ void draw_lb_slot (short which,short mode) {
|
|||||||
from_rect = blue_button_from;
|
from_rect = blue_button_from;
|
||||||
if(mode > 0)
|
if(mode > 0)
|
||||||
from_rect.offset(0,from_rect.height());
|
from_rect.offset(0,from_rect.height());
|
||||||
rect_draw_some_item(*ResMgr::graphics.get("edbuttons"),from_rect,mainPtr,left_buttons[which][1]);
|
auto const &edbuttons=*ResMgr::textures.get("edbuttons");
|
||||||
|
rect_draw_some_item(edbuttons,from_rect,mainPtr,left_buttons[which][1]);
|
||||||
}
|
}
|
||||||
if(left_button_status[which].mode == LB_INDENT)
|
if(left_button_status[which].mode == LB_INDENT)
|
||||||
text_rect.left += 16;
|
text_rect.left += 16;
|
||||||
@@ -520,7 +521,7 @@ void set_up_terrain_buttons(bool reset) {
|
|||||||
int end = min(first + 256, max);
|
int end = min(first + 256, max);
|
||||||
|
|
||||||
// first make terrain buttons
|
// first make terrain buttons
|
||||||
sf::Texture& editor_mixed = *ResMgr::graphics.get("edbuttons");
|
auto const &editor_mixed = *ResMgr::textures.get("edbuttons");
|
||||||
for(short i = first; i < end; i++) {
|
for(short i = first; i < end; i++) {
|
||||||
rectangle draw_rect = terrain_rects[i - first];
|
rectangle draw_rect = terrain_rects[i - first];
|
||||||
draw_rect.offset(RIGHT_AREA_UL_X, RIGHT_AREA_UL_Y);
|
draw_rect.offset(RIGHT_AREA_UL_X, RIGHT_AREA_UL_Y);
|
||||||
@@ -550,7 +551,7 @@ void set_up_terrain_buttons(bool reset) {
|
|||||||
ter_from.right = ter_from.left + 28;
|
ter_from.right = ter_from.left + 28;
|
||||||
ter_from.top = 36 * (pic % 5);
|
ter_from.top = 36 * (pic % 5);
|
||||||
ter_from.bottom = ter_from.top + 36;
|
ter_from.bottom = ter_from.top + 36;
|
||||||
rect_draw_some_item(*ResMgr::graphics.get("teranim"), ter_from, mainPtr, draw_rect);
|
rect_draw_some_item(*ResMgr::textures.get("teranim"), ter_from, mainPtr, draw_rect);
|
||||||
|
|
||||||
}
|
}
|
||||||
small_i = get_small_icon(i);
|
small_i = get_small_icon(i);
|
||||||
@@ -674,7 +675,7 @@ void set_up_terrain_buttons(bool reset) {
|
|||||||
} else {
|
} else {
|
||||||
tiny_from = {0,0,18,18};
|
tiny_from = {0,0,18,18};
|
||||||
tiny_from.offset((pic % 10) * 18,(pic / 10) * 18);
|
tiny_from.offset((pic % 10) * 18,(pic / 10) * 18);
|
||||||
rect_draw_some_item(*ResMgr::graphics.get("tinyobj"), tiny_from, mainPtr, tiny_to, sf::BlendAlpha);
|
rect_draw_some_item(*ResMgr::textures.get("tinyobj"), tiny_from, mainPtr, tiny_to, sf::BlendAlpha);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -812,7 +813,7 @@ void draw_terrain(){
|
|||||||
}
|
}
|
||||||
if(is_field_type(cen_x + q - 4,cen_y + r - 4, BARRIER_FIRE)) {
|
if(is_field_type(cen_x + q - 4,cen_y + r - 4, BARRIER_FIRE)) {
|
||||||
from_rect = calc_rect(8,4);
|
from_rect = calc_rect(8,4);
|
||||||
rect_draw_some_item(*ResMgr::graphics.get("teranim"),from_rect,mainPtr,destrec,sf::BlendAlpha);
|
rect_draw_some_item(*ResMgr::textures.get("teranim"),from_rect,mainPtr,destrec,sf::BlendAlpha);
|
||||||
}
|
}
|
||||||
if(is_field_type(cen_x + q - 4,cen_y + r - 4, FIELD_QUICKFIRE)) {
|
if(is_field_type(cen_x + q - 4,cen_y + r - 4, FIELD_QUICKFIRE)) {
|
||||||
from_rect = calc_rect(7,1);
|
from_rect = calc_rect(7,1);
|
||||||
@@ -820,7 +821,7 @@ void draw_terrain(){
|
|||||||
}
|
}
|
||||||
if(is_field_type(cen_x + q - 4,cen_y + r - 4, BARRIER_FORCE)) {
|
if(is_field_type(cen_x + q - 4,cen_y + r - 4, BARRIER_FORCE)) {
|
||||||
from_rect = calc_rect(10,4);
|
from_rect = calc_rect(10,4);
|
||||||
rect_draw_some_item(*ResMgr::graphics.get("teranim"),from_rect,mainPtr,destrec,sf::BlendAlpha);
|
rect_draw_some_item(*ResMgr::textures.get("teranim"),from_rect,mainPtr,destrec,sf::BlendAlpha);
|
||||||
}
|
}
|
||||||
if(is_field_type(cen_x + q - 4,cen_y + r - 4, OBJECT_BLOCK)) {
|
if(is_field_type(cen_x + q - 4,cen_y + r - 4, OBJECT_BLOCK)) {
|
||||||
from_rect = calc_rect(3,0);
|
from_rect = calc_rect(3,0);
|
||||||
@@ -848,7 +849,7 @@ void draw_terrain(){
|
|||||||
if(!icons.empty()) {
|
if(!icons.empty()) {
|
||||||
bool has_start = icons[0] == -1;
|
bool has_start = icons[0] == -1;
|
||||||
rectangle tiny_from_base = {120, 0, 127, 7};
|
rectangle tiny_from_base = {120, 0, 127, 7};
|
||||||
sf::Texture& editor_mixed = *ResMgr::graphics.get("edbuttons");
|
auto const &editor_mixed = *ResMgr::textures.get("edbuttons");
|
||||||
for(short icon : icons) {
|
for(short icon : icons) {
|
||||||
rectangle tiny_from = tiny_from_base;
|
rectangle tiny_from = tiny_from_base;
|
||||||
if(icon == -1) {
|
if(icon == -1) {
|
||||||
@@ -1090,7 +1091,7 @@ void draw_items() {
|
|||||||
dest_rect.left += 5;
|
dest_rect.left += 5;
|
||||||
dest_rect.right -= 5;
|
dest_rect.right -= 5;
|
||||||
}
|
}
|
||||||
rect_draw_some_item(*ResMgr::graphics.get((pic_num < 55) ? "objects" : "tinyobj"),
|
rect_draw_some_item(*ResMgr::textures.get((pic_num < 55) ? "objects" : "tinyobj"),
|
||||||
source_rect, mainPtr, dest_rect,sf::BlendAlpha);
|
source_rect, mainPtr, dest_rect,sf::BlendAlpha);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1198,7 +1199,9 @@ void draw_one_tiny_terrain_spot (short i,short j,ter_num_t terrain_to_draw,short
|
|||||||
rectangle road_rect = dest_rect;
|
rectangle road_rect = dest_rect;
|
||||||
int border = (size - 4) / 2;
|
int border = (size - 4) / 2;
|
||||||
road_rect.inset(border,border);
|
road_rect.inset(border,border);
|
||||||
rect_draw_some_item(*ResMgr::graphics.get("edbuttons"), {120, 231, 124, 235}, mainPtr, road_rect);
|
auto const &edbuttons=*ResMgr::textures.get("edbuttons");
|
||||||
|
rectangle const road_from={120, 231, 124, 235};
|
||||||
|
rect_draw_some_item(edbuttons, road_from, mainPtr, road_rect);
|
||||||
}
|
}
|
||||||
if(mouse_spot.x >= 0 && mouse_spot.y >= 0) {
|
if(mouse_spot.x >= 0 && mouse_spot.y >= 0) {
|
||||||
location where_draw(i,j);
|
location where_draw(i,j);
|
||||||
@@ -1286,7 +1289,7 @@ static void place_selected_terrain(ter_num_t ter, rectangle draw_rect) {
|
|||||||
source_rect.right = source_rect.left + 28;
|
source_rect.right = source_rect.left + 28;
|
||||||
source_rect.top = 36 * (picture_wanted % 5);
|
source_rect.top = 36 * (picture_wanted % 5);
|
||||||
source_rect.bottom = source_rect.top + 36;
|
source_rect.bottom = source_rect.top + 36;
|
||||||
rect_draw_some_item(*ResMgr::graphics.get("teranim"),source_rect,mainPtr,draw_rect);
|
rect_draw_some_item(*ResMgr::textures.get("teranim"),source_rect,mainPtr,draw_rect);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
source_rect = get_template_rect(ter);
|
source_rect = get_template_rect(ter);
|
||||||
@@ -1302,7 +1305,7 @@ static void place_selected_terrain(ter_num_t ter, rectangle draw_rect) {
|
|||||||
rectangle tiny_from = base_small_button_from;
|
rectangle tiny_from = base_small_button_from;
|
||||||
tiny_from.offset(7 * (small_i % 30),7 * (small_i / 30));
|
tiny_from.offset(7 * (small_i % 30),7 * (small_i / 30));
|
||||||
if(small_i >= 0 && small_i < 255)
|
if(small_i >= 0 && small_i < 255)
|
||||||
rect_draw_some_item(*ResMgr::graphics.get("edbuttons"),tiny_from,mainPtr,tiny_to);
|
rect_draw_some_item(*ResMgr::textures.get("edbuttons"),tiny_from,mainPtr,tiny_to);
|
||||||
}
|
}
|
||||||
|
|
||||||
void place_location() {
|
void place_location() {
|
||||||
@@ -1519,7 +1522,7 @@ void place_location() {
|
|||||||
rect_draw_some_item(*ResMgr::graphics.get("teranim"),source_rect,mainPtr,draw_rect,sf::BlendAlpha);
|
rect_draw_some_item(*ResMgr::graphics.get("teranim"),source_rect,mainPtr,draw_rect,sf::BlendAlpha);
|
||||||
} else if(overall_mode == MODE_PLACE_FORCE_BARRIER) {
|
} else if(overall_mode == MODE_PLACE_FORCE_BARRIER) {
|
||||||
source_rect = calc_rect(8, 4);
|
source_rect = calc_rect(8, 4);
|
||||||
rect_draw_some_item(*ResMgr::graphics.get("teranim"),source_rect,mainPtr,draw_rect,sf::BlendAlpha);
|
rect_draw_some_item(*ResMgr::textures.get("teranim"),source_rect,mainPtr,draw_rect,sf::BlendAlpha);
|
||||||
} else if(overall_mode == MODE_PLACE_QUICKFIRE) {
|
} else if(overall_mode == MODE_PLACE_QUICKFIRE) {
|
||||||
draw_field = true;
|
draw_field = true;
|
||||||
source_rect = calc_rect(7, 1);
|
source_rect = calc_rect(7, 1);
|
||||||
|
Reference in New Issue
Block a user