mirror of
https://github.com/isledecomp/isle-portable.git
synced 2026-02-03 12:31:15 +00:00
initial commit
This commit is contained in:
commit
681c69c4ac
36
.clang-format
Normal file
36
.clang-format
Normal file
@ -0,0 +1,36 @@
|
||||
BasedOnStyle: Microsoft
|
||||
|
||||
AccessModifierOffset: -4
|
||||
AlignAfterOpenBracket: BlockIndent
|
||||
AllowAllArgumentsOnNextLine: false
|
||||
AllowAllParametersOfDeclarationOnNextLine: false
|
||||
AllowShortFunctionsOnASingleLine: InlineOnly
|
||||
AlwaysBreakTemplateDeclarations: Yes
|
||||
BinPackArguments: false
|
||||
BinPackParameters: false
|
||||
BracedInitializerIndentWidth: 4
|
||||
BraceWrapping:
|
||||
AfterClass: false
|
||||
AfterControlStatement: Never
|
||||
AfterEnum: false
|
||||
AfterStruct: false
|
||||
ConstructorInitializerIndentWidth: 4
|
||||
ContinuationIndentWidth: 4
|
||||
EmptyLineBeforeAccessModifier: Always
|
||||
IncludeBlocks: Regroup
|
||||
IndentAccessModifiers: false
|
||||
IndentWidth: 4
|
||||
InsertNewlineAtEOF: true
|
||||
PointerAlignment: Left
|
||||
QualifierAlignment: Custom
|
||||
QualifierOrder:
|
||||
- inline
|
||||
- static
|
||||
- friend
|
||||
- const
|
||||
- volatile
|
||||
- type
|
||||
RemoveSemicolon: true
|
||||
SpaceAfterCStyleCast: true
|
||||
TabWidth: 4
|
||||
UseTab: ForContinuationAndIndentation
|
||||
6
.clang-tidy
Normal file
6
.clang-tidy
Normal file
@ -0,0 +1,6 @@
|
||||
Checks: >
|
||||
-*,
|
||||
readability-braces-around-statements,
|
||||
modernize-use-override
|
||||
WarningsAsErrors: '-*,readability-braces-around-statements,modernize-use-override'
|
||||
HeaderFilterRegex: ".*"
|
||||
13
.editorconfig
Normal file
13
.editorconfig
Normal file
@ -0,0 +1,13 @@
|
||||
root = true
|
||||
|
||||
[*.{py,txt,editorconfig}]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.{cpp,h}]
|
||||
indent_style = tab
|
||||
tab_width = 4
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
7
.gitattributes
vendored
Normal file
7
.gitattributes
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
*.MD text eol=lf diff=markdown
|
||||
*.cpp text eol=lf diff=cpp
|
||||
*.h text eol=lf diff=cpp
|
||||
*.py text eol=lf diff=python
|
||||
*.html text eol=lf diff=html
|
||||
*.mdp binary
|
||||
*.mak text eol=crlf
|
||||
26
.github/workflows/analyze.yml
vendored
Normal file
26
.github/workflows/analyze.yml
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
name: Analyze
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
decomplint-isle:
|
||||
name: '${{ matrix.who }} annotations'
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
who:
|
||||
- CONFIG
|
||||
- ISLE
|
||||
- LEGO1
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install python libraries
|
||||
run: |
|
||||
python -m pip install -r tools/requirements.txt
|
||||
|
||||
- name: Run decomplint.py
|
||||
run: |
|
||||
tools/decomplint/decomplint.py ${{ matrix.who }} --module ${{ matrix.who }} --warnfail
|
||||
209
.github/workflows/build.yml
vendored
Normal file
209
.github/workflows/build.yml
vendored
Normal file
@ -0,0 +1,209 @@
|
||||
name: Build
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
fetch-deps:
|
||||
name: Download original binaries
|
||||
uses: ./.github/workflows/legobin.yml
|
||||
|
||||
build-current-toolchain:
|
||||
name: 'Current ${{ matrix.toolchain.name }}'
|
||||
runs-on: windows-latest
|
||||
defaults:
|
||||
run:
|
||||
shell: ${{ matrix.toolchain.shell }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
toolchain:
|
||||
- { name: 'MSVC', shell: 'sh', setup-cmake: true, setup-ninja: true, setup-msvc: true }
|
||||
- { name: 'msys2 mingw32', shell: 'msys2 {0}', msystem: mingw32, msys-env: mingw-w64-i686, clang-tidy: true, werror: true }
|
||||
- { name: 'msys2 clang32', shell: 'msys2 {0}', msystem: clang32, msys-env: mingw-w64-clang-i686, clang-tidy: true, werror: true, no-dx5-libs: true }
|
||||
|
||||
steps:
|
||||
- name: Set up MSYS2
|
||||
if: ${{ !!matrix.toolchain.msystem }}
|
||||
uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: ${{ matrix.toolchain.msystem }}
|
||||
install: >-
|
||||
${{ matrix.toolchain.msys-env }}-cc
|
||||
${{ matrix.toolchain.msys-env }}-cmake
|
||||
${{ matrix.toolchain.msys-env }}-ninja
|
||||
${{ matrix.toolchain.msys-env }}-clang-tools-extra
|
||||
|
||||
- name: Setup cmake
|
||||
if: matrix.toolchain.setup-cmake
|
||||
uses: jwlawson/actions-setup-cmake@v1.13
|
||||
|
||||
- name: Setup ninja
|
||||
if: matrix.toolchain.setup-ninja
|
||||
uses: ashutoshvarma/setup-ninja@master
|
||||
|
||||
- name: Setup vcvars
|
||||
if: matrix.toolchain.setup-msvc
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
with:
|
||||
arch: amd64_x86 # Use the 64-bit x64-native cross tools to build 32-bit x86 code
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cmake -S . -B build -GNinja \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DISLE_USE_DX5_LIBS=${{ !matrix.toolchain.no-dx5-libs }} \
|
||||
-DENABLE_CLANG_TIDY=${{ !!matrix.toolchain.clang-tidy }} \
|
||||
-DISLE_WERROR=${{ !!matrix.toolchain.werror }} \
|
||||
-Werror=dev
|
||||
cmake --build build -- -k0
|
||||
|
||||
build:
|
||||
name: 'MSVC 4.20'
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
repository: 'itsmattkc/msvc420'
|
||||
path: msvc420
|
||||
|
||||
- name: Setup cmake
|
||||
uses: jwlawson/actions-setup-cmake@v1.13
|
||||
with:
|
||||
# Use minimum supported version
|
||||
cmake-version: '3.15.x'
|
||||
|
||||
- name: Patch MSVC 4.2
|
||||
run: |
|
||||
tools/patch_c2.py msvc420/bin/C2.EXE
|
||||
|
||||
- name: Build
|
||||
shell: cmd
|
||||
run: |
|
||||
call .\msvc420\bin\VCVARS32.BAT x86
|
||||
cmake -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -G "NMake Makefiles"
|
||||
cmake --build build
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@master
|
||||
with:
|
||||
name: Win32
|
||||
path: |
|
||||
build/CONFIG.EXE
|
||||
build/CONFIG.PDB
|
||||
build/ISLE.EXE
|
||||
build/ISLE.PDB
|
||||
build/LEGO1.DLL
|
||||
build/LEGO1.PDB
|
||||
|
||||
compare:
|
||||
name: 'Compare with master'
|
||||
needs: [build, fetch-deps]
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
|
||||
- uses: actions/download-artifact@master
|
||||
with:
|
||||
name: Win32
|
||||
path: build
|
||||
|
||||
- name: Restore cached original binaries
|
||||
id: cache-original-binaries
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
enableCrossOsArchive: true
|
||||
path: legobin
|
||||
key: legobin
|
||||
|
||||
- name: Install python packages
|
||||
shell: bash
|
||||
run: |
|
||||
pip install -r tools/requirements.txt
|
||||
|
||||
- name: Summarize Accuracy
|
||||
shell: bash
|
||||
run: |
|
||||
python3 tools/reccmp/reccmp.py -S CONFIGPROGRESS.SVG --svg-icon tools/reccmp/config.png -H CONFIGPROGRESS.HTML legobin/CONFIG.EXE build/CONFIG.EXE build/CONFIG.PDB . | tee CONFIGPROGRESS.TXT
|
||||
python3 tools/reccmp/reccmp.py -S ISLEPROGRESS.SVG --svg-icon tools/reccmp/isle.png -H ISLEPROGRESS.HTML legobin/ISLE.EXE build/ISLE.EXE build/ISLE.PDB . | tee ISLEPROGRESS.TXT
|
||||
python3 tools/reccmp/reccmp.py -S LEGO1PROGRESS.SVG -T 4252 --svg-icon tools/reccmp/lego1.png -H LEGO1PROGRESS.HTML legobin/LEGO1.DLL build/LEGO1.DLL build/LEGO1.PDB . | tee LEGO1PROGRESS.TXT
|
||||
|
||||
- name: Compare Accuracy With Current Master
|
||||
shell: bash
|
||||
run: |
|
||||
# Compare with current master
|
||||
curl -fLSs -o CONFIGPROGRESS-OLD.TXT https://github.com/isledecomp/isle/releases/download/continuous/CONFIGPROGRESS.TXT || echo "" >CONFIGPROGRESS-OLD.TXT
|
||||
curl -fLSs -o ISLEPROGRESS-OLD.TXT https://github.com/isledecomp/isle/releases/download/continuous/ISLEPROGRESS.TXT || echo "" >ISLEPROGRESS-OLD.TXT
|
||||
curl -fLSs -o LEGO1PROGRESS-OLD.TXT https://github.com/isledecomp/isle/releases/download/continuous/LEGO1PROGRESS.TXT || echo "" >LEGO1PROGRESS-OLD.TXT
|
||||
|
||||
diff -u0 CONFIGPROGRESS-OLD.TXT CONFIGPROGRESS.TXT || true
|
||||
diff -u0 ISLEPROGRESS-OLD.TXT ISLEPROGRESS.TXT || true
|
||||
diff -u0 LEGO1PROGRESS-OLD.TXT LEGO1PROGRESS.TXT || true
|
||||
|
||||
- name: Test Exports
|
||||
shell: bash
|
||||
run: |
|
||||
tools/verexp/verexp.py legobin/LEGO1.DLL build/LEGO1.DLL
|
||||
|
||||
- name: Check Vtables
|
||||
shell: bash
|
||||
run: |
|
||||
python3 tools/vtable/vtable.py legobin/CONFIG.EXE build/CONFIG.EXE build/CONFIG.PDB .
|
||||
python3 tools/vtable/vtable.py legobin/ISLE.EXE build/ISLE.EXE build/ISLE.PDB .
|
||||
python3 tools/vtable/vtable.py legobin/LEGO1.DLL build/LEGO1.DLL build/LEGO1.PDB .
|
||||
|
||||
- name: Check Variables
|
||||
shell: bash
|
||||
run: |
|
||||
python3 tools/datacmp.py legobin/CONFIG.EXE build/CONFIG.EXE build/CONFIG.PDB .
|
||||
python3 tools/datacmp.py legobin/ISLE.EXE build/ISLE.EXE build/ISLE.PDB .
|
||||
python3 tools/datacmp.py legobin/LEGO1.DLL build/LEGO1.DLL build/LEGO1.PDB .
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@master
|
||||
with:
|
||||
name: Accuracy Report
|
||||
path: |
|
||||
CONFIGPROGRESS.*
|
||||
ISLEPROGRESS.*
|
||||
LEGO1PROGRESS.*
|
||||
|
||||
upload:
|
||||
name: 'Upload artifacts'
|
||||
needs: [build, compare]
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'isledecomp/isle' }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
repository: 'probonopd/uploadtool'
|
||||
|
||||
- uses: actions/download-artifact@master
|
||||
with:
|
||||
name: Win32
|
||||
path: build
|
||||
|
||||
- uses: actions/download-artifact@master
|
||||
with:
|
||||
name: Accuracy Report
|
||||
|
||||
- name: Upload Continuous Release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
UPLOAD_KEY: ${{ secrets.UPLOAD_KEY }}
|
||||
run: |
|
||||
./upload.sh \
|
||||
build/CONFIG.EXE \
|
||||
build/ISLE.EXE \
|
||||
build/LEGO1.DLL \
|
||||
CONFIGPROGRESS.* \
|
||||
ISLEPROGRESS.* \
|
||||
LEGO1PROGRESS.*
|
||||
|
||||
curl -X POST -F key=$UPLOAD_KEY -F 'file=@CONFIGPROGRESS.SVG' https://legoisland.org/progress/
|
||||
curl -X POST -F key=$UPLOAD_KEY -F 'file=@ISLEPROGRESS.SVG' https://legoisland.org/progress/
|
||||
curl -X POST -F key=$UPLOAD_KEY -F 'file=@LEGO1PROGRESS.SVG' https://legoisland.org/progress/
|
||||
37
.github/workflows/format.yml
vendored
Normal file
37
.github/workflows/format.yml
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
name: Format
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
clang-format:
|
||||
name: 'C++'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Run clang-format
|
||||
run: |
|
||||
find CONFIG LEGO1 ISLE -iname '*.h' -o -iname '*.cpp' | xargs \
|
||||
pipx run "clang-format>=17,<18" \
|
||||
--style=file \
|
||||
-i
|
||||
git diff --exit-code
|
||||
|
||||
python-format:
|
||||
name: 'Python'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install python libraries
|
||||
shell: bash
|
||||
run: |
|
||||
pip install black==23.* pylint==3.* pytest==7.* -r tools/requirements.txt
|
||||
|
||||
- name: Run pylint and black
|
||||
shell: bash
|
||||
run: |
|
||||
pylint tools --ignore=build,ncc
|
||||
black --check tools --exclude=ncc
|
||||
32
.github/workflows/legobin.yml
vendored
Normal file
32
.github/workflows/legobin.yml
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
name: Download legobin
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
|
||||
jobs:
|
||||
fetch:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Restore cached original binaries
|
||||
id: cache-original-binaries
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
enableCrossOsArchive: true
|
||||
path: legobin
|
||||
key: legobin
|
||||
|
||||
- name: Download original island binaries
|
||||
if: ${{ !steps.cache-original-binaries.outputs.cache-hit }}
|
||||
run: |
|
||||
wget https://legoisland.org/download/CONFIG.EXE --directory-prefix=legobin
|
||||
wget https://legoisland.org/download/ISLE.EXE --directory-prefix=legobin
|
||||
wget https://legoisland.org/download/LEGO1.DLL --directory-prefix=legobin
|
||||
|
||||
- name: Cache original binaries
|
||||
if: ${{ !steps.cache-original-binaries.outputs.cache-hit }}
|
||||
uses: actions/cache/save@v3
|
||||
with:
|
||||
enableCrossOsArchive: true
|
||||
path: legobin
|
||||
key: legobin
|
||||
43
.github/workflows/naming.yml
vendored
Normal file
43
.github/workflows/naming.yml
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
name: Naming
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
ncc:
|
||||
name: 'C++'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install LLVM and Clang
|
||||
uses: KyleMayes/install-llvm-action@v1
|
||||
with:
|
||||
version: "16"
|
||||
|
||||
- name: Install python libraries
|
||||
run: |
|
||||
pip install -r tools/requirements.txt
|
||||
|
||||
- name: Run ncc
|
||||
run: |
|
||||
action_headers=$(find LEGO1/lego/legoomni/include/actions \
|
||||
-name '*.h' -print0 | xargs -0 echo)
|
||||
|
||||
python3 tools/ncc/ncc.py \
|
||||
--clang-lib ${{ env.LLVM_PATH }}/lib/libclang.so \
|
||||
--recurse \
|
||||
--style tools/ncc/ncc.style \
|
||||
--skip tools/ncc/skip.yml \
|
||||
--definition WINAPI FAR BOOL CALLBACK HWND__=HWND \
|
||||
--include \
|
||||
util \
|
||||
LEGO1 \
|
||||
LEGO1/omni/include \
|
||||
LEGO1/lego/legoomni/include \
|
||||
LEGO1/lego/sources \
|
||||
--exclude \
|
||||
LEGO1/omni/include/flic.h \
|
||||
LEGO1/omni/src/video/flic.cpp \
|
||||
$action_headers \
|
||||
--path LEGO1/omni LEGO1/lego/legoomni
|
||||
60
.github/workflows/unittest.yml
vendored
Normal file
60
.github/workflows/unittest.yml
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
name: Test
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
fetch-deps:
|
||||
name: Download original binaries
|
||||
uses: ./.github/workflows/legobin.yml
|
||||
|
||||
pytest-win:
|
||||
name: 'Python Windows'
|
||||
runs-on: windows-latest
|
||||
needs: fetch-deps
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Restore cached original binaries
|
||||
id: cache-original-binaries
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
enableCrossOsArchive: true
|
||||
path: legobin
|
||||
key: legobin
|
||||
|
||||
- name: Install python libraries
|
||||
shell: bash
|
||||
run: |
|
||||
pip install pytest -r tools/requirements.txt
|
||||
|
||||
- name: Run python unit tests (Windows)
|
||||
shell: bash
|
||||
run: |
|
||||
pytest tools/isledecomp --lego1=legobin/LEGO1.DLL
|
||||
|
||||
pytest-ubuntu:
|
||||
name: 'Python Linux'
|
||||
runs-on: ubuntu-latest
|
||||
needs: fetch-deps
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Restore cached original binaries
|
||||
id: cache-original-binaries
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
enableCrossOsArchive: true
|
||||
path: legobin
|
||||
key: legobin
|
||||
|
||||
- name: Install python libraries
|
||||
shell: bash
|
||||
run: |
|
||||
pip install pytest -r tools/requirements.txt
|
||||
|
||||
- name: Run python unit tests (Ubuntu)
|
||||
shell: bash
|
||||
run: |
|
||||
pytest tools/isledecomp --lego1=legobin/LEGO1.DLL
|
||||
21
.gitignore
vendored
Normal file
21
.gitignore
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
Debug/
|
||||
Release/
|
||||
*.ncb
|
||||
/.vs
|
||||
/.vscode
|
||||
/.idea
|
||||
.env
|
||||
.venv
|
||||
env/
|
||||
venv/
|
||||
ENV/
|
||||
VENV/
|
||||
env.bak/
|
||||
venv.bak/
|
||||
ISLE.EXE
|
||||
LEGO1.DLL
|
||||
/build/
|
||||
*.swp
|
||||
LEGO1PROGRESS.*
|
||||
ISLEPROGRESS.*
|
||||
*.pyc
|
||||
635
.pylintrc
Normal file
635
.pylintrc
Normal file
@ -0,0 +1,635 @@
|
||||
[MAIN]
|
||||
|
||||
# Analyse import fallback blocks. This can be used to support both Python 2 and
|
||||
# 3 compatible code, which means that the block might have code that exists
|
||||
# only in one or another interpreter, leading to false positives when analysed.
|
||||
analyse-fallback-blocks=no
|
||||
|
||||
# Clear in-memory caches upon conclusion of linting. Useful if running pylint
|
||||
# in a server-like mode.
|
||||
clear-cache-post-run=no
|
||||
|
||||
# Load and enable all available extensions. Use --list-extensions to see a list
|
||||
# all available extensions.
|
||||
#enable-all-extensions=
|
||||
|
||||
# In error mode, messages with a category besides ERROR or FATAL are
|
||||
# suppressed, and no reports are done by default. Error mode is compatible with
|
||||
# disabling specific errors.
|
||||
#errors-only=
|
||||
|
||||
# Always return a 0 (non-error) status code, even if lint errors are found.
|
||||
# This is primarily useful in continuous integration scripts.
|
||||
#exit-zero=
|
||||
|
||||
# A comma-separated list of package or module names from where C extensions may
|
||||
# be loaded. Extensions are loading into the active Python interpreter and may
|
||||
# run arbitrary code.
|
||||
extension-pkg-allow-list=
|
||||
|
||||
# A comma-separated list of package or module names from where C extensions may
|
||||
# be loaded. Extensions are loading into the active Python interpreter and may
|
||||
# run arbitrary code. (This is an alternative name to extension-pkg-allow-list
|
||||
# for backward compatibility.)
|
||||
extension-pkg-whitelist=
|
||||
|
||||
# Return non-zero exit code if any of these messages/categories are detected,
|
||||
# even if score is above --fail-under value. Syntax same as enable. Messages
|
||||
# specified are enabled, while categories only check already-enabled messages.
|
||||
fail-on=
|
||||
|
||||
# Specify a score threshold under which the program will exit with error.
|
||||
fail-under=10
|
||||
|
||||
# Interpret the stdin as a python script, whose filename needs to be passed as
|
||||
# the module_or_package argument.
|
||||
#from-stdin=
|
||||
|
||||
# Files or directories to be skipped. They should be base names, not paths.
|
||||
ignore=CVS
|
||||
|
||||
# Add files or directories matching the regular expressions patterns to the
|
||||
# ignore-list. The regex matches against paths and can be in Posix or Windows
|
||||
# format. Because '\\' represents the directory delimiter on Windows systems,
|
||||
# it can't be used as an escape character.
|
||||
ignore-paths=
|
||||
|
||||
# Files or directories matching the regular expression patterns are skipped.
|
||||
# The regex matches against base names, not paths. The default value ignores
|
||||
# Emacs file locks
|
||||
ignore-patterns=^\.#
|
||||
|
||||
# List of module names for which member attributes should not be checked
|
||||
# (useful for modules/projects where namespaces are manipulated during runtime
|
||||
# and thus existing member attributes cannot be deduced by static analysis). It
|
||||
# supports qualified module names, as well as Unix pattern matching.
|
||||
ignored-modules=
|
||||
|
||||
# Python code to execute, usually for sys.path manipulation such as
|
||||
# pygtk.require().
|
||||
#init-hook=
|
||||
|
||||
# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the
|
||||
# number of processors available to use, and will cap the count on Windows to
|
||||
# avoid hangs.
|
||||
jobs=1
|
||||
|
||||
# Control the amount of potential inferred values when inferring a single
|
||||
# object. This can help the performance when dealing with large functions or
|
||||
# complex, nested conditions.
|
||||
limit-inference-results=100
|
||||
|
||||
# List of plugins (as comma separated values of python module names) to load,
|
||||
# usually to register additional checkers.
|
||||
load-plugins=
|
||||
|
||||
# Pickle collected data for later comparisons.
|
||||
persistent=yes
|
||||
|
||||
# Minimum Python version to use for version dependent checks. Will default to
|
||||
# the version used to run pylint.
|
||||
py-version=3.11
|
||||
|
||||
# Discover python modules and packages in the file system subtree.
|
||||
recursive=no
|
||||
|
||||
# Add paths to the list of the source roots. Supports globbing patterns. The
|
||||
# source root is an absolute path or a path relative to the current working
|
||||
# directory used to determine a package namespace for modules located under the
|
||||
# source root.
|
||||
source-roots=
|
||||
|
||||
# When enabled, pylint would attempt to guess common misconfiguration and emit
|
||||
# user-friendly hints instead of false-positive error messages.
|
||||
suggestion-mode=yes
|
||||
|
||||
# Allow loading of arbitrary C extensions. Extensions are imported into the
|
||||
# active Python interpreter and may run arbitrary code.
|
||||
unsafe-load-any-extension=no
|
||||
|
||||
# In verbose mode, extra non-checker-related info will be displayed.
|
||||
#verbose=
|
||||
|
||||
|
||||
[BASIC]
|
||||
|
||||
# Naming style matching correct argument names.
|
||||
argument-naming-style=snake_case
|
||||
|
||||
# Regular expression matching correct argument names. Overrides argument-
|
||||
# naming-style. If left empty, argument names will be checked with the set
|
||||
# naming style.
|
||||
#argument-rgx=
|
||||
|
||||
# Naming style matching correct attribute names.
|
||||
attr-naming-style=snake_case
|
||||
|
||||
# Regular expression matching correct attribute names. Overrides attr-naming-
|
||||
# style. If left empty, attribute names will be checked with the set naming
|
||||
# style.
|
||||
#attr-rgx=
|
||||
|
||||
# Bad variable names which should always be refused, separated by a comma.
|
||||
bad-names=foo,
|
||||
bar,
|
||||
baz,
|
||||
toto,
|
||||
tutu,
|
||||
tata
|
||||
|
||||
# Bad variable names regexes, separated by a comma. If names match any regex,
|
||||
# they will always be refused
|
||||
bad-names-rgxs=
|
||||
|
||||
# Naming style matching correct class attribute names.
|
||||
class-attribute-naming-style=any
|
||||
|
||||
# Regular expression matching correct class attribute names. Overrides class-
|
||||
# attribute-naming-style. If left empty, class attribute names will be checked
|
||||
# with the set naming style.
|
||||
#class-attribute-rgx=
|
||||
|
||||
# Naming style matching correct class constant names.
|
||||
class-const-naming-style=UPPER_CASE
|
||||
|
||||
# Regular expression matching correct class constant names. Overrides class-
|
||||
# const-naming-style. If left empty, class constant names will be checked with
|
||||
# the set naming style.
|
||||
#class-const-rgx=
|
||||
|
||||
# Naming style matching correct class names.
|
||||
class-naming-style=PascalCase
|
||||
|
||||
# Regular expression matching correct class names. Overrides class-naming-
|
||||
# style. If left empty, class names will be checked with the set naming style.
|
||||
#class-rgx=
|
||||
|
||||
# Naming style matching correct constant names.
|
||||
const-naming-style=UPPER_CASE
|
||||
|
||||
# Regular expression matching correct constant names. Overrides const-naming-
|
||||
# style. If left empty, constant names will be checked with the set naming
|
||||
# style.
|
||||
#const-rgx=
|
||||
|
||||
# Minimum line length for functions/classes that require docstrings, shorter
|
||||
# ones are exempt.
|
||||
docstring-min-length=-1
|
||||
|
||||
# Naming style matching correct function names.
|
||||
function-naming-style=snake_case
|
||||
|
||||
# Regular expression matching correct function names. Overrides function-
|
||||
# naming-style. If left empty, function names will be checked with the set
|
||||
# naming style.
|
||||
#function-rgx=
|
||||
|
||||
# Good variable names which should always be accepted, separated by a comma.
|
||||
good-names=i,
|
||||
j,
|
||||
k,
|
||||
ex,
|
||||
Run,
|
||||
_
|
||||
|
||||
# Good variable names regexes, separated by a comma. If names match any regex,
|
||||
# they will always be accepted
|
||||
good-names-rgxs=
|
||||
|
||||
# Include a hint for the correct naming format with invalid-name.
|
||||
include-naming-hint=no
|
||||
|
||||
# Naming style matching correct inline iteration names.
|
||||
inlinevar-naming-style=any
|
||||
|
||||
# Regular expression matching correct inline iteration names. Overrides
|
||||
# inlinevar-naming-style. If left empty, inline iteration names will be checked
|
||||
# with the set naming style.
|
||||
#inlinevar-rgx=
|
||||
|
||||
# Naming style matching correct method names.
|
||||
method-naming-style=snake_case
|
||||
|
||||
# Regular expression matching correct method names. Overrides method-naming-
|
||||
# style. If left empty, method names will be checked with the set naming style.
|
||||
#method-rgx=
|
||||
|
||||
# Naming style matching correct module names.
|
||||
module-naming-style=snake_case
|
||||
|
||||
# Regular expression matching correct module names. Overrides module-naming-
|
||||
# style. If left empty, module names will be checked with the set naming style.
|
||||
#module-rgx=
|
||||
|
||||
# Colon-delimited sets of names that determine each other's naming style when
|
||||
# the name regexes allow several styles.
|
||||
name-group=
|
||||
|
||||
# Regular expression which should only match function or class names that do
|
||||
# not require a docstring.
|
||||
no-docstring-rgx=^_
|
||||
|
||||
# List of decorators that produce properties, such as abc.abstractproperty. Add
|
||||
# to this list to register other decorators that produce valid properties.
|
||||
# These decorators are taken in consideration only for invalid-name.
|
||||
property-classes=abc.abstractproperty
|
||||
|
||||
# Regular expression matching correct type alias names. If left empty, type
|
||||
# alias names will be checked with the set naming style.
|
||||
#typealias-rgx=
|
||||
|
||||
# Regular expression matching correct type variable names. If left empty, type
|
||||
# variable names will be checked with the set naming style.
|
||||
#typevar-rgx=
|
||||
|
||||
# Naming style matching correct variable names.
|
||||
variable-naming-style=snake_case
|
||||
|
||||
# Regular expression matching correct variable names. Overrides variable-
|
||||
# naming-style. If left empty, variable names will be checked with the set
|
||||
# naming style.
|
||||
#variable-rgx=
|
||||
|
||||
|
||||
[CLASSES]
|
||||
|
||||
# Warn about protected attribute access inside special methods
|
||||
check-protected-access-in-special-methods=no
|
||||
|
||||
# List of method names used to declare (i.e. assign) instance attributes.
|
||||
defining-attr-methods=__init__,
|
||||
__new__,
|
||||
setUp,
|
||||
asyncSetUp,
|
||||
__post_init__
|
||||
|
||||
# List of member names, which should be excluded from the protected access
|
||||
# warning.
|
||||
exclude-protected=_asdict,_fields,_replace,_source,_make,os._exit
|
||||
|
||||
# List of valid names for the first argument in a class method.
|
||||
valid-classmethod-first-arg=cls
|
||||
|
||||
# List of valid names for the first argument in a metaclass class method.
|
||||
valid-metaclass-classmethod-first-arg=mcs
|
||||
|
||||
|
||||
[DESIGN]
|
||||
|
||||
# List of regular expressions of class ancestor names to ignore when counting
|
||||
# public methods (see R0903)
|
||||
exclude-too-few-public-methods=
|
||||
|
||||
# List of qualified class names to ignore when counting class parents (see
|
||||
# R0901)
|
||||
ignored-parents=
|
||||
|
||||
# Maximum number of arguments for function / method.
|
||||
max-args=6
|
||||
|
||||
# Maximum number of attributes for a class (see R0902).
|
||||
max-attributes=7
|
||||
|
||||
# Maximum number of boolean expressions in an if statement (see R0916).
|
||||
max-bool-expr=5
|
||||
|
||||
# Maximum number of branch for function / method body.
|
||||
max-branches=30
|
||||
|
||||
# Maximum number of locals for function / method body.
|
||||
max-locals=30
|
||||
|
||||
# Maximum number of parents for a class (see R0901).
|
||||
max-parents=7
|
||||
|
||||
# Maximum number of public methods for a class (see R0904).
|
||||
max-public-methods=20
|
||||
|
||||
# Maximum number of return / yield for function / method body.
|
||||
max-returns=6
|
||||
|
||||
# Maximum number of statements in function / method body.
|
||||
max-statements=75
|
||||
|
||||
# Minimum number of public methods for a class (see R0903).
|
||||
min-public-methods=0
|
||||
|
||||
|
||||
[EXCEPTIONS]
|
||||
|
||||
# Exceptions that will emit a warning when caught.
|
||||
overgeneral-exceptions=builtins.BaseException,builtins.Exception
|
||||
|
||||
|
||||
[FORMAT]
|
||||
|
||||
# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
|
||||
expected-line-ending-format=
|
||||
|
||||
# Regexp for a line that is allowed to be longer than the limit.
|
||||
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
|
||||
|
||||
# Number of spaces of indent required inside a hanging or continued line.
|
||||
indent-after-paren=2
|
||||
|
||||
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
|
||||
# tab).
|
||||
indent-string=' '
|
||||
|
||||
# Maximum number of characters on a single line.
|
||||
max-line-length=200
|
||||
|
||||
# Maximum number of lines in a module.
|
||||
max-module-lines=1000
|
||||
|
||||
# Allow the body of a class to be on the same line as the declaration if body
|
||||
# contains single statement.
|
||||
single-line-class-stmt=no
|
||||
|
||||
# Allow the body of an if to be on the same line as the test if there is no
|
||||
# else.
|
||||
single-line-if-stmt=no
|
||||
|
||||
|
||||
[IMPORTS]
|
||||
|
||||
# List of modules that can be imported at any level, not just the top level
|
||||
# one.
|
||||
allow-any-import-level=
|
||||
|
||||
# Allow explicit reexports by alias from a package __init__.
|
||||
allow-reexport-from-package=no
|
||||
|
||||
# Allow wildcard imports from modules that define __all__.
|
||||
allow-wildcard-with-all=no
|
||||
|
||||
# Deprecated modules which should not be used, separated by a comma.
|
||||
deprecated-modules=
|
||||
|
||||
# Output a graph (.gv or any supported image format) of external dependencies
|
||||
# to the given file (report RP0402 must not be disabled).
|
||||
ext-import-graph=
|
||||
|
||||
# Output a graph (.gv or any supported image format) of all (i.e. internal and
|
||||
# external) dependencies to the given file (report RP0402 must not be
|
||||
# disabled).
|
||||
import-graph=
|
||||
|
||||
# Output a graph (.gv or any supported image format) of internal dependencies
|
||||
# to the given file (report RP0402 must not be disabled).
|
||||
int-import-graph=
|
||||
|
||||
# Force import order to recognize a module as part of the standard
|
||||
# compatibility libraries.
|
||||
known-standard-library=
|
||||
|
||||
# Force import order to recognize a module as part of a third party library.
|
||||
known-third-party=enchant
|
||||
|
||||
# Couples of modules and preferred modules, separated by a comma.
|
||||
preferred-modules=
|
||||
|
||||
|
||||
[LOGGING]
|
||||
|
||||
# The type of string formatting that logging methods do. `old` means using %
|
||||
# formatting, `new` is for `{}` formatting.
|
||||
logging-format-style=old
|
||||
|
||||
# Logging modules to check that the string format arguments are in logging
|
||||
# function parameter format.
|
||||
logging-modules=logging
|
||||
|
||||
|
||||
[MESSAGES CONTROL]
|
||||
|
||||
# Only show warnings with the listed confidence levels. Leave empty to show
|
||||
# all. Valid levels: HIGH, CONTROL_FLOW, INFERENCE, INFERENCE_FAILURE,
|
||||
# UNDEFINED.
|
||||
confidence=HIGH,
|
||||
CONTROL_FLOW,
|
||||
INFERENCE,
|
||||
INFERENCE_FAILURE,
|
||||
UNDEFINED
|
||||
|
||||
# Disable the message, report, category or checker with the given id(s). You
|
||||
# can either give multiple identifiers separated by comma (,) or put this
|
||||
# option multiple times (only on the command line, not in the configuration
|
||||
# file where it should appear only once). You can also use "--disable=all" to
|
||||
# disable everything first and then re-enable specific checks. For example, if
|
||||
# you want to run only the similarities checker, you can use "--disable=all
|
||||
# --enable=similarities". If you want to run only the classes checker, but have
|
||||
# no Warning level messages displayed, use "--disable=all --enable=classes
|
||||
# --disable=W".
|
||||
disable=raw-checker-failed,
|
||||
bad-inline-option,
|
||||
locally-disabled,
|
||||
file-ignored,
|
||||
suppressed-message,
|
||||
useless-suppression,
|
||||
deprecated-pragma,
|
||||
use-symbolic-message-instead,
|
||||
missing-class-docstring,
|
||||
missing-function-docstring,
|
||||
missing-module-docstring,
|
||||
fixme
|
||||
|
||||
# Enable the message, report, category or checker with the given id(s). You can
|
||||
# either give multiple identifier separated by comma (,) or put this option
|
||||
# multiple time (only on the command line, not in the configuration file where
|
||||
# it should appear only once). See also the "--disable" option for examples.
|
||||
enable=c-extension-no-member
|
||||
|
||||
|
||||
[METHOD_ARGS]
|
||||
|
||||
# List of qualified names (i.e., library.method) which require a timeout
|
||||
# parameter e.g. 'requests.api.get,requests.api.post'
|
||||
timeout-methods=requests.api.delete,requests.api.get,requests.api.head,requests.api.options,requests.api.patch,requests.api.post,requests.api.put,requests.api.request
|
||||
|
||||
|
||||
[MISCELLANEOUS]
|
||||
|
||||
# List of note tags to take in consideration, separated by a comma.
|
||||
notes=FIXME,
|
||||
XXX,
|
||||
TODO
|
||||
|
||||
# Regular expression of note tags to take in consideration.
|
||||
notes-rgx=
|
||||
|
||||
|
||||
[REFACTORING]
|
||||
|
||||
# Maximum number of nested blocks for function / method body
|
||||
max-nested-blocks=5
|
||||
|
||||
# Complete name of functions that never returns. When checking for
|
||||
# inconsistent-return-statements if a never returning function is called then
|
||||
# it will be considered as an explicit return statement and no message will be
|
||||
# printed.
|
||||
never-returning-functions=sys.exit,argparse.parse_error
|
||||
|
||||
|
||||
[REPORTS]
|
||||
|
||||
# Python expression which should return a score less than or equal to 10. You
|
||||
# have access to the variables 'fatal', 'error', 'warning', 'refactor',
|
||||
# 'convention', and 'info' which contain the number of messages in each
|
||||
# category, as well as 'statement' which is the total number of statements
|
||||
# analyzed. This score is used by the global evaluation report (RP0004).
|
||||
evaluation=max(0, 0 if fatal else 10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10))
|
||||
|
||||
# Template used to display messages. This is a python new-style format string
|
||||
# used to format the message information. See doc for all details.
|
||||
msg-template=
|
||||
|
||||
# Set the output format. Available formats are text, parseable, colorized, json
|
||||
# and msvs (visual studio). You can also give a reporter class, e.g.
|
||||
# mypackage.mymodule.MyReporterClass.
|
||||
#output-format=
|
||||
|
||||
# Tells whether to display a full report or only the messages.
|
||||
reports=no
|
||||
|
||||
# Activate the evaluation score.
|
||||
score=yes
|
||||
|
||||
|
||||
[SIMILARITIES]
|
||||
|
||||
# Comments are removed from the similarity computation
|
||||
ignore-comments=yes
|
||||
|
||||
# Docstrings are removed from the similarity computation
|
||||
ignore-docstrings=yes
|
||||
|
||||
# Imports are removed from the similarity computation
|
||||
ignore-imports=yes
|
||||
|
||||
# Signatures are removed from the similarity computation
|
||||
ignore-signatures=yes
|
||||
|
||||
# Minimum lines number of a similarity.
|
||||
min-similarity-lines=16
|
||||
|
||||
|
||||
[SPELLING]
|
||||
|
||||
# Limits count of emitted suggestions for spelling mistakes.
|
||||
max-spelling-suggestions=4
|
||||
|
||||
# Spelling dictionary name. No available dictionaries : You need to install
|
||||
# both the python package and the system dependency for enchant to work..
|
||||
spelling-dict=
|
||||
|
||||
# List of comma separated words that should be considered directives if they
|
||||
# appear at the beginning of a comment and should not be checked.
|
||||
spelling-ignore-comment-directives=fmt: on,fmt: off,noqa:,noqa,nosec,isort:skip,mypy:
|
||||
|
||||
# List of comma separated words that should not be checked.
|
||||
spelling-ignore-words=
|
||||
|
||||
# A path to a file that contains the private dictionary; one word per line.
|
||||
spelling-private-dict-file=
|
||||
|
||||
# Tells whether to store unknown words to the private dictionary (see the
|
||||
# --spelling-private-dict-file option) instead of raising a message.
|
||||
spelling-store-unknown-words=no
|
||||
|
||||
|
||||
[STRING]
|
||||
|
||||
# This flag controls whether inconsistent-quotes generates a warning when the
|
||||
# character used as a quote delimiter is used inconsistently within a module.
|
||||
check-quote-consistency=no
|
||||
|
||||
# This flag controls whether the implicit-str-concat should generate a warning
|
||||
# on implicit string concatenation in sequences defined over several lines.
|
||||
check-str-concat-over-line-jumps=no
|
||||
|
||||
|
||||
[TYPECHECK]
|
||||
|
||||
# List of decorators that produce context managers, such as
|
||||
# contextlib.contextmanager. Add to this list to register other decorators that
|
||||
# produce valid context managers.
|
||||
contextmanager-decorators=contextlib.contextmanager
|
||||
|
||||
# List of members which are set dynamically and missed by pylint inference
|
||||
# system, and so shouldn't trigger E1101 when accessed. Python regular
|
||||
# expressions are accepted.
|
||||
generated-members=
|
||||
|
||||
# Tells whether to warn about missing members when the owner of the attribute
|
||||
# is inferred to be None.
|
||||
ignore-none=yes
|
||||
|
||||
# This flag controls whether pylint should warn about no-member and similar
|
||||
# checks whenever an opaque object is returned when inferring. The inference
|
||||
# can return multiple potential results while evaluating a Python object, but
|
||||
# some branches might not be evaluated, which results in partial inference. In
|
||||
# that case, it might be useful to still emit no-member and other checks for
|
||||
# the rest of the inferred objects.
|
||||
ignore-on-opaque-inference=yes
|
||||
|
||||
# List of symbolic message names to ignore for Mixin members.
|
||||
ignored-checks-for-mixins=no-member,
|
||||
not-async-context-manager,
|
||||
not-context-manager,
|
||||
attribute-defined-outside-init
|
||||
|
||||
# List of class names for which member attributes should not be checked (useful
|
||||
# for classes with dynamically set attributes). This supports the use of
|
||||
# qualified names.
|
||||
ignored-classes=optparse.Values,thread._local,_thread._local,argparse.Namespace
|
||||
|
||||
# Show a hint with possible names when a member name was not found. The aspect
|
||||
# of finding the hint is based on edit distance.
|
||||
missing-member-hint=yes
|
||||
|
||||
# The minimum edit distance a name should have in order to be considered a
|
||||
# similar match for a missing member name.
|
||||
missing-member-hint-distance=1
|
||||
|
||||
# The total number of similar names that should be taken in consideration when
|
||||
# showing a hint for a missing member.
|
||||
missing-member-max-choices=1
|
||||
|
||||
# Regex pattern to define which classes are considered mixins.
|
||||
mixin-class-rgx=.*[Mm]ixin
|
||||
|
||||
# List of decorators that change the signature of a decorated function.
|
||||
signature-mutators=
|
||||
|
||||
|
||||
[VARIABLES]
|
||||
|
||||
# List of additional names supposed to be defined in builtins. Remember that
|
||||
# you should avoid defining new builtins when possible.
|
||||
additional-builtins=
|
||||
|
||||
# Tells whether unused global variables should be treated as a violation.
|
||||
allow-global-unused-variables=yes
|
||||
|
||||
# List of names allowed to shadow builtins
|
||||
allowed-redefined-builtins=
|
||||
|
||||
# List of strings which can identify a callback function by name. A callback
|
||||
# name must start or end with one of those strings.
|
||||
callbacks=cb_,
|
||||
_cb
|
||||
|
||||
# A regular expression matching the name of dummy variables (i.e. expected to
|
||||
# not be used).
|
||||
dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_
|
||||
|
||||
# Argument names that match this expression will be ignored.
|
||||
ignored-argument-names=_.*|^ignored_|^unused_
|
||||
|
||||
# Tells whether we should check for unused import in __init__ files.
|
||||
init-import=no
|
||||
|
||||
# List of qualified module names which can have objects that can redefine
|
||||
# builtins.
|
||||
redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io
|
||||
896
3rdparty/dx5/inc/d3d.h
vendored
Normal file
896
3rdparty/dx5/inc/d3d.h
vendored
Normal file
@ -0,0 +1,896 @@
|
||||
/*==========================================================================;
|
||||
*
|
||||
* Copyright (C) 1995-1997 Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: d3d.h
|
||||
* Content: Direct3D include file
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef _D3D_H_
|
||||
#define _D3D_H_
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef _WIN32
|
||||
#define COM_NO_WINDOWS_H
|
||||
#include <objbase.h>
|
||||
#else
|
||||
#include "d3dcom.h"
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#define D3DAPI WINAPI
|
||||
#else
|
||||
#define D3DAPI
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Interface IID's
|
||||
*/
|
||||
#if defined( _WIN32 ) && !defined( _NO_COM)
|
||||
DEFINE_GUID( IID_IDirect3D, 0x3BBA0080,0x2421,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56 );
|
||||
DEFINE_GUID( IID_IDirect3D2, 0x6aae1ec1,0x662a,0x11d0,0x88,0x9d,0x00,0xaa,0x00,0xbb,0xb7,0x6a);
|
||||
|
||||
DEFINE_GUID( IID_IDirect3DRampDevice, 0xF2086B20,0x259F,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56 );
|
||||
DEFINE_GUID( IID_IDirect3DRGBDevice, 0xA4665C60,0x2673,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56 );
|
||||
DEFINE_GUID( IID_IDirect3DHALDevice, 0x84E63dE0,0x46AA,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E );
|
||||
DEFINE_GUID( IID_IDirect3DMMXDevice, 0x881949a1,0xd6f3,0x11d0,0x89,0xab,0x00,0xa0,0xc9,0x05,0x41,0x29 );
|
||||
|
||||
DEFINE_GUID( IID_IDirect3DDevice, 0x64108800,0x957d,0X11d0,0x89,0xab,0x00,0xa0,0xc9,0x05,0x41,0x29 );
|
||||
DEFINE_GUID( IID_IDirect3DDevice2, 0x93281501, 0x8cf8, 0x11d0, 0x89, 0xab, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29);
|
||||
DEFINE_GUID( IID_IDirect3DTexture, 0x2CDCD9E0,0x25A0,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56 );
|
||||
DEFINE_GUID( IID_IDirect3DTexture2, 0x93281502, 0x8cf8, 0x11d0, 0x89, 0xab, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29);
|
||||
DEFINE_GUID( IID_IDirect3DLight, 0x4417C142,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E );
|
||||
DEFINE_GUID( IID_IDirect3DMaterial, 0x4417C144,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E );
|
||||
DEFINE_GUID( IID_IDirect3DMaterial2, 0x93281503, 0x8cf8, 0x11d0, 0x89, 0xab, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29);
|
||||
DEFINE_GUID( IID_IDirect3DExecuteBuffer,0x4417C145,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E );
|
||||
DEFINE_GUID( IID_IDirect3DViewport, 0x4417C146,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E );
|
||||
DEFINE_GUID( IID_IDirect3DViewport2, 0x93281500, 0x8cf8, 0x11d0, 0x89, 0xab, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Data structures
|
||||
*/
|
||||
#ifdef __cplusplus
|
||||
|
||||
/* 'struct' not 'class' per the way DECLARE_INTERFACE_ is defined */
|
||||
struct IDirect3D;
|
||||
struct IDirect3D2;
|
||||
struct IDirect3DDevice;
|
||||
struct IDirect3DDevice2;
|
||||
struct IDirect3DExecuteBuffer;
|
||||
struct IDirect3DLight;
|
||||
struct IDirect3DMaterial;
|
||||
struct IDirect3DMaterial2;
|
||||
struct IDirect3DTexture;
|
||||
struct IDirect3DTexture2;
|
||||
struct IDirect3DViewport;
|
||||
struct IDirect3DViewport2;
|
||||
typedef struct IDirect3D *LPDIRECT3D;
|
||||
typedef struct IDirect3D2 *LPDIRECT3D2;
|
||||
typedef struct IDirect3DDevice *LPDIRECT3DDEVICE;
|
||||
typedef struct IDirect3DDevice2 *LPDIRECT3DDEVICE2;
|
||||
typedef struct IDirect3DExecuteBuffer *LPDIRECT3DEXECUTEBUFFER;
|
||||
typedef struct IDirect3DLight *LPDIRECT3DLIGHT;
|
||||
typedef struct IDirect3DMaterial *LPDIRECT3DMATERIAL;
|
||||
typedef struct IDirect3DMaterial2 *LPDIRECT3DMATERIAL2;
|
||||
typedef struct IDirect3DTexture *LPDIRECT3DTEXTURE;
|
||||
typedef struct IDirect3DTexture2 *LPDIRECT3DTEXTURE2;
|
||||
typedef struct IDirect3DViewport *LPDIRECT3DVIEWPORT;
|
||||
typedef struct IDirect3DViewport2 *LPDIRECT3DVIEWPORT2;
|
||||
|
||||
#else
|
||||
|
||||
typedef struct IDirect3D *LPDIRECT3D;
|
||||
typedef struct IDirect3D2 *LPDIRECT3D2;
|
||||
typedef struct IDirect3DDevice *LPDIRECT3DDEVICE;
|
||||
typedef struct IDirect3DDevice2 *LPDIRECT3DDEVICE2;
|
||||
typedef struct IDirect3DExecuteBuffer *LPDIRECT3DEXECUTEBUFFER;
|
||||
typedef struct IDirect3DLight *LPDIRECT3DLIGHT;
|
||||
typedef struct IDirect3DMaterial *LPDIRECT3DMATERIAL;
|
||||
typedef struct IDirect3DMaterial2 *LPDIRECT3DMATERIAL2;
|
||||
typedef struct IDirect3DTexture *LPDIRECT3DTEXTURE;
|
||||
typedef struct IDirect3DTexture2 *LPDIRECT3DTEXTURE2;
|
||||
typedef struct IDirect3DViewport *LPDIRECT3DVIEWPORT;
|
||||
typedef struct IDirect3DViewport2 *LPDIRECT3DVIEWPORT2;
|
||||
|
||||
#endif
|
||||
|
||||
#include "d3dtypes.h"
|
||||
#include "d3dcaps.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* IDirect3D
|
||||
*/
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3D
|
||||
DECLARE_INTERFACE_(IDirect3D, IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
|
||||
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG, Release) (THIS) PURE;
|
||||
/*** IDirect3D methods ***/
|
||||
STDMETHOD(Initialize) (THIS_ REFIID) PURE;
|
||||
STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK, LPVOID) PURE;
|
||||
STDMETHOD(CreateLight) (THIS_ LPDIRECT3DLIGHT*, IUnknown*) PURE;
|
||||
STDMETHOD(CreateMaterial) (THIS_ LPDIRECT3DMATERIAL*, IUnknown*) PURE;
|
||||
STDMETHOD(CreateViewport) (THIS_ LPDIRECT3DVIEWPORT*, IUnknown*) PURE;
|
||||
STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH, LPD3DFINDDEVICERESULT) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirect3D_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
|
||||
#define IDirect3D_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirect3D_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirect3D_Initialize(p, a) (p)->lpVtbl->Initialize(p, a)
|
||||
#define IDirect3D_EnumDevices(p, a, b) (p)->lpVtbl->EnumDevices(p, a, b)
|
||||
#define IDirect3D_CreateLight(p, a, b) (p)->lpVtbl->CreateLight(p, a, b)
|
||||
#define IDirect3D_CreateMaterial(p, a, b) (p)->lpVtbl->CreateMaterial(p, a, b)
|
||||
#define IDirect3D_CreateViewport(p, a, b) (p)->lpVtbl->CreateViewport(p, a, b)
|
||||
#define IDirect3D_FindDevice(p, a, b) (p)->lpVtbl->FindDevice(p, a, b)
|
||||
#else
|
||||
#define IDirect3D_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
|
||||
#define IDirect3D_AddRef(p) (p)->AddRef()
|
||||
#define IDirect3D_Release(p) (p)->Release()
|
||||
#define IDirect3D_Initialize(p, a) (p)->Initialize(a)
|
||||
#define IDirect3D_EnumDevices(p, a, b) (p)->EnumDevices(a, b)
|
||||
#define IDirect3D_CreateLight(p, a, b) (p)->CreateLight(a, b)
|
||||
#define IDirect3D_CreateMaterial(p, a, b) (p)->CreateMaterial(a, b)
|
||||
#define IDirect3D_CreateViewport(p, a, b) (p)->CreateViewport(a, b)
|
||||
#define IDirect3D_FindDevice(p, a, b) (p)->FindDevice(a, b)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* IDirect3D2
|
||||
*/
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3D2
|
||||
DECLARE_INTERFACE_(IDirect3D2, IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
|
||||
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG, Release) (THIS) PURE;
|
||||
/*** IDirect3D methods ***/
|
||||
STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK, LPVOID) PURE;
|
||||
STDMETHOD(CreateLight) (THIS_ LPDIRECT3DLIGHT*, IUnknown*) PURE;
|
||||
STDMETHOD(CreateMaterial) (THIS_ LPDIRECT3DMATERIAL2*, IUnknown*) PURE;
|
||||
STDMETHOD(CreateViewport) (THIS_ LPDIRECT3DVIEWPORT2*, IUnknown*) PURE;
|
||||
STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH, LPD3DFINDDEVICERESULT) PURE;
|
||||
|
||||
STDMETHOD(CreateDevice)(THIS_ REFCLSID, LPDIRECTDRAWSURFACE, LPDIRECT3DDEVICE2 *) PURE;
|
||||
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirect3D2_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
|
||||
#define IDirect3D2_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirect3D2_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirect3D2_EnumDevices(p, a, b) (p)->lpVtbl->EnumDevices(p, a, b)
|
||||
#define IDirect3D2_CreateLight(p, a, b) (p)->lpVtbl->CreateLight(p, a, b)
|
||||
#define IDirect3D2_CreateMaterial(p, a, b) (p)->lpVtbl->CreateMaterial(p, a, b)
|
||||
#define IDirect3D2_CreateViewport(p, a, b) (p)->lpVtbl->CreateViewport(p, a, b)
|
||||
#define IDirect3D2_FindDevice(p, a, b) (p)->lpVtbl->FindDevice(p, a, b)
|
||||
#define IDirect3D2_CreateDevice(p, a, b, c) (p)->lpVtbl->CreateDevice(p, a, b, c)
|
||||
#else
|
||||
#define IDirect3D2_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
|
||||
#define IDirect3D2_AddRef(p) (p)->AddRef()
|
||||
#define IDirect3D2_Release(p) (p)->Release()
|
||||
#define IDirect3D2_EnumDevices(p, a, b) (p)->EnumDevices(a, b)
|
||||
#define IDirect3D2_CreateLight(p, a, b) (p)->CreateLight(a, b)
|
||||
#define IDirect3D2_CreateMaterial(p, a, b) (p)->CreateMaterial(a, b)
|
||||
#define IDirect3D2_CreateViewport(p, a, b) (p)->CreateViewport(a, b)
|
||||
#define IDirect3D2_FindDevice(p, a, b) (p)->FindDevice(a, b)
|
||||
#define IDirect3D2_CreateDevice(p, a, b, c) (p)->CreateDevice(a, b, c)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* IDirect3DDevice
|
||||
*/
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3DDevice
|
||||
DECLARE_INTERFACE_(IDirect3DDevice, IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
|
||||
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG, Release) (THIS) PURE;
|
||||
/*** IDirect3DDevice methods ***/
|
||||
STDMETHOD(Initialize) (THIS_ LPDIRECT3D, LPGUID, LPD3DDEVICEDESC) PURE;
|
||||
STDMETHOD(GetCaps) (THIS_ LPD3DDEVICEDESC, LPD3DDEVICEDESC) PURE;
|
||||
STDMETHOD(SwapTextureHandles) (THIS_ LPDIRECT3DTEXTURE, LPDIRECT3DTEXTURE) PURE;
|
||||
STDMETHOD(CreateExecuteBuffer) (THIS_ LPD3DEXECUTEBUFFERDESC, LPDIRECT3DEXECUTEBUFFER*, IUnknown*) PURE;
|
||||
STDMETHOD(GetStats) (THIS_ LPD3DSTATS) PURE;
|
||||
STDMETHOD(Execute) (THIS_ LPDIRECT3DEXECUTEBUFFER, LPDIRECT3DVIEWPORT, DWORD) PURE;
|
||||
STDMETHOD(AddViewport) (THIS_ LPDIRECT3DVIEWPORT) PURE;
|
||||
STDMETHOD(DeleteViewport) (THIS_ LPDIRECT3DVIEWPORT) PURE;
|
||||
STDMETHOD(NextViewport) (THIS_ LPDIRECT3DVIEWPORT, LPDIRECT3DVIEWPORT*, DWORD) PURE;
|
||||
STDMETHOD(Pick) (THIS_ LPDIRECT3DEXECUTEBUFFER, LPDIRECT3DVIEWPORT, DWORD, LPD3DRECT) PURE;
|
||||
STDMETHOD(GetPickRecords)(THIS_ LPDWORD, LPD3DPICKRECORD) PURE;
|
||||
STDMETHOD(EnumTextureFormats) (THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK, LPVOID) PURE;
|
||||
STDMETHOD(CreateMatrix) (THIS_ LPD3DMATRIXHANDLE) PURE;
|
||||
STDMETHOD(SetMatrix) (THIS_ D3DMATRIXHANDLE, const LPD3DMATRIX) PURE;
|
||||
STDMETHOD(GetMatrix) (THIS_ D3DMATRIXHANDLE, LPD3DMATRIX) PURE;
|
||||
STDMETHOD(DeleteMatrix) (THIS_ D3DMATRIXHANDLE) PURE;
|
||||
STDMETHOD_(HRESULT, BeginScene) (THIS) PURE;
|
||||
STDMETHOD_(HRESULT, EndScene) (THIS) PURE;
|
||||
STDMETHOD(GetDirect3D) (THIS_ LPDIRECT3D*) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirect3DDevice_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
|
||||
#define IDirect3DDevice_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirect3DDevice_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirect3DDevice_Initialize(p, a, b, c) (p)->lpVtbl->Initialize(p, a, b, c)
|
||||
#define IDirect3DDevice_GetCaps(p, a, b) (p)->lpVtbl->GetCaps(p, a, b)
|
||||
#define IDirect3DDevice_SwapTextureHandles(p, a, b) (p)->lpVtbl->SwapTextureHandles(p, a, b)
|
||||
#define IDirect3DDevice_CreateExecuteBuffer(p, a, b, c) (p)->lpVtbl->CreateExecuteBuffer(p, a, b, c)
|
||||
#define IDirect3DDevice_GetStats(p, a) (p)->lpVtbl->GetStats(p, a)
|
||||
#define IDirect3DDevice_Execute(p, a, b, c) (p)->lpVtbl->Execute(p, a, b, c)
|
||||
#define IDirect3DDevice_AddViewport(p, a) (p)->lpVtbl->AddViewport(p, a)
|
||||
#define IDirect3DDevice_DeleteViewport(p, a) (p)->lpVtbl->DeleteViewport(p, a)
|
||||
#define IDirect3DDevice_NextViewport(p, a, b) (p)->lpVtbl->NextViewport(p, a, b)
|
||||
#define IDirect3DDevice_Pick(p, a, b, c, d) (p)->lpVtbl->Pick(p, a, b, c, d)
|
||||
#define IDirect3DDevice_GetPickRecords(p, a, b) (p)->lpVtbl->GetPickRecords(p, a, b)
|
||||
#define IDirect3DDevice_EnumTextureFormats(p, a, b) (p)->lpVtbl->EnumTextureFormats(p, a, b)
|
||||
#define IDirect3DDevice_CreateMatrix(p, a) (p)->lpVtbl->CreateMatrix(p, a)
|
||||
#define IDirect3DDevice_SetMatrix(p, a, b) (p)->lpVtbl->SetMatrix(p, a, b)
|
||||
#define IDirect3DDevice_GetMatrix(p, a, b) (p)->lpVtbl->GetMatrix(p, a, b)
|
||||
#define IDirect3DDevice_DeleteMatrix(p, a) (p)->lpVtbl->DeleteMatrix(p, a)
|
||||
#define IDirect3DDevice_BeginScene(p) (p)->lpVtbl->BeginScene(p)
|
||||
#define IDirect3DDevice_EndScene(p) (p)->lpVtbl->EndScene(p)
|
||||
#define IDirect3DDevice_GetDirect3D(p, a) (p)->lpVtbl->GetDirect3D(p, a)
|
||||
#else
|
||||
#define IDirect3DDevice_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
|
||||
#define IDirect3DDevice_AddRef(p) (p)->AddRef()
|
||||
#define IDirect3DDevice_Release(p) (p)->Release()
|
||||
#define IDirect3DDevice_Initialize(p, a, b, c) (p)->Initialize(a, b, c)
|
||||
#define IDirect3DDevice_GetCaps(p, a, b) (p)->GetCaps(a, b)
|
||||
#define IDirect3DDevice_SwapTextureHandles(p, a, b) (p)->SwapTextureHandles(a, b)
|
||||
#define IDirect3DDevice_CreateExecuteBuffer(p, a, b, c) (p)->CreateExecuteBuffer(a, b, c)
|
||||
#define IDirect3DDevice_GetStats(p, a) (p)->GetStats(a)
|
||||
#define IDirect3DDevice_Execute(p, a, b, c) (p)->Execute(a, b, c)
|
||||
#define IDirect3DDevice_AddViewport(p, a) (p)->AddViewport(a)
|
||||
#define IDirect3DDevice_DeleteViewport(p, a) (p)->DeleteViewport(a)
|
||||
#define IDirect3DDevice_NextViewport(p, a, b) (p)->NextViewport(a, b)
|
||||
#define IDirect3DDevice_Pick(p, a, b, c, d) (p)->Pick(a, b, c, d)
|
||||
#define IDirect3DDevice_GetPickRecords(p, a, b) (p)->GetPickRecords(a, b)
|
||||
#define IDirect3DDevice_EnumTextureFormats(p, a, b) (p)->EnumTextureFormats(a, b)
|
||||
#define IDirect3DDevice_CreateMatrix(p, a) (p)->CreateMatrix(a)
|
||||
#define IDirect3DDevice_SetMatrix(p, a, b) (p)->SetMatrix(a, b)
|
||||
#define IDirect3DDevice_GetMatrix(p, a, b) (p)->GetMatrix(a, b)
|
||||
#define IDirect3DDevice_DeleteMatrix(p, a) (p)->DeleteMatrix(a)
|
||||
#define IDirect3DDevice_BeginScene(p) (p)->BeginScene()
|
||||
#define IDirect3DDevice_EndScene(p) (p)->EndScene()
|
||||
#define IDirect3DDevice_GetDirect3D(p, a) (p)->GetDirect3D(a)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* IDirect3DDevice2
|
||||
*/
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3DDevice2
|
||||
DECLARE_INTERFACE_(IDirect3DDevice2, IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
|
||||
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG, Release) (THIS) PURE;
|
||||
/*** IDirect3DDevice2 methods ***/
|
||||
STDMETHOD(GetCaps) (THIS_ LPD3DDEVICEDESC, LPD3DDEVICEDESC) PURE;
|
||||
STDMETHOD(SwapTextureHandles) (THIS_ LPDIRECT3DTEXTURE2, LPDIRECT3DTEXTURE2) PURE;
|
||||
STDMETHOD(GetStats) (THIS_ LPD3DSTATS) PURE;
|
||||
STDMETHOD(AddViewport) (THIS_ LPDIRECT3DVIEWPORT2) PURE;
|
||||
STDMETHOD(DeleteViewport) (THIS_ LPDIRECT3DVIEWPORT2) PURE;
|
||||
STDMETHOD(NextViewport) (THIS_ LPDIRECT3DVIEWPORT2, LPDIRECT3DVIEWPORT2*, DWORD) PURE;
|
||||
STDMETHOD(EnumTextureFormats) (THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK, LPVOID) PURE;
|
||||
STDMETHOD_(HRESULT, BeginScene) (THIS) PURE;
|
||||
STDMETHOD_(HRESULT, EndScene) (THIS) PURE;
|
||||
STDMETHOD(GetDirect3D) (THIS_ LPDIRECT3D2*) PURE;
|
||||
|
||||
/*** DrawPrimitive API ***/
|
||||
STDMETHOD(SetCurrentViewport) (THIS_ LPDIRECT3DVIEWPORT2) PURE;
|
||||
STDMETHOD(GetCurrentViewport) (THIS_ LPDIRECT3DVIEWPORT2 *) PURE;
|
||||
|
||||
STDMETHOD(SetRenderTarget) (THIS_ LPDIRECTDRAWSURFACE, DWORD) PURE;
|
||||
STDMETHOD(GetRenderTarget) (THIS_ LPDIRECTDRAWSURFACE *) PURE;
|
||||
|
||||
STDMETHOD(Begin) (THIS_ D3DPRIMITIVETYPE, D3DVERTEXTYPE, DWORD) PURE;
|
||||
STDMETHOD(BeginIndexed) (THIS_ D3DPRIMITIVETYPE, D3DVERTEXTYPE, LPVOID, DWORD, DWORD) PURE;
|
||||
STDMETHOD(Vertex) (THIS_ LPVOID) PURE;
|
||||
STDMETHOD(Index) (THIS_ WORD) PURE;
|
||||
STDMETHOD(End) (THIS_ DWORD) PURE;
|
||||
|
||||
STDMETHOD(GetRenderState) (THIS_ D3DRENDERSTATETYPE, LPDWORD) PURE;
|
||||
STDMETHOD(SetRenderState) (THIS_ D3DRENDERSTATETYPE, DWORD) PURE;
|
||||
STDMETHOD(GetLightState) (THIS_ D3DLIGHTSTATETYPE, LPDWORD) PURE;
|
||||
STDMETHOD(SetLightState) (THIS_ D3DLIGHTSTATETYPE, DWORD) PURE;
|
||||
STDMETHOD(SetTransform) (THIS_ D3DTRANSFORMSTATETYPE, LPD3DMATRIX) PURE;
|
||||
STDMETHOD(GetTransform) (THIS_ D3DTRANSFORMSTATETYPE, LPD3DMATRIX) PURE;
|
||||
STDMETHOD(MultiplyTransform) (THIS_ D3DTRANSFORMSTATETYPE, LPD3DMATRIX) PURE;
|
||||
|
||||
STDMETHOD(DrawPrimitive) (THIS_ D3DPRIMITIVETYPE, D3DVERTEXTYPE, LPVOID, DWORD, DWORD) PURE;
|
||||
STDMETHOD(DrawIndexedPrimitive) (THIS_ D3DPRIMITIVETYPE, D3DVERTEXTYPE, LPVOID, DWORD, LPWORD, DWORD, DWORD) PURE;
|
||||
|
||||
STDMETHOD(SetClipStatus) (THIS_ LPD3DCLIPSTATUS) PURE;
|
||||
STDMETHOD(GetClipStatus) (THIS_ LPD3DCLIPSTATUS) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirect3DDevice2_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
|
||||
#define IDirect3DDevice2_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirect3DDevice2_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirect3DDevice2_GetCaps(p, a, b) (p)->lpVtbl->GetCaps(p, a, b)
|
||||
#define IDirect3DDevice2_SwapTextureHandles(p, a, b) (p)->lpVtbl->SwapTextureHandles(p, a, b)
|
||||
#define IDirect3DDevice2_GetStats(p, a) (p)->lpVtbl->CreateViewport(p, a)
|
||||
#define IDirect3DDevice2_AddViewport(p, a) (p)->lpVtbl->AddViewport(p, a)
|
||||
#define IDirect3DDevice2_DeleteViewport(p, a) (p)->lpVtbl->DeleteViewport(p, a)
|
||||
#define IDirect3DDevice2_NextViewport(p, a, b) (p)->lpVtbl->NextViewport(p, a, b)
|
||||
#define IDirect3DDevice2_EnumTextureFormats(p, a, b) (p)->lpVtbl->EnumTextureFormats(p, a, b)
|
||||
#define IDirect3DDevice2_BeginScene(p) (p)->lpVtbl->BeginScene(p)
|
||||
#define IDirect3DDevice2_EndScene(p) (p)->lpVtbl->EndScene(p)
|
||||
#define IDirect3DDevice2_GetDirect3D(p, a) (p)->lpVtbl->GetDirect3D(p, a)
|
||||
|
||||
#define IDirect3DDevice2_SetCurrentViewport(p, a) (p)->lpVtbl->SetCurrentViewport(p, a)
|
||||
#define IDirect3DDevice2_GetCurrentViewport(p, a) (p)->lpVtbl->GetCurrentViewport(p, a)
|
||||
|
||||
#define IDirect3DDevice2_SetRenderTarget(p, a, b) (p)->lpVtbl->SetRenderTarget(p, a, b)
|
||||
#define IDirect3DDevice2_GetRenderTarget(p, a) (p)->lpVtbl->GetRenderTarget(p, a)
|
||||
|
||||
#define IDirect3DDevice2_Begin(p, a, b, c) (p)->lpVtbl->Begin(p, a, b, c)
|
||||
#define IDirect3DDevice2_BeginIndexed(p, a, b, c, d, e) (p)->lpVtbl->Begin(p, a, b, c, d, e)
|
||||
#define IDirect3DDevice2_Vertex(p, a) (p)->lpVtbl->Vertex(p, a)
|
||||
#define IDirect3DDevice2_Index(p, a) (p)->lpVtbl->Index(p, a)
|
||||
#define IDirect3DDevice2_End(p, a) (p)->lpVtbl->End(p, a)
|
||||
|
||||
#define IDirect3DDevice2_GetRenderState(p, a, b) (p)->lpVtbl->GetRenderState(p, a, b)
|
||||
#define IDirect3DDevice2_SetRenderState(p, a, b) (p)->lpVtbl->SetRenderState(p, a, b)
|
||||
#define IDirect3DDevice2_GetLightState(p, a, b) (p)->lpVtbl->GetLightState(p, a, b)
|
||||
#define IDirect3DDevice2_SetLightState(p, a, b) (p)->lpVtbl->SetLightState(p, a, b)
|
||||
#define IDirect3DDevice2_SetTransform(p, a, b) (p)->lpVtbl->SetTransform(p, a, b)
|
||||
#define IDirect3DDevice2_GetTransform(p, a, b) (p)->lpVtbl->GetTransform(p, a, b)
|
||||
#define IDirect3DDevice2_MultiplyTransform(p, a, b) (p)->lpVtbl->MultiplyTransform(p, a, b)
|
||||
|
||||
#define IDirect3DDevice2_DrawPrimitive(p, a, b, c, d, e) (p)->lpVtbl->DrawPrimitive(p, a, b, c, d, e)
|
||||
#define IDirect3DDevice2_DrawIndexedPrimitive(p, a, b, c, d, e, f, g) \
|
||||
(p)->lpVtbl->DrawIndexedPrimitive(p, a, b, c, d, e, f, g)
|
||||
#define IDirect3DDevice2_SetClipStatus(p, a) (p)->lpVtbl->SetClipStatus(p, a)
|
||||
#define IDirect3DDevice2_GetClipStatus(p, a) (p)->lpVtbl->GetClipStatus(p, a)
|
||||
#else
|
||||
#define IDirect3DDevice2_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
|
||||
#define IDirect3DDevice2_AddRef(p) (p)->AddRef()
|
||||
#define IDirect3DDevice2_Release(p) (p)->Release()
|
||||
#define IDirect3DDevice2_GetCaps(p, a, b) (p)->GetCaps(a, b)
|
||||
#define IDirect3DDevice2_SwapTextureHandles(p, a, b) (p)->SwapTextureHandles(a, b)
|
||||
#define IDirect3DDevice2_GetStats(p, a) (p)->CreateViewport(a)
|
||||
#define IDirect3DDevice2_AddViewport(p, a) (p)->AddViewport(a)
|
||||
#define IDirect3DDevice2_DeleteViewport(p, a) (p)->DeleteViewport(a)
|
||||
#define IDirect3DDevice2_NextViewport(p, a, b) (p)->NextViewport(a, b)
|
||||
#define IDirect3DDevice2_EnumTextureFormats(p, a, b) (p)->EnumTextureFormats(a, b)
|
||||
#define IDirect3DDevice2_BeginScene(p) (p)->BeginScene()
|
||||
#define IDirect3DDevice2_EndScene(p) (p)->EndScene()
|
||||
#define IDirect3DDevice2_GetDirect3D(p, a) (p)->GetDirect3D(a)
|
||||
|
||||
#define IDirect3DDevice2_SetCurrentViewport(p, a) (p)->SetCurrentViewport(a)
|
||||
#define IDirect3DDevice2_GetCurrentViewport(p, a) (p)->GetCurrentViewport(a)
|
||||
|
||||
#define IDirect3DDevice2_SetRenderTarget(p, a, b) (p)->SetRenderTarget(a, b)
|
||||
#define IDirect3DDevice2_GetRenderTarget(p, a) (p)->GetRenderTarget(a)
|
||||
|
||||
#define IDirect3DDevice2_Begin(p, a, b, c) (p)->Begin(a, b, c)
|
||||
#define IDirect3DDevice2_BeginIndexed(p, a, b, c, d, e) (p)->Begin(a, b, c, d, e)
|
||||
#define IDirect3DDevice2_Vertex(p, a) (p)->Vertex(a)
|
||||
#define IDirect3DDevice2_Index(p, a) (p)->Index(a)
|
||||
#define IDirect3DDevice2_End(p, a) (p)->End(a)
|
||||
|
||||
#define IDirect3DDevice2_GetRenderState(p, a, b) (p)->GetRenderState(a, b)
|
||||
#define IDirect3DDevice2_SetRenderState(p, a, b) (p)->SetRenderState(a, b)
|
||||
#define IDirect3DDevice2_GetLightState(p, a, b) (p)->GetLightState(a, b)
|
||||
#define IDirect3DDevice2_SetLightState(p, a, b) (p)->SetLightState(a, b)
|
||||
#define IDirect3DDevice2_SetTransform(p, a, b) (p)->SetTransform(a, b)
|
||||
#define IDirect3DDevice2_GetTransform(p, a, b) (p)->GetTransform(a, b)
|
||||
#define IDirect3DDevice2_MultiplyTransform(p, a, b) (p)->MultiplyTransform(a, b)
|
||||
|
||||
#define IDirect3DDevice2_DrawPrimitive(p, a, b, c, d, e) (p)->DrawPrimitive(a, b, c, d, e)
|
||||
#define IDirect3DDevice2_DrawIndexedPrimitive(p, a, b, c, d, e, f, g) \
|
||||
(p)->DrawIndexedPrimitive(a, b, c, d, e, f, g)
|
||||
#define IDirect3DDevice2_SetClipStatus(p, a) (p)->SetClipStatus(a)
|
||||
#define IDirect3DDevice2_GetClipStatus(p, a) (p)->GetClipStatus(a)
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* IDirect3DExecuteBuffer
|
||||
*/
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3DExecuteBuffer
|
||||
DECLARE_INTERFACE_(IDirect3DExecuteBuffer, IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
|
||||
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG, Release) (THIS) PURE;
|
||||
/*** IDirect3DExecuteBuffer methods ***/
|
||||
STDMETHOD(Initialize) (THIS_ LPDIRECT3DDEVICE, LPD3DEXECUTEBUFFERDESC) PURE;
|
||||
STDMETHOD(Lock) (THIS_ LPD3DEXECUTEBUFFERDESC) PURE;
|
||||
STDMETHOD_(HRESULT, Unlock) (THIS) PURE;
|
||||
STDMETHOD(SetExecuteData) (THIS_ LPD3DEXECUTEDATA) PURE;
|
||||
STDMETHOD(GetExecuteData) (THIS_ LPD3DEXECUTEDATA) PURE;
|
||||
STDMETHOD(Validate) (THIS_ LPDWORD, LPD3DVALIDATECALLBACK, LPVOID, DWORD) PURE;
|
||||
STDMETHOD(Optimize) (THIS_ DWORD) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirect3DExecuteBuffer_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
|
||||
#define IDirect3DExecuteBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirect3DExecuteBuffer_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirect3DExecuteBuffer_Initialize(p, a, b) (p)->lpVtbl->Initialize(p, a, b)
|
||||
#define IDirect3DExecuteBuffer_Lock(p, a) (p)->lpVtbl->Lock(p, a)
|
||||
#define IDirect3DExecuteBuffer_Unlock(p) (p)->lpVtbl->Unlock(p)
|
||||
#define IDirect3DExecuteBuffer_SetExecuteData(p, a) (p)->lpVtbl->SetExecuteData(p, a)
|
||||
#define IDirect3DExecuteBuffer_GetExecuteData(p, a) (p)->lpVtbl->GetExecuteData(p, a)
|
||||
#define IDirect3DExecuteBuffer_Validate(p, a, b, c, d) (p)->lpVtbl->Validate(p, a, b, c, d)
|
||||
#define IDirect3DExecuteBuffer_Optimize(p, a) (p)->lpVtbl->Optimize(p, a)
|
||||
#else
|
||||
#define IDirect3DExecuteBuffer_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
|
||||
#define IDirect3DExecuteBuffer_AddRef(p) (p)->AddRef()
|
||||
#define IDirect3DExecuteBuffer_Release(p) (p)->Release()
|
||||
#define IDirect3DExecuteBuffer_Initialize(p, a, b) (p)->Initialize(a, b)
|
||||
#define IDirect3DExecuteBuffer_Lock(p, a) (p)->Lock(a)
|
||||
#define IDirect3DExecuteBuffer_Unlock(p) (p)->Unlock()
|
||||
#define IDirect3DExecuteBuffer_SetExecuteData(p, a) (p)->SetExecuteData(a)
|
||||
#define IDirect3DExecuteBuffer_GetExecuteData(p, a) (p)->GetExecuteData(a)
|
||||
#define IDirect3DExecuteBuffer_Validate(p, a, b, c, d) (p)->Validate(a, b, c, d)
|
||||
#define IDirect3DExecuteBuffer_Optimize(p, a) (p)->Optimize(a)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* IDirect3DLight
|
||||
*/
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3DLight
|
||||
DECLARE_INTERFACE_(IDirect3DLight, IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
|
||||
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG, Release) (THIS) PURE;
|
||||
/*** IDirect3DLight methods ***/
|
||||
STDMETHOD(Initialize) (THIS_ LPDIRECT3D) PURE;
|
||||
STDMETHOD(SetLight) (THIS_ LPD3DLIGHT) PURE;
|
||||
STDMETHOD(GetLight) (THIS_ LPD3DLIGHT) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirect3DLight_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
|
||||
#define IDirect3DLight_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirect3DLight_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirect3DLight_Initialize(p, a) (p)->lpVtbl->Initialize(p, a)
|
||||
#define IDirect3DLight_SetLight(p, a) (p)->lpVtbl->SetLight(p, a)
|
||||
#define IDirect3DLight_GetLight(p, a) (p)->lpVtbl->GetLight(p, a)
|
||||
#else
|
||||
#define IDirect3DLight_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
|
||||
#define IDirect3DLight_AddRef(p) (p)->AddRef()
|
||||
#define IDirect3DLight_Release(p) (p)->Release()
|
||||
#define IDirect3DLight_Initialize(p, a) (p)->Initialize(a)
|
||||
#define IDirect3DLight_SetLight(p, a) (p)->SetLight(a)
|
||||
#define IDirect3DLight_GetLight(p, a) (p)->GetLight(a)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* IDirect3DMaterial
|
||||
*/
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3DMaterial
|
||||
DECLARE_INTERFACE_(IDirect3DMaterial, IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
|
||||
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG, Release) (THIS) PURE;
|
||||
/*** IDirect3DMaterial methods ***/
|
||||
STDMETHOD(Initialize) (THIS_ LPDIRECT3D) PURE;
|
||||
STDMETHOD(SetMaterial) (THIS_ LPD3DMATERIAL) PURE;
|
||||
STDMETHOD(GetMaterial) (THIS_ LPD3DMATERIAL) PURE;
|
||||
STDMETHOD(GetHandle) (THIS_ LPDIRECT3DDEVICE, LPD3DMATERIALHANDLE) PURE;
|
||||
STDMETHOD_(HRESULT, Reserve) (THIS) PURE;
|
||||
STDMETHOD_(HRESULT, Unreserve) (THIS) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirect3DMaterial_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
|
||||
#define IDirect3DMaterial_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirect3DMaterial_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirect3DMaterial_Initialize(p, a) (p)->lpVtbl->Initialize(p, a)
|
||||
#define IDirect3DMaterial_SetMaterial(p, a) (p)->lpVtbl->SetMaterial(p, a)
|
||||
#define IDirect3DMaterial_GetMaterial(p, a) (p)->lpVtbl->GetMaterial(p, a)
|
||||
#define IDirect3DMaterial_GetHandle(p, a, b) (p)->lpVtbl->GetHandle(p, a, b)
|
||||
#define IDirect3DMaterial_Reserve(p) (p)->lpVtbl->Reserve(p)
|
||||
#define IDirect3DMaterial_Unreserve(p) (p)->lpVtbl->Unreserve(p)
|
||||
#else
|
||||
#define IDirect3DMaterial_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
|
||||
#define IDirect3DMaterial_AddRef(p) (p)->AddRef()
|
||||
#define IDirect3DMaterial_Release(p) (p)->Release()
|
||||
#define IDirect3DMaterial_Initialize(p, a) (p)->Initialize(a)
|
||||
#define IDirect3DMaterial_SetMaterial(p, a) (p)->SetMaterial(a)
|
||||
#define IDirect3DMaterial_GetMaterial(p, a) (p)->GetMaterial(a)
|
||||
#define IDirect3DMaterial_GetHandle(p, a, b) (p)->GetHandle(a, b)
|
||||
#define IDirect3DMaterial_Reserve(p) (p)->Reserve()
|
||||
#define IDirect3DMaterial_Unreserve(p) (p)->Unreserve()
|
||||
#endif
|
||||
|
||||
/*
|
||||
* IDirect3DMaterial2
|
||||
*/
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3DMaterial2
|
||||
DECLARE_INTERFACE_(IDirect3DMaterial2, IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
|
||||
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG, Release) (THIS) PURE;
|
||||
/*** IDirect3DMaterial2 methods ***/
|
||||
STDMETHOD(SetMaterial) (THIS_ LPD3DMATERIAL) PURE;
|
||||
STDMETHOD(GetMaterial) (THIS_ LPD3DMATERIAL) PURE;
|
||||
STDMETHOD(GetHandle) (THIS_ LPDIRECT3DDEVICE2, LPD3DMATERIALHANDLE) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirect3DMaterial2_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
|
||||
#define IDirect3DMaterial2_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirect3DMaterial2_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirect3DMaterial2_SetMaterial(p, a) (p)->lpVtbl->SetMaterial(p, a)
|
||||
#define IDirect3DMaterial2_GetMaterial(p, a) (p)->lpVtbl->GetMaterial(p, a)
|
||||
#define IDirect3DMaterial2_GetHandle(p, a, b) (p)->lpVtbl->GetHandle(p, a, b)
|
||||
#else
|
||||
#define IDirect3DMaterial2_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
|
||||
#define IDirect3DMaterial2_AddRef(p) (p)->AddRef()
|
||||
#define IDirect3DMaterial2_Release(p) (p)->Release()
|
||||
#define IDirect3DMaterial2_SetMaterial(p, a) (p)->SetMaterial(a)
|
||||
#define IDirect3DMaterial2_GetMaterial(p, a) (p)->GetMaterial(a)
|
||||
#define IDirect3DMaterial2_GetHandle(p, a, b) (p)->GetHandle(a, b)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* IDirect3DTexture
|
||||
*/
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3DTexture
|
||||
DECLARE_INTERFACE_(IDirect3DTexture, IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
|
||||
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG, Release) (THIS) PURE;
|
||||
/*** IDirect3DTexture methods ***/
|
||||
STDMETHOD(Initialize) (THIS_ LPDIRECT3DDEVICE, LPDIRECTDRAWSURFACE) PURE;
|
||||
STDMETHOD(GetHandle) (THIS_ LPDIRECT3DDEVICE, LPD3DTEXTUREHANDLE) PURE;
|
||||
STDMETHOD(PaletteChanged) (THIS_ DWORD, DWORD) PURE;
|
||||
STDMETHOD(Load) (THIS_ LPDIRECT3DTEXTURE) PURE;
|
||||
STDMETHOD_(HRESULT, Unload) (THIS) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirect3DTexture_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
|
||||
#define IDirect3DTexture_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirect3DTexture_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirect3DTexture_Initialize(p, a, b) (p)->lpVtbl->Initialize(p, a, b)
|
||||
#define IDirect3DTexture_GetHandle(p, a, b) (p)->lpVtbl->GetHandle(p, a, b)
|
||||
#define IDirect3DTexture_PaletteChanged(p, a, b) (p)->lpVtbl->PaletteChanged(p, a, b)
|
||||
#define IDirect3DTexture_Load(p, a) (p)->lpVtbl->Load(p, a)
|
||||
#define IDirect3DTexture_Unload(p) (p)->lpVtbl->Unload(p)
|
||||
#else
|
||||
#define IDirect3DTexture_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
|
||||
#define IDirect3DTexture_AddRef(p) (p)->AddRef()
|
||||
#define IDirect3DTexture_Release(p) (p)->Release()
|
||||
#define IDirect3DTexture_Initialize(p, a, b) (p)->Initialize(a, b)
|
||||
#define IDirect3DTexture_GetHandle(p, a, b) (p)->GetHandle(a, b)
|
||||
#define IDirect3DTexture_PaletteChanged(p, a, b) (p)->PaletteChanged(a, b)
|
||||
#define IDirect3DTexture_Load(p, a) (p)->Load(a)
|
||||
#define IDirect3DTexture_Unload(p) (p)->Unload()
|
||||
#endif
|
||||
|
||||
/*
|
||||
* IDirect3DTexture2
|
||||
*/
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3DTexture2
|
||||
DECLARE_INTERFACE_(IDirect3DTexture2, IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
|
||||
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG, Release) (THIS) PURE;
|
||||
/*** IDirect3DTexture2 methods ***/
|
||||
STDMETHOD(GetHandle) (THIS_ LPDIRECT3DDEVICE2, LPD3DTEXTUREHANDLE) PURE;
|
||||
STDMETHOD(PaletteChanged) (THIS_ DWORD, DWORD) PURE;
|
||||
STDMETHOD(Load) (THIS_ LPDIRECT3DTEXTURE2) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirect3DTexture2_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
|
||||
#define IDirect3DTexture2_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirect3DTexture2_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirect3DTexture2_GetHandle(p, a, b) (p)->lpVtbl->GetHandle(p, a, b)
|
||||
#define IDirect3DTexture2_PaletteChanged(p, a, b) (p)->lpVtbl->PaletteChanged(p, a, b)
|
||||
#define IDirect3DTexture2_Load(p, a) (p)->lpVtbl->Load(p, a)
|
||||
#else
|
||||
#define IDirect3DTexture2_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
|
||||
#define IDirect3DTexture2_AddRef(p) (p)->AddRef()
|
||||
#define IDirect3DTexture2_Release(p) (p)->Release()
|
||||
#define IDirect3DTexture2_GetHandle(p, a, b) (p)->GetHandle(a, b)
|
||||
#define IDirect3DTexture2_PaletteChanged(p, a, b) (p)->PaletteChanged(a, b)
|
||||
#define IDirect3DTexture2_Load(p, a) (p)->Load(a)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* IDirect3DViewport
|
||||
*/
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3DViewport
|
||||
DECLARE_INTERFACE_(IDirect3DViewport, IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
|
||||
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG, Release) (THIS) PURE;
|
||||
/*** IDirect3DViewport methods ***/
|
||||
STDMETHOD(Initialize) (THIS_ LPDIRECT3D) PURE;
|
||||
STDMETHOD(GetViewport) (THIS_ LPD3DVIEWPORT) PURE;
|
||||
STDMETHOD(SetViewport) (THIS_ LPD3DVIEWPORT) PURE;
|
||||
STDMETHOD(TransformVertices) (THIS_ DWORD, LPD3DTRANSFORMDATA, DWORD, LPDWORD) PURE;
|
||||
STDMETHOD(LightElements) (THIS_ DWORD, LPD3DLIGHTDATA) PURE;
|
||||
STDMETHOD(SetBackground) (THIS_ D3DMATERIALHANDLE) PURE;
|
||||
STDMETHOD(GetBackground) (THIS_ LPD3DMATERIALHANDLE, LPBOOL) PURE;
|
||||
STDMETHOD(SetBackgroundDepth) (THIS_ LPDIRECTDRAWSURFACE) PURE;
|
||||
STDMETHOD(GetBackgroundDepth) (THIS_ LPDIRECTDRAWSURFACE*, LPBOOL) PURE;
|
||||
STDMETHOD(Clear) (THIS_ DWORD, LPD3DRECT, DWORD) PURE;
|
||||
STDMETHOD(AddLight) (THIS_ LPDIRECT3DLIGHT) PURE;
|
||||
STDMETHOD(DeleteLight) (THIS_ LPDIRECT3DLIGHT) PURE;
|
||||
STDMETHOD(NextLight) (THIS_ LPDIRECT3DLIGHT, LPDIRECT3DLIGHT*, DWORD) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirect3DViewport_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
|
||||
#define IDirect3DViewport_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirect3DViewport_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirect3DViewport_Initialize(p, a) (p)->lpVtbl->Initialize(p, a)
|
||||
#define IDirect3DViewport_GetViewport(p, a) (p)->lpVtbl->GetViewport(p, a)
|
||||
#define IDirect3DViewport_SetViewport(p, a) (p)->lpVtbl->SetViewport(p, a)
|
||||
#define IDirect3DViewport_TransformVertices(p, a, b, c, d) (p)->lpVtbl->TransformVertices(p, a, b, c, d)
|
||||
#define IDirect3DViewport_LightElements(p, a, b) (p)->lpVtbl->LightElements(p, a, b)
|
||||
#define IDirect3DViewport_SetBackground(p, a) (p)->lpVtbl->SetBackground(p, a)
|
||||
#define IDirect3DViewport_GetBackground(p, a, b) (p)->lpVtbl->GetBackground(p, a, b)
|
||||
#define IDirect3DViewport_SetBackgroundDepth(p, a) (p)->lpVtbl->SetBackgroundDepth(p, a)
|
||||
#define IDirect3DViewport_GetBackgroundDepth(p, a, b) (p)->lpVtbl->GetBackgroundDepth(p, a, b)
|
||||
#define IDirect3DViewport_Clear(p, a, b, c) (p)->lpVtbl->Clear(p, a, b, c)
|
||||
#define IDirect3DViewport_AddLight(p, a) (p)->lpVtbl->AddLight(p, a)
|
||||
#define IDirect3DViewport_DeleteLight(p, a) (p)->lpVtbl->DeleteLight(p, a)
|
||||
#define IDirect3DViewport_NextLight(p, a, b, c) (p)->lpVtbl->NextLight(p, a, b, c)
|
||||
#else
|
||||
#define IDirect3DViewport_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
|
||||
#define IDirect3DViewport_AddRef(p) (p)->AddRef()
|
||||
#define IDirect3DViewport_Release(p) (p)->Release()
|
||||
#define IDirect3DViewport_Initialize(p, a) (p)->Initialize(a)
|
||||
#define IDirect3DViewport_GetViewport(p, a) (p)->GetViewport(a)
|
||||
#define IDirect3DViewport_SetViewport(p, a) (p)->SetViewport(a)
|
||||
#define IDirect3DViewport_TransformVertices(p, a, b, c, d) (p)->TransformVertices(a, b, c, d)
|
||||
#define IDirect3DViewport_LightElements(p, a, b) (p)->LightElements(a, b)
|
||||
#define IDirect3DViewport_SetBackground(p, a) (p)->SetBackground(a)
|
||||
#define IDirect3DViewport_GetBackground(p, a, b) (p)->GetBackground(a, b)
|
||||
#define IDirect3DViewport_SetBackgroundDepth(p, a) (p)->SetBackgroundDepth(a)
|
||||
#define IDirect3DViewport_GetBackgroundDepth(p, a, b) (p)->GetBackgroundDepth(a, b)
|
||||
#define IDirect3DViewport_Clear(p, a, b, c) (p)->Clear(a, b, c)
|
||||
#define IDirect3DViewport_AddLight(p, a) (p)->AddLight(a)
|
||||
#define IDirect3DViewport_DeleteLight(p, a) (p)->DeleteLight(a)
|
||||
#define IDirect3DViewport_NextLight(p, a, b, c) (p)->NextLight(a, b, c)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* IDirect3DViewport2
|
||||
*/
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3DViewport2
|
||||
DECLARE_INTERFACE_(IDirect3DViewport2, IDirect3DViewport)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
|
||||
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG, Release) (THIS) PURE;
|
||||
/*** IDirect3DViewport methods ***/
|
||||
STDMETHOD(Initialize) (THIS_ LPDIRECT3D) PURE;
|
||||
STDMETHOD(GetViewport) (THIS_ LPD3DVIEWPORT) PURE;
|
||||
STDMETHOD(SetViewport) (THIS_ LPD3DVIEWPORT) PURE;
|
||||
STDMETHOD(TransformVertices) (THIS_ DWORD, LPD3DTRANSFORMDATA, DWORD, LPDWORD) PURE;
|
||||
STDMETHOD(LightElements) (THIS_ DWORD, LPD3DLIGHTDATA) PURE;
|
||||
STDMETHOD(SetBackground) (THIS_ D3DMATERIALHANDLE) PURE;
|
||||
STDMETHOD(GetBackground) (THIS_ LPD3DMATERIALHANDLE, LPBOOL) PURE;
|
||||
STDMETHOD(SetBackgroundDepth) (THIS_ LPDIRECTDRAWSURFACE) PURE;
|
||||
STDMETHOD(GetBackgroundDepth) (THIS_ LPDIRECTDRAWSURFACE*, LPBOOL) PURE;
|
||||
STDMETHOD(Clear) (THIS_ DWORD, LPD3DRECT, DWORD) PURE;
|
||||
STDMETHOD(AddLight) (THIS_ LPDIRECT3DLIGHT) PURE;
|
||||
STDMETHOD(DeleteLight) (THIS_ LPDIRECT3DLIGHT) PURE;
|
||||
STDMETHOD(NextLight) (THIS_ LPDIRECT3DLIGHT, LPDIRECT3DLIGHT*, DWORD) PURE;
|
||||
/*** IDirect3DViewport2 methods ***/
|
||||
STDMETHOD(GetViewport2) (THIS_ LPD3DVIEWPORT2) PURE;
|
||||
STDMETHOD(SetViewport2) (THIS_ LPD3DVIEWPORT2) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirect3DViewport2_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
|
||||
#define IDirect3DViewport2_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirect3DViewport2_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirect3DViewport2_Initialize(p, a) (p)->lpVtbl->Initialize(p, a)
|
||||
#define IDirect3DViewport2_GetViewport(p, a) (p)->lpVtbl->GetViewport(p, a)
|
||||
#define IDirect3DViewport2_SetViewport(p, a) (p)->lpVtbl->SetViewport(p, a)
|
||||
#define IDirect3DViewport2_TransformVertices(p, a, b, c, d) (p)->lpVtbl->TransformVertices(p, a, b, c, d)
|
||||
#define IDirect3DViewport2_LightElements(p, a, b) (p)->lpVtbl->LightElements(p, a, b)
|
||||
#define IDirect3DViewport2_SetBackground(p, a) (p)->lpVtbl->SetBackground(p, a)
|
||||
#define IDirect3DViewport2_GetBackground(p, a, b) (p)->lpVtbl->GetBackground(p, a, b)
|
||||
#define IDirect3DViewport2_SetBackgroundDepth(p, a) (p)->lpVtbl->SetBackgroundDepth(p, a)
|
||||
#define IDirect3DViewport2_GetBackgroundDepth(p, a, b) (p)->lpVtbl->GetBackgroundDepth(p, a, b)
|
||||
#define IDirect3DViewport2_Clear(p, a, b, c) (p)->lpVtbl->Clear(p, a, b, c)
|
||||
#define IDirect3DViewport2_AddLight(p, a) (p)->lpVtbl->AddLight(p, a)
|
||||
#define IDirect3DViewport2_DeleteLight(p, a) (p)->lpVtbl->DeleteLight(p, a)
|
||||
#define IDirect3DViewport2_NextLight(p, a, b, c) (p)->lpVtbl->NextLight(p, a, b, c)
|
||||
#define IDirect3DViewport2_GetViewport2(p, a) (p)->lpVtbl->GetViewport2(p, a)
|
||||
#define IDirect3DViewport2_SetViewport2(p, a) (p)->lpVtbl->SetViewport2(p, a)
|
||||
#else
|
||||
#define IDirect3DViewport2_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
|
||||
#define IDirect3DViewport2_AddRef(p) (p)->AddRef()
|
||||
#define IDirect3DViewport2_Release(p) (p)->Release()
|
||||
#define IDirect3DViewport2_Initialize(p, a) (p)->Initialize(a)
|
||||
#define IDirect3DViewport2_GetViewport(p, a) (p)->GetViewport(a)
|
||||
#define IDirect3DViewport2_SetViewport(p, a) (p)->SetViewport(a)
|
||||
#define IDirect3DViewport2_TransformVertices(p, a, b, c, d) (p)->TransformVertices(a, b, c, d)
|
||||
#define IDirect3DViewport2_LightElements(p, a, b) (p)->LightElements(a, b)
|
||||
#define IDirect3DViewport2_SetBackground(p, a) (p)->SetBackground(a)
|
||||
#define IDirect3DViewport2_GetBackground(p, a, b) (p)->GetBackground(a, b)
|
||||
#define IDirect3DViewport2_SetBackgroundDepth(p, a) (p)->SetBackgroundDepth(a)
|
||||
#define IDirect3DViewport2_GetBackgroundDepth(p, a, b) (p)->GetBackgroundDepth(a, b)
|
||||
#define IDirect3DViewport2_Clear(p, a, b, c) (p)->Clear(a, b, c)
|
||||
#define IDirect3DViewport2_AddLight(p, a) (p)->AddLight(a)
|
||||
#define IDirect3DViewport2_DeleteLight(p, a) (p)->DeleteLight(a)
|
||||
#define IDirect3DViewport2_NextLight(p, a, b, c) (p)->NextLight(a, b, c)
|
||||
#define IDirect3DViewport2_GetViewport2(p, a) (p)->GetViewport2(a)
|
||||
#define IDirect3DViewport2_SetViewport2(p, a) (p)->SetViewport2(a)
|
||||
#endif
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* Flags for IDirect3DDevice::NextViewport
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* Return the next viewport
|
||||
*/
|
||||
#define D3DNEXT_NEXT 0x00000001l
|
||||
|
||||
/*
|
||||
* Return the first viewport
|
||||
*/
|
||||
#define D3DNEXT_HEAD 0x00000002l
|
||||
|
||||
/*
|
||||
* Return the last viewport
|
||||
*/
|
||||
#define D3DNEXT_TAIL 0x00000004l
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* Flags for DrawPrimitive/DrawIndexedPrimitive
|
||||
* Also valid for Begin/BeginIndexed
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* Wait until the device is ready to draw the primitive
|
||||
* This will cause DP to not return DDERR_WASSTILLDRAWING
|
||||
*/
|
||||
#define D3DDP_WAIT 0x00000001l
|
||||
|
||||
|
||||
/*
|
||||
* Hint that the primitives have been clipped by the application.
|
||||
*/
|
||||
#define D3DDP_DONOTCLIP 0x00000004l
|
||||
|
||||
/*
|
||||
* Hint that the extents need not be updated.
|
||||
*/
|
||||
#define D3DDP_DONOTUPDATEEXTENTS 0x00000008l
|
||||
|
||||
/*
|
||||
* Direct3D Errors
|
||||
* DirectDraw error codes are used when errors not specified here.
|
||||
*/
|
||||
#define D3D_OK DD_OK
|
||||
#define D3DERR_BADMAJORVERSION MAKE_DDHRESULT(700)
|
||||
#define D3DERR_BADMINORVERSION MAKE_DDHRESULT(701)
|
||||
|
||||
/*
|
||||
* An invalid device was requested by the application.
|
||||
*/
|
||||
#define D3DERR_INVALID_DEVICE MAKE_DDHRESULT(705)
|
||||
#define D3DERR_INITFAILED MAKE_DDHRESULT(706)
|
||||
|
||||
/*
|
||||
* SetRenderTarget attempted on a device that was
|
||||
* QI'd off the render target.
|
||||
*/
|
||||
#define D3DERR_DEVICEAGGREGATED MAKE_DDHRESULT(707)
|
||||
|
||||
#define D3DERR_EXECUTE_CREATE_FAILED MAKE_DDHRESULT(710)
|
||||
#define D3DERR_EXECUTE_DESTROY_FAILED MAKE_DDHRESULT(711)
|
||||
#define D3DERR_EXECUTE_LOCK_FAILED MAKE_DDHRESULT(712)
|
||||
#define D3DERR_EXECUTE_UNLOCK_FAILED MAKE_DDHRESULT(713)
|
||||
#define D3DERR_EXECUTE_LOCKED MAKE_DDHRESULT(714)
|
||||
#define D3DERR_EXECUTE_NOT_LOCKED MAKE_DDHRESULT(715)
|
||||
|
||||
#define D3DERR_EXECUTE_FAILED MAKE_DDHRESULT(716)
|
||||
#define D3DERR_EXECUTE_CLIPPED_FAILED MAKE_DDHRESULT(717)
|
||||
|
||||
#define D3DERR_TEXTURE_NO_SUPPORT MAKE_DDHRESULT(720)
|
||||
#define D3DERR_TEXTURE_CREATE_FAILED MAKE_DDHRESULT(721)
|
||||
#define D3DERR_TEXTURE_DESTROY_FAILED MAKE_DDHRESULT(722)
|
||||
#define D3DERR_TEXTURE_LOCK_FAILED MAKE_DDHRESULT(723)
|
||||
#define D3DERR_TEXTURE_UNLOCK_FAILED MAKE_DDHRESULT(724)
|
||||
#define D3DERR_TEXTURE_LOAD_FAILED MAKE_DDHRESULT(725)
|
||||
#define D3DERR_TEXTURE_SWAP_FAILED MAKE_DDHRESULT(726)
|
||||
#define D3DERR_TEXTURE_LOCKED MAKE_DDHRESULT(727)
|
||||
#define D3DERR_TEXTURE_NOT_LOCKED MAKE_DDHRESULT(728)
|
||||
#define D3DERR_TEXTURE_GETSURF_FAILED MAKE_DDHRESULT(729)
|
||||
|
||||
#define D3DERR_MATRIX_CREATE_FAILED MAKE_DDHRESULT(730)
|
||||
#define D3DERR_MATRIX_DESTROY_FAILED MAKE_DDHRESULT(731)
|
||||
#define D3DERR_MATRIX_SETDATA_FAILED MAKE_DDHRESULT(732)
|
||||
#define D3DERR_MATRIX_GETDATA_FAILED MAKE_DDHRESULT(733)
|
||||
#define D3DERR_SETVIEWPORTDATA_FAILED MAKE_DDHRESULT(734)
|
||||
|
||||
#define D3DERR_INVALIDCURRENTVIEWPORT MAKE_DDHRESULT(735)
|
||||
#define D3DERR_INVALIDPRIMITIVETYPE MAKE_DDHRESULT(736)
|
||||
#define D3DERR_INVALIDVERTEXTYPE MAKE_DDHRESULT(737)
|
||||
#define D3DERR_TEXTURE_BADSIZE MAKE_DDHRESULT(738)
|
||||
#define D3DERR_INVALIDRAMPTEXTURE MAKE_DDHRESULT(739)
|
||||
|
||||
#define D3DERR_MATERIAL_CREATE_FAILED MAKE_DDHRESULT(740)
|
||||
#define D3DERR_MATERIAL_DESTROY_FAILED MAKE_DDHRESULT(741)
|
||||
#define D3DERR_MATERIAL_SETDATA_FAILED MAKE_DDHRESULT(742)
|
||||
#define D3DERR_MATERIAL_GETDATA_FAILED MAKE_DDHRESULT(743)
|
||||
#define D3DERR_INVALIDPALETTE MAKE_DDHRESULT(744)
|
||||
|
||||
#define D3DERR_ZBUFF_NEEDS_SYSTEMMEMORY MAKE_DDHRESULT(745)
|
||||
#define D3DERR_ZBUFF_NEEDS_VIDEOMEMORY MAKE_DDHRESULT(746)
|
||||
#define D3DERR_SURFACENOTINVIDMEM MAKE_DDHRESULT(747)
|
||||
|
||||
#define D3DERR_LIGHT_SET_FAILED MAKE_DDHRESULT(750)
|
||||
#define D3DERR_LIGHTHASVIEWPORT MAKE_DDHRESULT(751)
|
||||
#define D3DERR_LIGHTNOTINTHISVIEWPORT MAKE_DDHRESULT(752)
|
||||
|
||||
#define D3DERR_SCENE_IN_SCENE MAKE_DDHRESULT(760)
|
||||
#define D3DERR_SCENE_NOT_IN_SCENE MAKE_DDHRESULT(761)
|
||||
#define D3DERR_SCENE_BEGIN_FAILED MAKE_DDHRESULT(762)
|
||||
#define D3DERR_SCENE_END_FAILED MAKE_DDHRESULT(763)
|
||||
|
||||
#define D3DERR_INBEGIN MAKE_DDHRESULT(770)
|
||||
#define D3DERR_NOTINBEGIN MAKE_DDHRESULT(771)
|
||||
#define D3DERR_NOVIEWPORTS MAKE_DDHRESULT(772)
|
||||
#define D3DERR_VIEWPORTDATANOTSET MAKE_DDHRESULT(773)
|
||||
#define D3DERR_VIEWPORTHASNODEVICE MAKE_DDHRESULT(774)
|
||||
#define D3DERR_NOCURRENTVIEWPORT MAKE_DDHRESULT(775)
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* _D3D_H_ */
|
||||
313
3rdparty/dx5/inc/d3dcaps.h
vendored
Normal file
313
3rdparty/dx5/inc/d3dcaps.h
vendored
Normal file
@ -0,0 +1,313 @@
|
||||
/*==========================================================================;
|
||||
*
|
||||
* Copyright (C) 1995-1997 Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: d3dcaps.h
|
||||
* Content: Direct3D capabilities include file
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef _D3DCAPS_H
|
||||
#define _D3DCAPS_H
|
||||
|
||||
/*
|
||||
* Pull in DirectDraw include file automatically:
|
||||
*/
|
||||
#include <ddraw.h>
|
||||
|
||||
#pragma pack(4)
|
||||
|
||||
/* Description of capabilities of transform */
|
||||
|
||||
typedef struct _D3DTRANSFORMCAPS {
|
||||
DWORD dwSize;
|
||||
DWORD dwCaps;
|
||||
} D3DTRANSFORMCAPS, *LPD3DTRANSFORMCAPS;
|
||||
|
||||
#define D3DTRANSFORMCAPS_CLIP 0x00000001L /* Will clip whilst transforming */
|
||||
|
||||
/* Description of capabilities of lighting */
|
||||
|
||||
typedef struct _D3DLIGHTINGCAPS {
|
||||
DWORD dwSize;
|
||||
DWORD dwCaps; /* Lighting caps */
|
||||
DWORD dwLightingModel; /* Lighting model - RGB or mono */
|
||||
DWORD dwNumLights; /* Number of lights that can be handled */
|
||||
} D3DLIGHTINGCAPS, *LPD3DLIGHTINGCAPS;
|
||||
|
||||
#define D3DLIGHTINGMODEL_RGB 0x00000001L
|
||||
#define D3DLIGHTINGMODEL_MONO 0x00000002L
|
||||
|
||||
#define D3DLIGHTCAPS_POINT 0x00000001L /* Point lights supported */
|
||||
#define D3DLIGHTCAPS_SPOT 0x00000002L /* Spot lights supported */
|
||||
#define D3DLIGHTCAPS_DIRECTIONAL 0x00000004L /* Directional lights supported */
|
||||
#define D3DLIGHTCAPS_PARALLELPOINT 0x00000008L /* Parallel point lights supported */
|
||||
|
||||
/* Description of capabilities for each primitive type */
|
||||
|
||||
typedef struct _D3DPrimCaps {
|
||||
DWORD dwSize;
|
||||
DWORD dwMiscCaps; /* Capability flags */
|
||||
DWORD dwRasterCaps;
|
||||
DWORD dwZCmpCaps;
|
||||
DWORD dwSrcBlendCaps;
|
||||
DWORD dwDestBlendCaps;
|
||||
DWORD dwAlphaCmpCaps;
|
||||
DWORD dwShadeCaps;
|
||||
DWORD dwTextureCaps;
|
||||
DWORD dwTextureFilterCaps;
|
||||
DWORD dwTextureBlendCaps;
|
||||
DWORD dwTextureAddressCaps;
|
||||
DWORD dwStippleWidth; /* maximum width and height of */
|
||||
DWORD dwStippleHeight; /* of supported stipple (up to 32x32) */
|
||||
} D3DPRIMCAPS, *LPD3DPRIMCAPS;
|
||||
|
||||
/* D3DPRIMCAPS dwMiscCaps */
|
||||
|
||||
#define D3DPMISCCAPS_MASKPLANES 0x00000001L
|
||||
#define D3DPMISCCAPS_MASKZ 0x00000002L
|
||||
#define D3DPMISCCAPS_LINEPATTERNREP 0x00000004L
|
||||
#define D3DPMISCCAPS_CONFORMANT 0x00000008L
|
||||
#define D3DPMISCCAPS_CULLNONE 0x00000010L
|
||||
#define D3DPMISCCAPS_CULLCW 0x00000020L
|
||||
#define D3DPMISCCAPS_CULLCCW 0x00000040L
|
||||
|
||||
/* D3DPRIMCAPS dwRasterCaps */
|
||||
|
||||
#define D3DPRASTERCAPS_DITHER 0x00000001L
|
||||
#define D3DPRASTERCAPS_ROP2 0x00000002L
|
||||
#define D3DPRASTERCAPS_XOR 0x00000004L
|
||||
#define D3DPRASTERCAPS_PAT 0x00000008L
|
||||
#define D3DPRASTERCAPS_ZTEST 0x00000010L
|
||||
#define D3DPRASTERCAPS_SUBPIXEL 0x00000020L
|
||||
#define D3DPRASTERCAPS_SUBPIXELX 0x00000040L
|
||||
#define D3DPRASTERCAPS_FOGVERTEX 0x00000080L
|
||||
#define D3DPRASTERCAPS_FOGTABLE 0x00000100L
|
||||
#define D3DPRASTERCAPS_STIPPLE 0x00000200L
|
||||
#define D3DPRASTERCAPS_ANTIALIASSORTDEPENDENT 0x00000400L
|
||||
#define D3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT 0x00000800L
|
||||
#define D3DPRASTERCAPS_ANTIALIASEDGES 0x00001000L
|
||||
#define D3DPRASTERCAPS_MIPMAPLODBIAS 0x00002000L
|
||||
#define D3DPRASTERCAPS_ZBIAS 0x00004000L
|
||||
#define D3DPRASTERCAPS_ZBUFFERLESSHSR 0x00008000L
|
||||
#define D3DPRASTERCAPS_FOGRANGE 0x00010000L
|
||||
#define D3DPRASTERCAPS_ANISOTROPY 0x00020000L
|
||||
|
||||
/* D3DPRIMCAPS dwZCmpCaps, dwAlphaCmpCaps */
|
||||
|
||||
#define D3DPCMPCAPS_NEVER 0x00000001L
|
||||
#define D3DPCMPCAPS_LESS 0x00000002L
|
||||
#define D3DPCMPCAPS_EQUAL 0x00000004L
|
||||
#define D3DPCMPCAPS_LESSEQUAL 0x00000008L
|
||||
#define D3DPCMPCAPS_GREATER 0x00000010L
|
||||
#define D3DPCMPCAPS_NOTEQUAL 0x00000020L
|
||||
#define D3DPCMPCAPS_GREATEREQUAL 0x00000040L
|
||||
#define D3DPCMPCAPS_ALWAYS 0x00000080L
|
||||
|
||||
/* D3DPRIMCAPS dwSourceBlendCaps, dwDestBlendCaps */
|
||||
|
||||
#define D3DPBLENDCAPS_ZERO 0x00000001L
|
||||
#define D3DPBLENDCAPS_ONE 0x00000002L
|
||||
#define D3DPBLENDCAPS_SRCCOLOR 0x00000004L
|
||||
#define D3DPBLENDCAPS_INVSRCCOLOR 0x00000008L
|
||||
#define D3DPBLENDCAPS_SRCALPHA 0x00000010L
|
||||
#define D3DPBLENDCAPS_INVSRCALPHA 0x00000020L
|
||||
#define D3DPBLENDCAPS_DESTALPHA 0x00000040L
|
||||
#define D3DPBLENDCAPS_INVDESTALPHA 0x00000080L
|
||||
#define D3DPBLENDCAPS_DESTCOLOR 0x00000100L
|
||||
#define D3DPBLENDCAPS_INVDESTCOLOR 0x00000200L
|
||||
#define D3DPBLENDCAPS_SRCALPHASAT 0x00000400L
|
||||
#define D3DPBLENDCAPS_BOTHSRCALPHA 0x00000800L
|
||||
#define D3DPBLENDCAPS_BOTHINVSRCALPHA 0x00001000L
|
||||
|
||||
/* D3DPRIMCAPS dwShadeCaps */
|
||||
|
||||
#define D3DPSHADECAPS_COLORFLATMONO 0x00000001L
|
||||
#define D3DPSHADECAPS_COLORFLATRGB 0x00000002L
|
||||
#define D3DPSHADECAPS_COLORGOURAUDMONO 0x00000004L
|
||||
#define D3DPSHADECAPS_COLORGOURAUDRGB 0x00000008L
|
||||
#define D3DPSHADECAPS_COLORPHONGMONO 0x00000010L
|
||||
#define D3DPSHADECAPS_COLORPHONGRGB 0x00000020L
|
||||
|
||||
#define D3DPSHADECAPS_SPECULARFLATMONO 0x00000040L
|
||||
#define D3DPSHADECAPS_SPECULARFLATRGB 0x00000080L
|
||||
#define D3DPSHADECAPS_SPECULARGOURAUDMONO 0x00000100L
|
||||
#define D3DPSHADECAPS_SPECULARGOURAUDRGB 0x00000200L
|
||||
#define D3DPSHADECAPS_SPECULARPHONGMONO 0x00000400L
|
||||
#define D3DPSHADECAPS_SPECULARPHONGRGB 0x00000800L
|
||||
|
||||
#define D3DPSHADECAPS_ALPHAFLATBLEND 0x00001000L
|
||||
#define D3DPSHADECAPS_ALPHAFLATSTIPPLED 0x00002000L
|
||||
#define D3DPSHADECAPS_ALPHAGOURAUDBLEND 0x00004000L
|
||||
#define D3DPSHADECAPS_ALPHAGOURAUDSTIPPLED 0x00008000L
|
||||
#define D3DPSHADECAPS_ALPHAPHONGBLEND 0x00010000L
|
||||
#define D3DPSHADECAPS_ALPHAPHONGSTIPPLED 0x00020000L
|
||||
|
||||
#define D3DPSHADECAPS_FOGFLAT 0x00040000L
|
||||
#define D3DPSHADECAPS_FOGGOURAUD 0x00080000L
|
||||
#define D3DPSHADECAPS_FOGPHONG 0x00100000L
|
||||
|
||||
/* D3DPRIMCAPS dwTextureCaps */
|
||||
|
||||
#define D3DPTEXTURECAPS_PERSPECTIVE 0x00000001L
|
||||
#define D3DPTEXTURECAPS_POW2 0x00000002L
|
||||
#define D3DPTEXTURECAPS_ALPHA 0x00000004L
|
||||
#define D3DPTEXTURECAPS_TRANSPARENCY 0x00000008L
|
||||
#define D3DPTEXTURECAPS_BORDER 0x00000010L
|
||||
#define D3DPTEXTURECAPS_SQUAREONLY 0x00000020L
|
||||
|
||||
/* D3DPRIMCAPS dwTextureFilterCaps */
|
||||
|
||||
#define D3DPTFILTERCAPS_NEAREST 0x00000001L
|
||||
#define D3DPTFILTERCAPS_LINEAR 0x00000002L
|
||||
#define D3DPTFILTERCAPS_MIPNEAREST 0x00000004L
|
||||
#define D3DPTFILTERCAPS_MIPLINEAR 0x00000008L
|
||||
#define D3DPTFILTERCAPS_LINEARMIPNEAREST 0x00000010L
|
||||
#define D3DPTFILTERCAPS_LINEARMIPLINEAR 0x00000020L
|
||||
|
||||
/* D3DPRIMCAPS dwTextureBlendCaps */
|
||||
|
||||
#define D3DPTBLENDCAPS_DECAL 0x00000001L
|
||||
#define D3DPTBLENDCAPS_MODULATE 0x00000002L
|
||||
#define D3DPTBLENDCAPS_DECALALPHA 0x00000004L
|
||||
#define D3DPTBLENDCAPS_MODULATEALPHA 0x00000008L
|
||||
#define D3DPTBLENDCAPS_DECALMASK 0x00000010L
|
||||
#define D3DPTBLENDCAPS_MODULATEMASK 0x00000020L
|
||||
#define D3DPTBLENDCAPS_COPY 0x00000040L
|
||||
#define D3DPTBLENDCAPS_ADD 0x00000080L
|
||||
|
||||
/* D3DPRIMCAPS dwTextureAddressCaps */
|
||||
#define D3DPTADDRESSCAPS_WRAP 0x00000001L
|
||||
#define D3DPTADDRESSCAPS_MIRROR 0x00000002L
|
||||
#define D3DPTADDRESSCAPS_CLAMP 0x00000004L
|
||||
#define D3DPTADDRESSCAPS_BORDER 0x00000008L
|
||||
#define D3DPTADDRESSCAPS_INDEPENDENTUV 0x00000010L
|
||||
|
||||
/*
|
||||
* Description for a device.
|
||||
* This is used to describe a device that is to be created or to query
|
||||
* the current device.
|
||||
*/
|
||||
typedef struct _D3DDeviceDesc {
|
||||
DWORD dwSize; /* Size of D3DDEVICEDESC structure */
|
||||
DWORD dwFlags; /* Indicates which fields have valid data */
|
||||
D3DCOLORMODEL dcmColorModel; /* Color model of device */
|
||||
DWORD dwDevCaps; /* Capabilities of device */
|
||||
D3DTRANSFORMCAPS dtcTransformCaps; /* Capabilities of transform */
|
||||
BOOL bClipping; /* Device can do 3D clipping */
|
||||
D3DLIGHTINGCAPS dlcLightingCaps; /* Capabilities of lighting */
|
||||
D3DPRIMCAPS dpcLineCaps;
|
||||
D3DPRIMCAPS dpcTriCaps;
|
||||
DWORD dwDeviceRenderBitDepth; /* One of DDBB_8, 16, etc.. */
|
||||
DWORD dwDeviceZBufferBitDepth;/* One of DDBD_16, 32, etc.. */
|
||||
DWORD dwMaxBufferSize; /* Maximum execute buffer size */
|
||||
DWORD dwMaxVertexCount; /* Maximum vertex count */
|
||||
// *** New fields for DX5 *** //
|
||||
|
||||
// Width and height caps are 0 for legacy HALs.
|
||||
DWORD dwMinTextureWidth, dwMinTextureHeight;
|
||||
DWORD dwMaxTextureWidth, dwMaxTextureHeight;
|
||||
DWORD dwMinStippleWidth, dwMaxStippleWidth;
|
||||
DWORD dwMinStippleHeight, dwMaxStippleHeight;
|
||||
} D3DDEVICEDESC, *LPD3DDEVICEDESC;
|
||||
|
||||
#define D3DDEVICEDESCSIZE (sizeof(D3DDEVICEDESC))
|
||||
|
||||
typedef HRESULT (FAR PASCAL * LPD3DENUMDEVICESCALLBACK)(LPGUID lpGuid, LPSTR lpDeviceDescription, LPSTR lpDeviceName, LPD3DDEVICEDESC, LPD3DDEVICEDESC, LPVOID);
|
||||
|
||||
/* D3DDEVICEDESC dwFlags indicating valid fields */
|
||||
|
||||
#define D3DDD_COLORMODEL 0x00000001L /* dcmColorModel is valid */
|
||||
#define D3DDD_DEVCAPS 0x00000002L /* dwDevCaps is valid */
|
||||
#define D3DDD_TRANSFORMCAPS 0x00000004L /* dtcTransformCaps is valid */
|
||||
#define D3DDD_LIGHTINGCAPS 0x00000008L /* dlcLightingCaps is valid */
|
||||
#define D3DDD_BCLIPPING 0x00000010L /* bClipping is valid */
|
||||
#define D3DDD_LINECAPS 0x00000020L /* dpcLineCaps is valid */
|
||||
#define D3DDD_TRICAPS 0x00000040L /* dpcTriCaps is valid */
|
||||
#define D3DDD_DEVICERENDERBITDEPTH 0x00000080L /* dwDeviceRenderBitDepth is valid */
|
||||
#define D3DDD_DEVICEZBUFFERBITDEPTH 0x00000100L /* dwDeviceZBufferBitDepth is valid */
|
||||
#define D3DDD_MAXBUFFERSIZE 0x00000200L /* dwMaxBufferSize is valid */
|
||||
#define D3DDD_MAXVERTEXCOUNT 0x00000400L /* dwMaxVertexCount is valid */
|
||||
|
||||
/* D3DDEVICEDESC dwDevCaps flags */
|
||||
|
||||
#define D3DDEVCAPS_FLOATTLVERTEX 0x00000001L /* Device accepts floating point */
|
||||
/* for post-transform vertex data */
|
||||
#define D3DDEVCAPS_SORTINCREASINGZ 0x00000002L /* Device needs data sorted for increasing Z*/
|
||||
#define D3DDEVCAPS_SORTDECREASINGZ 0X00000004L /* Device needs data sorted for decreasing Z*/
|
||||
#define D3DDEVCAPS_SORTEXACT 0x00000008L /* Device needs data sorted exactly */
|
||||
|
||||
#define D3DDEVCAPS_EXECUTESYSTEMMEMORY 0x00000010L /* Device can use execute buffers from system memory */
|
||||
#define D3DDEVCAPS_EXECUTEVIDEOMEMORY 0x00000020L /* Device can use execute buffers from video memory */
|
||||
#define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY 0x00000040L /* Device can use TL buffers from system memory */
|
||||
#define D3DDEVCAPS_TLVERTEXVIDEOMEMORY 0x00000080L /* Device can use TL buffers from video memory */
|
||||
#define D3DDEVCAPS_TEXTURESYSTEMMEMORY 0x00000100L /* Device can texture from system memory */
|
||||
#define D3DDEVCAPS_TEXTUREVIDEOMEMORY 0x00000200L /* Device can texture from device memory */
|
||||
#define D3DDEVCAPS_DRAWPRIMTLVERTEX 0x00000400L /* Device can draw TLVERTEX primitives */
|
||||
#define D3DDEVCAPS_CANRENDERAFTERFLIP 0x00000800L /* Device can render without waiting for flip to complete */
|
||||
#define D3DDEVCAPS_TEXTURENONLOCALVIDMEM 0x00001000L /* Device can texture from nonlocal video memory */
|
||||
|
||||
#define D3DFDS_COLORMODEL 0x00000001L /* Match color model */
|
||||
#define D3DFDS_GUID 0x00000002L /* Match guid */
|
||||
#define D3DFDS_HARDWARE 0x00000004L /* Match hardware/software */
|
||||
#define D3DFDS_TRIANGLES 0x00000008L /* Match in triCaps */
|
||||
#define D3DFDS_LINES 0x00000010L /* Match in lineCaps */
|
||||
#define D3DFDS_MISCCAPS 0x00000020L /* Match primCaps.dwMiscCaps */
|
||||
#define D3DFDS_RASTERCAPS 0x00000040L /* Match primCaps.dwRasterCaps */
|
||||
#define D3DFDS_ZCMPCAPS 0x00000080L /* Match primCaps.dwZCmpCaps */
|
||||
#define D3DFDS_ALPHACMPCAPS 0x00000100L /* Match primCaps.dwAlphaCmpCaps */
|
||||
#define D3DFDS_SRCBLENDCAPS 0x00000200L /* Match primCaps.dwSourceBlendCaps */
|
||||
#define D3DFDS_DSTBLENDCAPS 0x00000400L /* Match primCaps.dwDestBlendCaps */
|
||||
#define D3DFDS_SHADECAPS 0x00000800L /* Match primCaps.dwShadeCaps */
|
||||
#define D3DFDS_TEXTURECAPS 0x00001000L /* Match primCaps.dwTextureCaps */
|
||||
#define D3DFDS_TEXTUREFILTERCAPS 0x00002000L /* Match primCaps.dwTextureFilterCaps */
|
||||
#define D3DFDS_TEXTUREBLENDCAPS 0x00004000L /* Match primCaps.dwTextureBlendCaps */
|
||||
#define D3DFDS_TEXTUREADDRESSCAPS 0x00008000L /* Match primCaps.dwTextureBlendCaps */
|
||||
|
||||
/*
|
||||
* FindDevice arguments
|
||||
*/
|
||||
typedef struct _D3DFINDDEVICESEARCH {
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
BOOL bHardware;
|
||||
D3DCOLORMODEL dcmColorModel;
|
||||
GUID guid;
|
||||
DWORD dwCaps;
|
||||
D3DPRIMCAPS dpcPrimCaps;
|
||||
} D3DFINDDEVICESEARCH, *LPD3DFINDDEVICESEARCH;
|
||||
|
||||
typedef struct _D3DFINDDEVICERESULT {
|
||||
DWORD dwSize;
|
||||
GUID guid; /* guid which matched */
|
||||
D3DDEVICEDESC ddHwDesc; /* hardware D3DDEVICEDESC */
|
||||
D3DDEVICEDESC ddSwDesc; /* software D3DDEVICEDESC */
|
||||
} D3DFINDDEVICERESULT, *LPD3DFINDDEVICERESULT;
|
||||
|
||||
|
||||
/*
|
||||
* Description of execute buffer.
|
||||
*/
|
||||
typedef struct _D3DExecuteBufferDesc {
|
||||
DWORD dwSize; /* size of this structure */
|
||||
DWORD dwFlags; /* flags indicating which fields are valid */
|
||||
DWORD dwCaps; /* capabilities of execute buffer */
|
||||
DWORD dwBufferSize; /* size of execute buffer data */
|
||||
LPVOID lpData; /* pointer to actual data */
|
||||
} D3DEXECUTEBUFFERDESC, *LPD3DEXECUTEBUFFERDESC;
|
||||
|
||||
/* D3DEXECUTEBUFFER dwFlags indicating valid fields */
|
||||
|
||||
#define D3DDEB_BUFSIZE 0x00000001l /* buffer size valid */
|
||||
#define D3DDEB_CAPS 0x00000002l /* caps valid */
|
||||
#define D3DDEB_LPDATA 0x00000004l /* lpData valid */
|
||||
|
||||
/* D3DEXECUTEBUFFER dwCaps */
|
||||
|
||||
#define D3DDEBCAPS_SYSTEMMEMORY 0x00000001l /* buffer in system memory */
|
||||
#define D3DDEBCAPS_VIDEOMEMORY 0x00000002l /* buffer in device memory */
|
||||
#define D3DDEBCAPS_MEM (D3DDEBCAPS_SYSTEMMEMORY|D3DDEBCAPS_VIDEOMEMORY)
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif /* _D3DCAPS_H_ */
|
||||
229
3rdparty/dx5/inc/d3drm.h
vendored
Normal file
229
3rdparty/dx5/inc/d3drm.h
vendored
Normal file
@ -0,0 +1,229 @@
|
||||
/*==========================================================================;
|
||||
*
|
||||
* Copyright (C) 1995-1997 Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: d3drm.h
|
||||
* Content: Direct3DRM include file
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef __D3DRM_H__
|
||||
#define __D3DRM_H__
|
||||
|
||||
#include "ddraw.h"
|
||||
#include "d3drmobj.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
struct IDirect3DRM;
|
||||
#endif
|
||||
|
||||
|
||||
DEFINE_GUID(IID_IDirect3DRM, 0x2bc49361, 0x8327, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
|
||||
DEFINE_GUID(IID_IDirect3DRM2, 0x4516ecc8, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
|
||||
WIN_TYPES(IDirect3DRM, DIRECT3DRM);
|
||||
WIN_TYPES(IDirect3DRM2, DIRECT3DRM2);
|
||||
|
||||
|
||||
/* Create a Direct3DRM API */
|
||||
STDAPI Direct3DRMCreate(LPDIRECT3DRM FAR *lplpDirect3DRM);
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3DRM
|
||||
|
||||
DECLARE_INTERFACE_(IDirect3DRM, IUnknown)
|
||||
{
|
||||
IUNKNOWN_METHODS(PURE);
|
||||
|
||||
STDMETHOD(CreateObject)
|
||||
(THIS_ REFCLSID rclsid, LPUNKNOWN pUnkOuter, REFIID riid, LPVOID FAR* ppv) PURE;
|
||||
STDMETHOD(CreateFrame) (THIS_ LPDIRECT3DRMFRAME, LPDIRECT3DRMFRAME *) PURE;
|
||||
STDMETHOD(CreateMesh) (THIS_ LPDIRECT3DRMMESH *) PURE;
|
||||
STDMETHOD(CreateMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER *) PURE;
|
||||
STDMETHOD(CreateFace) (THIS_ LPDIRECT3DRMFACE *) PURE;
|
||||
STDMETHOD(CreateAnimation) (THIS_ LPDIRECT3DRMANIMATION *) PURE;
|
||||
STDMETHOD(CreateAnimationSet)(THIS_ LPDIRECT3DRMANIMATIONSET *) PURE;
|
||||
STDMETHOD(CreateTexture) (THIS_ LPD3DRMIMAGE, LPDIRECT3DRMTEXTURE *) PURE;
|
||||
STDMETHOD(CreateLight) (THIS_ D3DRMLIGHTTYPE, D3DCOLOR, LPDIRECT3DRMLIGHT *) PURE;
|
||||
STDMETHOD(CreateLightRGB)
|
||||
(THIS_ D3DRMLIGHTTYPE, D3DVALUE, D3DVALUE, D3DVALUE, LPDIRECT3DRMLIGHT *) PURE;
|
||||
STDMETHOD(CreateMaterial) (THIS_ D3DVALUE, LPDIRECT3DRMMATERIAL *) PURE;
|
||||
STDMETHOD(CreateDevice) (THIS_ DWORD, DWORD, LPDIRECT3DRMDEVICE *) PURE;
|
||||
|
||||
/* Create a Windows Device using DirectDraw surfaces */
|
||||
STDMETHOD(CreateDeviceFromSurface)
|
||||
( THIS_ LPGUID lpGUID, LPDIRECTDRAW lpDD,
|
||||
LPDIRECTDRAWSURFACE lpDDSBack, LPDIRECT3DRMDEVICE *
|
||||
) PURE;
|
||||
|
||||
/* Create a Windows Device using D3D objects */
|
||||
STDMETHOD(CreateDeviceFromD3D)
|
||||
( THIS_ LPDIRECT3D lpD3D, LPDIRECT3DDEVICE lpD3DDev,
|
||||
LPDIRECT3DRMDEVICE *
|
||||
) PURE;
|
||||
|
||||
STDMETHOD(CreateDeviceFromClipper)
|
||||
( THIS_ LPDIRECTDRAWCLIPPER lpDDClipper, LPGUID lpGUID,
|
||||
int width, int height, LPDIRECT3DRMDEVICE *) PURE;
|
||||
|
||||
STDMETHOD(CreateTextureFromSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDS, LPDIRECT3DRMTEXTURE *) PURE;
|
||||
|
||||
STDMETHOD(CreateShadow)
|
||||
( THIS_ LPDIRECT3DRMVISUAL, LPDIRECT3DRMLIGHT,
|
||||
D3DVALUE px, D3DVALUE py, D3DVALUE pz,
|
||||
D3DVALUE nx, D3DVALUE ny, D3DVALUE nz,
|
||||
LPDIRECT3DRMVISUAL *
|
||||
) PURE;
|
||||
STDMETHOD(CreateViewport)
|
||||
( THIS_ LPDIRECT3DRMDEVICE, LPDIRECT3DRMFRAME, DWORD, DWORD,
|
||||
DWORD, DWORD, LPDIRECT3DRMVIEWPORT *
|
||||
) PURE;
|
||||
STDMETHOD(CreateWrap)
|
||||
( THIS_ D3DRMWRAPTYPE, LPDIRECT3DRMFRAME,
|
||||
D3DVALUE ox, D3DVALUE oy, D3DVALUE oz,
|
||||
D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
|
||||
D3DVALUE ux, D3DVALUE uy, D3DVALUE uz,
|
||||
D3DVALUE ou, D3DVALUE ov,
|
||||
D3DVALUE su, D3DVALUE sv,
|
||||
LPDIRECT3DRMWRAP *
|
||||
) PURE;
|
||||
STDMETHOD(CreateUserVisual) (THIS_ D3DRMUSERVISUALCALLBACK, LPVOID lPArg, LPDIRECT3DRMUSERVISUAL *) PURE;
|
||||
STDMETHOD(LoadTexture) (THIS_ const char *, LPDIRECT3DRMTEXTURE *) PURE;
|
||||
STDMETHOD(LoadTextureFromResource) (THIS_ HRSRC rs, LPDIRECT3DRMTEXTURE *) PURE;
|
||||
|
||||
STDMETHOD(SetSearchPath) (THIS_ LPCSTR) PURE;
|
||||
STDMETHOD(AddSearchPath) (THIS_ LPCSTR) PURE;
|
||||
STDMETHOD(GetSearchPath) (THIS_ DWORD *size_return, LPSTR path_return) PURE;
|
||||
STDMETHOD(SetDefaultTextureColors)(THIS_ DWORD) PURE;
|
||||
STDMETHOD(SetDefaultTextureShades)(THIS_ DWORD) PURE;
|
||||
|
||||
STDMETHOD(GetDevices) (THIS_ LPDIRECT3DRMDEVICEARRAY *) PURE;
|
||||
STDMETHOD(GetNamedObject) (THIS_ const char *, LPDIRECT3DRMOBJECT *) PURE;
|
||||
|
||||
STDMETHOD(EnumerateObjects) (THIS_ D3DRMOBJECTCALLBACK, LPVOID) PURE;
|
||||
|
||||
STDMETHOD(Load)
|
||||
( THIS_ LPVOID, LPVOID, LPIID *, DWORD, D3DRMLOADOPTIONS,
|
||||
D3DRMLOADCALLBACK, LPVOID, D3DRMLOADTEXTURECALLBACK, LPVOID,
|
||||
LPDIRECT3DRMFRAME
|
||||
) PURE;
|
||||
STDMETHOD(Tick) (THIS_ D3DVALUE) PURE;
|
||||
};
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3DRM2
|
||||
|
||||
DECLARE_INTERFACE_(IDirect3DRM2, IUnknown)
|
||||
{
|
||||
IUNKNOWN_METHODS(PURE);
|
||||
|
||||
STDMETHOD(CreateObject)
|
||||
(THIS_ REFCLSID rclsid, LPUNKNOWN pUnkOuter, REFIID riid, LPVOID FAR* ppv) PURE;
|
||||
STDMETHOD(CreateFrame) (THIS_ LPDIRECT3DRMFRAME, LPDIRECT3DRMFRAME2 *) PURE;
|
||||
STDMETHOD(CreateMesh) (THIS_ LPDIRECT3DRMMESH *) PURE;
|
||||
STDMETHOD(CreateMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER2 *) PURE;
|
||||
STDMETHOD(CreateFace) (THIS_ LPDIRECT3DRMFACE *) PURE;
|
||||
STDMETHOD(CreateAnimation) (THIS_ LPDIRECT3DRMANIMATION *) PURE;
|
||||
STDMETHOD(CreateAnimationSet)(THIS_ LPDIRECT3DRMANIMATIONSET *) PURE;
|
||||
STDMETHOD(CreateTexture) (THIS_ LPD3DRMIMAGE, LPDIRECT3DRMTEXTURE2 *) PURE;
|
||||
STDMETHOD(CreateLight) (THIS_ D3DRMLIGHTTYPE, D3DCOLOR, LPDIRECT3DRMLIGHT *) PURE;
|
||||
STDMETHOD(CreateLightRGB)
|
||||
(THIS_ D3DRMLIGHTTYPE, D3DVALUE, D3DVALUE, D3DVALUE, LPDIRECT3DRMLIGHT *) PURE;
|
||||
STDMETHOD(CreateMaterial) (THIS_ D3DVALUE, LPDIRECT3DRMMATERIAL *) PURE;
|
||||
STDMETHOD(CreateDevice) (THIS_ DWORD, DWORD, LPDIRECT3DRMDEVICE2 *) PURE;
|
||||
|
||||
/* Create a Windows Device using DirectDraw surfaces */
|
||||
STDMETHOD(CreateDeviceFromSurface)
|
||||
( THIS_ LPGUID lpGUID, LPDIRECTDRAW lpDD,
|
||||
LPDIRECTDRAWSURFACE lpDDSBack, LPDIRECT3DRMDEVICE2 *
|
||||
) PURE;
|
||||
|
||||
/* Create a Windows Device using D3D objects */
|
||||
STDMETHOD(CreateDeviceFromD3D)
|
||||
( THIS_ LPDIRECT3D2 lpD3D, LPDIRECT3DDEVICE2 lpD3DDev,
|
||||
LPDIRECT3DRMDEVICE2 *
|
||||
) PURE;
|
||||
|
||||
STDMETHOD(CreateDeviceFromClipper)
|
||||
( THIS_ LPDIRECTDRAWCLIPPER lpDDClipper, LPGUID lpGUID,
|
||||
int width, int height, LPDIRECT3DRMDEVICE2 *) PURE;
|
||||
|
||||
STDMETHOD(CreateTextureFromSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDS, LPDIRECT3DRMTEXTURE2 *) PURE;
|
||||
|
||||
STDMETHOD(CreateShadow)
|
||||
( THIS_ LPDIRECT3DRMVISUAL, LPDIRECT3DRMLIGHT,
|
||||
D3DVALUE px, D3DVALUE py, D3DVALUE pz,
|
||||
D3DVALUE nx, D3DVALUE ny, D3DVALUE nz,
|
||||
LPDIRECT3DRMVISUAL *
|
||||
) PURE;
|
||||
STDMETHOD(CreateViewport)
|
||||
( THIS_ LPDIRECT3DRMDEVICE, LPDIRECT3DRMFRAME, DWORD, DWORD,
|
||||
DWORD, DWORD, LPDIRECT3DRMVIEWPORT *
|
||||
) PURE;
|
||||
STDMETHOD(CreateWrap)
|
||||
( THIS_ D3DRMWRAPTYPE, LPDIRECT3DRMFRAME,
|
||||
D3DVALUE ox, D3DVALUE oy, D3DVALUE oz,
|
||||
D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
|
||||
D3DVALUE ux, D3DVALUE uy, D3DVALUE uz,
|
||||
D3DVALUE ou, D3DVALUE ov,
|
||||
D3DVALUE su, D3DVALUE sv,
|
||||
LPDIRECT3DRMWRAP *
|
||||
) PURE;
|
||||
STDMETHOD(CreateUserVisual) (THIS_ D3DRMUSERVISUALCALLBACK, LPVOID lPArg, LPDIRECT3DRMUSERVISUAL *) PURE;
|
||||
STDMETHOD(LoadTexture) (THIS_ const char *, LPDIRECT3DRMTEXTURE2 *) PURE;
|
||||
STDMETHOD(LoadTextureFromResource) (THIS_ HMODULE hModule, LPCTSTR strName, LPCTSTR strType, LPDIRECT3DRMTEXTURE2 *) PURE;
|
||||
|
||||
STDMETHOD(SetSearchPath) (THIS_ LPCSTR) PURE;
|
||||
STDMETHOD(AddSearchPath) (THIS_ LPCSTR) PURE;
|
||||
STDMETHOD(GetSearchPath) (THIS_ DWORD *size_return, LPSTR path_return) PURE;
|
||||
STDMETHOD(SetDefaultTextureColors)(THIS_ DWORD) PURE;
|
||||
STDMETHOD(SetDefaultTextureShades)(THIS_ DWORD) PURE;
|
||||
|
||||
STDMETHOD(GetDevices) (THIS_ LPDIRECT3DRMDEVICEARRAY *) PURE;
|
||||
STDMETHOD(GetNamedObject) (THIS_ const char *, LPDIRECT3DRMOBJECT *) PURE;
|
||||
|
||||
STDMETHOD(EnumerateObjects) (THIS_ D3DRMOBJECTCALLBACK, LPVOID) PURE;
|
||||
|
||||
STDMETHOD(Load)
|
||||
( THIS_ LPVOID, LPVOID, LPIID *, DWORD, D3DRMLOADOPTIONS,
|
||||
D3DRMLOADCALLBACK, LPVOID, D3DRMLOADTEXTURECALLBACK, LPVOID,
|
||||
LPDIRECT3DRMFRAME
|
||||
) PURE;
|
||||
STDMETHOD(Tick) (THIS_ D3DVALUE) PURE;
|
||||
|
||||
STDMETHOD(CreateProgressiveMesh)(THIS_ LPDIRECT3DRMPROGRESSIVEMESH *) PURE;
|
||||
};
|
||||
|
||||
#define D3DRM_OK DD_OK
|
||||
#define D3DRMERR_BADOBJECT MAKE_DDHRESULT(781)
|
||||
#define D3DRMERR_BADTYPE MAKE_DDHRESULT(782)
|
||||
#define D3DRMERR_BADALLOC MAKE_DDHRESULT(783)
|
||||
#define D3DRMERR_FACEUSED MAKE_DDHRESULT(784)
|
||||
#define D3DRMERR_NOTFOUND MAKE_DDHRESULT(785)
|
||||
#define D3DRMERR_NOTDONEYET MAKE_DDHRESULT(786)
|
||||
#define D3DRMERR_FILENOTFOUND MAKE_DDHRESULT(787)
|
||||
#define D3DRMERR_BADFILE MAKE_DDHRESULT(788)
|
||||
#define D3DRMERR_BADDEVICE MAKE_DDHRESULT(789)
|
||||
#define D3DRMERR_BADVALUE MAKE_DDHRESULT(790)
|
||||
#define D3DRMERR_BADMAJORVERSION MAKE_DDHRESULT(791)
|
||||
#define D3DRMERR_BADMINORVERSION MAKE_DDHRESULT(792)
|
||||
#define D3DRMERR_UNABLETOEXECUTE MAKE_DDHRESULT(793)
|
||||
#define D3DRMERR_LIBRARYNOTFOUND MAKE_DDHRESULT(794)
|
||||
#define D3DRMERR_INVALIDLIBRARY MAKE_DDHRESULT(795)
|
||||
#define D3DRMERR_PENDING MAKE_DDHRESULT(796)
|
||||
#define D3DRMERR_NOTENOUGHDATA MAKE_DDHRESULT(797)
|
||||
#define D3DRMERR_REQUESTTOOLARGE MAKE_DDHRESULT(798)
|
||||
#define D3DRMERR_REQUESTTOOSMALL MAKE_DDHRESULT(799)
|
||||
#define D3DRMERR_CONNECTIONLOST MAKE_DDHRESULT(800)
|
||||
#define D3DRMERR_LOADABORTED MAKE_DDHRESULT(801)
|
||||
#define D3DRMERR_NOINTERNET MAKE_DDHRESULT(802)
|
||||
#define D3DRMERR_BADCACHEFILE MAKE_DDHRESULT(803)
|
||||
#define D3DRMERR_BOXNOTSET MAKE_DDHRESULT(804)
|
||||
#define D3DRMERR_BADPMDATA MAKE_DDHRESULT(805)
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* _D3DRMAPI_H_ */
|
||||
|
||||
472
3rdparty/dx5/inc/d3drmdef.h
vendored
Normal file
472
3rdparty/dx5/inc/d3drmdef.h
vendored
Normal file
@ -0,0 +1,472 @@
|
||||
/*==========================================================================;
|
||||
*
|
||||
* Copyright (C) 1995-1997 Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: d3drm.h
|
||||
* Content: Direct3DRM include file
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef __D3DRMDEFS_H__
|
||||
#define __D3DRMDEFS_H__
|
||||
|
||||
#include <stddef.h>
|
||||
#include "d3dtypes.h"
|
||||
|
||||
#ifdef WIN32
|
||||
#define D3DRMAPI __stdcall
|
||||
#else
|
||||
#define D3DRMAPI
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef TRUE
|
||||
#define FALSE 0
|
||||
#define TRUE 1
|
||||
#endif
|
||||
|
||||
typedef struct _D3DRMVECTOR4D
|
||||
{ D3DVALUE x, y, z, w;
|
||||
} D3DRMVECTOR4D, *LPD3DRMVECTOR4D;
|
||||
|
||||
typedef D3DVALUE D3DRMMATRIX4D[4][4];
|
||||
|
||||
typedef struct _D3DRMQUATERNION
|
||||
{ D3DVALUE s;
|
||||
D3DVECTOR v;
|
||||
} D3DRMQUATERNION, *LPD3DRMQUATERNION;
|
||||
|
||||
typedef struct _D3DRMRAY
|
||||
{ D3DVECTOR dvDir;
|
||||
D3DVECTOR dvPos;
|
||||
} D3DRMRAY, *LPD3DRMRAY;
|
||||
|
||||
typedef struct _D3DRMBOX
|
||||
{ D3DVECTOR min, max;
|
||||
} D3DRMBOX, *LPD3DRMBOX;
|
||||
|
||||
typedef void (*D3DRMWRAPCALLBACK)
|
||||
(LPD3DVECTOR, int* u, int* v, LPD3DVECTOR a, LPD3DVECTOR b, LPVOID);
|
||||
|
||||
typedef enum _D3DRMLIGHTTYPE
|
||||
{ D3DRMLIGHT_AMBIENT,
|
||||
D3DRMLIGHT_POINT,
|
||||
D3DRMLIGHT_SPOT,
|
||||
D3DRMLIGHT_DIRECTIONAL,
|
||||
D3DRMLIGHT_PARALLELPOINT
|
||||
} D3DRMLIGHTTYPE, *LPD3DRMLIGHTTYPE;
|
||||
|
||||
typedef enum _D3DRMSHADEMODE {
|
||||
D3DRMSHADE_FLAT = 0,
|
||||
D3DRMSHADE_GOURAUD = 1,
|
||||
D3DRMSHADE_PHONG = 2,
|
||||
|
||||
D3DRMSHADE_MASK = 7,
|
||||
D3DRMSHADE_MAX = 8
|
||||
} D3DRMSHADEMODE, *LPD3DRMSHADEMODE;
|
||||
|
||||
typedef enum _D3DRMLIGHTMODE {
|
||||
D3DRMLIGHT_OFF = 0 * D3DRMSHADE_MAX,
|
||||
D3DRMLIGHT_ON = 1 * D3DRMSHADE_MAX,
|
||||
|
||||
D3DRMLIGHT_MASK = 7 * D3DRMSHADE_MAX,
|
||||
D3DRMLIGHT_MAX = 8 * D3DRMSHADE_MAX
|
||||
} D3DRMLIGHTMODE, *LPD3DRMLIGHTMODE;
|
||||
|
||||
typedef enum _D3DRMFILLMODE {
|
||||
D3DRMFILL_POINTS = 0 * D3DRMLIGHT_MAX,
|
||||
D3DRMFILL_WIREFRAME = 1 * D3DRMLIGHT_MAX,
|
||||
D3DRMFILL_SOLID = 2 * D3DRMLIGHT_MAX,
|
||||
|
||||
D3DRMFILL_MASK = 7 * D3DRMLIGHT_MAX,
|
||||
D3DRMFILL_MAX = 8 * D3DRMLIGHT_MAX
|
||||
} D3DRMFILLMODE, *LPD3DRMFILLMODE;
|
||||
|
||||
typedef DWORD D3DRMRENDERQUALITY, *LPD3DRMRENDERQUALITY;
|
||||
|
||||
#define D3DRMRENDER_WIREFRAME (D3DRMSHADE_FLAT+D3DRMLIGHT_OFF+D3DRMFILL_WIREFRAME)
|
||||
#define D3DRMRENDER_UNLITFLAT (D3DRMSHADE_FLAT+D3DRMLIGHT_OFF+D3DRMFILL_SOLID)
|
||||
#define D3DRMRENDER_FLAT (D3DRMSHADE_FLAT+D3DRMLIGHT_ON+D3DRMFILL_SOLID)
|
||||
#define D3DRMRENDER_GOURAUD (D3DRMSHADE_GOURAUD+D3DRMLIGHT_ON+D3DRMFILL_SOLID)
|
||||
#define D3DRMRENDER_PHONG (D3DRMSHADE_PHONG+D3DRMLIGHT_ON+D3DRMFILL_SOLID)
|
||||
|
||||
#define D3DRMRENDERMODE_BLENDEDTRANSPARENCY 1
|
||||
#define D3DRMRENDERMODE_SORTEDTRANSPARENCY 2
|
||||
|
||||
typedef enum _D3DRMTEXTUREQUALITY
|
||||
{ D3DRMTEXTURE_NEAREST, /* choose nearest texel */
|
||||
D3DRMTEXTURE_LINEAR, /* interpolate 4 texels */
|
||||
D3DRMTEXTURE_MIPNEAREST, /* nearest texel in nearest mipmap */
|
||||
D3DRMTEXTURE_MIPLINEAR, /* interpolate 2 texels from 2 mipmaps */
|
||||
D3DRMTEXTURE_LINEARMIPNEAREST, /* interpolate 4 texels in nearest mipmap */
|
||||
D3DRMTEXTURE_LINEARMIPLINEAR /* interpolate 8 texels from 2 mipmaps */
|
||||
} D3DRMTEXTUREQUALITY, *LPD3DRMTEXTUREQUALITY;
|
||||
|
||||
typedef enum _D3DRMCOMBINETYPE
|
||||
{ D3DRMCOMBINE_REPLACE,
|
||||
D3DRMCOMBINE_BEFORE,
|
||||
D3DRMCOMBINE_AFTER
|
||||
} D3DRMCOMBINETYPE, *LPD3DRMCOMBINETYPE;
|
||||
|
||||
typedef D3DCOLORMODEL D3DRMCOLORMODEL, *LPD3DRMCOLORMODEL;
|
||||
|
||||
typedef enum _D3DRMPALETTEFLAGS
|
||||
{ D3DRMPALETTE_FREE, /* renderer may use this entry freely */
|
||||
D3DRMPALETTE_READONLY, /* fixed but may be used by renderer */
|
||||
D3DRMPALETTE_RESERVED /* may not be used by renderer */
|
||||
} D3DRMPALETTEFLAGS, *LPD3DRMPALETTEFLAGS;
|
||||
|
||||
typedef struct _D3DRMPALETTEENTRY
|
||||
{ unsigned char red; /* 0 .. 255 */
|
||||
unsigned char green; /* 0 .. 255 */
|
||||
unsigned char blue; /* 0 .. 255 */
|
||||
unsigned char flags; /* one of D3DRMPALETTEFLAGS */
|
||||
} D3DRMPALETTEENTRY, *LPD3DRMPALETTEENTRY;
|
||||
|
||||
typedef struct _D3DRMIMAGE
|
||||
{ int width, height; /* width and height in pixels */
|
||||
int aspectx, aspecty; /* aspect ratio for non-square pixels */
|
||||
int depth; /* bits per pixel */
|
||||
int rgb; /* if false, pixels are indices into a
|
||||
palette otherwise, pixels encode
|
||||
RGB values. */
|
||||
int bytes_per_line; /* number of bytes of memory for a
|
||||
scanline. This must be a multiple
|
||||
of 4. */
|
||||
char* buffer1; /* memory to render into (first buffer). */
|
||||
char* buffer2; /* second rendering buffer for double
|
||||
buffering, set to NULL for single
|
||||
buffering. */
|
||||
unsigned long red_mask;
|
||||
unsigned long green_mask;
|
||||
unsigned long blue_mask;
|
||||
unsigned long alpha_mask; /* if rgb is true, these are masks for
|
||||
the red, green and blue parts of a
|
||||
pixel. Otherwise, these are masks
|
||||
for the significant bits of the
|
||||
red, green and blue elements in the
|
||||
palette. For instance, most SVGA
|
||||
displays use 64 intensities of red,
|
||||
green and blue, so the masks should
|
||||
all be set to 0xfc. */
|
||||
int palette_size; /* number of entries in palette */
|
||||
D3DRMPALETTEENTRY* palette; /* description of the palette (only if
|
||||
rgb is false). Must be (1<<depth)
|
||||
elements. */
|
||||
} D3DRMIMAGE, *LPD3DRMIMAGE;
|
||||
|
||||
typedef enum _D3DRMWRAPTYPE
|
||||
{ D3DRMWRAP_FLAT,
|
||||
D3DRMWRAP_CYLINDER,
|
||||
D3DRMWRAP_SPHERE,
|
||||
D3DRMWRAP_CHROME
|
||||
} D3DRMWRAPTYPE, *LPD3DRMWRAPTYPE;
|
||||
|
||||
#define D3DRMWIREFRAME_CULL 1 /* cull backfaces */
|
||||
#define D3DRMWIREFRAME_HIDDENLINE 2 /* lines are obscured by closer objects */
|
||||
|
||||
typedef enum _D3DRMPROJECTIONTYPE
|
||||
{ D3DRMPROJECT_PERSPECTIVE,
|
||||
D3DRMPROJECT_ORTHOGRAPHIC,
|
||||
D3DRMPROJECT_RIGHTHANDPERSPECTIVE,
|
||||
D3DRMPROJECT_RIGHTHANDORTHOGRAPHIC
|
||||
} D3DRMPROJECTIONTYPE, *LPD3DRMPROJECTIONTYPE;
|
||||
|
||||
typedef enum _D3DRMXOFFORMAT
|
||||
{ D3DRMXOF_BINARY,
|
||||
D3DRMXOF_COMPRESSED,
|
||||
D3DRMXOF_TEXT
|
||||
} D3DRMXOFFORMAT, *LPD3DRMXOFFORMAT;
|
||||
|
||||
typedef DWORD D3DRMSAVEOPTIONS;
|
||||
#define D3DRMXOFSAVE_NORMALS 1
|
||||
#define D3DRMXOFSAVE_TEXTURECOORDINATES 2
|
||||
#define D3DRMXOFSAVE_MATERIALS 4
|
||||
#define D3DRMXOFSAVE_TEXTURENAMES 8
|
||||
#define D3DRMXOFSAVE_ALL 15
|
||||
#define D3DRMXOFSAVE_TEMPLATES 16
|
||||
#define D3DRMXOFSAVE_TEXTURETOPOLOGY 32
|
||||
|
||||
typedef enum _D3DRMCOLORSOURCE
|
||||
{ D3DRMCOLOR_FROMFACE,
|
||||
D3DRMCOLOR_FROMVERTEX
|
||||
} D3DRMCOLORSOURCE, *LPD3DRMCOLORSOURCE;
|
||||
|
||||
typedef enum _D3DRMFRAMECONSTRAINT
|
||||
{ D3DRMCONSTRAIN_Z, /* use only X and Y rotations */
|
||||
D3DRMCONSTRAIN_Y, /* use only X and Z rotations */
|
||||
D3DRMCONSTRAIN_X /* use only Y and Z rotations */
|
||||
} D3DRMFRAMECONSTRAINT, *LPD3DRMFRAMECONSTRAINT;
|
||||
|
||||
typedef enum _D3DRMMATERIALMODE
|
||||
{ D3DRMMATERIAL_FROMMESH,
|
||||
D3DRMMATERIAL_FROMPARENT,
|
||||
D3DRMMATERIAL_FROMFRAME
|
||||
} D3DRMMATERIALMODE, *LPD3DRMMATERIALMODE;
|
||||
|
||||
typedef enum _D3DRMFOGMODE
|
||||
{ D3DRMFOG_LINEAR, /* linear between start and end */
|
||||
D3DRMFOG_EXPONENTIAL, /* density * exp(-distance) */
|
||||
D3DRMFOG_EXPONENTIALSQUARED /* density * exp(-distance*distance) */
|
||||
} D3DRMFOGMODE, *LPD3DRMFOGMODE;
|
||||
|
||||
typedef enum _D3DRMZBUFFERMODE {
|
||||
D3DRMZBUFFER_FROMPARENT, /* default */
|
||||
D3DRMZBUFFER_ENABLE, /* enable zbuffering */
|
||||
D3DRMZBUFFER_DISABLE /* disable zbuffering */
|
||||
} D3DRMZBUFFERMODE, *LPD3DRMZBUFFERMODE;
|
||||
|
||||
typedef enum _D3DRMSORTMODE {
|
||||
D3DRMSORT_FROMPARENT, /* default */
|
||||
D3DRMSORT_NONE, /* don't sort child frames */
|
||||
D3DRMSORT_FRONTTOBACK, /* sort child frames front-to-back */
|
||||
D3DRMSORT_BACKTOFRONT /* sort child frames back-to-front */
|
||||
} D3DRMSORTMODE, *LPD3DRMSORTMODE;
|
||||
|
||||
/*
|
||||
* Values for flags in Frame2::AddMoveCallback.
|
||||
*/
|
||||
#define D3DRMCALLBACK_PREORDER 0
|
||||
#define D3DRMCALLBACK_POSTORDER 1
|
||||
|
||||
/*
|
||||
* Values for flags in MeshBuilder2::RayPick.
|
||||
*/
|
||||
#define D3DRMRAYPICK_ONLYBOUNDINGBOXES 1
|
||||
#define D3DRMRAYPICK_IGNOREFURTHERPRIMITIVES 2
|
||||
#define D3DRMRAYPICK_INTERPOLATEUV 4
|
||||
#define D3DRMRAYPICK_INTERPOLATECOLOR 8
|
||||
#define D3DRMRAYPICK_INTERPOLATENORMAL 0x10
|
||||
|
||||
/*
|
||||
* Values for flags in MeshBuilder2::GenerateNormals.
|
||||
*/
|
||||
#define D3DRMGENERATENORMALS_PRECOMPACT 1
|
||||
#define D3DRMGENERATENORMALS_USECREASEANGLE 2
|
||||
|
||||
typedef DWORD D3DRMANIMATIONOPTIONS;
|
||||
#define D3DRMANIMATION_OPEN 0x01L
|
||||
#define D3DRMANIMATION_CLOSED 0x02L
|
||||
#define D3DRMANIMATION_LINEARPOSITION 0x04L
|
||||
#define D3DRMANIMATION_SPLINEPOSITION 0x08L
|
||||
#define D3DRMANIMATION_SCALEANDROTATION 0x00000010L
|
||||
#define D3DRMANIMATION_POSITION 0x00000020L
|
||||
|
||||
typedef DWORD D3DRMINTERPOLATIONOPTIONS;
|
||||
#define D3DRMINTERPOLATION_OPEN 0x01L
|
||||
#define D3DRMINTERPOLATION_CLOSED 0x02L
|
||||
#define D3DRMINTERPOLATION_NEAREST 0x0100L
|
||||
#define D3DRMINTERPOLATION_LINEAR 0x04L
|
||||
#define D3DRMINTERPOLATION_SPLINE 0x08L
|
||||
#define D3DRMINTERPOLATION_VERTEXCOLOR 0x40L
|
||||
#define D3DRMINTERPOLATION_SLERPNORMALS 0x80L
|
||||
|
||||
typedef DWORD D3DRMLOADOPTIONS;
|
||||
|
||||
#define D3DRMLOAD_FROMFILE 0x00L
|
||||
#define D3DRMLOAD_FROMRESOURCE 0x01L
|
||||
#define D3DRMLOAD_FROMMEMORY 0x02L
|
||||
#define D3DRMLOAD_FROMSTREAM 0x04L
|
||||
#define D3DRMLOAD_FROMURL 0x08L
|
||||
|
||||
#define D3DRMLOAD_BYNAME 0x10L
|
||||
#define D3DRMLOAD_BYPOSITION 0x20L
|
||||
#define D3DRMLOAD_BYGUID 0x40L
|
||||
#define D3DRMLOAD_FIRST 0x80L
|
||||
|
||||
#define D3DRMLOAD_INSTANCEBYREFERENCE 0x100L
|
||||
#define D3DRMLOAD_INSTANCEBYCOPYING 0x200L
|
||||
|
||||
#define D3DRMLOAD_ASYNCHRONOUS 0x400L
|
||||
|
||||
typedef struct _D3DRMLOADRESOURCE {
|
||||
HMODULE hModule;
|
||||
LPCTSTR lpName;
|
||||
LPCTSTR lpType;
|
||||
} D3DRMLOADRESOURCE, *LPD3DRMLOADRESOURCE;
|
||||
|
||||
typedef struct _D3DRMLOADMEMORY {
|
||||
LPVOID lpMemory;
|
||||
DWORD dSize;
|
||||
} D3DRMLOADMEMORY, *LPD3DRMLOADMEMORY;
|
||||
|
||||
#define D3DRMPMESHSTATUS_VALID 0x01L
|
||||
#define D3DRMPMESHSTATUS_INTERRUPTED 0x02L
|
||||
#define D3DRMPMESHSTATUS_BASEMESHCOMPLETE 0x04L
|
||||
#define D3DRMPMESHSTATUS_COMPLETE 0x08L
|
||||
#define D3DRMPMESHSTATUS_RENDERABLE 0x10L
|
||||
|
||||
#define D3DRMPMESHEVENT_BASEMESH 0x01L
|
||||
#define D3DRMPMESHEVENT_COMPLETE 0x02L
|
||||
|
||||
typedef struct _D3DRMPMESHLOADSTATUS {
|
||||
DWORD dwSize; // Size of this structure
|
||||
DWORD dwPMeshSize; // Total Size (bytes)
|
||||
DWORD dwBaseMeshSize; // Total Size of the Base Mesh
|
||||
DWORD dwBytesLoaded; // Total bytes loaded
|
||||
DWORD dwVerticesLoaded; // Number of vertices loaded
|
||||
DWORD dwFacesLoaded; // Number of faces loaded
|
||||
HRESULT dwLoadResult; // Result of the load operation
|
||||
DWORD dwFlags;
|
||||
} D3DRMPMESHLOADSTATUS, *LPD3DRMPMESHLOADSTATUS;
|
||||
|
||||
typedef enum _D3DRMUSERVISUALREASON {
|
||||
D3DRMUSERVISUAL_CANSEE,
|
||||
D3DRMUSERVISUAL_RENDER
|
||||
} D3DRMUSERVISUALREASON, *LPD3DRMUSERVISUALREASON;
|
||||
|
||||
|
||||
typedef DWORD D3DRMMAPPING, D3DRMMAPPINGFLAG, *LPD3DRMMAPPING;
|
||||
static const D3DRMMAPPINGFLAG D3DRMMAP_WRAPU = 1;
|
||||
static const D3DRMMAPPINGFLAG D3DRMMAP_WRAPV = 2;
|
||||
static const D3DRMMAPPINGFLAG D3DRMMAP_PERSPCORRECT = 4;
|
||||
|
||||
typedef struct _D3DRMVERTEX
|
||||
{ D3DVECTOR position;
|
||||
D3DVECTOR normal;
|
||||
D3DVALUE tu, tv;
|
||||
D3DCOLOR color;
|
||||
} D3DRMVERTEX, *LPD3DRMVERTEX;
|
||||
|
||||
typedef LONG D3DRMGROUPINDEX; /* group indexes begin a 0 */
|
||||
static const D3DRMGROUPINDEX D3DRMGROUP_ALLGROUPS = -1;
|
||||
|
||||
/*
|
||||
* Create a color from three components in the range 0-1 inclusive.
|
||||
*/
|
||||
extern D3DCOLOR D3DRMAPI D3DRMCreateColorRGB(D3DVALUE red,
|
||||
D3DVALUE green,
|
||||
D3DVALUE blue);
|
||||
|
||||
/*
|
||||
* Create a color from four components in the range 0-1 inclusive.
|
||||
*/
|
||||
extern D3DCOLOR D3DRMAPI D3DRMCreateColorRGBA(D3DVALUE red,
|
||||
D3DVALUE green,
|
||||
D3DVALUE blue,
|
||||
D3DVALUE alpha);
|
||||
|
||||
/*
|
||||
* Get the red component of a color.
|
||||
*/
|
||||
extern D3DVALUE D3DRMAPI D3DRMColorGetRed(D3DCOLOR);
|
||||
|
||||
/*
|
||||
* Get the green component of a color.
|
||||
*/
|
||||
extern D3DVALUE D3DRMAPI D3DRMColorGetGreen(D3DCOLOR);
|
||||
|
||||
/*
|
||||
* Get the blue component of a color.
|
||||
*/
|
||||
extern D3DVALUE D3DRMAPI D3DRMColorGetBlue(D3DCOLOR);
|
||||
|
||||
/*
|
||||
* Get the alpha component of a color.
|
||||
*/
|
||||
extern D3DVALUE D3DRMAPI D3DRMColorGetAlpha(D3DCOLOR);
|
||||
|
||||
/*
|
||||
* Add two vectors. Returns its first argument.
|
||||
*/
|
||||
extern LPD3DVECTOR D3DRMAPI D3DRMVectorAdd(LPD3DVECTOR d,
|
||||
LPD3DVECTOR s1,
|
||||
LPD3DVECTOR s2);
|
||||
|
||||
/*
|
||||
* Subtract two vectors. Returns its first argument.
|
||||
*/
|
||||
extern LPD3DVECTOR D3DRMAPI D3DRMVectorSubtract(LPD3DVECTOR d,
|
||||
LPD3DVECTOR s1,
|
||||
LPD3DVECTOR s2);
|
||||
/*
|
||||
* Reflect a ray about a given normal. Returns its first argument.
|
||||
*/
|
||||
extern LPD3DVECTOR D3DRMAPI D3DRMVectorReflect(LPD3DVECTOR d,
|
||||
LPD3DVECTOR ray,
|
||||
LPD3DVECTOR norm);
|
||||
|
||||
/*
|
||||
* Calculate the vector cross product. Returns its first argument.
|
||||
*/
|
||||
extern LPD3DVECTOR D3DRMAPI D3DRMVectorCrossProduct(LPD3DVECTOR d,
|
||||
LPD3DVECTOR s1,
|
||||
LPD3DVECTOR s2);
|
||||
/*
|
||||
* Return the vector dot product.
|
||||
*/
|
||||
extern D3DVALUE D3DRMAPI D3DRMVectorDotProduct(LPD3DVECTOR s1,
|
||||
LPD3DVECTOR s2);
|
||||
|
||||
/*
|
||||
* Scale a vector so that its modulus is 1. Returns its argument or
|
||||
* NULL if there was an error (e.g. a zero vector was passed).
|
||||
*/
|
||||
extern LPD3DVECTOR D3DRMAPI D3DRMVectorNormalize(LPD3DVECTOR);
|
||||
#define D3DRMVectorNormalise D3DRMVectorNormalize
|
||||
|
||||
/*
|
||||
* Return the length of a vector (e.g. sqrt(x*x + y*y + z*z)).
|
||||
*/
|
||||
extern D3DVALUE D3DRMAPI D3DRMVectorModulus(LPD3DVECTOR v);
|
||||
|
||||
/*
|
||||
* Set the rotation part of a matrix to be a rotation of theta radians
|
||||
* around the given axis.
|
||||
*/
|
||||
|
||||
extern LPD3DVECTOR D3DRMAPI D3DRMVectorRotate(LPD3DVECTOR r, LPD3DVECTOR v, LPD3DVECTOR axis, D3DVALUE theta);
|
||||
|
||||
/*
|
||||
* Scale a vector uniformly in all three axes
|
||||
*/
|
||||
extern LPD3DVECTOR D3DRMAPI D3DRMVectorScale(LPD3DVECTOR d, LPD3DVECTOR s, D3DVALUE factor);
|
||||
|
||||
/*
|
||||
* Return a random unit vector
|
||||
*/
|
||||
extern LPD3DVECTOR D3DRMAPI D3DRMVectorRandom(LPD3DVECTOR d);
|
||||
|
||||
/*
|
||||
* Returns a unit quaternion that represents a rotation of theta radians
|
||||
* around the given axis.
|
||||
*/
|
||||
|
||||
extern LPD3DRMQUATERNION D3DRMAPI D3DRMQuaternionFromRotation(LPD3DRMQUATERNION quat,
|
||||
LPD3DVECTOR v,
|
||||
D3DVALUE theta);
|
||||
|
||||
/*
|
||||
* Calculate the product of two quaternions
|
||||
*/
|
||||
extern LPD3DRMQUATERNION D3DRMAPI D3DRMQuaternionMultiply(LPD3DRMQUATERNION q,
|
||||
LPD3DRMQUATERNION a,
|
||||
LPD3DRMQUATERNION b);
|
||||
|
||||
/*
|
||||
* Interpolate between two quaternions
|
||||
*/
|
||||
extern LPD3DRMQUATERNION D3DRMAPI D3DRMQuaternionSlerp(LPD3DRMQUATERNION q,
|
||||
LPD3DRMQUATERNION a,
|
||||
LPD3DRMQUATERNION b,
|
||||
D3DVALUE alpha);
|
||||
|
||||
/*
|
||||
* Calculate the matrix for the rotation that a unit quaternion represents
|
||||
*/
|
||||
extern void D3DRMAPI D3DRMMatrixFromQuaternion(D3DRMMATRIX4D dmMat, LPD3DRMQUATERNION lpDqQuat);
|
||||
|
||||
/*
|
||||
* Calculate the quaternion that corresponds to a rotation matrix
|
||||
*/
|
||||
extern LPD3DRMQUATERNION D3DRMAPI D3DRMQuaternionFromMatrix(LPD3DRMQUATERNION, D3DRMMATRIX4D);
|
||||
|
||||
|
||||
#if defined(__cplusplus)
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif
|
||||
1100
3rdparty/dx5/inc/d3drmobj.h
vendored
Normal file
1100
3rdparty/dx5/inc/d3drmobj.h
vendored
Normal file
File diff suppressed because it is too large
Load Diff
48
3rdparty/dx5/inc/d3drmwin.h
vendored
Normal file
48
3rdparty/dx5/inc/d3drmwin.h
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
/*==========================================================================;
|
||||
*
|
||||
* Copyright (C) 1995-1997 Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: d3drm.h
|
||||
* Content: Direct3DRM include file
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef __D3DRMWIN_H__
|
||||
#define __D3DRMWIN_H__
|
||||
|
||||
#ifndef WIN32
|
||||
#define WIN32
|
||||
#endif
|
||||
|
||||
#include "d3drm.h"
|
||||
#include "ddraw.h"
|
||||
#include "d3d.h"
|
||||
|
||||
/*
|
||||
* GUIDS used by Direct3DRM Windows interface
|
||||
*/
|
||||
DEFINE_GUID(IID_IDirect3DRMWinDevice, 0xc5016cc0, 0xd273, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
|
||||
|
||||
WIN_TYPES(IDirect3DRMWinDevice, DIRECT3DRMWINDEVICE);
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3DRMWinDevice
|
||||
|
||||
DECLARE_INTERFACE_(IDirect3DRMWinDevice, IDirect3DRMObject)
|
||||
{
|
||||
IUNKNOWN_METHODS(PURE);
|
||||
IDIRECT3DRMOBJECT_METHODS(PURE);
|
||||
|
||||
/*
|
||||
* IDirect3DRMWinDevice methods
|
||||
*/
|
||||
|
||||
/* Repaint the window with the last frame which was rendered. */
|
||||
STDMETHOD(HandlePaint)(THIS_ HDC hdc) PURE;
|
||||
|
||||
/* Respond to a WM_ACTIVATE message. */
|
||||
STDMETHOD(HandleActivate)(THIS_ WORD wparam) PURE;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
1201
3rdparty/dx5/inc/d3dtypes.h
vendored
Normal file
1201
3rdparty/dx5/inc/d3dtypes.h
vendored
Normal file
File diff suppressed because it is too large
Load Diff
240
3rdparty/dx5/inc/d3dvec.inl
vendored
Normal file
240
3rdparty/dx5/inc/d3dvec.inl
vendored
Normal file
@ -0,0 +1,240 @@
|
||||
|
||||
/******************************************************************
|
||||
* *
|
||||
* D3DVec.inl *
|
||||
* *
|
||||
* Float-valued 3D vector class for Direct3D. *
|
||||
* *
|
||||
* Copyright (c) 1996-1997 Microsoft Corp. All rights reserved. *
|
||||
* *
|
||||
******************************************************************/
|
||||
|
||||
#include <math.h>
|
||||
|
||||
// =====================================
|
||||
// Constructors
|
||||
// =====================================
|
||||
|
||||
inline
|
||||
_D3DVECTOR::_D3DVECTOR(D3DVALUE f)
|
||||
{
|
||||
x = y = z = f;
|
||||
}
|
||||
|
||||
inline
|
||||
_D3DVECTOR::_D3DVECTOR(D3DVALUE _x, D3DVALUE _y, D3DVALUE _z)
|
||||
{
|
||||
x = _x; y = _y; z = _z;
|
||||
}
|
||||
|
||||
inline
|
||||
_D3DVECTOR::_D3DVECTOR(const D3DVALUE f[3])
|
||||
{
|
||||
x = f[0]; y = f[1]; z = f[2];
|
||||
}
|
||||
|
||||
// =====================================
|
||||
// Access grants
|
||||
// =====================================
|
||||
|
||||
inline const D3DVALUE&
|
||||
_D3DVECTOR::operator[](int i) const
|
||||
{
|
||||
return (&x)[i];
|
||||
}
|
||||
|
||||
inline D3DVALUE&
|
||||
_D3DVECTOR::operator[](int i)
|
||||
{
|
||||
return (&x)[i];
|
||||
}
|
||||
|
||||
|
||||
// =====================================
|
||||
// Assignment operators
|
||||
// =====================================
|
||||
|
||||
inline _D3DVECTOR&
|
||||
_D3DVECTOR::operator += (const _D3DVECTOR& v)
|
||||
{
|
||||
x += v.x; y += v.y; z += v.z;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline _D3DVECTOR&
|
||||
_D3DVECTOR::operator -= (const _D3DVECTOR& v)
|
||||
{
|
||||
x -= v.x; y -= v.y; z -= v.z;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline _D3DVECTOR&
|
||||
_D3DVECTOR::operator *= (const _D3DVECTOR& v)
|
||||
{
|
||||
x *= v.x; y *= v.y; z *= v.z;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline _D3DVECTOR&
|
||||
_D3DVECTOR::operator /= (const _D3DVECTOR& v)
|
||||
{
|
||||
x /= v.x; y /= v.y; z /= v.z;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline _D3DVECTOR&
|
||||
_D3DVECTOR::operator *= (D3DVALUE s)
|
||||
{
|
||||
x *= s; y *= s; z *= s;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline _D3DVECTOR&
|
||||
_D3DVECTOR::operator /= (D3DVALUE s)
|
||||
{
|
||||
x /= s; y /= s; z /= s;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline _D3DVECTOR
|
||||
operator + (const _D3DVECTOR& v)
|
||||
{
|
||||
return v;
|
||||
}
|
||||
|
||||
inline _D3DVECTOR
|
||||
operator - (const _D3DVECTOR& v)
|
||||
{
|
||||
return _D3DVECTOR(-v.x, -v.y, -v.z);
|
||||
}
|
||||
|
||||
inline _D3DVECTOR
|
||||
operator + (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
|
||||
{
|
||||
return _D3DVECTOR(v1.x+v2.x, v1.y+v2.y, v1.z+v2.z);
|
||||
}
|
||||
|
||||
inline _D3DVECTOR
|
||||
operator - (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
|
||||
{
|
||||
return _D3DVECTOR(v1.x-v2.x, v1.y-v2.y, v1.z-v2.z);
|
||||
}
|
||||
|
||||
inline _D3DVECTOR
|
||||
operator * (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
|
||||
{
|
||||
return _D3DVECTOR(v1.x*v2.x, v1.y*v2.y, v1.z*v2.z);
|
||||
}
|
||||
|
||||
inline _D3DVECTOR
|
||||
operator / (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
|
||||
{
|
||||
return _D3DVECTOR(v1.x/v2.x, v1.y/v2.y, v1.z/v2.z);
|
||||
}
|
||||
|
||||
inline int
|
||||
operator < (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
|
||||
{
|
||||
return v1[0] < v2[0] && v1[1] < v2[1] && v1[2] < v2[2];
|
||||
}
|
||||
|
||||
inline int
|
||||
operator <= (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
|
||||
{
|
||||
return v1[0] <= v2[0] && v1[1] <= v2[1] && v1[2] <= v2[2];
|
||||
}
|
||||
|
||||
inline _D3DVECTOR
|
||||
operator * (const _D3DVECTOR& v, D3DVALUE s)
|
||||
{
|
||||
return _D3DVECTOR(s*v.x, s*v.y, s*v.z);
|
||||
}
|
||||
|
||||
inline _D3DVECTOR
|
||||
operator * (D3DVALUE s, const _D3DVECTOR& v)
|
||||
{
|
||||
return _D3DVECTOR(s*v.x, s*v.y, s*v.z);
|
||||
}
|
||||
|
||||
inline _D3DVECTOR
|
||||
operator / (const _D3DVECTOR& v, D3DVALUE s)
|
||||
{
|
||||
return _D3DVECTOR(v.x/s, v.y/s, v.z/s);
|
||||
}
|
||||
|
||||
inline int
|
||||
operator == (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
|
||||
{
|
||||
return v1.x==v2.x && v1.y==v2.y && v1.z == v2.z;
|
||||
}
|
||||
|
||||
inline D3DVALUE
|
||||
Magnitude (const _D3DVECTOR& v)
|
||||
{
|
||||
return (D3DVALUE) sqrt(SquareMagnitude(v));
|
||||
}
|
||||
|
||||
inline D3DVALUE
|
||||
SquareMagnitude (const _D3DVECTOR& v)
|
||||
{
|
||||
return v.x*v.x + v.y*v.y + v.z*v.z;
|
||||
}
|
||||
|
||||
inline _D3DVECTOR
|
||||
Normalize (const _D3DVECTOR& v)
|
||||
{
|
||||
return v / Magnitude(v);
|
||||
}
|
||||
|
||||
inline D3DVALUE
|
||||
Min (const _D3DVECTOR& v)
|
||||
{
|
||||
D3DVALUE ret = v.x;
|
||||
if (v.y < ret) ret = v.y;
|
||||
if (v.z < ret) ret = v.z;
|
||||
return ret;
|
||||
}
|
||||
|
||||
inline D3DVALUE
|
||||
Max (const _D3DVECTOR& v)
|
||||
{
|
||||
D3DVALUE ret = v.x;
|
||||
if (ret < v.y) ret = v.y;
|
||||
if (ret < v.z) ret = v.z;
|
||||
return ret;
|
||||
}
|
||||
|
||||
inline _D3DVECTOR
|
||||
Minimize (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
|
||||
{
|
||||
return _D3DVECTOR( v1[0] < v2[0] ? v1[0] : v2[0],
|
||||
v1[1] < v2[1] ? v1[1] : v2[1],
|
||||
v1[2] < v2[2] ? v1[2] : v2[2]);
|
||||
}
|
||||
|
||||
inline _D3DVECTOR
|
||||
Maximize (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
|
||||
{
|
||||
return _D3DVECTOR( v1[0] > v2[0] ? v1[0] : v2[0],
|
||||
v1[1] > v2[1] ? v1[1] : v2[1],
|
||||
v1[2] > v2[2] ? v1[2] : v2[2]);
|
||||
}
|
||||
|
||||
inline D3DVALUE
|
||||
DotProduct (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
|
||||
{
|
||||
return v1.x*v2.x + v1.y * v2.y + v1.z*v2.z;
|
||||
}
|
||||
|
||||
inline _D3DVECTOR
|
||||
CrossProduct (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
|
||||
{
|
||||
_D3DVECTOR result;
|
||||
|
||||
result[0] = v1[1] * v2[2] - v1[2] * v2[1];
|
||||
result[1] = v1[2] * v2[0] - v1[0] * v2[2];
|
||||
result[2] = v1[0] * v2[1] - v1[1] * v2[0];
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
3791
3rdparty/dx5/inc/ddraw.h
vendored
Normal file
3791
3rdparty/dx5/inc/ddraw.h
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1849
3rdparty/dx5/inc/dinput.h
vendored
Normal file
1849
3rdparty/dx5/inc/dinput.h
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1710
3rdparty/dx5/inc/dplay.h
vendored
Normal file
1710
3rdparty/dx5/inc/dplay.h
vendored
Normal file
File diff suppressed because it is too large
Load Diff
627
3rdparty/dx5/inc/dplobby.h
vendored
Normal file
627
3rdparty/dx5/inc/dplobby.h
vendored
Normal file
@ -0,0 +1,627 @@
|
||||
/*==========================================================================;
|
||||
*
|
||||
* Copyright (C) 1996-1997 Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: dplobby.h
|
||||
* Content: DirectPlayLobby include file
|
||||
***************************************************************************/
|
||||
#ifndef __DPLOBBY_INCLUDED__
|
||||
#define __DPLOBBY_INCLUDED__
|
||||
|
||||
#include "dplay.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/*
|
||||
* GUIDS used by DirectPlay objects
|
||||
*/
|
||||
|
||||
/* {AF465C71-9588-11cf-A020-00AA006157AC} */
|
||||
DEFINE_GUID(IID_IDirectPlayLobby, 0xaf465c71, 0x9588, 0x11cf, 0xa0, 0x20, 0x0, 0xaa, 0x0, 0x61, 0x57, 0xac);
|
||||
/* {26C66A70-B367-11cf-A024-00AA006157AC} */
|
||||
DEFINE_GUID(IID_IDirectPlayLobbyA, 0x26c66a70, 0xb367, 0x11cf, 0xa0, 0x24, 0x0, 0xaa, 0x0, 0x61, 0x57, 0xac);
|
||||
/* {0194C220-A303-11d0-9C4F-00A0C905425E} */
|
||||
DEFINE_GUID(IID_IDirectPlayLobby2, 0x194c220, 0xa303, 0x11d0, 0x9c, 0x4f, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
|
||||
/* {1BB4AF80-A303-11d0-9C4F-00A0C905425E} */
|
||||
DEFINE_GUID(IID_IDirectPlayLobby2A, 0x1bb4af80, 0xa303, 0x11d0, 0x9c, 0x4f, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
|
||||
/* {2FE8F810-B2A5-11d0-A787-0000F803ABFC} */
|
||||
DEFINE_GUID(CLSID_DirectPlayLobby, 0x2fe8f810, 0xb2a5, 0x11d0, 0xa7, 0x87, 0x0, 0x0, 0xf8, 0x3, 0xab, 0xfc);
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* IDirectPlayLobby Structures
|
||||
*
|
||||
* Various structures used to invoke DirectPlayLobby.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
typedef struct IDirectPlayLobby FAR *LPDIRECTPLAYLOBBY;
|
||||
typedef struct IDirectPlayLobby FAR *LPDIRECTPLAYLOBBYA;
|
||||
typedef struct IDirectPlayLobby IDirectPlayLobbyA;
|
||||
|
||||
typedef struct IDirectPlayLobby2 FAR *LPDIRECTPLAYLOBBY2;
|
||||
typedef struct IDirectPlayLobby2 FAR *LPDIRECTPLAYLOBBY2A;
|
||||
typedef struct IDirectPlayLobby2 IDirectPlayLobby2A;
|
||||
|
||||
|
||||
/*
|
||||
* DPLAPPINFO
|
||||
* Used to hold information about a registered DirectPlay
|
||||
* application
|
||||
*/
|
||||
typedef struct DPLAPPINFO
|
||||
{
|
||||
DWORD dwSize; // Size of this structure
|
||||
GUID guidApplication; // GUID of the Application
|
||||
union
|
||||
{
|
||||
LPSTR lpszAppNameA; // Pointer to the Application Name
|
||||
LPWSTR lpszAppName;
|
||||
};
|
||||
|
||||
} DPLAPPINFO, FAR *LPDPLAPPINFO;
|
||||
|
||||
/*
|
||||
* LPCDPLAPPINFO
|
||||
* A constant pointer to DPLAPPINFO
|
||||
*/
|
||||
typedef const DPLAPPINFO FAR *LPCDPLAPPINFO;
|
||||
|
||||
/*
|
||||
* DPCOMPOUNDADDRESSELEMENT
|
||||
*
|
||||
* An array of these is passed to CreateCompoundAddresses()
|
||||
*/
|
||||
typedef struct DPCOMPOUNDADDRESSELEMENT
|
||||
{
|
||||
GUID guidDataType;
|
||||
DWORD dwDataSize;
|
||||
LPVOID lpData;
|
||||
} DPCOMPOUNDADDRESSELEMENT, FAR *LPDPCOMPOUNDADDRESSELEMENT;
|
||||
|
||||
/*
|
||||
* LPCDPCOMPOUNDADDRESSELEMENT
|
||||
* A constant pointer to DPCOMPOUNDADDRESSELEMENT
|
||||
*/
|
||||
typedef const DPCOMPOUNDADDRESSELEMENT FAR *LPCDPCOMPOUNDADDRESSELEMENT;
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* Enumeration Method Callback Prototypes
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* Callback for EnumAddress()
|
||||
*/
|
||||
typedef BOOL (FAR PASCAL *LPDPENUMADDRESSCALLBACK)(
|
||||
REFGUID guidDataType,
|
||||
DWORD dwDataSize,
|
||||
LPCVOID lpData,
|
||||
LPVOID lpContext);
|
||||
|
||||
/*
|
||||
* Callback for EnumAddressTypes()
|
||||
*/
|
||||
typedef BOOL (FAR PASCAL *LPDPLENUMADDRESSTYPESCALLBACK)(
|
||||
REFGUID guidDataType,
|
||||
LPVOID lpContext,
|
||||
DWORD dwFlags);
|
||||
|
||||
/*
|
||||
* Callback for EnumLocalApplications()
|
||||
*/
|
||||
typedef BOOL (FAR PASCAL * LPDPLENUMLOCALAPPLICATIONSCALLBACK)(
|
||||
LPCDPLAPPINFO lpAppInfo,
|
||||
LPVOID lpContext,
|
||||
DWORD dwFlags);
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* DirectPlayLobby API Prototypes
|
||||
*
|
||||
****************************************************************************/
|
||||
#ifdef UNICODE
|
||||
#define DirectPlayLobbyCreate DirectPlayLobbyCreateW
|
||||
#else
|
||||
#define DirectPlayLobbyCreate DirectPlayLobbyCreateA
|
||||
#endif /* UNICODE */
|
||||
|
||||
extern HRESULT WINAPI DirectPlayLobbyCreateW(LPGUID, LPDIRECTPLAYLOBBY *, IUnknown *, LPVOID, DWORD );
|
||||
extern HRESULT WINAPI DirectPlayLobbyCreateA(LPGUID, LPDIRECTPLAYLOBBYA *, IUnknown *, LPVOID, DWORD );
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* IDirectPlayLobby (and IDirectPlayLobbyA) Interface
|
||||
*
|
||||
****************************************************************************/
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirectPlayLobby
|
||||
DECLARE_INTERFACE_( IDirectPlayLobby, IUnknown )
|
||||
{
|
||||
/* IUnknown Methods */
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
|
||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||||
|
||||
/* IDirectPlayLobby Methods */
|
||||
STDMETHOD(Connect) (THIS_ DWORD, LPDIRECTPLAY2 *, IUnknown FAR *) PURE;
|
||||
STDMETHOD(CreateAddress) (THIS_ REFGUID, REFGUID, LPCVOID, DWORD, LPVOID, LPDWORD) PURE;
|
||||
STDMETHOD(EnumAddress) (THIS_ LPDPENUMADDRESSCALLBACK, LPCVOID, DWORD, LPVOID) PURE;
|
||||
STDMETHOD(EnumAddressTypes) (THIS_ LPDPLENUMADDRESSTYPESCALLBACK, REFGUID, LPVOID, DWORD) PURE;
|
||||
STDMETHOD(EnumLocalApplications)(THIS_ LPDPLENUMLOCALAPPLICATIONSCALLBACK, LPVOID, DWORD) PURE;
|
||||
STDMETHOD(GetConnectionSettings)(THIS_ DWORD, LPVOID, LPDWORD) PURE;
|
||||
STDMETHOD(ReceiveLobbyMessage) (THIS_ DWORD, DWORD, LPDWORD, LPVOID, LPDWORD) PURE;
|
||||
STDMETHOD(RunApplication) (THIS_ DWORD, LPDWORD, LPDPLCONNECTION, HANDLE) PURE;
|
||||
STDMETHOD(SendLobbyMessage) (THIS_ DWORD, DWORD, LPVOID, DWORD) PURE;
|
||||
STDMETHOD(SetConnectionSettings)(THIS_ DWORD, DWORD, LPDPLCONNECTION) PURE;
|
||||
STDMETHOD(SetLobbyMessageEvent) (THIS_ DWORD, DWORD, HANDLE) PURE;
|
||||
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* IDirectPlayLobby2 (and IDirectPlayLobby2A) Interface
|
||||
*
|
||||
****************************************************************************/
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirectPlayLobby2
|
||||
DECLARE_INTERFACE_( IDirectPlayLobby2, IDirectPlayLobby )
|
||||
{
|
||||
/* IUnknown Methods */
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
|
||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||||
|
||||
/* IDirectPlayLobby Methods */
|
||||
STDMETHOD(Connect) (THIS_ DWORD, LPDIRECTPLAY2 *, IUnknown FAR *) PURE;
|
||||
STDMETHOD(CreateAddress) (THIS_ REFGUID, REFGUID, LPCVOID, DWORD, LPVOID, LPDWORD) PURE;
|
||||
STDMETHOD(EnumAddress) (THIS_ LPDPENUMADDRESSCALLBACK, LPCVOID, DWORD, LPVOID) PURE;
|
||||
STDMETHOD(EnumAddressTypes) (THIS_ LPDPLENUMADDRESSTYPESCALLBACK, REFGUID, LPVOID, DWORD) PURE;
|
||||
STDMETHOD(EnumLocalApplications)(THIS_ LPDPLENUMLOCALAPPLICATIONSCALLBACK, LPVOID, DWORD) PURE;
|
||||
STDMETHOD(GetConnectionSettings)(THIS_ DWORD, LPVOID, LPDWORD) PURE;
|
||||
STDMETHOD(ReceiveLobbyMessage) (THIS_ DWORD, DWORD, LPDWORD, LPVOID, LPDWORD) PURE;
|
||||
STDMETHOD(RunApplication) (THIS_ DWORD, LPDWORD, LPDPLCONNECTION, HANDLE) PURE;
|
||||
STDMETHOD(SendLobbyMessage) (THIS_ DWORD, DWORD, LPVOID, DWORD) PURE;
|
||||
STDMETHOD(SetConnectionSettings)(THIS_ DWORD, DWORD, LPDPLCONNECTION) PURE;
|
||||
STDMETHOD(SetLobbyMessageEvent) (THIS_ DWORD, DWORD, HANDLE) PURE;
|
||||
|
||||
/* IDirectPlayLobby2 Methods */
|
||||
STDMETHOD(CreateCompoundAddress)(THIS_ LPCDPCOMPOUNDADDRESSELEMENT,DWORD,LPVOID,LPDWORD) PURE;
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* IDirectPlayLobby interface macros
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
|
||||
#define IDirectPlayLobby_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDirectPlayLobby_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirectPlayLobby_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirectPlayLobby_Connect(p,a,b,c) (p)->lpVtbl->Connect(p,a,b,c)
|
||||
#define IDirectPlayLobby_CreateAddress(p,a,b,c,d,e,f) (p)->lpVtbl->CreateAddress(p,a,b,c,d,e,f)
|
||||
#define IDirectPlayLobby_CreateCompoundAddress(p,a,b,c,d) (p)->lpVtbl->CreateCompoundAddress(p,a,b,c,d)
|
||||
#define IDirectPlayLobby_EnumAddress(p,a,b,c,d) (p)->lpVtbl->EnumAddress(p,a,b,c,d)
|
||||
#define IDirectPlayLobby_EnumAddressTypes(p,a,b,c,d) (p)->lpVtbl->EnumAddressTypes(p,a,b,c,d)
|
||||
#define IDirectPlayLobby_EnumLocalApplications(p,a,b,c) (p)->lpVtbl->EnumLocalApplications(p,a,b,c)
|
||||
#define IDirectPlayLobby_GetConnectionSettings(p,a,b,c) (p)->lpVtbl->GetConnectionSettings(p,a,b,c)
|
||||
#define IDirectPlayLobby_ReceiveLobbyMessage(p,a,b,c,d,e) (p)->lpVtbl->ReceiveLobbyMessage(p,a,b,c,d,e)
|
||||
#define IDirectPlayLobby_RunApplication(p,a,b,c,d) (p)->lpVtbl->RunApplication(p,a,b,c,d)
|
||||
#define IDirectPlayLobby_SendLobbyMessage(p,a,b,c,d) (p)->lpVtbl->SendLobbyMessage(p,a,b,c,d)
|
||||
#define IDirectPlayLobby_SetConnectionSettings(p,a,b,c) (p)->lpVtbl->SetConnectionSettings(p,a,b,c)
|
||||
#define IDirectPlayLobby_SetLobbyMessageEvent(p,a,b,c) (p)->lpVtbl->SetLobbyMessageEvent(p,a,b,c)
|
||||
|
||||
#else /* C++ */
|
||||
|
||||
#define IDirectPlayLobby_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
|
||||
#define IDirectPlayLobby_AddRef(p) (p)->AddRef()
|
||||
#define IDirectPlayLobby_Release(p) (p)->Release()
|
||||
#define IDirectPlayLobby_Connect(p,a,b,c) (p)->Connect(a,b,c)
|
||||
#define IDirectPlayLobby_CreateAddress(p,a,b,c,d,e,f) (p)->CreateAddress(a,b,c,d,e,f)
|
||||
#define IDirectPlayLobby_CreateCompoundAddress(p,a,b,c,d) (p)->lpVtbl->CreateCompoundAddress(a,b,c,d)
|
||||
#define IDirectPlayLobby_EnumAddress(p,a,b,c,d) (p)->EnumAddress(a,b,c,d)
|
||||
#define IDirectPlayLobby_EnumAddressTypes(p,a,b,c,d) (p)->EnumAddressTypes(a,b,c,d)
|
||||
#define IDirectPlayLobby_EnumLocalApplications(p,a,b,c) (p)->EnumLocalApplications(a,b,c)
|
||||
#define IDirectPlayLobby_GetConnectionSettings(p,a,b,c) (p)->GetConnectionSettings(a,b,c)
|
||||
#define IDirectPlayLobby_ReceiveLobbyMessage(p,a,b,c,d,e) (p)->ReceiveLobbyMessage(a,b,c,d,e)
|
||||
#define IDirectPlayLobby_RunApplication(p,a,b,c,d) (p)->RunApplication(a,b,c,d)
|
||||
#define IDirectPlayLobby_SendLobbyMessage(p,a,b,c,d) (p)->SendLobbyMessage(a,b,c,d)
|
||||
#define IDirectPlayLobby_SetConnectionSettings(p,a,b,c) (p)->SetConnectionSettings(a,b,c)
|
||||
#define IDirectPlayLobby_SetLobbyMessageEvent(p,a,b,c) (p)->SetLobbyMessageEvent(a,b,c)
|
||||
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* DirectPlayLobby Flags
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* This is a message flag used by ReceiveLobbyMessage. It can be
|
||||
* returned in the dwMessageFlags parameter to indicate a message from
|
||||
* the system.
|
||||
*/
|
||||
#define DPLMSG_SYSTEM 0x00000001
|
||||
|
||||
/*
|
||||
* This is a message flag used by ReceiveLobbyMessage and SendLobbyMessage.
|
||||
* It is used to indicate that the message is a standard lobby message.
|
||||
* DPLMSG_SETPROPERTY, DPLMSG_SETPROPERTYRESPONSE, DPLMSG_GETPROPERTY,
|
||||
* DPLMSG_GETPROPERTYRESPONSE
|
||||
*/
|
||||
#define DPLMSG_STANDARD 0x00000002
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* DirectPlayLobby messages and message data structures
|
||||
*
|
||||
* All system messages have a dwMessageFlags value of DPLMSG_SYSTEM returned
|
||||
* from a call to ReceiveLobbyMessage.
|
||||
*
|
||||
* All standard messages have a dwMessageFlags value of DPLMSG_STANDARD returned
|
||||
* from a call to ReceiveLobbyMessage.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* DPLMSG_GENERIC
|
||||
* Generic message structure used to identify the message type.
|
||||
*/
|
||||
typedef struct _DPLMSG_GENERIC
|
||||
{
|
||||
DWORD dwType; // Message type
|
||||
} DPLMSG_GENERIC, FAR *LPDPLMSG_GENERIC;
|
||||
|
||||
/*
|
||||
* DPLMSG_SETPROPERTY
|
||||
* Standard message sent by an application to a lobby to set a
|
||||
* property
|
||||
*/
|
||||
typedef struct _DPLMSG_SETPROPERTY
|
||||
{
|
||||
DWORD dwType; // Message type
|
||||
DWORD dwRequestID; // Request ID (DPL_NOCONFIRMATION if no confirmation desired)
|
||||
GUID guidPlayer; // Player GUID
|
||||
GUID guidPropertyTag; // Property GUID
|
||||
DWORD dwDataSize; // Size of data
|
||||
DWORD dwPropertyData[1]; // Buffer containing data
|
||||
} DPLMSG_SETPROPERTY, FAR *LPDPLMSG_SETPROPERTY;
|
||||
|
||||
#define DPL_NOCONFIRMATION 0
|
||||
|
||||
/*
|
||||
* DPLMSG_SETPROPERTYRESPONSE
|
||||
* Standard message returned by a lobby to confirm a
|
||||
* DPLMSG_SETPROPERTY message.
|
||||
*/
|
||||
typedef struct _DPLMSG_SETPROPERTYRESPONSE
|
||||
{
|
||||
DWORD dwType; // Message type
|
||||
DWORD dwRequestID; // Request ID
|
||||
GUID guidPlayer; // Player GUID
|
||||
GUID guidPropertyTag; // Property GUID
|
||||
HRESULT hr; // Return Code
|
||||
} DPLMSG_SETPROPERTYRESPONSE, FAR *LPDPLMSG_SETPROPERTYRESPONSE;
|
||||
|
||||
/*
|
||||
* DPLMSG_GETPROPERTY
|
||||
* Standard message sent by an application to a lobby to request
|
||||
* the current value of a property
|
||||
*/
|
||||
typedef struct _DPLMSG_GETPROPERTY
|
||||
{
|
||||
DWORD dwType; // Message type
|
||||
DWORD dwRequestID; // Request ID
|
||||
GUID guidPlayer; // Player GUID
|
||||
GUID guidPropertyTag; // Property GUID
|
||||
} DPLMSG_GETPROPERTY, FAR *LPDPLMSG_GETPROPERTY;
|
||||
|
||||
/*
|
||||
* DPLMSG_GETPROPERTYRESPONSE
|
||||
* Standard message returned by a lobby in response to a
|
||||
* DPLMSG_GETPROPERTY message.
|
||||
*/
|
||||
typedef struct _DPLMSG_GETPROPERTYRESPONSE
|
||||
{
|
||||
DWORD dwType; // Message type
|
||||
DWORD dwRequestID; // Request ID
|
||||
GUID guidPlayer; // Player GUID
|
||||
GUID guidPropertyTag; // Property GUID
|
||||
HRESULT hr; // Return Code
|
||||
DWORD dwDataSize; // Size of data
|
||||
DWORD dwPropertyData[1]; // Buffer containing data
|
||||
} DPLMSG_GETPROPERTYRESPONSE, FAR *LPDPLMSG_GETPROPERTYRESPONSE;
|
||||
|
||||
|
||||
/******************************************
|
||||
*
|
||||
* DirectPlay Lobby message dwType values
|
||||
*
|
||||
*****************************************/
|
||||
|
||||
/*
|
||||
* The application has read the connection settings.
|
||||
* It is now O.K. for the lobby client to release
|
||||
* its IDirectPlayLobby interface.
|
||||
*/
|
||||
#define DPLSYS_CONNECTIONSETTINGSREAD 0x00000001
|
||||
|
||||
/*
|
||||
* The application's call to DirectPlayConnect failed
|
||||
*/
|
||||
#define DPLSYS_DPLAYCONNECTFAILED 0x00000002
|
||||
|
||||
/*
|
||||
* The application has created a DirectPlay session.
|
||||
*/
|
||||
#define DPLSYS_DPLAYCONNECTSUCCEEDED 0x00000003
|
||||
|
||||
/*
|
||||
* The application has terminated.
|
||||
*/
|
||||
#define DPLSYS_APPTERMINATED 0x00000004
|
||||
|
||||
/*
|
||||
* The message is a DPLMSG_SETPROPERTY message.
|
||||
*/
|
||||
#define DPLSYS_SETPROPERTY 0x00000005
|
||||
|
||||
/*
|
||||
* The message is a DPLMSG_SETPROPERTYRESPONSE message.
|
||||
*/
|
||||
#define DPLSYS_SETPROPERTYRESPONSE 0x00000006
|
||||
|
||||
/*
|
||||
* The message is a DPLMSG_GETPROPERTY message.
|
||||
*/
|
||||
#define DPLSYS_GETPROPERTY 0x00000007
|
||||
|
||||
/*
|
||||
* The message is a DPLMSG_GETPROPERTYRESPONSE message.
|
||||
*/
|
||||
#define DPLSYS_GETPROPERTYRESPONSE 0x00000008
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* DirectPlay defined property GUIDs and associated data structures
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* DPLPROPERTY_MessagesSupported
|
||||
*
|
||||
* Request whether the lobby supports standard. Lobby with respond with either
|
||||
* TRUE or FALSE or may not respond at all.
|
||||
*
|
||||
* Property data is a single BOOL with TRUE or FALSE
|
||||
*/
|
||||
// {762CCDA1-D916-11d0-BA39-00C04FD7ED67}
|
||||
DEFINE_GUID(DPLPROPERTY_MessagesSupported,
|
||||
0x762ccda1, 0xd916, 0x11d0, 0xba, 0x39, 0x0, 0xc0, 0x4f, 0xd7, 0xed, 0x67);
|
||||
|
||||
/*
|
||||
* DPLPROPERTY_LobbyGuid
|
||||
*
|
||||
* Request the GUID that identifies the lobby software that the application
|
||||
* is communicating with.
|
||||
*
|
||||
* Property data is a single GUID.
|
||||
*/
|
||||
// {F56920A0-D218-11d0-BA39-00C04FD7ED67}
|
||||
DEFINE_GUID(DPLPROPERTY_LobbyGuid,
|
||||
0xf56920a0, 0xd218, 0x11d0, 0xba, 0x39, 0x0, 0xc0, 0x4f, 0xd7, 0xed, 0x67);
|
||||
|
||||
/*
|
||||
* DPLPROPERTY_PlayerGuid
|
||||
*
|
||||
* Request the GUID that identifies the player on this machine for sending
|
||||
* property data back to the lobby.
|
||||
*
|
||||
* Property data is the DPLDATA_PLAYERDATA structure
|
||||
*/
|
||||
// {B4319322-D20D-11d0-BA39-00C04FD7ED67}
|
||||
DEFINE_GUID(DPLPROPERTY_PlayerGuid,
|
||||
0xb4319322, 0xd20d, 0x11d0, 0xba, 0x39, 0x0, 0xc0, 0x4f, 0xd7, 0xed, 0x67);
|
||||
|
||||
/*
|
||||
* DPLDATA_PLAYERGUID
|
||||
*
|
||||
* Data structure to hold the GUID of the player and player creation flags
|
||||
* from the lobby.
|
||||
*/
|
||||
typedef struct _DPLDATA_PLAYERGUID
|
||||
{
|
||||
GUID guidPlayer;
|
||||
DWORD dwPlayerFlags;
|
||||
} DPLDATA_PLAYERGUID, FAR *LPDPLDATA_PLAYERGUID;
|
||||
|
||||
/*
|
||||
* DPLPROPERTY_PlayerScore
|
||||
*
|
||||
* Used to send an array of long integers to the lobby indicating the
|
||||
* score of a player.
|
||||
*
|
||||
* Property data is the DPLDATA_PLAYERSCORE structure.
|
||||
*/
|
||||
// {48784000-D219-11d0-BA39-00C04FD7ED67}
|
||||
DEFINE_GUID(DPLPROPERTY_PlayerScore,
|
||||
0x48784000, 0xd219, 0x11d0, 0xba, 0x39, 0x0, 0xc0, 0x4f, 0xd7, 0xed, 0x67);
|
||||
|
||||
/*
|
||||
* DPLDATA_PLAYERSCORE
|
||||
*
|
||||
* Data structure to hold an array of long integers representing a player score.
|
||||
* Application must allocate enough memory to hold all the scores.
|
||||
*/
|
||||
typedef struct _DPLDATA_PLAYERSCORE
|
||||
{
|
||||
DWORD dwScoreCount;
|
||||
LONG Score[1];
|
||||
} DPLDATA_PLAYERSCORE, FAR *LPDPLDATA_PLAYERSCORE;
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* DirectPlay Address ID's
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/* DirectPlay Address
|
||||
*
|
||||
* A DirectPlay address consists of multiple chunks of data, each tagged
|
||||
* with a GUID signifying the type of data in the chunk. The chunk also
|
||||
* has a length so that unknown chunk types can be skipped.
|
||||
*
|
||||
* The EnumAddress() function is used to parse these address data chunks.
|
||||
*/
|
||||
|
||||
/*
|
||||
* DPADDRESS
|
||||
*
|
||||
* Header for block of address data elements
|
||||
*/
|
||||
typedef struct _DPADDRESS
|
||||
{
|
||||
GUID guidDataType;
|
||||
DWORD dwDataSize;
|
||||
} DPADDRESS;
|
||||
|
||||
typedef DPADDRESS FAR *LPDPADDRESS;
|
||||
|
||||
/*
|
||||
* DPAID_TotalSize
|
||||
*
|
||||
* Chunk is a DWORD containing size of entire DPADDRESS structure
|
||||
*/
|
||||
|
||||
// {1318F560-912C-11d0-9DAA-00A0C90A43CB}
|
||||
DEFINE_GUID(DPAID_TotalSize,
|
||||
0x1318f560, 0x912c, 0x11d0, 0x9d, 0xaa, 0x0, 0xa0, 0xc9, 0xa, 0x43, 0xcb);
|
||||
|
||||
/*
|
||||
* DPAID_ServiceProvider
|
||||
*
|
||||
* Chunk is a GUID describing the service provider that created the chunk.
|
||||
* All addresses must contain this chunk.
|
||||
*/
|
||||
|
||||
// {07D916C0-E0AF-11cf-9C4E-00A0C905425E}
|
||||
DEFINE_GUID(DPAID_ServiceProvider,
|
||||
0x7d916c0, 0xe0af, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
|
||||
|
||||
/*
|
||||
* DPAID_LobbyProvider
|
||||
*
|
||||
* Chunk is a GUID describing the lobby provider that created the chunk.
|
||||
* All addresses must contain this chunk.
|
||||
*/
|
||||
|
||||
// {59B95640-9667-11d0-A77D-0000F803ABFC}
|
||||
DEFINE_GUID(DPAID_LobbyProvider,
|
||||
0x59b95640, 0x9667, 0x11d0, 0xa7, 0x7d, 0x0, 0x0, 0xf8, 0x3, 0xab, 0xfc);
|
||||
|
||||
/*
|
||||
* DPAID_Phone and DPAID_PhoneW
|
||||
*
|
||||
* Chunk is a string containing a phone number (i.e. "1-800-555-1212")
|
||||
* in ANSI or UNICODE format
|
||||
*/
|
||||
|
||||
// {78EC89A0-E0AF-11cf-9C4E-00A0C905425E}
|
||||
DEFINE_GUID(DPAID_Phone,
|
||||
0x78ec89a0, 0xe0af, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
|
||||
|
||||
// {BA5A7A70-9DBF-11d0-9CC1-00A0C905425E}
|
||||
DEFINE_GUID(DPAID_PhoneW,
|
||||
0xba5a7a70, 0x9dbf, 0x11d0, 0x9c, 0xc1, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
|
||||
|
||||
/*
|
||||
* DPAID_Modem and DPAID_ModemW
|
||||
*
|
||||
* Chunk is a string containing a modem name registered with TAPI
|
||||
* in ANSI or UNICODE format
|
||||
*/
|
||||
|
||||
// {F6DCC200-A2FE-11d0-9C4F-00A0C905425E}
|
||||
DEFINE_GUID(DPAID_Modem,
|
||||
0xf6dcc200, 0xa2fe, 0x11d0, 0x9c, 0x4f, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
|
||||
|
||||
// {01FD92E0-A2FF-11d0-9C4F-00A0C905425E}
|
||||
DEFINE_GUID(DPAID_ModemW,
|
||||
0x1fd92e0, 0xa2ff, 0x11d0, 0x9c, 0x4f, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
|
||||
|
||||
/*
|
||||
* DPAID_Inet and DPAID_InetW
|
||||
*
|
||||
* Chunk is a string containing a TCP/IP host name or an IP address
|
||||
* (i.e. "dplay.microsoft.com" or "137.55.100.173") in ANSI or UNICODE format
|
||||
*/
|
||||
|
||||
// {C4A54DA0-E0AF-11cf-9C4E-00A0C905425E}
|
||||
DEFINE_GUID(DPAID_INet,
|
||||
0xc4a54da0, 0xe0af, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
|
||||
|
||||
// {E63232A0-9DBF-11d0-9CC1-00A0C905425E}
|
||||
DEFINE_GUID(DPAID_INetW,
|
||||
0xe63232a0, 0x9dbf, 0x11d0, 0x9c, 0xc1, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
|
||||
|
||||
/*
|
||||
* DPCOMPORTADDRESS
|
||||
*
|
||||
* Used to specify com port settings. The constants that define baud rate,
|
||||
* stop bits and parity are defined in WINBASE.H. The constants for flow
|
||||
* control are given below.
|
||||
*/
|
||||
|
||||
#define DPCPA_NOFLOW 0 // no flow control
|
||||
#define DPCPA_XONXOFFFLOW 1 // software flow control
|
||||
#define DPCPA_RTSFLOW 2 // hardware flow control with RTS
|
||||
#define DPCPA_DTRFLOW 3 // hardware flow control with DTR
|
||||
#define DPCPA_RTSDTRFLOW 4 // hardware flow control with RTS and DTR
|
||||
|
||||
typedef struct _DPCOMPORTADDRESS
|
||||
{
|
||||
DWORD dwComPort; // COM port to use (1-4)
|
||||
DWORD dwBaudRate; // baud rate (100-256k)
|
||||
DWORD dwStopBits; // no. stop bits (1-2)
|
||||
DWORD dwParity; // parity (none, odd, even, mark)
|
||||
DWORD dwFlowControl; // flow control (none, xon/xoff, rts, dtr)
|
||||
} DPCOMPORTADDRESS;
|
||||
|
||||
typedef DPCOMPORTADDRESS FAR *LPDPCOMPORTADDRESS;
|
||||
|
||||
/*
|
||||
* DPAID_ComPort
|
||||
*
|
||||
* Chunk contains a DPCOMPORTADDRESS structure defining the serial port.
|
||||
*/
|
||||
|
||||
// {F2F0CE00-E0AF-11cf-9C4E-00A0C905425E}
|
||||
DEFINE_GUID(DPAID_ComPort,
|
||||
0xf2f0ce00, 0xe0af, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* dplobby 1.0 obsolete definitions
|
||||
* Included for compatibility only.
|
||||
*
|
||||
****************************************************************************/
|
||||
#define DPLAD_SYSTEM DPLMSG_SYSTEM
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __DPLOBBY_INCLUDED__ */
|
||||
267
3rdparty/dx5/inc/dsetup.h
vendored
Normal file
267
3rdparty/dx5/inc/dsetup.h
vendored
Normal file
@ -0,0 +1,267 @@
|
||||
/*==========================================================================
|
||||
*
|
||||
* Copyright (C) 1995-1997 Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: dsetup.h
|
||||
* Content: DirectXSetup, error codes and flags
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef __DSETUP_H__
|
||||
#define __DSETUP_H__
|
||||
|
||||
#include <windows.h> // windows stuff
|
||||
|
||||
#ifdef _WIN32
|
||||
#define COM_NO_WINDOWS_H
|
||||
#include <objbase.h>
|
||||
#else
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// DSETUP Error Codes, must remain compatible with previous setup.
|
||||
#define DSETUPERR_SUCCESS_RESTART 1
|
||||
#define DSETUPERR_SUCCESS 0
|
||||
#define DSETUPERR_BADWINDOWSVERSION -1
|
||||
#define DSETUPERR_SOURCEFILENOTFOUND -2
|
||||
#define DSETUPERR_BADSOURCESIZE -3
|
||||
#define DSETUPERR_BADSOURCETIME -4
|
||||
#define DSETUPERR_NOCOPY -5
|
||||
#define DSETUPERR_OUTOFDISKSPACE -6
|
||||
#define DSETUPERR_CANTFINDINF -7
|
||||
#define DSETUPERR_CANTFINDDIR -8
|
||||
#define DSETUPERR_INTERNAL -9
|
||||
#define DSETUPERR_NTWITHNO3D -10 /* REM: obsolete, you'll never see this */
|
||||
#define DSETUPERR_UNKNOWNOS -11
|
||||
#define DSETUPERR_USERHITCANCEL -12
|
||||
#define DSETUPERR_NOTPREINSTALLEDONNT -13
|
||||
|
||||
// DSETUP flags. DirectX 5.0 apps should use these flags only.
|
||||
#define DSETUP_DDRAWDRV 0x00000008 /* install DirectDraw Drivers */
|
||||
#define DSETUP_DSOUNDDRV 0x00000010 /* install DirectSound Drivers */
|
||||
#define DSETUP_DXCORE 0x00010000 /* install DirectX runtime */
|
||||
#define DSETUP_DIRECTX (DSETUP_DXCORE|DSETUP_DDRAWDRV|DSETUP_DSOUNDDRV)
|
||||
#define DSETUP_TESTINSTALL 0x00020000 /* just test install, don't do anything */
|
||||
|
||||
// These OBSOLETE flags are here for compatibility with pre-DX5 apps only.
|
||||
// They are present to allow DX3 apps to be recompiled with DX5 and still work.
|
||||
// DO NOT USE THEM for DX5. They will go away in future DX releases.
|
||||
#define DSETUP_DDRAW 0x00000001 /* OBSOLETE. install DirectDraw */
|
||||
#define DSETUP_DSOUND 0x00000002 /* OBSOLETE. install DirectSound */
|
||||
#define DSETUP_DPLAY 0x00000004 /* OBSOLETE. install DirectPlay */
|
||||
#define DSETUP_DPLAYSP 0x00000020 /* OBSOLETE. install DirectPlay Providers */
|
||||
#define DSETUP_DVIDEO 0x00000040 /* OBSOLETE. install DirectVideo */
|
||||
#define DSETUP_D3D 0x00000200 /* OBSOLETE. install Direct3D */
|
||||
#define DSETUP_DINPUT 0x00000800 /* OBSOLETE. install DirectInput */
|
||||
#define DSETUP_DIRECTXSETUP 0x00001000 /* OBSOLETE. install DirectXSetup DLL's */
|
||||
#define DSETUP_NOUI 0x00002000 /* OBSOLETE. install DirectX with NO UI */
|
||||
#define DSETUP_PROMPTFORDRIVERS 0x10000000 /* OBSOLETE. prompt when replacing display/audio drivers */
|
||||
#define DSETUP_RESTOREDRIVERS 0x20000000 /* OBSOLETE. restore display/audio drivers */
|
||||
|
||||
|
||||
|
||||
//******************************************************************
|
||||
// DirectX Setup Callback mechanism
|
||||
//******************************************************************
|
||||
|
||||
// DSETUP Message Info Codes, passed to callback as Reason parameter.
|
||||
#define DSETUP_CB_MSG_NOMESSAGE 0
|
||||
#define DSETUP_CB_MSG_CANTINSTALL_UNKNOWNOS 1
|
||||
#define DSETUP_CB_MSG_CANTINSTALL_NT 2
|
||||
#define DSETUP_CB_MSG_CANTINSTALL_BETA 3
|
||||
#define DSETUP_CB_MSG_CANTINSTALL_NOTWIN32 4
|
||||
#define DSETUP_CB_MSG_CANTINSTALL_WRONGLANGUAGE 5
|
||||
#define DSETUP_CB_MSG_CANTINSTALL_WRONGPLATFORM 6
|
||||
#define DSETUP_CB_MSG_PREINSTALL_NT 7
|
||||
#define DSETUP_CB_MSG_NOTPREINSTALLEDONNT 8
|
||||
#define DSETUP_CB_MSG_SETUP_INIT_FAILED 9
|
||||
#define DSETUP_CB_MSG_INTERNAL_ERROR 10
|
||||
#define DSETUP_CB_MSG_CHECK_DRIVER_UPGRADE 11
|
||||
#define DSETUP_CB_MSG_OUTOFDISKSPACE 12
|
||||
#define DSETUP_CB_MSG_BEGIN_INSTALL 13
|
||||
#define DSETUP_CB_MSG_BEGIN_INSTALL_RUNTIME 14
|
||||
#define DSETUP_CB_MSG_BEGIN_INSTALL_DRIVERS 15
|
||||
#define DSETUP_CB_MSG_BEGIN_RESTORE_DRIVERS 16
|
||||
#define DSETUP_CB_MSG_FILECOPYERROR 17
|
||||
|
||||
|
||||
#define DSETUP_CB_UPGRADE_TYPE_MASK 0x000F
|
||||
#define DSETUP_CB_UPGRADE_KEEP 0x0001
|
||||
#define DSETUP_CB_UPGRADE_SAFE 0x0002
|
||||
#define DSETUP_CB_UPGRADE_FORCE 0x0004
|
||||
#define DSETUP_CB_UPGRADE_UNKNOWN 0x0008
|
||||
|
||||
#define DSETUP_CB_UPGRADE_HASWARNINGS 0x0100
|
||||
#define DSETUP_CB_UPGRADE_CANTBACKUP 0x0200
|
||||
|
||||
#define DSETUP_CB_UPGRADE_DEVICE_ACTIVE 0x0800
|
||||
|
||||
#define DSETUP_CB_UPGRADE_DEVICE_DISPLAY 0x1000
|
||||
#define DSETUP_CB_UPGRADE_DEVICE_MEDIA 0x2000
|
||||
|
||||
|
||||
typedef struct _DSETUP_CB_UPGRADEINFO
|
||||
{
|
||||
DWORD UpgradeFlags;
|
||||
} DSETUP_CB_UPGRADEINFO;
|
||||
|
||||
typedef struct _DSETUP_CB_FILECOPYERROR
|
||||
{
|
||||
DWORD dwError;
|
||||
} DSETUP_CB_FILECOPYERROR;
|
||||
|
||||
|
||||
#ifdef _WIN32
|
||||
//
|
||||
// Data Structures
|
||||
//
|
||||
#ifndef UNICODE_ONLY
|
||||
typedef struct _DIRECTXREGISTERAPPA {
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
LPSTR lpszApplicationName;
|
||||
LPGUID lpGUID;
|
||||
LPSTR lpszFilename;
|
||||
LPSTR lpszCommandLine;
|
||||
LPSTR lpszPath;
|
||||
LPSTR lpszCurrentDirectory;
|
||||
} DIRECTXREGISTERAPPA, *PDIRECTXREGISTERAPPA, *LPDIRECTXREGISTERAPPA;
|
||||
#endif //!UNICODE_ONLY
|
||||
#ifndef ANSI_ONLY
|
||||
typedef struct _DIRECTXREGISTERAPPW {
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
LPWSTR lpszApplicationName;
|
||||
LPGUID lpGUID;
|
||||
LPWSTR lpszFilename;
|
||||
LPWSTR lpszCommandLine;
|
||||
LPWSTR lpszPath;
|
||||
LPWSTR lpszCurrentDirectory;
|
||||
} DIRECTXREGISTERAPPW, *PDIRECTXREGISTERAPPW, *LPDIRECTXREGISTERAPPW;
|
||||
#endif //!ANSI_ONLY
|
||||
#ifdef UNICODE
|
||||
typedef DIRECTXREGISTERAPPW DIRECTXREGISTERAPP;
|
||||
typedef PDIRECTXREGISTERAPPW PDIRECTXREGISTERAPP;
|
||||
typedef LPDIRECTXREGISTERAPPW LPDIRECTXREGISTERAPP;
|
||||
#else
|
||||
typedef DIRECTXREGISTERAPPA DIRECTXREGISTERAPP;
|
||||
typedef PDIRECTXREGISTERAPPA PDIRECTXREGISTERAPP;
|
||||
typedef LPDIRECTXREGISTERAPPA LPDIRECTXREGISTERAPP;
|
||||
#endif // UNICODE
|
||||
|
||||
|
||||
//
|
||||
// API
|
||||
//
|
||||
#ifndef UNICODE_ONLY
|
||||
INT
|
||||
WINAPI
|
||||
DirectXSetupA(
|
||||
HWND hWnd,
|
||||
LPSTR lpszRootPath,
|
||||
DWORD dwFlags
|
||||
);
|
||||
#endif //!UNICODE_ONLY
|
||||
#ifndef ANSI_ONLY
|
||||
INT
|
||||
WINAPI
|
||||
DirectXSetupW(
|
||||
HWND hWnd,
|
||||
LPWSTR lpszRootPath,
|
||||
DWORD dwFlags
|
||||
);
|
||||
#endif //!ANSI_ONLY
|
||||
#ifdef UNICODE
|
||||
#define DirectXSetup DirectXSetupW
|
||||
#else
|
||||
#define DirectXSetup DirectXSetupA
|
||||
#endif // !UNICODE
|
||||
|
||||
#ifndef UNICODE_ONLY
|
||||
INT
|
||||
WINAPI
|
||||
DirectXDeviceDriverSetupA(
|
||||
HWND hWnd,
|
||||
LPSTR lpszDriverClass,
|
||||
LPSTR lpszDriverPath,
|
||||
DWORD dwFlags
|
||||
);
|
||||
#endif //!UNICODE_ONLY
|
||||
#ifndef ANSI_ONLY
|
||||
INT
|
||||
WINAPI
|
||||
DirectXDeviceDriverSetupW(
|
||||
HWND hWnd,
|
||||
LPWSTR lpszDriverClass,
|
||||
LPWSTR lpszDriverPath,
|
||||
DWORD dwFlags
|
||||
);
|
||||
#endif //!ANSI_ONLY
|
||||
#ifdef UNICODE
|
||||
#define DirectXDeviceDriverSetup DirectXDeviceDriverSetupW
|
||||
#else
|
||||
#define DirectXDeviceDriverSetup DirectXDeviceDriverSetupA
|
||||
#endif // !UNICODE
|
||||
|
||||
#ifndef UNICODE_ONLY
|
||||
INT
|
||||
WINAPI
|
||||
DirectXRegisterApplicationA(
|
||||
HWND hWnd,
|
||||
LPDIRECTXREGISTERAPPA lpDXRegApp
|
||||
);
|
||||
#endif //!UNICODE_ONLY
|
||||
#ifndef ANSI_ONLY
|
||||
INT
|
||||
WINAPI
|
||||
DirectXRegisterApplicationW(
|
||||
HWND hWnd,
|
||||
LPDIRECTXREGISTERAPPW lpDXRegApp
|
||||
);
|
||||
#endif //!ANSI_ONLY
|
||||
#ifdef UNICODE
|
||||
#define DirectXRegisterApplication DirectXRegisterApplicationW
|
||||
#else
|
||||
#define DirectXRegisterApplication DirectXRegisterApplicationA
|
||||
#endif // !UNICODE
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
DirectXUnRegisterApplication(
|
||||
HWND hWnd,
|
||||
LPGUID lpGUID
|
||||
);
|
||||
|
||||
//
|
||||
// Function Pointers
|
||||
//
|
||||
#ifdef UNICODE
|
||||
typedef INT (WINAPI * LPDIRECTXSETUP)(HWND, LPWSTR, DWORD);
|
||||
typedef INT (WINAPI * LPDIRECTXDEVICEDRIVERSETUP)(HWND, LPWSTR, LPSTR, DWORD);
|
||||
typedef INT (WINAPI * LPDIRECTXREGISTERAPPLICATION)(HWND, LPDIRECTXREGISTERAPPW);
|
||||
#else
|
||||
typedef INT (WINAPI * LPDIRECTXSETUP)(HWND, LPSTR, DWORD);
|
||||
typedef INT (WINAPI * LPDIRECTXDEVICEDRIVERSETUP)(HWND, LPSTR, LPSTR, DWORD);
|
||||
typedef INT (WINAPI * LPDIRECTXREGISTERAPPLICATION)(HWND, LPDIRECTXREGISTERAPPA);
|
||||
#endif // UNICODE
|
||||
|
||||
typedef DWORD (FAR PASCAL * DSETUP_CALLBACK)(DWORD Reason,
|
||||
DWORD MsgType, /* Same as flags to MessageBox */
|
||||
LPSTR szMessage,
|
||||
LPSTR szName,
|
||||
void *pInfo);
|
||||
|
||||
INT WINAPI DirectXSetupSetCallback(DSETUP_CALLBACK Callback);
|
||||
INT WINAPI DirectXSetupGetVersion(DWORD *lpdwVersion, DWORD *lpdwMinorVersion);
|
||||
|
||||
#endif // WIN32
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif
|
||||
863
3rdparty/dx5/inc/dsound.h
vendored
Normal file
863
3rdparty/dx5/inc/dsound.h
vendored
Normal file
@ -0,0 +1,863 @@
|
||||
/*==========================================================================;
|
||||
*
|
||||
* Copyright (C) 1995,1996 Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: dsound.h
|
||||
* Content: DirectSound include file
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
#ifndef __DSOUND_INCLUDED__
|
||||
#define __DSOUND_INCLUDED__
|
||||
|
||||
#include <d3dtypes.h>
|
||||
|
||||
#define COM_NO_WINDOWS_H
|
||||
#include <objbase.h>
|
||||
|
||||
#define _FACDS 0x878
|
||||
#define MAKE_DSHRESULT(code) MAKE_HRESULT(1, _FACDS, code)
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
|
||||
// Direct Sound Component GUID {47D4D946-62E8-11cf-93BC-444553540000}
|
||||
DEFINE_GUID(CLSID_DirectSound, 0x47d4d946, 0x62e8, 0x11cf, 0x93, 0xbc, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0);
|
||||
|
||||
// DirectSound Capture Component GUID {B0210780-89CD-11d0-AF08-00A0C925CD16}
|
||||
DEFINE_GUID(CLSID_DirectSoundCapture, 0xb0210780, 0x89cd, 0x11d0, 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
|
||||
|
||||
//
|
||||
// Structures
|
||||
//
|
||||
|
||||
#ifdef __cplusplus
|
||||
// 'struct' not 'class' per the way DECLARE_INTERFACE_ is defined
|
||||
struct IDirectSound;
|
||||
struct IDirectSoundBuffer;
|
||||
struct IDirectSound3DListener;
|
||||
struct IDirectSound3DBuffer;
|
||||
struct IDirectSoundCapture;
|
||||
struct IDirectSoundCaptureBuffer;
|
||||
struct IDirectSoundNotify;
|
||||
#endif // __cplusplus
|
||||
|
||||
typedef struct IDirectSound *LPDIRECTSOUND;
|
||||
typedef struct IDirectSoundBuffer *LPDIRECTSOUNDBUFFER;
|
||||
typedef struct IDirectSound3DListener *LPDIRECTSOUND3DLISTENER;
|
||||
typedef struct IDirectSound3DBuffer *LPDIRECTSOUND3DBUFFER;
|
||||
typedef struct IDirectSoundCapture *LPDIRECTSOUNDCAPTURE;
|
||||
typedef struct IDirectSoundCaptureBuffer *LPDIRECTSOUNDCAPTUREBUFFER;
|
||||
typedef struct IDirectSoundNotify *LPDIRECTSOUNDNOTIFY;
|
||||
|
||||
typedef struct _DSCAPS
|
||||
{
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
DWORD dwMinSecondarySampleRate;
|
||||
DWORD dwMaxSecondarySampleRate;
|
||||
DWORD dwPrimaryBuffers;
|
||||
DWORD dwMaxHwMixingAllBuffers;
|
||||
DWORD dwMaxHwMixingStaticBuffers;
|
||||
DWORD dwMaxHwMixingStreamingBuffers;
|
||||
DWORD dwFreeHwMixingAllBuffers;
|
||||
DWORD dwFreeHwMixingStaticBuffers;
|
||||
DWORD dwFreeHwMixingStreamingBuffers;
|
||||
DWORD dwMaxHw3DAllBuffers;
|
||||
DWORD dwMaxHw3DStaticBuffers;
|
||||
DWORD dwMaxHw3DStreamingBuffers;
|
||||
DWORD dwFreeHw3DAllBuffers;
|
||||
DWORD dwFreeHw3DStaticBuffers;
|
||||
DWORD dwFreeHw3DStreamingBuffers;
|
||||
DWORD dwTotalHwMemBytes;
|
||||
DWORD dwFreeHwMemBytes;
|
||||
DWORD dwMaxContigFreeHwMemBytes;
|
||||
DWORD dwUnlockTransferRateHwBuffers;
|
||||
DWORD dwPlayCpuOverheadSwBuffers;
|
||||
DWORD dwReserved1;
|
||||
DWORD dwReserved2;
|
||||
} DSCAPS, *LPDSCAPS;
|
||||
|
||||
typedef const DSCAPS *LPCDSCAPS;
|
||||
|
||||
typedef struct _DSBCAPS
|
||||
{
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
DWORD dwBufferBytes;
|
||||
DWORD dwUnlockTransferRate;
|
||||
DWORD dwPlayCpuOverhead;
|
||||
} DSBCAPS, *LPDSBCAPS;
|
||||
|
||||
typedef const DSBCAPS *LPCDSBCAPS;
|
||||
|
||||
typedef struct _DSBUFFERDESC
|
||||
{
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
DWORD dwBufferBytes;
|
||||
DWORD dwReserved;
|
||||
LPWAVEFORMATEX lpwfxFormat;
|
||||
} DSBUFFERDESC, *LPDSBUFFERDESC;
|
||||
|
||||
typedef const DSBUFFERDESC *LPCDSBUFFERDESC;
|
||||
|
||||
typedef struct _DS3DBUFFER
|
||||
{
|
||||
DWORD dwSize;
|
||||
D3DVECTOR vPosition;
|
||||
D3DVECTOR vVelocity;
|
||||
DWORD dwInsideConeAngle;
|
||||
DWORD dwOutsideConeAngle;
|
||||
D3DVECTOR vConeOrientation;
|
||||
LONG lConeOutsideVolume;
|
||||
D3DVALUE flMinDistance;
|
||||
D3DVALUE flMaxDistance;
|
||||
DWORD dwMode;
|
||||
} DS3DBUFFER, *LPDS3DBUFFER;
|
||||
|
||||
typedef const DS3DBUFFER *LPCDS3DBUFFER;
|
||||
|
||||
typedef struct _DS3DLISTENER
|
||||
{
|
||||
DWORD dwSize;
|
||||
D3DVECTOR vPosition;
|
||||
D3DVECTOR vVelocity;
|
||||
D3DVECTOR vOrientFront;
|
||||
D3DVECTOR vOrientTop;
|
||||
D3DVALUE flDistanceFactor;
|
||||
D3DVALUE flRolloffFactor;
|
||||
D3DVALUE flDopplerFactor;
|
||||
} DS3DLISTENER, *LPDS3DLISTENER;
|
||||
|
||||
typedef const DS3DLISTENER *LPCDS3DLISTENER;
|
||||
|
||||
typedef struct _DSCCAPS
|
||||
{
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
DWORD dwFormats;
|
||||
DWORD dwChannels;
|
||||
} DSCCAPS, *LPDSCCAPS;
|
||||
|
||||
typedef const DSCCAPS *LPCDSCCAPS;
|
||||
|
||||
typedef struct _DSCBUFFERDESC
|
||||
{
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
DWORD dwBufferBytes;
|
||||
DWORD dwReserved;
|
||||
LPWAVEFORMATEX lpwfxFormat;
|
||||
} DSCBUFFERDESC, *LPDSCBUFFERDESC;
|
||||
|
||||
typedef const DSCBUFFERDESC *LPCDSCBUFFERDESC;
|
||||
|
||||
typedef struct _DSCBCAPS
|
||||
{
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
DWORD dwBufferBytes;
|
||||
DWORD dwReserved;
|
||||
} DSCBCAPS, *LPDSCBCAPS;
|
||||
|
||||
typedef const DSCBCAPS *LPCDSCBCAPS;
|
||||
|
||||
typedef struct _DSBPOSITIONNOTIFY
|
||||
{
|
||||
DWORD dwOffset;
|
||||
HANDLE hEventNotify;
|
||||
} DSBPOSITIONNOTIFY, *LPDSBPOSITIONNOTIFY;
|
||||
|
||||
typedef const DSBPOSITIONNOTIFY *LPCDSBPOSITIONNOTIFY;
|
||||
|
||||
//
|
||||
// Compatibility typedefs
|
||||
//
|
||||
|
||||
typedef LPDIRECTSOUND *LPLPDIRECTSOUND;
|
||||
typedef LPDIRECTSOUNDBUFFER *LPLPDIRECTSOUNDBUFFER;
|
||||
typedef LPDIRECTSOUND3DLISTENER *LPLPDIRECTSOUND3DLISTENER;
|
||||
typedef LPDIRECTSOUND3DBUFFER *LPLPDIRECTSOUND3DBUFFER;
|
||||
typedef LPDIRECTSOUNDCAPTURE *LPLPDIRECTSOUNDCAPTURE;
|
||||
typedef LPDIRECTSOUNDCAPTUREBUFFER *LPLPDIRECTSOUNDCAPTUREBUFFER;
|
||||
typedef LPDIRECTSOUNDNOTIFY *LPLPDIRECTSOUNDNOTIFY;
|
||||
typedef LPVOID *LPLPVOID;
|
||||
typedef const WAVEFORMATEX *LPCWAVEFORMATEX;
|
||||
|
||||
//
|
||||
// DirectSound API
|
||||
//
|
||||
|
||||
typedef BOOL (CALLBACK *LPDSENUMCALLBACKW)(LPGUID, LPCWSTR, LPCWSTR, LPVOID);
|
||||
typedef BOOL (CALLBACK *LPDSENUMCALLBACKA)(LPGUID, LPCSTR, LPCSTR, LPVOID);
|
||||
|
||||
extern HRESULT WINAPI DirectSoundCreate(LPGUID, LPDIRECTSOUND *, LPUNKNOWN);
|
||||
extern HRESULT WINAPI DirectSoundEnumerateW(LPDSENUMCALLBACKW, LPVOID);
|
||||
extern HRESULT WINAPI DirectSoundEnumerateA(LPDSENUMCALLBACKA, LPVOID);
|
||||
|
||||
extern HRESULT WINAPI DirectSoundCaptureCreate(LPGUID, LPDIRECTSOUNDCAPTURE *, LPUNKNOWN);
|
||||
extern HRESULT WINAPI DirectSoundCaptureEnumerateW(LPDSENUMCALLBACKW, LPVOID);
|
||||
extern HRESULT WINAPI DirectSoundCaptureEnumerateA(LPDSENUMCALLBACKA, LPVOID);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define LPDSENUMCALLBACK LPDSENUMCALLBACKW
|
||||
#define DirectSoundEnumerate DirectSoundEnumerateW
|
||||
#define DirectSoundCaptureEnumerate DirectSoundCaptureEnumerateW
|
||||
#else // UNICODE
|
||||
#define LPDSENUMCALLBACK LPDSENUMCALLBACKA
|
||||
#define DirectSoundEnumerate DirectSoundEnumerateA
|
||||
#define DirectSoundCaptureEnumerate DirectSoundCaptureEnumerateA
|
||||
#endif // UNICODE
|
||||
|
||||
//
|
||||
// IDirectSound
|
||||
//
|
||||
|
||||
DEFINE_GUID(IID_IDirectSound, 0x279AFA83, 0x4981, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirectSound
|
||||
|
||||
DECLARE_INTERFACE_(IDirectSound, IUnknown)
|
||||
{
|
||||
// IUnknown methods
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
|
||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||||
|
||||
// IDirectSound methods
|
||||
STDMETHOD(CreateSoundBuffer) (THIS_ LPCDSBUFFERDESC, LPDIRECTSOUNDBUFFER *, LPUNKNOWN) PURE;
|
||||
STDMETHOD(GetCaps) (THIS_ LPDSCAPS) PURE;
|
||||
STDMETHOD(DuplicateSoundBuffer) (THIS_ LPDIRECTSOUNDBUFFER, LPDIRECTSOUNDBUFFER *) PURE;
|
||||
STDMETHOD(SetCooperativeLevel) (THIS_ HWND, DWORD) PURE;
|
||||
STDMETHOD(Compact) (THIS) PURE;
|
||||
STDMETHOD(GetSpeakerConfig) (THIS_ LPDWORD) PURE;
|
||||
STDMETHOD(SetSpeakerConfig) (THIS_ DWORD) PURE;
|
||||
STDMETHOD(Initialize) (THIS_ LPGUID) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirectSound_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDirectSound_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirectSound_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirectSound_CreateSoundBuffer(p,a,b,c) (p)->lpVtbl->CreateSoundBuffer(p,a,b,c)
|
||||
#define IDirectSound_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
|
||||
#define IDirectSound_DuplicateSoundBuffer(p,a,b) (p)->lpVtbl->DuplicateSoundBuffer(p,a,b)
|
||||
#define IDirectSound_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
|
||||
#define IDirectSound_Compact(p) (p)->lpVtbl->Compact(p)
|
||||
#define IDirectSound_GetSpeakerConfig(p,a) (p)->lpVtbl->GetSpeakerConfig(p,a)
|
||||
#define IDirectSound_SetSpeakerConfig(p,b) (p)->lpVtbl->SetSpeakerConfig(p,b)
|
||||
#define IDirectSound_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
|
||||
#else // !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirectSound_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
|
||||
#define IDirectSound_AddRef(p) (p)->AddRef()
|
||||
#define IDirectSound_Release(p) (p)->Release()
|
||||
#define IDirectSound_CreateSoundBuffer(p,a,b,c) (p)->CreateSoundBuffer(a,b,c)
|
||||
#define IDirectSound_GetCaps(p,a) (p)->GetCaps(a)
|
||||
#define IDirectSound_DuplicateSoundBuffer(p,a,b) (p)->DuplicateSoundBuffer(a,b)
|
||||
#define IDirectSound_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
|
||||
#define IDirectSound_Compact(p) (p)->Compact()
|
||||
#define IDirectSound_GetSpeakerConfig(p,a) (p)->GetSpeakerConfig(a)
|
||||
#define IDirectSound_SetSpeakerConfig(p,b) (p)->SetSpeakerConfig(b)
|
||||
#define IDirectSound_Initialize(p,a) (p)->Initialize(a)
|
||||
#endif // !defined(__cplusplus) || defined(CINTERFACE)
|
||||
|
||||
//
|
||||
// IDirectSoundBuffer
|
||||
//
|
||||
|
||||
DEFINE_GUID(IID_IDirectSoundBuffer, 0x279AFA85, 0x4981, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirectSoundBuffer
|
||||
|
||||
DECLARE_INTERFACE_(IDirectSoundBuffer, IUnknown)
|
||||
{
|
||||
// IUnknown methods
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
|
||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||||
|
||||
// IDirectSoundBuffer methods
|
||||
STDMETHOD(GetCaps) (THIS_ LPDSBCAPS) PURE;
|
||||
STDMETHOD(GetCurrentPosition) (THIS_ LPDWORD, LPDWORD) PURE;
|
||||
STDMETHOD(GetFormat) (THIS_ LPWAVEFORMATEX, DWORD, LPDWORD) PURE;
|
||||
STDMETHOD(GetVolume) (THIS_ LPLONG) PURE;
|
||||
STDMETHOD(GetPan) (THIS_ LPLONG) PURE;
|
||||
STDMETHOD(GetFrequency) (THIS_ LPDWORD) PURE;
|
||||
STDMETHOD(GetStatus) (THIS_ LPDWORD) PURE;
|
||||
STDMETHOD(Initialize) (THIS_ LPDIRECTSOUND, LPCDSBUFFERDESC) PURE;
|
||||
STDMETHOD(Lock) (THIS_ DWORD, DWORD, LPVOID *, LPDWORD, LPVOID *, LPDWORD, DWORD) PURE;
|
||||
STDMETHOD(Play) (THIS_ DWORD, DWORD, DWORD) PURE;
|
||||
STDMETHOD(SetCurrentPosition) (THIS_ DWORD) PURE;
|
||||
STDMETHOD(SetFormat) (THIS_ LPCWAVEFORMATEX) PURE;
|
||||
STDMETHOD(SetVolume) (THIS_ LONG) PURE;
|
||||
STDMETHOD(SetPan) (THIS_ LONG) PURE;
|
||||
STDMETHOD(SetFrequency) (THIS_ DWORD) PURE;
|
||||
STDMETHOD(Stop) (THIS) PURE;
|
||||
STDMETHOD(Unlock) (THIS_ LPVOID, DWORD, LPVOID, DWORD) PURE;
|
||||
STDMETHOD(Restore) (THIS) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirectSoundBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDirectSoundBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirectSoundBuffer_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirectSoundBuffer_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
|
||||
#define IDirectSoundBuffer_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
|
||||
#define IDirectSoundBuffer_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
|
||||
#define IDirectSoundBuffer_GetVolume(p,a) (p)->lpVtbl->GetVolume(p,a)
|
||||
#define IDirectSoundBuffer_GetPan(p,a) (p)->lpVtbl->GetPan(p,a)
|
||||
#define IDirectSoundBuffer_GetFrequency(p,a) (p)->lpVtbl->GetFrequency(p,a)
|
||||
#define IDirectSoundBuffer_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
|
||||
#define IDirectSoundBuffer_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
|
||||
#define IDirectSoundBuffer_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
|
||||
#define IDirectSoundBuffer_Play(p,a,b,c) (p)->lpVtbl->Play(p,a,b,c)
|
||||
#define IDirectSoundBuffer_SetCurrentPosition(p,a) (p)->lpVtbl->SetCurrentPosition(p,a)
|
||||
#define IDirectSoundBuffer_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
|
||||
#define IDirectSoundBuffer_SetVolume(p,a) (p)->lpVtbl->SetVolume(p,a)
|
||||
#define IDirectSoundBuffer_SetPan(p,a) (p)->lpVtbl->SetPan(p,a)
|
||||
#define IDirectSoundBuffer_SetFrequency(p,a) (p)->lpVtbl->SetFrequency(p,a)
|
||||
#define IDirectSoundBuffer_Stop(p) (p)->lpVtbl->Stop(p)
|
||||
#define IDirectSoundBuffer_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
|
||||
#define IDirectSoundBuffer_Restore(p) (p)->lpVtbl->Restore(p)
|
||||
#else // !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirectSoundBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
|
||||
#define IDirectSoundBuffer_AddRef(p) (p)->AddRef()
|
||||
#define IDirectSoundBuffer_Release(p) (p)->Release()
|
||||
#define IDirectSoundBuffer_GetCaps(p,a) (p)->GetCaps(a)
|
||||
#define IDirectSoundBuffer_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
|
||||
#define IDirectSoundBuffer_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
|
||||
#define IDirectSoundBuffer_GetVolume(p,a) (p)->GetVolume(a)
|
||||
#define IDirectSoundBuffer_GetPan(p,a) (p)->GetPan(a)
|
||||
#define IDirectSoundBuffer_GetFrequency(p,a) (p)->GetFrequency(a)
|
||||
#define IDirectSoundBuffer_GetStatus(p,a) (p)->GetStatus(a)
|
||||
#define IDirectSoundBuffer_Initialize(p,a,b) (p)->Initialize(a,b)
|
||||
#define IDirectSoundBuffer_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
|
||||
#define IDirectSoundBuffer_Play(p,a,b,c) (p)->Play(a,b,c)
|
||||
#define IDirectSoundBuffer_SetCurrentPosition(p,a) (p)->SetCurrentPosition(a)
|
||||
#define IDirectSoundBuffer_SetFormat(p,a) (p)->SetFormat(a)
|
||||
#define IDirectSoundBuffer_SetVolume(p,a) (p)->SetVolume(a)
|
||||
#define IDirectSoundBuffer_SetPan(p,a) (p)->SetPan(a)
|
||||
#define IDirectSoundBuffer_SetFrequency(p,a) (p)->SetFrequency(a)
|
||||
#define IDirectSoundBuffer_Stop(p) (p)->Stop()
|
||||
#define IDirectSoundBuffer_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
|
||||
#define IDirectSoundBuffer_Restore(p) (p)->Restore()
|
||||
#endif // !defined(__cplusplus) || defined(CINTERFACE)
|
||||
|
||||
//
|
||||
// IDirectSound3DListener
|
||||
//
|
||||
|
||||
DEFINE_GUID(IID_IDirectSound3DListener, 0x279AFA84, 0x4981, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirectSound3DListener
|
||||
|
||||
DECLARE_INTERFACE_(IDirectSound3DListener, IUnknown)
|
||||
{
|
||||
// IUnknown methods
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
|
||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||||
|
||||
// IDirectSound3D methods
|
||||
STDMETHOD(GetAllParameters) (THIS_ LPDS3DLISTENER) PURE;
|
||||
STDMETHOD(GetDistanceFactor) (THIS_ LPD3DVALUE) PURE;
|
||||
STDMETHOD(GetDopplerFactor) (THIS_ LPD3DVALUE) PURE;
|
||||
STDMETHOD(GetOrientation) (THIS_ LPD3DVECTOR, LPD3DVECTOR) PURE;
|
||||
STDMETHOD(GetPosition) (THIS_ LPD3DVECTOR) PURE;
|
||||
STDMETHOD(GetRolloffFactor) (THIS_ LPD3DVALUE) PURE;
|
||||
STDMETHOD(GetVelocity) (THIS_ LPD3DVECTOR) PURE;
|
||||
STDMETHOD(SetAllParameters) (THIS_ LPCDS3DLISTENER, DWORD) PURE;
|
||||
STDMETHOD(SetDistanceFactor) (THIS_ D3DVALUE, DWORD) PURE;
|
||||
STDMETHOD(SetDopplerFactor) (THIS_ D3DVALUE, DWORD) PURE;
|
||||
STDMETHOD(SetOrientation) (THIS_ D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, DWORD) PURE;
|
||||
STDMETHOD(SetPosition) (THIS_ D3DVALUE, D3DVALUE, D3DVALUE, DWORD) PURE;
|
||||
STDMETHOD(SetRolloffFactor) (THIS_ D3DVALUE, DWORD) PURE;
|
||||
STDMETHOD(SetVelocity) (THIS_ D3DVALUE, D3DVALUE, D3DVALUE, DWORD) PURE;
|
||||
STDMETHOD(CommitDeferredSettings) (THIS) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirectSound3DListener_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDirectSound3DListener_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirectSound3DListener_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirectSound3DListener_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
|
||||
#define IDirectSound3DListener_GetDistanceFactor(p,a) (p)->lpVtbl->GetDistanceFactor(p,a)
|
||||
#define IDirectSound3DListener_GetDopplerFactor(p,a) (p)->lpVtbl->GetDopplerFactor(p,a)
|
||||
#define IDirectSound3DListener_GetOrientation(p,a,b) (p)->lpVtbl->GetOrientation(p,a,b)
|
||||
#define IDirectSound3DListener_GetPosition(p,a) (p)->lpVtbl->GetPosition(p,a)
|
||||
#define IDirectSound3DListener_GetRolloffFactor(p,a) (p)->lpVtbl->GetRolloffFactor(p,a)
|
||||
#define IDirectSound3DListener_GetVelocity(p,a) (p)->lpVtbl->GetVelocity(p,a)
|
||||
#define IDirectSound3DListener_SetAllParameters(p,a,b) (p)->lpVtbl->SetAllParameters(p,a,b)
|
||||
#define IDirectSound3DListener_SetDistanceFactor(p,a,b) (p)->lpVtbl->SetDistanceFactor(p,a,b)
|
||||
#define IDirectSound3DListener_SetDopplerFactor(p,a,b) (p)->lpVtbl->SetDopplerFactor(p,a,b)
|
||||
#define IDirectSound3DListener_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
|
||||
#define IDirectSound3DListener_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
|
||||
#define IDirectSound3DListener_SetRolloffFactor(p,a,b) (p)->lpVtbl->SetRolloffFactor(p,a,b)
|
||||
#define IDirectSound3DListener_SetVelocity(p,a,b,c,d) (p)->lpVtbl->SetVelocity(p,a,b,c,d)
|
||||
#define IDirectSound3DListener_CommitDeferredSettings(p) (p)->lpVtbl->CommitDeferredSettings(p)
|
||||
#else // !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirectSound3DListener_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
|
||||
#define IDirectSound3DListener_AddRef(p) (p)->AddRef()
|
||||
#define IDirectSound3DListener_Release(p) (p)->Release()
|
||||
#define IDirectSound3DListener_GetAllParameters(p,a) (p)->GetAllParameters(a)
|
||||
#define IDirectSound3DListener_GetDistanceFactor(p,a) (p)->GetDistanceFactor(a)
|
||||
#define IDirectSound3DListener_GetDopplerFactor(p,a) (p)->GetDopplerFactor(a)
|
||||
#define IDirectSound3DListener_GetOrientation(p,a,b) (p)->GetOrientation(a,b)
|
||||
#define IDirectSound3DListener_GetPosition(p,a) (p)->GetPosition(a)
|
||||
#define IDirectSound3DListener_GetRolloffFactor(p,a) (p)->GetRolloffFactor(a)
|
||||
#define IDirectSound3DListener_GetVelocity(p,a) (p)->GetVelocity(a)
|
||||
#define IDirectSound3DListener_SetAllParameters(p,a,b) (p)->SetAllParameters(a,b)
|
||||
#define IDirectSound3DListener_SetDistanceFactor(p,a,b) (p)->SetDistanceFactor(a,b)
|
||||
#define IDirectSound3DListener_SetDopplerFactor(p,a,b) (p)->SetDopplerFactor(a,b)
|
||||
#define IDirectSound3DListener_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
|
||||
#define IDirectSound3DListener_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
|
||||
#define IDirectSound3DListener_SetRolloffFactor(p,a,b) (p)->SetRolloffFactor(a,b)
|
||||
#define IDirectSound3DListener_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)
|
||||
#define IDirectSound3DListener_CommitDeferredSettings(p) (p)->CommitDeferredSettings()
|
||||
#endif // !defined(__cplusplus) || defined(CINTERFACE)
|
||||
|
||||
//
|
||||
// IDirectSound3DBuffer
|
||||
//
|
||||
|
||||
DEFINE_GUID(IID_IDirectSound3DBuffer, 0x279AFA86, 0x4981, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirectSound3DBuffer
|
||||
|
||||
DECLARE_INTERFACE_(IDirectSound3DBuffer, IUnknown)
|
||||
{
|
||||
// IUnknown methods
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
|
||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||||
|
||||
// IDirectSoundBuffer3D methods
|
||||
STDMETHOD(GetAllParameters) (THIS_ LPDS3DBUFFER) PURE;
|
||||
STDMETHOD(GetConeAngles) (THIS_ LPDWORD, LPDWORD) PURE;
|
||||
STDMETHOD(GetConeOrientation) (THIS_ LPD3DVECTOR) PURE;
|
||||
STDMETHOD(GetConeOutsideVolume) (THIS_ LPLONG) PURE;
|
||||
STDMETHOD(GetMaxDistance) (THIS_ LPD3DVALUE) PURE;
|
||||
STDMETHOD(GetMinDistance) (THIS_ LPD3DVALUE) PURE;
|
||||
STDMETHOD(GetMode) (THIS_ LPDWORD) PURE;
|
||||
STDMETHOD(GetPosition) (THIS_ LPD3DVECTOR) PURE;
|
||||
STDMETHOD(GetVelocity) (THIS_ LPD3DVECTOR) PURE;
|
||||
STDMETHOD(SetAllParameters) (THIS_ LPCDS3DBUFFER, DWORD) PURE;
|
||||
STDMETHOD(SetConeAngles) (THIS_ DWORD, DWORD, DWORD) PURE;
|
||||
STDMETHOD(SetConeOrientation) (THIS_ D3DVALUE, D3DVALUE, D3DVALUE, DWORD) PURE;
|
||||
STDMETHOD(SetConeOutsideVolume) (THIS_ LONG, DWORD) PURE;
|
||||
STDMETHOD(SetMaxDistance) (THIS_ D3DVALUE, DWORD) PURE;
|
||||
STDMETHOD(SetMinDistance) (THIS_ D3DVALUE, DWORD) PURE;
|
||||
STDMETHOD(SetMode) (THIS_ DWORD, DWORD) PURE;
|
||||
STDMETHOD(SetPosition) (THIS_ D3DVALUE, D3DVALUE, D3DVALUE, DWORD) PURE;
|
||||
STDMETHOD(SetVelocity) (THIS_ D3DVALUE, D3DVALUE, D3DVALUE, DWORD) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirectSound3DBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDirectSound3DBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirectSound3DBuffer_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirectSound3DBuffer_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
|
||||
#define IDirectSound3DBuffer_GetConeAngles(p,a,b) (p)->lpVtbl->GetConeAngles(p,a,b)
|
||||
#define IDirectSound3DBuffer_GetConeOrientation(p,a) (p)->lpVtbl->GetConeOrientation(p,a)
|
||||
#define IDirectSound3DBuffer_GetConeOutsideVolume(p,a) (p)->lpVtbl->GetConeOutsideVolume(p,a)
|
||||
#define IDirectSound3DBuffer_GetPosition(p,a) (p)->lpVtbl->GetPosition(p,a)
|
||||
#define IDirectSound3DBuffer_GetMinDistance(p,a) (p)->lpVtbl->GetMinDistance(p,a)
|
||||
#define IDirectSound3DBuffer_GetMaxDistance(p,a) (p)->lpVtbl->GetMaxDistance(p,a)
|
||||
#define IDirectSound3DBuffer_GetMode(p,a) (p)->lpVtbl->GetMode(p,a)
|
||||
#define IDirectSound3DBuffer_GetVelocity(p,a) (p)->lpVtbl->GetVelocity(p,a)
|
||||
#define IDirectSound3DBuffer_SetAllParameters(p,a,b) (p)->lpVtbl->SetAllParameters(p,a,b)
|
||||
#define IDirectSound3DBuffer_SetConeAngles(p,a,b,c) (p)->lpVtbl->SetConeAngles(p,a,b,c)
|
||||
#define IDirectSound3DBuffer_SetConeOrientation(p,a,b,c,d) (p)->lpVtbl->SetConeOrientation(p,a,b,c,d)
|
||||
#define IDirectSound3DBuffer_SetConeOutsideVolume(p,a,b)(p)->lpVtbl->SetConeOutsideVolume(p,a,b)
|
||||
#define IDirectSound3DBuffer_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
|
||||
#define IDirectSound3DBuffer_SetMinDistance(p,a,b) (p)->lpVtbl->SetMinDistance(p,a,b)
|
||||
#define IDirectSound3DBuffer_SetMaxDistance(p,a,b) (p)->lpVtbl->SetMaxDistance(p,a,b)
|
||||
#define IDirectSound3DBuffer_SetMode(p,a,b) (p)->lpVtbl->SetMode(p,a,b)
|
||||
#define IDirectSound3DBuffer_SetVelocity(p,a,b,c,d) (p)->lpVtbl->SetVelocity(p,a,b,c,d)
|
||||
#else // !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirectSound3DBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
|
||||
#define IDirectSound3DBuffer_AddRef(p) (p)->AddRef()
|
||||
#define IDirectSound3DBuffer_Release(p) (p)->Release()
|
||||
#define IDirectSound3DBuffer_GetAllParameters(p,a) (p)->GetAllParameters(a)
|
||||
#define IDirectSound3DBuffer_GetConeAngles(p,a,b) (p)->GetConeAngles(a,b)
|
||||
#define IDirectSound3DBuffer_GetConeOrientation(p,a) (p)->GetConeOrientation(a)
|
||||
#define IDirectSound3DBuffer_GetConeOutsideVolume(p,a) (p)->GetConeOutsideVolume(a)
|
||||
#define IDirectSound3DBuffer_GetPosition(p,a) (p)->GetPosition(a)
|
||||
#define IDirectSound3DBuffer_GetMinDistance(p,a) (p)->GetMinDistance(a)
|
||||
#define IDirectSound3DBuffer_GetMaxDistance(p,a) (p)->GetMaxDistance(a)
|
||||
#define IDirectSound3DBuffer_GetMode(p,a) (p)->GetMode(a)
|
||||
#define IDirectSound3DBuffer_GetVelocity(p,a) (p)->GetVelocity(a)
|
||||
#define IDirectSound3DBuffer_SetAllParameters(p,a,b) (p)->SetAllParameters(a,b)
|
||||
#define IDirectSound3DBuffer_SetConeAngles(p,a,b,c) (p)->SetConeAngles(a,b,c)
|
||||
#define IDirectSound3DBuffer_SetConeOrientation(p,a,b,c,d) (p)->SetConeOrientation(a,b,c,d)
|
||||
#define IDirectSound3DBuffer_SetConeOutsideVolume(p,a,b)(p)->SetConeOutsideVolume(a,b)
|
||||
#define IDirectSound3DBuffer_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
|
||||
#define IDirectSound3DBuffer_SetMinDistance(p,a,b) (p)->SetMinDistance(a,b)
|
||||
#define IDirectSound3DBuffer_SetMaxDistance(p,a,b) (p)->SetMaxDistance(a,b)
|
||||
#define IDirectSound3DBuffer_SetMode(p,a,b) (p)->SetMode(a,b)
|
||||
#define IDirectSound3DBuffer_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)
|
||||
#endif // !defined(__cplusplus) || defined(CINTERFACE)
|
||||
|
||||
//
|
||||
// IDirectSoundCapture
|
||||
//
|
||||
|
||||
DEFINE_GUID(IID_IDirectSoundCapture, 0xb0210781, 0x89cd, 0x11d0, 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirectSoundCapture
|
||||
|
||||
DECLARE_INTERFACE_(IDirectSoundCapture, IUnknown)
|
||||
{
|
||||
// IUnknown methods
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
|
||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||||
|
||||
// IDirectSoundCapture methods
|
||||
STDMETHOD(CreateCaptureBuffer) (THIS_ LPCDSCBUFFERDESC, LPDIRECTSOUNDCAPTUREBUFFER *, LPUNKNOWN) PURE;
|
||||
STDMETHOD(GetCaps) (THIS_ LPDSCCAPS ) PURE;
|
||||
STDMETHOD(Initialize) (THIS_ LPGUID) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirectSoundCapture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDirectSoundCapture_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirectSoundCapture_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirectSoundCapture_CreateCaptureBuffer(p,a,b,c) (p)->lpVtbl->CreateCaptureBuffer(p,a,b,c)
|
||||
#define IDirectSoundCapture_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
|
||||
#define IDirectSoundCapture_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
|
||||
#else // !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirectSoundCapture_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
|
||||
#define IDirectSoundCapture_AddRef(p) (p)->AddRef()
|
||||
#define IDirectSoundCapture_Release(p) (p)->Release()
|
||||
#define IDirectSoundCapture_CreateCaptureBuffer(p,a,b,c) (p)->CreateCaptureBuffer(a,b,c)
|
||||
#define IDirectSoundCapture_GetCaps(p,a) (p)->GetCaps(a)
|
||||
#define IDirectSoundCapture_Initialize(p,a) (p)->Initialize(a)
|
||||
#endif // !defined(__cplusplus) || defined(CINTERFACE)
|
||||
|
||||
//
|
||||
// IDirectSoundCaptureBuffer
|
||||
//
|
||||
|
||||
DEFINE_GUID(IID_IDirectSoundCaptureBuffer, 0xb0210782, 0x89cd, 0x11d0, 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirectSoundCaptureBuffer
|
||||
|
||||
DECLARE_INTERFACE_(IDirectSoundCaptureBuffer, IUnknown)
|
||||
{
|
||||
// IUnknown methods
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
|
||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||||
|
||||
// IDirectSoundCaptureBuffer methods
|
||||
STDMETHOD(GetCaps) (THIS_ LPDSCBCAPS ) PURE;
|
||||
STDMETHOD(GetCurrentPosition) (THIS_ LPDWORD, LPDWORD ) PURE;
|
||||
STDMETHOD(GetFormat) (THIS_ LPWAVEFORMATEX, DWORD, LPDWORD ) PURE;
|
||||
STDMETHOD(GetStatus) (THIS_ LPDWORD ) PURE;
|
||||
STDMETHOD(Initialize) (THIS_ LPDIRECTSOUNDCAPTURE, LPCDSCBUFFERDESC) PURE;
|
||||
STDMETHOD(Lock) (THIS_ DWORD, DWORD, LPVOID *, LPDWORD, LPVOID *, LPDWORD, DWORD) PURE;
|
||||
STDMETHOD(Start) (THIS_ DWORD) PURE;
|
||||
STDMETHOD(Stop) (THIS) PURE;
|
||||
STDMETHOD(Unlock) (THIS_ LPVOID, DWORD, LPVOID, DWORD) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirectSoundCaptureBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDirectSoundCaptureBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirectSoundCaptureBuffer_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirectSoundCaptureBuffer_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
|
||||
#define IDirectSoundCaptureBuffer_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
|
||||
#define IDirectSoundCaptureBuffer_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
|
||||
#define IDirectSoundCaptureBuffer_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
|
||||
#define IDirectSoundCaptureBuffer_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
|
||||
#define IDirectSoundCaptureBuffer_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
|
||||
#define IDirectSoundCaptureBuffer_Start(p,a) (p)->lpVtbl->Start(p,a)
|
||||
#define IDirectSoundCaptureBuffer_Stop(p) (p)->lpVtbl->Stop(p)
|
||||
#define IDirectSoundCaptureBuffer_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
|
||||
#else // !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirectSoundCaptureBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
|
||||
#define IDirectSoundCaptureBuffer_AddRef(p) (p)->AddRef()
|
||||
#define IDirectSoundCaptureBuffer_Release(p) (p)->Release()
|
||||
#define IDirectSoundCaptureBuffer_GetCaps(p,a) (p)->GetCaps(a)
|
||||
#define IDirectSoundCaptureBuffer_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
|
||||
#define IDirectSoundCaptureBuffer_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
|
||||
#define IDirectSoundCaptureBuffer_GetStatus(p,a) (p)->GetStatus(a)
|
||||
#define IDirectSoundCaptureBuffer_Initialize(p,a,b) (p)->Initialize(a,b)
|
||||
#define IDirectSoundCaptureBuffer_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
|
||||
#define IDirectSoundCaptureBuffer_Start(p,a) (p)->Start(a)
|
||||
#define IDirectSoundCaptureBuffer_Stop(p) (p)->Stop()
|
||||
#define IDirectSoundCaptureBuffer_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
|
||||
#endif // !defined(__cplusplus) || defined(CINTERFACE)
|
||||
|
||||
//
|
||||
// IDirectSoundNotify
|
||||
//
|
||||
|
||||
DEFINE_GUID(IID_IDirectSoundNotify, 0xb0210783, 0x89cd, 0x11d0, 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirectSoundNotify
|
||||
|
||||
DECLARE_INTERFACE_(IDirectSoundNotify, IUnknown)
|
||||
{
|
||||
// IUnknown methods
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
|
||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||||
|
||||
// IDirectSoundNotify methods
|
||||
STDMETHOD(SetNotificationPositions) (THIS_ DWORD, LPCDSBPOSITIONNOTIFY) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirectSoundNotify_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDirectSoundNotify_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirectSoundNotify_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IDirectSoundNotify_SetNotificationPositions(p,a,b) (p)->lpVtbl->SetNotificationPositions(p,a,b)
|
||||
#else // !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirectSoundNotify_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
|
||||
#define IDirectSoundNotify_AddRef(p) (p)->AddRef()
|
||||
#define IDirectSoundNotify_Release(p) (p)->Release()
|
||||
#define IDirectSoundNotify_SetNotificationPositions(p,a,b) (p)->SetNotificationPositions(a,b)
|
||||
#endif // !defined(__cplusplus) || defined(CINTERFACE)
|
||||
|
||||
//
|
||||
// IKsPropertySet
|
||||
//
|
||||
|
||||
#ifndef _IKsPropertySet_
|
||||
#define _IKsPropertySet_
|
||||
|
||||
#ifdef __cplusplus
|
||||
// 'struct' not 'class' per the way DECLARE_INTERFACE_ is defined
|
||||
struct IKsPropertySet;
|
||||
#endif // __cplusplus
|
||||
|
||||
typedef struct IKsPropertySet *LPKSPROPERTYSET;
|
||||
|
||||
#define KSPROPERTY_SUPPORT_GET 0x00000001
|
||||
#define KSPROPERTY_SUPPORT_SET 0x00000002
|
||||
|
||||
DEFINE_GUID(IID_IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9, 0xaa, 0x00, 0xaa, 0x00, 0x61, 0xbe, 0x93);
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsPropertySet
|
||||
|
||||
DECLARE_INTERFACE_(IKsPropertySet, IUnknown)
|
||||
{
|
||||
// IUnknown methods
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
|
||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||||
|
||||
// IKsPropertySet methods
|
||||
STDMETHOD(Get) (THIS_ REFGUID, ULONG, LPVOID, ULONG, LPVOID, ULONG, PULONG) PURE;
|
||||
STDMETHOD(Set) (THIS_ REFGUID, ULONG, LPVOID, ULONG, LPVOID, ULONG) PURE;
|
||||
STDMETHOD(QuerySupport) (THIS_ REFGUID, ULONG, PULONG) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IKsPropertySet_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IKsPropertySet_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IKsPropertySet_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IKsPropertySet_Get(p,a,b,c,d,e,f,g) (p)->lpVtbl->Get(p,a,b,c,d,e,f,g)
|
||||
#define IKsPropertySet_Set(p,a,b,c,d,e,f) (p)->lpVtbl->Set(p,a,b,c,d,e,f)
|
||||
#define IKsPropertySet_QuerySupport(p,a,b,c) (p)->lpVtbl->QuerySupport(p,a,b,c)
|
||||
#else // !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IKsPropertySet_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
|
||||
#define IKsPropertySet_AddRef(p) (p)->AddRef()
|
||||
#define IKsPropertySet_Release(p) (p)->Release()
|
||||
#define IKsPropertySet_Get(p,a,b,c,d,e,f,g) (p)->Get(a,b,c,d,e,f,g)
|
||||
#define IKsPropertySet_Set(p,a,b,c,d,e,f) (p)->Set(a,b,c,d,e,f)
|
||||
#define IKsPropertySet_QuerySupport(p,a,b,c) (p)->QuerySupport(a,b,c)
|
||||
#endif // !defined(__cplusplus) || defined(CINTERFACE)
|
||||
|
||||
#endif // _IKsPropertySet_
|
||||
|
||||
//
|
||||
// Return Codes
|
||||
//
|
||||
|
||||
#define DS_OK 0
|
||||
|
||||
// The call failed because resources (such as a priority level)
|
||||
// were already being used by another caller.
|
||||
#define DSERR_ALLOCATED MAKE_DSHRESULT(10)
|
||||
|
||||
// The control (vol,pan,etc.) requested by the caller is not available.
|
||||
#define DSERR_CONTROLUNAVAIL MAKE_DSHRESULT(30)
|
||||
|
||||
// An invalid parameter was passed to the returning function
|
||||
#define DSERR_INVALIDPARAM E_INVALIDARG
|
||||
|
||||
// This call is not valid for the current state of this object
|
||||
#define DSERR_INVALIDCALL MAKE_DSHRESULT(50)
|
||||
|
||||
// An undetermined error occured inside the DirectSound subsystem
|
||||
#define DSERR_GENERIC E_FAIL
|
||||
|
||||
// The caller does not have the priority level required for the function to
|
||||
// succeed.
|
||||
#define DSERR_PRIOLEVELNEEDED MAKE_DSHRESULT(70)
|
||||
|
||||
// Not enough free memory is available to complete the operation
|
||||
#define DSERR_OUTOFMEMORY E_OUTOFMEMORY
|
||||
|
||||
// The specified WAVE format is not supported
|
||||
#define DSERR_BADFORMAT MAKE_DSHRESULT(100)
|
||||
|
||||
// The function called is not supported at this time
|
||||
#define DSERR_UNSUPPORTED E_NOTIMPL
|
||||
|
||||
// No sound driver is available for use
|
||||
#define DSERR_NODRIVER MAKE_DSHRESULT(120)
|
||||
|
||||
// This object is already initialized
|
||||
#define DSERR_ALREADYINITIALIZED MAKE_DSHRESULT(130)
|
||||
|
||||
// This object does not support aggregation
|
||||
#define DSERR_NOAGGREGATION CLASS_E_NOAGGREGATION
|
||||
|
||||
// The buffer memory has been lost, and must be restored.
|
||||
#define DSERR_BUFFERLOST MAKE_DSHRESULT(150)
|
||||
|
||||
// Another app has a higher priority level, preventing this call from
|
||||
// succeeding.
|
||||
#define DSERR_OTHERAPPHASPRIO MAKE_DSHRESULT(160)
|
||||
|
||||
// This object has not been initialized
|
||||
#define DSERR_UNINITIALIZED MAKE_DSHRESULT(170)
|
||||
|
||||
// The requested COM interface is not available
|
||||
#define DSERR_NOINTERFACE E_NOINTERFACE
|
||||
|
||||
//
|
||||
// Flags
|
||||
//
|
||||
|
||||
#define DSCAPS_PRIMARYMONO 0x00000001
|
||||
#define DSCAPS_PRIMARYSTEREO 0x00000002
|
||||
#define DSCAPS_PRIMARY8BIT 0x00000004
|
||||
#define DSCAPS_PRIMARY16BIT 0x00000008
|
||||
#define DSCAPS_CONTINUOUSRATE 0x00000010
|
||||
#define DSCAPS_EMULDRIVER 0x00000020
|
||||
#define DSCAPS_CERTIFIED 0x00000040
|
||||
#define DSCAPS_SECONDARYMONO 0x00000100
|
||||
#define DSCAPS_SECONDARYSTEREO 0x00000200
|
||||
#define DSCAPS_SECONDARY8BIT 0x00000400
|
||||
#define DSCAPS_SECONDARY16BIT 0x00000800
|
||||
|
||||
#define DSBPLAY_LOOPING 0x00000001
|
||||
|
||||
#define DSBSTATUS_PLAYING 0x00000001
|
||||
#define DSBSTATUS_BUFFERLOST 0x00000002
|
||||
#define DSBSTATUS_LOOPING 0x00000004
|
||||
|
||||
#define DSBLOCK_FROMWRITECURSOR 0x00000001
|
||||
#define DSBLOCK_ENTIREBUFFER 0x00000002
|
||||
|
||||
#define DSSCL_NORMAL 0x00000001
|
||||
#define DSSCL_PRIORITY 0x00000002
|
||||
#define DSSCL_EXCLUSIVE 0x00000003
|
||||
#define DSSCL_WRITEPRIMARY 0x00000004
|
||||
|
||||
#define DS3DMODE_NORMAL 0x00000000
|
||||
#define DS3DMODE_HEADRELATIVE 0x00000001
|
||||
#define DS3DMODE_DISABLE 0x00000002
|
||||
|
||||
#define DS3D_IMMEDIATE 0x00000000
|
||||
#define DS3D_DEFERRED 0x00000001
|
||||
|
||||
#define DS3D_MINDISTANCEFACTOR 0.0f
|
||||
#define DS3D_MAXDISTANCEFACTOR 10.0f
|
||||
#define DS3D_DEFAULTDISTANCEFACTOR 1.0f
|
||||
|
||||
#define DS3D_MINROLLOFFFACTOR 0.0f
|
||||
#define DS3D_MAXROLLOFFFACTOR 10.0f
|
||||
#define DS3D_DEFAULTROLLOFFFACTOR 1.0f
|
||||
|
||||
#define DS3D_MINDOPPLERFACTOR 0.0f
|
||||
#define DS3D_MAXDOPPLERFACTOR 10.0f
|
||||
#define DS3D_DEFAULTDOPPLERFACTOR 1.0f
|
||||
|
||||
#define DS3D_DEFAULTMINDISTANCE 1.0f
|
||||
#define DS3D_DEFAULTMAXDISTANCE 1000000000.0f
|
||||
|
||||
#define DS3D_MINCONEANGLE 0
|
||||
#define DS3D_MAXCONEANGLE 360
|
||||
#define DS3D_DEFAULTCONEANGLE 360
|
||||
|
||||
#define DS3D_DEFAULTCONEOUTSIDEVOLUME 0
|
||||
|
||||
#define DSBCAPS_PRIMARYBUFFER 0x00000001
|
||||
#define DSBCAPS_STATIC 0x00000002
|
||||
#define DSBCAPS_LOCHARDWARE 0x00000004
|
||||
#define DSBCAPS_LOCSOFTWARE 0x00000008
|
||||
#define DSBCAPS_CTRL3D 0x00000010
|
||||
#define DSBCAPS_CTRLFREQUENCY 0x00000020
|
||||
#define DSBCAPS_CTRLPAN 0x00000040
|
||||
#define DSBCAPS_CTRLVOLUME 0x00000080
|
||||
#define DSBCAPS_CTRLPOSITIONNOTIFY 0x00000100
|
||||
#define DSBCAPS_CTRLDEFAULT 0x000000E0
|
||||
#define DSBCAPS_CTRLALL 0x000001F0
|
||||
#define DSBCAPS_STICKYFOCUS 0x00004000
|
||||
#define DSBCAPS_GLOBALFOCUS 0x00008000
|
||||
#define DSBCAPS_GETCURRENTPOSITION2 0x00010000
|
||||
#define DSBCAPS_MUTE3DATMAXDISTANCE 0x00020000
|
||||
|
||||
#define DSCBCAPS_WAVEMAPPED 0x80000000
|
||||
|
||||
#define DSSPEAKER_HEADPHONE 0x00000001
|
||||
#define DSSPEAKER_MONO 0x00000002
|
||||
#define DSSPEAKER_QUAD 0x00000003
|
||||
#define DSSPEAKER_STEREO 0x00000004
|
||||
#define DSSPEAKER_SURROUND 0x00000005
|
||||
|
||||
#define DSSPEAKER_GEOMETRY_MIN 0x00000005 // 5 degrees
|
||||
#define DSSPEAKER_GEOMETRY_NARROW 0x0000000A // 10 degrees
|
||||
#define DSSPEAKER_GEOMETRY_WIDE 0x00000014 // 20 degrees
|
||||
#define DSSPEAKER_GEOMETRY_MAX 0x000000B4 // 180 degrees
|
||||
|
||||
#define DSSPEAKER_COMBINED(c, g) ((DWORD)(((BYTE)(c)) | ((DWORD)((BYTE)(g))) << 16))
|
||||
#define DSSPEAKER_CONFIG(a) ((BYTE)(a))
|
||||
#define DSSPEAKER_GEOMETRY(a) ((BYTE)(((DWORD)(a) >> 16) & 0x00FF))
|
||||
|
||||
#define DSCCAPS_EMULDRIVER 0x00000020
|
||||
|
||||
#define DSCBLOCK_ENTIREBUFFER 0x00000001
|
||||
|
||||
#define DSCBSTATUS_CAPTURING 0x00000001
|
||||
#define DSCBSTATUS_LOOPING 0x00000002
|
||||
|
||||
#define DSCBSTART_LOOPING 0x00000001
|
||||
|
||||
#define DSBFREQUENCY_MIN 100
|
||||
#define DSBFREQUENCY_MAX 100000
|
||||
#define DSBFREQUENCY_ORIGINAL 0
|
||||
|
||||
#define DSBPAN_LEFT -10000
|
||||
#define DSBPAN_CENTER 0
|
||||
#define DSBPAN_RIGHT 10000
|
||||
|
||||
#define DSBVOLUME_MIN -10000
|
||||
#define DSBVOLUME_MAX 0
|
||||
|
||||
#define DSBSIZE_MIN 4
|
||||
#define DSBSIZE_MAX 0x0FFFFFFF
|
||||
|
||||
#define DSBPN_OFFSETSTOP 0xFFFFFFFF
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif // __cplusplus
|
||||
|
||||
#endif // __DSOUND_INCLUDED__
|
||||
831
3rdparty/dx5/inc/dvp.h
vendored
Normal file
831
3rdparty/dx5/inc/dvp.h
vendored
Normal file
@ -0,0 +1,831 @@
|
||||
/*==========================================================================;
|
||||
*
|
||||
* Copyright (C) 1996-1997 Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: dvp.h
|
||||
* Content: DirectDrawVideoPort include file
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef __DVP_INCLUDED__
|
||||
#define __DVP_INCLUDED__
|
||||
#if defined( _WIN32 ) && !defined( _NO_COM )
|
||||
#define COM_NO_WINDOWS_H
|
||||
#include <objbase.h>
|
||||
#else
|
||||
#define IUnknown void
|
||||
#undef CO_E_NOTINITIALIZED
|
||||
#define CO_E_NOTINITIALIZED 0x800401F0L
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* GUIDS used by DirectDrawVideoPort objects
|
||||
*/
|
||||
#if defined( _WIN32 ) && !defined( _NO_COM )
|
||||
DEFINE_GUID( IID_IDDVideoPortContainer, 0x6C142760,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
|
||||
DEFINE_GUID( IID_IDirectDrawVideoPort, 0xB36D93E0,0x2B43,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56 );
|
||||
|
||||
DEFINE_GUID( DDVPTYPE_E_HREFH_VREFH, 0x54F39980L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
|
||||
DEFINE_GUID( DDVPTYPE_E_HREFH_VREFL, 0x92783220L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
|
||||
DEFINE_GUID( DDVPTYPE_E_HREFL_VREFH, 0xA07A02E0L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
|
||||
DEFINE_GUID( DDVPTYPE_E_HREFL_VREFL, 0xE09C77E0L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
|
||||
DEFINE_GUID( DDVPTYPE_CCIR656, 0xFCA326A0L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
|
||||
DEFINE_GUID( DDVPTYPE_BROOKTREE, 0x1352A560L,0xDA61,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
|
||||
DEFINE_GUID( DDVPTYPE_PHILIPS, 0x332CF160L,0xDA61,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
|
||||
|
||||
/*
|
||||
* GUIDS used to describe connections
|
||||
*/
|
||||
|
||||
#endif
|
||||
|
||||
/*============================================================================
|
||||
*
|
||||
* DirectDraw Structures
|
||||
*
|
||||
* Various structures used to invoke DirectDraw.
|
||||
*
|
||||
*==========================================================================*/
|
||||
|
||||
struct IDirectDraw;
|
||||
struct IDirectDrawSurface;
|
||||
struct IDirectDrawPalette;
|
||||
struct IDirectDrawClipper;
|
||||
|
||||
typedef struct IDDVideoPortContainer FAR *LPDDVIDEOPORTCONTAINER;
|
||||
typedef struct IDirectDrawVideoPort FAR *LPDIRECTDRAWVIDEOPORT;
|
||||
|
||||
typedef struct _DDVIDEOPORTCONNECT FAR *LPDDVIDEOPORTCONNECT;
|
||||
typedef struct _DDVIDEOPORTCAPS FAR *LPDDVIDEOPORTCAPS;
|
||||
typedef struct _DDVIDEOPORTDESC FAR *LPDDVIDEOPORTDESC;
|
||||
typedef struct _DDVIDEOPORTINFO FAR *LPDDVIDEOPORTINFO;
|
||||
typedef struct _DDVIDEOPORTBANDWIDTH FAR *LPDDVIDEOPORTBANDWIDTH;
|
||||
typedef struct _DDVIDEOPORTSTATUS FAR *LPDDVIDEOPORTSTATUS;
|
||||
|
||||
typedef struct IDDVideoPortContainerVtbl DDVIDEOPORTCONTAINERCALLBACKS;
|
||||
typedef struct IDirectDrawVideoPortVtbl DIRECTDRAWVIDEOPORTCALLBACKS;
|
||||
|
||||
|
||||
/*
|
||||
* API's
|
||||
*/
|
||||
typedef HRESULT (FAR PASCAL * LPDDENUMVIDEOCALLBACK)(LPDDVIDEOPORTCAPS, LPVOID);
|
||||
|
||||
|
||||
/*
|
||||
* INTERACES FOLLOW:
|
||||
* IDirectDrawVideoPort
|
||||
* IVideoPort
|
||||
*/
|
||||
|
||||
/*
|
||||
* IDirectDrawVideoPortContainer
|
||||
*/
|
||||
#if defined( _WIN32 ) && !defined( _NO_COM )
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDDVideoPortContainer
|
||||
DECLARE_INTERFACE_( IDDVideoPortContainer, IUnknown )
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
|
||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||||
/*** IDirectDrawVideoPort methods ***/
|
||||
STDMETHOD(CreateVideoPort)(THIS_ DWORD, LPDDVIDEOPORTDESC, LPDIRECTDRAWVIDEOPORT FAR *, IUnknown FAR *) PURE;
|
||||
STDMETHOD(EnumVideoPorts)(THIS_ DWORD, LPDDVIDEOPORTCAPS, LPVOID,LPDDENUMVIDEOCALLBACK ) PURE;
|
||||
STDMETHOD(GetVideoPortConnectInfo)(THIS_ DWORD, LPDWORD, LPDDVIDEOPORTCONNECT ) PURE;
|
||||
STDMETHOD(QueryVideoPortStatus)(THIS_ DWORD, LPDDVIDEOPORTSTATUS ) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IVideoPortContainer_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
|
||||
#define IVideoPortContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IVideoPortContainer_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IVideoPortContainer_CreateVideoPort(p, a, b, c, d) (p)->lpVtbl->CreateVideoPort(p, a, b, c, d)
|
||||
#define IVideoPortContainer_EnumVideoPorts(p, a, b, c, d) (p)->lpVtbl->EnumVideoPorts(p, a, b, c, d)
|
||||
#define IVideoPortContainer_GetVideoPortConnectInfo(p, a, b, c) (p)->lpVtbl->GetVideoPortConnectInfo(p, a, b, c)
|
||||
#define IVideoPortContainer_QueryVideoPortStatus(p, a, b) (p)->lpVtbl->QueryVideoPortStatus(p, a, b)
|
||||
#else
|
||||
#define IVideoPortContainer_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
|
||||
#define IVideoPortContainer_AddRef(p) (p)->AddRef()
|
||||
#define IVideoPortContainer_Release(p) (p)->Release()
|
||||
#define IVideoPortContainer_CreateVideoPort(p, a, b, c, d) (p)->CreateVideoPort(a, b, c, d)
|
||||
#define IVideoPortContainer_EnumVideoPorts(p, a, b, c, d) (p)->EnumVideoPorts(a, b, c, d)
|
||||
#define IVideoPortContainer_GetVideoPortConnectInfo(p, a, b, c) (p)->GetVideoPortConnectInfo(a, b, c)
|
||||
#define IVideoPortContainer_QueryVideoPortStatus(p, a, b) (p)->QueryVideoPortStatus(a, b)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* IDirectDrawVideoPort
|
||||
*/
|
||||
#if defined( _WIN32 ) && !defined( _NO_COM )
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirectDrawVideoPort
|
||||
DECLARE_INTERFACE_( IDirectDrawVideoPort, IUnknown )
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
|
||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||||
/*** IVideoPort methods ***/
|
||||
STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE, DWORD) PURE;
|
||||
STDMETHOD(GetBandwidthInfo)(THIS_ LPDDPIXELFORMAT, DWORD, DWORD, DWORD, LPDDVIDEOPORTBANDWIDTH) PURE;
|
||||
STDMETHOD(GetColorControls)(THIS_ LPDDCOLORCONTROL) PURE;
|
||||
STDMETHOD(GetInputFormats)(THIS_ LPDWORD, LPDDPIXELFORMAT, DWORD) PURE;
|
||||
STDMETHOD(GetOutputFormats)(THIS_ LPDDPIXELFORMAT, LPDWORD, LPDDPIXELFORMAT, DWORD) PURE;
|
||||
STDMETHOD(GetFieldPolarity)(THIS_ LPBOOL) PURE;
|
||||
STDMETHOD(GetVideoLine)(THIS_ LPDWORD) PURE;
|
||||
STDMETHOD(GetVideoSignalStatus)(THIS_ LPDWORD) PURE;
|
||||
STDMETHOD(SetColorControls)(THIS_ LPDDCOLORCONTROL) PURE;
|
||||
STDMETHOD(SetTargetSurface)(THIS_ LPDIRECTDRAWSURFACE, DWORD) PURE;
|
||||
STDMETHOD(StartVideo)(THIS_ LPDDVIDEOPORTINFO) PURE;
|
||||
STDMETHOD(StopVideo)(THIS) PURE;
|
||||
STDMETHOD(UpdateVideo)(THIS_ LPDDVIDEOPORTINFO) PURE;
|
||||
STDMETHOD(WaitForSync)(THIS_ DWORD, DWORD, DWORD) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IVideoPort_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IVideoPort_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IVideoPort_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IVideoPort_SetTargetSurface(p,a,b) (p)->lpVtbl->SetTargetSurface(p,a,b)
|
||||
#define IVideoPort_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b)
|
||||
#define IVideoPort_GetBandwidthInfo(p,a,b,c,d,e) (p)->lpVtbl->GetBandwidthInfo(p,a,b,c,d,e)
|
||||
#define IVideoPort_GetColorControls(p,a) (p)->lpVtbl->GetColorControls(p,a)
|
||||
#define IVideoPort_GetInputFormats(p,a,b,c) (p)->lpVtbl->GetInputFormats(p,a,b,c)
|
||||
#define IVideoPort_GetOutputFormats(p,a,b,c,d) (p)->lpVtbl->GetOutputFormats(p,a,b,c,d)
|
||||
#define IVideoPort_GetFieldPolarity(p,a) (p)->lpVtbl->GetFieldPolarity(p,a)
|
||||
#define IVideoPort_GetVideoLine(p,a) (p)->lpVtbl->GetVideoLine(p,a)
|
||||
#define IVideoPort_GetVideoSignalStatus(p,a) (p)->lpVtbl->GetVideoSignalStatus(p,a)
|
||||
#define IVideoPort_SetColorControls(p,a) (p)->lpVtbl->SetColorControls(p,a)
|
||||
#define IVideoPort_StartVideo(p,a) (p)->lpVtbl->StartVideo(p,a)
|
||||
#define IVideoPort_StopVideo(p) (p)->lpVtbl->StopVideo(p)
|
||||
#define IVideoPort_UpdateVideo(p,a) (p)->lpVtbl->UpdateVideo(p,a)
|
||||
#define IVideoPort_WaitForSync(p,a,b,c) (p)->lpVtbl->WaitForSync(p,a,b,c)
|
||||
#else
|
||||
#define IVideoPort_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
|
||||
#define IVideoPort_AddRef(p) (p)->AddRef()
|
||||
#define IVideoPort_Release(p) (p)->Release()
|
||||
#define IVideoPort_SetTargetSurface(p,a,b) (p)->SetTargetSurface(a,b)
|
||||
#define IVideoPort_Flip(p,a,b) (p)->Flip(a,b)
|
||||
#define IVideoPort_GetBandwidthInfo(p,a,b,c,d,e) (p)->GetBandwidthInfo(a,b,c,d,e)
|
||||
#define IVideoPort_GetColorControls(p,a) (p)->GetColorControls(a)
|
||||
#define IVideoPort_GetInputFormats(p,a,b,c) (p)->GetInputFormats(a,b,c)
|
||||
#define IVideoPort_GetOutputFormats(p,a,b,c,d) (p)->GetOutputFormats(a,b,c,d)
|
||||
#define IVideoPort_GetFieldPolarity(p,a) (p)->GetFieldPolarity(a)
|
||||
#define IVideoPort_GetVideoLine(p,a) (p)->GetVideoLine(a)
|
||||
#define IVideoPort_GetVideoSignalStatus(p,a) (p)->GetVideoSignalStatus(a)
|
||||
#define IVideoPort_SetColorControls(p,a) (p)->SetColorControls(a)
|
||||
#define IVideoPort_StartVideo(p,a) (p)->StartVideo(a)
|
||||
#define IVideoPort_StopVideo(p) (p)->StopVideo()
|
||||
#define IVideoPort_UpdateVideo(p,a) (p)->UpdateVideo(a)
|
||||
#define IVideoPort_WaitForSync(p,a,b,c) (p)->WaitForSync(a,b,c)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* DDVIDEOPORTCONNECT
|
||||
*/
|
||||
typedef struct _DDVIDEOPORTCONNECT
|
||||
{
|
||||
DWORD dwSize; // size of the DDVIDEOPORTCONNECT structure
|
||||
DWORD dwPortWidth; // Width of the video port
|
||||
GUID guidTypeID; // Description of video port connection
|
||||
DWORD dwFlags; // Connection flags
|
||||
DWORD dwReserved1; // Reserved, set to zero.
|
||||
} DDVIDEOPORTCONNECT;
|
||||
|
||||
|
||||
/*
|
||||
* DDVIDEOPORTCAPS
|
||||
*/
|
||||
typedef struct _DDVIDEOPORTCAPS
|
||||
{
|
||||
DWORD dwSize; // size of the DDVIDEOPORTCAPS structure
|
||||
DWORD dwFlags; // indicates which fields contain data
|
||||
DWORD dwMaxWidth; // max width of the video port field
|
||||
DWORD dwMaxVBIWidth; // max width of the VBI data
|
||||
DWORD dwMaxHeight; // max height of the video port field
|
||||
DWORD dwVideoPortID; // Video port ID (0 - (dwMaxVideoPorts -1))
|
||||
DWORD dwCaps; // Video port capabilities
|
||||
DWORD dwFX; // More video port capabilities
|
||||
DWORD dwNumAutoFlipSurfaces; // Number of autoflippable surfaces
|
||||
DWORD dwAlignVideoPortBoundary; // Byte restriction of placement within the surface
|
||||
DWORD dwAlignVideoPortPrescaleWidth;// Byte restriction of width after prescaling
|
||||
DWORD dwAlignVideoPortCropBoundary; // Byte restriction of left cropping
|
||||
DWORD dwAlignVideoPortCropWidth; // Byte restriction of cropping width
|
||||
DWORD dwPreshrinkXStep; // Width can be shrunk in steps of 1/x
|
||||
DWORD dwPreshrinkYStep; // Height can be shrunk in steps of 1/x
|
||||
DWORD dwNumVBIAutoFlipSurfaces; // Number of VBI autoflippable surfaces
|
||||
DWORD dwReserved1; // Reserved for future use
|
||||
DWORD dwReserved2; // Reserved for future use
|
||||
} DDVIDEOPORTCAPS;
|
||||
|
||||
/*
|
||||
* The dwMaxWidth and dwMaxVBIWidth members are valid
|
||||
*/
|
||||
#define DDVPD_WIDTH 0x00000001l
|
||||
|
||||
/*
|
||||
* The dwMaxHeight member is valid
|
||||
*/
|
||||
#define DDVPD_HEIGHT 0x00000002l
|
||||
|
||||
/*
|
||||
* The dwVideoPortID member is valid
|
||||
*/
|
||||
#define DDVPD_ID 0x00000004l
|
||||
|
||||
/*
|
||||
* The dwCaps member is valid
|
||||
*/
|
||||
#define DDVPD_CAPS 0x00000008l
|
||||
|
||||
/*
|
||||
* The dwFX member is valid
|
||||
*/
|
||||
#define DDVPD_FX 0x00000010l
|
||||
|
||||
/*
|
||||
* The dwNumAutoFlipSurfaces member is valid
|
||||
*/
|
||||
#define DDVPD_AUTOFLIP 0x00000020l
|
||||
|
||||
/*
|
||||
* All of the alignment members are valid
|
||||
*/
|
||||
#define DDVPD_ALIGN 0x00000040l
|
||||
|
||||
|
||||
/*
|
||||
* DDVIDEOPORTDESC
|
||||
*/
|
||||
typedef struct _DDVIDEOPORTDESC
|
||||
{
|
||||
DWORD dwSize; // size of the DDVIDEOPORTDESC structure
|
||||
DWORD dwFieldWidth; // width of the video port field
|
||||
DWORD dwVBIWidth; // width of the VBI data
|
||||
DWORD dwFieldHeight; // height of the video port field
|
||||
DWORD dwMicrosecondsPerField; // Microseconds per video field
|
||||
DWORD dwMaxPixelsPerSecond; // Maximum pixel rate per second
|
||||
DWORD dwVideoPortID; // Video port ID (0 - (dwMaxVideoPorts -1))
|
||||
DWORD dwReserved1; // Reserved for future use - set to zero
|
||||
DDVIDEOPORTCONNECT VideoPortType; // Description of video port connection
|
||||
DWORD dwReserved2; // Reserved for future use - set to zero
|
||||
DWORD dwReserved3; // Reserved for future use - set to zero
|
||||
} DDVIDEOPORTDESC;
|
||||
|
||||
|
||||
/*
|
||||
* DDVIDEOPORTINFO
|
||||
*/
|
||||
typedef struct _DDVIDEOPORTINFO
|
||||
{
|
||||
DWORD dwSize; // Size of the structure
|
||||
DWORD dwOriginX; // Placement of the video data within the surface.
|
||||
DWORD dwOriginY; // Placement of the video data within the surface.
|
||||
DWORD dwVPFlags; // Video port options
|
||||
RECT rCrop; // Cropping rectangle (optional).
|
||||
DWORD dwPrescaleWidth; // Determines pre-scaling/zooming in the X direction (optional).
|
||||
DWORD dwPrescaleHeight; // Determines pre-scaling/zooming in the Y direction (optional).
|
||||
LPDDPIXELFORMAT lpddpfInputFormat; // Video format written to the video port
|
||||
LPDDPIXELFORMAT lpddpfVBIInputFormat; // Input format of the VBI data
|
||||
LPDDPIXELFORMAT lpddpfVBIOutputFormat;// Output format of the data
|
||||
DWORD dwVBIHeight; // Specifies the number of lines of data within the vertical blanking interval.
|
||||
DWORD dwReserved1; // Reserved for future use - set to zero
|
||||
DWORD dwReserved2; // Reserved for future use - set to zero
|
||||
} DDVIDEOPORTINFO;
|
||||
|
||||
|
||||
/*
|
||||
* DDVIDEOPORTBANDWIDTH
|
||||
*/
|
||||
typedef struct _DDVIDEOPORTBANDWIDTH
|
||||
{
|
||||
DWORD dwSize; // Size of the structure
|
||||
DWORD dwCaps;
|
||||
DWORD dwOverlay; // Zoom factor at which overlay is supported
|
||||
DWORD dwColorkey; // Zoom factor at which overlay w/ colorkey is supported
|
||||
DWORD dwYInterpolate; // Zoom factor at which overlay w/ Y interpolation is supported
|
||||
DWORD dwYInterpAndColorkey; // Zoom factor at which ovelray w/ Y interpolation and colorkeying is supported
|
||||
DWORD dwReserved1; // Reserved for future use - set to zero
|
||||
DWORD dwReserved2; // Reserved for future use - set to zero
|
||||
} DDVIDEOPORTBANDWIDTH;
|
||||
|
||||
|
||||
/*
|
||||
* DDVIDEOPORTSTATUS
|
||||
*/
|
||||
typedef struct _DDVIDEOPORTSTATUS
|
||||
{
|
||||
DWORD dwSize; // Size of the structure
|
||||
BOOL bInUse; // TRUE if video port is currently being used
|
||||
DWORD dwFlags; // Currently not used
|
||||
DWORD dwReserved1; // Reserved for future use
|
||||
DDVIDEOPORTCONNECT VideoPortType; // Information about the connection
|
||||
DWORD dwReserved2; // Reserved for future use
|
||||
DWORD dwReserved3; // Reserved for future use
|
||||
} DDVIDEOPORTSTATUS;
|
||||
|
||||
/*============================================================================
|
||||
*
|
||||
* Video Port Flags
|
||||
*
|
||||
* All flags are bit flags.
|
||||
*
|
||||
*==========================================================================*/
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* VIDEOPORT DDVIDEOPORTCONNECT FLAGS
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* When this is set by the driver and passed to the client, this
|
||||
* indicates that the video port is capable of double clocking the data.
|
||||
* When this is set by the client, this indicates that the video port
|
||||
* should enable double clocking. This flag is only valid with external
|
||||
* syncs.
|
||||
*/
|
||||
#define DDVPCONNECT_DOUBLECLOCK 0x00000001l
|
||||
|
||||
/*
|
||||
* When this is set by the driver and passed to the client, this
|
||||
* indicates that the video port is capable of using an external VACT
|
||||
* signal. When this is set by the client, this indicates that the
|
||||
* video port should use the external VACT signal.
|
||||
*/
|
||||
#define DDVPCONNECT_VACT 0x00000002l
|
||||
|
||||
/*
|
||||
* When this is set by the driver and passed to the client, this
|
||||
* indicates that the video port is capable of treating even fields
|
||||
* like odd fields and visa versa. When this is set by the client,
|
||||
* this indicates that the video port should treat even fields like odd
|
||||
* fields.
|
||||
*/
|
||||
#define DDVPCONNECT_INVERTPOLARITY 0x00000004l
|
||||
|
||||
/*
|
||||
* Indicates that any data written to the video port during the VREF
|
||||
* period will not be written into the frame buffer. This flag is read only.
|
||||
*/
|
||||
#define DDVPCONNECT_DISCARDSVREFDATA 0x00000008l
|
||||
|
||||
/*
|
||||
* Device will write half lines into the frame buffer, sometimes causing
|
||||
* the data to not be displayed correctly.
|
||||
*/
|
||||
#define DDVPCONNECT_HALFLINE 0x00000010l
|
||||
|
||||
/*
|
||||
* Indicates that the signal is interlaced. This flag is only
|
||||
* set by the client.
|
||||
*/
|
||||
#define DDVPCONNECT_INTERLACED 0x00000020l
|
||||
|
||||
/*
|
||||
* Indicates that video port is shareable and that this video port
|
||||
* will use the even fields. This flag is only set by the client.
|
||||
*/
|
||||
#define DDVPCONNECT_SHAREEVEN 0x00000040l
|
||||
|
||||
/*
|
||||
* Indicates that video port is shareable and that this video port
|
||||
* will use the odd fields. This flag is only set by the client.
|
||||
*/
|
||||
#define DDVPCONNECT_SHAREODD 0x00000080l
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* VIDEOPORT DDVIDEOPORTDESC CAPS
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* Flip can be performed automatically to avoid tearing.
|
||||
*/
|
||||
#define DDVPCAPS_AUTOFLIP 0x00000001l
|
||||
|
||||
/*
|
||||
* Supports interlaced video
|
||||
*/
|
||||
#define DDVPCAPS_INTERLACED 0x00000002l
|
||||
|
||||
/*
|
||||
* Supports non-interlaced video
|
||||
*/
|
||||
#define DDVPCAPS_NONINTERLACED 0x00000004l
|
||||
|
||||
/*
|
||||
* Indicates that the device can return whether the current field
|
||||
* of an interlaced signal is even or odd.
|
||||
*/
|
||||
#define DDVPCAPS_READBACKFIELD 0x00000008l
|
||||
|
||||
/*
|
||||
* Indicates that the device can return the current line of video
|
||||
* being written into the frame buffer.
|
||||
*/
|
||||
#define DDVPCAPS_READBACKLINE 0x00000010l
|
||||
|
||||
/*
|
||||
* Allows two gen-locked video streams to share a single video port,
|
||||
* where one stream uses the even fields and the other uses the odd
|
||||
* fields. Separate parameters (including address, scaling,
|
||||
* cropping, etc.) are maintained for both fields.)
|
||||
*/
|
||||
#define DDVPCAPS_SHAREABLE 0x00000020l
|
||||
|
||||
/*
|
||||
* Even fields of video can be automatically discarded.
|
||||
*/
|
||||
#define DDVPCAPS_SKIPEVENFIELDS 0x00000040l
|
||||
|
||||
/*
|
||||
* Odd fields of video can be automatically discarded.
|
||||
*/
|
||||
#define DDVPCAPS_SKIPODDFIELDS 0x00000080l
|
||||
|
||||
/*
|
||||
* Indicates that the device is capable of driving the graphics
|
||||
* VSYNC with the video port VSYNC.
|
||||
*/
|
||||
#define DDVPCAPS_SYNCMASTER 0x00000100l
|
||||
|
||||
/*
|
||||
* Indicates that data within the vertical blanking interval can
|
||||
* be written to a different surface.
|
||||
*/
|
||||
#define DDVPCAPS_VBISURFACE 0x00000200l
|
||||
|
||||
/*
|
||||
* Indicates that the video port can perform color operations
|
||||
* on the incoming data before it is written to the frame buffer.
|
||||
*/
|
||||
#define DDVPCAPS_COLORCONTROL 0x00000400l
|
||||
|
||||
/*
|
||||
* Indicates that the video port can accept VBI data in a different
|
||||
* width or format than the regular video data.
|
||||
*/
|
||||
#define DDVPCAPS_OVERSAMPLEDVBI 0x00000800l
|
||||
|
||||
/*
|
||||
* Indicates that the video port can write data directly to system memory
|
||||
*/
|
||||
#define DDVPCAPS_SYSTEMMEMORY 0x00001000l
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* VIDEOPORT DDVIDEOPORTDESC FX
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* Limited cropping is available to crop out the vertical interval data.
|
||||
*/
|
||||
#define DDVPFX_CROPTOPDATA 0x00000001l
|
||||
|
||||
/*
|
||||
* Incoming data can be cropped in the X direction before it is written
|
||||
* to the surface.
|
||||
*/
|
||||
#define DDVPFX_CROPX 0x00000002l
|
||||
|
||||
/*
|
||||
* Incoming data can be cropped in the Y direction before it is written
|
||||
* to the surface.
|
||||
*/
|
||||
#define DDVPFX_CROPY 0x00000004l
|
||||
|
||||
/*
|
||||
* Supports interleaving interlaced fields in memory.
|
||||
*/
|
||||
#define DDVPFX_INTERLEAVE 0x00000008l
|
||||
|
||||
/*
|
||||
* Supports mirroring left to right as the video data is written
|
||||
* into the frame buffer.
|
||||
*/
|
||||
#define DDVPFX_MIRRORLEFTRIGHT 0x00000010l
|
||||
|
||||
/*
|
||||
* Supports mirroring top to bottom as the video data is written
|
||||
* into the frame buffer.
|
||||
*/
|
||||
#define DDVPFX_MIRRORUPDOWN 0x00000020l
|
||||
|
||||
/*
|
||||
* Data can be arbitrarily shrunk in the X direction before it
|
||||
* is written to the surface.
|
||||
*/
|
||||
#define DDVPFX_PRESHRINKX 0x00000040l
|
||||
|
||||
/*
|
||||
* Data can be arbitrarily shrunk in the Y direction before it
|
||||
* is written to the surface.
|
||||
*/
|
||||
#define DDVPFX_PRESHRINKY 0x00000080l
|
||||
|
||||
/*
|
||||
* Data can be binary shrunk (1/2, 1/4, 1/8, etc.) in the X
|
||||
* direction before it is written to the surface.
|
||||
*/
|
||||
#define DDVPFX_PRESHRINKXB 0x00000100l
|
||||
|
||||
/*
|
||||
* Data can be binary shrunk (1/2, 1/4, 1/8, etc.) in the Y
|
||||
* direction before it is written to the surface.
|
||||
*/
|
||||
#define DDVPFX_PRESHRINKYB 0x00000200l
|
||||
|
||||
/*
|
||||
* Data can be shrunk in increments of 1/x in the X direction
|
||||
* (where X is specified in the DDVIDEOPORTCAPS.dwPreshrinkXStep)
|
||||
* before it is written to the surface.
|
||||
*/
|
||||
#define DDVPFX_PRESHRINKXS 0x00000400l
|
||||
|
||||
/*
|
||||
* Data can be shrunk in increments of 1/x in the Y direction
|
||||
* (where X is specified in the DDVIDEOPORTCAPS.dwPreshrinkYStep)
|
||||
* before it is written to the surface.
|
||||
*/
|
||||
#define DDVPFX_PRESHRINKYS 0x00000800l
|
||||
|
||||
/*
|
||||
* Data can be arbitrarily stretched in the X direction before
|
||||
* it is written to the surface.
|
||||
*/
|
||||
#define DDVPFX_PRESTRETCHX 0x00001000l
|
||||
|
||||
/*
|
||||
* Data can be arbitrarily stretched in the Y direction before
|
||||
* it is written to the surface.
|
||||
*/
|
||||
#define DDVPFX_PRESTRETCHY 0x00002000l
|
||||
|
||||
/*
|
||||
* Data can be integer stretched in the X direction before it is
|
||||
* written to the surface.
|
||||
*/
|
||||
#define DDVPFX_PRESTRETCHXN 0x00004000l
|
||||
|
||||
/*
|
||||
* Data can be integer stretched in the Y direction before it is
|
||||
* written to the surface.
|
||||
*/
|
||||
#define DDVPFX_PRESTRETCHYN 0x00008000l
|
||||
|
||||
/*
|
||||
* Indicates that data within the vertical blanking interval can
|
||||
* be converted independently of the remaining video data.
|
||||
*/
|
||||
#define DDVPFX_VBICONVERT 0x00010000l
|
||||
|
||||
/*
|
||||
* Indicates that scaling can be disabled for data within the
|
||||
* vertical blanking interval.
|
||||
*/
|
||||
#define DDVPFX_VBINOSCALE 0x00020000l
|
||||
|
||||
/*
|
||||
* Indicates that the video data can ignore the left and right
|
||||
* cropping coordinates when cropping oversampled VBI data.
|
||||
*/
|
||||
#define DDVPFX_IGNOREVBIXCROP 0x00040000l
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* VIDEOPORT DDVIDEOPORTINFO FLAGS
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* Perform automatic flipping. Auto-flipping is performed between
|
||||
* the overlay surface that was attached to the video port using
|
||||
* IDirectDrawVideoPort::AttachSurface and the overlay surfaces that
|
||||
* are attached to the surface via the IDirectDrawSurface::AttachSurface
|
||||
* method. The flip order is the order in which the overlay surfaces
|
||||
* were. attached.
|
||||
*/
|
||||
#define DDVP_AUTOFLIP 0x00000001l
|
||||
|
||||
/*
|
||||
* Perform conversion using the ddpfOutputFormat information.
|
||||
*/
|
||||
#define DDVP_CONVERT 0x00000002l
|
||||
|
||||
/*
|
||||
* Perform cropping using the specified rectangle.
|
||||
*/
|
||||
#define DDVP_CROP 0x00000004l
|
||||
|
||||
/*
|
||||
* Indicates that interlaced fields should be interleaved in memory.
|
||||
*/
|
||||
#define DDVP_INTERLEAVE 0x00000008l
|
||||
|
||||
/*
|
||||
* Indicates that the data should be mirrored left to right as it's
|
||||
* written into the frame buffer.
|
||||
*/
|
||||
#define DDVP_MIRRORLEFTRIGHT 0x00000010l
|
||||
|
||||
/*
|
||||
* Indicates that the data should be mirrored top to bottom as it's
|
||||
* written into the frame buffer.
|
||||
*/
|
||||
#define DDVP_MIRRORUPDOWN 0x00000020l
|
||||
|
||||
/*
|
||||
* Perform pre-scaling/zooming based on the pre-scale parameters.
|
||||
*/
|
||||
#define DDVP_PRESCALE 0x00000040l
|
||||
|
||||
/*
|
||||
* Ignore input of even fields.
|
||||
*/
|
||||
#define DDVP_SKIPEVENFIELDS 0x00000080l
|
||||
|
||||
/*
|
||||
* Ignore input of odd fields.
|
||||
*/
|
||||
#define DDVP_SKIPODDFIELDS 0x00000100l
|
||||
|
||||
/*
|
||||
* Drive the graphics VSYNCs using the video port VYSNCs.
|
||||
*/
|
||||
#define DDVP_SYNCMASTER 0x00000200l
|
||||
|
||||
/*
|
||||
* The ddpfVBIOutputFormatFormat member contains data that should be used
|
||||
* to convert the data within the vertical blanking interval.
|
||||
*/
|
||||
#define DDVP_VBICONVERT 0x00000400l
|
||||
|
||||
/*
|
||||
* Indicates that data within the vertical blanking interval
|
||||
* should not be scaled.
|
||||
*/
|
||||
#define DDVP_VBINOSCALE 0x00000800l
|
||||
|
||||
/*
|
||||
* Indicates that these bob/weave decisions should not be
|
||||
* overriden by other interfaces.
|
||||
*/
|
||||
#define DDVP_OVERRIDEBOBWEAVE 0x00001000l
|
||||
|
||||
/*
|
||||
* Indicates that the video data should ignore the left and right
|
||||
* cropping coordinates when cropping the VBI data.
|
||||
*/
|
||||
#define DDVP_IGNOREVBIXCROP 0x00002000l
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* DIRIRECTDRAWVIDEOPORT GETINPUTFORMAT/GETOUTPUTFORMAT FLAGS
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* Return formats for the video data
|
||||
*/
|
||||
#define DDVPFORMAT_VIDEO 0x00000001l
|
||||
|
||||
/*
|
||||
* Return formats for the VBI data
|
||||
*/
|
||||
#define DDVPFORMAT_VBI 0x00000002l
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* DIRIRECTDRAWVIDEOPORT SETTARGETSURFACE FLAGS
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* Surface should receive video data (and VBI data if a surface
|
||||
* is not explicitly attached for that purpose)
|
||||
*/
|
||||
#define DDVPTARGET_VIDEO 0x00000001l
|
||||
|
||||
/*
|
||||
* Surface should receive VBI data
|
||||
*/
|
||||
#define DDVPTARGET_VBI 0x00000002l
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* DIRIRECTDRAWVIDEOPORT WAITFORSYNC FLAGS
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* Waits until the beginning of the next VSYNC
|
||||
*/
|
||||
#define DDVPWAIT_BEGIN 0x00000001l
|
||||
|
||||
/*
|
||||
* Waits until the end of the next/current VSYNC
|
||||
*/
|
||||
#define DDVPWAIT_END 0x00000002l
|
||||
|
||||
/*
|
||||
* Waits until the beginning of the specified line
|
||||
*/
|
||||
#define DDVPWAIT_LINE 0x00000003l
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* DIRECTDRAWVIDEOPORT FLIP FLAGS
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* Flips the normal video surface
|
||||
*/
|
||||
#define DDVPFLIP_VIDEO 0x00000001l
|
||||
|
||||
/*
|
||||
* Flips the VBI surface
|
||||
*/
|
||||
#define DDVPFLIP_VBI 0x00000002l
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* DIRIRECTDRAWVIDEOPORT GETVIDEOSIGNALSTATUS VALUES
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* No video signal is present at the video port
|
||||
*/
|
||||
#define DDVPSQ_NOSIGNAL 0x00000001l
|
||||
|
||||
/*
|
||||
* A valid video signal is present at the video port
|
||||
*/
|
||||
#define DDVPSQ_SIGNALOK 0x00000002l
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* VIDEOPORTBANDWIDTH Flags
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* The specified height/width refer to the size of the video port data
|
||||
* written into memory, after prescaling has occured.
|
||||
*/
|
||||
#define DDVPB_VIDEOPORT 0x00000001l
|
||||
|
||||
/*
|
||||
* The specified height/width refer to the source size of the overlay.
|
||||
*/
|
||||
#define DDVPB_OVERLAY 0x00000002l
|
||||
|
||||
/*
|
||||
* This is a query for the device to return which caps this device requires.
|
||||
*/
|
||||
#define DDVPB_TYPE 0x00000004l
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* VIDEOPORTBANDWIDTH Caps
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* The bandwidth for this device is dependant on the overlay source size.
|
||||
*/
|
||||
#define DDVPBCAPS_SOURCE 0x00000001l
|
||||
|
||||
/*
|
||||
* The bandwidth for this device is dependant on the overlay destination
|
||||
* size.
|
||||
*/
|
||||
#define DDVPBCAPS_DESTINATION 0x00000002l
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif
|
||||
24
3rdparty/dx5/inc/fastfile.h
vendored
Normal file
24
3rdparty/dx5/inc/fastfile.h
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
/*==========================================================================
|
||||
*
|
||||
* Copyright (C) 1995-1997 Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: fastfile.h
|
||||
* Content: Definitions for fastfile access.
|
||||
*
|
||||
* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
|
||||
* EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTBILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
typedef LPVOID HFASTFILE;
|
||||
|
||||
extern BOOL FastFileInit( LPSTR fname, int max_handles );
|
||||
extern void FastFileFini( void );
|
||||
extern HFASTFILE FastFileOpen( LPSTR name );
|
||||
extern BOOL FastFileClose( HFASTFILE pfe );
|
||||
extern BOOL FastFileRead( HFASTFILE pfh, LPVOID ptr, int size );
|
||||
extern BOOL FastFileSeek( HFASTFILE pfe, int off, int how );
|
||||
extern long FastFileTell( HFASTFILE pfe );
|
||||
extern LPVOID FastFileLock( HFASTFILE pfe, int off, int len );
|
||||
extern BOOL FastFileUnlock( HFASTFILE pfe, int off, int len );
|
||||
BIN
3rdparty/dx5/lib/d3drm.lib
vendored
Normal file
BIN
3rdparty/dx5/lib/d3drm.lib
vendored
Normal file
Binary file not shown.
BIN
3rdparty/dx5/lib/ddraw.lbw
vendored
Normal file
BIN
3rdparty/dx5/lib/ddraw.lbw
vendored
Normal file
Binary file not shown.
BIN
3rdparty/dx5/lib/ddraw.lib
vendored
Normal file
BIN
3rdparty/dx5/lib/ddraw.lib
vendored
Normal file
Binary file not shown.
BIN
3rdparty/dx5/lib/dinput.lib
vendored
Normal file
BIN
3rdparty/dx5/lib/dinput.lib
vendored
Normal file
Binary file not shown.
BIN
3rdparty/dx5/lib/dplayx.lib
vendored
Normal file
BIN
3rdparty/dx5/lib/dplayx.lib
vendored
Normal file
Binary file not shown.
BIN
3rdparty/dx5/lib/dsetup.lib
vendored
Normal file
BIN
3rdparty/dx5/lib/dsetup.lib
vendored
Normal file
Binary file not shown.
BIN
3rdparty/dx5/lib/dsound.lbw
vendored
Normal file
BIN
3rdparty/dx5/lib/dsound.lbw
vendored
Normal file
Binary file not shown.
BIN
3rdparty/dx5/lib/dsound.lib
vendored
Normal file
BIN
3rdparty/dx5/lib/dsound.lib
vendored
Normal file
Binary file not shown.
BIN
3rdparty/dx5/lib/dxguid.lib
vendored
Normal file
BIN
3rdparty/dx5/lib/dxguid.lib
vendored
Normal file
Binary file not shown.
BIN
3rdparty/dx5/lib/fastfile.lbw
vendored
Normal file
BIN
3rdparty/dx5/lib/fastfile.lbw
vendored
Normal file
Binary file not shown.
BIN
3rdparty/dx5/lib/fastfile.lib
vendored
Normal file
BIN
3rdparty/dx5/lib/fastfile.lib
vendored
Normal file
Binary file not shown.
401
3rdparty/smacker/rad.h
vendored
Normal file
401
3rdparty/smacker/rad.h
vendored
Normal file
@ -0,0 +1,401 @@
|
||||
#ifndef __RAD__
|
||||
#define __RAD__
|
||||
|
||||
#define RADCOPYRIGHT "Copyright (c) RAD Software, 1994-95."
|
||||
|
||||
|
||||
// __RADDOS__ means DOS code (16 or 32 bit)
|
||||
// __RAD16__ means 16 bit code (Win16)
|
||||
// __RAD32__ means 32 bit code (DOS, Win386, Win32s, Mac)
|
||||
// __RADWIN__ means Windows code (Win16, Win386, Win32s)
|
||||
// __RADWINEXT__ means Windows 386 extender (Win386)
|
||||
// __RADNT__ means Win32s code
|
||||
// __RADMAC__ means Macintosh
|
||||
// __RAD68K__ means 68K Macintosh
|
||||
// __RADPPC__ means PowerMac
|
||||
|
||||
|
||||
#if defined(__MWERKS__) || defined(THINK_C) || defined(powerc) || defined(macintosh) || defined(__powerc)
|
||||
|
||||
#define __RADMAC__
|
||||
#if defined(powerc) || defined(__powerc)
|
||||
#define __RADPPC__
|
||||
#else
|
||||
#define __RAD68K__
|
||||
#endif
|
||||
|
||||
#define __RAD32__
|
||||
|
||||
#else
|
||||
|
||||
#ifdef __DOS__
|
||||
#define __RADDOS__
|
||||
#endif
|
||||
|
||||
#ifdef __386__
|
||||
#define __RAD32__
|
||||
#endif
|
||||
|
||||
#ifdef _Windows //For Borland
|
||||
#ifdef __WIN32__
|
||||
#define WIN32
|
||||
#else
|
||||
#define __WINDOWS__
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _WINDOWS //For MS
|
||||
#ifndef _WIN32
|
||||
#define __WINDOWS__
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#define __RADWIN__
|
||||
#define __RADNT__
|
||||
#define __RAD32__
|
||||
#else
|
||||
#ifdef __NT__
|
||||
#define __RADNT__
|
||||
#define __RAD32__
|
||||
#define __RADWIN__
|
||||
#else
|
||||
#ifdef __WINDOWS_386__
|
||||
#define __RADWIN__
|
||||
#define __RADWINEXT__
|
||||
#define __RAD32__
|
||||
#else
|
||||
#ifdef __WINDOWS__
|
||||
#define __RADWIN__
|
||||
#define __RAD16__
|
||||
#else
|
||||
#ifdef WIN32
|
||||
#define __RADWIN__
|
||||
#define __RADNT__
|
||||
#define __RAD32__
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if !defined(__RADDOS__) && !defined(__RADWIN__) && !defined(__RADMAC__)
|
||||
#error "RAD.H didn'y detect your platform. Define __DOS__, __WINDOWS__, WIN32, macintosh, or powerc."
|
||||
#endif
|
||||
|
||||
#ifdef __RADMAC__
|
||||
#define RADLINK
|
||||
#define RADEXPLINK
|
||||
#define RADASMLINK
|
||||
#else
|
||||
|
||||
#ifdef __RADNT__
|
||||
#ifndef _WIN32
|
||||
#define _WIN32
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define RADDLLIMP
|
||||
|
||||
#ifdef __RADWIN__
|
||||
#ifdef __RAD32__
|
||||
#ifdef __RADNT__
|
||||
#define RADEXPLINK __cdecl
|
||||
#ifndef __RADINDLL_
|
||||
#undef RADDLLIMP
|
||||
#define RADDLLIMP __declspec(dllimport)
|
||||
#endif
|
||||
#ifdef __WATCOMC__
|
||||
#define RADLINK __pascal
|
||||
#else
|
||||
#define RADLINK
|
||||
#endif
|
||||
#else
|
||||
#define RADLINK __pascal
|
||||
#define RADEXPLINK __far __pascal
|
||||
#endif
|
||||
#else
|
||||
#define RADLINK __far __pascal
|
||||
#define RADEXPLINK __export __far __pascal
|
||||
#endif
|
||||
#else
|
||||
#define RADLINK __pascal
|
||||
#define RADEXPLINK __pascal
|
||||
#endif
|
||||
|
||||
#define RADASMLINK __cdecl
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define RCFUNC extern "C"
|
||||
#define RCSTART extern "C" {
|
||||
#define RCEND }
|
||||
#else
|
||||
#define RCFUNC
|
||||
#define RCSTART
|
||||
#define RCEND
|
||||
#endif
|
||||
|
||||
|
||||
RCSTART
|
||||
|
||||
#define s8 signed char
|
||||
#define u8 unsigned char
|
||||
#define u32 unsigned long
|
||||
#define s32 signed long
|
||||
|
||||
#ifdef __RAD32__
|
||||
#define PTR4
|
||||
|
||||
#define u16 unsigned short
|
||||
#define s16 signed short
|
||||
|
||||
#ifdef __RADMAC__
|
||||
|
||||
#include <string.h>
|
||||
#include <memory.h>
|
||||
#include <OSUtils.h>
|
||||
|
||||
#define radstrlen strlen
|
||||
|
||||
#define radmemset memset
|
||||
|
||||
#define radmemcpy(dest,source,size) BlockMoveData((Ptr)(source),(Ptr)(dest),size)
|
||||
|
||||
#define radmemcpydb(dest,source,size) BlockMoveData((Ptr)(source),(Ptr)(dest),size)
|
||||
|
||||
#define radstrcpy strcpy
|
||||
|
||||
#ifdef __RAD68K__
|
||||
|
||||
#pragma parameter __D0 mult64anddiv(__D0,__D1,__D2)
|
||||
u32 mult64anddiv(u32 m1,u32 m2,u32 d) FOURWORDINLINE(0x4C01,0x0C01,0x4C42,0x0C01);
|
||||
// muls.l d1,d1:d0 divs.l d2,d1:d0
|
||||
|
||||
#pragma parameter radconv32a(__A0,__D0)
|
||||
void radconv32a(void* p,u32 n) NINEWORDINLINE(0x4A80,0x600C,0x2210,0xE059,0x4841,0xE059,0x20C1,0x5380,0x6EF2);
|
||||
// tst.l d0 bra.s @loope @loop: move.l (a0),d1 ror.w #8,d1 swap d1 ror.w #8,d1 move.l d1,(a0)+ sub.l #1,d0 bgt.s @loop @loope:
|
||||
|
||||
#else
|
||||
|
||||
u32 mult64anddiv(u32 m1,u32 m2,u32 d);
|
||||
|
||||
void radconv32a(void* p,u32 n);
|
||||
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#ifdef __WATCOMC__
|
||||
|
||||
u32 mult64anddiv(u32 m1,u32 m2,u32 d);
|
||||
#pragma aux mult64anddiv = "mul ecx" "div ebx" parm [eax] [ecx] [ebx] modify [EDX eax];
|
||||
|
||||
s32 radabs(s32 ab);
|
||||
#pragma aux radabs = "test eax,eax" "jge skip" "neg eax" "skip:" parm [eax];
|
||||
|
||||
#define radabs32 radabs
|
||||
|
||||
u32 DOSOut(char* str);
|
||||
#pragma aux DOSOut = "cld" "mov ecx,0xffffffff" "xor eax,eax" "mov edx,edi" "repne scasb" "not ecx" "dec ecx" "mov ebx,1" "mov ah,0x40" "int 0x21" parm [EDI] modify [EAX EBX ECX EDX EDI] value [ecx];
|
||||
|
||||
void DOSOutNum(char* str,u32 len);
|
||||
#pragma aux DOSOutNum = "mov ah,0x40" "mov ebx,1" "int 0x21" parm [edx] [ecx] modify [eax ebx];
|
||||
|
||||
u32 ErrOut(char* str);
|
||||
#pragma aux ErrOut = "cld" "mov ecx,0xffffffff" "xor eax,eax" "mov edx,edi" "repne scasb" "not ecx" "dec ecx" "xor ebx,ebx" "mov ah,0x40" "int 0x21" parm [EDI] modify [EAX EBX ECX EDX EDI] value [ecx];
|
||||
|
||||
void ErrOutNum(char* str,u32 len);
|
||||
#pragma aux ErrOutNum = "mov ah,0x40" "xor ebx,ebx" "int 0x21" parm [edx] [ecx] modify [eax ebx];
|
||||
|
||||
void radmemset16(void* dest,u16 value,u32 size);
|
||||
#pragma aux radmemset16 = "cld" "mov bx,ax" "shl eax,16" "mov ax,bx" "mov bl,cl" "shr ecx,1" "rep stosd" "mov cl,bl" "and cl,1" "rep stosb" parm [EDI] [EAX] [ECX] modify [EAX EDX EBX ECX EDI];
|
||||
|
||||
void radmemset(void* dest,u8 value,u32 size);
|
||||
#pragma aux radmemset = "cld" "mov ah,al" "mov bx,ax" "shl eax,16" "mov ax,bx" "mov bl,cl" "shr ecx,2" "rep stosd" "mov cl,bl" "and cl,3" "rep stosb" parm [EDI] [AL] [ECX] modify [EAX EDX EBX ECX EDI];
|
||||
|
||||
void radmemcpy(void* dest,void* source,u32 size);
|
||||
#pragma aux radmemcpy = "cld" "mov bl,cl" "shr ecx,2" "rep movsd" "mov cl,bl" "and cl,3" "rep movsb" parm [EDI] [ESI] [ECX] modify [EBX ECX EDI ESI];
|
||||
|
||||
void __far *radfmemcpy(void __far* dest,void __far* source,u32 size);
|
||||
#pragma aux radfmemcpy = "cld" "push es" "push ds" "mov es,cx" "mov ds,dx" "mov ecx,eax" "shr ecx,2" "rep movsd" "mov cl,al" "and cl,3" "rep movsb" "pop ds" "pop es" parm [CX EDI] [DX ESI] [EAX] modify [ECX EDI ESI] value [CX EDI];
|
||||
|
||||
void radmemcpydb(void* dest,void* source,u32 size); //Destination bigger
|
||||
#pragma aux radmemcpydb = "std" "mov bl,cl" "lea esi,[esi+ecx-4]" "lea edi,[edi+ecx-4]" "shr ecx,2" "rep movsd" "and bl,3" "jz dne" "add esi,3" "add edi,3" "mov cl,bl" "rep movsb" "dne:" "cld" parm [EDI] [ESI] [ECX] modify [EBX ECX EDI ESI];
|
||||
|
||||
char* radstrcpy(void* dest,void* source);
|
||||
#pragma aux radstrcpy = "cld" "mov edx,edi" "lp:" "mov al,[esi]" "inc esi" "mov [edi],al" "inc edi" "cmp al,0" "jne lp" parm [EDI] [ESI] modify [EAX EDX EDI ESI] value [EDX];
|
||||
|
||||
char __far* radfstrcpy(void __far* dest,void __far* source);
|
||||
#pragma aux radfstrcpy = "cld" "push es" "push ds" "mov es,cx" "mov ds,dx" "mov edx,edi" "lp:" "lodsb" "stosb" "test al,0xff" "jnz lp" "pop ds" "pop es" parm [CX EDI] [DX ESI] modify [EAX EDX EDI ESI] value [CX EDX];
|
||||
|
||||
char* radstpcpy(void* dest,void* source);
|
||||
#pragma aux radstpcpy = "cld" "lp:" "mov al,[esi]" "inc esi" "mov [edi],al" "inc edi" "cmp al,0" "jne lp" "dec edi" parm [EDI] [ESI] modify [EAX EDI ESI] value [EDI];
|
||||
|
||||
char* radstpcpyrs(void* dest,void* source);
|
||||
#pragma aux radstpcpyrs = "cld" "lp:" "lodsb" "stosb" "test al,0xff" "jnz lp" "dec edi" parm [EDI] [ESI] modify [EAX EDI ESI] value [ESI];
|
||||
|
||||
u32 radstrlen(void* dest);
|
||||
#pragma aux radstrlen = "cld" "mov ecx,0xffffffff" "xor eax,eax" "repne scasb" "not ecx" "dec ecx" parm [EDI] modify [EAX ECX EDI] value [ECX];
|
||||
|
||||
char* radstrcat(void* dest,void* source);
|
||||
#pragma aux radstrcat = "cld" "mov ecx,0xffffffff" "mov edx,edi" "xor eax,eax" "repne scasb" "dec edi" "lp:" "lodsb" "stosb" "test al,0xff" "jnz lp" \
|
||||
parm [EDI] [ESI] modify [EAX ECX EDI ESI] value [EDX];
|
||||
|
||||
char* radstrchr(void* dest,char chr);
|
||||
#pragma aux radstrchr = "cld" "lp:" "lodsb" "cmp al,dl" "je fnd" "cmp al,0" "jnz lp" "mov esi,1" "fnd:" "dec esi" parm [ESI] [DL] modify [EAX ESI] value [esi];
|
||||
|
||||
s8 radmemcmp(void* s1,void* s2,u32 len);
|
||||
#pragma aux radmemcmp = "cld" "rep cmpsb" "setne al" "jbe end" "neg al" "end:" parm [EDI] [ESI] [ECX] modify [ECX EDI ESI];
|
||||
|
||||
s8 radstrcmp(void* s1,void* s2);
|
||||
#pragma aux radstrcmp = "lp:" "mov al,[esi]" "mov ah,[edi]" "cmp al,ah" "jne set" "cmp al,0" "je set" "inc esi" "inc edi" "jmp lp" "set:" "setne al" "jbe end" "neg al" "end:" \
|
||||
parm [EDI] [ESI] modify [EAX EDI ESI];
|
||||
|
||||
s8 radstricmp(void* s1,void* s2);
|
||||
#pragma aux radstricmp = "lp:" "mov al,[esi]" "mov ah,[edi]" "cmp al,'a'" "jb c1" "cmp al,'z'" "ja c1" "sub al,32" "c1:" "cmp ah,'a'" "jb c2" "cmp ah,'z'" "ja c2" "sub ah,32" "c2:" "cmp al,ah" "jne set" "cmp al,0" "je set" \
|
||||
"inc esi" "inc edi" "jmp lp" "set:" "setne al" "jbe end" "neg al" "end:" \
|
||||
parm [EDI] [ESI] modify [EAX EDI ESI];
|
||||
|
||||
s8 radstrnicmp(void* s1,void* s2,u32 len);
|
||||
#pragma aux radstrnicmp = "lp:" "mov al,[esi]" "mov ah,[edi]" "cmp al,'a'" "jb c1" "cmp al,'z'" "ja c1" "sub al,32" "c1:" "cmp ah,'a'" "jb c2" "cmp ah,'z'" "ja c2" "sub ah,32" "c2:" "cmp al,ah" "jne set" "cmp al,0" "je set" \
|
||||
"dec ecx" "jz set" "inc esi" "inc edi" "jmp lp" "set:" "setne al" "jbe end" "neg al" "end:" \
|
||||
parm [EDI] [ESI] [ECX] modify [EAX ECX EDI ESI];
|
||||
|
||||
char* radstrupr(void* s1);
|
||||
#pragma aux radstrupr = "mov ecx,edi" "lp:" "mov al,[edi]" "cmp al,'a'" "jb c1" "cmp al,'z'" "ja c1" "sub [edi],32" "c1:" "inc edi" "cmp al,0" "jne lp" parm [EDI] modify [EAX EDI] value [ecx];
|
||||
|
||||
char* radstrlwr(void* s1);
|
||||
#pragma aux radstrlwr = "mov ecx,edi" "lp:" "mov al,[edi]" "cmp al,'A'" "jb c1" "cmp al,'Z'" "ja c1" "add [edi],32" "c1:" "inc edi" "cmp al,0" "jne lp" parm [EDI] modify [EAX EDI] value [ecx];
|
||||
|
||||
u32 radstru32(void* dest);
|
||||
#pragma aux radstru32 = "cld" "xor ecx,ecx" "xor ebx,ebx" "xor edi,edi" "lodsb" "cmp al,45" "jne skip2" "mov edi,1" "jmp skip" "lp:" "mov eax,10" "mul ecx" "lea ecx,[eax+ebx]" \
|
||||
"skip:" "lodsb" "skip2:" "cmp al,0x39" "ja dne" "cmp al,0x30" "jb dne" "mov bl,al" "sub bl,0x30" "jmp lp" "dne:" "test edi,1" "jz pos" "neg ecx" "pos:" \
|
||||
parm [ESI] modify [EAX EBX EDX EDI ESI] value [ecx];
|
||||
|
||||
u16 GetDS();
|
||||
#pragma aux GetDS = "mov ax,ds" value [ax];
|
||||
|
||||
#ifdef __RADWINEXT__
|
||||
|
||||
u32 GetBase(u16 sel);
|
||||
#pragma aux GetBase = "mov bx,ax" "mov ax,6" "int 0x31" "shrd eax,ecx,16" "mov ax,dx" parm [ax] modify [ax bx cx dx] value [eax];
|
||||
|
||||
#define _16To32(ptr16) ((void*)(((GetBase((u16)(((u32)(ptr16))>>16))+((u16)(u32)(ptr16)))-GetBase(GetDS()))))
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef __RADWIN__
|
||||
#define int86 int386
|
||||
#define int86x int386x
|
||||
#endif
|
||||
|
||||
#define u32regs x
|
||||
#define u16regs w
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#define PTR4 __far
|
||||
|
||||
#define u16 unsigned int
|
||||
#define s16 signed int
|
||||
|
||||
#ifdef __WATCOMC__
|
||||
|
||||
s16 radabs(s16 ab);
|
||||
#pragma aux radabs = "test ax,ax" "jge skip" "neg ax" "skip:" parm [ax] value [ax];
|
||||
|
||||
s32 radabs32(s32 ab);
|
||||
#pragma aux radabs32 = "test dx,dx" "jge skip" "neg dx" "neg ax" "sbb dx,0" "skip:" parm [dx ax] value [dx ax];
|
||||
|
||||
u32 DOSOut(char far* dest);
|
||||
#pragma aux DOSOut = "cld" "and edi,0xffff" "mov dx,di" "mov ecx,0xffffffff" "xor eax,eax" 0x67 "repne scasb" "not ecx" "dec ecx" "mov bx,1" "push ds" "push es" "pop ds" "mov ah,0x40" "int 0x21" "pop ds" "movzx eax,cx" "shr ecx,16" \
|
||||
parm [ES DI] modify [AX BX CX DX DI ES] value [CX AX];
|
||||
|
||||
void DOSOutNum(char far* str,u16 len);
|
||||
#pragma aux DOSOutNum = "push ds" "mov ds,cx" "mov cx,bx" "mov ah,0x40" "mov bx,1" "int 0x21" "pop ds" parm [cx dx] [bx] modify [ax bx cx];
|
||||
|
||||
u32 ErrOut(char far* dest);
|
||||
#pragma aux ErrOut = "cld" "and edi,0xffff" "mov dx,di" "mov ecx,0xffffffff" "xor eax,eax" 0x67 "repne scasb" "not ecx" "dec ecx" "xor bx,bx" "push ds" "push es" "pop ds" "mov ah,0x40" "int 0x21" "pop ds" "movzx eax,cx" "shr ecx,16" \
|
||||
parm [ES DI] modify [AX BX CX DX DI ES] value [CX AX];
|
||||
|
||||
void ErrOutNum(char far* str,u16 len);
|
||||
#pragma aux ErrOutNum = "push ds" "mov ds,cx" "mov cx,bx" "mov ah,0x40" "xor bx,bx" "int 0x21" "pop ds" parm [cx dx] [bx] modify [ax bx cx];
|
||||
|
||||
void radmemset(void far *dest,u8 value,u32 size);
|
||||
#pragma aux radmemset = "cld" "and edi,0ffffh" "shl ecx,16" "mov cx,bx" "mov ah,al" "mov bx,ax" "shl eax,16" "mov ax,bx" "mov bl,cl" "shr ecx,2" 0x67 "rep stosd" "mov cl,bl" "and cl,3" "rep stosb" parm [ES DI] [AL] [CX BX];
|
||||
|
||||
void radmemcpy(void far* dest,void far* source,u32 size);
|
||||
#pragma aux radmemcpy = "cld" "push ds" "mov ds,dx" "and esi,0ffffh" "and edi,0ffffh" "shl ecx,16" "mov cx,bx" "shr ecx,2" 0x67 "rep movsd" "mov cl,bl" "and cl,3" "rep movsb" "pop ds" parm [ES DI] [DX SI] [CX BX] modify [CX SI DI ES];
|
||||
|
||||
char far* radstrcpy(void far* dest,void far* source);
|
||||
#pragma aux radstrcpy = "cld" "push ds" "mov ds,dx" "and esi,0xffff" "and edi,0xffff" "mov dx,di" "lp:" "lodsb" "stosb" "test al,0xff" "jnz lp" "pop ds" parm [ES DI] [DX SI] modify [AX DX DI SI ES] value [es dx];
|
||||
|
||||
char far* radstpcpy(void far* dest,void far* source);
|
||||
#pragma aux radstpcpy = "cld" "push ds" "mov ds,dx" "and esi,0xffff" "and edi,0xffff" "lp:" "lodsb" "stosb" "test al,0xff" "jnz lp" "dec di" "pop ds" parm [ES DI] [DX SI] modify [DI SI ES] value [es di];
|
||||
|
||||
u32 radstrlen(void far* dest);
|
||||
#pragma aux radstrlen = "cld" "and edi,0xffff" "mov ecx,0xffffffff" "xor eax,eax" 0x67 "repne scasb" "not ecx" "dec ecx" "movzx eax,cx" "shr ecx,16" parm [ES DI] modify [AX CX DI ES] value [CX AX];
|
||||
|
||||
char far* radstrcat(void far* dest,void far* source);
|
||||
#pragma aux radstrcat = "cld" "and edi,0xffff" "mov ecx,0xffffffff" "and esi,0xffff" "push ds" "mov ds,dx" "mov dx,di" "xor eax,eax" 0x67 "repne scasb" "dec edi" "lp:" "lodsb" "stosb" "test al,0xff" "jnz lp" "pop ds" \
|
||||
parm [ES DI] [DX SI] modify [AX CX DI SI ES] value [es dx];
|
||||
|
||||
char far* radstrchr(void far* dest,char chr);
|
||||
#pragma aux radstrchr = "cld" "lp:" 0x26 "lodsb" "cmp al,dl" "je fnd" "cmp al,0" "jnz lp" "xor ax,ax" "mov es,ax" "mov si,1" "fnd:" "dec si" parm [ES SI] [DL] modify [AX SI ES] value [es si];
|
||||
|
||||
s8 radstricmp(void far* s1,void far* s2);
|
||||
#pragma aux radstricmp = "and edi,0xffff" "push ds" "mov ds,dx" "and esi,0xffff" "lp:" "mov al,[esi]" "mov ah,[edi]" "cmp al,'a'" "jb c1" "cmp al,'z'" "ja c1" "sub al,32" "c1:" \
|
||||
"cmp ah,'a'" "jb c2" "cmp ah,'z'" "ja c2" "sub ah,32" "c2:" "cmp al,ah" "jne set" "cmp al,0" "je set" \
|
||||
"inc esi" "inc edi" "jmp lp" "set:" "setne al" "jbe end" "neg al" "end:" "pop ds" \
|
||||
parm [ES DI] [DX SI] modify [AX DI SI];
|
||||
|
||||
u32 radstru32(void far* dest);
|
||||
#pragma aux radstru32 = "cld" "xor ecx,ecx" "xor ebx,ebx" "xor edi,edi" "lodsb" "cmp al,45" "jne skip2" "mov edi,1" "jmp skip" "lp:" "mov eax,10" "mul ecx" "lea ecx,[eax+ebx]" \
|
||||
"skip:" 0x26 "lodsb" "skip2:" "cmp al,0x39" "ja dne" "cmp al,0x30" "jb dne" "mov bl,al" "sub bl,0x30" "jmp lp" "dne:" "test edi,1" "jz pos" "neg ecx" "pos:" \
|
||||
"movzx eax,cx" "shr ecx,16" parm [ES SI] modify [AX BX DX DI SI] value [cx ax];
|
||||
|
||||
u32 mult64anddiv(u32 m1,u32 m2,u32 d);
|
||||
#pragma aux mult64anddiv = "shl ecx,16" "mov cx,ax" "shrd eax,edx,16" "mov ax,si" "mul ecx" "shl edi,16" "mov di,bx" "div edi" "shld edx,eax,16" "and edx,0xffff" "and eax,0xffff" parm [cx ax] [dx si] [di bx] \
|
||||
modify [ax bx cx dx si di] value [dx ax];
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
RCEND
|
||||
|
||||
RCFUNC void PTR4* RADLINK radmalloc(u32 numbytes);
|
||||
RCFUNC void RADLINK radfree(void PTR4* ptr);
|
||||
|
||||
#ifdef __WATCOMC__
|
||||
|
||||
char bkbhit();
|
||||
#pragma aux bkbhit = "mov ah,1" "int 0x16" "lahf" "shr eax,14" "and eax,1" "xor al,1" ;
|
||||
|
||||
char bgetch();
|
||||
#pragma aux bgetch = "xor ah,ah" "int 0x16" "test al,0xff" "jnz done" "mov al,ah" "or al,0x80" "done:" modify [AX];
|
||||
|
||||
void BreakPoint();
|
||||
#pragma aux BreakPoint = "int 3";
|
||||
|
||||
u8 radinp(u16 p);
|
||||
#pragma aux radinp = "in al,dx" parm [DX];
|
||||
|
||||
u8 radtoupper(u8 p);
|
||||
#pragma aux radtoupper = "cmp al,'a'" "jb c1" "cmp al,'z'" "ja c1" "sub al,32" "c1:" parm [al] value [al];
|
||||
|
||||
void radoutp(u16 p,u8 v);
|
||||
#pragma aux radoutp = "out dx,al" parm [DX] [AL];
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
307
3rdparty/smacker/smack.h
vendored
Normal file
307
3rdparty/smacker/smack.h
vendored
Normal file
@ -0,0 +1,307 @@
|
||||
#ifndef SMACKH
|
||||
#define SMACKH
|
||||
|
||||
#include "rad.h"
|
||||
|
||||
RCSTART
|
||||
|
||||
#define SMACKVERSION "2.0y"
|
||||
|
||||
typedef struct SmackSumTag {
|
||||
u32 TotalTime; // total time
|
||||
u32 MS100PerFrame; // MS*100 per frame (100000/MS100PerFrame=Frames/Sec)
|
||||
u32 TotalOpenTime; // Time to open and prepare for decompression
|
||||
u32 TotalFrames; // Total Frames displayed
|
||||
u32 SkippedFrames; // Total number of skipped frames
|
||||
u32 TotalBlitTime; // Total time spent blitting
|
||||
u32 TotalReadTime; // Total time spent reading
|
||||
u32 TotalDecompTime; // Total time spent decompressing
|
||||
u32 TotalBackReadTime; // Total time spent reading in background
|
||||
u32 TotalReadSpeed; // Total io speed (bytes/second)
|
||||
u32 SlowestFrameTime; // Slowest single frame time
|
||||
u32 Slowest2FrameTime; // Second slowest single frame time
|
||||
u32 SlowestFrameNum; // Slowest single frame number
|
||||
u32 Slowest2FrameNum; // Second slowest single frame number
|
||||
u32 AverageFrameSize; // Average size of the frame
|
||||
u32 Highest1SecRate; // Highest 1 sec data rate
|
||||
u32 Highest1SecFrame; // Highest 1 sec data rate starting frame
|
||||
u32 HighestMemAmount; // Highest amount of memory allocated
|
||||
u32 TotalExtraMemory; // Total extra memory allocated
|
||||
u32 HighestExtraUsed; // Highest extra memory actually used
|
||||
} SmackSum;
|
||||
|
||||
typedef struct SmackTag {
|
||||
u32 Version; // SMK2 only right now
|
||||
u32 Width; // Width (1 based, 640 for example)
|
||||
u32 Height; // Height (1 based, 480 for example)
|
||||
u32 Frames; // Number of frames (1 based, 100 = 100 frames)
|
||||
u32 MSPerFrame; // Frame Rate
|
||||
u32 SmackerType; // bit 0 set=ring frame
|
||||
u32 LargestInTrack[7]; // Largest single size for each track
|
||||
u32 tablesize; // Size of the init tables
|
||||
u32 codesize; // Compression info
|
||||
u32 absize; // ditto
|
||||
u32 detailsize; // ditto
|
||||
u32 typesize; // ditto
|
||||
u32 TrackType[7]; // high byte=0x80-Comp,0x40-PCM data,0x20-16 bit,0x10-stereo
|
||||
u32 extra; // extra value (should be zero)
|
||||
u32 NewPalette; // set to one if the palette changed
|
||||
u8 Palette[772]; // palette data
|
||||
u32 FrameNum; // Frame Number to be displayed
|
||||
u32 LastRectx; // Rect set in from SmackToBufferRect (X coord)
|
||||
u32 LastRecty; // Rect set in from SmackToBufferRect (Y coord)
|
||||
u32 LastRectw; // Rect set in from SmackToBufferRect (Width)
|
||||
u32 LastRecth; // Rect set in from SmackToBufferRect (Height)
|
||||
u32 OpenFlags; // flags used on open
|
||||
u32 LeftOfs; // Left Offset used in SmackTo
|
||||
u32 TopOfs; // Top Offset used in SmackTo
|
||||
} Smack;
|
||||
|
||||
#define SmackHeaderSize(smk) ((((u8*)&((smk)->extra))-((u8*)(smk)))+4)
|
||||
|
||||
//=======================================================================
|
||||
#define SMACKNEEDPAN 0x00020L // Will be setting the pan
|
||||
#define SMACKNEEDVOLUME 0x00040L // Will be setting the volume
|
||||
#define SMACKFRAMERATE 0x00080L // Override fr (call SmackFrameRate first)
|
||||
#define SMACKLOADEXTRA 0x00100L // Load the extra buffer during SmackOpen
|
||||
#define SMACKPRELOADALL 0x00200L // Preload the entire animation
|
||||
#define SMACKNOSKIP 0x00400L // Don't skip frames if falling behind
|
||||
#define SMACKSIMULATE 0x00800L // Simulate the speed (call SmackSim first)
|
||||
#define SMACKFILEHANDLE 0x01000L // Use when passing in a file handle
|
||||
#define SMACKTRACK1 0x02000L // Play audio track 1
|
||||
#define SMACKTRACK2 0x04000L // Play audio track 2
|
||||
#define SMACKTRACK3 0x08000L // Play audio track 3
|
||||
#define SMACKTRACK4 0x10000L // Play audio track 4
|
||||
#define SMACKTRACK5 0x20000L // Play audio track 5
|
||||
#define SMACKTRACK6 0x40000L // Play audio track 6
|
||||
#define SMACKTRACK7 0x80000L // Play audio track 7
|
||||
#define SMACKTRACKS (SMACKTRACK1|SMACKTRACK2|SMACKTRACK3|SMACKTRACK4|SMACKTRACK5|SMACKTRACK6|SMACKTRACK7)
|
||||
|
||||
#define SMACKAUTOEXTRA 0xffffffffL // NOT A FLAG! - Use as extrabuf param
|
||||
//=======================================================================
|
||||
|
||||
#define SMACKSURFACEFAST 0
|
||||
#define SMACKSURFACESLOW 1
|
||||
#define SMACKSURFACEDIRECT 2
|
||||
|
||||
|
||||
Smack PTR4* RADEXPLINK SmackOpen(char PTR4* name,u32 flags,u32 extrabuf);
|
||||
|
||||
#ifdef __RADMAC__
|
||||
#include <files.h>
|
||||
|
||||
Smack PTR4* RADEXPLINK SmackMacOpen(FSSpec* fsp,u32 flags,u32 extrabuf);
|
||||
#endif
|
||||
|
||||
u32 RADEXPLINK SmackDoFrame(Smack PTR4* smk);
|
||||
void RADEXPLINK SmackNextFrame(Smack PTR4* smk);
|
||||
u32 RADEXPLINK SmackWait(Smack PTR4* smk);
|
||||
void RADEXPLINK SmackClose(Smack PTR4* smk);
|
||||
|
||||
void RADEXPLINK SmackVolumePan(Smack PTR4* smk, u32 trackflag,u32 volume,u32 pan);
|
||||
|
||||
void RADEXPLINK SmackSummary(Smack PTR4* smk,SmackSum PTR4* sum);
|
||||
|
||||
u32 RADEXPLINK SmackSoundInTrack(Smack PTR4* smk,u32 trackflags);
|
||||
u32 RADEXPLINK SmackSoundOnOff(Smack PTR4* smk,u32 on);
|
||||
|
||||
#ifdef __RADMAC__
|
||||
void RADEXPLINK SmackToScreen(Smack PTR4* smk,u32 left,u32 top);
|
||||
#else
|
||||
void RADEXPLINK SmackToScreen(Smack PTR4* smk,u32 left,u32 top,u32 BytesPS,u16 PTR4* WinTbl,u32 SetBank);
|
||||
#endif
|
||||
|
||||
void RADEXPLINK SmackToBuffer(Smack PTR4* smk,u32 left,u32 top,u32 Pitch,u32 destheight,void PTR4* buf,u32 Reversed);
|
||||
u32 RADEXPLINK SmackToBufferRect(Smack PTR4* smk, u32 SmackSurface);
|
||||
|
||||
void RADEXPLINK SmackGoto(Smack PTR4* smk,u32 frame);
|
||||
void RADEXPLINK SmackColorRemap(Smack PTR4* smk,void PTR4* remappal,u32 numcolors,u32 paltype);
|
||||
void RADEXPLINK SmackColorTrans(Smack PTR4* smk,void PTR4* trans);
|
||||
void RADEXPLINK SmackFrameRate(u32 forcerate);
|
||||
void RADEXPLINK SmackSimulate(u32 sim);
|
||||
|
||||
u32 RADEXPLINK SmackGetTrackData(Smack PTR4* smk,void PTR4* dest,u32 trackflag);
|
||||
|
||||
void RADEXPLINK SmackSoundCheck();
|
||||
|
||||
//======================================================================
|
||||
#ifdef __RADDOS__
|
||||
|
||||
#define SMACKSOUNDNONE -1
|
||||
|
||||
extern void* cdecl SmackTimerSetupAddr;
|
||||
extern void* cdecl SmackTimerReadAddr;
|
||||
extern void* cdecl SmackTimerDoneAddr;
|
||||
|
||||
typedef void RADLINK (*SmackTimerSetupType)();
|
||||
typedef u32 RADLINK (*SmackTimerReadType)();
|
||||
typedef void RADLINK (*SmackTimerDoneType)();
|
||||
|
||||
#define SmackTimerSetup() ((SmackTimerSetupType)(SmackTimerSetupAddr))()
|
||||
#define SmackTimerRead() ((SmackTimerReadType)(SmackTimerReadAddr))()
|
||||
#define SmackTimerDone() ((SmackTimerDoneType)(SmackTimerDoneAddr))()
|
||||
|
||||
u8 RADEXPLINK SmackSoundUseMSS(void* DigDriver,u32 MaxTimerSpeed);
|
||||
void RADEXPLINK SmackSoundMSSLiteInit();
|
||||
void RADEXPLINK SmackSoundMSSLiteDone();
|
||||
|
||||
u8 RADEXPLINK SmackSoundUseSOS3r(u32 SOSDriver,u32 MaxTimerSpeed);
|
||||
u8 RADEXPLINK SmackSoundUseSOS3s(u32 SOSDriver,u32 MaxTimerSpeed);
|
||||
u8 RADEXPLINK SmackSoundUseSOS4r(u32 SOSDriver,u32 MaxTimerSpeed);
|
||||
u8 RADEXPLINK SmackSoundUseSOS4s(u32 SOSDriver,u32 MaxTimerSpeed);
|
||||
|
||||
#ifdef __SW_3R
|
||||
#define SmackSoundUseSOS3 SmackSoundUseSOS3r
|
||||
#define SmackSoundUseSOS4 SmackSoundUseSOS4r
|
||||
#else
|
||||
#define SmackSoundUseSOS3 SmackSoundUseSOS3s
|
||||
#define SmackSoundUseSOS4 SmackSoundUseSOS4s
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#define SMACKRESRESET 0
|
||||
#define SMACKRES640X400 1
|
||||
#define SMACKRES640X480 2
|
||||
#define SMACKRES800X600 3
|
||||
#define SMACKRES1024X768 4
|
||||
|
||||
u32 RADEXPLINK SmackSetSystemRes(u32 mode); // use SMACKRES* values
|
||||
|
||||
#ifdef __RADMAC__
|
||||
|
||||
#include <windows.h>
|
||||
#include <palettes.h>
|
||||
#include <qdoffscreen.h>
|
||||
#include <timer.h>
|
||||
|
||||
typedef struct SmkTMInfoTag {
|
||||
TMTask smTask;
|
||||
u32 milli;
|
||||
} SmkTMInfo;
|
||||
|
||||
extern SmkTMInfo __SmackTimeInfo;
|
||||
|
||||
void RADEXPLINK SmackTimerSetup();
|
||||
void RADEXPLINK SmackTimerDone();
|
||||
#define SmackTimerRead() (__SmackTimeInfo.milli)
|
||||
|
||||
#define SMACKAUTOBLIT 0
|
||||
#define SMACKDIRECTBLIT 1
|
||||
#define SMACKGWORLDBLIT 2
|
||||
|
||||
typedef struct SmackBufTag {
|
||||
u32 Reversed;
|
||||
u32 SurfaceType; // SMACKSURFACExxxxxx
|
||||
u32 BlitType; // SMACKxxxxxBLIT
|
||||
u32 Width;
|
||||
u32 Height;
|
||||
u32 Pitch;
|
||||
u32 Zoomed;
|
||||
u32 ZWidth;
|
||||
u32 ZHeight;
|
||||
u32 DispColors; // colors on screen
|
||||
u32 MaxPalColors;
|
||||
u32 PalColorsInUse;
|
||||
u32 StartPalColor;
|
||||
u32 EndPalColor;
|
||||
void* Buffer;
|
||||
void* Palette;
|
||||
u32 PalType;
|
||||
|
||||
WindowPtr wp;
|
||||
GWorldPtr gwp;
|
||||
CTabHandle cth;
|
||||
PaletteHandle palh;
|
||||
} SmackBuf;
|
||||
|
||||
#else
|
||||
|
||||
#ifdef __RADWIN__
|
||||
|
||||
#define INCLUDE_MMSYSTEM_H
|
||||
#include "windows.h"
|
||||
#include "windowsx.h"
|
||||
|
||||
#define SMACKAUTOBLIT 0
|
||||
#define SMACKFULL320X240BLIT 1
|
||||
#define SMACKFULL320X200BLIT 2
|
||||
#define SMACKSTANDARDBLIT 3
|
||||
#define SMACKWINGBLIT 4
|
||||
|
||||
#define WM_SMACKACTIVATE WM_USER+0x5678
|
||||
|
||||
typedef struct SmackBufTag {
|
||||
u32 Reversed; // 1 if the buffer is upside down
|
||||
u32 SurfaceType; // SMACKSURFACExxxx defines
|
||||
u32 BlitType; // SMACKxxxxBLIT defines
|
||||
u32 FullScreen; // 1 if full-screen
|
||||
u32 Width;
|
||||
u32 Height;
|
||||
u32 Zoomed;
|
||||
u32 ZWidth;
|
||||
u32 ZHeight;
|
||||
u32 DispColors; // colors on the screen
|
||||
u32 MaxPalColors; // total possible colors in palette (usually 256)
|
||||
u32 PalColorsInUse; // Used colors in palette (usually 236)
|
||||
u32 StartPalColor; // first usable color index (usually 10)
|
||||
u32 EndPalColor; // last usable color index (usually 246)
|
||||
RGBQUAD Palette[256];
|
||||
u32 PalType;
|
||||
|
||||
void PTR4* Buffer;
|
||||
void PTR4* DIBRestore;
|
||||
u32 OurBitmap;
|
||||
u32 OrigBitmap;
|
||||
u32 OurPalette;
|
||||
u32 WinGDC;
|
||||
u32 FullFocused;
|
||||
u32 ParentHwnd;
|
||||
u32 OldParWndProc;
|
||||
u32 OldDispWndProc;
|
||||
u32 DispHwnd;
|
||||
u32 WinGBufHandle;
|
||||
} SmackBuf;
|
||||
|
||||
void RADEXPLINK SmackGet(Smack PTR4* smk,void PTR4* dest);
|
||||
void RADEXPLINK SmackBufferGet( SmackBuf PTR4* sbuf, void PTR4* dest);
|
||||
|
||||
u8 RADEXPLINK SmackSoundUseMSS(void PTR4* dd);
|
||||
u8 RADEXPLINK SmackSoundUseDirectSound(HWND hw);
|
||||
|
||||
#define SmackTimerSetup()
|
||||
#define SmackTimerDone()
|
||||
#define SmackTimerRead timeGetTime
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __RADMAC__
|
||||
SmackBuf PTR4* RADEXPLINK SmackBufferOpen( WindowPtr wp, u16 BlitType, u16 width, u16 height, u16 ZoomW, u16 ZoomH );
|
||||
u16 RADEXPLINK SmackBufferBlit( SmackBuf PTR4* sbuf, u16 hwndx, u16 hwndy, u16 subx, u16 suby, u16 subw, u16 subh );
|
||||
void RADEXPLINK SmackBufferFromScreen( SmackBuf PTR4* destbuf, u16 x, u16 y);
|
||||
#else
|
||||
SmackBuf PTR4* RADEXPLINK SmackBufferOpen( HWND wnd, u16 BlitType, u16 width, u16 height, u16 ZoomW, u16 ZoomH );
|
||||
u16 RADEXPLINK SmackBufferBlit( SmackBuf PTR4* sbuf, HDC dc, u16 hwndx, u16 hwndy, u16 subx, u16 suby, u16 subw, u16 subh );
|
||||
void RADEXPLINK SmackBufferFromScreen( SmackBuf PTR4* destbuf, HWND hw, u16 x, u16 y);
|
||||
#endif
|
||||
|
||||
char PTR4* RADEXPLINK SmackBufferString(char PTR4* dest,u16 BlitType);
|
||||
|
||||
void RADEXPLINK SmackBufferNewPalette( SmackBuf PTR4* sbuf, void PTR4* pal, u16 paltype );
|
||||
u16 RADEXPLINK SmackBufferSetPalette( SmackBuf PTR4* sbuf );
|
||||
void RADEXPLINK SmackBufferClose( SmackBuf PTR4* sbuf );
|
||||
|
||||
void RADEXPLINK SmackBufferClear( SmackBuf PTR4* destbuf, u16 color);
|
||||
void RADEXPLINK SmackBufferToBuffer( SmackBuf PTR4* destbuf, u16 destx, u16 desty, SmackBuf PTR4* sourcebuf,u16 sourcex,u16 sourcey,u16 sourcew,u16 sourceh);
|
||||
void RADEXPLINK SmackBufferToBufferTrans( SmackBuf PTR4* destbuf, u16 destx, u16 desty, SmackBuf PTR4* sourcebuf,u16 sourcex,u16 sourcey,u16 sourcew,u16 sourceh,u16 TransColor);
|
||||
void RADEXPLINK SmackBufferCopyPalette( SmackBuf PTR4* destbuf, SmackBuf PTR4* sourcebuf, u16 remap);
|
||||
|
||||
u16 RADEXPLINK SmackBufferFocused( SmackBuf PTR4* sbuf);
|
||||
|
||||
#endif
|
||||
|
||||
RCEND
|
||||
|
||||
#endif
|
||||
BIN
3rdparty/smacker/smack.lib
vendored
Normal file
BIN
3rdparty/smacker/smack.lib
vendored
Normal file
Binary file not shown.
BIN
3rdparty/smartheap/SHLW32MT.LIB
vendored
Normal file
BIN
3rdparty/smartheap/SHLW32MT.LIB
vendored
Normal file
Binary file not shown.
63
3rdparty/smartheap/SHMALLOC.H
vendored
Normal file
63
3rdparty/smartheap/SHMALLOC.H
vendored
Normal file
@ -0,0 +1,63 @@
|
||||
/* shmalloc.h -- SmartHeap ANSI Standard C memory API
|
||||
* Professional Memory Management Library
|
||||
*
|
||||
* Copyright (C) 1991-1996 by Arthur D. Applegate. All Rights Reserved.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* No part of this source code may be copied, modified or reproduced
|
||||
* in any form without retaining the above copyright notice.
|
||||
* This source code, or source code derived from it, may not be redistributed
|
||||
* without express written permission of the author.
|
||||
*/
|
||||
|
||||
#if !(defined(_SHMALLOC_H))
|
||||
#define _SHMALLOC_H
|
||||
|
||||
#include "smrtheap.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* ANSI Standard Memory Management API */
|
||||
|
||||
#if (!defined(MEM_DEBUG) && !defined(NO_MALLOC_MACRO)) || defined(MALLOC_MACRO)
|
||||
#ifdef malloc
|
||||
#undef malloc
|
||||
#endif
|
||||
#define malloc(s) MEM_malloc(s)
|
||||
#ifdef calloc
|
||||
#undef calloc
|
||||
#endif
|
||||
#define calloc(s,c) MEM_calloc(s,c)
|
||||
#ifdef realloc
|
||||
#undef realloc
|
||||
#endif
|
||||
#define realloc(p,s) MEM_realloc(p,s)
|
||||
#ifdef free
|
||||
#undef free
|
||||
#endif
|
||||
#define free(p) MEM_free(p)
|
||||
|
||||
#endif /* NO_MALLOC_MACRO */
|
||||
|
||||
#ifndef MEM_malloc
|
||||
void MEM_FAR * MEM_ENTRY_ANSI MEM_malloc(size_t size);
|
||||
void MEM_FAR * MEM_ENTRY_ANSI MEM_calloc(size_t nobj, size_t size);
|
||||
void MEM_FAR * MEM_ENTRY_ANSI MEM_realloc(void MEM_FAR *p, size_t size);
|
||||
void MEM_ENTRY_ANSI MEM_free(void MEM_FAR *p);
|
||||
#endif /* MEM_malloc */
|
||||
|
||||
#if defined(__WATCOMC__) && defined(__SW_3S)
|
||||
/* Watcom stack calling convention */
|
||||
#pragma aux (syscall) MEM_malloc
|
||||
#pragma aux (syscall) MEM_realloc
|
||||
#pragma aux (syscall) MEM_calloc
|
||||
#pragma aux (syscall) MEM_free
|
||||
#endif /* __WATCOMC__ */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* !defined(_SHMALLOC_H) */
|
||||
BIN
3rdparty/smartheap/SHMFC4M.LIB
vendored
Normal file
BIN
3rdparty/smartheap/SHMFC4M.LIB
vendored
Normal file
Binary file not shown.
656
3rdparty/smartheap/SMRTHEAP.H
vendored
Normal file
656
3rdparty/smartheap/SMRTHEAP.H
vendored
Normal file
@ -0,0 +1,656 @@
|
||||
/* smrtheap.h -- SmartHeap (tm) public C header file
|
||||
* Professional Memory Management Library
|
||||
*
|
||||
* Copyright (C) 1991-1997 by Arthur D. Applegate. All Rights Reserved.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* No part of this source code may be copied, modified or reproduced
|
||||
* in any form without retaining the above copyright notice.
|
||||
* This source code, or source code derived from it, may not be redistributed
|
||||
* without express written permission of the author.
|
||||
*
|
||||
*/
|
||||
|
||||
#if !defined(_SMARTHEAP_H)
|
||||
#define _SMARTHEAP_H
|
||||
|
||||
#include <limits.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#if !defined(macintosh) && !defined(THINK_C) && !defined(__MWERKS__) \
|
||||
&& !defined(SHANSI) && UINT_MAX == 0xFFFFu \
|
||||
&& (defined(_Windows) || defined(_WINDOWS) || defined(__WINDOWS__))
|
||||
#define MEM_WIN16
|
||||
#endif
|
||||
|
||||
#if (UINT_MAX == 0xFFFFu) && (defined(MEM_WIN16) \
|
||||
|| defined(MSDOS) || defined(__MSDOS__) || defined(__DOS__))
|
||||
/* 16-bit X86 */
|
||||
#if defined(SYS_DLL)
|
||||
#if defined(_MSC_VER) && _MSC_VER <= 600
|
||||
#define MEM_ENTRY _export _loadds far pascal
|
||||
#else
|
||||
#define MEM_ENTRY _export far pascal
|
||||
#endif
|
||||
#else
|
||||
#define MEM_ENTRY far pascal
|
||||
#endif
|
||||
#ifdef __WATCOMC__
|
||||
#define MEM_ENTRY_ANSI __far
|
||||
#else
|
||||
#define MEM_ENTRY_ANSI far cdecl
|
||||
#endif
|
||||
#define MEM_FAR far
|
||||
#if defined(MEM_WIN16)
|
||||
#define MEM_ENTRY2 _export far pascal
|
||||
#elif defined(DOS16M) || defined(DOSX286)
|
||||
#define MEM_ENTRY2 _export _loadds far pascal
|
||||
#endif
|
||||
|
||||
#else /* not 16-bit X86 */
|
||||
|
||||
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) \
|
||||
|| defined(__WIN32__) || defined(__NT__)
|
||||
#define MEM_WIN32
|
||||
#if defined(_MSC_VER)
|
||||
#if defined(_SHI_Pool) && defined(SYS_DLL)
|
||||
#define MEM_ENTRY1 __declspec(dllexport)
|
||||
#define MEM_ENTRY4 __declspec(dllexport) extern
|
||||
#elif !defined(_SHI_Pool) && (defined(MEM_DEBUG) || defined(MEM_DLL))
|
||||
#define MEM_ENTRY1 __declspec(dllimport)
|
||||
#if defined(_M_IX86) || defined(_X86_)
|
||||
#define MemDefaultPool shi_MemDefaultPool
|
||||
#define MEM_ENTRY4 __declspec(dllimport)
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(_MSC_VER) || defined(_M_IX86) || defined(_X86_)
|
||||
#define MEM_ENTRY __stdcall
|
||||
#else
|
||||
#define MEM_ENTRY __cdecl /* for NT/RISC */
|
||||
#endif
|
||||
#ifndef __WATCOMC__
|
||||
#define MEM_ENTRY_ANSI __cdecl
|
||||
#endif
|
||||
|
||||
#elif defined(__OS2__)
|
||||
#if defined(__BORLANDC__) || defined(__WATCOMC__)
|
||||
#if defined(SYS_DLL)
|
||||
#define MEM_ENTRY __export __syscall
|
||||
#else
|
||||
#define MEM_ENTRY __syscall
|
||||
#endif /* SYS_DLL */
|
||||
#ifdef __BORLANDC__
|
||||
#define MEM_ENTRY_ANSI __stdcall
|
||||
#endif
|
||||
#elif defined(__IBMC__) || defined(__IBMCPP__)
|
||||
#if defined(SYS_DLL) && 0
|
||||
#define MEM_ENTRY _Export _System
|
||||
#else
|
||||
#define MEM_ENTRY _System
|
||||
#endif
|
||||
#define MEM_ENTRY_ANSI _Optlink
|
||||
#define MEM_ENTRY3 MEM_ENTRY
|
||||
#define MEM_CALLBACK MEM_ENTRY3
|
||||
#define MEM_ENTRY2
|
||||
#endif
|
||||
#endif /* __OS2__ */
|
||||
|
||||
#if defined(__WATCOMC__) && defined(__SW_3S)
|
||||
/* Watcom stack calling convention */
|
||||
#ifndef __OS2__
|
||||
#ifdef __WINDOWS_386__
|
||||
#pragma aux syscall "*_" parm routine [eax ebx ecx edx fs gs] modify [eax];
|
||||
#else
|
||||
#pragma aux syscall "*_" parm routine [eax ebx ecx edx] modify [eax];
|
||||
#endif
|
||||
#ifndef MEM_ENTRY
|
||||
#define MEM_ENTRY __syscall
|
||||
#endif /* MEM_ENTRY */
|
||||
#endif
|
||||
#endif /* Watcom stack calling convention */
|
||||
|
||||
#endif /* end of system-specific declarations */
|
||||
|
||||
#ifndef MEM_ENTRY
|
||||
#define MEM_ENTRY
|
||||
#endif
|
||||
#ifndef MEM_ENTRY1
|
||||
#define MEM_ENTRY1
|
||||
#endif
|
||||
#ifndef MEM_ENTRY2
|
||||
#define MEM_ENTRY2 MEM_ENTRY
|
||||
#endif
|
||||
#ifndef MEM_ENTRY3
|
||||
#define MEM_ENTRY3
|
||||
#endif
|
||||
#ifndef MEM_ENTRY4
|
||||
#define MEM_ENTRY4 extern
|
||||
#endif
|
||||
#ifndef MEM_CALLBACK
|
||||
#define MEM_CALLBACK MEM_ENTRY2
|
||||
#endif
|
||||
#ifndef MEM_ENTRY_ANSI
|
||||
#define MEM_ENTRY_ANSI
|
||||
#endif
|
||||
#ifndef MEM_FAR
|
||||
#define MEM_FAR
|
||||
#endif
|
||||
|
||||
#ifdef applec
|
||||
/* Macintosh: Apple MPW C/C++ passes char/short parms as longs (4 bytes),
|
||||
* whereas Symantec C/C++ for MPW passes these as words (2 bytes);
|
||||
* therefore, canonicalize all integer parms as 'int' for this platform.
|
||||
*/
|
||||
#define MEM_USHORT unsigned
|
||||
#define MEM_UCHAR unsigned
|
||||
#else
|
||||
#define MEM_USHORT unsigned short
|
||||
#define MEM_UCHAR unsigned char
|
||||
#endif /* applec */
|
||||
|
||||
#ifdef MEM_DEBUG
|
||||
#include "heapagnt.h"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*** Types ***/
|
||||
|
||||
#ifndef MEM_BOOL_DEFINED
|
||||
#define MEM_BOOL_DEFINED
|
||||
typedef int MEM_BOOL;
|
||||
#endif
|
||||
|
||||
/* Version Masks */
|
||||
typedef unsigned MEM_VERSION;
|
||||
#define MEM_MAJOR_VERSION(v) (((v) & 0xF000u) >> 12)
|
||||
#define MEM_MINOR_VERSION(v) (((v) & 0x0F00u) >> 8)
|
||||
#define MEM_UPDATE_VERSION(v) ((v) & 0x00FFu)
|
||||
|
||||
/* Note: these types are struct's rather than integral types to facilitate
|
||||
* compile-time type-checking. MEM_POOL and MEM_HANDLE should be regarded
|
||||
* as black boxes, and treated just like handles.
|
||||
* You should not have any type casts to or from MEM_POOL or MEM_HANDLE;
|
||||
* nor should you dereference variables of type MEM_POOL or MEM_HANDLE
|
||||
* (unless you are using SmartHeap to replace NewHandle on the Mac, and
|
||||
* you have existing code that dereferences handles).
|
||||
*/
|
||||
#ifndef MEM_POOL_DEFINED
|
||||
#define MEM_POOL_DEFINED
|
||||
#ifdef _SHI_Pool
|
||||
typedef struct _SHI_Pool MEM_FAR *MEM_POOL;
|
||||
typedef struct _SHI_MovHandle MEM_FAR *MEM_HANDLE;
|
||||
#else
|
||||
#ifdef THINK_C
|
||||
typedef void *MEM_POOL;
|
||||
typedef void **MEM_HANDLE;
|
||||
#else
|
||||
typedef struct _SHI_Pool { int reserved; } MEM_FAR *MEM_POOL;
|
||||
typedef struct _SHI_MovHandle { int reserved; } MEM_FAR *MEM_HANDLE;
|
||||
#endif
|
||||
#endif
|
||||
#endif /* MEM_POOL_DEFINED */
|
||||
|
||||
|
||||
#if !defined(MEM_DEBUG) || !(defined(MEM_WIN16) || defined(MEM_WIN32))
|
||||
#define SHI_MAJOR_VERSION 3
|
||||
#define SHI_MINOR_VERSION 3
|
||||
#define SHI_UPDATE_LEVEL 0
|
||||
#endif /* !WINDOWS */
|
||||
|
||||
#ifndef MEM_DEBUG
|
||||
|
||||
/* Error codes: errorCode field of MEM_ERROR_INFO */
|
||||
#ifndef MEM_ERROR_CODE_DEFINED
|
||||
#define MEM_ERROR_CODE_DEFINED
|
||||
typedef enum
|
||||
{
|
||||
MEM_NO_ERROR=0,
|
||||
MEM_INTERNAL_ERROR,
|
||||
MEM_OUT_OF_MEMORY,
|
||||
MEM_BLOCK_TOO_BIG,
|
||||
MEM_ALLOC_ZERO,
|
||||
MEM_RESIZE_FAILED,
|
||||
MEM_LOCK_ERROR,
|
||||
MEM_EXCEEDED_CEILING,
|
||||
MEM_TOO_MANY_PAGES,
|
||||
MEM_TOO_MANY_TASKS,
|
||||
MEM_BAD_MEM_POOL,
|
||||
MEM_BAD_BLOCK,
|
||||
MEM_BAD_FREE_BLOCK,
|
||||
MEM_BAD_HANDLE,
|
||||
MEM_BAD_POINTER,
|
||||
MEM_WRONG_TASK,
|
||||
MEM_NOT_FIXED_SIZE,
|
||||
MEM_BAD_FLAGS,
|
||||
MEM_ERROR_CODE_INT_MAX = INT_MAX /* to ensure enum is full int in size */
|
||||
} MEM_ERROR_CODE;
|
||||
#endif /* MEM_ERROR_CODE_DEFINED */
|
||||
|
||||
|
||||
/* ### we should have packing pragma around these structure decls in case
|
||||
* ### user is compiling with non-default packing directive (only needed
|
||||
* ### if user is packing more strictly than native int size *and* if
|
||||
* ### native int size is != native long and ptr sizes)
|
||||
*/
|
||||
|
||||
/* Error info, passed to error-handling callback routine */
|
||||
#ifndef MEM_ERROR_INFO_DEFINED
|
||||
#define MEM_ERROR_INFO_DEFINED
|
||||
typedef struct _MEM_ERROR_INFO
|
||||
{
|
||||
MEM_ERROR_CODE errorCode; /* error code identifying type of error */
|
||||
MEM_POOL pool; /* pool in which error occurred, if known */
|
||||
} MEM_ERROR_INFO;
|
||||
|
||||
/* Error handling callback function */
|
||||
typedef MEM_BOOL (MEM_ENTRY2 * MEM_ENTRY3 MEM_ERROR_FN)
|
||||
(MEM_ERROR_INFO MEM_FAR *);
|
||||
|
||||
#endif /* MEM_ERROR_INFO_DEFINED */
|
||||
|
||||
#endif /* MEM_DEBUG */
|
||||
|
||||
|
||||
#ifndef MEM_BLOCK_TYPE_DEFINED
|
||||
#define MEM_BLOCK_TYPE_DEFINED
|
||||
/* Block Type: field of MEM_POOL_ENTRY, field of MEM_POOL_INFO,
|
||||
* parameter to MemPoolPreAllocate
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
MEM_FS_BLOCK = 0x0001u,
|
||||
MEM_VAR_MOVEABLE_BLOCK = 0x0002u,
|
||||
MEM_VAR_FIXED_BLOCK = 0x0004u,
|
||||
MEM_EXTERNAL_BLOCK = 0x0008u,
|
||||
MEM_BLOCK_TYPE_INT_MAX = INT_MAX /* to ensure enum is full int in size */
|
||||
} MEM_BLOCK_TYPE;
|
||||
#endif /* MEM_BLOCK_TYPE_DEFINED */
|
||||
|
||||
#ifndef MEM_POOL_ENTRY_DEFINED
|
||||
#define MEM_POOL_ENTRY_DEFINED
|
||||
/* Pool Entry: parameter to MemPoolWalk */
|
||||
typedef struct
|
||||
{
|
||||
void MEM_FAR *entry;
|
||||
MEM_POOL pool;
|
||||
MEM_BLOCK_TYPE type;
|
||||
MEM_BOOL isInUse;
|
||||
unsigned long size;
|
||||
MEM_HANDLE handle;
|
||||
unsigned lockCount;
|
||||
void MEM_FAR *reserved_ptr;
|
||||
} MEM_POOL_ENTRY;
|
||||
#endif /* MEM_POOL_ENTRY_DEFINED */
|
||||
|
||||
#ifndef MEM_POOL_STATUS_DEFINED
|
||||
#define MEM_POOL_STATUS_DEFINED
|
||||
/* Pool Status: returned by MemPoolWalk, MemPoolFirst, MemPoolNext */
|
||||
typedef enum
|
||||
{
|
||||
MEM_POOL_OK = 1,
|
||||
MEM_POOL_CORRUPT = -1,
|
||||
MEM_POOL_CORRUPT_FATAL = -2,
|
||||
MEM_POOL_END = 0,
|
||||
MEM_POOL_STATUS_INT_MAX = INT_MAX /* to ensure enum is full int in size */
|
||||
} MEM_POOL_STATUS;
|
||||
#endif /* MEM_POOL_STATUS_DEFINED */
|
||||
|
||||
#ifndef MEM_POINTER_STATUS_DEFINED
|
||||
#define MEM_POINTER_STATUS_DEFINED
|
||||
/* Pointer Status: returned by MemCheckPtr */
|
||||
typedef enum
|
||||
{
|
||||
MEM_POINTER_OK = 1,
|
||||
MEM_POINTER_WILD = 0,
|
||||
MEM_POINTER_FREE = -1,
|
||||
MEM_POINTER_STATUS_INT_MAX = INT_MAX /* to ensure enum is full int in size */
|
||||
} MEM_POINTER_STATUS;
|
||||
#endif /* MEM_POINTER_STATUS_DEFINED */
|
||||
|
||||
/* Pool Info: parameter to MemPoolInfo, MemPoolFirst, MemPoolNext */
|
||||
typedef struct
|
||||
{
|
||||
MEM_POOL pool;
|
||||
MEM_BLOCK_TYPE type; /* disjunctive combination of block type flags */
|
||||
unsigned short blockSizeFS;
|
||||
unsigned short smallBlockSize;
|
||||
unsigned pageSize;
|
||||
unsigned long floor;
|
||||
unsigned long ceiling;
|
||||
unsigned flags;
|
||||
MEM_ERROR_FN errorFn;
|
||||
} MEM_POOL_INFO;
|
||||
|
||||
/* Flags passed to MemAlloc, MemAllocPtr, MemReAlloc, MemReAllocPtr */
|
||||
#define MEM_FIXED 0x0000u /* fixed handle-based block */
|
||||
#define MEM_ZEROINIT 0x0001u /* == TRUE for SH 1.5 compatibility */
|
||||
#define MEM_MOVEABLE 0x0002u /* moveable handle-based block */
|
||||
#define MEM_RESIZEABLE 0x0004u /* reserve space above block */
|
||||
#define MEM_RESIZE_IN_PLACE 0x0008u /* do not move block (realloc) */
|
||||
#define MEM_NOGROW 0x0010u /* do not grow heap to satisfy request */
|
||||
#define MEM_NOEXTERNAL 0x0020u /* reserved for internal use */
|
||||
#define MEM_NOCOMPACT 0x0040u /* do not compact to satisfy request */
|
||||
#define MEM_NO_SERIALIZE 0x0080u /* do not serialize this request */
|
||||
#define MEM_HANDLEBASED 0x4000u /* for internal use */
|
||||
#define MEM_RESERVED 0x8000u /* for internal use */
|
||||
|
||||
#define MEM_UNLOCK_FAILED USHRT_MAX
|
||||
|
||||
/* Flags passed to MemPoolInit, MemPoolInitFS */
|
||||
#ifndef MEM_POOL_SHARED
|
||||
#define MEM_POOL_SHARED 0x0001u /* == TRUE for SH 1.5 compatibility */
|
||||
#define MEM_POOL_SERIALIZE 0x0002u /* pool used in more than one thread */
|
||||
#define MEM_POOL_VIRTUAL_LOCK 0x0004u /* pool is locked in physical memory */
|
||||
#define MEM_POOL_ZEROINIT 0x0008u /* malloc/new from pool zero-inits */
|
||||
#define MEM_POOL_REGION 0x0010u /* store pool in user-supplied region*/
|
||||
#define MEM_POOL_DEFAULT 0x8000u /* pool with default characteristics */
|
||||
#endif /* MEM_POOL_SHARED */
|
||||
|
||||
MEM_ENTRY4 MEM_POOL MemDefaultPool;
|
||||
|
||||
/* Default memory pool for C malloc, C++ new (for backwards compatibility) */
|
||||
#define MEM_DEFAULT_POOL MemDefaultPool
|
||||
|
||||
/* define and initialize these variables at file scope to change defaults */
|
||||
extern unsigned short MemDefaultPoolBlockSizeFS;
|
||||
extern unsigned MemDefaultPoolPageSize;
|
||||
extern unsigned MemDefaultPoolFlags;
|
||||
|
||||
/* define SmartHeap_malloc at file scope if you
|
||||
* are intentionally _NOT_ linking in the SmartHeap malloc definition
|
||||
* ditto for SmartHeap operator new, and fmalloc et al.
|
||||
*/
|
||||
extern int SmartHeap_malloc;
|
||||
extern int SmartHeap_far_malloc;
|
||||
extern int SmartHeap_new;
|
||||
|
||||
#define MEM_ERROR_RET ULONG_MAX
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* !defined(_SMARTHEAP_H) */
|
||||
|
||||
|
||||
/*** Function Prototypes ***/
|
||||
|
||||
#ifndef _SMARTHEAP_PROT
|
||||
#define _SMARTHEAP_PROT
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef _shAPI
|
||||
#if defined(MEM_DEBUG) && !defined(SHI_NO_MEM_DEBUG)
|
||||
#define _shAPI(ret, name) MEM_ENTRY1 ret MEM_ENTRY _dbg ## name
|
||||
#else
|
||||
#define _shAPI(ret, name) MEM_ENTRY1 ret MEM_ENTRY name
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _dbgARGS
|
||||
#if defined(MEM_DEBUG) && !defined(SHI_NO_MEM_DEBUG)
|
||||
#define _dbgARGS1 const char MEM_FAR *, int
|
||||
#define _dbgARGS , _dbgARGS1
|
||||
#else
|
||||
#define _dbgARGS1 void
|
||||
#define _dbgARGS
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/**** HOW TO READ SmartHeap PROTOTYPES ****
|
||||
* prototypes below have the follow syntax in order to support both debug
|
||||
* and non-debug APIs with single-source:
|
||||
*
|
||||
* _shiAPI(<return-type>, <API name>)([<parms>] _dbgARGS);
|
||||
*
|
||||
* the above translates to a C prototype as follows:
|
||||
*
|
||||
* <return-type> <API name>([<parms>]);
|
||||
*/
|
||||
|
||||
/* Library Version */
|
||||
MEM_ENTRY1 MEM_VERSION MEM_ENTRY MemVersion(void);
|
||||
|
||||
/* Library Registration */
|
||||
_shAPI(MEM_BOOL, MemRegisterTask)(_dbgARGS1);
|
||||
_shAPI(MEM_BOOL, MemUnregisterTask)(_dbgARGS1);
|
||||
|
||||
/* Memory Pool Functions */
|
||||
_shAPI(MEM_POOL, MemPoolInit)(unsigned _dbgARGS);
|
||||
_shAPI(MEM_POOL, MemPoolInitFS)(MEM_USHORT, unsigned long,
|
||||
unsigned _dbgARGS);
|
||||
_shAPI(MEM_POOL, MemPoolInitRegion)(void MEM_FAR *,
|
||||
unsigned long size, unsigned _dbgARGS);
|
||||
_shAPI(MEM_POOL, MemPoolInitNamedShared)(const char MEM_FAR *,
|
||||
unsigned long size,unsigned _dbgARGS);
|
||||
_shAPI(MEM_POOL, MemPoolInitNamedSharedEx)(void MEM_FAR *addr,
|
||||
unsigned pidCount, unsigned long MEM_FAR *pids, void MEM_FAR *security,
|
||||
const char MEM_FAR *name, unsigned long size, unsigned flags _dbgARGS);
|
||||
_shAPI(MEM_POOL, MemPoolAttachShared)(MEM_POOL, const char MEM_FAR * _dbgARGS);
|
||||
_shAPI(MEM_BOOL, MemPoolFree)(MEM_POOL _dbgARGS);
|
||||
MEM_POOL MEM_ENTRY MemInitDefaultPool(void);
|
||||
MEM_BOOL MEM_ENTRY MemFreeDefaultPool(void);
|
||||
_shAPI(unsigned, MemPoolSetPageSize)(MEM_POOL, unsigned _dbgARGS);
|
||||
_shAPI(MEM_BOOL, MemPoolSetBlockSizeFS)(MEM_POOL, MEM_USHORT _dbgARGS);
|
||||
_shAPI(MEM_BOOL, MemPoolSetSmallBlockSize)(MEM_POOL, MEM_USHORT _dbgARGS);
|
||||
_shAPI(unsigned long, MemPoolSetFloor)(MEM_POOL, unsigned long _dbgARGS);
|
||||
_shAPI(unsigned long, MemPoolSetCeiling)(MEM_POOL, unsigned long _dbgARGS);
|
||||
_shAPI(unsigned long, MemPoolPreAllocate)(MEM_POOL, unsigned long,
|
||||
MEM_BLOCK_TYPE _dbgARGS);
|
||||
_shAPI(unsigned long, MemPoolPreAllocateHandles)(MEM_POOL,
|
||||
unsigned long _dbgARGS);
|
||||
_shAPI(unsigned long, MemPoolShrink)(MEM_POOL _dbgARGS);
|
||||
_shAPI(unsigned long, MemPoolSize)(MEM_POOL _dbgARGS);
|
||||
_shAPI(unsigned long, MemPoolCount)(MEM_POOL _dbgARGS);
|
||||
_shAPI(MEM_BOOL, MemPoolInfo)(MEM_POOL, void MEM_FAR *,
|
||||
MEM_POOL_INFO MEM_FAR* _dbgARGS);
|
||||
_shAPI(MEM_POOL_STATUS, MemPoolFirst)(MEM_POOL_INFO MEM_FAR *,
|
||||
MEM_BOOL _dbgARGS);
|
||||
_shAPI(MEM_POOL_STATUS,MemPoolNext)(MEM_POOL_INFO MEM_FAR*,MEM_BOOL _dbgARGS);
|
||||
_shAPI(MEM_POOL_STATUS,MemPoolWalk)(MEM_POOL,MEM_POOL_ENTRY MEM_FAR*_dbgARGS);
|
||||
_shAPI(MEM_BOOL, MemPoolCheck)(MEM_POOL _dbgARGS);
|
||||
_shAPI(MEM_BOOL, MemPoolLock)(MEM_POOL _dbgARGS);
|
||||
_shAPI(MEM_BOOL, MemPoolUnlock)(MEM_POOL _dbgARGS);
|
||||
|
||||
/* Handle-based API for moveable memory within heap. */
|
||||
_shAPI(MEM_HANDLE, MemAlloc)(MEM_POOL, unsigned, unsigned long _dbgARGS);
|
||||
_shAPI(MEM_HANDLE, MemReAlloc)(MEM_HANDLE,unsigned long,unsigned _dbgARGS);
|
||||
_shAPI(MEM_BOOL, MemFree)(MEM_HANDLE _dbgARGS);
|
||||
_shAPI(void MEM_FAR *, MemLock)(MEM_HANDLE _dbgARGS);
|
||||
_shAPI(unsigned, MemUnlock)(MEM_HANDLE _dbgARGS);
|
||||
_shAPI(void MEM_FAR *, MemFix)(MEM_HANDLE _dbgARGS);
|
||||
_shAPI(unsigned, MemUnfix)(MEM_HANDLE _dbgARGS);
|
||||
_shAPI(unsigned, MemLockCount)(MEM_HANDLE _dbgARGS);
|
||||
#ifndef MemFlags
|
||||
#define MemFlags(mem) MemLockCount(mem)
|
||||
#endif
|
||||
_shAPI(MEM_BOOL, MemIsMoveable)(MEM_HANDLE _dbgARGS);
|
||||
_shAPI(unsigned long, MemSize)(MEM_HANDLE _dbgARGS);
|
||||
_shAPI(unsigned long, MemSizeRequested)(MEM_HANDLE _dbgARGS);
|
||||
_shAPI(MEM_HANDLE, MemHandle)(void MEM_FAR * _dbgARGS);
|
||||
#ifndef MEM_REFERENCE
|
||||
#ifdef MEM_DEBUG
|
||||
MEM_ENTRY1 void MEM_FAR * MEM_ENTRY _dbgMemReference(MEM_HANDLE,
|
||||
const char MEM_FAR *, int);
|
||||
#define MEM_REFERENCE(handle) \
|
||||
_dbgMemReference(handle, __FILE__, __LINE__)
|
||||
#else
|
||||
#define MEM_REFERENCE(handle) (*(void MEM_FAR * MEM_FAR *)handle)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* General Heap Allocator (returns direct pointer to memory) */
|
||||
_shAPI(void MEM_FAR*,MemAllocPtr)(MEM_POOL,unsigned long,unsigned _dbgARGS);
|
||||
_shAPI(void MEM_FAR *, MemReAllocPtr)(void MEM_FAR *, unsigned long,
|
||||
unsigned _dbgARGS);
|
||||
_shAPI(MEM_BOOL, MemFreePtr)(void MEM_FAR * _dbgARGS);
|
||||
_shAPI(unsigned long, MemSizePtr)(void MEM_FAR * _dbgARGS);
|
||||
_shAPI(MEM_POINTER_STATUS, MemCheckPtr)(MEM_POOL, void MEM_FAR * _dbgARGS);
|
||||
|
||||
/* Fixed-Size Allocator */
|
||||
_shAPI(void MEM_FAR *, MemAllocFS)(MEM_POOL _dbgARGS);
|
||||
_shAPI(MEM_BOOL, MemFreeFS)(void MEM_FAR * _dbgARGS);
|
||||
|
||||
/* Error Handling Functions */
|
||||
MEM_ENTRY1 MEM_ERROR_FN MEM_ENTRY MemSetErrorHandler(MEM_ERROR_FN);
|
||||
MEM_ENTRY1 MEM_BOOL MEM_ENTRY MemDefaultErrorHandler(MEM_ERROR_INFO MEM_FAR*);
|
||||
MEM_ENTRY1 void MEM_ENTRY MemErrorUnwind(void);
|
||||
|
||||
#ifdef MEM_WIN32
|
||||
/* patching control */
|
||||
|
||||
#ifndef MEM_PATCHING_DEFINED
|
||||
#define MEM_PATCHING_DEFINED
|
||||
typedef enum
|
||||
{
|
||||
MEM_PATCH_ALL = 0,
|
||||
MEM_SKIP_PATCHING_THIS_DLL = 1,
|
||||
MEM_DISABLE_SYSTEM_HEAP_PATCHING = 2,
|
||||
MEM_DISABLE_ALL_PATCHING = 4|2|1,
|
||||
MEM_PATCHING_INT_MAX = INT_MAX /* to ensure enum is full int in size */
|
||||
} MEM_PATCHING;
|
||||
#endif /* MEM_PATCHING_DEFINED */
|
||||
|
||||
#ifdef _MSC_VER
|
||||
__declspec(dllexport)
|
||||
#endif
|
||||
MEM_PATCHING MEM_ENTRY MemSetPatching(const char ***skipDLLs);
|
||||
|
||||
#endif /* MEM_WIN32 */
|
||||
|
||||
/* internal routines */
|
||||
MEM_ENTRY1 MEM_BOOL MEM_ENTRY _shi_enterCriticalSection(void);
|
||||
MEM_ENTRY1 void MEM_ENTRY _shi_leaveCriticalSection(void);
|
||||
MEM_BOOL shi_call_new_handler_msc(size_t, MEM_BOOL);
|
||||
|
||||
|
||||
/* Wrapper macros for debugging API */
|
||||
#ifndef _SHI_dbgMacros
|
||||
#ifdef MEM_DEBUG
|
||||
#define MemRegisterTask() _dbgMemRegisterTask(__FILE__, __LINE__)
|
||||
#define MemUnregisterTask() _dbgMemUnregisterTask(__FILE__, __LINE__)
|
||||
#define MemPoolInit(flags) _dbgMemPoolInit(flags, __FILE__, __LINE__)
|
||||
#define MemPoolInitFS(bs, bc, f) _dbgMemPoolInitFS(bs,bc,f,__FILE__,__LINE__)
|
||||
#define MemPoolInitRegion(addr, sz, f) \
|
||||
_dbgMemPoolInitRegion(addr, sz, f, __FILE__, __LINE__)
|
||||
#define MemPoolInitNamedShared(nm, sz, f) \
|
||||
_dbgMemPoolInitNamedShared(nm, sz, f, __FILE__, __LINE__)
|
||||
#define MemPoolInitNamedSharedEx(a, c, p, sec, nm, sz, f) \
|
||||
_dbgMemPoolInitNamedSharedEx(a, c, p, sec, nm, sz, f, __FILE__, __LINE__)
|
||||
#define MemPoolAttachShared(p, n) \
|
||||
_dbgMemPoolAttachShared(p, n, __FILE__, __LINE__)
|
||||
#define MemPoolFree(pool) _dbgMemPoolFree(pool, __FILE__, __LINE__)
|
||||
#define MemPoolSetPageSize(p, s) _dbgMemPoolSetPageSize(p,s,__FILE__,__LINE__)
|
||||
#define MemPoolSetBlockSizeFS(p, s) \
|
||||
_dbgMemPoolSetBlockSizeFS(p, s, __FILE__, __LINE__)
|
||||
#define MemPoolSetSmallBlockSize(p, s) \
|
||||
_dbgMemPoolSetSmallBlockSize(p, s, __FILE__, __LINE__)
|
||||
#define MemPoolSetFloor(p, f) _dbgMemPoolSetFloor(p, f, __FILE__, __LINE__)
|
||||
#define MemPoolSetCeiling(p, c) _dbgMemPoolSetCeiling(p,c,__FILE__, __LINE__)
|
||||
#define MemPoolPreAllocate(p,s,t) \
|
||||
_dbgMemPoolPreAllocate(p,s,t,__FILE__, __LINE__)
|
||||
#define MemPoolPreAllocateHandles(p,h) \
|
||||
_dbgMemPoolPreAllocateHandles(p,h,__FILE__, __LINE__)
|
||||
#define MemPoolShrink(p) _dbgMemPoolShrink(p, __FILE__, __LINE__)
|
||||
#define MemPoolCheck(p) _dbgMemPoolCheck(p, __FILE__, __LINE__)
|
||||
#define MemPoolWalk(p, e) _dbgMemPoolWalk(p, e, __FILE__, __LINE__)
|
||||
#define MemPoolSize(p) _dbgMemPoolSize(p, __FILE__, __LINE__)
|
||||
#define MemPoolCount(p) _dbgMemPoolCount(p, __FILE__, __LINE__)
|
||||
#define MemPoolInfo(p,x,i) _dbgMemPoolInfo(p,x,i, __FILE__, __LINE__)
|
||||
#define MemPoolFirst(i, b) _dbgMemPoolFirst(i, b, __FILE__, __LINE__)
|
||||
#define MemPoolNext(i, b) _dbgMemPoolNext(i, b, __FILE__, __LINE__)
|
||||
#define MemPoolLock(p) _dbgMemPoolLock(p, __FILE__, __LINE__)
|
||||
#define MemPoolUnlock(p) _dbgMemPoolUnlock(p, __FILE__, __LINE__)
|
||||
#define MemAlloc(p, f, s) _dbgMemAlloc(p, f, s, __FILE__, __LINE__)
|
||||
#define MemReAlloc(h, s, f) _dbgMemReAlloc(h, s, f, __FILE__, __LINE__)
|
||||
#define MemFree(h) _dbgMemFree(h, __FILE__, __LINE__)
|
||||
#define MemLock(h) _dbgMemLock(h, __FILE__, __LINE__)
|
||||
#define MemUnlock(h) _dbgMemUnlock(h, __FILE__, __LINE__)
|
||||
#define MemFix(h) _dbgMemFix(h, __FILE__, __LINE__)
|
||||
#define MemUnfix(h) _dbgMemUnfix(h, __FILE__, __LINE__)
|
||||
#define MemSize(h) _dbgMemSize(h, __FILE__, __LINE__)
|
||||
#define MemSizeRequested(h) _dbgMemSizeRequested(h, __FILE__, __LINE__)
|
||||
#define MemLockCount(h) _dbgMemLockCount(h, __FILE__, __LINE__)
|
||||
#define MemIsMoveable(h) _dbgMemIsMoveable(h, __FILE__, __LINE__)
|
||||
#define MemHandle(p) _dbgMemHandle(p, __FILE__, __LINE__)
|
||||
#define MemAllocPtr(p, s, f) _dbgMemAllocPtr(p, s, f, __FILE__, __LINE__)
|
||||
#define MemReAllocPtr(p, s, f) _dbgMemReAllocPtr(p, s, f, __FILE__,__LINE__)
|
||||
#define MemFreePtr(p) _dbgMemFreePtr(p, __FILE__, __LINE__)
|
||||
#define MemSizePtr(p) _dbgMemSizePtr(p, __FILE__, __LINE__)
|
||||
#define MemCheckPtr(p, x) _dbgMemCheckPtr(p, x, __FILE__, __LINE__)
|
||||
#define MemAllocFS(p) _dbgMemAllocFS(p, __FILE__, __LINE__)
|
||||
#define MemFreeFS(p) _dbgMemFreeFS(p, __FILE__, __LINE__)
|
||||
|
||||
#else /* MEM_DEBUG */
|
||||
|
||||
/* MEM_DEBUG not defined: define dbgMemXXX as no-op macros
|
||||
* each macro returns "success" value when MEM_DEBUG not defined
|
||||
*/
|
||||
#ifndef dbgMemBreakpoint
|
||||
#define dbgMemBreakpoint() ((void)0)
|
||||
#define dbgMemCheckAll() 1
|
||||
#define dbgMemCheckPtr(p, f, s) 1
|
||||
#define dbgMemDeferFreeing(b) 1
|
||||
#define dbgMemFormatCall(i, b, s) 0
|
||||
#define dbgMemFormatErrorInfo(i, b, s) 0
|
||||
#define dbgMemPoolDeferFreeing(p, b) 1
|
||||
#define dbgMemFreeDeferred() 1
|
||||
#define dbgMemPoolFreeDeferred(p) 1
|
||||
#define dbgMemPoolInfo(p, b) 1
|
||||
#define dbgMemPoolSetCheckFrequency(p, f) 1
|
||||
#define dbgMemPoolSetDeferQueueLen(p, b) 1
|
||||
#define dbgMemPoolSetName(p, n) 1
|
||||
#define dbgMemProtectPtr(p, f) 1
|
||||
#define dbgMemPtrInfo(p, b) 1
|
||||
#define dbgMemReallocMoves(b) 1
|
||||
#define dbgMemReportLeakage(p, c1, c2) 1
|
||||
#define dbgMemReportWrongTaskRef(b) 1
|
||||
#define dbgMemScheduleChecking(b, p, i) 1
|
||||
#define dbgMemSetCheckFrequency(f) 1
|
||||
#define dbgMemSetCheckpoint(c) 1
|
||||
#define dbgMemSetDefaultErrorOutput(x, f) 1
|
||||
#define dbgMemSetDeferQueueLen(l) 1
|
||||
#define dbgMemSetDeferSizeThreshold(s) 1
|
||||
#define dbgMemSetEntryHandler(f) 0
|
||||
#define dbgMemSetExitHandler(f) 0
|
||||
#define dbgMemSetFreeFill(c) 1
|
||||
#define dbgMemSetGuardFill(c) 1
|
||||
#define dbgMemSetGuardSize(s) 1
|
||||
#define dbgMemSetInUseFill(c) 1
|
||||
#define dbgMemSetCallstackChains(s) 1
|
||||
#define dbgMemSetStackChecking(s) 1
|
||||
#define dbgMemSetSafetyLevel(s) 1
|
||||
#define dbgMemSettingsInfo(b) 1
|
||||
#define dbgMemSuppressFreeFill(b) 1
|
||||
#define dbgMemTotalCount() 1
|
||||
#define dbgMemTotalSize() 1
|
||||
#define dbgMemWalkHeap(b) MEM_POOL_OK
|
||||
#endif /* dbgMemBreakpoint */
|
||||
|
||||
#endif /* MEM_DEBUG */
|
||||
#endif /* _SHI_dbgMacros */
|
||||
|
||||
#if defined(__WATCOMC__) && defined(__SW_3S)
|
||||
/* Watcom stack calling convention */
|
||||
#pragma aux MemDefaultPool "_*";
|
||||
#pragma aux MemDefaultPoolBlockSizeFS "_*";
|
||||
#pragma aux MemDefaultPoolPageSize "_*";
|
||||
#pragma aux MemDefaultPoolFlags "_*";
|
||||
#pragma aux SmartHeap_malloc "_*";
|
||||
#pragma aux SmartHeap_far_malloc "_*";
|
||||
#pragma aux SmartHeap_new "_*";
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* !defined(_SMARTHEAP_PROT) */
|
||||
159
3rdparty/smartheap/SMRTHEAP.HPP
vendored
Normal file
159
3rdparty/smartheap/SMRTHEAP.HPP
vendored
Normal file
@ -0,0 +1,159 @@
|
||||
// smrtheap.hpp -- SmartHeap public C++ header file
|
||||
// Professional Memory Management Library
|
||||
//
|
||||
// Copyright (C) 1991-1996 by Arthur D. Applegate
|
||||
// All Rights Reserved.
|
||||
//
|
||||
// No part of this source code may be copied, modified or reproduced
|
||||
// in any form without retaining the above copyright notice.
|
||||
// This source code, or source code derived from it, may not be redistributed
|
||||
// without express written permission of the author.
|
||||
//
|
||||
// COMMENTS:
|
||||
// - Include this header file to call the SmartHeap-specific versions of
|
||||
// operators new (i.e. with placement syntax), to:
|
||||
// o allocate from a specific memory pool;
|
||||
// o specify allocation flags, such as zero-initialization;
|
||||
// o resize an allocation.
|
||||
//
|
||||
// - If you include this header file, you must compile and link shnew.cpp, or
|
||||
// link with one of the SmartHeap static operator new libraries:
|
||||
// sh[l|d]XXXX.lib
|
||||
//
|
||||
// - Can be used in both EXEs and DLLs.
|
||||
//
|
||||
// - For 16-bit x86 platforms, use only in large or compact memory model.
|
||||
//
|
||||
// - If you do not want to use SmartHeap's global operator new but you do
|
||||
// want to use SmartHeap's other facilities in a C++ application, then
|
||||
// include the smrtheap.h header file but do not include this header file,
|
||||
// and do not link with shnew.cpp. The two ".Xpp" files are present
|
||||
// ONLY for the purpose of defining operator new and operator delete.
|
||||
//
|
||||
// - Use the MemDefaultPool global variable to refer to a memory pool to pass
|
||||
// to SmartHeap functions that accept a pool as a parameter,
|
||||
// e.g. MemPoolCount, MemPoolSize, MemPoolWalk, etc.
|
||||
//
|
||||
|
||||
#if !defined(_SMARTHEAP_HPP)
|
||||
#define _SMARTHEAP_HPP
|
||||
|
||||
#if defined(_MSC_VER) \
|
||||
&& (defined(M_I86LM) || defined(M_I86CM) || defined(M_I86HM)) \
|
||||
&& !defined(MEM_HUGE)
|
||||
#define MEM_HUGE 0x8000u
|
||||
#endif
|
||||
|
||||
#ifndef __BORLANDC__
|
||||
/* Borland C++ does not treat extern "C++" correctly */
|
||||
extern "C++"
|
||||
{
|
||||
#endif /* __BORLANDC__ */
|
||||
|
||||
#if defined(_MSC_VER) && _MSC_VER >= 900
|
||||
#pragma warning(disable : 4507)
|
||||
#endif
|
||||
|
||||
#if defined(new)
|
||||
#if defined(MEM_DEBUG)
|
||||
#undef new
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <new.h>
|
||||
|
||||
#include "smrtheap.h"
|
||||
|
||||
#if defined(new)
|
||||
#if defined(MEM_DEBUG)
|
||||
#undef new
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if ((defined(__BORLANDC__) && (__BORLANDC__ >= 0x450)) \
|
||||
|| (defined(__WATCOMC__) && __WATCOMC__ >= 1000) \
|
||||
|| (defined(__IBMCPP__) && __IBMCPP__ >= 250))
|
||||
#define SHI_ARRAY_NEW 1
|
||||
#endif
|
||||
|
||||
void MEM_FAR * MEM_ENTRY_ANSI shi_New(unsigned long sz, unsigned flags=0, MEM_POOL pool=0);
|
||||
|
||||
// operator new variants:
|
||||
|
||||
|
||||
// version of new that passes memory allocation flags
|
||||
// (e.g. MEM_ZEROINIT to zero-initialize memory)
|
||||
// call with syntax 'ptr = new (flags) <type>'
|
||||
inline void MEM_FAR *operator new(size_t sz, unsigned flags)
|
||||
{ return shi_New(sz, flags); }
|
||||
|
||||
// version of new that allocates from a specified memory pool with alloc flags
|
||||
// call with the syntax 'ptr = new (pool, [flags=0]) <type>'
|
||||
inline void MEM_FAR *operator new(size_t sz, MEM_POOL pool, unsigned flags=0)
|
||||
{ return shi_New(sz, flags, pool); }
|
||||
#ifdef SHI_ARRAY_NEW
|
||||
inline void MEM_FAR *operator new[](size_t sz, MEM_POOL pool, unsigned flags=0)
|
||||
{ return shi_New(sz, flags, pool); }
|
||||
#endif
|
||||
|
||||
// version of new that changes the size of a memory block previously allocated
|
||||
// from an SmartHeap memory pool
|
||||
// call with the syntax 'ptr = new (ptr, flags) <type>'
|
||||
#if !defined(MEM_DEBUG) || !defined(__HIGHC__)
|
||||
/* bug in MetaWare High C++ parser confuses this with new(file,line) */
|
||||
inline void MEM_FAR *operator new(size_t new_sz, void MEM_FAR *lpMem,
|
||||
unsigned flags)
|
||||
{ return MemReAllocPtr(lpMem, new_sz, flags); }
|
||||
#ifdef SHI_ARRAY_NEW
|
||||
inline void MEM_FAR *operator new[](size_t new_sz, void MEM_FAR *lpMem,
|
||||
unsigned flags)
|
||||
{ return MemReAllocPtr(lpMem, new_sz, flags); }
|
||||
#endif // SHI_ARRAY_NEW
|
||||
#endif
|
||||
|
||||
|
||||
// new_handler prototypes: note that MSC/C++ prototype differs from the
|
||||
// protosed ANSI standard prototype for set_new_handler
|
||||
#ifdef __MWERKS__
|
||||
#define MEM_CPP_THROW throw()
|
||||
#else
|
||||
#define MEM_CPP_THROW
|
||||
#endif // __MWERKS__
|
||||
#ifndef _CRTIMP
|
||||
#define _CRTIMP
|
||||
#endif // _CRTIMP
|
||||
#ifdef _MSC_VER
|
||||
_CRTIMP _PNH MEM_ENTRY_ANSI _set_new_handler(_PNH);
|
||||
#if UINT_MAX == 0xFFFFu
|
||||
_PNH MEM_ENTRY_ANSI _set_fnew_handler(_PNH);
|
||||
_PNHH MEM_ENTRY_ANSI _set_hnew_handler(_PNHH);
|
||||
#endif // UINT_MAX
|
||||
#endif // _MSC_VER
|
||||
typedef void (MEM_ENTRY_ANSI * pnh)();
|
||||
_CRTIMP pnh MEM_ENTRY_ANSI set_new_handler(pnh) MEM_CPP_THROW;
|
||||
|
||||
#ifndef DBG_FORMAL
|
||||
#define DBG_FORMAL
|
||||
#define DBG_ACTUAL
|
||||
#ifndef DEBUG_NEW
|
||||
#define DEBUG_NEW new
|
||||
#endif // DEBUG_NEW
|
||||
#define DEBUG_NEW1(x_) new(x_)
|
||||
#define DEBUG_NEW2(x_, y_) new(x_, y_)
|
||||
#define DEBUG_NEW3(x_, y_, z_) new(x_, y_, z_)
|
||||
#define DEBUG_DELETE delete
|
||||
#endif
|
||||
|
||||
#ifdef DEFINE_NEW_MACRO
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && _MSC_VER >= 900
|
||||
#pragma warning(default : 4507)
|
||||
#endif
|
||||
|
||||
#ifndef __BORLANDC__
|
||||
}
|
||||
#endif /* __BORLANDC__ */
|
||||
|
||||
#endif /* !defined(_SMARTHEAP_HPP) */
|
||||
1085
3rdparty/vec/vec.h
vendored
Normal file
1085
3rdparty/vec/vec.h
vendored
Normal file
File diff suppressed because it is too large
Load Diff
19
CONFIG/AboutDlg.cpp
Normal file
19
CONFIG/AboutDlg.cpp
Normal file
@ -0,0 +1,19 @@
|
||||
#include "AboutDlg.h"
|
||||
|
||||
#include "decomp.h"
|
||||
|
||||
DECOMP_SIZE_ASSERT(CDialog, 0x60)
|
||||
DECOMP_SIZE_ASSERT(CAboutDialog, 0x60)
|
||||
|
||||
// FUNCTION: CONFIG 0x00403c20
|
||||
CAboutDialog::CAboutDialog() : CDialog(IDD)
|
||||
{
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00403d20
|
||||
void CAboutDialog::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CAboutDialog, CDialog)
|
||||
END_MESSAGE_MAP()
|
||||
39
CONFIG/AboutDlg.h
Normal file
39
CONFIG/AboutDlg.h
Normal file
@ -0,0 +1,39 @@
|
||||
#if !defined(AFX_ABOUTDLG_H)
|
||||
#define AFX_ABOUTDLG_H
|
||||
|
||||
#include "StdAfx.h"
|
||||
#include "compat.h"
|
||||
#include "res/resource.h"
|
||||
|
||||
// VTABLE: CONFIG 0x00406308
|
||||
// SIZE 0x60
|
||||
class CAboutDialog : public CDialog {
|
||||
public:
|
||||
CAboutDialog();
|
||||
enum {
|
||||
IDD = IDD_ABOUT
|
||||
};
|
||||
|
||||
protected:
|
||||
void DoDataExchange(CDataExchange* pDX) override;
|
||||
|
||||
protected:
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
// SYNTHETIC: CONFIG 0x00403cb0
|
||||
// CAboutDialog::`scalar deleting destructor'
|
||||
|
||||
// FUNCTION: CONFIG 0x00403d30
|
||||
// CAboutDialog::_GetBaseMessageMap
|
||||
|
||||
// FUNCTION: CONFIG 0x00403d40
|
||||
// CAboutDialog::GetMessageMap
|
||||
|
||||
// GLOBAL: CONFIG 0x00406100
|
||||
// CAboutDialog::messageMap
|
||||
|
||||
// GLOBAL: CONFIG 0x00406108
|
||||
// CAboutDialog::_messageEntries
|
||||
|
||||
#endif // !defined(AFX_ABOUTDLG_H)
|
||||
22
CONFIG/ConfigCommandLineInfo.cpp
Normal file
22
CONFIG/ConfigCommandLineInfo.cpp
Normal file
@ -0,0 +1,22 @@
|
||||
#include "ConfigCommandLineInfo.h"
|
||||
|
||||
#include "decomp.h"
|
||||
|
||||
DECOMP_SIZE_ASSERT(CCommandLineInfo, 0x24)
|
||||
DECOMP_SIZE_ASSERT(CConfigCommandLineInfo, 0x24)
|
||||
|
||||
// FUNCTION: CONFIG 0x00403b10
|
||||
CConfigCommandLineInfo::CConfigCommandLineInfo()
|
||||
{
|
||||
currentConfigApp->m_run_config_dialog = FALSE;
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00403bf0
|
||||
void CConfigCommandLineInfo::ParseParam(LPCSTR pszParam, BOOL bFlag, BOOL bLast)
|
||||
{
|
||||
if (bFlag) {
|
||||
if (lstrcmpiA(pszParam, "config") == 0) {
|
||||
currentConfigApp->m_run_config_dialog = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
21
CONFIG/ConfigCommandLineInfo.h
Normal file
21
CONFIG/ConfigCommandLineInfo.h
Normal file
@ -0,0 +1,21 @@
|
||||
#if !defined(AFX_CONFIGCOMMANDLINEINFO_H)
|
||||
#define AFX_CONFIGCOMMANDLINEINFO_H
|
||||
|
||||
#include "StdAfx.h"
|
||||
#include "compat.h"
|
||||
#include "config.h"
|
||||
#include "decomp.h"
|
||||
|
||||
// VTABLE: CONFIG 0x004060e8
|
||||
// SIZE 0x24
|
||||
class CConfigCommandLineInfo : public CCommandLineInfo {
|
||||
public:
|
||||
CConfigCommandLineInfo();
|
||||
|
||||
void ParseParam(LPCSTR pszParam, BOOL bFlag, BOOL bLast) override;
|
||||
};
|
||||
|
||||
// SYNTHETIC: CONFIG 0x00403b80
|
||||
// CConfigCommandLineInfo::`scalar deleting destructor'
|
||||
|
||||
#endif // !defined(AFX_CONFIGCOMMANDLINEINFO_H)
|
||||
345
CONFIG/MainDlg.cpp
Normal file
345
CONFIG/MainDlg.cpp
Normal file
@ -0,0 +1,345 @@
|
||||
#include "MainDlg.h"
|
||||
|
||||
#include "AboutDlg.h"
|
||||
#include "config.h"
|
||||
#include "res/resource.h"
|
||||
|
||||
#include <mxdirectx/mxdirect3d.h>
|
||||
|
||||
DECOMP_SIZE_ASSERT(CDialog, 0x60)
|
||||
DECOMP_SIZE_ASSERT(CMainDialog, 0x70)
|
||||
|
||||
// FUNCTION: CONFIG 0x00403d50
|
||||
CMainDialog::CMainDialog(CWnd* pParent) : CDialog(IDD, pParent)
|
||||
{
|
||||
afxCurrentWinApp;
|
||||
m_icon = LoadIconA(AfxFindResourceHandle(MAKEINTRESOURCE(IDI_CONFIG), RT_GROUP_ICON), MAKEINTRESOURCE(IDI_CONFIG));
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00403e50
|
||||
void CMainDialog::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CMainDialog, CDialog)
|
||||
ON_WM_SYSCOMMAND()
|
||||
ON_WM_PAINT()
|
||||
ON_WM_QUERYDRAGICON()
|
||||
ON_COMMAND(IDC_CHK_FLIP_VIDEO_MEM_PAGES, OnCheckboxFlipVideoMemPages)
|
||||
ON_LBN_SELCHANGE(IDC_LIST_3DDEVICES, OnList3DevicesSelectionChanged)
|
||||
ON_COMMAND(IDC_RAD_PALETTE_16BIT, OnRadiobuttonPalette16bit)
|
||||
ON_COMMAND(IDC_RAD_PALETTE_256, OnRadiobuttonPalette256)
|
||||
ON_COMMAND(IDC_CHK_3D_VIDEO_MEMORY, OnCheckbox3DVideoMemory)
|
||||
ON_WM_DESTROY() // FIXME: CONFIG.EXE calls Default
|
||||
ON_COMMAND(IDABORT, OnButtonCancel)
|
||||
ON_COMMAND(IDC_CHK_3DSOUND, OnCheckbox3DSound)
|
||||
ON_COMMAND(IDC_RAD_MODEL_QUALITY_LOW, OnRadiobuttonModelLowQuality)
|
||||
ON_COMMAND(IDC_RAD_MODEL_QUALITY_HIGH, OnRadiobuttonModelHighQuality)
|
||||
ON_COMMAND(IDC_RAD_TEXTURE_QUALITY_LOW, OnRadiobuttonTextureLowQuality)
|
||||
ON_COMMAND(IDC_RAD_TEXTURE_QUALITY_HIGH, OnRadiobuttonTextureHighQuality)
|
||||
ON_COMMAND(IDC_CHK_JOYSTICK, OnCheckboxJoystick)
|
||||
ON_COMMAND(IDC_BTN_ADVANCED, OnButtonAdvanced)
|
||||
ON_COMMAND(IDC_CHK_DRAW_CURSOR, OnCheckboxDrawCursor)
|
||||
ON_COMMAND(IDC_CHK_MUSIC, OnCheckboxMusic)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
// FUNCTION: CONFIG 0x00403e80
|
||||
BOOL CMainDialog::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
SwitchToAdvanced(FALSE);
|
||||
CMenu* system_menu = CMenu::FromHandle(::GetSystemMenu(m_hWnd, FALSE));
|
||||
CString about_text;
|
||||
about_text.LoadString(IDS_ABOUT);
|
||||
if (system_menu) {
|
||||
AppendMenuA(system_menu->m_hMenu, MF_SEPARATOR, 0, NULL);
|
||||
AppendMenuA(system_menu->m_hMenu, MF_STRING, 16, (LPCTSTR) about_text);
|
||||
}
|
||||
SendMessage(WM_SETICON, ICON_BIG, (LPARAM) m_icon);
|
||||
SendMessage(WM_SETICON, ICON_SMALL, (LPARAM) m_icon);
|
||||
MxDeviceEnumerate* enumerator = currentConfigApp->m_device_enumerator;
|
||||
enumerator->FUN_1009d210();
|
||||
m_modified = currentConfigApp->ReadRegisterSettings();
|
||||
CWnd* list_3d_devices = GetDlgItem(IDC_LIST_3DDEVICES);
|
||||
int driver_i = 0;
|
||||
int device_i = 0;
|
||||
int selected = 0;
|
||||
char device_name[256];
|
||||
const list<MxDriver>& driver_list = enumerator->GetDriverList();
|
||||
for (list<MxDriver>::const_iterator it_driver = driver_list.begin(); it_driver != driver_list.end(); it_driver++) {
|
||||
const MxDriver& driver = *it_driver;
|
||||
for (list<Direct3DDeviceInfo>::const_iterator it_device = driver.m_devices.begin();
|
||||
it_device != driver.m_devices.end();
|
||||
it_device++) {
|
||||
const Direct3DDeviceInfo& device = *it_device;
|
||||
if (&device == currentConfigApp->m_device) {
|
||||
selected = device_i;
|
||||
}
|
||||
device_i += 1;
|
||||
sprintf(
|
||||
device_name,
|
||||
driver_i == 0 ? "%s ( Primary Device )" : "%s ( Secondary Device )",
|
||||
device.m_deviceName
|
||||
);
|
||||
::SendMessage(list_3d_devices->m_hWnd, LB_ADDSTRING, 0, (LPARAM) device_name);
|
||||
}
|
||||
driver_i += 1;
|
||||
}
|
||||
::SendMessage(list_3d_devices->m_hWnd, LB_SETCURSEL, selected, 0);
|
||||
UpdateInterface();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00404080
|
||||
void CMainDialog::OnSysCommand(UINT nID, LPARAM lParam)
|
||||
{
|
||||
if ((nID & 0xfff0) == 0x10) {
|
||||
CAboutDialog about_dialog;
|
||||
about_dialog.DoModal();
|
||||
}
|
||||
else {
|
||||
Default();
|
||||
}
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00404150
|
||||
void CMainDialog::OnPaint()
|
||||
{
|
||||
if (IsIconic()) {
|
||||
CPaintDC painter(this);
|
||||
::SendMessage(m_hWnd, WM_ICONERASEBKGND, (WPARAM) painter.m_hDC, 0);
|
||||
RECT dim;
|
||||
GetClientRect(&dim);
|
||||
DrawIcon(
|
||||
painter.m_hDC,
|
||||
(dim.right - dim.left - GetSystemMetrics(SM_CXICON) + 1) / 2,
|
||||
(dim.bottom - dim.top - GetSystemMetrics(SM_CYICON) + 1) / 2,
|
||||
m_icon
|
||||
);
|
||||
}
|
||||
else {
|
||||
Default();
|
||||
}
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00404230
|
||||
HCURSOR CMainDialog::OnQueryDragIcon()
|
||||
{
|
||||
return m_icon;
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00404240
|
||||
void CMainDialog::OnList3DevicesSelectionChanged()
|
||||
{
|
||||
MxDeviceEnumerate* device_enumerator = currentConfigApp->m_device_enumerator;
|
||||
int selected = ::SendMessage(GetDlgItem(IDC_LIST_3DDEVICES)->m_hWnd, LB_GETCURSEL, 0, 0);
|
||||
device_enumerator->GetDevice(selected, currentConfigApp->m_driver, currentConfigApp->m_device);
|
||||
if (currentConfigApp->GetHardwareDeviceColorModel()) {
|
||||
GetDlgItem(IDC_CHK_DRAW_CURSOR)->EnableWindow(TRUE);
|
||||
}
|
||||
else {
|
||||
currentConfigApp->m_3d_video_ram = FALSE;
|
||||
currentConfigApp->m_flip_surfaces = FALSE;
|
||||
CheckDlgButton(IDC_CHK_3D_VIDEO_MEMORY, currentConfigApp->m_3d_video_ram);
|
||||
CheckDlgButton(IDC_CHK_FLIP_VIDEO_MEM_PAGES, currentConfigApp->m_flip_surfaces);
|
||||
}
|
||||
m_modified = TRUE;
|
||||
UpdateInterface();
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00404320
|
||||
void CMainDialog::OnCancel()
|
||||
{
|
||||
CDialog::OnCancel();
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00404330
|
||||
void CMainDialog::OnDestroy()
|
||||
{
|
||||
CDialog::Default();
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00404340
|
||||
void CMainDialog::OnButtonCancel()
|
||||
{
|
||||
if (m_modified) {
|
||||
currentConfigApp->WriteRegisterSettings();
|
||||
}
|
||||
OnCancel();
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00404360
|
||||
void CMainDialog::UpdateInterface()
|
||||
{
|
||||
currentConfigApp->ValidateSettings();
|
||||
GetDlgItem(IDC_CHK_3D_VIDEO_MEMORY)
|
||||
->EnableWindow(!currentConfigApp->m_flip_surfaces && !currentConfigApp->GetHardwareDeviceColorModel());
|
||||
CheckDlgButton(IDC_CHK_FLIP_VIDEO_MEM_PAGES, currentConfigApp->m_flip_surfaces);
|
||||
CheckDlgButton(IDC_CHK_3D_VIDEO_MEMORY, currentConfigApp->m_3d_video_ram);
|
||||
BOOL full_screen = currentConfigApp->m_full_screen;
|
||||
currentConfigApp->FUN_00403810();
|
||||
if (currentConfigApp->GetHardwareDeviceColorModel()) {
|
||||
CheckDlgButton(IDC_CHK_DRAW_CURSOR, TRUE);
|
||||
}
|
||||
else {
|
||||
CheckDlgButton(IDC_CHK_DRAW_CURSOR, FALSE);
|
||||
currentConfigApp->m_draw_cursor = FALSE;
|
||||
GetDlgItem(IDC_CHK_DRAW_CURSOR)->EnableWindow(FALSE);
|
||||
}
|
||||
if (full_screen) {
|
||||
CheckRadioButton(
|
||||
IDC_RAD_PALETTE_256,
|
||||
IDC_RAD_PALETTE_16BIT,
|
||||
currentConfigApp->m_display_bit_depth == 8 ? IDC_RAD_PALETTE_256 : IDC_RAD_PALETTE_16BIT
|
||||
);
|
||||
}
|
||||
else {
|
||||
CheckDlgButton(IDC_RAD_PALETTE_256, 0);
|
||||
CheckDlgButton(IDC_RAD_PALETTE_16BIT, 0);
|
||||
currentConfigApp->m_display_bit_depth = 0;
|
||||
}
|
||||
GetDlgItem(IDC_RAD_PALETTE_256)->EnableWindow(full_screen && currentConfigApp->FUN_004037a0());
|
||||
GetDlgItem(IDC_RAD_PALETTE_16BIT)->EnableWindow(full_screen && currentConfigApp->FUN_004037e0());
|
||||
CheckDlgButton(IDC_CHK_3DSOUND, currentConfigApp->m_3d_sound);
|
||||
CheckDlgButton(IDC_CHK_DRAW_CURSOR, currentConfigApp->m_draw_cursor);
|
||||
switch (currentConfigApp->m_model_quality) {
|
||||
case 1:
|
||||
CheckRadioButton(IDC_RAD_MODEL_QUALITY_LOW, IDC_RAD_MODEL_QUALITY_HIGH, IDC_RAD_MODEL_QUALITY_LOW);
|
||||
break;
|
||||
case 2:
|
||||
CheckRadioButton(IDC_RAD_MODEL_QUALITY_LOW, IDC_RAD_MODEL_QUALITY_HIGH, IDC_RAD_MODEL_QUALITY_HIGH);
|
||||
break;
|
||||
}
|
||||
CheckRadioButton(
|
||||
IDC_RAD_TEXTURE_QUALITY_LOW,
|
||||
IDC_RAD_TEXTURE_QUALITY_HIGH,
|
||||
currentConfigApp->m_texture_quality == 0 ? IDC_RAD_TEXTURE_QUALITY_LOW : IDC_RAD_TEXTURE_QUALITY_HIGH
|
||||
);
|
||||
CheckDlgButton(IDC_CHK_JOYSTICK, currentConfigApp->m_use_joystick);
|
||||
CheckDlgButton(IDC_CHK_MUSIC, currentConfigApp->m_music);
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x004045e0
|
||||
void CMainDialog::OnCheckbox3DSound()
|
||||
{
|
||||
currentConfigApp->m_3d_sound = IsDlgButtonChecked(IDC_CHK_3DSOUND);
|
||||
m_modified = TRUE;
|
||||
UpdateInterface();
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00404610
|
||||
void CMainDialog::OnCheckbox3DVideoMemory()
|
||||
{
|
||||
currentConfigApp->m_3d_video_ram = IsDlgButtonChecked(IDC_CHK_3D_VIDEO_MEMORY);
|
||||
m_modified = TRUE;
|
||||
UpdateInterface();
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00404640
|
||||
void CMainDialog::OnRadiobuttonPalette16bit()
|
||||
{
|
||||
currentConfigApp->m_display_bit_depth = 16;
|
||||
m_modified = TRUE;
|
||||
UpdateInterface();
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00404670
|
||||
void CMainDialog::OnRadiobuttonPalette256()
|
||||
{
|
||||
currentConfigApp->m_display_bit_depth = 8;
|
||||
m_modified = TRUE;
|
||||
UpdateInterface();
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x004046a0
|
||||
void CMainDialog::OnCheckboxFlipVideoMemPages()
|
||||
{
|
||||
currentConfigApp->m_flip_surfaces = IsDlgButtonChecked(IDC_CHK_FLIP_VIDEO_MEM_PAGES);
|
||||
m_modified = TRUE;
|
||||
UpdateInterface();
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x004046d0
|
||||
void CMainDialog::OnRadiobuttonModelLowQuality()
|
||||
{
|
||||
currentConfigApp->m_model_quality = 1;
|
||||
m_modified = TRUE;
|
||||
UpdateInterface();
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00404700
|
||||
void CMainDialog::OnRadiobuttonModelHighQuality()
|
||||
{
|
||||
currentConfigApp->m_model_quality = 2;
|
||||
m_modified = TRUE;
|
||||
UpdateInterface();
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00404730
|
||||
void CMainDialog::OnRadiobuttonTextureLowQuality()
|
||||
{
|
||||
currentConfigApp->m_texture_quality = 0;
|
||||
m_modified = TRUE;
|
||||
UpdateInterface();
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00404760
|
||||
void CMainDialog::OnRadiobuttonTextureHighQuality()
|
||||
{
|
||||
currentConfigApp->m_texture_quality = 1;
|
||||
m_modified = TRUE;
|
||||
UpdateInterface();
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00404790
|
||||
void CMainDialog::OnCheckboxJoystick()
|
||||
{
|
||||
currentConfigApp->m_use_joystick = IsDlgButtonChecked(IDC_CHK_JOYSTICK);
|
||||
m_modified = TRUE;
|
||||
UpdateInterface();
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x004047c0
|
||||
void CMainDialog::OnButtonAdvanced()
|
||||
{
|
||||
SwitchToAdvanced(!m_advanced);
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x004047d0
|
||||
void CMainDialog::SwitchToAdvanced(BOOL p_advanced)
|
||||
{
|
||||
RECT dialog_rect;
|
||||
RECT grp_advanced_rect;
|
||||
::GetWindowRect(m_hWnd, &dialog_rect);
|
||||
::GetWindowRect(GetDlgItem(IDC_GRP_ADVANCED)->m_hWnd, &grp_advanced_rect);
|
||||
CWnd* button_advanced = GetDlgItem(IDC_BTN_ADVANCED);
|
||||
m_advanced = p_advanced;
|
||||
int height;
|
||||
if (p_advanced) {
|
||||
height = grp_advanced_rect.bottom - dialog_rect.top + 10;
|
||||
GetDlgItem(IDC_BMP_SHARK)->EnableWindow(TRUE);
|
||||
button_advanced->SetWindowText("Basic");
|
||||
}
|
||||
else {
|
||||
height = grp_advanced_rect.top - dialog_rect.top;
|
||||
GetDlgItem(IDC_BMP_SHARK)->EnableWindow(FALSE);
|
||||
button_advanced->SetWindowText("Advanced");
|
||||
}
|
||||
SetWindowPos(&wndTop, 0, 0, dialog_rect.right - dialog_rect.left, height, SWP_NOMOVE);
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00404890
|
||||
void CMainDialog::OnCheckboxDrawCursor()
|
||||
{
|
||||
currentConfigApp->m_draw_cursor = IsDlgButtonChecked(IDC_CHK_DRAW_CURSOR);
|
||||
m_modified = TRUE;
|
||||
UpdateInterface();
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x004048c0
|
||||
void CMainDialog::OnCheckboxMusic()
|
||||
{
|
||||
currentConfigApp->m_music = IsDlgButtonChecked(IDC_CHK_MUSIC);
|
||||
m_modified = TRUE;
|
||||
UpdateInterface();
|
||||
}
|
||||
70
CONFIG/MainDlg.h
Normal file
70
CONFIG/MainDlg.h
Normal file
@ -0,0 +1,70 @@
|
||||
#if !defined(AFX_MAINDLG_H)
|
||||
#define AFX_MAINDLG_H
|
||||
|
||||
#include "StdAfx.h"
|
||||
#include "compat.h"
|
||||
#include "decomp.h"
|
||||
#include "res/resource.h"
|
||||
|
||||
// VTABLE: CONFIG 0x004063e0
|
||||
// SIZE 0x70
|
||||
class CMainDialog : public CDialog {
|
||||
public:
|
||||
CMainDialog(CWnd* pParent);
|
||||
enum {
|
||||
IDD = IDD_MAIN
|
||||
};
|
||||
|
||||
protected:
|
||||
void DoDataExchange(CDataExchange* pDX) override;
|
||||
void UpdateInterface();
|
||||
void SwitchToAdvanced(BOOL p_advanced);
|
||||
|
||||
undefined m_unk0x60[4]; // 0x60
|
||||
HCURSOR m_icon; // 0x64
|
||||
BOOL m_modified; // 0x68
|
||||
BOOL m_advanced; // 0x6c
|
||||
// Implementation
|
||||
|
||||
protected:
|
||||
BOOL OnInitDialog() override;
|
||||
void OnSysCommand(UINT nID, LPARAM lParam);
|
||||
void OnPaint();
|
||||
HCURSOR OnQueryDragIcon();
|
||||
void OnList3DevicesSelectionChanged();
|
||||
void OnCancel();
|
||||
void OnDestroy();
|
||||
void OnButtonCancel();
|
||||
void OnCheckbox3DSound();
|
||||
void OnCheckbox3DVideoMemory();
|
||||
void OnRadiobuttonPalette16bit();
|
||||
void OnRadiobuttonPalette256();
|
||||
void OnCheckboxFlipVideoMemPages();
|
||||
void OnRadiobuttonModelLowQuality();
|
||||
void OnRadiobuttonModelHighQuality();
|
||||
void OnRadiobuttonTextureLowQuality();
|
||||
void OnRadiobuttonTextureHighQuality();
|
||||
void OnCheckboxJoystick();
|
||||
void OnButtonAdvanced();
|
||||
void OnCheckboxDrawCursor();
|
||||
void OnCheckboxMusic();
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
// SYNTHETIC: CONFIG 0x00403de0
|
||||
// CMainDialog::`scalar deleting destructor'
|
||||
|
||||
// FUNCTION: CONFIG 0x00403e60
|
||||
// CMainDialog::_GetBaseMessageMap
|
||||
|
||||
// FUNCTION: CONFIG 0x00403e70
|
||||
// CMainDialog::GetMessageMap
|
||||
|
||||
// GLOBAL: CONFIG 0x00406120
|
||||
// CMainDialog::messageMap
|
||||
|
||||
// GLOBAL: CONFIG 0x00406128
|
||||
// CMainDialog::_messageEntries
|
||||
|
||||
#endif // !defined(AFX_MAINDLG_H)
|
||||
5
CONFIG/StdAfx.cpp
Normal file
5
CONFIG/StdAfx.cpp
Normal file
@ -0,0 +1,5 @@
|
||||
// stdafx.cpp : source file that includes just the standard includes
|
||||
// simple.pch will be the pre-compiled header
|
||||
// stdafx.obj will contain the pre-compiled type information
|
||||
|
||||
#include "stdafx.h"
|
||||
31
CONFIG/StdAfx.h
Normal file
31
CONFIG/StdAfx.h
Normal file
@ -0,0 +1,31 @@
|
||||
#if !defined(AFX_STDAFX_H)
|
||||
#define AFX_STDAFX_H
|
||||
|
||||
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
|
||||
|
||||
#include <afxext.h> // MFC extensions
|
||||
#include <afxwin.h> // MFC core and standard components
|
||||
#ifndef _AFX_NO_AFXCMN_SUPPORT
|
||||
#include <afxcmn.h> // MFC support for Windows Common Controls
|
||||
#endif // _AFX_NO_AFXCMN_SUPPORT
|
||||
|
||||
#if 0
|
||||
|
||||
// FUNCTION: CONFIG 0x402ca0
|
||||
// CObject::Serialize
|
||||
|
||||
// FUNCTION: CONFIG 0x402cb0
|
||||
// CObject::AssertValid
|
||||
|
||||
// FUNCTION: CONFIG 0x402cc0
|
||||
// CObject::Dump
|
||||
|
||||
// FUNCTION: CONFIG 0x00403c90
|
||||
// CWnd::BeginModalState
|
||||
|
||||
// FUNCTION: CONFIG 0x00403ca0
|
||||
// CWnd::EndModalState
|
||||
|
||||
#endif
|
||||
|
||||
#endif // !defined(AFX_STDAFX_H)
|
||||
434
CONFIG/config.cpp
Normal file
434
CONFIG/config.cpp
Normal file
@ -0,0 +1,434 @@
|
||||
#include "config.h"
|
||||
|
||||
#include "ConfigCommandLineInfo.h"
|
||||
#include "MainDlg.h"
|
||||
#include "detectdx5.h"
|
||||
|
||||
#include <direct.h> // _chdir
|
||||
#include <mxdirectx/mxdirect3d.h>
|
||||
#include <process.h> // _spawnl
|
||||
|
||||
DECOMP_SIZE_ASSERT(CWinApp, 0xc4)
|
||||
DECOMP_SIZE_ASSERT(CConfigApp, 0x108)
|
||||
|
||||
DECOMP_STATIC_ASSERT(offsetof(CConfigApp, m_display_bit_depth) == 0xd0)
|
||||
|
||||
BEGIN_MESSAGE_MAP(CConfigApp, CWinApp)
|
||||
ON_COMMAND(ID_HELP, OnHelp)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
// FUNCTION: CONFIG 0x00402c40
|
||||
CConfigApp::CConfigApp()
|
||||
{
|
||||
}
|
||||
|
||||
#define MiB (1024 * 1024)
|
||||
|
||||
// FUNCTION: CONFIG 0x00402dc0
|
||||
BOOL CConfigApp::InitInstance()
|
||||
{
|
||||
if (!IsLegoNotRunning()) {
|
||||
return FALSE;
|
||||
}
|
||||
if (!DetectDirectX5()) {
|
||||
AfxMessageBox(
|
||||
"\"LEGO\xae Island\" is not detecting DirectX 5 or later. Please quit all other applications and try "
|
||||
"again."
|
||||
);
|
||||
return FALSE;
|
||||
}
|
||||
#ifdef _AFXDLL
|
||||
Enable3dControls();
|
||||
#else
|
||||
Enable3dControlsStatic();
|
||||
#endif
|
||||
CConfigCommandLineInfo cmdInfo;
|
||||
ParseCommandLine(cmdInfo);
|
||||
if (_stricmp(afxCurrentAppName, "config") == 0) {
|
||||
m_run_config_dialog = TRUE;
|
||||
}
|
||||
m_device_enumerator = new MxDeviceEnumerate;
|
||||
if (m_device_enumerator->DoEnumerate()) {
|
||||
return FALSE;
|
||||
}
|
||||
m_driver = NULL;
|
||||
m_device = NULL;
|
||||
m_full_screen = TRUE;
|
||||
m_wide_view_angle = TRUE;
|
||||
m_use_joystick = FALSE;
|
||||
m_music = TRUE;
|
||||
m_flip_surfaces = FALSE;
|
||||
m_3d_video_ram = FALSE;
|
||||
m_joystick_index = -1;
|
||||
m_display_bit_depth = 16;
|
||||
MEMORYSTATUS memory_status;
|
||||
memory_status.dwLength = sizeof(memory_status);
|
||||
GlobalMemoryStatus(&memory_status);
|
||||
if (memory_status.dwTotalPhys < 12 * MiB) {
|
||||
m_3d_sound = FALSE;
|
||||
m_model_quality = 0;
|
||||
m_texture_quality = 1;
|
||||
}
|
||||
else if (memory_status.dwTotalPhys < 20 * MiB) {
|
||||
m_3d_sound = FALSE;
|
||||
m_model_quality = 1;
|
||||
m_texture_quality = 1;
|
||||
}
|
||||
else {
|
||||
m_model_quality = 2;
|
||||
m_3d_sound = TRUE;
|
||||
m_texture_quality = 1;
|
||||
}
|
||||
if (!m_run_config_dialog) {
|
||||
ReadRegisterSettings();
|
||||
ValidateSettings();
|
||||
WriteRegisterSettings();
|
||||
delete m_device_enumerator;
|
||||
m_device_enumerator = NULL;
|
||||
m_driver = NULL;
|
||||
m_device = NULL;
|
||||
char password[256];
|
||||
ReadReg("password", password, sizeof(password));
|
||||
const char* exe = _stricmp("ogel", password) == 0 ? "isled.exe" : "isle.exe";
|
||||
char diskpath[1024];
|
||||
if (ReadReg("diskpath", diskpath, sizeof(diskpath))) {
|
||||
_chdir(diskpath);
|
||||
}
|
||||
_spawnl(_P_NOWAIT, exe, exe, "/diskstream", "/script", "\\lego\\scripts\\isle\\isle.si", NULL);
|
||||
return FALSE;
|
||||
}
|
||||
CMainDialog main_dialog(NULL);
|
||||
main_dialog.DoModal();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00403100
|
||||
BOOL CConfigApp::IsLegoNotRunning()
|
||||
{
|
||||
HWND hWnd = FindWindowA("Lego Island MainNoM App", "LEGO\xae");
|
||||
if (_stricmp(afxCurrentAppName, "config") == 0 || !hWnd) {
|
||||
return TRUE;
|
||||
}
|
||||
if (SetForegroundWindow(hWnd)) {
|
||||
ShowWindow(hWnd, SW_RESTORE);
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x004031b0
|
||||
BOOL CConfigApp::WriteReg(const char* p_key, const char* p_value) const
|
||||
{
|
||||
HKEY hKey;
|
||||
DWORD pos;
|
||||
|
||||
if (RegCreateKeyExA(
|
||||
HKEY_LOCAL_MACHINE,
|
||||
"SOFTWARE\\Mindscape\\LEGO Island",
|
||||
0,
|
||||
"string",
|
||||
0,
|
||||
KEY_READ | KEY_WRITE,
|
||||
NULL,
|
||||
&hKey,
|
||||
&pos
|
||||
) == ERROR_SUCCESS) {
|
||||
if (RegSetValueExA(hKey, p_key, 0, REG_SZ, (LPBYTE) p_value, strlen(p_value)) == ERROR_SUCCESS) {
|
||||
if (RegCloseKey(hKey) == ERROR_SUCCESS) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
else {
|
||||
RegCloseKey(hKey);
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00403240
|
||||
BOOL CConfigApp::ReadReg(LPCSTR p_key, LPCSTR p_value, DWORD p_size) const
|
||||
{
|
||||
HKEY hKey;
|
||||
DWORD valueType;
|
||||
|
||||
BOOL out = FALSE;
|
||||
DWORD size = p_size;
|
||||
if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, "SOFTWARE\\Mindscape\\LEGO Island", 0, KEY_READ, &hKey) == ERROR_SUCCESS) {
|
||||
if (RegQueryValueExA(hKey, p_key, NULL, &valueType, (LPBYTE) p_value, &size) == ERROR_SUCCESS) {
|
||||
if (RegCloseKey(hKey) == ERROR_SUCCESS) {
|
||||
out = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x004032b0
|
||||
BOOL CConfigApp::ReadRegBool(LPCSTR p_key, BOOL* p_bool) const
|
||||
{
|
||||
char buffer[256];
|
||||
|
||||
BOOL read = ReadReg(p_key, buffer, sizeof(buffer));
|
||||
if (read) {
|
||||
if (strcmp("YES", buffer) == 0) {
|
||||
*p_bool = TRUE;
|
||||
return read;
|
||||
}
|
||||
|
||||
if (strcmp("NO", buffer) == 0) {
|
||||
*p_bool = FALSE;
|
||||
return read;
|
||||
}
|
||||
|
||||
read = FALSE;
|
||||
}
|
||||
return read;
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00403380
|
||||
BOOL CConfigApp::ReadRegInt(LPCSTR p_key, int* p_value) const
|
||||
{
|
||||
char buffer[256];
|
||||
|
||||
BOOL read = ReadReg(p_key, buffer, sizeof(buffer));
|
||||
if (read) {
|
||||
*p_value = atoi(buffer);
|
||||
}
|
||||
|
||||
return read;
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x004033d0
|
||||
BOOL CConfigApp::FUN_004033d0() const
|
||||
{
|
||||
/*
|
||||
* BUG: should be:
|
||||
* return !GetHardwareDeviceColorModel() && (m_device->m_HELDesc.dcmColorModel & D3DCOLOR_RGB);
|
||||
*/
|
||||
return !GetHardwareDeviceColorModel() && m_device->m_HELDesc.dcmColorModel == D3DCOLOR_RGB;
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00403400
|
||||
D3DCOLORMODEL CConfigApp::GetHardwareDeviceColorModel() const
|
||||
{
|
||||
return m_device->m_HWDesc.dcmColorModel;
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00403410
|
||||
BOOL CConfigApp::IsPrimaryDriver() const
|
||||
{
|
||||
return m_driver == &m_device_enumerator->GetDriverList().front();
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00403430
|
||||
BOOL CConfigApp::ReadRegisterSettings()
|
||||
{
|
||||
char buffer[256];
|
||||
BOOL is_modified = FALSE;
|
||||
int tmp = -1;
|
||||
|
||||
if (ReadReg("3D Device ID", buffer, sizeof(buffer))) {
|
||||
tmp = m_device_enumerator->ParseDeviceName(buffer);
|
||||
if (tmp >= 0) {
|
||||
tmp = m_device_enumerator->GetDevice(tmp, m_driver, m_device);
|
||||
}
|
||||
}
|
||||
if (tmp != 0) {
|
||||
is_modified = TRUE;
|
||||
m_device_enumerator->FUN_1009d210();
|
||||
tmp = m_device_enumerator->FUN_1009d0d0();
|
||||
m_device_enumerator->GetDevice(tmp, m_driver, m_device);
|
||||
}
|
||||
if (!ReadRegInt("Display Bit Depth", &m_display_bit_depth)) {
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (!ReadRegBool("Flip Surfaces", &m_flip_surfaces)) {
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (!ReadRegBool("Full Screen", &m_full_screen)) {
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (!ReadRegBool("Back Buffers in Video RAM", &m_3d_video_ram)) {
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (!ReadRegBool("Wide View Angle", &m_wide_view_angle)) {
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (!ReadRegBool("3DSound", &m_3d_sound)) {
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (!ReadRegBool("Draw Cursor", &m_draw_cursor)) {
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (!ReadRegInt("Island Quality", &m_model_quality)) {
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (!ReadRegInt("Island Texture", &m_texture_quality)) {
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (!ReadRegBool("UseJoystick", &m_use_joystick)) {
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (!ReadRegBool("Music", &m_music)) {
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (!ReadRegInt("JoystickIndex", &m_joystick_index)) {
|
||||
is_modified = TRUE;
|
||||
}
|
||||
return is_modified;
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00403630
|
||||
BOOL CConfigApp::ValidateSettings()
|
||||
{
|
||||
BOOL is_modified = FALSE;
|
||||
|
||||
if (!IsPrimaryDriver() && !m_full_screen) {
|
||||
m_full_screen = TRUE;
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (FUN_004033d0()) {
|
||||
if (m_3d_video_ram) {
|
||||
m_3d_video_ram = FALSE;
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (m_flip_surfaces) {
|
||||
m_flip_surfaces = FALSE;
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (m_display_bit_depth != 16) {
|
||||
m_display_bit_depth = 16;
|
||||
is_modified = TRUE;
|
||||
}
|
||||
}
|
||||
if (!GetHardwareDeviceColorModel()) {
|
||||
m_draw_cursor = FALSE;
|
||||
is_modified = TRUE;
|
||||
}
|
||||
else {
|
||||
if (!m_3d_video_ram) {
|
||||
m_3d_video_ram = TRUE;
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (m_full_screen && !m_flip_surfaces) {
|
||||
m_flip_surfaces = TRUE;
|
||||
is_modified = TRUE;
|
||||
}
|
||||
}
|
||||
if (m_flip_surfaces) {
|
||||
if (!m_3d_video_ram) {
|
||||
m_3d_video_ram = TRUE;
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (!m_full_screen) {
|
||||
m_full_screen = TRUE;
|
||||
is_modified = TRUE;
|
||||
}
|
||||
}
|
||||
if ((m_display_bit_depth != 8 && m_display_bit_depth != 16) && (m_display_bit_depth != 0 || m_full_screen)) {
|
||||
m_display_bit_depth = 8;
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (m_model_quality < 0 || m_model_quality > 2) {
|
||||
m_model_quality = 1;
|
||||
is_modified = TRUE;
|
||||
}
|
||||
if (m_texture_quality < 0 || m_texture_quality > 1) {
|
||||
m_texture_quality = 0;
|
||||
is_modified = TRUE;
|
||||
}
|
||||
return is_modified;
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x004037a0
|
||||
DWORD CConfigApp::FUN_004037a0() const
|
||||
{
|
||||
if (FUN_004033d0()) {
|
||||
return 0;
|
||||
}
|
||||
if (GetHardwareDeviceColorModel()) {
|
||||
return 0;
|
||||
}
|
||||
return m_device->m_HELDesc.dwDeviceRenderBitDepth & 0x800;
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x004037e0
|
||||
DWORD CConfigApp::FUN_004037e0() const
|
||||
{
|
||||
if (GetHardwareDeviceColorModel()) {
|
||||
return m_device->m_HWDesc.dwDeviceRenderBitDepth & 0x400;
|
||||
}
|
||||
else {
|
||||
return m_device->m_HELDesc.dwDeviceRenderBitDepth & 0x400;
|
||||
}
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00403810
|
||||
BOOL CConfigApp::FUN_00403810()
|
||||
{
|
||||
if (m_display_bit_depth == 8) {
|
||||
if (FUN_004037a0()) {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
if (m_display_bit_depth == 16) {
|
||||
if (FUN_004037e0()) {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
if (FUN_004037a0()) {
|
||||
m_display_bit_depth = 8;
|
||||
return TRUE;
|
||||
}
|
||||
if (FUN_004037e0()) {
|
||||
m_display_bit_depth = 16;
|
||||
return TRUE;
|
||||
}
|
||||
m_display_bit_depth = 8;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 00403890
|
||||
void CConfigApp::WriteRegisterSettings() const
|
||||
|
||||
{
|
||||
char buffer[128];
|
||||
|
||||
#define WriteRegBool(NAME, VALUE) WriteReg(NAME, VALUE ? "YES" : "NO")
|
||||
#define WriteRegInt(NAME, VALUE) \
|
||||
do { \
|
||||
sprintf(buffer, "%d", VALUE); \
|
||||
WriteReg(NAME, buffer); \
|
||||
} while (0)
|
||||
|
||||
m_device_enumerator->FormatDeviceName(buffer, m_driver, m_device);
|
||||
WriteReg("3D Device ID", buffer);
|
||||
WriteReg("3D Device Name", m_device->m_deviceName);
|
||||
WriteRegInt("Display Bit Depth", m_display_bit_depth);
|
||||
WriteRegBool("Flip Surfaces", m_flip_surfaces);
|
||||
WriteRegBool("Full Screen", m_full_screen);
|
||||
WriteRegBool("Back Buffers in Video RAM", m_3d_video_ram);
|
||||
WriteRegBool("Wide View Angle", m_wide_view_angle);
|
||||
WriteRegBool("3DSound", m_3d_sound);
|
||||
WriteRegBool("Draw Cursor", m_draw_cursor);
|
||||
WriteRegInt("Island Quality", m_model_quality);
|
||||
WriteRegInt("Island Texture", m_texture_quality);
|
||||
WriteRegBool("UseJoystick", m_use_joystick);
|
||||
WriteRegBool("Music", m_music);
|
||||
WriteRegInt("JoystickIndex", m_joystick_index);
|
||||
|
||||
#undef WriteRegBool
|
||||
#undef WriteRegInt
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00403a90
|
||||
int CConfigApp::ExitInstance()
|
||||
{
|
||||
if (m_device_enumerator) {
|
||||
delete m_device_enumerator;
|
||||
m_device_enumerator = NULL;
|
||||
}
|
||||
return CWinApp::ExitInstance();
|
||||
}
|
||||
|
||||
// GLOBAL: CONFIG 0x00408e50
|
||||
CConfigApp g_theApp;
|
||||
91
CONFIG/config.h
Normal file
91
CONFIG/config.h
Normal file
@ -0,0 +1,91 @@
|
||||
#if !defined(AFX_CONFIG_H)
|
||||
#define AFX_CONFIG_H
|
||||
|
||||
#include "StdAfx.h"
|
||||
#include "compat.h"
|
||||
#include "decomp.h"
|
||||
|
||||
#include <d3d.h>
|
||||
|
||||
class MxDeviceEnumerate;
|
||||
struct Direct3DDeviceInfo;
|
||||
struct MxDriver;
|
||||
|
||||
#define currentConfigApp ((CConfigApp*) afxCurrentWinApp)
|
||||
|
||||
// VTABLE: CONFIG 0x00406040
|
||||
// SIZE 0x108
|
||||
class CConfigApp : public CWinApp {
|
||||
public:
|
||||
CConfigApp();
|
||||
|
||||
// Overrides
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CConfigApp)
|
||||
|
||||
public:
|
||||
BOOL InitInstance() override;
|
||||
int ExitInstance() override;
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
|
||||
BOOL WriteReg(const char* p_key, const char* p_value) const;
|
||||
BOOL ReadReg(LPCSTR p_key, LPCSTR p_value, DWORD p_size) const;
|
||||
BOOL ReadRegBool(LPCSTR p_key, BOOL* p_bool) const;
|
||||
BOOL ReadRegInt(LPCSTR p_key, int* p_value) const;
|
||||
BOOL FUN_004033d0() const;
|
||||
D3DCOLORMODEL GetHardwareDeviceColorModel() const;
|
||||
BOOL IsPrimaryDriver() const;
|
||||
BOOL ReadRegisterSettings();
|
||||
BOOL ValidateSettings();
|
||||
DWORD FUN_004037a0() const;
|
||||
DWORD FUN_004037e0() const;
|
||||
BOOL FUN_00403810();
|
||||
void CConfigApp::WriteRegisterSettings() const;
|
||||
|
||||
//{{AFX_MSG(CConfigApp)
|
||||
// NOTE - the ClassWizard will add and remove member functions here.
|
||||
// DO NOT EDIT what you see in these blocks of generated code !
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
|
||||
private:
|
||||
BOOL IsLegoNotRunning();
|
||||
|
||||
public:
|
||||
MxDeviceEnumerate* m_device_enumerator; // 0x0c4
|
||||
MxDriver* m_driver; // 0x0c8
|
||||
Direct3DDeviceInfo* m_device; // 0x0cc
|
||||
int m_display_bit_depth; // 0x0d0
|
||||
BOOL m_flip_surfaces; // 0x0d4
|
||||
BOOL m_full_screen; // 0x0d8
|
||||
BOOL m_3d_video_ram; // 0x0dc
|
||||
BOOL m_wide_view_angle; // 0x0e0
|
||||
BOOL m_3d_sound; // 0x0e4
|
||||
BOOL m_draw_cursor; // 0x0e8
|
||||
BOOL m_use_joystick; // 0x0ec
|
||||
int m_joystick_index; // 0x0f0
|
||||
BOOL m_run_config_dialog; // 0x0f4
|
||||
int m_model_quality; // 0x0f8
|
||||
int m_texture_quality; // 0x0fc
|
||||
undefined m_unk0x100[4]; // 0x100
|
||||
BOOL m_music; // 0x104
|
||||
};
|
||||
|
||||
// SYNTHETIC: CONFIG 0x00402cd0
|
||||
// CConfigApp::`scalar deleting destructor'
|
||||
|
||||
// FUNCTION: CONFIG 0x402c20
|
||||
// CConfigApp::_GetBaseMessageMap
|
||||
|
||||
// FUNCTION: CONFIG 0x402c30
|
||||
// CConfigApp::GetMessageMap
|
||||
|
||||
// GLOBAL: CONFIG 0x406008
|
||||
// CConfigApp::messageMap
|
||||
|
||||
// GLOBAL: CONFIG 0x406010
|
||||
// CConfigApp::_messageEntries
|
||||
|
||||
#endif // !defined(AFX_CONFIG_H)
|
||||
142
CONFIG/detectdx5.cpp
Normal file
142
CONFIG/detectdx5.cpp
Normal file
@ -0,0 +1,142 @@
|
||||
#include "detectdx5.h"
|
||||
|
||||
#include <ddraw.h>
|
||||
#include <dinput.h>
|
||||
|
||||
typedef HRESULT WINAPI DirectDrawCreate_fn(GUID FAR* lpGUID, LPDIRECTDRAW FAR* lplpDD, IUnknown FAR* pUnkOuter);
|
||||
typedef HRESULT WINAPI
|
||||
DirectInputCreateA_fn(HINSTANCE hinst, DWORD dwVersion, LPDIRECTINPUTA* ppDI, LPUNKNOWN punkOuter);
|
||||
|
||||
// FUNCTION: CONFIG 0x004048f0
|
||||
BOOL DetectDirectX5()
|
||||
{
|
||||
unsigned int version;
|
||||
BOOL found;
|
||||
DetectDirectX(&version, &found);
|
||||
return version >= 0x500;
|
||||
}
|
||||
|
||||
// FUNCTION: CONFIG 0x00404920
|
||||
void DetectDirectX(unsigned int* p_version, BOOL* p_found)
|
||||
{
|
||||
OSVERSIONINFOA os_version;
|
||||
|
||||
os_version.dwOSVersionInfoSize = sizeof(os_version);
|
||||
if (!GetVersionExA(&os_version)) {
|
||||
*p_version = 0;
|
||||
*p_found = 0;
|
||||
return;
|
||||
}
|
||||
if (os_version.dwPlatformId == 2) {
|
||||
*p_found = 2;
|
||||
if (os_version.dwMajorVersion < 4) {
|
||||
*p_found = 0;
|
||||
return;
|
||||
}
|
||||
if (os_version.dwMajorVersion != 4) {
|
||||
*p_version = 0x501;
|
||||
return;
|
||||
}
|
||||
*p_version = 0x200;
|
||||
HMODULE dinput_module = LoadLibraryA("DINPUT.DLL");
|
||||
if (!dinput_module) {
|
||||
OutputDebugStringA("Couldn't LoadLibrary DInput\r\n");
|
||||
return;
|
||||
}
|
||||
DirectInputCreateA_fn* func_DirectInputCreateA =
|
||||
(DirectInputCreateA_fn*) GetProcAddress(dinput_module, "DirectInputCreateA");
|
||||
FreeLibrary(dinput_module);
|
||||
if (!func_DirectInputCreateA) {
|
||||
OutputDebugStringA("Couldn't GetProcAddress DInputCreate\r\n");
|
||||
return;
|
||||
}
|
||||
*p_version = 0x300;
|
||||
return;
|
||||
}
|
||||
*p_found = 1;
|
||||
if (LOWORD(os_version.dwBuildNumber) >= 0x550) {
|
||||
*p_version = 0x501;
|
||||
return;
|
||||
}
|
||||
HMODULE ddraw_module = LoadLibraryA("DDRAW.DLL");
|
||||
if (!ddraw_module) {
|
||||
*p_version = 0;
|
||||
*p_found = 0;
|
||||
FreeLibrary(ddraw_module);
|
||||
return;
|
||||
}
|
||||
DirectDrawCreate_fn* func_DirectDrawCreate =
|
||||
(DirectDrawCreate_fn*) GetProcAddress(ddraw_module, "DirectDrawCreate");
|
||||
if (!func_DirectDrawCreate) {
|
||||
*p_version = 0;
|
||||
*p_found = 0;
|
||||
FreeLibrary(ddraw_module);
|
||||
OutputDebugStringA("Couldn't LoadLibrary DDraw\r\n");
|
||||
return;
|
||||
}
|
||||
LPDIRECTDRAW ddraw;
|
||||
if (FAILED(func_DirectDrawCreate(NULL, &ddraw, NULL))) {
|
||||
*p_version = 0;
|
||||
*p_found = 0;
|
||||
FreeLibrary(ddraw_module);
|
||||
OutputDebugStringA("Couldn't create DDraw\r\n");
|
||||
return;
|
||||
}
|
||||
*p_version = 0x100;
|
||||
LPDIRECTDRAW2 ddraw2;
|
||||
if (FAILED(ddraw->QueryInterface(IID_IDirectDraw2, (LPVOID*) &ddraw2))) {
|
||||
ddraw->Release();
|
||||
FreeLibrary(ddraw_module);
|
||||
OutputDebugStringA("Couldn't QI DDraw2\r\n");
|
||||
return;
|
||||
}
|
||||
ddraw->Release();
|
||||
*p_version = 0x200;
|
||||
HMODULE dinput_module = LoadLibraryA("DINPUT.DLL");
|
||||
if (!dinput_module) {
|
||||
OutputDebugStringA("Couldn't LoadLibrary DInput\r\n");
|
||||
ddraw2->Release();
|
||||
FreeLibrary(ddraw_module);
|
||||
return;
|
||||
}
|
||||
DirectInputCreateA_fn* func_DirectInputCreateA =
|
||||
(DirectInputCreateA_fn*) GetProcAddress(dinput_module, "DirectInputCreateA");
|
||||
FreeLibrary(dinput_module);
|
||||
if (!func_DirectInputCreateA) {
|
||||
FreeLibrary(ddraw_module);
|
||||
ddraw2->Release();
|
||||
OutputDebugStringA("Couldn't GetProcAddress DInputCreate\r\n");
|
||||
return;
|
||||
}
|
||||
*p_version = 0x300;
|
||||
DDSURFACEDESC surface_desc;
|
||||
memset(&surface_desc, 0, sizeof(surface_desc));
|
||||
surface_desc.dwSize = sizeof(surface_desc);
|
||||
surface_desc.dwFlags = DDSD_CAPS;
|
||||
surface_desc.ddsCaps.dwCaps = DDCAPS2_NONLOCALVIDMEM;
|
||||
if (FAILED(ddraw2->SetCooperativeLevel(NULL, DISCL_BACKGROUND))) {
|
||||
ddraw2->Release();
|
||||
FreeLibrary(ddraw_module);
|
||||
*p_version = 0;
|
||||
OutputDebugStringA("Couldn't Set coop level\r\n");
|
||||
return;
|
||||
}
|
||||
LPDIRECTDRAWSURFACE surface;
|
||||
if (FAILED(ddraw2->CreateSurface(&surface_desc, &surface, NULL))) {
|
||||
ddraw2->Release();
|
||||
FreeLibrary(ddraw_module);
|
||||
*p_version = 0;
|
||||
OutputDebugStringA("Couldn't CreateSurface\r\n");
|
||||
return;
|
||||
}
|
||||
LPDIRECTDRAWSURFACE3 surface3;
|
||||
if (FAILED(surface->QueryInterface(IID_IDirectDrawSurface3, (LPVOID*) &surface3))) {
|
||||
ddraw2->Release();
|
||||
FreeLibrary(ddraw_module);
|
||||
return;
|
||||
}
|
||||
*p_version = 0x500;
|
||||
surface3->Release();
|
||||
ddraw2->Release();
|
||||
FreeLibrary(ddraw_module);
|
||||
}
|
||||
10
CONFIG/detectdx5.h
Normal file
10
CONFIG/detectdx5.h
Normal file
@ -0,0 +1,10 @@
|
||||
#if !defined(AFX_DETECTDX5_H)
|
||||
#define AFX_DETECTDX5_H
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
extern BOOL DetectDirectX5();
|
||||
|
||||
extern void DetectDirectX(unsigned int* p_version, BOOL* p_found);
|
||||
|
||||
#endif // !defined(AFX_DETECTDX5_H)
|
||||
82
CONFIG/res/config.rc
Normal file
82
CONFIG/res/config.rc
Normal file
@ -0,0 +1,82 @@
|
||||
#include "resource.h"
|
||||
#include "afxres.h"
|
||||
|
||||
IDI_CONFIG ICON "lego.ico"
|
||||
|
||||
IDB_SHARK BITMAP "shark.bmp"
|
||||
|
||||
IDD_ABOUT DIALOG 0, 0, 217, 55
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "About Configure LEGO\xAE Island"
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
CONTROL IDI_CONFIG, -1, "STATIC", SS_ICON | WS_CHILD | WS_VISIBLE, 11, 17, 18, 20
|
||||
CONTROL "Configure LEGO Island Version 1.0", -1, "STATIC", SS_LEFT | SS_NOPREFIX | WS_CHILD | WS_VISIBLE | WS_GROUP, 40, 10, 119, 8
|
||||
CONTROL "Copyright \xA9 1997 mindscape", -1, "STATIC", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 40, 25, 119, 8
|
||||
CONTROL "OK", IDOK, "BUTTON", BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 178, 7, 32, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
BEGIN
|
||||
IDS_ABOUT, "&About Config..."
|
||||
END
|
||||
|
||||
IDD_MAIN DIALOGEX 0, 0, 289, 247
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_APPWINDOW
|
||||
CAPTION "Configure LEGO Island"
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
CONTROL "OK", IDABORT, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 172, 125, 44, 14
|
||||
CONTROL "Cancel", IDCANCEL, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 238, 125, 44, 14
|
||||
CONTROL "Fast", IDC_RAD_MODEL_QUALITY_LOW, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE, 124, 18, 42, 10
|
||||
CONTROL "High", IDC_RAD_MODEL_QUALITY_HIGH, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE, 192, 18, 69, 10
|
||||
CONTROL "Fast", IDC_RAD_TEXTURE_QUALITY_LOW, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE, 124, 49, 43, 10
|
||||
CONTROL "High", IDC_RAD_TEXTURE_QUALITY_HIGH, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE, 192, 49, 69, 10
|
||||
CONTROL "256 Color", IDC_RAD_PALETTE_256, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE, 124, 80, 50, 10
|
||||
CONTROL "High Color(16 bit)", IDC_RAD_PALETTE_16BIT, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE, 192, 80, 76, 10
|
||||
CONTROL "Use Joystick", IDC_CHK_JOYSTICK, "BUTTON", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 192, 104, 60, 10
|
||||
CONTROL "", IDC_LIST_3DDEVICES, "LISTBOX", LBS_NOTIFY | LBS_NOINTEGRALHEIGHT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL, 115, 168, 161, 36 , WS_EX_TRANSPARENT
|
||||
CONTROL "Flip Video Memory Pages", IDC_CHK_FLIP_VIDEO_MEM_PAGES, "BUTTON", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE, 116, 224, 96, 15
|
||||
CONTROL "Draw 3D to Video Memory", IDC_CHK_3D_VIDEO_MEMORY, "BUTTON", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE, 116, 210, 99, 10
|
||||
CONTROL "Color Palette", -1, "BUTTON", BS_GROUPBOX | WS_CHILD | WS_VISIBLE, 107, 69, 175, 26
|
||||
CONTROL "Direct 3D Devices", -1, "STATIC", SS_CENTER | WS_CHILD | WS_VISIBLE | WS_GROUP, 123, 158, 143, 10
|
||||
CONTROL "3D Sound", IDC_CHK_3DSOUND, "BUTTON", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE, 220, 210, 45, 10
|
||||
CONTROL "Island Model Quality", -1, "BUTTON", BS_GROUPBOX | WS_CHILD | WS_VISIBLE, 107, 7, 175, 26
|
||||
CONTROL "Island Texture Quality", -1, "BUTTON", BS_GROUPBOX | WS_CHILD | WS_VISIBLE, 107, 38, 175, 26
|
||||
CONTROL "Advanced Settings", IDC_GRP_ADVANCED, "BUTTON", BS_GROUPBOX | WS_CHILD | WS_VISIBLE, 107, 147, 175, 93
|
||||
CONTROL "Advanced", IDC_BTN_ADVANCED, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE, 109, 124, 44, 14
|
||||
CONTROL IDB_SHARK, IDC_BMP_SHARK, "STATIC", SS_BITMAP | WS_CHILD | WS_VISIBLE, 7, 7, 83, 249
|
||||
CONTROL "Draw Cursor", IDC_CHK_DRAW_CURSOR, "BUTTON", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE, 219, 227, 54, 10
|
||||
CONTROL "Music", IDC_CHK_MUSIC, "BUTTON", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 124, 104, 35, 10
|
||||
END
|
||||
|
||||
1 VERSIONINFO
|
||||
FILEVERSION 1,1,0,0
|
||||
PRODUCTVERSION 1,1,0,0
|
||||
FILEOS 0x4
|
||||
FILETYPE 0x1
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Mindscape, Inc."
|
||||
VALUE "FileDescription", "LEGOIsland & Configuration application"
|
||||
VALUE "FileVersion", "1, 1, 0, 0"
|
||||
VALUE "InternalName", "LEGOISLE.EXE"
|
||||
VALUE "LegalCopyright", "Copyright \xA9 1997"
|
||||
VALUE "OriginalFilename", "CONFIG.EXE"
|
||||
VALUE "ProductName", "LEGO Island"
|
||||
VALUE "ProductVersion", "1, 1, 0, 0"
|
||||
END
|
||||
END
|
||||
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x0409, 0x04B0 // U.S. English, Unicode
|
||||
END
|
||||
END
|
||||
BIN
CONFIG/res/lego.ico
Normal file
BIN
CONFIG/res/lego.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
25
CONFIG/res/resource.h
Normal file
25
CONFIG/res/resource.h
Normal file
@ -0,0 +1,25 @@
|
||||
#define IDI_CONFIG 128
|
||||
|
||||
#define IDD_ABOUT 100
|
||||
#define IDS_ABOUT 101
|
||||
|
||||
#define IDD_MAIN 102
|
||||
|
||||
#define IDC_LIST_3DDEVICES 1000
|
||||
#define IDC_CHK_FLIP_VIDEO_MEM_PAGES 1001
|
||||
#define IDC_CHK_3D_VIDEO_MEMORY 1003
|
||||
#define IDC_RAD_PALETTE_256 1004
|
||||
#define IDC_RAD_PALETTE_16BIT 1005
|
||||
#define IDC_CHK_3DSOUND 1006
|
||||
#define IDC_CHK_DRAW_CURSOR 1008
|
||||
#define IDC_RAD_MODEL_QUALITY_LOW 1010
|
||||
#define IDC_RAD_MODEL_QUALITY_HIGH 1011
|
||||
#define IDC_RAD_TEXTURE_QUALITY_LOW 1013
|
||||
#define IDC_RAD_TEXTURE_QUALITY_HIGH 1014
|
||||
#define IDC_CHK_JOYSTICK 1015
|
||||
#define IDC_GRP_ADVANCED 1017
|
||||
#define IDC_BTN_ADVANCED 1020
|
||||
#define IDC_BMP_SHARK 1023
|
||||
#define IDC_CHK_MUSIC 1024
|
||||
|
||||
#define IDB_SHARK 135
|
||||
BIN
CONFIG/res/shark.bmp
Normal file
BIN
CONFIG/res/shark.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 55 KiB |
63
CONTRIBUTING.md
Normal file
63
CONTRIBUTING.md
Normal file
@ -0,0 +1,63 @@
|
||||
# Contributing
|
||||
|
||||
## Important Note
|
||||
|
||||
While we're thrilled that there is so much interest in reverse engineering LEGO Island and are happy to accept contributions from anyone who would like to help progress us further to our goal of a complete codebase, proposed changes to this repository must adhere to a certain degree of engineering quality. While the established contributors here are more than happy to provide code reviews and constructive criticism, it is not their job to teach potential contributors C++ or decompilation fundamentals. As a project that is largely an artifact of the free time of its contributors, the more of that (often scarce) resource that can be dedicated to efficient work, the faster the decompilation will progress. Unfortunately, this results in well-intentioned but poorly constructed contributions actually hurting progress in the long-term. While we are greatly appreciative of the sentiment, if you aren't very confident in your decompilation abilities, it is generally in the project's best interest that you return when you have a better grasp over the process.
|
||||
|
||||
Generally, decompilation is a fairly advanced skill. Depending on your current proficiency with C/C++ and x86 assembly, it could take you months or even years to learn the skills necessary to do it adequately. If you're still interested in learning, [part 1 of the decompilation vlog](https://www.youtube.com/watch?v=MToTEqoVv3I) covers the overall process and should give you a starting point that you can dive in from. Once again, please make yourself familiar with this process before attempting to contribute code to this project.
|
||||
|
||||
## Ghidra Server
|
||||
|
||||
For documenting the original binaries and generating pseudocode that we decompile with, we primarily use [Ghidra](https://ghidra-sre.org/) (it's free and open source). To help with collaboration, we have a shared Ghidra repository with all of our current work. You are free to check it out and mess around with it locally, however to prevent sabotage, you will need to request permission before you can push your changes back to the server (ask in the Matrix room).
|
||||
|
||||
To access the Ghidra repository, use the following details:
|
||||
|
||||
- Address: `server.mattkc.com`
|
||||
- Port: `13100`
|
||||
|
||||
**Please note that at the time of writing, much of the information found on the Ghidra server is severely outdated**. Generally, the source code found in this repository represents the latest "source of truth" and should be referenced whenever possible.
|
||||
|
||||
## General Guidelines
|
||||
|
||||
If you feel fit to contribute, feel free to create a pull request! Someone will review and merge it (or provide feedback) as soon as possible.
|
||||
|
||||
Please keep your pull requests small and understandable; you may be able to shoot ahead and make a lot of progress in a short amount of time, but this is a collaborative project, so you must allow others to catch up and follow along. Large pull requests become significantly more unwieldy to review, and as such make it exponentially more likely for a mistake or error to go undetected. They also make it harder to merge other pull requests because the more files you modify, the more likely it is for a merge conflict to occur. A general guideline is to keep submissions limited to one class at a time. Sometimes two or more classes may be too interlinked for this to be feasible, so this is not a hard rule, however if your PR is starting to modify more than 10 or so files, it's probably getting too big.
|
||||
|
||||
This repository currently has only one goal: accuracy to the original executables. We are byte/instruction matching as much as possible, which means the priority is making the original compiler (MSVC 4.20) produce code that matches the original game. As such, modernizations and bug fixes will probably be rejected for the time being.
|
||||
|
||||
## Overview
|
||||
|
||||
* [`3rdparty`](/3rdparty): Contains code obtained from third parties, not including Mindscape. Generally, these are libraries that have been placed in the public domain or are freely available on the web. As these are unaltered files, our style guide (see below) does not apply.
|
||||
* [`CONFIG`](/CONFIG): Decompilation of `CONFIG.EXE`. It depends on some code in `LEGO1`.
|
||||
* [`ISLE`](/ISLE): Decompilation of `ISLE.EXE`. It depends on some code in `LEGO1`.
|
||||
* [`LEGO1`](/LEGO1): Decompilation of `LEGO1.DLL`. This folder contains code from Mindscape's custom in-house engine called **Omni** (file pattern: `mx*`), the LEGO Island-specific extensions for Omni and the game's code (file pattern: `lego*`) as well as several utility libraries developed by Mindscape.
|
||||
* [`tools`](/tools): A set of tools aiding in the decompilation effort.
|
||||
* [`util`](/util): Utility headers aiding in the decompilation effort.
|
||||
|
||||
## Tooling
|
||||
|
||||
Please make yourself familiar with the [available tooling and annotations](/tools/README.md). These are generally required to contribute to the project.
|
||||
|
||||
## Notes on MSVC 4.20
|
||||
|
||||
As outlined in the [`README`](/README.md), Microsoft Visual C++ 4.20 is the compiler we use to build the game.
|
||||
|
||||
One important aspect to know about this compiler in the context of the decompilation project is that the assembly code generation is somewhat erratic. We call this peculiarity "compiler randomness" or entropy. In essence, what it comes down to is that changes to the code base, for instance in a header, can pseudo-randomly affect the code generation of functions in compilation units that include this header, even if the changes are completely unrelated to those functions. For example, by adding an extra (unused) inline function or an enum declaration in a header, the code in some functions may unexpectedly wind up looking different and our main tool, [`reccmp`](/tools/README.md), will report either a (significantly) reduced or increased accuracy for those functions. This issue roughly affects around ~5% of all decompiled functions.
|
||||
|
||||
We are currently unaware of the exact nature of this phenomenon. Unfortunately it represents a significant obstacle in our effort to achieve 100% matching binaries. If you or anyone you know has knowledge about the compiler internals that lead to the described observations, please contact us.
|
||||
|
||||
## Code Style
|
||||
|
||||
In general, we're not exhaustively strict about coding style, but there are some preferable guidelines to follow that have been adopted from what we know about the original codebase:
|
||||
|
||||
### Formatting
|
||||
|
||||
We are currently using [clang-format](https://clang.llvm.org/docs/ClangFormat.html) and [clang-tidy](https://clang.llvm.org/extra/clang-tidy/) with configuration files that aim to replicate the code formatting employed by the original developers. There are [integrations](https://clang.llvm.org/docs/ClangFormat.html#vim-integration) available for most editors and IDEs. The required `clang-format` version is `17.x`.
|
||||
|
||||
### Naming conventions
|
||||
|
||||
We are currently using a customized version of [ncc](https://github.com/nithinn/ncc) with a configuration file that aims to replicate the naming conventions employed by the original developers. `ncc` requires Clang `16.x`; please refer to the [tool](/tools/ncc) and the [GitHub action](/.github/workflows/naming.yml) for guidance.
|
||||
|
||||
## Questions?
|
||||
|
||||
For any further questions, feel free to ask in either the [Matrix chatroom](https://matrix.to/#/#isledecomp:matrix.org) or on the [forum](https://forum.mattkc.com/viewforum.php?f=1).
|
||||
919
ISLE/isleapp.cpp
Normal file
919
ISLE/isleapp.cpp
Normal file
@ -0,0 +1,919 @@
|
||||
#include "isleapp.h"
|
||||
|
||||
#include "3dmanager/lego3dmanager.h"
|
||||
#include "decomp.h"
|
||||
#include "legoanimationmanager.h"
|
||||
#include "legobuildingmanager.h"
|
||||
#include "legogamestate.h"
|
||||
#include "legoinputmanager.h"
|
||||
#include "legomain.h"
|
||||
#include "legomodelpresenter.h"
|
||||
#include "legopartpresenter.h"
|
||||
#include "legovideomanager.h"
|
||||
#include "legoworldpresenter.h"
|
||||
#include "misc.h"
|
||||
#include "mxbackgroundaudiomanager.h"
|
||||
#include "mxdirectx/mxdirect3d.h"
|
||||
#include "mxdsaction.h"
|
||||
#include "mxmisc.h"
|
||||
#include "mxomnicreateflags.h"
|
||||
#include "mxomnicreateparam.h"
|
||||
#include "mxstreamer.h"
|
||||
#include "mxticklemanager.h"
|
||||
#include "mxtimer.h"
|
||||
#include "mxtransitionmanager.h"
|
||||
#include "mxvariabletable.h"
|
||||
#include "res/resource.h"
|
||||
#include "roi/legoroi.h"
|
||||
#include "viewmanager/viewmanager.h"
|
||||
|
||||
#include <dsound.h>
|
||||
|
||||
DECOMP_SIZE_ASSERT(IsleApp, 0x8c)
|
||||
|
||||
// GLOBAL: ISLE 0x410030
|
||||
IsleApp* g_isle = NULL;
|
||||
|
||||
// GLOBAL: ISLE 0x410034
|
||||
unsigned char g_mousedown = 0;
|
||||
|
||||
// GLOBAL: ISLE 0x410038
|
||||
unsigned char g_mousemoved = 0;
|
||||
|
||||
// GLOBAL: ISLE 0x41003c
|
||||
BOOL g_closed = FALSE;
|
||||
|
||||
// GLOBAL: ISLE 0x410040
|
||||
RECT g_windowRect = {0, 0, 640, 480};
|
||||
|
||||
// GLOBAL: ISLE 0x410050
|
||||
BOOL g_rmDisabled = FALSE;
|
||||
|
||||
// GLOBAL: ISLE 0x410054
|
||||
BOOL g_waitingForTargetDepth = TRUE;
|
||||
|
||||
// GLOBAL: ISLE 0x410058
|
||||
int g_targetWidth = 640;
|
||||
|
||||
// GLOBAL: ISLE 0x41005c
|
||||
int g_targetHeight = 480;
|
||||
|
||||
// GLOBAL: ISLE 0x410060
|
||||
int g_targetDepth = 16;
|
||||
|
||||
// GLOBAL: ISLE 0x410064
|
||||
BOOL g_reqEnableRMDevice = FALSE;
|
||||
|
||||
// STRING: ISLE 0x4101c4
|
||||
#define WNDCLASS_NAME "Lego Island MainNoM App"
|
||||
|
||||
// STRING: ISLE 0x4101dc
|
||||
#define WINDOW_TITLE "LEGO\xAE"
|
||||
|
||||
// Might be static functions of IsleApp
|
||||
BOOL FindExistingInstance();
|
||||
BOOL StartDirectSound();
|
||||
|
||||
// FUNCTION: ISLE 0x401000
|
||||
IsleApp::IsleApp()
|
||||
{
|
||||
m_hdPath = NULL;
|
||||
m_cdPath = NULL;
|
||||
m_deviceId = NULL;
|
||||
m_savePath = NULL;
|
||||
m_fullScreen = TRUE;
|
||||
m_flipSurfaces = FALSE;
|
||||
m_backBuffersInVram = TRUE;
|
||||
m_using8bit = FALSE;
|
||||
m_using16bit = TRUE;
|
||||
m_unk0x24 = 0;
|
||||
m_drawCursor = FALSE;
|
||||
m_use3dSound = TRUE;
|
||||
m_useMusic = TRUE;
|
||||
m_useJoystick = FALSE;
|
||||
m_joystickIndex = 0;
|
||||
m_wideViewAngle = TRUE;
|
||||
m_islandQuality = 1;
|
||||
m_islandTexture = 1;
|
||||
m_gameStarted = FALSE;
|
||||
m_frameDelta = 10;
|
||||
m_windowActive = TRUE;
|
||||
|
||||
#ifdef COMPAT_MODE
|
||||
{
|
||||
MxRect32 r(0, 0, 639, 479);
|
||||
MxVideoParamFlags flags;
|
||||
m_videoParam = MxVideoParam(r, NULL, 1, flags);
|
||||
}
|
||||
#else
|
||||
m_videoParam = MxVideoParam(MxRect32(0, 0, 639, 479), NULL, 1, MxVideoParamFlags());
|
||||
#endif
|
||||
m_videoParam.Flags().Set16Bit(MxDirectDraw::GetPrimaryBitDepth() == 16);
|
||||
|
||||
m_windowHandle = NULL;
|
||||
m_cursorArrow = NULL;
|
||||
m_cursorBusy = NULL;
|
||||
m_cursorNo = NULL;
|
||||
m_cursorCurrent = NULL;
|
||||
|
||||
LegoOmni::CreateInstance();
|
||||
}
|
||||
|
||||
// FUNCTION: ISLE 0x4011a0
|
||||
IsleApp::~IsleApp()
|
||||
{
|
||||
if (LegoOmni::GetInstance()) {
|
||||
Close();
|
||||
MxOmni::DestroyInstance();
|
||||
}
|
||||
|
||||
if (m_hdPath) {
|
||||
delete[] m_hdPath;
|
||||
}
|
||||
|
||||
if (m_cdPath) {
|
||||
delete[] m_cdPath;
|
||||
}
|
||||
|
||||
if (m_deviceId) {
|
||||
delete[] m_deviceId;
|
||||
}
|
||||
|
||||
if (m_savePath) {
|
||||
delete[] m_savePath;
|
||||
}
|
||||
}
|
||||
|
||||
// FUNCTION: ISLE 0x401260
|
||||
void IsleApp::Close()
|
||||
{
|
||||
MxDSAction ds;
|
||||
ds.SetUnknown24(-2);
|
||||
|
||||
if (Lego()) {
|
||||
GameState()->Save(0);
|
||||
if (InputManager()) {
|
||||
InputManager()->QueueEvent(c_notificationKeyPress, 0, 0, 0, 0x20);
|
||||
}
|
||||
|
||||
VideoManager()->Get3DManager()->GetLego3DView()->GetViewManager()->RemoveAll(NULL);
|
||||
|
||||
Lego()->RemoveWorld(ds.GetAtomId(), ds.GetObjectId());
|
||||
Lego()->DeleteObject(ds);
|
||||
TransitionManager()->SetWaitIndicator(NULL);
|
||||
Lego()->StopTimer();
|
||||
|
||||
MxLong lVar8;
|
||||
do {
|
||||
lVar8 = Streamer()->Close(NULL);
|
||||
} while (lVar8 == 0);
|
||||
|
||||
while (Lego()) {
|
||||
if (Lego()->DoesEntityExist(ds)) {
|
||||
break;
|
||||
}
|
||||
|
||||
Timer()->GetRealTime();
|
||||
TickleManager()->Tickle();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// FUNCTION: ISLE 0x4013b0
|
||||
BOOL IsleApp::SetupLegoOmni()
|
||||
{
|
||||
BOOL result = FALSE;
|
||||
char mediaPath[256];
|
||||
GetProfileStringA("LEGO Island", "MediaPath", "", mediaPath, sizeof(mediaPath));
|
||||
|
||||
#ifdef COMPAT_MODE
|
||||
BOOL failure;
|
||||
{
|
||||
MxOmniCreateParam param(mediaPath, (struct HWND__*) m_windowHandle, m_videoParam, MxOmniCreateFlags());
|
||||
failure = Lego()->Create(param) == FAILURE;
|
||||
}
|
||||
#else
|
||||
BOOL failure =
|
||||
Lego()->Create(MxOmniCreateParam(mediaPath, (struct HWND__*) m_windowHandle, m_videoParam, MxOmniCreateFlags())
|
||||
) == FAILURE;
|
||||
#endif
|
||||
|
||||
if (!failure) {
|
||||
VariableTable()->SetVariable("ACTOR_01", "");
|
||||
TickleManager()->SetClientTickleInterval(VideoManager(), 10);
|
||||
result = TRUE;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// FUNCTION: ISLE 0x401560
|
||||
void IsleApp::SetupVideoFlags(
|
||||
BOOL fullScreen,
|
||||
BOOL flipSurfaces,
|
||||
BOOL backBuffers,
|
||||
BOOL using8bit,
|
||||
BOOL using16bit,
|
||||
BOOL param_6,
|
||||
BOOL param_7,
|
||||
BOOL wideViewAngle,
|
||||
char* deviceId
|
||||
)
|
||||
{
|
||||
m_videoParam.Flags().SetFullScreen(fullScreen);
|
||||
m_videoParam.Flags().SetFlipSurfaces(flipSurfaces);
|
||||
m_videoParam.Flags().SetBackBuffers(!backBuffers);
|
||||
m_videoParam.Flags().SetF2bit0(!param_6);
|
||||
m_videoParam.Flags().SetF1bit7(param_7);
|
||||
m_videoParam.Flags().SetWideViewAngle(wideViewAngle);
|
||||
m_videoParam.Flags().SetF2bit1(1);
|
||||
m_videoParam.SetDeviceName(deviceId);
|
||||
if (using8bit) {
|
||||
m_videoParam.Flags().Set16Bit(0);
|
||||
}
|
||||
if (using16bit) {
|
||||
m_videoParam.Flags().Set16Bit(1);
|
||||
}
|
||||
}
|
||||
|
||||
// FUNCTION: ISLE 0x401610
|
||||
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
|
||||
{
|
||||
// Look for another instance, if we find one, bring it to the foreground instead
|
||||
if (!FindExistingInstance()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Attempt to create DirectSound instance
|
||||
BOOL soundReady = FALSE;
|
||||
for (int i = 0; i < 20; i++) {
|
||||
if (StartDirectSound()) {
|
||||
soundReady = TRUE;
|
||||
break;
|
||||
}
|
||||
Sleep(500);
|
||||
}
|
||||
|
||||
// Throw error if sound unavailable
|
||||
if (!soundReady) {
|
||||
MessageBoxA(
|
||||
NULL,
|
||||
"\"LEGO\xAE Island\" is not detecting a DirectSound compatible sound card. Please quit all other "
|
||||
"applications and try again.",
|
||||
"Lego Island Error",
|
||||
MB_OK
|
||||
);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Create global app instance
|
||||
g_isle = new IsleApp();
|
||||
|
||||
// Create window
|
||||
if (g_isle->SetupWindow(hInstance, lpCmdLine) != SUCCESS) {
|
||||
MessageBoxA(
|
||||
NULL,
|
||||
"\"LEGO\xAE Island\" failed to start. Please quit all other applications and try again.",
|
||||
"LEGO\xAE Island Error",
|
||||
MB_OK
|
||||
);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Get reference to window
|
||||
HWND window;
|
||||
if (g_isle->GetWindowHandle()) {
|
||||
window = g_isle->GetWindowHandle();
|
||||
}
|
||||
|
||||
// Load accelerators (this call actually achieves nothing - there is no "AppAccel" resource in the original - but
|
||||
// we'll keep this for authenticity) This line may actually be here because it's in DFVIEW, an example project that
|
||||
// ships with MSVC420, and was such a clean example of a Win32 app, that it was later adapted into an "ExeSkeleton"
|
||||
// sample for MSVC600. It's quite possible Mindscape derived this app from that example since they no longer had the
|
||||
// luxury of the MFC AppWizard which we know they used for the frontend used during development (ISLEMFC.EXE,
|
||||
// MAIN.EXE, et al.)
|
||||
LoadAcceleratorsA(hInstance, "AppAccel");
|
||||
|
||||
MSG msg;
|
||||
|
||||
while (!g_closed) {
|
||||
while (!PeekMessageA(&msg, NULL, 0, 0, PM_NOREMOVE)) {
|
||||
if (g_isle) {
|
||||
g_isle->Tick(1);
|
||||
}
|
||||
}
|
||||
|
||||
if (g_isle) {
|
||||
g_isle->Tick(0);
|
||||
}
|
||||
|
||||
while (!g_closed) {
|
||||
if (!PeekMessageA(&msg, NULL, 0, 0, PM_REMOVE)) {
|
||||
break;
|
||||
}
|
||||
|
||||
MSG nextMsg;
|
||||
if (!g_isle || !g_isle->GetWindowHandle() || msg.message != WM_MOUSEMOVE ||
|
||||
!PeekMessageA(&nextMsg, NULL, 0, 0, PM_NOREMOVE) || nextMsg.message != WM_MOUSEMOVE) {
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessageA(&msg);
|
||||
}
|
||||
|
||||
if (g_reqEnableRMDevice) {
|
||||
g_reqEnableRMDevice = FALSE;
|
||||
VideoManager()->EnableRMDevice();
|
||||
g_rmDisabled = FALSE;
|
||||
Lego()->StopTimer();
|
||||
}
|
||||
|
||||
if (g_closed) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (g_mousedown && g_mousemoved && g_isle) {
|
||||
g_isle->Tick(0);
|
||||
}
|
||||
|
||||
if (g_mousemoved) {
|
||||
g_mousemoved = FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DestroyWindow(window);
|
||||
|
||||
return msg.wParam;
|
||||
}
|
||||
|
||||
// FUNCTION: ISLE 0x401ca0
|
||||
BOOL FindExistingInstance()
|
||||
{
|
||||
HWND hWnd = FindWindowA(WNDCLASS_NAME, WINDOW_TITLE);
|
||||
if (hWnd) {
|
||||
if (SetForegroundWindow(hWnd)) {
|
||||
ShowWindow(hWnd, SW_RESTORE);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
// FUNCTION: ISLE 0x401ce0
|
||||
BOOL StartDirectSound()
|
||||
{
|
||||
LPDIRECTSOUND lpDS = NULL;
|
||||
HRESULT ret = DirectSoundCreate(NULL, &lpDS, NULL);
|
||||
if (ret == DS_OK && lpDS != NULL) {
|
||||
lpDS->Release();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// FUNCTION: ISLE 0x401d20
|
||||
LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
NotificationId type;
|
||||
unsigned char keyCode = 0;
|
||||
|
||||
if (!g_isle) {
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
}
|
||||
|
||||
switch (uMsg) {
|
||||
case WM_PAINT:
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
case WM_ACTIVATE:
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
case WM_ACTIVATEAPP:
|
||||
if (g_isle) {
|
||||
if ((wParam != 0) && (g_isle->GetFullScreen())) {
|
||||
MoveWindow(
|
||||
hWnd,
|
||||
g_windowRect.left,
|
||||
g_windowRect.top,
|
||||
(g_windowRect.right - g_windowRect.left) + 1,
|
||||
(g_windowRect.bottom - g_windowRect.top) + 1,
|
||||
TRUE
|
||||
);
|
||||
}
|
||||
g_isle->SetWindowActive(wParam);
|
||||
}
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
case WM_CLOSE:
|
||||
if (!g_closed && g_isle) {
|
||||
if (g_isle) {
|
||||
delete g_isle;
|
||||
}
|
||||
g_isle = NULL;
|
||||
g_closed = TRUE;
|
||||
return 0;
|
||||
}
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
case WM_GETMINMAXINFO:
|
||||
((MINMAXINFO*) lParam)->ptMaxTrackSize.x = (g_windowRect.right - g_windowRect.left) + 1;
|
||||
((MINMAXINFO*) lParam)->ptMaxTrackSize.y = (g_windowRect.bottom - g_windowRect.top) + 1;
|
||||
((MINMAXINFO*) lParam)->ptMinTrackSize.x = (g_windowRect.right - g_windowRect.left) + 1;
|
||||
((MINMAXINFO*) lParam)->ptMinTrackSize.y = (g_windowRect.bottom - g_windowRect.top) + 1;
|
||||
return 0;
|
||||
case WM_ENTERMENULOOP:
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
case WM_SYSCOMMAND:
|
||||
if (wParam == SC_SCREENSAVE) {
|
||||
return 0;
|
||||
}
|
||||
if (wParam == SC_CLOSE && g_closed == FALSE) {
|
||||
if (g_isle) {
|
||||
if (g_rmDisabled) {
|
||||
ShowWindow(g_isle->GetWindowHandle(), SW_RESTORE);
|
||||
}
|
||||
PostMessageA(g_isle->GetWindowHandle(), WM_CLOSE, 0, 0);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else if (g_isle && g_isle->GetFullScreen() && (wParam == SC_MOVE || wParam == SC_KEYMENU)) {
|
||||
return 0;
|
||||
}
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
case WM_EXITMENULOOP:
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
case WM_MOVING:
|
||||
if (g_isle && g_isle->GetFullScreen()) {
|
||||
GetWindowRect(hWnd, (LPRECT) lParam);
|
||||
return 0;
|
||||
}
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
case WM_NCPAINT:
|
||||
if (g_isle && g_isle->GetFullScreen()) {
|
||||
return 0;
|
||||
}
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
case WM_DISPLAYCHANGE:
|
||||
if (g_isle && VideoManager() && g_isle->GetFullScreen() && VideoManager()->GetDirect3D()) {
|
||||
if (VideoManager()->GetDirect3D()->AssignedDevice()) {
|
||||
int targetDepth = wParam;
|
||||
int targetWidth = LOWORD(lParam);
|
||||
int targetHeight = HIWORD(lParam);
|
||||
|
||||
if (g_waitingForTargetDepth) {
|
||||
g_waitingForTargetDepth = FALSE;
|
||||
g_targetDepth = targetDepth;
|
||||
}
|
||||
else {
|
||||
BOOL valid = FALSE;
|
||||
|
||||
if (g_targetWidth == targetWidth && g_targetHeight == targetHeight &&
|
||||
g_targetDepth == targetDepth) {
|
||||
valid = TRUE;
|
||||
}
|
||||
|
||||
if (g_rmDisabled) {
|
||||
if (valid) {
|
||||
g_reqEnableRMDevice = TRUE;
|
||||
}
|
||||
}
|
||||
else if (!valid) {
|
||||
g_rmDisabled = TRUE;
|
||||
Lego()->StartTimer();
|
||||
VideoManager()->DisableRMDevice();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
case WM_KEYDOWN:
|
||||
// While this probably should be (HIWORD(lParam) & KF_REPEAT), this seems
|
||||
// to be what the assembly is actually doing
|
||||
if (lParam & (KF_REPEAT << 16)) {
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
}
|
||||
type = c_notificationKeyPress;
|
||||
keyCode = wParam;
|
||||
break;
|
||||
case WM_MOUSEMOVE:
|
||||
g_mousemoved = 1;
|
||||
type = c_notificationMouseMove;
|
||||
break;
|
||||
case WM_TIMER:
|
||||
type = c_notificationTimer;
|
||||
break;
|
||||
case WM_LBUTTONDOWN:
|
||||
g_mousedown = 1;
|
||||
type = c_notificationButtonDown;
|
||||
break;
|
||||
case WM_LBUTTONUP:
|
||||
g_mousedown = 0;
|
||||
type = c_notificationButtonUp;
|
||||
break;
|
||||
case 0x5400:
|
||||
if (g_isle) {
|
||||
g_isle->SetupCursor(wParam);
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case WM_SETCURSOR:
|
||||
if (g_isle && (g_isle->GetCursorCurrent() == g_isle->GetCursorBusy() ||
|
||||
g_isle->GetCursorCurrent() == g_isle->GetCursorNo() || !g_isle->GetCursorCurrent())) {
|
||||
SetCursor(g_isle->GetCursorCurrent());
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
}
|
||||
|
||||
if (g_isle) {
|
||||
if (InputManager()) {
|
||||
InputManager()->QueueEvent(type, wParam, LOWORD(lParam), HIWORD(lParam), keyCode);
|
||||
}
|
||||
if (g_isle && g_isle->GetDrawCursor() && type == c_notificationMouseMove) {
|
||||
int x = LOWORD(lParam);
|
||||
int y = HIWORD(lParam);
|
||||
if (x >= 640) {
|
||||
x = 639;
|
||||
}
|
||||
if (y >= 480) {
|
||||
y = 479;
|
||||
}
|
||||
VideoManager()->MoveCursor(x, y);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// FUNCTION: ISLE 0x4023e0
|
||||
MxResult IsleApp::SetupWindow(HINSTANCE hInstance, LPSTR lpCmdLine)
|
||||
{
|
||||
WNDCLASSA wndclass;
|
||||
ZeroMemory(&wndclass, sizeof(WNDCLASSA));
|
||||
|
||||
LoadConfig();
|
||||
|
||||
SetupVideoFlags(
|
||||
m_fullScreen,
|
||||
m_flipSurfaces,
|
||||
m_backBuffersInVram,
|
||||
m_using8bit,
|
||||
m_using16bit,
|
||||
m_unk0x24,
|
||||
FALSE,
|
||||
m_wideViewAngle,
|
||||
m_deviceId
|
||||
);
|
||||
|
||||
MxOmni::SetSound3D(m_use3dSound);
|
||||
|
||||
srand(timeGetTime() / 1000);
|
||||
SystemParametersInfoA(SPI_SETMOUSETRAILS, 0, NULL, 0);
|
||||
|
||||
ZeroMemory(&wndclass, sizeof(WNDCLASSA));
|
||||
|
||||
wndclass.cbClsExtra = 0;
|
||||
wndclass.style = CS_HREDRAW | CS_VREDRAW;
|
||||
wndclass.lpfnWndProc = WndProc;
|
||||
wndclass.cbWndExtra = 0;
|
||||
wndclass.hIcon = LoadIconA(hInstance, MAKEINTRESOURCEA(APP_ICON));
|
||||
wndclass.hCursor = m_cursorArrow = m_cursorCurrent = LoadCursorA(hInstance, MAKEINTRESOURCEA(ISLE_ARROW));
|
||||
m_cursorBusy = LoadCursorA(hInstance, MAKEINTRESOURCEA(ISLE_BUSY));
|
||||
m_cursorNo = LoadCursorA(hInstance, MAKEINTRESOURCEA(ISLE_NO));
|
||||
wndclass.hInstance = hInstance;
|
||||
wndclass.hbrBackground = (HBRUSH) GetStockObject(BLACK_BRUSH);
|
||||
wndclass.lpszClassName = WNDCLASS_NAME;
|
||||
|
||||
if (!RegisterClassA(&wndclass)) {
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
if (m_fullScreen) {
|
||||
AdjustWindowRectEx(&g_windowRect, WS_CAPTION | WS_SYSMENU, 0, WS_EX_APPWINDOW);
|
||||
|
||||
m_windowHandle = CreateWindowExA(
|
||||
WS_EX_APPWINDOW,
|
||||
WNDCLASS_NAME,
|
||||
WINDOW_TITLE,
|
||||
WS_CAPTION | WS_SYSMENU,
|
||||
g_windowRect.left,
|
||||
g_windowRect.top,
|
||||
g_windowRect.right - g_windowRect.left + 1,
|
||||
g_windowRect.bottom - g_windowRect.top + 1,
|
||||
NULL,
|
||||
NULL,
|
||||
hInstance,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
else {
|
||||
AdjustWindowRectEx(&g_windowRect, WS_CAPTION | WS_SYSMENU, 0, WS_EX_APPWINDOW);
|
||||
|
||||
m_windowHandle = CreateWindowExA(
|
||||
WS_EX_APPWINDOW,
|
||||
WNDCLASS_NAME,
|
||||
WINDOW_TITLE,
|
||||
WS_CAPTION | WS_SYSMENU | WS_MAXIMIZEBOX | WS_MINIMIZEBOX,
|
||||
CW_USEDEFAULT,
|
||||
CW_USEDEFAULT,
|
||||
g_windowRect.right - g_windowRect.left + 1,
|
||||
g_windowRect.bottom - g_windowRect.top + 1,
|
||||
NULL,
|
||||
NULL,
|
||||
hInstance,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
|
||||
if (!m_windowHandle) {
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
if (m_fullScreen) {
|
||||
MoveWindow(
|
||||
m_windowHandle,
|
||||
g_windowRect.left,
|
||||
g_windowRect.top,
|
||||
(g_windowRect.right - g_windowRect.left) + 1,
|
||||
(g_windowRect.bottom - g_windowRect.top) + 1,
|
||||
TRUE
|
||||
);
|
||||
}
|
||||
|
||||
ShowWindow(m_windowHandle, SW_SHOWNORMAL);
|
||||
UpdateWindow(m_windowHandle);
|
||||
if (!SetupLegoOmni()) {
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
GameState()->SetSavePath(m_savePath);
|
||||
GameState()->SerializePlayersInfo(1);
|
||||
GameState()->SerializeScoreHistory(1);
|
||||
|
||||
int iVar10;
|
||||
switch (m_islandQuality) {
|
||||
case 0:
|
||||
iVar10 = 1;
|
||||
break;
|
||||
case 1:
|
||||
iVar10 = 2;
|
||||
break;
|
||||
default:
|
||||
iVar10 = 100;
|
||||
}
|
||||
|
||||
int uVar1 = (m_islandTexture == 0);
|
||||
LegoModelPresenter::configureLegoModelPresenter(uVar1);
|
||||
LegoPartPresenter::configureLegoPartPresenter(uVar1, iVar10);
|
||||
LegoWorldPresenter::configureLegoWorldPresenter(m_islandQuality);
|
||||
LegoBuildingManager::configureLegoBuildingManager(m_islandQuality);
|
||||
LegoROI::configureLegoROI(iVar10);
|
||||
LegoAnimationManager::configureLegoAnimationManager(m_islandQuality);
|
||||
if (LegoOmni::GetInstance()) {
|
||||
if (LegoOmni::GetInstance()->GetInputManager()) {
|
||||
LegoOmni::GetInstance()->GetInputManager()->SetUseJoystick(m_useJoystick);
|
||||
LegoOmni::GetInstance()->GetInputManager()->SetJoystickIndex(m_joystickIndex);
|
||||
}
|
||||
}
|
||||
if (m_fullScreen) {
|
||||
MoveWindow(
|
||||
m_windowHandle,
|
||||
g_windowRect.left,
|
||||
g_windowRect.top,
|
||||
(g_windowRect.right - g_windowRect.left) + 1,
|
||||
(g_windowRect.bottom - g_windowRect.top) + 1,
|
||||
TRUE
|
||||
);
|
||||
}
|
||||
ShowWindow(m_windowHandle, SW_SHOWNORMAL);
|
||||
UpdateWindow(m_windowHandle);
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
// FUNCTION: ISLE 0x402740
|
||||
BOOL IsleApp::ReadReg(LPCSTR name, LPSTR outValue, DWORD outSize)
|
||||
{
|
||||
HKEY hKey;
|
||||
DWORD valueType;
|
||||
|
||||
BOOL out = FALSE;
|
||||
DWORD size = outSize;
|
||||
if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, "SOFTWARE\\Mindscape\\LEGO Island", 0, KEY_READ, &hKey) == ERROR_SUCCESS) {
|
||||
if (RegQueryValueExA(hKey, name, NULL, &valueType, (LPBYTE) outValue, &size) == ERROR_SUCCESS) {
|
||||
if (RegCloseKey(hKey) == ERROR_SUCCESS) {
|
||||
out = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
// FUNCTION: ISLE 0x4027b0
|
||||
BOOL IsleApp::ReadRegBool(LPCSTR name, BOOL* out)
|
||||
{
|
||||
char buffer[256];
|
||||
|
||||
BOOL read = ReadReg(name, buffer, sizeof(buffer));
|
||||
if (read) {
|
||||
if (strcmp("YES", buffer) == 0) {
|
||||
*out = TRUE;
|
||||
return read;
|
||||
}
|
||||
|
||||
if (strcmp("NO", buffer) == 0) {
|
||||
*out = FALSE;
|
||||
return read;
|
||||
}
|
||||
|
||||
read = FALSE;
|
||||
}
|
||||
return read;
|
||||
}
|
||||
|
||||
// FUNCTION: ISLE 0x402880
|
||||
BOOL IsleApp::ReadRegInt(LPCSTR name, int* out)
|
||||
{
|
||||
char buffer[256];
|
||||
|
||||
BOOL read = ReadReg(name, buffer, sizeof(buffer));
|
||||
if (read) {
|
||||
*out = atoi(buffer);
|
||||
}
|
||||
|
||||
return read;
|
||||
}
|
||||
|
||||
// FUNCTION: ISLE 0x4028d0
|
||||
void IsleApp::LoadConfig()
|
||||
{
|
||||
char buffer[1024];
|
||||
|
||||
if (!ReadReg("diskpath", buffer, sizeof(buffer))) {
|
||||
strcpy(buffer, MxOmni::GetHD());
|
||||
}
|
||||
|
||||
m_hdPath = new char[strlen(buffer) + 1];
|
||||
strcpy(m_hdPath, buffer);
|
||||
MxOmni::SetHD(m_hdPath);
|
||||
|
||||
if (!ReadReg("cdpath", buffer, sizeof(buffer))) {
|
||||
strcpy(buffer, MxOmni::GetCD());
|
||||
}
|
||||
|
||||
m_cdPath = new char[strlen(buffer) + 1];
|
||||
strcpy(m_cdPath, buffer);
|
||||
MxOmni::SetCD(m_cdPath);
|
||||
|
||||
ReadRegBool("Flip Surfaces", &m_flipSurfaces);
|
||||
ReadRegBool("Full Screen", &m_fullScreen);
|
||||
ReadRegBool("Wide View Angle", &m_wideViewAngle);
|
||||
ReadRegBool("3DSound", &m_use3dSound);
|
||||
ReadRegBool("Music", &m_useMusic);
|
||||
ReadRegBool("UseJoystick", &m_useJoystick);
|
||||
ReadRegInt("JoystickIndex", &m_joystickIndex);
|
||||
ReadRegBool("Draw Cursor", &m_drawCursor);
|
||||
|
||||
int backBuffersInVRAM;
|
||||
if (ReadRegBool("Back Buffers in Video RAM", &backBuffersInVRAM)) {
|
||||
m_backBuffersInVram = !backBuffersInVRAM;
|
||||
}
|
||||
|
||||
int bitDepth;
|
||||
if (ReadRegInt("Display Bit Depth", &bitDepth)) {
|
||||
if (bitDepth == 8) {
|
||||
m_using8bit = TRUE;
|
||||
}
|
||||
else if (bitDepth == 16) {
|
||||
m_using16bit = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
if (!ReadReg("Island Quality", buffer, sizeof(buffer))) {
|
||||
strcpy(buffer, "1");
|
||||
}
|
||||
m_islandQuality = atoi(buffer);
|
||||
|
||||
if (!ReadReg("Island Texture", buffer, sizeof(buffer))) {
|
||||
strcpy(buffer, "1");
|
||||
}
|
||||
m_islandTexture = atoi(buffer);
|
||||
|
||||
if (ReadReg("3D Device ID", buffer, sizeof(buffer))) {
|
||||
m_deviceId = new char[strlen(buffer) + 1];
|
||||
strcpy(m_deviceId, buffer);
|
||||
}
|
||||
|
||||
if (ReadReg("savepath", buffer, sizeof(buffer))) {
|
||||
m_savePath = new char[strlen(buffer) + 1];
|
||||
strcpy(m_savePath, buffer);
|
||||
}
|
||||
}
|
||||
|
||||
// FUNCTION: ISLE 0x402c20
|
||||
inline void IsleApp::Tick(BOOL sleepIfNotNextFrame)
|
||||
{
|
||||
// GLOBAL: ISLE 0x4101c0
|
||||
static MxLong g_lastFrameTime = 0;
|
||||
|
||||
// GLOBAL: ISLE 0x4101bc
|
||||
static int g_startupDelay = 200;
|
||||
|
||||
if (!m_windowActive) {
|
||||
Sleep(0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Lego()) {
|
||||
return;
|
||||
}
|
||||
if (!TickleManager()) {
|
||||
return;
|
||||
}
|
||||
if (!Timer()) {
|
||||
return;
|
||||
}
|
||||
|
||||
MxLong currentTime = Timer()->GetRealTime();
|
||||
if (currentTime < g_lastFrameTime) {
|
||||
g_lastFrameTime = -m_frameDelta;
|
||||
}
|
||||
|
||||
if (m_frameDelta + g_lastFrameTime < currentTime) {
|
||||
if (!Lego()->IsTimerRunning()) {
|
||||
TickleManager()->Tickle();
|
||||
}
|
||||
g_lastFrameTime = currentTime;
|
||||
|
||||
if (g_startupDelay == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
g_startupDelay--;
|
||||
if (g_startupDelay != 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
LegoOmni::GetInstance()->CreateBackgroundAudio();
|
||||
BackgroundAudioManager()->Enable(this->m_useMusic);
|
||||
|
||||
MxStreamController* stream = Streamer()->Open("\\lego\\scripts\\isle\\isle", MxStreamer::e_diskStream);
|
||||
MxDSAction ds;
|
||||
|
||||
if (!stream) {
|
||||
stream = Streamer()->Open("\\lego\\scripts\\nocd", MxStreamer::e_diskStream);
|
||||
if (!stream) {
|
||||
return;
|
||||
}
|
||||
|
||||
ds.SetAtomId(stream->GetAtom());
|
||||
ds.SetUnknown24(-1);
|
||||
ds.SetObjectId(0);
|
||||
VideoManager()->EnableFullScreenMovie(TRUE, TRUE);
|
||||
|
||||
if (Start(&ds) != SUCCESS) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
ds.SetAtomId(stream->GetAtom());
|
||||
ds.SetUnknown24(-1);
|
||||
ds.SetObjectId(0);
|
||||
if (Start(&ds) != SUCCESS) {
|
||||
return;
|
||||
}
|
||||
m_gameStarted = TRUE;
|
||||
}
|
||||
}
|
||||
else if (sleepIfNotNextFrame != 0) {
|
||||
Sleep(0);
|
||||
}
|
||||
}
|
||||
|
||||
// FUNCTION: ISLE 0x402e80
|
||||
void IsleApp::SetupCursor(WPARAM wParam)
|
||||
{
|
||||
switch (wParam) {
|
||||
case 0:
|
||||
m_cursorCurrent = m_cursorArrow;
|
||||
break;
|
||||
case 1:
|
||||
m_cursorCurrent = m_cursorBusy;
|
||||
break;
|
||||
case 2:
|
||||
m_cursorCurrent = m_cursorNo;
|
||||
break;
|
||||
case 0xB:
|
||||
m_cursorCurrent = NULL;
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 0xA:
|
||||
break;
|
||||
}
|
||||
|
||||
SetCursor(m_cursorCurrent);
|
||||
}
|
||||
79
ISLE/isleapp.h
Normal file
79
ISLE/isleapp.h
Normal file
@ -0,0 +1,79 @@
|
||||
#ifndef ISLEAPP_H
|
||||
#define ISLEAPP_H
|
||||
|
||||
#include "mxtypes.h"
|
||||
#include "mxvideoparam.h"
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
// SIZE 0x8c
|
||||
class IsleApp {
|
||||
public:
|
||||
IsleApp();
|
||||
~IsleApp();
|
||||
|
||||
void Close();
|
||||
|
||||
BOOL SetupLegoOmni();
|
||||
void SetupVideoFlags(
|
||||
BOOL fullScreen,
|
||||
BOOL flipSurfaces,
|
||||
BOOL backBuffers,
|
||||
BOOL using8bit,
|
||||
BOOL using16bit,
|
||||
BOOL param_6,
|
||||
BOOL param_7,
|
||||
BOOL wideViewAngle,
|
||||
char* deviceId
|
||||
);
|
||||
MxResult SetupWindow(HINSTANCE hInstance, LPSTR lpCmdLine);
|
||||
|
||||
BOOL ReadReg(LPCSTR name, LPSTR outValue, DWORD outSize);
|
||||
BOOL ReadRegBool(LPCSTR name, BOOL* out);
|
||||
BOOL ReadRegInt(LPCSTR name, int* out);
|
||||
|
||||
void LoadConfig();
|
||||
void Tick(BOOL sleepIfNotNextFrame);
|
||||
void SetupCursor(WPARAM wParam);
|
||||
|
||||
inline HWND GetWindowHandle() { return m_windowHandle; }
|
||||
inline MxLong GetFrameDelta() { return m_frameDelta; }
|
||||
inline BOOL GetFullScreen() { return m_fullScreen; }
|
||||
inline HCURSOR GetCursorCurrent() { return m_cursorCurrent; }
|
||||
inline HCURSOR GetCursorBusy() { return m_cursorBusy; }
|
||||
inline HCURSOR GetCursorNo() { return m_cursorNo; }
|
||||
inline BOOL GetDrawCursor() { return m_drawCursor; }
|
||||
|
||||
inline void SetWindowActive(BOOL p_windowActive) { m_windowActive = p_windowActive; }
|
||||
|
||||
private:
|
||||
LPSTR m_hdPath; // 0x00
|
||||
LPSTR m_cdPath; // 0x04
|
||||
LPSTR m_deviceId; // 0x08
|
||||
LPSTR m_savePath; // 0x0c
|
||||
BOOL m_fullScreen; // 0x10
|
||||
BOOL m_flipSurfaces; // 0x14
|
||||
BOOL m_backBuffersInVram; // 0x18
|
||||
BOOL m_using8bit; // 0x1c
|
||||
BOOL m_using16bit; // 0x20
|
||||
int m_unk0x24; // 0x24
|
||||
BOOL m_use3dSound; // 0x28
|
||||
BOOL m_useMusic; // 0x2c
|
||||
BOOL m_useJoystick; // 0x30
|
||||
int m_joystickIndex; // 0x34
|
||||
BOOL m_wideViewAngle; // 0x38
|
||||
int m_islandQuality; // 0x3c
|
||||
int m_islandTexture; // 0x40
|
||||
BOOL m_gameStarted; // 0x44
|
||||
MxLong m_frameDelta; // 0x48
|
||||
MxVideoParam m_videoParam; // 0x4c
|
||||
BOOL m_windowActive; // 0x70
|
||||
HWND m_windowHandle; // 0x74
|
||||
BOOL m_drawCursor; // 0x78
|
||||
HCURSOR m_cursorArrow; // 0x7c
|
||||
HCURSOR m_cursorBusy; // 0x80
|
||||
HCURSOR m_cursorNo; // 0x84
|
||||
HCURSOR m_cursorCurrent; // 0x88
|
||||
};
|
||||
|
||||
#endif // ISLEAPP_H
|
||||
63
ISLE/library_msvc.h
Normal file
63
ISLE/library_msvc.h
Normal file
@ -0,0 +1,63 @@
|
||||
#ifdef 0
|
||||
// For ISLE symbols only
|
||||
|
||||
// aka `operator new`
|
||||
// LIBRARY: ISLE 0x402f80
|
||||
// ??2@YAPAXI@Z
|
||||
|
||||
// aka `operator delete`
|
||||
// LIBRARY: ISLE 0x402fa0
|
||||
// ??3@YAXPAX@Z
|
||||
|
||||
// LIBRARY: ISLE 0x406dd0
|
||||
// _malloc
|
||||
|
||||
// LIBRARY: ISLE 0x406f00
|
||||
// _free
|
||||
|
||||
// LIBRARY: ISLE 0x407ec0
|
||||
// ___CxxFrameHandler
|
||||
|
||||
// LIBRARY: ISLE 0x4081e0
|
||||
// _srand
|
||||
|
||||
// LIBRARY: ISLE 0x4081f0
|
||||
// _rand
|
||||
|
||||
// LIBRARY: ISLE 0x408220
|
||||
// _atol
|
||||
|
||||
// LIBRARY: ISLE 0x4082d0
|
||||
// _atoi
|
||||
|
||||
// LIBRARY: ISLE 0x4084c0
|
||||
// ?_query_new_handler@@YAP6AHI@ZXZ
|
||||
|
||||
// LIBRARY: ISLE 0x4084d0
|
||||
// ?_query_new_mode@@YAHXZ
|
||||
|
||||
// LIBRARY: ISLE 0x4085c0
|
||||
// _sprintf
|
||||
|
||||
// LIBRARY: ISLE 0x408630
|
||||
// _abort
|
||||
|
||||
// LIBRARY: ISLE 0x409110
|
||||
// __mtinit
|
||||
|
||||
// LIBRARY: ISLE 0x409190
|
||||
// __getptd
|
||||
|
||||
// GLOBAL: ISLE 0x4108e8
|
||||
// __osver
|
||||
|
||||
// GLOBAL: ISLE 0x4108f0
|
||||
// __winmajor
|
||||
|
||||
// GLOBAL: ISLE 0x4108f4
|
||||
// __winminor
|
||||
|
||||
// GLOBAL: ISLE 0x410d50
|
||||
// __newmode
|
||||
|
||||
#endif
|
||||
312
ISLE/library_smartheap.h
Normal file
312
ISLE/library_smartheap.h
Normal file
@ -0,0 +1,312 @@
|
||||
#ifdef 0
|
||||
|
||||
// LIBRARY: ISLE 0x402f10
|
||||
// ?shi_New@@YAPAXKIPAU_SHI_Pool@@@Z
|
||||
|
||||
// LIBRARY: ISLE 0x402fb0
|
||||
// _MemInitDefaultPool@0
|
||||
|
||||
// LIBRARY: ISLE 0x403020
|
||||
// _shi_call_new_handler_msc
|
||||
|
||||
// LIBRARY: ISLE 0x403050
|
||||
// _MemPoolShrink@4
|
||||
|
||||
// LIBRARY: ISLE 0x403180
|
||||
// _MemPoolPreAllocate@12
|
||||
|
||||
// LIBRARY: ISLE 0x403300
|
||||
// @_shi_initPageHeaders@4
|
||||
|
||||
// LIBRARY: ISLE 0x403570
|
||||
// @shi_allocPageHeader@4
|
||||
|
||||
// LIBRARY: ISLE 0x4035a0
|
||||
// @shi_freePageHeader@8
|
||||
|
||||
// LIBRARY: ISLE 0x403750
|
||||
// @_shi_deletePage@8
|
||||
|
||||
// LIBRARY: ISLE 0x403830
|
||||
// @_shi_allocExternal@12
|
||||
|
||||
// LIBRARY: ISLE 0x403a50
|
||||
// @_shi_initPageVariable@8
|
||||
|
||||
// LIBRARY: ISLE 0x403b00
|
||||
// _MemAllocPtr@12
|
||||
|
||||
// LIBRARY: ISLE 0x403d60
|
||||
// @_shi_allocVar@12
|
||||
|
||||
// LIBRARY: ISLE 0x403ef0
|
||||
// @_shi_allocBlock@12
|
||||
|
||||
// LIBRARY: ISLE 0x4040c0
|
||||
// _MemFreePtr@4
|
||||
|
||||
// LIBRARY: ISLE 0x404170
|
||||
// @_shi_freeVar@4
|
||||
|
||||
// LIBRARY: ISLE 0x404260
|
||||
// _MemReAllocPtr@12
|
||||
|
||||
// LIBRARY: ISLE 0x4043b0
|
||||
// @_shi_resizeAny@16
|
||||
|
||||
// LIBRARY: ISLE 0x404650
|
||||
// @_shi_resizeVar@8
|
||||
|
||||
// LIBRARY: ISLE 0x404820
|
||||
// _MemSizePtr@4
|
||||
|
||||
// LIBRARY: ISLE 0x4048d0
|
||||
// @shi_findAllocAddress@4
|
||||
|
||||
// LIBRARY: ISLE 0x404910
|
||||
// @_shi_sysAlloc@8
|
||||
|
||||
// LIBRARY: ISLE 0x4049a0
|
||||
// @_shi_sysFree@4
|
||||
|
||||
// LIBRARY: ISLE 0x404a00
|
||||
// @_shi_sysRealloc@12
|
||||
|
||||
// LIBRARY: ISLE 0x404ab0
|
||||
// @_shi_sysResize@12
|
||||
|
||||
// LIBRARY: ISLE 0x404b90
|
||||
// @_shi_sysSize@4
|
||||
|
||||
// LIBRARY: ISLE 0x404bd0
|
||||
// @_shi_sysAllocNear@4
|
||||
|
||||
// LIBRARY: ISLE 0x404bf0
|
||||
// @_shi_sysFreeNear@4
|
||||
|
||||
// LIBRARY: ISLE 0x404c10
|
||||
// @_shi_sysValidatePtr@12
|
||||
|
||||
// LIBRARY: ISLE 0x404d10
|
||||
// @_shi_sysValidateFunction@4
|
||||
|
||||
// LIBRARY: ISLE 0x405300
|
||||
// @_shi_sysAllocPool@12
|
||||
|
||||
// LIBRARY: ISLE 0x405520
|
||||
// @_shi_sysResizePool@16
|
||||
|
||||
// LIBRARY: ISLE 0x405690
|
||||
// @_shi_sysFreePage@4
|
||||
|
||||
// LIBRARY: ISLE 0x4057b0
|
||||
// @_shi_sysSizePage@4
|
||||
|
||||
// LIBRARY: ISLE 0x4057e0
|
||||
// @_shi_sysSizePool@8
|
||||
|
||||
// LIBRARY: ISLE 0x405800
|
||||
// @_shi_registerShared@16
|
||||
|
||||
// LIBRARY: ISLE 0x405a00
|
||||
// @_shi_unregisterShared@8
|
||||
|
||||
// LIBRARY: ISLE 0x405b20
|
||||
// @_shi_getNextPool@4
|
||||
|
||||
// LIBRARY: ISLE 0x405b30
|
||||
// @shi_delNextPool@4
|
||||
|
||||
// LIBRARY: ISLE 0x405d30
|
||||
// @shi_createAndEnterMutexShr@12
|
||||
|
||||
// LIBRARY: ISLE 0x405e20
|
||||
// @shi_termPoolMutexShr@4
|
||||
|
||||
// LIBRARY: ISLE 0x405e40
|
||||
// @shi_enterPoolMutexShr@4
|
||||
|
||||
// LIBRARY: ISLE 0x405e60
|
||||
// @shi_leavePoolMutexShr@4
|
||||
|
||||
// LIBRARY: ISLE 0x405e80
|
||||
// __shi_enterCriticalSection@0
|
||||
|
||||
// LIBRARY: ISLE 0x405ea0
|
||||
// __shi_leaveCriticalSection@0
|
||||
|
||||
// LIBRARY: ISLE 0x405ec0
|
||||
// __shi_createAndEnterMutex
|
||||
|
||||
// LIBRARY: ISLE 0x405ef0
|
||||
// _shi_enterPoolMutexSafely
|
||||
|
||||
// LIBRARY: ISLE 0x405fd0
|
||||
// _shi_enterPoolInitMutexReader
|
||||
|
||||
// LIBRARY: ISLE 0x406060
|
||||
// _shi_leavePoolInitMutexReader
|
||||
|
||||
// LIBRARY: ISLE 0x406090
|
||||
// _shi_enterPoolInitMutexWriter
|
||||
|
||||
// LIBRARY: ISLE 0x406160
|
||||
// _shi_leavePoolInitMutexWriter
|
||||
|
||||
// LIBRARY: ISLE 0x406180
|
||||
// _shi_isNT
|
||||
|
||||
// LIBRARY: ISLE 0x4061b0
|
||||
// _MemPoolInit@4
|
||||
|
||||
// LIBRARY: ISLE 0x406520
|
||||
// _MemPoolSetPageSize@8
|
||||
|
||||
// LIBRARY: ISLE 0x406630
|
||||
// _MemPoolSetBlockSizeFS@8
|
||||
|
||||
// LIBRARY: ISLE 0x406710
|
||||
// @_shi_poolFree@8
|
||||
|
||||
// LIBRARY: ISLE 0x4068c0
|
||||
// @_shi_invokeErrorHandler1@8
|
||||
|
||||
// LIBRARY: ISLE 0x406be0
|
||||
// _MemErrorUnwind@0
|
||||
|
||||
// LIBRARY: ISLE 0x406c30
|
||||
// _MemDefaultErrorHandler@4
|
||||
|
||||
// LIBRARY: ISLE 0x406cb0
|
||||
// @_shi_taskRemovePool@4
|
||||
|
||||
// LIBRARY: ISLE 0x406d50
|
||||
// @_shi_getCurrentThreadContext@8
|
||||
|
||||
// LIBRARY: ISLE 0x406db0
|
||||
// @_shi_deleteThreadContext@8
|
||||
|
||||
// LIBRARY: ISLE 0x406e40
|
||||
// _calloc
|
||||
|
||||
// LIBRARY: ISLE 0x406ea0
|
||||
// _realloc
|
||||
|
||||
// LIBRARY: ISLE 0x406f10
|
||||
// __expand
|
||||
|
||||
// LIBRARY: ISLE 0x406f50
|
||||
// __heapadd
|
||||
|
||||
// LIBRARY: ISLE 0x406f60
|
||||
// __heapwalk
|
||||
|
||||
// LIBRARY: ISLE 0x406ff0
|
||||
// __heapused
|
||||
|
||||
// LIBRARY: ISLE 0x407020
|
||||
// __heapmin
|
||||
|
||||
// LIBRARY: ISLE 0x407040
|
||||
// __msize
|
||||
|
||||
// LIBRARY: ISLE 0x407050
|
||||
// __heapchk
|
||||
|
||||
// LIBRARY: ISLE 0x407080
|
||||
// __heapset
|
||||
|
||||
// LIBRARY: ISLE 0x407090
|
||||
// @_shi_sysReportError@16
|
||||
|
||||
// LIBRARY: ISLE 0x407110
|
||||
// _MemPoolSize@4
|
||||
|
||||
// LIBRARY: ISLE 0x4071a0
|
||||
// _MemPoolWalk@8
|
||||
|
||||
// LIBRARY: ISLE 0x407240
|
||||
// @_shi_walkPool@16
|
||||
|
||||
// LIBRARY: ISLE 0x407540
|
||||
// @shi_isBlockInUseSmall@8
|
||||
|
||||
// LIBRARY: ISLE 0x407800
|
||||
// @_shi_isBlockInUseFS@12
|
||||
|
||||
// LIBRARY: ISLE 0x407880
|
||||
// _MemPoolCheck@4
|
||||
|
||||
// LIBRARY: ISLE 0x407b20
|
||||
// _MemCheckPtr@8
|
||||
|
||||
// LIBRARY: ISLE 0x4084e0
|
||||
// __except_handler3
|
||||
|
||||
// GLOBAL: ISLE 0x40f0a0
|
||||
// _szLibName
|
||||
|
||||
// GLOBAL: ISLE 0x4102f4
|
||||
// ?_new_handler@@3P6AXXZA
|
||||
|
||||
// GLOBAL: ISLE 0x4102fc
|
||||
// _MemDefaultPool
|
||||
|
||||
// GLOBAL: ISLE 0x41031c
|
||||
// __shi_compactPoolFn
|
||||
|
||||
// GLOBAL: ISLE 0x410320
|
||||
// __shi_compactPageFn
|
||||
|
||||
// GLOBAL: ISLE 0x410324
|
||||
// _MemDefaultPoolFlags
|
||||
|
||||
// GLOBAL: ISLE 0x41032c
|
||||
// __shi_mutexGlobalInit
|
||||
|
||||
// GLOBAL: ISLE 0x410330
|
||||
// __shi_mutexMovInit
|
||||
|
||||
// GLOBAL: ISLE 0x410334
|
||||
// __shi_mutexMovLockCount
|
||||
|
||||
// GLOBAL: ISLE 0x410338
|
||||
// _shi_initPoolReaders
|
||||
|
||||
// GLOBAL: ISLE 0x41033c
|
||||
// _shi_eventInitPool
|
||||
|
||||
// GLOBAL: ISLE 0x410340
|
||||
// _shi_mutexMovShr
|
||||
|
||||
// GLOBAL: ISLE 0x410368
|
||||
// _shi_deferFreePools
|
||||
|
||||
// GLOBAL: ISLE 0x410378
|
||||
// __shi_poolTerminating
|
||||
|
||||
// GLOBAL: ISLE 0x41037c
|
||||
// _MemDefaultPoolBlockSizeFS
|
||||
|
||||
// GLOBAL: ISLE 0x410380
|
||||
// _MemDefaultPoolPageSize
|
||||
|
||||
// GLOBAL: ISLE 0x410384
|
||||
// _SmartHeap_malloc
|
||||
|
||||
// GLOBAL: ISLE 0x4105b0
|
||||
// __shi_TaskRecord
|
||||
|
||||
// ~GLOBAL: ISLE 0x4125f8
|
||||
// ?_pnhHeap@@3P6AHI@ZA
|
||||
|
||||
// GLOBAL: ISLE 0x412830
|
||||
// __shi_mutexMov
|
||||
|
||||
// GLOBAL: ISLE 0x412850
|
||||
// _shi_mutexPoolSynch
|
||||
|
||||
// GLOBAL: ISLE 0x412870
|
||||
// __shi_mutexGlobal
|
||||
|
||||
#endif
|
||||
BIN
ISLE/res/arrow.cur
Normal file
BIN
ISLE/res/arrow.cur
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 326 B |
BIN
ISLE/res/busy.cur
Normal file
BIN
ISLE/res/busy.cur
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 326 B |
BIN
ISLE/res/isle.ico
Normal file
BIN
ISLE/res/isle.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.5 KiB |
35
ISLE/res/isle.rc
Normal file
35
ISLE/res/isle.rc
Normal file
@ -0,0 +1,35 @@
|
||||
#include "resource.h"
|
||||
|
||||
ISLE_ARROW CURSOR "arrow.cur"
|
||||
ISLE_NO CURSOR "no.cur"
|
||||
ISLE_BUSY CURSOR "busy.cur"
|
||||
APP_ICON ICON "isle.ico"
|
||||
|
||||
1 VERSIONINFO
|
||||
FILEVERSION 1,1,0,0
|
||||
PRODUCTVERSION 1,1,0,0
|
||||
FILEOS 0x40004
|
||||
FILETYPE 0x1
|
||||
{
|
||||
BLOCK "StringFileInfo"
|
||||
{
|
||||
BLOCK "040904b0"
|
||||
{
|
||||
VALUE "Comments", "DG JB AG RC EE"
|
||||
VALUE "CompanyName", "Mindscape"
|
||||
VALUE "FileDescription", "isle"
|
||||
VALUE "FileVersion", "1, 1, 0, 0"
|
||||
VALUE "InternalName", "isle"
|
||||
VALUE "LegalCopyright", "Copyright \xA9 1997"
|
||||
VALUE "OriginalFilename", "isle.exe"
|
||||
VALUE "ProductName", "Adventures on LEGO Island"
|
||||
VALUE "ProductVersion", "1, 1, 0, 0"
|
||||
VALUE "SpecialBuild", "Very"
|
||||
}
|
||||
}
|
||||
|
||||
BLOCK "VarFileInfo"
|
||||
{
|
||||
VALUE "Translation", 0x0409, 0x04B0
|
||||
}
|
||||
}
|
||||
BIN
ISLE/res/no.cur
Normal file
BIN
ISLE/res/no.cur
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 326 B |
5
ISLE/res/resource.h
Normal file
5
ISLE/res/resource.h
Normal file
@ -0,0 +1,5 @@
|
||||
#define ISLE_ARROW 102
|
||||
#define ISLE_NO 103
|
||||
#define ISLE_BUSY 104
|
||||
|
||||
#define APP_ICON 105
|
||||
138
LEGO1/LegoOmni.def
Normal file
138
LEGO1/LegoOmni.def
Normal file
@ -0,0 +1,138 @@
|
||||
; LegoOmni.def : Declares the module paarameters for the LEGO1.DLL.
|
||||
|
||||
DESCRIPTION "Lego OMNI Windows Dynamic Link Library"
|
||||
|
||||
EXPORTS
|
||||
|
||||
; EXPORTs really required only.
|
||||
|
||||
??0LegoBackgroundColor@@QAE@PBD0@Z
|
||||
??0LegoGameState@@QAE@XZ
|
||||
??0LegoWorld@@QAE@XZ
|
||||
??0MxAtomId@@QAE@PBDW4LookupMode@@@Z
|
||||
??0MxBitmap@@QAE@XZ
|
||||
??0MxCore@@QAE@XZ
|
||||
??0MxCriticalSection@@QAE@XZ
|
||||
??0MxDSAction@@QAE@XZ
|
||||
??0MxDSFile@@QAE@PBDK@Z
|
||||
??0MxOmniCreateFlags@@QAE@XZ
|
||||
??0MxOmniCreateParam@@QAE@PBDPAUHWND__@@AAVMxVideoParam@@VMxOmniCreateFlags@@@Z
|
||||
??0MxString@@QAE@ABV0@@Z
|
||||
??0MxVideoParam@@QAE@AAV0@@Z
|
||||
??0MxVideoParam@@QAE@AAVMxRect32@@PAVMxPalette@@KAAVMxVideoParamFlags@@@Z
|
||||
??0MxVideoParam@@QAE@XZ
|
||||
??0MxVideoParamFlags@@QAE@XZ
|
||||
??1LegoEntity@@UAE@XZ
|
||||
??1LegoGameState@@QAE@XZ
|
||||
??1LegoWorld@@UAE@XZ
|
||||
??1MXIOINFO@@QAE@XZ
|
||||
??1MxAtomId@@QAE@XZ
|
||||
??1MxBitmap@@UAE@XZ
|
||||
??1MxCore@@UAE@XZ
|
||||
??1MxCriticalSection@@QAE@XZ
|
||||
??1MxDSAction@@UAE@XZ
|
||||
??1MxDSFile@@UAE@XZ
|
||||
??1MxPresenter@@UAE@XZ
|
||||
??1MxString@@UAE@XZ
|
||||
??1MxVideoParam@@QAE@XZ
|
||||
??4MxAtomId@@QAEAAV0@ABV0@@Z
|
||||
??4MxString@@QAEABV0@PBD@Z
|
||||
??4MxVideoParam@@QAEAAV0@ABV0@@Z
|
||||
??8MxPalette@@QAEEAAV0@@Z
|
||||
?BackgroundAudioManager@@YAPAVMxBackgroundAudioManager@@XZ
|
||||
?Close@MxDSFile@@UAEJXZ
|
||||
?Close@MxStreamer@@QAEJPBD@Z
|
||||
?CreateBackgroundAudio@LegoOmni@@QAEXXZ
|
||||
?CreateInstance@LegoOmni@@SAXXZ
|
||||
?CreatePalette@MxBitmap@@UAEPAVMxPalette@@XZ
|
||||
?CreateStreamObject@@YAPAVMxDSObject@@PAVMxDSFile@@F@Z
|
||||
?DestroyInstance@MxOmni@@SAXXZ
|
||||
?Detach@MxPalette@@QAEXXZ
|
||||
?DisableRMDevice@LegoVideoManager@@QAEHXZ
|
||||
?DoneTickle@MxPresenter@@MAEXXZ
|
||||
?Enable@MxBackgroundAudioManager@@QAEXE@Z
|
||||
?Enable@MxPresenter@@UAEXE@Z
|
||||
?EnableFullScreenMovie@LegoVideoManager@@QAEXEE@Z
|
||||
?EnableRMDevice@LegoVideoManager@@QAEHXZ
|
||||
?EndAction@MxPresenter@@UAEXXZ
|
||||
?EventManager@@YAPAVMxEventManager@@XZ
|
||||
?FlipToGDISurface@MxDirectDraw@@QAEHXZ
|
||||
?GameState@@YAPAVLegoGameState@@XZ
|
||||
?GetBufferSize@MxDSFile@@UAEKXZ
|
||||
?GetCD@MxOmni@@SAPBDXZ
|
||||
?GetCurrPathInfo@LegoOmni@@SAHPAPAVLegoPathBoundary@@AAH@Z
|
||||
?GetDefaults@LegoNavController@@SAXPAHPAM11111111PAE@Z
|
||||
?GetHD@MxOmni@@SAPBDXZ
|
||||
?GetInstance@LegoOmni@@SAPAV1@XZ
|
||||
?GetInstance@MxOmni@@SAPAV1@XZ
|
||||
?GetInstance@MxScheduler@@SAPAV1@XZ
|
||||
?GetNoCD_SourceName@@YAPBDXZ
|
||||
?GetPartsThreshold@RealtimeView@@SAMXZ
|
||||
?GetPrimaryBitDepth@MxDirectDraw@@SAHXZ
|
||||
?GetRealTime@MxTimer@@QAEJXZ
|
||||
?GetStreamBuffersNum@MxDSFile@@UAEKXZ
|
||||
?GetUserMaxLOD@RealtimeView@@SAMXZ
|
||||
?GetVariable@MxVariableTable@@QAEPBDPBD@Z
|
||||
?Init@MxPresenter@@IAEXXZ
|
||||
?InputManager@@YAPAVLegoInputManager@@XZ
|
||||
?InvalidateRect@MxVideoManager@@QAEXAAVMxRect32@@@Z
|
||||
?IsSound3D@MxOmni@@SAEXZ
|
||||
?Lego@@YAPAVLegoOmni@@XZ
|
||||
?Load@LegoGameState@@QAEJK@Z
|
||||
?MSoundManager@@YAPAVMxSoundManager@@XZ
|
||||
?MakeSourceName@@YAXPADPBD@Z
|
||||
?MoveCursor@LegoVideoManager@@QAEXHH@Z
|
||||
?MusicManager@@YAPAVMxMusicManager@@XZ
|
||||
?NotificationManager@@YAPAVMxNotificationManager@@XZ
|
||||
?Notify@MxCore@@UAEJAAVMxParam@@@Z
|
||||
?Open@MxDSFile@@UAEJK@Z
|
||||
?Open@MxStreamer@@QAEPAVMxStreamController@@PBDG@Z
|
||||
?ParseExtra@MxPresenter@@MAEXXZ
|
||||
?Pause@MxDirectDraw@@QAEHH@Z
|
||||
?PickEntity@@YAPAVLegoEntity@@JJ@Z
|
||||
?PickROI@@YAPAVLegoROI@@JJ@Z
|
||||
?QueueEvent@LegoInputManager@@QAEXW4NotificationId@@EJJE@Z
|
||||
?Read@MxBitmap@@UAEJPBD@Z
|
||||
?Read@MxDSFile@@UAEJPAEK@Z
|
||||
?RealizePalette@MxVideoManager@@UAEJPAVMxPalette@@@Z
|
||||
?Register@LegoInputManager@@QAEXPAVMxCore@@@Z
|
||||
?RemoveAll@ViewManager@@QAEXPAVViewROI@@@Z
|
||||
?RemoveWorld@LegoOmni@@QAEXABVMxAtomId@@J@Z
|
||||
?Save@LegoGameState@@QAEJK@Z
|
||||
?Seek@MxDSFile@@UAEJJH@Z
|
||||
?SerializePlayersInfo@LegoGameState@@QAEXF@Z
|
||||
?SerializeScoreHistory@LegoGameState@@QAEXF@Z
|
||||
?SetCD@MxOmni@@SAXPBD@Z
|
||||
?SetDefaults@LegoNavController@@SAXHMMMMMMMMME@Z
|
||||
?SetDeviceName@MxVideoParam@@QAEXPAD@Z
|
||||
?SetDisplayBB@LegoROI@@QAEXH@Z
|
||||
?SetDoMutex@MxCriticalSection@@SAXXZ
|
||||
?SetHD@MxOmni@@SAXPBD@Z
|
||||
?SetObjectName@MxDSObject@@QAEXPBD@Z
|
||||
?SetOmniUserMessage@@YAXP6AXPBDH@Z@Z
|
||||
?SetPartsThreshold@RealtimeView@@SAXM@Z
|
||||
?SetSavePath@LegoGameState@@QAEXPAD@Z
|
||||
?SetSound3D@MxOmni@@SAXE@Z
|
||||
?SetUserMaxLOD@RealtimeView@@SAXM@Z
|
||||
?SetVariable@MxVariableTable@@QAEXPAVMxVariable@@@Z
|
||||
?SetVariable@MxVariableTable@@QAEXPBD0@Z
|
||||
?SetWaitIndicator@MxTransitionManager@@QAEXPAVMxVideoPresenter@@@Z
|
||||
?SoundManager@@YAPAVLegoSoundManager@@XZ
|
||||
?Start@@YAJPAVMxDSAction@@@Z
|
||||
?StartAction@MxPresenter@@UAEJPAVMxStreamController@@PAVMxDSAction@@@Z
|
||||
?StartMultiTasking@MxScheduler@@QAEXK@Z
|
||||
?Streamer@@YAPAVMxStreamer@@XZ
|
||||
?Tickle@MxPresenter@@UAEJXZ
|
||||
?TickleManager@@YAPAVMxTickleManager@@XZ
|
||||
?Timer@@YAPAVMxTimer@@XZ
|
||||
?TransitionManager@@YAPAVMxTransitionManager@@XZ
|
||||
?UnRegister@LegoInputManager@@QAEXPAVMxCore@@@Z
|
||||
?VariableTable@@YAPAVMxVariableTable@@XZ
|
||||
?VideoManager@@YAPAVLegoVideoManager@@XZ
|
||||
?configureLegoAnimationManager@LegoAnimationManager@@SAXH@Z
|
||||
?configureLegoBuildingManager@LegoBuildingManager@@SAXH@Z
|
||||
?configureLegoModelPresenter@LegoModelPresenter@@SAXH@Z
|
||||
?configureLegoPartPresenter@LegoPartPresenter@@SAXHH@Z
|
||||
?configureLegoROI@LegoROI@@SAXH@Z
|
||||
?configureLegoWorldPresenter@LegoWorldPresenter@@SAXH@Z
|
||||
_DllMain@12
|
||||
164
LEGO1/LegoOmni.mingw.def
Normal file
164
LEGO1/LegoOmni.mingw.def
Normal file
@ -0,0 +1,164 @@
|
||||
; LegoOmni.def : Declares the module paarameters for the LEGO1.DLL.
|
||||
|
||||
; DESCRIPTION " Lego OMNI Windows Dynamic Link Library"
|
||||
|
||||
EXPORTS
|
||||
|
||||
; EXPORTs really required only.
|
||||
|
||||
_ZN13LegoGameState11SetSavePathEPc
|
||||
_ZN13LegoGameState20SerializePlayersInfoEs
|
||||
_ZN13LegoGameState21SerializeScoreHistoryEs
|
||||
_ZN13LegoGameState4SaveEj
|
||||
_ZN13LegoGameStateC1Ev
|
||||
_ZN13LegoGameStateC2Ev
|
||||
_ZN13LegoGameStateD1Ev
|
||||
_ZN13LegoGameStateD2Ev
|
||||
_ZN9LegoWorldC1Ev
|
||||
_ZN9LegoWorldC2Ev
|
||||
_ZN9LegoWorldD0Ev
|
||||
_ZN9LegoWorldD1Ev
|
||||
_ZN9LegoWorldD2Ev
|
||||
DllMain@12
|
||||
_Z10PickEntityii
|
||||
_Z12EventManagerv
|
||||
_Z12InputManagerv
|
||||
_Z12MusicManagerv
|
||||
_Z12SoundManagerv
|
||||
_Z12VideoManagerv
|
||||
_Z13MSoundManagerv
|
||||
_Z13TickleManagerv
|
||||
_Z13VariableTablev
|
||||
_Z14MakeSourceNamePcPKc
|
||||
_Z17TransitionManagerv
|
||||
_Z18CreateStreamObjectP8MxDSFiles
|
||||
_Z18GetNoCD_SourceNamev
|
||||
_Z18SetOmniUserMessagePFvPKciE
|
||||
_Z19NotificationManagerv
|
||||
_Z22BackgroundAudioManagerv
|
||||
_Z4Legov
|
||||
_Z5StartP10MxDSAction
|
||||
_Z5Timerv
|
||||
_Z7PickROIii
|
||||
_Z8Streamerv
|
||||
_Z9GameStatev
|
||||
_ZN10MxDSActionC1Ev
|
||||
_ZN10MxDSActionC2Ev
|
||||
_ZN10MxDSActionD0Ev
|
||||
_ZN10MxDSActionD1Ev
|
||||
_ZN10MxDSActionD2Ev
|
||||
_ZN10MxDSObject13SetObjectNameEPKc
|
||||
_ZN10MxStreamer4OpenEPKct
|
||||
_ZN10MxStreamer5CloseEPKc
|
||||
_ZN11MxPresenter10DoneTickleEv
|
||||
_ZN11MxPresenter10ParseExtraEv
|
||||
_ZN11MxPresenter11StartActionEP18MxStreamControllerP10MxDSAction
|
||||
_ZN11MxPresenter4InitEv
|
||||
_ZN11MxPresenter6EnableEh
|
||||
_ZN11MxPresenter6TickleEv
|
||||
_ZN11MxPresenter9EndActionEv
|
||||
_ZN11MxScheduler11GetInstanceEv
|
||||
_ZN11MxScheduler17StartMultiTaskingEj
|
||||
_ZN11ViewManager9RemoveAllEP7ViewROI
|
||||
_ZN12MxDirectDraw16FlipToGDISurfaceEv
|
||||
_ZN12MxDirectDraw18GetPrimaryBitDepthEv
|
||||
_ZN12MxDirectDraw5PauseEi
|
||||
_ZN12MxVideoParam13SetDeviceNameEPc
|
||||
_ZN12MxVideoParamC1ERS_
|
||||
_ZN12MxVideoParamC1Ev
|
||||
_ZN12MxVideoParamC2ERS_
|
||||
_ZN12MxVideoParamC2Ev
|
||||
_ZN12MxVideoParamD1Ev
|
||||
_ZN12MxVideoParamD2Ev
|
||||
_ZN12MxVideoParamaSERKS_
|
||||
_ZN12RealtimeView13GetUserMaxLODEv
|
||||
_ZN12RealtimeView13SetUserMaxLODEf
|
||||
_ZN12RealtimeView17GetPartsThresholdEv
|
||||
_ZN12RealtimeView17SetPartsThresholdEf
|
||||
_ZN14MxVideoManager14InvalidateRectER8MxRect32
|
||||
_ZN14MxVideoManager14RealizePaletteEP9MxPalette
|
||||
_ZN15MxVariableTable11GetVariableEPKc
|
||||
_ZN15MxVariableTable11SetVariableEP10MxVariable
|
||||
_ZN15MxVariableTable11SetVariableEPKcS1_ = _ZN15MxVariableTable11SetVariableEPKcS1_
|
||||
;_ZN16LegoInputManager10QueueEventE14NotificationIdhiih
|
||||
_ZN16LegoInputManager10QueueEventE14NotificationIdhiih
|
||||
_ZN16LegoInputManager10UnRegisterEP6MxCore
|
||||
_ZN16LegoInputManager8RegisterEP6MxCore
|
||||
_ZN16LegoVideoManager10MoveCursorEii
|
||||
_ZN16LegoVideoManager14EnableRMDeviceEv
|
||||
_ZN16LegoVideoManager15DisableRMDeviceEv
|
||||
_ZN16LegoVideoManager21EnableFullScreenMovieEhh
|
||||
_ZN17LegoNavController11GetDefaultsEPiPfS1_S1_S1_S1_S1_S1_S1_S1_Ph
|
||||
_ZN17LegoNavController11SetDefaultsEifffffffffh
|
||||
_ZN17LegoPartPresenter26configureLegoPartPresenterEii
|
||||
_ZN17MxCriticalSection10SetDoMutexEv
|
||||
_ZN17MxCriticalSectionC1Ev
|
||||
_ZN17MxCriticalSectionC2Ev
|
||||
_ZN17MxCriticalSectionD1Ev
|
||||
_ZN17MxCriticalSectionD2Ev
|
||||
_ZN17MxOmniCreateFlagsC1Ev
|
||||
_ZN17MxOmniCreateFlagsC2Ev
|
||||
_ZN17MxOmniCreateParamC1EPKcP6HWND__R12MxVideoParam17MxOmniCreateFlags
|
||||
_ZN17MxVideoParamFlagsC1Ev
|
||||
_ZN17MxVideoParamFlagsC2Ev
|
||||
_ZN18LegoModelPresenter27configureLegoModelPresenterEi
|
||||
_ZN18LegoWorldPresenter27configureLegoWorldPresenterEi
|
||||
_ZN19LegoBuildingManager28configureLegoBuildingManagerEi
|
||||
_ZN19MxTransitionManager16SetWaitIndicatorEP16MxVideoPresenter
|
||||
_ZN20LegoAnimationManager29configureLegoAnimationManagerEi
|
||||
_ZN24MxBackgroundAudioManager6EnableEh
|
||||
_ZN6MxCore6NotifyER7MxParam
|
||||
_ZN6MxCoreC1Ev
|
||||
_ZN6MxCoreC2Ev
|
||||
_ZN6MxCoreD0Ev
|
||||
_ZN6MxCoreD1Ev
|
||||
_ZN6MxCoreD2Ev
|
||||
_ZN6MxOmni10SetSound3DEh
|
||||
_ZN6MxOmni11GetInstanceEv
|
||||
_ZN6MxOmni15DestroyInstanceEv
|
||||
_ZN6MxOmni5GetCDEv
|
||||
_ZN6MxOmni5GetHDEv
|
||||
_ZN6MxOmni5SetCDEPKc
|
||||
_ZN6MxOmni5SetHDEPKc
|
||||
_ZN6MxOmni9IsSound3DEv
|
||||
_ZN7LegoROI12SetDisplayBBEi
|
||||
_ZN7LegoROI16configureLegoROIEi
|
||||
_ZN7MxTimer11GetRealTimeEv
|
||||
_ZN8LegoOmni11GetInstanceEv
|
||||
_ZN8LegoOmni11RemoveWorldERK8MxAtomIdi
|
||||
_ZN8LegoOmni14CreateInstanceEv
|
||||
_ZN8LegoOmni15GetCurrPathInfoEPP16LegoPathBoundaryRi
|
||||
_ZN8LegoOmni21CreateBackgroundAudioEv
|
||||
_ZN8MXIOINFOD1Ev
|
||||
_ZN8MXIOINFOD2Ev
|
||||
_ZN8MxAtomIdC1EPKc10LookupMode
|
||||
_ZN8MxAtomIdC2EPKc10LookupMode
|
||||
_ZN8MxAtomIdD1Ev
|
||||
_ZN8MxAtomIdD2Ev
|
||||
_ZN8MxAtomIdaSERKS_
|
||||
_ZN8MxBitmap13CreatePaletteEv
|
||||
_ZN8MxBitmap4ReadEPKc
|
||||
_ZN8MxBitmapC1Ev
|
||||
_ZN8MxBitmapC2Ev
|
||||
_ZN8MxBitmapD0Ev
|
||||
_ZN8MxBitmapD1Ev
|
||||
_ZN8MxBitmapD2Ev
|
||||
_ZN8MxDSFile13GetBufferSizeEv
|
||||
_ZN8MxDSFile19GetStreamBuffersNumEv
|
||||
_ZN8MxDSFile4OpenEj
|
||||
_ZN8MxDSFile4ReadEPhj
|
||||
_ZN8MxDSFile4SeekEii
|
||||
_ZN8MxDSFile5CloseEv
|
||||
_ZN8MxDSFileC1EPKcj
|
||||
_ZN8MxDSFileC2EPKcj
|
||||
_ZN8MxDSFileD0Ev
|
||||
_ZN8MxDSFileD1Ev
|
||||
_ZN8MxDSFileD2Ev
|
||||
_ZN8MxStringC1ERKS_
|
||||
_ZN8MxStringC2ERKS_
|
||||
_ZN8MxStringD0Ev
|
||||
_ZN8MxStringD1Ev
|
||||
_ZN8MxStringD2Ev
|
||||
_ZN8MxStringaSEPKc
|
||||
_ZN9MxPalette6DetachEv
|
||||
_ZN9MxPaletteeqERS_
|
||||
125
LEGO1/define.cpp
Normal file
125
LEGO1/define.cpp
Normal file
@ -0,0 +1,125 @@
|
||||
#include "define.h"
|
||||
|
||||
// GLOBAL: LEGO1 0x10102048
|
||||
// STRING: LEGO1 0x10102040
|
||||
const char* g_strACTION = "ACTION";
|
||||
|
||||
// GLOBAL: LEGO1 0x1010204c
|
||||
// STRING: LEGO1 0x10102034
|
||||
const char* g_strANIMATION = "ANIMATION";
|
||||
|
||||
// GLOBAL: LEGO1 0x10102050
|
||||
// STRING: LEGO1 0x10102024
|
||||
const char* g_strATTACH_CAMERA = "ATTACH_CAMERA";
|
||||
|
||||
// GLOBAL: LEGO1 0x10102054
|
||||
// STRING: LEGO1 0x10102018
|
||||
const char* g_strAUTO_CREATE = "AUTO_CREATE";
|
||||
|
||||
// GLOBAL: LEGO1 0x1010205c
|
||||
// STRING: LEGO1 0x10102000
|
||||
const char* g_strBOTTOM_TO_TOP = "BOTTOM_TO_TOP";
|
||||
|
||||
// GLOBAL: LEGO1 0x10102064
|
||||
// STRING: LEGO1 0x10101fec
|
||||
const char* g_strSTYLE = "STYLE";
|
||||
|
||||
// GLOBAL: LEGO1 0x10102068
|
||||
// STRING: LEGO1 0x10101fe4
|
||||
const char* g_strGRID = "GRID";
|
||||
|
||||
// GLOBAL: LEGO1 0x1010206c
|
||||
// STRING: LEGO1 0x10101fe0
|
||||
const char* g_strMAP = "MAP";
|
||||
|
||||
// GLOBAL: LEGO1 0x10102074
|
||||
// STRING: LEGO1 0x10101fd0
|
||||
const char* g_strTOGGLE = "TOGGLE";
|
||||
|
||||
// GLOBAL: LEGO1 0x10102078
|
||||
// STRING: LEGO1 0x10101fc4
|
||||
const char* g_strDB_CREATE = "DB_CREATE";
|
||||
|
||||
// GLOBAL: LEGO1 0x1010207c
|
||||
// STRING: LEGO1 0x10101fb4
|
||||
const char* g_strFILLER_INDEX = "FILLER_INDEX";
|
||||
|
||||
// GLOBAL: LEGO1 0x10102080
|
||||
// STRING: LEGO1 0x100f4368
|
||||
const char* g_strFROM_PARENT = "FROM_PARENT";
|
||||
|
||||
// GLOBAL: LEGO1 0x10102084
|
||||
// STRING: LEGO1 0x10101fa4
|
||||
const char* g_strHIDE_ON_STOP = "HIDE_ON_STOP";
|
||||
|
||||
// GLOBAL: LEGO1 0x10102088
|
||||
// STRING: LEGO1 0x10101f94
|
||||
const char* g_strLEFT_TO_RIGHT = "LEFT_TO_RIGHT";
|
||||
|
||||
// GLOBAL: LEGO1 0x10102094
|
||||
// STRING: LEGO1 0x10101f70
|
||||
const char* g_strTYPE = "TYPE";
|
||||
|
||||
// GLOBAL: LEGO1 0x10102098
|
||||
// STRING: LEGO1 0x10101f60
|
||||
const char* g_strMUST_SUCCEED = "MUST_SUCCEED";
|
||||
|
||||
// GLOBAL: LEGO1 0x1010209c
|
||||
// STRING: LEGO1 0x10101f58
|
||||
const char* g_strOBJECT = "OBJECT";
|
||||
|
||||
// GLOBAL: LEGO1 0x101020a8
|
||||
// STRING: LEGO1 0x10101f38
|
||||
const char* g_strPTATCAM = "PTATCAM";
|
||||
|
||||
// GLOBAL: LEGO1 0x101020ac
|
||||
// STRING: LEGO1 0x10101f28
|
||||
const char* g_strRIGHT_TO_LEFT = "RIGHT_TO_LEFT";
|
||||
|
||||
// GLOBAL: LEGO1 0x101020b0
|
||||
// STRING: LEGO1 0x10101f20
|
||||
const char* g_strSOUND = "SOUND";
|
||||
|
||||
// GLOBAL: LEGO1 0x101020b4
|
||||
// STRING: LEGO1 0x10101f18
|
||||
const char* g_strMUTE = "MUTE";
|
||||
|
||||
// GLOBAL: LEGO1 0x101020b8
|
||||
// STRING: LEGO1 0x100f09cc
|
||||
const char* g_strSPEED = "SPEED";
|
||||
|
||||
// GLOBAL: LEGO1 0x101020bc
|
||||
// STRING: LEGO1 0x10101f10
|
||||
const char* g_strSUBST = "SUBST";
|
||||
|
||||
// GLOBAL: LEGO1 0x101020c0
|
||||
// STRING: LEGO1 0x10101f00
|
||||
const char* g_strTOP_TO_BOTTOM = "TOP_TO_BOTTOM";
|
||||
|
||||
// GLOBAL: LEGO1 0x101020c4
|
||||
// STRING: LEGO1 0x10101ef0
|
||||
const char* g_strTRIGGERS_SOURCE = "TRIGGERS_SOURCE";
|
||||
|
||||
// GLOBAL: LEGO1 0x101020c8
|
||||
// STRING: LEGO1 0x10101ee4
|
||||
const char* g_strVARIABLE = "VARIABLE";
|
||||
|
||||
// GLOBAL: LEGO1 0x101020cc
|
||||
// STRING: LEGO1 0x100f3808
|
||||
const char* g_strVISIBILITY = "VISIBILITY";
|
||||
|
||||
// GLOBAL: LEGO1 0x101020d0
|
||||
// STRING: LEGO1 0x10101edc
|
||||
const char* g_strWORLD = "WORLD";
|
||||
|
||||
// GLOBAL: LEGO1 0x101020d4
|
||||
// STRING: LEGO1 0x10101ed0
|
||||
const char* g_strANIMMAN_ID = "ANIMMAN_ID";
|
||||
|
||||
// GLOBAL: LEGO1 0x101020e0
|
||||
// STRING: LEGO1 0x10101eb0
|
||||
const char* g_strBMP_ISMAP = "BMP_ISMAP";
|
||||
|
||||
// GLOBAL: LEGO1 0x101020e4
|
||||
// STRING: LEGO1 0x10101eac
|
||||
const char* g_parseExtraTokens = ":;";
|
||||
38
LEGO1/define.h
Normal file
38
LEGO1/define.h
Normal file
@ -0,0 +1,38 @@
|
||||
#ifndef DEFINE_H
|
||||
#define DEFINE_H
|
||||
|
||||
#include "mxtypes.h"
|
||||
|
||||
extern const char* g_parseExtraTokens;
|
||||
extern const char* g_strWORLD;
|
||||
extern const char* g_strSOUND;
|
||||
extern const char* g_strOBJECT;
|
||||
extern const char* g_strANIMATION;
|
||||
extern const char* g_strACTION;
|
||||
extern const char* g_strVISIBILITY;
|
||||
extern const char* g_strSPEED;
|
||||
extern const char* g_strATTACH_CAMERA;
|
||||
extern const char* g_strMUTE;
|
||||
extern const char* g_strANIMMAN_ID;
|
||||
extern const char* g_strFROM_PARENT;
|
||||
extern const char* g_strHIDE_ON_STOP;
|
||||
extern const char* g_strMUST_SUCCEED;
|
||||
extern const char* g_strSUBST;
|
||||
extern const char* g_strTRIGGERS_SOURCE;
|
||||
extern const char* g_strPTATCAM;
|
||||
extern const char* g_strTOGGLE;
|
||||
extern const char* g_strMAP;
|
||||
extern const char* g_strGRID;
|
||||
extern const char* g_strSTYLE;
|
||||
extern const char* g_strTYPE;
|
||||
extern const char* g_strLEFT_TO_RIGHT;
|
||||
extern const char* g_strRIGHT_TO_LEFT;
|
||||
extern const char* g_strBOTTOM_TO_TOP;
|
||||
extern const char* g_strTOP_TO_BOTTOM;
|
||||
extern const char* g_strFILLER_INDEX;
|
||||
extern const char* g_strVARIABLE;
|
||||
extern const char* g_strBMP_ISMAP;
|
||||
extern const char* g_strAUTO_CREATE;
|
||||
extern const char* g_strDB_CREATE;
|
||||
|
||||
#endif // DEFINE_H
|
||||
136
LEGO1/lego/legoomni/include/act1state.h
Normal file
136
LEGO1/lego/legoomni/include/act1state.h
Normal file
@ -0,0 +1,136 @@
|
||||
#ifndef ACT1STATE_H
|
||||
#define ACT1STATE_H
|
||||
|
||||
#include "legostate.h"
|
||||
|
||||
class LegoNamedTexture;
|
||||
|
||||
// VTABLE: LEGO1 0x100d7028
|
||||
// SIZE 0x26c
|
||||
class Act1State : public LegoState {
|
||||
public:
|
||||
enum ElevatorFloor {
|
||||
c_floor1 = 1,
|
||||
c_floor2,
|
||||
c_floor3
|
||||
};
|
||||
|
||||
enum {
|
||||
e_unk953 = 953,
|
||||
e_unk954 = 954,
|
||||
e_unk955 = 955,
|
||||
};
|
||||
|
||||
// SIZE 0x4c
|
||||
class NamedPlane {
|
||||
public:
|
||||
// FUNCTION: LEGO1 0x10033800
|
||||
NamedPlane() {}
|
||||
|
||||
inline void SetName(const char* p_name) { m_name = p_name; }
|
||||
inline const MxString* GetName() const { return &m_name; }
|
||||
|
||||
// FUNCTION: LEGO1 0x100344d0
|
||||
MxResult Serialize(LegoFile* p_file)
|
||||
{
|
||||
if (p_file->IsWriteMode()) {
|
||||
p_file->WriteString(m_name);
|
||||
p_file->WriteVector3(m_point1);
|
||||
p_file->WriteVector3(m_point2);
|
||||
p_file->WriteVector3(m_point3);
|
||||
}
|
||||
else if (p_file->IsReadMode()) {
|
||||
p_file->ReadString(m_name);
|
||||
p_file->ReadVector3(m_point1);
|
||||
p_file->ReadVector3(m_point2);
|
||||
p_file->ReadVector3(m_point3);
|
||||
}
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
private:
|
||||
MxString m_name; // 0x00
|
||||
Mx3DPointFloat m_point1; // 0x10
|
||||
Mx3DPointFloat m_point2; // 0x24
|
||||
Mx3DPointFloat m_point3; // 0x38
|
||||
};
|
||||
|
||||
Act1State();
|
||||
|
||||
// FUNCTION: LEGO1 0x100338a0
|
||||
inline const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// STRING: LEGO1 0x100f0154
|
||||
return "Act1State";
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100338b0
|
||||
inline MxBool IsA(const char* p_name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(p_name, Act1State::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxBool SetFlag() override; // vtable+0x18
|
||||
MxResult Serialize(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
|
||||
void FUN_10034660();
|
||||
void FUN_100346a0();
|
||||
void FUN_10034b60();
|
||||
void FUN_10034d00();
|
||||
|
||||
inline MxU32 GetUnknown18() { return m_unk0x018; }
|
||||
inline ElevatorFloor GetElevatorFloor() { return (ElevatorFloor) m_elevFloor; }
|
||||
inline MxU8 GetUnknown21() { return m_unk0x021; }
|
||||
|
||||
inline void SetUnknown18(MxU32 p_unk0x18) { m_unk0x018 = p_unk0x18; }
|
||||
inline void SetElevatorFloor(ElevatorFloor p_elevFloor) { m_elevFloor = p_elevFloor; }
|
||||
inline void SetUnknown21(MxU8 p_unk0x21) { m_unk0x021 = p_unk0x21; }
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10033960
|
||||
// Act1State::`scalar deleting destructor'
|
||||
|
||||
friend class Isle;
|
||||
friend class SkateBoard;
|
||||
|
||||
protected:
|
||||
MxS32* m_unk0x008; // 0x008 FIXME: count for m_unk0x008
|
||||
MxS16 m_unk0x00c; // 0x00c
|
||||
undefined2 m_unk0x00e; // 0x00e
|
||||
undefined2 m_unk0x010; // 0x010
|
||||
undefined m_unk0x012; // 0x012
|
||||
MxS32 m_unk0x014; // 0x014
|
||||
MxU32 m_unk0x018; // 0x018
|
||||
MxS16 m_elevFloor; // 0x01c
|
||||
MxBool m_unk0x01e; // 0x01e
|
||||
MxBool m_unk0x01f; // 0x01f
|
||||
MxBool m_planeActive; // 0x020
|
||||
undefined m_unk0x021; // 0x021
|
||||
MxBool m_unk0x022; // 0x022
|
||||
undefined m_unk0x023; // 0x023
|
||||
NamedPlane m_unk0x024; // 0x024
|
||||
NamedPlane m_unk0x070; // 0x070
|
||||
NamedPlane m_unk0x0bc; // 0x0bc
|
||||
NamedPlane m_unk0x108; // 0x108
|
||||
LegoNamedTexture* m_unk0x154; // 0x154
|
||||
LegoNamedTexture* m_unk0x158; // 0x158
|
||||
LegoNamedTexture* m_unk0x15c; // 0x15c
|
||||
MxCore* m_unk0x160; // 0x160
|
||||
NamedPlane m_unk0x164; // 0x164
|
||||
LegoNamedTexture* m_unk0x1b0; // 0x1b0
|
||||
LegoNamedTexture* m_unk0x1b4; // 0x1b4
|
||||
MxCore* m_unk0x1b8; // 0x1b8
|
||||
NamedPlane m_unk0x1bc; // 0x1bc
|
||||
LegoNamedTexture* m_unk0x208; // 0x208
|
||||
MxCore* m_unk0x20c; // 0x20c
|
||||
NamedPlane m_unk0x210; // 0x210
|
||||
LegoNamedTexture* m_unk0x25c; // 0x25c
|
||||
LegoNamedTexture* m_unk0x260; // 0x260
|
||||
LegoNamedTexture* m_unk0x264; // 0x264
|
||||
MxCore* m_unk0x268; // 0x268
|
||||
};
|
||||
|
||||
// FUNCTION: LEGO1 0x10033a70
|
||||
// Act1State::NamedPlane::~NamedPlane
|
||||
|
||||
#endif // ACT1STATE_H
|
||||
28
LEGO1/lego/legoomni/include/act2actor.h
Normal file
28
LEGO1/lego/legoomni/include/act2actor.h
Normal file
@ -0,0 +1,28 @@
|
||||
#ifndef ACT2ACTOR_H
|
||||
#define ACT2ACTOR_H
|
||||
|
||||
#include "legoanimactor.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d6078 LegoPathActor
|
||||
// VTABLE: LEGO1 0x100d6148 LegoAnimActor
|
||||
// SIZE 0x1a8
|
||||
class Act2Actor : public LegoAnimActor {
|
||||
public:
|
||||
Act2Actor();
|
||||
|
||||
void SetROI(LegoROI* p_roi, MxBool p_bool1, MxBool p_bool2) override; // vtable+0x24
|
||||
void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30
|
||||
MxS32 VTable0x68(Vector3&, Vector3&, Vector3&) override; // vtable+0x68
|
||||
void VTable0x70(float p_und) override; // vtable+0x70
|
||||
MxResult VTable0x94(LegoPathActor*, MxBool) override; // vtable+0x94
|
||||
MxResult WaitForAnimation() override; // vtable+0x9c
|
||||
MxS32 VTable0xa0() override; // vtable+0xa0
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1001a0a0
|
||||
// Act2Actor::`scalar deleting destructor'
|
||||
|
||||
private:
|
||||
undefined m_unk0x1c[0x34]; // 0x1c
|
||||
};
|
||||
|
||||
#endif // ACT2ACTOR_H
|
||||
43
LEGO1/lego/legoomni/include/act2brick.h
Normal file
43
LEGO1/lego/legoomni/include/act2brick.h
Normal file
@ -0,0 +1,43 @@
|
||||
#ifndef ACT2BRICK_H
|
||||
#define ACT2BRICK_H
|
||||
|
||||
#include "legopathactor.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d9b60
|
||||
// SIZE 0x194
|
||||
class Act2Brick : public LegoPathActor {
|
||||
public:
|
||||
Act2Brick();
|
||||
~Act2Brick() override; // vtable+0x00
|
||||
|
||||
MxLong Notify(MxParam& p_param) override; // vtable+0x04
|
||||
MxResult Tickle() override; // vtable+0x08
|
||||
|
||||
// FUNCTION: LEGO1 0x1007a360
|
||||
inline const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// STRING: LEGO1 0x100f0438
|
||||
return "Act2Brick";
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1007a370
|
||||
inline MxBool IsA(const char* p_name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(p_name, Act2Brick::ClassName()) || LegoEntity::IsA(p_name);
|
||||
}
|
||||
|
||||
MxResult VTable0x94(LegoPathActor* p_actor, MxBool p_bool) override; // vtable+0x94
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1007a450
|
||||
// Act2Brick::`scalar deleting destructor'
|
||||
|
||||
private:
|
||||
undefined4 m_unk0x154; // 0x154
|
||||
undefined m_unk0x158[0x0c]; // 0x158
|
||||
undefined4 m_unk0x164; // 0x164
|
||||
Mx3DPointFloat m_unk0x168; // 0x168
|
||||
Mx3DPointFloat m_unk0x17c; // 0x17c
|
||||
undefined4 m_unk0x190; // 0x190
|
||||
};
|
||||
|
||||
#endif // ACT2BRICK_H
|
||||
29
LEGO1/lego/legoomni/include/act2policestation.h
Normal file
29
LEGO1/lego/legoomni/include/act2policestation.h
Normal file
@ -0,0 +1,29 @@
|
||||
#ifndef ACT2POLICESTATION_H
|
||||
#define ACT2POLICESTATION_H
|
||||
|
||||
#include "legoentity.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d53a8
|
||||
// SIZE 0x68
|
||||
class Act2PoliceStation : public LegoEntity {
|
||||
public:
|
||||
MxLong Notify(MxParam& p_param) override; // vtable+0x04
|
||||
|
||||
// FUNCTION: LEGO1 0x1000e200
|
||||
inline const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// STRING: LEGO1 0x100f03fc
|
||||
return "Act2PoliceStation";
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1000e210
|
||||
inline MxBool IsA(const char* p_name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(p_name, Act2PoliceStation::ClassName()) || LegoEntity::IsA(p_name);
|
||||
}
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1000f610
|
||||
// Act2PoliceStation::`scalar deleting destructor'
|
||||
};
|
||||
|
||||
#endif // ACT2POLICESTATION_H
|
||||
56
LEGO1/lego/legoomni/include/act3.h
Normal file
56
LEGO1/lego/legoomni/include/act3.h
Normal file
@ -0,0 +1,56 @@
|
||||
#ifndef ACT3_H
|
||||
#define ACT3_H
|
||||
|
||||
#include "legoworld.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d9628
|
||||
// SIZE 0x4274
|
||||
class Act3 : public LegoWorld {
|
||||
public:
|
||||
Act3();
|
||||
|
||||
~Act3() override; // vtable+00
|
||||
|
||||
MxLong Notify(MxParam& p_param) override; // vtable+0x04
|
||||
MxResult Tickle() override; // vtable+0x08
|
||||
|
||||
// FUNCTION: LEGO1 0x10072510
|
||||
inline const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// STRING: LEGO1 0x100f013c
|
||||
return "Act3";
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10072520
|
||||
inline MxBool IsA(const char* p_name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(p_name, Act3::ClassName()) || LegoWorld::IsA(p_name);
|
||||
}
|
||||
|
||||
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
|
||||
void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c
|
||||
void ReadyWorld() override; // vtable+0x50
|
||||
MxBool VTable0x5c() override; // vtable+0x5c
|
||||
void VTable0x60() override; // vtable+0x60
|
||||
MxBool VTable0x64() override; // vtable+0x64
|
||||
void Enable(MxBool p_enable) override; // vtable+0x68
|
||||
|
||||
inline void SetUnknown420c(MxEntity* p_entity) { m_unk0x420c = p_entity; }
|
||||
inline void SetUnknown4270(MxU32 p_unk0x4270) { m_unk0x4270 = p_unk0x4270; }
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10072630
|
||||
// Act3::`scalar deleting destructor'
|
||||
|
||||
MxBool FUN_100727e0(LegoPathController*, Mx3DPointFloat& p_loc, Mx3DPointFloat& p_dir, Mx3DPointFloat& p_up);
|
||||
MxBool FUN_10072980(LegoPathController*, Mx3DPointFloat& p_loc, Mx3DPointFloat& p_dir, Mx3DPointFloat& p_up);
|
||||
void FUN_10073400();
|
||||
void FUN_10073430();
|
||||
|
||||
protected:
|
||||
undefined m_unk0xf8[0x4114]; // 0xf8
|
||||
MxEntity* m_unk0x420c; // 0x420c
|
||||
undefined m_unk0x4210[0x60]; // 0x4210
|
||||
MxU32 m_unk0x4270; // 0x4270
|
||||
};
|
||||
|
||||
#endif // ACT3_H
|
||||
30
LEGO1/lego/legoomni/include/act3actor.h
Normal file
30
LEGO1/lego/legoomni/include/act3actor.h
Normal file
@ -0,0 +1,30 @@
|
||||
#ifndef ACT3ACTOR_H
|
||||
#define ACT3ACTOR_H
|
||||
|
||||
#include "legoanimactor.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d7668 LegoPathActor
|
||||
// VTABLE: LEGO1 0x100d7738 LegoAnimActor
|
||||
// SIZE 0x178
|
||||
class Act3Actor : public LegoAnimActor {
|
||||
public:
|
||||
Act3Actor();
|
||||
|
||||
// FUNCTION: LEGO1 0x100431b0
|
||||
inline const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// STRING: LEGO1 0x100f03ac
|
||||
return "Act3Actor";
|
||||
}
|
||||
|
||||
MxU32 VTable0x90(float, Matrix4&) override; // vtable+0x90
|
||||
MxResult VTable0x94(LegoPathActor*, MxBool) override; // vtable+0x94
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10043330
|
||||
// Act3Actor::`scalar deleting destructor'
|
||||
|
||||
private:
|
||||
undefined4 m_unk0x1c; // 0x1c
|
||||
};
|
||||
|
||||
#endif // ACT3ACTOR_H
|
||||
42
LEGO1/lego/legoomni/include/act3shark.h
Normal file
42
LEGO1/lego/legoomni/include/act3shark.h
Normal file
@ -0,0 +1,42 @@
|
||||
#ifndef ACT3SHARK_H
|
||||
#define ACT3SHARK_H
|
||||
|
||||
#include "legoanimactor.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d7920 LegoPathActor
|
||||
// VTABLE: LEGO1 0x100d79f0 LegoAnimActor
|
||||
// SIZE 0x1a8
|
||||
class Act3Shark : public LegoAnimActor {
|
||||
public:
|
||||
Act3Shark();
|
||||
|
||||
// FUNCTION: LEGO1 0x100430d0
|
||||
inline const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// STRING: LEGO1 0x100f03a0
|
||||
return "Act3Shark";
|
||||
}
|
||||
|
||||
void ParseAction(char*) override; // vtable+0x20
|
||||
void VTable0x70(float p_float) override; // vtable+0x70
|
||||
|
||||
// LegoAnimActor vtable
|
||||
virtual MxResult FUN_10042ce0(void*); // vtable+0x10
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10043030
|
||||
// Act3Shark::`scalar deleting destructor'
|
||||
|
||||
private:
|
||||
list<void*> m_unk0x1c; // 0x1c
|
||||
undefined4 m_unk0x28; // 0x28
|
||||
undefined4 m_unk0x2c; // 0x2c
|
||||
undefined m_unk0x30[0x0c]; // 0x30
|
||||
Mx3DPointFloat m_unk0x3c; // 0x3c
|
||||
};
|
||||
|
||||
// STUB: LEGO1 0x10042c90
|
||||
// List<void *>::~List<void *>
|
||||
// TODO: Update once type is known.
|
||||
// STUB to resolve diff in scalar dtor and not create a new one.
|
||||
|
||||
#endif // ACT3SHARK_H
|
||||
36
LEGO1/lego/legoomni/include/act3state.h
Normal file
36
LEGO1/lego/legoomni/include/act3state.h
Normal file
@ -0,0 +1,36 @@
|
||||
#ifndef ACT3STATE_H
|
||||
#define ACT3STATE_H
|
||||
|
||||
#include "legostate.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d4fc8
|
||||
// SIZE 0x0c
|
||||
class Act3State : public LegoState {
|
||||
public:
|
||||
inline Act3State() { m_unk0x08 = 0; }
|
||||
|
||||
// FUNCTION: LEGO1 0x1000e300
|
||||
inline const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// STRING: LEGO1 0x100f03f0
|
||||
return "Act3State";
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1000e310
|
||||
inline MxBool IsA(const char* p_name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(p_name, Act3State::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxBool IsSerializable() override;
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1000e3c0
|
||||
// Act3State::`scalar deleting destructor'
|
||||
|
||||
inline undefined4 GetUnknown0x08() { return m_unk0x08; }
|
||||
|
||||
private:
|
||||
undefined4 m_unk0x08; // 0x08
|
||||
};
|
||||
|
||||
#endif // ACT3STATE_H
|
||||
842
LEGO1/lego/legoomni/include/actions/act2main_actions.h
Normal file
842
LEGO1/lego/legoomni/include/actions/act2main_actions.h
Normal file
@ -0,0 +1,842 @@
|
||||
// This file was automatically generated by the actionheadergen tool.
|
||||
// Please do not manually edit this file.
|
||||
#ifndef ACT2MAIN_ACTIONS_H
|
||||
#define ACT2MAIN_ACTIONS_H
|
||||
|
||||
namespace Act2mainScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int {
|
||||
#else
|
||||
enum Script {
|
||||
#endif
|
||||
c_noneAct2main = -1,
|
||||
|
||||
c__Act2Main = 0,
|
||||
|
||||
c_Brickster_Actor = 8,
|
||||
c_Brickster_Model = 9,
|
||||
|
||||
c_Ambul_Actor = 18,
|
||||
c_Ambul_Model = 19,
|
||||
c_Ambul_Anim0 = 20,
|
||||
|
||||
c_Ambul_Anim2 = 26,
|
||||
c_Ambul_Anim3 = 27,
|
||||
c_BrShoot = 28,
|
||||
c_Act2Path = 29,
|
||||
|
||||
c_xarrow_PlayWav = 45,
|
||||
c_LoadCrashSound = 46,
|
||||
c_LoadHitSound = 47,
|
||||
c_LoadBrickPickSound = 48,
|
||||
c_LoadBrickMusic = 49,
|
||||
|
||||
c_SetAnimationFile = 88,
|
||||
c_InfCtr = 89,
|
||||
c_InfCtrModel = 90,
|
||||
c_polices_entity = 91,
|
||||
c_polices = 92,
|
||||
c_tBrick1_entity = 93,
|
||||
c_tBrick1 = 94,
|
||||
c_tBrick2_entity = 95,
|
||||
c_tBrick2 = 96,
|
||||
c_tBrick3_entity = 97,
|
||||
c_tBrick3 = 98,
|
||||
c_tBrick4_entity = 99,
|
||||
c_tBrick4 = 100,
|
||||
c_hBrick1_entity = 101,
|
||||
c_hBrick1 = 102,
|
||||
c_hBrick2_entity = 103,
|
||||
c_hBrick2 = 104,
|
||||
c_hBrick3_entity = 105,
|
||||
c_hBrick3 = 106,
|
||||
c_hBrick4_entity = 107,
|
||||
c_hBrick4 = 108,
|
||||
c_Block01_entity = 109,
|
||||
c_Block01 = 110,
|
||||
c_Block02_entity = 111,
|
||||
c_Block02 = 112,
|
||||
c_CNs001xx = 113,
|
||||
c_CNs002xx = 114,
|
||||
c_CNs003xx = 115,
|
||||
c_CNs004xx = 116,
|
||||
c_CNs005xx = 117,
|
||||
c_CNs007xx = 118,
|
||||
c_CNs006xx = 119,
|
||||
c_CNs008xx = 120,
|
||||
c_CNs009xx = 121,
|
||||
c_CNs010xx = 122,
|
||||
c_CNs011xx = 123,
|
||||
c_CNs012xx = 124,
|
||||
c_CNs001Pe = 125,
|
||||
c_CNs002Pe = 126,
|
||||
c_CNs003Pe = 127,
|
||||
c_CNs004Pe = 128,
|
||||
c_CNs005Pe = 129,
|
||||
c_CNs007Pe = 130,
|
||||
c_CNs006Pe = 131,
|
||||
c_CNs008Pe = 132,
|
||||
c_CNs009Pe = 133,
|
||||
c_CNs010Pe = 134,
|
||||
c_CNs001Ma = 135,
|
||||
c_CNs002Ma = 136,
|
||||
c_CNs003Ma = 137,
|
||||
c_CNs004Ma = 138,
|
||||
c_CNs005Ma = 139,
|
||||
c_CNs007Ma = 140,
|
||||
c_CNs006Ma = 141,
|
||||
c_CNs008Ma = 142,
|
||||
c_CNs009Ma = 143,
|
||||
c_CNs010Ma = 144,
|
||||
c_CNs011Ma = 145,
|
||||
c_CNs012Ma = 146,
|
||||
c_CNs013Ma = 147,
|
||||
c_CNs0x4Ma = 148,
|
||||
c_CNs001Pa = 149,
|
||||
c_CNs002Pa = 150,
|
||||
c_CNs003Pa = 151,
|
||||
c_CNs004Pa = 152,
|
||||
c_CNs005Pa = 153,
|
||||
c_CNs007Pa = 154,
|
||||
c_CNs006Pa = 155,
|
||||
c_CNs008Pa = 156,
|
||||
c_CNs009Pa = 157,
|
||||
c_CNs010Pa = 158,
|
||||
c_CNs011Pa = 159,
|
||||
c_CNs012Pa = 160,
|
||||
c_CNs013Pa = 161,
|
||||
c_CNs0x4Pa = 162,
|
||||
c_CNs001Ni = 163,
|
||||
c_CNs002Ni = 164,
|
||||
c_CNs003Ni = 165,
|
||||
c_CNs004Ni = 166,
|
||||
c_CNs005Ni = 167,
|
||||
c_CNs007Ni = 168,
|
||||
c_CNs006Ni = 169,
|
||||
c_CNs008Ni = 170,
|
||||
c_CNs009Ni = 171,
|
||||
c_CNs010Ni = 172,
|
||||
c_CNs011Ni = 173,
|
||||
c_CNsx11Ni = 174,
|
||||
c_CNs001La = 175,
|
||||
c_CNs002La = 176,
|
||||
c_CNs003La = 177,
|
||||
c_CNs004La = 178,
|
||||
c_CNs005La = 179,
|
||||
c_CNs007La = 180,
|
||||
c_CNs006La = 181,
|
||||
c_CNs008La = 182,
|
||||
c_CNs009La = 183,
|
||||
c_CNs010La = 184,
|
||||
c_CNs011La = 185,
|
||||
c_CNsx11La = 186,
|
||||
c_CNs001Br = 187,
|
||||
c_CNs002Br = 188,
|
||||
c_CNs003Br = 189,
|
||||
c_CNs004Br = 190,
|
||||
c_CNs005Br = 191,
|
||||
c_CNs007Br = 192,
|
||||
c_CNs006Br = 193,
|
||||
c_CNs008Br = 194,
|
||||
c_CNs009Br = 195,
|
||||
c_CNs010Br = 196,
|
||||
c_CNs011Br = 197,
|
||||
c_CNs012Br = 198,
|
||||
c_CNs013Br = 199,
|
||||
|
||||
c_CNs014Br = 201,
|
||||
c_CNs900Br = 202,
|
||||
c_CNs901BR = 203,
|
||||
c_CNs001Bd = 204,
|
||||
c_CNs001Pg = 205,
|
||||
c_CNs001Rd = 206,
|
||||
c_CNs001Sy = 207,
|
||||
c_CNs001Sk = 208,
|
||||
c_BNsAss01 = 209,
|
||||
c_BadEnd_Movie = 210,
|
||||
c_BNsAss02 = 211,
|
||||
c_BNsAss03 = 212,
|
||||
c_BNsDis01 = 213,
|
||||
c_BNsDis02 = 214,
|
||||
c_BNsDis03 = 215,
|
||||
c_crash5_PlayWav = 216,
|
||||
c_s12_crash_PlayWav = 217,
|
||||
c_NNs001Br_Wav = 218,
|
||||
c_NNs001Br_Anim = 219,
|
||||
c_BadEnd_Wave = 220,
|
||||
c_BadEnd_Smk = 221,
|
||||
c_snsx50bu_Wav_500 = 222,
|
||||
c_snsx50bu_Pho_500 = 223,
|
||||
c_snsx50bu_0_sfx = 224,
|
||||
c_snsx50bu_1_sfx = 225,
|
||||
c_snsx50bu_2_sfx = 226,
|
||||
c_snsx50bu_Anim = 227,
|
||||
c_snsx51bu_Wav_501 = 228,
|
||||
c_snsx51bu_Pho_501 = 229,
|
||||
c_snsx51bu_0_sfx = 230,
|
||||
c_snsx51bu_1_sfx = 231,
|
||||
c_snsx51bu_2_sfx = 232,
|
||||
c_snsx51bu_Anim = 233,
|
||||
c_SNSX29NU_Wav_502 = 234,
|
||||
c_SNSX29NU_Pho_502 = 235,
|
||||
c_snsx29nu_0_sfx = 236,
|
||||
c_snsx29nu_1_sfx = 237,
|
||||
c_snsx29nu_2_sfx = 238,
|
||||
c_snsx29nu_3_sfx = 239,
|
||||
c_BldgCrash = 240,
|
||||
c_NNs001Br_RunAnim = 241,
|
||||
c_snsx29nu_Anim = 242,
|
||||
c_SNSX30NU_Wav_503 = 243,
|
||||
c_SNSX30NU_Pho_503 = 244,
|
||||
c_snsx30nu_0_sfx = 245,
|
||||
c_snsx30nu_1_sfx = 246,
|
||||
c_snsx30nu_2_sfx = 247,
|
||||
c_snsx30nu_Anim = 248,
|
||||
c_SNSX33NA_Wav_504 = 249,
|
||||
c_SNSX33NA_Pho_504 = 250,
|
||||
c_snsx33na_0_sfx = 251,
|
||||
c_snsx33na_1_sfx = 252,
|
||||
c_snsx33na_2_sfx = 253,
|
||||
c_snsx33na_3_sfx = 254,
|
||||
c_VOhead0_PlayWav = 255,
|
||||
c_VOhead1_PlayWav = 256,
|
||||
c_snsx33na_4_sfx = 257,
|
||||
c_snsx33na_Anim = 258,
|
||||
c_SNSX34NA_Wav_505 = 259,
|
||||
c_VOinterrupt0_PlayWav = 260,
|
||||
c_VOinterrupt1_PlayWav = 261,
|
||||
c_VOinterrupt2_PlayWav = 262,
|
||||
c_VOinterrupt3_PlayWav = 263,
|
||||
c_SNSX34NA_Pho_505 = 264,
|
||||
c_snsx34na_0_sfx = 265,
|
||||
c_snsx34na_1_sfx = 266,
|
||||
c_snsx34na_2_sfx = 267,
|
||||
c_snsx34na_3_sfx = 268,
|
||||
c_snsx34na_4_sfx = 269,
|
||||
c_VObehind0_PlayWav = 270,
|
||||
c_VObehind1_PlayWav = 271,
|
||||
c_VObehind2_PlayWav = 272,
|
||||
c_VObehind3_PlayWav = 273,
|
||||
c_snsx34na_Anim = 274,
|
||||
c_tns001br_0_sfx = 275,
|
||||
c_tns001br_1_sfx = 276,
|
||||
c_tns001br_Anim = 277,
|
||||
c_tns005br_Wav_507 = 278,
|
||||
c_tns005br_Pho_507 = 279,
|
||||
c_VOhide_PlayWav = 280,
|
||||
c_tns002br_Wav_507 = 281,
|
||||
c_tns002br_Pho_507 = 282,
|
||||
c_tns002br_0_sfx = 283,
|
||||
c_tns002br_1_sfx = 284,
|
||||
c_tns002br_2_sfx = 285,
|
||||
c_tns002br_3_sfx = 286,
|
||||
c_tns002br_4_sfx = 287,
|
||||
c_tns002br_5_sfx = 288,
|
||||
c_tns002br_6_sfx = 289,
|
||||
c_tns002br_Anim = 290,
|
||||
c_tns006br_Wav_508 = 291,
|
||||
c_tns006br_Pho_508 = 292,
|
||||
c_tns003br_Wav_508 = 293,
|
||||
c_tns003br_Pho_508 = 294,
|
||||
c_tns003br_0_sfx = 295,
|
||||
c_tns003br_1_sfx = 296,
|
||||
c_tns003br_2_sfx = 297,
|
||||
c_tns003br_3_sfx = 298,
|
||||
c_tns003br_4_sfx = 299,
|
||||
|
||||
c_tns003br_Anim = 304,
|
||||
c_tns007br_Wav_509 = 305,
|
||||
c_tns007br_Pho_509 = 306,
|
||||
c_tns004br_Wav_509 = 307,
|
||||
c_tns004br_Pho_509 = 308,
|
||||
c_tns004br_0_sfx = 309,
|
||||
c_tns004br_1_sfx = 310,
|
||||
c_tns004br_2_sfx = 311,
|
||||
c_tns004br_3_sfx = 312,
|
||||
c_tns004br_4_sfx = 313,
|
||||
c_tns004br_5_sfx = 314,
|
||||
c_tns004br_6_sfx = 315,
|
||||
c_tns004br_7_sfx = 316,
|
||||
c_tns004br_Anim = 317,
|
||||
c_TJA028PA_Wav_510 = 318,
|
||||
c_TJA028PA_Pho_510 = 319,
|
||||
c_TJA027LA_Wav_510 = 320,
|
||||
c_TJA027LA_Pho_510 = 321,
|
||||
c_TJA026NI_Wav_510 = 322,
|
||||
c_TJA026NI_Pho_510 = 323,
|
||||
c_TJA025MA_Wav_510 = 324,
|
||||
c_TJA025MA_Pho_510 = 325,
|
||||
c_TJA024LA_Wav_510 = 326,
|
||||
c_TJA024LA_Pho_510 = 327,
|
||||
c_TJA023IN_Wav_510 = 328,
|
||||
c_TJA023IN_Pho_510 = 329,
|
||||
c_TJA022LA_Wav_510 = 330,
|
||||
c_TJA022LA_Pho_510 = 331,
|
||||
c_TJA021NI_Wav_510 = 332,
|
||||
c_TJA021NI_Pho_510 = 333,
|
||||
c_TJA019IN_Wav_510 = 334,
|
||||
c_TJA019IN_Pho_510 = 335,
|
||||
c_TJA018NI_Wav_510 = 336,
|
||||
c_TJA018NI_Pho_510 = 337,
|
||||
c_TJA017IN_Wav_510 = 338,
|
||||
c_TJA017IN_Pho_510 = 339,
|
||||
c_TJA016MA_Wav_510 = 340,
|
||||
c_TJA016MA_Pho_510 = 341,
|
||||
c_tja015pa_Wav_510 = 342,
|
||||
c_tja015pa_Pho_510 = 343,
|
||||
c_tja013in_Wav_510 = 344,
|
||||
c_tja013in_Pho_510 = 345,
|
||||
c_tja012ni_Wav_510 = 346,
|
||||
c_tja012ni_Pho_510 = 347,
|
||||
c_tja011ni_Wav_510 = 348,
|
||||
c_tja011ni_Pho_510 = 349,
|
||||
c_tja010la_Wav_510 = 350,
|
||||
c_tja010la_Pho_510 = 351,
|
||||
c_tja009ni_Wav_510 = 352,
|
||||
c_tja009ni_Pho_510 = 353,
|
||||
c_tja009ni_0_sfx = 354,
|
||||
c_tja009ni_1_sfx = 355,
|
||||
c_tja009ni_2_sfx = 356,
|
||||
c_tja009ni_3_sfx = 357,
|
||||
c_tja009ni_4_sfx = 358,
|
||||
c_tja009ni_5_sfx = 359,
|
||||
c_tja009ni_6_sfx = 360,
|
||||
c_tja009ni_7_sfx = 361,
|
||||
c_tja009ni_8_sfx = 362,
|
||||
c_tja009ni_9_sfx = 363,
|
||||
c_tja009ni_Anim = 364,
|
||||
c_TNS005BR_Wav_511 = 365,
|
||||
c_TNS005BR_Pho_511 = 366,
|
||||
c_tns005br_0_sfx = 367,
|
||||
c_tns005br_1_sfx = 368,
|
||||
c_tns005br_2_sfx = 369,
|
||||
c_tns005br_Anim = 370,
|
||||
c_tns006br_Wav_512 = 371,
|
||||
c_tns006br_Pho_512 = 372,
|
||||
c_tns006br_0_sfx = 373,
|
||||
c_tns006br_1_sfx = 374,
|
||||
c_tns006br_2_sfx = 375,
|
||||
c_tns006br_Anim = 376,
|
||||
c_tns007br_Wav_513 = 377,
|
||||
c_tns007br_Pho_513 = 378,
|
||||
c_tns007br_0_sfx = 379,
|
||||
c_tns007br_1_sfx = 380,
|
||||
c_tns007br_2_sfx = 381,
|
||||
c_tns007br_Anim = 382,
|
||||
c_snsx58va_Wav_514 = 383,
|
||||
c_snsx58va_Pho_514 = 384,
|
||||
c_snsx58va_0_sfx = 385,
|
||||
c_snsx58va_Anim = 386,
|
||||
c_snsx59va_Wav_515 = 387,
|
||||
c_snsx59va_Pho_515 = 388,
|
||||
c_snsx59va_0_sfx = 389,
|
||||
c_snsx59va_1_sfx = 390,
|
||||
c_snsx59va_Anim = 391,
|
||||
c_snsx60va_Wav_516 = 392,
|
||||
c_snsx60va_Pho_516 = 393,
|
||||
c_snsx60va_0_sfx = 394,
|
||||
c_snsx60va_1_sfx = 395,
|
||||
c_snsx60va_2_sfx = 396,
|
||||
c_snsx60va_Anim = 397,
|
||||
c_SNSX31SH_Wav_517 = 398,
|
||||
c_snsx31sh_0_sfx = 399,
|
||||
|
||||
c_snsx31sh_Anim = 401,
|
||||
c_SNSX52SN_Wav_518 = 402,
|
||||
c_SNSX52SN_Pho_518 = 403,
|
||||
c_snsx52sn_0_sfx = 404,
|
||||
c_snsx52sn_1_sfx = 405,
|
||||
c_snsx52sn_2_sfx = 406,
|
||||
c_snsx52sn_Anim = 407,
|
||||
c_SNSX53SN_Wav_519 = 408,
|
||||
c_SNSX53SN_Pho_519 = 409,
|
||||
c_snsx53sn_0_sfx = 410,
|
||||
c_snsx53sn_1_sfx = 411,
|
||||
c_snsx53sn_2_sfx = 412,
|
||||
c_snsx53sn_Anim = 413,
|
||||
c_SNSX54SN_Wav_520 = 414,
|
||||
c_SNSX54SN_Pho_520 = 415,
|
||||
c_snsx54sn_0_sfx = 416,
|
||||
c_snsx54sn_1_sfx = 417,
|
||||
c_snsx54sn_2_sfx = 418,
|
||||
c_snsx54sn_Anim = 419,
|
||||
c_SNSX45EN_Wav_521 = 420,
|
||||
c_SNSX45EN_Pho_521 = 421,
|
||||
c_SNSX43EN_Wav_521 = 422,
|
||||
c_SNSX43EN_Pho_521 = 423,
|
||||
c_SNSX41EN_Wav_521 = 424,
|
||||
c_SNSX41EN_Pho_521 = 425,
|
||||
c_SNSX39EN_Wav_521 = 426,
|
||||
c_SNSX39EN_Pho_521 = 427,
|
||||
c_SNSX45RE_Wav_521 = 428,
|
||||
c_SNSX45RE_Pho_521 = 429,
|
||||
c_SNSX44RE_Wav_521 = 430,
|
||||
c_SNSX44RE_Pho_521 = 431,
|
||||
c_SNSX42RE_Wav_521 = 432,
|
||||
c_SNSX42RE_Pho_521 = 433,
|
||||
c_SNSX40RE_Wav_521 = 434,
|
||||
c_SNSX40RE_Pho_521 = 435,
|
||||
c_SNSX38RE_Wav_521 = 436,
|
||||
c_SNSX38RE_Pho_521 = 437,
|
||||
c_snsx38re_0_sfx = 438,
|
||||
c_snsx38re_1_sfx = 439,
|
||||
c_snsx38re_2_sfx = 440,
|
||||
c_snsx38re_3_sfx = 441,
|
||||
c_snsx38re_4_sfx = 442,
|
||||
c_snsx38re_Anim = 443,
|
||||
c_snsx13la_Wav_522 = 444,
|
||||
c_snsx13la_Pho_522 = 445,
|
||||
c_snsx13la_0_sfx = 446,
|
||||
c_snsx13la_1_sfx = 447,
|
||||
c_snsx13la_Anim = 448,
|
||||
c_snsx09ni_Wav_523 = 449,
|
||||
c_snsx09ni_Pho_523 = 450,
|
||||
c_snsx09ni_0_sfx = 451,
|
||||
c_snsx09ni_1_sfx = 452,
|
||||
c_snsx09ni_2_sfx = 453,
|
||||
c_snsx09ni_3_sfx = 454,
|
||||
c_snsx09ni_4_sfx = 455,
|
||||
c_snsx09ni_Anim = 456,
|
||||
c_snsx01ma_Wav_524 = 457,
|
||||
c_snsx01ma_Pho_524 = 458,
|
||||
c_snsx01ma_0_sfx = 459,
|
||||
c_snsx01ma_1_sfx = 460,
|
||||
c_snsx01ma_2_sfx = 461,
|
||||
c_snsx01ma_Anim = 462,
|
||||
c_snsx03ma_Wav_525 = 463,
|
||||
c_snsx03ma_Pho_525 = 464,
|
||||
c_snsx03ma_Anim = 465,
|
||||
c_snsx05pa_Wav_526 = 466,
|
||||
c_snsx05pa_Pho_526 = 467,
|
||||
c_snsx05pa_0_sfx = 468,
|
||||
c_snsx05pa_1_sfx = 469,
|
||||
c_snsx05pa_Anim = 470,
|
||||
c_SNSX23BR_Wav_527 = 471,
|
||||
c_SNSX23BR_Pho_527 = 472,
|
||||
c_TRA043NI_Wav_527 = 473,
|
||||
c_TRA043NI_Pho_527 = 474,
|
||||
c_TRA042LA_Wav_527 = 475,
|
||||
c_TRA042LA_Pho_527 = 476,
|
||||
c_TRA040NI_Wav_527 = 477,
|
||||
c_TRA040NI_Pho_527 = 478,
|
||||
c_TRA039LA_Wav_527 = 479,
|
||||
c_TRA039LA_Pho_527 = 480,
|
||||
c_TRA037NI_Wav_527 = 481,
|
||||
c_TRA037NI_Pho_527 = 482,
|
||||
c_TRA036RO_Wav_527 = 483,
|
||||
c_TRA035BR_Wav_527 = 484,
|
||||
c_TRA035BR_Pho_527 = 485,
|
||||
c_TRA033LA_Wav_527 = 486,
|
||||
c_TRA033LA_Pho_527 = 487,
|
||||
c_TRA031NI_Wav_527 = 488,
|
||||
c_TRA031NI_Pho_527 = 489,
|
||||
c_tra031ni_0_sfx = 490,
|
||||
c_tra031ni_1_sfx = 491,
|
||||
c_tra031ni_2_sfx = 492,
|
||||
c_tra031ni_3_sfx = 493,
|
||||
c_tra031ni_4_sfx = 494,
|
||||
c_tra031ni_5_sfx = 495,
|
||||
c_tra031ni_Anim = 496,
|
||||
c_SNSX23BR_Wav_528 = 497,
|
||||
c_SNSX23BR_Pho_528 = 498,
|
||||
c_TRA043NI_Wav_528 = 499,
|
||||
c_snsx50bu_RunAnim = 500,
|
||||
c_snsx51bu_RunAnim = 501,
|
||||
c_snsx29nu_RunAnim = 502,
|
||||
c_snsx30nu_RunAnim = 503,
|
||||
c_snsx33na_RunAnim = 504,
|
||||
c_snsx34na_RunAnim = 505,
|
||||
c_tns001br_RunAnim = 506,
|
||||
c_tns002br_RunAnim = 507,
|
||||
c_tns003br_RunAnim = 508,
|
||||
c_tns004br_RunAnim = 509,
|
||||
c_tja009ni_RunAnim = 510,
|
||||
c_tns005br_RunAnim = 511,
|
||||
c_tns006br_RunAnim = 512,
|
||||
c_tns007br_RunAnim = 513,
|
||||
c_snsx58va_RunAnim = 514,
|
||||
c_snsx59va_RunAnim = 515,
|
||||
c_snsx60va_RunAnim = 516,
|
||||
c_snsx31sh_RunAnim = 517,
|
||||
c_snsx52sn_RunAnim = 518,
|
||||
c_snsx53sn_RunAnim = 519,
|
||||
c_snsx54sn_RunAnim = 520,
|
||||
c_snsx38re_RunAnim = 521,
|
||||
c_snsx13la_RunAnim = 522,
|
||||
c_snsx09ni_RunAnim = 523,
|
||||
c_snsx01ma_RunAnim = 524,
|
||||
c_snsx03ma_RunAnim = 525,
|
||||
c_snsx05pa_RunAnim = 526,
|
||||
c_tra031ni_RunAnim = 527,
|
||||
c_tra032ni_RunAnim = 528,
|
||||
c_snsx55sl_RunAnim = 529,
|
||||
c_snsx56sl_RunAnim = 530,
|
||||
c_snsx57sl_RunAnim = 531,
|
||||
c_nnsxx1br_RunAnim = 532,
|
||||
c_snsx02ma_RunAnim = 533,
|
||||
c_snsx04ma_RunAnim = 534,
|
||||
c_snsx06pa_RunAnim = 535,
|
||||
c_snsx07pa_RunAnim = 536,
|
||||
c_snsx08pa_RunAnim = 537,
|
||||
c_snsx10ni_RunAnim = 538,
|
||||
c_snsx11ni_RunAnim = 539,
|
||||
c_snsx12ni_RunAnim = 540,
|
||||
c_snsx14la_RunAnim = 541,
|
||||
c_snsx15la_RunAnim = 542,
|
||||
c_snsx16la_RunAnim = 543,
|
||||
c_snsx17br_RunAnim = 544,
|
||||
c_snsx18br_RunAnim = 545,
|
||||
c_snsx19br_RunAnim = 546,
|
||||
c_snsx20br_RunAnim = 547,
|
||||
c_snsx21br_RunAnim = 548,
|
||||
c_snsx22br_RunAnim = 549,
|
||||
c_snsx23br_RunAnim = 550,
|
||||
c_snsx24br_RunAnim = 551,
|
||||
c_snsx25br_RunAnim = 552,
|
||||
c_snsx26br_RunAnim = 553,
|
||||
c_snsx27br_RunAnim = 554,
|
||||
c_snsx28br_RunAnim = 555,
|
||||
c_snsx32na_RunAnim = 556,
|
||||
c_snsx35ro_RunAnim = 557,
|
||||
c_snsx36ro_RunAnim = 558,
|
||||
c_snsx37ro_RunAnim = 559,
|
||||
c_snsx46cl_RunAnim = 560,
|
||||
c_snsx47cl_RunAnim = 561,
|
||||
c_snsx48cl_RunAnim = 562,
|
||||
c_snsx49ml_RunAnim = 563,
|
||||
c_snsx61mg_RunAnim = 564,
|
||||
c_snsx62mg_RunAnim = 565,
|
||||
c_snsx63mg_RunAnim = 566,
|
||||
c_snsx64rd_RunAnim = 567,
|
||||
c_snsx65pg_RunAnim = 568,
|
||||
c_snsx66bd_RunAnim = 569,
|
||||
c_snsx67sy_RunAnim = 570,
|
||||
c_snsx68pg_RunAnim = 571,
|
||||
c_snsx69rd_RunAnim = 572,
|
||||
c_snsx70pg_RunAnim = 573,
|
||||
c_snsx72sy_RunAnim = 574,
|
||||
c_snsx73rd_RunAnim = 575,
|
||||
c_tns048ma_RunAnim = 576,
|
||||
c_tns051in_RunAnim = 577,
|
||||
c_tra045la_RunAnim = 578,
|
||||
c_tns030bd_RunAnim = 579,
|
||||
c_tns030pg_RunAnim = 580,
|
||||
c_tns030rd_RunAnim = 581,
|
||||
c_tns030sy_RunAnim = 582,
|
||||
c_tra036ro_PlayWav = 583,
|
||||
c_Avo906In_PlayWav = 584,
|
||||
c_Avo907In_PlayWav = 585,
|
||||
c_Avo908In_PlayWav = 586,
|
||||
c_Avo900Ps_PlayWav = 587,
|
||||
c_Avo901Ps_PlayWav = 588,
|
||||
c_Avo902Ps_PlayWav = 589,
|
||||
c_Avo903Ps_PlayWav = 590,
|
||||
c_Avo904Ps_PlayWav = 591,
|
||||
c_TRA043NI_Pho_528 = 592,
|
||||
c_TRA042LA_Wav_528 = 593,
|
||||
c_TRA042LA_Pho_528 = 594,
|
||||
c_TRA040NI_Wav_528 = 595,
|
||||
c_TRA040NI_Pho_528 = 596,
|
||||
c_TRA039LA_Wav_528 = 597,
|
||||
c_TRA039LA_Pho_528 = 598,
|
||||
c_TRA037NI_Wav_528 = 599,
|
||||
c_TRA037NI_Pho_528 = 600,
|
||||
c_TRA036RO_Wav_528 = 601,
|
||||
c_TRA035BR_Wav_528 = 602,
|
||||
c_TRA035BR_Pho_528 = 603,
|
||||
c_TRA033LA_Wav_528 = 604,
|
||||
c_TRA033LA_Pho_528 = 605,
|
||||
c_TRA032NI_Wav_528 = 606,
|
||||
c_TRA032NI_Pho_528 = 607,
|
||||
c_tra032ni_0_sfx = 608,
|
||||
c_tra032ni_1_sfx = 609,
|
||||
c_tra032ni_2_sfx = 610,
|
||||
c_tra032ni_3_sfx = 611,
|
||||
c_tra032ni_4_sfx = 612,
|
||||
c_tra032ni_5_sfx = 613,
|
||||
c_tra032ni_Anim = 614,
|
||||
c_snsx55sl_Wav_529 = 615,
|
||||
c_snsx55sl_Pho_529 = 616,
|
||||
c_snsx55sl_0_sfx = 617,
|
||||
c_snsx55sl_1_sfx = 618,
|
||||
c_snsx55sl_2_sfx = 619,
|
||||
c_snsx55sl_3_sfx = 620,
|
||||
c_snsx55sl_Anim = 621,
|
||||
c_snsx56sl_Wav_530 = 622,
|
||||
c_snsx56sl_Pho_530 = 623,
|
||||
c_snsx56sl_Anim = 624,
|
||||
c_snsx57sl_Wav_531 = 625,
|
||||
c_snsx57sl_Pho_531 = 626,
|
||||
c_snsx57sl_0_sfx = 627,
|
||||
c_snsx57sl_Anim = 628,
|
||||
c_nnsxx1br_Anim = 629,
|
||||
c_snsx02ma_Wav_533 = 630,
|
||||
c_snsx02ma_Pho_533 = 631,
|
||||
c_snsx02ma_0_sfx = 632,
|
||||
c_snsx02ma_1_sfx = 633,
|
||||
c_snsx02ma_2_sfx = 634,
|
||||
c_snsx02ma_3_sfx = 635,
|
||||
c_snsx02ma_4_sfx = 636,
|
||||
c_snsx02ma_5_sfx = 637,
|
||||
c_snsx02ma_Anim = 638,
|
||||
c_snsx04ma_Wav_534 = 639,
|
||||
c_snsx04ma_Pho_534 = 640,
|
||||
c_snsx04ma_0_sfx = 641,
|
||||
c_snsx04ma_1_sfx = 642,
|
||||
c_snsx04ma_2_sfx = 643,
|
||||
c_snsx04ma_3_sfx = 644,
|
||||
c_snsx04ma_4_sfx = 645,
|
||||
c_snsx04ma_Anim = 646,
|
||||
c_snsx06pa_Wav_535 = 647,
|
||||
c_snsx06pa_Pho_535 = 648,
|
||||
c_snsx06pa_0_sfx = 649,
|
||||
c_snsx06pa_1_sfx = 650,
|
||||
c_snsx06pa_Anim = 651,
|
||||
c_snsx07pa_Wav_536 = 652,
|
||||
c_snsx07pa_Pho_536 = 653,
|
||||
c_snsx07pa_0_sfx = 654,
|
||||
c_snsx07pa_1_sfx = 655,
|
||||
c_snsx07pa_Anim = 656,
|
||||
c_snsx08pa_Wav_537 = 657,
|
||||
c_snsx08pa_Pho_537 = 658,
|
||||
c_snsx08pa_0_sfx = 659,
|
||||
c_snsx08pa_1_sfx = 660,
|
||||
c_snsx08pa_Anim = 661,
|
||||
c_snsx10ni_Wav_538 = 662,
|
||||
c_snsx10ni_Pho_538 = 663,
|
||||
c_snsx10ni_0_sfx = 664,
|
||||
c_snsx10ni_1_sfx = 665,
|
||||
c_snsx10ni_2_sfx = 666,
|
||||
c_snsx10ni_Anim = 667,
|
||||
c_snsx11ni_Wav_539 = 668,
|
||||
c_snsx11ni_Pho_539 = 669,
|
||||
c_snsx11ni_0_sfx = 670,
|
||||
c_snsx11ni_1_sfx = 671,
|
||||
c_snsx11ni_2_sfx = 672,
|
||||
c_snsx11ni_3_sfx = 673,
|
||||
c_snsx11ni_Anim = 674,
|
||||
c_snsx12ni_Wav_540 = 675,
|
||||
c_snsx12ni_Pho_540 = 676,
|
||||
c_snsx12ni_Anim = 677,
|
||||
c_snsx14la_Wav_541 = 678,
|
||||
c_snsx14la_Pho_541 = 679,
|
||||
c_snsx14la_0_sfx = 680,
|
||||
c_snsx14la_1_sfx = 681,
|
||||
c_snsx14la_2_sfx = 682,
|
||||
c_snsx14la_Anim = 683,
|
||||
c_snsx15la_Wav_542 = 684,
|
||||
c_snsx15la_Pho_542 = 685,
|
||||
c_snsx15la_0_sfx = 686,
|
||||
c_snsx15la_1_sfx = 687,
|
||||
c_snsx15la_Anim = 688,
|
||||
c_snsx16la_Wav_543 = 689,
|
||||
c_snsx16la_Pho_543 = 690,
|
||||
c_snsx16la_Anim = 691,
|
||||
c_snsx17br_Wav_544 = 692,
|
||||
c_snsx17br_Pho_544 = 693,
|
||||
c_snsx17br_0_sfx = 694,
|
||||
c_snsx17br_1_sfx = 695,
|
||||
c_snsx17br_2_sfx = 696,
|
||||
c_snsx17br_Anim = 697,
|
||||
c_snsx18br_Wav_545 = 698,
|
||||
c_snsx18br_Pho_545 = 699,
|
||||
c_snsx18br_0_sfx = 700,
|
||||
c_snsx18br_1_sfx = 701,
|
||||
c_snsx18br_Anim = 702,
|
||||
c_snsx19br_Wav_546 = 703,
|
||||
c_snsx19br_Pho_546 = 704,
|
||||
c_snsx19br_0_sfx = 705,
|
||||
c_snsx19br_1_sfx = 706,
|
||||
c_snsx19br_2_sfx = 707,
|
||||
c_snsx19br_Anim = 708,
|
||||
c_snsx20br_Wav_547 = 709,
|
||||
c_snsx20br_Pho_547 = 710,
|
||||
c_snsx20br_0_sfx = 711,
|
||||
c_snsx20br_1_sfx = 712,
|
||||
c_snsx20br_2_sfx = 713,
|
||||
c_snsx20br_3_sfx = 714,
|
||||
c_snsx20br_Anim = 715,
|
||||
c_SNSX21BR_Wav_548 = 716,
|
||||
c_SNSX21BR_Pho_548 = 717,
|
||||
c_snsx21br_0_sfx = 718,
|
||||
c_snsx21br_1_sfx = 719,
|
||||
c_snsx21br_2_sfx = 720,
|
||||
c_snsx21br_3_sfx = 721,
|
||||
c_snsx21br_Anim = 722,
|
||||
c_snsx22br_Wav_549 = 723,
|
||||
c_snsx22br_Pho_549 = 724,
|
||||
c_snsx22br_0_sfx = 725,
|
||||
c_snsx22br_1_sfx = 726,
|
||||
c_snsx22br_2_sfx = 727,
|
||||
c_snsx22br_Anim = 728,
|
||||
c_snsx23br_Wav_550 = 729,
|
||||
c_snsx23br_Pho_550 = 730,
|
||||
c_snsx23br_0_sfx = 731,
|
||||
c_snsx23br_1_sfx = 732,
|
||||
c_snsx23br_2_sfx = 733,
|
||||
c_snsx23br_3_sfx = 734,
|
||||
c_snsx23br_4_sfx = 735,
|
||||
c_snsx23br_Anim = 736,
|
||||
c_snsx24br_Wav_551 = 737,
|
||||
c_snsx24br_Pho_551 = 738,
|
||||
c_snsx24br_0_sfx = 739,
|
||||
c_snsx24br_Anim = 740,
|
||||
c_snsx25br_Wav_552 = 741,
|
||||
c_snsx25br_Pho_552 = 742,
|
||||
c_snsx25br_0_sfx = 743,
|
||||
c_snsx25br_1_sfx = 744,
|
||||
c_snsx25br_Anim = 745,
|
||||
c_snsx26br_Wav_553 = 746,
|
||||
c_snsx26br_Pho_553 = 747,
|
||||
c_snsx26br_0_sfx = 748,
|
||||
c_snsx26br_1_sfx = 749,
|
||||
c_snsx26br_Anim = 750,
|
||||
c_snsx27br_Wav_554 = 751,
|
||||
c_snsx27br_Pho_554 = 752,
|
||||
c_snsx27br_0_sfx = 753,
|
||||
c_snsx27br_1_sfx = 754,
|
||||
c_snsx27br_Anim = 755,
|
||||
c_snsx28br_Wav_555 = 756,
|
||||
c_snsx28br_Pho_555 = 757,
|
||||
c_snsx28br_0_sfx = 758,
|
||||
c_snsx28br_Anim = 759,
|
||||
c_SNSX32NA_Wav_556 = 760,
|
||||
c_SNSX32NA_Pho_556 = 761,
|
||||
c_snsx32na_0_sfx = 762,
|
||||
c_snsx32na_1_sfx = 763,
|
||||
c_snsx32na_2_sfx = 764,
|
||||
c_snsx32na_3_sfx = 765,
|
||||
c_snsx32na_Anim = 766,
|
||||
c_SNSX35RO_Wav_557 = 767,
|
||||
c_SNSX35RO_Pho_557 = 768,
|
||||
c_snsx35ro_Anim = 769,
|
||||
c_SNSX36RO_Wav_558 = 770,
|
||||
c_SNSX36RO_Pho_558 = 771,
|
||||
c_snsx36ro_0_sfx = 772,
|
||||
c_snsx36ro_1_sfx = 773,
|
||||
c_snsx36ro_Anim = 774,
|
||||
c_SNSX37RO_Wav_559 = 775,
|
||||
c_SNSX37RO_Pho_559 = 776,
|
||||
c_snsx37ro_0_sfx = 777,
|
||||
c_snsx37ro_1_sfx = 778,
|
||||
c_snsx37ro_Anim = 779,
|
||||
c_snsx46cl_Wav_560 = 780,
|
||||
c_snsx46cl_Pho_560 = 781,
|
||||
c_snsx46cl_Anim = 782,
|
||||
c_snsx47cl_Wav_561 = 783,
|
||||
c_snsx47cl_Pho_561 = 784,
|
||||
c_snsx47cl_0_sfx = 785,
|
||||
c_snsx47cl_Anim = 786,
|
||||
c_snsx48cl_Wav_562 = 787,
|
||||
c_snsx48cl_Pho_562 = 788,
|
||||
c_snsx48cl_0_sfx = 789,
|
||||
c_snsx48cl_1_sfx = 790,
|
||||
c_snsx48cl_2_sfx = 791,
|
||||
c_snsx48cl_Anim = 792,
|
||||
c_snsx49ml_Wav_563 = 793,
|
||||
c_snsx49ml_Pho_563 = 794,
|
||||
c_snsx49ml_0_sfx = 795,
|
||||
c_snsx49ml_1_sfx = 796,
|
||||
c_snsx49ml_Anim = 797,
|
||||
c_SNSX61MG_Wav_564 = 798,
|
||||
c_SNSX61MG_Pho_564 = 799,
|
||||
c_snsx61mg_0_sfx = 800,
|
||||
c_snsx61mg_1_sfx = 801,
|
||||
c_snsx61mg_2_sfx = 802,
|
||||
c_snsx61mg_3_sfx = 803,
|
||||
c_snsx61mg_Anim = 804,
|
||||
c_SNSX62MG_Wav_565 = 805,
|
||||
c_SNSX62MG_Pho_565 = 806,
|
||||
c_snsx62mg_0_sfx = 807,
|
||||
c_snsx62mg_1_sfx = 808,
|
||||
c_snsx62mg_2_sfx = 809,
|
||||
c_snsx62mg_Anim = 810,
|
||||
c_SNSX63MG_Wav_566 = 811,
|
||||
c_SNSX63MG_Pho_566 = 812,
|
||||
c_snsx63mg_0_sfx = 813,
|
||||
c_snsx63mg_1_sfx = 814,
|
||||
c_snsx63mg_2_sfx = 815,
|
||||
c_snsx63mg_3_sfx = 816,
|
||||
c_snsx63mg_Anim = 817,
|
||||
c_SNSX64RD_Wav_567 = 818,
|
||||
c_SNSX64RD_Pho_567 = 819,
|
||||
c_snsx64rd_0_sfx = 820,
|
||||
c_snsx64rd_1_sfx = 821,
|
||||
c_snsx64rd_Anim = 822,
|
||||
c_SNSX65PG_Wav_568 = 823,
|
||||
c_SNSX65PG_Pho_568 = 824,
|
||||
c_snsx65pg_0_sfx = 825,
|
||||
c_snsx65pg_1_sfx = 826,
|
||||
c_snsx65pg_Anim = 827,
|
||||
c_snsx66bd_Wav_569 = 828,
|
||||
c_snsx66bd_Pho_569 = 829,
|
||||
c_snsx66bd_0_sfx = 830,
|
||||
c_snsx66bd_1_sfx = 831,
|
||||
c_snsx66bd_Anim = 832,
|
||||
c_SNSX67SY_Wav_570 = 833,
|
||||
c_SNSX67SY_Pho_570 = 834,
|
||||
c_snsx67sy_0_sfx = 835,
|
||||
c_snsx67sy_1_sfx = 836,
|
||||
c_snsx67sy_Anim = 837,
|
||||
c_snsx68pg_Wav_571 = 838,
|
||||
c_snsx68pg_Pho_571 = 839,
|
||||
c_snsx68pg_0_sfx = 840,
|
||||
c_snsx68pg_1_sfx = 841,
|
||||
c_snsx68pg_Anim = 842,
|
||||
c_snsx69rd_Wav_572 = 843,
|
||||
c_snsx69rd_Pho_572 = 844,
|
||||
c_snsx69rd_0_sfx = 845,
|
||||
c_snsx69rd_Anim = 846,
|
||||
c_snsx70pg_Wav_573 = 847,
|
||||
c_snsx70pg_Pho_573 = 848,
|
||||
c_snsx70pg_0_sfx = 849,
|
||||
c_snsx70pg_1_sfx = 850,
|
||||
c_snsx70pg_Anim = 851,
|
||||
c_snsx72sy_Wav_574 = 852,
|
||||
c_snsx72sy_Pho_574 = 853,
|
||||
c_snsx72sy_0_sfx = 854,
|
||||
c_snsx72sy_Anim = 855,
|
||||
c_snsx73rd_Wav_575 = 856,
|
||||
c_snsx73rd_Pho_575 = 857,
|
||||
c_snsx73rd_0_sfx = 858,
|
||||
c_snsx73rd_1_sfx = 859,
|
||||
c_snsx73rd_Anim = 860,
|
||||
c_TNS049PA_Wav_576 = 861,
|
||||
c_TNS049PA_Pho_576 = 862,
|
||||
c_TNS048MA_Wav_576 = 863,
|
||||
c_TNS048MA_Pho_576 = 864,
|
||||
c_tns048ma_0_sfx = 865,
|
||||
c_tns048ma_1_sfx = 866,
|
||||
c_tns048ma_2_sfx = 867,
|
||||
c_tns048ma_Anim = 868,
|
||||
c_TNS051IN_Wav_577 = 869,
|
||||
c_TNS051IN_Pho_577 = 870,
|
||||
c_tns051in_0_sfx = 871,
|
||||
c_tns051in_1_sfx = 872,
|
||||
c_tns051in_2_sfx = 873,
|
||||
c_tns051in_Anim = 874,
|
||||
c_TRA046NI_Wav_578 = 875,
|
||||
c_TRA046NI_Pho_578 = 876,
|
||||
c_TRA045LA_Wav_578 = 877,
|
||||
c_TRA045LA_Pho_578 = 878,
|
||||
c_tra045la_0_sfx = 879,
|
||||
c_tra045la_1_sfx = 880,
|
||||
c_tra045la_2_sfx = 881,
|
||||
c_tra045la_Anim = 882,
|
||||
c_tns030bd_Wav_579 = 883,
|
||||
c_tns030bd_Pho_579 = 884,
|
||||
c_tns030bd_Anim = 885,
|
||||
c_tns030pg_Wav_580 = 886,
|
||||
c_tns030pg_Pho_580 = 887,
|
||||
c_tns030pg_Anim = 888,
|
||||
c_tns030rd_Wav_581 = 889,
|
||||
c_tns030rd_Pho_581 = 890,
|
||||
c_tns030rd_Anim = 891,
|
||||
c_tns030sy_Wav_582 = 892,
|
||||
c_tns030sy_Pho_582 = 893,
|
||||
c_tns030sy_Anim = 894
|
||||
};
|
||||
} // namespace Act2mainScript
|
||||
|
||||
#endif // ACT2MAIN_ACTIONS_H
|
||||
241
LEGO1/lego/legoomni/include/actions/act3_actions.h
Normal file
241
LEGO1/lego/legoomni/include/actions/act3_actions.h
Normal file
@ -0,0 +1,241 @@
|
||||
// This file was automatically generated by the actionheadergen tool.
|
||||
// Please do not manually edit this file.
|
||||
#ifndef ACT3_ACTIONS_H
|
||||
#define ACT3_ACTIONS_H
|
||||
|
||||
namespace Act3Script
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int {
|
||||
#else
|
||||
enum Script {
|
||||
#endif
|
||||
c_noneAct3 = -1,
|
||||
|
||||
c__Act3 = 0,
|
||||
|
||||
c_shootpz_PlayWav = 8,
|
||||
c_shootdn_PlayWav = 9,
|
||||
|
||||
c_eatdn_PlayWav = 18,
|
||||
c_eatpz_PlayWav = 19,
|
||||
c_pzhitdn_PlayWav = 20,
|
||||
c_HelicopterDashboard = 21,
|
||||
c_HelicopterDashboard_Bitmap = 22,
|
||||
|
||||
c_Helicopter_Pizza_Ctl = 26,
|
||||
c_Helicopter_Donut_Ctl = 27,
|
||||
c_Helicopter_Info_Ctl = 28,
|
||||
|
||||
c_HelicopterTakeOff_Anim = 32,
|
||||
c_HelicopterLand_Anim = 33,
|
||||
|
||||
c_dnhitpz_PlayWav = 45,
|
||||
c_stickpz_PlayWav = 46,
|
||||
c_stickdn_PlayWav = 47,
|
||||
c_xarrow_PlayWav = 48,
|
||||
c_thpt_PlayWav = 49,
|
||||
|
||||
c_Act3Path = 88,
|
||||
c_InfCtr = 89,
|
||||
c_InfCtrModel = 90,
|
||||
c_Helicopter_Actor = 91,
|
||||
c_Chptr_Model = 92,
|
||||
c_Brickstr_Walk = 93,
|
||||
c_Brickstr_Shoot = 94,
|
||||
c_Shark_Eat = 95,
|
||||
c_Shark_Actor = 96,
|
||||
c_Shark_Model = 97,
|
||||
c_BrickstrCar_Actor = 98,
|
||||
c_BrickstrCar_Model = 99,
|
||||
c_Brickstr_Actor = 100,
|
||||
c_Brickstr_Model = 101,
|
||||
c_Laura_Walk = 102,
|
||||
c_Laura_Eat = 103,
|
||||
c_LauraCar_Actor = 104,
|
||||
c_LauraCar_Model = 105,
|
||||
c_Laura_Actor = 106,
|
||||
c_Laura_Model = 107,
|
||||
c_Nick_Walk = 108,
|
||||
c_Nick_Eat = 109,
|
||||
c_NickCar_Actor = 110,
|
||||
c_NickCar_Model = 111,
|
||||
c_Nick_Actor = 112,
|
||||
c_Nick_Model = 113,
|
||||
c_Cm_Walk = 114,
|
||||
c_Cm_Actor = 115,
|
||||
c_Cm_Model = 116,
|
||||
c_Bd_Walk = 117,
|
||||
c_Bd_Actor = 118,
|
||||
c_Bd_Model = 119,
|
||||
c_Helicopter_Pizza_Up_Bitmap = 120,
|
||||
c_Helicopter_Pizza_Down_Bitmap = 121,
|
||||
c_Helicopter_Donut_Up_Bitmap = 122,
|
||||
c_Helicopter_Donut_Down_Bitmap = 123,
|
||||
c_Helicopter_Info_Up_Bitmap = 124,
|
||||
c_Helicopter_Info_Down_Bitmap = 125,
|
||||
c_HelicopterDotOn1_Bitmap = 126,
|
||||
c_HelicopterDotOn2_Bitmap = 127,
|
||||
c_HelicopterDotOn3_Bitmap = 128,
|
||||
c_HelicopterDotOn4_Bitmap = 129,
|
||||
c_HelicopterDotOn5_Bitmap = 130,
|
||||
c_HelicopterDotOn6_Bitmap = 131,
|
||||
c_HelicopterDotOn7_Bitmap = 132,
|
||||
c_HelicopterDotOn8_Bitmap = 133,
|
||||
c_HelicopterDotOn9_Bitmap = 134,
|
||||
c_HelicopterDotOn10_Bitmap = 135,
|
||||
c_HelicopterDotOn11_Bitmap = 136,
|
||||
c_HelicopterDotOn12_Bitmap = 137,
|
||||
c_HelicopterDotOn13_Bitmap = 138,
|
||||
c_HelicopterDotOn14_Bitmap = 139,
|
||||
c_HelicopterDotOn15_Bitmap = 140,
|
||||
c_TLP067PA_Wav_500 = 141,
|
||||
c_TLP067PA_Pho_500 = 142,
|
||||
c_TLP066MA_Wav_500 = 143,
|
||||
c_TLP066MA_Pho_500 = 144,
|
||||
c_TLP065NI_Wav_500 = 145,
|
||||
c_TLP065NI_Pho_500 = 146,
|
||||
c_TLP053IN_Wav_500 = 147,
|
||||
c_TLP053IN_Pho_500 = 148,
|
||||
c_TLP064LA_Wav_500 = 149,
|
||||
c_TLP064LA_Pho_500 = 150,
|
||||
c_TLP063MA_Wav_500 = 151,
|
||||
c_TLP063MA_Pho_500 = 152,
|
||||
c_TLP061NI_Wav_500 = 153,
|
||||
c_TLP061NI_Pho_500 = 154,
|
||||
c_TLP060IN_Wav_500 = 155,
|
||||
c_TLP060IN_Pho_500 = 156,
|
||||
c_TLP058MA_Wav_500 = 157,
|
||||
c_TLP058MA_Pho_500 = 158,
|
||||
c_TLP057IN_Wav_500 = 159,
|
||||
c_TLP057IN_Pho_500 = 160,
|
||||
c_TLP055PA_Wav_500 = 161,
|
||||
c_TLP055PA_Pho_500 = 162,
|
||||
c_tlp053in_0_sfx = 163,
|
||||
c_tlp053in_1_sfx = 164,
|
||||
c_tlp053in_2_sfx = 165,
|
||||
c_tlp053in_3_sfx = 166,
|
||||
c_tlp053in_4_sfx = 167,
|
||||
c_tlp053in_5_sfx = 168,
|
||||
c_tlp053in_Anim = 169,
|
||||
c_TLP065NI_Wav_501 = 170,
|
||||
c_TLP065NI_Pho_501 = 171,
|
||||
c_TLP064LA_Wav_501 = 172,
|
||||
c_TLP064LA_Pho_501 = 173,
|
||||
c_tlp064la_0_sfx = 174,
|
||||
c_tlp064la_Anim = 175,
|
||||
c_TLP068IN_Wav_502 = 176,
|
||||
c_TLP068IN_Pho_502 = 177,
|
||||
c_tlp068in_0_sfx = 178,
|
||||
c_tlp068in_1_sfx = 179,
|
||||
c_tlp068in_2_sfx = 180,
|
||||
c_tlp068in_3_sfx = 181,
|
||||
c_tlp068in_4_sfx = 182,
|
||||
c_tlp068in_5_sfx = 183,
|
||||
c_tlp068in_Anim = 184,
|
||||
|
||||
c_tlp053in_RunAnim = 500,
|
||||
c_tlp064la_RunAnim = 501,
|
||||
c_tlp068in_RunAnim = 502,
|
||||
c_sns76xra_PlayWav = 503,
|
||||
c_sns77xra_PlayWav = 504,
|
||||
c_sns02xni_PlayWav = 505,
|
||||
c_sns03xni_PlayWav = 506,
|
||||
c_sns04xni_PlayWav = 507,
|
||||
c_sns05xni_PlayWav = 508,
|
||||
c_sns06xni_PlayWav = 509,
|
||||
c_sns07xni_PlayWav = 510,
|
||||
c_sns08xni_PlayWav = 511,
|
||||
c_sns09xni_PlayWav = 512,
|
||||
c_sns10xni_PlayWav = 513,
|
||||
c_sns11xni_PlayWav = 514,
|
||||
c_sns12xla_PlayWav = 515,
|
||||
c_sns13xla_PlayWav = 516,
|
||||
c_sns14xla_PlayWav = 517,
|
||||
c_sns15xla_PlayWav = 518,
|
||||
c_sns16xla_PlayWav = 519,
|
||||
c_sns17xla_PlayWav = 520,
|
||||
c_sns18xni_PlayWav = 521,
|
||||
c_sns19xni_PlayWav = 522,
|
||||
c_sns20xni_PlayWav = 523,
|
||||
c_sns21xni_PlayWav = 524,
|
||||
c_sns22xni_PlayWav = 525,
|
||||
c_sns23xni_PlayWav = 526,
|
||||
c_sns24xni_PlayWav = 527,
|
||||
c_sns25xni_PlayWav = 528,
|
||||
c_sns26xni_PlayWav = 529,
|
||||
c_sns27xni_PlayWav = 530,
|
||||
c_sns28xni_PlayWav = 531,
|
||||
c_sns29xni_PlayWav = 532,
|
||||
c_sns30xni_PlayWav = 533,
|
||||
c_sns31xni_PlayWav = 534,
|
||||
c_sns32xni_PlayWav = 535,
|
||||
c_sns33xni_PlayWav = 536,
|
||||
c_sns34xla_PlayWav = 537,
|
||||
c_sns35xla_PlayWav = 538,
|
||||
c_sns36xla_PlayWav = 539,
|
||||
c_sns37xla_PlayWav = 540,
|
||||
c_sns38xla_PlayWav = 541,
|
||||
c_sns39xla_PlayWav = 542,
|
||||
c_sns40xla_PlayWav = 543,
|
||||
c_sns41xla_PlayWav = 544,
|
||||
c_sns42xla_PlayWav = 545,
|
||||
c_sns43xma_PlayWav = 546,
|
||||
c_sns44xma_PlayWav = 547,
|
||||
c_sns45xma_PlayWav = 548,
|
||||
c_sns46xin_PlayWav = 549,
|
||||
c_sns47xin_PlayWav = 550,
|
||||
c_sns48xin_PlayWav = 551,
|
||||
c_sns49xin_PlayWav = 552,
|
||||
c_sns50xin_PlayWav = 553,
|
||||
c_sns51xin_PlayWav = 554,
|
||||
c_sns52xro_PlayWav = 555,
|
||||
c_sns53xro_PlayWav = 556,
|
||||
c_sns54xro_PlayWav = 557,
|
||||
c_sns55xnu_PlayWav = 558,
|
||||
c_sns56xnu_PlayWav = 559,
|
||||
c_sns57xnu_PlayWav = 560,
|
||||
c_sns58xna_PlayWav = 561,
|
||||
c_sns59xna_PlayWav = 562,
|
||||
c_sns60xna_PlayWav = 563,
|
||||
c_sns61xva_PlayWav = 564,
|
||||
c_sns62xmg_PlayWav = 565,
|
||||
c_sns63xcl_PlayWav = 566,
|
||||
c_sns64xen_PlayWav = 567,
|
||||
c_sns65xre_PlayWav = 568,
|
||||
c_sns66xsl_PlayWav = 569,
|
||||
c_sns67xml_PlayWav = 570,
|
||||
c_sns68xbu_PlayWav = 571,
|
||||
c_sns69xsn_PlayWav = 572,
|
||||
c_sns70xni_PlayWav = 573,
|
||||
c_sns71xni_PlayWav = 574,
|
||||
c_sns72xni_PlayWav = 575,
|
||||
c_sns73xla_PlayWav = 576,
|
||||
c_sns74xla_PlayWav = 577,
|
||||
c_sns75xla_PlayWav = 578,
|
||||
c_sns76xja_PlayWav = 579,
|
||||
c_sns76xjs_PlayWav = 580,
|
||||
c_sns77xja_PlayWav = 581,
|
||||
c_sns77xjs_PlayWav = 582,
|
||||
c_tns069ni_PlayWav = 583,
|
||||
c_tns070br_PlayWav = 584,
|
||||
c_tns071ni_PlayWav = 585,
|
||||
c_tns072br_PlayWav = 586,
|
||||
c_tns073ni_PlayWav = 587,
|
||||
c_tns074ni_PlayWav = 588,
|
||||
c_tns075br_PlayWav = 589,
|
||||
c_tns076la_PlayWav = 590,
|
||||
c_tns077br_PlayWav = 591,
|
||||
|
||||
c_tns079la_PlayWav = 593,
|
||||
c_tns081ni_PlayWav = 594,
|
||||
c_tns082br_PlayWav = 595,
|
||||
c_tns080br_PlayWav = 596,
|
||||
c_tnsx07br_PlayWav = 597,
|
||||
c_tnsx02br_PlayWav = 598,
|
||||
c_snsxx2br_PlayWav = 599,
|
||||
c_snsy23br_PlayWav = 600
|
||||
};
|
||||
} // namespace Act3Script
|
||||
|
||||
#endif // ACT3_ACTIONS_H
|
||||
246
LEGO1/lego/legoomni/include/actions/actionsfwd.h
Normal file
246
LEGO1/lego/legoomni/include/actions/actionsfwd.h
Normal file
@ -0,0 +1,246 @@
|
||||
// This file was automatically generated by the actionheadergen tool.
|
||||
// Please do not manually edit this file.
|
||||
#ifndef ACTIONSFWD_H
|
||||
#define ACTIONSFWD_H
|
||||
|
||||
namespace SndanimScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace SndanimScript
|
||||
|
||||
namespace NocdScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace NocdScript
|
||||
|
||||
namespace CreditsScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace CreditsScript
|
||||
|
||||
namespace IntroScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace IntroScript
|
||||
|
||||
namespace HospitalScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace HospitalScript
|
||||
|
||||
namespace CarraceScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace CarraceScript
|
||||
|
||||
namespace JetraceScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace JetraceScript
|
||||
|
||||
namespace CarracerScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace CarracerScript
|
||||
|
||||
namespace JetracerScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace JetracerScript
|
||||
|
||||
namespace InfoscorScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace InfoscorScript
|
||||
|
||||
namespace RegbookScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace RegbookScript
|
||||
|
||||
namespace HistbookScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace HistbookScript
|
||||
|
||||
namespace InfomainScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace InfomainScript
|
||||
|
||||
namespace ElevbottScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace ElevbottScript
|
||||
|
||||
namespace InfodoorScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace InfodoorScript
|
||||
|
||||
namespace RacecarScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace RacecarScript
|
||||
|
||||
namespace DunecarScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace DunecarScript
|
||||
|
||||
namespace CopterScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace CopterScript
|
||||
|
||||
namespace JetskiScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace JetskiScript
|
||||
|
||||
namespace GarageScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace GarageScript
|
||||
|
||||
namespace Act3Script
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace Act3Script
|
||||
|
||||
namespace Act2mainScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace Act2mainScript
|
||||
|
||||
namespace JukeboxwScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace JukeboxwScript
|
||||
|
||||
namespace IsleScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script2 : int;
|
||||
#else
|
||||
enum Script2;
|
||||
#endif
|
||||
} // namespace IsleScript
|
||||
|
||||
namespace JukeboxScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace JukeboxScript
|
||||
|
||||
namespace PoliceScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace PoliceScript
|
||||
|
||||
#endif // ACTIONSFWD_H
|
||||
410
LEGO1/lego/legoomni/include/actions/carrace_actions.h
Normal file
410
LEGO1/lego/legoomni/include/actions/carrace_actions.h
Normal file
@ -0,0 +1,410 @@
|
||||
// This file was automatically generated by the actionheadergen tool.
|
||||
// Please do not manually edit this file.
|
||||
#ifndef CARRACE_ACTIONS_H
|
||||
#define CARRACE_ACTIONS_H
|
||||
|
||||
namespace CarraceScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int {
|
||||
#else
|
||||
enum Script {
|
||||
#endif
|
||||
c_noneCarrace = -1,
|
||||
|
||||
c__CarRace_World = 0,
|
||||
c_SpeedMeter = 1,
|
||||
c_FuelMeter = 2,
|
||||
c_Info_Ctl = 3,
|
||||
c_DistanceMeter = 4,
|
||||
c_Horn_Ctl = 5,
|
||||
c_Horn_Up_Bitmap = 6,
|
||||
c_Horn_Down = 7,
|
||||
c_Horn_Sound = 8,
|
||||
c_Horn_Down_Bitmap = 9,
|
||||
c_UserCar_Actor = 10,
|
||||
c_Studs_Actor = 11,
|
||||
c_Rhoda_Actor = 12,
|
||||
c_irtx08ra_PlayWav = 13,
|
||||
c_Map_Ctl = 14,
|
||||
c_Map_Up_Bitmap = 15,
|
||||
c_Map_Down_Bitmap = 16,
|
||||
c_Info_Up_Bitmap = 17,
|
||||
c_Info_Down_Bitmap = 18,
|
||||
c_CarLocator2 = 19,
|
||||
c_CarLocator3 = 20,
|
||||
c_StartTriggers = 21,
|
||||
c_RacePath = 22,
|
||||
c_HitWallSound = 23,
|
||||
c_SetHitWallSound = 24,
|
||||
c_HitActorSound = 25,
|
||||
c_SetHitActorSound = 26,
|
||||
c_VO1 = 27,
|
||||
c_VO2 = 28,
|
||||
c_VO3 = 29,
|
||||
c_VO4 = 30,
|
||||
c_VO5 = 31,
|
||||
c_VO6 = 32,
|
||||
c_VO7 = 33,
|
||||
c_VO8 = 34,
|
||||
c_VO9 = 35,
|
||||
c_VO10 = 36,
|
||||
c_VO11 = 37,
|
||||
c_VO12 = 38,
|
||||
c_VO13 = 39,
|
||||
c_VO14 = 40,
|
||||
c_RaceCarDashboard11_Bitmap = 41,
|
||||
c_RaceCarDashboard12_Bitmap = 42,
|
||||
c_RaceCarDashboard13_Bitmap = 43,
|
||||
c_RaceCarDashboard14_Bitmap = 44,
|
||||
c_RaceCarDashboard15_Bitmap = 45,
|
||||
c_RaceCarDashboard16_Bitmap = 46,
|
||||
c_VO15 = 47,
|
||||
c_VO16 = 48,
|
||||
c_VO17 = 49,
|
||||
c_VO18 = 50,
|
||||
c_RaceCarDashboard21_Bitmap = 51,
|
||||
c_RaceCarDashboard22_Bitmap = 52,
|
||||
c_RaceCarDashboard23_Bitmap = 53,
|
||||
c_RaceCarDashboard24_Bitmap = 54,
|
||||
c_RaceCarDashboard25_Bitmap = 55,
|
||||
c_RaceCarDashboard26_Bitmap = 56,
|
||||
c_VO19 = 57,
|
||||
c_VO20 = 58,
|
||||
c_VO21 = 59,
|
||||
c_SkelKick_Sound = 60,
|
||||
c_RaceCarDashboard31_Bitmap = 61,
|
||||
c_RaceCarDashboard32_Bitmap = 62,
|
||||
c_RaceCarDashboard33_Bitmap = 63,
|
||||
c_RaceCarDashboard34_Bitmap = 64,
|
||||
c_RaceCarDashboard35_Bitmap = 65,
|
||||
c_RaceCarDashboard36_Bitmap = 66,
|
||||
c_Rhoda_Sound = 67,
|
||||
c_Rhoda_Locator = 68,
|
||||
c_RcRhod00_Anim = 69,
|
||||
c_RcRhod01_Anim = 70,
|
||||
c_RaceCarDashboard41_Bitmap = 71,
|
||||
c_RaceCarDashboard42_Bitmap = 72,
|
||||
c_RaceCarDashboard43_Bitmap = 73,
|
||||
c_RaceCarDashboard44_Bitmap = 74,
|
||||
c_RaceCarDashboard45_Bitmap = 75,
|
||||
c_RaceCarDashboard46_Bitmap = 76,
|
||||
c_RcRhod02_Anim = 77,
|
||||
c_RhodaCar_Actor = 78,
|
||||
c_RhodaCar_Model = 79,
|
||||
c_Rhoda_Model = 80,
|
||||
c_RaceCarDashboard51_Bitmap = 81,
|
||||
c_RaceCarDashboard52_Bitmap = 82,
|
||||
c_RaceCarDashboard53_Bitmap = 83,
|
||||
c_RaceCarDashboard54_Bitmap = 84,
|
||||
c_RaceCarDashboard55_Bitmap = 85,
|
||||
c_RaceCarDashboard56_Bitmap = 86,
|
||||
c_Studs_Sound = 87,
|
||||
c_Studs_Locator = 88,
|
||||
c_RcStud00_Anim = 89,
|
||||
c_RcStud01_Anim = 90,
|
||||
c_RaceCarDashboard61_Bitmap = 91,
|
||||
c_RaceCarDashboard62_Bitmap = 92,
|
||||
c_RaceCarDashboard63_Bitmap = 93,
|
||||
c_RaceCarDashboard64_Bitmap = 94,
|
||||
c_RaceCarDashboard65_Bitmap = 95,
|
||||
c_RaceCarDashboard66_Bitmap = 96,
|
||||
c_RaceCarDashboard = 97,
|
||||
c_RaceCarArms_Ctl = 98,
|
||||
c_RcStud02_Anim = 99,
|
||||
c_StudsCar_Actor = 100,
|
||||
c_StudsCar_Model = 101,
|
||||
c_Studs_Model = 102,
|
||||
c_SkelKick1_Anim = 103,
|
||||
c_SkelKick2_Anim = 104,
|
||||
c_User_Locator = 105,
|
||||
c_UserCar_Model = 106,
|
||||
c_ScaryRun_Sound = 107,
|
||||
c_ScaryRun_Anim = 108,
|
||||
c_Skeleton_Actor = 109,
|
||||
c_Skeleton_Model = 110,
|
||||
c_Ghost_Sound = 111,
|
||||
c_Ghost_Anim = 112,
|
||||
c_Ghost_Actor = 113,
|
||||
c_Ghost_Model = 114,
|
||||
c_TireGuy_Anim = 115,
|
||||
c_TireGuy_Actor = 116,
|
||||
c_TireGuy_Model = 117,
|
||||
c_Skelton1_Sound = 118,
|
||||
c_SJump_Anim = 119,
|
||||
c_Skelton1_Actor = 120,
|
||||
c_Skelton1_Model = 121,
|
||||
c_SkelBig_Anim = 122,
|
||||
c_SkelBig_Actor = 123,
|
||||
c_SkelBig_Model = 124,
|
||||
c_DorA_Actor = 125,
|
||||
c_DorA_Model = 126,
|
||||
c_DorB_Actor = 127,
|
||||
c_DorB_Model = 128,
|
||||
c_DorC_Actor = 129,
|
||||
c_DorC_Model = 130,
|
||||
c_DorD_Actor = 131,
|
||||
c_DorD_Model = 132,
|
||||
c_DorE_Actor = 133,
|
||||
c_DorE_Model = 134,
|
||||
c_DorF_Actor = 135,
|
||||
c_DorF_Model = 136,
|
||||
c_DorG_Actor = 137,
|
||||
c_DorG_Model = 138,
|
||||
c_DorH_Actor = 139,
|
||||
c_DorH_Model = 140,
|
||||
c_DorI_Actor = 141,
|
||||
c_DorI_Model = 142,
|
||||
c_DorJ_Actor = 143,
|
||||
c_DorJ_Model = 144,
|
||||
c_HideAni_Anim = 145,
|
||||
c_RaceCarArms_Mask_Bitmap = 146,
|
||||
c_srt001rh_Wav_500 = 147,
|
||||
c_srt001rh_Pho_500 = 148,
|
||||
c_srt001rh_0_sfx = 149,
|
||||
c_srt001rh_1_sfx = 150,
|
||||
c_srt001rh_2_sfx = 151,
|
||||
c_srt001rh_Anim = 152,
|
||||
c_SRT001SL_Wav_501 = 153,
|
||||
c_SRT001SL_Pho_501 = 154,
|
||||
c_srt001sl_0_sfx = 155,
|
||||
c_srt001sl_1_sfx = 156,
|
||||
c_srt001sl_2_sfx = 157,
|
||||
c_srt001sl_3_sfx = 158,
|
||||
c_srt001sl_4_sfx = 159,
|
||||
c_srt001sl_Anim = 160,
|
||||
c_srt002rh_Wav_502 = 161,
|
||||
c_srt002rh_Pho_502 = 162,
|
||||
c_srt002rh_0_sfx = 163,
|
||||
c_srt002rh_1_sfx = 164,
|
||||
c_srt002rh_2_sfx = 165,
|
||||
c_srt002rh_Anim = 166,
|
||||
c_SRT002SL_Wav_503 = 167,
|
||||
c_SRT002SL_Pho_503 = 168,
|
||||
c_srt002sl_0_sfx = 169,
|
||||
c_srt002sl_1_sfx = 170,
|
||||
c_srt002sl_2_sfx = 171,
|
||||
c_srt002sl_3_sfx = 172,
|
||||
c_srt002sl_Anim = 173,
|
||||
c_srt003rh_Wav_504 = 174,
|
||||
c_srt003rh_Pho_504 = 175,
|
||||
c_srt003rh_0_sfx = 176,
|
||||
c_srt003rh_1_sfx = 177,
|
||||
c_srt003rh_Anim = 178,
|
||||
c_SRT003SL_Wav_505 = 179,
|
||||
c_SRT003SL_Pho_505 = 180,
|
||||
c_srt003sl_0_sfx = 181,
|
||||
c_srt003sl_1_sfx = 182,
|
||||
c_srt003sl_Anim = 183,
|
||||
c_SRT004SL_Wav_506 = 184,
|
||||
c_SRT004SL_Pho_506 = 185,
|
||||
c_srt004sl_0_sfx = 186,
|
||||
c_srt004sl_1_sfx = 187,
|
||||
c_srt004sl_2_sfx = 188,
|
||||
c_srt004sl_Anim = 189,
|
||||
c_srt005sl_Wav_507 = 190,
|
||||
c_srt005sl_Pho_507 = 191,
|
||||
c_srt005sl_0_sfx = 192,
|
||||
c_srt005sl_1_sfx = 193,
|
||||
c_srt005sl_2_sfx = 194,
|
||||
c_srt005sl_3_sfx = 195,
|
||||
c_srt005sl_Anim = 196,
|
||||
c_IRTX08RA_Wav_508 = 197,
|
||||
c_nrtflag0_Anim = 198,
|
||||
c_SRT007RH_Wav_509 = 199,
|
||||
c_SRT007RH_Pho_509 = 200,
|
||||
c_srt007rh_0_sfx = 201,
|
||||
c_srt007rh_1_sfx = 202,
|
||||
c_srt007rh_2_sfx = 203,
|
||||
c_srt007rh_3_sfx = 204,
|
||||
c_srt007rh_Anim = 205,
|
||||
c_SRT008RH_Wav_510 = 206,
|
||||
c_SRT008RH_Pho_510 = 207,
|
||||
c_srt008rh_0_sfx = 208,
|
||||
c_srt008rh_1_sfx = 209,
|
||||
c_srt008rh_2_sfx = 210,
|
||||
c_srt008rh_3_sfx = 211,
|
||||
c_srt008rh_Anim = 212,
|
||||
c_SRT009RH_Wav_511 = 213,
|
||||
c_SRT009RH_Pho_511 = 214,
|
||||
c_srt009rh_0_sfx = 215,
|
||||
c_srt009rh_1_sfx = 216,
|
||||
c_srt009rh_2_sfx = 217,
|
||||
c_srt009rh_3_sfx = 218,
|
||||
c_srt009rh_Anim = 219,
|
||||
c_SRT010RH_Wav_512 = 220,
|
||||
c_SRT010RH_Pho_512 = 221,
|
||||
c_srt010rh_0_sfx = 222,
|
||||
c_srt010rh_1_sfx = 223,
|
||||
c_srt010rh_2_sfx = 224,
|
||||
c_srt010rh_Anim = 225,
|
||||
c_SRT011RH_Wav_513 = 226,
|
||||
c_SRT011RH_Pho_513 = 227,
|
||||
c_srt011rh_0_sfx = 228,
|
||||
c_srt011rh_1_sfx = 229,
|
||||
c_srt011rh_2_sfx = 230,
|
||||
c_srt011rh_3_sfx = 231,
|
||||
c_srt011rh_Anim = 232,
|
||||
c_SRT011SL_Wav_514 = 233,
|
||||
c_SRT011SL_Pho_514 = 234,
|
||||
c_srt011sl_0_sfx = 235,
|
||||
c_srt011sl_1_sfx = 236,
|
||||
c_srt011sl_2_sfx = 237,
|
||||
c_srt011sl_3_sfx = 238,
|
||||
c_srt011sl_Anim = 239,
|
||||
c_SRT012RH_Wav_515 = 240,
|
||||
c_SRT012RH_Pho_515 = 241,
|
||||
c_srt012rh_0_sfx = 242,
|
||||
c_srt012rh_1_sfx = 243,
|
||||
c_srt012rh_2_sfx = 244,
|
||||
c_srt012rh_3_sfx = 245,
|
||||
c_srt012rh_Anim = 246,
|
||||
c_SRT012SL_Wav_516 = 247,
|
||||
c_SRT012SL_Pho_516 = 248,
|
||||
c_srt012sl_0_sfx = 249,
|
||||
c_srt012sl_1_sfx = 250,
|
||||
c_srt012sl_2_sfx = 251,
|
||||
c_srt012sl_3_sfx = 252,
|
||||
c_srt012sl_Anim = 253,
|
||||
c_SRT013SL_Wav_517 = 254,
|
||||
c_SRT013SL_Pho_517 = 255,
|
||||
c_srt013sl_0_sfx = 256,
|
||||
c_srt013sl_1_sfx = 257,
|
||||
c_srt013sl_2_sfx = 258,
|
||||
c_srt013sl_3_sfx = 259,
|
||||
c_srt013sl_Anim = 260,
|
||||
c_SRT014SL_Wav_518 = 261,
|
||||
c_SRT014SL_Pho_518 = 262,
|
||||
c_srt014sl_0_sfx = 263,
|
||||
c_srt014sl_1_sfx = 264,
|
||||
c_srt014sl_2_sfx = 265,
|
||||
c_srt014sl_3_sfx = 266,
|
||||
c_srt014sl_4_sfx = 267,
|
||||
c_srt014sl_Anim = 268,
|
||||
c_SRT015SL_Wav_519 = 269,
|
||||
c_SRT015SL_Pho_519 = 270,
|
||||
c_srt015sl_0_sfx = 271,
|
||||
c_srt015sl_1_sfx = 272,
|
||||
c_srt015sl_2_sfx = 273,
|
||||
c_srt015sl_3_sfx = 274,
|
||||
c_srt015sl_Anim = 275,
|
||||
c_SRT016SL_Wav_520 = 276,
|
||||
c_SRT016SL_Pho_520 = 277,
|
||||
c_srt016sl_0_sfx = 278,
|
||||
c_srt016sl_1_sfx = 279,
|
||||
c_srt016sl_2_sfx = 280,
|
||||
c_srt016sl_3_sfx = 281,
|
||||
c_srt016sl_4_sfx = 282,
|
||||
c_srt016sl_Anim = 283,
|
||||
c_SRT017SL_Wav_521 = 284,
|
||||
c_SRT017SL_Pho_521 = 285,
|
||||
c_srt017sl_0_sfx = 286,
|
||||
c_srt017sl_1_sfx = 287,
|
||||
c_srt017sl_2_sfx = 288,
|
||||
c_srt017sl_3_sfx = 289,
|
||||
c_srt017sl_Anim = 290,
|
||||
c_nrtrhod0_Anim = 291,
|
||||
c_nrt001pz_Anim = 292,
|
||||
c_nrt002pz_Anim = 293,
|
||||
c_nrt003sh_Anim = 294,
|
||||
c_nrt004sh_Anim = 295,
|
||||
c_nrt005ft_Anim = 296,
|
||||
c_nrt008oc_Anim = 297,
|
||||
c_nrt010pz_Anim = 298,
|
||||
c_nrt011pz_Anim = 299,
|
||||
c_nrt012sl_Anim = 300,
|
||||
c_nrt013sl_Anim = 301,
|
||||
c_nrt014sl_Anim = 302,
|
||||
c_nrt015gh_Anim = 303,
|
||||
c_nrt015sl_Anim = 304,
|
||||
c_nrt016gh_Anim = 305,
|
||||
c_nrt017rc_Anim = 306,
|
||||
c_nrt018rc_Anim = 307,
|
||||
c_nrt020a1_Anim = 308,
|
||||
c_nrt022sp_Anim = 309,
|
||||
c_nrt023sk_Anim = 310,
|
||||
c_nrt024a2_Anim = 311,
|
||||
c_nrt025sw_Anim = 312,
|
||||
c_nrt026sw_Anim = 313,
|
||||
c_nrt027sw_Anim = 314,
|
||||
c_nrt028sw_Anim = 315,
|
||||
c_nrt029sw_Anim = 316,
|
||||
c_nrt030bk_Anim = 317,
|
||||
c_nrt031bk_Anim = 318,
|
||||
c_nrt032bk_Anim = 319,
|
||||
c_nrt033bk_Anim = 320,
|
||||
c_nrt034bk_Anim = 321,
|
||||
c_nrt035bk_Anim = 322,
|
||||
c_nrtrhod1_Anim = 323,
|
||||
c_nrtrhod2_Anim = 324,
|
||||
c_nrtrhod3_Anim = 325,
|
||||
c_nrtstud0_Anim = 326,
|
||||
c_nrtstud1_Anim = 327,
|
||||
c_nrtstud2_Anim = 328,
|
||||
c_nrtstud3_Anim = 329,
|
||||
|
||||
c_srt001rh_RunAnim = 500,
|
||||
c_srt001sl_RunAnim = 501,
|
||||
c_srt002rh_RunAnim = 502,
|
||||
c_srt002sl_RunAnim = 503,
|
||||
c_srt003rh_RunAnim = 504,
|
||||
c_srt003sl_RunAnim = 505,
|
||||
c_srt004sl_RunAnim = 506,
|
||||
c_srt005sl_RunAnim = 507,
|
||||
c_nrtflag0_RunAnim = 508,
|
||||
c_srt007rh_RunAnim = 509,
|
||||
c_srt008rh_RunAnim = 510,
|
||||
c_srt009rh_RunAnim = 511,
|
||||
c_srt010rh_RunAnim = 512,
|
||||
c_srt011rh_RunAnim = 513,
|
||||
c_srt011sl_RunAnim = 514,
|
||||
c_srt012rh_RunAnim = 515,
|
||||
c_srt012sl_RunAnim = 516,
|
||||
c_srt013sl_RunAnim = 517,
|
||||
c_srt014sl_RunAnim = 518,
|
||||
c_srt015sl_RunAnim = 519,
|
||||
c_srt016sl_RunAnim = 520,
|
||||
c_srt017sl_RunAnim = 521,
|
||||
c_nrtrhod0_RunAnim = 522,
|
||||
c_nrt001pz_RunAnim = 523,
|
||||
c_nrt002pz_RunAnim = 524,
|
||||
c_nrt003sh_RunAnim = 525,
|
||||
c_nrt004sh_RunAnim = 526,
|
||||
c_nrt005ft_RunAnim = 527,
|
||||
c_nrt008oc_RunAnim = 528,
|
||||
c_nrt010pz_RunAnim = 529,
|
||||
c_nrt011pz_RunAnim = 530,
|
||||
c_nrt012sl_RunAnim = 531,
|
||||
c_nrt013sl_RunAnim = 532,
|
||||
c_nrt014sl_RunAnim = 533,
|
||||
c_nrt015gh_RunAnim = 534,
|
||||
c_nrt015sl_RunAnim = 535,
|
||||
c_nrt016gh_RunAnim = 536,
|
||||
c_nrt017rc_RunAnim = 537,
|
||||
c_nrt018rc_RunAnim = 538,
|
||||
c_nrt020a1_RunAnim = 539,
|
||||
c_nrt022sp_RunAnim = 540,
|
||||
c_nrt023sk_RunAnim = 541,
|
||||
c_nrt024a2_RunAnim = 542,
|
||||
c_nrt025sw_RunAnim = 543,
|
||||
c_nrt026sw_RunAnim = 544,
|
||||
c_nrt027sw_RunAnim = 545,
|
||||
c_nrt028sw_RunAnim = 546,
|
||||
c_nrt029sw_RunAnim = 547,
|
||||
c_nrt030bk_RunAnim = 548,
|
||||
c_nrt031bk_RunAnim = 549,
|
||||
c_nrt032bk_RunAnim = 550,
|
||||
c_nrt033bk_RunAnim = 551,
|
||||
c_nrt034bk_RunAnim = 552,
|
||||
c_nrt035bk_RunAnim = 553,
|
||||
c_nrtrhod1_RunAnim = 554,
|
||||
c_nrtrhod2_RunAnim = 555,
|
||||
c_nrtrhod3_RunAnim = 556,
|
||||
c_nrtstud0_RunAnim = 557,
|
||||
c_nrtstud1_RunAnim = 558,
|
||||
c_nrtstud2_RunAnim = 559,
|
||||
c_nrtstud3_RunAnim = 560
|
||||
};
|
||||
} // namespace CarraceScript
|
||||
|
||||
#endif // CARRACE_ACTIONS_H
|
||||
96
LEGO1/lego/legoomni/include/actions/carracer_actions.h
Normal file
96
LEGO1/lego/legoomni/include/actions/carracer_actions.h
Normal file
@ -0,0 +1,96 @@
|
||||
// This file was automatically generated by the actionheadergen tool.
|
||||
// Please do not manually edit this file.
|
||||
#ifndef CARRACER_ACTIONS_H
|
||||
#define CARRACER_ACTIONS_H
|
||||
|
||||
namespace CarracerScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int {
|
||||
#else
|
||||
enum Script {
|
||||
#endif
|
||||
c_noneCarracer = -1,
|
||||
|
||||
c_nrt002pz_Anim = 0,
|
||||
c_NRT100DR_Anim = 1,
|
||||
c_NRT110DR_Anim = 2,
|
||||
c_NRT101DR_Anim = 3,
|
||||
c_NRT111DR_Anim = 4,
|
||||
c_NRT102DR_Anim = 5,
|
||||
c_NRT112DR_Anim = 6,
|
||||
c_NRT103DR_Anim = 7,
|
||||
c_NRT113DR_Anim = 8,
|
||||
c_NRT104DR_Anim = 9,
|
||||
c_NRT114DR_Anim = 10,
|
||||
c_NRT105DR_Anim = 11,
|
||||
c_NRT115DR_Anim = 12,
|
||||
c_NRT106DR_Anim = 13,
|
||||
c_NRT116DR_Anim = 14,
|
||||
c_NRT107DR_Anim = 15,
|
||||
c_NRT117DR_Anim = 16,
|
||||
c_NRT108DR_Anim = 17,
|
||||
c_NRT118DR_Anim = 18,
|
||||
c_NRT109DR_Anim = 19,
|
||||
c_NRT119DR_Anim = 20,
|
||||
c_nrt015gh_RunAnim = 21,
|
||||
c_nrt001pz_RunAnim = 22,
|
||||
c_nrt002pz_RunAnim = 23,
|
||||
c_nrt030bk_RunAnim = 24,
|
||||
c_nrt031bk_RunAnim = 25,
|
||||
c_nrt032bk_RunAnim = 26,
|
||||
c_nrt025sw_RunAnim = 27,
|
||||
c_nrt004sh_RunAnim = 28,
|
||||
c_nrt003sh_RunAnim = 29,
|
||||
c_nrt022sp_RunAnim = 30,
|
||||
c_nrt015sl_RunAnim = 31,
|
||||
c_nrt014sl_RunAnim = 32,
|
||||
c_nrt013sl_RunAnim = 33,
|
||||
c_nrt012sl_RunAnim = 34,
|
||||
c_nrt026sw_RunAnim = 35,
|
||||
c_nrt027sw_RunAnim = 36,
|
||||
c_nrt028sw_RunAnim = 37,
|
||||
c_nrt029sw_RunAnim = 38,
|
||||
c_nrt033bk_RunAnim = 39,
|
||||
c_nrt034bk_RunAnim = 40,
|
||||
c_nrt035bk_RunAnim = 41,
|
||||
c_nrt016gh_RunAnim = 42,
|
||||
c_nrt030sw_RunAnim = 43,
|
||||
c_nrt005ft_RunAnim = 44,
|
||||
c_nrt010pz_RunAnim = 45,
|
||||
c_nrt011pz_RunAnim = 46,
|
||||
c_nrt008oc_RunAnim = 47,
|
||||
c_nrt003sh_Anim = 48,
|
||||
c_nrt004sh_Anim = 49,
|
||||
c_nrt005ft_Anim = 50,
|
||||
c_nrt008oc_Anim = 51,
|
||||
c_nrt010pz_Anim = 52,
|
||||
c_nrt011pz_Anim = 53,
|
||||
c_nrt012sl_Anim = 54,
|
||||
c_nrt013sl_Anim = 55,
|
||||
c_nrt014sl_Anim = 56,
|
||||
c_nrt015gh_Anim = 57,
|
||||
c_nrt015sl_Anim = 58,
|
||||
c_nrt016gh_Anim = 59,
|
||||
c_nrt026sw_Anim = 60,
|
||||
c_nrt027sw_Anim = 61,
|
||||
c_nrt028sw_Anim = 62,
|
||||
c_nrt029sw_Anim = 63,
|
||||
c_nrt031bk_Anim = 64,
|
||||
c_nrt032bk_Anim = 65,
|
||||
c_nrt035bk_Anim = 66,
|
||||
c_nrt025sw_Anim = 67,
|
||||
c_nrt022sp_Anim = 68,
|
||||
c_nrt030sw_Anim = 69,
|
||||
|
||||
c_TRS100_BlackSky = 100,
|
||||
|
||||
c_TRS200_DkBlueSky = 200,
|
||||
|
||||
c_TRS300_BlackSky = 300,
|
||||
|
||||
c_TRS400_BlueSky = 400
|
||||
};
|
||||
} // namespace CarracerScript
|
||||
|
||||
#endif // CARRACER_ACTIONS_H
|
||||
202
LEGO1/lego/legoomni/include/actions/copter_actions.h
Normal file
202
LEGO1/lego/legoomni/include/actions/copter_actions.h
Normal file
@ -0,0 +1,202 @@
|
||||
// This file was automatically generated by the actionheadergen tool.
|
||||
// Please do not manually edit this file.
|
||||
#ifndef COPTER_ACTIONS_H
|
||||
#define COPTER_ACTIONS_H
|
||||
|
||||
namespace CopterScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int {
|
||||
#else
|
||||
enum Script {
|
||||
#endif
|
||||
c_noneCopter = -1,
|
||||
|
||||
c__StartUp = 0,
|
||||
c_Helicopter_Actor = 1,
|
||||
|
||||
c_Info_Ctl = 5,
|
||||
c_Exit_Ctl = 6,
|
||||
c_ShelfUp_Ctl = 7,
|
||||
c_Platform_Ctl = 8,
|
||||
|
||||
c_Background = 64,
|
||||
c_ColorBook_Bitmap = 65,
|
||||
c_ShelfUp_Up = 66,
|
||||
c_ShelfUp_Up_Bitmap = 67,
|
||||
c_ShelfUp_Down = 68,
|
||||
c_ShelfUp_Down_Bitmap = 69,
|
||||
c_PlatformUp_Bitmap = 70,
|
||||
c_PlatformLeft = 71,
|
||||
c_PlatformLeft_Bitmap = 72,
|
||||
c_Rotate_Sound = 73,
|
||||
c_Yellow_Ctl = 74,
|
||||
c_Yellow_Up_Bitmap = 75,
|
||||
c_Yellow_Down_Bitmap = 76,
|
||||
c_Red_Ctl = 77,
|
||||
c_Red_Up_Bitmap = 78,
|
||||
c_Red_Down_Bitmap = 79,
|
||||
c_Blue_Ctl = 80,
|
||||
c_Blue_Up_Bitmap = 81,
|
||||
c_Blue_Down_Bitmap = 82,
|
||||
c_Green_Ctl = 83,
|
||||
c_Green_Up_Bitmap = 84,
|
||||
c_Green_Down_Bitmap = 85,
|
||||
c_Gray_Ctl = 86,
|
||||
c_Gray_Up_Bitmap = 87,
|
||||
c_Gray_Down_Bitmap = 88,
|
||||
c_Black_Ctl = 89,
|
||||
c_Black_Up_Bitmap = 90,
|
||||
c_Black_Down_Bitmap = 91,
|
||||
c_Decals_Ctl = 92,
|
||||
c_CHWIND_State_0 = 93,
|
||||
c_CHWIND_State_0_Bitmap = 94,
|
||||
c_CHWIND_State_1 = 95,
|
||||
c_CHWIND_State_1_Bitmap = 96,
|
||||
c_CHWIND_Texture_1 = 97,
|
||||
c_CHWIND_State_3 = 98,
|
||||
c_CHWIND_State_3_Bitmap = 99,
|
||||
c_CHWIND_Texture_3 = 100,
|
||||
c_CHWIND_State_2 = 101,
|
||||
c_CHWIND_State_2_Bitmap = 102,
|
||||
c_CHWIND_Texture_2 = 103,
|
||||
c_CHWIND_State_4 = 104,
|
||||
c_CHWIND_State_4_Bitmap = 105,
|
||||
c_CHWIND_Texture_4 = 106,
|
||||
c_Decals_Ctl1 = 107,
|
||||
c_CHJETL_State_0 = 108,
|
||||
c_CHJETL_State_0_Bitmap = 109,
|
||||
c_CHJETL_State_1 = 110,
|
||||
c_CHJETL_State_1_Bitmap = 111,
|
||||
c_CHJETL_Texture_1 = 112,
|
||||
c_CHJETL_State_3 = 113,
|
||||
c_CHJETL_State_3_Bitmap = 114,
|
||||
c_CHJETL_Texture_3 = 115,
|
||||
c_CHJETL_State_2 = 116,
|
||||
c_CHJETL_State_2_Bitmap = 117,
|
||||
c_CHJETL_Texture_2 = 118,
|
||||
c_CHJETL_State_4 = 119,
|
||||
c_CHJETL_State_4_Bitmap = 120,
|
||||
c_CHJETL_Texture_4 = 121,
|
||||
c_Decals_Ctl2 = 122,
|
||||
c_CHJETR_State_0 = 123,
|
||||
c_CHJETR_State_0_Bitmap = 124,
|
||||
c_CHJETR_State_1 = 125,
|
||||
c_CHJETR_State_1_Bitmap = 126,
|
||||
c_CHJETR_Texture_1 = 127,
|
||||
c_CHJETR_State_3 = 128,
|
||||
c_CHJETR_State_3_Bitmap = 129,
|
||||
c_CHJETR_Texture_3 = 130,
|
||||
c_CHJETR_State_2 = 131,
|
||||
c_CHJETR_State_2_Bitmap = 132,
|
||||
c_CHJETR_Texture_2 = 133,
|
||||
c_CHJETR_State_4 = 134,
|
||||
c_CHJETR_State_4_Bitmap = 135,
|
||||
c_CHJETR_Texture_4 = 136,
|
||||
c_Info_Up_Bitmap = 137,
|
||||
c_Info_Down_Bitmap = 138,
|
||||
c_Exit_Up_Bitmap = 139,
|
||||
c_Exit_Down_Bitmap = 140,
|
||||
c_Shelf_Sound = 141,
|
||||
c_PlaceBrick_Sound = 142,
|
||||
c_GetBrick_Sound = 143,
|
||||
c_Paint_Sound = 144,
|
||||
c_Decal_Sound = 145,
|
||||
c_Build_Animation = 146,
|
||||
c_Build_Anim0 = 147,
|
||||
c_Build_Anim1 = 148,
|
||||
c_Build_Anim2 = 149,
|
||||
c_Chptr_Model = 150,
|
||||
c_IPS001D2_Wav_500 = 151,
|
||||
c_IPS001D2_Pho_500 = 152,
|
||||
c_ips001d2_0_sfx = 153,
|
||||
c_ips001d2_1_sfx = 154,
|
||||
c_ips001d2_2_sfx = 155,
|
||||
c_ips001d2_3_sfx = 156,
|
||||
c_ips001d2_4_sfx = 157,
|
||||
c_ips001d2_5_sfx = 158,
|
||||
c_ips001d2_6_sfx = 159,
|
||||
c_ips001d2_7_sfx = 160,
|
||||
c_ips001d2_8_sfx = 161,
|
||||
c_ips001d2_9_sfx = 162,
|
||||
c_ips001d2_10_sfx = 163,
|
||||
c_ips001d2_11_sfx = 164,
|
||||
c_ips001d2_12_sfx = 165,
|
||||
c_ips001d2_13_sfx = 166,
|
||||
c_ips001d2_14_sfx = 167,
|
||||
c_ips001d2_15_sfx = 168,
|
||||
c_ips001d2_16_sfx = 169,
|
||||
c_ips001d2_17_sfx = 170,
|
||||
c_ips001d2_18_sfx = 171,
|
||||
c_ips001d2_Anim = 172,
|
||||
c_IPSxx1D2_Wav_501 = 173,
|
||||
c_IPSxx1D2_Pho_501 = 174,
|
||||
c_ipsxx1d2_0_sfx = 175,
|
||||
c_ipsxx1d2_1_sfx = 176,
|
||||
c_ipsxx1d2_2_sfx = 177,
|
||||
c_ipsxx1d2_3_sfx = 178,
|
||||
c_ipsxx1d2_Anim = 179,
|
||||
c_IPS002D2_Wav_502 = 180,
|
||||
c_IPS002D2_Pho_502 = 181,
|
||||
c_ips002d2_0_sfx = 182,
|
||||
c_ips002d2_1_sfx = 183,
|
||||
c_ips002d2_2_sfx = 184,
|
||||
c_ips002d2_3_sfx = 185,
|
||||
c_ips002d2_Anim = 186,
|
||||
c_IPS003D2_Wav_503 = 187,
|
||||
c_IPS003D2_Pho_503 = 188,
|
||||
c_ips003d2_0_sfx = 189,
|
||||
c_ips003d2_1_sfx = 190,
|
||||
c_ips003d2_2_sfx = 191,
|
||||
c_ips003d2_3_sfx = 192,
|
||||
c_ips003d2_4_sfx = 193,
|
||||
c_ips003d2_5_sfx = 194,
|
||||
c_ips003d2_Anim = 195,
|
||||
c_IPS004D2_Wav_504 = 196,
|
||||
c_IPS004D2_Pho_504 = 197,
|
||||
c_ips004d2_0_sfx = 198,
|
||||
c_ips004d2_1_sfx = 199,
|
||||
c_ips004d2_2_sfx = 200,
|
||||
c_ips004d2_3_sfx = 201,
|
||||
c_ips004d2_4_sfx = 202,
|
||||
c_ips004d2_Anim = 203,
|
||||
c_IPS005D2_Wav_505 = 204,
|
||||
c_IPS005D2_Pho_505 = 205,
|
||||
c_ips005d2_0_sfx = 206,
|
||||
c_ips005d2_1_sfx = 207,
|
||||
c_ips005d2_2_sfx = 208,
|
||||
c_ips005d2_3_sfx = 209,
|
||||
c_ips005d2_4_sfx = 210,
|
||||
c_ips005d2_5_sfx = 211,
|
||||
c_ips005d2_6_sfx = 212,
|
||||
c_ips005d2_7_sfx = 213,
|
||||
c_ips005d2_Anim = 214,
|
||||
c_IPS006D2_Wav_506 = 215,
|
||||
c_IPS006D2_Pho_506 = 216,
|
||||
c_ips006d2_0_sfx = 217,
|
||||
c_ips006d2_1_sfx = 218,
|
||||
c_ips006d2_2_sfx = 219,
|
||||
c_ips006d2_3_sfx = 220,
|
||||
c_ips006d2_4_sfx = 221,
|
||||
c_ips006d2_5_sfx = 222,
|
||||
c_ips006d2_Anim = 223,
|
||||
c_SLP01XD2_Wav_507 = 224,
|
||||
c_SLP01XD2_Pho_507 = 225,
|
||||
c_slp01xd2_0_sfx = 226,
|
||||
c_slp01xd2_1_sfx = 227,
|
||||
c_slp01xd2_2_sfx = 228,
|
||||
c_slp01xd2_3_sfx = 229,
|
||||
c_slp01xd2_Anim = 230,
|
||||
|
||||
c_ips001d2_RunAnim = 500,
|
||||
c_ipsxx1d2_RunAnim = 501,
|
||||
c_ips002d2_RunAnim = 502,
|
||||
c_ips003d2_RunAnim = 503,
|
||||
c_ips004d2_RunAnim = 504,
|
||||
c_ips005d2_RunAnim = 505,
|
||||
c_ips006d2_RunAnim = 506,
|
||||
c_slp01xd2_RunAnim = 507
|
||||
};
|
||||
} // namespace CopterScript
|
||||
|
||||
#endif // COPTER_ACTIONS_H
|
||||
56
LEGO1/lego/legoomni/include/actions/credits_actions.h
Normal file
56
LEGO1/lego/legoomni/include/actions/credits_actions.h
Normal file
@ -0,0 +1,56 @@
|
||||
// This file was automatically generated by the actionheadergen tool.
|
||||
// Please do not manually edit this file.
|
||||
#ifndef CREDITS_ACTIONS_H
|
||||
#define CREDITS_ACTIONS_H
|
||||
|
||||
namespace CreditsScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int {
|
||||
#else
|
||||
enum Script {
|
||||
#endif
|
||||
c_noneCredits = -1,
|
||||
|
||||
c_Credits_Wav = 0,
|
||||
c_Credits_Smk = 1,
|
||||
c_Credit01_Bitmap = 2,
|
||||
c_Credit02_Bitmap = 3,
|
||||
c_Credit03_Bitmap = 4,
|
||||
c_Credit04_Bitmap = 5,
|
||||
c_Credit05_Bitmap = 6,
|
||||
c_Credit06_Bitmap = 7,
|
||||
c_Credit07_Bitmap = 8,
|
||||
c_Credit08_Bitmap = 9,
|
||||
c_Credit09_Bitmap = 10,
|
||||
c_Credit11_Bitmap = 11,
|
||||
c_Credit12_Bitmap = 12,
|
||||
c_Credit13_Bitmap = 13,
|
||||
c_Credit14_Bitmap = 14,
|
||||
c_Credit15_Bitmap = 15,
|
||||
c_Credit16_Bitmap = 16,
|
||||
c_Credit17_Bitmap = 17,
|
||||
c_Credit21_Bitmap = 18,
|
||||
c_Credit19_Bitmap = 19,
|
||||
c_Credit22_Bitmap = 20,
|
||||
c_Credit22b_Bitmap = 21,
|
||||
c_Credit25_Bitmap = 22,
|
||||
c_Credit20_Bitmap = 23,
|
||||
c_Credit12b_Bitmap = 24,
|
||||
c_Credit23_Bitmap = 25,
|
||||
c_Credit24_Bitmap = 26,
|
||||
c_Credit14b_Bitmap = 27,
|
||||
c_Credit14c_Bitmap = 28,
|
||||
c_Credit26_Bitmap = 29,
|
||||
c_Credit27_Bitmap = 30,
|
||||
c_Credit28_Bitmap = 31,
|
||||
c_Credit29_Bitmap = 32,
|
||||
c_Credit10_Bitmap = 33,
|
||||
c_Credit17b_Bitmap = 34,
|
||||
c_Credit17c_Bitmap = 35,
|
||||
|
||||
c_LegoCredits = 499
|
||||
};
|
||||
} // namespace CreditsScript
|
||||
|
||||
#endif // CREDITS_ACTIONS_H
|
||||
151
LEGO1/lego/legoomni/include/actions/dunecar_actions.h
Normal file
151
LEGO1/lego/legoomni/include/actions/dunecar_actions.h
Normal file
@ -0,0 +1,151 @@
|
||||
// This file was automatically generated by the actionheadergen tool.
|
||||
// Please do not manually edit this file.
|
||||
#ifndef DUNECAR_ACTIONS_H
|
||||
#define DUNECAR_ACTIONS_H
|
||||
|
||||
namespace DunecarScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int {
|
||||
#else
|
||||
enum Script {
|
||||
#endif
|
||||
c_noneDunecar = -1,
|
||||
|
||||
c__StartUp = 0,
|
||||
|
||||
c_DuneBugy_Actor = 2,
|
||||
|
||||
c_Info_Ctl = 5,
|
||||
c_Exit_Ctl = 6,
|
||||
c_ShelfUp_Ctl = 7,
|
||||
c_Platform_Ctl = 8,
|
||||
|
||||
c_DuneBugy_Model = 64,
|
||||
c_Background = 65,
|
||||
c_ColorBook_Bitmap = 66,
|
||||
c_ShelfUp_Up_Bitmap = 67,
|
||||
c_ShelfUp_Down_Bitmap = 68,
|
||||
c_PlatformUp_Bitmap = 69,
|
||||
c_PlatformLeft = 70,
|
||||
c_Rotate_Sound = 71,
|
||||
c_PlatformLeft_Bitmap = 72,
|
||||
c_Yellow_Ctl = 73,
|
||||
c_Yellow_Up_Bitmap = 74,
|
||||
c_Yellow_Down_Bitmap = 75,
|
||||
c_Red_Ctl = 76,
|
||||
c_Red_Up_Bitmap = 77,
|
||||
c_Red_Down_Bitmap = 78,
|
||||
c_Blue_Ctl = 79,
|
||||
c_Blue_Up_Bitmap = 80,
|
||||
c_Blue_Down_Bitmap = 81,
|
||||
c_Green_Ctl = 82,
|
||||
c_Green_Up_Bitmap = 83,
|
||||
c_Green_Down_Bitmap = 84,
|
||||
c_Gray_Ctl = 85,
|
||||
c_Gray_Up_Bitmap = 86,
|
||||
c_Gray_Down_Bitmap = 87,
|
||||
c_Black_Ctl = 88,
|
||||
c_Black_Up_Bitmap = 89,
|
||||
c_Black_Down_Bitmap = 90,
|
||||
c_Decals_Ctl = 91,
|
||||
c_Decal_State_0 = 92,
|
||||
c_Decal_State_0_Bitmap = 93,
|
||||
c_Decal_State_1 = 94,
|
||||
c_Decal_State_1_Bitmap = 95,
|
||||
c_Decal_Texture_1 = 96,
|
||||
c_Decal_State_2 = 97,
|
||||
c_Decal_State_2_Bitmap = 98,
|
||||
c_Decal_Texture_2 = 99,
|
||||
c_Decal_State_3 = 100,
|
||||
c_Decal_State_3_Bitmap = 101,
|
||||
c_Decal_Texture_3 = 102,
|
||||
c_Decal_State_4 = 103,
|
||||
c_Decal_State_4_Bitmap = 104,
|
||||
c_Decal_Texture_4 = 105,
|
||||
c_Info_Up_Bitmap = 106,
|
||||
c_Info_Down_Bitmap = 107,
|
||||
c_Exit_Up_Bitmap = 108,
|
||||
c_Exit_Down_Bitmap = 109,
|
||||
c_Shelf_Sound = 110,
|
||||
c_PlaceBrick_Sound = 111,
|
||||
c_GetBrick_Sound = 112,
|
||||
c_Paint_Sound = 113,
|
||||
c_Decal_Sound = 114,
|
||||
c_Build_Animation = 115,
|
||||
c_Build_Anim0 = 116,
|
||||
c_Build_Anim1 = 117,
|
||||
c_Build_Anim2 = 118,
|
||||
c_IGS001D3_Wav_500 = 119,
|
||||
c_IGS001D3_Pho_500 = 120,
|
||||
c_igs001d3_0_sfx = 121,
|
||||
c_igs001d3_1_sfx = 122,
|
||||
c_igs001d3_2_sfx = 123,
|
||||
c_igs001d3_3_sfx = 124,
|
||||
c_igs001d3_4_sfx = 125,
|
||||
c_igs001d3_5_sfx = 126,
|
||||
c_igs001d3_6_sfx = 127,
|
||||
c_igs001d3_7_sfx = 128,
|
||||
c_igs001d3_8_sfx = 129,
|
||||
c_igs001d3_9_sfx = 130,
|
||||
c_igs001d3_10_sfx = 131,
|
||||
c_igs001d3_11_sfx = 132,
|
||||
c_igs001d3_12_sfx = 133,
|
||||
c_igs001d3_13_sfx = 134,
|
||||
c_igs001d3_14_sfx = 135,
|
||||
c_igs001d3_15_sfx = 136,
|
||||
c_igs001d3_16_sfx = 137,
|
||||
c_igs001d3_17_sfx = 138,
|
||||
c_igs001d3_18_sfx = 139,
|
||||
c_igs001d3_19_sfx = 140,
|
||||
c_igs001d3_Anim = 141,
|
||||
c_IGSxx1D3_Wav_501 = 142,
|
||||
c_IGSxx1D3_Pho_501 = 143,
|
||||
c_igsxx1d3_0_sfx = 144,
|
||||
c_igsxx1d3_1_sfx = 145,
|
||||
c_igsxx1d3_2_sfx = 146,
|
||||
c_igsxx1d3_Anim = 147,
|
||||
c_IGS002D3_Wav_502 = 148,
|
||||
c_IGS002D3_Pho_502 = 149,
|
||||
c_igs002d3_0_sfx = 150,
|
||||
c_igs002d3_Anim = 151,
|
||||
c_IGS003D3_Wav_503 = 152,
|
||||
c_IGS003D3_Pho_503 = 153,
|
||||
c_igs003d3_0_sfx = 154,
|
||||
c_igs003d3_1_sfx = 155,
|
||||
c_igs003d3_2_sfx = 156,
|
||||
c_igs003d3_3_sfx = 157,
|
||||
c_igs003d3_4_sfx = 158,
|
||||
c_igs003d3_5_sfx = 159,
|
||||
c_igs003d3_6_sfx = 160,
|
||||
c_igs003d3_7_sfx = 161,
|
||||
c_igs003d3_8_sfx = 162,
|
||||
c_igs003d3_Anim = 163,
|
||||
c_IGS004D3_Wav_504 = 164,
|
||||
c_IGS004D3_Pho_504 = 165,
|
||||
c_igs004d3_0_sfx = 166,
|
||||
c_igs004d3_1_sfx = 167,
|
||||
c_igs004d3_2_sfx = 168,
|
||||
c_igs004d3_3_sfx = 169,
|
||||
c_igs004d3_4_sfx = 170,
|
||||
c_igs004d3_Anim = 171,
|
||||
c_IGS005D3_Wav_505 = 172,
|
||||
c_IGS005D3_Pho_505 = 173,
|
||||
c_igs005d3_0_sfx = 174,
|
||||
c_igs005d3_1_sfx = 175,
|
||||
c_igs005d3_2_sfx = 176,
|
||||
c_igs005d3_3_sfx = 177,
|
||||
c_igs005d3_4_sfx = 178,
|
||||
c_igs005d3_5_sfx = 179,
|
||||
c_igs005d3_Anim = 180,
|
||||
|
||||
c_igs001d3_RunAnim = 500,
|
||||
c_igsxx1d3_RunAnim = 501,
|
||||
c_igs002d3_RunAnim = 502,
|
||||
c_igs003d3_RunAnim = 503,
|
||||
c_igs004d3_RunAnim = 504,
|
||||
c_igs005d3_RunAnim = 505
|
||||
};
|
||||
} // namespace DunecarScript
|
||||
|
||||
#endif // DUNECAR_ACTIONS_H
|
||||
31
LEGO1/lego/legoomni/include/actions/elevbott_actions.h
Normal file
31
LEGO1/lego/legoomni/include/actions/elevbott_actions.h
Normal file
@ -0,0 +1,31 @@
|
||||
// This file was automatically generated by the actionheadergen tool.
|
||||
// Please do not manually edit this file.
|
||||
#ifndef ELEVBOTT_ACTIONS_H
|
||||
#define ELEVBOTT_ACTIONS_H
|
||||
|
||||
namespace ElevbottScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int {
|
||||
#else
|
||||
enum Script {
|
||||
#endif
|
||||
c_noneElevbott = -1,
|
||||
|
||||
c__StartUp = 0,
|
||||
c_LeftArrow_Ctl = 1,
|
||||
c_RightArrow_Ctl = 2,
|
||||
c_ElevBott_Elevator_Ctl = 3,
|
||||
c_Background_Bitmap = 4,
|
||||
c_LeftArrow_Up_Bitmap = 5,
|
||||
c_LeftArrow_Down_Bitmap = 6,
|
||||
c_RightArrow_Up_Bitmap = 7,
|
||||
c_RightArrow_Down_Bitmap = 8,
|
||||
c_Elevator_Mask_Bitmap = 9,
|
||||
c_ConfigAnimation = 10,
|
||||
|
||||
c_iica31in_PlayWav = 500
|
||||
};
|
||||
} // namespace ElevbottScript
|
||||
|
||||
#endif // ELEVBOTT_ACTIONS_H
|
||||
150
LEGO1/lego/legoomni/include/actions/garage_actions.h
Normal file
150
LEGO1/lego/legoomni/include/actions/garage_actions.h
Normal file
@ -0,0 +1,150 @@
|
||||
// This file was automatically generated by the actionheadergen tool.
|
||||
// Please do not manually edit this file.
|
||||
#ifndef GARAGE_ACTIONS_H
|
||||
#define GARAGE_ACTIONS_H
|
||||
|
||||
namespace GarageScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int {
|
||||
#else
|
||||
enum Script {
|
||||
#endif
|
||||
c_noneGarage = -1,
|
||||
|
||||
c__StartUp = 0,
|
||||
c_LeftArrow_Ctl = 1,
|
||||
c_RightArrow_Ctl = 2,
|
||||
c_Info_Ctl = 3,
|
||||
c_Buggy_Ctl = 4,
|
||||
c_Nubby_Entity = 5,
|
||||
c_Nubby_Model = 6,
|
||||
c_Background_Bitmap = 7,
|
||||
c_TrackLed_Bitmap = 8,
|
||||
c_LeftArrow_Up_Bitmap = 9,
|
||||
c_LeftArrow_Down_Bitmap = 10,
|
||||
c_RightArrow_Up_Bitmap = 11,
|
||||
c_RightArrow_Down_Bitmap = 12,
|
||||
c_Info_Up_Bitmap = 13,
|
||||
c_Info_Down_Bitmap = 14,
|
||||
c_Buggy_Up_Bitmap = 15,
|
||||
c_Buggy_Down_Bitmap = 16,
|
||||
c_RadioOff_Bitmap = 17,
|
||||
c_Radio_Ctl = 18,
|
||||
c_RadioOn_Bitmap = 19,
|
||||
c_ConfigAnimation = 20,
|
||||
c_wgs002nu_Wav_500 = 21,
|
||||
c_wgs002nu_Pho_500 = 22,
|
||||
c_wgs002nu_0_sfx = 23,
|
||||
c_wgs002nu_1_sfx = 24,
|
||||
c_wgs002nu_Anim = 25,
|
||||
c_wgs003nu_Wav_501 = 26,
|
||||
c_wgs003nu_Pho_501 = 27,
|
||||
c_wgs003nu_0_sfx = 28,
|
||||
c_wgs003nu_1_sfx = 29,
|
||||
c_wgs003nu_2_sfx = 30,
|
||||
c_wgs003nu_Anim = 31,
|
||||
c_wgs004nu_Wav_502 = 32,
|
||||
c_wgs004nu_Pho_502 = 33,
|
||||
c_wgs004nu_0_sfx = 34,
|
||||
c_wgs004nu_Anim = 35,
|
||||
c_wgs006nu_Wav_503 = 36,
|
||||
c_wgs006nu_Pho_503 = 37,
|
||||
c_wgs006nu_0_sfx = 38,
|
||||
c_wgs006nu_Anim = 39,
|
||||
c_wgs007nu_Wav_504 = 40,
|
||||
c_wgs007nu_Pho_504 = 41,
|
||||
c_wgs007nu_Anim = 42,
|
||||
c_wgs005nu_Wav_505 = 43,
|
||||
c_wgs005nu_Pho_505 = 44,
|
||||
c_wgs008nu_Anim = 45,
|
||||
c_wgs009nu_Wav_506 = 46,
|
||||
c_wgs009nu_Pho_506 = 47,
|
||||
c_wgs009nu_0_sfx = 48,
|
||||
c_wgs009nu_1_sfx = 49,
|
||||
c_wgs009nu_Anim = 50,
|
||||
c_wgs010nu_Wav_507 = 51,
|
||||
c_wgs010nu_Pho_507 = 52,
|
||||
c_wgs010nu_0_sfx = 53,
|
||||
c_wgs010nu_Anim = 54,
|
||||
c_wgs012nu_Wav_508 = 55,
|
||||
c_wgs012nu_Pho_508 = 56,
|
||||
c_wgs012nu_Anim = 57,
|
||||
c_WGS014NU_Wav_509 = 58,
|
||||
c_WGS014NU_Pho_509 = 59,
|
||||
c_WGS016P1_Wav_509 = 60,
|
||||
c_wgs014nu_0_sfx = 61,
|
||||
c_wgs014nu_Anim = 62,
|
||||
c_WGS019NU_Wav_510 = 63,
|
||||
c_WGS019NU_Pho_510 = 64,
|
||||
c_WGS017NU_Wav_510 = 65,
|
||||
c_WGS017NU_Pho_510 = 66,
|
||||
c_wgs017nu_0_sfx = 67,
|
||||
c_wgs017nu_Anim = 68,
|
||||
c_WGS020NU_Wav_511 = 69,
|
||||
c_WGS020NU_Pho_511 = 70,
|
||||
c_wgs020nu_0_sfx = 71,
|
||||
c_wgs020nu_Anim = 72,
|
||||
c_WGS021NU_Wav_512 = 73,
|
||||
c_WGS021NU_Pho_512 = 74,
|
||||
c_wgs021nu_0_sfx = 75,
|
||||
c_wgs021nu_Anim = 76,
|
||||
c_WGS022NU_Wav_513 = 77,
|
||||
c_WGS022NU_Pho_513 = 78,
|
||||
c_wgs022nu_0_sfx = 79,
|
||||
c_wgs022nu_1_sfx = 80,
|
||||
c_wgs022nu_2_sfx = 81,
|
||||
c_wgs022nu_Anim = 82,
|
||||
c_WGS028NU_Wav_514 = 83,
|
||||
c_WGS028NU_Pho_514 = 84,
|
||||
c_WGS027NA_Wav_514 = 85,
|
||||
c_WGS027NA_Pho_514 = 86,
|
||||
c_WGS026NA_Wav_514 = 87,
|
||||
c_WGS026NA_Pho_514 = 88,
|
||||
c_WGS025NA_Wav_514 = 89,
|
||||
c_WGS025NA_Pho_514 = 90,
|
||||
c_WGS024NA_Wav_514 = 91,
|
||||
c_WGS024NA_Pho_514 = 92,
|
||||
c_wgs023nu_0_sfx = 93,
|
||||
c_wgs023nu_1_sfx = 94,
|
||||
c_wgs023nu_2_sfx = 95,
|
||||
c_wgs023nu_3_sfx = 96,
|
||||
c_wgs023nu_4_sfx = 97,
|
||||
c_wgs023nu_5_sfx = 98,
|
||||
c_wgs023nu_6_sfx = 99,
|
||||
c_wgs023nu_7_sfx = 100,
|
||||
c_wgs023nu_8_sfx = 101,
|
||||
c_wgs023nu_9_sfx = 102,
|
||||
c_wgs023nu_Anim = 103,
|
||||
c_wgs030nu_Wav_515 = 104,
|
||||
c_wgs030nu_Pho_515 = 105,
|
||||
c_wgs029nu_Wav_515 = 106,
|
||||
c_wgs029nu_Pho_515 = 107,
|
||||
c_wgs029nu_0_sfx = 108,
|
||||
c_wgs029nu_Anim = 109,
|
||||
c_wgs031nu_Wav_516 = 110,
|
||||
c_wgs031nu_Pho_516 = 111,
|
||||
c_wgs031nu_0_sfx = 112,
|
||||
c_wgs031nu_Anim = 113,
|
||||
|
||||
c_wgs002nu_RunAnim = 500,
|
||||
c_wgs003nu_RunAnim = 501,
|
||||
c_wgs004nu_RunAnim = 502,
|
||||
c_wgs006nu_RunAnim = 503,
|
||||
c_wgs007nu_RunAnim = 504,
|
||||
c_wgs008nu_RunAnim = 505,
|
||||
c_wgs009nu_RunAnim = 506,
|
||||
c_wgs010nu_RunAnim = 507,
|
||||
c_wgs012nu_RunAnim = 508,
|
||||
c_wgs014nu_RunAnim = 509,
|
||||
c_wgs017nu_RunAnim = 510,
|
||||
c_wgs020nu_RunAnim = 511,
|
||||
c_wgs021nu_RunAnim = 512,
|
||||
c_wgs022nu_RunAnim = 513,
|
||||
c_wgs023nu_RunAnim = 514,
|
||||
c_wgs029nu_RunAnim = 515,
|
||||
c_wgs031nu_RunAnim = 516
|
||||
};
|
||||
} // namespace GarageScript
|
||||
|
||||
#endif // GARAGE_ACTIONS_H
|
||||
47
LEGO1/lego/legoomni/include/actions/histbook_actions.h
Normal file
47
LEGO1/lego/legoomni/include/actions/histbook_actions.h
Normal file
@ -0,0 +1,47 @@
|
||||
// This file was automatically generated by the actionheadergen tool.
|
||||
// Please do not manually edit this file.
|
||||
#ifndef HISTBOOK_ACTIONS_H
|
||||
#define HISTBOOK_ACTIONS_H
|
||||
|
||||
namespace HistbookScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int {
|
||||
#else
|
||||
enum Script {
|
||||
#endif
|
||||
c_noneHistbook = -1,
|
||||
|
||||
c__StartUp = 0,
|
||||
c_ScoreBox = 1,
|
||||
c_Background_Bitmap = 2,
|
||||
c_A_Bitmap = 3,
|
||||
c_B_Bitmap = 4,
|
||||
c_C_Bitmap = 5,
|
||||
c_D_Bitmap = 6,
|
||||
c_E_Bitmap = 7,
|
||||
c_F_Bitmap = 8,
|
||||
c_G_Bitmap = 9,
|
||||
c_H_Bitmap = 10,
|
||||
c_I_Bitmap = 11,
|
||||
c_J_Bitmap = 12,
|
||||
c_K_Bitmap = 13,
|
||||
c_L_Bitmap = 14,
|
||||
c_M_Bitmap = 15,
|
||||
c_N_Bitmap = 16,
|
||||
c_O_Bitmap = 17,
|
||||
c_P_Bitmap = 18,
|
||||
c_Q_Bitmap = 19,
|
||||
c_R_Bitmap = 20,
|
||||
c_S_Bitmap = 21,
|
||||
c_T_Bitmap = 22,
|
||||
c_U_Bitmap = 23,
|
||||
c_V_Bitmap = 24,
|
||||
c_W_Bitmap = 25,
|
||||
c_X_Bitmap = 26,
|
||||
c_Y_Bitmap = 27,
|
||||
c_Z_Bitmap = 28
|
||||
};
|
||||
} // namespace HistbookScript
|
||||
|
||||
#endif // HISTBOOK_ACTIONS_H
|
||||
175
LEGO1/lego/legoomni/include/actions/hospital_actions.h
Normal file
175
LEGO1/lego/legoomni/include/actions/hospital_actions.h
Normal file
@ -0,0 +1,175 @@
|
||||
// This file was automatically generated by the actionheadergen tool.
|
||||
// Please do not manually edit this file.
|
||||
#ifndef HOSPITAL_ACTIONS_H
|
||||
#define HOSPITAL_ACTIONS_H
|
||||
|
||||
namespace HospitalScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int {
|
||||
#else
|
||||
enum Script {
|
||||
#endif
|
||||
c_noneHospital = -1,
|
||||
|
||||
c__StartUp = 0,
|
||||
c_Doc_Entity = 1,
|
||||
c_Doc_Model = 2,
|
||||
c_Info_Ctl = 3,
|
||||
c_Door_Ctl = 4,
|
||||
c_Background_Bitmap = 5,
|
||||
c_PizzaLed_Bitmap = 6,
|
||||
c_CopLed_Bitmap = 7,
|
||||
c_Info_Up_Bitmap = 8,
|
||||
c_Info_Down_Bitmap = 9,
|
||||
c_Door_Mask_Bitmap = 10,
|
||||
c_ConfigAnimation = 11,
|
||||
c_hho002cl_Wav_500 = 12,
|
||||
c_hho002cl_Pho_500 = 13,
|
||||
c_hho002cl_0_sfx = 14,
|
||||
c_hho002cl_1_sfx = 15,
|
||||
c_hho002cl_Anim = 16,
|
||||
c_HHO003CL_Wav_501 = 17,
|
||||
c_HHO003CL_Pho_501 = 18,
|
||||
c_hho003cl_0_sfx = 19,
|
||||
c_hho003cl_1_sfx = 20,
|
||||
c_hho003cl_2_sfx = 21,
|
||||
c_hho003cl_3_sfx = 22,
|
||||
c_hho003cl_4_sfx = 23,
|
||||
c_hho003cl_Anim = 24,
|
||||
c_hho004jk_Wav_502 = 25,
|
||||
c_hho004jk_Pho_502 = 26,
|
||||
c_hho004jk_0_sfx = 27,
|
||||
c_hho004jk_1_sfx = 28,
|
||||
c_hho004jk_2_sfx = 29,
|
||||
c_hho004jk_3_sfx = 30,
|
||||
c_hho004jk_4_sfx = 31,
|
||||
c_hho004jk_5_sfx = 32,
|
||||
c_hho004jk_Anim = 33,
|
||||
c_hho016cl_Wav_503 = 34,
|
||||
c_hho016cl_Pho_503 = 35,
|
||||
c_hho016cl_0_sfx = 36,
|
||||
c_hho016cl_1_sfx = 37,
|
||||
c_hho016cl_Anim = 38,
|
||||
c_hho017cl_Wav_504 = 39,
|
||||
c_hho017cl_Pho_504 = 40,
|
||||
c_hho017cl_0_sfx = 41,
|
||||
c_hho017cl_1_sfx = 42,
|
||||
c_hho017cl_Anim = 43,
|
||||
c_hho018cl_Wav_505 = 44,
|
||||
c_hho018cl_Pho_505 = 45,
|
||||
c_hho018cl_0_sfx = 46,
|
||||
c_hho018cl_1_sfx = 47,
|
||||
c_hho018cl_2_sfx = 48,
|
||||
c_hho018cl_3_sfx = 49,
|
||||
c_hho018cl_Anim = 50,
|
||||
c_hho019cl_Wav_506 = 51,
|
||||
c_hho019cl_Pho_506 = 52,
|
||||
c_hho019cl_0_sfx = 53,
|
||||
c_hho019cl_1_sfx = 54,
|
||||
c_hho019cl_2_sfx = 55,
|
||||
c_hho019cl_Anim = 56,
|
||||
c_hho020cl_Wav_507 = 57,
|
||||
c_hho020cl_Pho_507 = 58,
|
||||
c_hho020cl_0_sfx = 59,
|
||||
c_hho020cl_1_sfx = 60,
|
||||
c_hho020cl_Anim = 61,
|
||||
c_hho021cl_Wav_508 = 62,
|
||||
c_hho021cl_Pho_508 = 63,
|
||||
c_hho021cl_0_sfx = 64,
|
||||
c_hho021cl_1_sfx = 65,
|
||||
c_hho021cl_2_sfx = 66,
|
||||
c_hho021cl_Anim = 67,
|
||||
c_hho023cl_Wav_509 = 68,
|
||||
c_hho023cl_Pho_509 = 69,
|
||||
c_hho023cl_0_sfx = 70,
|
||||
c_hho023cl_1_sfx = 71,
|
||||
c_hho023cl_2_sfx = 72,
|
||||
c_hho023cl_Anim = 73,
|
||||
c_hho024cl_Wav_510 = 74,
|
||||
c_hho024cl_Pho_510 = 75,
|
||||
c_hho024cl_0_sfx = 76,
|
||||
c_hho024cl_1_sfx = 77,
|
||||
c_hho024cl_2_sfx = 78,
|
||||
c_hho024cl_3_sfx = 79,
|
||||
c_hho024cl_Anim = 80,
|
||||
c_hho025cl_Wav_511 = 81,
|
||||
c_hho025cl_Pho_511 = 82,
|
||||
c_hho025cl_0_sfx = 83,
|
||||
c_hho025cl_1_sfx = 84,
|
||||
c_hho025cl_2_sfx = 85,
|
||||
c_hho025cl_Anim = 86,
|
||||
c_hho026cl_Wav_512 = 87,
|
||||
c_hho026cl_Pho_512 = 88,
|
||||
c_hho026cl_0_sfx = 89,
|
||||
c_hho026cl_1_sfx = 90,
|
||||
c_hho026cl_Anim = 91,
|
||||
c_hhoa22cl_Wav_513 = 92,
|
||||
c_hhoa22cl_Pho_513 = 93,
|
||||
c_hhoa22cl_0_sfx = 94,
|
||||
c_hhoa22cl_1_sfx = 95,
|
||||
c_hhoa22cl_2_sfx = 96,
|
||||
c_hhoa22cl_3_sfx = 97,
|
||||
c_hhoa22cl_Anim = 98,
|
||||
c_hho008p1_Wav_514 = 99,
|
||||
c_hho007p1_Wav_514 = 100,
|
||||
c_hho007p1_0_sfx = 101,
|
||||
c_hho007p1_1_sfx = 102,
|
||||
c_hho007p1_2_sfx = 103,
|
||||
c_hho007p1_3_sfx = 104,
|
||||
c_hho007p1_Anim = 105,
|
||||
c_hho006cl_Wav_515 = 106,
|
||||
c_hho006cl_Pho_515 = 107,
|
||||
c_hho015cl_Wav_515 = 108,
|
||||
c_hho015cl_Pho_515 = 109,
|
||||
c_hho009en_Wav_515 = 110,
|
||||
c_hho009en_Pho_515 = 111,
|
||||
c_hho010re_Wav_515 = 112,
|
||||
c_hho010re_Pho_515 = 113,
|
||||
c_hho014en_Wav_515 = 114,
|
||||
c_hho014en_Pho_515 = 115,
|
||||
c_hho013re_Wav_515 = 116,
|
||||
c_hho013re_Pho_515 = 117,
|
||||
c_hho012en_Wav_515 = 118,
|
||||
c_hho012en_Pho_515 = 119,
|
||||
c_hho011en_Wav_515 = 120,
|
||||
c_hho011en_Pho_515 = 121,
|
||||
c_hho011re_Wav_515 = 122,
|
||||
c_hho011re_Pho_515 = 123,
|
||||
c_hho008cl_Wav_515 = 124,
|
||||
c_hho008cl_Pho_515 = 125,
|
||||
c_hho006cl_0_sfx = 126,
|
||||
c_hho006cl_1_sfx = 127,
|
||||
c_hho006cl_2_sfx = 128,
|
||||
c_hho006cl_3_sfx = 129,
|
||||
c_hho006cl_4_sfx = 130,
|
||||
c_hho006cl_5_sfx = 131,
|
||||
c_hho006cl_6_sfx = 132,
|
||||
c_hho006cl_7_sfx = 133,
|
||||
c_hho006cl_8_sfx = 134,
|
||||
c_hho006cl_9_sfx = 135,
|
||||
c_hho006cl_10_sfx = 136,
|
||||
c_hho006cl_11_sfx = 137,
|
||||
c_hho006cl_12_sfx = 138,
|
||||
c_hho006cl_Anim = 139,
|
||||
|
||||
c_hho002cl_RunAnim = 500,
|
||||
c_hho003cl_RunAnim = 501,
|
||||
c_hho004jk_RunAnim = 502,
|
||||
c_hho016cl_RunAnim = 503,
|
||||
c_hho017cl_RunAnim = 504,
|
||||
c_hho018cl_RunAnim = 505,
|
||||
c_hho019cl_RunAnim = 506,
|
||||
c_hho020cl_RunAnim = 507,
|
||||
c_hho021cl_RunAnim = 508,
|
||||
c_hho023cl_RunAnim = 509,
|
||||
c_hho024cl_RunAnim = 510,
|
||||
c_hho025cl_RunAnim = 511,
|
||||
c_hho026cl_RunAnim = 512,
|
||||
c_hhoa22cl_RunAnim = 513,
|
||||
c_hho007p1_RunAnim = 514,
|
||||
c_hho006cl_RunAnim = 515
|
||||
};
|
||||
} // namespace HospitalScript
|
||||
|
||||
#endif // HOSPITAL_ACTIONS_H
|
||||
37
LEGO1/lego/legoomni/include/actions/infodoor_actions.h
Normal file
37
LEGO1/lego/legoomni/include/actions/infodoor_actions.h
Normal file
@ -0,0 +1,37 @@
|
||||
// This file was automatically generated by the actionheadergen tool.
|
||||
// Please do not manually edit this file.
|
||||
#ifndef INFODOOR_ACTIONS_H
|
||||
#define INFODOOR_ACTIONS_H
|
||||
|
||||
namespace InfodoorScript
|
||||
{
|
||||
#if __cplusplus >= 201103L
|
||||
enum Script : int {
|
||||
#else
|
||||
enum Script {
|
||||
#endif
|
||||
c_noneInfodoor = -1,
|
||||
|
||||
c__StartUp = 0,
|
||||
c_LeftArrow_Ctl = 1,
|
||||
c_RightArrow_Ctl = 2,
|
||||
c_Info_Ctl = 3,
|
||||
c_Door_Ctl = 4,
|
||||
c_Background_Bitmap = 5,
|
||||
c_LeftArrow_Up_Bitmap = 6,
|
||||
c_LeftArrow_Down_Bitmap = 7,
|
||||
c_RightArrow_Up_Bitmap = 8,
|
||||
c_RightArrow_Down_Bitmap = 9,
|
||||
c_Info_Up_Bitmap = 10,
|
||||
c_Info_Down_Bitmap = 11,
|
||||
c_Door_Up_Bitmap = 12,
|
||||
c_ConfigAnimation = 13,
|
||||
|
||||
c_iic037in_PlayWav = 500,
|
||||
c_iic038in_PlayWav = 501,
|
||||
c_iicb31in_PlayWav = 502,
|
||||
c_iic007in_PlayWav = 503
|
||||
};
|
||||
} // namespace InfodoorScript
|
||||
|
||||
#endif // INFODOOR_ACTIONS_H
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user