miragecode / mir2 Goto Github PK
View Code? Open in Web Editor NEWThis project forked from suprcode/mir2
Legend of Mir 2 - Official Public Crystal Source
This project forked from suprcode/mir2
Legend of Mir 2 - Official Public Crystal Source
The native SDL library names for Linux are hard-coded in SDLContext.cs
. They obviously need to be different depending on the OS.
The solution will probably involve building NuGet packages for the SDL library with the native libraries for each platform included in the package. Need to investigate how it should be done.
We need a cross-platform tool to make it easy for developers to obtain game assets.
It doesn't need a user interface. A simple .NET Core command-line app would suffice. I'd suggest something that takes a base url as an argument and processes it in the same way as the auto-patcher.
Newline characters are currently not rendered correctly.
The solution might be to render each line to a separate texture and then copy each of these textures onto a single texture.
There isn't yet an SDL version of what was DXManager.CreateLights
and lights and darkness aren't rendered.
The full path to a system font on Linux is hard-coded in Settings.cs
. This obviously isn't portable.
Getting "system" fonts is hard. Should we take the fontconfig route (which would require its own .NET bindings) or should we get fonts added to the game assets?
The login and character-select scenes are 800x600 but the actual game scene seems to be 1024x768. I increased the screen size in d5ae099 to fit the game scene but this leaves empty space around the login and character-select scenes.
In SoundManager.Create
, Audio.Channels
is set to 100. This is the maximum number of sounds (excluding music) that can be playing at once. Spawning more than 100 monsters will cause them all to play sounds at once and crash the client.
The easiest way to solve this would be to add a try-catch no-op around sound.Play
in SoundManager.PlaySound
so that sounds would be ignored if too many are already playing. The number of channels should be reduced too.
The setter for Texture.Opacity
is commented out because it caused issues with what was probably a rounding error.
The old DirectX library used opacity with floating point values between 0.0 and 1.0 but SDL uses alpha with byte values between 0 and 255 instead. Texture.Opacity
converts the alpha value and it was added to maintain consistency with the old DirectX code. The solution is probably to get the client to use alpha values instead.
MirImageControl.DrawControl
had support for rendering greyscale with DirectX but this is missing with SDL.
The GrayScale
boolean is still there and is set as it was before but greyscale rendering is not yet implemented.
The SDL TextBox
needs to display composition text from CJK input method editors.
See this: https://wiki.libsdl.org/Tutorials/TextInput
In addition, it needs to call SDL_SetTextInputRect
so that the candidate list appears in the right place. This will require passing the DisplayLocation
from MirTextBox
to the SDL TextBox
.
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.