Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Attorney_Online_remake.pro
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ HEADERS += lobby.h \
# in the same way as BASS. Discord RPC uses CMake, which does not play nicely with
# QMake, so this step must be manual.
unix:LIBS += -L$$PWD -lbass -ldiscord-rpc
win32:LIBS += -L$$PWD "$$PWD/bass.dll" -ldiscord-rpc #"$$PWD/discord-rpc.dll"
win32:LIBS += -L$$PWD "$$PWD/bass.lib" -ldiscord-rpc #"$$PWD/discord-rpc.dll"
android:LIBS += -L$$PWD\android\libs\armeabi-v7a\ -lbass

CONFIG += c++11
Expand Down
3 changes: 3 additions & 0 deletions aoapplication.h
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@ class AOApplication : public QApplication
//Returns the value of font_size with p_identifier from p_file
int get_font_size(QString p_identifier, QString p_file);

//Returns the name of the font with p_identifier from p_file
QString get_font_name(QString p_identifier, QString p_file);

//Returns the color with p_identifier from p_file
QColor get_color(QString p_identifier, QString p_file);

Expand Down
2 changes: 2 additions & 0 deletions aotextarea.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ void AOTextArea::append_chatmessage(QString p_name, QString p_message)
p_message += " ";
QString result = p_message.toHtmlEscaped().replace("\n", "<br>").replace(omnis_dank_url_regex, "<a href='\\1'>\\1</a>" );

qDebug() << "STRING IS: " << result;

this->insertHtml(result);

this->auto_scroll(old_cursor, old_scrollbar_value, is_scrolled_down);
Expand Down
68 changes: 64 additions & 4 deletions courtroom.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#include <QBrush>
#include <QTextCharFormat>
#include <QFont>
#include <QPropertyAnimation>

Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
{
Expand Down Expand Up @@ -66,6 +67,16 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
ui_vp_desk = new AOScene(ui_viewport, ao_app);
ui_vp_legacy_desk = new AOScene(ui_viewport, ao_app);

ui_vp_music_display_a = new AOImage(this, ao_app);
ui_vp_music_display_b = new AOImage(this, ao_app);
ui_vp_music_area = new QWidget(ui_vp_music_display_a);
ui_vp_music_name = new QTextEdit(ui_vp_music_area);
ui_vp_music_name->setText("hewwo OwO");
ui_vp_music_name->setFrameStyle(QFrame::NoFrame);
ui_vp_music_name->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
ui_vp_music_name->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
ui_vp_music_name->setReadOnly(true);

ui_vp_evidence_display = new AOEvidenceDisplay(this, ao_app);

ui_vp_chatbox = new AOImage(this, ao_app);
Expand Down Expand Up @@ -391,6 +402,18 @@ void Courtroom::set_widgets()
set_size_and_pos(ui_vp_chatbox, "chatbox");
}

set_size_and_pos(ui_vp_music_area, "music_area");
ui_vp_music_area->show();
set_size_and_pos(ui_vp_music_name, "music_name");

set_size_and_pos(ui_vp_music_display_a, "music_display_a");
ui_vp_music_display_a->set_image("music_display_a.png");
ui_vp_music_display_a->show();

set_size_and_pos(ui_vp_music_display_b, "music_display_b");
ui_vp_music_display_b->set_image("music_display_b.png");
ui_vp_music_display_b->show();

ui_ic_chat_message->setStyleSheet("QLineEdit{background-color: rgba(100, 100, 100, 255);}");

ui_vp_chatbox->set_image("chatmed.png");
Expand Down Expand Up @@ -541,6 +564,8 @@ void Courtroom::set_widgets()
ui_char_select_right->set_image("arrow_right.png");

set_size_and_pos(ui_spectator, "spectator");

handle_music_anim(ui_vp_music_name, "music_name", "music_area");
}

void Courtroom::set_fonts()
Expand All @@ -551,6 +576,7 @@ void Courtroom::set_fonts()
set_font(ui_ms_chatlog, "ms_chatlog");
set_font(ui_server_chatlog, "server_chatlog");
set_font(ui_music_list, "music_list");
set_font(ui_vp_music_name, "music_name");
}

void Courtroom::set_font(QWidget *widget, QString p_identifier)
Expand All @@ -559,19 +585,47 @@ void Courtroom::set_font(QWidget *widget, QString p_identifier)
int f_weight = ao_app->get_font_size(p_identifier, design_file);
QString class_name = widget->metaObject()->className();

widget->setFont(QFont("Sans", f_weight));
QString font_name = ao_app->get_font_name("font_" + p_identifier, design_file);

widget->setFont(QFont(font_name, f_weight));

QColor f_color = ao_app->get_color(p_identifier + "_color", design_file);

int bold = ao_app->get_font_size(p_identifier + "_bold", design_file); // is the font bold or not?

QString is_bold = "";
if(bold == 1) is_bold = "bold";

QString style_sheet_string = class_name + " { background-color: rgba(0, 0, 0, 0);\n" +
"color: rgba(" +
QString::number(f_color.red()) + ", " +
QString::number(f_color.green()) + ", " +
QString::number(f_color.blue()) + ", 255); }";
QString::number(f_color.blue()) + ", 255);\n"
"font: " + is_bold + "; }";

widget->setStyleSheet(style_sheet_string);
}

