Compare commits

..

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

128 changed files with 1499 additions and 1991 deletions

38
.gitattributes vendored
View file

@ -1,38 +0,0 @@
* text=auto
# normal text files
*.6 text
AUTHORS text
*.c text
*.cfg text
*.cht text
*.conf text
COPYING text
*.cpp text
*.def text
*-license text
*.h text
*.html text
*.ini text
INSTALL text
LICENSES text
Makefile text
*.py text
README text
RELEASE text
*.S text
*.sh text
*.txt text
*.ver text
# windows specific text files
*.sln text eol=crlf
*.vcproj text eol=crlf
*.vcxproj text eol=crlf
*.vcxproj.filters text eol=crlf
# binary files
*.gz binary
*.ttf binary
cursor.tex binary
font.tex binary

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/*

2
.gitignore vendored
View file

@ -1,2 +0,0 @@
/projects/unix/_obj*/
/projects/unix/mupen64plus-video-arachnoid*.so

4
.hgignore Normal file
View file

@ -0,0 +1,4 @@
syntax: regexp
^projects/unix/_obj/
^projects/unix/mupen64plus-video-arachnoid.so$

View file

@ -1,45 +0,0 @@
sudo: required
dist: xenial
language: cpp
compiler:
- gcc
- clang
addons:
apt:
packages:
- git
- libgl1-mesa-dev
- pkg-config
before_install:
- git clone --depth=1 --branch=master git://github.com/mupen64plus/mupen64plus-core.git deps/mupen64plus-core
script:
- make -C projects/unix APIDIR="$(pwd)/deps/mupen64plus-core/src/api/" V=1 clean && LDFLAGS="-Wl,--no-add-needed -Wl,--no-undefined" OPTFLAGS="-O2" make CC="${CC}" CXX="${CXX}" -j$(nproc) -C projects/unix APIDIR="$(pwd)/deps/mupen64plus-core/src/api/" V=1 all
# extra mxe build entries
matrix:
include:
- env:
- MXE_CPU=i686
- PATH="/usr/lib/mxe/usr/bin/:$PATH"
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
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 -j$(nproc) all
- env:
- MXE_CPU=x86_64
- PATH="/usr/lib/mxe/usr/bin/:$PATH"
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-x86-64-w64-mingw32.shared-gcc
- git clone --depth=1 --branch=master git://github.com/mupen64plus/mupen64plus-core.git deps/mupen64plus-core
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 -j$(nproc) all

2
README
View file

@ -1,5 +1,5 @@
Arachnoid Graphics Plugin for Mupen64Plus
https://github.com/mupen64plus/mupen64plus-video-arachnoid/
http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
Derived from the Project64/1964 version of Arachnoid, available from:
http://sourceforge.net/projects/arachnoid/

38
projects/msvc9/GraphicsPlugin.sln Normal file → Executable file
View file

@ -1,19 +1,19 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsPlugin", "GraphicsPlugin.vcproj", "{6F7FDCD3-C278-4A5C-BD36-85D58AC75AFE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6F7FDCD3-C278-4A5C-BD36-85D58AC75AFE}.Debug|Win32.ActiveCfg = Debug|Win32
{6F7FDCD3-C278-4A5C-BD36-85D58AC75AFE}.Debug|Win32.Build.0 = Debug|Win32
{6F7FDCD3-C278-4A5C-BD36-85D58AC75AFE}.Release|Win32.ActiveCfg = Release|Win32
{6F7FDCD3-C278-4A5C-BD36-85D58AC75AFE}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsPlugin", "GraphicsPlugin.vcproj", "{6F7FDCD3-C278-4A5C-BD36-85D58AC75AFE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6F7FDCD3-C278-4A5C-BD36-85D58AC75AFE}.Debug|Win32.ActiveCfg = Debug|Win32
{6F7FDCD3-C278-4A5C-BD36-85D58AC75AFE}.Debug|Win32.Build.0 = Debug|Win32
{6F7FDCD3-C278-4A5C-BD36-85D58AC75AFE}.Release|Win32.ActiveCfg = Release|Win32
{6F7FDCD3-C278-4A5C-BD36-85D58AC75AFE}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

