added AOScene class, and basic background functionality
This commit is contained in:
		
							parent
							
								
									6e1f2cf20d
								
							
						
					
					
						commit
						922506261f
					
				@ -31,7 +31,8 @@ SOURCES += main.cpp\
 | 
				
			|||||||
    encryption_functions.cpp \
 | 
					    encryption_functions.cpp \
 | 
				
			||||||
    courtroom.cpp \
 | 
					    courtroom.cpp \
 | 
				
			||||||
    aocharbutton.cpp \
 | 
					    aocharbutton.cpp \
 | 
				
			||||||
    hardware_functions.cpp
 | 
					    hardware_functions.cpp \
 | 
				
			||||||
 | 
					    aoscene.cpp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
HEADERS  += lobby.h \
 | 
					HEADERS  += lobby.h \
 | 
				
			||||||
    aoimage.h \
 | 
					    aoimage.h \
 | 
				
			||||||
@ -46,4 +47,5 @@ HEADERS  += lobby.h \
 | 
				
			|||||||
    encryption_functions.h \
 | 
					    encryption_functions.h \
 | 
				
			||||||
    courtroom.h \
 | 
					    courtroom.h \
 | 
				
			||||||
    aocharbutton.h \
 | 
					    aocharbutton.h \
 | 
				
			||||||
    hardware_functions.h
 | 
					    hardware_functions.h \
 | 
				
			||||||
 | 
					    aoscene.h
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										21
									
								
								aoscene.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								aoscene.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					#include "aoscene.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "courtroom.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "file_functions.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AOScene::AOScene(Courtroom *parent) : QLabel(parent)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  m_courtroom = parent;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void AOScene::set_image(QString p_image)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  QString background_path = m_courtroom->get_background_path() + p_image;
 | 
				
			||||||
 | 
					  QString default_path = m_courtroom->get_default_background_path() + p_image;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (file_exists(background_path))
 | 
				
			||||||
 | 
					    this->setPixmap(background_path);
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    this->setPixmap(default_path);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										21
									
								
								aoscene.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								aoscene.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					#ifndef AOSCENE_H
 | 
				
			||||||
 | 
					#define AOSCENE_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <QLabel>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Courtroom;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class AOScene : public QLabel
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  Q_OBJECT
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
					  explicit AOScene(Courtroom *parent);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void set_image(QString p_image);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private:
 | 
				
			||||||
 | 
					  Courtroom *m_courtroom;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif // AOSCENE_H
 | 
				
			||||||
@ -18,6 +18,10 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  //viewport elements like background, desk, etc.
 | 
					  //viewport elements like background, desk, etc.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ui_vp_background = new AOScene(this);
 | 
				
			||||||
 | 
					  ui_vp_background->move(m_viewport_x, m_viewport_y);
 | 
				
			||||||
 | 
					  ui_vp_background->resize(m_viewport_width, m_viewport_height);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ui_ic_chatlog = new QPlainTextEdit(this);
 | 
					  ui_ic_chatlog = new QPlainTextEdit(this);
 | 
				
			||||||
  ui_ic_chatlog->setReadOnly(true);
 | 
					  ui_ic_chatlog->setReadOnly(true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -482,6 +486,12 @@ void Courtroom::handle_chatmessage(QStringList *p_contents)
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  //T0D0: play objection gif->preanimation if there is any
 | 
					  //T0D0: play objection gif->preanimation if there is any
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  //D3BUG START
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ui_vp_background->set_image("defenseempty.png");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  //D3BUG END
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Courtroom::on_ooc_return_pressed()
 | 
					void Courtroom::on_ooc_return_pressed()
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										10
									
								
								courtroom.h
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								courtroom.h
									
									
									
									
									
								
							@ -5,6 +5,7 @@
 | 
				
			|||||||
#include "aobutton.h"
 | 
					#include "aobutton.h"
 | 
				
			||||||
#include "aocharbutton.h"
 | 
					#include "aocharbutton.h"
 | 
				
			||||||
#include "aopacket.h"
 | 
					#include "aopacket.h"
 | 
				
			||||||
 | 
					#include "aoscene.h"
 | 
				
			||||||
#include "datatypes.h"
 | 
					#include "datatypes.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <QMainWindow>
 | 
					#include <QMainWindow>
 | 
				
			||||||
@ -35,6 +36,11 @@ public:
 | 
				
			|||||||
  void set_size_and_pos(QWidget *p_widget, QString p_identifier);
 | 
					  void set_size_and_pos(QWidget *p_widget, QString p_identifier);
 | 
				
			||||||
  void set_taken(int n_char, bool p_taken);
 | 
					  void set_taken(int n_char, bool p_taken);
 | 
				
			||||||
  void set_char_select_page();
 | 
					  void set_char_select_page();
 | 
				
			||||||
 | 
					  void set_background(QString p_background){current_background = p_background;}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  //implementations in path_functions.cpp
 | 
				
			||||||
 | 
					  QString get_background_path();
 | 
				
			||||||
 | 
					  QString get_default_background_path();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  void enter_courtroom(int p_cid);
 | 
					  void enter_courtroom(int p_cid);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -73,10 +79,14 @@ private:
 | 
				
			|||||||
  //wether the ooc chat is server or master chat, true is server
 | 
					  //wether the ooc chat is server or master chat, true is server
 | 
				
			||||||
  bool server_ooc = true;
 | 
					  bool server_ooc = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  QString current_background = "gs4";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  AOImage *ui_background;
 | 
					  AOImage *ui_background;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  //T0D0: add viewport elements like background, desk, etc.
 | 
					  //T0D0: add viewport elements like background, desk, etc.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  AOScene *ui_vp_background;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  QPlainTextEdit *ui_ic_chatlog;
 | 
					  QPlainTextEdit *ui_ic_chatlog;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  QPlainTextEdit *ui_ms_chatlog;
 | 
					  QPlainTextEdit *ui_ms_chatlog;
 | 
				
			||||||
 | 
				
			|||||||
@ -279,6 +279,13 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    destruct_lobby();
 | 
					    destruct_lobby();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  else if (header == "BN")
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if (f_contents.size() < 1)
 | 
				
			||||||
 | 
					      return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    w_courtroom->set_background(f_contents.at(0));
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
  //server accepting char request(CC) packet
 | 
					  //server accepting char request(CC) packet
 | 
				
			||||||
  else if (header == "PV")
 | 
					  else if (header == "PV")
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,5 @@
 | 
				
			|||||||
#include "aoapplication.h"
 | 
					#include "aoapplication.h"
 | 
				
			||||||
 | 
					#include "courtroom.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <QDir>
 | 
					#include <QDir>
 | 
				
			||||||
#include <QDebug>
 | 
					#include <QDebug>
 | 
				
			||||||
@ -32,3 +33,13 @@ QString AOApplication::get_demothings_path()
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  return get_base_path() + "misc/demothings/";
 | 
					  return get_base_path() + "misc/demothings/";
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString Courtroom::get_background_path()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  return ao_app->get_base_path() + "background/" + current_background.toLower() + "/";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString Courtroom::get_default_background_path()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  return ao_app->get_base_path() + "background/gs4/";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user