mirror of
https://github.com/azahar-emu/azahar.git
synced 2026-06-06 02:33:44 -04:00
Compare commits
13 commits
31fe72bb21
...
c96d44895e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c96d44895e | ||
|
|
c03248f158 | ||
|
|
4867bb2e2b | ||
|
|
4e4c7e687b | ||
|
|
56f738eb06 | ||
|
|
b1e537a485 | ||
|
|
59da460177 | ||
|
|
8bdb60a6e1 | ||
|
|
383a28795e | ||
|
|
725544f3b4 | ||
|
|
135f10320a | ||
|
|
0b7114cbf8 | ||
|
|
95d42cb40a |
48 changed files with 6897 additions and 6640 deletions
|
|
@ -12,9 +12,9 @@ fi
|
|||
|
||||
echo "Tag name is: $TAG_NAME"
|
||||
|
||||
docker build -f docker/azahar-room/Dockerfile -t azahar-room:$TAG_NAME .
|
||||
docker build --no-cache -f docker/azahar-room/Dockerfile -t azahar-room:$TAG_NAME .
|
||||
mkdir -p build
|
||||
FILENAME="azahar-room-$TAG_NAME.dockerimage"
|
||||
FILENAME="azahar-room-$TARGET-$TAG_NAME.dockerimage"
|
||||
docker save azahar-room:$TAG_NAME > build/$FILENAME
|
||||
|
||||
echo "DOCKER_IMAGE_PATH=artifacts/$FILENAME" >> $GITHUB_ENV
|
||||
echo "DOCKER_IMAGE_PATH=artifacts/$FILENAME" >> $GITHUB_ENV
|
||||
|
|
|
|||
19
.github/workflows/build.yml
vendored
19
.github/workflows/build.yml
vendored
|
|
@ -396,15 +396,24 @@ jobs:
|
|||
sbom-path: src/android/app/artifacts/android-${{ matrix.target }}.spdx.json
|
||||
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- target: x86_64
|
||||
os: ubuntu-24.04
|
||||
- target: arm64
|
||||
os: ubuntu-24.04-arm
|
||||
runs-on: ${{ matrix.os }}
|
||||
container:
|
||||
image: docker:dind
|
||||
# Can't use docker:dind for ARM64 because it's Alpine-based, see https://github.com/actions/upload-artifact/issues/739
|
||||
image: earthbuild/dind:ubuntu-24.04-docker-28.5.2-1
|
||||
env:
|
||||
TARGET: ${{ matrix.target }}
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Install tools
|
||||
run: apk add bash
|
||||
- name: Fix git ownership
|
||||
run: git config --global --add safe.directory .
|
||||
- name: Build Docker image
|
||||
|
|
@ -424,7 +433,7 @@ jobs:
|
|||
- name: Upload
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: docker
|
||||
name: docker-${{ env.TARGET }}
|
||||
path: artifacts/
|
||||
- name: Attest artifacts
|
||||
if: ${{ github.ref_type == 'tag' }}
|
||||
|
|
|
|||
9
.gitmodules
vendored
9
.gitmodules
vendored
|
|
@ -55,12 +55,6 @@
|
|||
[submodule "sdl2"]
|
||||
path = externals/sdl2/SDL
|
||||
url = https://github.com/libsdl-org/SDL
|
||||
[submodule "cryptopp-cmake"]
|
||||
path = externals/cryptopp-cmake
|
||||
url = https://github.com/abdes/cryptopp-cmake.git
|
||||
[submodule "cryptopp"]
|
||||
path = externals/cryptopp
|
||||
url = https://github.com/weidai11/cryptopp.git
|
||||
[submodule "dds-ktx"]
|
||||
path = externals/dds-ktx
|
||||
url = https://github.com/septag/dds-ktx
|
||||
|
|
@ -109,3 +103,6 @@
|
|||
[submodule "dllwalker"]
|
||||
path = externals/dllwalker
|
||||
url = https://github.com/azahar-emu/dllwalker
|
||||
[submodule "externals/cryptopp"]
|
||||
path = externals/cryptopp
|
||||
url = https://github.com/cryptopp-modern/cryptopp-modern.git
|
||||
|
|
|
|||
2
dist/languages/.tx/config
vendored
2
dist/languages/.tx/config
vendored
|
|
@ -12,4 +12,4 @@ lang_map = ca@valencia:ca_ES_valencia
|
|||
file_filter = ../../src/android/app/src/main/res/values-<lang>/strings.xml
|
||||
source_file = ../../src/android/app/src/main/res/values/strings.xml
|
||||
type = ANDROID
|
||||
lang_map = es_ES:b+es+ES, hu_HU:b+hu+HU, ru_RU:b+ru+RU, pt_BR:b+pt+BR, zh_CN:b+zh+CN, pl_PL:b+pl+PL, ca@valencia:b+ca+ES+valencia, ko_KR:b+ko+KR, da_DK:b+da+DK, ja_JP:b+ja+JP, lt_LT:b+lt+LT, ro_RO:b+ro+RO, tr_TR:b+tr+TR, vi_VN:b+vi+VN, zh_TW:b+zh+TW, es_419:b+es+419
|
||||
lang_map = ca@valencia:b+ca+ES+valencia, es_419:b+es+419, pt_BR:b+pt+BR, zh_CN:b+zh+CN, zh_TW:b+zh+TW
|
||||
|
|
|
|||
536
dist/languages/ca_ES_valencia.ts
vendored
536
dist/languages/ca_ES_valencia.ts
vendored
File diff suppressed because it is too large
Load diff
538
dist/languages/da_DK.ts → dist/languages/da.ts
vendored
538
dist/languages/da_DK.ts → dist/languages/da.ts
vendored
File diff suppressed because it is too large
Load diff
536
dist/languages/de.ts
vendored
536
dist/languages/de.ts
vendored
File diff suppressed because it is too large
Load diff
536
dist/languages/el.ts
vendored
536
dist/languages/el.ts
vendored
File diff suppressed because it is too large
Load diff
538
dist/languages/es_ES.ts → dist/languages/es.ts
vendored
538
dist/languages/es_ES.ts → dist/languages/es.ts
vendored
File diff suppressed because it is too large
Load diff
536
dist/languages/es_419.ts
vendored
536
dist/languages/es_419.ts
vendored
File diff suppressed because it is too large
Load diff
536
dist/languages/fi.ts
vendored
536
dist/languages/fi.ts
vendored
File diff suppressed because it is too large
Load diff
536
dist/languages/fr.ts
vendored
536
dist/languages/fr.ts
vendored
File diff suppressed because it is too large
Load diff
538
dist/languages/hu_HU.ts → dist/languages/hu.ts
vendored
538
dist/languages/hu_HU.ts → dist/languages/hu.ts
vendored
File diff suppressed because it is too large
Load diff
536
dist/languages/id.ts
vendored
536
dist/languages/id.ts
vendored
File diff suppressed because it is too large
Load diff
536
dist/languages/it.ts
vendored
536
dist/languages/it.ts
vendored
File diff suppressed because it is too large
Load diff
538
dist/languages/ja_JP.ts → dist/languages/ja.ts
vendored
538
dist/languages/ja_JP.ts → dist/languages/ja.ts
vendored
File diff suppressed because it is too large
Load diff
538
dist/languages/ko_KR.ts → dist/languages/ko.ts
vendored
538
dist/languages/ko_KR.ts → dist/languages/ko.ts
vendored
File diff suppressed because it is too large
Load diff
538
dist/languages/lt_LT.ts → dist/languages/lt.ts
vendored
538
dist/languages/lt_LT.ts → dist/languages/lt.ts
vendored
File diff suppressed because it is too large
Load diff
536
dist/languages/nb.ts
vendored
536
dist/languages/nb.ts
vendored
File diff suppressed because it is too large
Load diff
536
dist/languages/nl.ts
vendored
536
dist/languages/nl.ts
vendored
File diff suppressed because it is too large
Load diff
538
dist/languages/pl_PL.ts → dist/languages/pl.ts
vendored
538
dist/languages/pl_PL.ts → dist/languages/pl.ts
vendored
File diff suppressed because it is too large
Load diff
536
dist/languages/pt_BR.ts
vendored
536
dist/languages/pt_BR.ts
vendored
File diff suppressed because it is too large
Load diff
538
dist/languages/ro_RO.ts → dist/languages/ro.ts
vendored
538
dist/languages/ro_RO.ts → dist/languages/ro.ts
vendored
File diff suppressed because it is too large
Load diff
538
dist/languages/ru_RU.ts → dist/languages/ru.ts
vendored
538
dist/languages/ru_RU.ts → dist/languages/ru.ts
vendored
File diff suppressed because it is too large
Load diff
536
dist/languages/sv.ts
vendored
536
dist/languages/sv.ts
vendored
File diff suppressed because it is too large
Load diff
538
dist/languages/tr_TR.ts → dist/languages/tr.ts
vendored
538
dist/languages/tr_TR.ts → dist/languages/tr.ts
vendored
File diff suppressed because it is too large
Load diff
538
dist/languages/vi_VN.ts → dist/languages/vi.ts
vendored
538
dist/languages/vi_VN.ts → dist/languages/vi.ts
vendored
File diff suppressed because it is too large
Load diff
536
dist/languages/zh_CN.ts
vendored
536
dist/languages/zh_CN.ts
vendored
File diff suppressed because it is too large
Load diff
536
dist/languages/zh_TW.ts
vendored
536
dist/languages/zh_TW.ts
vendored
File diff suppressed because it is too large
Load diff
|
|
@ -4,24 +4,19 @@
|
|||
# --- Builder ----------------
|
||||
FROM opensauce04/azahar-build-environment:latest AS builder
|
||||
|
||||
COPY . /var/azahar-src
|
||||
RUN mkdir /var/azahar-src/
|
||||
COPY ./ /var/azahar-src/
|
||||
|
||||
RUN mkdir builddir && cd builddir && \
|
||||
cmake /var/azahar-src -G Ninja \
|
||||
RUN mkdir ./builddir/
|
||||
WORKDIR ./builddir/
|
||||
RUN cmake /var/azahar-src -G Ninja \
|
||||
-DENABLE_QT=OFF \
|
||||
-DENABLE_GDBSTUB=OFF \
|
||||
-DENABLE_TESTS=OFF \
|
||||
-DENABLE_ROOM=ON \
|
||||
-DENABLE_ROOM_STANDALONE=ON \
|
||||
-DENABLE_OPENGL=OFF $( : "TODO: Can we disable these automatically when there's no frontend?") \
|
||||
-DENABLE_VULKAN=OFF \
|
||||
-DENABLE_SDL2=OFF \
|
||||
-DENABLE_LIBUSB=OFF \
|
||||
-DENABLE_CUBEB=OFF \
|
||||
-DENABLE_OPENAL=OFF && \
|
||||
ninja && \
|
||||
mv bin/Release/azahar-room /usr/local/bin/ && \
|
||||
cd .. && rm -rf builddir
|
||||
-DENABLE_ROOM_STANDALONE=ON
|
||||
RUN ninja
|
||||
RUN mv ./bin/Release/azahar-room /usr/local/bin/
|
||||
|
||||
# --- Final ------------------
|
||||
FROM debian:trixie AS final
|
||||
|
|
|
|||
10
externals/CMakeLists.txt
vendored
10
externals/CMakeLists.txt
vendored
|
|
@ -69,17 +69,9 @@ if(USE_SYSTEM_CRYPTOPP)
|
|||
add_library(cryptopp INTERFACE)
|
||||
target_link_libraries(cryptopp INTERFACE cryptopp::cryptopp)
|
||||
else()
|
||||
if (WIN32 AND NOT MSVC AND "arm64" IN_LIST ARCHITECTURE)
|
||||
# TODO: CryptoPP ARM64 ASM does not seem to support Windows unless compiled with MSVC.
|
||||
# TODO: See https://github.com/weidai11/cryptopp/issues/1260
|
||||
set(CRYPTOPP_DISABLE_ASM ON CACHE BOOL "")
|
||||
endif()
|
||||
|
||||
set(CRYPTOPP_BUILD_DOCUMENTATION OFF CACHE BOOL "")
|
||||
set(CRYPTOPP_BUILD_TESTING OFF CACHE BOOL "")
|
||||
set(CRYPTOPP_INSTALL OFF CACHE BOOL "")
|
||||
set(CRYPTOPP_SOURCES "${CMAKE_SOURCE_DIR}/externals/cryptopp" CACHE STRING "")
|
||||
add_subdirectory(cryptopp-cmake EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(cryptopp EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
|
||||
# dds-ktx
|
||||
|
|
|
|||
2
externals/cryptopp
vendored
2
externals/cryptopp
vendored
|
|
@ -1 +1 @@
|
|||
Subproject commit 60f81a77e0c9a0e7ffc1ca1bc438ddfa2e43b78e
|
||||
Subproject commit 8d92d788421483a43e09acf1cd4a2861cb2b8cab
|
||||
1
externals/cryptopp-cmake
vendored
1
externals/cryptopp-cmake
vendored
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 00a151f8489daaa32434ab1f340e6750793ddf0c
|
||||
|
|
@ -339,14 +339,13 @@ void Config::Reload() {
|
|||
for (auto key = Settings::Keys::keys_array.begin(); key != Settings::Keys::keys_array.end();
|
||||
++key) {
|
||||
const auto key_declaration_string = std::string(*key) + " =";
|
||||
// FIXME: This code looks so ass when formatted by clang-format -OS
|
||||
if (std::ranges::find(DefaultINI::android_config_omitted_keys, *key) ==
|
||||
std::end(DefaultINI::android_config_omitted_keys) &&
|
||||
std::string(DefaultINI::android_config_default_file_content)
|
||||
.find(key_declaration_string) == std::string::npos) {
|
||||
if ((std::ranges::find(DefaultINI::android_config_omitted_keys, *key) ==
|
||||
std::end(DefaultINI::android_config_omitted_keys)) &&
|
||||
(std::string(DefaultINI::android_config_default_file_content)
|
||||
.find(key_declaration_string) == std::string::npos)) {
|
||||
ASSERT_MSG(false,
|
||||
"Validation of default content config failed: Missing or malformed key "
|
||||
"declaration {}",
|
||||
"Validation of default config content (jni/default_ini.h) failed: Missing "
|
||||
"declaration for key '{}'",
|
||||
*key);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,7 +58,9 @@
|
|||
#include "citra_qt/debugger/graphics/graphics_vertex_shader.h"
|
||||
#include "citra_qt/debugger/ipc/recorder.h"
|
||||
#include "citra_qt/debugger/lle_service_modules.h"
|
||||
#if MICROPROFILE_ENABLED
|
||||
#include "citra_qt/debugger/profiler.h"
|
||||
#endif
|
||||
#include "citra_qt/debugger/registers.h"
|
||||
#include "citra_qt/debugger/wait_tree.h"
|
||||
#ifdef USE_DISCORD_PRESENCE
|
||||
|
|
@ -713,11 +715,6 @@ void GMainWindow::InitializeDebugWidgets() {
|
|||
microProfileDialog = new MicroProfileDialog(this);
|
||||
microProfileDialog->hide();
|
||||
debug_menu->addAction(microProfileDialog->toggleViewAction());
|
||||
#else
|
||||
auto micro_profile_stub = new QAction(tr("MicroProfile (unavailable)"), this);
|
||||
micro_profile_stub->setEnabled(false);
|
||||
micro_profile_stub->setChecked(false);
|
||||
debug_menu->addAction(micro_profile_stub);
|
||||
#endif
|
||||
|
||||
registersWidget = new RegistersWidget(system, this);
|
||||
|
|
|
|||
|
|
@ -666,8 +666,21 @@ void RasterizerOpenGL::SyncTextureUnits(const Framebuffer* framebuffer) {
|
|||
|
||||
// If the texture unit is disabled unbind the corresponding gl unit
|
||||
if (!texture.enabled) {
|
||||
const Surface& null_surface = res_cache.GetSurface(VideoCore::NULL_SURFACE_ID);
|
||||
state.texture_units[texture_index].texture_2d = null_surface.Handle();
|
||||
switch (texture.config.type.Value()) {
|
||||
case TextureType::TextureCube:
|
||||
case TextureType::ShadowCube: {
|
||||
state.texture_units[texture_index].texture_2d =
|
||||
res_cache.GetSurface(VideoCore::NULL_SURFACE_CUBE_ID).Handle();
|
||||
state.texture_units[texture_index].target = GL_TEXTURE_CUBE_MAP;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
state.texture_units[texture_index].texture_2d =
|
||||
res_cache.GetSurface(VideoCore::NULL_SURFACE_ID).Handle();
|
||||
state.texture_units[texture_index].target = GL_TEXTURE_2D;
|
||||
break;
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -72,6 +72,7 @@ void FragmentModule::Generate() {
|
|||
break;
|
||||
case TexturingRegs::FogMode::Gas:
|
||||
WriteGas();
|
||||
// Return early due to unimplemented gas mode
|
||||
return;
|
||||
default:
|
||||
break;
|
||||
|
|
@ -196,7 +197,12 @@ void FragmentModule::WriteFog() {
|
|||
void FragmentModule::WriteGas() {
|
||||
// TODO: Implement me
|
||||
LOG_CRITICAL(Render, "Unimplemented gas mode");
|
||||
OpKill();
|
||||
// Replace the output color with a transparent pixel,
|
||||
// (just discarding the pixel causes graphical issues
|
||||
// in some MH games).
|
||||
OpStore(color_id, ConstF32(0.f, 0.f, 0.f, 0.f));
|
||||
|
||||
OpReturn();
|
||||
OpFunctionEnd();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue