fluffystuff / openriichi Goto Github PK
View Code? Open in Web Editor NEWAn open source riichi mahjong client
License: GNU General Public License v3.0
An open source riichi mahjong client
License: GNU General Public License v3.0
When I tried building the project on arch linux I got the following error
error: Delegates with target are not supported as array element type
public SDL.AudioFilter filters[10];
I tried googling the error but didn't find much of use.
After building and running the current master on Linux, the terminal is spammed full of assertion failures.
...
[2020-04-11_23-17-57] ERROR from glib(01): engine_render_texture_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_render_texture_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_render_texture_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
...
Would be great to play the game without worrying about the timer, and if there was an option to do so in settings to toggle it on or off.
On a WQHD screen, the score in the middle of the table is not too easy to read despite there being enough space to increase its size. Maybe some outline would also improve readability.
I think it would be nice having a way to play a custom music in background. No offense to anyone but I find the current one not very appropriate for focusing.
I couldn't find a way to add a different music therefore I decided to open this ticket. I would suggest an option in the "Audio Options" where the user could select the wanted music.
I know some open source programs have issues with royalties for formats like mp3, therefore the open format ogg could be used instead.
Since the Engine repo is an explicit dependency of this repo, it should be included in the repo as a git subtree (or perhaps a git submodule). If that's done, the Makefile can instead reference an Engine folder in the repo instead of relying on the user to manually clone the other repo and mandating that it's cloned in ../Engine. This would also make it easier to clean up because one would only have to delete this repo's folder instead of the folders for this repo and Engine.
When you enter Exhaustive Draw, the program does not correctly give everyone that is in tenpai 1000 points, but it does seem to deduct the correct amount from players not in tenpai.
I'll attach a screenshot the next time I encounter the situation, I didn't expect an issue V_V
Windows 11, v0.2.1.1, installed with setup wizard.
As the title says, a chi i called made my hand lose value because in my hand i had a 5, a red 5 and a 6, and the person left of me discarded a 4. when i called chi i had no option to choose which 5 to use and so it defaulted to using the normal 5, forcing me to discard the red five since it was no longer useful. is this intentional?
At the moment there is no easy way to pause the game (at the least I couldn't find it). Pressing 'esc' pop-ups the option menu, which I just realized doesn't put the game in pause. I suggest to put the game in pause while the menu is on, and if possible also to add a "quick pause button" which many media players and games use as pause button (space bar).
When following the instructions I get to build and enter "meson build -Dbuildtype=release" and get the error: "Neither directory contains a build file meson.build." What could be wrong?
Hi there, I'm running v0.2.1.1
on Windows 10 and getting Error: Could not connect to lobby
, is there anything I can do about it or are my hands tied? If I try to create my own server instead what name should I give to those that want to join it?
I built the executable with...
brew install vala lcsfml sfml csfml libgee libffi git
# replace the value of libffi with your actual libffi
# find it like this
# brew ls libffi
export PKG_CONFIG_PATH=/usr/local/Cellar/libffi/3.2.1/lib/pkgconfig/
git clone https://github.com/FluffyStuff/OpenRiichi.git
git clone https://github.com/FluffyStuff/Engine.git
cd OpenRiichi
make mac
... and it works fine, but how do I make an actual packaged application to give to my friends?
The called tile should always be on the left, instead of having the tiles be in order like this. See http://arcturus.su/wiki/Chii#Chii
Hi, first of all thank you for the hard work @FluffyStuff. I would like to ask whether in the future you plan to provide easy to install packages for Windows and the major linux distros (or even better ask to have OpenRiichi added to the official repos). It would increase the userbase and attract players and contributors I think. Not everyone is able to use terminal. I will try on my Ubuntu and report any feedback/issue I have.
Having difficulties pinpointing exactly when/how this occurs, but I've found having the program open for multiple hours eventually leads to a full system lockup and having to hard reset. This is on Manjaro Linux, will test more to see if I can figure out more details
Hi, I'd like to request a learning mode that does away with the timer so new players who all agree can take more time to figure out what yaku they may have.
Additionally learning mode could maybe have a rules dictionary with a legal yaku list, maybe you can select a yaku from here to watch which would make it appear to the player under/over their hand.
┌─[phoe][phoetower][±][master ✓][/tmp/foo/OpenRiichi]
└─▪ make release
valac -o bin/OpenRiichi ../Engine/*.vala ../Engine/Audio/*.vala ../Engine/Files/*.vala ../Engine/Helper/*.vala ../Engine/Properties/*.vala ../Engine/Rendering/*.vala ../Engine/Rendering/OpenGLRenderer/*.vala ../Engine/Window/*.vala ../Engine/Window/Controls/*.vala source/*.vala source/Game/*.vala source/Game/Logic/*.vala source/Game/Rendering/*.vala source/Game/Rendering/Menu/*.vala source/GameServer/Bots/*.vala source/GameServer/GameState/*.vala source/GameServer/Server/*.vala source/MainMenu/*.vala source/MainMenu/Lobby/*.vala --thread --target-glib 2.32 --pkg gio-2.0 --pkg glew --pkg gee-0.8 --pkg gl --pkg SDL2_image --pkg sdl2 --pkg stb --pkg pangoft2 --pkg sfml-audio --pkg sfml-system --pkg zlib --pkg win32 -X -lcsfml-audio -X -lcsfml-system -X -Iinclude -X -lm --vapidir=vapi -X -w -X -DGLEW_NO_GLU -D LINUX
Command-line option `--thread` is deprecated and will be ignored
gee-0.8.vapi:15.3-15.26: warning: Creation method of abstract class cannot be public.
public AbstractBidirList ();
^^^^^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:21.3-21.31: warning: Creation method of abstract class cannot be public.
public AbstractBidirSortedMap ();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:27.3-27.31: warning: Creation method of abstract class cannot be public.
public AbstractBidirSortedSet ();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:33.3-33.27: warning: Creation method of abstract class cannot be public.
public AbstractCollection ();
^^^^^^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:46.3-46.21: warning: Creation method of abstract class cannot be public.
public AbstractList ();
^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:58.3-58.20: warning: Creation method of abstract class cannot be public.
public AbstractMap ();
^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:78.3-78.25: warning: Creation method of abstract class cannot be public.
public AbstractMultiMap (Gee.Map<K,Gee.Collection<V>> storage_map);
^^^^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:87.3-87.25: warning: Creation method of abstract class cannot be public.
public AbstractMultiSet (Gee.Map<G,int> storage_map);
^^^^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:99.3-99.22: warning: Creation method of abstract class cannot be public.
public AbstractQueue ();
^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:108.3-108.20: warning: Creation method of abstract class cannot be public.
public AbstractSet ();
^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:113.3-113.26: warning: Creation method of abstract class cannot be public.
public AbstractSortedMap ();
^^^^^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:122.3-122.26: warning: Creation method of abstract class cannot be public.
public AbstractSortedSet ();
^^^^^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:657.4-657.15: warning: Creation method of abstract class cannot be public.
public Entry ();
^^^^^^^^^^^^
../Engine/Rendering/RenderObject3D.vala:3.5-3.25: error: Creation method of abstract class cannot be public.
public RenderObject3D(RenderModel model, RenderMaterial material)
^^^^^^^^^^^^^^^^^^^^^
../Engine/Rendering/RenderTarget.vala:36.5-36.23: error: Creation method of abstract class cannot be public.
public RenderTarget(IWindowTarget window)
^^^^^^^^^^^^^^^^^^^
../Engine/Window/RenderWindow.vala:11.5-11.23: error: Creation method of abstract class cannot be public.
public RenderWindow(IWindowTarget window, RenderTarget renderer)
^^^^^^^^^^^^^^^^^^^
../Engine/Window/Controls/ListControl.vala:13.5-13.22: error: Creation method of abstract class cannot be public.
public ListControl(bool row_selectable)
^^^^^^^^^^^^^^^^^^
source/Game/Logic/GameLog.vala:127.5-127.22: error: Creation method of abstract class cannot be public.
public GameLogLine(TimeStamp timestamp)
^^^^^^^^^^^^^^^^^^
source/Game/Rendering/RenderAction.vala:5.5-5.23: error: Creation method of abstract class cannot be public.
public RenderAction(float time)
^^^^^^^^^^^^^^^^^^^
source/GameServer/Server/ServerPlayer.vala:5.9-5.27: error: Creation method of abstract class cannot be public.
public ServerPlayer(string name, bool bot)
^^^^^^^^^^^^^^^^^^^
source/MainMenu/OptionsMenuView.vala:120.5-120.29: error: Creation method of abstract class cannot be public.
public SubOptionsMenuView(string name, Options options, string apply_text, string back_text, int padding)
^^^^^^^^^^^^^^^^^^^^^^^^^
Compilation failed: 8 error(s), 13 warning(s)
make: *** [Makefile:63: release] Błąd 1
julia@DESKTOP-6FNMMLT MINGW64 ~/OpenRiichi $ ninja -C build ninja: Entering directory build [1/1] Linking target OpenRiichi.exe FAILED: OpenRiichi.exe cc @OpenRiichi.exe.rsp cc: error: libgl@: No such file or directory ninja: build stopped: subcommand failed.
Sorry to be a pain in the rear but I do free online teaching sessions on getting to grips with the basics of mahjong and would love to have an alternative to tabletop simulator for teaching because that gets too messy, too fast and a hanchan takes a minimum of 2 hours. Being able to remove or extend it would be a nice little touch in terms of accessibility of mahjong as a whole, not just this version
Cheers for your consideration [and sorry for potentially increasing your never ending to-do list]
I don't know if this is beyond the scope of OpenRiichi, but given the scarcity of such project I try anyway. It would be nice being able to play with the Chinese rules as classic Mahjong rather than Japanese. Is it going to happen anytime?
I can't compile in windows can you help me
It appears the game attempts to scale for a 16:9 resolution, although on the left and right there is some space that is unused. When the window is resized towards a 4:3 aspect ratio, the table shrinks even if it could have fit onto the new window size as well, just so it can maintain the "borders" on the side.
When points are distrbuted after a round, there is this gimmicky number count-down and add-up that takes quite a bit of time and also has some annoying sound effects that I'd prefer not to hear. I'd like to disable these (or remove them all together).
Hi I follow OpenRiichi closely as I am interested in mahjong and I feel OR is the best FOSS of its kind (and also compared to non-FOSS it is really good). The last commit was months ago and was wondering what's the status of the project. What are the short-term plans for OpenRiichi? Hope this project is not dead.
Best Regards.
❯ ./RiichiMahjong
OPEN_GL_SHADER_SHADER_TYPE_VERTEX_SHADER shader compilation failure!
ERROR: 0:24: Invalid storage qualifiers 'in' in global variable context
ERROR: 0:25: Invalid storage qualifiers 'in' in global variable context
ERROR: 0:26: Invalid storage qualifiers 'in' in global variable context
ERROR: 0:28: Invalid storage qualifiers 'out varying' in global variable context
ERROR: 0:29: Invalid storage qualifiers 'out varying' in global variable context
ERROR: 0:30: Invalid storage qualifiers 'out varying' in global variable context
ERROR: 0:34: Use of undeclared identifier 'position'
ERROR: 0:35: Use of undeclared identifier 'mod_pos'
ERROR: 0:36: Use of undeclared identifier 'normal'
ERROR: 0:44: Use of undeclared identifier 'mod_pos'
ERROR: 0:54: Use of undeclared identifier 'light_normal'
ERROR: 0:55: Use of undeclared identifier 'light_normal'
ERROR: 0:56: Use of undeclared identifier 'frag_camera_normal'
ERROR: 0:58: Use of undeclared identifier 'frag_normal'
ERROR: 0:58: Use of undeclared identifier 'ln'
ERROR: 0:60: Use of undeclared identifier 'd'
ERROR: 0:61: Use of undeclared identifier 'd'
ERROR: 0:61: Use of undeclared identifier 'lnlen'
ERROR: 0:62: Use of undeclared identifier 'd'
ERROR: 0:62: Use of undeclared identifier 'lnlen'
ERROR: 0:68: Use of undeclared identifier 'ln'
ERROR: 0:68: Use of undeclared identifier 'frag_normal'
ERROR: 0:70: Use of undeclared identifier 'cm'
ERROR: 0:70: Use of undeclared identifier 'ln'
ERROR: 0:70: Use of undeclared identifier 'frag_normal'
ERROR: 0:72: Use of undeclared identifier 's'
ERROR: 0:73: Use of undeclared identifier 's'
ERROR: 0:74: Use of undeclared identifier 's'
ERROR: 0:75: Use of undeclared identifier 's'
ERROR: 0:79: Use of undeclared identifier 'lnlen'
ERROR: 0:80: Use of undeclared identifier 'lnlen'
ERROR: 0:89: Use of undeclared identifier 'frag_camera_normal'
ERROR: 0:90: Use of undeclared identifier 'light_color_original'
ERROR: 0:90: Use of undeclared identifier 'p'
ERROR: 0:91: Use of undeclared identifier 'light_color_additive'
ERROR: 0:91: Use of undeclared identifier 'p'
ERROR: 0:93: Use of undeclared identifier 'frag_texture_coord'
ERROR: 0:93: Use of undeclared identifier 'texture_coord'
ERROR: 0:94: Use of undeclared identifier 'position'
Setup:
We have 3 pc's at home where 2 of them show this graphical glitch in the game
specs of one of the pc with the issue:
Intel i7-3770k
radeon RX580 (radeon software version 20.4.2)
Windows 10 pro 1903
Shows glitch as seen in attached gif
the only diffrence is that the working pc has a nvidia gfx card
I tried the following to see if i could fix the issue:
tried all settings the game has to offer including fullscreen
updated drivers
made sure radeon settings werent messing with the game
tried windows compatibility mode.
Forword: I hope I am not annoying devs by openng my third ticket in a couple of hours, I just started playing OpenRiichi and wanted to give my feedbacks as user.
Second foreword: wth my suggestion I don't want to go against tradition or offend the purists of the traditional game.
I opened this ticket to propose to add the option for the user to chose an alternate tile set which displays Arabic numbers on the corner of the tiles, what I am talking about is: https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Ordinary_mahjong.jpg/330px-Ordinary_mahjong.jpg.
It would really help players who don't understand Chinese characters. I have no issue looking at bamboos but like the majority of people who don't speak Chinese, I really struggle with the tiles with Hanzi.
True I could learn the symbols and perhaps someday I will, but I know that in North America is common practice playing with the variant of tiles I am talking about, hence my humble request.
The option could be chosen by the user and have traditional tiles by default.
Best Regards,
I've just played a round with 2 others and both of them had issues with the riichi and chi buttons seeming unresponsive when most likely they had to make a choice for building a meld or discarding a tile. However, the UI didn't do a good job in reflecting that.
I know from other implementations (mobile, web) that they highlight the tiles that can be thrown out and for chi they provide the exact options to build a meld that to choose from. I believe this to be much better UX.
⋊> ~/c/OpenRiichi on master ◦ ninja -C build 08:45:44
ninja: Entering directory `build'
[1/1] Linking target OpenRiichi
FAILED: OpenRiichi
cc -o OpenRiichi OpenRiichi.p/meson-generated_source_main.c.o OpenRiichi.p/meson-generated_source_Environment.c.o OpenRiichi.p/meson-generated_source_Game_GameController.c.o OpenRiichi.p/meson-generated_source_Game_Logic_AnimationTimings.c.o OpenRiichi.p/meson-generated_source_Game_Logic_ClientAction.c.o OpenRiichi.p/meson-generated_source_Game_Logic_ClientMessage.c.o OpenRiichi.p/meson-generated_source_Game_Logic_ClientRoundState.c.o OpenRiichi.p/meson-generated_source_Game_Logic_GameLog.c.o OpenRiichi.p/meson-generated_source_Game_Logic_GamePlayer.c.o OpenRiichi.p/meson-generated_source_Game_Logic_GameStartInfo.c.o OpenRiichi.p/meson-generated_source_Game_Logic_GameState.c.o OpenRiichi.p/meson-generated_source_Game_Logic_IGameConnection.c.o OpenRiichi.p/meson-generated_source_Game_Logic_LobbyMessages.c.o OpenRiichi.p/meson-generated_source_Game_Logic_RoundLog.c.o OpenRiichi.p/meson-generated_source_Game_Logic_RoundState.c.o OpenRiichi.p/meson-generated_source_Game_Logic_ServerAction.c.o OpenRiichi.p/meson-generated_source_Game_Logic_ServerMessage.c.o OpenRiichi.p/meson-generated_source_Game_Logic_Tile.c.o OpenRiichi.p/meson-generated_source_Game_Logic_TileRules.c.o OpenRiichi.p/meson-generated_source_Game_Logic_TimeStamp.c.o OpenRiichi.p/meson-generated_source_Game_Logic_VersionInfo.c.o OpenRiichi.p/meson-generated_source_Game_MusicPlayer.c.o OpenRiichi.p/meson-generated_source_Game_Options.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_GameAnimationTimings.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_GameRenderView.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_GameScene.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_IGameRenderer.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_Menu_GameEscapeMenuView.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_Menu_GameMenuButton.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_Menu_GameMenuView.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_Menu_ScoringDoraView.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_Menu_ScoringHandView.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_Menu_ScoringInnerView.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_Menu_ScoringPlayerElement.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_Menu_ScoringPointsView.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_Menu_ScoringStickView.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_Menu_ScoringView.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_RenderAction.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_RenderCalls.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_RenderHand.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_RenderPlayer.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_RenderPond.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_RenderStick.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_RenderTable.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_RenderTile.c.o OpenRiichi.p/meson-generated_source_Game_Rendering_RenderWall.c.o OpenRiichi.p/meson-generated_source_Game_ServerSettings.c.o OpenRiichi.p/meson-generated_source_GameServer_Bots_Bot.c.o OpenRiichi.p/meson-generated_source_GameServer_Bots_BotConnection.c.o OpenRiichi.p/meson-generated_source_GameServer_Bots_NullBot.c.o OpenRiichi.p/meson-generated_source_GameServer_Bots_SimpleBot.c.o OpenRiichi.p/meson-generated_source_GameServer_GameState_ServerRoundState.c.o OpenRiichi.p/meson-generated_source_GameServer_GameState_ServerRoundStatePlayer.c.o OpenRiichi.p/meson-generated_source_GameServer_GameState_ServerRoundStateValidator.c.o OpenRiichi.p/meson-generated_source_GameServer_Server_Server.c.o OpenRiichi.p/meson-generated_source_GameServer_Server_ServerController.c.o OpenRiichi.p/meson-generated_source_GameServer_Server_ServerGameRound.c.o OpenRiichi.p/meson-generated_source_GameServer_Server_ServerMenu.c.o OpenRiichi.p/meson-generated_source_GameServer_Server_ServerNetworking.c.o OpenRiichi.p/meson-generated_source_GameServer_Server_ServerPlayer.c.o OpenRiichi.p/meson-generated_source_MainMenu_AboutMenuView.c.o OpenRiichi.p/meson-generated_source_MainMenu_CreateServerView.c.o OpenRiichi.p/meson-generated_source_MainMenu_InformationMenuView.c.o OpenRiichi.p/meson-generated_source_MainMenu_JoinMenuView.c.o OpenRiichi.p/meson-generated_source_MainMenu_Lobby_LobbyConnection.c.o OpenRiichi.p/meson-generated_source_MainMenu_Lobby_LobbyConnectionView.c.o OpenRiichi.p/meson-generated_source_MainMenu_Lobby_LobbyGameListControl.c.o OpenRiichi.p/meson-generated_source_MainMenu_Lobby_LobbyInformationListControl.c.o OpenRiichi.p/meson-generated_source_MainMenu_Lobby_LobbyUserListControl.c.o OpenRiichi.p/meson-generated_source_MainMenu_Lobby_LobbyView.c.o OpenRiichi.p/meson-generated_source_MainMenu_MainMenuBackgroundView.c.o OpenRiichi.p/meson-generated_source_MainMenu_MainMenuView.c.o OpenRiichi.p/meson-generated_source_MainMenu_MenuSubView.c.o OpenRiichi.p/meson-generated_source_MainMenu_MultiplayerMenuView.c.o OpenRiichi.p/meson-generated_source_MainMenu_OptionItemControl.c.o OpenRiichi.p/meson-generated_source_MainMenu_OptionsMenuView.c.o OpenRiichi.p/meson-generated_source_MainMenu_SelectGameLogMenuView.c.o OpenRiichi.p/meson-generated_source_MainMenu_ServerMenuView.c.o OpenRiichi.p/meson-generated_source_MainMenu_ServerPlayerFieldView.c.o OpenRiichi.p/meson-generated_source_MainMenu_ServerSettingsView.c.o OpenRiichi.p/meson-generated_source_MainMenu_SingleplayerMenuView.c.o OpenRiichi.p/meson-generated_source_MainWindow.c.o OpenRiichi.p/meson-generated_source_Tests_HandTests.c.o OpenRiichi.p/meson-generated_Engine_Engine.c.o OpenRiichi.p/meson-generated_Engine_EngineLog.c.o OpenRiichi.p/meson-generated_Engine_Audio_AudioPlayer.c.o OpenRiichi.p/meson-generated_Engine_Files_FileLoader.c.o OpenRiichi.p/meson-generated_Engine_Files_ObjParser.c.o OpenRiichi.p/meson-generated_Engine_Helper_Calculations.c.o OpenRiichi.p/meson-generated_Engine_Helper_DeltaTimers.c.o OpenRiichi.p/meson-generated_Engine_Helper_EngineMutex.c.o OpenRiichi.p/meson-generated_Engine_Helper_Helper.c.o OpenRiichi.p/meson-generated_Engine_Helper_ImageLoader.c.o OpenRiichi.p/meson-generated_Engine_Helper_ImageLoadWrap.c.o OpenRiichi.p/meson-generated_Engine_Helper_Keys.c.o OpenRiichi.p/meson-generated_Engine_Helper_LabelLoader.c.o OpenRiichi.p/meson-generated_Engine_Helper_Networking.c.o OpenRiichi.p/meson-generated_Engine_Helper_RandomClass.c.o OpenRiichi.p/meson-generated_Engine_Helper_Threading.c.o OpenRiichi.p/meson-generated_Engine_Helper_Timers.c.o OpenRiichi.p/meson-generated_Engine_Properties_Animation.c.o OpenRiichi.p/meson-generated_Engine_Properties_Color.c.o OpenRiichi.p/meson-generated_Engine_Properties_Curve.c.o OpenRiichi.p/meson-generated_Engine_Properties_DeltaArgs.c.o OpenRiichi.p/meson-generated_Engine_Properties_Mat3.c.o OpenRiichi.p/meson-generated_Engine_Properties_Mat4.c.o OpenRiichi.p/meson-generated_Engine_Properties_Orientation.c.o OpenRiichi.p/meson-generated_Engine_Properties_Path.c.o OpenRiichi.p/meson-generated_Engine_Properties_Quat.c.o OpenRiichi.p/meson-generated_Engine_Properties_Ray.c.o OpenRiichi.p/meson-generated_Engine_Properties_Rectangle.c.o OpenRiichi.p/meson-generated_Engine_Properties_ScreenTypeEnum.c.o OpenRiichi.p/meson-generated_Engine_Properties_Size2.c.o OpenRiichi.p/meson-generated_Engine_Properties_Size2i.c.o OpenRiichi.p/meson-generated_Engine_Properties_Transform.c.o OpenRiichi.p/meson-generated_Engine_Properties_Vec2.c.o OpenRiichi.p/meson-generated_Engine_Properties_Vec2i.c.o OpenRiichi.p/meson-generated_Engine_Properties_Vec3.c.o OpenRiichi.p/meson-generated_Engine_Properties_Vec4.c.o OpenRiichi.p/meson-generated_Engine_Rendering_BasicGeometry.c.o OpenRiichi.p/meson-generated_Engine_Rendering_Camera.c.o OpenRiichi.p/meson-generated_Engine_Rendering_DebugInfo.c.o OpenRiichi.p/meson-generated_Engine_Rendering_DebugView.c.o OpenRiichi.p/meson-generated_Engine_Rendering_IRenderTarget.c.o OpenRiichi.p/meson-generated_Engine_Rendering_LightSource.c.o OpenRiichi.p/meson-generated_Engine_Rendering_OpenGLRenderer_OpenGLFrameBuffer.c.o OpenRiichi.p/meson-generated_Engine_Rendering_OpenGLRenderer_OpenGLFunctions.c.o OpenRiichi.p/meson-generated_Engine_Rendering_OpenGLRenderer_OpenGLRenderBuffer.c.o OpenRiichi.p/meson-generated_Engine_Rendering_OpenGLRenderer_OpenGLRenderer.c.o OpenRiichi.p/meson-generated_Engine_Rendering_OpenGLRenderer_Shaders_OpenGL2DShaderBuilder.c.o OpenRiichi.p/meson-generated_Engine_Rendering_OpenGLRenderer_Shaders_OpenGLShader.c.o OpenRiichi.p/meson-generated_Engine_Rendering_OpenGLRenderer_Shaders_OpenGLShaderBuilder.c.o OpenRiichi.p/meson-generated_Engine_Rendering_OpenGLRenderer_Shaders_OpenGLShaderProgram2D.c.o OpenRiichi.p/meson-generated_Engine_Rendering_OpenGLRenderer_Shaders_OpenGLShaderProgram3D.c.o OpenRiichi.p/meson-generated_Engine_Rendering_OpenGLRenderer_Shaders_OpenGLStandardShaderBuilder.c.o OpenRiichi.p/meson-generated_Engine_Rendering_RenderGeometry3D.c.o OpenRiichi.p/meson-generated_Engine_Rendering_RenderObject2D.c.o OpenRiichi.p/meson-generated_Engine_Rendering_RenderObject3D.c.o OpenRiichi.p/meson-generated_Engine_Rendering_RenderScene2D.c.o OpenRiichi.p/meson-generated_Engine_Rendering_RenderScene3D.c.o OpenRiichi.p/meson-generated_Engine_Rendering_RenderState.c.o OpenRiichi.p/meson-generated_Engine_Rendering_RenderTarget.c.o OpenRiichi.p/meson-generated_Engine_Rendering_Resources_IResourceHandle.c.o OpenRiichi.p/meson-generated_Engine_Rendering_Resources_RenderMaterial.c.o OpenRiichi.p/meson-generated_Engine_Rendering_Resources_RenderModel.c.o OpenRiichi.p/meson-generated_Engine_Rendering_Resources_RenderTexture.c.o OpenRiichi.p/meson-generated_Engine_Rendering_Resources_ResourceStore.c.o OpenRiichi.p/meson-generated_Engine_Rendering_World_World.c.o OpenRiichi.p/meson-generated_Engine_Rendering_World_WorldCamera.c.o OpenRiichi.p/meson-generated_Engine_Rendering_World_WorldLabel.c.o OpenRiichi.p/meson-generated_Engine_Rendering_World_WorldLight.c.o OpenRiichi.p/meson-generated_Engine_Rendering_World_WorldObject.c.o OpenRiichi.p/meson-generated_Engine_Rendering_World_WorldObjectAnimation.c.o OpenRiichi.p/meson-generated_Engine_Rendering_World_WorldObjectTransformable.c.o OpenRiichi.p/meson-generated_Engine_Window_Container.c.o OpenRiichi.p/meson-generated_Engine_Window_Control.c.o OpenRiichi.p/meson-generated_Engine_Window_Controls_ImageControl.c.o OpenRiichi.p/meson-generated_Engine_Window_Controls_LabelControl.c.o OpenRiichi.p/meson-generated_Engine_Window_Controls_LineControl.c.o OpenRiichi.p/meson-generated_Engine_Window_Controls_ListControl.c.o OpenRiichi.p/meson-generated_Engine_Window_Controls_MenuButton.c.o OpenRiichi.p/meson-generated_Engine_Window_Controls_MenuTextButton.c.o OpenRiichi.p/meson-generated_Engine_Window_Controls_RectangleControl.c.o OpenRiichi.p/meson-generated_Engine_Window_Controls_ScrollBarControl.c.o OpenRiichi.p/meson-generated_Engine_Window_Controls_SizingControl.c.o OpenRiichi.p/meson-generated_Engine_Window_Controls_TextInputControl.c.o OpenRiichi.p/meson-generated_Engine_Window_IWindowTarget.c.o OpenRiichi.p/meson-generated_Engine_Window_MainView.c.o OpenRiichi.p/meson-generated_Engine_Window_RenderWindow.c.o OpenRiichi.p/meson-generated_Engine_Window_SDLWindowTarget.c.o OpenRiichi.p/meson-generated_Engine_Window_View2D.c.o OpenRiichi.p/meson-generated_Engine_Window_View3D.c.o -I/opt/homebrew/opt/openjdk/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -Wl,-rpath,/opt/local/lib /opt/local/lib/libglib-2.0.dylib /opt/local/lib/libintl.dylib /opt/local/lib/libgobject-2.0.dylib /opt/local/lib/libgio-2.0.dylib /opt/local/lib/libgee-0.8.dylib /opt/local/lib/libgtk-3.dylib /opt/local/lib/libgdk-3.dylib /opt/local/lib/libpangocairo-1.0.dylib /opt/local/lib/libpango-1.0.dylib /opt/local/lib/libharfbuzz.dylib /opt/local/lib/libatk-1.0.dylib /opt/local/lib/libcairo-gobject.dylib /opt/local/lib/libcairo.dylib /opt/local/lib/libgdk_pixbuf-2.0.dylib /opt/local/lib/libGLEW.dylib -framework OpenGL /opt/local/lib/libSDL2_image.dylib /opt/local/lib/libSDL2.dylib /opt/local/lib/libSDL2_mixer.dylib /opt/local/lib/libpangoft2-1.0.dylib /opt/local/lib/libfontconfig.dylib /opt/local/lib/libfreetype.dylib /opt/local/lib/libz.dylib -lm /opt/local/lib/libGL.dylib
Undefined symbols for architecture arm64:
"_CFBundleCopyResourcesDirectoryURL", referenced from:
_environment_init in meson-generated_source_Environment.c.o
"_CFBundleGetMainBundle", referenced from:
_environment_init in meson-generated_source_Environment.c.o
"_CFRelease", referenced from:
_environment_init in meson-generated_source_Environment.c.o
"_CFURLGetFileSystemRepresentation", referenced from:
_environment_init in meson-generated_source_Environment.c.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
At the moment you can just chose windowed mode or full screen. If you select windowed you can also resize the windo by dragging the borders, however next time you start OpenRiichi it goes back to the default size.
It is kinda annoying because everyone has different screens and preferences (for instance I don't like to play in full screen because I like seeing what's going on outside the game).
I think this feature could be implemented either let OpenRiichi remember the size of the window when dragged or use in the "video options" a pre-set of common formats as "<1440x1080>" so that the user can chose the one he prefers. Since I am not a coder I have no idea which one of the two is more doable :)
Trying to test the next
branch, I run into the following error:
make -C ../Engine linuxRelease
make[1]: Entering directory '/build/open-riichi-git/src/Engine'
valac --library=libengine --vapi bin/libengine.vapi -X -Ofast -X -shared -X -fPIC -H bin/libengine.h -o bin/libengine.so *.vala Audio/*.vala Files/*.vala Helper/*.vala Properties/*.vala Rendering/*.vala Rendering/OpenGLRenderer/*.vala Rendering/OpenGLRenderer/Shaders/*.vala Rendering/Resources/*.vala Rendering/World/*.vala Window/*.vala Window/Controls/*.vala --thread --target-glib 2.32 --pkg gio-2.0 --pkg glew --pkg gee-0.8 --pkg gl --pkg SDL2_image --pkg sdl2 --pkg stb --pkg pangoft2 --pkg sfml-audio --pkg sfml-system --pkg zlib -X -Iinclude -X -lcsfml-audio -X -lcsfml-system -X -lm --vapidir=vapi -X -w -X -DGLEW_NO_GLU -D LINUX
sdl2.vapi:1564.33-1564.36: error: Delegates with target are not supported as array element type
public SDL.AudioFilter filters[10];
^^^^
Command-line option `--thread` is deprecated and will be ignored
Compilation failed: 1 error(s), 0 warning(s)
make[1]: *** [Makefile:56: linuxRelease] Error 1
make[1]: Leaving directory '/build/open-riichi-git/src/Engine'
make: *** [Makefile:41: engineLinuxRelease] Error 2
Since I know nothing about vala, I though it would be best to just report this for now.
Every time I want to play against computer I need to add the name of the server. Since I usually play alone I use the same name all the times for the server. I think it would make sense to save last name used and if player wants to change it they can do so next time they want to play.
I am on OpenRiichi 0.2.1.1 (which by the way I run through WINE and works fine!).
Line 1343 of Game/Logic/TileRules.vala in calculate_fu() checks if the triplet/kan is dragon or seat/round wind, but that's what you're supposed to do for the pair. Triplet and kan fu values are affected by being terminal/honor tiles or not.
Some PC's don't run if OpenGL is not start. This issue only affects on Windows platforms and some PC's only uses DirectX 9 or 11.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.