Compare commits

..

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

8 changed files with 39 additions and 286 deletions

View file

@ -1,120 +0,0 @@
name: Arachnoid
on:
push:
paths-ignore:
- '.{gitattributes,gitignore,travis.yml}'
- '*.md,appveyor.yml,README'
pull_request:
paths-ignore:
- '.{gitattributes,gitignore,travis.yml}'
- '*.md,appveyor.yml,README'
workflow_dispatch:
jobs:
Linux:
strategy:
fail-fast: false
matrix:
include:
- cc: GCC
arch: x64
- cc: GCC
arch: x86
- cc: Clang
arch: x64
- cc: Clang
arch: x86
name: Linux / ${{ matrix.cc }} / ${{ matrix.arch }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Get build dependencies and arrange the environment
run: |
git clone --depth 1 https://github.com/mupen64plus/mupen64plus-core.git ../mupen64plus-core
export C_CLANG_SUFFIX="-15" C_GCC_SUFFIX="-12"
export BUILD_DEPS="libgl1-mesa-dev"
./../mupen64plus-core/.github/workflows/scripts/ci_install_ubuntu_deps.sh ${{ matrix.arch }} ${{ matrix.cc }}
- name: Build and related stuff, backup binaries
run: |
export C_CLANG_SUFFIX="-15" C_GCC_SUFFIX="-12"
./../mupen64plus-core/.github/workflows/scripts/ci_build.sh ${{ matrix.arch }} ${{ matrix.cc }} makepkg
- name: Upload artifact
if: matrix.cc == 'GCC'
uses: actions/upload-artifact@v4
with:
name: ${{ env.PKG_NAME }}
path: pkg/*.tar.gz
MSYS2:
strategy:
fail-fast: false
matrix:
include:
- cc: GCC
arch: x64
cross: x86_64
env: MINGW64
- cc: GCC
arch: x86
cross: i686
env: MINGW32
name: Windows / MSYS2 ${{ matrix.cc }} / ${{ matrix.arch }}
runs-on: windows-2022
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v4
- uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.env }}
update: true
install: >-
git
libtool
make
mingw-w64-${{ matrix.cross }}-gcc
mingw-w64-${{ matrix.cross }}-toolchain
mingw-w64-${{ matrix.cross }}-ntldd
- name: Build and related stuff, backup binaries
run: |
git clone --depth 1 https://github.com/mupen64plus/mupen64plus-core.git ../mupen64plus-core
./../mupen64plus-core/.github/workflows/scripts/ci_build.sh ${{ matrix.arch }} ${{ matrix.cc }}
- name: Backup dependencies, etc...
run: |
./../mupen64plus-core/.github/workflows/scripts/ci_backup_mingw_deps.sh ${{ matrix.env }}
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.PKG_NAME }}
path: pkg/*
Nightly-build:
runs-on: ubuntu-latest
if: github.ref_name == 'master'
needs: [Linux, MSYS2]
steps:
- uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: binaries
- name: Get some tools
run: |
git clone --depth 1 https://github.com/mupen64plus/mupen64plus-core.git ../mupen64plus-core
sudo apt-get update
sudo apt-get -y install hashdeep
- name: Creating new artifacts and update nightly-build
run: |
./../mupen64plus-core/.github/workflows/scripts/ci_nightly_artifacts.sh
- name: Nightly-build
uses: ncipollo/release-action@v1
with:
prerelease: true
allowUpdates: true
removeArtifacts: true
replacesArtifacts: false
tag: nightly-build
artifacts: pkg/*

View file

@ -1,115 +0,0 @@
name: Arachnoid - Scheduled
on:
schedule:
- cron: '15 14 21 * *'
jobs:
Linux:
strategy:
fail-fast: false
matrix:
include:
- cc: GCC
arch: x64
- cc: GCC
arch: x86
- cc: Clang
arch: x64
- cc: Clang
arch: x86
name: Linux / ${{ matrix.cc }} / ${{ matrix.arch }}
runs-on: ubuntu-22.04
if: github.repository == 'mupen64plus/mupen64plus-video-arachnoid'
steps:
- uses: actions/checkout@v4
- name: Get build dependencies and arrange the environment
run: |
git clone --depth 1 https://github.com/mupen64plus/mupen64plus-core.git ../mupen64plus-core
export C_CLANG_SUFFIX="-15" C_GCC_SUFFIX="-12"
export BUILD_DEPS="libgl1-mesa-dev"
./../mupen64plus-core/.github/workflows/scripts/ci_install_ubuntu_deps.sh ${{ matrix.arch }} ${{ matrix.cc }}
- name: Build and related stuff, backup binaries
run: |
export C_CLANG_SUFFIX="-15" C_GCC_SUFFIX="-12"
./../mupen64plus-core/.github/workflows/scripts/ci_build.sh ${{ matrix.arch }} ${{ matrix.cc }} makepkg
- name: Upload artifact
if: matrix.cc == 'GCC'
uses: actions/upload-artifact@v4
with:
name: ${{ env.PKG_NAME }}
path: pkg/*.tar.gz
MSYS2:
strategy:
fail-fast: false
matrix:
include:
- cc: GCC
arch: x64
cross: x86_64
env: MINGW64
- cc: GCC
arch: x86
cross: i686
env: MINGW32
name: Windows / MSYS2 ${{ matrix.cc }} / ${{ matrix.arch }}
runs-on: windows-2022
if: github.repository == 'mupen64plus/mupen64plus-video-arachnoid'
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v4
- uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.env }}
update: true
install: >-
git
libtool
make
mingw-w64-${{ matrix.cross }}-gcc
mingw-w64-${{ matrix.cross }}-toolchain
mingw-w64-${{ matrix.cross }}-ntldd
- name: Build and related stuff, backup binaries
run: |
git clone --depth 1 https://github.com/mupen64plus/mupen64plus-core.git ../mupen64plus-core
./../mupen64plus-core/.github/workflows/scripts/ci_build.sh ${{ matrix.arch }} ${{ matrix.cc }}
- name: Backup dependencies, etc...
run: |
./../mupen64plus-core/.github/workflows/scripts/ci_backup_mingw_deps.sh ${{ matrix.env }}
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.PKG_NAME }}
path: pkg/*
Nightly-build:
runs-on: ubuntu-latest
if: github.ref_name == 'master'
needs: [Linux, MSYS2]
steps:
- uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: binaries
- name: Get some tools
run: |
git clone --depth 1 https://github.com/mupen64plus/mupen64plus-core.git ../mupen64plus-core
sudo apt-get update
sudo apt-get -y install hashdeep
- name: Creating new artifacts and update nightly-build
run: |
./../mupen64plus-core/.github/workflows/scripts/ci_nightly_artifacts.sh
- name: Nightly-build
uses: ncipollo/release-action@v1
with:
prerelease: true
allowUpdates: true
removeArtifacts: true
replacesArtifacts: false
tag: nightly-build
artifacts: pkg/*

View file

@ -1,5 +1,5 @@
sudo: required sudo: required
dist: xenial dist: trusty
language: cpp language: cpp
compiler: compiler:
- gcc - gcc
@ -21,11 +21,14 @@ matrix:
- env: - env:
- MXE_CPU=i686 - MXE_CPU=i686
- PATH="/usr/lib/mxe/usr/bin/:$PATH" - PATH="/usr/lib/mxe/usr/bin/:$PATH"
addons:
apt:
sources:
- sourceline: 'deb http://pkg.mxe.cc/repos/apt/debian jessie main'
key_url: 'http://pkg.mxe.cc/repos/apt/conf/mxeapt.gpg'
packages:
- mxe-i686-w64-mingw32.shared-gcc
before_install: before_install:
- curl -sSL "https://mirror.mxe.cc/repos/apt/client-conf/mxeapt.gpg" | sudo -E apt-key add -
- echo "deb https://mirror.mxe.cc/repos/apt xenial main" | sudo tee -a /etc/apt/sources.list
- sudo apt-get update -qq
- sudo apt-get -y --allow-unauthenticated install mxe-i686-w64-mingw32.shared-gcc
- git clone --depth=1 --branch=master git://github.com/mupen64plus/mupen64plus-core.git deps/mupen64plus-core - git clone --depth=1 --branch=master git://github.com/mupen64plus/mupen64plus-core.git deps/mupen64plus-core
script: script:
- make UNAME=MINGW CROSS_COMPILE="${MXE_CPU}-w64-mingw32.shared-" CC="${MXE_CPU}-w64-mingw32.shared-gcc" CXX="${MXE_CPU}-w64-mingw32.shared-g++" HOST_CPU="${MXE_CPU}" -C projects/unix APIDIR="$(pwd)/deps/mupen64plus-core/src/api/" V=1 clean && - make UNAME=MINGW CROSS_COMPILE="${MXE_CPU}-w64-mingw32.shared-" CC="${MXE_CPU}-w64-mingw32.shared-gcc" CXX="${MXE_CPU}-w64-mingw32.shared-g++" HOST_CPU="${MXE_CPU}" -C projects/unix APIDIR="$(pwd)/deps/mupen64plus-core/src/api/" V=1 clean &&
@ -34,12 +37,15 @@ matrix:
- env: - env:
- MXE_CPU=x86_64 - MXE_CPU=x86_64
- PATH="/usr/lib/mxe/usr/bin/:$PATH" - PATH="/usr/lib/mxe/usr/bin/:$PATH"
addons:
apt:
sources:
- sourceline: 'deb http://pkg.mxe.cc/repos/apt/debian jessie main'
key_url: 'http://pkg.mxe.cc/repos/apt/conf/mxeapt.gpg'
packages:
- mxe-x86-64-w64-mingw32.shared-gcc
before_install: before_install:
- curl -sSL "https://mirror.mxe.cc/repos/apt/client-conf/mxeapt.gpg" | sudo -E apt-key add - - git clone --depth=1 --branch=master git://github.com/mupen64plus/mupen64plus-core.git deps/mupen64plus-core
- echo "deb https://mirror.mxe.cc/repos/apt xenial main" | sudo tee -a /etc/apt/sources.list
- sudo apt-get update -qq
- sudo apt-get -y --allow-unauthenticated install mxe-x86-64-w64-mingw32.shared-gcc
- git clone --depth=1 --branch=master git://github.com/mupen64plus/mupen64plus-core.git deps/mupen64plus-core
script: script:
- make UNAME=MINGW CROSS_COMPILE="${MXE_CPU}-w64-mingw32.shared-" CC="${MXE_CPU}-w64-mingw32.shared-gcc" CXX="${MXE_CPU}-w64-mingw32.shared-g++" HOST_CPU="${MXE_CPU}" -C projects/unix APIDIR="$(pwd)/deps/mupen64plus-core/src/api/" V=1 clean && - make UNAME=MINGW CROSS_COMPILE="${MXE_CPU}-w64-mingw32.shared-" CC="${MXE_CPU}-w64-mingw32.shared-gcc" CXX="${MXE_CPU}-w64-mingw32.shared-g++" HOST_CPU="${MXE_CPU}" -C projects/unix APIDIR="$(pwd)/deps/mupen64plus-core/src/api/" V=1 clean &&
make UNAME=MINGW CROSS_COMPILE="${MXE_CPU}-w64-mingw32.shared-" CC="${MXE_CPU}-w64-mingw32.shared-gcc" CXX="${MXE_CPU}-w64-mingw32.shared-g++" HOST_CPU="${MXE_CPU}" -C projects/unix APIDIR="$(pwd)/deps/mupen64plus-core/src/api/" V=1 -j$(nproc) all make UNAME=MINGW CROSS_COMPILE="${MXE_CPU}-w64-mingw32.shared-" CC="${MXE_CPU}-w64-mingw32.shared-gcc" CXX="${MXE_CPU}-w64-mingw32.shared-g++" HOST_CPU="${MXE_CPU}" -C projects/unix APIDIR="$(pwd)/deps/mupen64plus-core/src/api/" V=1 -j$(nproc) all

View file

@ -20,9 +20,8 @@
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
# Makefile for mupen64plus-video-arachnoid # Makefile for mupen64plus-video-arachnoid
# detect operating system # detect operation system
UNAME ?= $(shell uname -s) UNAME ?= $(shell uname -s)
OS := NONE
ifeq ("$(UNAME)","Linux") ifeq ("$(UNAME)","Linux")
OS = LINUX OS = LINUX
SO_EXTENSION = so SO_EXTENSION = so
@ -71,13 +70,11 @@ endif
# detect system architecture # detect system architecture
HOST_CPU ?= $(shell uname -m) HOST_CPU ?= $(shell uname -m)
CPU := NONE
NO_ASM ?= 1 NO_ASM ?= 1
ifneq ("$(filter x86_64 amd64,$(HOST_CPU))","") ifneq ("$(filter x86_64 amd64,$(HOST_CPU))","")
CPU := X86 CPU := X86
ifeq ("$(BITS)", "32") ifeq ("$(BITS)", "32")
ARCH_DETECTED := 64BITS_32 ARCH_DETECTED := 64BITS_32
PIC ?= 0
else else
ARCH_DETECTED := 64BITS ARCH_DETECTED := 64BITS
PIC ?= 1 PIC ?= 1
@ -86,7 +83,6 @@ endif
ifneq ("$(filter pentium i%86,$(HOST_CPU))","") ifneq ("$(filter pentium i%86,$(HOST_CPU))","")
CPU := X86 CPU := X86
ARCH_DETECTED := 32BITS ARCH_DETECTED := 32BITS
PIC ?= 0
endif endif
ifneq ("$(filter ppc macppc socppc powerpc,$(HOST_CPU))","") ifneq ("$(filter ppc macppc socppc powerpc,$(HOST_CPU))","")
CPU := PPC CPU := PPC
@ -110,12 +106,6 @@ ifneq ("$(filter arm%,$(HOST_CPU))","")
$(warning Architecture "$(HOST_CPU)" not officially supported.') $(warning Architecture "$(HOST_CPU)" not officially supported.')
endif endif
endif endif
ifeq ("$(CPU)","NONE")
$(error CPU type "$(HOST_CPU)" not supported. Please file bug report at 'https://github.com/mupen64plus/mupen64plus-core/issues')
endif
SRCDIR = ../../src
OBJDIR = _obj$(POSTFIX)
# base CFLAGS, LDLIBS, and LDFLAGS # base CFLAGS, LDLIBS, and LDFLAGS
OPTFLAGS ?= -O3 -flto OPTFLAGS ?= -O3 -flto
@ -219,32 +209,24 @@ else
endif endif
endif endif
# tweak flags for 32-bit build on 64-bit system
ifeq ($(ARCH_DETECTED), 64BITS_32)
ifeq ($(OS), FREEBSD)
$(error Do not use the BITS=32 option with FreeBSD, use -m32 and -m elf_i386)
endif
ifneq ($(OS), OSX)
ifeq ($(OS), MINGW)
LDFLAGS += -Wl,-m,i386pe
else
CFLAGS += -m32
LDFLAGS += -Wl,-m,elf_i386
endif
endif
endif
ifeq ($(ARCH_DETECTED), 64BITS)
ifeq ($(OS), MINGW)
LDFLAGS += -Wl,-m,i386pep
endif
endif
# set special flags per-system # set special flags per-system
ifeq ($(OS), LINUX) ifeq ($(OS), LINUX)
# only export api symbols # only export api symbols
LDFLAGS += -Wl,-version-script,$(SRCDIR)/video_api_export.ver LDFLAGS += -Wl,-version-script,$(SRCDIR)/video_api_export.ver
endif endif
ifneq ($(OS), FREEBSD)
ifeq ($(CPU), X86)
# tweak flags for 32-bit build on 64-bit system
ifeq ($(ARCH_DETECTED), 64BITS_32)
CFLAGS += -m32
LDFLAGS += -Wl,-m,elf_i386
endif
endif
else
ifeq ($(ARCH_DETECTED), 64BITS_32)
$(error Do not use the BITS=32 option with FreeBSD, use -m32 and -m elf_i386)
endif
endif
# reduced compile output when running make without V=1 # reduced compile output when running make without V=1
ifneq ($(findstring $(MAKEFLAGS),s),s) ifneq ($(findstring $(MAKEFLAGS),s),s)
@ -277,6 +259,9 @@ endif
ifeq ($(PREFIX),) ifeq ($(PREFIX),)
PREFIX := /usr/local PREFIX := /usr/local
endif endif
ifeq ($(SHAREDIR),)
SHAREDIR := $(PREFIX)/share/mupen64plus
endif
ifeq ($(LIBDIR),) ifeq ($(LIBDIR),)
LIBDIR := $(PREFIX)/lib LIBDIR := $(PREFIX)/lib
endif endif
@ -284,6 +269,10 @@ ifeq ($(PLUGINDIR),)
PLUGINDIR := $(LIBDIR)/mupen64plus PLUGINDIR := $(LIBDIR)/mupen64plus
endif endif
SRCDIR = ../../src
OBJDIR = _obj$(POSTFIX)
# list of source files to compile # list of source files to compile
SOURCE = \ SOURCE = \
$(SRCDIR)/main.cpp \ $(SRCDIR)/main.cpp \

View file

@ -19,7 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/ *****************************************************************************/
#ifndef EXTENSION_CHECKER_H_ #ifndef EXTENSION_CHECKER_H
#define EXTENSION_CHECKER_H_ #define EXTENSION_CHECKER_H_
bool isExtensionSupported( const char *extension ); bool isExtensionSupported( const char *extension );

View file

@ -58,7 +58,6 @@ bool OpenGLManager::initialize(bool fullscreen, int width, int height, int bitDe
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
glEnable(GL_DEPTH_TEST); glEnable(GL_DEPTH_TEST);
glEnable(GL_CULL_FACE); glEnable(GL_CULL_FACE);
this->setViewport(0, 0, width, height);
//Set render states //Set render states
setCullMode(false, true); setCullMode(false, true);

View file

@ -98,12 +98,6 @@ void trim(string& str, bool left, bool right, const string delims)
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
char* trim(char* str, bool left, bool right) char* trim(char* str, bool left, bool right)
{ {
// Empty string check
if (*str == '\0')
{
return str;
}
//Trim from the left //Trim from the left
if(left) if(left)
{ {

View file

@ -41,7 +41,7 @@
//Definitions //Definitions
#define PLUGIN_NAME "Arachnoid Video Plugin" #define PLUGIN_NAME "Arachnoid Video Plugin"
#define PLUGIN_VERSION 0x020600 #define PLUGIN_VERSION 0x020000
#define VIDEO_PLUGIN_API_VERSION 0x020200 #define VIDEO_PLUGIN_API_VERSION 0x020200
#define CONFIG_API_VERSION 0x020000 #define CONFIG_API_VERSION 0x020000
#define VIDEXT_API_VERSION 0x030000 #define VIDEXT_API_VERSION 0x030000