45e2416702
This change deletes the GetProcAddress hook and exports symbols corresponding to the hooked functions from each hook DLL instead; we stop at redirecting LoadLibrary/GetModuleHandle calls to the hook DLL. This simplified approach has less hidden magic going on behind the scenes and is more readily composable (i.e. a hook DLL can export redirect symbols for more than one dynamically-loaded DLL). |
||
---|---|---|
.vscode | ||
aimeio | ||
amex | ||
board | ||
chunihook | ||
chuniio | ||
dist | ||
divahook | ||
divaio | ||
doc | ||
hooklib | ||
iccard | ||
idzhook | ||
idzio | ||
jvs | ||
minihook | ||
mu3hook | ||
mu3io | ||
pki | ||
platform | ||
reg | ||
spike | ||
subprojects | ||
util | ||
.dockerignore | ||
.editorconfig | ||
.gitignore | ||
CHANGELOG.md | ||
cross-mingw-32.txt | ||
cross-mingw-64.txt | ||
docker-build.bat | ||
Dockerfile | ||
initpki | ||
Makefile | ||
meson.build | ||
Package.mk | ||
precompiled.h | ||
README.md |
Segatools
Version: v005
Loaders and hardware emulators for SEGA games that run on the Nu and ALLS platforms.
List of supported games
- Chunithm
- Initial D
- Initial D Zero
End-users
For setup and configuration guides, refer to the dedicated documents available for each game, see the links in the previous section.
Developers
Building
The root Makefile
contains various targets that allow you to build the project easily.
Local build
For a local build, you need to install Meson and a recent build of MinGW-w64. Then you can start the build process:
make build
Build output will be located in build/build32
and build/build64
folders.
Cleanup local build
make clean
Create distribution package (zip file)
make dist
The output will be located in build/zip
.
Build and create distribution package using docker
You can also build using docker which avoids having to setup a full development environment if you are just interested in building binaries of the latest changes. Naturally, this requires you to have the docker daemon installed.
make build-docker
Once completed successfully, the build output is located in the build/docker/zip
sub-folder.
Building with Docker Desktop on Windows
- Install WSL2
- Install Docker Desktop
- Run Docker Desktop to start the Docker Engine
- Open a command prompt (
cmd.exe
) andcd
to yoursegatools
folder - Run
docker-build.bat
- Once completed successfully, build output is located in the
build/docker/zip
sub-folder.
Building with Docker on Windows using WSL2
- Install WSL2
- Regarding Linux distribution, we recommend using Ubuntu 20.04
- Run the "Ubuntu 20.04 LTS" App which opens a Linux shell
- Install
make
anddocker
by runningsudo apt-get update
sudo apt-get install make docker.io
- Add the current user to the docker group that you don't have to run docker commands with root:
sudo usermod -a -G docker $USER
- Run the docker daemon in the background:
sudo dockerd > /dev/null 2>&1 &
- Navigate to your segatools folder. If it is located on the
C:
drive, WSL automatically provides a mountpoint for that under/mnt/c
, e.g.cd /mnt/c/segatools
(if the foldersegatools
is located underC:\segatools
on Windows). - Build segatools:
make build-docker
- Once completed successfully, build output is located in the
build/docker/zip
sub-folder.