Compare commits

..

No commits in common. "master" and "v1.0.0.0" have entirely different histories.

1712 changed files with 306386 additions and 747538 deletions

View File

@ -8,7 +8,6 @@ assignees: ''
---
**Rules and recommendations**
- don't request support for currently unsupported hardware (arcade boards, consoles and computers)
- don't request support for new arcade systems
- try to provide as much information as possible (screenshot, savestate, platform, settings, ...)
- make sure it happens with our latest official build from https://github.com/finalburnneo/FBNeo/releases/tag/latest
- any issue on derivated projects that doesn't happen with our latest official build must be reported to that derivated project's maintainers instead
- especially, if you aren't using our official builds from https://github.com/finalburnneo/FBNeo-WIP-Storage-Facility/releases, make sure it happens with our official builds too, otherwise please report the issue to the team handling your unofficial build

View File

@ -1 +0,0 @@
blank_issues_enabled: false

View File

@ -1,52 +0,0 @@
name: Build
on: [push, pull_request]
jobs:
AutoBuild:
name: ${{ matrix.platform.name }} ${{ matrix.config.name }}
runs-on: ${{ matrix.platform.os }}
defaults:
run:
shell: ${{ matrix.platform.shell}} {0}
strategy:
matrix:
platform:
- { name: Windows x32, os: windows-2019, shell: msys2, makeopts: mingw510 USE_UCRT=1 RELEASEBUILD=1, arch: i686, msys: MINGW32 }
- { name: Windows x32 (Debug), os: windows-2019, shell: msys2, makeopts: mingw510 USE_UCRT=1, arch: i686, msys: MINGW32 }
- { name: Linux SDL 2, os: ubuntu-20.04, shell: bash, makeopts: RELEASEBUILD=1 sdl2}
- { name: Linux SDL 1.2, os: ubuntu-20.04, shell: bash, makeopts: RELEASEBUILD=1 sdl}
#- { name: MacOS XCode, os: macos-latest }
# x64 builds are broken due to mips3 x64 drc not building with recent gcc
#- { name: Windows x64, os: windows-2019, shell: msys2, makeopts: mingw510 USE_UCRT=1 BUILD_X64_EXE=1, arch: x86_64, msys: MINGW64 }
steps:
- name: Install Windows MSYS2 dependencies
if: runner.os == 'Windows'
uses: msys2/setup-msys2@v2
with:
update: true
install: msys2-devel base-devel binutils mingw-w64-${{ matrix.platform.arch }}-toolchain mingw-w64-${{ matrix.platform.arch }}-nasm
msystem: ${{matrix.platform.msys}}
- name: Install Linux dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get -y update
sudo apt-get -y install libsdl2-dev libsdl2-image-dev libsdl1.2-dev
- uses: actions/checkout@v2
- name: Build FBNeo
run: |
make -j$(nproc) SKIPDEPEND=1 ${{matrix.platform.makeopts}}
- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
name: ${{matrix.platform.name}} Artifact
path: |
fbneo.exe
fbneod.exe
fbneo

View File

@ -8,10 +8,10 @@ jobs:
name: build
runs-on: macOS-latest
env:
DEVELOPER_DIR: /Applications/Xcode.app
DEVELOPER_DIR: /Applications/Xcode_11.app
steps:
- uses: actions/checkout@v1
- name: build
run: |
cd projectfiles/xcode
xcodebuild ARCHS=x86_64 ONLY_ACTIVE_ARCH=NO -target Emulator -configuration Debug
xcodebuild -target Emulator -configuration Debug

View File

@ -1,621 +0,0 @@
name: "nightly-release"
on:
push:
branches: [ master ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
RELEASE_BODY_ARTIFACT: release-body
RELEASE_BODY_ARTIFACT_PATH: release-body.txt
RELEASE_BODY_ARCHIVE_ARTIFACT: release-body-archive
WINDOWS_X86_64_ARTIFACT: windows-x86_64
WINDOWS_X86_64_ARTIFACT_PATH: windows-x86_64.txt
WINDOWS_X86_64_ARCHIVE_ARTIFACT: windows-x86_64-archive
WINDOWS_X86_64_DEBUG_ARTIFACT: windows-x86_64-debug
WINDOWS_X86_64_DEBUG_ARTIFACT_PATH: windows-x86_64-debug.txt
WINDOWS_X86_64_DEBUG_ARCHIVE_ARTIFACT: windows-x86_64-debug-archive
WINDOWS_X86_32_ARTIFACT: windows-x86_32
WINDOWS_X86_32_ARTIFACT_PATH: windows-x86_32.txt
WINDOWS_X86_32_ARCHIVE_ARTIFACT: windows-x86_32-archive
WINDOWS_X86_32_DEBUG_ARTIFACT: windows-x86_32-debug
WINDOWS_X86_32_DEBUG_ARTIFACT_PATH: windows-x86_32-debug.txt
WINDOWS_X86_32_DEBUG_ARCHIVE_ARTIFACT: windows-x86_32-debug-archive
LINUX_SDL2_X86_64_ARTIFACT: linux-sdl2-x86_64
LINUX_SDL2_X86_64_ARTIFACT_PATH: linux-sdl2-x86_64.txt
LINUX_SDL2_X86_64_ARCHIVE_ARTIFACT: linux-sdl2-x86_64-archive
LINUX_SDL1_X86_64_ARTIFACT: linux-sdl1-x86_64
LINUX_SDL1_X86_64_ARTIFACT_PATH: linux-sdl1-x86_64.txt
LINUX_SDL1_X86_64_ARCHIVE_ARTIFACT: linux-sdl1-x86_64-archive
# MACOS_X86_64_ARTIFACT: macos-x86_64
# MACOS_X86_64_ARTIFACT_PATH: macos-x86_64.txt
# MACOS_X86_64_ARCHIVE_ARTIFACT: macos-x86_64-archive
# MACOS_ARM64_ARTIFACT: macos-arm64
# MACOS_ARM64_ARTIFACT_PATH: macos-arm64.txt
# MACOS_ARM64_ARCHIVE_ARTIFACT: macos-arm64-archive
jobs:
create_release_body:
name: Create release body
runs-on: ubuntu-latest
defaults:
run:
shell: bash {0}
steps:
- name: Clone
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build
id: create_release_body_archive
run: |
latest_sha=$(git rev-parse latest)
git log --pretty=format:"%s (%an)" ${latest_sha}..${{ github.sha }} > commits.txt
archive_file="${{ env.RELEASE_BODY_ARTIFACT }}.md"
echo "archive_file=${archive_file}" >> $GITHUB_OUTPUT
echo "### Notes" > ${archive_file}
echo "• The macos and linux standalone ports are not actively maintained, and might be missing important features, using our libretro port or running windows builds through wine/crossover is considered a safer choice for those platforms" >> ${archive_file}
echo "• The macos builds might first require running \`xattr -dr com.apple.quarantine "FinalBurn Neo.app"\` from a terminal to avoid a \"FinalBurn Neo is damaged\" error" >> ${archive_file}
echo "" >> ${archive_file}
echo "### Commits since previous nightly" >> ${archive_file}
awk '{print "• " $0}' commits.txt >> ${archive_file}
- name: Create Archive Path
run: |
echo archive_path= '${{ steps.create_release_body_archive.outputs.archive_file }}' > $RELEASE_BODY_ARTIFACT_PATH
- name: Upload Archive Path
uses: actions/upload-artifact@v4
with:
name: ${{ env.RELEASE_BODY_ARTIFACT }}
path: ${{ env.RELEASE_BODY_ARTIFACT_PATH }}
retention-days: 1
- name: Upload Archive as Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.RELEASE_BODY_ARCHIVE_ARTIFACT }}
path: ${{ steps.create_release_body_archive.outputs.archive_file }}
retention-days: 1
build_windows_x86_64:
name: Build (Windows x86_64)
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- name: Install dependencies
uses: msys2/setup-msys2@v2
with:
update: true
install: msys2-devel base-devel binutils mingw-w64-x86_64-toolchain mingw-w64-x86_64-nasm zip wget
msystem: MINGW64
- name: Clone
uses: actions/checkout@v4
- name: Build
id: create_windows_x86_64_archive
run: |
make -j$(nproc) mingw BUILD_X64_EXE=1 SKIPDEPEND=1 RELEASEBUILD=1
archive_file="${{ env.WINDOWS_X86_64_ARTIFACT }}.zip"
echo "archive_file=${archive_file}" >> $GITHUB_OUTPUT
zip --junk-paths "${archive_file}" fbneo64.exe src/license.txt fbahelpfilesrc/fbneo.chm whatsnew.html
- name: Create Archive Path
run: |
echo archive_path= '${{ steps.create_windows_x86_64_archive.outputs.archive_file }}' > $WINDOWS_X86_64_ARTIFACT_PATH
- name: Upload Archive Path
uses: actions/upload-artifact@v4
with:
name: ${{ env.WINDOWS_X86_64_ARTIFACT }}
path: ${{ env.WINDOWS_X86_64_ARTIFACT_PATH }}
retention-days: 1
- name: Upload Archive as Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.WINDOWS_X86_64_ARCHIVE_ARTIFACT }}
path: ${{ steps.create_windows_x86_64_archive.outputs.archive_file }}
retention-days: 1
build_windows_x86_64_debug:
name: Build (Windows x86_64 Debug)
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- name: Install dependencies
uses: msys2/setup-msys2@v2
with:
update: true
install: msys2-devel base-devel binutils mingw-w64-x86_64-toolchain mingw-w64-x86_64-nasm zip wget
msystem: MINGW64
- name: Clone
uses: actions/checkout@v4
- name: Build
id: create_windows_x86_64_debug_archive
run: |
make -j$(nproc) mingw BUILD_X64_EXE=1 SKIPDEPEND=1
archive_file="${{ env.WINDOWS_X86_64_DEBUG_ARTIFACT }}.zip"
echo "archive_file=${archive_file}" >> $GITHUB_OUTPUT
zip --junk-paths "${archive_file}" fbneo64d.exe src/license.txt fbahelpfilesrc/fbneo.chm whatsnew.html
- name: Create Archive Path
run: |
echo archive_path= '${{ steps.create_windows_x86_64_debug_archive.outputs.archive_file }}' > $WINDOWS_X86_64_DEBUG_ARTIFACT_PATH
- name: Upload Archive Path
uses: actions/upload-artifact@v4
with:
name: ${{ env.WINDOWS_X86_64_DEBUG_ARTIFACT }}
path: ${{ env.WINDOWS_X86_64_DEBUG_ARTIFACT_PATH }}
retention-days: 1
- name: Upload Archive as Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.WINDOWS_X86_64_DEBUG_ARCHIVE_ARTIFACT }}
path: ${{ steps.create_windows_x86_64_debug_archive.outputs.archive_file }}
retention-days: 1
build_windows_x86_32:
name: Build (Windows x86_32)
runs-on: windows-latest
continue-on-error: true
defaults:
run:
shell: msys2 {0}
steps:
- name: Install dependencies
uses: msys2/setup-msys2@v2
with:
update: true
install: msys2-devel base-devel binutils mingw-w64-i686-toolchain mingw-w64-i686-nasm zip wget
msystem: MINGW32
- name: Clone
uses: actions/checkout@v4
- name: Build
id: create_windows_x86_32_archive
run: |
make -j$(nproc) mingw SKIPDEPEND=1 RELEASEBUILD=1
archive_file="${{ env.WINDOWS_X86_32_ARTIFACT }}.zip"
echo "archive_file=${archive_file}" >> $GITHUB_OUTPUT
zip --junk-paths "${archive_file}" fbneo.exe src/license.txt fbahelpfilesrc/fbneo.chm whatsnew.html
- name: Create Archive Path
run: |
echo archive_path= '${{ steps.create_windows_x86_32_archive.outputs.archive_file }}' > $WINDOWS_X86_32_ARTIFACT_PATH
- name: Upload Archive Path
uses: actions/upload-artifact@v4
with:
name: ${{ env.WINDOWS_X86_32_ARTIFACT }}
path: ${{ env.WINDOWS_X86_32_ARTIFACT_PATH }}
retention-days: 1
- name: Upload Archive as Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.WINDOWS_X86_32_ARCHIVE_ARTIFACT }}
path: ${{ steps.create_windows_x86_32_archive.outputs.archive_file }}
retention-days: 1
build_windows_x86_32_debug:
name: Build (Windows x86_32 Debug)
runs-on: windows-latest
continue-on-error: true
defaults:
run:
shell: msys2 {0}
steps:
- name: Install dependencies
uses: msys2/setup-msys2@v2
with:
update: true
install: msys2-devel base-devel binutils mingw-w64-i686-toolchain mingw-w64-i686-nasm zip wget
msystem: MINGW32
- name: Clone
uses: actions/checkout@v4
- name: Build
id: create_windows_x86_32_debug_archive
run: |
make -j$(nproc) mingw SKIPDEPEND=1
archive_file="${{ env.WINDOWS_X86_32_DEBUG_ARTIFACT }}.zip"
echo "archive_file=${archive_file}" >> $GITHUB_OUTPUT
zip --junk-paths "${archive_file}" fbneod.exe src/license.txt fbahelpfilesrc/fbneo.chm whatsnew.html
- name: Create Archive Path
run: |
echo archive_path= '${{ steps.create_windows_x86_32_debug_archive.outputs.archive_file }}' > $WINDOWS_X86_32_DEBUG_ARTIFACT_PATH
- name: Upload Archive Path
uses: actions/upload-artifact@v4
with:
name: ${{ env.WINDOWS_X86_32_DEBUG_ARTIFACT }}
path: ${{ env.WINDOWS_X86_32_DEBUG_ARTIFACT_PATH }}
retention-days: 1
- name: Upload Archive as Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.WINDOWS_X86_32_DEBUG_ARCHIVE_ARTIFACT }}
path: ${{ steps.create_windows_x86_32_debug_archive.outputs.archive_file }}
retention-days: 1
build_linux_sdl2_x86_64:
name: Build (Linux SDL2 x86_64)
runs-on: ubuntu-latest
continue-on-error: true
defaults:
run:
shell: bash {0}
steps:
- name: Install dependencies
run: |
sudo apt-get -y update
sudo apt-get -y install libsdl2-dev libsdl2-image-dev
- name: Clone
uses: actions/checkout@v4
- name: Build
id: create_linux_sdl2_x86_64_archive
run: |
make -j$(nproc) sdl2 SKIPDEPEND=1 RELEASEBUILD=1
archive_file="${{ env.LINUX_SDL2_X86_64_ARTIFACT }}.zip"
echo "archive_file=${archive_file}" >> $GITHUB_OUTPUT
zip --junk-paths "${archive_file}" fbneo src/license.txt fbahelpfilesrc/fbneo.chm whatsnew.html
- name: Create Archive Path
run: |
echo archive_path= '${{ steps.create_linux_sdl2_x86_64_archive.outputs.archive_file }}' > $LINUX_SDL2_X86_64_ARTIFACT_PATH
- name: Upload Archive Path
uses: actions/upload-artifact@v4
with:
name: ${{ env.LINUX_SDL2_X86_64_ARTIFACT }}
path: ${{ env.LINUX_SDL2_X86_64_ARTIFACT_PATH }}
retention-days: 1
- name: Upload Archive as Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.LINUX_SDL2_X86_64_ARCHIVE_ARTIFACT }}
path: ${{ steps.create_linux_sdl2_x86_64_archive.outputs.archive_file }}
retention-days: 1
build_linux_sdl1_x86_64:
name: Build (Linux SDL1 x86_64)
runs-on: ubuntu-latest
continue-on-error: true
defaults:
run:
shell: bash {0}
steps:
- name: Install dependencies
run: |
sudo apt-get -y update
sudo apt-get -y install libsdl1.2-dev
- name: Clone
uses: actions/checkout@v4
- name: Build
id: create_linux_sdl1_x86_64_archive
run: |
make -j$(nproc) sdl SKIPDEPEND=1 RELEASEBUILD=1
archive_file="${{ env.LINUX_SDL1_X86_64_ARTIFACT }}.zip"
echo "archive_file=${archive_file}" >> $GITHUB_OUTPUT
zip --junk-paths "${archive_file}" fbneo src/license.txt fbahelpfilesrc/fbneo.chm whatsnew.html
- name: Create Archive Path
run: |
echo archive_path= '${{ steps.create_linux_sdl1_x86_64_archive.outputs.archive_file }}' > $LINUX_SDL1_X86_64_ARTIFACT_PATH
- name: Upload Archive Path
uses: actions/upload-artifact@v4
with:
name: ${{ env.LINUX_SDL1_X86_64_ARTIFACT }}
path: ${{ env.LINUX_SDL1_X86_64_ARTIFACT_PATH }}
retention-days: 1
- name: Upload Archive as Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.LINUX_SDL1_X86_64_ARCHIVE_ARTIFACT }}
path: ${{ steps.create_linux_sdl1_x86_64_archive.outputs.archive_file }}
retention-days: 1
# build_macos_x86_64:
# name: Build (MacOS x86_64)
# runs-on: macos-13 # Required version for x86_64
# continue-on-error: true
# steps:
# - name: Clone
# uses: actions/checkout@v4
# - name: Build
# id: create_macos_x86_64_archive
# run: |
# cd projectfiles/xcode
# xcodebuild ARCHS=x86_64 ONLY_ACTIVE_ARCH=NO -target Emulator -configuration Release
# cd build/Release
# archive_file="${{ env.MACOS_X86_64_ARTIFACT }}.zip"
# echo "archive_file=${archive_file}" >> $GITHUB_OUTPUT
# zip -r "${archive_file}" FinalBurn\ Neo.app
# mv "${archive_file}" ../../../..
# cd ../../../..
# zip -uj "${archive_file}" src/license.txt fbahelpfilesrc/fbneo.chm whatsnew.html
# - name: Create Archive Path
# run: |
# echo archive_path= '${{ steps.create_macos_x86_64_archive.outputs.archive_file }}' > $MACOS_X86_64_ARTIFACT_PATH
# - name: Upload Archive Path
# uses: actions/upload-artifact@v4
# with:
# name: ${{ env.MACOS_X86_64_ARTIFACT }}
# path: ${{ env.MACOS_X86_64_ARTIFACT_PATH }}
# retention-days: 1
# - name: Upload Archive as Artifact
# uses: actions/upload-artifact@v4
# with:
# name: ${{ env.MACOS_X86_64_ARCHIVE_ARTIFACT }}
# path: ${{ steps.create_macos_x86_64_archive.outputs.archive_file }}
# retention-days: 1
# build_macos_arm64:
# name: Build (MacOS arm64)
# runs-on: macos-latest
# continue-on-error: true
# steps:
# - name: Clone
# uses: actions/checkout@v4
# - name: Build
# id: create_macos_arm64_archive
# run: |
# cd projectfiles/xcode
# xcodebuild ARCHS=arm64 ONLY_ACTIVE_ARCH=NO -target Emulator -configuration Release
# cd build/Release
# archive_file="${{ env.MACOS_ARM64_ARTIFACT }}.zip"
# echo "archive_file=${archive_file}" >> $GITHUB_OUTPUT
# zip -r "${archive_file}" FinalBurn\ Neo.app
# mv "${archive_file}" ../../../..
# cd ../../../..
# zip -uj "${archive_file}" src/license.txt fbahelpfilesrc/fbneo.chm whatsnew.html
# - name: Create Archive Path
# run: |
# echo archive_path= '${{ steps.create_macos_arm64_archive.outputs.archive_file }}' > $MACOS_ARM64_ARTIFACT_PATH
# - name: Upload Archive Path
# uses: actions/upload-artifact@v4
# with:
# name: ${{ env.MACOS_ARM64_ARTIFACT }}
# path: ${{ env.MACOS_ARM64_ARTIFACT_PATH }}
# retention-days: 1
# - name: Upload Archive as Artifact
# uses: actions/upload-artifact@v4
# with:
# name: ${{ env.MACOS_ARM64_ARCHIVE_ARTIFACT }}
# path: ${{ steps.create_macos_arm64_archive.outputs.archive_file }}
# retention-days: 1
release:
needs: [ create_release_body, build_windows_x86_64, build_windows_x86_64_debug, build_windows_x86_32, build_windows_x86_32_debug, build_linux_sdl2_x86_64, build_linux_sdl1_x86_64 ] # , build_macos_x86_64, build_macos_arm64
name: Release
runs-on: ubuntu-latest
steps:
# Delete old nightly
- name: Delete previous nightly
uses: ClementTsang/delete-tag-and-release@v0.3.1
with:
delete_release: true
tag_name: latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Release body
- name: Download Artifact (Release body)
uses: actions/download-artifact@v4
with:
name: ${{ env.RELEASE_BODY_ARTIFACT }}
- name: Extract Archive Path (Release body) and Store in Step Outputs
id: store_release_body
run: |
archive_path=`sed -E -n -e 's/archive_path= //p' $RELEASE_BODY_ARTIFACT_PATH`
echo "archive_path=$archive_path" >> $GITHUB_OUTPUT
- name: Download Artifact with Archive (Release body)
uses: actions/download-artifact@v4
with:
name: ${{ env.RELEASE_BODY_ARCHIVE_ARTIFACT }}
# Windows x86_64
- name: Download Artifact (Windows x86_64)
uses: actions/download-artifact@v4
with:
name: ${{ env.WINDOWS_X86_64_ARTIFACT }}
- name: Extract Archive Path (Windows x86_64) and Store in Step Outputs
id: store_windows_x86_64
run: |
archive_path=`sed -E -n -e 's/archive_path= //p' $WINDOWS_X86_64_ARTIFACT_PATH`
echo "archive_path=$archive_path" >> $GITHUB_OUTPUT
- name: Download Artifact with Archive (Windows x86_64)
uses: actions/download-artifact@v4
with:
name: ${{ env.WINDOWS_X86_64_ARCHIVE_ARTIFACT }}
# Windows x86_64 Debug
- name: Download Artifact (Windows x86_64 Debug)
uses: actions/download-artifact@v4
with:
name: ${{ env.WINDOWS_X86_64_DEBUG_ARTIFACT }}
- name: Extract Archive Path (Windows x86_64 Debug) and Store in Step Outputs
id: store_windows_x86_64_debug
run: |
archive_path=`sed -E -n -e 's/archive_path= //p' $WINDOWS_X86_64_DEBUG_ARTIFACT_PATH`
echo "archive_path=$archive_path" >> $GITHUB_OUTPUT
- name: Download Artifact with Archive (Windows x86_64 Debug)
uses: actions/download-artifact@v4
with:
name: ${{ env.WINDOWS_X86_64_DEBUG_ARCHIVE_ARTIFACT }}
# Windows x86_32
- name: Download Artifact (Windows x86_32)
continue-on-error: true
uses: actions/download-artifact@v4
with:
name: ${{ env.WINDOWS_X86_32_ARTIFACT }}
- name: Extract Archive Path (Windows x86_32) and Store in Step Outputs
id: store_windows_x86_32
run: |
archive_path=`sed -E -n -e 's/archive_path= //p' $WINDOWS_X86_32_ARTIFACT_PATH`
echo "archive_path=$archive_path" >> $GITHUB_OUTPUT
- name: Download Artifact with Archive (Windows x86_32)
uses: actions/download-artifact@v4
with:
name: ${{ env.WINDOWS_X86_32_ARCHIVE_ARTIFACT }}
# Windows x86_32 Debug
- name: Download Artifact (Windows x86_32 Debug)
continue-on-error: true
uses: actions/download-artifact@v4
with:
name: ${{ env.WINDOWS_X86_32_DEBUG_ARTIFACT }}
- name: Extract Archive Path (Windows x86_32 Debug) and Store in Step Outputs
id: store_windows_x86_32_debug
run: |
archive_path=`sed -E -n -e 's/archive_path= //p' $WINDOWS_X86_32_DEBUG_ARTIFACT_PATH`
echo "archive_path=$archive_path" >> $GITHUB_OUTPUT
- name: Download Artifact with Archive (Windows x86_32 Debug)
uses: actions/download-artifact@v4
with:
name: ${{ env.WINDOWS_X86_32_DEBUG_ARCHIVE_ARTIFACT }}
# Linux SDL2 x86_64
- name: Download Artifact (Linux SDL2 x86_64)
continue-on-error: true
uses: actions/download-artifact@v4
with:
name: ${{ env.LINUX_SDL2_X86_64_ARTIFACT }}
- name: Extract Archive Path (Linux SDL2 x86_64) and Store in Step Outputs
id: store_linux_sdl2_x86_64
continue-on-error: true
run: |
archive_path=`sed -E -n -e 's/archive_path= //p' $LINUX_SDL2_X86_64_ARTIFACT_PATH`
echo "archive_path=$archive_path" >> $GITHUB_OUTPUT
- name: Download Artifact with Archive (Linux SDL2 x86_64)
continue-on-error: true
uses: actions/download-artifact@v4
with:
name: ${{ env.LINUX_SDL2_X86_64_ARCHIVE_ARTIFACT }}
# Linux SDL1 x86_64
- name: Download Artifact (Linux SDL1 x86_64)
continue-on-error: true
uses: actions/download-artifact@v4
with:
name: ${{ env.LINUX_SDL1_X86_64_ARTIFACT }}
- name: Extract Archive Path (Linux SDL1 x86_64) and Store in Step Outputs
id: store_linux_sdl1_x86_64
continue-on-error: true
run: |
archive_path=`sed -E -n -e 's/archive_path= //p' $LINUX_SDL1_X86_64_ARTIFACT_PATH`
echo "archive_path=$archive_path" >> $GITHUB_OUTPUT
- name: Download Artifact with Archive (Linux SDL1 x86_64)
continue-on-error: true
uses: actions/download-artifact@v4
with:
name: ${{ env.LINUX_SDL1_X86_64_ARCHIVE_ARTIFACT }}
# MacOS x86_64
# - name: Download Artifact (MacOS x86_64)
# continue-on-error: true
# uses: actions/download-artifact@v4
# with:
# name: ${{ env.MACOS_X86_64_ARTIFACT }}
# - name: Extract Archive Path (MacOS x86_64) and Store in Step Outputs
# id: store_macos_x86_64
# continue-on-error: true
# run: |
# archive_path=`sed -E -n -e 's/archive_path= //p' $MACOS_X86_64_ARTIFACT_PATH`
# echo "archive_path=$archive_path" >> $GITHUB_OUTPUT
# - name: Download Artifact with Archive (MacOS x86_64)
# continue-on-error: true
# uses: actions/download-artifact@v4
# with:
# name: ${{ env.MACOS_X86_64_ARCHIVE_ARTIFACT }}
# MacOS arm64
# - name: Download Artifact (MacOS arm64)
# continue-on-error: true
# uses: actions/download-artifact@v4
# with:
# name: ${{ env.MACOS_ARM64_ARTIFACT }}
# - name: Extract Archive Path (MacOS arm64) and Store in Step Outputs
# id: store_macos_arm64
# continue-on-error: true
# run: |
# archive_path=`sed -E -n -e 's/archive_path= //p' $MACOS_ARM64_ARTIFACT_PATH`
# echo "archive_path=$archive_path" >> $GITHUB_OUTPUT
# - name: Download Artifact with Archive (MacOS arm64)
# continue-on-error: true
# uses: actions/download-artifact@v4
# with:
# name: ${{ env.MACOS_ARM64_ARCHIVE_ARTIFACT }}
# Create new nightly
- name: Release new nightly
uses: softprops/action-gh-release@v2.2.2
with:
name: nightly builds
tag_name: latest
target_commitish: ${{ github.sha }}
body_path: ${{ steps.store_release_body.outputs.archive_path }}
draft: false
prerelease: true
files: |
${{ steps.store_linux_sdl2_x86_64.outputs.archive_path }}
${{ steps.store_linux_sdl1_x86_64.outputs.archive_path }}
${{ steps.store_windows_x86_64.outputs.archive_path }}
${{ steps.store_windows_x86_32.outputs.archive_path }}
${{ steps.store_windows_x86_64_debug.outputs.archive_path }}
${{ steps.store_windows_x86_32_debug.outputs.archive_path }}
# ${{ steps.store_macos_x86_64.outputs.archive_path }}
# ${{ steps.store_macos_arm64.outputs.archive_path }}
token: ${{ secrets.GITHUB_TOKEN }}