1844
projects/msvc9/GraphicsPlugin.vcproj Normal file → Executable file

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
#/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
# * Arachnoid - Makefile *
# * https://github.com/mupen64plus/mupen64plus-video-arachnoid/ *
# * http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/ *
# * Copyright (C) 2009 Richard42, Jon Ring *
# * *
# * This program is free software; you can redistribute it and/or modify *
@ -20,9 +20,8 @@
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
# Makefile for mupen64plus-video-arachnoid
# detect operating system
UNAME ?= $(shell uname -s)
OS := NONE
# detect operation system
UNAME = $(shell uname -s)
ifeq ("$(UNAME)","Linux")
OS = LINUX
SO_EXTENSION = so
@ -53,31 +52,21 @@ ifeq ("$(UNAME)","OpenBSD")
OS = FREEBSD
SO_EXTENSION = so
SHARED = -shared
$(warning OS type "$(UNAME)" not officially supported.')
endif
ifneq ("$(filter GNU/kFreeBSD kfreebsd,$(UNAME))","")
OS = LINUX
SO_EXTENSION = so
SHARED = -shared
endif
ifeq ("$(patsubst MINGW%,MINGW,$(UNAME))","MINGW")
OS = MINGW
SO_EXTENSION = dll
SHARED = -shared
PIC = 0
endif
ifeq ("$(OS)","NONE")
$(error OS type "$(UNAME)" not supported. Please file bug report at 'https://github.com/mupen64plus/mupen64plus-core/issues')
endif
# detect system architecture
HOST_CPU ?= $(shell uname -m)
CPU := NONE
NO_ASM ?= 1
ifneq ("$(filter x86_64 amd64,$(HOST_CPU))","")
CPU := X86
ifeq ("$(BITS)", "32")
ARCH_DETECTED := 64BITS_32
PIC ?= 0
else
ARCH_DETECTED := 64BITS
PIC ?= 1
@ -86,9 +75,8 @@ endif
ifneq ("$(filter pentium i%86,$(HOST_CPU))","")
CPU := X86
ARCH_DETECTED := 32BITS
PIC ?= 0
endif
ifneq ("$(filter ppc macppc socppc powerpc,$(HOST_CPU))","")
ifneq ("$(filter ppc powerpc,$(HOST_CPU))","")
CPU := PPC
ARCH_DETECTED := 32BITS
BIG_ENDIAN := 1
@ -102,25 +90,10 @@ ifneq ("$(filter ppc64 powerpc64,$(HOST_CPU))","")
PIC ?= 1
$(warning Architecture "$(HOST_CPU)" not officially supported.')
endif
ifneq ("$(filter arm%,$(HOST_CPU))","")
ifeq ("$(filter arm%b,$(HOST_CPU))","")
CPU := ARM
ARCH_DETECTED := 32BITS
PIC ?= 1
$(warning Architecture "$(HOST_CPU)" not officially supported.')
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
OPTFLAGS ?= -O3 -flto
WARNFLAGS ?= -Wall
CFLAGS += $(OPTFLAGS) $(WARNFLAGS) -ffast-math -fno-strict-aliasing -fvisibility=hidden -I../../src \
OPTFLAGS ?= -O3
CFLAGS += $(OPTFLAGS) -ffast-math -fno-strict-aliasing -fvisibility=hidden -I../../src \
-I../../src/hash -I../../src/ucodes -I../../src/GBI -I../../src/RDP -I../../src/utils \
-I../../src/log -I../../src/RSP -I../../src/framebuffer -I../../src/math -I../../src/renderer \
-I../../src/Assembler -I../../src/texture -I../../src/config -I../../src/Combiner
@ -130,54 +103,26 @@ LDFLAGS += $(SHARED)
# On OS X, add a few extra flags to elegantly support cross-compilation and backward
# compatibility (and also the flags to link against OpenGL)
ifeq ($(OS), OSX)
# Select the proper SDK
# Also, SDKs are stored in a different location since XCode 4.3
OSX_SDK ?= $(shell sw_vers -productVersion | cut -f1 -f2 -d .)
OSX_XCODEMAJ = $(shell xcodebuild -version | grep '[0-9]*\.[0-9]*' | cut -f2 -d ' ' | cut -f1 -d .)
OSX_XCODEMIN = $(shell xcodebuild -version | grep '[0-9]*\.[0-9]*' | cut -f2 -d ' ' | cut -f2 -d .)
OSX_XCODEGE43 = $(shell echo "`expr $(OSX_XCODEMAJ) \>= 4``expr $(OSX_XCODEMIN) \>= 3`")
ifeq ($(OSX_XCODEGE43), 11)
OSX_SYSROOT := /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
else
OSX_SYSROOT := /Developer/SDKs
endif
ifeq ($(CPU), X86)
ifeq ($(ARCH_DETECTED), 64BITS)
CFLAGS += -arch x86_64 -mmacosx-version-min=$(OSX_SDK) -isysroot $(OSX_SYSROOT)/MacOSX$(OSX_SDK).sdk
LDFLAGS += -bundle
CFLAGS += -arch x86_64 -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk
LDFLAGS += -bundle -framework OpenGL -arch x86_64 -mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.5.sdk
else
CFLAGS += -arch i686 -mmacosx-version-min=$(OSX_SDK) -isysroot $(OSX_SYSROOT)/MacOSX$(OSX_SDK).sdk
LDFLAGS += -bundle
CFLAGS += -arch i686 -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk
LDFLAGS += -bundle -framework OpenGL -arch i686 -mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.5.sdk
endif
endif
else
# search for OpenGL libraries
ifeq ($(OS), OSX)
GL_LDLIBS = -framework OpenGL
# test for essential build dependencies
ifeq ($(shell which pkg-config 2>/dev/null),)
$(error pkg-config not found)
endif
ifeq ($(OS), MINGW)
GL_LDLIBS = -lopengl32
ifeq ($(shell pkg-config --modversion gl 2>/dev/null),)
$(error No OpenGL development libraries found!)
endif
ifeq ($(origin GL_CFLAGS) $(origin GL_LDLIBS), undefined undefined)
ifeq ($(origin PKG_CONFIG), undefined)
PKG_CONFIG = $(CROSS_COMPILE)pkg-config
ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null),)
$(error $(PKG_CONFIG) not found)
endif
endif
ifeq ($(shell $(PKG_CONFIG) --modversion gl 2>/dev/null),)
$(error No OpenGL development libraries found!)
endif
GL_CFLAGS += $(shell $(PKG_CONFIG) --cflags gl)
GL_LDLIBS += $(shell $(PKG_CONFIG) --libs gl)
endif
CFLAGS += $(GL_CFLAGS)
LDLIBS += $(GL_LDLIBS)
CFLAGS += -pthread
CFLAGS += -pthread $(shell pkg-config --cflags gl)
LDLIBS += -pthread $(shell pkg-config --libs gl)
endif
ifeq ($(OS), LINUX)
LDLIBS += -ldl
@ -191,8 +136,10 @@ endif
# On 32-bit x86 systems we do not want to use -fPIC because we don't have to and it has a big performance penalty on this arch
ifeq ($(PIC), 1)
CFLAGS += -fPIC
LDFLAGS += -fPIC
else
CFLAGS += -fno-PIC
LDFLAGS += -fno-PIC
endif
ifeq ($(BIG_ENDIAN), 1)
@ -219,32 +166,24 @@ else
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
ifeq ($(OS), LINUX)
# only export api symbols
LDFLAGS += -Wl,-version-script,$(SRCDIR)/video_api_export.ver
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 += -m32 -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
ifneq ($(findstring $(MAKEFLAGS),s),s)
@ -256,14 +195,14 @@ endif
endif
# set base program pointers and flags
CC = $(CROSS_COMPILE)gcc
CXX = $(CROSS_COMPILE)g++
CC ?= gcc
CXX ?= g++
RM ?= rm -f
INSTALL ?= install
MKDIR ?= mkdir -p
COMPILE.c = $(Q_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
COMPILE.cc = $(Q_CXX)$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
LINK.o = $(Q_LD)$(CXX) $(CXXFLAGS) $(LDFLAGS) $(TARGET_ARCH)
LINK.o = $(Q_LD)$(CXX) $(LDFLAGS) $(TARGET_ARCH)
# set special flags for given Makefile parameters
ifeq ($(DEBUG),1)
@ -277,6 +216,9 @@ endif
ifeq ($(PREFIX),)
PREFIX := /usr/local
endif
ifeq ($(SHAREDIR),)
SHAREDIR := $(PREFIX)/share/mupen64plus
endif
ifeq ($(LIBDIR),)
LIBDIR := $(PREFIX)/lib
endif
@ -284,6 +226,10 @@ ifeq ($(PLUGINDIR),)
PLUGINDIR := $(LIBDIR)/mupen64plus
endif
SRCDIR = ../../src
OBJDIR = _obj
# list of source files to compile
SOURCE = \
$(SRCDIR)/main.cpp \
@ -336,13 +282,8 @@ SOURCE = \
$(SRCDIR)/Combiner/CombinerCache.cpp \
$(SRCDIR)/RomDetector.cpp \
$(SRCDIR)/RDP/RDP.cpp \
$(SRCDIR)/RDP/RDPInstructions.cpp
ifeq ($(OS),MINGW)
SOURCE += $(SRCDIR)/osal_dynamiclib_win32.cpp
else
SOURCE += $(SRCDIR)/osal_dynamiclib_unix.cpp
endif
$(SRCDIR)/RDP/RDPInstructions.cpp \
$(SRCDIR)/osal_dynamiclib_unix.cpp
# generate a list of object files build, make a temporary directory for them
@ -352,7 +293,7 @@ $(shell $(MKDIR) $(OBJDIRS))
# build targets
TARGET = mupen64plus-video-arachnoid$(POSTFIX).$(SO_EXTENSION)
TARGET = mupen64plus-video-arachnoid.$(SO_EXTENSION)
targets:
@echo "Mupen64plus-video-arachnoid N64 Graphics plugin makefile. "
@echo " Targets:"
@ -364,10 +305,8 @@ targets:
@echo " Options:"
@echo " BITS=32 == build 32-bit binaries on 64-bit machine"
@echo " APIDIR=path == path to find Mupen64Plus Core headers"
@echo " OPTFLAGS=flag == compiler optimization (default: -O3 -flto)"
@echo " WARNFLAGS=flag == compiler warning levels (default: -Wall)"
@echo " OPTFLAGS=flag == compiler optimization (default: -O3)"
@echo " PIC=(1|0) == Force enable/disable of position independent code"
@echo " POSTFIX=name == String added to the name of the the build (default: '')"
@echo " Install Options:"
@echo " PREFIX=path == install/uninstall prefix (default: /usr/local)"
@echo " LIBDIR=path == library prefix (default: PREFIX/lib)"
@ -375,6 +314,7 @@ targets:
@echo " DESTDIR=path == path to prepend to all installation paths (only for packagers)"
@echo " Debugging Options:"
@echo " DEBUG=1 == add debugging symbols"
@echo " LTO=1 == enable experimental build with link-time optimization"
@echo " V=1 == show verbose compiler output"
all: $(TARGET)
@ -388,13 +328,18 @@ uninstall:
clean:
$(RM) -r $(OBJDIR) $(TARGET)
$(RM) -r ./_obj mupen64plus-video-arachnoid.$(SO_EXTENSION)
# build dependency files
CFLAGS += -MD -MP
CFLAGS += -MD
-include $(OBJECTS:.o=.d)
CXXFLAGS += $(CFLAGS)
ifeq ($(LTO), 1)
CFLAGS += -flto
CXXFLAGS += -flto
LDFLAGS += -fuse-linker-plugin $(CXXFLAGS)
endif
# standard build rules
$(OBJDIR)/%.o: $(SRCDIR)/%.c

4
src/Assembler/assembler.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2009 Jon Ring
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
@ -114,7 +114,7 @@ Done:
}
#else
long long beginOffset = (long long)src & 3;
long beginOffset = (long)src & 3;
char *readPtr = (char*)src - beginOffset;
char *writePtr = (char*)dest;

47
src/Combiner/AdvancedCombinerManager.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -20,35 +20,32 @@
*****************************************************************************/
#include "AdvancedCombinerManager.h"
#include "AdvancedTexEnvCombiner.h"
#include "CombinerBase.h"
#include "CombinerStageCreator.h"
#include "CombinerStageMerger.h"
#include "CombinerStructs.h"
#include "DummyCombiner.h"
#include "ExtensionChecker.h"
#include "GBIDefs.h"
#include "MultiTexturingExt.h"
#include "OpenGL.h"
#include "RomDetector.h"
#include "AdvancedTexEnvCombiner.h"
#include "SimpleTexEnvCombiner.h"
#include "DummyCombiner.h"
#include "CombinerStageMerger.h"
#include "CombinerStageCreator.h"
#include "RomDetector.h"
#include "m64p.h"
#include "OpenGL.h"
static int saRGBExpanded[] =
{
COMBINED, TEXEL0, TEXEL1, PRIMITIVE,
SHADE, ENVIRONMENT, CB_ONE, NOISE,
CB_ZERO, CB_ZERO, CB_ZERO, CB_ZERO,
CB_ZERO, CB_ZERO, CB_ZERO, CB_ZERO
SHADE, ENVIRONMENT, ONE, NOISE,
ZERO, ZERO, ZERO, ZERO,
ZERO, ZERO, ZERO, ZERO
};
static int sbRGBExpanded[] =
{
COMBINED, TEXEL0, TEXEL1, PRIMITIVE,
SHADE, ENVIRONMENT, CENTER, K4,
CB_ZERO, CB_ZERO, CB_ZERO, CB_ZERO,
CB_ZERO, CB_ZERO, CB_ZERO, CB_ZERO
ZERO, ZERO, ZERO, ZERO,
ZERO, ZERO, ZERO, ZERO
};
static int mRGBExpanded[] =
@ -57,40 +54,40 @@ static int mRGBExpanded[] =
SHADE, ENVIRONMENT, SCALE, COMBINED_ALPHA,
TEXEL0_ALPHA, TEXEL1_ALPHA, PRIMITIVE_ALPHA, SHADE_ALPHA,
ENV_ALPHA, LOD_FRACTION, PRIM_LOD_FRAC, K5,
CB_ZERO, CB_ZERO, CB_ZERO, CB_ZERO,
CB_ZERO, CB_ZERO, CB_ZERO, CB_ZERO,
CB_ZERO, CB_ZERO, CB_ZERO, CB_ZERO,
CB_ZERO, CB_ZERO, CB_ZERO, CB_ZERO
ZERO, ZERO, ZERO, ZERO,
ZERO, ZERO, ZERO, ZERO,
ZERO, ZERO, ZERO, ZERO,
ZERO, ZERO, ZERO, ZERO
};
static int aRGBExpanded[] =
{
COMBINED, TEXEL0, TEXEL1, PRIMITIVE,
SHADE, ENVIRONMENT, CB_ONE, CB_ZERO
SHADE, ENVIRONMENT, ONE, ZERO
};
static int saAExpanded[] =
{
COMBINED, TEXEL0_ALPHA, TEXEL1_ALPHA, PRIMITIVE_ALPHA,
SHADE_ALPHA, ENV_ALPHA, CB_ONE, CB_ZERO
SHADE_ALPHA, ENV_ALPHA, ONE, ZERO
};
static int sbAExpanded[] =
{
COMBINED, TEXEL0_ALPHA, TEXEL1_ALPHA, PRIMITIVE_ALPHA,
SHADE_ALPHA, ENV_ALPHA, CB_ONE, CB_ZERO
SHADE_ALPHA, ENV_ALPHA, ONE, ZERO
};
static int mAExpanded[] =
{
LOD_FRACTION, TEXEL0_ALPHA, TEXEL1_ALPHA, PRIMITIVE_ALPHA,
SHADE_ALPHA, ENV_ALPHA, PRIM_LOD_FRAC, CB_ZERO,
SHADE_ALPHA, ENV_ALPHA, PRIM_LOD_FRAC, ZERO,
};
static int aAExpanded[] =
{
COMBINED, TEXEL0_ALPHA, TEXEL1_ALPHA, PRIMITIVE_ALPHA,
SHADE_ALPHA, ENV_ALPHA, CB_ONE, CB_ZERO
SHADE_ALPHA, ENV_ALPHA, ONE, ZERO
};
//-----------------------------------------------------------------------------
@ -317,7 +314,7 @@ void AdvancedCombinerManager::getSecondaryCombinerColor(float out[4])
}
//Get color
m_combiner->getCombinerColor(out, currentTexEnv->vertex.secondaryColor, CB_ONE);
m_combiner->getCombinerColor(out, currentTexEnv->vertex.secondaryColor, ONE);
}
//-----------------------------------------------------------------------------

