Skip to content

Commit bf83304

Browse files
committed
3DMMEx: Update README
1 parent 5fe5a23 commit bf83304

File tree

1 file changed

+30
-71
lines changed

1 file changed

+30
-71
lines changed

README.md

Lines changed: 30 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,37 @@
1-
# 3DMMForever
1+
# 3DMMEx
22

3-
_Making 3D Movie Maker accessible to all and preserving it for generations to come._
3+
3DMMEx is a fork of [Microsoft 3D Movie Maker](https://github.com/microsoft/Microsoft-3D-Movie-Maker) that aims to preserve the classic 3D Movie Maker experience while adding minor enhancements for an improved user experience.
44

55
![3D Movie Maker](img/3dmovie.jpg?raw=true)
66

7-
## Goals
7+
3DMMEx builds upon the amazing work of the [3DMMForever](https://github.com/foone/3DMMForever) project. It is designed to maintain compatibility with 3DMMForever, with many of the changes designed to be contributed back upstream whenever possible.
88

9-
Our mission is to create a version of the original 3D Movie Maker software with these goals in mind:
9+
## Build
1010

11-
- Includes the original feature set, 640x480 UI, kidspace, and graphics.
12-
- Builds with modern open source tools.
13-
- Runs on multiple additional platforms including MacOS and Linux.
14-
- Ensure movie files produced in 3DMMForever can play in the original 3DMM.
15-
- Reduced quality is OK.
16-
- Ensure movie files produced with the original 3DMM can playback in true form.
17-
- Integrates [v3dmm](https://twitter.com/Foone/status/1307750230679412736).
18-
- Enhancements remain light and preserve backwards compatibility.
19-
- Heavier enhnacements will be reserved for [3DMMPlus](#3dmmplus).
11+
### Requirements
2012

21-
## About
13+
* Visual Studio 2022
14+
* Desktop development with C++ workload
15+
* Clang (optional)
16+
* CMake 3.22+
17+
* WiX (optional: required to build MSI packages)
2218

23-
Released by Microsoft in 1995, 3D Movie Maker (3DMM) is a creativity program originally designed for kids that allows users to create 3D animated movies through a simple user interface using a wide assortment of included scenes, 3D models, sounds and music. Users can place, animate and otherwise manipulate 3D models using simple mouse movements and drags. They can also record and import their own sound files. Finished movies can be saved and shared with others. The program also includes a "kidspace" in the form a movie theater that can be navigated around where a user can find movie making tutorials, and inspiration.
19+
### Building
2420

25-
In May 2022, Microsoft released the original source code of 3DMM under the [MIT license](LICENSE) as open source. Which is how 3DMMForever became possible!
21+
Use CMake to build the project. The project includes a CMakePresets.json file that specifies [build presets](https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html).
2622

27-
## Build instructions
28-
29-
CMake 3.23 and Visual Studio 2022 are required.
30-
31-
To setup an environment quickly, one can install
32-
[VCVars](https://github.com/bruxisma/VCVars) for powershell and use
33-
34-
```console
35-
$ pushvc (invoke-vcvars -TargetArch x86 -HostArch AMD64)
36-
```
37-
38-
to enable the environment. (To remove the environment simply call `popvc` afterwards
39-
40-
As of right now it's only safe to target x86, which means using a cross
41-
compiler environment in conjunction with CMake. Using Ninja is an option via
42-
configure presets:
43-
44-
```console
45-
$ cmake --preset x86:msvc:debug
46-
$ cmake --build build
47-
```
48-
49-
This should generate the `3dmovie.exe` file with little to no issue as long as
50-
your environment is setup correctly.
51-
52-
The CMake project *does not* currently setup a correct install, nor does it
53-
show files inside of visual studio correctly (This will be added later)
54-
55-
### Known Issues
56-
57-
- Compilation of `SITOBREN.EXE` is disabled
58-
- This requires the SoftImage SDK "DKIT" to compile
59-
60-
61-
## Contributing
62-
63-
3DMMForever and 3DMMPlus will not be possible without an enthusiastic open source developer community backing it.
64-
65-
We're working on a set of contribution guidelines that we will be using going forward.
66-
67-
## 3DMMPlus
68-
69-
3DMMPlus is a future fork of 3DMMForever that will be created when we've finished the porting work to MacOS and Linux. The sky will be the limit with 3DMMPlus! Our mission will be to create a heavily enhanced version of 3DMM that:
70-
71-
- Has a flexible full color UI that looks great at modern resolutions.
72-
- Has a modern full color 3D renderer with lightning, shading, moveable camera, and more.
73-
- Produces a new enhanced file type.
74-
- Can import 3MM files and play them back as they were originally created.
75-
- Maintains a strong consideration for and familiarity with the original 3DMM’s UI decisions and approach.
23+
* Open the Developer Command Prompt for Visual Studio 2022 (or use a tool such as [VCVars](https://github.com/bruxisma/VCVars) to add the build tools to your path)
24+
* Run `cmake --preset <preset-name>`:
25+
* Debug build: `x86-msvc-debug`
26+
* For local development and testing, use the Debug build. It has additional runtime checking that helps to identify bugs.
27+
* Release build: `x86-msvc-relwithdebinfo`
28+
* Clang builds: Choose a `x86-clang-*` preset to compile with Clang instead of the Microsoft Visual C++ compiler
29+
* Run `cmake --build build\<preset-name> --target install`
30+
* The `--target install` is optional but recommended. This will create a directory `dist\<preset-name>` with the directory layout required for 3DMM to run.
31+
* Kauai development tools (eg. Chelp, Ched) are not built by default.
32+
* To build a release package, run `cmake --build build\<preset-name> --target dist`
33+
* A ZIP archive containing a portable install is created in the build directory.
34+
* If WiX is installed, an MSI package is also created.
7635

7736
## Legal stuff
7837

@@ -82,21 +41,21 @@ The following sections have been carried over from the original 3D Movie Maker [
8241

8342
This code was restored from the Microsoft corporate archives and cleared for release.
8443

85-
- Developer names and aliases were removed, with the exception of current employees who worked on the
44+
* Developer names and aliases were removed, with the exception of current employees who worked on the
8645
original release who consented to keeping their names in place
87-
- The archive consisted of several CDs, some of which were for alternate builds or products, and
46+
* The archive consisted of several CDs, some of which were for alternate builds or products, and
8847
have been excluded
89-
- The code does not build with today's engineering tools, and is released as-is.
48+
* The code does not build with today's engineering tools, and is released as-is.
9049

9150
### Trademarks
9251

93-
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft
94-
trademarks or logos is subject to and must follow
52+
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft
53+
trademarks or logos is subject to and must follow
9554
[Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
9655
Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
9756
Any use of third-party trademarks or logos are subject to those third-party's policies.
9857

99-
This repo includes a build from 1995 of BRender from Argonaut software. Approval to open source BRender as MIT was given in an email from Jez San, former CEO of Argonaut. Other versions of BRender exist at https://github.com/foone/BRender-v1.3.2 and https://github.com/foone/BRender-1997 Thanks to Jez and the whole BRender team for their hard work on this amazing engine. A full historical list of BRender contributors is available at https://github.com/foone/BRender-v1.3.2/blob/main/README.md
58+
This repo includes a build from 1995 of BRender from Argonaut software. Approval to open source BRender as MIT was given in an email from Jez San, former CEO of Argonaut. Other versions of BRender exist at <https://github.com/foone/BRender-v1.3.2> and <https://github.com/foone/BRender-1997> Thanks to Jez and the whole BRender team for their hard work on this amazing engine. A full historical list of BRender contributors is available at <https://github.com/foone/BRender-v1.3.2/blob/main/README.md>
10059

10160
This repo does NOT include the SoftImage SDK "./DKIT" from 1992.
10261

0 commit comments

Comments
 (0)