mogemimi / pomdog Goto Github PK
View Code? Open in Web Editor NEWAn open source game engine for C++20 :dog: :video_game:
License: MIT License
An open source game engine for C++20 :dog: :video_game:
License: MIT License
See also #26.
こんにちは。
Mac初心者なので認識などが間違っている可能性があります。ご了承ください。
OS macOS Catalina 10.15.3
XCode 10.15.3
手順通りビルドしFeatureShowcaseを実行しようとしたところ画面が白いままで何も出ませんでした。
またxcodeprojで実行したところ実行結果が4分の1のサイズで出力されます。
appの内容を表示し実行ファイルそのものを実行したところ
-[NSNib _initWidthNibNamed:bundle:option:] could not load the nibName : PomdogViewController in bundle (null)
と表示されています。
恐らくですがMainMenu.xibが原因でしょうか。
どうぞよろしくお願いいたします。
Basically the issue is that I prefer to store assets in data or content (lowercase) directory, but it is not possible since the path of assets is hard-coded.
As for details, every platform specific GameHost class implementation creates AssetManager with hard-coded path (something + "/Content"). For example, GameHostX11.cpp#L258.
Yet I think that it is user's task to decide where are assets will be stored at.
My guess is that the root directory for assets should be either working directory or somehow specified path via constructor parameters, which defaults to working directory (I am not sure how to do that).
Consider the following example:
Log::SetLevel(LogLevel::Verbose);
Log::Connect("rare", [](const LogEntry& entry) {
std::printf("[rare] %s\n", entry.Message.c_str());
});
Log::Connect("legendary", [](const LogEntry& entry) {
std::printf("[legendary] %s\n", entry.Message.c_str());
});
Log::Connect([](const LogEntry& entry) {
std::printf("[common] %s\n", entry.Message.c_str());
});
Log::Verbose("rare", "blue message");
Log::Verbose("legendary", "gold message");
Log::Verbose("gray message");
Expected output is:
[rare] blue message
[legendary] gold message
[common] gray message
But what I get is:
[common] blue message
[rare] blue message
[common] gold message
[legendary] gold message
[common] gray message
So, it seems that all log entries from non-default channels fires the default channel signal.
(Also, I'm not sure why, but the default channel is not Verbose by default, whereas others are)
In callback which is connected to GameClock::OnTick, Timer gets frame duration from the clock, scales it, scales it once more, and after that Timer updates total elapsed time with this value. This happens in Timer.cpp#L21-L22.
I think that initial frame duration should not be scaled, since it is available in Timer::GetFrameDuration
method. Scaling should be performed when calculating elapsed time. In this solution, hovewer, Timer::GetFrameDuration
just becomes a proxy-method for GameClock::GetFrameDuration
, so I'm suggesting to remove it.
We should provide a way to building a shared library using CMake to remove obsolete GYP support.
TODOs:
*.so
) under Linux*.dylib
and deploy framework under MacGENERATE_EXPORT_HEADER
, and please see this gitter chatSTR:
Please include all 3rd party libraries to a release tag;
初めてのissueです。間違っていればご指摘お願いたします。
##実行環境
OS Windows10
アプリケーション VisualStdio2017
##再現手順
Windows環境でビルドし実行し、ウィンドウが生成されたタイミングでカーソルがウィンドウとかぶっていると落ちる。
##期待される結果
GameWindowWin32::Impl::WindowProcedure関数のWM_SETCURSOR内の処理がウィンドウ生成時にwindow変数が初期化されていないにもかかわらず処理されているのが原因だと思われます。
case WM_SETCURSOR: {
if (window)
{
auto hitTest = lParam & 0xffff;
if (hitTest == HTCLIENT && window->gameCursor)
{
SetCursor(*window->gameCursor);
return FALSE;
}
}
break;
}
が正しい挙動ではないでしょうか。
Hello, mates!
I have the following plans for Pomdog in 2018:
.clang-format
Pomdog::Optional<T>
, Pomdog::Any
and Pomdog::PathHelper
with the C++17 standard libraries.std::tuple
, std::tie
and std::optional
for error handling.Result<T, E>
classIOError
classtest/TestApp
directoryexamples/TestGame
(#30)hello i dont well write english so please undertasnd me.
im "clone" to "pomdog" and I proceeded to here "git submodule update --init" but i cant go in
"cd path/to/pomdog" -> no directory path,,,,, how to next proceed?? sorry,,,I've just started GitHub,,
I have the following plan:
libpomdog_experimental.a
) into core library (e.g. libpomdog.a
). Btw, some libraries have already been moved into include/Pomdog/Experimental
.The current repository structure is the following,
- experimental/Pomdog.Experimental/ (= included in `libpomdog_experimental.a`)
- Particle2D/
- Skeletal2D/
- ...
- include/Pomdog/Experimental/ (= included in `libpomdog.a`)
- Graphics/
- Image/
- TexturePacker/
the old experimental library will be removed in the future as follows.
- include/Pomdog/Experimental/
- Graphics/
- Image/
- Particle2D/
- Skeletal2D/
- TexturePacker/
- ...
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.