void Courtroom::handle_music_anim(QWidget *p_widget, QString p_identifier_a, QString p_identifier_b)
{
QString file_a = "courtroom_design.ini";
QString file_b = "courtroom_fonts.ini";
pos_size_type res_a = ao_app->get_element_dimensions(p_identifier_a, file_a);
pos_size_type res_b = ao_app->get_element_dimensions(p_identifier_b, file_a);
int speed = ao_app->get_font_size(p_identifier_a + "_speed", file_b);
int nchar = ui_vp_music_name->toPlainText().size();

int time = nchar/speed*1000;

QPropertyAnimation *animation = new QPropertyAnimation(p_widget, "geometry");
animation->setLoopCount(-1);
animation->setDuration(time);
animation->setStartValue(QRect(-res_a.width + res_a.x, res_a.y, res_a.width, res_a.height));
animation->setEndValue(QRect(res_b.width + res_a.x, res_a.y, res_a.width, res_a.height));

animation->start();
}

void Courtroom::set_window_title(QString p_title)
{
this->setWindowTitle(p_title);
Expand Down Expand Up @@ -923,6 +977,7 @@ void Courtroom::handle_chatmessage(QStringList *p_contents)
for (int n_string = 0 ; n_string < chatmessage_size ; ++n_string)
{
m_chatmessage[n_string] = p_contents->at(n_string);
// qDebug() << "m_chatmessage[" << n_string << "] = " << m_chatmessage[n_string];
}

int f_char_id = m_chatmessage[CHAR_ID].toInt();
Expand Down Expand Up @@ -1156,7 +1211,7 @@ void Courtroom::append_ic_text(QString p_text, QString p_name)
normal.setFontWeight(QFont::Normal);
const QTextCursor old_cursor = ui_ic_chatlog->textCursor();
const int old_scrollbar_value = ui_ic_chatlog->verticalScrollBar()->value();
const bool is_scrolled_up = old_scrollbar_value == ui_ic_chatlog->verticalScrollBar()->minimum();
const bool is_scrolled_up = old_scrollbar_value == ui_ic_chatlog->verticalScrollBar()->maximum();

ui_ic_chatlog->moveCursor(QTextCursor::Start);

Expand All @@ -1173,7 +1228,7 @@ void Courtroom::append_ic_text(QString p_text, QString p_name)
{
// The user hasn't selected any text and the scrollbar is at the top: scroll to the top.
ui_ic_chatlog->moveCursor(QTextCursor::Start);
ui_ic_chatlog->verticalScrollBar()->setValue(ui_ic_chatlog->verticalScrollBar()->minimum());
ui_ic_chatlog->verticalScrollBar()->setValue(ui_ic_chatlog->verticalScrollBar()->maximum());
}
}

Expand Down Expand Up @@ -1535,6 +1590,11 @@ void Courtroom::handle_song(QStringList *p_contents)
music_player->play(f_song);
}
}

int pos = f_song.lastIndexOf(QChar('.'));
QString r_song = f_song.left(pos);

ui_vp_music_name->setText(r_song);
}

void Courtroom::handle_wtce(QString p_wtce)
Expand Down
9 changes: 9 additions & 0 deletions courtroom.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
#include <QSignalMapper>
#include <QMap>
#include <QTextBrowser>
#include <QRect>

class AOApplication;

Expand Down Expand Up @@ -122,6 +123,9 @@ class Courtroom : public QMainWindow
//takes in a list where the first element is the song name and the second is the char id of who played it
void handle_song(QStringList *p_contents);

//animates music text
void handle_music_anim(QWidget *p_widget, QString p_identifier_a, QString p_identifier_b);

void play_preanim();

//plays the witness testimony or cross examination animation based on argument
Expand Down Expand Up @@ -276,6 +280,11 @@ class Courtroom : public QMainWindow
AOMovie *ui_vp_wtce;
AOMovie *ui_vp_objection;

AOImage *ui_vp_music_display_a;
AOImage *ui_vp_music_display_b;
QTextEdit *ui_vp_music_name;
QWidget *ui_vp_music_area;

QTextEdit *ui_ic_chatlog;

AOTextArea *ui_ms_chatlog;
Expand Down
2 changes: 1 addition & 1 deletion lobby.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Lobby::Lobby(AOApplication *p_ao_app) : QMainWindow()
{
ao_app = p_ao_app;

this->setWindowTitle("Attorney Online 2");
this->setWindowTitle("Danganronpa Online");

ui_background = new AOImage(this, ao_app);
ui_public_servers = new AOButton(this, ao_app);
Expand Down
Binary file modified logo.ico
Binary file not shown.
Binary file modified logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion packet_distribution.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet)

courtroom_loaded = false;

QString window_title = "Attorney Online 2";
QString window_title = "Danganronpa Online";
int selected_server = w_lobby->get_selected_server();

QString server_address = "", server_name = "";
Expand Down
20 changes: 20 additions & 0 deletions text_file_functions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,26 @@ QColor AOApplication::get_color(QString p_identifier, QString p_file)
return return_color;
}

QString AOApplication::get_font_name(QString p_identifier, QString p_file)
{
QString design_ini_path = get_theme_path() + p_file;
QString default_path = get_default_theme_path() + p_file;
QString f_result = read_design_ini(p_identifier, design_ini_path);

if(f_result == "")
{
f_result = read_design_ini(p_identifier, default_path);

if(f_result == "")
{
qDebug() << "Failure retreiving font name";
return f_result;
}
}

return f_result;
}

QString AOApplication::get_sfx(QString p_identifier)
{
QString design_ini_path = get_theme_path() + "courtroom_sounds.ini";
Expand Down