Skip to content

Commit

Permalink
Merge pull request #58 from rcsoccersim/develop
Browse files Browse the repository at this point in the history
Official Release 19.0.1
  • Loading branch information
hidehisaakiyama committed Apr 27, 2024
2 parents 1193469 + ee5c2b9 commit eecc372
Show file tree
Hide file tree
Showing 7 changed files with 69 additions and 77 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.5)

project(rcssmonitor VERSION 19.0.0)
project(rcssmonitor VERSION 19.0.1)

if(CMAKE_VERSION VERSION_LESS "3.7.0")
set(CMAKE_INCLUDE_CURRENT_DIR ON)
Expand Down
8 changes: 8 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
2024-04-27 Hidehisa Akiyama <hidehisaakiyama@users.noreply.github.com>

* CMakeLists.txt:
* NEWS:
* configurea.ac:
- updated a point version number. Official release 19.0.1.
- fix defects in text drawing.

2024-03-25 Hidehisa Akiyama <hidehisaakiyama@users.noreply.github.com>

* CMakeLists.txt:
Expand Down
3 changes: 3 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[19.0.1]
* Fix defects in text drawing.

[19.0.0]
* Support new server parameters.

Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.

AC_PREREQ(2.61)
AC_INIT([rcssmonitor],[19.0.0],[https://github.com/rcsoccersim/rcssmonitor])
AC_INIT([rcssmonitor],[19.0.1],[https://github.com/rcsoccersim/rcssmonitor])

#LT_PREREQ(2.2.4)

Expand Down
14 changes: 4 additions & 10 deletions src/field_painter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -623,16 +623,13 @@ FieldPainter::drawGrid( QPainter & painter ) const
painter.setPen( opt.linePen() );
painter.setBrush( Qt::NoBrush );

QString text;

double x = 0.0;
while ( x < max_x )
{
int ix = opt.screenX( x );
if ( istep > text_step_x )
{
text.asprintf( "%.3f", x );
painter.drawText( ix, coord_x_print_y , text );
painter.drawText( ix, coord_x_print_y , QString::number( x, 'f', 3 ) );
}
painter.drawLine( ix, max_iy, ix, min_iy );
x += grid_step;
Expand All @@ -644,8 +641,7 @@ FieldPainter::drawGrid( QPainter & painter ) const
int ix = opt.screenX( x );
if ( istep > text_step_x )
{
text.asprintf( "%.3f", x );
painter.drawText( ix, coord_x_print_y, text );
painter.drawText( ix, coord_x_print_y, QString::number( x, 'f', 3 ) );
}
painter.drawLine( ix, max_iy, ix, min_iy );
x -= grid_step;
Expand All @@ -658,8 +654,7 @@ FieldPainter::drawGrid( QPainter & painter ) const
int iy = opt.screenY( y );
if ( istep > text_step_y )
{
text.asprintf( "%.3f", y );
painter.drawText( min_ix, iy, text );
painter.drawText( min_ix, iy, QString::number( y, 'f', 3 ) );
}
painter.drawLine( max_ix, iy, min_ix, iy );
y += grid_step;
Expand All @@ -671,8 +666,7 @@ FieldPainter::drawGrid( QPainter & painter ) const
int iy = opt.screenY( y );
if ( istep > text_step_y )
{
text.asprintf( "%.3f", y );
painter.drawText( min_ix, iy, text );
painter.drawText( min_ix, iy, QString::number( y, 'f', 3 ) );
}
painter.drawLine( max_ix, iy, min_ix, iy );
y -= grid_step;
Expand Down
82 changes: 33 additions & 49 deletions src/player_type_dialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,6 @@ PlayerTypeDialog::updateData()

const rcss::rcg::ServerParamT & SP = M_disp_holder.serverParam();

QString text;
for ( int row = 0; row < ROW_SIZE; ++row )
{
const std::unordered_map< int , rcss::rcg::PlayerTypeT >::const_iterator it = M_disp_holder.playerTypes().find( row );
Expand All @@ -302,9 +301,7 @@ PlayerTypeDialog::updateData()
++i;

// size
//text.sprintf( "%.2f", param.player_size_ );
text = QString::number( param.player_size_ );
M_model->setData( M_model->index( row, i ), text ); ++i;
M_model->setData( M_model->index( row, i ), QString::number( param.player_size_, 'f', 3 ) ); ++i;

// speed real/max
double accel_max = SP.max_power_ * param.dash_power_rate_ * param.effort_max_;
Expand All @@ -314,77 +311,64 @@ PlayerTypeDialog::updateData()
real_speed_max = param.player_speed_max_;
}

text.asprintf( "%5.3f / %5.3f",
real_speed_max, param.player_speed_max_ );
M_model->setData( M_model->index( row, i ), text ); ++i;
{
char buf[32];
std::snprintf( buf, sizeof( buf ), "%5.3f / %5.3f",
real_speed_max, param.player_speed_max_ );
M_model->setData( M_model->index( row, i ), QString::fromLatin1( buf ) ); ++i;
}

// accel max
//text.sprintf( "%.4f", accel_max );
text = QString::number( accel_max );
M_model->setData( M_model->index( row, i ), text ); ++i;
M_model->setData( M_model->index( row, i ), QString::number( accel_max, 'f' ) ); ++i;

// dash power rate
//text.sprintf( "%.5f", param.dash_power_rate_ );
text = QString::number( param.dash_power_rate_ );
M_model->setData( M_model->index( row, i ), text ); ++i;
M_model->setData( M_model->index( row, i ), QString::number( param.dash_power_rate_, 'f' ) ); ++i;

// decay
//text.sprintf( "%.3f", param.player_decay_ );
text = QString::number( param.player_decay_ );
M_model->setData( M_model->index( row, i ), text ); ++i;
M_model->setData( M_model->index( row, i ), QString::number( param.player_decay_, 'f' ) ); ++i;

// inertia
//text.sprintf( "%.2f", param.inertia_moment_ );
text = QString::number( param.inertia_moment_ );
M_model->setData( M_model->index( row, i ), text ); ++i;
M_model->setData( M_model->index( row, i ), QString::number( param.inertia_moment_, 'f' ) ); ++i;

// kickable area
//text.sprintf( "%.3f", param.player_size_ + param.kickable_margin_ + SP.ball_size_ );
text = QString::number( param.player_size_ + param.kickable_margin_ + SP.ball_size_ );
M_model->setData( M_model->index( row, i ), text ); ++i;
M_model->setData( M_model->index( row, i ), QString::number( param.player_size_ + param.kickable_margin_ + SP.ball_size_, 'f' ) ); ++i;

// kickable margin
//text.sprintf( "%.3f", param.kickable_margin_ );
text = QString::number( param.kickable_margin_ );
M_model->setData( M_model->index( row, i ), text ); ++i;
M_model->setData( M_model->index( row, i ), QString::number( param.kickable_margin_, 'f' ) ); ++i;

// kick power rate
//text.sprintf( "%.6f", param.kick_power_rate_ );
text = QString::number( param.kick_power_rate_ );
M_model->setData( M_model->index( row, i ), text ); ++i;
M_model->setData( M_model->index( row, i ), QString::number( param.kick_power_rate_, 'f', 4 ) ); ++i;

// kick rand
//text.sprintf( "%.2f", param.kick_rand_ );
text = QString::number( param.kick_rand_ );
M_model->setData( M_model->index( row, i ), text ); ++i;
M_model->setData( M_model->index( row, i ), QString::number( param.kick_rand_, 'f' ) ); ++i;

// catch area radius
double min_r = std::sqrt( std::pow( SP.catchable_area_w_ * 0.5, 2.0 )
+ std::pow( SP.catchable_area_l_ * ( 1.0 - ( param.catchable_area_l_stretch_ - 1.0 ) ), 2.0 ) );
double max_r = std::sqrt( std::pow( SP.catchable_area_w_ * 0.5, 2.0 )
+ std::pow( SP.catchable_area_l_ * param.catchable_area_l_stretch_, 2.0 ) );
text.asprintf( "%.3f - %.3f", min_r, max_r );
M_model->setData( M_model->index( row, i ), text ); ++i;
{
double min_r = std::sqrt( std::pow( SP.catchable_area_w_ * 0.5, 2.0 )
+ std::pow( SP.catchable_area_l_ * ( 1.0 - ( param.catchable_area_l_stretch_ - 1.0 ) ), 2.0 ) );
double max_r = std::sqrt( std::pow( SP.catchable_area_w_ * 0.5, 2.0 )
+ std::pow( SP.catchable_area_l_ * param.catchable_area_l_stretch_, 2.0 ) );
char buf[32];
std::snprintf( buf, sizeof( buf ), "%.3f - %.3f", min_r, max_r );
M_model->setData( M_model->index( row, i ), QString::fromLatin1( buf ) ); ++i;
}

// stamina inc max
//text.sprintf( "%.2f", param.stamina_inc_max_ );
text = QString::number( param.stamina_inc_max_ );
M_model->setData( M_model->index( row, i ), text ); ++i;
M_model->setData( M_model->index( row, i ), QString::number( param.stamina_inc_max_, 'f', 4 ) ); ++i;

// extra stamina
//text.sprintf( "%.2f", param.extra_stamina_ );
text = QString::number( param.extra_stamina_ );
M_model->setData( M_model->index( row, i ), text ); ++i;
M_model->setData( M_model->index( row, i ), QString::number( param.extra_stamina_, 'f', 4 ) ); ++i;

// effort max - min
text.asprintf( "%.3f - %.3f",
param.effort_max_, param.effort_min_ );
M_model->setData( M_model->index( row, i ), text ); ++i;
{
char buf[32];
std::snprintf( buf, sizeof( buf ), "%.3f - %.3f",
param.effort_max_, param.effort_min_ );
M_model->setData( M_model->index( row, i ), QString::fromLatin1( buf ) ); ++i;
}

// foul detect probability
//text.sprintf( "%.4f", param.foul_detect_probability_ );
text = QString::number( param.foul_detect_probability_ );
M_model->setData( M_model->index( row, i ), text ); ++i;
M_model->setData( M_model->index( row, i ), QString::number( param.foul_detect_probability_, 'f', 3 ) ); ++i;
}

adjustSize();
Expand Down
35 changes: 19 additions & 16 deletions src/score_board_painter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -142,13 +142,15 @@ ScoreBoardPainter::draw( QPainter & painter )

if ( ! show_pen_score )
{
main_buf.asprintf( " %10s %d:%d %-10s %19s %6d ",
all_name_l.c_str(),
team_l.score_,
team_r.score_,
all_name_r.c_str(),
s_playmode_strings[pmode].c_str(),
current_time );
char buf[256];
std::snprintf( buf, sizeof( buf ), " %10s %d:%d %-10s %19s %6d ",
all_name_l.c_str(),
team_l.score_,
team_r.score_,
all_name_r.c_str(),
s_playmode_strings[pmode].c_str(),
current_time );
main_buf = QString::fromLatin1( buf );
}
else
{
Expand Down Expand Up @@ -191,17 +193,18 @@ ScoreBoardPainter::draw( QPainter & painter )
}
}

main_buf.asprintf( " %10s %d:%d |%-5s:%-5s| %-10s %19s %6d",
all_name_l.c_str(),
team_l.score_, team_r.score_,
left_penalty.c_str(),
right_penalty.c_str(),
all_name_r.c_str(),
s_playmode_strings[pmode].c_str(),
current_time );
char buf[256];
std::snprintf( buf, sizeof( buf ), " %10s %d:%d |%-5s:%-5s| %-10s %19s %6d",
all_name_l.c_str(),
team_l.score_, team_r.score_,
left_penalty.c_str(),
right_penalty.c_str(),
all_name_r.c_str(),
s_playmode_strings[pmode].c_str(),
current_time );
main_buf = QString::fromLatin1( buf );
}

//painter.setFont( M_font );
painter.setFont( opt.scoreBoardFont() );
QRect bounding_rect = painter.fontMetrics().boundingRect( main_buf );

Expand Down

0 comments on commit eecc372

Please sign in to comment.