mirror of
https://github.com/badvision/lawless-legends.git
synced 2025-01-22 14:29:49 +00:00
Unified build system, with new readme.
This commit is contained in:
parent
6316395d16
commit
3df106d6eb
@ -1,24 +1,36 @@
|
||||
Building for the Apple II Platform
|
||||
==================================
|
||||
Building a game disk image for the Apple II Platform
|
||||
====================================================
|
||||
|
||||
1. Build the A2Copy tool, which copies directories in/out of image files: `cd tools/A2Copy`
|
||||
and then `ant`, and finally `cd ../..`
|
||||
1. Install dependencies
|
||||
|
||||
2. Build the PackMap tool, which converts Outlaw XML to a packed map. `cd tools/PackMap`
|
||||
and then `ant`, and finally `cd ../..`. I think you need Groovy support in your
|
||||
NetBeans installation for this to work.
|
||||
The platform build for the Apple II requires only two dependencies. You will need to install these and have them in your path before you try to build.
|
||||
|
||||
3. Pack your game data. `java -jar tools/PackMap/dist/PackMap.jar yourXMLFile.xml virtual/data/maps/map.pack/bin`
|
||||
- Java 8 (or higher). You can use either OpenJDK 1.8+ or Sun JDK 1.8+
|
||||
- Apache ant 1.9 (or higher)
|
||||
|
||||
4. Copy the frame image (in Apple II format) to virtual/data/images/frame.bin
|
||||
You can check if you already have them this way:
|
||||
- `java -version` # should show "1.8.xxx"
|
||||
- `ant -version` # should show "1.9.x"
|
||||
|
||||
5. Set the location of the "cc65" tool set. Make a copy of `virtual/src/include/sample.build.props`
|
||||
and call it `build.props` (in that same directory). Edit the `CC65_BIN_DIR` path inside that file
|
||||
to point at your cc65 installation. There should be "ca65", "cc65", "ld65" etc. in the directory
|
||||
you point to.
|
||||
2. Build the tools
|
||||
|
||||
6. Now build a complete disk image: `cd virtual` and then `ant`
|
||||
- `cd Platform/Apple`
|
||||
- `ant`
|
||||
|
||||
7. Boot up the resulting disk image `game.2mg` on your Apple II or emulator.
|
||||
3. Put scenario files in place
|
||||
|
||||
8. To run the render demo, type `-RENDER` at the ProDOS Basic prompt.
|
||||
You will need acquire and place three scenario files into the `Platform/Apple/virtual/` directory:
|
||||
- `world.xml`
|
||||
- `enemies.tsv`
|
||||
- `font.bin`
|
||||
|
||||
4. Build a game disk
|
||||
|
||||
- `cd Platform/Apple/virtual`
|
||||
- `ant`
|
||||
- The resulting disk image will be `Platform/Apple/Virtual/game.2mg`. Just boot it in an emulator or copy to a real Apple II, and have fun.
|
||||
|
||||
5. Rinse and repeat
|
||||
|
||||
- Change any of the code files in virtual/src, or update the world.xml file using Outlaw
|
||||
- Go to step 4. The system uses incremental building for speedy turnaround.
|
15
Platform/Apple/build.xml
Normal file
15
Platform/Apple/build.xml
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<project name="tools" default="build">
|
||||
|
||||
<target name="clean">
|
||||
<echo>Cleaning tools.</echo>
|
||||
<ant dir="./tools/" target="clean" useNativeBasedir="true" inheritAll="false"/>
|
||||
</target>
|
||||
|
||||
<target name="build">
|
||||
<echo>Building tools.</echo>
|
||||
<ant dir="./tools/" target="build" useNativeBasedir="true" inheritAll="false"/>
|
||||
</target>
|
||||
|
||||
</project>
|
@ -1,15 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- You may freely edit this file. See commented blocks below for -->
|
||||
<!-- some examples of how to customize the build. -->
|
||||
<!-- (If you delete it and reopen the project it will be recreated.) -->
|
||||
<!-- By default, only the Clean and Build commands use this build script. -->
|
||||
<!-- Commands such as Run, Debug, and Test only use this build script if -->
|
||||
<!-- the Compile on Save feature is turned off for the project. -->
|
||||
<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
|
||||
<!-- in the project's Project Properties dialog box.-->
|
||||
<project name="PackPartitions" default="default" basedir=".">
|
||||
<description>Builds, tests, and runs the project PackPartitions.</description>
|
||||
<description>Builds the PackPartitions tool.</description>
|
||||
<import file="nbproject/build-impl.xml"/>
|
||||
<!-- override javasdoc target, since we have no Java sources -->
|
||||
<target depends="init" description="Don't build Javadoc." name="javadoc"/>
|
||||
<!-- after building the 'thin' jar, make a 'thick' one incorporating all dependencies -->
|
||||
<target name="-post-jar">
|
||||
<echo message="Packaging ${application.title} into a single JAR at ${dist.jar}"/>
|
||||
<move file="${dist.jar}" tofile="dist/${application.title}-thin.jar"/>
|
||||
|
19
Platform/Apple/tools/build.xml
Normal file
19
Platform/Apple/tools/build.xml
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<project name="tools" default="build">
|
||||
|
||||
<target name="clean">
|
||||
<echo>Cleaning A2Copy.</echo>
|
||||
<ant dir="./A2Copy/" target="clean" useNativeBasedir="true" inheritAll="false"/>
|
||||
<echo>Cleaning PackPartitions.</echo>
|
||||
<ant dir="./PackPartitions/" target="clean" useNativeBasedir="true" inheritAll="false"/>
|
||||
</target>
|
||||
|
||||
<target name="build">
|
||||
<echo>Building A2Copy.</echo>
|
||||
<ant dir="./A2Copy/" target="default" useNativeBasedir="true" inheritAll="false"/>
|
||||
<echo>Building PackPartitions.</echo>
|
||||
<ant dir="./PackPartitions/" target="default" useNativeBasedir="true" inheritAll="false"/>
|
||||
</target>
|
||||
|
||||
</project>
|
@ -2,14 +2,9 @@
|
||||
|
||||
<project name="game" default="build">
|
||||
|
||||
<property name="projName" value="game"/> <!-- base part of output file name -->
|
||||
<property name="src.dir" location="./src"/>
|
||||
<property name="build.dir" value="./build"/>
|
||||
<property name="a2copy.dir" value="../tools/A2Copy/dist"/>
|
||||
<property name="pack.dir" value="../tools/PackPartitions/dist"/>
|
||||
<property name="plasma.dir" location="../tools/PLASMA/src"/>
|
||||
|
||||
<property name="IMG_FILE" value="${build.dir}/${projName}.bin#${ORG_ADDR}"/>
|
||||
|
||||
<target name="all">
|
||||
<antcall target="clean"/>
|
||||
|
Loading…
x
Reference in New Issue
Block a user