Commit Graph

823 Commits

Author SHA1 Message Date
Benau
114dca1733 Fix typo 2018-09-13 00:12:32 +08:00
Benau
30028cc330 Implement text searcher in server selection 2018-09-05 12:19:11 +08:00
Deve
bcb7e48fb1 Some tweaks in track info screen.
Use the same layout for gp info screen.
2018-09-04 23:24:47 +02:00
Deve
0f1f876874 Revert "Change highscore limit from 3 to 5 (#3417)"
This reverts commit 84359ad7da.

It broke "Max players supported" text in arena info screen. It also doesn't work well for hidpi_enabled property that is used on android. Additionally it causes incompatibility with older STK versions (STK 0.9.3 crashes when there is more than 3 entries in hiscore.xml).

Fixes #3424
Fixes #3425
2018-09-04 21:31:27 +02:00
Benau
bb61c3425a Show current players on server in server info dialog 2018-09-05 01:32:44 +08:00
Deve
cdeb70dbf4 Some fixes for soccer setup screen 2018-09-04 00:33:34 +02:00
Deve
674397e648 Minor fixes for low resolutions 2018-09-04 00:33:34 +02:00
Deve
6bd5b5276a Make GP editor GUI working better on different resolutions 2018-09-04 00:33:34 +02:00
Deve
5a82c6b537 Slightly increase a size of some gui elements. 2018-09-02 22:53:06 +02:00
Alayan-stk-2
46064d5c52
Give more space for button labels 2018-08-30 19:54:43 +02:00
Alayan-stk-2
84359ad7da Change highscore limit from 3 to 5 (#3417)
* Update to support 5 highscores

* Support 5 highscores in the UI

* Save up to 5 highscores instead of 3
2018-08-29 20:32:24 -04:00
Alayan-stk-2
03700acd53
Improve option text 2018-08-29 02:37:08 +02:00
Benau
8fc2bdcc3f Show game started info in server screen with icon 2018-08-28 14:43:48 +08:00
scootergrisen
d94383e307 Change multiplayer race to multiplayer (#3401)
I think its called multiplayer in the main menu without race.
2018-08-27 18:42:07 -04:00
Alayan-stk-2
4484bd961a Add kart icons to the ghost replay list (#3392)
* Add a hide multiplayer replays checkbox

* Hide player number column ; add kart icon column

Enabling the icon display creates issues in the list widget layout, however.

* Fix formatting issue when an icon is displayed in only some cells

* Display "?" icon when kart model is unknown

This can happen with uninstalled addons, old replays with removed official karts, etc

* Add helper functions for icons in replay info dialog

* Add kart icons to replay info dialog

* Delete m_icon_bank in tearDown
2018-08-24 19:34:42 -04:00
Benau
c67290a262 Sort code files too according to name, fix some spaces before ! 2018-08-21 13:34:27 +08:00
Benau
73ac4f165b Add indication for collected flags in GUI and map 2018-08-21 01:31:49 +08:00
Benau
1d87f9a104 Add red and blue flag svg icon in gui 2018-08-16 14:55:41 +08:00
Benau
8aab1c0a69 Use Free-For-All for name instead 2018-08-13 09:00:37 +08:00
Benau
6bdec3d01a Add initial framework for FFA and CTF in network 2018-08-12 10:57:37 +08:00
Benau
a892988b00 Clarify password in create server screen 2018-08-04 00:32:40 +08:00
Benau
8e449750c8 Correct help for networking 2018-07-07 00:02:32 +08:00
Alayan-stk-2
ebc7940985 New options menu (#3323)
* Updated options UI file, new icon for language tab

Also updates the license file.

* Update the options screens to support the new layout

And add a language change screen.

* Don't overwrite the updates which happened in master.

* Add missing (new) password reset button

* Focus the list of actions binding rather than the tabbar in device options
2018-06-21 19:50:16 -04:00
Alayan-stk-2
1025bfe298 New help menu (#3322)
* Add vertical tabs to ribbon widget types

* Update GUI engine for vertical tabs

* New icons for the help menu

The slipstream icon is not great, it's here to have something now. It should be replaced by something better looking and more in STK's visual style.

* Updated help GUI

The git changelog is a bit misleading here, because the order of the items in the help menu has been revised too.

1)General (same)
2)Game modes (before : 3)
3)Powerups (before : 2)
4)Bananas (before : 5)
5)Story Mode
6)Kart classes
7)Multiplayer