View File

@ -8,7 +8,7 @@ jobs:
steps:
- uses: actions/checkout@v1
- name: Setup MSBuild.exe
uses: microsoft/setup-msbuild@v1.0.2
uses: warrenbuckley/Setup-MSBuild@v1
- name: MSBuild x86
working-directory: projectfiles/visualstudio-2019
run: |

View File

@ -8,7 +8,7 @@ jobs:
steps:
- uses: actions/checkout@v1
- name: Setup MSBuild.exe
uses: microsoft/setup-msbuild@v1.0.2
uses: warrenbuckley/Setup-MSBuild@v1
- name: MSBuild x64
working-directory: projectfiles/visualstudio-2019
run: |

5
.gitignore vendored
View File

@ -1,13 +1,10 @@
################################################################################
################################################################################
# This .gitignore file was automatically created by Microsoft(R) Visual Studio.
################################################################################
/.vs
.vscode
/projectfiles/visualstudio-2019/enc_temp_folder
/projectfiles/visualstudio-2019/fbneo_vs2019.vcxproj.user
/projectfiles/visualstudio-2022/enc_temp_folder
/projectfiles/visualstudio-2022/fbneo_vs2022.vcxproj.user
.DS_Store
obj/
._*

View File

@ -1,9 +1,5 @@
# FinalBurn Neo for Raspberry Pi
## Important notice
This port is meant for usage with the old closed-source gpu driver, which has been deprecated since 2019. Anybody using the modern open-source mesa driver should be using the [sdl2 port](README-SDL.md) instead.
Either way, this port is outdated, unmaintained and currently fails building, so anybody wanting to use this nonetheless will have to fix it first.
## Compiling
To compile the emulator, run `make pi`. You will need SDL 1.2 libraries for
sound and input:

View File

@ -91,13 +91,10 @@ The above will give you a nicely scalend game screen and the menu for launching
## In-game controls
'TAB' - brings up the in game menu (or game PAUSE)
'tab' - brings up the in game menu
'F12' - quit game.
'F1' - fast forward game.
'F11' - show FPS counter
'F6' - Screenshot
'ALT-ENTER' - Switch window/fullscreen
'+'/'-' - Volume controls
## SDL2 in menu controls
@ -106,4 +103,3 @@ The above will give you a nicely scalend game screen and the menu for launching
'F3' - Swap current system
'F12' - quit menu. This will return you to the game select menu if run with '-menu'. Press 'f12' again to quit
'q'/'w' - Skip to next letter
'ALT-ENTER' - Switch window/fullscreen

View File

