From Apple:
Starting with Xcode 14, bitcode is no longer required for watchOS and
tvOS applications, and the App Store no longer accepts bitcode
submissions from Xcode 14.
Xcode no longer builds bitcode by default and generates a warning message
if a project explicitly enables bitcode: “Building with bitcode is
deprecated. Please update your project and/or target settings to disable
bitcode.” The capability to build with bitcode will be removed in a future
Xcode release. IPAs that contain bitcode will have the bitcode stripped
before being submitted to the App Store. Debug symbols for past bitcode
submissions remain available for download. (86118779)
Run directly it fails with: `./make.sh: 203: Syntax error: "(" unexpected`
A scan on https://www.shellcheck.net/ shows too many issues, this needs to be redesigned a lot to be clean of bashisms
vkCmdBeginRenderPass: Hazard WRITE_AFTER_WRITE vs. layout transition in
subpass 0 for attachment 1 aspect depth during load with loadOp
VK_ATTACHMENT_LOAD_OP_CLEAR.
1. Remove pow in shader and do srgb conversion in code
2. Fix setGreen and setBlue order
3. Multiply particle color first like vertex color in the other shaders
4. Fix incorrect smoothstep
It used to work in 1.2 because the top of the invisible wall was
not covered, which will affect height map calculation. Now we
ignore physics only objects when doing the height map calculation.
* Use error icon in crash report dialog
Found this change when going through old folders, looks like it never made it in.
* Update crash error message
Improve grammar; avoid reports for one-off errors; link to proper subforum (id 17 is STK General)
My general strategy of getting ports to work on Haiku is to just take advantage
of whatever makes things work on FreeBSD by adding an additional condition and
then fixing up things later once it compiles successfully. This generally
works, as Haiku contains FreeBSD headers for compatibility and code that
takes other operating systems into account other than Windows, Linux and OS X
and has a higher degree of POSIX compatibility tends to work on FreeBSD and
Haiku. This strategy is not perfect, and this commit proves it.
Haiku is the successor of BeOS, which, in turn, shows similarities to macOS
every now and then, as the company almost acquired Be, Inc., but later chose to
acquired NeXT, Inc. instead.
`xdg-open` is not available on Haiku by default the same way it is on
FreeBSD and Linux. With that in mind, this should fix URLs, which do
not not work properly on Haiku. Actually, nevermind, I forgot that there
is actually a package available that adds support for them. But still.
The less dependencies, the better, probably. This is also how other
packages with ports available on Haiku solve this problem.
- add size and display settings for powerup icon in user settings
- move minimap display settings in user settings
- fix some comments in stk_config.xml
Winget relies on this value to get the version of a program.
If it's missing winget will just download the newest version even if the program is up to date.
See https://github.com/microsoft/winget-cli/issues/1255
Anything not provided or defined by a skin will be used from the defined base skin, if specified.
For example, if a skin provides a base_theme of "cartoon", any icons/buttons/etc. not provided by the skin will be pulled from "cartoon".
font_manager->loadFonts() needs data from the GUI skin. Move this initialization to after we naturally have the data, instead of doing an extra dummy initialization just to get this data.
Explicitly pass STATIC to tinygettext add_library() call to make sure
it's always built as static, even when distro's cmake is configured to
build libs shared by default.
- Fix a bug that prevented the alert sound from playing in timed Story Mode challenges.
- Extend the visual alert (colored time) to the last 15 seconds (previously 5). The sound alert remains limited to the last 5 seconds.
- Switch from yellow to orange for the timer when 5 seconds are left and the sound alert starts playing.
- Significant code simplification (tested for non-regression in soccer, FFA, story mode timed challenge)
I had previously suggested a pull request for it. However, the main issue with my original pull request was that it didn’t contain some packages I already had installed. So, I’ve corrected on misspelled package name, and added the remaining ones.
The /usr/share/pixmaps location is considered a legacy location for
application icons; since the application icons are already installed in
the global XDG hicolor theme, then simply stop installing the 512px one
in the legacy pixmaps location.
* RichPresence: support addon tracks and karts
* RichPresence: use 'Story Mode' for internal tracks
* RichPresence: only cache is assets has data
* RichPresence: update RPC after asset list retrieved
* RichPresence: move AssetRequest processing to main thread
* WIP RPC support
* Might have windows support now, don't peek
* Windows support
* RichPresence: __SWITCH__ => DISABLE_RPC (for MOBILE_STK support)
* RichPresence: Handle JSON strings according to spec, support for addons icon
* RichPresence: use translated difficulty name
* RichPresence: disable when client_id=-1
* RichPresence: thread connection, show server name on RPC
* RichPresence: destroy on close
* RichPresence: don't compile methods at all if DISABLE_RPC
* RichPresence: fix windows compile (untested)
* RichPresence: fix for mac
* RichPresence: Linux needs MSG_NOSIGNAL still
* RichPresence: fix memory leaks, don't spam update while not connected
* RichPresence: free thread on terminate
* RichPresence: handle initial registration
* RichPresence: fix compiler warning
The player kart, difficulty, game mode, and reverse are no longer static values
Also ensure that there is a value pressed when exiting demo via a keypress
* Add more functionality to the debug menu
Includes:
* Front of kart view
* Inverse side of kart view
* Change to kart #9 or #10
* Attachments for AI karts
* Fix enumeration value not handled in switch for debug camera
* More enhancements to the debug menu, part 2
Includes:
* Restore access to the anchor/anvil powerup
* Clear the current powerup or attachment
* Change to kart #11 or #12
* Flatten karts as if they were hit by a swatter
* Block most of the view with plungers
* Enable executing some keypress actions from the debug menu in a new sub-menu
Includes:
* Rescuing karts from menu
* Pausing the game from menu (but keypresses will cause the game to crash)
* Moved "To next kart" menu entry to be right below "To previous kart" for easier reach
* Change print kart positions to info level, better labeling of side kart views
* Prevent crashes when trying to use 'Behind wheel view' on a ghost kart
* Add close button to the debug slider dialog, and a function to enable/disable spinners
* Make it easier to read and select kart camera targets from the debug menu
* Add another dialog (reusing the debug slider code) to allow the user to select
from a slider the kart number to change to
* The 11th and 12th target slots have been removed to make the submenu cleaner,
but the 9th and 10th slots have been left in place
* The predefined slots (1st place to 10th place) actually use numbers
* Improve the appearance of the FPS (frames per second) counter
* Shift the position closer to the center, so that in-race kart icons are not obscured
* The box and text position adapt based on the screen resolution
* Use a thin black border for the font, and make the font white-colored
* Decrease the font scaling to 0.7, so that other UI elements can be seen more easily
* Improve debug keyboard shortcuts handling, rearrange some shortcuts
Most shortcuts are now handled by Debug instead of InputManager directly
Other changes include:
* Fix moving right in 1st-person view not working
* Change the 1st-person view shortcuts to work more like in Blender
* Add more keyboard shortcuts for quickly seeing the top and sides of a kart
* The key to show player list in soccer mode no longer needs to be held down
* Rearrange some shortcuts to flow more naturally
New list of debug keyboard shortcuts:
* F1 - Normal view
* F2 - Top view
* F3 - Right side of kart view
* F4 - Left side of kart view
* F5 - 1st-person view
* F6 - Reload SP textures
* F7 - Next kart
* F8 - Previous kart
* F9 - Show player list in soccer mode
* Q - Move 1st-person view camera down
* E - Move 1st-person view camera up
* R - Rotate 1st-person view camera right
* F - Rotate 1st-person view camera left
* Exit demo mode when there also are no dialogs active; fixes related crashes
* Improve the debug menu, various fixes to some menu items, and mouse-accessible actions
Includes:
* Debug menu opens at the cursor position, but not at off-screen places
* Ensure that the debug menu stays (almost) within the actual window
* Middle mouse button can also be used to access the debug menu
* Move all items into submenus, rearrange most submenus to keep a compact size
* Add ability to set powerup and nitro amount by debug slider dialog
* Label the some commands with the new keyboard shortcuts
* Screenshots can now be saved via the debug menu
* Texture reloading can now be done via the debug menu
* Add more debug shortcut keys, change many of the existing ones
The full shortcuts list will be explained later
Includes:
* Use Control and Shift keys to fit more shortcuts onto fewer keys
* Label the debug menu items with the keys that can be used to activate them
* Fix more debug menu items causing game crashes in certain situations
* Add help message dialog to tell users the list of static/debug shortcuts; incomplete
* Slightly alter the free margins that the debug menu can appear in
* Render target textures (RTT) can now be dumped via the debug menu
* Replace the 10th kart camera target with the last kart camera target
* Switch the shortcuts used for activating history save and manual replay saving
* Finish labelling the remaining debug actions, complete the debug keys help dialog
Unfortunately, the now unused tutorial message dialog has been repurposed for this use,
and the font sizes greater than 'Large' will cause some text to draw outside the dialog
* Document the remaining command-line parameters, clean up some of them
This adds another method that will print out the previously undocumented debug options
Rename --gamepad-visuali[s,z]ation to --gamepad-visuals
Also fix some comments related to the user config, including the game mode numbers
* The AI cannot handle the anvil powerup anymore, but it won't spam logs anymore
* WIP support for Nintendo Switch
* OpenAL is usable
* Remove some debug code, add manual crash when DEBUG_NXLINK is on
* Remove more debug logs
* Support touch, account name detection, language detection. Remove resolution settings
* Stylistic changes
* SFXManager: update on main thread
* Add build script, remove crypto.hpp changes, disable opengl recorder on switch
* make: use sudo where needed, libs=>lib, portlib=>portlibs
* make: build harfbuzz with freetype
* main: remove DEBUG_NXLINK
* socket_address: this comment is no longer relevant
* Fix indentation in SDL, remove extra debug logs from InputManager
* InputManager: make log debug, not info
* CMakeLists: add mbedtls include dirs on switch
* main: deinitialize stuff
* main_loop: fix format
* Enable LoD autocompute
* bring back the autocompute lod function
* Add the area as main function to compute the lod level
* Bring back the area based auto lod computation
Co-authored-by: samuncle <samuncle06@gmail.com>
* Add in-game high score selection screens, based on the ghost replay screens
Its functionality is basic for now, mainly to let players have a central place to view
their high scores
Other things to improve:
* Allow sorting the high score entries by criteria
* Allow deleting high score nodes and possibly entries
* Use better icons
* The string for the high scores title in the track info screen can now be translated
* Refine in-game high score selection screens
Includes:
* High score info dialog now shows track and setup information
* A race can be started with the displayed setup, using the current player and kart
* Icon to access the screen now placed between the tutorial and achievements buttons
* It is possible to delete a specific high score group or all of the high score groups
* Change the order of some columns to make them easier to hide for non-linear modes
* The list will now filter out enpty high score groups
* Replace bomb icon (as used in the help menu) with the full object version from STK 0.8
It has been edited to remove most of the transparency in the object itself
* Implement column clicking in the high score selection screen, and minor GUI fixes
Note that high score entry sorting is not yet working properly
Includes:
* Top right buttons replaced by button bar containing them; fixes unreliable clicking
* High score manager has some one-line functions moved into its header file
* High scores can be sorted by some criteria
* Sorting is done before every time high scores are saved
* Fix header define names for the high score info dialog
* Fix high score sorting, reorganize its associated code
* More refinements to the high score selection screen
Includes:
* Clearing high scores no longer causes memory leaks
* The manual refresh button has been removed, as it has been deemed useless
* Remove unused header files for the high scores information dialog header
* The high scores box in the track information screen no longer has '='
* Fix pressing escape key in the high score information dialog crashing the game
Also remove unused widget variables and unnecessary function overrides
* Do not write high scores for races that have 0 laps and/or have no real karts
* Allow passing a parameter to prevent high scores from temporarily being written
This setting lasts only as long as the game runs; it is useful during track and
kart animation testing, where unwanted high score entries should not be written
* Force update sources.cmake, as new source files are being added for high scores screens
* Fix memory leak and strings
Co-authored-by: Benau <Benau@users.noreply.github.com>
* Open the confirm dialog if exiting the grand prix editor with changes by escape key
* When launching the tutorial, use the last used device instead of the first keyboard
* When launching story mode, use the last used device instead of the first keyboard
* Make the kart color selection dialog more consistent with other dialogs
Includes:
* Add an icon button bar with containing actions to apply changes or to cancel them
* The kart only shows its straight frame, without animation; it is slightly smaller
* Adjust the vertical space between widgets, to try keeping the kart size larger
* Use a button bar for the video settings and custom camera settings dialog
A lot of old options for materials.xml format where flagged as deprecated. They are now removed. Addons will not break but might have a few visual artifacts. They should be upgraded by artists to the new structure.
The blender exporter was also cleaned.
* Added GitHub actions worlkflow file for Linux
Also includes content needed for macOS, but macOS builds are disabled because harfbuzz can't seem to install properly
* Change license of GitHub Actions workflow file to CC0
Co-authored-by: Semphris <semphris@protonmail.com>
We can see what is the feedback if it's fast enough for users. It still looks much better than without advanced lighting even when resolution is lower.
IMO auto scale doesn't have much sense on desktop computers, because advanced lighting was enabled by default for a long time and graphics level 3 should be fast enough as it is. And still now rtts scale it's easily configurable in options.
I fixed deactivated "render resolution" spinner when you enter graphics options when advanced lighting is disabled.
I also added a function that reads dpi on android and it sets rtts scale based on this value. SDL is not initialized yet in this place, so getDisplayDPI() is not possible.
Auto mode adjusts based on your display's DPI in order to hit a target DPI. Currently it will default to Always Full for render resolution, but High Quality or even Quality might make a good default, community testing is needed.
* few improvements of option UI
* small fix
* show the correct spinner text when not activated
* camera name for translation
* clean the code (loop camera spinner)
* Allow setting [again] track reverse mode via command line
* Make composer field in music information files optional
* Add support for loop end of music
* Remove print statements used for checking current music play time
* Support playing different music on race results screen
Also make them configurable in stk_config.xml
* Allow configuring grand prix win/lose and feature unlocked music in stk_config.xml
* Fix coding indentation style
* Fix warning when scrolling track screenshots in grand prix results
* Display the rank a player kart finishes in if not in 1st place
* Add gamerzilla support to achievements.
* Move all gamerzilla code into one file. Should we want to support another achievement system like Steam, it can be isolated to the WebAchievementsStatus class.
* Add WebAchievementsStatus files.
* Add version number to achievements file. Update graphics. Generate achievement list from internal system.
We should let VSync/m_max_fps (which defaults to 120) do their job. If a monitor has a refresh rate even slightly higher than 60FPS (e.g. 60.0007FPS), throttling will introduce stutters, even more so at modern high refresh rates (75, 90, 120, etc.)
This also cleans up the code, e.g. the var name `m_throttle_fps` was also being used in the main loop for a different function, despite having the same var name.
With the font size set to "Very Large" and the theme set to "Cartoon", the Apply button went slightly outside of the main box. This fixes that by putting the two checkboxes on the same row, which saves a bit of valuable horizontal space.
This improves things for #4378 but is not a comprehensive solution. It also includes unrelated improvements to this screen.
- Switch from 2 track rows to 3 track rows. This allows to show more tracks at once. Nonetheless amount of white space between track pictures is still significant. Showing the track name below each track is part of the issue, as it needs space on the bottom and margins on the side to avoid track names overflowing onto each other. Word-wrap for track title would incur a small vertical cost while gaining a lot of horizontal space. Alternatively, the track names could be hidden and only shown on hover (like the game's main track selection screeen).
- Select the standard set of tracks by default instead of all.
- Reduce the amount of vertical spacing for the buttons below the track picker.
- Group laps/reverse and ok/cancel vertically instead of horizontally. This creates clear visual blocks, as the reduced vertical spacing didn't work out well otherwise.
- Add a new selected track picture. The selected track's name is always shown as title, but some users may miss it or not know track names well enough. Now, which track is going to be added to the GP when clicking ok is obvious.
- When selecting a different track, change the lap number to the track's default.
The raw score remain used in the core of the formula for expected scores computations.
Also improve the handling of disconnects on rating, with new RD floors
(and so public rating penalty) for recurring disconnects (>= 3 in the last 64 races).
The raw score is less penalized than before, as it's not needed and
make expected score computations more reliable.
* add camera settings in option screen
* Remove camera settings (distance, backward/forward angles, smoothing) from kart characteristics
Co-authored-by: luffah <luffah@runbox.com>
The graphics engine changed a lot since this warning was added and it's
quite possible that it works now. Also that warning causes issues for newer
drivers that have eg. version 4.3.xxx.
* first version of svg support
* merge some nanosvg pr
* look for svg icons first
* bug fix
* scale svg depends on screen size
* use irrlicht headers to get screen size
* finish isALoadableFileFormat for svg
* delete dynamically allocated memory
* fix wrong delete
* only rescale icons, due to size settings in stkskin.xml depends on the size of the image file
* check svg in FileManager::getAsset
* fix large icon in list
* log the goal on server once a player scored in soccer
* show a message once a player made a goal in soccer
* bug fix, add comments
* remove server log
* Modern skin
The culmination of years worth of work! Thanks to all who helped make this as amazing as possible!
PNGs were ran through `pngquant` then `optimize_data.sh` for maximum smallness
* Shrink a multitude of icons
Ran through `optipng` then `optimize_data.sh`
Although there's not much we can do about accel on the shoulder-less config, we can at least make the menu keys and pause/rescue consistent with the shouldered config.
* Allow theming of powerup/attachment icons
Icons were optimized with `pngquant` then `optimize_data.sh`
* Change help screens to use icons from icons folder rather than `models`
ENetAddress ea = {} will allow to listen to any IPv4 or IPv6 address
when using system or bundled enet
The last uint32_t is for IPv6 scope id (required for IPv6 only lan
servers)
It allows switching run target (iOS device or simulator) inside
Xcode without re-running cmake or changing dependencies files
App Icons can also be specified now
* Implement box model spacing for skin elements
* Account for padding when spacing out on-screen keyboard
* Fix padding for Tutorial button on Help screen
* Reduce spacing between tabs
(Also removed a couple duplicated files.)
* Change verticalTab margin as per Benau's request
Uses `vborder_out_portion`, which is how it was done before.
* Remove duplicate files
* Adjust spacings after PNGs were adjusted in a previous commit
* Improve spacing of verticalTabs
* Slightly increase the tabbar width in the Options screens
* Slightly increase the tabbar width in the help screens
* Make Script-Message more adaptable
* Highly WIP-TriggerMessage
This is commited for discussion, so it is far away from complete or good or anything else.
* One Place for the static Message!
* Fixing that clear() dont clear the static message.
* Discard Static Messages when Race is closed.
In Order to not leave StaticMessages if an Race is quit, now closing the race discard StaticMessages.
* Allow for co-existence of static and normal message
* Fix indentation and Enum Order
* Clean up used StaticMessages.
* Clean StaticMessages up Round 2
As @Benau suggested to use MessageQueue for *making the Game Flow of the Tutorial smoother* (#4187), this Pull Request enable MessageQueue for Track-Scripts.
For me it works well with MessageQueue, however i think we could make the Font of a Message a little bit bigger, since it is quite small, especially on mobile.
This change attempts to expose the KartType (local player, networked player, AI, etc.) to scripting.
This is useful if a track creator wants an action to only occur if triggered by a real player, or only if triggered by a non-networked player (e.g. alternate route music in Frozen Drive unofficial add-on).
I have rushed this in to try and get it added in STK 1.1 and I have not yet been able to configure and build STK from source, so this change is currently untested!
I have placed this in the Track section because it uses the race manager. Please let me know if the Kart section is more appropriate.
Using both setActive() and setVisible() together doesn't have much sense.
Especially that in init function the checkbox was made invisible, but in
eventCallback it was only made active, but still kept invisible.
* UI fixes && Icon support for powerups
* Better loading icon size
* Fix#4145
* Fix a small bug
* Add alternative icon support & avoid duplicating icons
* Fixed some spelling mistakes
shorcut to shortcut (Also, I can not understand what the sentence on line 4 means, it could be reworded.)
proeminent to prominent
featue to feature
* fix spelling mistake
hearby to hereby
* Change arena addon icon
* Categorize UI
* Give small margin
* Better icon size in help
* Several screen fix
* Fix bug
* Better GP line size
* Give more space to texts
* Better size
This is the result of my previous work, with a port of the timer version that was developed for a 1.0 mod. It has been used by several players so no major issue should exist, though UI and other elements may require adjustment to smooth some rough edges.
It features both a casual story mode timer storing the total time to complete the story mode (on by default) and a "speedrun" timer (off by default). The casual timer is paused whenever the player exits story mode, and supports play over multiple sessions. It is only displayed in the overworld and during challenges ; while the speedrun timer is permanently displayed.
Fix#2907
This will allow around ping with 400ms to have a playable game with
the default values of max-ping and jitter-tolerance, as long as the
internet connection is stable (no packet loss)
I moved around some parts of the credits for more consistency, and updated some elements.
Some recent minor contributors are probably missing, while contributors for things that are not anymore in STK should be (re)moved.
The amount of "timeouts" errors where a mac build job stalls for no clear reason at all (the script isn't even started, and it's inconsistent) is unacceptable.
* Command-line help typo, fix
modified: src/main.cpp
* Typo fix, GNU/Linux manual
new file: doc/supertuxkart.1
modified: src/main.cpp
* More word and typo fixes in man/'-h'
modified: doc/supertuxkart.1
modified: src/main.cpp
* Changed to randomize spawns for battle modes
* Changed to randomize spawns for battle modes
* Randomizing spawns only considers offline play
* Code cleanup, removed unused spawn_id from RemoteKartInfo
* Changed to shuffle the start transforms instead of randomizing spawn ids
* Removed unused function randomizeSpawn()
* Updated offline check for shuffle start transforms
* Cleanup removed newlines in race_manager.cpp
* Add options to control the number of red/blue AI in soccer mode (offline)
* fix a bug related to the upper bound when AI num=0 and trying to lower the number
* forgot to fix this
* remove the Balanced/Custom spinner
* improve the AI number spinner's behavior at lower bound
* Hide blue ai number setting if not soccer
* move getting red/blue players number to function TrackInfoScreen::getRedBluePlayerNumber()
* Tab to Space
* rename local variable m_xxx to num_xxx
* bug fix
* improve the default AI number: try the previously used one, if cannot use the previous, recalculate the AI number using balanced
On some architectures it is required to explicitely link against
libatomic to use e.g. 8 byte atomics.
Check during configuration if it compiles without libatomic. If not,
add it to target_link_libraries.
Noticed on Debian build servers: https://bugs.debian.org/934799
This reverts commit 74f227590e.
Expat doesn't like ./data/achievements.xml ! Error= <type 'exceptions.NameError'>
( ("name 'defusedxml' is not defined",) )
This code is only run during the development process when updating translations base and the source XML files are trusted data. There doesn't seem to be a downside to the change, however.
* Replace fonts size into font size
* replace fonts size to font size
* Replace fonts size into font size
* #3923 && replace fonts size to font size
* delete min & max
* add font size spinner in loadedfromfile
* Delete wrap around
* Fix a bug
* Wider range in artist debug mode
* Better word
* Smarter size
* Better size
* Smarter row size
* Smarter size
* Fix#3792
* Bigger title && use 4 spaces
* Fix#3792
* Better credits
* Smarter size
* Less lines to preserve space
* Smarter icon size
* Better size
* Completely fix#3792
Using buttonbar in every line can avoid scaling problems
* Completely fix#3792
* Completely fix#3792
* Add space under the screen
* Make space smaller
* Smarter ratingbar size
* Better size
* More reasonable size for powerup texts
* Better spacer under the screen
* Sparter space under buttons
* Smarter space under buttons
* Smarter space
* Smaeter space under icons
* Smarter space under buttons
* Smarter space
* Smarter space under butons
* Smarter space
* Smarter space under buttons
* Smarter space
* Smarter space under buttons
* Smarter space
* Smarter stars size
* Fix an extra line
* change buttonbar back into ribbon
* dont declare the width of the buttons
It may cause some characters partly showed or hidden in some lang
* Use font height
* Smarter space
* Smarter space
* Better space to avoid bad looking ui
* Smarter space
* Use font height
* Better height
* Better skill bar look
* Better skill bars look
* Use foont height
* Use font height
* Bigger size
* Use font height
* Use font height
* Use font height
* Use font height
* Better height
* Use font height
* Use font height
* Bigger size
* Fix scaling issues
* Fonts size adjustion support
* Add fonts size support && Fix scaling issue
* Use fonts height
* Fix scaling issues
* Add my name onto CREDITS
* Fix scaling issues
* Fix scaling issues
* Use space instead of tab
* Use space instead of tab
* Fix bad scale
* Use font height
* Update supertuxkart.appdata.xml
Update description, using parts from https://supertuxkart.net/Discover
* Update references to tracks to mention better ones
* added widget to track info screen to select between Free-For-All and Three Strikes Battle
* setting AI to zero and setting time target to 2 minutes for testing
* setting also hitcapture limit to prevent immediate race end
* setting m_count_down_reached_zero to false in ffa reset to allow starting a new race after the previous ended through time limit
* integrated necessary adjustments and made possible to set time target
* removed unused spinner variable
* use translations
* centralized is_soccer and show_ffa_spinner variables
* setting target value spinner visible/invisible depending on ffa game type
* using no hittarget and fix for this in free for all mode
* set use_highscores to false for FFA
* disabling AI for FFA
* disable hit limit icon for FFA if no hit limit is set ( = 0 )
* changed icon and name of three strikes battle to only battle in race setup screen
* set AI to Battle AI if mode is FFA
* added config parameters for FFA
* added define which can be used to enable FFA AI
* resolved merge conflict
* moved ffa options higher
* fix for setting ai karts
* improved m_show_ffa_spinner and m_is_soccer
* removed code for disabling widgets for FFA AI
* implemented requested changes
@deveee @Benau I'm mainly aware of what I've done myself and I miss some things when looking at the commit list, so don't hesitate to update the changelog yourself to add missing important changes.
This reverts commit c5cf87071c.
We can remove utf8_encode in stk_addons api so it will handle
utf8 characters in db correctly, as utf8_encode is only needed for
a string encoded in ISO-8859-1.
Fix#3670
* For now rename 'official' servers to 'truster', to make it more
obvious what the STK team does not operate those servers.
* Removed left-over-unfinished-duplicated comment :)
It's used by irrlicht and in some other places in STK anyway. And if window size was changed for some reason, then ugly but functional window is better than non-functional at all.
* Update config to use the new online servers. Remove hardcoded certificate as we will use Let's encrypt from now on
* Fix new server SSL curl certificate by shipping CA bundle from https://curl.haxx.se/docs/caextract.html
* Remove debug log for curl host
* Move server config to stk_config.xml and Update news.xml redirects
* implemented showing the name who made the fastest lap in race result screen (only for offline play yet)
* also support online races, using english and added translation note
* added comment
* Fix typo
* moved soccer race options to track info screen
* using one spinner for both target mode values
* merged pointamount-spinner with lap-spinner and renamed it to target-value-spinner
* fixed identation
* small fix in track_info screen
* storing target value when value was changed
* making sure tartet spinners are invisible when not needed; small adjustments
* some test with solving space issues on small resolutions
* Revert "some test with solving space issues on small resolutions"
This reverts commit f6b6526681.
* test with collapsing widgets
* removed deleting childs of widgets in track_info_screen
* readded deleted spacer
* collapsing target type widgets is now working
* made target type spinner wider to have enough space for text in it on small resolutions
* re-added setting target value to invisible/visible
* using new collapsing widget function in track info screen for target type widgets
* added function to collapse a widget more easily
* improved setCollapsed and added overload to specify the uncollapsed height
* used new collapse functions in online track_screen
It fixes turning for non-analog gamepads and gives more consistency for online gaming, because you can't turn fully left/rigtht immediately with analog controllers. Should be better for android too, because it's kinda less sensitive.
the TracksScreen should stay (to show the random vote result animation
later). For now the screen is re-added, long term should have a better
solution.
It is still incomplete (especially for networking). I separated user interface changes to avoid the list being too disorganized, further separations may be useful.
A few days ago stk stopped compiling because nettle was added as a dependency.
So i added it.
Works on Debian based distros. Fedora and macOS package name taken from the web.
The decimal key was not registering on the number pad as the decimal
key, it was deleting the numbers of the IP address making it impossible
to use the num pad solely for entering an IP.
Fixes#3602
The kart accelerating when going backwards was a sign issue (missing fabsf) and was already fixed in bb1aac3857
Setting the engine force to 0 in all cases causes issues when not accelerating/braking at higher speeds.
Currently spinner widgets use select button instead of left/right buttons to change values, so that we can't handle player confirmation when spinner is hovered.
A AI with an heavy kart did 144,56 with the new kart characteristics. The first AI will be between 150 and 155 in most cases. The 165s time limit wasn't adapted.
both client and server. Voting time now starts from the moment the
kart screen is shown (not on first player having finished voting).
Improved coding style.
Now it works better with very big resolutions. Previously label height was used as a kind of margin for columns. But in extreme case it could be even bigger than child height.
a valid raycast for the item position. Current solution is a bit
of a work-around (creating the item potentially higher than the
ground with incorrect orientation).
* Always call buildInternalStructure when updating items to prevent font size issues
* Added word wrap for DynamicRibbonWidgets and enabled on the GP editor.
I suspect that some kart credits are also for old versions of karts which have been redone since then, but if the new version is based on the old, entirely removing credit may not be appropriate either.
*Item) for its item handling. This allows us later to use
the switch functions to work on either the current items
or on the confirmed item state (i.e. code reusage for rewind).
Now that the turn radius bug is fixed, these differences are more meaningful. The reference turn radius is close to the tighter numbers observed before, so this isn't actually a +15/30% to turn radius compared to previous effective numbers.
A turn radius of 19.5 at 25 of speed is still very manageable.
This doesn't preclude further tweaks in the future, once largely playtested in the beta.
* Add a flag icon next to the lap counter
* Fix flag icon scaling across resolutions
* Add an option controlling minimap display
* Allow to display all the karts in the icon list if the minimap is hidden/on the right
* Remove useless scaling
* Fix minimap issues in splitscreen
* Align the spinners in the UI options
* Check for touch settings instead of a compile-time Android check
* Fix server-only compilation
* Make UI options checkboxes have the same size than checkboxes elsewhere
* Add translation cues for minimap options
* Don't look up icon paths every frame
The grass texture slowdown working again makes this challenge several seconds slower than in 0.9.3 ; and the previous balancing change for supertux ended up overshooting.
The additional AI karts also make it more challenging than in 0.9.3, as it's frequent to be hit by something in the 1st lap.
The AI is not yet good enough to be the sole factor ; the time requirement is necessary to not have these Super Tux challenges much easier than others.
Time-trial records give a good idea of the relative length of different tracks. I tried to keep a similar balance to the one reached in Cornfield Crossing's challenge.
Finishing first should always result in challenge success in low difficulties, and the AI balancing should be more effective than per-challenge tweaking in achieving consistent difficulty across challenges.
The AI is slower than the required times in this challenge, so it makes it easier.
The previous times were, without nitro/skidding, as hard if not harder than the expert challenge.
As discussed on IRC with Auria.
This removes the several issues already noticed when switching between 0.9.3 and git versions (forgotten challenges and settings ; and more recently a crash with highscores).
Reminder for git users : you can migrate your data by copying it from the previous folder to the new one, so you won't have to redo your settings/profiles.
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#3424Fixes#3425
* Use shouldDrawTimer overrides for tutorial and soccer worlds
* Add isActiveRacePhase
* Update shouldDrawTimer
* Remove duplicate check
It also allows displaying time in soccer after a goal
* 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
* Remove a duplicate mention of deveee ; add Fantasmos and QwertyChouskie
Fantasmos has contributed :
- Illimited splitscreen multiplayer (involves also race UI improvements in local multiplayer)
- Flashing bubble gum before expriation
- Crash sounds changing depending on speed/direction
- Better rescue
- Misc fixes
QwertyChouskie has contributed :
- New skidding particles
- Misc. fixes and improvements
* Add most of the significant changes (for finished features) since 0.9.3 to the changelog
* Include two more changes for the 0.9.3 version
* Add a few items, clearly separate track/modelling changes
Also, each new track get one line of changelog. Putting two on the same line vastly underestimate the importance of such a change. This also make it easier to mention removed/replaced tracks.
The changelog should not be shortened at all costs ; rather, it should be reasonably complete and not shy from using more lines as a visual cue when appropriate.
* Add kart and tracks subsection, improve changelog organization for 0.7.x versions
* More sorting for 0.6.x releases
* Improve info on track changes in 0.4/0.5
* Add android input improvements to the changelog
* Fix typo
* Remove incomplete name change info
* Manage if the sort should be default, ascending or descending from the base widget
* Update all list sorting to be in sync with the list widget sort buttons
This can help in case of high latency connections and quick steering changes:
because of the high latency the steering is applied too long locally,
reducing in the other kart driving left/right way too much.
It's disabled for now (i.e. steering is multiplied by 1.0), but can be
enabled in stk_config.
* Use thread number from Travis docs
The other number is probably incorrect.
See https://github.com/travis-ci/travis-ci/issues/4696
* Add macOS to travis builds
* Remove unnecessary libraries
Not sure why these were added in the first place.
First commit that added them: 6aecb42e42
* Fix server-only build on macOS
* Update macOS instructions
Thanks @OzoneOne for testing this.
* Fix issues
Also remove 0.9.3-and-below-only Xcode build instructions, was "much less well tested" anyways.
* Revert unnecessary change, more tweaks
* Remove extra newline
* 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
* 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.
* Add vertical tabs to ribbon widget types
* Update GUI engine for vertical tabs
* Add the ability to get a ribbon's active children number
* Add full looping for vertical tabs
* 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
* 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
* License for new coal skin
* Coal skin elements
* New coal skin
* Better contrast for coal skin select
* Lighter white text.
* Improved contrasts for actionable UI elements
* Make the theme back to a darker background while improving contrast again
* Ranking formula refinements (#3288)
* Reduce the maximum scaling time from 600s to 500s
8m20s is already much longer than nearly all ranked races will be, so it matters most for eliminated players. It would be too punishing if kept to 600 with the new time scaling method.
* New helper function for ranking computations
* Make short races less important for ranking points
And long races more important
* Use double for calculation
* Fix as alayan suggested
* Fix possible empty race event manager instance
* Show remote player in the past
* Allow to set commandline arguments on android
* Fix#3242
* More on #3242
* FIx#2912
* Better checkboxes (#3291)
* Better checkboxes for forest skin
* Better checkboxes for ocean skin
* Better checkboxes for peach skin
* Better checkboxes for ruby skin
* Try to create external/internal directory if it's not available.
Typically it always exists on new phones, but I didn't find any information if it's guaranteed to exist and it's missing on my old phone.
* Always set blend func in GLES 2.0.
It's often changed in STK engine and the value stored in irrlicht variable may be invalid.
Fixes#3296
* Avoid a crash when user name is empty
* Unlock cutscene improvements (#3298)
* Don't display unlocked features out of screen when there are 4 to 6-7
And more regular spacing between them
* Remove outdated workaround
* Store the previous number of story mode point
* Allow to get the previous points from player profile
* Fix points estimation for finding unlocked tracks
- Updated to reflect that the player's points are now updated before this function
- Use the real previous number of points rather than trying to estimate the point change (otherwise, the points computation method would have to be duplicated here to not have a bug with GPs who give more points than single race challenges).
* Fix#3100 (#3299)
* Fix#3100
* Fix server only compilation
* Fix stupidly long line full of whitespace (#3303)
* Don't use pkg-config on macOS
Fixes#3305
* Fix#3309
* 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
* Move black focus halo to the common folder
* Remove duplicate image, use common folder
* 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
* Delete glass_square_focused_bw.png
* Delete left_arrow.png
* Delete rating_star.png
* Delete right_arrow.png
* Delete list_sort_down.png
* Delete list_sort_up.png
* Delete glassbutton_deactivated.png
* Delete glasscheckbox_deactivated.png
* Delete glassspinner.png
* Delete glassspinner_deactivated.png
* Delete scrollbar_bg.png
* Delete scrollbar_btn.png
* Delete tooltip.png
* Delete glasscheckbox_checked_deactivated.png
* Use common folder, support vertical tabs, and small tweaks
* Optimize image size, add vertical tabs, add custom bottom bar
* 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
* Don't display unlocked features out of screen when there are 4 to 6-7
And more regular spacing between them
* Remove outdated workaround
* Store the previous number of story mode point
* Allow to get the previous points from player profile
* Fix points estimation for finding unlocked tracks
- Updated to reflect that the player's points are now updated before this function
- Use the real previous number of points rather than trying to estimate the point change (otherwise, the points computation method would have to be duplicated here to not have a bug with GPs who give more points than single race challenges).
* Reduce the maximum scaling time from 600s to 500s
8m20s is already much longer than nearly all ranked races will be, so it matters most for eliminated players. It would be too punishing if kept to 600 with the new time scaling method.
* New helper function for ranking computations
* Make short races less important for ranking points
And long races more important
This permission is not officially available in documentation and it was a hack for some devices that have access to sdcard only on system applications.
* Don't generate IRC alerts
* Differentiated rubber-banding
* Fix#3222
* Small simplification
* Use master's version
* Fix typo
* Use std::sort
* Remove useless function call
test_ai is only used for profiling without human players
Checklines validation is for karts only, so having it true for the basket ball made the ball_distance always equal to zero. Setting it to false make the basket ball work again.
* 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
Now spinner widget is drawn correctly and min value >= 1 restriction exists in xml file anyway. In this way it shows correct value when particles effects are manually set to 0 in config.xml.
* Update custom_video_settings.stkgui
Change label titles to conform to title case typographical convention.
* Update custom_video_settings.stkgui
Sentence case for everything.
updates of all collected items to the clients as part of a state.
A client confirms the received states. Once all clients have
confirmed a certain event, that event is deleted on the server
and not sent anymore. WIP, item collection kind of works, but only
because of kart state updates which include attachment (but not
e.g. nitro).
This factor has been chosen because :
1) It allows the toplist to be able to still display 10 karts (maximum number reached in story mode or in networking (currently 12 but will be 8-10 for release according to Benau))
2) This size should fit nicely in the android GUI.
Otherwise, there is still some margin before it hinders view in 4:3 resolutions.
* 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
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.
add code to create a set of potential broadcast addresses and
use them all. Duplicated will be filtered out (since likely a server
will replace more than all).
the state, the current height of the kart in case of a jump is
then computed (without keeping track of speed etc). Jumping is
now only done during updateGraphics().
this is now called separately once per rendered frame from
the main loop. Started to split other objects to have separate
updateGraphics functions (e.g. to fix skid marks issues caused
by previously updating skidmarks even in rewind).
* New getRecentPreviousXYZ function
* New getRecentPreviousXYZ function
* New getRecentPreviousXYZ function
* General slipstreaming refinements
* Increase the minimum time to get the slipstream bonus
The obsolete parameter is not yet removed as several other files would have to be changed to not trigger an error.
* Slipstreaming characteristics update
* Changed slipstreaming characteristics
* Update slipstreaming characteristics
* Update slipstreaming characteristics
* Update slipstreaming characteristics
* Update slipstreaming characteristics
* Update slipstreaming characteristics
* Remove slipstreaming power engine bonus per kart type
Power engine bonus is already balanced by the different weights : a heavier kart needs more engine power to achieve/maintain the same speed.
* Remove an unused function
* Various slipstreaming refinements
* Pull the XYZ history size from config
* Pull the XYZ history size from config
* Remove unnecessary logs
* Fix a frenchism with fix
1)Use a new helper function for the drawing as the code was nearly identical at three different places
2)Fixes the coloring of transparent points : full color as intended, rather than black
3)Additional drawing points to properly manage the gauge_goal going outside of the gauge_full space
* New command line option for testing
* Fix command line option
* Allow races from command line without player kart
* Use the new command line option for testing
Also increase the default number of karts for testing from 9 (including player kart) to 15 (no player kart) for reduced randomness.
And set the default test difficulty to SuperTux
Use an array of 30 Vec3 to remember the previous kart positions 0,25s before. Each one is updated with the previous one, starting from the oldest.
time_previous_counter is used to keep the time of the oldest as close as possible to 0,25s ; in case the physics ticks proceed faster or slower than 1/120th of second.
Also remove the code logic which tells to use a zipper instead of nitro (not always useful, and should be managed inside handleNitroAndZipper anyway) ; and fixes the code disabling the use of zipper at start in time-trial (the previous code made the AI use it at random, when it's sometimes better to not use it at all at this moment and to wait later).
* 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
* Prepares for advanced item and nitro usage strategy
Replace the bool determining if usage is random or not by an int allowing several levels of AI item usage.
Add NITRO_ADVANCED mode for nitro usage.
* Adapt for more item and nitro levels
The XML files have to be changed. The logic for the item_skill still has to be done.
* Preparation for the preferred kart in GP
* Preparation for the preferred kart in GP
* Preparation for the preferred kart in GP
* Prepares for advanced item and nitro usage strategy
* Prepares for advanced item usage strategy
* Preparation for the preferred kart in GP
* Parametrized AI_skill level
* Fix typo
* Fix typo
* Fix typo
* Fire items with a shield on in unrestricted mode
* New function allowing AI to know what flyable is incoming
* New function allowing AI to know what flyable is incoming
* Fix typo
* Update bubble gum AI to new system
In addition of making some functionality depends on AI levels, there are a few overall improvements for the better AIs :
1)Remove the "drop the gum in the last lap" logic. Bad strategy since ever the shield has been added to the gum
2)The protection against flyable is not used if the user holds a swatter and the flyable is a plunger
3)Holding a swatter no longer blocks the AI from using the shield against a flyable nor from using the gum behind
4)The shield is used to remove bad attachments (bomb, parachute, anvil)
5)Reduce the distance with the kart behind when dropping the gum to reduce misses
* Update swatter AI to new system
The swatter could benefit from several kind of usage improvement. This patch introduce only one, but probably the more important : the better AIs now use it to remove bad attachments
* Fixing #3139
* Fix compile error
* Fix
* Fix compilation
* Fix compilation
* Fix compilation
* Update variable
* Update variable
* Fix non-breaking space issue
* Fix typos
* Revert for compilation
* Revert for compilation
* Update cake AI to new system
* Redefine HandleItems to be position aware
* Redefine HandleItems to be position aware
Also changes bowling ball for the new system.
* Activate shield before hitting box or bad item
Meant for higher AIs.
* Increase lookup distance
Some distance will be needed for the switch
* Temporary fix to avoid a nitro regression
* Fix typo
* Fix typo
* Bubble gum improvements ; explicitely calculate distances to items
* Update Switch to the new system ; use item-distance awareness
Also fix a missing parenthesis
* Change nitro-usage to a numerical parameter
* Change nitro-usage to a numerical parameter
Also update comments to explain the new item-skill
* Change nitro-usage to a numerical parameter
* Change nitro-usage to a numerical parameter
* Change nitro-usage to a numerical parameter
* Update handleNitroAndZipper to the new system
Also fix a naming error, remove the 95% speed limitation on nitro usage
* Adds a small engine boost to nitro
Currently, nitro is very counter-intuitive as it only affects max_speed. This change corrects it. The effect remains small to not upset balance. It is mostly felt when below max_speed, so the can of nitro potential power doesn't change much.
* Improve AI nitro handling
Summary :
1)Makes the AI use nitro by bursts, greatly improving its efficiency
2)Makes the AI use nitro when close to max speed (to unlock the max speed increase)
3)Remove the overtaking logic as the AI will now use its nitro anyway
4)The AI tries to keep a reserve of nitro for use towards the end of the race.
* Allows estimated finish time to be checked at any lap, fix a crash
* Makes the AI use its nitro reserves
* Better tuning for nitro reserve usage to reduce the probability of unused nitro
* Remember last used powerup for AI
* Remember last used powerup for AI
* Remember last used powerup for AI
* Remember last used powerup for AI
* Remember last used powerup for AI
* Remember last used powerup for AI
* Fix compilation
* AI don't wait between usage of items of different types
* Use floats for Parachute duration
* Revert
* Nitro use when trying to pass a bomb improved
* Fix broken time check
* Take into account the kart-specific fadeout to calculate time between bursts
* Improvements to bursts and to use of the reserve at the end
* Improve comments explaining item_usage_skill and nitro_usage
* Make LastUsedPowerup a PowerupType
* Make LastUsedPowerup a PowerupType
* Make LastUsedPowerup a PowerupType
* Make LastUsedPowerup a PowerupType
* Make last_used_powerup a PowerupType
* Make last_used_powerup a PowerupType
* Fix compilation
* Fix compilation
* Revert
* Revert
* Finally fix compilation
* Finally fix compilation
* Change shield radius per difficulty
A reduced non-null shield radius reduces false positives as long as it is big enough to get a few frames during which the object is inside the radius.
* Improve Projectile closeness management
* Improve projectileCloseType
* Improve projectileCloseType
* Fixes indentation
* Fix lastUsedPowerup initialization
* Fix the last used powerup type
* Rename projectileCloseType
* Rename projectilCloseType
* Clarify comment and update projectileCloseType to new name
* Reuse a member RandomGenerator
* Fixes getLastUsedPowerup type
* Fixes comparison
* Fixes type
* Change camera view from one kart to the previous/next with F5-6 keys or with menu buttons
* Simplify code
The kart_num/real_num distinction was part of the base code Benau did ; but it is completely redundant after the changes I did to the way kart_num is calculated (it was previously a static int, it's now an unsigned int).
* Fix "Final lap!" message on one-lap races
When starting a one-lap race, the game gives the message "Final lap!". This should only be given when there is more than one lap in the race. This commit changes linear_world.cpp so that this message is only given when the number of laps in the race is greater than 1.
* Fix spacing
I accidentally changed the spacing when making my last commit. This commit fixes that accident.
So that the last one who deletes it can clear all the remaining data
properly (ie if it's STKHost listening thread)
Remove the assert in async update thread as it may not be true for
the first thread creation
Now we can get determine the background color by depth, so
the alpha tricks in diffuse color fbo is not necessary
And using rgba8 to pack normal doesn't seem to cause visual glitches.
* 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
* Half of the rescue animation is now placing the kart back down
* Bit of cleaning
* Single Camera Cut
* Update rescue_animation.hpp
* Update rescue_animation.cpp
* progress to fixes
* potential fix
* broken implementation
* Latest attempt
* Instant camera snap when placing the kart down
* style cleanups
* Fix BACKSLASH
HYEH
later to a higher value (which happens in overworld, which sets max speed
to 0, but the value got later overwritten with the normal supertuxkart max_speed
handling.
Now there are:
- dependencies-vs
- dependencies-vs-64bit
- dependencies-mingw
- dependencies-mingw64
And if it's not found, then fallback to:
- dependencies
- dependencies-64bit
So that if you use only one compiler, then you can just still use "dependencies" or "dependencies-64bit".
And I didn't restrict it to WIN32 only, because in theory it should be possible to put there openglrecorder for linux build.
Atm. use it only on linux, because there is no need to spam with cmake warnings on other platforms.
Also fallback to built-in enet if system enet is not found.
It reverts commit:
https://sourceforge.net/p/angelscript/code/2278/
It looks that it's impossible to detect "real" clang version using compiler definitions, so that we can't check if std::is_trivially_default_constructible is available.
I mean that clang 4.0 on my machine is "newer" than clang 5.0 on travis, because it tries to use gcc 4.8 headers:
/usr/lib/gcc/*x86_64-linux-gnu/4.8*/../../../../include/c++/4.8/type_traits:1211:12:
note: 'has_trivial_default_constructor' declared here
struct has_trivial_default_constructor
At this stage we can just disable AS_CAN_USE_CPP11 for clang. It was disabled for clang before our angelscript upgrade, so that it's not worse than before.
Note that I don't use clang and I don't really know what are our requirements (for example for Mac OS build). Feel free to revert it after travis upgrade.
Because input manager use this to determine backspace functionality
(for rescue in game or leave a screen)
This will be reset to NO_ASSIGN when you go back to main menu screen
time-step size was 1 ms, which resulted in the world time advancing
faster than real time. This caused problems in the communication
and synchronisation with clients.
It's not 100% ready yet, but some testing won't hurt.
It's possible to switch between wayland/x11 using
export IRR_DEVICE_TYPE=x11
or
export IRR_DEVICE_TYPE=wayland
so that x11 device can be forced in wayland session.
The option is enabled by default, but the system version will only be used
if found and newer than 2.0.0 (to ensure that https://sourceforge.net/p/glew/patches/40/
is fixed). When missing, we silently fallback to the vendored source code,
so there is no change for e.g. Windows compilation.
updated would be duplicated etc). Instead it will move 'past' events
to the current time, causing only a 'jump' in the one client causing
the event (instead of all).
It was crashing when add-on track was uninstalled.
It only avoids a crash and it's not true fix, because replays list should be updated when add-ons have been installed/uninstalled.
* Small clarification to prevent build errors
Building outside of this directory prevents the executable from launching, this small addition can help prevent this issue from happening.
* Initial Commit
* Code cleanup
* Fix compile error
* Fix incorrect comparison
* Fix focusing erorr twice over
It may be worth making 'setfocusable' part of setvisible
It has been broken in commit 271a26eaf0.
It solves some issues with etnaviv gallium driver. It may also solve a crash on old intel 965gm on windows, but I can't test it atm.
Keep the "fortmagma" challenge marked as locked on the GUI minimap even if enough points (180+) have been gathered to unlocked it, when the door is not open yet
* Small clarification to prevent build errors
Building outside of this directory prevents the executable from launching, this small addition can help prevent this issue from happening.
* Initial Commit
* Code cleanup
* Fix compile error
* Fix incorrect comparison
* Small clarification to prevent build errors
Building outside of this directory prevents the executable from launching, this small addition can help prevent this issue from happening.
* Initial calculation and application
However this doesn't handle other karts well. Max speed both karts should differ in each direction
* Properly scale volume appropriate to speed and direction
* Improve clarity in variables and created getcurrentemitter method
* equation is awful, don't use
* Head on collision fix physics to be more accurate
* Removed debug std cout
* Cleaned up method for calculating volume, other misc fixes
Changed from m_body->getlinearvelocity() to getvelocity() to ensure that the reader doesn't mistake the functions as being different
* Fixed wrong value for min_volume
* Updated to Styling guidelines
* Fixed tabs to spaces
* fixed tab to space
* Coding conventions, fix set volume
* Last tab fix
* Make quiter sounds louder through math, whilst ensuring not imaginary numbers
the newly computed point. If this point should be under the track,
and the new height is not enough to offset this, the ball will be
tunnelling, which results in the ball being reset to the previous
position, i.e. the ball will not move.
Both Console and FB don't work with opengl driver. And the software driver is not even included in stk sources. So I don't think that it will be ever used.
Allow using bone attachment in straight-frame static mesh.
Advanced headlight rendering with light origin from center mass
of headlight model which can be bound to any bone in kart model
It happened when using non-hd textures. Textures with aspect ratio != 1, are scaled to MAX_TEXTURE_SIZE, for example from 512x256 to 256x256, so we can't base on scaled texture size.
Btw. such behaviour seems to not have a sense (for example 2048x256 will be scaled down to 256x256), so it may need some work in stk_texture.cpp.
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.
(fixes karts getting stuck at borders), use a longer less bevelled collision
shape better kart stability), and reduce angular factor to make it less
likely that karts can drive on walls.
It's not designed to work with empty file names, because the "existFile" function in irrlicht returns true for directories, our file manager doesn't check that it's a directory and generally strange things happen.
This solves a problem with luna track that doesn't have a screenshot and possibly with some broken add-ons, so that valgrind doesn't complain anymore.
Benau, feel free to revert it if you have better solution.
Weather node without particles is fine and it's used in Blackhill Mansion (just for lightning). The warning was suggesting that something is wrong there.
* Spelling: Chose, add-ons, low, command-line, HTTPS
* Back to http for privacy.supertuxkart.net
It auto-negotiates for https from Let's Encrypt when connected to through http, strange.
It's possible that there are multiple file names in single parameter, for example:
<sky-box texture="0006.png 0001.png 0004.png 0002.png 0003.png 0005.png" ... />
now it should work.
Also use is_opaque rather than has_alpha that gives better results.
might not have valid start and end times (since they can record
several identical events during one frame). Bars for all other
threads can therefore not be nested.
frames. Only use thread 0's start and end time to compute the
duration (since other threads might have multiple identical
events during one frame, resulting in incorrect start times).
appear. This list allows the proper ordering of events when drawing
the bar chart to show nesting. Make sure that enabling the profiler
starts at the next synch point (to avoid incomplete event pairs).
Create a seprate output file for each thread.
In this case only diffuseMatColor really matters, other values are constant.
It improves performance on GLES renderer and it's also noticeably faster for GL on desktop.
For example:
- fps increased for me from 60 to 69 on Hacienda with intel HD 4000
- from 43 to 49 on lighthouse
There is much less difference on nvidia graphics card, but still it gives small performance improvement.
existing configs works as expected. Hard-coded 6 axis for xbox
controller to allow for triggers to be reported as two different
axis (instead of as one axis). Updated gamepad config to use
proper names for triggers.
* Save and use usernames in replay files
Fixes#2754.
* Store usernames of each racer in recorded replay files
* Display those usernames in a column of the replay selection UI
and in race result dialogs
* RaceResultGUI::getKartDisplayName functionality moved into
Controller::getName
* Move Controller::getName definition to avoid unnecessary #include
* Backwards compatibility: use kart name if username is not in replay
* Fix code style issues
Fixes#2754.
* Store usernames of each racer in recorded replay files
* Display those usernames in a column of the replay selection UI
and in race result dialogs
* RaceResultGUI::getKartDisplayName functionality moved into
Controller::getName
It's possible that STK was using these files for compilation when cmake was run from main directory. In this case compiled files are stored in stk-code/lib, so that CMAKE_CURRENT_BINARY_DIR is stk-code/lib/irrlicht rather than stk-code/build/lib/irrlicht and we include whole lib/libpng rather than non-existing directory.
There are some android devices that are 320x240, 400x240 etc... Bare minimum to run STK is 640x480. Otherwise some important gui elements are not displayed and it may crash in guiengine.
Added a fallback with basic configuration if requested config failed.
Also better check if choose config is success (num_configs can be >0 even if egl config is null)
We include CIrrDeviceLinux in our edit box widget and it doesn't respect irrlicht cmake flags, so that it tries to include opengl headers even if we selected gles renderer. Just move it to the cpp file to avoid redeclaration errors.
Should be a bit safer when user wants to close the game very early (i.e. when assets are extracting) and we get destroy event before irr_driver is actually initialized.
This was a complaint of Michael Larabel from Phoronix and is why he doesn't use STK in benchmarks; because the new tracks are mostly locked from the start and unavailable even with the --track flag
(i.e. the one that was just added for the upcoming timestep that
first needed to do the rewind) instead of comparing world time
and end time - the latter is prone to floating point differences,
causing rewinds to 'rewind' the timestep that has yet being computed.
It would be nice to simplify it a bit, i.e. decide if OpenGL context should be created on device side or driver side, use single constructor in GLES driver etc... But I'm not really sure how it will look like after Benau's space partitioning work, so some refactoring postponed till later.
'accelerate' events over and over). This reduces traffic to
the server and other clients (and fixed a bug caused by rewinding
those events in the wrong order).
* Massive README.md update
Readme.md updated and cleaned up, a new section was added
* More updates to README.md
Updated README.md with another STK Winbuild method, some additonal
changes - mostly to enrich and improve the language of the readme file.
Windows_build.md is just a scratch pad for README.md's Windows sections.
* more tweaks to the file
more tweaks, old windows build method was removed because it is
confusing. additional tweaks were added
* More tweaks to the file
Updated the file to correct issues that were found in
supertuxkart/stk-code#2839
Disk space requirement was updated to be more correct.
mention of libvpx-devel was temporarly removed.
step 8 was revised slightly
* quick mistake correction
It should be possible to simplify it with something like
find_library(CURL_LIBRARIES NAMES libcurl libcurldll PATHS "${PROJECT_SOURCE_DIR}/dependencies/lib")
so you can look if it works on Visual Studio.
And as far as I see pkgconfig is used only on unix. Btw. I'm also not sure if it should be if(UNIX AND NOT APPLE) ?
enabled once the whole kart chassis was tilted enough, but karts could
still end up driving on a wall (one wheel on a wall would not tilt the
chassis enough to trigger sliding, but give the kart an up velocity
which allowed it to drive on the wall). Friction is now determined
by the normal of the triangle hit by the raycast.
- Don't use BGRA format at all. It doesn't work with non-typical cases (i.e. with srgb or compressed textures) and also casues artifacts on some android devices. I kept the extension in central settings, but it probably won't be used.
- Use sRGB texture format when advanced lighting is enabled. This makes it closer to the original OpenGL renderer and also avoids to have even more #ifdef's for sRGB conversions.
- Keep RGBA textures for non-advanced lighting to make it simpler.
Now advanced lighting in GLES looks almost the same as in OpenGL 3.x (without shadows/GI)
For OpenGL 3.x renderer it only matters for some buggy drivers (i.e old AMD driver that complains about missing precision qualifier). Based on specification is should have no effect and was added for compatibility with GL ES.
In our case vertex and fragment must have the same precision because we use common header for both shader types and the precision for uniform variables must match.
Also "precision highp float;" is defined by default for both vertex and fragment shaders, so it seems to be more proper.
This will hopefully solve the problem with nvidia driver that tries to use f16vec4 instead of just vec4, see:
https://forum.freegamedev.net/viewtopic.php?f=17&t=7397&sid=06682ddb05ee9fbf48a2984d0bd48d5b
- Don't force using rtts when advanced lighting is disabled because it actually makes the game slower
- Keep the minimap and kart selection screen in high quality
If data was already extracted somewhere, then use this directory as preferred path. This is to avoid a situation that we have data extracted in two different places after STK upgrade.
animation updating the (physical) kart position after the graphical position
was taken from the physical position, causing a stuttering because of the
differences between those two values.
- arrow size now depends on screen size, so that it's now easier to click it on high resolutions
- it's additionally scaled on Android for easier usage
The force legacy device graphics restriction is needed for ironlake graphics cards. But newer generations in pentium/celeron processors also are named just "Intel(R) HD Graphics" without any number.
The newest drivers for ironlake graphics card is 8.15 and it's unlikely that it will get an update. So assume that all drivers older than 9.x are ironlake generation or that are too old to run STK anyway.
This fixes errors for Intel HD4000 on Windows.
My understending of this issue is following:
- a shader assigned two textures, i.e. texture1 = sampler1, texture2=sampler2
- then next shader (i.e. importance sampling specular) assigned two textures: texture1=sampler1, texture2=without_sampler
- when we executed setTextureUnits, the glBindSampler function wasn't called at all, so the drivers were trying to use combination texture2=sampler2, even though the sampler2 was prepared for different texture and most likely was already deleted.
We can just always call the glBindSampler function, so that if texture doesn't have a sampler, it will execute it with sampler_id=0 param, which is practically an "unbind" function.
It's a bit ugly solution because we should handle it properly in one place and not add another sRGB correction... But it's already working solution and it doesn't affect the OpenGL renderer, so we can use it until better fix will be done.
Now the GLES renderer looks almost the same as the original OpenGL 3.x one :)
avoiding creating smaller time steps on the server when events
from clients are received, and also made it easier to handle
duplicated states (i.e. server rewinds and sends a second state
for a certain time).
Still work in progress though.
It should be much more comfortable on small devices.
Though it's not possible to get default screen orientation (and real device orientation) using NDK functions, so at this stage user has to manually choose if he needs "tablet" or "phone" accelerometer.
It's PITA because they broke it at it doesn't look that they are going to do something with it.
The plural form for number 14 is broken because the condition is bad. It should be n%100>14 instead of n%100>=14. In the past it was using 3rd form for numbers 12, 13, 14 and it's the proper form for these numbers. The new format uses 2nd form for number 14.
Moreover the condition for third form is just a negation of the first and second form, so that the 4th form actually never happens.
Also the condition for 3rd form is ambiguous. Should it be
(n!=1 && (n%10>=0 && n%10<=1)) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14)
or maybe
n!=1 && ((n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14))
Based on Unicode plural rules, the 4th form should be used for floating point numbers, but it's not supported by tinygettext anyway.
In short, handle the new format in the same way as it was before, so that the 4th form is useless, but at least everything works properly.
* Change grand-prix node for the new GP point system
* New GP point system
* Add parachute characteristics for rank and speed time multipliers
* Add new parachute characteristics
* typo fix
* Add rank and speed parachutes characteristics
* Add rank and speed parachute characteristics
* Add rank and speed parachute characteristics
* Add rank and speed parachute characteristics
* Add rank and speed parachute characteristics
* Add logic for parachute time scaling according to rank
* Add logic for parachute time scaling according to speed
* Separate GP and parachute branches
* Separate GP and parachute branches
It's not a perfect solution because at least on my device internal storage is much faster than sd card. But at least it should be much safer to choose a path with more free space.
It allows to enable it easily in GLES renderer. And we check if this extension is available anyway because it's needed for shadows, so we can use it for other shaders too.
It should depend on features available in graphics drivers and not on headers that were used for compilation.
In theory there was a possible case that GL_VERSION_3_3 was not defined and CVS->getGLSLVersion() >= 330 was true, so that bind wasn't done at all.
And still GL_VERSION_3_3 should be always true for OpenGL renderer because it's defined in glew.
It's not 100% true because GLES has different versions numbering. For example it doesn't have geometry shaders even if they were introduced in GLSL 1.50 (OpenGL 3.2).
But still in this way we make sure that it uses the same features on all devices, no mater if it's GLES 3.0, 3.1, 3.2 etc.
not to lock the whole event queue while an event is being delivered, which
allows more parallelism (especially the asynchronous eventss queue is not
locked while e.g. the world is loaded, which can take several seconds).
It may be useful if someone wants to play with external keyboard.
The multitouch_mode parameter will be also used to choose between steering with buttons and using accelerometer.
- Current time was broken because getTimeSinceEpoch() gives a time in seconds, so the timeout for double click was 500 seconds.
- I disabled the timeout for double click anyway because it's IMO not needed (and it was broken anyway and nobody complained). Second click on the same element always sends the "selected again" event.
- I removed code that hovers new item when mouse is moved during selecting because it was working rather strange. For example it was possible to slightly move a mouse during selecting the item and the action was executed on the first click, even if we expect double click.
- Action is executed on single click on Android
We should handle both pause and focus events, but they may occur in different order or in some cases we may receive only lost focus event.
So we need to check the current state to make sure that pause/resume sounds is executed only once.
STK could crash when invalid graphics restriction name was set in graphics_restrictions.xml file.
It's because of wrong while (m_names_of_restrictions[i] != NULL) condition.
It was be done only for GLES before, but also for OpenGL some drivers create OpenGL 4.x compatibility profile context even if we request GL 2.1. So we can't assume that it will report GL2.1 and we should make sure that fixed pipeline will be used.
Actually now it works in the same way as force_legacy_device in config.xml.
It can be restricted to Android-only, but tbh. I don't see any reason that it can't work in the same way on desktop computers (may be usable on laptops with touch screen, all-in-one computers etc...).
I also made a minor fix with if(!event.MouseInput.isLeftPressed()) because the EGET_ELEMENT_FOCUS_LOST event seems to not work at all.
The glGetStringi is available only in GLES >= 3.0. We can't easily check if this function exists or not because it requires EGL >= 1.5 (and still we can't be sure that all drivers handle it properly).
Though glGetString(GL_EXTENSIONS) is allowed on both GLES2.0 and GLES3.0, so we can just fallback to this method.
It is generally safe for GLES drivers. The driver often reports OpenGL ES 3.1 or 3.0 support even though we request only GLES 2.0. But we can still use GLES 2.0 / GLSL 1.0 functions on GLES 3.x context, so it shouldn't cause any issues.
I also added Android Emulator to graphics restrictions.
Enter texture filename(s) (full path is optional) separating by
";" in the artist debug mode "Reload texture" dialog
Notice: premultiplied alpha texture reloading is not supported,
because it was done on STK side.
This function was used by Cand for his OpenGL 2.1 renderer. The round function is available since GLSL 1.3 (OpenGL 3.0), so there is no need to override it.
If it will be needed in future, I suggest to change the name to round_stk or something similar.
- move it to separate class, so that it can be displayed in Overworld too
- add a possibility to scale the interface (atm. only in config.xml)
- touch steering buttons are created only for single player races
I removed unused drawEnergyMeter function from Overworld GUI. The reason was that I use this function from race_gui.cpp for nitro button and this function in overworld breaks it. And still the proper drawEnergyMeter function is available in race_gui.cpp and can be moved to RaceGuiBase if it will be needed in Overworld in future.
I moved the font size computation to the top of constructor because I use it to check available space for minimap.
Currently explicit attribute location, uniform buffer object and
opengl greater or equal 3.3 are required for hardware skinning
So even intel hd3000 in linux can do hardware skinning
The listFiles function returns absolute paths, so the condition if ((*i)=="..") doesn't have a sense. I added a check for absolute paths (file == name + "/.."). Btw. what about Windows? Does it return 'name + "\\.." ' or so?
I also enabled recursive removing of directories on Android. It is needed for example when you have already installed STK with extracted data files, and then you want to upgrade STK to newer version.
There is one minor difference in one declaration, which is probably an inconsistency in these headers. But it may cause compilation errors on some compiler versions.
- Added a function in GLES driver, which allows to re-create EGL surface when it's lost after resume event
- Some additional events/keycodes
- Fixed compilation with missing sys/sysctl.h header
- don't update a button that is already not pressed
- use full axis range, which means higher sensitivity in the center
- make sure that we don't divide by 0
behind the clients by the maximum latency, which in turn means that
at server time T all client events at time T have arrived, so less
rollback necessary).
It will be used for steering on Android.
There are some limitations:
- currently it works only in single player mode (but I don't see any reason to make it working for multiplayer)
- speedometer is not available in race GUI because there is no place for it
TODO:
- add DPI support (race GUI should have probably different proportions on smaller devices for comfortable playing)
- make nice button images
- make nitro button that changes its look depending on collected nitro (a kind of nitro bar)
Touch input events must be handled in android device to make use of it. It can be simulated for debugging on non-android devices using standard mouse.
Also split ghost karts out of additive shader, so fixed issues like
"drivers are facing backwards", "water in abyss affects ghost karts"
Todo: maybe transparency depend on current track color?
a message from the server, and only updating the previous position
if the new previous position is indeed before the current client time.
Fixed conflicts, removed dumb-client related interpolation code, left
client starting in place.
It was broken in commit 5cfed1bc1c.
We mix irr_driver->getVideoDriver()->setViewPort() and glViewport(...) functions and thus the first one, which is executed during camera activation, in some cases doesn't work. It compares the viewport to values which has been set last time and thinks that nothing changed.
It only happens on single player (with single camera), so we just restore the viewport to fullscreen after scene rendering to workaround the issue.
Actually the problem was that it was set after camera activation, which overwrote proper values.
I also fixed SSAO, RSM and normals vizualization in multiplayer games.
We need to check numlock mask, because it may be different on different systems, and possibly also modified manually.
It should generally work fine, but some testing are welcome.
Changes applied:
*symbol files added
*LabelWidget removed from SkillLevelWidget and replaced by IconButtonWidget
Subsequently variables and method containing Label or Text renamed
setSize method was rewritten
*Unused property "m_label_name" removed from SkillLevelWidget
*Substitution label->icon also introduced renamings in KartStatsWidget.
For instance, setDisplayText is now named setDisplayIcons
The following quaternion calculated by shortestArcQuat in
rescue animation leads to nan in asinf:
0.710828841, -0.00974362344, -0.703500867, 0.00481829932
-2.0f * (X * Z - Y * W) equals 1.00004351 with above figures
With btAsin it will:
if (x<btScalar(-1)) x=btScalar(-1);
if (x>btScalar(1)) x=btScalar(1);
return asin(x);
The problem is that textures with float internal formats can be used in framebuffers only when some extensions are available. This is a basic functionality and we need something that is supported on all drivers. As far as I tested, the basic integer GL_RGBA8 format works fine.
Another problem is with GL_BGRA format. The extension with GL_BGRA support is available for almost every device and irrlicht is able to load all textures from files (it has a fallback mode anyway), but when it's used as a texture for framebuffer, it produces a black screen. Again it works fine with GL_RGBA format.
The only issue that is not fixed is SSAO rendering. It uses linear depth rtt, which has GL_R32F type and which can't be easily changed to something other. I disabled SSAO for now, because it is too slow for embedded devices anyway.
I didn't change anything in original OpenGL 3.x rendering, so everything should work as before.
On desktop medium and high precision is generally the same, at least for mesa drivers. But on some Android devices medium precision is much worse, which causes artifacts. We need high precision float variables in vertex shaders for proper scene rendering. Setting different precision for fragment and vertex shaders seems to be not possible, so we just set it to high for both shader types when it's available.
The GL_CONDITION_SATISFIED says that the sync was signaled before the timeout expired. In this case there is no reason to make another glClientWaitSync execution.
since the states after the original are potentially incorrect (due to
the (later) insertion of an event that triggers the rewind).
Rewinds are now much more different than previously ... wip.
Our vidmode code is old, has some bugs (eg. resolution is not restored properly in some cases), doesn't have multi monitor support and IMO shouldn't be used in current state.
If someone really wants to use it, the flags can be set directly in IrrCompileConfig.h.
It allows to increase performance on devices that have only one available resolution.
It also allows to draw GUI elements in full resolution while rendering the scene with slightly lower resolution, which gives you few additional FPS.
Note that particles don't work as expected yet with this feature.
(other) arenas. Those are false positives (often there is more
than one shortest path, all with the same length; e.g. in case of
a regular gridded section). Added more details in error reporting
to help in debugging, but generally disabled the test for identical
paths, only the actual path length is tested now.
* pass timeout to driver, rather than unconditional 1ms sleep
This way if the fence is signalled earlier, we can get on with life
sooner.
* optimize displacement bind/clear/render
Stop thrashing render targets, and group things together into single
render-passes. And only bind/clear if we will actually draw.
It adds support for OpenGL ES renderer, which is needed for Android port and for running STK on other embedded devices such as Raspberry Pi.
Currently it works in two ways:
- Shader-based pipeline, which requires OpenGL ES 3.0 (Android >= 4.3)
- Fallback to irrlicht-based fixed pipeline that needs OpenGL ES 2.0. The fixed pipeline generally works, but it is affected by the same issues as our OpenGL 2.1 fixed pipeline renderer.
I tried to modify our OpenGL renderer as little as possible to avoid regressions. The only one major change is that we are now using the "#stk_include" directive in shaders instead of linking multiple shaders into one program.
Currently it works only on linux. The Android port needs some refactoring. In theory it should be possible to make it working on Windows, but we would need some OpenGL ES SDK, or maybe modified libglew.
At this stage it is playable with current mesa drivers. I tested it on intel graphics card and I didn't notice any issues.
On Android only the OpenGL ES 2.0 renderer with fixed pipeline has been tested for now.
* irrlicht: Fix harmless typo when setting CMAKE_CXX_FLAGS
The CMAKE_CXX_FLAGS set should be based on previously set
CMAKE_CXX_FLAGS (instead of C flags). This is currently
harmless because CMAKE_CXX_FLAGS is not previously set.
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
* irrlicht: Get rid of unprefixed cflags
Cross-building requires proper include paths. This commit
removes the unprefixed -I/usr/X11R6/include in irrlicht cflags,
replacing it with a proper CMake module.
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
* irrlicht: Fix boolean return type for jpeglib's callback
Building on certain toolchains can fail due to returning an integer
instead of TRUE. In any case, only {TRUE,FALSE} should be used
as 'boolean' jpeglib type. Fix this by returning TRUE.
CImageLoaderJPG.cpp: In static member function 'static boolean
irr::video::CImageLoaderJPG::fill_input_buffer(j_decompress_ptr)':
CImageLoaderJPG.cpp:69:9: error: invalid conversion from 'int' to 'boolean'
[-fpermissive]
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
The GL_SRGB_ALPHA_EXT and GL_SRGB8_ALPHA8 formats are available in OpenGL ES, but they produce black texture for some reason. The basic GL_RGBA format works fine though.
* More information in race result GUI
* Fix extra race result GUI information
* Rename displayHighScores()
* Use race_manager->hasModeLaps() and fix clang compile error
* Don't initialize best_lap_time unless the mode has laps
It was working for me as it was before, but based on this comment: 10488bc79a (commitcomment-17724549) it looks that some cmake versions may ignore definitions that are defined below add_library.
In ssao.frag we are computing theta valaue and it looks that intel driver doesn't like too big values for sinus and cosinus computations.
I just used modulo 360 to store lower angle values in theta variable.
On some tracks it was reporting following message:
[warn ] GLWrap: OpenGL debug callback - API
[warn ] GLWrap: Error type : ERROR
[warn ] GLWrap: Severity : HIGH
[warn ] GLWrap: Message : GL_INVALID_VALUE error generated. Size and/or offset out of range.
This fixes#2504
It is enabled by default for OpenGL 3.3, but we need it for some of our shaders in render_geometry.cpp (which are OpenGL >= 3.2) and also for InstancedColorizeShader.
The check for GL_ARB_geometry_shader4 doesn't have sense at all because we don't use this extension and our geometry shaders use functionality which is available in core OpenGL 3.2.
The reason that it wasn't working for older mesa versions must be a bug in mesa or maybe missing other functionality (but not GL_ARB_geometry_shader4).
I checked it with mesa 11.2 and current git version and it works fine on intel, nouveau and with software rendering.
It needs some testing because it potentially affects all drivers with OpenGL >= 3.2 on every platform.
If someone could test it with Radeon drivers, I would be really happy to enable it in upcoming release, at least on linux.
- use officially supported pkg-config instead of pkgconf replacement
- add zlib library to dependencies
- remove GLU library which is not needed at all since this commit: 60dc171700
- add libgl1-mesa-dev and mesa-common-dev which contains OpenGL headers that we need
- use libcurl-gnutls instead of openssl because it is used by default in Debian/Ubuntu for STK and many other projects.
This should allow to run linux static package even if libglu1-mesa package is not installed. And the utilities from GLU library are not used in STK anyway.
KartSelection object, to avoid the two instances of the
kart selection screen to interfere with each other. Removed
tearing down the kart selection screen. Also fixed crash
when starting the kart screen after a network kart screen.
The problem was with shader-based pipeline with disabled "advanced effects" in options.
In this case we don't use RTTs and gl_FragCoord contains values in range of whole window. So fo 2 players we still get gl_FragCoord.y = 0..window_size instead of gl_FragCoord.y = 0..window_size/2.
The easiest way to solve it seems to be modulo it by current viewport size. It should be compatible with advanced pipeline as well as single-player games.
Atm. I'm not sure if this should be applied to 0.9.2 branch. It should work fine, but needs some testing.
- Increase version for sRGB-capable visual workaround because it doesn't look that it will be fixed anytime soon
- Enable compute shaders because it works fine now
- Enable texture compression because it works now too.
Texture compression for intel should work fine also for older versions, but it's hard to say which one version is the first working one.
It was reporting an error:
[error ] GLWrap: Error in shader gaussian6h.comp
[error ] GLWrap: 0:77(1): error: storage qualifiers must come after precise, invariant, interpolation, layout and auxiliary storage qualifiers
option to either test it in play against computer, or in AI against
AI races. Atm the test_ai is nearly identical to the skidding
ai, except for one brake statement that needs to be investigated.
mode in an arena: in debug mode computing the distance matrix
takes a LONG time (approximately 12 minutes on my machine). In
release mode it's fast enough for now.
SEvent::SJoystickEvent::NUMBER_OF_BUTTONS is a constant value and is equal to 32. In practice we don't expect any gamepad that has over 32 buttons. However some wireless mices are incorrectly detected as gamepads and they report for example 69 available buttons. Just resize m_buttonPressed array to be equal to the reported buttons count.
There is already define for soccer team too, so in the future,
if anyone is smart to make a shader to draw red/blue karts,
it should be easier.
TODO: wheels and speed weight objects. (They seem need to be copied to work)
be supported there will be no 1:1 relationship between peer and players
anymore). All voting related protocols were extended to include the
voting player's player id (sp in future split screen player can vote
individually - though atm they would all vote for the same thing).
receive an event. Solves potential problem that an event might arrive at
a client before the destination protocol is up and running. Also improved
handling of (dis)connects, now only protocols that can handle a disconnect
event will receive them, hopefully reducing the number of crashes when
a client disconnects.
improved handling of m_current_offset; let the NetworkString autpmatically
add the size for the type and token, so the user code only needs to allocate
space for the real content.
control a server (now the controlling client can reconnect in
case it gets disconnected, previously with only allowing the host
with id 1 to control, the server could not be controlled anymore).
To test, you need to pass --ghost to supertuxkart with choosing a
track that has replay recorded, you can record one with artist
debug mode.
TODO: correct position handling
that in (rare) circumstances e.g. a message that is only handled synchronously
is deleted from the asynchronous thread (if the main thread is too slow and
a time out is reached).
1. Short win animation is shown in a kart if it scored correctly
2. Possible to identify own goal in result gui
Also player name is shown instead of kart name in result gui for all modes.
Notice: As race_manager->setKartSoccerTeam(i, info.team) already
pre-set karts team, there is no need to test for
(getNumKartsInTeam(SOCCER_TEAM_RED) == 0 || getNumKartsInTeam(SOCCER_TEAM_BLUE) == 0),
so the the menu code is simplified.
To test, you need to update stk-assets with the dummy soccer field.
In single player, you are limited to be in red team for now, so just
shoot the ball into the blue goal. Also max-goal is limited to 4.
Regarding AIs, the steering with ball logic is handled in
SoccerAI::correctBallPosition, max AI supported in single player
is limited to 5 by now.
The AI is not as good as Zidane or Ronaldo, but steering with ball
for human is not as easy as not normal driving anyway, so don't
laugh at the AIs. :)
TODO: Friendly-team firing, polish the soccer field.
The reason to do it is that in release mode we don't receive any message in console. This causes that the game sometimes doesn't start and you have no idea why (for example missing supertuxkart.git file etc.).
We need it for proper working. When it's not available, then function glEnable(GL_FRAMEBUFFER_SRGB) doesn't take any effect, and then displayed image is too dark.
It doesn't solve the issue that the screen is too dark for intel graphics cards on linux, because the driver ignores this request. But still, this is the proper way to do it and it may avoid similar issues in future.
Actually we should detect that the visual is not srgb-capable, and in this case maybe make some gamma correction or filter it on our side to get similar effect.
to detect when sfx and graphical effects should be shown. The isPlayerKart
funtion is used to detect a (local or remote) player, e.g. for rubber-banding
the AI, or finding the Xth player kart.
1. Fix credits fading effect
2. Display have many no of (addons mostly) arenas are hidden due to
missing of navigation mesh
3. Fix wrong size of kart stats bar
- move OpenGL-related code to graphics directory, as it should be
- solve issue with applying effect multiple times in multiplayer mode
- remove old already disabled opengl code
The winsock2.h header should be always included before windows.h header (or we should define WIN32_LEAN_AND_MEAN). It's because windows.h header includes also winsock.h header and there is possible conflict between winsock and winsock2.
I didn't test in on Visual Studio yet. I hope there is no WIN32_LEAN_AND_MEAN redefinition errors...
Still disabled by default because it only works with mingw-w64. It won't work with other compiler versions due to some inconsistencies in header files. But at least it's possible now to enable it without modifying cmake file.
It allows to easily record a video, which can be then for example attached to a bug report. It also allows to record promotion videos (eg. trailers), which should be more smooth than recorded using external application.
Main disadventages are:
- Constant fps in avi file
- Atm. it's not possible to record sounds. I even don't know if it's possible at all (if we can easily get access to the sound buffer).
I see about 20-25% fps drop during recording. I think that it's acceptable. But if needed, the fps can be increased by using separated thread for recording.
Currently it uses jpeg compression with 70 quality. It can be easily tweaked to use higher/lower compression or even just uncompressed bitmaps.
* correct spaces
* proper names with a capital letter
* also use block code indentation for single-line commands to keep a consistent look (`this code style` should only be used for code/commands mentioned inside of other text)
* added space afer `#` headline
* corrected file names of files I could find
* linked to files
However one thing I could not fix was this sentence:
"Information about the licenses for artwork are contained in
`data/licenses`."
The mentioned file or dir does not exist (anymore) and I could not find any other file, which would fit there.
means that if protocol A starts protocol B and needs a result from B,
previously B would set a (potential private) variable in A. Now
B calls a callback in A, where the result can be set.
Now supertuxkart can do:
Windows (fully test in win8 and win7 built with vs2015, mingw not tested):
Input characters using ime (CJK tested).
Fix crashes when try to paste unicode text into editbox in stk.
Linux:
Different keymap can be used in stk now, ie typing russian,hebrew (not bidi-aware) is now possible.
IME not supported.
Mac:
No work has been done, sorry mac fanboys/girls:( Though testing is welcome, esp when pasting words into stk.
Limitation:
No ime box is shown in fullscreen
(Windows)Only the used language in current setting of non-Unicode programs can be typed with its supported IME.
This causes issues in follow the leader races, because after sorting the leader is not leader anymore.
This sorting function is most probably not needed because the list is sorted in startNextRace function (where the leader is properly skipped).
Degraded_IBL parameter was probably accidentally set to false because option in settings means "enable IBL if true", but variable means "disable IBL if true".
This is quite popular resolution and it is a kind of standard. Even the most of new monitors have it because it has the same porportion as 1920x1080. And it looks much better than 1024x768 expanded to 16:9 proportionos ;) I also didn't notice any issues in gui during using it.
Now all freetype related file are written in c++ class, which enable
better coding style with current stk
Windows build tested, the edge showing issue doesn't happen on Windows btw
Maybe driver problems?
This is a testing version of stk using freetype
It enable better arabic font display with less blurred glyph to all fonts thanks to hinting provide by freetype.
TODO: billboard text
Now we are waiting until window state is already changed to fullscreen. We are getting real window size at the end of creating window function and previously it was sometimes reporting size of the window in windowed mode, which could causing issues in gui. Previously this was workarounded by forcing minimal window size to be at least in screen resolution, but window managers don't like to have non-resizeable fullscreen windows. Now this workaround is not needed anymore.
This solves issues with multiple build directories (every one should have its own angelscript lib). It was causing conflicts eg. 32-bit library with 64-bit STK.
Ideally it should be commited upstream to avoid this problem after updating library.
with the track on rescue. For now disable the orientation if the kart is
close to the ground. A proper solution will be implemented as part of the
soft-landing branch.
(0,1,0), not around the normal, and the order of rotation needs to be
first the heading rotation, then pitch/roll to make the kart parallel
to the ground.
Increase value of m_distance_2 because distances from a 3D line as
checked in hitLine() can be greater but the kart may still hit the item.
This may need to be tweaked.
Line joining lower_center to upper_center of quad is now a 3D line.
getDistances is now fixed to return the correct distance of a point from
m_line and with the correct direction.
After continuous trial and error, dropped using the flattened quads as
it was causing the quads to shear (not sure why). Now unrolled quads
have orientation in 3D starting from the parent quad.
to fix his inconsistent/broken svn checkout.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/battleAI@14704 178a84e3-b1eb-0310-8ba1-8eac791a3b58
Implemented pathfinding (Floyd-Warshall), AI can now find a path from one sector to another. As a proof of concept: AI can almost follow a player kart. Some code refactoring is in order before further development.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/battleAI@14340 178a84e3-b1eb-0310-8ba1-8eac791a3b58
note: proper comments will be added soon
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/battleAI@14166 178a84e3-b1eb-0310-8ba1-8eac791a3b58
while states had a time stamp before world clock was updated).
Still all work in progress ;)
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/rewind@14138 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2) Added support for storing the exact time step sizes (probably only for
debugging - since now we can try to have bitwise identical results when
replaying).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/rewind@13631 178a84e3-b1eb-0310-8ba1-8eac791a3b58
a rewind the same time steps can be taken (that's mostly meant
for debugging).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/rewind@13534 178a84e3-b1eb-0310-8ba1-8eac791a3b58
still (initially) minor differences (caused most likely by
the controls not set at the right time (i.e. one frame too
early or too late).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/rewind@13484 178a84e3-b1eb-0310-8ba1-8eac791a3b58
the problem of determining the control states when
rewinding.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/rewind@13482 178a84e3-b1eb-0310-8ba1-8eac791a3b58
to a previous time (i.e. the race continuous from the previous
location). No memory handling is done, ... all work in progress :)
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/rewind@13468 178a84e3-b1eb-0310-8ba1-8eac791a3b58
* $XDG_CONFIG_HOME/supertuxkart/config-0.10 or ~/.config/supertuxkart/config-0.10 (Linux and other unix based systems)
-->
stdout.log:
```
```
<!-- If your issue is related to the input config (gamepads, keyboards), please provide your file input.xml located in the same directory as stdout.log. -->
input.xml:
```xml
```
<!-- If an error message was shown, please paste the complete error message, or a screenshot of it. -->
This file documents notable changes to SuperTuxKart across versions since its inception.
It should be kept in mind that some versions have a less complete changelog than others, and that this changelog do not list the details of the many small bugfixes and improvements which together make a significant part of the progress between releases.
For similar reasons, and because some features are vastly more complex than others, attributions of main changes should not be taken as a shortcut for overall contribution.
## SuperTuxKart 1.4 (31. October 2022)
### General
* Lap trial mode, by mrkubax10
* Fix parachute powerup, by heuchi
* Fix gyroscope on walldriving surface, by Benau
* Enable ARMv7 build for Windows, by Benau
* Restore macOS <= 10.14 support, by Benau
* Avoid triggering other goal lines when the goal is already scored, by kimden
### Graphics
* Items and stars animation, by Semphris
* LOD optimization, by Benau
* Implement HiDPI support in SDL2 properly, by Benau
* Beta Vulkan renderer, by Benau
* Make sky particle always fall vertically, by Benau
### Tracks and modeling
* Updated Konqi, by ZAQraven99
* New Godette kart, by ZAQraven99
* Updated Battle Island and Cave X, by Typhon306
* Fix broken invisible wall in Antediluvian Abyss, by Benau
* New textures in Shifting Sands, by KartOym
* Balanced starting positions in all official soccer fields, by Crystal
### Networking
* Add track searching to network track screen, by Benau
* Make limit of players in game configurable, by Waldlaubsaengernest
* Allow using real addon karts (same hitbox and kart type as in local game), by Benau
### User Interface
* Add left side ghost replay difficulties, by ldoyenard
## SuperTuxKart 1.3 (28. September 2021)
### Networking
* Server bookmarks, by Benau
### Graphics
* Introduce render resolution scaling for the modern renderer, by QwertyChouskie and Deve. For users with limited GPU power, this allows to get significant performance (FPS) gains at the cost of image quality. It can also allow additional graphics effects at the same performance. This is especially useful for users with high-resolution and high-DPI screens. The scaling only affects the 3D scene, the UI remains crisp at full-resolution.
* Simplification through removal of unused deprecated graphical effects, by Samuncle
* Many updates to texture-related code, by Benau
* Auto-compute Level of Detail distances for 3D models set to use LOD depending on track complexity, by Samuncle. The geometry level parameter allows partial control over the drawing distances.
* Improved screen space reflection, by QwertyChouskie
### General
* Switch port, by Mary
* Gamepad force feedback support, by Mary
* Highscore screen, by RQWorldblender
* Grand Prix highscores, by mrkubax10
* Updates to the bundled tinygettext library, by Benau
* Enable custom skidding sounds for karts, by Benau
* Greatly sped up loading of tracks with many checklines through optimization, by heuchi
* And many bugfixes and enhancements too small or specific to be detailed
### User Interface
* Display the skin-appropriate iconset without having to restart, by Benau
* Fix some issues with the options menu when used during a pause, by Benau
* Add a confirmation dialog before closing the game through the "go back" key/button, by Benau
* In the result screen, display the race position with a number with 10 karts or more, by mrkubax10
* In the result screen, display the challenge result and the requirements met or failed, by CodingJellyFish
* Many small menu and dialogs improvements, by RQWorldblender and others
* Usability and functionality improvements to the debug menu, by RQWorldblender
* Clickable URLs in text, by Benau
#### In-race UI
* Add visual and sound feedback when a timed challenge or timed game is about to end, by mrkubax10 and Alayan
### Mobile
* Fix a precision issue that caused artefacted shadows, by icecream95 and Benau
#### iOS
* Use MojoAL instead of OpenAL, which iOS currently has issues with, by Benau
### Tracks and modeling
* Alien Signal, by Samuncle
* Ancient Colosseum Labyrinth, by Typhon306
* Improved Las Dunas Soccer, by Benau
* Add lap line extensions to Hacienda, Old Mine, Ravenbridge Mansion and Shifting Sands, by Benau
* New Pepper kart, by ZAQraven99
* Improved Adiumy, Emule, GNU and Sara karts, by ZAQraven99
## SuperTuxKart 1.2 (27. August 2020)
### Networking
* Add support for IPv6 LAN servers, by Benau
* Auto-detect client IPv4 and IPv6 support, by Benau
* Improved server creation speed and performance, by Benau
* Allow to use any addon karts online, on servers with live join enabled, by Benau. The kart has Tux's hitbox.
* Prevent undefined behaviour on battle/soccer servers with an excessive player limit, by Benau
* Use an improved rating formula for ranked play, by Alayan
### General
* Use SDL2 for window creation, allowing better gamepad support, by Benau
* Replace Fribidi by SheeBidi for RTL support, and remove the dependency to libraqm, by Benau
* Add support for in-race messages in scripting, by CodedOre
* Improved tutorial with free-flow racing (no more text interrupts), by CodedOre
* Haiku support, by AlwaysLivid
* Make the game's window resizable in-game, by Benau
* Download addon icons on-demand to speed-up the addons list loading, by Benau
* Allow theming of icons, by QwertyChouskie
* Many many bugfixes and enhancements
### Mobile
* Many minor bugfixes and compatibility enhancements
#### Android
* Use the android app bundle, allowing all tracks to be included, by Benau
* Use the native progress indicator during game data extraction, by Benau
* Add a launch splash screen, by Benau
#### iOS
* Allow server creation in-game by using only one process for client and server, by Benau
### User Interface
* Introduce element padding for skins, by QwertyChouskie
* New Cartoon skin, by LCP (art) and QwertyChouskie (code)
* Allow to rename control configurations, by GuillaumeBft
* Unthrottled keyboard navigations in menus, by Benau
* Show mobile players as such in server lobbies, using an emoji icon, by riso
* Always show the race end times in ms, by Fouks
* SVG icons support, by riso
* New tips for soccer mode
#### In-race UI
* Introduce camera settings in the options screen, by luffah
* More spectator cameras in online spectating, by luffah
* Add a minimap indicator for basketballs, by Alayan
* Add team chat for team games, by Benau
* Show the kart orientation on the soccer minimap, by riso
* Show a message once a goal is made in soccer, by riso
### Tracks and modeling
#### Karts
* New version of Kiki, by Typhon306 and ZAQraven99
* Improved karts, by Crystal
* Pidgin, Puffy
* Improved beastie animation, by D_ft Kid
## SuperTuxKart 1.1 (4. January 2020)
### Networking
* Add support for IPv6 clients and servers, by Benau
* Add AI support to local networking servers, by Benau. This AI is not as strong as the normal AI due to networking lag, but should offer enough challenge for a majority of players.
* Add support for AI bots for the server host, by Benau
* Improved handling of collisions, by Benau
* Improved support for playing addons on servers, by Benau
* Support using an IPV4 domain name to connect to a server, by Benau
* Add packet loss data to the server databases, by Benau
* New management features for server hosts, by Benau
* IP / online ID ban tables
* Server statistics
* Make the auto-end finish time more lenient, so it doesn't tank ranking score because of another player, by Alayan
* Add a player reporting function, by Benau
* Fix a bug that allowed to exceed a server's player limit if two players connected at the same time, by Benau
* Add lobby commands, by Benau
### Race gameplay and physics
* Random spawn point in local battle mode, by Aleman778
* Add an option to show everyone's items with the left characters icons, by Fouks
* Allow to choose the number of AI per team in soccer, by risostk
* In CTF mode, fix a bug that prevented scoring a point when the team's flag was in its immunity state, by Alayan
* Fix a bug that could result in the finish time being shown as 0:00:00, by Alayan
* Fix a bug that made AIs, in multiplayer and low difficulty, rubber-band towards the wrong player, by Alayan. Each player now correctly has its AIs, helping a weaker player to not be condemned to the last position.
### General
* Screen space reflection graphical effect, by samuncle
* Support unicode file paths, by Benau
* Complex text layout support, by Benau
* Add emoji support, by Benau
* Avoid "this program is not responding" warnings in Windows and Mac, by Benau
* Add a Story Mode timer, by Alayan
* Make text billboards size consistent accross resolutions, by Benau
* Don't trigger road sounds when the kart is flying, by Benau
* Remove an incorrect function call that could significantly hurt performance for Mac, by Benau
* Fix a nasty bug that made several sound effects to be played at a low volume after a crash, by Alayan
* Some code clean-up, by Alayan
* Addon skin support and skin-specified font by Benau
* Structure for allowing icon themes by Benau
* Add support for custom per-kart engine sounds, by Benau
* Fix an incorrect outdated driver warning for recent AMD cards on Windows, by Alayan
* Scripting enhancements, by deveee
* Add a continue button to cutscenes (mostly useful for touchscreen devices), by deveee
* Request the use of the performance GPU on Optimus systems, by deveee
* Fixed plural forms for translations in several languages, by deveee
* Close STK if Wayland crashes, by mstoeckl
* Support nested directories for addons, by Benau
* Scripting preprocessing for STK version, by Benau
* Updated Wiiuse library to 0.15.5
* Various tweaks and bugfixes, including crash fixes
### Mobile
* Add a screen allowing to download official assets that can't be included in the release package because of size limits, by Benau
* The tutorial text is now tailored for touchscreen usage, instead of the main keyboard text, by Benau
* Enhanced acceleration handle, by Benau
* Allow changing the touchscreen controller type in race paused dialog, by deveee
* Allow for optional auto-acceleration, by deveee
#### Android
* Various bugfixes by deveee, dos1
* Screen keyboard handling improvements, by deveee and Benau
* Allow copying text from the edit box, by Benau
* STK for Android now targets the version 29 of the API (Android 10.0), up from 26 (Android 8.0)
#### iOS
* Add iOS support, by Benau
* The Android code has been widely put to use for iOS
* Several changes or fixes to ensure proper behavior (input, screen-scaling, and more)
### User Interface
* Show tips for players when loading and after race ends, by dumaosen
* Better scaling of many many UI elements to large resolutions, by dumaosen and others
* Show country flags for servers and players in online multiplayer, by Benau
* Add a new option to change font size on the fly, by Benau and deveee
* Add icons for the available options in the race result screens, by dumaosen
* Make the highscore list scrollable, by deveee
* Display all the relevant info in the challenge dialog in Story Mode, by Alayan
* New challenge selection interface, by dumaosen
* Show the number of ranking points won or lost after a ranked race, by Benau
* Separate blurring visual effects from the main graphics presets, by Alayan
* Fix incorrect text resizing in the help menu, by Benau
* Make the custom random GP option more prominent in the track selection screen, by dumaosen
* Improvements to the scrollbars, by QwertyChouskie
* Allow sorting lists with the keyboard, by Benau
* Allow tooltip drawing outside of menus, by deveee
* Prevent some font scaling blur caused by non-integer offsets, by Benau
* Add a (configurable) limit to chat message frequency, by GuillaumeBft and Benau
* Allow to explicitly set the flip direction of tabs, by dumaosen
* Allow to download addons from the server lobby interface, by Benau
* Allow to filter installed and non-installed addons in the addons screen, by Alayan
* Many minor tweaks and bugfixes
#### In-race UI
* Scale down the lap time indicator next to the kart icons when there are many karts, by riso
* Limit how long chat and in-race messages can be, by Benau and Alayan
* Add an option to disable in-race messages only, by Alayan
### Tracks and modeling
#### Tracks
* A handful of minor graphical fixes and enhancements
* Fixed checklines that could be missed too easily in XR591 and the Old Mine.
#### Arenas
* Pumpkin Park, by samuncle
## SuperTuxKart 1.0 (20. April 2019)
### Networking
* Networking support for normal race, time trial, free for all, capture the flag and soccer by Benau and hiker :
* Access to a global server list, possibility to also create a LAN server
* Track voting system to allow players to decide where the race will be
* Communication between server and clients to exchange inputs and general game data
* A lot of work on rewind code to make sure server and client are well synchronized
* Chat lobby for general server information and discussion among players between races
* Support for handicap, which can be changed before each game
* Spectating option for players having entered a server while a race or game is underway by Benau
* Option to join live an active game in FFA, CTF and soccer by Benau
* Global rankings by Benau (communication with main server) and Alayan (ranking formula)
### Race gameplay and physics
* New game mode Capture the Flag by Benau (online multiplayer only)
* New game mode Free for All by Benau
* Free for All available in offline mode with AI, by Mrxx99
* Revised kart characteristics for better balance between light, medium and heavy karts by Alayan
* Better random item distribution for various numbers of karts by Alayan and hiker
* Fix position interpolation causing some incorrect lapline validation by Auria
* Fix kart being uncontrollable and hovering when landing on some downward slopes by hiker
* Mitigate a physics issue which could send a kart flying on collisions by hiker
* Make kart turn radius based on kart class instead of kart model length (which made Adiumy unplayable and caused AI issues) by Alayan
* Revisited slipstreaming with boost easier to obtain, especially in curves, but not as strong as in 0.9.3 when the zipper boost was incorrectly activated, by Alayan
* Minor gameplay improvements (level 1 skid boost doesn't interrupt level 2 boost, fairer rubber-banding in low difficulties, boosted AI for some karts for more challenge in GPs, small balance change of GP points, more useful and consistent handicap option...)
* Start boost/penalty moved to the set phase for smoother networking
* Terrain slowdown works again as intended on several tracks where it was missing
### AI
* Improved powerup and nitro handling in AI by Alayan
### General
* Option to disable light scattering (for improved FPS), used in graphics level 3, by Partmedia
* Unlockable SuperTux challenges in Story Mode by Alayan
* Improvements to ghost replays (more data saved, live time difference, replay comparison, egg hunt replays) by Alayan
* Kart color customization by Benau
* Multithreading contention fixes by Benau
* Local multiplayer improvements by Ben Krajancic
* Major revamp of the achievement system to make adding new achievements much easier and flexible, also fixing some related bugs by Alayan
* Store up to 5 highscores for a track/difficulty/mode/kart number combination, instead of 3
* Smooth turning for non-keyboard inputs for improved consistency between input mode by deveee
* Updated standard replays by Alayan
* Visual improvements (new skidding particles, better rescue, bubblegum flashing before ending)
* Audio improvements (crash sound depending on speed/direction, no crash sound on rescue walls, sound cue in nitro challenges)
* Fix STK incorrectly connecting to the server when the internet option is disabled by Auria
* Updated WiiUse library
* Many bugfixes
### Android
* Gyroscope support by Pelya
* Numerous improvements to input on Android, including screen keyboard, keyboard, gamepads, by deveee
* Android TV support
* Improved UI and font scaling by deveee
* More compact APK thanks to png optimization, allows to have several tracks more than the 0.9.3 APK, by deveee and Alayan
* Wayland support and many other smaller improvements and fixes
### User Interface
* New networking user interface by Benau and hiker
* New coal skin by Alayan
* Support for collapsing widgets in UI by Mrxx99
* Multidirectional keyboard navigation in menus by Alayan
* Alternating background darkness in lists to enhance readability by Benau
* Support text breaks into multiple line in lists, e.g. in the addons menu, by Alayan
* Improved help menu with lateral tabs and a lot more information by Alayan
* Improved option menu with lateral tabs and a separate language tab by Alayan
* Many improvements to the ghost replay selection list (give access to egg hunt replays, kart icon shown in the list, replay's game version shown, hide player number column by default) and dialog (allow replay comparison, show track picture, show information about the selected replays) by Alayan
* Control configurations can be disabled without being deleted by Alayan
* Other significant enhancements (detailed progress of multi-goal achievements, reset password button, clearer checkbox status, milliseconds displayed in time-trials and egg hunts, nitro efficiency in the kart selection screen, better track info screen, better warnings when trying to do an online action with internet access disabled, hour support for GP time, default resolutions can't be used in fullscreen if unsupported by the monitor...)
* Many bugfixes and small enhancements mostly by deveee and Alayan
#### In-race UI
* New speedometer and nitro gauge, by Alayan
* Bigger minimap and new display options, by Alayan
* More legible text with outlines and for some bigger font, by Alayan
### Tracks and modeling
#### Tracks
* Black Forest by Sven Andreas Belting (replacing Green Valley)
* Ravenbridge Mansion by samuncle (replacing Black Hill Mansion)
* Unwanted shortcuts and exploits found by several players and fixed mostly by Auria in many tracks :
* Antediluvian Abyss, Around the Lighthouse, Fort Magma, Grand Paradisio Island, Hacienda, Minigolf, Nessie's Pond, Northern Resort, The Old Mine, Oliver's Math Class, Shifting Sands, STK Enterprise, XR591
* Smoothness issues causing collisions and kart slowdown fixed by Auria :
* Nessie's Pond, Old Mine, Shifting Sands, Volcano Island, XR591
* Item (boxes, nitro, bananas) positions improvement by Alayan and theThomasPat :
* Around the Lighthouse, Black Forest, Candela City, Hacienda, Minigolf, Northern Resort, Oliver's Math Class, STK Enterprise, The Old Mine, Volcano Island, Zen Garden
#### Arenas
* Las Dunas Soccer, by samuncle
* Candela City arena by Benau, based on samuncle's track
#### Karts
* New version of Beastie by Jymis
* New version of Kiki by Benau
## SuperTuxKart 0.9.3 (28. October 2017)
* Reduced RAM and VRAM usage, reducing load times by Auria and Benau
* New mesh format optimized for space and hardware skinning
* Code refactoring of both render pipeline by Benau and Elderme
* Physics improvements and various physics bugfixes by hiker
* Kart GFX improvements (exhaust and headlight)
* In-game screen recording powered by libopenglrecorder
* High quality mipmap generation by Stragus
* New smoother camera by Auria
* New grand prix win scene
* Gamepad configuration bugfixes
* 3 Strikes Battles : added spare tire karts
* Visual representation of the start line in all tracks
* Various improvements (starting boost effect, wall driving fixes, parachutes, GP points, help page for bananas, cannon fixes, colorization shader)
### Tracks and modeling
#### Karts
* Kiki by Benau
* New versions of Wilber and Hexley by Jymis
* New version of Konqi by Benau
#### Tracks
* All tracks drivable in reverse, with arrows pointing in the correct direction
* Candela City by samuncle (replace Shiny Suburbs)
* Cornfield Crossing by samuncle (replace Bovine Barnyard)
* New battle track Las Dunas Arena by samuncle
## SuperTuxKart 0.9.2 (1. July 2016)
* Ghost replay races by Benau
* Battle mode AI by Benau
* Soccer mode AI by Benau
* TTF font rendering by Benau
* New ruby and forest skins by Benau
* Kart properties refactor by Flakebi
* Scripting work under the hood
* Work on the track editor by mhp
* Tweak to challenges
* New farm track song by 0zone0ne and Krobonil
* Bugfixes
### Tracks and modeling
#### Tracks
* Antediluvian Abysses by samuncle (replace Subsea)
* Volcano Island by Ponzino
* New icy soccer field by samuncle and Benau
## SuperTuxKart 0.9.1 (17. October 2015)
* Many bug fixes
* Started to use scripting in tracks
* Significant audio performance improvements
* Tweak to challenges
### Tracks and modeling
#### Tracks
* Better support for driving tracks in reverse
* Smaller tweaks and improvements to several tracks including
* Math class
* XR591
* Fort Magma
* Gran Paradiso Island
* Subsea
## SupertTuxKart 0.9 (24. April 2015)
* Fully shader-based rendering engine
* Fully shader-based rendering engine
* New tracks Cocoa Temple and Gran Paradiso
* Graphical improvements to many other tracks
* New karts amanda and gavroche
* New and improved tux, adiumy, sara the wizard and the racer, xue kart
* Online login which allows to:
* Online login which allows to:
** connect with friends and see when they are playing
* connect with friends and see when they are playing
** vote for addons
* vote for addons
** collect online achievements
* collect online achievements
* Grand Prix editor, including creation of random GPs
* Grand Prix editor, including creation of random GPs
* Different kart physics
* Different kart physics
### Tracks and modeling
#### Karts
* New karts Amanda and Gavroche by XGhost
* New and improved Tux, Adiumy, Sara the Wizard and the Racer, Xue
#### Tracks
* Cocoa Temple by samuncle (replace Amazonian Journey)
* Gran Paradiso Island by samuncle (replace The Island)
* Graphical improvements to many other tracks
## SuperTuxKart 0.8.1 (26. November 2013)
## SuperTuxKart 0.8.1 (26. November 2013)
* New track STK Enterprise
* Updated track The old mines
* Updated Lighthouse track
* Updated Zen Garden track
* New Soccer mode
* New Soccer mode
* New Egg Hunt mode
* New Egg Hunt mode
* New karts Xue and Sara
* Updated Beastie kart
* Added Tutorial
* Added Tutorial
* Added new Supertux difficulty
* Added new Supertux difficulty
* New bubblegum shield weapon
* New bubblegum shield weapon
* New Speedometer and nitro meter
* New Speedometer and nitro meter
* Add ability to filter addons
* Add ability to filter addons
* Updated nitro models
* Add ability to save and resume Grand Prix
* Add ability to save and resume Grand Prix
* Improve skid marks and nitro effects
* Improve skid marks and nitro effects
* Wiimote support
* Wiimote support
### Tracks and modeling
#### Karts
* New karts Xue and Sara
* Updated Beastie kart
#### Tracks
* STK Enterprise by Rubberduck (replace Star Track)
* Gameplay and graphical updates to several tracks :
* The Old Mine
* Lighthouse
* Zen Garden
#### Miscellaneous
* Updated nitro models
## SuperTuxKart 0.8 (11. December 2012)
## SuperTuxKart 0.8 (11. December 2012)
* Story mode and new challenge set
* Story mode and new challenge set
* Improved AI
* Improved AI
* Skidding and better collision physics
* Skidding and better collision physics
* Reverse mode
* Reverse mode
* New green valley track
* New Blackhill Mansion track
* Updated XR591 track
* Updated Fort Magma track
* Updated jungle track
* Updates Sand track
* Updated menus
* Updated menus
* New music
* New music
### Tracks and modeling
#### Tracks
* Green Valley by Wolfs (replace Tux Tollway)
* Blackhill Mansion by samuncle (replace Crescent Crossing)
* Gameplay and graphical updates to several tracks :
* XR591
* Fort Magma
* Jungle
* Sand
## SuperTuxKart 0.7.3 (2. November 2011)
## SuperTuxKart 0.7.3 (2. November 2011)
* New Zen Garden and Subsea tracks
* New Island battle arena
* New Suzanne kart
* New graphical effects
* New graphical effects
* New weapons 'Swatter' and 'Rubber Ball'
* New weapons 'Swatter' and 'Rubber Ball'
* Added Thunderbird as race referee
* 3 Strikes Battles now displays lives as spare tires
* 3 Strikes Battles now displays lives as spare tires
* Improved bubble gum
* Improved bubble gum
* See progression during Grand Prix
* See progression during Grand Prix
@@ -62,16 +461,28 @@
* Improved kart control at high speeds
* Improved kart control at high speeds
* Better placement of rescued karts
* Better placement of rescued karts
* Transition track-making to blender 2.5/2.6
* Transition track-making to blender 2.5/2.6
### Tracks and modeling
#### Karts
* New Suzanne kart
#### Tracks
* Zen Garden by samuncle (replace Secret Garden)
* New Subsea
* New Island battle arena
#### Miscellaneous
* Added Thunderbird as race referee
## SuperTuxKart 0.7.2 (15. July 2011)
## SuperTuxKart 0.7.2 (15. July 2011)
* Added in-game addon manager
* Added in-game addon manager
* Fixed major memory leaks
* Fixed major memory leaks
* New Snow Peak track by Samuncle
* Improved star track UFO by Rudy
* New Beastie kart.
* Show when you get a highscore
* Show when you get a highscore
* Improve gamepad configuration under Windows (add ability to tell gamepads apart)
* Improve gamepad configuration under Windows (add ability to tell gamepads apart)
* Various other tweaks done and glitches fixed
* Various other tweaks done and glitches fixed
### Tracks and modeling
#### Karts
* New Beastie kart.
#### Tracks
* Improved Snow Peak by samuncle
* Improved Star Track UFO by Rudy
## SuperTuxKart 0.7.1b (21. April 2011)
## SuperTuxKart 0.7.1b (21. April 2011)
* Fix circular dependency in challenges
* Fix circular dependency in challenges
@@ -79,8 +490,6 @@
## SuperTuxKart 0.7.1 (15. April 2011)
## SuperTuxKart 0.7.1 (15. April 2011)
* Particle (smoke, splash, fire) and weather effects
* Particle (smoke, splash, fire) and weather effects
* New Fort Magma by Samuncle, new Shiny Suburbs track by Horace
* New Beagle kart by wolterh
* Added internet news
* Added internet news
* Support for live language switch
* Support for live language switch
* Added optional minimal race UI
* Added optional minimal race UI
@@ -95,6 +504,12 @@
* Fixed character names that contain non-ASCII characters
* Fixed character names that contain non-ASCII characters
* Full RTL (right to left) support
* Full RTL (right to left) support
* Various other tweaks done and glitches fixed
* Various other tweaks done and glitches fixed
### Tracks and modeling
#### Karts
* New Beagle kart by wolterh
#### Tracks
* New Fort Magma by samuncle
* New Shiny Suburbs by Horace
## SuperTuxKart 0.7 (December 2010)
## SuperTuxKart 0.7 (December 2010)
Too many to list them all. Main points:
Too many to list them all. Main points:
@@ -107,8 +522,12 @@ Too many to list them all. Main points:
* Other improvements
* Other improvements
- Allowed alternative ways/shortcuts in tracks
- Allowed alternative ways/shortcuts in tracks
- New item 'switch'
- New item 'switch'
* New art:
### Tracks and modeling
- New tracks farm, hacienda, scotland, secret garden
#### Tracks
- Farm
- Hacienda by samuncle (replace Beach)
- Scotland by Canis Lupus
- Secret Garden
## SuperTuxKart 0.6.2a (October 2009)
## SuperTuxKart 0.6.2a (October 2009)
* Bugfix: STK would crash while trying to save the config file
* Bugfix: STK would crash while trying to save the config file
@@ -128,7 +547,7 @@ Too many to list them all. Main points:
* Bugfix: battle mode would not display track groups.
* Bugfix: battle mode would not display track groups.
## SuperTuxKart 0.6.1 (February 2009)
## SuperTuxKart 0.6.1 (February 2009)
*Added new kart ("Puffy"), new battle map ("Cave"), and new music for Snow Mountain.
*New music for Snow Mountain.
* Fixed bug in track selection screen that could cause a crash when track groups were used.
* Fixed bug in track selection screen that could cause a crash when track groups were used.
* Fixed crash in character selection that could happen if an old user config file existed.
* Fixed crash in character selection that could happen if an old user config file existed.
* Fixed incorrect rescues in Fort Magma.
* Fixed incorrect rescues in Fort Magma.
@@ -136,15 +555,19 @@ Too many to list them all. Main points:
* A plunger in the face is now removed when restarting.
* A plunger in the face is now removed when restarting.
* Added slow-down for karts driving backwards.
* Added slow-down for karts driving backwards.
* Somewhat reduced 'shaking' of AI driven karts.
* Somewhat reduced 'shaking' of AI driven karts.
### Tracks and modeling
#### Karts
- New Puffy kart
#### Tracks
- New Cave battle map
## SuperTuxKart 0.6 (January 2009)
## SuperTuxKart 0.6 (January 2009)
* New improved physics and kart handling
* New improved physics and kart handling
* Added sharp turns and nitro speed boost (replacing wheelies and jump)
* Added sharp turns and nitro speed boost (replacing wheelies and jump)
* Totally rewrote powerups (plunger, bowling ball, cake, bubblegum) and new look for bananas
* Totally rewrote powerups (plunger, bowling ball, cake, bubblegum) and new look for bananas
* New and improved tracks : skyline, snow mountain, race track, space track, old mine, XR591
* New game mode : 3-Strikes Battle
* New game mode : 3-Strikes Battle
* Major improvements to AI
* Major improvements to AI
* New/improved karts (and removed some old ones) : wilber, eviltux, hexley
* Improved user interface
* Improved user interface
* Karts now have a visible suspension effect
* Karts now have a visible suspension effect
* Fully positional audio with OpenAL
* Fully positional audio with OpenAL
@@ -160,8 +583,22 @@ Too many to list them all. Main points:
- Fixed 'joystick locks' (kart would turn even if the joystick is in neutral),
- Fixed 'joystick locks' (kart would turn even if the joystick is in neutral),
thanks to Samjam for the patch.
thanks to Samjam for the patch.
### Tracks and modeling
#### Karts
* Improved Wilber
* Eviltux
* Hexley
* Some old karts have been removed
#### Tracks
* Skyline
* Snow Mountain
* Race track
* Old Mine
* XR591
* Improved track :
* Star track
## SuperTuxKart 0.5 (May 2008)
## SuperTuxKart 0.5 (May 2008)
* Six new tracks and one improved track: Fort Magma, SnowTux Peak, Amazonian Journey, City, Canyon, Crescent Crossing and StarTrack
* Complete Challenges to unlock game modes, new tracks and a skidding preview
* Complete Challenges to unlock game modes, new tracks and a skidding preview
* New Follow the Leader game mode
* New Follow the Leader game mode
* New Grand Prix
* New Grand Prix
@@ -173,17 +610,28 @@ Too many to list them all. Main points:
- a memory leak fix (Charlie Head)
- a memory leak fix (Charlie Head)
- an AI crash fix (Chris Morris)
- an AI crash fix (Chris Morris)
### Tracks and modeling
#### Tracks
* SnowTux Peak
* Amazonian Journey
* City
* Canyon
* BSODs Battlements renamed to Fort Magma
* Improved Crescent Crossing, Fort Magma, and Star Track
## SuperTuxKart 0.4 (February 2008)
## SuperTuxKart 0.4 (February 2008)
* New physics handling using the bullet physics engine
* New physics handling using the bullet physics engine
* New kart: wilber
* Improved 'Shifting Sands' and 'Lighthouse' tracks
* Improved AI
* Improved AI
* New GUI handling, including resolution switching GUI
* New GUI handling, including resolution switching GUI
option(SERVER_ONLY"Create a server only (i.e. no graphics or sound)"OFF)
option(CHECK_ASSETS"Check if assets are installed in ../stk-assets"ON)
option(CHECK_ASSETS"Check if assets are installed in ../stk-assets"ON)
option(USE_SYSTEM_ANGELSCRIPT"Use system angelscript instead of built-in angelscript. If you enable this option, make sure to use a compatible version."OFF)
option(USE_SYSTEM_ANGELSCRIPT"Use system angelscript instead of built-in angelscript. If you enable this option, make sure to use a compatible version."OFF)
option(ENABLE_NETWORK_MULTIPLAYER"Enable network multiplayer. This will replace the online profile GUI in the main menu with the network multiplayer GUI"OFF)
option(USE_SYSTEM_ENET"Use system ENet instead of the built-in version, when available."ON)
CMAKE_DEPENDENT_OPTION(USE_IPV6"Allow create or connect to game server with IPv6 address, system enet will not be used."ON
"NOT USE_SWITCH"OFF)
option(USE_SYSTEM_WIIUSE"Use system WiiUse instead of the built-in version, when available."OFF)
option(USE_SQLITE3"Use sqlite to manage server stats and ban list."ON)
if(APPLE)
CMAKE_DEPENDENT_OPTION(DLOPEN_MOLTENVK"Use dlopen to load MoltenVK for Apple."ON
"NOT IOS;NOT SERVER_ONLY"OFF)
endif()
CMAKE_DEPENDENT_OPTION(USE_CRYPTO_OPENSSL"Use OpenSSL instead of MbedTLS for cryptography in STK."ON
The SuperTuxKart code is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
The SuperTuxKart code is released under GNU GPL (see full text below).
The SuperTuxKart data files (textures, models, sounds, music, etc.) are released under a mixture of licenses including, but not limited to, the following:
SuperTuxKart data files (textures, models, sounds, music, etc.) are released under various licenses, see 'license.txt' files
through the various data subdirectories. Data files are released under a mixture of the following licenses :
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
@@ -46,7 +49,7 @@ TERMS AND CONDITIONS
"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
"The Program!" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations.
"The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work.
To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work.
@@ -96,10 +99,10 @@ You may charge any price or no price for each copy that you convey, and you may
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
* a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
* b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices".
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices".
* c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
* d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
@@ -107,11 +110,11 @@ You may convey a work based on the Program, or the modifications to produce it f
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
* a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
* b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
* c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
* d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
* e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
@@ -133,12 +136,12 @@ You may convey a work based on the Program, or the modifications to produce it f
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
* a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
* b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
* c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
* d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
* e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
* f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
@@ -178,7 +181,8 @@ You may convey a work based on the Program, or the modifications to produce it f
In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying"
means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
@@ -217,3 +221,40 @@ You may convey a work based on the Program, or the modifications to produce it f
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <https://www.gnu.org/licenses/why-not-lgpl.html>.
Note : If you obtained this source code from github, you also need to download the game assets from sourceforge using SVN.
In order to build SuperTuxKart from source, you'll need both the code and the assets (See <https://supertuxkart.net/Source_control> for more information):
To build the in-game recorder for STK, you have to install
libopenglrecorder from your distribution, or compile it yourself from [here](https://github.com/Benau/libopenglrecorder).
Compilation instruction is explained there. If you don't need this feature, pass `-DBUILD_RECORDER=off` to cmake.
### Compiling
To compile SuperTuxKart, run the following commands inside `stk-code` directory
```bash
# go into the stk-code directory
cd stk-code
# create and enter the cmake_build directory
mkdir cmake_build
mkdir cmake_build
cd cmake_build
cd cmake_build
# run cmake to generate the makefile
cmake ..
cmake ..
make VERBOSE=1 -j2
# compile
make -j$(nproc)
```
```
To create a debug version of STK, use:
STK can then be run from the build directory with `bin/supertuxkart`
`cmake .. -DCMAKE_BUILD_TYPE=Debug`
#### Keeping your build up to date
To test the compilation, supertuxkart can be run from the build
To recompile the latest code without redownloading the entire source, first run the ```svn up``` command inside the 'stk-assets' directory, then run the following commands inside the 'stk-code' directory:
directory by ./bin/supertuxkart
To install the file, as root execute:
```bash
git pull
cd cmake_build
cmake ..
make -j$(nproc)
```
`make install`
##### Build Speed Optimization
"-j$(nproc)" is an example, for a faster build, use "-jx" instead, where "x" is the amount of CPU threads you have, minus one.
### Further options
To create a debug version of STK, run:
```bash
cmake .. -DCMAKE_BUILD_TYPE=Debug
```
You can install your build system-wide:
```bash
sudo make install
```
The default install location is `/usr/local`, i.e. the data files will
The default install location is `/usr/local`, i.e. the data files will
be written to `/usr/local/share/games/supertuxkart`, the executable
be written to `/usr/local/share/games/supertuxkart`, the executable
@@ -65,10 +135,121 @@ will be copied to `/usr/local/bin`. To change the default installation
location, specify `CMAKE_INSTALL_PREFIX` when running cmake, e.g.:
location, specify `CMAKE_INSTALL_PREFIX` when running cmake, e.g.:
`cmake .. -DCMAKE_INSTALL_PREFIX=/opt/stk`
`cmake .. -DCMAKE_INSTALL_PREFIX=/opt/stk`
## Building SuperTuxKart on Windows
##Building STK on OS X
To Build SuperTuxKart on Windows, first you need to install [Python](https://www.python.org/downloads/windows/) for [shaderc](https://github.com/google/shaderc) used by SuperTuxKart, after installing Python (if needed) follow these instructions:
See <http://supertuxkart.sourceforge.net/Building_and_packaging_on_OSX>
1. Download and install Visual Studio from here: [Visual Studio - Download](https://www.visualstudio.com/downloads/). The free Visual Studio Community edition works fine. Remember to select "Desktop development with C++" in the installer.
##Building STK on Windows
2. If you want the stable version, download the SuperTuxKart source package from the latest stable version [SuperTuxKart on GitHub](https://github.com/supertuxkart/stk-code/releases) and unpack it.
See <http://supertuxkart.sourceforge.net/How_to_build_the_Windows_version>
3. If you want the development version, you will need a Git client and a SVN client. More information can be found here: [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control).
Open your file browser and find somewhere you want to put the development version of SuperTuxKart. For example in C:\Users\<Your Username> as the Git and SVN clients will have write permissions there, and you should create its own directory, for example SuperTuxKart-dev. Enter that directory, and create a directory inside called stk-assets, and enter it. If you installed TortoiseSVN, right-click, select TortoiseSVN -> Checkout... and paste the corresponding URL found in [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control). While it is downloading the game assets, go back to your file browser and one level up. Right-click again somewhere empty and select "Git clone..." and paste the corresponding link found in [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control).
*Note: Both `stk-code` and `stk-assets` **must** be in the same directory, otherwise the build will likely fail!*
4. If you got the stable version, download the Windows dependencies package from [SuperTuxKart on GitHub - Dependencies Releases](https://github.com/supertuxkart/dependencies/releases), find the stk-code version there and download the `dependencies(arch).zip` as needed and unpack the archive into the `stk-code` directory.
5. If you got the development version go to SuperTuxKart-dev in your file browser, then visit [SuperTuxKart on GitHub - Dependencies latest preview release](https://github.com/supertuxkart/dependencies/releases/tag/preview)
and unpack the archive into the `stk-code` directory. Download `i686` if you use Win32 generator of MSVC, `x86_64` for x64, `armv7` for ARM and `aarch64` for ARM64.
6. Download CMake from here: [CMake - download page](https://cmake.org/download/), install it; once CMake is installed, double click on the CMake icon on your desktop, and point it towards your `stk-code` directory in the 'Where is the source code' field, and point 'Where to build the binaries' to a new directory called `build` or `bld` inside the stk-code directory.
7. Press 'Configure'; CMake will ask you if it is OK to create the aforementioned directory, press `Yes`. CMake will then ask you about your version of Visual Studio.
Confirm your selection; *Please look at the table below to avoid confusion between version numbers and releases of Visual Studio*; CMake will begin creating the required files for the build in the directory. If you want to do a 64-bit build, select the version of Visual Studio you installed with "Win64" appended. Press 'Generate' button.
8. Navigate to your build directory and open the `SuperTuxKart.sln` file; Visual Studio will now load the solution.
9. In the 'Solution Explorer', right click on the `supertuxkart` project and select "Set as StartUp project".
10. Open the 'Build' menu and select 'Build Solution'; or, press the default keyboard shortcut: `CTRL + SHIFT + B` to build the solution.
*Note: To avoid confusion between releases and versions, refer to this table:*
Visual Studio Release | Version
----------------------|------------
Visual Studio 2019| 16
Visual Studio 2017| 15
Visual Studio 2015| 14
Visual Studio 2013| 13
## Building SuperTuxKart on Windows (from PowerShell/Command line)
1. Download and install Visual Studio from here: [Visual Studio - Download](https://www.visualstudio.com/downloads/), the free Visual Studio Community edition works fine.
2. Download a source package from either [SuperTuxKart on GitHub](https://github.com/supertuxkart/stk-code/releases) or [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control)
NOTE: the `stk-code` and `stk-assets` directories **must** be in the same directory, `stk-assets` is not needed if you download the full source tarball `(SuperTuxKart-version-src.tar.xz)`.
3. Download the Windows dependencies package from [SuperTuxKart on GitHub - Dependencies latest preview release](https://github.com/supertuxkart/dependencies/releases/tag/preview)
and unpack the archive into the `stk-code` directory. Download `i686` if you use Win32 generator of MSVC, `x86_64` for x64, `armv7` for ARM and `aarch64` for ARM64.
4. Download CMake from here: [CMake - download page](https://cmake.org/download/); and install it. Navigate to the `stk-code` directory; and create an directory called "build":
```cmd
mkdir build
cd build
```
5. Once inside the build directory; run CMake to start the compilation process:
```cmd
cmake ..
```
6. Now that CMake finished configuring and creating the necessary files for the build, run the build command in the same directory:
```cmd
msbuild.exe SuperTuxKart.sln
```
SuperTuxKart can now be run as `bin\Debug\supertuxkart.exe` or `bin\Release\supertuxkart.exe`
## Building SuperTuxKart on Windows using LLVM MinGW
1. Get the LLVM Mingw archive [here](https://github.com/mstorsjo/llvm-mingw/releases/latest), get the `*-msvcrt-i686.zip or` `*-msvcrt-x86_64.zip` depending on whether you have an Intel / AMD 32 or 64-bit Windows. If you are using ARM64 Windows get the `*-msvcrt-i686.zip` should be fine (untested). After downloading extract it as `C:\llvm-mingw` so `C:\llvm-mingw` contains `bin`, `include`, `lib`, etc.
2. Get Ninja [here](https://github.com/ninja-build/ninja/releases/latest), download the `ninja-win.zip` and extract the `ninja.exe` from the archive to `C:\llvm-mingw`. If you are not using Intel / AMD 64-bit Windows use [this link](https://packages.msys2.org/package/mingw-w64-i686-ninja) and extract `mingw32\bin\ninja.exe` inside the `tar.zst`.
3. Download a source package from either [SuperTuxKart on GitHub](https://github.com/supertuxkart/stk-code/releases) or [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control)
NOTE: the `stk-code` and `stk-assets` directories **must** be in the same directory, `stk-assets` is not needed if you download the full source tarball `(SuperTuxKart-version-src.tar.xz)`. Also make sure they lie within the C drive.
4. Download the Windows dependencies package from [SuperTuxKart on GitHub - Dependencies latest preview release](https://github.com/supertuxkart/dependencies/releases/tag/preview)
and unpack the archive into the `stk-code` directory. Download `i686` if you compile for Intel / AMD 32-bit, `x86_64` for Intel / AMD 64-bit, `armv7` for ARM 32-bit and `aarch64` for ARM 64-bit version of Windows.
6. Download CMake from here: [CMake - download page](https://cmake.org/download/), install it; once CMake is installed, double click on the CMake icon on your desktop, and point it towards your `stk-code` directory in the 'Where is the source code' field, and point 'Where to build the binaries' to a new directory called `build` inside the stk-code directory.
7. Press the `Add Entry` button and add the values below:
8. Press 'Configure'; CMake will ask you if it is OK to create the aforementioned directory, press `Yes`. Choose `Ninja` from `Specify the generator for this project`, choose `Specify toolchain file for cross-compiling` then press `Next`. Specify the toolchain file which is located in `stk-code\cmake\Toolchain-llvm-mingw.cmake` and press `Finish`. If no error appears then press 'Generate'
9. Once inside the build directory using command line `cmd.exe` or PowerShell:
```cmd
C:\llvm-mingw\ninja.exe
```
SuperTuxKart can now be run as `bin\supertuxkart.exe`.
## Building SuperTuxKart on macOS
### Getting Started
Install the developer tools, either from the OS X Install DVD or from Apple's website.
Download `dependencies-macosx.tar.xz` from `Assets` section [here](https://github.com/supertuxkart/dependencies/releases) and extract it inside stk-code directory, use `preview` version for git stk-code.
First of all, you can compile STK with `-DSERVER_ONLY=ON` which will produce a GUI-less STK binary optimized for size and memory usage, useful for situation like in VPS.
The dependencies for RHEL/CentOS 7 are installed with:
You are required to have an stk online account first, go [here](https://online.supertuxkart.net/register.php) for registration.
It is recommended you have a saved user in your computer to allow hosting multiple servers simultaneously with the same account, if you have a fresh STK installation, first run:
If you intend to keep your server always on (24x7) you are required to implement port forward / direct connection with NAT penetration in your network, we will regularly remove any servers not following this rule.
It will create that xml configuration file if not found in current directory, you can type `quit` in terminal, than you can edit that file for further configuration as required.
` --network-console` should not be used if you run supertuxkart server later with systemd service, see issue [#4299](https://github.com/supertuxkart/stk-code/issues/4299).
The current server configuration xml looks like this:
```xml
<?xml version="1.0"?>
<server-configversion="6">
<!-- Name of server, encode in XML if you want to use unicode characters. -->
<server-namevalue="STK Server"/>
<!-- Port used in server, if you specify 0, it will use the server port specified in stk_config.xml. If you wish to use a random port, set random-server-port to '1' in user config. STK will automatically switch to a random port if the port you specify fails to be bound. -->
<server-portvalue="0"/>
<!-- Game mode in server, 0 is normal race (grand prix), 1 is time trial (grand prix), 3 is normal race, 4 time trial, 6 is soccer, 7 is free-for-all and 8 is capture the flag. Notice: grand prix server doesn't allow for players to join and wait for ongoing game. -->
<server-modevalue="3"/>
<!-- Difficulty in server, 0 is beginner, 1 is intermediate, 2 is expert and 3 is supertux (the most difficult). -->
<server-difficultyvalue="0"/>
<!-- Number of grand prix tracks per game (If grand prix enabled). -->
<gp-track-countvalue="3"/>
<!-- Use goal target in soccer. -->
<soccer-goal-targetvalue="false"/>
<!-- Enable wan server, which requires you to have an stk-addons account with a saved session. Check init-user command for details. -->
<wan-servervalue="true"/>
<!-- Enable network console, which can do for example kickban. -->
<enable-consolevalue="false"/>
<!-- Maximum number of players on the server, setting this to a value greater than 8 can cause performance degradation. -->
<server-max-playersvalue="8"/>
<!-- Password for private server, leave empty for a public server. -->
<private-server-passwordvalue=""/>
<!-- Message of today shown in lobby, you can enter encoded XML words here or a file.txt and let STK load it. -->
<motdvalue=""/>
<!-- If this value is set to false, the server will ignore chat messages from all players. -->
<chatvalue="true"/>
<!-- If client sends more than chat-consecutive-interval / 2 chats within this value (read in seconds), it will be ignore, negative value to disable. -->
<chat-consecutive-intervalvalue="8"/>
<!-- Allow players to vote for which track to play. If this value is set to false, the server will randomly pick the next track to play. -->
<track-votingvalue="true"/>
<!-- Timeout in seconds for selecting karts and (or) voting tracks in server, you may want to use a lower value if you have track-voting off. -->
<voting-timeoutvalue="30"/>
<!-- Timeout in seconds for validation of clients in wan, currently STK will use the stk-addons server to share AES key between the client and server. -->
<validation-timeoutvalue="20"/>
<!-- By default WAN server will always validate player and LAN will not, disable it to allow non-validated player in WAN. -->
<validating-playervalue="true"/>
<!-- Disable it to turn off all stun related code in server, it allows for saving of server resources if your server is not behind a firewall. -->
<firewalled-servervalue="true"/>
<!-- Enable to allow IPv6 connection if you have a public IPv6 address. STK currently uses dual-stack mode which requires server to have both IPv4 and IPv6 and listen to same port. If STK detects your server has no public IPv6 address or port differs between IPv4 and IPv6 then it will use IPv4 only socket. For system which doesn't support dual-stack socket (like OpenBSD) you may fail to be connected by IPv4 clients. You can override the detection in config.xml at supertuxkart config-0.10 folder, with default-ip-type option. -->
<ipv6-connectionvalue="true"/>
<!-- No server owner in lobby which can control the starting of game or kick any players. -->
<owner-lessvalue="false"/>
<!-- Time to wait before entering kart selection screen if satisfied min-start-game-players below for owner less or ranked server. -->
<start-game-countervalue="60"/>
<!-- Clients below this value will be rejected from joining this server. It's determined by number of official karts in client / number of official karts in server -->
<official-karts-thresholdvalue="1"/>
<!-- Clients below this value will be rejected from joining this server. It's determined by number of official tracks in client / number of official tracks in server, setting this value too high will prevent android players from joining this server, because STK android apk has some official tracks removed. -->
<official-tracks-thresholdvalue="0.7"/>
<!-- Only auto start kart selection when number of connected player is larger than or equals this value, for owner less or ranked server, after start-game-counter reaches 0. -->
<min-start-game-playersvalue="2"/>
<!-- Automatically end linear race game after 1st player finished for some time (currently his finished time * 0.25 + 15.0). -->
<auto-endvalue="false"/>
<!-- Enable team choosing in lobby in team game (soccer and CTF). If owner-less is enabled and live-spectate is not enabled, than this option is always disabled. -->
<team-choosingvalue="true"/>
<!-- If strict-players is on, no duplicated online id or split screen players are allowed, which can prevent someone using more than 1 network AI with this server. -->
<strict-playersvalue="false"/>
<!-- Server will submit ranking to stk-addons server for linear race games, you require permission for that. validating-player, auto-end, strict-player and owner-less will be turned on. -->
<rankedvalue="false"/>
<!-- If true, the server owner can config the difficulty and game mode in the GUI of lobby. This option cannot be used with owner-less or grand prix server, and will be automatically turned on if the server was created using the in-game GUI. The changed difficulty and game mode will not be saved in this config file. -->
<server-configurablevalue="false"/>
<!-- If true, players can live join or spectate the in-progress game. Currently live joining is only available if the current game mode used in server is FFA, CTF or soccer, also official-karts-threshold will be made 1.0. If false addon karts will use their original hitbox other than tux, all players having it restriction applies. -->
<live-spectatevalue="true"/>
<!-- Time in seconds when a flag is dropped a by player in CTF returning to its own base. -->
<flag-return-timeoutvalue="20"/>
<!-- Time in seconds to deactivate a flag when it's captured or returned to own base by players. -->
<flag-deactivated-timevalue="3"/>
<!-- Hit limit of free for all, zero to disable hit limit. -->
<hit-limitvalue="20"/>
<!-- Time limit of free for all in seconds, zero to disable time limit. -->
<time-limit-ffavalue="360"/>
<!-- Capture limit of CTF, zero to disable capture limit. -->
<capture-limitvalue="5"/>
<!-- Time limit of CTF in seconds, zero to disable time limit. -->
<time-limit-ctfvalue="600"/>
<!-- Value used by server to automatically estimate each game time. For races, it decides the lap of each race in network game, if more than 0.0f, the number of lap of each track vote in linear race will be determined by max(1.0f, auto-game-time-ratio * default lap of that track). For soccer if more than 0.0f, for time limit game it will be auto-game-time-ratio * soccer-time-limit in UserConfig, for goal limit game it will be auto-game-time-ratio * numgoals in UserConfig, -1 to disable for all. -->
<auto-game-time-ratiovalue="-1"/>
<!-- Maximum ping allowed for a player (in ms), it's recommended to use default value if live-spectate is on. -->
<max-pingvalue="300"/>
<!-- Tolerance of jitter in network allowed (in ms), it's recommended to use default value if live-spectate is on. -->
<jitter-tolerancevalue="100"/>
<!-- Kick players whose ping is above max-ping. -->
<kick-high-ping-playersvalue="false"/>
<!-- Allow players exceeding max-ping to have a playable game, if enabled kick-high-ping-players will be disabled, please also use a default value for max-ping and jitter-tolerance with it. -->
<high-ping-workaroundvalue="true"/>
<!-- Kick idle player which has no network activity to server for more than some seconds during game, unless he has finished the race. Negative value to disable, and this option will always be disabled for LAN server. -->
<kick-idle-player-secondsvalue="60"/>
<!-- Set how many states the server will send per second, the higher this value, the more bandwidth requires, also each client will trigger more rewind, which clients with slow device may have problem playing this server, use the default value is recommended. -->
<state-frequencyvalue="10"/>
<!-- Use sql database for handling server stats and maintenance, STK needs to be compiled with sqlite3 supported. -->
<sql-managementvalue="false"/>
<!-- Database filename for sqlite to use, it can be shared for all servers created in this machine, and STK will create specific table for each server. You need to create the database yourself first, see NETWORKING.md for details -->
<database-filevalue="stkservers.db"/>
<!-- Specified in millisecond for maximum time waiting in sqlite3_busy_handler. You may need a higher value if your database is shared by many servers or having a slow hard disk. -->
<database-timeoutvalue="1000"/>
<!-- IPv4 ban list table name, you need to create the table first, see NETWORKING.md for details, empty to disable. This table can be shared for all servers if you use the same name. STK can auto kick active peer from ban list (update per minute) whichallows live kicking peer by inserting record to database. -->
<ip-ban-tablevalue="ip_ban"/>
<!-- IPv6 ban list table name, you need to create the table first, see NETWORKING.md for details, empty to disable. This table can be shared for all servers if you use the same name. STK can auto kick active peer from ban list (update per minute) which allows live kicking peer by inserting record to database. -->
<ipv6-ban-tablevalue="ipv6_ban"/>
<!-- Online ID ban list table name, you need to create the table first, see NETWORKING.md for details, empty to disable. This table can be shared for all servers if you use the same name. STK can auto kick active peer from ban list (update per minute) which allows live kicking peer by inserting record to database. -->
<online-id-ban-tablevalue="online_id_ban"/>
<!-- Player reports table name, which will be written when a player reports player in the network user dialog, you need to create the table first, see NETWORKING.md for details, empty to disable. This table can be shared for all servers if you use the same name. -->
<player-reports-tablevalue="player_reports"/>
<!-- Days to keep player reports, older than that will be auto cleared, 0 to keep them forever. -->
<player-reports-expired-daysvalue="3"/>
<!-- IP geolocation table, you only need this table if you want to geolocate IP from non-stk-addons connection, as all validated players connecting from stk-addons will provide the location info, you need to create the table first, see NETWORKING.md for details, empty to disable. This table can be shared for all servers if you use the same name. -->
<ip-geolocation-tablevalue="ip_mapping"/>
<!-- IPv6 geolocation table, you only need this table if you want to geolocate IP from non-stk-addons connection, as all validated players connecting from stk-addons will provide the location info, you need to create the table first, see NETWORKING.md for details, empty to disable. This table can be shared for all servers if you use the same name. -->
<ipv6-geolocation-tablevalue="ipv6_mapping"/>
<!-- If true this server will auto add / remove AI connected with network-ai=x, which will kick N - 1 bot(s) where N is the number of human players. Only use this for non-GP racing server. -->
<ai-handlingvalue="false"/>
<!-- If true this server will allow AI instance to be connected from anywhere. (other than LAN network only) -->
<ai-anywherevalue="false"/>
</server-config>
```
At the moment STK has a list of STUN servers for NAT penetration which allows players or servers behind a firewall or router to be able to connect to each other, but in case it doesn't work, you have to manually disable the firewall or port forward the port(s) used by STK.
By default STK servers use port `2759`. For example, in Ubuntu based distributions, run the following command to disable the firewall on that port:
`sudo ufw allow 2759`
You may also need to handle the server discovery port `2757` for connecting your WAN server in LAN / localhost.
Notice: You don't need to make any firewall or router configuration changes if you connect to the recommended servers (marked with ☆★STK★☆).
### Hosting LAN (local internet) server
Everything is basically the same as WAN one, except you don't need an stk online account, just do:
For LAN server it is required that the server and server discovery port is connectable by clients directly, no NAT penetration will be done in LAN.
LAN server can be connected too by typing your server public address (with port) in ```Enter server address``` dialog without relying on stk-addons.
------
After the first time configuration, you can just start the server with the command:
`supertuxkart --server-config=your_config.xml`, regardless of whether LAN or WAN server is chosen (of course you need to have a saved user for the WAN one), by default your server logging will be saved to the STK configuration directory with a name of `your_config.log`, given that the server configuration filename is `your_config.xml`.
You can find out that directory location [here (See Where is the configuration stored?)](https://supertuxkart.net/FAQ)
## Testing server
There is a network AI tester in STK which can use AI on player controller for server hosting linear races game mode, which helps automating the testing for servers, to enable it use it on lan server:
Remove `--no-graphics` if you want to see the AI racing. You can also run network AI tester in server-only build of STK.
With the network AI tester, it's easier to for example simulate high-loaded servers or bad networks (ones with high ping and/or packet loss).
Tested on a Raspberry Pi 3 Model B+, if you have 8 players connected to a server hosted on it, the usage of a single CPU core is ~60% and there are ~60MB of memory usage for game with heavy tracks like Cocoa Temple or Candela City on the server, you can use the above figures to estimate how many STK servers can be hosted on the same computer.
For bad network simulation, we recommend `network traffic control` by Linux kernel, see [here](https://wiki.linuxfoundation.org/networking/netem) for details.
You will have the best gaming experience by choosing a server where all players have less than 100ms ping with no packet loss.
## Server management (Since 1.1)
Currently STK uses sqlite (if building with sqlite3 on) for server management with the following functions at the moment:
1. Server statistics
2. IP / online ID ban list
3. Player reports
4. IPv4 and IPv6 geolocation
You need to create a database in sqlite first, run `sqlite3 stkservers.db` in the folder where (all) your server_config.xml(s) located.
A table named `v(server database version)_(your_server_config_filename_without_.xml_extension)_stats` will also be created in your database if one does not exist.:
```sql
CREATE TABLE IF NOT EXISTS (table name above)
(
host_id INTEGER UNSIGNED NOT NULL PRIMARY KEY, -- Unique host id in STKHost of each connection session for a STKPeer
ip INTEGER UNSIGNED NOT NULL, -- IP decimal of host
ipv6 TEXT NOT NULL DEFAULT '', -- IPv6 (if exists) in string of host (only created if IPv6 server)
port INTEGER UNSIGNED NOT NULL, -- Port of host
online_id INTEGER UNSIGNED NOT NULL, -- Online if of the host (0 for offline account)
username TEXT NOT NULL, -- First player name in the host (if the host has splitscreen player)
player_num INTEGER UNSIGNED NOT NULL, -- Number of player(s) from the host, more than 1 if it has splitscreen player
country_code TEXT NULL DEFAULT NULL, -- 2-letter country code of the host
version TEXT NOT NULL, -- SuperTuxKart version of the host
os TEXT NOT NULL, -- Operating system of the host
connected_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Time when connected
disconnected_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Time when disconnected (saved when disconnected)
ping INTEGER UNSIGNED NOT NULL DEFAULT 0 -- Ping of the host
) WITHOUT ROWID;
```
STK will also create the following default views from the stats table:
`*_full_stats`
Full stats with ip in human readable format and time played of each players in minutes.
`*_current_players`
Current players in server with ip in human readable format and time played of each players in minutes.
`*_player_stats`
All players with online id and username with their time played stats in this server since creation of this database.
If sqlite supports window functions (since 3.25), it will include last session player info (ip, country, ping...).
A empty table named `v(server database version)_countries` will also be created in your database if not exists:
```sql
CREATE TABLE IF NOT EXISTS (table name above)
(
country_code TEXT NOT NULL PRIMARY KEY UNIQUE, -- Unique 2-letter country code
country_flag TEXT NOT NULL, -- Unicode country flag representation of 2-letter country code
country_name TEXT NOT NULL -- Readable name of this country
) WITHOUT ROWID;
```
If you want to see flags and readable names of countries in the above views, you need to initialize `v(server database version)_countries` table, check [this script](tools/generate-countries-table.py).
For IPv4 and online ID ban list, player reports or IP mapping, you need to create one yourself:
```sql
CREATE TABLE ip_ban
(
ip_start INTEGER UNSIGNED NOT NULL UNIQUE, -- Starting of ip decimal for banning (inclusive)
ip_end INTEGER UNSIGNED NOT NULL UNIQUE, -- Ending of ip decimal for banning (inclusive)
starting_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Starting time of this banning entry to be effective
expired_days REAL NULL DEFAULT NULL, -- Days for this banning to be expired, use NULL for a permanent ban
reason TEXT NOT NULL DEFAULT '', -- Banned reason shown in user stk menu, can be empty
description TEXT NOT NULL DEFAULT '', -- Private description for server admin
trigger_count INTEGER UNSIGNED NOT NULL DEFAULT 0, -- Number of banning triggered by this ban entry
last_trigger TIMESTAMP NULL DEFAULT NULL -- Latest time this banning entry was triggered
);
CREATE TABLE ipv6_ban
(
ipv6_cidr TEXT NOT NULL UNIQUE, -- IPv6 CIDR range for banning (for example 2001::/64), use /128 for a specific ip
starting_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Starting time of this banning entry to be effective
expired_days REAL NULL DEFAULT NULL, -- Days for this banning to be expired, use NULL for a permanent ban
reason TEXT NOT NULL DEFAULT '', -- Banned reason shown in user stk menu, can be empty
description TEXT NOT NULL DEFAULT '', -- Private description for server admin
trigger_count INTEGER UNSIGNED NOT NULL DEFAULT 0, -- Number of banning triggered by this ban entry
last_trigger TIMESTAMP NULL DEFAULT NULL -- Latest time this banning entry was triggered
);
CREATE TABLE online_id_ban
(
online_id INTEGER UNSIGNED NOT NULL UNIQUE, -- Online id from STK addons database for banning
starting_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Starting time of this banning entry to be effective
expired_days REAL NULL DEFAULT NULL, -- Days for this banning to be expired, use NULL for a permanent ban
reason TEXT NOT NULL DEFAULT '', -- Banned reason shown in user stk menu, can be empty
description TEXT NOT NULL DEFAULT '', -- Private description for server admin
trigger_count INTEGER UNSIGNED NOT NULL DEFAULT 0, -- Number of banning triggered by this ban entry
last_trigger TIMESTAMP NULL DEFAULT NULL -- Latest time this banning entry was triggered
);
CREATE TABLE player_reports
(
server_uid TEXT NOT NULL, -- Report from which server unique id (config filename)
reporter_ip INTEGER UNSIGNED NOT NULL, -- IP decimal of player who reports
reporter_ipv6 TEXT NOT NULL DEFAULT '', -- IPv6 (if exists) in string of player who reports (only needed for IPv6 server)
reporter_online_id INTEGER UNSIGNED NOT NULL, -- Online id of player who reports, 0 for offline player
reporter_username TEXT NOT NULL, -- Player name who reports
reported_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Time of reporting
info TEXT NOT NULL, -- Report info by reporter
reporting_ip INTEGER UNSIGNED NOT NULL, -- IP decimal of player being reported
reporting_ipv6 TEXT NOT NULL DEFAULT '', -- IPv6 (if exists) in string of player who reports (only needed for IPv6 server)
reporting_online_id INTEGER UNSIGNED NOT NULL, -- Online id of player being reported, 0 for offline player
reporting_username TEXT NOT NULL -- Player name being reported
);
CREATE TABLE ip_mapping
(
ip_start INTEGER UNSIGNED NOT NULL PRIMARY KEY UNIQUE, -- IP decimal start
ip_end INTEGER UNSIGNED NOT NULL UNIQUE, -- IP decimal end
latitude REAL NOT NULL, -- Latitude of this IP range
longitude REAL NOT NULL, -- Longitude of this IP range
country_code TEXT NOT NULL -- 2-letter country code
) WITHOUT ROWID;
CREATE TABLE ipv6_mapping
(
ip_start INTEGER UNSIGNED NOT NULL PRIMARY KEY UNIQUE, -- IP decimal (upper 64bit) start
ip_end INTEGER UNSIGNED NOT NULL UNIQUE, -- IP decimal (upper 64bit) end
latitude REAL NOT NULL, -- Latitude of this IP range
longitude REAL NOT NULL, -- Longitude of this IP range
country_code TEXT NOT NULL -- 2-letter country code
)
```
For initialization of `ip_mapping` table, check [this script](tools/generate-ip-mappings.py).
[](https://web.libera.chat/?channels=#supertuxkart)
SuperTuxKart is a free kart racing game. It is focusing on fun and
SuperTuxKart is a free kart racing game. It focuses on fun and not on realistic kart physics. Instructions can be found on the in-game help page.
not on realistic kart physics. Instruction can be found on the
in-game help page.
The SuperTuxKart homepage can be found at: <http://supertuxkart.sourceforge.net>
The SuperTuxKart homepage can be found at <https://supertuxkart.net/>. There is also our [FAQ](https://supertuxkart.net/FAQ) and information on how get in touch with the [community](https://supertuxkart.net/Community).
The official SuperTuxKart forum is at <http://supertuxkart.sourceforge.net/forum>. If you need support,
this would be the best place to start.
Hope you enjoy the game.
-- The SuperTuxKart development team.
Latest release binaries can be found [here](https://github.com/supertuxkart/stk-code/releases/latest), and preview release [here](https://github.com/supertuxkart/stk-code/releases/preview).
## Hardware Requirements
## Hardware Requirements
* You need a 3D graphics card. (NVIDIA GeForce 8xxx and higher, ATI Radeon HD 4xxx and higher or Intel HD 3000 and higher)
To run SuperTuxKart, make sure that your computer's specifications are equal or higher than the following specifications:
* You should have a CPU that's running at 1GHz or better.
* A graphics card capable of 3D rendering - NVIDIA GeForce 470 GTX, AMD Radeon 6870 HD series card or Intel HD Graphics 4000 and newer. OpenGL >= 3.3
* You should have a dual-core CPU that's running at 1 GHz or faster.
* You'll need at least 512 MB of free VRAM (video memory).
* You'll need at least 512 MB of free VRAM (video memory).
*Disk space: 400MB
*System memory: 1 GB
*Ideally, you want a joystick with at least 6 buttons.
*Minimum disk space: 700 MB
* Ideally, you'll want a joystick with at least 6 buttons.
##Compiling SuperTuxKart
###Windows
1. Install VS 2013 (or later). The free express versions work fine.
2. Download and install a source package - either a released package or from our [git/svn repositories](http://supertuxkart.sourceforge.net/Source_control)
3. Download the latest dependency package depdendencies_for_0.8.2.zip from [here](https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart%20Dependencies/Windows/). Unzip it in the root directory, so that the dependencies directory is next to the src and data directory (if you are updating from a previous dependency package, you can delete the .dll files in the root directory, they are not needed anymore).
4. Download cmake and install it. Then start cmake-gui and select the STK root directory as 'Where is the source code', and a new directory in the root directory (next to src, data etc) as build directory (for now I assume that this directory is called bld).
5. Click on configure. You will be asked to create the directory (yes), then for your VS version. Make sure to select the right version (be aware of the easy to confuse version numbers: VS 2013 = version 12). Click on configure, then generate. This will create the directory 'bld', and a VS solution in that directory.
6. In Visual Studio open the project file generated in the 'bld' folder
7. Right click on the supertuxkart project in the solution explorer, and select "Set as StartUp Project".
8. Select Build->Build Solution (or press F7) to compile.
Compilation with cygwin is not officially supported, but
this has been done (check with the forum for details).
###Mac OS X
The latest information about compilation on Mac are on our wiki:
The Xcode project file is in `/src/ide/Xcode/`, but it still
requires that all dependencies are installed as explained on the wiki.
###UNIX
See `INSTALL` for details.
## License
## License
This software is released under the GNU General Public License (GPL) which
The software is released under the GNU General Public License (GPL) which can be found in the file [`COPYING`](/COPYING) in the same directory as this file.
can be found in the file `LICENSE` in the same directory as this file.
Information about the licenses for artwork are contained in
`data/licenses`.
---
## 3D coordinates
## 3D coordinates
A reminder for those looking at the code and 3d models:
A reminder for those who are looking at the code and 3D models:
STK : X right, Y up, Z forwards
SuperTuxKart: X right, Y up, Z forwards
Blender: X right, Y forwards, Z up
Blender: X right, Y forwards, Z up
The exporters perform the needed transform, so in Blender you just work
The export utilities perform the needed transformation, so in Blender you just work with the XY plane as ground, and things will appear fine in STK (using XZ as ground in the code, obviously).
with XY plane as ground, and things will appear fine in STK (using XZ
as ground in the code, obviously).
## Building from source
Building instructions can be found in [`INSTALL.md`](/INSTALL.md)
// 7.0.0 to fix https://stackoverflow.com/questions/68387270/android-studio-error-installed-build-tools-revision-31-0-0-is-corrupted
classpath'com.android.tools.build:gradle:7.0.0'
}
}
allprojects
{
repositories
{
mavenCentral()
google()
}
}
applyplugin:'com.android.application'
android
{
// buildToolsVersion is no longer needed https://developer.android.com/studio/releases/gradle-plugin.html#behavior_changes_1
// Quote:
// Build Tools 27.0.3 or higher. Keep in mind, you no longer need to specify a version for the build tools using the android.buildToolsVersion property—the plugin uses the minimum required version by default.
<achievementid="11"name="Mosquito Hunter"description="Take your opponents for mosquitos! With the swatter, squash them at least 5 times in a race.">
name="Mosquito Hunter"description="Take your opponents for mosquitos! With the swatter, squash at least 5 of them in a race.">
<goaltype="swatter-hit-1race"value="5"/>
<swattergoal="5"/>
</achievement>
<achievementid="12"name="Beyond Luck"description="Win 10 single races in a row in Expert or SuperTux against at least 5 AIs. Beware, restarting a race counts as a loss.">
country_code ar be bg br bs ca cs da de el en eo es et eu fa fi fr fr-CA ga gd gl he hr hu ia id is it ja ko kw ky lt lv ml mn-MN nb nl nn os pl pt pt-BR ro ru sk sl sq sr sv sw th tr tt uk uz vi zh-CN zh-TW
AC جزيرة أسينشيون Востраў Узнясення остров Възнесение Enez Ascension Ostrvo Ascension Illa de l’Ascensió Ascension Ascensionøen Ascension Νήσος Ασενσιόν Ascension Island Ascension Island Isla de la Ascensión Ascensioni saar Ascension uhartea جزایر آسنسیون Ascension-saari Île de l’Ascension Île de l’Ascension Oileán na Deascabhála Eilean na Deasgabhalach Illa de Ascensión האי אסנשן Otok Ascension Ascension-sziget Ascension Island Pulau Ascension Ascension-eyja Isola Ascensione アセンション島 어센션 섬 Ascension Island Вознесение аралы Dangun Žengimo sala Debesbraukšanas sala അസൻഷൻ ദ്വീപ് Асенсион арал Ascension Ascension Ascension Ascension Island Wyspa Wniebowstąpienia Ilha de Ascensão Ilha de Ascensão Insula Ascension о-в Вознесения Ascension Otok Ascension Ishulli Asenshion Острво Асенсион Ascension Kisiwa cha Ascension เกาะแอสเซนชัน Ascension Adası Ascension Island Острів Вознесіння Me’roj oroli Đảo Ascension 阿森松岛 阿森松島
AE الإمارات العربية المتحدة Аб’яднаныя Арабскія Эміраты Обединени арабски емирства Emirelezhioù Arab Unanet Ujedinjeni Arapski Emirati Emirats Àrabs Units Spojené arabské emiráty De Forenede Arabiske Emirater Vereinigte Arabische Emirate Ηνωμένα Αραβικά Εμιράτα United Arab Emirates Unuiĝintaj Arabaj Emirlandoj Emiratos Árabes Unidos Araabia Ühendemiraadid Arabiar Emirerri Batuak امارات متحدهٔ عربی Arabiemiirikunnat Émirats arabes unis Émirats arabes unis Aontas na nÉimíríochtaí Arabacha Na h-Iomaratan Arabach Aonaichte Os Emiratos Árabes Unidos איחוד האמירויות הערביות Ujedinjeni Arapski Emirati Egyesült Arab Emírségek Emiratos Arabe Unite Uni Emirat Arab Sameinuðu arabísku furstadæmin Emirati Arabi Uniti アラブ首長国連邦 아랍에미리트 United Arab Emirates Бириккен Араб Эмираттары Jungtiniai Arabų Emyratai Apvienotie Arābu Emirāti യുണൈറ്റഡ് അറബ് എമിറൈറ്റ്സ് Арабын Нэгдсэн Эмирт Улс De forente arabiske emirater Verenigde Arabische Emiraten Dei sameinte arabiske emirata United Arab Emirates Zjednoczone Emiraty Arabskie Emirados Árabes Unidos Emirados Árabes Unidos Emiratele Arabe Unite ОАЭ Spojené arabské emiráty Združeni arabski emirati Emiratet e Bashkuara Arabe Уједињени Арапски Емирати Förenade Arabemiraten Falme za Kiarabu สหรัฐอาหรับเอมิเรตส์ Birleşik Arap Emirlikleri Берләшкән Гарәп Әмирлекләре Обʼєднані Арабські Емірати Birlashgan Arab Amirliklari Các Tiểu Vương quốc Ả Rập Thống nhất 阿拉伯联合酋长国 阿拉伯聯合大公國
AG أنتيغوا وبربودا Антыгуа і Барбуда Антигуа и Барбуда Antigua ha Barbuda Antigva i Barbuda Antigua i Barbuda Antigua a Barbuda Antigua og Barbuda Antigua und Barbuda Αντίγκουα και Μπαρμπούντα Antigua & Barbuda Antigvo-Barbudo Antigua y Barbuda Antigua ja Barbuda Antigua eta Barbuda آنتیگوا و باربودا Antigua ja Barbuda Antigua-et-Barbuda Antigua-et-Barbuda Antigua agus Barbúda Aintìoga is Barbuda Antigua e Barbuda אנטיגואה וברבודה Antigva i Barbuda Antigua és Barbuda Antigua e Barbuda Antigua dan Barbuda Antígva og Barbúda Antigua e Barbuda アンティグア・バーブーダ 앤티가 바부다 Antigua & Barbuda Антигуа жана Барбуда Antigva ir Barbuda Antigva un Barbuda ആൻറിഗ്വയും ബർബുഡയും Антигуа ба Барбуда Antigua og Barbuda Antigua en Barbuda Antigua og Barbuda Antigua & Barbuda Antigua i Barbuda Antígua e Barbuda Antígua e Barbuda Antigua și Barbuda Антигуа и Барбуда Antigua a Barbuda Antigva in Barbuda Antigua e Barbuda Антигва и Барбуда Antigua och Barbuda Antigua na Barbuda แอนติกาและบาร์บูดา Antigua ve Barbuda Антигуа һәм Барбуда Антиґуа і Барбуда Antigua va Barbuda Antigua và Barbuda 安提瓜和巴布达 安地卡及巴布達
AQ أنتاركتيكا Антарктыка Антарктика Antarktika Antarktika Antàrtida Antarktida Antarktis Antarktis Ανταρκτική Antarctica Antarkto Antártida Antarktika Antartika جنوبگان Antarktis Antarctique Antarctique an Antartaice An Antartaig A Antártida אנטארקטיקה Antarktika Antarktisz Antarctica Antarktika Suðurskautslandið Antartide 南極 남극 대륙 Antarctica Антарктида Antarktida Antarktika അന്റാർട്ടിക്ക Антарктид Antarktis Antarctica Antarktis Antarctica Antarktyda Antártida Antártida Antarctica Антарктида Antarktída Antarktika Antarktikë Антарктик Antarktis Antaktiki แอนตาร์กติกา Antarktika Антарктика Антарктика Antarktida Nam Cực 南极洲 南極洲
AR الأرجنتين Аргенціна Аржентина Arcʼhantina Argentina Argentina Argentina Argentina Argentinien Αργεντινή Argentina Argentino Argentina Argentina Argentina آرژانتین Argentiina Argentine Argentine an Airgintín An Argantain A Arxentina ארגנטינה Argentina Argentína Argentina Argentina Argentína Argentina アルゼンチン 아르헨티나 Argentina Аргентина Argentina Argentīna അർജന്റീന Аргентин Argentina Argentinië Argentina Argentina Argentyna Argentina Argentina Argentina Аргентина Argentína Argentina Argjentinë Аргентина Argentina Ajentina อาร์เจนตินา Arjantin Аргентина Аргентина Argentina Argentina 阿根廷 阿根廷
AS ساموا الأمريكية Амерыканскае Самоа Американска Самоа Samoa Amerikan Američka Samoa Samoa Nord-americana Americká Samoa Amerikansk Samoa Amerikanisch-Samoa Αμερικανική Σαμόα American Samoa American Samoa Samoa Americana Ameerika Samoa Samoa Estatubatuarra ساموآی امریکا Amerikan Samoa Samoa américaines Samoa américaines Samó Mheiriceá Samotha na h-Aimeireaga Samoa Americana סמואה האמריקנית Američka Samoa Amerikai Szamoa Samoa american Samoa Amerika Bandaríska Samóa Samoa americane 米領サモア 아메리칸 사모아 American Samoa Америкалык Самоа Amerikos Samoa ASV Samoa അമേരിക്കൻ സമോവ Америкийн Самоа Amerikansk Samoa Amerikaans-Samoa Amerikansk Samoa American Samoa Samoa Amerykańskie Samoa Americana Samoa Americana Samoa Americană Американское Самоа Americká Samoa Ameriška Samoa Samoa Amerikane Америчка Самоа Amerikanska Samoa Samoa ya Marekani อเมริกันซามัว Amerikan Samoası Америка Самоасы Американське Самоа Amerika Samoasi Samoa thuộc Mỹ 美属萨摩亚 美屬薩摩亞
AT النمسا Аўстрыя Австрия Aostria Austrija Àustria Rakousko Østrig Österreich Αυστρία Austria Aŭstrujo Austria Austria Austria اتریش Itävalta Autriche Autriche an Ostair An Ostair Austria אוסטריה Austrija Ausztria Austria Austria Austurríki Austria オーストリア 오스트리아 Austria Австрия Austrija Austrija ഓസ്ട്രിയ Австри Østerrike Oostenrijk Austerrike Austria Austria Áustria Áustria Austria Австрия Rakúsko Avstrija Austri Аустрија Österrike Austria ออสเตรีย Avusturya Австрия Австрія Avstriya Áo 奥地利 奧地利
AU أستراليا Аўстралія Австралия Aostralia Australija Austràlia Austrálie Australien Australien Αυστραλία Australia Aŭstralio Australia Austraalia Australia استرالیا Australia Australie Australie an Astráil Astràilia Australia אוסטרליה Australija Ausztrália Australia Australia Ástralía Australia オーストラリア 오스트레일리아 Australia Австралия Australija Austrālija ഓസ്ട്രേലിയ Австрали Australia Australië Australia Australia Australia Austrália Austrália Australia Австралия Austrália Avstralija Australi Аустралија Australien Australia ออสเตรเลีย Avustralya Австралия Австралія Avstraliya Australia 澳大利亚 澳洲
BA البوسنة والهرسك Боснія і Герцагавіна Босна и Херцеговина Bosnia ha Herzegovina Bosna i Hercegovina Bòsnia i Hercegovina Bosna a Hercegovina Bosnien-Hercegovina Bosnien und Herzegowina Βοσνία - Ερζεγοβίνη Bosnia & Herzegovina Bosnio-Hercegovino Bosnia y Herzegovina Bosnia ja Hertsegoviina Bosnia-Herzegovina بوسنی و هرزگوین Bosnia ja Hertsegovina Bosnie-Herzégovine Bosnie-Herzégovine an Bhoisnia agus an Heirseagaivéin Bosna is Hearsagobhana Bosnia e Hercegovina בוסניה והרצגובינה Bosna i Hercegovina Bosznia-Hercegovina Bosnia e Herzegovina Bosnia dan Herzegovina Bosnía og Hersegóvína Bosnia ed Erzegovina ボスニア・ヘルツェゴビナ 보스니아 헤르체고비나 Bosnia & Herzegovina Босния жана Герцеговина Bosnija ir Hercegovina Bosnija un Hercegovina ബോസ്നിയയും ഹെർസഗോവിനയും Босни-Герцеговин Bosnia-Hercegovina Bosnië en Herzegovina Bosnia-Hercegovina Bosnia & Herzegovina Bośnia i Hercegowina Bósnia e Herzegovina Bósnia e Herzegovina Bosnia și Herțegovina Босния и Герцеговина Bosna a Hercegovina Bosna in Hercegovina Bosnjë-Hercegovinë Босна и Херцеговина Bosnien och Hercegovina Bosnia na Hezegovina บอสเนียและเฮอร์เซโกวีนา Bosna-Hersek Босния һәм Герцеговина Боснія і Герцеґовина Bosniya va Gertsegovina Bosnia và Herzegovina 波斯尼亚和黑塞哥维那 波士尼亞與赫塞哥維納
BE بلجيكا Бельгія Белгия Belgia Belgija Bèlgica Belgie Belgien Belgien Βέλγιο Belgium Belgujo Bélgica Belgia Belgika بلژیک Belgia Belgique Belgique an Bheilg A’ Bheilg Bélxica בלגיה Belgija Belgium Belgica Belgia Belgía Belgio ベルギー 벨기에 Belgium Бельгия Belgija Beļģija ബെൽജിയം Бельги Belgia België Belgia Belgium Belgia Bélgica Bélgica Belgia Бельгия Belgicko Belgija Belgjikë Белгија Belgien Ubelgiji เบลเยียม Belçika Бельгия Бельґія Belgiya Bỉ 比利时 比利時
BL سان بارتليمي Сен-Бартэльмі Сен Бартелеми Saint Barthélemy Sveti Bartolomej Saint Barthélemy Svatý Bartoloměj Saint Barthélemy St. Barthélemy Άγιος Βαρθολομαίος St. Barthélemy St. Barthélemy San Bartolomé Saint-Barthélemy Saint Barthélemy سن بارتلمی Saint-Barthélemy Saint-Barthélemy Saint-Barthélemy Saint Barthélemy Saint Barthélemy Saint Barthélemy סנט ברתולומיאו Saint Barthélemy Saint-Barthélemy St. Barthélemy Saint Barthélemy Sankti Bartólómeusareyjar Saint-Barthélemy サン・バルテルミー 생바르텔레미 St. Barthélemy Сент Бартелеми Sen Bartelemi Senbartelmī സെന്റ് ബാർത്തലമി Сент-Бартельми Saint-Barthélemy Saint-Barthélemy Saint Barthélemy St. Barthélemy Saint-Barthélemy São Bartolomeu São Bartolomeu Saint-Barthélemy Сен-Бартелеми Svätý Bartolomej Saint Barthélemy Sen-Bartelemi Свети Бартоломеј S:t Barthélemy St. Barthelemy เซนต์บาร์เธเลมี Saint Barthelemy Сен-Бартельми Сен-Бартельмі Sen-Bartelemi St. Barthélemy 圣巴泰勒米 聖巴瑟米
BQ هولندا الكاريبية Карыбскія Нідэрланды Карибска Нидерландия Karib Nederlandat Karipska Holandija Carib Neerlandès Karibské Nizozemsko De tidligere Nederlandske Antiller Bonaire, Sint Eustatius und Saba Ολλανδία Καραϊβικής Caribbean Netherlands Caribbean Netherlands Caribe neerlandés Hollandi Kariibi mere saared Karibeko Herbehereak جزایر کارائیب هلند Karibian Alankomaat Pays-Bas caribéens Pays-Bas caribéens an Ísiltír Chairibeach Na Tìrean Ìsle Caraibeach Caribe Neerlandés האיים הקריביים ההולנדיים Karipski otoci Nizozemske Holland Karib-térség Caribbean Netherlands Belanda Karibia Karíbahafshluti Hollands Caraibi olandesi オランダ領カリブ 네덜란드령 카리브 Caribbean Netherlands Кариб Нидерланддары Karibų Nyderlandai Nīderlandes Karību salas കരീബിയൻ നെതർലാൻഡ്സ് Карибын Нидерланд Karibisk Nederland Caribisch Nederland Karibisk Nederland Caribbean Netherlands Niderlandy Karaibskie Países Baixos Caribenhos Países Baixos Caribenhos Insulele Caraibe Olandeze Бонэйр, Синт-Эстатиус и Саба Karibské Holandsko Nizozemski Karibi Karaibet holandeze Карипска Холандија Karibiska Nederländerna Uholanzi ya Karibiani เนเธอร์แลนด์แคริบเบียน Karayip Hollandası Caribbean Netherlands Нідерландські Карибські острови Boneyr, Sint-Estatius va Saba Ca-ri-bê Hà Lan 荷属加勒比区 荷蘭加勒比區
BR البرازيل Бразілія Бразилия Brazil Brazil Brasil Brazílie Brasilien Brasilien Βραζιλία Brazil Brazilo Brasil Brasiilia Brasil برزیل Brasilia Brésil Brésil an Bhrasaíl Braisil O Brasil ברזיל Brazil Brazília Brasil Brasil Brasilía Brasile ブラジル 브라질 Brasil Бразилия Brazilija Brazīlija ബ്രസീൽ Бразил Brasil Brazilië Brasil Бразили Brazylia Brasil Brasil Brazilia Бразилия Brazília Brazilija Brazil Бразил Brasilien Brazil บราซิล Brezilya Бразилия Бразілія Braziliya Brazil 巴西 巴西
BS جزر البهاما Багамскія астравы Бахамски острови Bahamas Bahami Bahames Bahamy Bahamas Bahamas Μπαχάμες Bahamas Bahamoj Bahamas Bahama Bahamak باهاما Bahama Bahamas Bahamas na Bahámaí Na h-Eileanan Bhathama Bahamas איי בהאמה Bahami Bahama-szigetek Bahamas Bahama Bahamaeyjar Bahamas バハマ 바하마 Bahamas Багама аралдары Bahamos Bahamu salas ബഹാമാസ് Багамын арлууд Bahamas Bahama’s Bahamas Bahamas Bahamy Bahamas Bahamas Bahamas Багамы Bahamy Bahami Bahama Бахами Bahamas Bahama บาฮามาส Bahamalar Багам утраулары Багамські Острови Bagama orollari Bahamas 巴哈马 巴哈馬
BV جزيرة بوفيه Востраў Бувэ остров Буве Enez Bouvet Ostrvo Buve Bouvet Bouvetův ostrov Bouvetøen Bouvetinsel Νήσος Μπουβέ Bouvet Island Bouvet Island Isla Bouvet Bouvet’ saar Bouvet uhartea جزیرهٔ بووه Bouvet’nsaari Île Bouvet Île Bouvet Oileán Bouvet Eilean Bouvet Illa Bouvet האי בובה Otok Bouvet Bouvet-sziget Insula de Bouvet Pulau Bouvet Bouveteyja Isola Bouvet ブーベ島 부베섬 Bouvet Island Буве аралы Buvė Sala Buvē sala ബൗവെട്ട് ദ്വീപ് Буве арал Bouvetøya Bouveteiland Bouvetøya Bouvet Island Wyspa Bouveta Ilha Bouvet Ilha Bouvet Insula Bouvet о-в Буве Bouvetov ostrov Bouvetov otok Ishulli Bove Острво Буве Bouvetön Kisiwa cha Bouvet เกาะบูเว Bouvet Adası Буве утравы Острів Буве Buve oroli Đảo Bouvet 布韦岛 布威島
CA كندا Канада Канада Kanada Kanada Canadà Kanada Canada Kanada Καναδάς Canada Kanado Canadá Kanada Kanada کانادا Kanada Canada Canada Ceanada Canada O Canadá קנדה Kanada Kanada Canada Kanada Kanada Canada カナダ 캐나다 Canada Канада Kanada Kanāda കാനഡ Канад Canada Canada Canada Canada Kanada Canadá Canadá Canada Канада Kanada Kanada Kanada Канада Kanada Kanada แคนาดา Kanada Канада Канада Kanada Canada 加拿大 加拿大
CC جزر كوكوس (كيلينغ) Какосавыя (Кілінг) астравы Кокосови острови (острови Кийлинг) Inizi Kokoz Kokosova (Keelingova) ostrva Illes Cocos Kokosové ostrovy Cocosøerne Kokosinseln Νήσοι Κόκος (Κίλινγκ) Cocos (Keeling) Islands Cocos (Keeling) Islands Islas Cocos Kookossaared Cocos (Keeling) uharteak جزایر کوکوس Kookossaaret (Keelingsaaret) Îles Cocos Îles Cocos Oileáin Cocos (Keeling) Na h-Eileanan Chocos (Keeling) Illas Cocos (Keeling) איי קוקוס (קילינג) Kokosovi (Keelingovi) otoci Kókusz (Keeling)-szigetek Cocos (Keeling) Islands Kepulauan Cocos (Keeling) Kókoseyjar (Keeling) Isole Cocos (Keeling) ココス(キーリング)諸島 코코스 제도 Cocos (Keeling) Islands Кокос (Килинг) аралдары Kokosų (Kilingo) Salos Kokosu (Kīlinga) salas കോക്കസ് (കീലിംഗ്) ദ്വീപുകൾ Кокос (Кийлинг) арлууд Kokosøyene Cocoseilanden Kokosøyane Cocos (Keeling) Islands Wyspy Kokosowe Ilhas Cocos (Keeling) Ilhas Cocos (Keeling) Insulele Cocos (Keeling) Кокосовые о-ва Kokosové ostrovy Kokosovi otoki Ishujt Kokos Кокосова (Килингова) Острва Kokosöarna Visiwa vya Cocos (Keeling) หมู่เกาะโคโคส (คีลิง) Cocos (Keeling) Adaları Кокос (Килинг) утраулары Кокосові (Кілінґ) Острови Kokos (Kiling) orollari Quần đảo Cocos (Keeling) 科科斯(基林)群岛 科克斯(基靈)群島
CD الكونغو - كينشاسا Конга (Кіншаса) Конго (Киншаса) Kongo - Kinshasa Demokratska Republika Kongo Congo - Kinshasa Kongo – Kinshasa Congo-Kinshasa Kongo-Kinshasa Κονγκό - Κινσάσα Congo - Kinshasa Congo - Kinshasa República Democrática del Congo Kongo DV Kongoko Errepublika Demokratikoa کنگو - کینشاسا Kongon demokraattinen tasavalta Congo-Kinshasa Congo-Kinshasa Poblacht Dhaonlathach an Chongó Congo - Kinshasa República Democrática do Congo קונגו - קינשאסה Kongo - Kinshasa Kongó - Kinshasa Congo - Kinshasa Kongo - Kinshasa Kongó-Kinshasa Congo - Kinshasa コンゴ民主共和国(キンシャサ) 콩고-킨샤사 Congo - Kinshasa Конго-Киншаса Kongas-Kinšasa Kongo (Kinšasa) കോംഗോ - കിൻഷാസ Конго-Киншаса Kongo-Kinshasa Congo-Kinshasa Kongo-Kinshasa Congo - Kinshasa Demokratyczna Republika Konga Congo - Kinshasa Congo - Kinshasa Congo - Kinshasa Конго - Киншаса Konžská demokratická republika Demokratična republika Kongo Kongo-Kinshasa Конго - Киншаса Kongo-Kinshasa Jamhuri ya Kidemokrasia ya Kongo คองโก - กินชาซา Kongo - Kinşasa Congo - Kinshasa Конго – Кіншаса Kongo – Kinshasa Congo - Kinshasa 刚果(金) 剛果(金夏沙)
CF جمهورية أفريقيا الوسطى Цэнтральна-Афрыканская Рэспубліка Централноафриканска република Republik Kreizafrikan Centralnoafrička Republika República Centreafricana Středoafrická republika Den Centralafrikanske Republik Zentralafrikanische Republik Κεντροαφρικανική Δημοκρατία Central African Republic Centr-Afrika Respubliko República Centroafricana Kesk-Aafrika Vabariik Afrika Erdiko Errepublika جمهوری افریقای مرکزی Keski-Afrikan tasavalta République centrafricaine République centrafricaine Poblacht na hAfraice Láir Poblachd Meadhan Afraga República Centroafricana הרפובליקה המרכז-אפריקאית Srednjoafrička Republika Közép-afrikai Köztársaság Republica African Central Republik Afrika Tengah Mið-Afríkulýðveldið Repubblica Centrafricana 中央アフリカ共和国 중앙 아프리카 공화국 Central African Republic Борбордук Африка Республикасы Centrinės Afrikos Respublika Centrālāfrikas Republika സെൻട്രൽ ആഫ്രിക്കൻ റിപ്പബ്ലിക്ക് Төв Африкийн Бүгд Найрамдах Улс Den sentralafrikanske republikk Centraal-Afrikaanse Republiek Den sentralafrikanske republikken Central African Republic Republika Środkowoafrykańska República Centro-Africana República Centro-Africana Republica Centrafricană Центрально-Африканская Республика Stredoafrická republika Centralnoafriška republika Republika e Afrikës Qendrore Централноафричка Република Centralafrikanska republiken Jamhuri ya Afrika ya Kati สาธารณรัฐแอฟริกากลาง Orta Afrika Cumhuriyeti Үзәк Африка Республикасы Центральноафриканська Республіка Markaziy Afrika Respublikasi Cộng hòa Trung Phi 中非共和国 中非共和國
CG الكونغو - برازافيل Конга - Бразавіль Конго (Бразавил) Kongo - Brazzaville Kongo Congo - Brazzaville Kongo – Brazzaville Congo-Brazzaville Kongo-Brazzaville Κονγκό - Μπραζαβίλ Congo - Brazzaville Kongolo Congo Kongo Vabariik Kongo کنگو - برازویل Kongon tasavalta Congo-Brazzaville Congo-Brazzaville an Congó A’ Chongo - Brazzaville República do Congo קונגו - ברזאויל Kongo - Brazzaville Kongó - Brazzaville Congo Kongo - Brazzaville Kongó-Brazzaville Congo-Brazzaville コンゴ共和国(ブラザビル) 콩고-브라자빌 Congo - Brazzaville Конго-Браззавил Kongas-Brazavilis Kongo (Brazavila) കോംഗോ - ബ്രാസവില്ലി Конго-Браззавиль Kongo-Brazzaville Congo-Brazzaville Kongo-Brazzaville Congo - Brazzaville Kongo República do Congo República do Congo Congo - Brazzaville Конго - Браззавиль Konžská republika Kongo - Brazzaville Kongo-Brazavilë Конго - Бразавил Kongo-Brazzaville Kongo - Brazzaville คองโก - บราซซาวิล Kongo - Brazavil Congo - Brazzaville Конго – Браззавіль Kongo – Brazzavil Congo - Brazzaville 刚果(布) 剛果(布拉薩)
CH سويسرا Швейцарыя Швейцария Suis Švicarska Suïssa Švýcarsko Schweiz Schweiz Ελβετία Switzerland Svisujo Suiza Šveits Suitza سوئیس Sveitsi Suisse Suisse an Eilvéis An Eilbheis Suíza שווייץ Švicarska Svájc Suissa Swiss Sviss Svizzera スイス 스위스 Switzerland Швейцария Šveicarija Šveice സ്വിറ്റ്സർലാൻഡ് Швейцарь Sveits Zwitserland Sveits Switzerland Szwajcaria Suíça Suíça Elveția Швейцария Švajčiarsko Švica Zvicër Швајцарска Schweiz Uswisi สวิตเซอร์แลนด์ İsviçre Швейцария Швейцарія Shveytsariya Thụy Sĩ 瑞士 瑞士
CI ساحل العاج Кот-д’Івуар Кот д’Ивоар Aod an Olifant Obala Slonovače Côte d’Ivoire Pobřeží slonoviny Elfenbenskysten Côte d’Ivoire Ακτή Ελεφαντοστού Côte d’Ivoire Ebur-Bordo Côte d’Ivoire Côte d’Ivoire Boli Kosta ساحل عاج Norsunluurannikko Côte d’Ivoire Côte d’Ivoire an Cósta Eabhair Côte d’Ivoire Côte d’Ivoire חוף השנהב Obala Bjelokosti Elefántcsontpart Côte d’Ivoire Côte d’Ivoire Fílabeinsströndin Costa d’Avorio コートジボワール 코트디부아르 Côte d’Ivoire Кот-д’Ивуар Dramblio Kaulo Krantas Kotdivuāra കോട്ട് ഡി വാർ Кот-д’Ивуар Elfenbenskysten Ivoorkust Elfenbeinskysten Côte d’Ivoire Côte d’Ivoire Costa do Marfim Costa do Marfim Côte d’Ivoire Кот-д’Ивуар Pobrežie Slonoviny Slonokoščena obala Côte d’Ivoire Обала Слоноваче (Кот д’Ивоар) Côte d’Ivoire Cote d’Ivoire โกตดิวัวร์ Côte d’Ivoire Кот-д’Ивуар Кот-дʼІвуар Kot-d’Ivuar Côte d’Ivoire 科特迪瓦 象牙海岸
CK جزر كوك Астравы Кука острови Кук Inizi Cook Kukova ostrva Illes Cook Cookovy ostrovy Cookøerne Cookinseln Νήσοι Κουκ Cook Islands Kukinsuloj Islas Cook Cooki saared Cook uharteak جزایر کوک Cookinsaaret Îles Cook Îles Cook Oileáin Cook Eileanan Cook Illas Cook איי קוק Cookovi Otoci Cook-szigetek Insulas Cook Kepulauan Cook Cooks-eyjar Isole Cook クック諸島 쿡 제도 Cook Islands Кук аралдары Kuko Salos Kuka salas കുക്ക് ദ്വീപുകൾ Күүкийн арлууд Cookøyene Cookeilanden Cookøyane Cook Islands Wyspy Cooka Ilhas Cook Ilhas Cook Insulele Cook Острова Кука Cookove ostrovy Cookovi otoki Ishujt Kuk Кукова Острва Cooköarna Visiwa vya Cook หมู่เกาะคุก Cook Adaları Кук утраулары Острови Кука Kuk orollari Quần đảo Cook 库克群岛 庫克群島
CL تشيلي Чылі Чили Chile Čile Xile Chile Chile Chile Χιλή Chile Ĉilio Chile Tšiili Txile شیلی Chile Chili Chili an tSile An t-Sile Chile צ׳ילה Čile Chile Chile Cile Síle Cile チリ 칠레 Chile Чили Čilė Čīle ചിലി Чили Chile Chili Chile Chile Chile Chile Chile Chile Чили Čile Čile Kili Чиле Chile Chile ชิลี Şili Чили Чілі Chili Chile 智利 智利
CN الصين Кітай Китай Sina Kina Xina Čína Kina China Κίνα China Ĉinujo China Hiina Txina چین Kiina Chine Chine an tSín An t-Sìn A China סין Kina Kína China Tiongkok Kína Cina 中国 중국 China Кытай Kinija Ķīna ചൈന Хятад Kina China Kina Китай Chiny China China China Китай Čína Kitajska Kinë Кина Kina Uchina จีน Çin Кытай Китай Xitoy Trung Quốc 中国 中國
CP جزيرة كليبيرتون Востраў Кліпертан остров Клипертон Enez Clipperton Ostrvo Kliperton Illa Clipperton Clippertonův ostrov Clippertonøen Clipperton-Insel Νήσος Κλίπερτον Clipperton Island Clipperton Island Isla Clipperton Clippertoni saar Clipperton uhartea جزایر کلیپرتون Clippertoninsaari Île Clipperton Île Clipperton Oileán Clipperton Eilean Clipperton Illa Clipperton האי קליפרטון Otok Clipperton Clipperton-sziget Clipperton Island Pulau Clipperton Clipperton-eyja Isola di Clipperton クリッパートン島 클립퍼튼 섬 Clipperton Island Клиппертон аралы Klipertono sala Klipertona sala ക്ലിപ്പെർട്ടൻ ദ്വീപ് Клиппертон арал Clippertonøya Clipperton Clippertonøya Clipperton Island Wyspa Clippertona Ilha de Clipperton Ilha de Clipperton Insula Clipperton о-в Клиппертон Clipperton Otok Clipperton Ishulli Klipërton Острво Клипертон Clippertonön Kisiwa cha Clipperton เกาะคลิปเปอร์ตัน Clipperton Adası Clipperton Island Острів Кліппертон Klipperton oroli Đảo Clipperton 克利珀顿岛 克里派頓島
CR كوستاريكا Коста-Рыка Коста Рика Costa Rica Kostarika Costa Rica Kostarika Costa Rica Costa Rica Κόστα Ρίκα Costa Rica Kostariko Costa Rica Costa Rica Costa Rica کاستاریکا Costa Rica Costa Rica Costa Rica Cósta Ríce Costa Rìcea Costa Rica קוסטה ריקה Kostarika Costa Rica Costa Rica Kosta Rika Kostaríka Costa Rica コスタリカ 코스타리카 Costa Rica Коста-Рика Kosta Rika Kostarika കോസ്റ്ററിക്ക Коста-Рика Costa Rica Costa Rica Costa Rica Costa Rica Kostaryka Costa Rica Costa Rica Costa Rica Коста-Рика Kostarika Kostarika Kosta-Rikë Костарика Costa Rica Kostarika คอสตาริกา Kosta Rika Коста-Рика Коста-Ріка Kosta-Rika Costa Rica 哥斯达黎加 哥斯大黎加
CU كوبا КубаКуба Kuba Kuba Cuba Kuba Cuba Kuba Κούβα Cuba Kubo Cuba Kuuba Kuba کوبا Kuuba Cuba Cuba Cúba Cùba Cuba קובה Kuba Kuba Cuba Kuba Kúba Cuba キューバ 쿠바 Cuba Куба Kuba Kuba ക്യൂബ Куба Cuba Cuba Cuba Cuba Kuba Cuba Cuba Cuba Куба Kuba Kuba Kubë Куба Kuba Cuba คิวบา Küba КубаКуба Kuba Cuba 古巴 古巴
CV الرأس الأخضر Каба-Вердэ Кабо Верде Kab-Glas Kape Verde Cap Verd Kapverdy Kap Verde Cabo Verde Πράσινο Ακρωτήριο Cape Verde Kabo-Verdo Cabo Verde Roheneemesaared Cabo Verde کیپورد Kap Verde Cap-Vert Cap-Vert Rinn Verde An Ceap Uaine Cabo Verde כף ורדה Zelenortska Republika Zöld-foki Köztársaság Cape Verde Tanjung Verde Grænhöfðaeyjar Capo Verde カーボベルデ 카보베르데 Cape Verde Кабо-Верде Žaliasis Kyšulys Kaboverde കേപ്പ് വേർഡ് Кабо-Верде Kapp Verde Kaapverdië Kapp Verde Cape Verde Republika Zielonego Przylądka Cabo Verde Cabo Verde Capul Verde Кабо-Верде Kapverdy Zelenortski otoki Kepi i Gjelbër Зеленортска Острва Kap Verde Cape Verde เคปเวิร์ด Cape Verde Кабо-Верде Кабо-Верде Kabo-Verde Cape Verde 佛得角 維德角
CX جزيرة كريسماس Востраў Каляд остров Рождество Enez Christmas Božićno ostrvo Illa Christmas Vánoční ostrov Juleøen Weihnachtsinsel Νήσος των Χριστουγέννων Christmas Island Christmas Island Isla de Navidad Jõulusaar Christmas uhartea جزیرهٔ کریسمس Joulusaari Île Christmas Île Christmas Oileán na Nollag Eilean na Nollaig Illa Christmas אי חג המולד Božićni otok Karácsony-sziget Insula de Natal Pulau Natal Jólaey Isola Christmas クリスマス島 크리스마스섬 Christmas Island Рождество аралы Kalėdų Sala Ziemsvētku sala ക്രിസ്മസ് ദ്വീപ് Зул сарын арал Christmasøya Christmaseiland Christmasøya Christmas Island Wyspa Bożego Narodzenia Ilha Christmas Ilha Christmas Insula Christmas о-в Рождества Vianočný ostrov Božični otok Ishulli i Krishtlindjes Божићно Острво Julön Kisiwa cha Krismasi เกาะคริสต์มาส Christmas Adası Раштуа утравы Острів Різдва Rojdestvo oroli Đảo Giáng Sinh 圣诞岛 聖誕島
DE ألمانيا Германія Германия Alamagn Njemačka Alemanya Německo Tyskland Deutschland Γερμανία Germany Germanujo Alemania Saksamaa Alemania آلمان Saksa Allemagne Allemagne an Ghearmáin A’ Ghearmailt Alemaña גרמניה Njemačka Németország Germania Jerman Þýskaland Germania ドイツ 독일 Almayn Германия Vokietija Vācija ജർമ്മനി Герман Tyskland Duitsland Tyskland Герман Niemcy Alemanha Alemanha Germania Германия Nemecko Nemčija Gjermani Немачка Tyskland Ujerumani เยอรมนี Almanya Германия Німеччина Germaniya Đức 德国 德國
DG دييغو غارسيا Востраў Дыега-Гарсія Диего Гарсия Diego Garcia Dijego Garsija Diego Garcia Diego García Diego Garcia Diego Garcia Ντιέγκο Γκαρσία Diego Garcia Diego Garcia Diego García Diego Garcia Diego García دیهگو گارسیا Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego García דייגו גרסיה Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia ディエゴガルシア島 디에고 가르시아 Diego Garcia Диего Гарсия Diego Garsija Djego Garsijas atols ഡീഗോ ഗ്രാഷ്യ Диего Гарсиа Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Диего-Гарсия Diego Garcia Diego Garcia Diego-Garsia Дијего Гарсија Diego Garcia Diego Garcia ดิเอโกการ์เซีย Diego Garcia Diego Garcia Дієго-Гарсія Diyego-Garsiya Diego Garcia 迪戈加西亚岛 迪亞哥加西亞島
DK الدانمرك Данія Дания Danmark Danska Dinamarca Dánsko Danmark Dänemark Δανία Denmark Danujo Dinamarca Taani Danimarka دانمارک Tanska Danemark Danemark an Danmhairg An Danmhairg Dinamarca דנמרק Danska Dánia Danmark Denmark Danmörk Danimarca デンマーク 덴마크 Denmark Дания Danija Dānija ഡെൻമാർക്ക് Дани Danmark Denemarken Danmark Denmark Dania Dinamarca Dinamarca Danemarca Дания Dánsko Danska Danimarkë Данска Danmark Denmark เดนมาร์ก Danimarka Дания Данія Daniya Đan Mạch 丹麦 丹麥
DO جمهورية الدومينيكان Дамініканская Рэспубліка Доминиканска република Republik Dominikan Dominikanska Republika República Dominicana Dominikánská republika Den Dominikanske Republik Dominikanische Republik Δομινικανή Δημοκρατία Dominican Republic Domingo República Dominicana Dominikaani Vabariik Dominikar Errepublika جمهوری دومینیکن Dominikaaninen tasavalta République dominicaine République dominicaine an Phoblacht Dhoiminiceach A’ Phoblachd Dhoiminiceach República Dominicana הרפובליקה הדומיניקנית Dominikanska Republika Dominikai Köztársaság Republica Dominican Republik Dominika Dóminíska lýðveldið Repubblica Dominicana ドミニカ共和国 도미니카 공화국 Dominican Republic Доминика Республикасы Dominikos Respublika Dominikāna ഡൊമിനിക്കൻ റിപ്പബ്ലിക്ക് Бүгд Найрамдах Доминикан Улс Den dominikanske republikk Dominicaanse Republiek Den dominikanske republikken Dominican Republic Dominikana República Dominicana República Dominicana Republica Dominicană Доминиканская Республика Dominikánska republika Dominikanska republika Republika Dominikane Доминиканска Република Dominikanska republiken Jamhuri ya Dominika สาธารณรัฐโดมินิกัน Dominik Cumhuriyeti Доминикана Республикасы Домініканська Республіка Dominikan Respublikasi Cộng hòa Dominica 多米尼加共和国 多明尼加共和國
EA سيوتا وميليلا Сеута і Мелілья Сеута и Мелия Ceuta ha Melilla Seuta i Melilja Ceuta i Melilla Ceuta a Melilla Ceuta og Melilla Ceuta und Melilla Θέουτα και Μελίγια Ceuta & Melilla Ceuta & Melilla Ceuta y Melilla Ceuta ja Melilla Ceuta eta Melilla سبته و ملیله Ceuta ja Melilla Ceuta et Melilla Ceuta et Melilla Ceuta agus Melilla Ceuta agus Melilla Ceuta e Melilla סאוטה ומלייה Ceuta i Melilla Ceuta és Melilla Ceuta & Melilla Ceuta dan Melilla Ceuta og Melilla Ceuta e Melilla セウタ・メリリャ 세우타 및 멜리야 Ceuta & Melilla Сеута жана Мелилла Seuta ir Melila Seūta un Melilja സെയൂത്ത ആൻഡ് മെലിയ Сеута ба Мелилья Ceuta og Melilla Ceuta en Melilla Ceuta og Melilla Ceuta & Melilla Ceuta i Melilla Ceuta e Melilla Ceuta e Melilla Ceuta și Melilla Сеута и Мелилья Ceuta a Melilla Ceuta in Melilla Theuta e Melila Сеута и Мелиља Ceuta och Melilla Ceuta na Melilla เซวตาและเมลียา Ceuta ve Melilla Ceuta & Melilla Сеута і Мелілья Seuta va Melilya Ceuta và Melilla 休达及梅利利亚 休達與梅利利亞
EE إستونيا Эстонія Естония Estonia Estonija Estònia Estonsko Estland Estland Εσθονία Estonia Estonujo Estonia Eesti Estonia استونی Viro Estonie Estonie an Eastóin An Eastoin Estonia אסטוניה Estonija Észtország Estonia Estonia Eistland Estonia エストニア 에스토니아 Estonia Эстония Estija Igaunija എസ്റ്റോണിയ Эстони Estland Estland Estland Estonia Estonia Estônia Estônia Estonia Эстония Estónsko Estonija Estoni Естонија Estland Estonia เอสโตเนีย Estonya Эстония Естонія Estoniya Estonia 爱沙尼亚 愛沙尼亞
EG مصر Егіпет Египет Egipt Egipat Egipte Egypt Egypten Ägypten Αίγυπτος Egypt Egipto Egipto Egiptus Egipto مصر Egypti Égypte Égypte an Éigipt An Èiphit Exipto מצרים Egipat Egyiptom Egypto Mesir Egyptaland Egitto エジプト 이집트 Egypt Египет Egiptas Ēģipte ഈജിപ്ത് Египет Egypt Egypte Egypt Egypt Egipt Egito Egito Egipt Египет Egypt Egipt Egjipt Египат Egypten Misri อียิปต์ Mısır Мисыр Єгипет Misr Ai Cập 埃及 埃及
EH الصحراء الغربية Заходняя Сахара Западна Сахара Sahara ar Cʼhornôg Zapadna Sahara Sàhara Occidental Západní Sahara Vestsahara Westsahara Δυτική Σαχάρα Western Sahara Okcidenta Saharo Sáhara Occidental Lääne-Sahara Mendebaldeko Sahara صحرای غربی Länsi-Sahara Sahara occidental Sahara occidental an Sahára Thiar Sathara an Iar O Sáhara Occidental סהרה המערבית Zapadna Sahara Nyugat-Szahara Sahara occidental Sahara Barat Vestur-Sahara Sahara occidentale 西サハラ 서사하라 Western Sahara Батыш Сахара Vakarų Sachara Rietumsahāra പശ്ചിമ സഹാറ Баруун Сахар Vest-Sahara Westelijke Sahara Vest-Sahara Western Sahara Sahara Zachodnia Saara Ocidental Saara Ocidental Sahara Occidentală Западная Сахара Západná Sahara Zahodna Sahara Saharaja Perëndimore Западна Сахара Västsahara Sahara Magharibi ซาฮาราตะวันตก Batı Sahra Western Sahara Західна Сахара G‘arbiy Sahroi Kabir Tây Sahara 西撒哈拉 西撒哈拉
ES إسبانيا Іспанія Испания Spagn Španija Espanya Španělsko Spanien Spanien Ισπανία Spain Hispanujo España Hispaania Espainia اسپانیا Espanja Espagne Espagne an Spáinn An Spàinnt España ספרד Španjolska Spanyolország Espania Spanyol Spánn Spagna スペイン 스페인 Spain Испания Ispanija Spānija സ്പെയിൻ Испани Spania Spanje Spania Spain Hiszpania Espanha Espanha Spania Испания Španielsko Španija Spanjë Шпанија Spanien Uhispania สเปน İspanya Испания Іспанія Ispaniya Tây Ban Nha 西班牙 西班牙
EU الاتحاد الأوروبي Еўрапейскі саюз Европейски съюз Unaniezh Europa Evropska unija Unió Europea Evropská unie Den Europæiske Union Europäische Union Ευρωπαϊκή Ένωση European Union European Union Unión Europea Euroopa Liit Europar Batasuna اتحادیهٔ اروپا Euroopan unioni Union européenne Union européenne an tAontas Eorpach An t-Aonadh Eòrpach Unión Europea האיחוד האירופי Europska unija Európai Unió Union Europee Uni Eropa Evrópusambandið Unione Europea 欧州連合 유럽 연합 Unyans Europek Европа Биримдиги Europos Sąjunga Eiropas Savienība യൂറോപ്യൻ യൂണിയൻ Европын Холбоо Den europeiske union Europese Unie European Union European Union Unia Europejska União Europeia União Europeia Uniunea Europeană Европейский союз Európska únia Evropska unija Bashkimi Evropian Европска унија Europeiska unionen Umoja wa Ulaya สหภาพยุโรป Avrupa Birliği European Union Європейський Союз Yevropa Ittifoqi Liên Minh Châu Âu 欧盟 歐盟
FI فنلندا Фінляндыя Финландия Finland Finska Finlàndia Finsko Finland Finnland Φινλανδία Finland Finnlando Finlandia Soome Finlandia فنلاند Suomi Finlande Finlande an Fhionlainn An Fhionnlann Finlandia פינלנד Finska Finnország Finlandia Finlandia Finnland Finlandia フィンランド 핀란드 Finland Финляндия Suomija Somija ഫിൻലാൻഡ് Финлянд Finland Finland Finland Finland Finlandia Finlândia Finlândia Finlanda Финляндия Fínsko Finska Finlandë Финска Finland Ufini ฟินแลนด์ Finlandiya Финляндия Фінляндія Finlandiya Phần Lan 芬兰 芬蘭
FO جزر فارو Фарэрскія астравы Фарьорски острови Inizi Faero Farska ostrva Illes Fèroe Faerské ostrovy Færøerne Färöer Νήσοι Φερόες Faroe Islands Ferooj Islas Feroe Fääri saared Faroe uharteak جزایر فارو Färsaaret Îles Féroé Îles Féroé Oileáin Fharó Na h-Eileanan Fàro Illas Feroe איי פארו Farski otoci Feröer szigetek Insulas Feroe Kepulauan Faroe Færeyjar Isole Fær Øer フェロー諸島 페로 제도 Faroe Islands Фарер аралдары Farerų Salos Fēru salas ഫറോ ദ്വീപുകൾ Фарерын арлууд Færøyene Faeröer Færøyane Faroe Islands Wyspy Owcze Ilhas Faroe Ilhas Faroe Insulele Feroe Фарерские о-ва Faerské ostrovy Ferski otoki Ishujt Faroe Фарска Острва Färöarna Visiwa vya Faroe หมู่เกาะแฟโร Faroe Adaları Фарер утраулары Фарерські Острови Farer orollari Quần đảo Faroe 法罗群岛 法羅群島
FR فرنسا Францыя Франция Frañs Francuska França Francie Frankrig Frankreich Γαλλία France Francujo Francia Prantsusmaa Frantzia فرانسه Ranska France France an Fhrainc An Fhraing Francia צרפת Francuska Franciaország Francia Prancis Frakkland Francia フランス 프랑스 Pow Frenk Франция Prancūzija Francija ഫ്രാൻസ് Франц Frankrike Frankrijk Frankrike Франц Francja França França Franța Франция Francúzsko Francija Francë Француска Frankrike Ufaransa ฝรั่งเศส Fransa Франция Франція Fransiya Pháp 法国 法國
GB المملكة المتحدة Вялікабрытанія Обединеното кралство Rouantelezh-Unanet Ujedinjeno Kraljevstvo Regne Unit Spojené království Storbritannien Vereinigtes Königreich Ηνωμένο Βασίλειο United Kingdom Unuiĝinta Reĝlando Reino Unido Suurbritannia Erresuma Batua بریتانیا Iso-Britannia Royaume-Uni Royaume-Uni an Ríocht Aontaithe An Rìoghachd Aonaichte O Reino Unido בריטניה Ujedinjeno Kraljevstvo Egyesült Királyság Regno Unite Inggris Raya Bretland Regno Unito イギリス 영국 Rywvaneth Unys Улуу Британия Jungtinė Karalystė Apvienotā Karaliste യുണൈറ്റഡ് കിംഗ്ഡം Их Британи Storbritannia Verenigd Koninkrijk Storbritannia Стыр Британи Wielka Brytania Reino Unido Reino Unido Regatul Unit Великобритания Spojené kráľovstvo Združeno kraljestvo Mbretëria e Bashkuar Уједињено Краљевство Storbritannien Ufalme wa Muungano สหราชอาณาจักร Birleşik Krallık Берләшкән Корольлек Велика Британія Buyuk Britaniya Vương quốc Anh 英国 英國
GF غويانا الفرنسية Французская Гвіяна Френска Гвиана Gwiana cʼhall Francuska Gvajana Guaiana Francesa Francouzská Guyana Fransk Guyana Französisch-Guayana Γαλλική Γουιάνα French Guiana Franca Gviano Guayana Francesa Prantsuse Guajaana Guyana Frantsesa گویان فرانسه Ranskan Guayana Guyane française Guyane française Guáin na Fraince Guidheàna na Frainge Güiana Francesa גיאנה הצרפתית Francuska Gijana Francia Guyana Guyana francese Guyana Prancis Franska Gvæjana Guyana francese 仏領ギアナ 프랑스령 기아나 French Guiana Француздук Гвиана Prancūzijos Gviana Francijas Gviāna ഫ്രഞ്ച് ഗയാന Францын Гвиана Fransk Guyana Frans-Guyana Fransk Guyana French Guiana Gujana Francuska Guiana Francesa Guiana Francesa Guyana Franceză Французская Гвиана Francúzska Guyana Francoska Gvajana Guajana Franceze Француска Гвајана Franska Guyana Guiana ya Ufaransa เฟรนช์เกียนา Fransız Guyanası Француз Гвианасы Французька Ґвіана Fransuz Gvianasi Guiana thuộc Pháp 法属圭亚那 法屬圭亞那
GH غانا Гана Гана Ghana Gana Ghana Ghana Ghana Ghana Γκάνα Ghana Ganao Ghana Ghana Ghana غنا Ghana Ghana Ghana Gána Gàna Ghana גאנה Gana Ghána Ghana Ghana Gana Ghana ガーナ 가나 Ghana Гана Gana Gana ഘാന Гана Ghana Ghana Ghana Ghana Ghana Gana Gana Ghana Гана Ghana Gana Ganë Гана Ghana Ghana กานา Gana Гана Гана Gana Ghana 加纳 迦納
GR اليونان Грэцыя Гърция Gres Grčka Grècia Řecko Grækenland Griechenland Ελλάδα Greece Grekujo Grecia Kreeka Grezia یونان Kreikka Grèce Grèce an Ghréig A’ Ghreug Grecia יוון Grčka Görögország Grecia Yunani Grikkland Grecia ギリシャ 그리스 Greece Греция Graikija Grieķija ഗ്രീസ് Грек Hellas Griekenland Hellas Greece Grecja Grécia Grécia Grecia Греция Grécko Grčija Greqi Грчка Grekland Ugiriki กรีซ Yunanistan Греция Греція Gretsiya Hy Lạp 希腊 希臘
GS جورجيا الجنوبية وجزر ساندويتش الجنوبية Паўднёвая Георгія і Паўднёвыя Сандвічавы астравы Южна Джорджия и Южни Сандвичеви острови Inizi Georgia ar Su hag Inizi Sandwich ar Su Južna Džordžija i Južna Sendvič ostrva Illes Geòrgia del Sud i Sandwich del Sud Jižní Georgie a Jižní Sandwichovy ostrovy South Georgia og De Sydlige Sandwichøer Südgeorgien und die Südlichen Sandwichinseln Νήσοι Νότια Γεωργία και Νότιες Σάντουιτς South Georgia & South Sandwich Islands Sud-Georgio kaj Sud-Sandviĉinsuloj Islas Georgia del Sur y Sandwich del Sur Lõuna-Georgia ja Lõuna-Sandwichi saared Hegoaldeko Georgia eta Hegoaldeko Sandwich uharteak جورجیای جنوبی و جزایر ساندویچ جنوبی Etelä-Georgia ja Eteläiset Sandwichsaaret Géorgie du Sud et îles Sandwich du Sud Géorgie du Sud et îles Sandwich du Sud an tSeoirsia Theas agus Oileáin Sandwich Theas Seòirsea a Deas is na h-Eileanan Sandwich a Deas Illas Xeorxia do Sur e Sandwich do Sur ג׳ורג׳יה הדרומית ואיי סנדוויץ׳ הדרומיים Južna Georgija i Južni Sendvički Otoci Déli-Georgia és Déli-Sandwich-szigetek South Georgia & South Sandwich Islands Georgia Selatan & Kep. Sandwich Selatan Suður-Georgía og Suður-Sandvíkureyjar Georgia del Sud e Sandwich australi サウスジョージア・サウスサンドウィッチ諸島 사우스조지아 사우스샌드위치 제도 South Georgia & South Sandwich Islands Түштүк Жоржия жана Түштүк Сэндвич аралдары Pietų Džordžija ir Pietų Sandvičo salos Dienviddžordžija un Dienvidsendviču salas ദക്ഷിണ ജോർജ്ജിയയും ദക്ഷിണ സാൻഡ്വിച്ച് ദ്വീപുകളും Өмнөд Жоржиа ба Өмнөд Сэндвичийн арлууд Sør-Georgia og Sør-Sandwichøyene Zuid-Georgia en Zuidelijke Sandwicheilanden Sør-Georgia og Sør-Sandwichøyene South Georgia & South Sandwich Islands Georgia Południowa i Sandwich Południowy Ilhas Geórgia do Sul e Sandwich do Sul Ilhas Geórgia do Sul e Sandwich do Sul Georgia de Sud și Insulele Sandwich de Sud Южная Георгия и Южные Сандвичевы о-ва Južná Georgia a Južné Sandwichove ostrovy Južna Georgia in Južni Sandwichevi otoki Xhorxha Jugore dhe Ishujt Senduiçë të Jugut Јужна Џорџија и Јужна Сендвичка Острва Sydgeorgien och Sydsandwichöarna Visiwa vya Georgia Kusini na Sandwich Kusini เกาะเซาท์จอร์เจียและหมู่เกาะเซาท์แซนด์วิช Güney Georgia ve Güney Sandwich Adaları Көньяк Георгия һәм Көньяк Сандвич утраулары Південна Джорджія та Південні Сандвічеві Острови Janubiy Georgiya va Janubiy Sendvich orollari Nam Georgia & Quần đảo Nam Sandwich 南乔治亚和南桑威奇群岛 南喬治亞與南三明治群島
HK هونغ كونغ Ганконг Хонконг Hong Kong Hong Kong Hong Kong Hongkong Hongkong Hongkong Χονγκ Κονγκ Hong Kong Hong Kong Hong Kong Hongkong Hong Kong هنگکنگ Hongkong Hong Kong Hong Kong Hong Cong Hong Kong Hong Kong הונג קונג Hong Kong Hongkong Hong Kong Hong Kong Hong Kong Hong Kong 香港 홍콩 Hong Kong Гонконг Honkongas Honkonga ഹോങ്കോങ് Хонг Конг Hongkong Hongkong Hongkong Hong Kong Hongkong Hong Kong Hong Kong Hong Kong Гонконг Hongkong Hongkong Hong-Kong Хонгконг Hong Kong Hong Kong ฮ่องกง Hong Kong Гонконг Гонконг Gonkong Hồng Kông 香港 香港
HM جزيرة هيرد وجزر ماكدونالد Астравы Херд і Макдональд острови Хърд и Макдоналд Inizi Heard ha McDonald Herd i arhipelag MekDonald Illa Heard i Illes McDonald Heardův ostrov a McDonaldovy ostrovy Heard Island og McDonald Islands Heard und McDonaldinseln Νήσοι Χερντ και Μακντόναλντ Heard & McDonald Islands Herda kaj Makdonaldaj Insuloj Islas Heard y McDonald Heardi ja McDonaldi saared Heard eta McDonald uharteak هرد و جزایر مکدونالد Heard ja McDonaldinsaaret Îles Heard et McDonald Îles Heard et McDonald Oileán Heard agus Oileáin McDonald Eilean Heard is MhicDhòmhnaill Illa Heard e Illas McDonald איי הרד ומקדונלד Otoci Heard i McDonald Heard-sziget és McDonald-szigetek Heard & McDonald Islands Pulau Heard dan Kepulauan McDonald Heard og McDonaldseyjar Isole Heard e McDonald ハード島・マクドナルド諸島 허드 맥도널드 제도 Heard & McDonald Islands Херд жана Макдональд аралдары Herdo ir Makdonaldo Salos Hērda sala un Makdonalda salas ഹിയേർഡും മക്ഡൊണാൾഡ് ദ്വീപുകളും Херд ба Макдональдийн арлууд Heard- og McDonaldøyene Heard en McDonaldeilanden Heardøya og McDonaldøyane Heard & McDonald Islands Wyspy Heard i McDonalda Ilhas Heard e McDonald Ilhas Heard e McDonald Insula Heard și Insulele McDonald о-ва Херд и Макдональд Heardov ostrov a Macdonaldove ostrovy Heardov otok in McDonaldovi otoki Ishujt Hërd e Mekdonald Острво Херд и Мекдоналдова острва Heardön och McDonaldöarna Kisiwa cha Heard na Visiwa vya McDonald เกาะเฮิร์ดและหมู่เกาะแมกดอนัลด์ Heard Adası ve McDonald Adaları Херд утравы һәм Макдональд утраулары Острови Герд і Макдоналд Xerd va Makdonald orollari Quần đảo Heard và McDonald 赫德岛和麦克唐纳群岛 赫德島及麥唐納群島
HT هايتي Гаіці Хаити Haiti Haiti Haití Haiti Haiti Haiti Αϊτή Haiti Haitio Haití Haiti Haiti هائیتی Haiti Haïti Haïti Háítí Haidhti Haití האיטי Haiti Haiti Haiti Haiti Haítí Haiti ハイチ 아이티 Haiti Гаити Haitis Haiti ഹെയ്തി Гаити Haiti Haïti Haiti Haiti Haiti Haiti Haiti Haiti Гаити Haiti Haiti Haiti Хаити Haiti Haiti เฮติ Haiti Гаити Гаїті Gaiti Haiti 海地 海地
HU هنغاريا Венгрыя Унгария Hungaria Mađarska Hongria Maďarsko Ungarn Ungarn Ουγγαρία Hungary Hungarujo Hungría Ungari Hungaria مجارستان Unkari Hongrie Hongrie an Ungáir An Ungair Hungría הונגריה Mađarska Magyarország Hungaria Hungaria Ungverjaland Ungheria ハンガリー 헝가리 Hungary Венгрия Vengrija Ungārija ഹംഗറി Унгар Ungarn Hongarije Ungarn Hungary Węgry Hungria Hungria Ungaria Венгрия Maďarsko Madžarska Hungari Мађарска Ungern Hungaria ฮังการี Macaristan Венгрия Угорщина Vengriya Hungary 匈牙利 匈牙利
IC جزر الكناري Канарскія астравы Канарски острови Inizi Kanariez Kanarska ostrva Illes Canàries Kanárské ostrovy Kanariske øer Kanarische Inseln Κανάριοι Νήσοι Canary Islands Canary Islands Canarias Kanaari saared Kanariak جزایر قناری Kanariansaaret Îles Canaries Îles Canaries na hOileáin Chanáracha Na h-Eileanan Canàrach Illas Canarias האיים הקנריים Kanarski otoci Kanári-szigetek Canary Islands Kepulauan Canaria Kanaríeyjar Isole Canarie カナリア諸島 카나리아 제도 Canary Islands Канар аралдары Kanarų salos Kanāriju salas കാനറി ദ്വീപുകൾ Канарын арлууд Kanariøyene Canarische Eilanden Kanariøyane Canary Islands Wyspy Kanaryjskie Ilhas Canárias Ilhas Canárias Insulele Canare Канарские о-ва Kanárske ostrovy Kanarski otoki Ishujt Kanarie Канарска Острва Kanarieöarna Visiwa vya Kanari หมู่เกาะคานารี Kanarya Adaları Canary Islands Канарські Острови Kanar orollari Quần đảo Canary 加纳利群岛 加那利群島
ID إندونيسيا Інданезія Индонезия Indonezia Indonezija Indonèsia Indonésie Indonesien Indonesien Ινδονησία Indonesia Indonezio Indonesia Indoneesia Indonesia اندونزی Indonesia Indonésie Indonésie an Indinéis Na h-Innd-innse Indonesia אינדונזיה Indonezija Indonézia Indonesia Indonesia Indónesía Indonesia インドネシア 인도네시아 Indonesia Индонезия Indonezija Indonēzija ഇന്തോനേഷ്യ Индонез Indonesia Indonesië Indonesia Indonesia Indonezja Indonésia Indonésia Indonezia Индонезия Indonézia Indonezija Indonezi Индонезија Indonesien Indonesia อินโดนีเซีย Endonezya Индонезия Індонезія Indoneziya Indonesia 印度尼西亚 印尼
IL إسرائيل Ізраіль Израел Israel Izrael Israel Izrael Israel Israel Ισραήλ Israel Israelo Israel Iisrael Israel اسرائیل Israel Israël Israël Iosrael Iosrael Israel ישראל Izrael Izrael Israel Israel Ísrael Israele イスラエル 이스라엘 Israel Израиль Izraelis Izraēla ഇസ്രായേൽ Израиль Israel Israël Israel Israel Izrael Israel Israel Israel Израиль Izrael Izrael Izrael Израел Israel Israeli อิสราเอล İsrail Израиль Ізраїль Isroil Israel 以色列 以色列
IM جزيرة مان Востраў Мэн остров Ман Enez Vanav Ostrvo Man Illa de Man Ostrov Man Isle of Man Isle of Man Νήσος του Μαν Isle of Man Isle of Man Isla de Man Mani saar Man uhartea جزیرهٔ من Mansaari Île de Man Île de Man Oileán Mhanann Eilean Mhanainn Illa de Man האי מאן Otok Man Man-sziget Insula de Man Pulau Man Mön Isola di Man マン島 맨 섬 Isle of Man Мэн аралы Meno Sala Mena ഐൽ ഓഫ് മാൻ Мэн Арал Man Isle of Man Man Isle of Man Wyspa Man Ilha de Man Ilha de Man Insula Man о-в Мэн Ostrov Man Otok Man Ishulli i Manit Острво Ман Isle of Man Kisiwa cha Man เกาะแมน Man Adası Мэн утравы Острів Мен Men oroli Đảo Man 马恩岛 曼島
IN الهند Індыя Индия India Indija Índia Indie Indien Indien Ινδία India Hindujo India India India هند Intia Inde Inde an India Na h-Innseachan A India הודו Indija India India India Indland India インド 인도 Eynda Индия Indija Indija ഇന്ത്യ Энэтхэг India India India Инди Indie Índia Índia India Индия India Indija Indi Индија Indien India อินเดีย Hindistan Индия Індія Hindiston Ấn Độ 印度 印度
IO الإقليم البريطاني في المحيط الهندي Брытанская тэрыторыя ў Індыйскім акіяне Британска територия в Индийския океан Tiriad breizhveurat Meurvor Indez Britanska Teritorija u Indijskom Okeanu Territori Britànic de l’Oceà Índic Britské indickooceánské území Det Britiske Territorium i Det Indiske Ocean Britisches Territorium im Indischen Ozean Βρετανικά Εδάφη Ινδικού Ωκεανού British Indian Ocean Territory Brita Hindoceana Teritorio Territorio Británico del Océano Índico Briti India ookeani ala Indiako Ozeanoko lurralde britainiarra قلمرو بریتانیا در اقیانوس هند Brittiläinen Intian valtameren alue Territoire britannique de l’océan Indien Territoire britannique de l’océan Indien Críoch Aigéan Indiach na Breataine Ranntair Breatannach Cuan nan Innseachan Territorio Británico do Océano Índico הטריטוריה הבריטית באוקיינוס ההודי Britanski Indijskooceanski teritorij Brit Indiai-óceáni Terület Territorio oceanic britanno-indian Wilayah Inggris di Samudra Hindia Bresku Indlandshafseyjar Territorio britannico dell’Oceano Indiano 英領インド洋地域 영국령 인도양 식민지 British Indian Ocean Territory Инди океанындагы Британ территориясы Indijos Vandenyno Britų Sritis Indijas okeāna Britu teritorija ബ്രിട്ടീഷ് ഇന്ത്യൻ മഹാസമുദ്ര പ്രദേശം Британийн харьяа Энэтхэгийн далай дахь нутаг дэвсгэр Det britiske territoriet i Indiahavet Brits Indische Oceaanterritorium Det britiske territoriet I Indiahavet British Indian Ocean Territory Brytyjskie Terytorium Oceanu Indyjskiego Território Britânico do Oceano Índico Território Britânico do Oceano Índico Teritoriul Britanic din Oceanul Indian Британская территория в Индийском океане Britské indickooceánske územie Britansko ozemlje v Indijskem oceanu Territori Britanik i Oqeanit Indian Британска територија Индијског океана Brittiska territoriet i Indiska oceanen Eneo la Uingereza katika Bahari Hindi บริติชอินเดียนโอเชียนเทร์ริทอรี Britanya Hint Okyanusu Toprakları Британиянең Һинд Океанындагы Территориясе Британська територія в Індійському Океані Britaniyaning Hind okeanidagi hududi Lãnh thổ Ấn Độ Dương thuộc Anh 英属印度洋领地 英屬印度洋領地
IQ العراق Ірак Ирак Iraq Irak Iraq Irák Irak Irak Ιράκ Iraq Irako Irak Iraak Irak عراق Irak Irak Irak an Iaráic Ioràc Iraq עיראק Irak Irak Irak Irak Írak Iraq イラク 이라크 Iraq Ирак Irakas Irāka ഇറാഖ് Ирак Irak Irak Irak Iraq Irak Iraque Iraque Irak Ирак Irak Irak Irak Ирак Irak Iraki อิรัก Irak Гыйрак Ірак Iroq Iraq 伊拉克 伊拉克
IR إيران Іран Иран Iran Iran Iran Írán Iran Iran Ιράν Iran Irano Irán Iraan Iran ایران Iran Iran Iran an Iaráin Ioràn Irán איראן Iran Irán Iran Iran Íran Iran イラン 이란 Iran Иран Iranas Irāna ഇറാൻ Иран Iran Iran Iran Iran Iran Irã Irã Iran Иран Irán Iran Iran Иран Iran Iran อิหร่าน İran Иран Іран Eron Iran 伊朗 伊朗
IS آيسلندا Ісландыя Исландия Island Island Islàndia Island Island Island Ισλανδία Iceland Islando Islandia Island Islandia ایسلند Islanti Islande Islande an Íoslainn Innis Tìle Islandia איסלנד Island Izland Islanda Islandia Ísland Islanda アイスランド 아이슬란드 Iceland Исландия Islandija Islande ഐസ്ലാന്റ് Исланд Island IJsland Island Iceland Islandia Islândia Islândia Islanda Исландия Island Islandija Islandë Исланд Island Aisilandi ไอซ์แลนด์ İzlanda Исландия Ісландія Islandiya Iceland 冰岛 冰島
IT إيطاليا Італія Италия Italia Italija Itàlia Itálie Italien Italien Ιταλία Italy Italujo Italia Itaalia Italia ایتالیا Italia Italie Italie an Iodáil An Eadailt Italia איטליה Italija Olaszország Italia Italia Ítalía Italia イタリア 이탈리아 Itali Италия Italija Itālija ഇറ്റലി Итали Italia Italië Italia Итали Włochy Itália Itália Italia Италия Taliansko Italija Itali Италија Italien Italia อิตาลี İtalya Италия Італія Italiya Italy 意大利 義大利
JE جيرسي Джэрсі Джърси Jerzenez Jersey Jersey Jersey Jersey Jersey Τζέρζι Jersey Jersey Jersey Jersey Jersey جرزی Jersey Jersey Jersey Geirsí Deàrsaidh Jersey ג׳רזי Jersey Jersey Jersey Jersey Jersey Jersey ジャージー 저지 Jersey Жерси Džersis Džērsija ജേഴ്സി Жерси Jersey Jersey Jersey Jersey Jersey Jersey Jersey Jersey Джерси Jersey Jersey Xhersej Џерзи Jersey Jersey เจอร์ซีย์ Jersey Джерси Джерсі Jersi Jersey 泽西岛 澤西島
JO الأردن Іарданія Йордания Jordania Jordan Jordània Jordánsko Jordan Jordanien Ιορδανία Jordan Jordanio Jordania Jordaania Jordania اردن Jordania Jordanie Jordanie an Iordáin Iòrdan Xordania ירדן Jordan Jordánia Jordania Yordania Jórdanía Giordania ヨルダン 요르단 Jordan Иордания Jordanija Jordānija ജോർദ്ദാൻ Йордан Jordan Jordanië Jordan Jordan Jordania Jordânia Jordânia Iordania Иордания Jordánsko Jordanija Jordani Јордан Jordanien Jordan จอร์แดน Ürdün Иордания Йорданія Iordaniya Jordan 约旦 約旦
JP اليابان Японія Япония Japan Japan Japó Japonsko Japan Japan Ιαπωνία Japan Japanujo Japón Jaapan Japonia ژاپن Japani Japon Japon an tSeapáin An t-Seapan O Xapón יפן Japan Japán Japon Jepang Japan Giappone 日本 일본 Japan Япония Japonija Japāna ജപ്പാൻ Япон Japan Japan Japan Япон Japonia Japão Japão Japonia Япония Japonsko Japonska Japoni Јапан Japan Japani ญี่ปุ่น Japonya Япония Японія Yaponiya Nhật Bản 日本 日本
KE كينيا Кенія Кения Kenya Kenija Kenya Keňa Kenya Kenia Κένυα Kenya Kenjo Kenia Keenia Kenya کنیا Kenia Kenya Kenya an Chéinia Ceinia Kenya קניה Kenija Kenya Kenya Kenya Kenía Kenya ケニア 케냐 Kenya Кения Kenija Kenija കെനിയ Кени Kenya Kenia Kenya Kenya Kenia Quênia Quênia Kenya Кения Keňa Kenija Kenia Кенија Kenya Kenya เคนยา Kenya Кения Кенія Keniya Kenya 肯尼亚 肯亞
KG قيرغيزستان Кыргызстан Киргизстан Kyrgyzstan Kirgistan Kirguizistan Kyrgyzstán Kirgisistan Kirgisistan Κιργιστάν Kyrgyzstan Kirgizistano Kirguistán Kõrgõzstan Kirgizistan قرقیزستان Kirgisia Kirghizistan Kirghizistan an Chirgeastáin Cìorgastan Kirguizistán קירגיזסטן Kirgistan Kirgizisztán Kirghizistan Kirgistan Kirgistan Kirghizistan キルギス 키르기스스탄 Kyrgyzstan Кыргызстан Kirgizija Kirgizstāna കിർഗിസ്ഥാൻ Кыргызстан Kirgisistan Kirgizië Kirgisistan Kyrgyzstan Kirgistan Quirguistão Quirguistão Kârgâzstan Киргизия Kirgizsko Kirgizistan Kirgizi Киргистан Kirgizistan Kirigizistani คีร์กีซสถาน Kırgızistan Кыргызстан Киргизстан Qirgʻiziston Kyrgyzstan 吉尔吉斯斯坦 吉爾吉斯
KM جزر القمر Каморскія астравы Коморски острови Komorez Komori Comores Komory Comorerne Komoren Κομόρες Comoros Komoroj Comoras Komoorid Komoreak کومور Komorit Comores Comores Oileáin Chomóra Comoros Comores קומורו Komori Comore-szigetek Comoros Komoro Kómoreyjar Comore コモロ 코모로 Comoros Коморос Komorai Komoru salas കോമൊറോസ് Коморын арлууд Komorene Comoren Komorane Comoros Komory Comores Comores Comore Коморы Komory Komori Komore Коморска Острва Komorerna Komoro คอโมโรส Komorlar Комор утраулары Комори Komor orollari Comoros 科摩罗 葛摩
KN سانت كيتس ونيفيس Сент-Кітс і Невіс Сейнт Китс и Невис Saint Kitts ha Nevis Sveti Kits i Nevis Saint Christopher i Nevis Svatý Kryštof a Nevis Saint Kitts og Nevis St. Kitts und Nevis Σεν Κιτς και Νέβις St. Kitts & Nevis Sent-Kristofo kaj Neviso San Cristóbal y Nieves Saint Kitts ja Nevis Saint Kitts eta Nevis سنت کیتس و نویس Saint Kitts ja Nevis Saint-Christophe-et-Niévès Saint-Christophe-et-Niévès San Críostóir-Nimheas Naomh Crìstean is Nibheis Saint Kitts e Nevis סנט קיטס ונוויס Sveti Kristofor i Nevis Saint Kitts és Nevis Sancte Christophoro e Nevis Saint Kitts dan Nevis Sankti Kitts og Nevis Saint Kitts e Nevis セントクリストファー・ネーヴィス 세인트키츠 네비스 St. Kitts & Nevis Сент-Китс жана Невис Sent Kitsas ir Nevis Sentkitsa un Nevisa സെന്റ് കിറ്റ്സും നെവിസും Сент-Киттс ба Невис Saint Kitts og Nevis Saint Kitts en Nevis Saint Kitts og Nevis St. Kitts & Nevis Saint Kitts i Nevis São Cristóvão e Névis São Cristóvão e Névis Saint Kitts și Nevis Сент-Китс и Невис Svätý Krištof a Nevis Saint Kitts in Nevis Shën-Kits dhe Nevis Сент Китс и Невис S:t Kitts och Nevis St. Kitts na Nevis เซนต์คิตส์และเนวิส Saint Kitts ve Nevis Сент-Китс һәм Невис Сент-Кітс і Невіс Sent-Kits va Nevis St. Kitts và Nevis 圣基茨和尼维斯 聖克里斯多福及尼維斯
KP كوريا الشمالية Паўночная Карэя Северна Корея Korea an Norzh Sjeverna Koreja Corea del Nord Severní Korea Nordkorea Nordkorea Βόρεια Κορέα North Korea Nord-Koreo Corea del Norte Põhja-Korea Ipar Korea کرهٔ شمالی Pohjois-Korea Corée du Nord Corée du Nord an Chóiré Thuaidh Coirèa a Tuath Corea do Norte קוריאה הצפונית Sjeverna Koreja Észak-Korea Corea del Nord Korea Utara Norður-Kórea Corea del Nord 北朝鮮 북한 North Korea Түндүк Корея Šiaurės Korėja Ziemeļkoreja ഉത്തരകൊറിയ Хойд Солонгос Nord-Korea Noord-Korea Nord-Korea North Korea Korea Północna Coreia do Norte Coreia do Norte Coreea de Nord КНДР Severná Kórea Severna Koreja Kore e Veriut Северна Кореја Nordkorea Korea Kaskazini เกาหลีเหนือ Kuzey Kore Төньяк Корея Північна Корея Shimoliy Koreya Triều Tiên 朝鲜 北韓
KR كوريا الجنوبية Паўднёвая Карэя Южна Корея Korea ar Su Južna Koreja Corea del Sud Jižní Korea Sydkorea Südkorea Νότια Κορέα South Korea Sud-Koreo Corea del Sur Lõuna-Korea Hego Korea کرهٔ جنوبی Etelä-Korea Corée du Sud Corée du Sud an Chóiré Theas Coirèa Corea do Sur קוריאה הדרומית Južna Koreja Dél-Korea Corea del Sud Korea Selatan Suður-Kórea Corea del Sud 韓国 대한민국 South Korea Түштүк Корея Pietų Korėja Dienvidkoreja ദക്ഷിണകൊറിയ Өмнөд Солонгос Sør-Korea Zuid-Korea Sør-Korea South Korea Korea Południowa Coreia do Sul Coreia do Sul Coreea de Sud Республика Корея Južná Kórea Južna Koreja Kore e Jugut Јужна Кореја Sydkorea Korea Kusini เกาหลีใต้ Güney Kore South Korea Південна Корея Janubiy Koreya Hàn Quốc 韩国 南韓
KY جزر كايمان Кайманавы астравы Кайманови острови Inizi Cayman Kajmanska ostrva Illes Caiman Kajmanské ostrovy Caymanøerne Kaimaninseln Νήσοι Κέιμαν Cayman Islands Kejmanoj Islas Caimán Kaimanisaared Kaiman uharteak جزایر کِیمن Caymansaaret Îles Caïmans Îles Caïmans Oileáin Cayman Na h-Eileanan Caimean Illas Caimán איי קיימן Kajmanski otoci Kajmán-szigetek Insulas de Caiman Kepulauan Cayman Caymaneyjar Isole Cayman ケイマン諸島 케이맨 제도 Cayman Islands Кайман аралдары Kaimanų Salos Kaimanu salas കേയ്മാൻ ദ്വീപുകൾ Кайманы арлууд Caymanøyene Kaaimaneilanden Caymanøyane Cayman Islands Kajmany Ilhas Cayman Ilhas Cayman Insulele Cayman Острова Кайман Kajmanie ostrovy Kajmanski otoki Ishujt Kajman Кајманска Острва Caymanöarna Visiwa vya Cayman หมู่เกาะเคย์แมน Cayman Adaları Кайман утраулары Кайманові Острови Kayman orollari Quần đảo Cayman 开曼群岛 開曼群島
KZ كازاخستان Казахстан Казахстан Kazakstan Kazahstan Kazakhstan Kazachstán Kasakhstan Kasachstan Καζακστάν Kazakhstan Kazaĥstano Kazajistán Kasahstan Kazakhstan قزاقستان Kazakstan Kazakhstan Kazakhstan an Chasacstáin Casachstàn Kazakistán קזחסטן Kazahstan Kazahsztán Kazakhstan Kazakstan Kasakstan Kazakistan カザフスタン 카자흐스탄 Kazakhstan Казакстан Kazachstanas Kazahstāna കസാഖിസ്ഥാൻ Казахстан Kasakhstan Kazachstan Kasakhstan Kazakhstan Kazachstan Cazaquistão Cazaquistão Kazahstan Казахстан Kazachstan Kazahstan Kazakistan Казахстан Kazakstan Kazakistani คาซัคสถาน Kazakistan Казахстан Казахстан Qozogʻiston Kazakhstan 哈萨克斯坦 哈薩克
LC سانت لوسيا Сент-Люсія Сейнт Лусия Saint Lucia Sveta Lucija Saint Lucia Svatá Lucie Saint Lucia St. Lucia Αγία Λουκία St. Lucia Sent-Lucio Santa Lucía Saint Lucia Santa Luzia سنت لوسیا Saint Lucia Sainte-Lucie Sainte-Lucie Saint Lucia Naomh Lùisea Santa Lucía סנט לוסיה Sveta Lucija Saint Lucia Sancte Lucia Saint Lucia Sankti Lúsía Saint Lucia セントルシア 세인트루시아 St. Lucia Сент-Люсия Sent Lusija Sentlūsija സെന്റ് ലൂസിയ Сент Люсиа St. Lucia Saint Lucia St. Lucia St. Lucia Saint Lucia Santa Lúcia Santa Lúcia Sfânta Lucia Сент-Люсия Svätá Lucia Saint Lucia Shën-Luçia Света Луција S:t Lucia St. Lucia เซนต์ลูเซีย Saint Lucia Сент-Люсия Сент-Люсія Sent-Lyusiya St. Lucia 圣卢西亚 聖露西亞
LK سريلانكا Шры-Ланка Шри Ланка Sri Lanka Šri Lanka Sri Lanka Srí Lanka Sri Lanka Sri Lanka Σρι Λάνκα Sri Lanka Sri-Lanko Sri Lanka Sri Lanka Sri Lanka سریلانکا Sri Lanka Sri Lanka Sri Lanka Srí Lanca Sri Lanca Sri Lanka סרי לנקה Šri Lanka Srí Lanka Sri Lanka Sri Lanka Srí Lanka Sri Lanka スリランカ 스리랑카 Sri Lanka Шри-Ланка Šri Lanka Šrilanka ശ്രീലങ്ക Шри-Ланка Sri Lanka Sri Lanka Sri Lanka Sri Lanka Sri Lanka Sri Lanka Sri Lanka Sri Lanka Шри-Ланка Srí Lanka Šrilanka Sri-Lankë Шри Ланка Sri Lanka Sri Lanka ศรีลังกา Sri Lanka Шри-Ланка Шрі-Ланка Shri-Lanka Sri Lanka 斯里兰卡 斯里蘭卡
LT ليتوانيا Літва Литва Lituania Litvanija Lituània Litva Litauen Litauen Λιθουανία Lithuania Litovujo Lituania Leedu Lituania لیتوانی Liettua Lituanie Lituanie an Liotuáin An Liotuain Lituania ליטא Litva Litvánia Lituania Lituania Litháen Lituania リトアニア 리투아니아 Lithuania Литва Lietuva Lietuva ലിത്വാനിയ Литва Litauen Litouwen Litauen Lithuania Litwa Lituânia Lituânia Lituania Литва Litva Litva Lituani Литванија Litauen Lithuania ลิทัวเนีย Litvanya Литва Литва Litva Litva 立陶宛 立陶宛
LU لوكسمبورغ Люксембург Люксембург Luksembourg Luksemburg Luxemburg Lucembursko Luxembourg Luxemburg Λουξεμβούργο Luxembourg Luksemburgo Luxemburgo Luksemburg Luxenburgo لوکزامبورگ Luxemburg Luxembourg Luxembourg Lucsamburg Lugsamburg Luxemburgo לוקסמבורג Luksemburg Luxemburg Luxemburg Luksemburg Lúxemborg Lussemburgo ルクセンブルク 룩셈부르크 Luxembourg Люксембург Liuksemburgas Luksemburga ലക്സംബർഗ് Люксембург Luxemburg Luxemburg Luxembourg Luxembourg Luksemburg Luxemburgo Luxemburgo Luxemburg Люксембург Luxembursko Luksemburg Luksemburg Луксембург Luxemburg Luxembourg ลักเซมเบิร์ก Lüksemburg Люксембург Люксембурґ Lyuksemburg Luxembourg 卢森堡 盧森堡
LV لاتفيا Латвія Латвия Latvia Latvija Letònia Lotyšsko Letland Lettland Λετονία Latvia Latvujo Letonia Läti Letonia لتونی Latvia Lettonie Lettonie an Laitvia An Laitbhe Letonia לטביה Latvija Lettország Lettonia Latvia Lettland Lettonia ラトビア 라트비아 Latvia Латвия Latvija Latvija ലാറ്റ്വിയ Латви Latvia Letland Latvia Latvia Łotwa Letônia Letônia Letonia Латвия Lotyšsko Latvija Letoni Летонија Lettland Latvia ลัตเวีย Letonya Латвия Латвія Latviya Latvia 拉脱维亚 拉脫維亞
MA المغرب Марока Мароко Maroko Maroko Marroc Maroko Marokko Marokko Μαρόκο Morocco Maroko Marruecos Maroko Maroko مراکش Marokko Maroc Maroc Maracó Moroco Marrocos מרוקו Maroko Marokkó Marocco Maroko Marokkó Marocco モロッコ 모로코 Morocco Марокко Marokas Maroka മൊറോക്കൊ Морокко Marokko Marokko Marokko Morocco Maroko Marrocos Marrocos Maroc Марокко Maroko Maroko Marok Мароко Marocko Morocco โมร็อกโก Fas Марокко Марокко Marokash Ma-rốc 摩洛哥 摩洛哥
MD مولدوفا Малдова Молдова Moldova Moldavija Moldàvia Moldavsko Moldova Republik Moldau Μολδαβία Moldova Moldavujo Moldavia Moldova Moldavia مولداوی Moldova Moldavie Moldavie an Mholdóiv A’ Mholdobha Moldavia מולדובה Moldavija Moldova Moldavia Moldova Moldóva Moldavia モルドバ 몰도바 Moldova Молдова Moldova Moldova മൾഡോവ Молдова Moldova Moldavië Moldova Moldova Mołdawia Moldova Moldova Republica Moldova Молдова Moldavsko Moldavija Moldavi Молдавија Moldavien Moldova มอลโดวา Moldova Молдова Молдова Moldova Moldova 摩尔多瓦 摩爾多瓦
ME الجبل الأسود Чарнагорыя Черна гора Montenegro Crna Gora Montenegro Černá Hora Montenegro Montenegro Μαυροβούνιο Montenegro Montenegro Montenegro Montenegro Montenegro مونتهنگرو Montenegro Monténégro Monténégro Montainéagró Am Monadh Neagrach Montenegro מונטנגרו Crna Gora Montenegró Montenegro Montenegro Svartfjallaland Montenegro モンテネグロ 몬테네그로 Montenegro Черногория Juodkalnija Melnkalne മോണ്ടെനെഗ്രോ Монтенегро Montenegro Montenegro Montenegro Montenegro Czarnogóra Montenegro Montenegro Muntenegru Черногория Čierna Hora Črna gora Mal i Zi Црна Гора Montenegro Montenegro มอนเตเนโกร Karadağ Черногория Чорногорія Chernogoriya Montenegro 黑山 蒙特內哥羅
MF سان مارتن Сен-Мартэн Сен Мартен Saint Martin Sveti Martin Saint Martin Svatý Martin (Francie) Saint Martin St. Martin Άγιος Μαρτίνος (Γαλλικό τμήμα) St. Martin St. Martin San Martín Saint-Martin San Martin سنت مارتین Saint-Martin Saint-Martin Saint-Martin Saint-Martin Naomh Màrtainn Saint Martin סן מרטן Saint Martin Saint Martin St. Martin Saint Martin Saint-Martin Saint Martin サン・マルタン 생마르탱 St. Martin Сент-Мартин Sen Martenas Senmartēna സെന്റ് മാർട്ടിൻ Сент-Мартин Saint-Martin Saint-Martin Saint Martin St. Martin Saint-Martin São Martinho São Martinho Sfântul Martin Сен-Мартен Svätý Martin (fr.) Saint Martin Sen-Marten Свети Мартин (Француска) Saint-Martin St. Martin เซนต์มาร์ติน Saint Martin Сент-Мартин Сен-Мартен Sent-Martin St. Martin 法属圣马丁 法屬聖馬丁
MH جزر مارشال Маршалавы астравы Маршалови острови Inizi Marshall Maršalova ostrva Illes Marshall Marshallovy ostrovy Marshalløerne Marshallinseln Νήσοι Μάρσαλ Marshall Islands Marŝaloj Islas Marshall Marshalli Saared Marshall Uharteak جزایر مارشال Marshallinsaaret Îles Marshall Îles Marshall Oileáin Marshall Eileanan Mharshall Illas Marshall איי מרשל Maršalovi Otoci Marshall-szigetek Insulas Marshall Kepulauan Marshall Marshalleyjar Isole Marshall マーシャル諸島 마셜 제도 Marshall Islands Маршалл аралдары Maršalo Salos Māršala salas മാർഷൽ ദ്വീപുകൾ Маршаллын арлууд Marshalløyene Marshalleilanden Marshalløyane Marshall Islands Wyspy Marshalla Ilhas Marshall Ilhas Marshall Insulele Marshall Маршалловы Острова Marshallove ostrovy Marshallovi otoki Ishujt Marshall Маршалска Острва Marshallöarna Visiwa vya Marshall หมู่เกาะมาร์แชลล์ Marshall Adaları Маршалл утраулары Маршаллові Острови Marshall orollari Quần đảo Marshall 马绍尔群岛 馬紹爾群島
MK مقدونيا الشمالية Паўночная Македонія Северна Македония Makedonia an Norzh Sjeverna Makedonija Macedònia del Nord Severní Makedonie Nordmakedonien Nordmazedonien Βόρεια Μακεδονία North Macedonia North Macedonia Macedonia del Norte Põhja-Makedoonia Ipar Mazedonia مقدونیهٔ شمالی Pohjois-Makedonia Macédoine du Nord Macédoine du Nord an Mhacadóin Thuaidh A’ Mhasadon a Tuath Macedonia do Norte מקדוניה הצפונית Sjeverna Makedonija Észak-Macedónia Macedonia Makedonia Utara Norður-Makedónía Macedonia del Nord 北マケドニア 북마케도니아 North Macedonia Түндүк Македония Šiaurės Makedonija Ziemeļmaķedonija നോർത്ത് മാസിഡോണിയ Хойд Македон Nord-Makedonia Noord-Macedonië Nord-Makedonia North Macedonia Macedonia Północna Macedônia do Norte Macedônia do Norte Macedonia de Nord Северная Македония Severné Macedónsko Severna Makedonija Maqedonia e Veriut Северна Македонија Nordmakedonien Masedonia ya Kaskazini มาซิโดเนียเหนือ Kuzey Makedonya Төньяк Македония Північна Македонія Shimoliy Makedoniya Bắc Macedonia 北马其顿 北馬其頓
ML مالي Малі Мали Mali Mali Mali Mali Mali Mali Μάλι Mali Malio Mali Mali Mali مالی Mali Mali Mali Mailí Màili Malí מאלי Mali Mali Mali Mali Malí Mali マリ 말리 Mali Мали Malis Mali മാലി Мали Mali Mali Mali Mali Mali Mali Mali Mali Мали Mali Mali Mali Мали Mali Mali มาลี Mali Мали Малі Mali Mali 马里 馬利
MO مكاو Макаа Макао Macau Makao Macau Macao Macao Macau Μακάο Macao Macao Macao Macau Macau ماکائو Macao Macao Macao Macao Macàthu Macau מקאו Makao Makaó Macao Makau Makaó Macao マカオ 마카오 Macao Макау Makao Makao മക്കാവു Макао Macao Macau Macao Macao Makau Macau Macau Macao Макао Macao Macao Makao Макао Macao Makau มาเก๊า Makao Макао Макао Makao Macao 澳门 澳門
MP جزر ماريانا الشمالية Паўночныя Марыянскія астравы Северни Мариански острови Inizi Mariana an Norzh Sjeverna Marijanska ostrva Illes Mariannes del Nord Severní Mariany Nordmarianerne Nördliche Marianen Νήσοι Βόρειες Μαριάνες Northern Mariana Islands Nord-Marianoj Islas Marianas del Norte Põhja-Mariaanid Ipar Mariana uharteak جزایر ماریانای شمالی Pohjois-Mariaanit Îles Mariannes du Nord Îles Mariannes du Nord na hOileáin Mháirianacha Thuaidh Na h-Eileanan Mairianach a Tuath Illas Marianas do Norte איי מריאנה הצפוניים Sjevernomarijanski otoci Északi Mariana-szigetek Insulas Marianna del Nord Kepulauan Mariana Utara Norður-Maríanaeyjar Isole Marianne settentrionali 北マリアナ諸島 북마리아나제도 Northern Mariana Islands Түндүк Мариана аралдары Marianos Šiaurinės Salos Ziemeļu Marianas salas ഉത്തര മറിയാനാ ദ്വീപുകൾ Хойд Марианы арлууд Nord-Marianene Noordelijke Marianen Nord-Marianane Northern Mariana Islands Mariany Północne Ilhas Marianas do Norte Ilhas Marianas do Norte Insulele Mariane de Nord Северные Марианские о-ва Severné Mariány Severni Marianski otoki Ishujt e Marianës Veriore Северна Маријанска Острва Nordmarianerna Visiwa vya Mariana vya Kaskazini หมู่เกาะนอร์เทิร์นมาเรียนา Kuzey Mariana Adaları Төньяк Мариана утраулары Північні Маріанські Острови Shimoliy Mariana orollari Quần đảo Bắc Mariana 北马里亚纳群岛 北馬利安納群島
MT مالطا Мальта Малта Malta Malta Malta Malta Malta Malta Μάλτα Malta Malto Malta Malta Malta مالت Malta Malte Malte Málta Malta Malta מלטה Malta Málta Malta Malta Malta Malta マルタ 몰타 Malta Мальта Malta Malta മാൾട്ട Мальта Malta Malta Malta Malta Malta Malta Malta Malta Мальта Malta Malta Maltë Малта Malta Malta มอลตา Malta Мальта Мальта Malta Malta 马耳他 馬爾他
MX المكسيك Мексіка Мексико Mecʼhiko Meksiko Mèxic Mexiko Mexico Mexiko Μεξικό Mexico Meksiko México Mehhiko Mexiko مکزیک Meksiko Mexique Mexique Meicsiceo Meagsago México מקסיקו Meksiko Mexikó Mexico Meksiko Mexíkó Messico メキシコ 멕시코 Mexico Мексика Meksika Meksika മെക്സിക്കോ Мексик Mexico Mexico Mexico Mexico Meksyk México México Mexic Мексика Mexiko Mehika Meksikë Мексико Mexiko Meksiko เม็กซิโก Meksika Мексика Мексика Meksika Mexico 墨西哥 墨西哥
MY ماليزيا Малайзія Малайзия Malaysia Malezija Malàisia Malajsie Malaysia Malaysia Μαλαισία Malaysia Malajzio Malasia Malaisia Malaysia مالزی Malesia Malaisie Malaisie an Mhalaeisia Malaidhsea Malaisia מלזיה Malezija Malajzia Malaysia Malaysia Malasía Malaysia マレーシア 말레이시아 Malaysia Малайзия Malaizija Malaizija മലേഷ്യ Малайз Malaysia Maleisië Malaysia Malaysia Malezja Malásia Malásia Malaysia Малайзия Malajzia Malezija Malajzi Малезија Malaysia Malesia มาเลเซีย Malezya Малайзия Малайзія Malayziya Malaysia 马来西亚 馬來西亞
NC كاليدونيا الجديدة Новая Каледонія Нова Каледония Kaledonia Nevez Nova Kaledonija Nova Caledònia Nová Kaledonie Ny Kaledonien Neukaledonien Νέα Καληδονία New Caledonia Nov-Kaledonio Nueva Caledonia Uus-Kaledoonia Kaledonia Berria کالدونیای جدید Uusi-Kaledonia Nouvelle-Calédonie Nouvelle-Calédonie an Nua-Chaladóin Cailleann Nuadh Nova Caledonia קלדוניה החדשה Nova Kaledonija Új-Kaledónia Nove Caledonia Kaledonia Baru Nýja-Kaledónía Nuova Caledonia ニューカレドニア 뉴칼레도니아 New Caledonia Жаңы Каледония Naujoji Kaledonija Jaunkaledonija ന്യൂ കാലിഡോണിയ Шинэ Каледони Ny-Caledonia Nieuw-Caledonië Ny-Caledonia New Caledonia Nowa Kaledonia Nova Caledônia Nova Caledônia Noua Caledonie Новая Каледония Nová Kaledónia Nova Kaledonija Kaledoni e Re Нова Каледонија Nya Kaledonien New Caledonia นิวแคลิโดเนีย Yeni Kaledonya Яңа Каледония Нова Каледонія Yangi Kaledoniya New Caledonia 新喀里多尼亚 新喀里多尼亞
NF جزيرة نورفولك Востраў Норфалк остров Норфолк Enez Norfolk Ostrvo Norfolk Norfolk Norfolk Norfolk Island Norfolkinsel Νήσος Νόρφολκ Norfolk Island Norfolkinsulo Isla Norfolk Norfolk Norfolk uhartea جزیرهٔ نورفولک Norfolkinsaari Île Norfolk Île Norfolk Oileán Norfolk Eilean Norfolk Illa Norfolk האי נורפוק Otok Norfolk Norfolk-sziget Insula Norfolk Kepulauan Norfolk Norfolkeyja Isola Norfolk ノーフォーク島 노퍽섬 Norfolk Island Норфолк аралы Norfolko sala Norfolkas sala നോർഫോക് ദ്വീപ് Норфолк арал Norfolkøya Norfolk Norfolkøya Norfolk Island Norfolk Ilha Norfolk Ilha Norfolk Insula Norfolk о-в Норфолк Norfolk Norfolški otok Ishulli Norfolk Острво Норфок Norfolkön Kisiwa cha Norfolk เกาะนอร์ฟอล์ก Norfolk Adası Норфолк утравы Острів Норфолк Norfolk oroli Đảo Norfolk 诺福克岛 諾福克島
NL هولندا Нідэрланды Нидерландия Izelvroioù Holandija Països Baixos Nizozemsko Holland Niederlande Ολλανδία Netherlands Nederlando Países Bajos Holland Herbehereak هلند Alankomaat Pays-Bas Pays-Bas an Ísiltír Na Tìrean Ìsle Países Baixos הולנד Nizozemska Hollandia Nederlandia Belanda Holland Paesi Bassi オランダ 네덜란드 Netherlands Нидерланд Nyderlandai Nīderlande നെതർലാൻഡ്സ് Нидерланд Nederland Nederland Nederland Netherlands Holandia Países Baixos Países Baixos Țările de Jos Нидерланды Holandsko Nizozemska Holandë Холандија Nederländerna Uholanzi เนเธอร์แลนด์ Hollanda Нидерланд Нідерланди Niderlandiya Hà Lan 荷兰 荷蘭
NO النرويج Нарвегія Норвегия Norvegia Norveška Noruega Norsko Norge Norwegen Νορβηγία Norway Norvegujo Noruega Norra Norvegia نروژ Norja Norvège Norvège an Iorua Nirribhidh Noruega נורווגיה Norveška Norvégia Norvegia Norwegia Noregur Norvegia ノルウェー 노르웨이 Norway Норвегия Norvegija Norvēģija നോർവെ Норвеги Norge Noorwegen Noreg Norway Norwegia Noruega Noruega Norvegia Норвегия Nórsko Norveška Norvegji Норвешка Norge Norway นอร์เวย์ Norveç Норвегия Норвеґія Norvegiya Na Uy 挪威 挪威
NR ناورو НауруНауру Nauru Nauru Nauru Nauru Nauru Nauru Ναουρού Nauru Nauro Nauru Nauru Nauru نائورو Nauru Nauru Nauru Nárú Nabhru Nauru נאורו Nauru Nauru Nauru Nauru Nárú Nauru ナウル 나우루 Nauru Науру Nauru Nauru നൗറു Науру Nauru Nauru Nauru Nauru Nauru Nauru Nauru Nauru Науру Nauru Nauru Nauru Науру Nauru Nauru นาอูรู Nauru НауруНауру Nauru Nauru 瑙鲁 諾魯
NZ نيوزيلندا Новая Зеландыя Нова Зеландия Zeland-Nevez Novi Zeland Nova Zelanda Nový Zéland New Zealand Neuseeland Νέα Ζηλανδία New Zealand Nov-Zelando Nueva Zelanda Uus-Meremaa Zeelanda Berria نیوزیلند Uusi-Seelanti Nouvelle-Zélande Nouvelle-Zélande an Nua-Shéalainn Sealainn Nuadh Nova Zelandia ניו זילנד Novi Zeland Új-Zéland Nove Zelanda Selandia Baru Nýja-Sjáland Nuova Zelanda ニュージーランド 뉴질랜드 New Zealand Жаңы Зеландия Naujoji Zelandija Jaunzēlande ന്യൂസിലാൻറ് Шинэ Зеланд New Zealand Nieuw-Zeeland New Zealand New Zealand Nowa Zelandia Nova Zelândia Nova Zelândia Noua Zeelandă Новая Зеландия Nový Zéland Nova Zelandija Zelandë e Re Нови Зеланд Nya Zeeland Nyuzilandi นิวซีแลนด์ Yeni Zelanda Яңа Зеландия Нова Зеландія Yangi Zelandiya New Zealand 新西兰 紐西蘭
OM عُمان Аман Оман Oman Oman Oman Omán Oman Oman Ομάν Oman Omano Omán Omaan Oman عمان Oman Oman Oman Óman Omàn Omán עומאן Oman Omán Oman Oman Óman Oman オマーン 오만 Oman Оман Omanas Omāna ഒമാൻ Оман Oman Oman Oman Oman Oman Omã Omã Oman Оман Omán Oman Oman Оман Oman Oman โอมาน Umman Оман Оман Ummon Oman 阿曼 阿曼
PA بنما Панама Панама Panamá Panama Panamà Panama Panama Panama Παναμάς Panama Panamo Panamá Panama Panama پاناما Panama Panama Panama Panama Panama Panamá פנמה Panama Panama Panama Panama Panama Panamá パナマ 파나마 Panama Панама Panama Panama പനാമ Панам Panama Panama Panama Panama Panama Panamá Panamá Panama Панама Panama Panama Panama Панама Panama Panama ปานามา Panama Панама Панама Panama Panama 巴拿马 巴拿馬
PE بيرو Перу Перу Perou Peru Perú Peru Peru Peru Περού Peru Peruo Perú Peruu Peru پرو Peru Pérou Pérou Peiriú Pearù O Perú פרו Peru Peru Peru Peru Perú Perù ペルー 페루 Peru Перу Peru Peru പെറു Перу Peru Peru Peru Peru Peru Peru Peru Peru Перу Peru Peru Peru Перу Peru Peru เปรู Peru Перу Перу Peru Peru 秘鲁 秘魯
PF بولينيزيا الفرنسية Французская Палінезія Френска Полинезия Polinezia Cʼhall Francuska Polinezija Polinèsia Francesa Francouzská Polynésie Fransk Polynesien Französisch-Polynesien Γαλλική Πολυνησία French Polynesia Franca Polinezio Polinesia Francesa Prantsuse Polüneesia Polinesia Frantsesa پلینزی فرانسه Ranskan Polynesia Polynésie française Polynésie française Polainéis na Fraince Poilinèis na Frainge A Polinesia Francesa פולינזיה הצרפתית Francuska Polinezija Francia Polinézia Polynesia francese Polinesia Prancis Franska Pólýnesía Polinesia francese 仏領ポリネシア 프랑스령 폴리네시아 French Polynesia Полинезия (франциялык) Prancūzijos Polinezija Francijas Polinēzija ഫ്രഞ്ച് പോളിനേഷ്യ Францын Полинез Fransk Polynesia Frans-Polynesië Fransk Polynesia French Polynesia Polinezja Francuska Polinésia Francesa Polinésia Francesa Polinezia Franceză Французская Полинезия Francúzska Polynézia Francoska Polinezija Polinezia Franceze Француска Полинезија Franska Polynesien Polynesia ya Ufaransa เฟรนช์โปลินีเซีย Fransız Polinezyası Француз Полинезиясе Французька Полінезія Fransuz Polineziyasi Polynesia thuộc Pháp 法属波利尼西亚 法屬玻里尼西亞
PG بابوا غينيا الجديدة Папуа-Новая Гвінея Папуа-Нова Гвинея Papoua Ginea-Nevez Papua Nova Gvineja Papua Nova Guinea Papua-Nová Guinea Papua Ny Guinea Papua-Neuguinea Παπούα Νέα Γουινέα Papua New Guinea Papuo-Nov-Gvineo Papúa Nueva Guinea Paapua Uus-Guinea Papua Ginea Berria پاپوا گینهٔ نو Papua-Uusi-Guinea Papouasie-Nouvelle-Guinée Papouasie-Nouvelle-Guinée Nua-Ghuine Phapua Gini Nuadh Phaputhach Papúa-Nova Guinea פפואה גינאה החדשה Papua Nova Gvineja Pápua Új-Guinea Papua Nove Guinea Papua Nugini Papúa Nýja-Gínea Papua Nuova Guinea パプアニューギニア 파푸아뉴기니 Papua New Guinea Папуа-Жаңы Гвинея Papua Naujoji Gvinėja Papua-Jaungvineja പാപ്പുവ ന്യൂ ഗിനിയ Папуа Шинэ Гвиней Papua Ny-Guinea Papoea-Nieuw-Guinea Papua Ny-Guinea Papua New Guinea Papua-Nowa Gwinea Papua-Nova Guiné Papua-Nova Guiné Papua-Noua Guinee Папуа — Новая Гвинея Papua-Nová Guinea Papua Nova Gvineja Guineja e Re-Papua Папуа Нова Гвинеја Papua Nya Guinea Papua New Guinea ปาปัวนิวกินี Papua Yeni Gine Папуа - Яңа Гвинея Папуа-Нова Ґвінея Papua – Yangi Gvineya Papua New Guinea 巴布亚新几内亚 巴布亞紐幾內亞
PL بولندا Польшча Полша Polonia Poljska Polònia Polsko Polen Polen Πολωνία Poland Pollando Polonia Poola Polonia لهستان Puola Pologne Pologne an Pholainn A’ Phòlainn Polonia פולין Poljska Lengyelország Polonia Polandia Pólland Polonia ポーランド 폴란드 Poland Польша Lenkija Polija പോളണ്ട് Польш Polen Polen Polen Poland Polska Polônia Polônia Polonia Польша Poľsko Poljska Poloni Пољска Polen Poland โปแลนด์ Polonya Польша Польща Polsha Ba Lan 波兰 波蘭
PM سان بيير ومكويلون Сен-П’ер і Мікелон Сен Пиер и Микелон Sant-Pêr-ha-Mikelon Sveti Petar i Mikelon Saint-Pierre-et-Miquelon Saint-Pierre a Miquelon Saint Pierre og Miquelon St. Pierre und Miquelon Σεν Πιερ και Μικελόν St. Pierre & Miquelon Sent-Piero kaj Mikelono San Pedro y Miquelón Saint-Pierre ja Miquelon Saint-Pierre eta Mikelune سن پیر و میکلن Saint-Pierre ja Miquelon Saint-Pierre-et-Miquelon Saint-Pierre-et-Miquelon San Pierre agus Miquelon Saint Pierre agus Miquelon Saint Pierre et Miquelon סנט פייר ומיקלון Saint-Pierre-et-Miquelon Saint-Pierre és Miquelon St. Pierre e Miquelon Saint Pierre dan Miquelon Sankti Pierre og Miquelon Saint-Pierre e Miquelon サンピエール島・ミクロン島 생피에르 미클롱 St. Pierre & Miquelon Сен-Пьер жана Микелон Sen Pjeras ir Mikelonas Senpjēra un Mikelona സെന്റ് പിയറി ആൻഡ് മിക്വലൻ Сент-Пьер ба Микело Saint-Pierre-et-Miquelon Saint-Pierre en Miquelon Saint-Pierre-et-Miquelon St. Pierre & Miquelon Saint-Pierre i Miquelon São Pedro e Miquelão São Pedro e Miquelão Saint-Pierre și Miquelon Сен-Пьер и Микелон Saint Pierre a Miquelon Saint Pierre in Miquelon Shën-Pier dhe Mikelon Сен Пјер и Микелон S:t Pierre och Miquelon Santapierre na Miquelon แซงปีแยร์และมีเกอลง Saint Pierre ve Miquelon Сен-Пьер һәм Микелон Сен-Пʼєр і Мікелон Sen-Pyer va Mikelon Saint Pierre và Miquelon 圣皮埃尔和密克隆群岛 聖皮埃與密克隆群島
PN جزر بيتكيرن Астравы Піткэрн Острови Питкерн Enez Pitcairn Pitkernska Ostrva Illes Pitcairn Pitcairnovy ostrovy Pitcairn Pitcairninseln Νήσοι Πίτκερν Pitcairn Islands Pitkarna Insulo Islas Pitcairn Pitcairni saared Pitcairn uharteak جزایر پیتکرن Pitcairn Îles Pitcairn Îles Pitcairn Oileáin Pitcairn Eileanan Pheit a’ Chàirn Illas Pitcairn איי פיטקרן Otoci Pitcairn Pitcairn-szigetek Pitcairn Islands Kepulauan Pitcairn Pitcairn-eyjar Isole Pitcairn ピトケアン諸島 핏케언 섬 Pitcairn Islands Питкэрн аралдары Pitkerno salos Pitkērnas salas പിറ്റ്കെയ്ൻ ദ്വീപുകൾ Питкэрн арлууд Pitcairnøyene Pitcairneilanden Pitcairn Pitcairn Islands Pitcairn Ilhas Pitcairn Ilhas Pitcairn Insulele Pitcairn о-ва Питкэрн Pitcairnove ostrovy Pitcairn Ishujt Pitkern Питкерн Pitcairnöarna Visiwa vya Pitcairn หมู่เกาะพิตแคร์น Pitcairn Adaları Питкэрн утраулары Острови Піткерн Pitkern orollari Quần đảo Pitcairn 皮特凯恩群岛 皮特肯群島
PR بورتوريكو Пуэрта-Рыка Пуерто Рико Puerto Rico Porto Riko Puerto Rico Portoriko Puerto Rico Puerto Rico Πουέρτο Ρίκο Puerto Rico Puerto-Riko Puerto Rico Puerto Rico Puerto Rico پورتوریکو Puerto Rico Porto Rico Porto Rico Pórtó Ríce Porto Rìceo Porto Rico פוארטו ריקו Portoriko Puerto Rico Puerto Rico Puerto Riko Púertó Ríkó Portorico プエルトリコ 푸에르토리코 Puerto Rico Пуэрто-Рико Puerto Rikas Puertoriko പോർട്ടോ റിക്കോ Пуэрто-Рико Puerto Rico Puerto Rico Puerto Rico Puerto Rico Portoryko Porto Rico Porto Rico Puerto Rico Пуэрто-Рико Portoriko Portoriko Porto-Riko Порторико Puerto Rico Puerto Rico เปอร์โตริโก Porto Riko Пуэрто-Рико Пуерто-Ріко Puerto-Riko Puerto Rico 波多黎各 波多黎各
PT البرتغال Партугалія Португалия Portugal Portugal Portugal Portugalsko Portugal Portugal Πορτογαλία Portugal Portugalujo Portugal Portugal Portugal پرتغال Portugali Portugal Portugal an Phortaingéil A’ Phortagail Portugal פורטוגל Portugal Portugália Portugal Portugal Portúgal Portogallo ポルトガル 포르투갈 Portugal Португалия Portugalija Portugāle പോർച്ചുഗൽ Португал Portugal Portugal Portugal Portugal Portugalia Portugal Portugal Portugalia Португалия Portugalsko Portugalska Portugali Португалија Portugal Ureno โปรตุเกส Portekiz Португалия Портуґалія Portugaliya Bồ Đào Nha 葡萄牙 葡萄牙
QA قطر Катар Катар Qatar Katar Qatar Katar Qatar Katar Κατάρ Qatar Kataro Catar Katar Qatar قطر Qatar Qatar Qatar Catar Catar Qatar קטאר Katar Katar Qatar Qatar Katar Qatar カタール 카타르 Qatar Катар Kataras Katara ഖത്തർ Катар Qatar Qatar Qatar Qatar Katar Catar Catar Qatar Катар Katar Katar Katar Катар Qatar Qatar กาตาร์ Katar Катар Катар Qatar Qatar 卡塔尔 卡達
QO أوقيانوسيا النائية Аддаленыя тэрыторыі Акіяніі Отдалечени острови на Океания Oseania diabell Vanjska Okeanija Territoris allunyats d’Oceania vnější Oceánie Ydre Oceanien Äußeres Ozeanien Περιφερειακή Ωκεανία Outlying Oceania Outlying Oceania Territorios alejados de Oceanía Okeaania hajasaared Mugaz kanpoko Ozeania بخشهای دورافتادهٔ اقیانوسیه ulkomeri régions éloignées de l’Océanie régions éloignées de l’Océanie an Aigéine Imeallach Roinn Iomallach a’ Chuain Sèimh Territorios afastados de Oceanía טריטוריות באוקיאניה Vanjska područja Oceanije Külső-Óceánia Oceania remote Oseania Luar Ytri Eyjaálfa Oceania lontana オセアニア周辺地域 오세아니아 외곽 Outlying Oceania Алыскы Океания Nuošali Okeanija Okeānijas attālās salas ദ്വീപസമൂഹം Номхон далайг тойрсон улс орнууд Ytre Oseania overig Oceanië Ytre Oseania Outlying Oceania Oceania — wyspy dalekie Oceania Remota Oceania Remota Oceania Periferică Внешняя Океания ostatné Tichomorie Ostala oceanija Oqeania e Largët (Lindja e Largët) Океанија (удаљена острва) yttre öar i Oceanien Oceania ya Nje เอาต์ไลอิงโอเชียเนีย Uzak Okyanusya Outlying Oceania Віддалена Океанія Tashqi Okeaniya Vùng xa xôi thuộc Châu Đại Dương 大洋洲边远群岛 大洋洲邊疆群島
RE روينيون Рэюньён Реюнион Ar Reünion Reunion Illa de la Reunió Réunion Réunion Réunion Ρεϊνιόν Réunion Reunio Reunión Réunion Reunion رئونیون Réunion La Réunion La Réunion Réunion Réunion Reunión ראוניון Réunion Réunion Réunion Réunion Réunion Riunione レユニオン 리유니온 Réunion Реюньон Reunjonas Reinjona റീയൂണിയൻ Реюнион Réunion Réunion Réunion Réunion Reunion Reunião Reunião Réunion Реюньон Réunion Reunion Reunion Реинион Réunion Reunion เรอูนียง Reunion Реюньон Реюньйон Reyunion Réunion 留尼汪 留尼旺
RO رومانيا Румынія Румъния Roumania Rumunija Romania Rumunsko Rumænien Rumänien Ρουμανία Romania Rumanujo Rumanía Rumeenia Errumania رومانی Romania Roumanie Roumanie an Rómáin Romàinia Romanía רומניה Rumunjska Románia Romania Rumania Rúmenía Romania ルーマニア 루마니아 Romania Румыния Rumunija Rumānija റൊമാനിയ Румын Romania Roemenië Romania Romania Rumunia Romênia Romênia România Румыния Rumunsko Romunija Rumani Румунија Rumänien Romania โรมาเนีย Romanya Румыния Румунія Ruminiya Romania 罗马尼亚 羅馬尼亞
RS صربيا Сербія Сърбия Serbia Srbija Sèrbia Srbsko Serbien Serbien Σερβία Serbia Serbia Serbia Serbia Serbia صربستان Serbia Serbie Serbie an tSeirbia An t-Sèirb Serbia סרביה Srbija Szerbia Serbia Serbia Serbía Serbia セルビア 세르비아 Serbia Сербия Serbija Serbija സെർബിയ Серби Serbia Servië Serbia Serbia Serbia Sérvia Sérvia Serbia Сербия Srbsko Srbija Serbi Србија Serbien Serbia เซอร์เบีย Sırbistan Сербия Сербія Serbiya Serbia 塞尔维亚 塞爾維亞
RU روسيا Расія Русия Rusia Rusija Rússia Rusko Rusland Russland Ρωσία Russia Rusujo Rusia Venemaa Errusia روسیه Venäjä Russie Russie an Rúis An Ruis Rusia רוסיה Rusija Oroszország Russia Rusia Rússland Russia ロシア 러시아 Russi Россия Rusija Krievija റഷ്യ Орос Russland Rusland Russland Уӕрӕсе Rosja Rússia Rússia Rusia Россия Rusko Rusija Rusi Русија Ryssland Urusi รัสเซีย Rusya Россия Росія Rossiya Nga 俄罗斯 俄羅斯
SA المملكة العربية السعودية Саудаўская Аравія Саудитска Арабия Arabia Saoudat Saudijska Arabija Aràbia Saudita Saúdská Arábie Saudi-Arabien Saudi-Arabien Σαουδική Αραβία Saudi Arabia Saŭda Arabujo Arabia Saudí Saudi Araabia Saudi Arabia عربستان سعودی Saudi-Arabia Arabie saoudite Arabie saoudite an Araib Shádach Aràibia nan Sabhd Arabia Saudita ערב הסעודית Saudijska Arabija Szaúd-Arábia Arabia Saudita Arab Saudi Sádi-Arabía Arabia Saudita サウジアラビア 사우디아라비아 Saudi Arabia Сауд Арабиясы Saudo Arabija Saūda Arābija സൗദി അറേബ്യ Саудын Араб Saudi-Arabia Saoedi-Arabië Saudi-Arabia Saudi Arabia Arabia Saudyjska Arábia Saudita Arábia Saudita Arabia Saudită Саудовская Аравия Saudská Arábia Saudova Arabija Arabi Saudite Саудијска Арабија Saudiarabien Saudia ซาอุดีอาระเบีย Suudi Arabistan Согуд Гарәбстаны Саудівська Аравія Saudiya Arabistoni Ả Rập Xê-út 沙特阿拉伯 沙烏地阿拉伯
SB جزر سليمان Саламонавы астравы Соломонови острови Inizi Salomon Solomonska Ostrva Illes Salomó Šalamounovy ostrovy Salomonøerne Salomonen Νήσοι Σολομώντος Solomon Islands Salomonoj Islas Salomón Saalomoni Saared Salomon Uharteak جزایر سلیمان Salomonsaaret Îles Salomon Îles Salomon Oileáin Sholomón Eileanan Sholaimh Illas Salomón איי שלמה Salomonski Otoci Salamon-szigetek Insulas Solomon Kepulauan Solomon Salómonseyjar Isole Salomone ソロモン諸島 솔로몬 제도 Solomon Islands Соломон аралдары Saliamono Salos Zālamana salas സോളമൻ ദ്വീപുകൾ Соломоны арлууд Salomonøyene Salomonseilanden Salomonøyane Solomon Islands Wyspy Salomona Ilhas Salomão Ilhas Salomão Insulele Solomon Соломоновы Острова Šalamúnove ostrovy Salomonovi otoki Ishujt Solomon Соломонска Острва Salomonöarna Visiwa vya Solomon หมู่เกาะโซโลมอน Solomon Adaları Сөләйман утраулары Соломонові Острови Solomon orollari Quần đảo Solomon 所罗门群岛 索羅門群島
SC سيشل Сейшэльскія астравы Сейшели Sechelez Sejšeli Seychelles Seychely Seychellerne Seychellen Σεϋχέλλες Seychelles Sejŝeloj Seychelles Seišellid Seychelleak سیشل Seychellit Seychelles Seychelles na Séiséil Na h-Eileanan Sheiseall Seychelles איי סיישל Sejšeli Seychelle-szigetek Seychelles Seychelles Seychelles-eyjar Seychelles セーシェル 세이셸 Seychelles Сейшел аралдары Seišeliai Seišelu salas സീഷെൽസ് Сейшелийн арлууд Seychellene Seychellen Seychellane Seychelles Seszele Seicheles Seicheles Seychelles Сейшельские Острова Seychely Sejšeli Sejshelle Сејшели Seychellerna Ushelisheli เซเชลส์ Seyşeller Сейшел утраулары Сейшельські Острови Seyshel orollari Seychelles 塞舌尔 塞席爾
SE السويد Швецыя Швеция Sveden Švedska Suècia Švédsko Sverige Schweden Σουηδία Sweden Svedujo Suecia Rootsi Suedia سوئد Ruotsi Suède Suède an tSualainn An t-Suain Suecia שוודיה Švedska Svédország Svedia Swedia Svíþjóð Svezia スウェーデン 스웨덴 Sweden Швеция Švedija Zviedrija സ്വീഡൻ Швед Sverige Zweden Sverige Sweden Szwecja Suécia Suécia Suedia Швеция Švédsko Švedska Suedi Шведска Sverige Uswidi สวีเดน İsveç Швеция Швеція Shvetsiya Thụy Điển 瑞典 瑞典
SH سانت هيلينا Востраў Святой Алены Света Елена Saint-Helena Sveta Helena Saint Helena Svatá Helena St. Helena St. Helena Αγία Ελένη St. Helena Sent-Heleno Santa Elena Saint Helena Santa Helena سنت هلن Saint Helena Sainte-Hélène Sainte-Hélène San Héilin Eilean Naomh Eilidh Santa Helena סנט הלנה Sveta Helena Szent Ilona St. Helena Saint Helena Sankti Helena Sant’Elena セントヘレナ 세인트헬레나 St. Helena Ыйык Елена Šv. Elenos Sala Sv.Helēnas sala സെന്റ് ഹെലീന Сент Хелена St. Helena Sint-Helena Saint Helena St. Helena Wyspa Świętej Heleny Santa Helena Santa Helena Sfânta Elena о-в Св. Елены Svätá Helena Sveta Helena Shën-Elenë Света Јелена S:t Helena St. Helena เซนต์เฮเลนา Saint Helena St. Helena Острів Святої Єлени Muqaddas Yelena oroli St. Helena 圣赫勒拿 聖赫勒拿島
SI سلوفينيا Славенія Словения Slovenia Slovenija Eslovènia Slovinsko Slovenien Slowenien Σλοβενία Slovenia Slovenujo Eslovenia Sloveenia Eslovenia اسلوونی Slovenia Slovénie Slovénie an tSlóivéin An t-Slòbhain Eslovenia סלובניה Slovenija Szlovénia Slovenia Slovenia Slóvenía Slovenia スロベニア 슬로베니아 Slovenia Словения Slovėnija Slovēnija സ്ലോവേനിയ Словени Slovenia Slovenië Slovenia Slovenia Słowenia Eslovênia Eslovênia Slovenia Словения Slovinsko Slovenija Slloveni Словенија Slovenien Slovenia สโลวีเนีย Slovenya Словения Словенія Sloveniya Slovenia 斯洛文尼亚 斯洛維尼亞
SJ سفالبارد وجان ماين Шпіцберген і Ян-Маен Свалбард и Ян Майен Svalbard Svalbard i Jan Majen Svalbard i Jan Mayen Špicberky a Jan Mayen Svalbard og Jan Mayen Spitzbergen und Jan Mayen Σβάλμπαρντ και Γιαν Μαγιέν Svalbard & Jan Mayen Svalbardo kaj Jan-Majen-insulo Svalbard y Jan Mayen Svalbard ja Jan Mayen Svalbard eta Jan Mayen uharteak سوالبارد و یان ماین Huippuvuoret ja Jan Mayen Svalbard et Jan Mayen Svalbard et Jan Mayen Svalbard agus Jan Mayen Svalbard agus Jan Mayen Svalbard e Jan Mayen סבאלברד ויאן מאיין Svalbard i Jan Mayen Svalbard és Jan Mayen Svalbard e Jan Mayen Kepulauan Svalbard dan Jan Mayen Svalbarði og Jan Mayen Svalbard e Jan Mayen スバールバル諸島・ヤンマイエン島 스발바르제도-얀마웬섬 Svalbard & Jan Mayen Шпицберген жана Ян-Майен Svalbardas ir Janas Majenas Svalbāra un Jana Majena sala സ്വാൽബാഡും ജാൻ മായേനും Свалбард ба Ян Майен Svalbard og Jan Mayen Spitsbergen en Jan Mayen Svalbard og Jan Mayen Svalbard & Jan Mayen Svalbard i Jan Mayen Svalbard e Jan Mayen Svalbard e Jan Mayen Svalbard și Jan Mayen Шпицберген и Ян-Майен Svalbard a Jan Mayen Svalbard in Jan Mayen Svalbard e Jan-Majen Свалбард и Јан Мајен Svalbard och Jan Mayen Svalbard na Jan Mayen สฟาลบาร์และยานไมเอน Svalbard ve Jan Mayen Шпицберген һәм Ян-Майен Шпіцберген та Ян-Маєн Shpitsbergen va Yan-Mayen Svalbard và Jan Mayen 斯瓦尔巴和扬马延 挪威屬斯瓦巴及尖棉
SL سيراليون Сьера-Леонэ Сиера Леоне Sierra Leone Sijera Leone Sierra Leone Sierra Leone Sierra Leone Sierra Leone Σιέρα Λεόνε Sierra Leone Siera-Leono Sierra Leona Sierra Leone Sierra Leona سیرالئون Sierra Leone Sierra Leone Sierra Leone Siarra Leon Siarra Leòmhann Serra Leoa סיירה לאונה Sijera Leone Sierra Leone Sierra Leone Sierra Leone Síerra Leóne Sierra Leone シエラレオネ 시에라리온 Sierra Leone Сьерра-Леоне Siera Leonė Sjerraleone സിയെറ ലിയോൺ Сьерра-Леоне Sierra Leone Sierra Leone Sierra Leone Sierra Leone Sierra Leone Serra Leoa Serra Leoa Sierra Leone Сьерра-Леоне Sierra Leone Sierra Leone Sierra-Leone Сијера Леоне Sierra Leone Siera Leoni เซียร์ราลีโอน Sierra Leone Сьерра-Леоне Сьєрра-Леоне Syerra-Leone Sierra Leone 塞拉利昂 獅子山
SM سان مارينو Сан-Марына Сан Марино San Marino San Marino San Marino San Marino San Marino San Marino Άγιος Μαρίνος San Marino San-Marino San Marino San Marino San Marino سانمارینو San Marino Saint-Marin Saint-Marin San Mairíne San Marino San Marino סן מרינו San Marino San Marino San Marino San Marino San Marínó San Marino サンマリノ 산마리노 San Marino Сан Марино San Marinas Sanmarīno സാൻ മറിനോ Сан-Марино San Marino San Marino San Marino San Marino San Marino San Marino San Marino San Marino Сан-Марино San Maríno San Marino San-Marino Сан Марино San Marino San Marino ซานมาริโน San Marino Сан-Марино Сан-Маріно San-Marino San Marino 圣马力诺 聖馬利諾
SS جنوب السودان Паўднёвы Судан Южен Судан Susoudan Južni Sudan Sudan del Sud Jižní Súdán Sydsudan Südsudan Νότιο Σουδάν South Sudan Sud-Sudano Sudán del Sur Lõuna-Sudaan Hego Sudan سودان جنوبی Etelä-Sudan Soudan du Sud Soudan du Sud an tSúdáin Theas Sudàn a Deas O Sudán do Sur דרום סודן Južni Sudan Dél-Szudán Sudan del Sud Sudan Selatan Suður-Súdan Sud Sudan 南スーダン 남수단 South Sudan Түштүк Судан Pietų Sudanas Dienvidsudāna ദക്ഷിണ സുഡാൻ Өмнөд Судан Sør-Sudan Zuid-Soedan Sør-Sudan South Sudan Sudan Południowy Sudão do Sul Sudão do Sul Sudanul de Sud Южный Судан Južný Sudán Južni Sudan Sudani i Jugut Јужни Судан Sydsudan Sudan Kusini ซูดานใต้ Güney Sudan Көньяк Судан Південний Судан Janubiy Sudan Nam Sudan 南苏丹 南蘇丹
ST ساو تومي وبرينسيبي Сан-Тамэ і Прынсіпі Сао Томе и Принсипи São Tomé ha Príncipe Sao Tome i Principe São Tomé i Príncipe Svatý Tomáš a Princův ostrov São Tomé og Príncipe São Tomé und Príncipe Σάο Τομέ και Πρίνσιπε São Tomé & Príncipe Sao-Tomeo kaj Principeo Santo Tomé y Príncipe São Tomé ja Príncipe Sao Tome eta Principe سائوتومه و پرینسیپ São Tomé ja Príncipe Sao Tomé-et-Principe Sao Tomé-et-Principe São Tomé agus Príncipe São Tomé agus Príncipe San Tomé e Príncipe סאו טומה ופרינסיפה Sveti Toma i Princip São Tomé és Príncipe São Tomé & Príncipe Sao Tome dan Principe Saó Tóme og Prinsípe São Tomé e Príncipe サントメ・プリンシペ 상투메 프린시페 São Tomé & Príncipe Сан-Томе жана Принсипи San Tomė ir Prinsipė Santome un Prinsipi സാവോ ടോമും പ്രിൻസിപെയും Сан-Томе ба Принсипи São Tomé og Príncipe Sao Tomé en Principe São Tomé og Príncipe São Tomé & Príncipe Wyspy Świętego Tomasza i Książęca São Tomé e Príncipe São Tomé e Príncipe São Tomé și Príncipe Сан-Томе и Принсипи Svätý Tomáš a Princov ostrov Sao Tome in Principe Sao-Tome e Principe Сао Томе и Принципе São Tomé och Príncipe São Tomé na Príncipe เซาตูเมและปรินซิปี Sao Tome ve Principe Сан-Томе һәм Принсипи Сан-Томе і Прінсіпі San-Tome va Prinsipi São Tomé và Príncipe 圣多美和普林西比 聖多美普林西比
SV السلفادور Сальвадор Салвадор Salvador Salvador El Salvador Salvador El Salvador El Salvador Ελ Σαλβαδόρ El Salvador Salvadoro El Salvador El Salvador El Salvador السالوادور El Salvador Salvador Salvador an tSalvadóir An Salbhador O Salvador אל סלבדור Salvador Salvador El Salvador El Salvador El Salvador El Salvador エルサルバドル 엘살바도르 El Salvador Эль-Сальвадор Salvadoras Salvadora എൽ സാൽവദോർ Эль Сальвадор El Salvador El Salvador El Salvador El Salvador Salwador El Salvador El Salvador El Salvador Сальвадор Salvádor Salvador Salvador Салвадор El Salvador El Salvador เอลซัลวาดอร์ El Salvador Сальвадор Сальвадор Salvador El Salvador 萨尔瓦多 薩爾瓦多
SX سانت مارتن Сінт-Мартэн Синт Мартен Sint Maarten Sint Marten Sint Maarten Svatý Martin (Nizozemsko) Sint Maarten Sint Maarten Άγιος Μαρτίνος (Ολλανδικό τμήμα) Sint Maarten Sint Maarten Sint Maarten Sint Maarten Sint Maarten سنت مارتن Sint Maarten Saint-Martin (partie néerlandaise) Saint-Martin (partie néerlandaise) Sint Maarten Sint Maarten Sint Maarten סנט מארטן Sint Maarten Sint Maarten Sint Maarten Sint Maarten Sankti Martin Sint Maarten シント・マールテン 신트마르턴 Sint Maarten Синт-Мартен Sint Martenas Sintmārtena സിന്റ് മാർട്ടെൻ Синт Мартен Sint Maarten Sint-Maarten Sint Maarten Sint Maarten Sint Maarten Sint Maarten Sint Maarten Sint-Maarten Синт-Мартен Svätý Martin (hol.) Sint Maarten Sint-Marten Свети Мартин (Холандија) Sint Maarten Sint Maarten ซินต์มาร์เทน Sint Maarten Синт-Мартен Сінт-Мартен Sint-Marten Sint Maarten 荷属圣马丁 荷屬聖馬丁
SY سوريا Сірыя Сирия Siria Sirija Síria Sýrie Syrien Syrien Συρία Syria Sirio Siria Süüria Siria سوریه Syyria Syrie Syrie an tSiria Siridhea Siria סוריה Sirija Szíria Syria Suriah Sýrland Siria シリア 시리아 Syria Сирия Sirija Sīrija സിറിയ Сири Syria Syrië Syria Syria Syria Síria Síria Siria Сирия Sýria Sirija Siri Сирија Syrien Syria ซีเรีย Suriye Сүрия Сирія Suriya Syria 叙利亚 敘利亞
TA تريستان دا كونا Трыстан-да-Кунья Тристан да Куня Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Τριστάν ντα Κούνια Tristan da Cunha Tristan da Cunha Tristán de Acuña Tristan da Cunha Tristan da Cunha تریستان دا کونا Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristán da Cunha טריסטן דה קונה Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha トリスタン・ダ・クーニャ 트리스탄다쿠나 Tristan da Cunha Тристан-да-Кунья Tristanas da Kunja Tristana da Kuņas salas ട്രിസ്റ്റൻ ഡ കൂന Тристан да Кунъя Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristão da Cunha Tristão da Cunha Tristan da Cunha Тристан-да-Кунья Tristan da Cunha Tristan da Cunha Tristan-da-Kuna Тристан да Куња Tristan da Cunha Tristan da Cunha ทริสตันดาคูนา Tristan da Cunha Tristan da Cunha Трістан-да-Кунья Tristan-da-Kunya Tristan da Cunha 特里斯坦-达库尼亚群岛 特里斯坦達庫尼亞群島
TC جزر توركس وكايكوس Астравы Цёркс і Кайкас острови Търкс и Кайкос Inizi Turks ha Caicos Ostrva Turks i Kaikos Illes Turks i Caicos Turks a Caicos Turks- og Caicosøerne Turks- und Caicosinseln Νήσοι Τερκς και Κάικος Turks & Caicos Islands Turks & Caicos Islands Islas Turcas y Caicos Turks ja Caicos Turk eta Caico uharteak جزایر تورکس و کایکوس Turks- ja Caicossaaret Îles Turques-et-Caïques Îles Turques-et-Caïques Oileáin na dTurcach agus Caicos Na h-Eileanan Turcach is Caiceo Illas Turks e Caicos איי טרקס וקייקוס Otoci Turks i Caicos Turks- és Caicos-szigetek Insulas Turcos e Caicos Kepulauan Turks dan Caicos Turks- og Caicoseyjar Isole Turks e Caicos タークス・カイコス諸島 터크스 케이커스 제도 Turks & Caicos Islands Түркс жана Кайкос аралдары Terkso ir Kaikoso Salos Tērksas un Kaikosas salas ടർക്ക്സും കെയ്ക്കോ ദ്വീപുകളും Турк ба Кайкосын Арлууд Turks- og Caicosøyene Turks- en Caicoseilanden Turks- og Caicosøyane Turks & Caicos Islands Turks i Caicos Ilhas Turcas e Caicos Ilhas Turcas e Caicos Insulele Turks și Caicos о-ва Тёркс и Кайкос Turks a Caicos Otoki Turks in Caicos Ishujt Turks dhe Kaikos Острва Туркс и Каикос Turks- och Caicosöarna Visiwa vya Turks na Caicos หมู่เกาะเติกส์และหมู่เกาะเคคอส Turks ve Caicos Adaları Теркс һәм Кайкос утраулары Острови Теркс і Кайкос Turks va Kaykos orollari Quần đảo Turks và Caicos 特克斯和凯科斯群岛 土克斯及開科斯群島
TD تشاد Чад Чад Tchad Čad Txad Čad Tchad Tschad Τσαντ Chad Ĉado Chad Tšaad Txad چاد Tšad Tchad Tchad Sead An t-Seàd Chad צ׳אד Čad Csád Tchad Cad Tsjad Ciad チャド 차드 Chad Чад Čadas Čada ഛാഡ് Чад Tsjad Tsjaad Tsjad Chad Czad Chade Chade Ciad Чад Čad Čad Çad Чад Tchad Chad ชาด Çad Чад Чад Chad Chad 乍得 查德
TF الأقاليم الجنوبية الفرنسية Французскія паўднёвыя тэрыторыі Френски южни територии Douaroù aostral Frañs Francuske Južne Teritorije Territoris Australs Francesos Francouzská jižní území De Franske Besiddelser i Det Sydlige Indiske Ocean og Antarktis Französische Süd- und Antarktisgebiete Γαλλικά Νότια Εδάφη French Southern Territories French Southern Territories Territorios Australes Franceses Prantsuse Lõunaalad Hegoaldeko lurralde frantsesak سرزمینهای جنوب فرانسه Ranskan eteläiset alueet Terres australes françaises Terres australes françaises Críocha Francacha Dheisceart an Domhain Ranntairean a Deas na Frainge Territorios Austrais Franceses הטריטוריות הדרומיות של צרפת Francuski južni i antarktički teritoriji Francia Déli Területek Territorios meridional francese Wilayah Selatan Perancis Frönsku suðlægu landsvæðin Terre australi francesi 仏領極南諸島 프랑스 남부 지방 French Southern Territories Франциянын Түштүктөгү аймактары Prancūzijos Pietų sritys Francijas Dienvidjūru teritorija ഫ്രഞ്ച് ദക്ഷിണ ഭൂപ്രദേശം Францын өмнөд газар нутаг De franske sørterritorier Franse Gebieden in de zuidelijke Indische Oceaan Dei franske sørterritoria French Southern Territories Francuskie Terytoria Południowe i Antarktyczne Territórios Franceses do Sul Territórios Franceses do Sul Teritoriile Australe și Antarctice Franceze Французские Южные территории Francúzske južné a antarktické územia Francosko južno ozemlje Territoret Jugore Franceze Француске Јужне Територије Franska sydterritorierna Himaya za Kusini za Kifaranza เฟรนช์เซาเทิร์นเทร์ริทอรีส์ Fransız Güney Toprakları Франциянең Көньяк Территорияләре Французькі Південні Території Fransuz Janubiy hududlari Lãnh thổ phía Nam Thuộc Pháp 法属南部领地 法屬南部屬地
TL تيمور - ليشتي Тымор-Лешці Източен Тимор Timor-Leste Istočni Timor Timor Oriental Východní Timor Timor-Leste Timor-Leste Τιμόρ-Λέστε Timor-Leste Timor-Leste Timor-Leste Ida-Timor Ekialdeko Timor تیمور-لسته Itä-Timor Timor oriental Timor oriental Tíomór Thoir Timor-Leste Timor Leste טימור-לסטה Timor-Leste Kelet-Timor Timor del Est Timor Leste Tímor-Leste Timor Est 東ティモール 동티모르 Timor-Leste Тимор-Лесте Rytų Timoras Austrumtimora തിമോർ-ലെസ്റ്റെ Тимор-Лесте Øst-Timor Oost-Timor Timor-Leste (Aust-Timor) Timor-Leste Timor Wschodni Timor-Leste Timor-Leste Timor-Leste Восточный Тимор Východný Timor Timor-Leste Timor-Leste Тимор-Лесте (Источни Тимор) Östtimor Timor-Leste ติมอร์-เลสเต Timor-Leste Тимор-Лесте Тімор-Лешті Timor-Leste Timor-Leste 东帝汶 東帝汶
TM تركمانستان Туркменістан Туркменистан Turkmenistan Turkmenistan Turkmenistan Turkmenistán Turkmenistan Turkmenistan Τουρκμενιστάν Turkmenistan Turkmenujo Turkmenistán Türkmenistan Turkmenistan ترکمنستان Turkmenistan Turkménistan Turkménistan an Tuircméanastáin Turcmanastàn Turkmenistán טורקמניסטן Turkmenistan Türkmenisztán Turkmenistan Turkimenistan Túrkmenistan Turkmenistan トルクメニスタン 투르크메니스탄 Turkmenistan Түркмөнстан Turkmėnistanas Turkmenistāna തുർക്ക്മെനിസ്ഥാൻ Туркменистан Turkmenistan Turkmenistan Turkmenistan Turkmenistan Turkmenistan Turcomenistão Turcomenistão Turkmenistan Туркменистан Turkménsko Turkmenistan Turkmenistan Туркменистан Turkmenistan Turkmenistan เติร์กเมนิสถาน Türkmenistan Төркмәнстан Туркменістан Turkmaniston Turkmenistan 土库曼斯坦 土庫曼
TR تركيا Турцыя Турция Turkia Turska Turquia Turecko Tyrkiet Türkei Τουρκία Turkey Turkujo Turquía Türgi Turkia ترکیه Turkki Turquie Turquie an Tuirc An Tuirc Turquía טורקיה Turska Törökország Turchia Turki Tyrkland Turchia トルコ 터키 Turkey Түркия Turkija Turcija തുർക്കി Турк Tyrkia Turkije Tyrkia Turkey Turcja Turquia Turquia Turcia Турция Turecko Turčija Turqi Турска Turkiet Uturuki ตุรกี Türkiye Төркия Туреччина Turkiya Thổ Nhĩ Kỳ 土耳其 土耳其
TT ترينيداد وتوباغو Трынідад іТабага Тринидад и Тобаго Trinidad ha Tobago Trinidad i Tobago Trinitat i Tobago Trinidad a Tobago Trinidad og Tobago Trinidad und Tobago Τρινιντάντ και Τομπάγκο Trinidad & Tobago Trinidado kaj Tobago Trinidad y Tobago Trinidad ja Tobago Trinidad eta Tobago ترینیداد و توباگو Trinidad ja Tobago Trinité-et-Tobago Trinité-et-Tobago Oileán na Tríonóide agus Tobága Trianaid agus Tobago Trinidad e Tobago טרינידד וטובגו Trinidad i Tobago Trinidad és Tobago Trinidad e Tobago Trinidad dan Tobago Trínidad og Tóbagó Trinidad e Tobago トリニダード・トバゴ 트리니다드 토바고 Trinidad & Tobago Тринидад жана Тобаго Trinidadas ir Tobagas Trinidāda un Tobāgo ട്രിനിഡാഡും ടുബാഗോയും Тринидад баТобаго Trinidad og Tobago Trinidad en Tobago Trinidad og Tobago Trinidad & Tobago Trynidad i Tobago Trinidad e Tobago Trinidad e Tobago Trinidad și Tobago Тринидад и Тобаго Trinidad a Tobago Trinidad in Tobago Trinidad e Tobago Тринидад и Тобаго Trinidad och Tobago Trinidad na Tobago ตรินิแดดและโตเบโก Trinidad ve Tobago Тринидад һәм Тобаго Трінідад і Тобаґо Trinidad va Tobago Trinidad và Tobago 特立尼达和多巴哥 千里達及托巴哥
TZ تنزانيا Танзанія Танзания Tanzania Tanzanija Tanzània Tanzanie Tanzania Tansania Τανζανία Tanzania Tanzanio Tanzania Tansaania Tanzania تانزانیا Tansania Tanzanie Tanzanie an Tansáin An Tansan Tanzania טנזניה Tanzanija Tanzánia Tanzania Tanzania Tansanía Tanzania タンザニア 탄자니아 Tanzania Танзания Tanzanija Tanzānija ടാൻസാനിയ Танзани Tanzania Tanzania Tanzania Tanzania Tanzania Tanzânia Tanzânia Tanzania Танзания Tanzánia Tanzanija Tanzani Танзанија Tanzania Tanzania แทนซาเนีย Tanzanya Танзания Танзанія Tanzaniya Tanzania 坦桑尼亚 坦尚尼亞
UA أوكرانيا Украіна Украйна Ukraina Ukrajina Ucraïna Ukrajina Ukraine Ukraine Ουκρανία Ukraine Ukrajno Ucrania Ukraina Ukraina اوکراین Ukraina Ukraine Ukraine an Úcráin An Ucràin Ucraína אוקראינה Ukrajina Ukrajna Ukraina Ukraina Úkraína Ucraina ウクライナ 우크라이나 Ukraine Украина Ukraina Ukraina ഉക്രെയ്ൻ Украин Ukraina Oekraïne Ukraina Ukraine Ukraina Ucrânia Ucrânia Ucraina Украина Ukrajina Ukrajina Ukrainë Украјина Ukraina Ukraine ยูเครน Ukrayna Украина Україна Ukraina Ukraina 乌克兰 烏克蘭
UM جزر الولايات المتحدة النائية Малыя Аддаленыя астравы ЗША Отдалечени острови на САЩ Inizi diabell ar Stadoù-Unanet Američka Vanjska Ostrva Illes Perifèriques Menors dels EUA Menší odlehlé ostrovy USA Amerikanske oversøiske øer Amerikanische Überseeinseln Απομακρυσμένες Νησίδες ΗΠΑ U.S. Outlying Islands Usonaj malgrandaj insuloj Islas menores alejadas de EE. UU. Ühendriikide hajasaared Ameriketako Estatu Batuetako Kanpoaldeko Uharte Txikiak جزایر دورافتادهٔ ایالات متحده Yhdysvaltain erillissaaret Îles mineures éloignées des États-Unis Îles mineures éloignées des États-Unis Oileáin Imeallacha S.A.M. Meanbh-Eileanan Iomallach nan SA Illas Menores Distantes dos Estados Unidos האיים המרוחקים הקטנים של ארה״ב Mali udaljeni otoci SAD-a Az USA lakatlan külbirtokai U.S. Outlying Islands Kepulauan Terluar A.S. Smáeyjar Bandaríkjanna Altre isole americane del Pacifico 合衆国領有小離島 미국령 해외 제도 U.S. Outlying Islands АКШнын сырткы аралдары Jungtinių Valstijų Mažosios Tolimosios Salos ASV Mazās Aizjūras salas യു.എസ്. ദ്വീപസമൂഹങ്ങൾ Америкийн Нэгдсэн Улсын бага арлууд USAs ytre øyer Kleine afgelegen eilanden van de Verenigde Staten USAs ytre småøyar U.S. Outlying Islands Dalekie Wyspy Mniejsze Stanów Zjednoczonych Ilhas Menores Distantes dos EUA Ilhas Menores Distantes dos EUA Insulele Îndepărtate ale S.U.A. Внешние малые о-ва (США) Menšie odľahlé ostrovy USA Stranski zunanji otoki Združenih držav Ishujt Periferikë të SHBA-së Удаљена острва САД USA:s yttre öar Visiwa Vidogo vya Nje vya Marekani หมู่เกาะรอบนอกของสหรัฐอเมริกา ABD Küçük Harici Adaları АКШ Кече Читтәге утраулары Віддалені острови США AQSH yondosh orollari Các tiểu đảo xa của Hoa Kỳ 美国本土外小岛屿 美國本土外小島嶼
US الولايات المتحدة Злучаныя Штаты Съединени щати Stadoù-Unanet Sjedinjene Države Estats Units Spojené státy USA Vereinigte Staaten Ηνωμένες Πολιτείες United States Usono Estados Unidos Ameerika Ühendriigid Ameriketako Estatu Batuak ایالات متحده Yhdysvallat États-Unis États-Unis Stáit Aontaithe Mheiriceá Na Stàitean Aonaichte Os Estados Unidos ארצות הברית Sjedinjene Američke Države Egyesült Államok Statos Unite Amerika Serikat Bandaríkin Stati Uniti アメリカ合衆国 미국 Statys Unys Кошмо Штаттар Jungtinės Valstijos Amerikas Savienotās Valstis അമേരിക്കൻ ഐക്യനാടുകൾ Америкийн Нэгдсэн Улс USA Verenigde Staten USA АИШ Stany Zjednoczone Estados Unidos Estados Unidos Statele Unite ale Americii Соединенные Штаты Spojené štáty Združene države Amerike SHBA Сједињене Државе USA Marekani สหรัฐอเมริกา Amerika Birleşik Devletleri АКШ Сполучені Штати Amerika Qo‘shma Shtatlari Hoa Kỳ 美国 美國
VA الفاتيكان Ватыкан Ватикан Vatikan Vatikan Ciutat del Vaticà Vatikán Vatikanstaten Vatikanstadt Βατικανό Vatican City Vatikano Ciudad del Vaticano Vatikan Vatikano Hiria واتیکان Vatikaani État de la Cité du Vatican État de la Cité du Vatican Cathair na Vatacáine Cathair na Bhatacain Cidade do Vaticano הוותיקן Vatikanski Grad Vatikán Citate del Vaticano Vatikan Vatíkanið Città del Vaticano バチカン市国 바티칸 시국 Vatican City Ватикан Vatikano Miesto Valstybė Vatikāns വത്തിക്കാൻ Ватикан хот улс Vatikanstaten Vaticaanstad Vatikanstaten Vatican City Watykan Cidade do Vaticano Cidade do Vaticano Statul Cetății Vaticanului Ватикан Vatikán Vatikan Vatikan Ватикан Vatikanstaten Mji wa Vatican นครวาติกัน Vatikan Vatican City Ватикан Vatikan Thành Vatican 梵蒂冈 梵蒂岡
VC سانت فنسنت وجزر غرينادين Сент-Вінсент і Грэнадзіны Сейнт Винсънт и Гренадини Sant Visant hag ar Grenadinez Sveti Vinsent i Grenadin Saint Vincent i les Grenadines Svatý Vincenc a Grenadiny Saint Vincent og Grenadinerne St. Vincent und die Grenadinen Άγιος Βικέντιος και Γρεναδίνες St. Vincent & Grenadines Sent-Vincento kaj la Grenadinoj San Vicente y las Granadinas Saint Vincent ja Grenadiinid Saint Vincent eta Grenadinak سنت وینسنت و گرنادین Saint Vincent ja Grenadiinit Saint-Vincent-et-les-Grenadines Saint-Vincent-et-les-Grenadines San Uinseann agus na Greanáidíní Naomh Bhionsant agus Eileanan Greanadach San Vicente e As Granadinas סנט וינסנט והגרנדינים Sveti Vincent i Grenadini Saint Vincent és a Grenadine-szigetek Sancte Vincente e le Grenadinas Saint Vincent dan Grenadine Sankti Vinsent og Grenadíneyjar Saint Vincent e Grenadine セントビンセント及びグレナディーン諸島 세인트빈센트그레나딘 St. Vincent & Grenadines Сент-Винсент жана Гренадиндер Šventasis Vincentas ir Grenadinai Sentvinsenta un Grenadīnas സെന്റ് വിൻസെന്റും ഗ്രനെഡൈൻസും Сент-Винсент ба Гренадин St. Vincent og Grenadinene Saint Vincent en de Grenadines St. Vincent og Grenadinane St. Vincent & Grenadines Saint Vincent i Grenadyny São Vicente e Granadinas São Vicente e Granadinas Saint Vincent și Grenadinele Сент-Винсент и Гренадины Svätý Vincent a Grenadíny Saint Vincent in Grenadine Shën-Vincent dhe Grenadine Сент Винсент и Гренадини S:t Vincent och Grenadinerna St. Vincent na Grenadines เซนต์วินเซนต์และเกรนาดีนส์ Saint Vincent ve Grenadinler Сент-Винсент һәм Гренадин Сент-Вінсент і Ґренадіни Sent-Vinsent va Grenadin St. Vincent và Grenadines 圣文森特和格林纳丁斯 聖文森及格瑞那丁
VG جزر فيرجن البريطانية Брытанскія Віргінскія астравы Британски Вирджински острови Inizi Gwercʼh Breizh-Veur Britanska Djevičanska ostrva Illes Verges Britàniques Britské Panenské ostrovy De Britiske Jomfruøer Britische Jungferninseln Βρετανικές Παρθένες Νήσοι British Virgin Islands Britaj Virgulininsuloj Islas Vírgenes Británicas Briti Neitsisaared Birjina uharte britainiarrak جزایر ویرجین بریتانیا Brittiläiset Neitsytsaaret Îles Vierges britanniques Îles Vierges britanniques Oileáin Bhriotanacha na Maighdean Eileanan Breatannach na Maighdinn Illas Virxes Británicas איי הבתולה הבריטיים Britanski Djevičanski otoci Brit Virgin-szigetek British Virgin Islands Kepulauan Virgin Britania Raya Bresku Jómfrúaeyjar Isole Vergini Britanniche 英領ヴァージン諸島 영국령 버진아일랜드 British Virgin Islands Виргин аралдары (Британия) Didžiosios Britanijos Mergelių Salos Britu Virdžīnas ബ്രിട്ടീഷ് വെർജിൻ ദ്വീപുകൾ Британийн Виржиний арлууд De britiske jomfruøyene Britse Maagdeneilanden Dei britiske Jomfruøyane British Virgin Islands Brytyjskie Wyspy Dziewicze Ilhas Virgens Britânicas Ilhas Virgens Britânicas Insulele Virgine Britanice Виргинские о-ва (Великобритания) Britské Panenské ostrovy Britanski Deviški otoki Ishujt e Virgjër Britanikë Британска Девичанска Острва Brittiska Jungfruöarna Visiwa vya Virgin, Uingereza หมู่เกาะบริติชเวอร์จิน Britanya Virjin Adaları Британия Виргин утраулары Британські Віргінські острови Britaniya Virgin orollari Quần đảo Virgin thuộc Anh 英属维尔京群岛 英屬維京群島
VI جزر فيرجن التابعة للولايات المتحدة Амерыканскія Віргінскія астравы Американски Вирджински острови Inizi Gwercʼh ar Stadoù-Unanet Američka Djevičanska ostrva Illes Verges Nord-americanes Americké Panenské ostrovy De Amerikanske Jomfruøer Amerikanische Jungferninseln Αμερικανικές Παρθένες Νήσοι U.S. Virgin Islands Usonaj Virgulininsuloj Islas Vírgenes de EE. UU. USA Neitsisaared Birjina uharte amerikarrak جزایر ویرجین ایالات متحده Yhdysvaltain Neitsytsaaret Îles Vierges des États-Unis Îles Vierges des États-Unis Oileáin Mheiriceánacha na Maighdean Eileanan na Maighdinn aig na SA Illas Virxes Estadounidenses איי הבתולה של ארצות הברית Američki Djevičanski otoci Amerikai Virgin-szigetek U.S. Virgin Islands Kepulauan Virgin Amerika Serikat Bandarísku Jómfrúaeyjar Isole Vergini Americane 米領ヴァージン諸島 미국령 버진아일랜드 U.S. Virgin Islands Виргин аралдары (АКШ) Jungtinių Valstijų Mergelių Salos ASV Virdžīnas യു.എസ്. വെർജിൻ ദ്വീപുകൾ АНУ-ын Виржиний арлууд De amerikanske jomfruøyene Amerikaanse Maagdeneilanden Dei amerikanske Jomfruøyane U.S. Virgin Islands Wyspy Dziewicze Stanów Zjednoczonych Ilhas Virgens Americanas Ilhas Virgens Americanas Insulele Virgine Americane Виргинские о-ва (США) Americké Panenské ostrovy Ameriški Deviški otoki Ishujt e Virgjër të SHBA-së Америчка Девичанска Острва Amerikanska Jungfruöarna Visiwa vya Virgin, Marekani หมู่เกาะเวอร์จินของสหรัฐอเมริกา ABD Virjin Adaları АКШ Виргин утраулары Віргінські острови, США AQSH Virgin orollari Quần đảo Virgin thuộc Mỹ 美属维尔京群岛 美屬維京群島
WF جزر والس وفوتونا Уоліс і Футуна Уолис и Футуна Wallis ha Futuna Ostrva Valis i Futuna Wallis i Futuna Wallis a Futuna Wallis og Futuna Wallis und Futuna Γουάλις και Φουτούνα Wallis & Futuna Valiso kaj Futuno Wallis y Futuna Wallis ja Futuna Wallis eta Futuna والیس و فوتونا Wallis ja Futuna Wallis-et-Futuna Wallis-et-Futuna Vailís agus Futúna Uallas agus Futuna Wallis e Futuna איי ווליס ופוטונה Wallis i Futuna Wallis és Futuna Wallis & Futuna Kepulauan Wallis dan Futuna Wallis- og Fútúnaeyjar Wallis e Futuna ウォリス・フツナ 왈리스-푸투나 제도 Wallis & Futuna Уоллис жана Футуна Volisas ir Futūna Volisa un Futunas salas വാലിസ് ആന്റ് ഫ്യൂച്യുന Уоллис ба Футуна Wallis og Futuna Wallis en Futuna Wallis og Futuna Wallis & Futuna Wallis i Futuna Wallis e Futuna Wallis e Futuna Wallis și Futuna Уоллис и Футуна Wallis a Futuna Wallis in Futuna Uollis e Futuna Валис и Футуна Wallis- och Futunaöarna Wallis na Futuna วาลลิสและฟุตูนา Wallis ve Futuna Уоллис һәм Футуна Уолліс і Футуна Uollis va Futuna Wallis và Futuna 瓦利斯和富图纳 瓦利斯群島和富圖那群島
XK كوسوفو Косава Косово Kosovo Kosovo Kosovo Kosovo Kosovo Kosovo Κοσσυφοπέδιο Kosovo Kosovo Kosovo Kosovo Kosovo کوزوو Kosovo Kosovo Kosovo an Chosaiv A’ Chosobho Kosovo קוסובו Kosovo Koszovó Kosovo Kosovo Kósóvó Kosovo コソボ 코소보 Kosovo Косово Kosovas Kosova കൊസോവൊ Косово Kosovo Kosovo Kosovo Kosovo Kosowo Kosovo Kosovo Kosovo Косово Kosovo Kosovo Kosovë Косово Kosovo Kosovo โคโซโว Kosova Косово Косово Kosovo Kosovo 科索沃 科索沃
ZA جنوب أفريقيا Паўднёва-Афрыканская Рэспубліка Южна Африка Suafrika Južnoafrička Republika República de Sud-àfrica Jihoafrická republika Sydafrika Südafrika Νότια Αφρική South Africa Sud-Afriko Sudáfrica Lõuna-Aafrika Vabariik Hegoafrika افریقای جنوبی Etelä-Afrikka Afrique du Sud Afrique du Sud an Afraic Theas Afraga a Deas Suráfrica דרום אפריקה Južnoafrička Republika Dél-afrikai Köztársaság Sudafrica Afrika Selatan Suður-Afríka Sudafrica 南アフリカ 남아프리카 South Africa Түштүк-Африка Республикасы Pietų Afrika Dienvidāfrikas Republika ദക്ഷിണാഫ്രിക്ക Өмнөд Африк Sør-Afrika Zuid-Afrika Sør-Afrika South Africa Republika Południowej Afryki África do Sul África do Sul Africa de Sud Южно-Африканская Республика Južná Afrika Južnoafriška republika Afrika e Jugut Јужноафричка Република Sydafrika Afrika Kusini แอฟริกาใต้ Güney Afrika Көньяк Африка Південно-Африканська Республіка Janubiy Afrika Respublikasi Nam Phi 南非 南非
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.