18
src/Combiner/AdvancedCombinerManager.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -22,18 +22,18 @@
#ifndef ADVANCED_COMBINER_MANAGER_H_
#define ADVANCED_COMBINER_MANAGER_H_
#include "CombinerCache.h"
#include "CombinerStructs.h"
#include "GBIDefs.h"
#include "CombinerStructs.h"
#include "CombinerCache.h"
//Forward declarations
class AdvancedTexEnvCombiner;
class CombinerBase;
class CombinerCache;
struct CombineCycle;
struct Combiner;
struct CombinerStage;
struct TexEnvCombiner;
struct CombineCycle;
struct CombinerStage;
struct Combiner;
class AdvancedTexEnvCombiner;
class CombinerCache;
class CombinerBase;
//*****************************************************************************
//! Advanced Texture Environment Combiner

21
src/Combiner/AdvancedTexEnvCombiner.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -20,12 +20,11 @@
*****************************************************************************/
#include <algorithm>
using std::max;
#include "AdvancedTexEnvCombiner.h"
#include "CombinerStructs.h"
#include "ExtensionChecker.h"
#include "MultiTexturingExt.h" //glActiveTextureARB
#include "ExtensionChecker.h"
#ifndef GL_ATI_texture_env_combine3
#define GL_ATI_texture_env_combine3
@ -82,9 +81,9 @@ static TexEnvCombinerArg TexEnvArgs[] =
{ GL_CONSTANT_ARB, GL_SRC_COLOR },
// K5
{ GL_CONSTANT_ARB, GL_SRC_COLOR },
// CB_ONE
// ONE
{ GL_CONSTANT_ARB, GL_SRC_COLOR },
// CB_ZERO
// ZERO
{ GL_CONSTANT_ARB, GL_SRC_COLOR }
};
@ -124,8 +123,8 @@ void AdvancedTexEnvCombiner::initialize()
if ( ATI_texture_env_combine3 )
{
TexEnvArgs[CB_ONE].source = GL_ONE;
TexEnvArgs[CB_ZERO].source = GL_ZERO;
TexEnvArgs[ONE].source = GL_ONE;
TexEnvArgs[ZERO].source = GL_ZERO;
}
}
@ -274,7 +273,7 @@ TexEnvCombiner* AdvancedTexEnvCombiner::createNewTextureEnviroment(Combiner* col
sb = m_primColor[3];
else if (alphaCombiner->stage[i].op[j].param1 == ENV_ALPHA)
sb = m_envColor[3];
else if (alphaCombiner->stage[i].op[j].param1 == CB_ONE)
else if (alphaCombiner->stage[i].op[j].param1 == ONE)
sb = 1.0f;
if (((alphaCombiner->stage[i].numOps - j) >= 3) &&
@ -287,7 +286,7 @@ TexEnvCombiner* AdvancedTexEnvCombiner::createNewTextureEnviroment(Combiner* col
envCombiner->usesT0 |= alphaCombiner->stage[i].op[j].param1 == TEXEL0_ALPHA;
envCombiner->usesT1 |= alphaCombiner->stage[i].op[j].param1 == TEXEL1_ALPHA;
if (alphaCombiner->stage[i].op[j].param1 == CB_ONE)
if (alphaCombiner->stage[i].op[j].param1 == ONE)
{
SetAlphaCombinerValues( curUnit, arg0, envCombiner->alpha[curUnit].arg0.source, GL_ONE_MINUS_SRC_ALPHA );
}
@ -343,7 +342,7 @@ TexEnvCombiner* AdvancedTexEnvCombiner::createNewTextureEnviroment(Combiner* col
(alphaCombiner->stage[i].op[j].param1 == TEXEL1_ALPHA) && (curUnit == 0))
curUnit++;
if ((j > 0) && (alphaCombiner->stage[i].op[j-1].op == LOAD) && (alphaCombiner->stage[i].op[j-1].param1 == CB_ONE))
if ((j > 0) && (alphaCombiner->stage[i].op[j-1].op == LOAD) && (alphaCombiner->stage[i].op[j-1].param1 == ONE))
{
SetAlphaCombinerArg( curUnit, arg0, alphaCombiner->stage[i].op[j].param1 );
envCombiner->alpha[curUnit].arg0.operand = GL_ONE_MINUS_SRC_ALPHA;
@ -482,7 +481,7 @@ TexEnvCombiner* AdvancedTexEnvCombiner::createNewTextureEnviroment(Combiner* col
((colorCombiner->stage[i].op[j].param1 == TEXEL1) || (colorCombiner->stage[i].op[j].param1 == TEXEL1_ALPHA)) && (curUnit == 0))
curUnit++;
if ((j > 0) && (colorCombiner->stage[i].op[j-1].op == LOAD) && (colorCombiner->stage[i].op[j-1].param1 == CB_ONE))
if ((j > 0) && (colorCombiner->stage[i].op[j-1].op == LOAD) && (colorCombiner->stage[i].op[j-1].param1 == ONE))
{
SetColorCombinerArg( curUnit, arg0, colorCombiner->stage[i].op[j].param1 );
envCombiner->color[curUnit].arg0.operand = GL_ONE_MINUS_SRC_COLOR;

3
src/Combiner/AdvancedTexEnvCombiner.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -25,7 +25,6 @@
#include "CombinerBase.h"
#include "CombinerStructs.h"
class AdvancedTexEnvCombiner;
struct TexEnvCombiner;
#ifndef GL_ARB_texture_env_combine

19
src/Combiner/CombinerBase.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -20,7 +20,6 @@
*****************************************************************************/
#include "CombinerBase.h"
#include "CombinerStructs.h"
//-----------------------------------------------------------------------------
@ -110,14 +109,14 @@ void CombinerBase::setEnvColor(float r, float g, float b, float a)
//! \arg \c PRIMITIVE_ALPHA Get color from primatives alpha value
//! \arg \c ENV_ALPHA Get color from environment colors alpha value
//! \arg \c PRIM_LOD_FRAC Get color from primative-LOD-frac value
//! \arg \c CB_ONE Get white color
//! \arg \c CB_ZERO Get black color
//! \arg \c ONE Get white color
//! \arg \c ZERO Get black color
//! @param[in] alphaSource From which alphasource to retrive alpha value
//! \arg \c PRIMITIVE_ALPHA Get alpha value from primitive colors alpha value
//! \arg \c ENV_ALPHA Get alpha value from environment colors alpha value
//! \arg \c PRIM_LOD_FRAC Get alpha value from primative-LOD-frac value
//! \arg \c CB_ONE Set alpha value to 1.0
//! \arg \c CB_ZERO Set alpha value to 0.0
//! \arg \c ONE Set alpha value to 1.0
//! \arg \c ZERO Set alpha value to 0.0
//! @param[out] out The combiner color with color and alpha value
//-----------------------------------------------------------------------------
void CombinerBase::getCombinerColor(float out[4], short colorSrc, short alphaSrc)
@ -150,12 +149,12 @@ void CombinerBase::getCombinerColor(float out[4], short colorSrc, short alphaSrc
out[1] = m_primLodFrac;
out[2] = m_primLodFrac;
break;
case CB_ONE:
case ONE:
out[0] = 1.0f;
out[1] = 1.0f;
out[2] = 1.0f;
break;
case CB_ZERO:
case ZERO:
out[0] = 0.0f;
out[1] = 0.0f;
out[2] = 0.0f;
@ -174,10 +173,10 @@ void CombinerBase::getCombinerColor(float out[4], short colorSrc, short alphaSrc
case PRIM_LOD_FRAC:
out[3] = m_primLodFrac;
break;
case CB_ONE:
case ONE:
out[3] = 1.0f;
break;
case CB_ZERO:
case ZERO:
out[3] = 0.0f;
break;
}

2
src/Combiner/CombinerBase.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

4
src/Combiner/CombinerCache.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -21,8 +21,6 @@
#include "CombinerCache.h"
#include "CombinerStructs.h"
//-----------------------------------------------------------------------------
//* New Compiled Combiner
//! Function used to add decoded mux values and the result of them to the list.

7
src/Combiner/CombinerCache.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -22,11 +22,8 @@
#ifndef COMBINER_CACHE_H_
#define COMBINER_CACHE_H_
#include <list>
#include "CombinerStructs.h"
struct TexEnvCombiner;
#include <list>
//*****************************************************************************
//* Cached Combiner

20
src/Combiner/CombinerStageCreator.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -28,8 +28,6 @@
#include "CombinerStageCreator.h"
#include "CombinerStructs.h"
//-----------------------------------------------------------------------------
//* Set Stage
//! Function used to set combiner stage, tries to simplify and optimize as
@ -46,10 +44,10 @@ void setStage(CombineCycle* combineCycle, CombinerStage* stageOut)
stageOut->numOps = 1;
// If we're just subtracting zero, skip it
if (combineCycle->subValue != CB_ZERO)
if (combineCycle->subValue != ZERO)
{
if (combineCycle->subValue == stageOut->op[0].param1)
stageOut->op[0].param1 = CB_ZERO;
stageOut->op[0].param1 = ZERO;
else
{
//Subract operation
@ -60,17 +58,17 @@ void setStage(CombineCycle* combineCycle, CombinerStage* stageOut)
}
//Multiply operation
if ((stageOut->numOps > 1) || (stageOut->op[0].param1 != CB_ZERO))
if ((stageOut->numOps > 1) || (stageOut->op[0].param1 != ZERO))
{
if (combineCycle->multValue == CB_ZERO)
if (combineCycle->multValue == ZERO)
{
stageOut->numOps = 1;
stageOut->op[0].op = LOAD;
stageOut->op[0].param1 = CB_ZERO;
stageOut->op[0].param1 = ZERO;
}
else
{
if ( stageOut->numOps == 1 && stageOut->op[0].param1 == CB_ONE )
if ( stageOut->numOps == 1 && stageOut->op[0].param1 == ONE )
{
//LOAD
stageOut->op[0].param1 = combineCycle->multValue;
@ -86,10 +84,10 @@ void setStage(CombineCycle* combineCycle, CombinerStage* stageOut)
}
//Don't bother adding zero
if (combineCycle->addValue != CB_ZERO)
if (combineCycle->addValue != ZERO)
{
// If all we have so far is zero, then load this instead
if ((stageOut->numOps == 1) && (stageOut->op[0].param1 == CB_ZERO))
if ((stageOut->numOps == 1) && (stageOut->op[0].param1 == ZERO))
{
stageOut->op[0].param1 = combineCycle->addValue;
}

7
src/Combiner/CombinerStageCreator.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -24,10 +24,7 @@
#include "CombinerStructs.h"
struct CombineCycle;
struct CombinerStage;
//Function used to set combiner stage
void setStage(CombineCycle* combineCycle, CombinerStage* stageOut);
#endif
#endif

2
src/Combiner/CombinerStageMerger.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

2
src/Combiner/CombinerStageMerger.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

8
src/Combiner/CombinerStructs.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -22,8 +22,8 @@
#ifndef COMBINER_STRUCTS_H_
#define COMBINER_STRUCTS_H_
#include "OpenGL.h"
#include "m64p.h"
#include "OpenGL.h"
// Internal combiner commands
#define LOAD 0
@ -53,8 +53,8 @@
#define NOISE 16
#define K4 17
#define K5 18
#define CB_ONE 19
#define CB_ZERO 20
#define ONE 19
#define ZERO 20
//* Combiner data
//! Defines how mux-values are coded.

4
src/Combiner/DummyCombiner.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,8 +19,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include "CombinerStructs.h"
#include "DummyCombiner.h"
#include "CombinerStructs.h"
#include "ExtensionChecker.h"
#include "MultiTexturingExt.h"

2
src/Combiner/DummyCombiner.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

14
src/Combiner/SimpleTexEnvCombiner.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,12 +19,12 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include "CombinerStructs.h"
#include "ExtensionChecker.h"
#include "MultiTexturingExt.h"
#include "OpenGL.h"
#include "SimpleTexEnvCombiner.h"
#include "CombinerStructs.h"
#include "MultiTexturingExt.h"
#include "ExtensionChecker.h"
#include "m64p.h"
#include "OpenGL.h"
//-----------------------------------------------------------------------------
//! Constructor
@ -172,7 +172,7 @@ TexEnvCombiner* SimpleTexEnvCombiner::createNewTextureEnviroment(Combiner* color
if (op->param1 == TEXEL0 || op->param1 == TEXEL0_ALPHA)
{
if ( mode == GL_MODULATE )
m_color = CB_ONE;
m_color = ONE;
m_usesTexture0 = true;
m_usesTexture1 = false;
@ -180,7 +180,7 @@ TexEnvCombiner* SimpleTexEnvCombiner::createNewTextureEnviroment(Combiner* color
else if ( op->param1 == TEXEL1 || op->param1 == TEXEL1_ALPHA )
{
if ( mode == GL_MODULATE )
m_color = CB_ONE;
m_color = ONE;
m_usesTexture0 = false;
m_usesTexture1 = true;

9
src/Combiner/SimpleTexEnvCombiner.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -22,15 +22,14 @@
#ifndef SIMPLE_TEX_ENV_COMBINER_H_
#define SIMPLE_TEX_ENV_COMBINER_H_
#include "CombinerBase.h"
#include "CombinerStructs.h"
#include "GBIDefs.h"
#include "CombinerStructs.h"
#include "CombinerBase.h"
//Forward declarations
struct CombineCycle;
struct Combiner;
struct CombinerStage;
struct TexEnvCombiner;
struct Combiner;
//*****************************************************************************
//! Simple Texture Environment Combiner

12
src/DisplayListParser.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -20,14 +20,12 @@
*****************************************************************************/
#include "DisplayListParser.h"
#include "GBI.h"
#include "GBIDefs.h"
#include "Memory.h"
#include "OpenGLRenderer.h"
#include "RDP.h"
#include "GBI.h"
#include "RSP.h"
#include "UCodeDefs.h"
#include "RDP.h"
#include "OpenGLRenderer.h"
#include "GBIDefs.h"
//-----------------------------------------------------------------------------
//* Task

2
src/DisplayListParser.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

8
src/ExtensionChecker.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,11 +19,9 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include <string.h>
#include "ExtensionChecker.h"
#include "OpenGL.h"
#include "m64p.h"
#include "OpenGL.h"
#include "ExtensionChecker.h"
//-----------------------------------------------------------------------------
//! Is Extension Supported

6
src/ExtensionChecker.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,9 +19,9 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#ifndef EXTENSION_CHECKER_H_
#ifndef EXTENSION_CHECKER_H
#define EXTENSION_CHECKER_H_
bool isExtensionSupported( const char *extension );
#endif
#endif

6
src/FogManager.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2009 Jon Ring
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
@ -20,10 +20,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include "ExtensionChecker.h"
#include "FogManager.h"
#include "OpenGL.h"
#include "ExtensionChecker.h"
#include "m64p.h"
#include "OpenGL.h"
#ifndef GL_GLEXT_VERSION
//-----------------------------------------------------------------------------

2
src/FogManager.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

14
src/GBI/GBI.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -20,18 +20,14 @@
*****************************************************************************/
#include "GBI.h"
#include "GBIDefs.h"
#include "Logger.h"
#include "OpenGLManager.h"
#include "RDP.h"
#include "RSP.h"
#include "UCodeIdentificationData.h"
#include "RDP.h"
#include "UCodeSelector.h"
#include "UCodeIdentificationData.h"
#include "OpenGLManager.h"
#include "Logger.h"
#include "m64p.h"
#include "m64p_types.h"
class DisplayListParser;
//-----------------------------------------------------------------------------
//! Static Variables

13
src/GBI/GBI.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -23,22 +23,21 @@
#define GRAPHIC_BINARY_INTERFACE_H_
#include "RDPInstructions.h"
#include "UCodeDefs.h"
#include "UCode0.h" //Super Mario 64
#include "UCode1.h" //Games like Mario Kart 64, Starfox 64
#include "UCode10.h" //Conker Bad Fur Day
#include "UCode2.h" //Golden Eye
#include "UCode4.h" //Wave Race 64
#include "UCode5.h" //Newer Games
#include "UCode6.h" //Diddy Kong Racing
#include "UCode7.h" //Yoshi's Story
#include "UCode9.h" //Perfect Dark
#include "UCodeDefs.h"
#include "UCode10.h" //Conker Bad Fur Day
#include "RDPInstructions.h"
class DisplayListParser;
class Memory;
class RDP;
class RSP;
class RDP;
class Memory;
class UCodeSelector;
// Allows easier setting of GBI commands

2
src/GBI/GBIDefs.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

30
src/GraphicsPlugin.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2009 Jon Ring
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
@ -20,26 +20,20 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include <sys/time.h>
#include <ctime>
#include "ConfigMap.h" //Configuration
#include "GraphicsPlugin.h"
#include "VI.h" //Video interface
#include "Memory.h" //Access to memory (RDRAM, Texture Memory)
#include "OpenGLRenderer.h" //Renderer
#include "FrameBuffer.h" //Framebuffer
#include "DisplayListParser.h" //Displaylist parser
#include "FogManager.h" //Fog
#include "FrameBuffer.h" //Framebuffer
#include "GBI.h" //Graphics Binary Interface
#include "GraphicsPlugin.h"
#include "Logger.h" //Debug logger
#include "Memory.h" //Access to memory (RDRAM, Texture Memory)
#include "OpenGL.h"
#include "OpenGLManager.h"
#include "OpenGLRenderer.h" //Renderer
#include "RDP.h" //Reality Drawing Processor
#include "RSP.h" //Reality Signal Processor
#include "RDP.h" //Reality Drawing Processor
#include "GBI.h" //Graphics Binary Interface
#include "ConfigMap.h" //Configuration
#include "Logger.h" //Debug logger
#include "RomDetector.h"
#include "VI.h" //Video interface
#include "m64p.h"
#include "m64p_types.h"
#include <ctime>
//FrameBuffer framebuffer01;
//FrameBuffer framebuffer02;
@ -107,7 +101,7 @@ bool GraphicsPlugin::initialize(GFX_INFO* graphicsInfo)
}
if (CoreVideo_SetVideoMode(m_config->fullscreenWidth, m_config->fullscreenHeight, m_config->fullscreenBitDepth,
m_config->startFullscreen ? M64VIDEO_FULLSCREEN : M64VIDEO_WINDOWED, (m64p_video_flags) 0) != M64ERR_SUCCESS)
m_config->startFullscreen ? M64VIDEO_FULLSCREEN : M64VIDEO_WINDOWED) != M64ERR_SUCCESS)
{
Logger::getSingleton().printMsg("Could not set video mode.", M64MSG_ERROR);
return false;

19
src/GraphicsPlugin.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2009 Jon Ring
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
@ -23,21 +23,18 @@
#ifndef GRAPHICS_PLUGIN_H_
#define GRAPHICS_PLUGIN_H_
#include "GBI.h"
#include "OpenGLManager.h" //Initializes OpenGL and handles OpenGL states
#include "RDP.h"
#include "RSP.h"
#include "TextureCache.h"
#include "m64p_plugin.h"
#include "OpenGLManager.h" //Initializes OpenGL and handles OpenGL states
#include "RSP.h"
#include "RDP.h"
//Forward declarations
class DisplayListParser;
class FogManager;
class Memory;
class OpenGLManager;
class ROMDetector;
//struct GFX_INFO;
class VI;
class Memory;
class DisplayListParser;
class FogManager;
class ROMDetector;
struct ConfigMap;
//*****************************************************************************

2
src/Memory.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

2
src/Memory.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

4
src/MultiTexturingExt.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,8 +19,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include "ExtensionChecker.h"
#include "MultiTexturingExt.h"
#include "ExtensionChecker.h"
//Multi Texturing functions

4
src/MultiTexturingExt.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2009 Jon Ring
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
@ -23,8 +23,8 @@
#ifndef MULTI_TEXTURING_EXTENSION_H_
#define MULTI_TEXTURING_EXTENSION_H_
#include "OpenGL.h"
#include "m64p.h"
#include "OpenGL.h"
#ifndef GL_GLEXT_VERSION
//Multi Texturing Definitions

2
src/N64Games.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

8
src/OpenGL.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2009 Jon Ring
*
@ -24,13 +24,7 @@
#ifndef WIN32
#define GL_GLEXT_PROTOTYPES
#endif
#if defined(__MACOSX__)
#include <OpenGL/gl.h>
#elif defined(__MACOS__)
#include <gl.h>
#else
#include <GL/gl.h>
#endif
#ifndef WIN32
#include <GL/glext.h>
#endif

6
src/OpenGLManager.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2009 Jon Ring
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
@ -20,10 +20,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include <stddef.h>
#include "OpenGLManager.h"
#include "m64p.h"
//-----------------------------------------------------------------------------
//! Constructor
@ -58,7 +55,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);
glEnable(GL_DEPTH_TEST);
glEnable(GL_CULL_FACE);
this->setViewport(0, 0, width, height);
//Set render states
setCullMode(false, true);

4
src/OpenGLManager.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2009 Jon Ring
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
@ -23,9 +23,9 @@
#ifndef OPEN_GL_Manager_H_
#define OPEN_GL_Manager_H_
#include "OpenGL.h"
//OpenGL includes
#include "m64p.h"
#include "OpenGL.h"
//*****************************************************************************
//* OpenGL Manager Class

37
src/RDP/RDP.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,31 +19,26 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include <algorithm>
#include "AdvancedCombinerManager.h"
#include "CachedTexture.h"
#include "DisplayListParser.h"
#include "FogManager.h"
#include "GBI.h"
#include "GBIDefs.h"
#include "Logger.h"
#include "MathLib.h"
#include "Memory.h"
#include "N64Games.h"
#include "OpenGL.h"
#include "OpenGL2DRenderer.h"
#include "OpenGLManager.h"
#include "OpenGLRenderer.h"
#include "RDP.h"
#include "GBIDefs.h"
#include "GBI.h"
#include "RSP.h"
#include "RomDetector.h"
#include "DisplayListParser.h"
#include "assembler.h"
#include "OpenGLRenderer.h"
#include "TextureCache.h"
#include "VI.h"
#include "assembler.h"
#include "Memory.h"
#include "OpenGLManager.h"
#include "OpenGL2DRenderer.h"
#include "AdvancedCombinerManager.h"
#include "FogManager.h"
#include "Logger.h"
#include "MathLib.h"
#include "RomDetector.h"
#include "m64p.h"
#include "m64p_types.h"
#include "OpenGL.h"
#include <algorithm>
using std::max;
//-----------------------------------------------------------------------------

21
src/RDP/RDP.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -24,23 +24,22 @@
//Includes
#define M64P_PLUGIN_PROTOTYPES 1
#include "m64p_plugin.h"
#include "UCodeDefs.h"
#include "GBI.h"
#include "GBIDefs.h"
#include "TextureLoader.h"
#include "UCodeDefs.h"
#include "m64p_plugin.h"
//Forward declaration
class AdvancedCombinerManager;
class DisplayListParser;
class FogManager;
class GBI;
class Memory;
class OpenGL2DRenderer;
class RSP;
class TextureCache;
class TextureLoader;
class VI;
class Memory;
class DisplayListParser;
class TextureCache;
class AdvancedCombinerManager;
class FogManager;
class TextureLoader;
class OpenGL2DRenderer;
//*****************************************************************************
//! RDPSetImgInfo

9
src/RDP/RDPInstructions.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,12 +19,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include "DisplayListParser.h"
#include "Logger.h"
#include "RDP.h"
#include "RDPInstructions.h"
#include "RDPUCodeStructs.h"
#include "m64p_types.h"
#include "RDP.h"
#include "DisplayListParser.h"
#include "Logger.h"
//-----------------------------------------------------------------------------
// Static Variables

2
src/RDP/RDPInstructions.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

2
src/RDP/RDPUCodeStructs.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

31
src/RSP/RSP.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,24 +19,21 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include <cmath>
#include "../RDP/RDP.h"
#include "../UCodeDefs.h"
#include "DisplayListParser.h"
#include "FogManager.h"
#include "GBI.h"
#include "GBIDefs.h"
#include "Logger.h"
#include "MathLib.h"
#include "Memory.h"
#include "OpenGLManager.h"
#include "OpenGLRenderer.h"
#include "RSP.h"
#include "RSPLightManager.h"
#include "RSPMatrixManager.h"
#include "../UCodeDefs.h"
#include "../RDP/RDP.h"
#include <cmath>
#include "GBIDefs.h"
#include "VI.h"
#include "m64p_types.h"
#include "Memory.h"
#include "Logger.h"
#include "OpenGLRenderer.h"
#include "OpenGLManager.h"
#include "RSPLightManager.h"
#include "FogManager.h"
#include "DisplayListParser.h"
#include "MathLib.h"
#include "MathLib.h"
#define MI_INTR_SP 0x00000001 //!< RSP Interrupt signal

19
src/RSP/RSP.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -23,21 +23,20 @@
#define REALITY_SIGNAL_PROCESSOR_H_
#define M64P_PLUGIN_PROTOTYPES 1
#include "Matrix4.h"
#include "m64p_plugin.h"
#include "UCodeDefs.h"
#include "RSPMatrixManager.h"
#include "RSPVertexManager.h"
#include "UCodeDefs.h"
#include "m64p_plugin.h"
#include "Matrix4.h"
//Forward declarations
class DisplayListParser;
class FogManager;
class Memory;
class RDP;
class RSPLightManager;
class RSPMatrixManager;
class VI;
struct RDPTile;
class RDP;
class Memory;
class DisplayListParser;
class RSPLightManager;
class FogManager;
//-----------------------------------------------------------------------------
// Defines

8
src/RSP/RSPLightManager.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,11 +19,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include "RSPLightManager.h"
#include "Memory.h"
#include "MathLib.h"
#include "GBI.h"
#include "Logger.h"
#include "MathLib.h"
#include "Memory.h"
#include "RSPLightManager.h"
#define RGBA_GETALPHA(rgb) ((rgb) >> 24)
#define RGBA_GETRED(rgb) (((rgb) >> 16) & 0xff)

2
src/RSP/RSPLightManager.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

8
src/RSP/RSPMatrixManager.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,13 +19,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include "RSPMatrixManager.h"
#include "Memory.h"
#include <cmath> //modff
#include "GBI.h" //SHIFT
#include "GBIDefs.h" //_FIXED2FLOAT
#include "Memory.h"
#include "RSPMatrixManager.h"
//-----------------------------------------------------------------------------
//! Constructor
//-----------------------------------------------------------------------------

2
src/RSP/RSPMatrixManager.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

24
src/RSP/RSPVertexManager.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,20 +19,16 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include <cmath> //sqrt
#include "GBI.h"
#include "GBIDefs.h" //hmm
#include "Logger.h"
#include "MathLib.h" //Transform, Vec3Normalize
#include "Memory.h"
#include "OpenGL.h"
#include "OpenGLManager.h"
#include "OpenGLRenderer.h"
#include "RSPLightManager.h"
#include "RSPMatrixManager.h"
#include "RSPVertexManager.h"
#include "m64p_types.h"
#include "OpenGLManager.h"
#include "Memory.h"
#include "RSPMatrixManager.h"
#include "RSPLightManager.h"
#include "OpenGLRenderer.h"
#include "GBIDefs.h" //hmm
#include "MathLib.h" //Transform, Vec3Normalize
#include <cmath> //sqrt
#include "Logger.h"
//Vertex
struct Vertex

2
src/RSP/RSPVertexManager.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

7
src/RomDetector.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,11 +19,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include <string.h> //memcpy
#include "RomDetector.h"
#include "StringFunctions.h"
#include "assembler.h" //swapRomHeaderBytes
#include <string.h> //memcpy
#include "StringFunctions.h"
//-----------------------------------------------------------------------------
//! Constructor

2
src/RomDetector.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

4
src/SecondaryColorExt.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,8 +19,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include "ExtensionChecker.h"
#include "SecondaryColorExt.h"
#include "ExtensionChecker.h"
// EXT_secondary_color functions
#ifndef GL_GLEXT_VERSION

4
src/SecondaryColorExt.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2009 Jon Ring
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
@ -23,8 +23,8 @@
#ifndef SECONDARY_COLOR_EXTENSION_H_
#define SECONDARY_COLOR_EXTENSION_H_
#include "OpenGL.h"
#include "m64p.h"
#include "OpenGL.h"
#ifndef GL_GLEXT_VERSION
#ifndef GL_EXT_secondary_color

2
src/UCodeDefs.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

5
src/VI.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,9 +19,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include "GBI.h"
#include "GBIDefs.h" //_FIXED2FLOAT, _SHIFTR
#include "VI.h"
#include "GBIDefs.h" //_FIXED2FLOAT, _SHIFTR
#include "m64p.h"
//-----------------------------------------------------------------------------

2
src/VI.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

6
src/config/Config.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2009 Jon Ring
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
@ -20,12 +20,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include <cstdio>
#include "Config.h"
#include <cstdio>
#include "GraphicsPlugin.h"
#include "Logger.h"
#include "m64p.h"
//-----------------------------------------------------------------------------
//! Constructor

5
src/config/Config.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2009 Jon Ring
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
@ -23,9 +23,8 @@
#ifndef CONFIG_H_
#define CONFIG_H_
#include "ConfigMap.h"
#include "m64p.h"
#include "m64p_types.h"
#include "ConfigMap.h"
//Forward declaration
class GraphicsPlugin;

2
src/config/ConfigMap.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

13
src/config/StringFunctions.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,11 +19,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include <ctype.h>
#include <cstring>
#include "StringFunctions.h"
#include <cstring>
using std::string;
using std::vector;
@ -98,12 +95,6 @@ void trim(string& str, bool left, bool right, const string delims)
//-----------------------------------------------------------------------------
char* trim(char* str, bool left, bool right)
{
// Empty string check
if (*str == '\0')
{
return str;
}
//Trim from the left
if(left)
{

7
src/config/StringFunctions.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -64,11 +64,10 @@ in binary (= untranslated) mode and check for the different newlines yourself.
#ifndef STRING_FUNCTIONS_H_
#define STRING_FUNCTIONS_H_
#include <ctype.h>
#include <stddef.h>
#include <algorithm> //std::transform
#include <string>
#include <vector>
#include <ctype.h>
#include <algorithm> //std::transform
namespace StringFunctions
{

4
src/config/StringValue.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -22,8 +22,8 @@
#ifndef STRING_VALUE_H_
#define STRING_VALUE_H_
#include <cstdlib>
#include <sstream>
#include <string>
#include <sstream>
//! Represents numeric value(s) with a string using conversion operators
struct StringValue

6
src/framebuffer/FrameBuffer.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,11 +19,9 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include <string.h>
#include "FrameBuffer.h"
#include "OpenGL.h"
#include "m64p.h"
#include "OpenGL.h"
#ifndef GL_GLEXT_VERSION
//-----------------------------------------------------------------------------

2
src/framebuffer/FrameBuffer.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

2
src/hash/CRCCalculator.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

2
src/hash/CRCCalculator.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

2
src/hash/CRCCalculator2.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

2
src/hash/CRCCalculator2.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

2
src/log/Logger.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2009 Jon Ring
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson

3
src/log/Logger.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2009 Jon Ring
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
@ -24,7 +24,6 @@
#define LOGGER_H_
#include <cstdlib>
#include "m64p_types.h"
//*****************************************************************************

7
src/m64p.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2009 Jon Ring
*
@ -32,9 +32,9 @@
#endif
#define M64P_PLUGIN_PROTOTYPES 1
#include "m64p_config.h"
#include "m64p_plugin.h"
#include "m64p_types.h"
#include "m64p_plugin.h"
#include "m64p_config.h"
#include "m64p_vidext.h"
/* definitions of pointers to Core config functions */
@ -63,7 +63,6 @@ extern ptr_VidExt_ListFullscreenModes CoreVideo_ListFullscreenModes;
extern ptr_VidExt_SetVideoMode CoreVideo_SetVideoMode;
extern ptr_VidExt_SetCaption CoreVideo_SetCaption;
extern ptr_VidExt_ToggleFullScreen CoreVideo_ToggleFullScreen;
extern ptr_VidExt_ResizeWindow CoreVideo_ResizeWindow;
extern ptr_VidExt_GL_GetProcAddress CoreVideo_GL_GetProcAddress;
extern ptr_VidExt_GL_SetAttribute CoreVideo_GL_SetAttribute;
extern ptr_VidExt_GL_SwapBuffers CoreVideo_GL_SwapBuffers;

39
src/main.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2009 Jon Ring
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
@ -22,29 +22,26 @@
//Includes
#define M64P_PLUGIN_PROTOTYPES 1
#include <stdio.h>
#include <string.h>
#include "ConfigMap.h"
#include "m64p.h"
#include "GraphicsPlugin.h" //Main class
#include "config/Config.h" //Configuration
#include "Logger.h" //Debug logger
#include "MemoryLeakDetector.h" //For detecting memory leaks
#include "OpenGLManager.h"
#include "config/Config.h" //Configuration
#include "m64p.h"
#include "m64p_common.h"
#include "m64p_config.h"
#include "m64p_plugin.h"
#include "m64p_types.h"
#include "m64p_common.h"
#include "m64p_plugin.h"
#include "m64p_config.h"
#include "m64p_vidext.h"
#include "osal_dynamiclib.h"
//Definitions
#define PLUGIN_NAME "Arachnoid Video Plugin"
#define PLUGIN_VERSION 0x020600
#define VIDEO_PLUGIN_API_VERSION 0x020200
#define PLUGIN_VERSION 0x016305
#define VIDEO_PLUGIN_API_VERSION 0x020100
#define CONFIG_API_VERSION 0x020000
#define VIDEXT_API_VERSION 0x030000
#define VIDEXT_API_VERSION 0x020000
#define VERSION_PRINTF_SPLIT(x) (((x) >> 16) & 0xffff), (((x) >> 8) & 0xff), ((x) & 0xff)
@ -89,7 +86,6 @@ ptr_VidExt_ListFullscreenModes CoreVideo_ListFullscreenModes = NULL;
ptr_VidExt_SetVideoMode CoreVideo_SetVideoMode = NULL;
ptr_VidExt_SetCaption CoreVideo_SetCaption = NULL;
ptr_VidExt_ToggleFullScreen CoreVideo_ToggleFullScreen = NULL;
ptr_VidExt_ResizeWindow CoreVideo_ResizeWindow = NULL;
ptr_VidExt_GL_GetProcAddress CoreVideo_GL_GetProcAddress = NULL;
ptr_VidExt_GL_SetAttribute CoreVideo_GL_SetAttribute = NULL;
ptr_VidExt_GL_SwapBuffers CoreVideo_GL_SwapBuffers = NULL;
@ -167,14 +163,13 @@ EXPORT m64p_error CALL PluginStartup(m64p_dynlib_handle CoreLibHandle, void *Con
CoreVideo_SetVideoMode = (ptr_VidExt_SetVideoMode) osal_dynlib_getproc(CoreLibHandle, "VidExt_SetVideoMode");
CoreVideo_SetCaption = (ptr_VidExt_SetCaption) osal_dynlib_getproc(CoreLibHandle, "VidExt_SetCaption");
CoreVideo_ToggleFullScreen = (ptr_VidExt_ToggleFullScreen) osal_dynlib_getproc(CoreLibHandle, "VidExt_ToggleFullScreen");
CoreVideo_ResizeWindow = (ptr_VidExt_ResizeWindow) osal_dynlib_getproc(CoreLibHandle, "VidExt_ResizeWindow");
CoreVideo_GL_GetProcAddress = (ptr_VidExt_GL_GetProcAddress) osal_dynlib_getproc(CoreLibHandle, "VidExt_GL_GetProcAddress");
CoreVideo_GL_SetAttribute = (ptr_VidExt_GL_SetAttribute) osal_dynlib_getproc(CoreLibHandle, "VidExt_GL_SetAttribute");
CoreVideo_GL_SwapBuffers = (ptr_VidExt_GL_SwapBuffers) osal_dynlib_getproc(CoreLibHandle, "VidExt_GL_SwapBuffers");
if (!CoreVideo_Init || !CoreVideo_Quit || !CoreVideo_ListFullscreenModes || !CoreVideo_SetVideoMode ||
!CoreVideo_SetCaption || !CoreVideo_ToggleFullScreen || !CoreVideo_GL_GetProcAddress ||
!CoreVideo_GL_SetAttribute || !CoreVideo_GL_SwapBuffers || !CoreVideo_ResizeWindow)
!CoreVideo_GL_SetAttribute || !CoreVideo_GL_SwapBuffers)
{
Logger::getSingleton().printMsg("Couldn't connect to Core video functions", M64MSG_ERROR);
return M64ERR_INCOMPATIBLE;
@ -262,16 +257,6 @@ EXPORT int CALL RomOpen()
return g_graphicsPlugin.initialize(&g_graphicsInfo);
}
//-----------------------------------------------------------------------------
//* Resize Video Output
//! This function is called to force us to resize our output OpenGL window.
//! This is currently unsupported, and should never be called because we do
//! not pass the RESIZABLE flag to VidExt_SetVideoMode when initializing.
//-----------------------------------------------------------------------------
EXPORT void CALL ResizeVideoOutput(int Width, int Height)
{
}
//-----------------------------------------------------------------------------
//* Rom Closed
//! This function is called when a rom is closed.

3
src/math/MathLib.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -23,7 +23,6 @@
#define MATH_LIBRARY_H_
#include <cmath> //sqrtf
#include "m64p.h"
// Formula: a.b = a0*b0 + a1*b1 + a2*b2

2
src/math/Matrix4.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

3
src/math/Matrix4.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -22,7 +22,6 @@
#ifndef MATRIX_4_H_
#define MATRIX_4_H_
#include <stddef.h>
#include <iostream>
#include <ostream>

2
src/osal_dynamiclib.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Mupen64plus-core - osal/dynamiclib.h *
* Mupen64Plus homepage: https://mupen64plus.org/ *
* Mupen64Plus homepage: http://code.google.com/p/mupen64plus/ *
* Copyright (C) 2009 Richard Goedeken *
* *
* This program is free software; you can redistribute it and/or modify *

6
src/osal_dynamiclib_unix.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Mupen64plus-core - osal/dynamiclib_unix.c *
* Mupen64Plus homepage: https://mupen64plus.org/ *
* Mupen64Plus homepage: http://code.google.com/p/mupen64plus/ *
* Copyright (C) 2009 Richard Goedeken *
* *
* This program is free software; you can redistribute it and/or modify *
@ -19,9 +19,9 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <dlfcn.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#include <dlfcn.h>
#include "m64p_types.h"
#include "osal_dynamiclib.h"

146
src/osal_dynamiclib_win32.cpp Normal file → Executable file
View file

@ -1,74 +1,74 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Arachnoid Graphics Plugin for Mupen64Plus *
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/ *
* Copyright (C) 2009 Richard Goedeken *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include "m64p_types.h"
#include "osal_dynamiclib.h"
m64p_error osal_dynlib_open(m64p_dynlib_handle *pLibHandle, const char *pccLibraryPath)
{
if (pLibHandle == NULL || pccLibraryPath == NULL)
return M64ERR_INPUT_ASSERT;
*pLibHandle = LoadLibrary(pccLibraryPath);
if (*pLibHandle == NULL)
{
char *pchErrMsg;
DWORD dwErr = GetLastError();
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwErr,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &pchErrMsg, 0, NULL);
fprintf(stderr, "LoadLibrary('%s') error: %s\n", pccLibraryPath, pchErrMsg);
LocalFree(pchErrMsg);
return M64ERR_INPUT_NOT_FOUND;
}
return M64ERR_SUCCESS;
}
void * osal_dynlib_getproc(m64p_dynlib_handle LibHandle, const char *pccProcedureName)
{
if (pccProcedureName == NULL)
return NULL;
return (void *)GetProcAddress(LibHandle, pccProcedureName);
}
m64p_error osal_dynlib_close(m64p_dynlib_handle LibHandle)
{
int rval = FreeLibrary(LibHandle);
if (rval == 0)
{
char *pchErrMsg;
DWORD dwErr = GetLastError();
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwErr,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &pchErrMsg, 0, NULL);
fprintf(stderr, "FreeLibrary() error: %s\n", pchErrMsg);
LocalFree(pchErrMsg);
return M64ERR_INTERNAL;
}
return M64ERR_SUCCESS;
}
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/ *
* Copyright (C) 2009 Richard Goedeken *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
#include "m64p_types.h"
#include "osal_dynamiclib.h"
m64p_error osal_dynlib_open(m64p_dynlib_handle *pLibHandle, const char *pccLibraryPath)
{
if (pLibHandle == NULL || pccLibraryPath == NULL)
return M64ERR_INPUT_ASSERT;
*pLibHandle = LoadLibrary(pccLibraryPath);
if (*pLibHandle == NULL)
{
char *pchErrMsg;
DWORD dwErr = GetLastError();
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwErr,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &pchErrMsg, 0, NULL);
fprintf(stderr, "LoadLibrary('%s') error: %s\n", pccLibraryPath, pchErrMsg);
LocalFree(pchErrMsg);
return M64ERR_INPUT_NOT_FOUND;
}
return M64ERR_SUCCESS;
}
void * osal_dynlib_getproc(m64p_dynlib_handle LibHandle, const char *pccProcedureName)
{
if (pccProcedureName == NULL)
return NULL;
return GetProcAddress(LibHandle, pccProcedureName);
}
m64p_error osal_dynlib_close(m64p_dynlib_handle LibHandle)
{
int rval = FreeLibrary(LibHandle);
if (rval == 0)
{
char *pchErrMsg;
DWORD dwErr = GetLastError();
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwErr,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &pchErrMsg, 0, NULL);
fprintf(stderr, "FreeLibrary() error: %s\n", pchErrMsg);
LocalFree(pchErrMsg);
return M64ERR_INTERNAL;
}
return M64ERR_SUCCESS;
}

4
src/renderer/OpenGL2DRenderer.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,10 +19,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include "OpenGL.h"
#include "OpenGL2DRenderer.h"
#include "VI.h"
#include "m64p.h"
#include "OpenGL.h"
//-----------------------------------------------------------------------------
//* Initialize

2
src/renderer/OpenGL2DRenderer.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

30
src/renderer/OpenGLRenderer.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2009 Jon Ring
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
@ -20,29 +20,23 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include <algorithm>
#include <cmath>
#include "m64p.h"
#include <cmath>
#include <algorithm>
#include "OpenGLRenderer.h"
#include "OpenGLManager.h"
#include "RSP.h"
#include "RDP.h"
#include "TextureCache.h"
#include "VI.h"
#include "Logger.h"
//#include "CombinerManager.h"
#include "AdvancedCombinerManager.h"
#include "CachedTexture.h"
#include "ExtensionChecker.h"
#include "FogManager.h"
#include "GBIDefs.h"
#include "Logger.h"
#include "ExtensionChecker.h"
#include "MultiTexturingExt.h"
#include "OpenGL.h"
#include "OpenGLManager.h"
#include "OpenGLRenderer.h"
#include "RDP.h"
#include "RSP.h"
#include "RSPVertexManager.h"
#include "SecondaryColorExt.h"
#include "TextureCache.h"
#include "TextureLoader.h"
#include "VI.h"
#include "m64p.h"
#include "m64p_types.h"
using std::max;

13
src/renderer/OpenGLRenderer.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -22,17 +22,18 @@
#ifndef OPEN_GL_RENDERER_H_
#define OPEN_GL_RENDERER_H_
#include "MultiTexturingExt.h"
#include "OpenGL.h"
#include "m64p.h"
#include "OpenGL.h"
//Forward Declarations
class FogManager;
class RDP;
struct SPVertex;
class RSP;
class RDP;
class TextureCache;
class VI;
struct SPVertex;
class FogManager;
#include "MultiTexturingExt.h"
//*****************************************************************************

4
src/texture/CachedTexture.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -21,8 +21,8 @@
#include "CachedTexture.h"
#include "OpenGL.h"
#include "m64p.h"
#include "OpenGL.h"
//-----------------------------------------------------------------------------
//! Constructor

2
src/texture/CachedTexture.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

10
src/texture/ImageFormatSelector.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -26,13 +26,13 @@
//
//*****************************************************************************
#include "CachedTexture.h"
#include "GBIDefs.h"
#include "ImageFormatSelector.h"
#include "Memory.h"
#include "OpenGL.h"
#include "CachedTexture.h"
#include "assembler.h"
#include "GBIDefs.h"
#include "m64p.h"
#include "OpenGL.h"
#include "Memory.h"
#ifndef GL_EXT_packed_pixels
#define GL_EXT_packed_pixels 1

2
src/texture/ImageFormatSelector.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*

25
src/texture/TextureCache.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,31 +19,26 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include <algorithm>
#include "TextureCache.h"
#include "CachedTexture.h"
#include "GBIDefs.h"
#include "MathLib.h"
#include "OpenGL.h"
#include "RDP.h"
#include "RSP.h"
#include "TextureCache.h"
#include "TextureLoader.h"
#include "CachedTexture.h"
#include "MathLib.h"
#include <algorithm>
using std::min;
#include "Memory.h"
#include "MultiTexturingExt.h"
#include "OpenGLRenderer.h"
#include "m64p.h"
#include "OpenGL.h"
#include "Memory.h"
#include "OpenGLRenderer.h"
#include "MultiTexturingExt.h"
//gSPBgRect1Cyc
//gSPBgRectCopy
#define GL_CLAMP_TO_EDGE 0x812F
#define GL_GENERATE_MIPMAP 0x8191
#include <iostream>
#include "Logger.h"
#include <iostream>
//-----------------------------------------------------------------------------
//! Constructor

12
src/texture/TextureCache.h Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -22,17 +22,15 @@
#ifndef TEXTURE_CACHE_H_
#define TEXTURE_CACHE_H_
#include "CachedTexture.h"
#include "CRCCalculator2.h"
#include "ImageFormatSelector.h"
#include <list>
#include "CRCCalculator2.h"
#include "CachedTexture.h"
#include "ImageFormatSelector.h"
//Forward declarations
class CachedTexture;
class Memory;
class RDP;
class RSP;
class RDP;
//*****************************************************************************
//* Texture Cache

15
src/texture/TextureLoader.cpp Normal file → Executable file
View file

@ -1,6 +1,6 @@
/******************************************************************************
* Arachnoid Graphics Plugin for Mupen64Plus
* https://github.com/mupen64plus/mupen64plus-video-arachnoid/
* http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
*
* Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
*
@ -19,15 +19,14 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*****************************************************************************/
#include "CRCCalculator2.h"
#include "GBI.h"
#include "GBIDefs.h"
#include "Logger.h"
#include "Memory.h"
#include "RDP.h"
#include "TextureCache.h"
#include "TextureLoader.h"
#include "Memory.h"
#include "TextureCache.h"
#include "GBIDefs.h"
#include "assembler.h"
#include "Logger.h"
#include "RDP.h"
#include "CRCCalculator2.h"
//-----------------------------------------------------------------------------
//! Constructor

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