@ -5,17 +5,25 @@ Discord: https://discord.gg/8EGVd9v
This is the official repository of FinalBurn Neo, an Emulator for Arcade Games & Select Consoles. It is based on the emulators FinalBurn and old versions of [MAME](https://www.mamedev.org)
FBNeo, or FinalBurn Neo, is a multi-system arcade emulator designed for retro gaming enthusiasts. It emulates a wide range of classic arcade games and consoles, such as Capcom CPS-1, CPS-2, CPS-3, Neo Geo, and Sega System 16, among others. FBNeo focuses on accurate emulation and high performance, supporting advanced features like netplay, rewinding, and shader effects. It's a continuation of the FinalBurn and FinalBurn Alpha projects, aiming to provide a comprehensive and user-friendly platform for preserving and enjoying vintage games on modern systems.
Use of this program and its source code is subject to the license conditions provided in the [license.txt](/src/license.txt) file in the src folder.
# Work in Progress builds
You can download the latest builds by clicking on the badge below. Please note that the downloads might not be available immediately after a new commit. As this build is of the last commit occasionally you might run into incomplete code, crashes or other issues that [official releases](https://github.com/finalburnneo/FBNeo/releases) will not have.
If the below build status badge is green, you can download the latest builds from [this repository](https://github.com/finalburnneo/FBNeo-WIP-Storage-Facility/releases/tag/appveyor-build). Please note that if the below build status badge is not green then the build will be out of date. As this build is of the last commit occasionally you might run into incomplete code, crashes or other issues that [official releases](https://github.com/finalburnneo/FBNeo/releases) will not have. Also note that the dates might be wrong against the downloads, but if the badge is green the downloads *will* be of the latest commit.
[![nightly-release](https://github.com/finalburnneo/FBNeo/actions/workflows/nightly-release.yml/badge.svg)](https://github.com/finalburnneo/FBNeo/releases/tag/latest)
[![Build status](https://ci.appveyor.com/api/projects/status/u5q9nte6o9igs90i?svg=true)](https://ci.appveyor.com/project/tmaul/fbneo-kbhgd/branch/master)
Here is the build status of the other versions for which we don't supply a binary directly. A red badge against a platform will indicate that something is wrong with that build. Currenty Raspberry Pi builds are missing from CI, but will one day be added:
![SDL2](https://github.com/finalburnneo/FBNeo/workflows/SDL2%20CI/badge.svg)
![SDL1.2](https://github.com/finalburnneo/FBNeo/workflows/SDL1.2%20CI/badge.svg)
![macOS](https://github.com/finalburnneo/FBNeo/workflows/macOS%20CI/badge.svg)
![VS X64](https://github.com/finalburnneo/FBNeo/workflows/VS2019%20x64%20CI/badge.svg)
![VS win32](https://github.com/finalburnneo/FBNeo/workflows/VS2019%20win32%20CI/badge.svg)
# Ports
Raspberry Pi [build instructions](README-PI.md).
macOS [build instructions](README-macOS.md) and [releases](https://github.com/fbn-mac/FBNeo/releases).
[LibRetro port](https://github.com/libretro/FBNeo) with builds availble via [RetroArch](https://www.retroarch.com/) for a lot of cool platforms.
@ -24,8 +32,6 @@ For SDL1.2 builds just type `make sdl` (requires SDL1.2 and GCC, make, perl and
For SDL2 builds just type `make sdl2` (requires SDL2, SDL2_image, gcc, make, perl and nasm) [instructions](README-SDL.md)
~~Raspberry Pi [build instructions](README-PI.md).~~
# Reporting Issues
Please raise an issue on the [project GitHub](https://github.com/finalburnneo/FBNeo/issues) or report on the forums at [Neosource](https://neo-source.com)

View File

@ -28,14 +28,14 @@ build_script:
- if "%build_type%"=="fbn-source" 7z a %build_type%.7z %APPVEYOR_BUILD_FOLDER%\*
- if "%build_type%"=="fbn-xp-gcc" 7z x %APPVEYOR_BUILD_FOLDER%\src\dep\mingw\dxsdk.7z -o%APPVEYOR_BUILD_FOLDER%\src\dep\mingw -r -aoa
- if "%build_type%"=="fbn-xp-gcc" bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER && mingw32-make mingw510 -j5 RELEASEBUILD=1 SKIPDEPEND=1"
- if "%build_type%"=="fbn-xp-gcc" 7z a %build_type%.7z %APPVEYOR_BUILD_FOLDER%\*.exe %APPVEYOR_BUILD_FOLDER%\fbahelpfilesrc\fbneo.chm %APPVEYOR_BUILD_FOLDER%\*.zip %APPVEYOR_BUILD_FOLDER%\src\license.txt %APPVEYOR_BUILD_FOLDER%\whatsnew.html
- if "%build_type%"=="fbn-xp-gcc" 7z a %build_type%.7z %APPVEYOR_BUILD_FOLDER%\*.exe %APPVEYOR_BUILD_FOLDER%\fba.chm %APPVEYOR_BUILD_FOLDER%\*.zip %APPVEYOR_BUILD_FOLDER%\src\license.txt %APPVEYOR_BUILD_FOLDER%\whatsnew.html
- if "%build_type%"=="fbn-xp-debug-gcc" 7z x %APPVEYOR_BUILD_FOLDER%\src\dep\mingw\dxsdk.7z -o%APPVEYOR_BUILD_FOLDER%\src\dep\mingw -r -aoa
- if "%build_type%"=="fbn-xp-debug-gcc" bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER && rm -rf obj && mingw32-make mingw510 -j5 SKIPDEPEND=1"
- if "%build_type%"=="fbn-xp-debug-gcc" 7z a %build_type%.7z %APPVEYOR_BUILD_FOLDER%\fbneod.exe %APPVEYOR_BUILD_FOLDER%\fbahelpfilesrc\fbneo.chm %APPVEYOR_BUILD_FOLDER%\*.zip %APPVEYOR_BUILD_FOLDER%\src\license.txt %APPVEYOR_BUILD_FOLDER%\whatsnew.html
- if "%build_type%"=="fbn-xp-debug-gcc" 7z a %build_type%.7z %APPVEYOR_BUILD_FOLDER%\fbneod.exe %APPVEYOR_BUILD_FOLDER%\fba.chm %APPVEYOR_BUILD_FOLDER%\*.zip %APPVEYOR_BUILD_FOLDER%\src\license.txt %APPVEYOR_BUILD_FOLDER%\whatsnew.html
- if "%build_type%"=="fbn-win32-gcc" bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER && mingw32-make mingw510 -j5 RELEASEBUILD=1 SKIPDEPEND=1 USE_UCRT=1"
- if "%build_type%"=="fbn-win32-gcc" 7z a %build_type%.7z %APPVEYOR_BUILD_FOLDER%\*.exe %APPVEYOR_BUILD_FOLDER%\fbahelpfilesrc\fbneo.chm %APPVEYOR_BUILD_FOLDER%\*.zip %APPVEYOR_BUILD_FOLDER%\src\license.txt %APPVEYOR_BUILD_FOLDER%\whatsnew.html
- if "%build_type%"=="fbn-win32-gcc" 7z a %build_type%.7z %APPVEYOR_BUILD_FOLDER%\*.exe %APPVEYOR_BUILD_FOLDER%\fba.chm %APPVEYOR_BUILD_FOLDER%\*.zip %APPVEYOR_BUILD_FOLDER%\src\license.txt %APPVEYOR_BUILD_FOLDER%\whatsnew.html
- if "%build_type%"=="fbn-win32-debug-gcc" bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER && rm -rf obj && mingw32-make mingw510 -j5 SKIPDEPEND=1 USE_UCRT=1"
- if "%build_type%"=="fbn-win32-debug-gcc" 7z a %build_type%.7z %APPVEYOR_BUILD_FOLDER%\fbneod.exe %APPVEYOR_BUILD_FOLDER%\fbahelpfilesrc\fbneo.chm %APPVEYOR_BUILD_FOLDER%\*.zip %APPVEYOR_BUILD_FOLDER%\src\license.txt %APPVEYOR_BUILD_FOLDER%\whatsnew.html
- if "%build_type%"=="fbn-win32-debug-gcc" 7z a %build_type%.7z %APPVEYOR_BUILD_FOLDER%\fbneod.exe %APPVEYOR_BUILD_FOLDER%\fba.chm %APPVEYOR_BUILD_FOLDER%\*.zip %APPVEYOR_BUILD_FOLDER%\src\license.txt %APPVEYOR_BUILD_FOLDER%\whatsnew.html
artifacts:
- path: $(build_type).7z
name: $(build_type)
@ -48,6 +48,6 @@ deploy:
on:
branch: master # release from master branch
auth_token:
secure: mZQIcN+Syl2DX8e4agz4KYmOwiO2Bb6cbxPYJeUcBF42TwAqQBYrwFEZGVYmpzsU
secure: cC6FjF22axzOF1Y1+B2DfieS+B3KAHeUTefa7k/iq7MJjqaj/OjQ01EWN+Ga5r6v
repository: finalburnneo/FBNeo-WIP-Storage-Facility
artifact: $(build_type)

View File

@ -70,7 +70,7 @@
<P>You can view game information, by clicking on the <B>Game Info</B> button. This opens the <A HREF="dialog_game_info.htm">Game Information Dialog</A>.</P>
<P>You can also right-click on a game in the list to open a context menu. Pressing <B>Play</B> from this menu, will play the game highlighted. <B>View Game Information</B> will open the <A HREF="dialog_game_info.htm">Game Information Dialog</A>. <B>View in Arcade Database</B> will open the games information page on Arcade Database @ Arcade Italia (external web link). <B>Favorite</B> will add the game to your Favorites, which are available from the filters.</P>
<P>You can also right-click on a game in the list to open a context menu. Pressing <B>Play</B> from this menu, will play the game highlighted. <B>View Game Information</B> will open the <A HREF="dialog_game_info.htm">Game Information Dialog</A>. <B>View in Progetto EMMA</B> will open the games information page on Progetto EMMA (external web link). <B>Favorite</B> will add the game to your Favorites, which are available from the filters.</P>
<P>The dialog is resizable. You can drag any edge or any corner and the dialog controls will move/resize as appropriate. The dialog size is restored on entry and saved when the program is exited.</P>

View File

@ -21,11 +21,9 @@
<P>As well as inputs for the game being emulated, there can also be various extra inputs for Auto-Fire or macros for simulating multiple button presses with one input.</P>
<P><B>Auto Fire</B> To set up Auto Fire, scroll down the input list until you see a place for a checkbox next to the inputs - this is the Macro section. Set-up a button here and check the box to make this macro Auto Fire. Set the Auto Fire speed through the menu option <B>"Input -> Auto-Fire Rate"</B>.</P>
<P>You can also choose from various presets by using the dropdown boxes below the inputs. Simply select the player from the first box, the controller from the second, and the control type from the third. The control type can be <B>Auto-center</B> or <B>Normal</B>. Once you have made your selection click <B>Use preset</B> to change the inputs for the selected game or click <B>Make default</B> to make your selection be the default for all games which have not been currently configured.</P>
<P>You can create presets by clicking the <B>Save preset</B> button. This will save a file with the current input definitions in a hardware specific file. If you are playing a CPS game, the file will be called <I>cps.ini</I>, for Neo-Geo games, the file will be called <I>neogeo.ini</I>, for PGM games the file will be called <I>pgm.ini</I>, consoles will also have their own preset file (for example: <I>nes.ini, fds.ini, pce.ini, msx.ini, coleco.ini, sg1000.ini, gg.ini, sms.ini, megadrive.ini, spectrum.ini and channelf.ini</I>, and for all other arcade games the file will be called <I>preset.ini</I>.</P>
<P>You can create presets by clicking the <B>Save preset</B> button. This will save a file with the current input definitions in a hardware specific file. If you are playing a CPS game, the file will be called <I>cps.ini</I>, for Neo-Geo games, the file will be called <I>neogeo.ini</I>, for PGM games the file will be called <O>pgm.ini</I>, and for all other games the file will be called <I>preset.ini</I>.</P>
<P>Controls are first assigned from the games specific ini file. If that isn't found, then the hardware specific ini file is tried (<I>cps.ini</I>, <I>neogeo.ini</I>, <I>pgm.ini</I>). If this isn't found then the default preset (applied by clicking <B>Make default</B>) is tried. If this isn't found then the application's default controls are mapped.</P>

Binary file not shown.

View File

@ -27,16 +27,15 @@
<LI>Data East DEC-0, DEC-8, Cassette System, DECO IC16 and DECO-32 based games</LI>
<LI>Galaxian based hardware</LI>
<LI>Irem M62, M63, M72, M90, M92 and M107 hardware</LI>
<LI>Jaleco MegaSystem 32</LI>
<LI>Kaneko 16</LI>
<LI>Konami</LI>
<LI>Namco Mappy, System 86, System 1 &amp; 2, NA-1, NA-2 and others</LI>
<LI>Namco Mappy, System 86, System 1 &amp; 2 and others</LI>
<LI>Neo-Geo</LI>
<LI>NMK16</LI>
<LI>Pacman based hardware</LI>
<LI>PGM</LI>
<LI>Psikyo 68EC020 and SH-2 based hardware</LI>
<LI>Sega System 1, System 16 (and similar), System 18, System 32, X-Board and Y-Board</LI>
<LI>Sega System 1, System 16 (and similar), System 18, X-Board and Y-Board</LI>
<LI>Seta-Sammy-Visco (SSV) based hardware</LI>
<LI>Super Kaneko Nova System</LI>
<LI>Toaplan 1</LI>
@ -45,9 +44,9 @@
<LI>Miscellaneous drivers for lots of other hardware</LI>
</UL>
<P>FB Neo also has console/computer drivers for Sega Megadrive/Genesis, ColecoVision, Sega SG-1000, Sega Master System/Game Gear, MSX-1, ZX Spectrum, PC-Engine/TurboGrafx 16/SuperGrafx, Neo-Geo Pocket. and also Fairchild Channel F</P>
<P>FB Neo also has WIP console/computer drivers for Sega Megadrive/Genesis, ColecoVision, Sega SG-1000, Sega Master System/Game Gear, MSX-1, ZX Spectrum, PC-Engine/TurboGrafx 16/SuperGrafx and also Neo-Geo Pocket.</P>
<P>FB Neo can currently be obtained from <A HREF="https://github.com/finalburnneo/FBNeo/releases/tag/latest">https://github.com/finalburnneo/FBNeo/releases/tag/latest</A>.</P>
<P>FB Neo can currently be obtained from <A HREF="https://github.com/finalburnneo/FBNeo-WIP-Storage-Facility/releases">https://github.com/finalburnneo/FBNeo-WIP-Storage-Facility/releases</A>.</P>
</FONT>
</BODY>

View File

@ -43,9 +43,6 @@
<TR><TD WIDTH="200" VALIGN="TOP"><FONT FACE="verdana" SIZE="1"><B>F1</B></FONT></TD>
<TD VALIGN="TOP"><FONT FACE="verdana" SIZE="1">Hold to fast forward emulation.</FONT></TD></TR>
<TR><TD WIDTH="200" VALIGN="TOP"><FONT FACE="verdana" SIZE="1"><B>SHIFT and F1</B></FONT></TD>
<TD VALIGN="TOP"><FONT FACE="verdana" SIZE="1">Toggle fast forward.</FONT></TD></TR>
<TR><TD WIDTH="100"><FONT FACE="verdana" SIZE="1"><B>ALT and Enter</B></FONT></TD>
<TD VALIGN="TOP"><FONT FACE="verdana" SIZE="1">Switch to fullscreen.</FONT></TD></TR>
@ -61,11 +58,8 @@
<TR><TD WIDTH="200" VALIGN="TOP"><FONT FACE="verdana" SIZE="1"><B>Backspace</B></FONT></TD>
<TD VALIGN="TOP"><FONT FACE="verdana" SIZE="1">Toggle Frames per Second display.</FONT></TD></TR>
<TR><TD WIDTH="200" VALIGN="TOP"><FONT FACE="verdana" SIZE="1"><B>SHIFT and Backspace</B></FONT></TD>
<TD VALIGN="TOP"><FONT FACE="verdana" SIZE="1">Toggle Frame-count display during recording/playback.</FONT></TD></TR>
<TR><TD WIDTH="200" VALIGN="TOP"><FONT FACE="verdana" SIZE="1"><B>T</B></FONT></TD>
<TD VALIGN="TOP"><FONT FACE="verdana" SIZE="1">On-screen chat (netplay only, not available on DX9 blitters)</FONT></TD></TR>
<TD VALIGN="TOP"><FONT FACE="verdana" SIZE="1">On-screen chat (netplay only)</FONT></TD></TR>
<TR><TD WIDTH="200" VALIGN="TOP"><FONT FACE="verdana" SIZE="1"><B>F7</B></FONT></TD>
<TD VALIGN="TOP"><FONT FACE="verdana" SIZE="1">Insert or eject a memory card.</FONT></TD></TR>

View File

@ -10,6 +10,7 @@ export
# SPECIALBUILD = "This text will appear in the property sheet of the .exe file"
#
# Flags. Uncomment any of these declarations to enable their function.
#
@ -38,9 +39,6 @@ INCLUDE_7Z_SUPPORT = 1
# Include AVI recording support (uses Video For Windows)
INCLUDE_AVI_RECORDING = 1
# Include LUA support (on Windows Standalone, LUA is enabled regardless)
#INCLUDE_LUA_SUPPORT = 1
# Include symbols and other debug information in the executable
#SYMBOL = 1
@ -89,19 +87,6 @@ mingw471: FORCE
mingw510: FORCE
@$(MAKE) -s -f makefile.mingw GCC510=1
# MinGW w/gcc 5.1.x to gcc 11.x (present)
# note: BORKYCRT fixes swprintf() which MSYS2 broke some time 2021
mingw: FORCE
@$(MAKE) -s -f makefile.mingw GCC510=1 BORKYCRT=1
# Cross compile a 32 bits windows binary from linux
mingwcc: FORCE
@$(MAKE) -s -f makefile.mingw GCC510=1 BORKYCRT=1 HOST_CC=gcc HOST_CXX=g++ CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ WINDRES=i686-w64-mingw32-windres
# Cross compile a 64 bits windows binary from linux
mingwcc64: FORCE
@$(MAKE) -s -f makefile.mingw BUILD_X64_EXE=1 GCC510=1 BORKYCRT=1 HOST_CC=gcc HOST_CXX=g++ CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ WINDRES=x86_64-w64-mingw32-windres
mamemingw: FORCE
@$(MAKE) -s -f makefile.mamemingw

View File

@ -1,15 +1,14 @@
alldir = burn burn/devices burn/snd burn/drv burn/drv/atari burn/drv/capcom burn/drv/cave burn/drv/channelf burn/drv/coleco burn/drv/cps3 burn/drv/dataeast \
burn/drv/galaxian burn/drv/irem burn/drv/konami burn/drv/megadrive burn/drv/midway burn/drv/pce burn/drv/pst90s burn/drv/pre90s burn/drv/neogeo burn/drv/nes burn/drv/snes \
alldir = burn burn/devices burn/snd burn/drv burn/drv/atari burn/drv/capcom burn/drv/cave burn/drv/coleco burn/drv/cps3 burn/drv/dataeast \
burn/drv/galaxian burn/drv/irem burn/drv/konami burn/drv/megadrive burn/drv/midway burn/drv/pce burn/drv/pst90s burn/drv/pre90s burn/drv/neogeo burn/drv/nes \
burn/drv/pgm burn/drv/psikyo burn/drv/sega burn/drv/sg1000 burn/drv/sms burn/drv/msx burn/drv/spectrum burn/drv/taito \
burn/drv/toaplan cpu cpu/a68k cpu/arm cpu/arm7 cpu/e132xs cpu/f8 cpu/h6280 cpu/hd6309 cpu/i386 cpu/i8039 cpu/i8x41 cpu/i8051 cpu/adsp2100 cpu/konami cpu/m377 cpu/mips3 cpu/m68k \
cpu/mb88xx cpu/m6502 cpu/m6800 cpu/m6805 cpu/m6809 cpu/nec cpu/pic16c5x cpu/s2650 cpu/tlcs90 cpu/tlcs900 cpu/sh2 cpu/sh4 cpu/tms32010 cpu/tms34 cpu/upd7725 cpu/upd7810 \
cpu/v60 cpu/z80 cpu/z180 \
dep/libs/dr_libs
burn/drv/toaplan cpu cpu/a68k cpu/arm cpu/arm7 cpu/e132xs cpu/h6280 cpu/hd6309 cpu/i8039 cpu/i8x41 cpu/i8051 cpu/adsp2100 cpu/konami cpu/mips3 cpu/m68k \
cpu/m6502 cpu/m6800 cpu/m6805 cpu/m6809 cpu/nec cpu/pic16c5x cpu/s2650 cpu/tlcs90 cpu/tlcs900 cpu/sh2 cpu/tms32010 cpu/tms34010 cpu/upd7725 cpu/upd7810 \
cpu/v60 cpu/z80 cpu/z180
drvsrc = d_akkaarrh.o d_arcadecl.o d_atarig1.o d_badlands.o d_batman.o d_blstroid.o d_eprom.o d_gauntlet.o d_klax.o d_marblmd2.o d_missile.o d_offtwall.o d_rampart.o \
drvsrc = d_akkaarrh.o d_arcadecl.o d_atarig1.o d_badlands.o d_batman.o d_blstroid.o d_eprom.o d_gauntlet.o d_klax.o d_offtwall.o d_rampart.o \
d_relief.o d_shuuz.o d_skullxbo.o d_thunderj.o d_toobin.o d_vindictr.o d_xybots.o \
\
d_cv1k.o d_dodonpachi.o d_donpachi.o d_esprade.o d_feversos.o d_gaia.o d_guwange.o d_hotdogst.o d_korokoro.o d_mazinger.o d_metmqstr.o d_pwrinst2.o \
d_dodonpachi.o d_donpachi.o d_esprade.o d_feversos.o d_gaia.o d_guwange.o d_hotdogst.o d_korokoro.o d_mazinger.o d_metmqstr.o d_pwrinst2.o \
d_sailormn.o d_tjumpman.o d_uopoko.o \
\
d_cps1.o \
@ -18,11 +17,9 @@ drvsrc = d_akkaarrh.o d_arcadecl.o d_atarig1.o d_badlands.o d_batman.o d_blstro
\
d_cps3.o \
\
d_channelf.o \
\
d_actfancr.o d_backfire.o d_boogwing.o d_brkthru.o d_bwing.o d_cbuster.o d_chanbara.o d_cninja.o d_compgolf.o d_darkseal.o d_dassault.o d_dblewing.o d_dec0.o \
d_actfancr.o d_backfire.o d_boogwing.o d_brkthru.o d_bwing.o d_cbuster.o d_chanbara.o d_cninja.o d_darkseal.o d_dassault.o d_dblewing.o d_dec0.o \
d_decocass.o d_deco156.o d_deco32.o d_decomlc.o d_dec8.o d_dietgogo.o d_dreambal.o d_funkyjet.o d_karnov.o d_kchamp.o d_lemmings.o d_liberate.o d_metlclsh.o \
d_pcktgal.o d_pktgaldx.o d_progolf.o d_rohga.o d_shootout.o d_sidepckt.o d_simpl156.o d_sshangha.o d_stadhero.o d_supbtime.o d_tumblep.o d_vaportra.o \
d_pktgaldx.o d_progolf.o d_rohga.o d_shootout.o d_sidepckt.o d_simpl156.o d_sshangha.o d_stadhero.o d_supbtime.o d_tumblep.o d_vaportra.o \
\
d_galaxian.o \
\
@ -35,60 +32,57 @@ drvsrc = d_akkaarrh.o d_arcadecl.o d_atarig1.o d_badlands.o d_batman.o d_blstro
d_rollerg.o d_sbasketb.o d_scotrsht.o d_shaolins.o d_simpsons.o d_spy.o d_surpratk.o d_thunderx.o d_timeplt.o d_tmnt.o d_tp84.o d_trackfld.o \
d_tutankhm.o d_twin16.o d_ultraman.o d_vendetta.o d_wecleman.o d_xexex.o d_xmen.o d_yiear.o \
\
d_kinst.o d_tunit.o d_wunit.o d_xunit.o d_yunit.o \
d_kinst.o d_tunit.o d_wunit.o \
\
d_neogeo.o \
\
d_nes.o nes.o \
\
d_snes.o apu.o cart.o cpu.o cx4.o dma.o dsp.o input.o ppu.o snes.o \
snes_other.o spc.o sa1.o sdd1.o cpu_sa1.o statehandler.o \
d_nes.o \
\
d_pgm.o \
\
d_psikyo.o d_psikyo4.o d_psikyosh.o \
\
d_119.o d_angelkds.o d_appoooh.o d_bankp.o d_dotrikun.o d_hangon.o d_outrun.o d_segac2.o d_segae.o d_segag80v.o d_segas32.o d_suprloco.o d_sys1.o d_sys16a.o d_sys16b.o d_sys18.o \
d_angelkds.o d_appoooh.o d_bankp.o d_dotrikun.o d_hangon.o d_outrun.o d_segae.o d_segag80v.o d_suprloco.o d_sys1.o d_sys16a.o d_sys16b.o d_sys18.o \
d_sys24.o d_turbo.o d_xbrd.o d_ybrd.o d_zaxxon.o \
\
d_arkanoid.o d_ashnojoe.o d_asuka.o d_bublbobl.o d_buggychl.o d_chaknpop.o d_crbaloon.o d_cyclemb.o d_darius2.o d_exzisus.o d_flstory.o d_galastrm.o d_gladiatr.o \
d_groundfx.o d_gunbuster.o d_halleys.o d_jollyjgr.o d_ksayakyu.o d_lkage.o d_lsasquad.o d_mexico86.o d_minivdr.o d_msisaac.o d_nycaptor.o d_othunder.o d_qix.o d_retofinv.o d_rollrace.o d_slapshot.o \
d_ssrj.o d_superchs.o d_superqix.o d_supridr.o d_taitob.o d_taitoh.o d_taitof2.o d_taitof3.o d_taitol.o d_taitomisc.o d_taitosj.o d_taitox.o d_taitoz.o d_tnzs.o d_undrfire.o d_wyvernf0.o \
d_arkanoid.o d_ashnojoe.o d_asuka.o d_bublbobl.o d_buggychl.o d_chaknpop.o d_crbaloon.o d_darius2.o d_darkmist.o d_exzisus.o d_flstory.o d_galastrm.o d_groundfx.o d_gunbuster.o d_jollyjgr.o \
d_ksayakyu.o d_lkage.o d_mexico86.o d_minivdr.o d_msisaac.o d_othunder.o d_qix.o d_retofinv.o d_rollrace.o d_slapshot.o d_ssrj.o d_superchs.o d_supridr.o d_taitob.o \
d_taitoh.o d_taitof2.o d_taitof3.o d_taitol.o d_taitomisc.o d_taitosj.o d_taitox.o d_taitoz.o d_tnzs.o d_undrfire.o d_wyvernf0.o \
\
d_batrider.o d_batsugun.o d_battleg.o d_bbakraid.o d_dogyuun.o d_enmadaio.o d_fixeight.o d_ghox.o d_kbash.o d_kbash2.o d_mahoudai.o d_pipibibs.o \
d_shippumd.o d_slapfght.o d_snowbro2.o d_tekipaki.o d_toaplan1.o d_truxton2.o d_twincobr.o d_vfive.o d_wardner.o \
\
d_4enraya.o d_1942.o d_1943.o d_aeroboto.o d_akazukin.o d_alinvade.o d_alpha68k.o d_alpha68k1.o d_alpha68k2.o d_ambush.o d_amspdwy.o d_arabian.o d_argus.o d_armedf.o \
d_asteroids.o d_astrocde.o d_atetris.o d_aztarac.o d_bagman.o d_baraduke.o d_battlane.o d_battlex.o d_bbusters.o d_beaminv.o d_berzerk.o d_bionicc.o d_blktiger.o \
d_4enraya.o d_1942.o d_1943.o d_aeroboto.o d_alinvade.o d_alpha68k.o d_alpha68k1.o d_alpha68k2.o d_ambush.o d_amspdwy.o d_arabian.o d_argus.o d_armedf.o \
d_asteroids.o d_atetris.o d_aztarac.o d_bagman.o d_baraduke.o d_battlane.o d_battlex.o d_bbusters.o d_beaminv.o d_berzerk.o d_bionicc.o d_blktiger.o \
d_blockade.o d_blockout.o d_blueprnt.o d_bogeyman.o d_bombjack.o d_btime.o d_bwidow.o d_bzone.o d_cabal.o d_calorie.o d_canyon.o d_capbowl.o \
d_carjmbre.o d_ccastles.o d_cclimber.o d_cheekyms.o d_chinagat.o d_citycon.o d_cloak.o d_cloud9.o d_clshroad.o d_commando.o d_cop01.o d_copsnrob.o \
d_cybertnk.o d_dacholer.o d_darkmist.o d_dday.o d_ddayjlc.o d_ddragon.o d_deadang.o d_djboy.o d_dkong.o d_docastle.o d_dogfgt.o d_dorachan.o d_dribling.o d_drmicro.o \
d_dynduke.o d_efdt.o d_epos.o d_espial.o d_ettrivia.o d_exedexes.o d_exerion.o d_exidy440.o d_exprraid.o d_exterm.o d_fantland.o d_fastfred.o d_fcombat.o d_firetrap.o d_flipjack.o d_flower.o d_foodf.o \
d_freekick.o d_funkybee.o d_galaga.o d_galivan.o d_gaplus.o d_ginganin.o d_gng.o d_goindol.o d_gotya.o d_gridlee.o d_gunsmoke.o d_headonb.o d_higemaru.o \
d_cybertnk.o d_dacholer.o d_dday.o d_ddayjlc.o d_ddragon.o d_deadang.o d_djboy.o d_dkong.o d_docastle.o d_dogfgt.o d_dorachan.o d_dribling.o d_drmicro.o \
d_dynduke.o d_efdt.o d_epos.o d_espial.o d_ettrivia.o d_exedexes.o d_exprraid.o d_fantland.o d_fastfred.o d_firetrap.o d_flipjack.o d_flower.o d_foodf.o \
d_freekick.o d_funkybee.o d_galaga.o d_galivan.o d_gaplus.o d_ginganin.o d_gng.o d_goindol.o d_gunsmoke.o d_headonb.o d_higemaru.o \
d_himesiki.o d_holeland.o d_hvyunit.o d_invaders.o d_iqblock.o d_jack.o d_jedi.o d_jrpacman.o d_kangaroo.o d_kingofbox.o d_kncljoe.o d_kyugo.o d_ladybug.o d_lasso.o \
d_lastduel.o d_lockon.o d_lwings.o d_mainsnk.o d_mappy.o d_marineb.o d_mario.o d_madmotor.o d_magmax.o d_markham.o d_mastboyo.o d_matmania.o d_mcr.o d_mcr3.o d_mcr68.o d_megasys1.o d_meijinsn.o \
d_lastduel.o d_lwings.o d_mainsnk.o d_mappy.o d_marineb.o d_mario.o d_madmotor.o d_magmax.o d_markham.o d_mastboyo.o d_matmania.o d_mcr.o d_mcr3.o d_megasys1.o d_meijinsn.o \
d_metlfrzr.o d_mhavoc.o d_millipede.o d_mirax.o d_mitchell.o d_mjkjidai.o d_mole.o d_momoko.o d_mmagic.o d_mouser.o d_mrdo.o d_mrflea.o d_mrjong.o d_munchmo.o \
d_mustache.o d_mystston.o d_namcona1.o d_namconb1.o d_namcos1.o d_namcos86.o d_ninjakd2.o d_nitedrvr.o d_naughtyb.o d_olibochu.o d_omegrace.o d_pacland.o d_pacman.o \
d_mustache.o d_mystston.o d_namcos1.o d_namcos86.o d_ninjakd2.o d_nitedrvr.o d_naughtyb.o d_olibochu.o d_omegrace.o d_pacland.o d_pacman.o \
d_pbaction.o d_pac2650.o d_pengadvb.o d_phoenix.o d_pitnrun.o d_pkunwar.o d_popeye.o d_popper.o d_prehisle.o d_psychic5.o d_pturn.o d_punchout.o \
d_qbert.o d_quizo.o d_rallyx.o d_redclash.o d_renegade.o d_quantum.o d_route16.o d_rpunch.o d_safarir.o d_sauro.o d_scregg.o d_seicross.o d_senjyo.o d_sf.o d_shangkid.o d_shisen.o \
d_qbert.o d_quizo.o d_rallyx.o d_renegade.o d_quantum.o d_route16.o d_rpunch.o d_safarir.o d_sauro.o d_scregg.o d_seicross.o d_senjyo.o d_sf.o d_shisen.o \
d_sidearms.o d_skyarmy.o d_skyfox.o d_skykid.o d_snk.o d_snk6502.o d_snk68.o d_solomon.o d_sonson.o d_spacefb.o d_spdodgeb.o d_speedbal.o d_sprcros2.o \
d_srumbler.o d_ssozumo.o d_sstrangr.o d_starwars.o d_stfight.o d_stuntair.o d_sub.o d_suna8.o d_tagteam.o d_tankbust.o d_taxidriv.o d_tail2nose.o d_tbowl.o d_tceptor.o \
d_tecmo.o d_tehkanwc.o d_tempest.o d_terracre.o d_thedeep.o d_thepit.o d_thief.o d_tiamc1.o d_tigeroad.o d_timelimt.o d_toki.o d_toypop.o d_travrusa.o d_tsamurai.o d_tubep.o d_usgames.o \
d_vampire.o d_vastar.o d_vball.o d_vicdual.o d_vulgus.o d_wallc.o d_warpwarp.o d_warpsped.o d_wc90.o d_wc90b.o d_williams.o d_wiping.o d_wiz.o d_wwfsstar.o \
d_xain.o d_xxmissio.o d_xyonix.o d_zaccaria.o d_zodiack.o d_zwackery.o \
d_srumbler.o d_ssozumo.o d_sstrangr.o d_starwars.o d_stfight.o d_stuntair.o d_sub.o d_suna8.o d_tagteam.o d_tankbust.o d_tail2nose.o d_tbowl.o d_tceptor.o \
d_tecmo.o d_tempest.o d_terracre.o d_thedeep.o d_thepit.o d_thief.o d_tigeroad.o d_timelimt.o d_toki.o d_toypop.o d_travrusa.o d_tsamurai.o d_tubep.o d_usgames.o \
d_vastar.o d_vball.o d_vicdual.o d_vulgus.o d_wallc.o d_warpwarp.o d_warpsped.o d_wc90.o d_wc90b.o d_williams.o d_wiping.o d_wiz.o d_wwfsstar.o \
d_xain.o d_xxmissio.o d_xyonix.o d_zodiack.o \
\
d_3x3puzzl.o d_1945kiii.o d_20pacgal.o d_aerofgt.o d_airbustr.o d_aquarium.o d_artmagic.o d_bestleag.o d_bigstrkb.o d_blackt96.o d_blmbycar.o d_bloodbro.o d_bloodbro_ms.o d_btoads.o \
d_cischeat.o d_crospang.o d_crshrace.o d_cultures.o d_dcon.o d_ddragon3.o d_deniam.o d_discoboy.o d_diverboy.o d_dooyong.o d_dreamwld.o d_drgnmst.o d_drtomy.o d_egghunt.o d_eolith.o d_eolith16.o d_expro02.o \
d_3x3puzzl.o d_1945kiii.o d_20pacgal.o d_aerofgt.o d_airbustr.o d_aquarium.o d_bestleag.o d_bigstrkb.o d_blackt96.o d_blmbycar.o d_bloodbro.o \
d_cischeat.o d_crospang.o d_crshrace.o d_cultures.o d_dcon.o d_ddragon3.o d_deniam.o d_diverboy.o d_dooyong.o d_dreamwld.o d_drgnmst.o d_drtomy.o d_egghunt.o d_eolith.o d_eolith16.o \
d_esd16.o d_f-32.o d_f1gp.o d_funybubl.o d_fuukifg2.o d_fuukifg3.o d_gaelco.o d_gaelco2.o d_gaiden.o d_galpani3.o d_galpanic.o d_galspnbl.o d_glass.o d_go2000.o d_goori.o d_gotcha.o d_gstream.o d_gumbo.o \
d_hyperpac.o d_hyprduel.o d_itech8.o d_itech32.o d_igs011.o d_inufuku.o d_jchan.o d_kaneko16.o d_kickgoal.o d_ladyfrog.o d_legionna.o d_limenko.o d_lordgun.o d_macrossp.o d_mcatadv.o d_metro.o d_midas.o d_mirage.o \
d_missb2.o d_mosaic.o d_ms32.o d_mugsmash.o d_mwarr.o d_namcos2.o d_news.o d_ngp.o d_nmg5.o d_nmk16.o d_ohmygod.o d_oneshot.o d_onetwo.o d_pasha2.o d_pass.o d_patapata.o \
d_pipedrm.o d_pirates.o d_pkscram.o d_playmark.o d_powerins.o d_powerbal.o d_ppmast93.o d_pushman.o d_rabbit.o d_raiden.o d_raiden2.o d_sandscrp.o d_sderby.o d_seibuspi.o d_seta.o d_seta2.o \
d_shadfrce.o d_shangha3.o d_silkroad.o d_silvmil.o d_speedspn.o d_splash.o d_ssv.o d_suna16.o d_supduck.o d_suprnova.o d_taotaido.o d_targeth.o d_tecmo16.o d_tecmosys.o \
d_tetrisp2.o d_thoop2.o d_topdrive.o d_tumbleb.o d_unico.o d_vamphalf.o d_vegaeo.o d_welltris.o d_wrally.o d_wwfwfest.o d_x2222.o d_xorworld.o d_yunsun16.o d_yunsung8.o d_zerozone.o \
d_hyperpac.o d_hyprduel.o d_itech32.o d_inufuku.o d_jchan.o d_kaneko16.o d_kickgoal.o d_legionna.o d_limenko.o d_lordgun.o d_macrossp.o d_mcatadv.o d_metro.o d_midas.o d_mirage.o \
d_missb2.o d_mosaic.o d_mugsmash.o d_mwarr.o d_namcos2.o d_news.o d_ngp.o d_nmg5.o d_nmk16.o d_ohmygod.o d_oneshot.o d_onetwo.o d_pasha2.o d_pass.o d_patapata.o \
d_pipedrm.o d_pirates.o d_pkscram.o d_playmark.o d_powerins.o d_ppmast93.o d_pushman.o d_rabbit.o d_raiden.o d_raiden2.o d_sandscrp.o d_seta.o d_seta2.o \
d_shadfrce.o d_shangha3.o d_silkroad.o d_silvmil.o d_speedspn.o d_ssv.o d_suna16.o d_supduck.o d_suprnova.o d_taotaido.o d_targeth.o d_tecmo16.o d_tecmosys.o \
d_tetrisp2.o d_thoop2.o d_tumbleb.o d_unico.o d_vamphalf.o d_vegaeo.o d_vmetal.o d_welltris.o d_wrally.o d_wwfwfest.o d_x2222.o d_xorworld.o d_yunsun16.o d_yunsung8.o d_zerozone.o \
\
d_parent.o \
\
d_megadrive.o d_mdarcbl.o \
d_megadrive.o d_mdarcbl.cpp \
\
d_pce.o \
\
@ -100,27 +94,26 @@ drvsrc = d_akkaarrh.o d_arcadecl.o d_atarig1.o d_badlands.o d_batman.o d_blstro
\
d_sg1000.o \
\
d_spectrum.o spectrum.o
d_spectrum.o
depobj = burn.o burn_bitmap.o burn_gun.o burn_led.o burn_shift.o burn_memory.o burn_pal.o burn_sound.o burn_sound_c.o cheat.o debug_track.o hiscore.o \
load.o burn_sha1.o tilemap_generic.o tiles_generic.o timer.o vector.o \
load.o tilemap_generic.o tiles_generic.o timer.o vector.o \
\
6821pia.o 6840ptm.o 8255ppi.o 8257dma.o c169.o atariic.o atarijsa.o atarimo.o atarirle.o atarivad.o avgdvg.o bsmt2000.o decobsmt.o ds2404.o dtimer.o earom.o eeprom.o epic12.o gaelco_crypt.o i2ceeprom.o i4x00.o intelfsh.o \
joyprocess.o nb1414m4.o nb1414m4_8bit.o nmk004.o nmk112.o k1ge.o kaneko_hit.o kaneko_tmap.o mathbox.o mb87078.o mermaid.o midcsd.o midsat.o midsg.o midcvsd.o midssio.o midtcs.o \
namco_c45.o namcoio.o pandora.o pic8259.o pit8253.o poly.o qs1000.o resnet.o rtc9701.o seibucop.o seibusnd.o serflash.o sknsspr.o slapstic.o st0020.o t5182.o timekpr.o tlc34076.o tms34061.o v3021.o vdc.o \
tms9928a.o watchdog.o x2212.o \
6821pia.o 8255ppi.o 8257dma.o c169.o atariic.o atarijsa.o atarimo.o atarirle.o atarivad.o avgdvg.o bsmt2000.o decobsmt.o earom.o eeprom.o gaelco_crypt.o i4x00.o \
joyprocess.o nb1414m4.o nb1414m4_8bit.o nmk004.o nmk112.o k1ge.o kaneko_tmap.o mathbox.o mb87078.o mermaid.o midcsd.o midsat.o midsg.o midssio.o midtcs.o \
namco_c45.o namcoio.o pandora.o poly.o qs1000.o resnet.o seibucop.o seibusnd.o sknsspr.o slapstic.o st0020.o t5182.o timekpr.o tms34061.o v3021.o vdc.o tms9928a.o watchdog.o x2212.o \
\
asteroids.o astrocde_snd.o ay8910.o burn_y8950.o burn_ym2151.o burn_ym2203.o burn_ym2413.o burn_ym2608.o burn_ym2610.o burn_ym2612.o burn_md2612.o \
burn_ym3526.o burn_ym3812.o burn_ymf262.o burn_ymf271.o burn_ymf278b.o bzone.o c6280.o dac.o digitalk.o es5506.o es8712.o exidy440_snd.o flower.o flt_rc.o fm.o fmopl.o ym2612.o gaelco.o hc55516.o \
i5000.o ics2115.o iremga20.o k005289.o k007232.o k051649.o k053260.o k054539.o llander.o mpeg_audio.o msm5205.o msm5232.o msm6295.o multipcm.o namco_snd.o c140.o c352.o nes_apu.o \
t6w28.o tiamc1_snd.o tms5110.o tms5220.o tms36xx.o phoenixsound.o pleiadssound.o pokey.o redbaron.o rf5c68.o s14001a.o saa1099.o samples.o segapcm.o sn76477.o sn76496.o \
upd7759.o vlm5030.o votrax.o wiping.o x1010.o ym2151.o ym2413.o ymdeltat.o ymf262.o ymf271.o ymf278b.o ymz280b.o ymz770.o snk6502_sound.o sp0250.o sp0256.o \
asteroids.o ay8910.o burn_y8950.o burn_ym2151.o burn_ym2203.o burn_ym2413.o burn_ym2608.o burn_ym2610.o burn_ym2612.o burn_md2612.o \
burn_ym3526.o burn_ym3812.o burn_ymf262.o burn_ymf278b.o bzone.o c6280.o dac.o es5506.o es8712.o flower.o flt_rc.o fm.o fmopl.o ym2612.o gaelco.o hc55516.o \
i5000.o ics2115.o iremga20.o k005289.o k007232.o k051649.o k053260.o k054539.o llander.o msm5205.o msm5232.o msm6295.o namco_snd.o c140.o nes_apu.o \
t6w28.o tms5110.o tms5220.o tms36xx.o phoenixsound.o pleiadssound.o pokey.o redbaron.o rf5c68.o s14001a.o saa1099.o samples.o segapcm.o sn76477.o sn76496.o \
upd7759.o vlm5030.o wiping.o x1010.o ym2151.o ym2413.o ymdeltat.o ymf262.o ymf278b.o ymz280b.o snk6502_sound.o sp0250.o sp0256.o \
\
adsp2100.o adsp2100_intf.o arm7_intf.o arm_intf.o f8.o h6280_intf.o hd6309_intf.o konami_intf.o m6502_intf.o m6800_intf.o m6805_intf.o m6809_intf.o \
m68000_intf.o mips3_intf.o nec_intf.o pic16c5x_intf.o s2650_intf.o tlcs90_intf.o tms34010.o tms34_intf.o z80_intf.o \
adsp2100.o adsp2100_intf.o arm7_intf.o arm_intf.o h6280_intf.o hd6309_intf.o konami_intf.o m6502_intf.o m6800_intf.o m6805_intf.o m6809_intf.o \
m68000_intf.o mips3_intf.o nec_intf.o pic16c5x_intf.o s2650_intf.o tlcs90_intf.o tms34010.o tms34010_optable.o tms34010_intf.o z80_intf.o \
z180_intf.o \
\
arm.o arm7.o e132xs.o h6280.o hd6309.o i386.o i8039.o m37710.o mcs48.o mcs51.o konami.o m6502.o m6800.o m6805.o m6809.o mb88xx.o nec.o pic16c5x.o s2650.o sh2.o sh4.o tms32010.o tlcs90.o tlcs900.o \
arm.o arm7.o e132xs.o h6280.o hd6309.o i8039.o i8x41.o mcs51.o konami.o m6502.o m6800.o m6805.o m6809.o nec.o pic16c5x.o s2650.o sh2.o tms32010.o tlcs90.o tlcs900.o \
upd7725.o upd7810.o v25.o v60.o z80.o z80daisy.o z80ctc.o z80pio.o z180.o \
\
cop0.o cop1.o mips3.o \
@ -138,10 +131,10 @@ depobj = burn.o burn_bitmap.o burn_gun.o burn_led.o burn_shift.o burn_memory.o
\
irem_cpu.o irem_sound.o \
\
k007121.o k007342_k007420.o k007452.o k051316.o k051733.o k051960.o k052109.o k053245.o k053247.o k053250.o k053251.o k053936.o k054000.o k054338.o \
k007121.o k007342_k007420.o k051316.o k051733.o k051960.o k052109.o k053245.o k053247.o k053250.o k053251.o k053936.o k054000.o k054338.o \
k055555.o k056832.o konamigx.o konamiic.o timeplt_snd.o \
\
dcs2k.o ide.o midwayic.o midtunit.o midwunit.o narc_sound.o williams_adpcm.o williams_cvsd.o yawdim_sound.o \
dcs2k.o ide.o midwayic.o midtunit.o midwunit.o \
\
neo_decrypt.o neo_palette.o neo_run.o neo_sprite.o neo_text.o neo_upd4990a.o neogeo.o \
\
@ -156,7 +149,7 @@ depobj = burn.o burn_bitmap.o burn_gun.o burn_led.o burn_shift.o burn_memory.o
\
toa_bcu2.o toa_extratext.o toa_gp9001.o toa_palette.o toaplan1.o toaplan.o \
\
megadrive.o stm95.o \
megadrive.o stm95.o mdeeprom.o \
\
pce.o \
\
@ -171,7 +164,7 @@ ifdef BUILD_X86_ASM
autobj += burn_sound_a.o
endif
#ifdef BUILD_X64_EXE
# alldir += cpu/mips3/x64
# depobj += mips3_x64.o
#endif
ifdef BUILD_X64_EXE
alldir += cpu/mips3/x64
depobj += mips3_x64.o
endif

View File

@ -1,40 +1,35 @@
alldir += burner burner/win32 dep/kaillera/client dep/libs/libspng dep/libs/lib7z dep/libs/zlib intf intf/video \
alldir += burner burner/win32 dep/kaillera/client dep/libs/libpng dep/libs/lib7z dep/libs/zlib intf intf/video \
intf/video/scalers intf/video/win32 intf/audio intf/audio/win32 intf/input intf/input/win32 intf/cd intf/cd/win32 \
intf/perfcount intf/perfcount/win32 dep/generated dep/libs/lua
intf/perfcount intf/perfcount/win32 dep/generated
depobj += about.o bzip.o choose_monitor.o cona.o debugger.o drv.o d3dkmt_sync.o fba_kaillera.o gameinfo.o image_win32.o \
inpc.o inpcheat.o inpd.o inpdipsw.o inps.o ips_manager.o localise.o localise_download.o localise_gamelist.o main.o \
media.o memcard.o menu.o misc_win32.o neocdlist.o neocdsel.o numdial.o paletteviewer.o placeholder.o popup_win32.o \
progress.o replay.o res.o roms.o run.o scrn.o sel.o sfactd.o splash.o stated.o support_paths.o systeminfo.o wave.o \
romdata.o mbtwc.o\
\
conc.o cong.o dat.o inputbuf.o gamc.o gami.o image.o ioapi.o misc.o nvram.o sshot.o state.o statec.o unzip.o zipfn.o \
luaconsole.o luaengine.o luasav.o \
\
lapi.o lauxlib.o lbaselib.o lcode.o ldblib.o ldebug.o ldo.o ldump.o lfunc.o lgc.o linit.o liolib.o llex.o \
lmathlib.o lmem.o loadlib.o lobject.o lopcodes.o loslib.o lparser.o lstate.o lstring.o lstrlib.o ltable.o \
ltablib.o ltm.o lundump.o lvm.o lzio.o print.o \
conc.o cong.o dat.o dynhuff.o gamc.o gami.o image.o ioapi.o misc.o sshot.o state.o statec.o unzip.o zipfn.o \
\
adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o gzwrite.o infback.o inffast.o inflate.o inftrees.o \
trees.o uncompr.o zutil.o \
\
spng.o \
png.o pngerror.o pngget.o pngmem.o pngpread.o pngread.o pngrio.o pngrtran.o pngrutil.o pngset.o pngtrans.o pngwio.o \
pngwrite.o pngwtran.o pngwutil.o \
\
net.o \
\
aud_dsp.o aud_interface.o cd_interface.o inp_interface.o interface.o lowpass2.o prf_interface.o vid_interface.o \
vid_softfx.o vid_support.o \
\
2xpm.o 2xsai.o crt.o ddt3x.o epx.o hq2xs.o hq2xs_16.o hq3xs.o hq_shared32.o xbr.o xbr32.o \
2xpm.o 2xsai.o ddt3x.o epx.o hq2xs.o hq2xs_16.o xbr.o \
\
aud_dsound3.o aud_xaudio2.o cd_img.o ddraw_core.o dinput_core.o directx9_core.o dsound_core.o \
inp_dinput.o prf_performance_counter.o vid_d3d.o vid_ddraw.o vid_ddrawfx.o vid_effect.o vid_directx9.o vid_directx_support.o
inp_dinput.o prf_performance_counter.o vid_d3d.o vid_ddraw.o vid_ddrawfx.o vid_directx9.o vid_directx_support.o
ifdef INCLUDE_7Z_SUPPORT
depobj += un7z.o \
\
7zArcIn.o 7zBuf.o 7zBuf2.o 7zCrc.o 7zCrcOpt.o 7zDec.o 7zFile.o 7zStream.o Alloc.o Bcj2.o Bra.o Bra86.o BraIA64.o CpuArch.o \
Delta.o LzFindOpt.o LzmaDec.o Lzma2Dec.o MtDec.o Ppmd7.o Ppmd7Dec.o Ppmd7aDec.o Sha256.o Sha1Opt.o Sha256Opt.o Threads.o Xxh64.o Xz.o XzCrc64.o XzCrc64Opt.o XzDec.o ZstdDec.o
7zArcIn.o 7zBuf.o 7zBuf2.o 7zCrc.o 7zCrcOpt.o 7zDec.o 7zFile.o 7zStream.o Bcj2.o Bra.o Bra86.o BraIA64.o CpuArch.o \
Delta.o LzmaDec.o Lzma2Dec.o Ppmd7.o Ppmd7Dec.o Sha256.o Xz.o XzCrc64.o XzCrc64Opt.o XzDec.o
endif
ifdef INCLUDE_AVI_RECORDING
@ -45,4 +40,4 @@ autobj += $(depobj)
ifdef BUILD_X86_ASM
autobj += eagle_fm.o 2xsaimmx.o hq2x32.o hq3x32.o hq4x32.o superscale.o
endif
endif

View File

@ -10,6 +10,11 @@ unexport
# Flags. Uncomment any of these declarations to enable their function.
#
# Check for changes in header files, but not if we want to skip the depend step
ifndef SKIPDEPEND
DEPEND = 1
endif
#
# Declare variables
#
@ -180,10 +185,6 @@ CXXFLAGS = -pipe \
-Wno-unused-but-set-variable -Wno-sequence-point -Wno-narrowing -Wno-extra \
$(DEF) $(incdir)
#return back to msvcrt-style swprintf
CFLAGS += -D__USE_MINGW_ANSI_STDIO=0
CXXFLAGS += -D__USE_MINGW_ANSI_STDIO=0
ifdef BUILD_X64_EXE
CFLAGS += -m64
CXXFLAGS += -m64
@ -242,8 +243,7 @@ ifdef BUILD_X86_ASM
endif
ifdef BUILD_X64_EXE
DEF := $(DEF) -DBUILD_X64_EXE
# -DXBYAK_NO_OP_NAMES -DMIPS3_X64_DRC
DEF := $(DEF) -DBUILD_X64_EXE -DXBYAK_NO_OP_NAMES -DMIPS3_X64_DRC
endif
ifdef SYMBOL
@ -281,7 +281,7 @@ DEF := $(DEF) -DNO_VIZ -D_LARGEFILE64_SOURCE=0 -D_FILE_OFFSET_BITS=32
# For lib7z
ifdef INCLUDE_7Z_SUPPORT
DEF := $(DEF) -D_7ZIP_PPMD_SUPPPORT -D_7ZIP_ST
DEF := $(DEF) -D_7ZIP_PPMD_SUPPPORT
endif
#
@ -465,8 +465,20 @@ $(objdir)cpu/m68k/m68kops.o: $(objdir)cpu/m68k/m68kmake.exe $(objdir)dep/generat
@echo Compiling Musashi MC680x0 core \(m68kops.c\)...
@$(CC) $(CFLAGS) -c $(objdir)dep/generated/m68kops.c -o $(objdir)cpu/m68k/m68kops.o
$(objdir)dep/generated/m68kops.h $(objdir)dep/generated/m68kops.c: $(objdir)cpu/m68k/m68kmake.exe $(srcdir)cpu/m68k/m68k_in.c
$(objdir)/cpu/m68k/m68kmake.exe $(objdir)dep/generated/ $(srcdir)cpu/m68k/m68k_in.c
$(objdir)cpu/m68k/m68kopac.o: $(objdir)cpu/m68k/m68kmake.exe $(objdir)dep/generated/m68kops.h $(objdir)dep/generated/m68kopac.c $(srcdir)cpu/m68k/m68k.h $(srcdir)cpu/m68k/m68kconf.h
@echo Compiling Musashi MC680x0 core \(m68kopac.c\)...
@$(CC) $(CFLAGS) -c $(objdir)dep/generated/m68kopac.c -o $(objdir)cpu/m68k/m68kopac.o
$(objdir)cpu/m68k/m68kopdm.o: $(objdir)cpu/m68k/m68kmake.exe $(objdir)dep/generated/m68kops.h $(objdir)dep/generated/m68kopdm.c $(srcdir)cpu/m68k/m68k.h $(srcdir)cpu/m68k/m68kconf.h
@echo Compiling Musashi MC680x0 core \(m68kopdm.c\)...
@$(CC) $(CFLAGS) -c $(objdir)dep/generated/m68kopdm.c -o $(objdir)cpu/m68k/m68kopdm.o
$(objdir)cpu/m68k/m68kopnz.o: $(objdir)cpu/m68k/m68kmake.exe $(objdir)dep/generated/m68kops.h $(objdir)dep/generated/m68kopnz.c $(srcdir)cpu/m68k/m68k.h $(srcdir)cpu/m68k/m68kconf.h
@echo Compiling Musashi MC680x0 core \(m68kopnz.c\)...
@$(CC) $(CFLAGS) -c $(objdir)dep/generated/m68kopnz.c -o $(objdir)cpu/m68k/m68kopnz.o
$(objdir)dep/generated/m68kops.h: $(objdir)cpu/m68k/m68kmake.exe $(srcdir)cpu/m68k/m68k_in.c
$(objdir)/cpu/m68k/m68kmake $(objdir)dep/generated/ $(srcdir)cpu/m68k/m68k_in.c
$(objdir)cpu/m68k/m68kmake.exe: $(srcdir)cpu/m68k/m68kmake.c
@echo Compiling Musashi MC680x0 core \(m68kmake.c\)...

View File

@ -12,17 +12,15 @@ unexport
# Check for changes in header files
ifndef SKIPDEPEND
#DEPEND = 1
DEPEND = 1
endif
# Note: DEPEND = 1 is a hassle and slows build time by about 500x
# it's easier to "rm -rf obj" and rebuild than deal with DEPEND = 1
#
# Declare variables
#
# Specify the name of the executable file, without ".exe"
WINDRES=windres
NAME = fbneo
COMPILENAME = 3
@ -203,7 +201,7 @@ CXXFLAGS = -pipe \
-fforce-mem -fforce-addr -finline-limit=1200 -fthread-jumps \
-freduce-all-givs -fmove-all-movables -fexpensive-optimizations \
-fcheck-new \
-Wall -W -pedantic -Wno-long-long -Wno-sign-compare \
-Wall -W -pedantic -Wno-long-long \
-Wunknown-pragmas -Wundef -Wconversion -Wno-missing-braces \
-Wuninitialized -Wpointer-arith -Winline -Wno-multichar \
$(DEF) $(incdir)
@ -282,12 +280,6 @@ CXXFLAGS = -pipe \
-Wno-unused-but-set-variable -Wno-sequence-point -Wno-narrowing -Wno-extra \
-Wno-pedantic \
$(DEF) $(incdir)
ifdef BORKYCRT
#return back to msvcrt-style swprintf
CFLAGS += -D__USE_MINGW_ANSI_STDIO=0
CXXFLAGS += -D__USE_MINGW_ANSI_STDIO=0
endif
ifdef BUILD_X64_EXE
CFLAGS += -m64
CXXFLAGS += -m64
@ -360,8 +352,7 @@ ifdef BUILD_X86_ASM
endif
ifdef BUILD_X64_EXE
DEF := $(DEF) -DBUILD_X64_EXE
# -DXBYAK_NO_OP_NAMES -DMIPS3_X64_DRC
DEF := $(DEF) -DBUILD_X64_EXE -DXBYAK_NO_OP_NAMES -DMIPS3_X64_DRC
endif
ifdef SYMBOL
@ -398,18 +389,7 @@ DEF := $(DEF) -DNO_VIZ -D_LARGEFILE64_SOURCE=0 -D_FILE_OFFSET_BITS=32
# For lib7z
ifdef INCLUDE_7Z_SUPPORT
DEF := $(DEF) -D_7ZIP_PPMD_SUPPPORT -D_7ZIP_ST
endif
# While cross-compiling, tools need to be compiled for host so that they can be executed by host.
# if HOST_CC is not set, then we aren't cross-compiling, so we'll use target compiler as host compiler
# Those values need to be duplicated late, so that C(XX)FLAGS modifications are accounted
ifeq ($(HOST_CC),)
HOST_CC := $(CC)
HOST_CXX := $(CXX)
HOST_CFLAGS := $(CFLAGS) -mconsole
HOST_CXXFLAGS := $(CXXFLAGS) -mconsole
HOST_LDFLAGS := $(LDFLAGS)
DEF := $(DEF) -D_7ZIP_PPMD_SUPPPORT
endif
#
@ -433,15 +413,12 @@ vpath %.d $(foreach dir,$(alldir),$(objdir)$(dir)/ )
#
#
# backward compatibility (make less than 4.4 doesn't support .WAIT)
.WAIT:
.PHONY: all init cleandep touch clean
ifeq ($(MAKELEVEL),1)
ifdef DEPEND
all: init .WAIT $(drvdep) $(autdep) $(autobj) $(autdrv)
all: init $(drvdep) $(autdep) $(autobj) $(autdrv)
ifdef GCC345
@$(MAKE) -f makefile.mingw -s GCC345=1
endif
@ -457,7 +434,7 @@ endif
else
all: init .WAIT $(autobj) $(autdrv)
all: init $(autobj) $(autdrv)
ifdef GCC345
@$(MAKE) -f makefile.mingw -s GCC345=1
endif
@ -586,7 +563,7 @@ endif
about.o about.d: $(build_details.h)
$(build_details.h): $(srcdir)dep/scripts/build_details.cpp
@$(HOST_CXX) $(HOST_CXXFLAGS) $(HOST_LDFLAGS) $< -o $(objdir)dep/generated/build_details.exe
@$(CXX) -mconsole $(CXXFLAGS) $(LDFLAGS) $< -o $(objdir)dep/generated/build_details.exe
@$(objdir)dep/generated/build_details.exe >$@
#
@ -598,7 +575,7 @@ $(build_details.h): $(srcdir)dep/scripts/build_details.cpp
ifdef BUILD_A68K
$(a68k.o): fba_make68k.c
@echo Compiling A68K MC68000 core...
@$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -DWIN32 -Wno-unused -Wno-conversion -Wno-missing-prototypes \
@$(CC) -mconsole $(CFLAGS) $(LDFLAGS) -DWIN32 -Wno-unused -Wno-conversion -Wno-missing-prototypes \
-s $< -o $(subst $(srcdir),$(objdir),$(<D))/$(<F:.c=.exe)
@$(subst $(srcdir),$(objdir),$(<D))/$(<F:.c=.exe) $(@:.o=.asm) \
$(@D)/a68k_tab.asm 00 $(ppro)
@ -617,11 +594,11 @@ $(objdir)cpu/m68k/m68kops.o: $(objdir)cpu/m68k/m68kmake.exe $(objdir)dep/generat
@$(CC) $(CFLAGS) -c $(objdir)dep/generated/m68kops.c -o $(objdir)cpu/m68k/m68kops.o
$(objdir)dep/generated/m68kops.h $(objdir)dep/generated/m68kops.c: $(objdir)cpu/m68k/m68kmake.exe $(srcdir)cpu/m68k/m68k_in.c
$(objdir)/cpu/m68k/m68kmake.exe $(objdir)dep/generated/ $(srcdir)cpu/m68k/m68k_in.c
$(objdir)/cpu/m68k/m68kmake $(objdir)dep/generated/ $(srcdir)cpu/m68k/m68k_in.c
$(objdir)cpu/m68k/m68kmake.exe: $(srcdir)cpu/m68k/m68kmake.c
@echo Compiling Musashi MC680x0 core \(m68kmake.c\)...
@$(HOST_CC) $(HOST_CFLAGS) $(srcdir)cpu/m68k/m68kmake.c -o $(objdir)cpu/m68k/m68kmake.exe
@$(CC) $(CFLAGS) $(srcdir)cpu/m68k/m68kmake.c -o $(objdir)cpu/m68k/m68kmake.exe
#
@ -632,7 +609,7 @@ ctv.d ctv.o: $(ctv.h)
$(ctv.h): ctv_make.cpp
@echo Generating $(srcdir)dep/generated/$(@F)...
@$(HOST_CC) $(HOST_CXXFLAGS) $(HOST_LDFLAGS) $< \
@$(CC) -mconsole $(CXXFLAGS) $(LDFLAGS) $< \
-o $(subst $(srcdir),$(objdir),$(<D))/$(<F:.cpp=.exe)
@$(subst $(srcdir),$(objdir),$(<D))/$(<F:.cpp=.exe) >$@
@ -689,7 +666,7 @@ pgm_draw.d pgm_draw.o: $(pgm_sprite.h)
$(pgm_sprite.h): pgm_sprite_create.cpp
@echo Generating $(srcdir)dep/generated/$(@F)...
@$(HOST_CC) $(HOST_CXXFLAGS) $(HOST_LDFLAGS) $< \
@$(CC) -mconsole $(CXXFLAGS) $(LDFLAGS) $< \
-o $(subst $(srcdir),$(objdir),$(<D))/$(<F:.cpp=.exe)
@$(subst $(srcdir),$(objdir),$(<D))/$(<F:.cpp=.exe) >$@
@ -709,23 +686,23 @@ endif
%.o: %.rc
@echo Compiling resource file $(<F)...
ifdef GCC345
@$(WINDRES) $(DEF) $< -o $(subst $(srcdir),$(objdir),$(<D))/$(@F) $(foreach dir,$(alldir),--include-dir $(srcdir)$(dir))
@windres $(DEF) $< -o $(subst $(srcdir),$(objdir),$(<D))/$(@F) $(foreach dir,$(alldir),--include-dir $(srcdir)$(dir))
endif
ifdef GCC452
@windres $(DEF) $< -o $(subst $(srcdir),$(objdir),$(<D))/$(@F) $(foreach dir,$(alldir),--include-dir $(srcdir)$(dir))
endif
ifdef GCC471
ifdef BUILD_X64_EXE
@$(WINDRES) -F pe-x86-64 $(DEF) $< -o $(subst $(srcdir),$(objdir),$(<D))/$(@F) $(foreach dir,$(alldir),--include-dir $(srcdir)$(dir))
@windres -F pe-x86-64 $(DEF) $< -o $(subst $(srcdir),$(objdir),$(<D))/$(@F) $(foreach dir,$(alldir),--include-dir $(srcdir)$(dir))
else
@$(WINDRES) -F pe-i386 $(DEF) $< -o $(subst $(srcdir),$(objdir),$(<D))/$(@F) $(foreach dir,$(alldir),--include-dir $(srcdir)$(dir))
@windres -F pe-i386 $(DEF) $< -o $(subst $(srcdir),$(objdir),$(<D))/$(@F) $(foreach dir,$(alldir),--include-dir $(srcdir)$(dir))
endif
endif
ifdef GCC510
ifdef BUILD_X64_EXE
@$(WINDRES) -F pe-x86-64 $(DEF) $< -o $(subst $(srcdir),$(objdir),$(<D))/$(@F) $(foreach dir,$(alldir),--include-dir $(srcdir)$(dir))
@windres -F pe-x86-64 $(DEF) $< -o $(subst $(srcdir),$(objdir),$(<D))/$(@F) $(foreach dir,$(alldir),--include-dir $(srcdir)$(dir))
else
@$(WINDRES) -F pe-i386 $(DEF) $< -o $(subst $(srcdir),$(objdir),$(<D))/$(@F) $(foreach dir,$(alldir),--include-dir $(srcdir)$(dir))
@windres -F pe-i386 $(DEF) $< -o $(subst $(srcdir),$(objdir),$(<D))/$(@F) $(foreach dir,$(alldir),--include-dir $(srcdir)$(dir))
endif
endif
@ -740,7 +717,7 @@ ifeq ($(MAKELEVEL),1)
%.o: %.cpp
@echo Compiling $<...
@$(CXX) $(CXXFLAGS) -c $< -o $(subst $(srcdir),$(objdir),$(<D))/$(@F)
@$(CC) $(CXXFLAGS) -c $< -o $(subst $(srcdir),$(objdir),$(<D))/$(@F)
%.o: %.c
@echo Compiling $<...
@ -752,10 +729,6 @@ ifeq ($(MAKELEVEL),1)
else
%.o: %.cpp
@echo Compiling $<...
@$(CXX) $(CXXFLAGS) -c $< -o $@
%.o: %.c
@echo Compiling $<...
@$(CC) $(CFLAGS) -c $< -o $@
@ -764,6 +737,10 @@ else
@echo Assembling $<...
@$(AS) $(ASFLAGS) $< -o $@
%.o:
@echo Compiling $<...
@$(CC) $(CXXFLAGS) -c $< -o $@
endif
#
@ -774,15 +751,15 @@ ifdef DEPEND
%.d: %.c
@echo Generating depend file for $<...
@$(CXX) -MM -MT "$(subst $(srcdir),$(objdir),$(<D))/$(*F).o $(subst $(srcdir),$(objdir),$(<D))/$(@F)" -x c++ $(CXXFLAGS) $< >$(subst $(srcdir),$(objdir),$(<D))/$(@F)
@$(CC) -MM -MT "$(subst $(srcdir),$(objdir),$(<D))/$(*F).o $(subst $(srcdir),$(objdir),$(<D))/$(@F)" -x c++ $(CXXFLAGS) $< >$(subst $(srcdir),$(objdir),$(<D))/$(@F)
%.d: %.cpp
@echo Generating depend file for $<...
@$(CXX) -MM -MT "$(subst $(srcdir),$(objdir),$(<D))/$(*F).o $(subst $(srcdir),$(objdir),$(<D))/$(@F)" -x c++ $(CXXFLAGS) $< >$(subst $(srcdir),$(objdir),$(<D))/$(@F)
@$(CC) -MM -MT "$(subst $(srcdir),$(objdir),$(<D))/$(*F).o $(subst $(srcdir),$(objdir),$(<D))/$(@F)" -x c++ $(CXXFLAGS) $< >$(subst $(srcdir),$(objdir),$(<D))/$(@F)
%.d: %.rc
@echo Generating depend file for $<...
@$(CXX) -MM -MT "$(subst $(srcdir),$(objdir),$(<D))/$(*F).o $(subst $(srcdir),$(objdir),$(<D))/$(@F)" -x c++ $(CXXFLAGS) $< >$(subst $(srcdir),$(objdir),$(<D))/$(@F)
@$(CC) -MM -MT "$(subst $(srcdir),$(objdir),$(<D))/$(*F).o $(subst $(srcdir),$(objdir),$(<D))/$(@F)" -x c++ $(CXXFLAGS) $< >$(subst $(srcdir),$(objdir),$(<D))/$(@F)
endif

View File

@ -43,7 +43,7 @@ srcdir = src/
include makefile.burn_rules
# Platform-specific
alldir += burner burner/pi burner/sdl dep/libs/libspng dep/libs/lib7z \
alldir += burner burner/pi burner/sdl dep/libs/libpng dep/libs/lib7z \
dep/libs/zlib intf intf/video intf/video/scalers intf/video/pi \
intf/audio intf/audio/sdl intf/input intf/input/pi intf/cd \
intf/cd/sdl intf/perfcount intf/perfcount/pi dep/generated \
@ -58,18 +58,20 @@ depobj += neocdlist.o \
gzread.o gzwrite.o infback.o inffast.o inflate.o inftrees.o \
trees.o uncompr.o zutil.o \
\
spng.o \
png.o pngerror.o pngget.o pngmem.o pngpread.o pngread.o \
pngrio.o pngrtran.o pngrutil.o pngset.o pngtrans.o pngwio.o \
pngwrite.o pngwtran.o pngwutil.o \
\
aud_dsp.o aud_interface.o cd_interface.o inp_interface.o \
interface.o lowpass2.o vid_interface.o vid_softfx.o \
vid_support.o \
\
2xpm.o 2xsai.o ddt3x.o epx.o hq2xs.o hq2xs_16.o xbr.o xbr32.o \
2xpm.o 2xsai.o ddt3x.o epx.o hq2xs.o hq2xs_16.o xbr.o \
\
inp_pi.o aud_sdl.o support_paths.o \
ips_manager.o scrn.o config.o \
main_pi.o run_pi.o stringset.o bzip.o drv.o media.o inpdipsw.o \
matrix.o vid_pi.o inputbuf.o replay.o cd_sdl2.o
matrix.o vid_pi.o dynhuff.o replay.o cd_sdl2.o
ifdef BUILD_DRM
depobj += pigl_drm.o
@ -79,7 +81,7 @@ endif
ifdef INCLUDE_7Z_SUPPORT
depobj += un7z.o 7zArcIn.o 7zBuf.o 7zBuf2.o 7zCrc.o 7zCrcOpt.o \
7zDec.o 7zFile.o 7zStream.o Alloc.o Bcj2.o Bra.o Bra86.o BraIA64.o \
7zDec.o 7zFile.o 7zStream.o Bcj2.o Bra.o Bra86.o BraIA64.o \
CpuArch.o Delta.o LzmaDec.o Lzma2Dec.o Ppmd7.o Ppmd7Dec.o \
Sha256.o Xz.o XzCrc64.o XzCrc64Opt.o XzDec.o
endif
@ -271,7 +273,7 @@ DEF := $(DEF) -DNO_VIZ -D_LARGEFILE64_SOURCE=0 -D_FILE_OFFSET_BITS=32
# For lib7z
ifdef INCLUDE_7Z_SUPPORT
DEF := $(DEF) -D_7ZIP_PPMD_SUPPPORT -D_7ZIP_ST
DEF := $(DEF) -D_7ZIP_PPMD_SUPPPORT
endif
#

View File

@ -49,7 +49,7 @@ srcdir = src/
include makefile.burn_rules
# Platform stuff
alldir += burner burner/sdl burner/sdl dep/libs/libspng dep/libs/lib7z dep/libs/zlib intf intf/video \
alldir += burner burner/sdl burner/sdl dep/libs/libpng dep/libs/lib7z dep/libs/zlib intf intf/video \
intf/video/scalers intf/video/sdl intf/audio intf/audio/sdl intf/input intf/input/sdl intf/cd intf/cd/sdl \
intf/perfcount intf/perfcount/sdl dep/generated
@ -60,22 +60,23 @@ depobj += neocdlist.o \
adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o gzwrite.o infback.o inffast.o inflate.o inftrees.o \
trees.o uncompr.o zutil.o \
\
spng.o \
png.o pngerror.o pngget.o pngmem.o pngpread.o pngread.o pngrio.o pngrtran.o pngrutil.o pngset.o pngtrans.o pngwio.o \
pngwrite.o pngwtran.o pngwutil.o \
\
aud_dsp.o aud_interface.o cd_interface.o inp_interface.o interface.o lowpass2.o vid_interface.o \
vid_softfx.o vid_support.o \
\
2xpm.o 2xsai.o crt.o ddt3x.o epx.o hq2xs.o hq2xs_16.o xbr.o xbr32.o \
2xpm.o 2xsai.o ddt3x.o epx.o hq2xs.o hq2xs_16.o xbr.o \
\
inp_sdl.o aud_sdl.o support_paths.o ips_manager.o scrn.o localise_gamelist.o \
cd_sdl2.o config.o main.o run.o stringset.o bzip.o drv.o media.o romdata.o \
inpdipsw.o vid_sdlfx.o inputbuf.o replay.o vid_sdlopengl.o input_sdl.o stated.o
inp_sdl.o aud_sdl.o support_paths.o ips_manager.o scrn.o \
cd_sdl2.o config.o main.o run.o stringset.o bzip.o drv.o media.o \
inpdipsw.o vid_sdlfx.o dynhuff.o replay.o vid_sdlopengl.o input.o stated.o
ifdef INCLUDE_7Z_SUPPORT
depobj += un7z.o \
\
7zArcIn.o 7zBuf.o 7zBuf2.o 7zCrc.o 7zCrcOpt.o 7zDec.o 7zFile.o 7zStream.o Alloc.o Bcj2.o Bra.o Bra86.o BraIA64.o CpuArch.o \
Delta.o LzFindOpt.o LzmaDec.o Lzma2Dec.o MtDec.o Ppmd7.o Ppmd7Dec.o Ppmd7aDec.o Sha256.o Sha1Opt.o Sha256Opt.o Threads.o Xxh64.o Xz.o XzCrc64.o XzCrc64Opt.o XzDec.o ZstdDec.o
7zArcIn.o 7zBuf.o 7zBuf2.o 7zCrc.o 7zCrcOpt.o 7zDec.o 7zFile.o 7zStream.o Bcj2.o Bra.o Bra86.o BraIA64.o CpuArch.o \
Delta.o LzmaDec.o Lzma2Dec.o Ppmd7.o Ppmd7Dec.o Sha256.o Xz.o XzCrc64.o XzCrc64Opt.o XzDec.o
endif
autobj += $(depobj)
@ -93,7 +94,7 @@ incdir = $(foreach dir,$(alldir),-I$(srcdir)$(dir)) -I$(objdir)dep/generated \
ifdef WINDOWS
lib = -lstdc++ -lSDL `sdl-config --libs` -lopengl32 -lm
else
lib = -lstdc++ -lSDL `sdl-config --libs` -lGL -lm -lpthread
lib = -lstdc++ -lSDL `sdl-config --libs` -lGL -lm
endif
ifdef DARWIN
@ -173,7 +174,7 @@ CFLAGS = -O2 -fomit-frame-pointer -Wno-write-strings \
$(PLATFLAGS) $(DEF) $(incdir)
CXXFLAGS = -O2 -fomit-frame-pointer -Wno-write-strings \
-Wall -W -Wno-long-long -Wno-sign-compare \
-Wall -W -Wno-long-long \
-Wunknown-pragmas -Wundef -Wconversion -Wno-missing-braces \
-Wuninitialized -Wpointer-arith -Winline -Wno-multichar \
-Wno-conversion -Wno-attributes \
@ -265,7 +266,7 @@ DEF := $(DEF) -DNO_VIZ -D_LARGEFILE64_SOURCE=0 -D_FILE_OFFSET_BITS=32
# For lib7z
ifdef INCLUDE_7Z_SUPPORT
DEF := $(DEF) -D_7ZIP_PPMD_SUPPPORT -D_7ZIP_ST
DEF := $(DEF) -D_7ZIP_PPMD_SUPPPORT
endif
#

View File

@ -50,7 +50,7 @@ srcdir = src/
include makefile.burn_rules
# Platform stuff
alldir += burner burner/sdl burner/sdl dep/libs/libspng dep/libs/lib7z dep/libs/zlib intf intf/video \
alldir += burner burner/sdl burner/sdl dep/libs/libpng dep/libs/lib7z dep/libs/zlib intf intf/video \
intf/video/scalers intf/video/sdl intf/audio intf/audio/sdl intf/input intf/input/sdl intf/cd intf/cd/sdl \
intf/perfcount intf/perfcount/sdl dep/generated
@ -61,14 +61,17 @@ depobj += neocdlist.o \
adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o gzwrite.o infback.o inffast.o inflate.o inftrees.o \
trees.o uncompr.o zutil.o \
\
spng.o \
png.o pngerror.o pngget.o pngmem.o pngpread.o pngread.o pngrio.o pngrtran.o pngrutil.o pngset.o pngtrans.o pngwio.o \
pngwrite.o pngwtran.o pngwutil.o \
\
aud_dsp.o aud_interface.o cd_interface.o inp_interface.o interface.o lowpass2.o vid_interface.o \
vid_support.o \
vid_softfx.o vid_support.o \
\
inp_sdl2.o aud_sdl.o support_paths.o ips_manager.o scrn.o localise_gamelist.o romdata.o \
2xpm.o 2xsai.o ddt3x.o epx.o hq2xs.o hq2xs_16.o xbr.o \
\
inp_sdl2.o aud_sdl.o support_paths.o ips_manager.o scrn.o \
cd_sdl2.o config.o main.o run.o stringset.o bzip.o drv.o media.o sdl2_gui_ingame.o sdl2_gui_common.o \
inpdipsw.o vid_sdl2opengl.o vid_sdl2.o inputbuf.o replay.o sdl2_gui.o sdl2_inprint.o input_sdl2.o stated.o
inpdipsw.o vid_sdl2opengl.o vid_sdl2.o dynhuff.o replay.o sdl2_gui.o sdl2_inprint.o input_sdl2.o stated.o
ifdef FORCE_PULSE_AUDIO
alldir += intf/audio/linux
@ -79,8 +82,8 @@ endif
ifdef INCLUDE_7Z_SUPPORT
depobj += un7z.o \
\
7zArcIn.o 7zBuf.o 7zBuf2.o 7zCrc.o 7zCrcOpt.o 7zDec.o 7zFile.o 7zStream.o Alloc.o Bcj2.o Bra.o Bra86.o BraIA64.o CpuArch.o \
Delta.o LzFindOpt.o LzmaDec.o Lzma2Dec.o MtDec.o Ppmd7.o Ppmd7Dec.o Ppmd7aDec.o Sha256.o Sha1Opt.o Sha256Opt.o Threads.o Xxh64.o Xz.o XzCrc64.o XzCrc64Opt.o XzDec.o ZstdDec.o
7zArcIn.o 7zBuf.o 7zBuf2.o 7zCrc.o 7zCrcOpt.o 7zDec.o 7zFile.o 7zStream.o Bcj2.o Bra.o Bra86.o BraIA64.o CpuArch.o \
Delta.o LzmaDec.o Lzma2Dec.o Ppmd7.o Ppmd7Dec.o Sha256.o Xz.o XzCrc64.o XzCrc64Opt.o XzDec.o
endif
autobj += $(depobj)
@ -97,18 +100,16 @@ incdir = $(foreach dir,$(alldir),-I$(srcdir)$(dir)) -I$(objdir)dep/generated \
ifdef WINDOWS
lib = -lstdc++ `sdl2-config --libs` -lopengl32 -lSDL2_image -lm
else ifdef DARWIN
lib = -lstdc++ `sdl2-config --libs` -lSDL2_image -lm -lpthread
else
lib = -lstdc++ `sdl2-config --libs` -lGL -lSDL2_image -lm -lpthread
lib = -lstdc++ `sdl2-config --libs` -lGL -lSDL2_image -lm
endif
ifdef FORCE_PULSE_AUDIO
lib += -lpulse-simple
lib += -lpthread -lpulse-simple
endif
ifdef DARWIN
lib += -framework OpenGL
lib += -L/System/Library/Frameworks/OpenGL.framework/Libraries/
endif
ifdef INCLUDE_SWITCHRES
@ -170,7 +171,8 @@ autdrv := $(drvsrc:.cpp=.o)
#
ifdef DARWIN
CC = gcc
# GCC 4.2.1 Segfaults during build
CC = gcc-9
else
CC = gcc
endif
@ -179,16 +181,6 @@ CXX = $(CC)
LD = $(CC)
AS = nasm
# While cross-compiling, tools need to be compiled for host so that they can be executed by host.
# if HOST_CC is not set, then we aren't cross-compiling, so we'll use target compiler as host compiler
ifeq ($(HOST_CC),)
HOST_CC := $(CC)
HOST_CXX := $(CXX)
HOST_CFLAGS := $(CFLAGS)
HOST_CXXFLAGS := $(CXXFLAGS)
HOST_LDFLAGS := $(LDFLAGS)
endif
#LDFLAGS = -static
CFLAGS = -O2 -fomit-frame-pointer -Wno-write-strings \
@ -198,7 +190,7 @@ CFLAGS = -O2 -fomit-frame-pointer -Wno-write-strings \
$(PLATFLAGS) $(DEF) $(incdir)
CXXFLAGS = -O2 -fomit-frame-pointer -Wno-write-strings \
-Wall -W -Wno-long-long -Wno-sign-compare \
-Wall -W -Wno-long-long \
-Wunknown-pragmas -Wundef -Wconversion -Wno-missing-braces \
-Wuninitialized -Wpointer-arith -Winline -Wno-multichar \
-Wno-conversion -Wno-attributes \
@ -211,7 +203,7 @@ ASFLAGS = -O1 -f coff -w-orphan-labels
# DEF = -Dsinf=\(float\)sin -Dcosf=\(float\)cos -Dasinf=\(float\)asin -Dacosf=\(float\)acos -Dsqrtf=\(float\)sqrt
# FIXME
DEF := -DBUILD_SDL2 -DUSE_SPEEDHACKS -DFILENAME=$(NAME) -DUSE_FILE32API -DHAVE_UNISTD_H
DEF := -DBUILD_SDL2 -DUSE_SPEEDHACKS -DFILENAME=$(NAME) -DUSE_FILE32API
ifdef FORCE_PULSE_AUDIO
DEF := $(DEF) -DFORCE_PULSE_AUDIO
@ -273,21 +265,16 @@ ifdef INCLUDE_SWITCHRES
DEF := $(DEF) -DINCLUDE_SWITCHRES
endif
ifdef SANITIZE
ifndef SYMBOL
SYMBOL =1
endif
CFLAGS += -fsanitize=address -fsanitize=undefined -fsanitize=bounds-strict
CXXFLAGS += -fsanitize=address -fsanitize=undefined -fsanitize=bounds-strict
endif
ifdef SYMBOL
ifdef SYMBOL
CFLAGS += -ggdb3 -fno-omit-frame-pointer
CXXFLAGS += -ggdb3 -fno-omit-frame-pointer
ASFLAGS += -g
DEF := $(DEF) -D_DEBUG
else
LDFLAGS += -s
ifdef SANITIZE
CFLAGS += -fsanitize=address -fsanitize=undefined -fsanitize=bounds-strict
CXXFLAGS += -fsanitize=address -fsanitize=undefined -fsanitize=bounds-strict
endif
ifdef PROFILE
@ -295,6 +282,9 @@ ifdef PROFILE
CXXFLAGS += -pg
endif
else
LDFLAGS += -s
endif
ifdef BUILD_NATIVE
CFLAGS += -march=native -mtune=native
@ -306,7 +296,7 @@ DEF := $(DEF) -DNO_VIZ -D_LARGEFILE64_SOURCE=0 -D_FILE_OFFSET_BITS=32
# For lib7z
ifdef INCLUDE_7Z_SUPPORT
DEF := $(DEF) -D_7ZIP_PPMD_SUPPPORT -D_7ZIP_ST
DEF := $(DEF) -D_7ZIP_PPMD_SUPPPORT
endif
#
@ -458,7 +448,7 @@ $(objdir)dep/generated/m68kops.h $(objdir)dep/generated/m68kops.c: $(objdir)cpu/
$(objdir)cpu/m68k/m68kmake: $(srcdir)cpu/m68k/m68kmake.c
@echo Compiling Musashi MC680x0 core \(m68kmake.c\)...
@$(HOST_CC) $(HOST_CFLAGS) $(srcdir)cpu/m68k/m68kmake.c -o $(objdir)cpu/m68k/m68kmake -Dmain=main
@$(CC) $(CFLAGS) $(srcdir)cpu/m68k/m68kmake.c -o $(objdir)cpu/m68k/m68kmake -Dmain=main
#
@ -469,7 +459,7 @@ ctv.d ctv.o: $(ctv.h)
$(ctv.h): ctv_make.cpp
@echo Generating $(srcdir)dep/generated/$(@F)...
@$(HOST_CC) $(HOST_CXXFLAGS) $(HOST_LDFLAGS) $< \
@$(CC) $(CXXFLAGS) $(LDFLAGS) $< \
-o $(subst $(srcdir),$(objdir),$(<D))/$(<F:.cpp=.exe) -Dmain=main
@$(subst $(srcdir),$(objdir),$(<D))/$(<F:.cpp=.exe) >$@
@ -526,7 +516,7 @@ pgm_draw.d pgm_draw.o: $(pgm_sprite.h)
$(pgm_sprite.h): pgm_sprite_create.cpp
@echo Generating $(srcdir)dep/generated/$(@F)...
@$(HOST_CC) $(HOST_CXXFLAGS) $(HOST_LDFLAGS) $< \
@$(CC) $(CXXFLAGS) $(LDFLAGS) $< \
-o $(subst $(srcdir),$(objdir),$(<D))/$(<F:.cpp=.exe) -Dmain=main
@$(subst $(srcdir),$(objdir),$(<D))/$(<F:.cpp=.exe) >$@

View File

@ -105,7 +105,7 @@ srcdir = src/
include makefile.burn_rules
include makefile.burner_win32_rules
incdir = $(foreach dir,$(alldir),/I$(srcdir)$(dir)) /I$(objdir)dep/generated /I$(srcdir)dep/mingw/include/directx9 /I$(srcdir)dep/vc/include/xaudio2
incdir = $(foreach dir,$(alldir),/I$(srcdir)$(dir)) /I$(objdir)dep/generated
ifdef UNICODE
# lib = unicows.lib
@ -146,7 +146,7 @@ allobj = $(objdir)cpu/m68k/m68kcpu.o $(objdir)cpu/m68k/m68kops.o $(objdir)burner
$(foreach file,$(autobj:.o=.asm), \
$(foreach dir,$(alldir),$(subst $(srcdir),$(objdir), \
$(firstword $(subst .asm,.o,$(wildcard $(srcdir)$(dir)/$(file)))))))
ifdef BUILD_A68K
allobj += $(a68k.o)
endif
@ -174,11 +174,11 @@ endif
ASFLAGS = -O1 -f coff -w-orphan-labels
DEF = /D_USE_MATH_DEFINES /DBUILD_WIN32 /DUSE_SPEEDHACKS /DFILENAME=$(NAME) /DMMX=$(MMX) /DZLIB_WINAPI /DDECL_SPEC=__cdecl
DEF = /DBUILD_WIN32 /DUSE_SPEEDHACKS /DFILENAME=$(NAME) /DMMX=$(MMX) /DZLIB_WINAPI /DDECL_SPEC=__cdecl
# For lib7z
ifdef INCLUDE_7Z_SUPPORT
DEF := $(DEF) /D_7ZIP_PPMD_SUPPPORT /D_7ZIP_ST
DEF := $(DEF) /D_7ZIP_PPMD_SUPPPORT
endif
ifdef UNICODE
@ -213,9 +213,9 @@ ifdef LSB_FIRST
DEF := $(DEF) /DLSB_FIRST
endif
# ifdef INCLUDE_LIB_PNGH
# DEF := $(DEF) /DINCLUDE_LIB_PNGH
# endif
ifdef INCLUDE_LIB_PNGH
DEF := $(DEF) /DINCLUDE_LIB_PNGH
endif
ifdef BUILD_A68K
DEF := $(DEF) /DBUILD_A68K
@ -226,7 +226,7 @@ ifdef BUILD_X86_ASM
endif
ifdef BUILD_X64_EXE
DEF := $(DEF) /DBUILD_X64_EXE # /DXBYAK_NO_OP_NAMES /DMIPS3_X64_DRC
DEF := $(DEF) /DBUILD_X64_EXE /DXBYAK_NO_OP_NAMES /DMIPS3_X64_DRC
endif
ifdef BUILD_VS_XP_TARGET

View File

@ -633,7 +633,6 @@ $$DRV_PRE90S {
../../src/burn/drv/pre90s/d_srumbler.cpp \
../../src/burn/drv/pre90s/d_tail2nose.cpp \
../../src/burn/drv/pre90s/d_tecmo.cpp \
../../src/burn/drv/pre90s/d_tehkanwc.cpp \
../../src/burn/drv/pre90s/d_terracre.cpp \
../../src/burn/drv/pre90s/d_tigeroad.cpp \
../../src/burn/drv/pre90s/d_toki.cpp \
@ -735,6 +734,7 @@ $$DRV_PST90S {
../../src/burn/drv/pst90s/d_tecmosys.cpp \
../../src/burn/drv/pst90s/d_tumbleb.cpp \
../../src/burn/drv/pst90s/d_unico.cpp \
../../src/burn/drv/pst90s/d_vmetal.cpp \
../../src/burn/drv/pst90s/d_welltris.cpp \
../../src/burn/drv/pst90s/d_wwfwfest.cpp \
../../src/burn/drv/pst90s/d_xorworld.cpp \

View File

@ -986,9 +986,6 @@
<File
RelativePath="..\..\src\burn\drv\pre90s\d_tecmo.cpp">
</File>
<File
RelativePath="..\..\src\burn\drv\pre90s\d_tehkanwc.cpp">
</File>
<File
RelativePath="..\..\src\burn\drv\pre90s\d_terracre.cpp">
</File>
@ -1176,6 +1173,9 @@
<File
RelativePath="..\..\src\burn\drv\pst90s\d_unico.cpp">
</File>
<File
RelativePath="..\..\src\burn\drv\pst90s\d_vmetal.cpp">
</File>
<File
RelativePath="..\..\src\burn\drv\pst90s\d_welltris.cpp">
</File>

View File

@ -256,7 +256,6 @@
<ClCompile Include="..\..\src\burn\drv\pre90s\d_sonson.cpp" />
<ClCompile Include="..\..\src\burn\drv\pre90s\d_srumbler.cpp" />
<ClCompile Include="..\..\src\burn\drv\pre90s\d_tecmo.cpp" />
<ClCompile Include="..\..\src\burn\drv\pre90s\d_tehkanwc.cpp" />
<ClCompile Include="..\..\src\burn\drv\pre90s\d_terracre.cpp" />
<ClCompile Include="..\..\src\burn\drv\pre90s\d_tigeroad.cpp" />
<ClCompile Include="..\..\src\burn\drv\pre90s\d_toki.cpp" />
@ -325,6 +324,7 @@
<ClCompile Include="..\..\src\burn\drv\pst90s\d_tecmosys.cpp" />
<ClCompile Include="..\..\src\burn\drv\pst90s\d_tumbleb.cpp" />
<ClCompile Include="..\..\src\burn\drv\pst90s\d_unico.cpp" />
<ClCompile Include="..\..\src\burn\drv\pst90s\d_vmetal.cpp" />
<ClCompile Include="..\..\src\burn\drv\pst90s\d_welltris.cpp" />
<ClCompile Include="..\..\src\burn\drv\pst90s\d_wwfwfest.cpp" />
<ClCompile Include="..\..\src\burn\drv\pst90s\d_xorworld.cpp" />
@ -861,4 +861,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@ -728,9 +728,6 @@
<ClCompile Include="..\..\src\burn\drv\pre90s\d_tecmo.cpp">
<Filter>Source Files\burn\drv\pre90s</Filter>
</ClCompile>
<ClCompile Include="..\..\src\burn\drv\pre90s\d_tehkanwc.cpp">
<Filter>Source Files\burn\drv\pre90s</Filter>
</ClCompile>
<ClCompile Include="..\..\src\burn\drv\pre90s\d_terracre.cpp">
<Filter>Source Files\burn\drv\pre90s</Filter>
</ClCompile>
@ -932,6 +929,9 @@
<ClCompile Include="..\..\src\burn\drv\pst90s\d_unico.cpp">
<Filter>Source Files\burn\drv\pst90s</Filter>
</ClCompile>
<ClCompile Include="..\..\src\burn\drv\pst90s\d_vmetal.cpp">
<Filter>Source Files\burn\drv\pst90s</Filter>
</ClCompile>
<ClCompile Include="..\..\src\burn\drv\pst90s\d_welltris.cpp">
<Filter>Source Files\burn\drv\pst90s</Filter>
</ClCompile>
@ -1593,4 +1593,4 @@
<Filter>Source Files\burn\devices</Filter>
</ClCompile>
</ItemGroup>
</Project>
</Project>

View File

@ -924,7 +924,6 @@ rm %(Filename).exe</Command>
<ClCompile Include="..\..\src\burn\drv\pre90s\d_tbowl.cpp" />
<ClCompile Include="..\..\src\burn\drv\pre90s\d_tceptor.cpp" />
<ClCompile Include="..\..\src\burn\drv\pre90s\d_tecmo.cpp" />
<ClCompile Include="..\..\src\burn\drv\pre90s\d_tehkanwc.cpp" />
<ClCompile Include="..\..\src\burn\drv\pre90s\d_tempest.cpp" />
<ClCompile Include="..\..\src\burn\drv\pre90s\d_terracre.cpp" />
<ClCompile Include="..\..\src\burn\drv\pre90s\d_thedeep.cpp" />
@ -1047,6 +1046,7 @@ rm %(Filename).exe</Command>
<ClCompile Include="..\..\src\burn\drv\pst90s\d_thoop2.cpp" />
<ClCompile Include="..\..\src\burn\drv\pst90s\d_tumbleb.cpp" />
<ClCompile Include="..\..\src\burn\drv\pst90s\d_unico.cpp" />
<ClCompile Include="..\..\src\burn\drv\pst90s\d_vmetal.cpp" />
<ClCompile Include="..\..\src\burn\drv\pst90s\d_welltris.cpp" />
<ClCompile Include="..\..\src\burn\drv\pst90s\d_wrally.cpp" />
<ClCompile Include="..\..\src\burn\drv\pst90s\d_wwfwfest.cpp" />
@ -1609,4 +1609,4 @@ rm build_details.exe
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@ -1767,9 +1767,6 @@
<ClCompile Include="..\..\src\burn\drv\pre90s\d_tecmo.cpp">
<Filter>Burn\drv\pre90s</Filter>
</ClCompile>
<ClCompile Include="..\..\src\burn\drv\pre90s\d_tehkanwc.cpp">
<Filter>Burn\drv\pre90s</Filter>
</ClCompile>
<ClCompile Include="..\..\src\burn\drv\pre90s\d_terracre.cpp">
<Filter>Burn\drv\pre90s</Filter>
</ClCompile>
@ -1968,6 +1965,9 @@
<ClCompile Include="..\..\src\burn\drv\pst90s\d_unico.cpp">
<Filter>Burn\drv\pst90s</Filter>
</ClCompile>
<ClCompile Include="..\..\src\burn\drv\pst90s\d_vmetal.cpp">
<Filter>Burn\drv\pst90s</Filter>
</ClCompile>
<ClCompile Include="..\..\src\burn\drv\pst90s\d_welltris.cpp">
<Filter>Burn\drv\pst90s</Filter>
</ClCompile>
@ -4353,4 +4353,4 @@
<Filter>Burn\drv\pgm</Filter>
</CustomBuild>
</ItemGroup>
</Project>
</Project>

View File

@ -1,7 +0,0 @@
Debug
Release
generated
*.user
*.vs
*.db
*.opendb

View File

@ -1,19 +0,0 @@
Pre-Building:
1) download and run visual studio 2019 IDE community edition installer from https://visualstudio.microsoft.com/
2) select Desktop development with C++
3) next you will need a perl interpreter for windows. I recommend ActivePerl (https://www.activestate.com/products/activeperl/downloads/). I usually use the oldest version available. Make sure that you have enabled the checkbox to add perl to the current path.
4) Then you need NASM for the assembly files. Go here: https://www.nasm.us/ and download the latest stable version. You need to put nasm.exe somewhere in your path. As I am a savage I have always put it in my windows directory, but I do not recommend this for a number of reasons.
Building
1) checkout the code using git (Optionally: fork it first!)
2) in the checked out code, open projectfiles then visualstudio-2015, then open fba_vs2015.sln
3) select the correctly platform and build type.
4) hit build!

View File

@ -1,31 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29025.244
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fbneo_vs2015", "fbneo_vs2015.vcxproj", "{86D06C32-A849-4988-A176-A38D014C36C1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{86D06C32-A849-4988-A176-A38D014C36C1}.Debug|x64.ActiveCfg = Debug|x64
{86D06C32-A849-4988-A176-A38D014C36C1}.Debug|x64.Build.0 = Debug|x64
{86D06C32-A849-4988-A176-A38D014C36C1}.Debug|x86.ActiveCfg = Debug|Win32
{86D06C32-A849-4988-A176-A38D014C36C1}.Debug|x86.Build.0 = Debug|Win32
{86D06C32-A849-4988-A176-A38D014C36C1}.Release|x64.ActiveCfg = Release|x64
{86D06C32-A849-4988-A176-A38D014C36C1}.Release|x64.Build.0 = Release|x64
{86D06C32-A849-4988-A176-A38D014C36C1}.Release|x86.ActiveCfg = Release|Win32
{86D06C32-A849-4988-A176-A38D014C36C1}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5E292437-4AA3-4708-A690-24176962C85B}
EndGlobalSection
EndGlobal

File diff suppressed because it is too large Load Diff

View File

@ -2,4 +2,4 @@ Debug
Release
generated
.vs
fbneo_vs2019.vcxproj.user
fba_vs2010.vcxproj.user

View File

@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29025.244
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fbneo_vs2019", "fbneo_vs2019.vcxproj", "{86D06C32-A849-4988-A176-A38D014C36C1}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fba_vs2019", "fba_vs2010.vcxproj", "{86D06C32-A849-4988-A176-A38D014C36C1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +0,0 @@
Debug
Release
generated
.vs
fbneo_vs2022.vcxproj.user

View File

@ -1,21 +0,0 @@
Exclude NASM version, please use visualstudio-2019
Pre-Building:
1) download and run visual studio 2022 IDE community edition installer from https://visualstudio.microsoft.com/
2) select Desktop development with C++
3) next you will need a perl interpreter for windows. I recommend ActivePerl (https://www.activestate.com/products/activeperl/downloads/). I usually use the oldest version available. Make sure that you have enabled the checkbox to add perl to the current path.
4) Then you need NASM for the assembly files. Go here: https://github.com/ShiftMediaProject/VSNASM. Simple configuration of NASM compilation environment.
Building
1) checkout the code using git (Optionally: fork it first!)
2) in the checked out code, open projectfiles then visualstudio-2022, then open fbneo_vs2022.sln
3) select the correctly platform and build type.
4) hit build!

View File

@ -1,31 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fbneo_vs2022", "fbneo_vs2022.vcxproj", "{86D06C32-A849-4988-A176-A38D014C36C1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{86D06C32-A849-4988-A176-A38D014C36C1}.Debug|x64.ActiveCfg = Debug|x64
{86D06C32-A849-4988-A176-A38D014C36C1}.Debug|x64.Build.0 = Debug|x64
{86D06C32-A849-4988-A176-A38D014C36C1}.Debug|x86.ActiveCfg = Debug|Win32
{86D06C32-A849-4988-A176-A38D014C36C1}.Debug|x86.Build.0 = Debug|Win32
{86D06C32-A849-4988-A176-A38D014C36C1}.Release|x64.ActiveCfg = Release|x64
{86D06C32-A849-4988-A176-A38D014C36C1}.Release|x64.Build.0 = Release|x64
{86D06C32-A849-4988-A176-A38D014C36C1}.Release|x86.ActiveCfg = Release|Win32
{86D06C32-A849-4988-A176-A38D014C36C1}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5E292437-4AA3-4708-A690-24176962C85B}
EndGlobalSection
EndGlobal

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
{\rtf1\ansi\ansicpg1252\cocoartf2513
{\rtf1\ansi\ansicpg1252\cocoartf2511
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset0 Menlo-Regular;\f2\fswiss\fcharset0 Helvetica-Bold;
}
{\colortbl;\red255\green255\blue255;\red0\green0\blue0;\red255\green255\blue255;}
@ -99,17 +99,15 @@ The following information and license conditions accompanied the original Final
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\f2\b \cf0 \cb1 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\f0\b0\fs72 \cf0 Sparkle
\f0\b0\fs72 Sparkle
\f2\b\fs24 \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
\f0\b0 \cf0 ===============\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
\f1 \cf0 Copyright (c) 2006-2013 Andy Matuschak.\
\f1 Copyright (c) 2006-2013 Andy Matuschak.\
Copyright (c) 2009-2013 Elgato Systems GmbH.\
Copyright (c) 2011-2014 Kornel Lesi\uc0\u324 ski.\
Copyright (c) 2015-2017 Mayur Pawashe.\
@ -170,9 +168,8 @@ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\
POSSIBILITY OF SUCH DAMAGE.\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
\f0 \cf0 \
\f0 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\fs72 \cf0 FinalBurn
@ -188,7 +185,7 @@ POSSIBILITY OF SUCH DAMAGE.\
The following license covers platform-specific code of\
FinalBurn Neo macOS:\
\
Copyright (C) 2014-2021 Akop Karapetyan\
Copyright (C) 2014-2019 Akop Karapetyan\
\
Apache License\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1230"
LastUpgradeVersion = "1150"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@ -36,7 +36,6 @@
@property (readonly) NSString *supportPath;
@property (readonly) NSString *nvramPath;
@property (readonly) NSString *dipSwitchPath;
@property (readonly) NSString *inputMapPath;
@property (readonly) NSSet<NSString *> *supportedFormats;

View File

@ -72,13 +72,11 @@ static AppDelegate *sharedInstance = nil;
_romPath = [_supportPath stringByAppendingPathComponent:@"ROMs"];
_nvramPath = [_supportPath stringByAppendingPathComponent:@"NVRAM"];
_dipSwitchPath = [_supportPath stringByAppendingPathComponent:@"DIPSwitches"];
_inputMapPath = [_supportPath stringByAppendingPathComponent:@"InputMaps"];
NSArray *paths = @[
_romPath,
_nvramPath,
_dipSwitchPath,
_inputMapPath,
];
for (NSString *path in paths)

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="15702" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15702"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
@ -56,12 +56,13 @@
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="258" id="3t0-b9-F0g"/>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="176" id="5Lc-o3-S2q"/>
</constraints>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" id="mqu-HR-p0a" userLabel="Ⓒ 2014-2021 Akop Karapetyan © 2004-2021 Team FB Alpha © 2001 Dave ">
<textFieldCell key="cell" sendsActionOnEndEditing="YES" id="mqu-HR-p0a">
<font key="font" metaFont="system"/>
<string key="title">Ⓒ 2021 Akop Karapetyan© 2004-2021 Team FB Neo© 2001 DaveYou may freely use, modify, and distribute both the FB Neo source code and binary, however restrictions apply to the FB Neo original material.See License below for more information.
<string key="title">Ⓒ 2019 Akop Karapetyan© 2004-2019 Team FB Neo© 2001 DaveYou may freely use, modify, and distribute both the FB Neo source code and binary, however restrictions apply to the FB Neo original material.See License below for more information.
</string>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
<string key="userLabel">Ⓒ 2014-2019 Akop Karapetyan © 2004-2018 Team FB Alpha © 2001 Dave For FBA license information, see "FinalBurn Alpha License" below. For license information on FinalBurn X and its components, see "FinalBurn X License" below.</string>
</textFieldCell>
</textField>
</subviews>

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="15702" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15702"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
@ -10,10 +10,7 @@
<connections>
<outlet property="contentTabView" destination="oE3-Es-MKD" id="sqi-Yy-NZ7"/>
<outlet property="dipswitchTableView" destination="Riy-Ok-IZT" id="eHL-jy-A8e"/>
<outlet property="inputDevicesPopUp" destination="sk8-nL-CMn" id="OXk-OX-Sl2"/>
<outlet property="joyInputTableView" destination="w2L-aO-5yK" id="pCU-pB-6GJ"/>
<outlet property="restoreDipButton" destination="M0W-M1-aRD" id="dHM-Qp-shl"/>
<outlet property="restoreJoyButton" destination="m7E-tJ-5pF" id="ANH-Uz-61g"/>
<outlet property="toolbar" destination="EZn-6C-tNE" id="URm-K2-UMI"/>
<outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
</connections>
@ -34,7 +31,7 @@
<font key="font" metaFont="system"/>
<tabViewItems>
<tabViewItem label="General" identifier="general" id="oxZ-d9-DIt" userLabel="General">
<view key="view" id="SyU-Ly-vJE">
<view key="view" ambiguous="YES" id="SyU-Ly-vJE">
<rect key="frame" x="0.0" y="0.0" width="600" height="400"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
@ -122,99 +119,6 @@
<view key="view" id="Mhd-ZC-Bf5">
<rect key="frame" x="0.0" y="0.0" width="600" height="400"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xuS-pz-eBX">
<rect key="frame" x="20" y="58" width="560" height="292"/>
<clipView key="contentView" id="0c0-5q-JyF">
<rect key="frame" x="1" y="0.0" width="558" height="291"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" headerView="Wtz-Wf-vp1" id="w2L-aO-5yK" userLabel="Joystick TableView">
<rect key="frame" x="0.0" y="0.0" width="558" height="266"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<tableViewGridLines key="gridStyleMask" vertical="YES"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn identifier="title" editable="NO" width="116" minWidth="40" maxWidth="1000" id="dBb-jS-ggE">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Description">
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="x2o-ck-FlS">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
</tableColumn>
<tableColumn identifier="input" width="175" minWidth="40" maxWidth="1000" id="cm7-Je-q9F">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Input">
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="center" title="Text Cell" id="RVy-6E-fG0" customClass="AKCaptureFieldCell">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
</tableColumn>
</tableColumns>
<connections>
<outlet property="dataSource" destination="-2" id="Yhb-c1-y7d"/>
</connections>
</tableView>
</subviews>
</clipView>
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="NR9-9S-oMc">
<rect key="frame" x="1" y="118" width="238" height="16"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="iFL-gb-AzT">
<rect key="frame" x="224" y="17" width="15" height="102"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<tableHeaderView key="headerView" id="Wtz-Wf-vp1">
<rect key="frame" x="0.0" y="0.0" width="558" height="25"/>
<autoresizingMask key="autoresizingMask"/>
</tableHeaderView>
</scrollView>
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="sk8-nL-CMn" userLabel="Gamepad Dropdown">
<rect key="frame" x="18" y="356" width="238" height="25"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="0tm-fT-5R6" id="U8O-di-wHm">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
<menu key="menu" id="Y2Y-JM-Sw9">
<items>
<menuItem title="Item 1" state="on" id="0tm-fT-5R6"/>
<menuItem title="Item 2" id="fCf-U6-KQR"/>
<menuItem title="Item 3" id="YhN-bC-pxZ"/>
</items>
</menu>
</popUpButtonCell>
</popUpButton>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="m7E-tJ-5pF">
<rect key="frame" x="452" y="13" width="134" height="32"/>
<buttonCell key="cell" type="push" title="Restore Default" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="DY5-3t-YRn">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
</button>
</subviews>
<constraints>
<constraint firstItem="xuS-pz-eBX" firstAttribute="leading" secondItem="Mhd-ZC-Bf5" secondAttribute="leading" constant="20" symbolic="YES" id="6n6-2V-YhZ"/>
<constraint firstItem="m7E-tJ-5pF" firstAttribute="leading" relation="lessThanOrEqual" secondItem="Mhd-ZC-Bf5" secondAttribute="leading" constant="458" id="B5y-sT-Q1k"/>
<constraint firstItem="sk8-nL-CMn" firstAttribute="top" secondItem="Mhd-ZC-Bf5" secondAttribute="top" constant="20" symbolic="YES" id="FzS-qG-FqT"/>
<constraint firstItem="xuS-pz-eBX" firstAttribute="top" secondItem="sk8-nL-CMn" secondAttribute="bottom" constant="9" id="Hgc-e2-r3D"/>
<constraint firstItem="m7E-tJ-5pF" firstAttribute="top" secondItem="xuS-pz-eBX" secondAttribute="bottom" constant="17" id="LZ3-6e-Nzk"/>
<constraint firstItem="sk8-nL-CMn" firstAttribute="leading" secondItem="Mhd-ZC-Bf5" secondAttribute="leading" constant="20" symbolic="YES" id="OWV-0G-6EQ"/>
<constraint firstAttribute="trailing" secondItem="m7E-tJ-5pF" secondAttribute="trailing" constant="20" symbolic="YES" id="Y8n-lb-eAN"/>
<constraint firstAttribute="trailing" secondItem="xuS-pz-eBX" secondAttribute="trailing" constant="20" symbolic="YES" id="iiQ-o0-T0e"/>
<constraint firstAttribute="bottom" secondItem="m7E-tJ-5pF" secondAttribute="bottom" constant="20" symbolic="YES" id="r4k-b5-efT"/>
<constraint firstAttribute="trailing" relation="lessThanOrEqual" secondItem="sk8-nL-CMn" secondAttribute="trailing" constant="347" id="rAB-BO-oWX"/>
</constraints>
</view>
</tabViewItem>
<tabViewItem label="DIP Switches" identifier="dipswitch" id="wN5-H3-IgF" userLabel="DipSwitches">
@ -222,13 +126,14 @@
<rect key="frame" x="0.0" y="0.0" width="600" height="400"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cXy-Hr-Spn">
<scrollView fixedFrame="YES" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cXy-Hr-Spn">
<rect key="frame" x="20" y="145" width="560" height="235"/>
<clipView key="contentView" id="EC8-81-kOL">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<clipView key="contentView" ambiguous="YES" id="EC8-81-kOL">
<rect key="frame" x="1" y="0.0" width="558" height="234"/>
<autoresizingMask key="autoresizingMask"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" headerView="1qu-Rf-lqe" id="Riy-Ok-IZT" userLabel="DIPSwitch TableView">
<tableView verticalHuggingPriority="750" ambiguous="YES" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" headerView="1qu-Rf-lqe" id="Riy-Ok-IZT">
<rect key="frame" x="0.0" y="0.0" width="558" height="209"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<size key="intercellSpacing" width="3" height="2"/>
@ -238,6 +143,7 @@
<tableColumns>
<tableColumn identifier="name" editable="NO" width="116" minWidth="40" maxWidth="1000" id="ZSY-Zi-utt">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Name">
<font key="font" metaFont="menu" size="11"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
@ -250,6 +156,7 @@
</tableColumn>
<tableColumn identifier="value" width="179" minWidth="40" maxWidth="1000" id="xfd-ul-qQe">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Value">
<font key="font" metaFont="menu" size="11"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
@ -286,8 +193,9 @@
<autoresizingMask key="autoresizingMask"/>
</tableHeaderView>
</scrollView>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="M0W-M1-aRD">
<rect key="frame" x="452" y="97" width="134" height="32"/>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="M0W-M1-aRD">
<rect key="frame" x="437" y="97" width="149" height="32"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="push" title="Restore Default" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="pOb-rW-w6i">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
@ -297,15 +205,6 @@
</connections>
</button>
</subviews>
<constraints>
<constraint firstAttribute="trailing" secondItem="M0W-M1-aRD" secondAttribute="trailing" constant="20" symbolic="YES" id="0R7-hw-BGE"/>
<constraint firstAttribute="bottom" secondItem="M0W-M1-aRD" secondAttribute="bottom" constant="104" id="JyX-iP-MKz"/>
<constraint firstItem="cXy-Hr-Spn" firstAttribute="top" secondItem="Ojl-AF-gEP" secondAttribute="top" constant="20" symbolic="YES" id="PYT-KT-Ra4"/>
<constraint firstItem="cXy-Hr-Spn" firstAttribute="leading" secondItem="Ojl-AF-gEP" secondAttribute="leading" constant="20" symbolic="YES" id="RER-cn-iws"/>
<constraint firstAttribute="trailing" secondItem="cXy-Hr-Spn" secondAttribute="trailing" constant="20" symbolic="YES" id="Vzz-hq-T5M"/>
<constraint firstItem="M0W-M1-aRD" firstAttribute="leading" relation="lessThanOrEqual" secondItem="Ojl-AF-gEP" secondAttribute="leading" constant="458" id="Xeu-Ve-6SI"/>
<constraint firstItem="M0W-M1-aRD" firstAttribute="top" secondItem="cXy-Hr-Spn" secondAttribute="bottom" constant="20" symbolic="YES" id="pGw-7x-MbF"/>
</constraints>
</view>
</tabViewItem>
</tabViewItems>
@ -343,7 +242,6 @@
<defaultToolbarItems>
<toolbarItem reference="3CL-cj-z1N"/>
<toolbarItem reference="IgP-tm-58x"/>
<toolbarItem reference="DYc-Hq-yNp"/>
</defaultToolbarItems>
</toolbar>
<connections>

View File

@ -94,7 +94,6 @@
- (void) windowDidBecomeKey:(NSNotification *) notification
{
[self.input setFocus:YES];
if (isAutoPaused && self.runloop.isPaused)
self.runloop.paused = NO;
isAutoPaused = NO;
@ -105,7 +104,6 @@
- (void) windowDidResignKey:(NSNotification *) notification
{
[self.input setFocus:NO];
[self unlockCursor];
if ([NSUserDefaults.standardUserDefaults boolForKey:@"pauseWhenInactive"]

View File

@ -15,17 +15,13 @@
#import <Cocoa/Cocoa.h>
#import "FBMainThread.h"
#import "AKGamepadManager.h"
@interface FBPreferencesController : NSWindowController<NSTabViewDelegate, NSTableViewDataSource, FBMainThreadDelegate, AKGamepadEventDelegate>
@interface FBPreferencesController : NSWindowController<NSTabViewDelegate, NSTableViewDataSource, FBMainThreadDelegate>
{
IBOutlet NSToolbar *toolbar;
IBOutlet NSTabView *contentTabView;
IBOutlet NSTableView *dipswitchTableView;
IBOutlet NSTableView *joyInputTableView;
IBOutlet NSButton *restoreDipButton;
IBOutlet NSButton *restoreJoyButton;
IBOutlet NSPopUpButton *inputDevicesPopUp;
}
- (IBAction) tabChanged:(id) sender;

View File

@ -15,36 +15,21 @@
#import "FBPreferencesController.h"
#import "NSWindowController+Core.h"
#import "FBJoyCaptureView.h"
#import "FBInputConstants.h"
#import "FBInputMap.h"
@interface FBPreferencesController()
- (void) resetDipSwitches:(NSArray *) switches;
- (void) resetButtonList;
- (void) resetInputDevices;
- (NSString *) selectedInputDeviceId;
- (void) saveInputMap;
@end
@implementation FBPreferencesController
{
NSArray<FBDipSetting *> *dipSwitches;
NSMutableArray<NSDictionary *> *_inputDeviceList;
NSMutableArray<FBInputInfo *> *_joyInputInfoList;
NSMutableDictionary<NSString *, NSDictionary *> *_inputDeviceMap;
FBJoyCaptureView *_joyCaptureView;
FBInputMap *_joyInputMap;
}
- (id) init
{
if (self = [super initWithWindowNibName:@"Preferences"]) {
_inputDeviceList = [NSMutableArray new];
_inputDeviceMap = [NSMutableDictionary new];
_joyInputInfoList = [NSMutableArray new];
}
return self;
@ -53,26 +38,10 @@
- (void) awakeFromNib
{
[self.runloop addObserver:self];
AKGamepadManager *gm = AKGamepadManager.sharedInstance;
for (int i = 0, n = (int) gm.gamepadCount; i < n; i++) {
AKGamepad *gamepad = [gm gamepadAtIndex:i];
NSString *key = gamepad.vendorProductString;
NSDictionary *gp = @{ @"id": key,
@"title": gamepad.name };
[_inputDeviceList addObject:gp];
[_inputDeviceMap setObject:gp
forKey:key];
}
[self resetInputDevices];
[gm addObserver:self];
}
- (void) dealloc
{
[AKGamepadManager.sharedInstance removeObserver:self];
[self.runloop removeObserver:self];
}
@ -84,98 +53,6 @@
[self resetDipSwitches:[self.runloop dipSwitches]];
}
- (id) windowWillReturnFieldEditor:(NSWindow *) sender
toObject:(id) anObject
{
if (anObject == joyInputTableView) {
if (!_joyCaptureView) {
_joyCaptureView = [FBJoyCaptureView new];
}
return _joyCaptureView;
}
return nil;
}
#pragma mark - NSWindowDelegate
- (void) windowDidResignKey:(NSNotification *) notification
{
[self saveInputMap];
}
#pragma mark - AKGamepadDelegate
- (void) gamepadDidConnect:(AKGamepad *) gamepad
{
NSString *key = gamepad.vendorProductString;
@synchronized (_inputDeviceList) {
if (![_inputDeviceMap objectForKey:key]) {
NSDictionary *gp = @{ @"id": key,
@"title": gamepad.name };
[_inputDeviceMap setObject:gp
forKey:key];
[_inputDeviceList addObject:gp];
}
}
[self resetInputDevices];
}
- (void) gamepadDidDisconnect:(AKGamepad *) gamepad
{
NSString *key = gamepad.vendorProductString;
@synchronized (_inputDeviceList) {
NSDictionary *gp = [_inputDeviceMap objectForKey:key];
[_inputDeviceMap removeObjectForKey:key];
[_inputDeviceList removeObject:gp];
}
[self resetInputDevices];
}
- (void) gamepad:(AKGamepad *) gamepad
xChanged:(NSInteger) newValue
center:(NSInteger) center
eventData:(AKGamepadEventData *) eventData
{
if ([gamepad.vendorProductString isEqualToString:self.selectedInputDeviceId]) {
if (self.window.firstResponder == _joyCaptureView) {
if (center - newValue > FBDeadzoneSize) {
[_joyCaptureView captureCode:FBGamepadLeft];
} else if (newValue - center > FBDeadzoneSize) {
[_joyCaptureView captureCode:FBGamepadRight];
}
}
}
}
- (void) gamepad:(AKGamepad *) gamepad
yChanged:(NSInteger) newValue
center:(NSInteger) center
eventData:(AKGamepadEventData *) eventData
{
if ([gamepad.vendorProductString isEqualToString:self.selectedInputDeviceId]) {
if (self.window.firstResponder == _joyCaptureView) {
if (center - newValue > FBDeadzoneSize) {
[_joyCaptureView captureCode:FBGamepadUp];
} else if (newValue - center > FBDeadzoneSize) {
[_joyCaptureView captureCode:FBGamepadDown];
}
}
}
}
- (void) gamepad:(AKGamepad *) gamepad
button:(NSUInteger) index
isDown:(BOOL) isDown
eventData:(AKGamepadEventData *) eventData
{
if ([gamepad.vendorProductString isEqualToString:self.selectedInputDeviceId]) {
if (self.window.firstResponder == _joyCaptureView) {
[_joyCaptureView captureCode:FBMakeButton(index)];
}
}
}
#pragma mark - Actions
- (void) tabChanged:(id) sender
@ -254,11 +131,8 @@ didSelectTabViewItem:(NSTabViewItem *) tabViewItem
- (NSInteger) numberOfRowsInTableView:(NSTableView *)tableView
{
if (tableView == dipswitchTableView) {
if (tableView == dipswitchTableView)
return dipSwitches.count;
} else if (tableView == joyInputTableView) {
return _joyInputInfoList.count;
}
return 0;
}
@ -287,14 +161,6 @@ objectValueForTableColumn:(NSTableColumn *) tableColumn
}
return @(sw.selectedIndex);
}
} else if (tableView == joyInputTableView) {
FBInputInfo *iinfo = [_joyInputInfoList objectAtIndex:row];
if ([tableColumn.identifier isEqualToString:@"title"]) {
return iinfo.neutralTitle;
} else if ([tableColumn.identifier isEqualToString:@"input"]) {
int deviceCode = [_joyInputMap physicalCodeForVirtual:iinfo.code];
return [FBJoyCaptureView descriptionForCode:deviceCode];
}
}
return nil;
@ -310,13 +176,6 @@ objectValueForTableColumn:(NSTableColumn *) tableColumn
dipSwitches[row].selectedIndex = [object intValue];
[self.runloop applyDip:dipSwitches[row].switches[[object intValue]]];
}
} else if (tableView == joyInputTableView) {
FBInputInfo *iinfo = [_joyInputInfoList objectAtIndex:row];
if ([tableColumn.identifier isEqualToString:@"input"]) {
int code = [FBJoyCaptureView codeForDescription:object];
[_joyInputMap mapVirtualCode:iinfo.code
toPhysical:code];
}
}
}
@ -331,20 +190,10 @@ objectValueForTableColumn:(NSTableColumn *) tableColumn
success:(BOOL) success
{
[self resetDipSwitches:[self.runloop dipSwitches]];
[self resetButtonList];
}
#pragma mark - Private
- (NSString *) selectedInputDeviceId
{
int selectedDeviceIndex = inputDevicesPopUp.indexOfSelectedItem;
if (selectedDeviceIndex >= 0) {
return [[_inputDeviceList objectAtIndex:selectedDeviceIndex] objectForKey:@"id"];
}
return nil;
}
- (void) resetDipSwitches:(NSArray *) switches
{
dipSwitches = switches;
@ -352,58 +201,4 @@ objectValueForTableColumn:(NSTableColumn *) tableColumn
[dipswitchTableView reloadData];
}
- (void) resetButtonList
{
[joyInputTableView abortEditing];
[_joyInputInfoList removeAllObjects];
[self saveInputMap];
NSString *selectedDeviceId = [self selectedInputDeviceId];
NSString *setName = self.runloop.setName;
if (selectedDeviceId && setName) {
_joyInputMap = [self.input loadMapForDeviceId:selectedDeviceId
setName:setName];
[self.input.allInputs enumerateObjectsUsingBlock:^(FBInputInfo *iinfo, NSUInteger idx, BOOL *stop) {
if (iinfo.playerIndex == 1) {
[_joyInputInfoList addObject:iinfo];
}
}];
}
joyInputTableView.enabled = _joyInputInfoList.count > 0;
restoreJoyButton.enabled = joyInputTableView.enabled;
[joyInputTableView reloadData];
}
- (void) resetInputDevices
{
[inputDevicesPopUp removeAllItems];
[_inputDeviceList enumerateObjectsUsingBlock:^(NSDictionary *gp, NSUInteger idx, BOOL *stop) {
[inputDevicesPopUp addItemWithTitle:[gp objectForKey:@"title"]];
}];
inputDevicesPopUp.enabled = inputDevicesPopUp.numberOfItems;
if (inputDevicesPopUp.numberOfItems > 0) {
[inputDevicesPopUp selectItemAtIndex:inputDevicesPopUp.numberOfItems - 1];
}
[self resetButtonList];
}
- (void) saveInputMap
{
if (!_joyInputMap.isDirty) {
return;
}
NSLog(@"Saving input map...");
NSString *selectedDeviceId = [self selectedInputDeviceId];
NSString *setName = self.runloop.setName;
if (selectedDeviceId && setName) {
[self.input saveMap:_joyInputMap
forDeviceId:selectedDeviceId
setName:setName];
}
}
@end

View File

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<false/>
<key>com.apple.security.files.user-selected.read-only</key>
<false/>
</dict>
</plist>

View File

@ -64,11 +64,11 @@
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>FBSetCacheVersion</key>
<integer>19</integer>
<integer>4</integer>
<key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2020 Team FBNeo. All rights reserved.</string>
<string>Copyright © 2019 Team FBNeo. All rights reserved.</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>

View File

@ -1,21 +0,0 @@
// Copyright (c) Akop Karapetyan
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#import <Cocoa/Cocoa.h>
@interface AKCaptureFieldCell : NSTextFieldCell
{
}
@end

View File

@ -1,31 +0,0 @@
// Copyright (c) Akop Karapetyan
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#import "AKCaptureFieldCell.h"
@implementation AKCaptureFieldCell
#pragma mark - NSTextField
- (void) drawWithFrame:(NSRect) cellFrame
inView:(NSView *) controlView
{
[super drawWithFrame:cellFrame
inView:controlView];
// This allows the entire cell to trigger editing
// (otherwise, user must click on the text)
}
@end

View File

@ -1,24 +0,0 @@
// Copyright (c) Akop Karapetyan
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#import <Cocoa/Cocoa.h>
@interface FBJoyCaptureView : NSTextView
+ (NSString *) descriptionForCode:(int) keyCode;
+ (int) codeForDescription:(NSString *) description;
- (BOOL) captureCode:(int) code;
@end

View File

@ -1,194 +0,0 @@
// Copyright (c) Akop Karapetyan
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#import <Carbon/Carbon.h>
#import "FBJoyCaptureView.h"
#import "FBInputConstants.h"
@interface FBJoyCaptureView ()
- (NSRect) unmapRect;
- (BOOL) canUnmap;
@end
@implementation FBJoyCaptureView
static NSMutableDictionary *codeLookupTable;
static NSMutableDictionary *reverseCodeLookupTable;
+ (void) initialize
{
codeLookupTable = [NSMutableDictionary new];
reverseCodeLookupTable = [NSMutableDictionary new];
NSDictionary *dict = @{ @"Up": @(FBGamepadUp),
@"Down": @(FBGamepadDown),
@"Left": @(FBGamepadLeft),
@"Right": @(FBGamepadRight) };
[dict enumerateKeysAndObjectsUsingBlock:^(NSString *desc, NSNumber *mask, BOOL * _Nonnull stop) {
[codeLookupTable setObject:desc
forKey:mask];
[reverseCodeLookupTable setObject:mask
forKey:desc];
}];
for (int i = 1; i <= 31; i++) {
NSNumber *code = @(FBMakeButton(i));
NSString *desc = [NSString stringWithFormat:NSLocalizedString(@"Button %d", @"Joystick button"), i];
[codeLookupTable setObject:desc
forKey:code];
[reverseCodeLookupTable setObject:code
forKey:desc];
}
}
#pragma mark - Input events
- (BOOL) becomeFirstResponder
{
if ([super becomeFirstResponder]) {
[self setEditable:NO];
[self setSelectable:NO];
return YES;
}
return NO;
}
- (void) mouseDown:(NSEvent *) theEvent
{
[super mouseDown:theEvent];
if ([self canUnmap]) {
NSPoint mousePosition = [self convertPoint:[theEvent locationInWindow] fromView:nil];
if (NSPointInRect(mousePosition, [self unmapRect])) {
[self captureCode:FBGamepadNone];
}
}
}
- (void) keyDown:(NSEvent *) theEvent
{
}
- (void) keyUp:(NSEvent *) theEvent
{
}
- (BOOL) captureCode:(int) code
{
NSString *name = [FBJoyCaptureView descriptionForCode:code];
if (!name) {
name = @"";
}
// Update the editor's text with the code's description
[[self textStorage] replaceCharactersInRange:NSMakeRange(0, self.textStorage.length)
withString:name];
// Resign first responder (closes the editor)
[[self window] makeFirstResponder:(NSView *)self.delegate];
return YES;
}
+ (NSString *) descriptionForCode:(int) code
{
if (code != FBGamepadNone) {
return [codeLookupTable objectForKey:@(code)];
}
return @"";
}
+ (int) codeForDescription:(NSString *) description
{
if (description && [description length] > 0) {
NSNumber *code = [reverseCodeLookupTable objectForKey:description];
if (code) {
return [code intValue];
}
}
return FBGamepadNone;
}
#pragma mark - Private methods
- (BOOL) canUnmap
{
return ([self string] && [[self string] length] > 0);
}
- (NSRect) unmapRect
{
NSRect cellFrame = [self bounds];
CGFloat diam = cellFrame.size.height * .70;
return NSMakeRect(cellFrame.origin.x + cellFrame.size.width - cellFrame.size.height,
cellFrame.origin.y + (cellFrame.size.height - diam) / 2.0,
diam, diam);
}
#pragma mark - NSTextView
- (void) drawRect:(NSRect) dirtyRect
{
[super drawRect:dirtyRect];
[[NSGraphicsContext currentContext] saveGraphicsState];
if ([self canUnmap]) {
NSRect circleRect = [self unmapRect];
NSBezierPath *path = [NSBezierPath bezierPathWithOvalInRect:circleRect];
[[NSColor darkGrayColor] set];
[path fill];
NSRect dashRect = NSInsetRect(circleRect,
circleRect.size.width * 0.2,
circleRect.size.height * 0.6);
path = [NSBezierPath bezierPathWithRect:dashRect];
[[NSColor whiteColor] set];
[path fill];
} else {
NSBezierPath *bgRect = [NSBezierPath bezierPathWithRect:[self bounds]];
[[NSColor controlBackgroundColor] set];
[bgRect fill];
NSMutableParagraphStyle *mpstyle = [NSParagraphStyle.defaultParagraphStyle mutableCopy];
[mpstyle setAlignment:[self alignment]];
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:
mpstyle, NSParagraphStyleAttributeName,
[self font], NSFontAttributeName,
[NSColor disabledControlTextColor], NSForegroundColorAttributeName,
nil];
[@"..." drawInRect:[self bounds] withAttributes:attributes];
}
[[NSGraphicsContext currentContext] restoreGraphicsState];
}
@end

View File

@ -55,7 +55,6 @@ static CVReturn displayLinkCallback(CVDisplayLinkRef displayLink,
GLint textureFormat;
CVDisplayLinkRef displayLink;
BOOL useDisplayLink;
GLfloat backingScaleFactor;
}
#pragma mark - Initialize, Dealloc
@ -77,11 +76,6 @@ static CVReturn displayLinkCallback(CVDisplayLinkRef displayLink,
_lastMouseAction = CFAbsoluteTimeGetCurrent();
_lastCursorPosition = NSMakePoint(-1, -1);
textureFormat = GL_UNSIGNED_SHORT_5_6_5;
backingScaleFactor = 1;
if ([self respondsToSelector:@selector(setWantsBestResolutionOpenGLSurface:)]) {
self.wantsBestResolutionOpenGLSurface = YES;
}
[self resetTrackingArea];
}
@ -165,9 +159,6 @@ static CVReturn displayLinkCallback(CVDisplayLinkRef displayLink,
viewBounds = self.bounds;
viewSize = [self convertRectToBacking:viewBounds].size;
if ([self.window respondsToSelector:@selector(backingScaleFactor)]) {
backingScaleFactor = self.window.backingScaleFactor;
}
[self.openGLContext makeCurrentContext];
CGLLockContext(self.openGLContext.CGLContextObj);
@ -414,11 +405,6 @@ static CVReturn displayLinkCallback(CVDisplayLinkRef displayLink,
NSSize size = viewSize;
CGFloat offset = 0;
if (backingScaleFactor != 1) {
size = NSMakeSize((int)(size.width / backingScaleFactor),
(int)(size.height / backingScaleFactor));
}
glBegin(GL_QUADS);
glTexCoord2f(0.0, 0.0);
glVertex3f(-offset, 0.0, 0.0);

View File

@ -36,7 +36,7 @@ SU_EXPORT extern NSString *const SUUpdaterAppcastItemNotificationKey;
SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey;
// -----------------------------------------------------------------------------
// SUUpdater Delegate:
// SUUpdater Delegate:
// -----------------------------------------------------------------------------
/*!

View File

@ -12,10 +12,6 @@
// This list should include the shared headers. It doesn't matter if some of them aren't shared (unless
// there are name-space collisions) so we can list all of them to start with:
#pragma clang diagnostic push
// Do not use <> style includes since 2.x has two frameworks that need to work: Sparkle and SparkleCore
#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
#import "SUAppcast.h"
#import "SUAppcastItem.h"
#import "SUStandardVersionComparator.h"
@ -34,6 +30,4 @@
#import "SPUURLRequest.h"
#import "SUCodeSigningVerifier.h"
#pragma clang diagnostic pop
#endif

View File

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>20B28</string>
<string>19A558d</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.24.0 a-67-g0e162c98</string>
<string>1.22.0 33-gd5222353e</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
@ -25,23 +25,21 @@
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.24.0</string>
<string>1.22.0</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>12C5020f</string>
<key>DTPlatformName</key>
<string>macosx</string>
<string>11M392r</string>
<key>DTPlatformVersion</key>
<string>11.1</string>
<string>GM</string>
<key>DTSDKBuild</key>
<string>20C5048g</string>
<string>19A536d</string>
<key>DTSDKName</key>
<string>macosx11.1</string>
<string>macosx10.15</string>
<key>DTXcode</key>
<string>1230</string>
<string>1100</string>
<key>DTXcodeBuild</key>
<string>12C5020f</string>
<string>11M392r</string>
<key>LSBackgroundOnly</key>
<string>1</string>
<key>LSMinimumSystemVersion</key>

Some files were not shown because too many files have changed in this diff Show More