* Update help screen code to handle the additional tabs

The hugely repetitive structure of one cpp/hpp per tab is kept here.

* Optimized version of new icons

Except for the slipstreaming one, as it should be replaced by a better one anyway.
2018-06-20 20:57:40 -04:00
QwertyChouskie
5d34488adc Donate and reset password buttons (#3252)
* First version of donation link and password reset buttons
The register screen still needs to be tweaked, though the GUI engine seems to be limted here.
Maybe dynamicly delete/re-create the widget?

* Fix mingw compilation

* Remove dead code

* minor cleanup

* Error handling, tweaks

* Fix ifdef for macOS

* Disable donate button on Android

* Use stk-config

* Implement LinkHelper::isSupported, fixes
2018-06-19 19:59:54 -04:00
Alayan-stk-2
4cb6ea4871 Optimize image size in the GUI folder (#3315)
* Optimize image size in GUI, save 1.2 MB

* Optimize android GUI images

* Optimize networking menu images
2018-06-19 19:19:24 +02:00
Alayan-stk-2
3450984c3e Multi directional GUI navigation (#3307)
* Allow full up/down/left/right navigation

* Update list and ribbon widgets to work well with the new navigation

* Fix windows compilation

* Improve navigation algorithm to fix the observed limitations

* Make windows compilator happy

* Fix keyboard navigation issues in networking lobby

And make some parts more proportional to screen size
2018-06-18 19:08:34 -04:00
Alayan-stk-2
2fbcd73c93 Great improvements to skin data (#3312)
* Add vertical tab support and get common files from a common folder

* License file for the common folder

* UI images shared by all 4 colored themes

* Delete redundant pictures

* Delete background.jpg

* Delete dialog.png

* Delete glassbutton_deactivated.png

* Delete glasscheckbox_checked_deactivated.png

* Delete glasscheckbox_deactivated.png

* Delete glass_rsection.png

* Delete glass_section.png

* Delete glassspinner.png

* Delete glassspinner_deactivated.png

* Delete glass_square_focused_bw.png

* Delete left_arrow.png

* Delete list_sort_down.png

* Delete list_sort_up.png

* Delete rating_star.png

* Delete right_arrow.png

* Delete scrollbar_bg.png

* Delete scrollbar_btn.png

* Delete table_header.png

* Delete tooltip.png

* Optimize image size and add vertical tabs

* Optimize image size and add vertical tabs for ocean skin

* The multiplayer colored squares are also shared

* Use the multiplayer colored squares from common

* Remove more redundant skin images

* Delete glass_square1.png

* Delete glass_square2.png

* Delete glass_square3.png

* Delete glass_square4.png

* Delete glass_square_focused.png

* Delete glass_square_focused2.png

* Delete glass_square_focused3.png

* Delete glass_square_focused4.png

* Optimize image size and add vertical tabs for peach skin

* Optimize image size and add vertical tabs for forest skin

* Special focus halo for ruby skin

Currently, the halo used in single player is shared with the one used for the first player in local multiplayer, despite the color of the top spinner widget not matching in this situation.

Better having this mismatch that a not-so-great halo in single-player.

I put it in common as it may be reused for multiplayer focus by other skins.

* Use pink selection halo

* Put the bottom bar among skinnable UI images

* Make the bottom bar part of the skins

* Coding style fix

* Delete bar.png

* Load bottom bar texture from skin rather than gui folder

Also rename bg_image to m_bg_image
2018-06-17 21:40:01 -04:00
Benau
5a5bdbe851 Remove duplicated id 2018-06-07 08:43:26 +08:00
Benau
5da5a1972f Add auto start with timeout and player threshold for owner less server 2018-06-06 01:06:44 +08:00
Deve
5d840f6bf7 Move android stkgui files to its own directory 2018-05-21 21:30:24 +02:00
Benau
fdc299e073 Add player rankings in achievements 2018-05-20 01:15:39 +08:00
Alayan-stk-2
7f84dd39a6 Numerous improvements related to ghost replays (#3244)
* Update GUI files for replay improvements

* Updated replay capabilities

* Improve timer formatting possibilities

Mainly, the ability to choose to display or not minutes, and to choose how many digits are shown after seconds (from 0 : second as smallest timestep - to 3 : ms as smallest timestep)

Also displays "mm:ss.ms" rather than "mm:ss:ms".

* Some new list widget possibilities

Like the ability to update the header while the list is displayed (useful to add or remove columns)

* Update ghost kart for the new replay data

* Also update the ghost controller

* Live differences with ghost replays in linear worlds

* Replay-related UI changes

Big changes to the replay selection screen, and small change to the race UI (add the live timer in ghost races) and the race result UI (add the option to directly race against a newly saved ghost).

* Improves the replay action modal dialog

* Fix time-to-ticks regression

* Several requested improvements

* Improved ghost icon

Also updates the license

* GUI changes and improvements to accomodate multi-mode support

* Additional recorded data

* More functions to get the current race state

* Update replay variables to match what is used

* Updated replay-related config values

* Add ghost kart support to easter egg hunt mode

* Transparent attachments for ghost karts

* Use new stored data (color, item type)

Also :
- Interpolate speed for smoother display in watch-only mode
- Coding style improvements

* Fix coding style issues and add UI support for modes

* Fix coding style issues & support for easter egg mode

* Remove leftover prints

* Use getDifficultyName to remove hardcoded values

* Fix attach_ticks and coding style fixes

* Make the position of the timers fully relative

Otherwise, they would tend to touch each other in some resolutions

Also add a comment about the 59.9995f

* Make the list filling code clearer

Also use getDifficultyName

Most of the line changes shown by git correspond to moving around some bits or adjusting indentation.

* Remove a TODO as requested

* Fix dialog being dismissed too soon

* Remove a fixme

* Small clean up

* Fix logging

* Partial #3249 fix
2018-05-13 20:51:52 -04:00
Alistair Findlay
290eb354c7 Update custom_video_settings.stkgui (#3224)
* Update custom_video_settings.stkgui

Change label titles to conform to title case typographical convention.

* Update custom_video_settings.stkgui

Sentence case for everything.
2018-05-12 19:00:07 -04:00
Alayan-stk-2
6a25384ed9 SuperTux in Story Mode (and other improvements) (#3207)
* Add SuperTux difficulty & update number of karts

Also make the expert challenge slightly easier to match more the difficulty of other challenges.

* Add SuperTux difficulty & update number of karts & points required

Also give some more time margin in easier difficulties, as it is a hard challenge compared to most.

* Add SuperTux difficulty & update number of karts & points required

Also change the lap count to 4 as it is a very short track (sub 30s)

* Add SuperTux difficulty

Also tweak the expert challenge to have a more appropriate difficulty

* Add SuperTux difficulty & update number of karts

* Add SuperTux difficulty & update number of karts & points required

* Add SuperTux difficulty & update number of karts & points required

Also correct the requirement position, since this is not a FTL race anymore.

* Add SuperTux difficulty & update number of karts & points required

Also slight balancing improvements for the usual difficulties.

* Add SuperTux difficulty & update number of karts & points required

Also adds a position requirement in expert

* Add SuperTux difficulty & update number of karts & points required

* Add SuperTux difficulty & update number of karts & points required

* Add SuperTux difficulty & update number of karts & points required

Also change the number of laps to 5, as this is a very short track. The time requirements for easier difficulties have been kept proportionally similar to before.

* Add SuperTux difficulty & update number of karts & points required

Also change the number of laps to 4.

* Add SuperTux difficulty & update number of karts & points required

Also add a position requirement to expert and intermediate.

* Add SuperTux difficulty & update number of karts & points required

Also change the number of laps to 4, as a lap often is 30s or less in expert/supertux

* Add SuperTux difficulty & update number of karts & points required

* Add SuperTux difficulty & update number of karts & points required

* Rename islandtrack.challenge to gran_paradiso.challenge

* Rename challenge file

* Add SuperTux difficulty & update number of karts & points required

Also makes the time limit in expert less easy and tweak position requirement.

* Add SuperTux difficulty & update number of karts

* Add SuperTux difficulty & update number of karts & points required

* Add SuperTux difficulty & update number of karts & points required

* Add SuperTux difficulty & update number of karts & points required

* Add SuperTux difficulty & update number of karts & points required 

Doesn't unlock the SuperTux difficulty anymore - it's managed elsewhere.

* Add SuperTux difficulty & update number of karts & points required

* Add SuperTux difficulty & update number of karts & points required

* Add new unlock challenges, for difficulty and karts

* Add a lap to oliver's math class

* Replace Northern Resort by Volcano Island

* Replace Volcano Island by Candela City

Candela City was in no (official) GP before this.

Also sets Green Valley to 3 laps.

* Add Northern Resort and remove Fort Magma

In 0.9.3, this GP has only 4 races in Story Mode (5 for the other GPs) because Fort Magma is locked.

Of all the tracks outside this GP before, Northern Resort is one of the hardest, the AI being rather good there.

* Temporary cup for SuperTux challenges

Recolored version of the gold cup

* Update challenge selection UI for the SuperTux challenges

* GUI used before SuperTux difficulty unlocking

This is the old select_challenge.stkgui

* Swap the two sara

* Replace Kiki by another kart to unlock on Benau's demand

* Update for improved Story Mode

* Update for improved Story Mode

* Add support for SuperTux challenges

* Add support for SuperTux challenges

* Add support for SuperTux challenges

* Add support for SuperTux challenges

* Update for SuperTux ; also adds the ability to unlock a challenge by points

* Update for unlocking by points

* Add support for SuperTux challenges

* Add support for SuperTux challenges

* Add support for SuperTux challenges

* Minor changes to function calls

* Update for SuperTux challenges

* Add support for SuperTux challenges

* Update for Story Mode GP changes

* Allows to display the correct number of points for GP challenges

* Set the unlock of the 1st bonus kart to correct non-test value

* Add support for SuperTux challenges

Including a bigger challenge selection diaolg

* Add default value

* Icon to indicate that there is an unlockable

The number of points needed to unlock it are displayed next to it.

* Changed format : the point requirements is now specified in the file

* Changed format : the point requirements is now specified in the file

* Changed format : the point requirements is now specified in the file

* Function for unlock by points UI

* Add default for unlock list node and use requirements node for all

* Make unlockByPoints simpler and more flexible

Now the code will iterate in StoryModeStatus and send the unlock_list challenges for treatment here. The question of getting the right challenge statuses beings solved, it allows for a great simplification and much more flexibility

* Update unlockByPoints declaration

* Adds support for next unlockable UI

* Improve call of unlockByPoints

Also calculations for displaying in the UI how many point the next unlockable by points requires.

* Add icon for next unlockable

* Displays icon/number to make the player aware of the next unlockable

Also displays the number below the icon rather than on the side, for more clarity.

* Changes to display karts in the unlock scene

* Update unlock functions declarations

* New function to clarify code and more logical recently unlocked list management

In the previous version, everything was added to the recently unlocked list at some point, necessitating a clearing at the end of computeActive, which also removed from the list the non-race challenges. Checking if the feature is newly unlocked to add it to the list remove the need of that clearing.

* Declaration for unlockFeatureByList

* Display newly unlocked karts

* Display newly unlocked karts

* Clear the list of recently unlocked features at the end

* Update testing code

* Update unlocks finding function call

* Improve UI scaling

* Fixes indentation

* Update the number of points before checking for unlock by points

* Add const to declarations

* Remove const_cast

* Remove a const_cast

There are other const_cast in the menu debug items (but they are unrelated to this PR)

* Fix menu being bolder
2018-04-29 18:27:03 -04:00
deve
b90a9fbf0d Don't allow totally disable particles in GUI.
Now we don't use tfb shader to compute particles, so it seems to not have a sense anymore.
And it's still possible to set particles_effects=0 in config.xml if someone will need it.
2018-04-27 06:50:39 +02:00
Benau
e5c991e3d2 Merge remote-tracking branch 'origin/master' into kobato 2018-04-20 13:03:34 +08:00
Benau
2c6883842e Add connect-now equivalent to online screen
Specify port to allow to connect to one of multiple servers in same machine
2018-04-20 12:19:58 +08:00
auria.mg
6d306e64a7 More UI scaling improvements, see #3146 2018-04-20 12:19:57 +08:00
hiker
98555a8f35 Merge remote-tracking branch 'origin/master' into game_protocol 2018-04-19 10:57:37 +10:00
auria.mg
54d3476c13 Merge branch 'FixGaugeI' 2018-04-16 18:29:00 -04:00
Alayan-stk-2
63127f553f
Better gauge goal 2018-04-16 14:08:28 +02:00
auria.mg
264fac392e Ajust forgotten texture 2018-04-15 18:08:08 -04:00
auria.mg
655faa81a0 Reduce speedometer images to a more reasonable size 2018-04-15 18:03:02 -04:00
Deve
45aa9c2e3a Minor tweak for init android dialog 2018-04-14 22:39:51 +02:00
Alayan-stk-2
8f4744b061 Improved speedometer and nitrometer (#3177)
* New speedometer and nitrometer gui

* Update Speedometer and Nitrometer

* Improve nitro background

* Improve nitro bar drawing

* Improved meters

* Improve meter and rank drawing

* Agressive smoothing and higher visibility

* Helper function for meter drawing

* Helper function for meter drawing

* Improved meters

* New nitro bar, slight 3D effects and hopefully fix compilation

* Update license
2018-04-10 21:14:50 -04:00
Deve
1ee5f3aa8a Keep acceleration sensitivity for up/down button when accelerometer is enabled 2018-04-10 21:09:05 +02:00
Deve
3f69fd37ed Some improvements for touch device 2018-04-10 00:22:09 +02:00
hiker
1b72d88593 Merge remote-tracking branch 'origin/kobato' into game_protocol 2018-03-31 01:12:22 +11:00
hiker
b1013f6030 Merge remote-tracking branch 'origin/network_improvements' into game_protocol 2018-03-31 00:38:57 +11:00
hiker
17200d7809 Merge remote-tracking branch 'origin/master' into game_protocol 2018-03-30 22:47:30 +11:00
auria.mg
b778b91b5e More UI scaling improvements, see #3146 2018-03-26 21:24:48 -04:00
auria.mg
ee57bbd6b4 As suggested by deveee, make the server creation screen more scalable. Also cleanup/simplify a bit 2018-03-25 18:10:44 -04:00
Benau
946a902f98 Adjust server creation screen for 1280x720
And add some more game modes
2018-03-24 15:44:15 +08:00
Benau
85895074aa Merge branch 'origin/master' 2018-03-24 09:31:06 +08:00
auria.mg
75c1739ff2 GUI tweaks 2018-03-23 20:38:16 -04:00
Benau
025ca63df0 Display ping to server in lobby 2018-03-23 22:19:44 +08:00
Benau
61b6389764 Use crown icon for server owner 2018-03-23 10:08:48 +08:00
Benau
c026261e0f Improve splitscreen dialog for easier adding 2018-03-22 12:52:37 +08:00
Benau
1b4caa36af Use a better wording 2018-03-22 11:43:09 +08:00
Benau
152dfe7c55 Add toggling of network splitscreen in online menu 2018-03-22 01:38:29 +08:00
Benau
6fca802c8e Add network split screen kart selection 2018-03-21 15:41:44 +08:00
Deve
db3399500f Better scaling initial android dialog 2018-03-20 21:38:06 +01:00
Benau
4379244f3e Adjust based on auria's feedback 2018-03-20 14:56:17 +08:00
Benau
d436446de2 Add no-kart-selection network splitscreen 2018-03-20 02:54:10 +08:00
Benau
cfd1de43bb Display all votes in the RHS of tracks screen 2018-03-19 15:08:38 +08:00
Deve
203d045485 More improvements for gui on android 2018-03-17 22:28:45 +01:00
Benau
e66c4eed35 Properly hide the rectangle box in ghost track screen 2018-03-17 11:12:21 +08:00
Deve
26419e5ee0 Better gui scaling on android 2018-03-16 23:00:58 +01:00
Benau
758581d13c Merge branch 'origin/game_protocol' 2018-03-16 17:11:40 +08:00
Benau
cf898c2795 Remove waiting for other screen now that you can instantly know votes 2018-03-16 11:35:16 +08:00
Benau
f78276a930 Show player vote in message queue for immediate effect 2018-03-16 00:54:02 +08:00
Benau
ea8ba470d6 Use (s) for server 2018-03-14 10:07:54 +08:00
Benau
5699a86586 Allow toggling the display of only private server 2018-03-14 00:50:19 +08:00
Benau
901c5eabec Allow specifying server password in dialog 2018-03-13 16:04:59 +08:00
Benau
8330919a3a Add missing stkgui for lobby chat 2018-03-13 00:51:08 +08:00
Benau
d527c0eee2 Use icon to identify server owner, online and offline players
Also hide the friend request button for offline players
2018-03-12 11:28:13 +08:00
hiker
8cf885652f Merge remote-tracking branch 'origin/master' into game_protocol 2018-03-08 09:51:00 +11:00
Deve
8f78d4e891 Add a popup on first run on android, so that user can choose if accelerometer should be enabled 2018-03-04 00:08:24 +01:00
Benau
43cf29af86 Merge remote-tracking branch 'origin/network_improvements' 2018-03-02 17:39:16 +08:00
Deve
a00c1cadc8 Simplify accelerometer selection in settings 2018-02-28 22:01:30 +01:00
Benau
d8007c4518 Update server for new xml code
And initial work for starting a complete stk server
2018-02-26 14:23:34 +08:00
Benau
571a524f59 Update lobby for new gui engine code 2018-02-25 13:31:45 +08:00
Benau
34caab24fe Update networking lobbdy for better display info 2018-02-25 02:09:07 +08:00
auria.mg
e26239e364 Improve the input sensing text to be a bit clearer 2018-02-13 20:35:07 -05:00
auria.mg
196b5a2bbe Minor ajustments to kart color screen, make kart slightly bigger, make XML cleaner 2018-02-12 20:22:35 -05:00
auria.mg
2830dabfc1 Improve kart color selection screen, fixes #3122 2018-02-12 20:08:51 -05:00
Ben Krajancic
0f3518e71b Unlimited Split-Screen (#3104)
* Initial SplitScreen

All are upside down and player 1, 5 player does 6 even...

* Working version of splitscreen

* black screen fix

* te fix

* Update race_gui.cpp

* Change item

* wrong way fix and refactorings

* Fix icon scale, cleaning code for lap count

* Remove tabs

* Add settings option

* Fix FOV

Right now the FOV gradually  decreases when going from 1,2,3,4 players. Then after 4 players it wont drop any lower. This behaviour can easily be replaced in the future

* Prevent overflow

* Unlimited splitscreen

* Space out duplicate skins across additional players

* Update stk_config.cpp

* Update irr_driver.cpp

* Update options_screen_ui.cpp

* Update irr_driver.cpp

* Update options_screen_ui.cpp

* Update race_gui.cpp

* Update irr_driver.cpp

* Fix for empty pixels at edges

* Fix referring to template not int

* Fix compile errors

* Progress towards fixing selection screen

* Begin process for selections

* Fix selection screen for >4 people

Important GUI changes included

* Disable changing rows/cols ingame

* fix sp related crash

* Styling fixes
2018-02-05 20:01:32 -05:00
Benau
503455d02f Simplify instruction 2018-01-13 13:48:51 +08:00
Benau
bb0cf72635 Add required code and color selector for rainbow karts 2018-01-13 00:38:46 +08:00
Benau
9ccb34c2a1 Adjust graphics presets for SP 2018-01-12 12:03:31 +08:00
auria.mg
d92476ae70 First implementation prototype of the new netwoking UI, as discussed. 2017-11-25 18:51:49 -05:00
auria.mg
32243e7eb3 Update the newlt-added icons with ones whose liense is known 2017-09-14 19:44:34 -04:00
auria.mg
1d2e882ffe Merge branch 'master' into master_fhach
# Conflicts:
#	src/guiengine/widgets/kart_stats_widget.cpp
2017-09-14 19:24:06 -04:00
deve
6500cf716a Use better names in touch device settings 2017-09-13 06:18:07 +02:00
Deve
f96863c421 Add a possibility to totally disable particles.
Particles cause a crash on some radeon devices, so people can at least disable it to make the game working.
Also tfb causes quite big slowdown on slow devices even if there is no particles displayed, so it can give few more fps.
2017-09-08 00:33:46 +02:00
Deve
7d4fbb8d0c Minor modification in play tutorial text. Fixes #2535 2017-07-29 00:43:17 +02:00
Deve
9fc1acc4c0 Allow to draw steering wheel on the right side 2017-07-05 21:21:33 +02:00
Deve
2cda14686d Simplify touch device settings 2017-07-05 20:43:57 +02:00
Benau
02c8c87d5d Remix all image quality options 2017-03-16 01:04:53 +08:00