mirror of
https://github.com/Kapendev/parin.git
synced 2025-05-07 03:05:48 +03:00
Fixed betterC bug.
This commit is contained in:
parent
407a1e5bc9
commit
3dc646a5ef
1 changed files with 21 additions and 18 deletions
|
@ -875,6 +875,7 @@ struct EngineViewport {
|
||||||
struct EngineState {
|
struct EngineState {
|
||||||
EngineFlags flags;
|
EngineFlags flags;
|
||||||
EngineFullscreenState fullscreenState;
|
EngineFullscreenState fullscreenState;
|
||||||
|
|
||||||
Sz tickCount;
|
Sz tickCount;
|
||||||
Color borderColor;
|
Color borderColor;
|
||||||
Filter defaultFilter;
|
Filter defaultFilter;
|
||||||
|
@ -1257,8 +1258,6 @@ void openUrl(IStr url = "https://github.com/Kapendev/parin") {
|
||||||
@trusted
|
@trusted
|
||||||
void openWindow(int width, int height, const(IStr)[] args, IStr title = "Parin") {
|
void openWindow(int width, int height, const(IStr)[] args, IStr title = "Parin") {
|
||||||
if (rl.IsWindowReady) return;
|
if (rl.IsWindowReady) return;
|
||||||
engineState = cast(EngineState*) jokaMalloc(EngineState.sizeof);
|
|
||||||
jokaMemset(engineState, 0, EngineState.sizeof);
|
|
||||||
// Raylib stuff.
|
// Raylib stuff.
|
||||||
rl.SetConfigFlags(rl.FLAG_WINDOW_RESIZABLE | rl.FLAG_VSYNC_HINT);
|
rl.SetConfigFlags(rl.FLAG_WINDOW_RESIZABLE | rl.FLAG_VSYNC_HINT);
|
||||||
rl.SetTraceLogLevel(rl.LOG_ERROR);
|
rl.SetTraceLogLevel(rl.LOG_ERROR);
|
||||||
|
@ -1266,23 +1265,30 @@ void openWindow(int width, int height, const(IStr)[] args, IStr title = "Parin")
|
||||||
rl.InitAudioDevice();
|
rl.InitAudioDevice();
|
||||||
rl.SetExitKey(rl.KEY_NULL);
|
rl.SetExitKey(rl.KEY_NULL);
|
||||||
rl.SetTargetFPS(60);
|
rl.SetTargetFPS(60);
|
||||||
|
rl.SetWindowMinSize(240, 135);
|
||||||
rl.rlSetBlendFactorsSeparate(0x0302, 0x0303, 1, 0x0303, 0x8006, 0x8006);
|
rl.rlSetBlendFactorsSeparate(0x0302, 0x0303, 1, 0x0303, 0x8006, 0x8006);
|
||||||
setWindowMinSize(240, 135);
|
|
||||||
// Engine stuff.
|
// Engine stuff.
|
||||||
foreach (arg; args) engineState.envArgsBuffer.append(arg);
|
engineState = cast(EngineState*) jokaMalloc(EngineState.sizeof);
|
||||||
|
jokaMemset(engineState, 0, EngineState.sizeof);
|
||||||
engineState.flags.canUseAssetsPath = true;
|
engineState.flags.canUseAssetsPath = true;
|
||||||
|
engineState.borderColor = black;
|
||||||
|
engineState.defaultFilter = Filter.init;
|
||||||
|
engineState.defaultWrap = Wrap.init;
|
||||||
engineState.fullscreenState.previousWindowWidth = width;
|
engineState.fullscreenState.previousWindowWidth = width;
|
||||||
engineState.fullscreenState.previousWindowHeight = height;
|
engineState.fullscreenState.previousWindowHeight = height;
|
||||||
engineState.borderColor = black;
|
engineState.viewport.color = gray;
|
||||||
|
engineState.viewport.blend = Blend.init;
|
||||||
// Ready resources.
|
// Ready resources.
|
||||||
|
if (args.length) {
|
||||||
|
foreach (arg; args) engineState.envArgsBuffer.append(arg);
|
||||||
|
engineState.assetsPath.append(pathConcat(args[0].pathDir, "assets"));
|
||||||
|
}
|
||||||
|
engineState.loadTextBuffer.reserve(8192);
|
||||||
|
engineState.saveTextBuffer.reserve(8192);
|
||||||
engineState.droppedFilePathsBuffer.reserve(defaultEngineFontsCapacity);
|
engineState.droppedFilePathsBuffer.reserve(defaultEngineFontsCapacity);
|
||||||
engineState.textures.reserve(defaultEngineTexturesCapacity);
|
engineState.textures.reserve(defaultEngineTexturesCapacity);
|
||||||
engineState.sounds.reserve(defaultEngineSoundsCapacity);
|
engineState.sounds.reserve(defaultEngineSoundsCapacity);
|
||||||
engineState.fonts.reserve(defaultEngineFontsCapacity);
|
engineState.fonts.reserve(defaultEngineFontsCapacity);
|
||||||
engineState.viewport.color = gray;
|
|
||||||
engineState.loadTextBuffer.reserve(8192);
|
|
||||||
engineState.saveTextBuffer.reserve(8192);
|
|
||||||
if (args.length) engineState.assetsPath.append(pathConcat(args[0].pathDir, "assets"));
|
|
||||||
// Load debug font.
|
// Load debug font.
|
||||||
auto monogramData = cast(const(ubyte)[]) import("parin_monogram.png");
|
auto monogramData = cast(const(ubyte)[]) import("parin_monogram.png");
|
||||||
auto monogramImage = rl.LoadImageFromMemory(".png", monogramData.ptr, cast(int) monogramData.length);
|
auto monogramImage = rl.LoadImageFromMemory(".png", monogramData.ptr, cast(int) monogramData.length);
|
||||||
|
@ -1573,31 +1579,26 @@ Font engineFont() {
|
||||||
return engineState.debugFont;
|
return engineState.debugFont;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns the default filter mode for textures.
|
/// Returns the default filter mode.
|
||||||
Filter defaultFilter() {
|
Filter defaultFilter() {
|
||||||
return engineState.defaultFilter;
|
return engineState.defaultFilter;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns the default wrap mode for textures.
|
/// Returns the default wrap mode.
|
||||||
Wrap defaultWrap() {
|
Wrap defaultWrap() {
|
||||||
return engineState.defaultWrap;
|
return engineState.defaultWrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Sets the default filter mode for textures to the specified value.
|
/// Sets the default filter mode to the specified value.
|
||||||
void setDefaultFilter(Filter value) {
|
void setDefaultFilter(Filter value) {
|
||||||
engineState.defaultFilter = value;
|
engineState.defaultFilter = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Sets the default wrap mode for textures to the specified value.
|
/// Sets the default wrap mode to the specified value.
|
||||||
void setDefaultWrap(Wrap value) {
|
void setDefaultWrap(Wrap value) {
|
||||||
engineState.defaultWrap = value;
|
engineState.defaultWrap = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Sets the filter mode used by the engine viewport to the specified value.
|
|
||||||
void setEngineViewportFilter(Filter value) {
|
|
||||||
engineState.viewport.setFilter(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Returns the current master volume level.
|
/// Returns the current master volume level.
|
||||||
@trusted
|
@trusted
|
||||||
float masterVolume() {
|
float masterVolume() {
|
||||||
|
@ -2407,7 +2408,9 @@ mixin template runGame(alias readyFunc, alias updateFunc, alias finishFunc, int
|
||||||
Sz length = 0;
|
Sz length = 0;
|
||||||
while (argv[i][length] != '\0') length += 1;
|
while (argv[i][length] != '\0') length += 1;
|
||||||
engineState.envArgsBuffer.append(argv[i][0 .. length]);
|
engineState.envArgsBuffer.append(argv[i][0 .. length]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
engineState.assetsPath.append(pathConcat(engineState.envArgsBuffer[0].pathDir, "assets"));
|
||||||
readyFunc();
|
readyFunc();
|
||||||
updateWindow(&updateFunc);
|
updateWindow(&updateFunc);
|
||||||
finishFunc();
|
finishFunc();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue