├── .gitignore
├── files
├── own_scenarios
│ └── index.md
├── 1602edit.exe.md
├── savegame
│ └── index.md
├── figuren.cod.md
├── noklima
│ └── index.md
├── gfx
│ └── index.md
├── mgfx
│ └── index.md
├── sgfx
│ └── index.md
├── editor.cod.md
├── toolgfx
│ └── index.md
├── videosmk
│ └── index.md
├── gaddata
│ └── index.md
├── text.cod.md
├── gadedit
│ └── index.md
├── 1602.exe.md
├── nordnat
│ └── index.md
├── samples
│ └── index.md
├── suednat
│ └── index.md
├── index.md
├── music8
│ └── index.md
├── nord
│ └── index.md
├── sued
│ └── index.md
├── szenes
│ └── index.md
├── haeuser.cod.md
├── speech8
│ └── index.md
└── game.dat.md
├── _config.yml
├── file_formats
├── szm.md
├── szs.md
├── gam.md
├── scp.md
├── chunks
│ ├── wiff.md
│ ├── szene_ranking.md
│ ├── randtab.md
│ ├── name.md
│ ├── szene_missnr.md
│ ├── szene_gameid.md
│ └── szene_kampagne.md
├── index.md
├── text.md
├── col.md
├── encryption.md
├── hss.md
├── chunks.md
├── bsh.md
├── script.md
└── anno16_chunks.hexpat
├── README.md
├── additional_resources.md
├── _layouts
└── default.html
├── version_differences.md
└── LICENSE
/.gitignore:
--------------------------------------------------------------------------------
1 | *.swp
2 |
--------------------------------------------------------------------------------
/files/own_scenarios/index.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-slate
--------------------------------------------------------------------------------
/file_formats/szm.md:
--------------------------------------------------------------------------------
1 | # SZM #
2 |
3 |
--------------------------------------------------------------------------------
/file_formats/szs.md:
--------------------------------------------------------------------------------
1 | # SZS #
2 |
3 |
--------------------------------------------------------------------------------
/files/1602edit.exe.md:
--------------------------------------------------------------------------------
1 | # Editor (1602edit.exe) #
2 |
3 |
--------------------------------------------------------------------------------
/file_formats/gam.md:
--------------------------------------------------------------------------------
1 | # GAM #
2 | The SaveGame file format.
3 |
4 |
--------------------------------------------------------------------------------
/file_formats/scp.md:
--------------------------------------------------------------------------------
1 | # SCP #
2 |
3 | Is a [Chunks](./chunks.md) file format used for Islands.
4 |
5 | It contains at least one of the following **Chunks**:
6 | - INSEL3
7 | - INSEL4
8 | - INSEL5
9 |
10 |
--------------------------------------------------------------------------------
/files/savegame/index.md:
--------------------------------------------------------------------------------
1 | # /savegame #
2 |
3 | This Folder is used on old Windows systems for [Savegames](../../file_formats/gam.md).
4 |
5 | It contains an autosave file `lastgame.gam` and a list of **Savegames**.
6 |
7 |
--------------------------------------------------------------------------------
/file_formats/chunks/wiff.md:
--------------------------------------------------------------------------------
1 | # Chunks WIFF #
2 |
3 | Always 4 bytes long.
4 | It seems to be a checksum (??).
5 | The game does read this [Chunk](../chunks.md) while loading a file (??).
6 |
7 | ## Used in ##
8 |
9 | - [GAM](../gam.md)
10 |
11 |
--------------------------------------------------------------------------------
/file_formats/chunks/szene_ranking.md:
--------------------------------------------------------------------------------
1 | # Chunk SZENE_RANKING #
2 |
3 | Always 4 bytes. Contains a 32bit (unsigned??) integer.
4 |
5 | ## Observed Values ##
6 |
7 | TODO: where
8 |
9 | - 0
10 | - 1
11 | - 2
12 | - 3
13 |
14 | ## Used in ##
15 |
16 | - [SZS](../szs.md)
17 | - [SZM](../szm.md)
18 |
19 |
--------------------------------------------------------------------------------
/files/figuren.cod.md:
--------------------------------------------------------------------------------
1 | # /figuren.cod #
2 |
3 | Is an [Encrypted](../file_formats/encryption.md) [Script](../file_formats/script.md).
4 |
5 | ## List of Object Types ##
6 |
7 | ### FORMATION ###
8 |
9 | | ID | Expected Values | Use |
10 | |---------------|-------------------|-----|
11 | | | | |
12 |
13 |
--------------------------------------------------------------------------------
/file_formats/chunks/randtab.md:
--------------------------------------------------------------------------------
1 | # Chunk RANDTAB #
2 |
3 | It should always have a length of 1024 bytes. It contains 512 16bit integers used for **Random Number Generation** during Szene file setup (??).
4 |
5 | ## Memory Layout ##
6 |
7 | 512x 16bit-intergers.
8 |
9 | ## Used in ##
10 |
11 | - [SZS](../szs.md)
12 | - [SZM](../szm.md)
13 |
14 |
--------------------------------------------------------------------------------
/files/noklima/index.md:
--------------------------------------------------------------------------------
1 | # /noklima #
2 |
3 | This Folder contains Island [scp](../../file_formats/scp.md)s, one for each size.
4 |
5 | ## List of Files ##
6 |
7 | | Name | Notes |
8 | |---------------|---------------------|
9 | | big.scp | 70x60 |
10 | | lar.SCP | 100x90 |
11 | | lit.scp | 30x30 |
12 | | med.scp | 50x52 |
13 | | mit.scp | 40x40 |
14 |
15 |
--------------------------------------------------------------------------------
/file_formats/index.md:
--------------------------------------------------------------------------------
1 | # File Formats #
2 |
3 | - [BSH](./bsh.md)
4 | - [Chunks](./chunks.md)
5 | - [Encryption](./encryption.md)
6 | - [GAM](./gam.md)
7 | - [HSS](./hss.md)
8 | - [SCP](./scp.md)
9 | - [Script](./script.md)
10 | - [SZM](./szm.md)
11 | - [SZS](./szs.md)
12 | - [Text](./text.md)
13 |
14 | ## Notes ##
15 | If not specified otherwise, Numbers are in Little-Endian!
16 |
17 |
--------------------------------------------------------------------------------
/file_formats/chunks/name.md:
--------------------------------------------------------------------------------
1 | # Chunk NAME #
2 |
3 | This [Chunk](../chunks.md) contains the **Name** of the Scenario/Savegame.
4 |
5 | ## Memory Layout ##
6 |
7 | After the [Chunk Header](../chunks.md#chunk-header) is a C-String (not '\0' terminated??) of the length of the **Chunk**.
8 |
9 | ## Used in ##
10 |
11 | - [SZS](../szs.md)
12 | - [SZM](../szm.md)
13 | - [GAM](../gam.md)
14 |
15 |
--------------------------------------------------------------------------------
/file_formats/chunks/szene_missnr.md:
--------------------------------------------------------------------------------
1 | # Chunk SZENE_MISSNR #
2 |
3 | Always 4 bytes. Contains a 32bit (unsigned??) integer.
4 |
5 | ## Observed Values ##
6 |
7 | TODO: where
8 |
9 | - 0
10 | - 1
11 | - 2
12 | - 3
13 | - 4
14 | - 5
15 | - 6
16 | - 7
17 | - 8
18 | - 9
19 | - 10
20 | - 11
21 | - 12
22 | - 13
23 | - 14
24 | - 15 `Die Piratenplage.szs`
25 | - 16 `Der Eindringling.szs`
26 | - 17 `Die Festung.szs`
27 |
28 |
29 |
--------------------------------------------------------------------------------
/file_formats/chunks/szene_gameid.md:
--------------------------------------------------------------------------------
1 | # Chunk SZENE_GAMEID #
2 |
3 | Always 4 bytes. Contains a 32bit (unsigned??) integer.
4 | Seems to be an **Unique Identifier** for **Scenarios**.
5 |
6 | ## some Observed Values ##
7 |
8 | - 1755982193 `Wenig Bauland.szm`
9 | - 1782304250 `Wenig Land.szs`
10 | - 1807979078 `Zwei sind einer zuviel.szm`
11 |
12 | ## Used in ##
13 |
14 | - [SZS](../szs.md)
15 | - [SZM](../szm.md)
16 |
17 |
--------------------------------------------------------------------------------
/file_formats/text.md:
--------------------------------------------------------------------------------
1 | # Text #
2 |
3 | Text Files contain most **Strings** used in the Game and are used for localization.
4 | The **Strings** can contain `printf` formatting information.
5 |
6 | ## File Structure ##
7 |
8 | The file is divided into **Sections** seperated by a *dash-line* of 50 dashes.
9 | Each **Section** starts with a UPPERCASE Section name in **Brackets** eg. `[GAME]` and ends with `[END]`.
10 |
11 | ## Unused Sections ##
12 |
13 | - WARES
14 |
15 |
--------------------------------------------------------------------------------
/file_formats/chunks/szene_kampagne.md:
--------------------------------------------------------------------------------
1 | # Chunk SZENE_KAMPAGNE #
2 |
3 | Always 4 bytes. Contains a 32bit (unsigned??) integer.
4 | Use unknown.
5 | If present, it's the first **Chunk**.
6 | Files containing this **Chunk** have an number at the end before the file ending.
7 | eg: `Some Scenario0.szs`
8 |
9 | ## Observed Values ##
10 |
11 | TODO: where
12 |
13 | - 0
14 | - 1
15 | - 2
16 | - 3
17 | - 4
18 | - 5
19 |
20 | ## Used in ##
21 |
22 | - [SZS](../szs.md)
23 |
24 |
--------------------------------------------------------------------------------
/files/gfx/index.md:
--------------------------------------------------------------------------------
1 | # /gfx #
2 |
3 | This folder contains the [BSH](../../file_formats/bsh.md) files for max zoom.
4 |
5 | ## List of Files ##
6 |
7 | | Name | Notes |
8 | |---------------|---------------------|
9 | | EFFEKTE.BSH | |
10 | | FISCHE.BSH | |
11 | | GAUKLER.BSH | |
12 | | MAEHER.BSH | |
13 | | NUMBERS.BSH | |
14 | | SCHATTEN.BSH | |
15 | | SHIP.BSH | |
16 | | SOLDAT.BSH | |
17 | | STADTFLD.BSH | |
18 | | TIERE.BSH | |
19 | | TRAEGER.BSH | |
20 |
--------------------------------------------------------------------------------
/files/mgfx/index.md:
--------------------------------------------------------------------------------
1 | # /mgfx #
2 |
3 | This folder contains the [BSH](../../file_formats/bsh.md) files for medium zoom.
4 |
5 | ## List of Files ##
6 |
7 | | Name | Notes |
8 | |---------------|---------------------|
9 | | EFFEKTE.BSH | |
10 | | FISCHE.BSH | |
11 | | GAUKLER.BSH | |
12 | | MAEHER.BSH | |
13 | | NUMBERS.BSH | |
14 | | SCHATTEN.BSH | |
15 | | SHIP.BSH | |
16 | | SOLDAT.BSH | |
17 | | STADTFLD.BSH | |
18 | | TIERE.BSH | |
19 | | TRAEGER.BSH | |
20 |
--------------------------------------------------------------------------------
/files/sgfx/index.md:
--------------------------------------------------------------------------------
1 | # /sgfx #
2 |
3 | This folder contains the [BSH](../../file_formats/bsh.md) files for minimum zoom.
4 |
5 | ## List of Files ##
6 |
7 | | Name | Notes |
8 | |---------------|---------------------|
9 | | EFFEKTE.BSH | |
10 | | FISCHE.BSH | |
11 | | GAUKLER.BSH | |
12 | | MAEHER.BSH | |
13 | | NUMBERS.BSH | |
14 | | SCHATTEN.BSH | |
15 | | SHIP.BSH | |
16 | | SOLDAT.BSH | |
17 | | STADTFLD.BSH | |
18 | | TIERE.BSH | |
19 | | TRAEGER.BSH | |
20 |
--------------------------------------------------------------------------------
/files/editor.cod.md:
--------------------------------------------------------------------------------
1 | # editor.cod #
2 |
3 | [Encrypted](../file_formats/encryption.md) [Text](../file_formats/text.md)
4 |
5 | The file is used by the [Editor](./1602edit.exe.md).
6 |
7 | It differs from the [text.cod](./text.cod.md) only(??) in additional **Sections**.
8 |
9 | ## Additional Section List ##
10 |
11 | | Name | Notes |
12 | |---------------|-------|
13 | | EDITOR | |
14 | | NATIVES | |
15 | | PIRATEN | |
16 | | COPYIT | |
17 |
18 | Does not contain from `text.cod`:
19 | - KAMPAGNE
20 | - DEMO
21 |
22 |
--------------------------------------------------------------------------------
/file_formats/col.md:
--------------------------------------------------------------------------------
1 | # COL
2 |
3 | Col is the file format used to store the color palette for the game.
4 |
5 | ## Format and Structure
6 | The [Chunk Header](./chunks.md#chunk-header) identifier is COL.
7 | After the first 20 bytes there are the stored the RGB values one byte per color channel.
8 | ```
9 | R G B
10 | 0x00, 0x00, 0x00,
11 | 0x80, 0x00, 0x00,
12 | 0x00, 0x80, 0x00,
13 | 0x80, 0x80, 0x00,
14 | 0x00, 0x00, 0x80,
15 | 0x6d, 0x1f, 0x6c,
16 | 0x00, 0x80, 0x80,
17 | 0xc0, 0xc0, 0xc0,
18 | ...
19 | ```
20 |
--------------------------------------------------------------------------------
/file_formats/encryption.md:
--------------------------------------------------------------------------------
1 | # Encryption #
2 |
3 | It's not really `Encryption` but anyway, some game data text files are encrypted using [Two's complement](https://en.wikipedia.org/wiki/Two%27s_complement). Since it's used to represent negative values in signed integers, one can simply de-/encrypt it using the sign operator `-`.
4 |
5 | for example in C:
6 | ```C
7 | char decrypted = -encrypted;
8 | ```
9 |
10 | ## Encrypted Files ##
11 |
12 | Usualy all files ending with `.cod`.
13 |
14 | - editor.cod
15 | - figuren.cod
16 | - haeuser.cod
17 | - text.cod
18 |
19 | ## Notes ##
20 |
21 | [MDCII-Engine Implementation](https://github.com/roybaer/mdcii-engine/blob/master/src/codcat.cpp)
22 |
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Anno 1602 Knowledge Database #
2 |
3 | ## Contents ##
4 |
5 | - [Files](./files/index.md) sorted by folder and type
6 | - [File Formats](./file_formats/index.md)
7 | - [Version and Language Differences](./version_differences.md)
8 |
9 | [Additional Resources](./additional_resources.md)
10 |
11 | ## Help Wanted ! ##
12 |
13 | There is still a lot of information **missing** and/or needs **validation** (search for questionmarks).
14 | If you have any, please feel free to open an **Issue** or **Pull request**.
15 | Also specifically, there are a lot of differences between versions and revisions, that are not yet in this repository.
16 |
17 | ## License ##
18 |
19 | This wiki is licensend under [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/), if not stated otherwise.
20 |
21 |
--------------------------------------------------------------------------------
/file_formats/hss.md:
--------------------------------------------------------------------------------
1 | # HSS and HSM #
2 |
3 | Is a [Script](./script.md) file used to save the **Highscore** of the corresponding **Mission**. The HS**S** is used for **Singleplayer** and the HS**M** is used for **Multiplayer** scores.
4 |
5 | An Example of `Endlosspiel.hsm` after two matches:
6 | ```
7 |
8 | Objekt: HISCORE
9 |
10 | Entry: 0, "player2", 3979, 2, 343421086
11 | Entry: 1, "player2", 3769, 1, 187799765
12 | Entry: 2, "player3", 3206, 1, 187799765
13 | Entry: 3, "player3", 2840, 2, 343421086
14 | Entry: 4, "Green-Sky", 2744, 1, 187799765
15 | Entry: 5, "Green-Sky", 2712, 2, 343421086
16 | Entry: 6, "", 0, 0, 0
17 | Entry: 7, "", 0, 0, 0
18 | Entry: 8, "", 0, 0, 0
19 | Entry: 9, "", 0, 0, 0
20 | Entry: 10, "", 0, 0, 0
21 | Entry: 11, "", 0, 0, 0
22 |
23 | EndObj;
24 |
25 |
26 | ```
27 |
28 |
--------------------------------------------------------------------------------
/files/toolgfx/index.md:
--------------------------------------------------------------------------------
1 | # /toolgfx #
2 |
3 | This Folder contains the [BSH](../../file_formats/bsh.md) files for placing buildings, the Editor, symbols for tools and character/fonts with the `.zei` file ending. It also contains a `stadtfld.col` Autodesk(??) Color Palette and the Pause Video `6s.smk`.
4 |
5 | ## List of Files ##
6 |
7 | | Name | Notes |
8 | |---------------|---------------------|
9 | | 6s.smk | the Pause Video |
10 | | BAUHAUS.BSH | |
11 | | BAUHAUS6.BSH | |
12 | | BAUHAUS8.BSH | |
13 | | BAUSHIP.BSH | |
14 | | Bauship6.bsh | |
15 | | Bauship8.bsh | |
16 | | Editor.bsh | |
17 | | Editor6.bsh | |
18 | | Editor8.bsh | |
19 | | STADTFLD.COL | Color Palette |
20 | | START.BSH | |
21 | | Start6.bsh | |
22 | | Start8.bsh | |
23 | | SYMBOL.BSH | |
24 | | TOOLS.BSH | |
25 | | TOOLS6.BSH | |
26 | | TOOLS8.BSH | |
27 | | ZEI11A.ZEI | |
28 | | ZEI14A.ZEI | |
29 | | ZEI14V.ZEI | |
30 | | ZEI16G.ZEI | |
31 | | ZEI16H.ZEI | |
32 | | ZEI16V.ZEI | |
33 | | ZEI2.ZEI | |
34 | | ZEI20H.ZEI | |
35 | | ZEI20V.ZEI | |
36 | | ZEI24V.ZEI | |
37 | | ZEI28V.ZEI | |
38 | | ZEI9A.ZEI | |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/files/videosmk/index.md:
--------------------------------------------------------------------------------
1 | # /videosmk #
2 |
3 | This Folder contains prerendered videos and cutscenes und the [Smaker video](https://en.wikipedia.org/wiki/Smacker_video) file format.
4 |
5 | ## List of Files ##
6 |
7 | | Name | Notes |
8 | |---------------|---------------------|
9 | | 6.smk | |
10 | | 8.smk | |
11 | | 9.smk | |
12 | | 10.smk | |
13 | | 58.smk | |
14 | | 60.smk | |
15 | | 141.smk | |
16 | | 153.smk | |
17 | | 177.smk | |
18 | | 187.smk | |
19 | | 198.smk | |
20 | | 211.smk | |
21 | | 241.smk | |
22 | | 252.smk | |
23 | | 262.smk | |
24 | | 270.smk | |
25 | | 282.smk | |
26 | | 295.smk | |
27 | | 334.smk | |
28 | | 626.smk | |
29 | | 660.smk | |
30 | | 675.smk | |
31 | | 774.smk | |
32 | | 784.smk | |
33 | | 785.smk | |
34 | | 911.smk | |
35 | | 933.smk | |
36 | | 986.smk | |
37 | | 988.smk | |
38 | | 989.smk | |
39 | | 992.smk | |
40 | | 998.smk | |
41 | | 1010.smk | |
42 | | 2000.smk | |
43 | | 2010.smk | |
44 | | 2020.smk | |
45 | | 2030.smk | |
46 | | 2040.smk | |
47 | | 2050.smk | |
48 | | 2060.smk | |
49 | | 2061.smk | |
50 | | 2070.smk | |
51 | | 2080.smk | |
52 | | 2100.smk | |
53 | | 2110.smk | |
54 | | 2120.smk | |
55 | | 2500.smk | |
56 | | 2510.smk | |
57 | | 2520.smk | |
58 | | 2530.smk | |
59 | | 2990.smk | |
60 |
61 |
--------------------------------------------------------------------------------
/files/gaddata/index.md:
--------------------------------------------------------------------------------
1 | # /gaddata #
2 |
3 | This Folder contains all the GUI information in the form of [Script](../../file_formats/script.md) files with a `.gad` file ending.
4 | With the exeption of an `.inc` file, which is an file included in other `.gad` files.
5 |
6 | ## List of Files ##
7 |
8 | | Name | Notes |
9 | |---------------|---------------------|
10 | | ANNO.GAD | |
11 | | BASE.GAD | |
12 | | BAU.GAD | |
13 | | BAUKONT.GAD | |
14 | | BAUSHIP.GAD | |
15 | | BERGWERK.GAD | |
16 | | BUBBLE.GAD | |
17 | | BUBBLE01.GAD | |
18 | | CHAT.GAD | |
19 | | CLIENT.GAD | |
20 | | CTRL.GAD | |
21 | | DISK.GAD | |
22 | | ENDE.GAD | |
23 | | ENDE_DEM.GAD | |
24 | | FARBWAHL.GAD | |
25 | | HANDEL.GAD | |
26 | | HOST.GAD | |
27 | | INFO.GAD | |
28 | | INFRA.GAD | |
29 | | KONTOR.GAD | |
30 | | LAGER.GAD | |
31 | | LEIST.GAD | |
32 | | MARKT.GAD | |
33 | | MILITAR.GAD | |
34 | | MISSION.GAD | |
35 | | MISSZIEL.GAD | |
36 | | MKSHIP.GAD | |
37 | | MKSOLDAT.GAD | |
38 | | MUSIK.GAD | |
39 | | OPTION.GAD | |
40 | | PIRAT.GAD | |
41 | | PIRATORD.GAD | |
42 | | PLANTAGE.GAD | |
43 | | PROD.GAD | |
44 | | ROUTE.GAD | |
45 | | SCAPE.GAD | |
46 | | SHIP.GAD | |
47 | | SHIPLIST.GAD | |
48 | | SIEDLER.GAD | |
49 | | SKSHIP.GAD | |
50 | | SKSOLDAT.GAD | |
51 | | STADT.GAD | |
52 | | STADTLST.GAD | |
53 | | TOOLS.INC | |
54 | | TRADE.GAD | |
55 | | TRADER.GAD | |
56 | | TRANSFER.GAD | |
57 | | TRIBUT.GAD | |
58 | | TUTOR.GAD | |
59 | | VERTRAG.GAD | |
60 | | WAITLOAD.GAD | |
61 | | WERFT.GAD | |
62 |
63 |
--------------------------------------------------------------------------------
/files/text.cod.md:
--------------------------------------------------------------------------------
1 | # text.cod #
2 |
3 | [Encrypted](../file_formats/encryption.md) [Text](../file_formats/text.md)
4 |
5 |
6 | ## Section List ##
7 |
8 | | Name | Notes |
9 | |---------------|-------|
10 | | GAME | mixed, a lot of `printf` formatted ones |
11 | | LEISTE | strings used in the status bar at the bottom |
12 | | PLAYCOL | player colors |
13 | | VIDEOKIND | kind of video (theres just 3) |
14 | | SPEECHKIND | kind of speech event |
15 | | ERROR | error messages |
16 | | PATH | localized path name for [Own Scenarios](./own_scenarios/index.md) |
17 | | ENDLESSKIND | names for Endlessgame difficulties |
18 | | TUTORKIND | names for the Tutorial Missions |
19 | | KAMPAGNE | localized names for Campaign Missions |
20 | | FIGKIND | kind of figure |
21 | | WARE | localized string for Wares |
22 | | WAREM | same(??) |
23 | | ROHST | Resources |
24 | | ROHSTFELD | Resource Buildings |
25 | | MILITAR | Milliary Buildings |
26 | | WOHNHAUS | Residence Building |
27 | | STRASSE | Street Buildings |
28 | | BERGWERK | Mining Buildings |
29 | | HANDWERK | Craft Buildings |
30 | | FARM | Agrarian Buildings |
31 | | HAFEN | Harbor Buildings |
32 | | DIVERS | Miscellaneous Buildings |
33 | | ABRISS | Demolish Building |
34 | | LANDSCHAFT | Buildings not placable by the Player |
35 | | BUBBLES | bubbles? |
36 | | TUTOR | text for the tutorial |
37 | | MELDUNG | messages for events |
38 | | STAEDTE | list of city names |
39 | | SHIPS | list of ship names |
40 | | DEMO | only contains `password:` |
41 |
42 |
--------------------------------------------------------------------------------
/files/gadedit/index.md:
--------------------------------------------------------------------------------
1 | # /gadedit #
2 |
3 | This Folder contains all the GUI information for the Editor in the form of [Script](../../file_formats/script.md).
4 | Very simular to the [/gaddata Folder](../gaddata/index.md), but not all files are the same and some files only exist in one folder.
5 |
6 | ## List of Files ##
7 |
8 | | Name | Notes |
9 | |---------------|---------------------|
10 | | ANNO.GAD | |
11 | | BAU.GAD | |
12 | | BAUEDIT.GAD | |
13 | | BAUKONT.GAD | |
14 | | BAUSHIP.GAD | |
15 | | BERGWERK.GAD | |
16 | | BUBBLE.GAD | |
17 | | CHAT.GAD | |
18 | | CTRL.GAD | |
19 | | DISK.GAD | |
20 | | EDITOR.GAD | |
21 | | ERZBERG.GAD | |
22 | | HANDEL.GAD | |
23 | | INFO.GAD | |
24 | | INFRA.GAD | |
25 | | INSEL.GAD | |
26 | | INSELDAT.GAD | |
27 | | KONTOR.GAD | |
28 | | LAGER.GAD | |
29 | | LEIST.GAD | |
30 | | Leistful.gad | |
31 | | MAIN.GAD | |
32 | | MILITAR.GAD | |
33 | | MISSZIEL.GAD | |
34 | | MKSHIP.GAD | |
35 | | MKSOLDAT.GAD | |
36 | | MUSIK.GAD | |
37 | | OPTION.GAD | |
38 | | PIRAT.GAD | |
39 | | PIRATORD.GAD | |
40 | | PLANTAGE.GAD | |
41 | | PLAYER.GAD | |
42 | | PROD.GAD | |
43 | | RANDOM.GAD | |
44 | | ROUTE.GAD | |
45 | | SCAPE.GAD | |
46 | | SHIP.GAD | |
47 | | SHIPEDIT.GAD | |
48 | | SHIPLIST.GAD | |
49 | | SIEDLER.GAD | |
50 | | SKSHIP.GAD | |
51 | | SKSOLDAT.GAD | |
52 | | STADT.GAD | |
53 | | STADTLST.GAD | |
54 | | STARTDAT.GAD | |
55 | | TOOLS.INC | |
56 | | TRADE.GAD | |
57 | | TRADER.GAD | |
58 | | TRANSFER.GAD | |
59 | | TRIBUT.GAD | |
60 | | TUTOR.GAD | |
61 | | VERTRAG.GAD | |
62 | | WERFT.GAD | |
63 |
64 |
--------------------------------------------------------------------------------
/additional_resources.md:
--------------------------------------------------------------------------------
1 | # Additional Resources #
2 |
3 | - [1602annowiki.de](https://1602.annowiki.de/) (German)
4 | - [AnnoZone Forum](https://annozone.de/forum/index.php?page=Board&boardID=18) (mostly German)
5 | - [Charlie's HomePage](https://www.annozone.de/Charlie/) (German) (annozone.de backup)
6 | - [Joe's Anno 1602 Inn](https://annozone.de/Joes1602Inn/) (German) (annozone.de backup)
7 | - [AnnoPool](https://www.annopool.de/index.php?page=Category&categoryID=47&s=4ff0e5572f44cd55deaa17e695ca29d5b73ed661) (file host; mods, savegames, scenarios and islands) (German)
8 | - [Bomi's 1602 Zeugs](http://www.bomibomanns.de/1602Zeugs/) (German)
9 | - [Chains Anno 1602 Szenarienarchiv](http://1602-szenarien.annoarchiv.de/) (German) (file host)
10 | - [Sir Henry's InselEditor](http://www.zur-borg.de/Anno1602/) (Webpage)
11 | - [Sir Henry's InselEditor](https://github.com/wzurborg/1602-Island-Editor) (SourceCode, OpenSource Tool)
12 | - [Sir Henry's Szenario Explorer](https://github.com/wzurborg/scenexplorer) (SourceCode, OpenSource Tool)
13 | - [Sir Henry's Grafx Tool](https://github.com/wzurborg/grafx1602) (SourceCode, OpenSource Tool)
14 | - [sunflowers forum](https://web.archive.org/web/*/sunflowers.de/discussion/*) (archived)
15 | - [MDCII-Engine](https://github.com/roybaer/mdcii-engine) (OpenSource Engine, WiP)
16 | - [MDCII-Engine (fork)](https://github.com/siredmar/mdcii-engine) (fork by Armin Schlegel, OpenSource Engine, WiP)
17 | - [MDCII-Data](https://github.com/roybaer/mdcii-data) (OpenSource Data replacement files)
18 | - [Anno2018](https://github.com/cmfcmf/Anno2018) (OpenSource Engine, WiP, TypeScript, for Browser)
19 | - [Anno2018 (Godot)](https://github.com/cmfcmf/Anno2018-godot) (OpenSource Engine, discontinued)
20 | - [Coloniae](https://github.com/jakubjafra/coloniae) (OpenSource Engine, for Browser)
21 | - [OBBM-Community](https://www.obbm.de/)
22 |
23 | # Honorable Mention #
24 |
25 | - [Unknown Horizon](http://unknown-horizons.org/)
26 |
27 |
--------------------------------------------------------------------------------
/files/1602.exe.md:
--------------------------------------------------------------------------------
1 | # Game (1602.exe) #
2 |
3 | ## File Hashes ##
4 |
5 | | Release | Language | EXE file version | EXE product version | MD5 | SHA-256 |
6 | |---------|----------|------------------|---------------------|-----|---------|
7 | | GOG | English | `0.2.5.1` | `1.0.0.5` | `94a06cf9f4cff645db1b026778af2bf0` | `33c428d77fd0fab6b162ecb5162204de966a0c20f16db1bcaa5c40320670726e` |
8 | | GOG | German | `0.2.5.1` | `1.0.0.5` | `94a06cf9f4cff645db1b026778af2bf0` | `33c428d77fd0fab6b162ecb5162204de966a0c20f16db1bcaa5c40320670726e` |
9 | | GOG | French | `0.2.5.2` | `1.0.0.5` | `499dfd9e2e4a38f1e561cd04b1f283de` | `1e8f21dc2f6e95d352b4309fab19c75148b1b1f6339e6c9c4b6fb95ab1426afe` |
10 | | GOG | Polish | `0.1.9.6` |`1.0.0.5` | `38cd215c67369f8485bd71a8dce34665` | `aa8ce4c3b8f328d03a3093f262804a64d1c9b9397f89246110d62ca0c78b8501` |
11 | | KE | English | TODO | TODO | `e005a313f9a5d4d6fae05fa7a33ca4ef` | |
12 | | KE | German | `0.2.5.2` | `1.0.0.5` | `8cfb28ff65f0fad9545f07c97dd2806f` | `7010615017139f2928706f725a74966497442f69d87a915d199b47abf78bbe7e` |
13 | | HE | multi-lingual | `1.0.0.0` | `1.0.0.0` | `01c14728aa7dc8a7dd283329ff489305` | `7731972f696204faf6929b592ddedbf621b03426f85f9dd595c0c35904bdb7a1` |
14 |
15 | ## Building ID lists ##
16 |
17 | For GOG (MD5: `94a06cf9f4cff645db1b026778af2bf0`)
18 | **Contents** and order of **IDs** matches the [text.cod](./text.cod.md) sections.
19 |
20 | | Offset | Contents | Number of Entries |
21 | |---------|-------------|-------------------|
22 | | 0x98440 | MILITAR | 11 |
23 | | 0x9846c | HANDWERK | 17 |
24 | | 0x984b0 | FARM | |
25 | | 0x98500 | BERGWERK | |
26 | | 0x98514 | HAFEN | |
27 | | 0x98538 | STRASSE | |
28 | | 0x9855c | DIVERS | |
29 | | 0x98610 | LANDSCHAFT | |
30 |
31 | # This Document Needs Your Help #
32 |
33 | A lot of data needs to be collected from different versions of the game.
34 |
35 | ## TODO ##
36 |
37 | Check out all the Demos [here](https://annomuseum.de/webseiten/SF/www.anno1602.de/english/index128c.html?downloads/download_demos.html).
38 |
39 |
--------------------------------------------------------------------------------
/_layouts/default.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | {% seo %}
11 |
12 |
13 |
14 |
15 |
16 |
33 |
34 |
35 |
36 |
39 |
40 |
41 |
42 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/file_formats/chunks.md:
--------------------------------------------------------------------------------
1 | # Chunks #
2 |
3 | The Chunks file format is used for (almost?) all binary type files.
4 | It basicly is a container type to pack different binary files together.
5 |
6 | The format is very simple, the [Chunk Header](#chunk-header) consists of a file type identifier as ascii string, padded with junk to fill full 16 bytes. Then comes a 4 byte/32bit (unsigned?) integer indicating the size of the chunk, excluding the header.
7 |
8 | ## Format Structure ##
9 |
10 | ### Chunk Header ###
11 |
12 | | Bytes | Use |
13 | |-------|---------------------------------------|
14 | | 16 | chunk type identification + padding |
15 | | 4 | size of chunk (excluding this header) |
16 |
17 | ## Chunk ID list ##
18 |
19 | - AUFTRAG
20 | - AUFTRAG2
21 | - AUFTRAG4
22 | - [BSH](bsh.md) (bsh/zei files use this header, but are never packed with other chunks and can be considered there own file format)
23 | - CUSTOM
24 | - HANDLER
25 | - HIRSCH2
26 | - INSEL3
27 | - INSEL4
28 | - INSEL5
29 | - INSELHAUS
30 | - INSEL_MAXFUN
31 | - KONTOR2
32 | - MARKT2
33 | - MILITAR
34 | - [NAME](./chunks/name.md)
35 | - PLAYER2
36 | - PLAYER3
37 | - PLAYER4
38 | - PRODLIST2
39 | - [RANDTAB](./chunks/randtab.md)
40 | - ROHWACHS2
41 | - SHIP4
42 | - SIEDLER
43 | - SOLDAT2
44 | - SOLDAT3
45 | - SOLDATINSEL
46 | - STADT3
47 | - STADT4
48 | - SZENE
49 | - [SZENE_GAMEID](./chunks/szene_gameid.md)
50 | - [SZENE_KAMPAGNE](./chunks/szene_kampagne.md)
51 | - [SZENE_MISSNR](./chunks/szene_missnr.md)
52 | - SZENE_PLAYERMAX
53 | - SZENE_PLAYERMIN
54 | - [SZENE_RANKING](./chunks/szene_ranking.md)
55 | - TIMERS
56 | - TURM
57 | - WERFT
58 | - [WIFF](./chunks/wiff.md)
59 | - [ZEI](bsh.md)
60 |
61 | ## Formats packed this way ##
62 |
63 | - [BSH](./bsh.md)
64 | - [GAM](./gam.md)
65 | - [SCP](./scp.md)
66 | - [SZM](./szm.md)
67 | - [SZS](./szs.md)
68 |
69 | ## Notes ##
70 |
71 | **A lot** of information about those file formats is known, because of [Sir Henry/wzurborg](https://github.com/wzurborg)'s code releases. In particular the two files [Anno1602read.h](https://github.com/wzurborg/scenexplorer/blob/master/Anno1602read.h) and [Anno1602read.c](https://github.com/wzurborg/scenexplorer/blob/master/Anno1602read.c) which seem to be original code excerpts (??).
72 |
73 |
--------------------------------------------------------------------------------
/files/nordnat/index.md:
--------------------------------------------------------------------------------
1 | # /nordnat #
2 |
3 | This Folder contains Island [scp](../../file_formats/scp.md)s for the temperate climate. (nat ??)
4 |
5 | ## List of Files ##
6 |
7 | | Name | Notes |
8 | |---------------|---------------------|
9 | | BIG01.SCP | |
10 | | BIG02.SCP | |
11 | | BIG07.SCP | |
12 | | BIG08.SCP | |
13 | | BIG14.SCP | |
14 | | BIG18.SCP | |
15 | | BIG20.SCP | |
16 | | BIG24.SCP | |
17 | | BIG26.SCP | |
18 | | BIG27.SCP | |
19 | | BIG29.SCP | |
20 | | big37.SCP | |
21 | | big40.SCP | |
22 | | big41.SCP | |
23 | | big42.SCP | |
24 | | big43.SCP | |
25 | | big44.SCP | |
26 | | big45.SCP | |
27 | | big46.SCP | |
28 | | big47.SCP | |
29 | | big48.SCP | |
30 | | big49.SCP | |
31 | | big50.SCP | |
32 | | big51.SCP | |
33 | | big52.SCP | |
34 | | big53.SCP | |
35 | | big54.SCP | |
36 | | big55.SCP | |
37 | | big56.SCP | |
38 | | big57.SCP | |
39 | | big58.SCP | |
40 | | big59.SCP | |
41 | | big60.SCP | |
42 | | big61.SCP | |
43 | | big62.SCP | |
44 | | big63.SCP | |
45 | | big64.SCP | |
46 | | LIT02.SCP | |
47 | | LIT05.SCP | |
48 | | LIT06.SCP | |
49 | | LIT07.SCP | |
50 | | LIT09.SCP | |
51 | | LIT11.SCP | |
52 | | LIT12.SCP | |
53 | | LIT15.SCP | |
54 | | LIT18.SCP | |
55 | | LIT19.SCP | |
56 | | MED03.SCP | |
57 | | MED04.SCP | |
58 | | MED05.SCP | |
59 | | MED06.SCP | |
60 | | MED07.SCP | |
61 | | MED08.SCP | |
62 | | MED09.SCP | |
63 | | MED13.SCP | |
64 | | MED14.SCP | |
65 | | med15.SCP | |
66 | | med17.SCP | |
67 | | med18.SCP | |
68 | | med20.SCP | |
69 | | med22.SCP | |
70 | | med24.SCP | |
71 | | med26.SCP | |
72 | | med27.SCP | |
73 | | med28.SCP | |
74 | | med29.SCP | |
75 | | med30.SCP | |
76 | | med31.SCP | |
77 | | med32.SCP | |
78 | | med33.SCP | |
79 | | med34.scp | |
80 | | MIT00.SCP | |
81 | | MIT03.SCP | |
82 | | MIT05.SCP | |
83 | | MIT09.SCP | |
84 | | MIT10.SCP | |
85 | | MIT14.SCP | |
86 | | MIT16.SCP | |
87 | | MIT18.SCP | |
88 | | MIT19.SCP | |
89 | | MIT21.SCP | |
90 | | MIT22.SCP | |
91 | | mit23.SCP | |
92 | | mit24.SCP | |
93 | | mit27.SCP | |
94 | | mit29.SCP | |
95 | | mit33.SCP | |
96 | | mit35.SCP | |
97 | | mit38.SCP | |
98 | | mit40.SCP | |
99 | | mit42.SCP | |
100 | | mit43.SCP | |
101 | | mit44.SCP | |
102 | | mit45.SCP | |
103 | | mit46.SCP | |
104 | | mit47.SCP | |
105 |
106 |
--------------------------------------------------------------------------------
/file_formats/bsh.md:
--------------------------------------------------------------------------------
1 | # BSH #
2 |
3 | It is the file format used to store **Textures** used by the game.
4 | It is usually packed using the [Chunks](./chunks.md) format, but always as a standalone file (missed opportunity), and has either a `.bsh` or `.zei` file ending. `.zei` files contain characters and signs, the name probably stems from the German word `Zeichen` meaning `sign`.
5 |
6 | The [Chunk Header](./chunks.md#chunk-header) identifier is either `BSH` or `ZEI`. This depends on the file suffix.
7 |
8 | After the [Chunk Header](./chunks.md#chunk-header) comes an **Index** of offsets to the **Textures** in the file. Different index positions can use the same byte offset, to avoid storing duplicate textures. This is prominently used in `STADTFLD.BSH` in [the KE version](../version_differences.md).
9 |
10 | And after that the **Textures** is using a [basic form of bitmap](https://en.wikipedia.org/wiki/BMP_file_format) (8-bit indexed with [RLE](https://en.wikipedia.org/wiki/Run-length_encoding)-like compression and custom header ??)
11 |
12 | The BSH file doesn't contain the [Color Palette](). See [COL](./col.md)
13 |
14 | ## Format Structure ##
15 |
16 | ### Texture Index ###
17 |
18 | List of 4byte/32bit unsigned integer **Texture** offsets. The **Texture** is at `20(Chunk Header) + offset` absolute file position.
19 |
20 | ### Texture ###
21 |
22 | Starts with a Header:
23 |
24 | | Bytes | Use |
25 | |-------|-----|
26 | | 4 | **Width** of the **Texture** |
27 | | 4 | **Height** of the **Texture** |
28 | | 4 | **Num** of the **Texture** (??) |
29 | | 4 | **Length** of the **Texture** in bytes |
30 |
31 | Followed by the `RLE`-ish compressed image data.
32 | The **Texture** starts in the upper left corner, is read line wise, and can be interpreted in the following loop:
33 |
34 | - if the next byte is `0xFF` the image has reached it's end.
35 | - if the next byte is `0xFE` the current pixel line has reached it's end.
36 | - else it's an **Texture Chunk**
37 |
38 | **Texture Chunk** layout:
39 |
40 | | Bytes | Use |
41 | |-----------|-----|
42 | | 1 | number of pixels to skip / number of transparent pixels |
43 | | 1 | number of pixels that follow |
44 | | up to 255 | pixels to insert at current position |
45 |
46 | ## Notes ##
47 |
48 | Since there is no length of the **Texture Index**, one can use the offset of the first **Texture** as an **Texture Index** delimiter.
49 |
50 | Main source of information: [Sir Henry's Grafx Source](https://github.com/wzurborg/grafx1602).
51 |
52 |
--------------------------------------------------------------------------------
/files/samples/index.md:
--------------------------------------------------------------------------------
1 | # /samples #
2 |
3 | This Folder contains sound effects.
4 |
5 | ## List of Files ##
6 |
7 | | Name | Notes |
8 | |---------------|---------------------|
9 | | Arg1.wav | |
10 | | Arg2.wav | |
11 | | Arzt.wav | |
12 | | Backer.wav | |
13 | | Badehaus.wav | |
14 | | Baum.wav | |
15 | | BaumW.wav | |
16 | | Berg.wav | |
17 | | Brosel1.wav | |
18 | | Brosel2.wav | |
19 | | Brunnen.wav | |
20 | | Burg.wav | |
21 | | Deadguy.wav | |
22 | | Denkmal.wav | |
23 | | Dom.wav | |
24 | | Dongel.wav | |
25 | | DongelW.wav | |
26 | | Einschlg.wav | |
27 | | Erz.wav | |
28 | | Event.wav | |
29 | | Feuer.wav | |
30 | | Fleischr.wav | |
31 | | Forster.wav | |
32 | | Gieserei.wav | |
33 | | Hack1.wav | |
34 | | Hack2.wav | |
35 | | Hilight.wav | |
36 | | Hitsword.wav | |
37 | | Jagdhtte.wav | |
38 | | Kanone5.wav | |
39 | | Kanone6.wav | |
40 | | Kanone7.wav | |
41 | | Kanone8.wav | |
42 | | Kapelle.wav | |
43 | | Karren.wav | |
44 | | Kirche.wav | |
45 | | Mahen.wav | |
46 | | MahenW.wav | |
47 | | Markt.wav | |
48 | | Muh1.wav | |
49 | | Muh2.wav | |
50 | | Muhle.wav | |
51 | | Muskete1.wav | |
52 | | Muskete2.wav | |
53 | | Muskete3.wav | |
54 | | Piraten.wav | |
55 | | Plantage.wav | |
56 | | Rumbnrei.wav | |
57 | | Schaf1.wav | |
58 | | Schaf2.wav | |
59 | | Schaf3.wav | |
60 | | Schloss.wav | |
61 | | Schmied.wav | |
62 | | Schule.wav | |
63 | | Schwert1.wav | |
64 | | Schwert2.wav | |
65 | | Schwert3.wav | |
66 | | Schwert4.wav | |
67 | | Schwert5.wav | |
68 | | Schwertb.wav | |
69 | | Scroll.wav | |
70 | | sdtattk1.wav | |
71 | | sdtattk2.wav | |
72 | | sdtattk3.wav | |
73 | | sdtattk4.wav | |
74 | | sdtattk5.wav | |
75 | | sdtattk6.wav | |
76 | | sdtmove1.wav | |
77 | | sdtmove2.wav | |
78 | | sdtmove3.wav | |
79 | | sdtmove4.wav | |
80 | | Select.wav | |
81 | | SelectW.wav | |
82 | | shpattk1.wav | |
83 | | shpattk2.wav | |
84 | | shpattk3.wav | |
85 | | shpattk4.wav | |
86 | | shpmove1.wav | |
87 | | shpmove2.wav | |
88 | | shpmove3.wav | |
89 | | shpmove4.wav | |
90 | | shpmove5.wav | |
91 | | Standard.wav | |
92 | | StandardW.wav | |
93 | | Start.wav | |
94 | | Stein1.wav | |
95 | | Stein2.wav | |
96 | | Steinmtz.wav | |
97 | | Theater.wav | |
98 | | Triumph.wav | |
99 | | Vogel1.wav | |
100 | | Vogel2.wav | |
101 | | Vogel3.wav | |
102 | | Vogel4.wav | |
103 | | Vogel5.wav | |
104 | | Vogel6.wav | |
105 | | Vulkan.wav | |
106 | | Vulkan1.wav | |
107 | | Vulkan2.wav | |
108 | | Vulkan3.wav | |
109 | | Vulkan4.wav | |
110 | | Wellen.wav | |
111 | | WellenW.wav | |
112 | | Wirtshs.wav | |
113 | | Wmuhle.wav | |
114 | | Wohnhaus.wav | |
115 |
116 |
--------------------------------------------------------------------------------
/files/suednat/index.md:
--------------------------------------------------------------------------------
1 | # /suednat #
2 |
3 | This Folder contains Island [scp](../../file_formats/scp.md)s for the tropical climate. (nat??)
4 |
5 | ## List of Files ##
6 |
7 | | Name | Notes |
8 | |---------------|---------------------|
9 | | BIG00.SCP | |
10 | | BIG01.SCP | |
11 | | BIG02.SCP | |
12 | | BIG03.SCP | |
13 | | BIG04.SCP | |
14 | | BIG05.SCP | |
15 | | BIG07.SCP | |
16 | | BIG08.SCP | |
17 | | BIG11.SCP | |
18 | | BIG12.SCP | |
19 | | BIG13.SCP | |
20 | | BIG14.SCP | |
21 | | BIG15.SCP | |
22 | | BIG16.SCP | |
23 | | BIG17.SCP | |
24 | | big18.SCP | |
25 | | big19.SCP | |
26 | | big20.SCP | |
27 | | big21.SCP | |
28 | | big22.SCP | |
29 | | big23.SCP | |
30 | | big24.SCP | |
31 | | big25.SCP | |
32 | | big26.SCP | |
33 | | big27.SCP | |
34 | | big28.SCP | |
35 | | big29.SCP | |
36 | | big30.SCP | |
37 | | big31.SCP | |
38 | | big32.SCP | |
39 | | big34.SCP | |
40 | | big35.SCP | |
41 | | big36.SCP | |
42 | | big37.SCP | |
43 | | big38.SCP | |
44 | | big39.SCP | |
45 | | big40.SCP | |
46 | | big41.SCP | |
47 | | big42.SCP | |
48 | | big43.SCP | |
49 | | LIT00.SCP | |
50 | | LIT02.SCP | |
51 | | LIT04.SCP | |
52 | | LIT06.SCP | |
53 | | LIT07.SCP | |
54 | | LIT08.SCP | |
55 | | LIT09.SCP | |
56 | | LIT10.SCP | |
57 | | LIT11.SCP | |
58 | | LIT12.SCP | |
59 | | LIT15.SCP | |
60 | | LIT16.SCP | |
61 | | LIT17.SCP | |
62 | | LIT18.SCP | |
63 | | lit19.SCP | |
64 | | lit20.SCP | |
65 | | lit21.SCP | |
66 | | lit22.SCP | |
67 | | lit23.SCP | |
68 | | lit24.SCP | |
69 | | lit25.SCP | |
70 | | lit26.SCP | |
71 | | lit27.SCP | |
72 | | lit28.SCP | |
73 | | lit29.SCP | |
74 | | lit30.SCP | |
75 | | lit31.SCP | |
76 | | lit32.SCP | |
77 | | lit33.SCP | |
78 | | lit34.SCP | |
79 | | lit35.SCP | |
80 | | MED01.SCP | |
81 | | MED02.SCP | |
82 | | MED03.SCP | |
83 | | MED04.SCP | |
84 | | MED05.SCP | |
85 | | MED06.SCP | |
86 | | MED08.SCP | |
87 | | MED09.SCP | |
88 | | MED10.SCP | |
89 | | MED11.SCP | |
90 | | MED12.SCP | |
91 | | MED14.SCP | |
92 | | med15.SCP | |
93 | | med16.SCP | |
94 | | med17.SCP | |
95 | | med18.SCP | |
96 | | med19.SCP | |
97 | | med20.SCP | |
98 | | med21.SCP | |
99 | | med22.SCP | |
100 | | med23.SCP | |
101 | | med24.SCP | |
102 | | med25.SCP | |
103 | | med26.SCP | |
104 | | med27.SCP | |
105 | | med28.SCP | |
106 | | med29.SCP | |
107 | | med30.SCP | |
108 | | med31.SCP | |
109 | | med32.SCP | |
110 | | med33.SCP | |
111 | | med34.SCP | |
112 | | med35.SCP | |
113 | | MIT00.SCP | |
114 | | MIT01.SCP | |
115 | | MIT03.SCP | |
116 | | MIT04.SCP | |
117 | | MIT05.SCP | |
118 | | MIT06.SCP | |
119 | | MIT07.SCP | |
120 | | MIT08.SCP | |
121 | | MIT09.SCP | |
122 | | MIT10.SCP | |
123 | | MIT11.SCP | |
124 | | MIT12.SCP | |
125 | | MIT13.SCP | |
126 | | MIT14.SCP | |
127 | | MIT15.SCP | |
128 | | mit16.SCP | |
129 | | mit17.SCP | |
130 | | mit18.SCP | |
131 | | mit19.SCP | |
132 | | mit20.SCP | |
133 | | mit21.SCP | |
134 | | mit22.SCP | |
135 | | mit23.SCP | |
136 | | mit24.SCP | |
137 | | mit25.SCP | |
138 | | mit26.SCP | |
139 | | mit27.SCP | |
140 | | mit28.SCP | |
141 | | mit29.SCP | |
142 | | mit30.SCP | |
143 | | mit31.SCP | |
144 | | mit32.SCP | |
145 | | mit33.SCP | |
146 | | mit34.SCP | |
147 | | mit35.SCP | |
148 | | mit36.SCP | |
149 | | mit37.SCP | |
150 | | mit38.SCP | |
151 | | mit39.SCP | |
152 | | mit40.SCP | |
153 | | mit41.SCP | |
154 |
155 |
--------------------------------------------------------------------------------
/files/index.md:
--------------------------------------------------------------------------------
1 | # Files #
2 |
3 | ## List Of Files With File Format ##
4 | Filenames can be uppercase or lowercase or mixedcase, depends on version.
5 |
6 | | Name | FileFormat | Notes |
7 | |-------------------------------------|------------------|-------|
8 | | [1602.exe](./1602.exe.md) | Executable | main executable |
9 | | [1602Edit.exe](./1602edit.exe.md) | Executable | editor executable not in vanilla game |
10 | | Config.exe | Executable | little configurator |
11 |
12 | | Name | FileFormat | Notes |
13 | |-------------------------------------|------------------|-------|
14 | | Editor.dll | Executable | dll |
15 | | Language.dll | Executable | dll (??) |
16 | | Maxnet.dll | Executable | dll, parts of the multiplayer code|
17 | | Maxsound.dll | Executable | dll |
18 | | Mfc42.dll | Executable | dll (??) |
19 | | MSVCRTD.DLL | Executable | dll (??) |
20 | | MSVCRT.DLL | Executable | dll (??) |
21 | | SMACKW32.DLL | Executable | dll (??) |
22 |
23 | | Name | FileFormat | Notes |
24 | |-------------------------------------|------------------|-------|
25 | | [editor.cod](./editor.cod.md) | [Encrypted](../file_formats/encryption.md) [Script](../file_formats/script.md) | |
26 | | [figuren.cod](./figuren.cod.md) | [Encrypted](../file_formats/encryption.md) [Script](../file_formats/script.md) | |
27 | | [haeuser.cod](./haeuser.cod.md) | [Encrypted](../file_formats/encryption.md) [Script](../file_formats/script.md) | |
28 | | [text.cod](./text.cod.md) | [Encrypted](../file_formats/encryption.md) [Text](../file_formats/text.md) | contains ingame texts, differs in language specific releases |
29 |
30 | | Name | FileFormat | Notes |
31 | |-------------------------------------|------------------|-------|
32 | | [game.dat](./game.dat.md) | [Script](../file_formats/script.md) | game configuration, campain progression |
33 |
34 | | Name | FileFormat | Notes |
35 | |-------------------------------------|------------------|-------|
36 | | [GADDATA/](./gaddata/index.md) | Folder | contains game gad files |
37 | | [GADEDIT/](./gadedit/index.md) | Folder | contains editor gad files |
38 |
39 | | Name | FileFormat | Notes |
40 | |-------------------------------------|------------------|-------|
41 | | [SGFX/](./sgfx/index.md) | Folder | contains textures for min zoom |
42 | | [MGFX/](./mgfx/index.md) | Folder | contains textures for med zoom |
43 | | [GFX/](./gfx/index.md) | Folder | contains textures for max zoom |
44 | | [TOOLGFX/](./toolgfx/index.md) | Folder | contains textures for characters |
45 |
46 | | Name | FileFormat | Notes |
47 | |-------------------------------------|------------------|-------|
48 | | [MUSIC8/](./music8/index.md) | Folder | contains music |
49 | | [SAMPLES/](./samples/index.md) | Folder | contains audio samples |
50 | | [SPEECH8/](./speech8/index.md) | Folder | contains spoken messages |
51 |
52 | | Name | FileFormat | Notes |
53 | |-------------------------------------|------------------|-------|
54 | | [VIDEOSMK/](./videosmk/index.md) | Folder | contains prerendered videos / cutscenes |
55 |
56 | | Name | FileFormat | Notes |
57 | |-------------------------------------|------------------|-------|
58 | | [NOKLIMA/](./noklima/index.md) | Folder | contains neutral? island data |
59 | | [NORD/](./nord/index.md) | Folder | contains temperate island data |
60 | | [NORDNAT/](./nordnat/index.md) | Folder | contains temperate island data |
61 | | [SUED/](./sued/index.md) | Folder | contains tropical island data |
62 | | [SUEDNAT/](./suednat/index.md) | Folder | contains tropical island data |
63 |
64 | | Name | FileFormat | Notes |
65 | |-------------------------------------|------------------|-------|
66 | | [SZENES/](./szenes/index.md) | Folder | contains scenarios data |
67 | | [OWN SCENARIOS/](./own_scenarios/index.md) | Folder | contains scenarios data (English version) |
68 | | [EIGENE SZENARIEN/](./own_scenarios/index.md) | Folder | contains scenarios data (German version) |
69 |
70 | | Name | FileFormat | Notes |
71 | |-------------------------------------|------------------|-------|
72 | | [SAVEGAME/](./savegame/index.md) | Folder | contains savegame data (ugc) |
73 |
74 |
--------------------------------------------------------------------------------
/files/music8/index.md:
--------------------------------------------------------------------------------
1 | # /music8 #
2 |
3 | This Folder contains the Music files. Since the NINA Version(??), the files are encoded in ADPCM. Before that, the files use normal PCM.
4 |
5 | ## List of Files ##
6 |
7 | | Name | Notes |
8 | |---------------------------|---------------------|
9 | | 1st Beginning.wav | |
10 | | Amazing Grace.wav | |
11 | | ANNO1602 Theme.wav | |
12 | | Ave Maria.wav | |
13 | | Bach Air.wav | |
14 | | Ballad of Hope.wav | |
15 | | Brandenburg.wav | |
16 | | Creators Credits.wav | |
17 | | Daydream (original).wav | |
18 | | Daydream.wav | |
19 | | Dreamer.wav | |
20 | | Emotion.wav | |
21 | | Entry of the Cavalry.wav | |
22 | | Fight1.wav | |
23 | | Fight2.wav | |
24 | | Fight3.wav | |
25 | | Friend.wav | |
26 | | Greensleaves.wav | |
27 | | Irish Touch.wav | |
28 | | Morning mood.wav | |
29 | | Ocean Trip.wav | |
30 |
31 | # Converting to mp3/aac/flac etc.
32 | You may have noticed that if you try to play the .wav with VLC or another media player that it sounds terrible. The files have a very interesting header that is not interpreted correctly by VLC and other players which gives the corrupt sound.
33 | To convert the files to mp3/aac/flac you can use ffmpeg and force the input format.
34 |
35 | These instructions assume you have ffmpeg installed already and can access it from command shell.
36 | 1. Go to the music8 folder in Anno 1602 and open your favourite terminal in the folder. (On windows you can shift + right click and click on "Open PowerShell here")
37 |
38 | 2. To convert the files you will be using the following command:
39 | ```shell
40 | ffmpeg -n -guess_layout_max 0 -c:a adpcm_ima_ssi -i [file.wav] -ac 2 -c:a mp3 -b:a 192k [out.mp3]
41 | ```
42 |
43 | Detailed Command Explanation
44 |
45 | - `-n` - do not overwrite existing files (prevents mishaps)
46 | - `-guess_layout_max 0` - do not guess the channel layout
47 | - `-c:a adpcm_ima_ssi` - forces `adpcm_ima_ssi` to be used to decode the file
48 | - `-i [file.wav]` - the source file in the directory e.g.: "Ocean Trip.wav"
49 | - `-ac 2` - use 2 audio channels (stereo)
50 | - `-c:a mp3` - encode as mp3 (can be replaced with aac/flac/ac3 etc. See `ffmpeg -encoders` for a full list)
51 | - `-b:a 192k` - encode with 192kbit/s
52 | - `[out.mp3]` - output file name
53 |
54 |
55 | 3. Replace [file.wav] and [out.mp3] with actual filenames and execute the command. The output should look like this:
56 | ```shell
57 | ffmpeg version 4.3 Copyright (c) 2000-2020 the FFmpeg developers
58 | built with gcc 9.3.1 (GCC) 20200621
59 | configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
60 | libavutil 56. 51.100 / 56. 51.100
61 | libavcodec 58. 91.100 / 58. 91.100
62 | libavformat 58. 45.100 / 58. 45.100
63 | libavdevice 58. 10.100 / 58. 10.100
64 | libavfilter 7. 85.100 / 7. 85.100
65 | libswscale 5. 7.100 / 5. 7.100
66 | libswresample 3. 7.100 / 3. 7.100
67 | libpostproc 55. 7.100 / 55. 7.100
68 | Input #0, wav, from 'Ocean Trip.wav':
69 | Duration: 00:01:46.96, bitrate: 352 kb/s
70 | Stream #0:0: Audio: adpcm_ima_ssi ([1][0][0][0] / 0x0001), 22050 Hz, 2 channels, s16, 176 kb/s
71 | Stream mapping:
72 | Stream #0:0 -> #0:0 (adpcm_ima_ssi (native) -> mp3 (mp3_mf))
73 | Press [q] to stop, [?] for help
74 | [mp3_mf @ 000002069c50f880] MFT name: 'MP3 Encoder ACM Wrapper MFT'
75 | Output #0, mp3, to '.\Ocean Trip.mp3':
76 | Metadata:
77 | TSSE : Lavf58.45.100
78 | Stream #0:0: Audio: mp3 (mp3_mf), 22050 Hz, stereo, s16, 192 kb/s
79 | Metadata:
80 | encoder : Lavc58.91.100 mp3_mf
81 | size= 2066kB time=00:03:33.93 bitrate= 79.1kbits/s speed= 384x
82 | video:0kB audio:2066kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.026807%
83 | ```
84 |
85 | 4. Repeat for all files you want to have as mp3
86 |
--------------------------------------------------------------------------------
/files/nord/index.md:
--------------------------------------------------------------------------------
1 | # /nord #
2 |
3 | This Folder contains Island [scp](../../file_formats/scp.md)s for the temperate climate.
4 |
5 | ## List of Files ##
6 |
7 | | Name | Notes |
8 | |---------------|---------------------|
9 | | big.scp | |
10 | | big00.scp | |
11 | | big01.scp | |
12 | | big02.scp | |
13 | | big03.scp | |
14 | | big04.scp | |
15 | | big05.scp | |
16 | | big06.scp | |
17 | | big07.scp | |
18 | | big08.scp | |
19 | | big09.scp | |
20 | | big10.scp | |
21 | | big11.scp | |
22 | | big12.scp | |
23 | | big13.scp | |
24 | | big14.scp | |
25 | | big15.scp | |
26 | | big16.scp | |
27 | | big17.scp | |
28 | | big18.scp | |
29 | | big19.scp | |
30 | | big20.scp | |
31 | | big21.scp | |
32 | | big22.scp | |
33 | | big23.scp | |
34 | | big24.scp | |
35 | | big25.scp | |
36 | | big26.scp | |
37 | | big27.scp | |
38 | | big28.scp | |
39 | | big29.scp | |
40 | | big30.SCP | |
41 | | big31.SCP | |
42 | | big32.SCP | |
43 | | big33.SCP | |
44 | | big34.SCP | |
45 | | big35.SCP | |
46 | | big36.SCP | |
47 | | big37.SCP | |
48 | | big38.SCP | |
49 | | big39.SCP | |
50 | | big40.SCP | |
51 | | big41.SCP | |
52 | | big42.SCP | |
53 | | big43.SCP | |
54 | | big44.SCP | |
55 | | big45.SCP | |
56 | | big46.SCP | |
57 | | big47.SCP | |
58 | | big48.SCP | |
59 | | big49.SCP | |
60 | | big50.SCP | |
61 | | big51.SCP | |
62 | | big52.SCP | |
63 | | big53.SCP | |
64 | | big54.SCP | |
65 | | big55.SCP | |
66 | | big56.SCP | |
67 | | big57.SCP | |
68 | | big58.SCP | |
69 | | big59.SCP | |
70 | | big60.SCP | |
71 | | big61.SCP | |
72 | | big62.SCP | |
73 | | big63.SCP | |
74 | | big64.SCP | |
75 | | big65.SCP | |
76 | | big66.SCP | |
77 | | lar.SCP | |
78 | | lar00.SCP | |
79 | | lar01.SCP | |
80 | | lar02.SCP | |
81 | | Lar03.scp | |
82 | | Lar04.scp | |
83 | | lit.scp | |
84 | | lit00.scp | |
85 | | lit01.scp | |
86 | | lit02.scp | |
87 | | lit03.scp | |
88 | | lit04.scp | |
89 | | lit05.scp | |
90 | | lit06.scp | |
91 | | lit07.scp | |
92 | | lit08.scp | |
93 | | lit09.scp | |
94 | | lit10.scp | |
95 | | lit11.scp | |
96 | | lit12.scp | |
97 | | lit13.scp | |
98 | | lit14.scp | |
99 | | lit15.scp | |
100 | | lit16.scp | |
101 | | lit17.scp | |
102 | | lit18.scp | |
103 | | lit19.scp | |
104 | | lit20.SCP | |
105 | | lit21.SCP | |
106 | | lit22.SCP | |
107 | | lit23.SCP | |
108 | | lit24.SCP | |
109 | | lit25.SCP | |
110 | | lit26.SCP | |
111 | | lit27.SCP | |
112 | | lit28.SCP | |
113 | | lit29.SCP | |
114 | | lit30.SCP | |
115 | | lit31.SCP | |
116 | | lit32.SCP | |
117 | | lit33.SCP | |
118 | | lit34.SCP | |
119 | | lit35.SCP | |
120 | | lit36.SCP | |
121 | | lit37.SCP | |
122 | | lit38.SCP | |
123 | | lit39.SCP | |
124 | | lit40.SCP | |
125 | | lit41.SCP | |
126 | | lit42.SCP | |
127 | | lit43.SCP | |
128 | | lit44.SCP | |
129 | | lit45.SCP | |
130 | | lit46.SCP | |
131 | | lit47.SCP | |
132 | | lit48.SCP | |
133 | | lit49.SCP | |
134 | | lit50.SCP | |
135 | | med.scp | |
136 | | med00.scp | |
137 | | med01.scp | |
138 | | med02.scp | |
139 | | med03.scp | |
140 | | med04.scp | |
141 | | med05.scp | |
142 | | med06.scp | |
143 | | med07.scp | |
144 | | med08.scp | |
145 | | med09.scp | |
146 | | med10.scp | |
147 | | med11.scp | |
148 | | med12.scp | |
149 | | med13.scp | |
150 | | med14.scp | |
151 | | med15.SCP | |
152 | | med16.SCP | |
153 | | med17.SCP | |
154 | | med18.SCP | |
155 | | med19.SCP | |
156 | | med20.SCP | |
157 | | med21.SCP | |
158 | | med22.SCP | |
159 | | med23.SCP | |
160 | | med24.SCP | |
161 | | med25.SCP | |
162 | | med26.SCP | |
163 | | med27.SCP | |
164 | | med28.SCP | |
165 | | med29.SCP | |
166 | | med30.SCP | |
167 | | med31.SCP | |
168 | | med32.SCP | |
169 | | med33.SCP | |
170 | | med34.SCP | |
171 | | med35.SCP | |
172 | | med36.SCP | |
173 | | med37.SCP | |
174 | | med38.SCP | |
175 | | mit.scp | |
176 | | mit00.scp | |
177 | | mit01.scp | |
178 | | mit02.scp | |
179 | | mit03.scp | |
180 | | mit04.scp | |
181 | | mit05.scp | |
182 | | mit06.scp | |
183 | | mit07.scp | |
184 | | mit08.scp | |
185 | | mit09.scp | |
186 | | mit10.scp | |
187 | | mit11.scp | |
188 | | mit12.scp | |
189 | | mit13.scp | |
190 | | mit14.scp | |
191 | | mit15.scp | |
192 | | mit16.scp | |
193 | | mit17.scp | |
194 | | mit18.scp | |
195 | | mit19.scp | |
196 | | mit20.scp | |
197 | | mit21.scp | |
198 | | mit22.scp | |
199 | | mit23.SCP | |
200 | | mit24.SCP | |
201 | | mit25.SCP | |
202 | | mit26.SCP | |
203 | | mit27.SCP | |
204 | | mit28.SCP | |
205 | | mit29.SCP | |
206 | | mit30.SCP | |
207 | | mit31.SCP | |
208 | | mit32.SCP | |
209 | | mit33.SCP | |
210 | | mit34.SCP | |
211 | | mit35.SCP | |
212 | | mit36.SCP | |
213 | | mit37.SCP | |
214 | | mit38.SCP | |
215 | | mit39.SCP | |
216 | | mit40.SCP | |
217 | | mit41.SCP | |
218 | | mit42.SCP | |
219 | | mit43.SCP | |
220 | | mit44.SCP | |
221 | | mit45.SCP | |
222 | | mit46.SCP | |
223 | | mit47.SCP | |
224 |
225 |
--------------------------------------------------------------------------------
/files/sued/index.md:
--------------------------------------------------------------------------------
1 | # /sued #
2 |
3 | This Folder contains Island [scp](../../file_formats/scp.md)s for the tropical climate.
4 |
5 | ## List of Files ##
6 |
7 | | Name | Notes |
8 | |---------------|---------------------|
9 | | big.scp | |
10 | | big00.scp | |
11 | | big01.scp | |
12 | | big02.scp | |
13 | | big03.scp | |
14 | | big04.scp | |
15 | | big05.scp | |
16 | | big06.scp | |
17 | | big07.scp | |
18 | | big08.scp | |
19 | | big09.scp | |
20 | | big10.scp | |
21 | | big11.scp | |
22 | | big12.scp | |
23 | | big13.scp | |
24 | | big14.scp | |
25 | | big15.scp | |
26 | | big16.scp | |
27 | | big17.scp | |
28 | | big18.SCP | |
29 | | big19.SCP | |
30 | | big20.SCP | |
31 | | big21.SCP | |
32 | | big22.SCP | |
33 | | big23.SCP | |
34 | | big24.SCP | |
35 | | big25.SCP | |
36 | | big26.SCP | |
37 | | big27.SCP | |
38 | | big28.SCP | |
39 | | big29.SCP | |
40 | | big30.SCP | |
41 | | big31.SCP | |
42 | | big32.SCP | |
43 | | big33.SCP | |
44 | | big34.SCP | |
45 | | big35.SCP | |
46 | | big36.SCP | |
47 | | big37.SCP | |
48 | | big38.SCP | |
49 | | big39.SCP | |
50 | | big40.SCP | |
51 | | big41.SCP | |
52 | | big42.SCP | |
53 | | big43.SCP | |
54 | | big44.SCP | |
55 | | big45.SCP | |
56 | | big46.SCP | |
57 | | big47.SCP | |
58 | | big48.SCP | |
59 | | big49.SCP | |
60 | | big50.SCP | |
61 | | big51.SCP | |
62 | | big52.SCP | |
63 | | big53.SCP | |
64 | | big54.SCP | |
65 | | big55.SCP | |
66 | | big56.SCP | |
67 | | big57.SCP | |
68 | | big58.SCP | |
69 | | big59.SCP | |
70 | | big60.SCP | |
71 | | big61.SCP | |
72 | | big62.SCP | |
73 | | lar.SCP | |
74 | | lar00.scp | |
75 | | lar01.SCP | |
76 | | lar02.SCP | |
77 | | lar03.SCP | |
78 | | lar04.SCP | |
79 | | lar05.SCP | |
80 | | lit.scp | |
81 | | lit00.scp | |
82 | | lit01.scp | |
83 | | lit02.scp | |
84 | | lit03.scp | |
85 | | lit04.scp | |
86 | | lit05.scp | |
87 | | lit06.scp | |
88 | | lit07.scp | |
89 | | lit08.scp | |
90 | | lit09.scp | |
91 | | lit10.scp | |
92 | | lit11.scp | |
93 | | lit12.scp | |
94 | | lit13.scp | |
95 | | lit14.scp | |
96 | | lit15.scp | |
97 | | lit16.scp | |
98 | | lit17.scp | |
99 | | lit18.scp | |
100 | | lit19.SCP | |
101 | | lit20.SCP | |
102 | | lit21.SCP | |
103 | | lit22.SCP | |
104 | | lit23.SCP | |
105 | | lit24.SCP | |
106 | | lit25.SCP | |
107 | | lit26.SCP | |
108 | | lit27.SCP | |
109 | | lit28.SCP | |
110 | | lit29.SCP | |
111 | | lit30.SCP | |
112 | | lit31.SCP | |
113 | | lit32.SCP | |
114 | | lit33.SCP | |
115 | | lit34.SCP | |
116 | | lit35.SCP | |
117 | | lit36.SCP | |
118 | | lit37.SCP | |
119 | | lit38.SCP | |
120 | | lit39.SCP | |
121 | | lit40.SCP | |
122 | | lit41.SCP | |
123 | | lit42.SCP | |
124 | | lit43.SCP | |
125 | | lit44.SCP | |
126 | | lit45.SCP | |
127 | | lit46.SCP | |
128 | | lit47.SCP | |
129 | | lit48.SCP | |
130 | | med.scp | |
131 | | med00.scp | |
132 | | med01.scp | |
133 | | med02.scp | |
134 | | med03.scp | |
135 | | med04.scp | |
136 | | med05.scp | |
137 | | med06.scp | |
138 | | med07.scp | |
139 | | med08.scp | |
140 | | med09.scp | |
141 | | med10.scp | |
142 | | med11.scp | |
143 | | med12.scp | |
144 | | med13.scp | |
145 | | med14.scp | |
146 | | med15.SCP | |
147 | | med16.SCP | |
148 | | med17.SCP | |
149 | | med18.SCP | |
150 | | med19.SCP | |
151 | | med20.SCP | |
152 | | med21.SCP | |
153 | | med22.SCP | |
154 | | med23.SCP | |
155 | | med24.SCP | |
156 | | med25.SCP | |
157 | | med26.SCP | |
158 | | med27.SCP | |
159 | | med28.SCP | |
160 | | med29.SCP | |
161 | | med30.SCP | |
162 | | med31.SCP | |
163 | | med32.SCP | |
164 | | med33.SCP | |
165 | | med34.SCP | |
166 | | med35.SCP | |
167 | | med36.SCP | |
168 | | med37.SCP | |
169 | | med38.SCP | |
170 | | med39.SCP | |
171 | | med40.SCP | |
172 | | med41.SCP | |
173 | | med42.SCP | |
174 | | med43.SCP | |
175 | | med44.SCP | |
176 | | med45.SCP | |
177 | | med46.SCP | |
178 | | med47.SCP | |
179 | | mit.scp | |
180 | | mit00.scp | |
181 | | mit01.scp | |
182 | | mit02.scp | |
183 | | mit03.scp | |
184 | | mit04.scp | |
185 | | mit05.scp | |
186 | | mit06.scp | |
187 | | mit07.scp | |
188 | | mit08.scp | |
189 | | mit09.scp | |
190 | | mit10.scp | |
191 | | mit11.scp | |
192 | | mit12.scp | |
193 | | mit13.scp | |
194 | | mit14.scp | |
195 | | mit15.scp | |
196 | | mit16.SCP | |
197 | | mit17.SCP | |
198 | | mit18.SCP | |
199 | | mit19.SCP | |
200 | | mit20.SCP | |
201 | | mit21.SCP | |
202 | | mit22.SCP | |
203 | | mit23.SCP | |
204 | | mit24.SCP | |
205 | | mit25.SCP | |
206 | | mit26.SCP | |
207 | | mit27.SCP | |
208 | | mit28.SCP | |
209 | | mit29.SCP | |
210 | | mit30.SCP | |
211 | | mit31.SCP | |
212 | | mit32.SCP | |
213 | | mit33.SCP | |
214 | | mit34.SCP | |
215 | | mit35.SCP | |
216 | | mit36.SCP | |
217 | | mit37.SCP | |
218 | | mit38.SCP | |
219 | | mit39.SCP | |
220 | | mit40.SCP | |
221 | | mit41.SCP | |
222 | | mit42.SCP | |
223 | | mit43.SCP | |
224 | | mit44.SCP | |
225 |
226 |
--------------------------------------------------------------------------------
/files/szenes/index.md:
--------------------------------------------------------------------------------
1 | # /szenes #
2 |
3 | This Folder contains Scenario files as [SZS](../../file_formats/szs.md), [SZM](../../file_formats/szm.md), [HSS/HSM](../../file_formats/hss.md).
4 |
5 | ## List of Files ##
6 |
7 | | Name | Notes |
8 | |-----------------------------------|---------------------|
9 | | Am Ende allein.szm | |
10 | | Auf gute Nachbarschaft.szm | |
11 | | Auf halbem Wege.hss | |
12 | | Auf zu neuen Ufern0.szs | |
13 | | Auf zu neuen Ufern1.szs | |
14 | | Auf zu neuen Ufern2.szs | |
15 | | Auf zu neuen Ufern3.szs | |
16 | | Aus Drei wird Eins.szm | |
17 | | Bündnis auf Zeit.szm | |
18 | | Bündnispolitik.szm | |
19 | | Das Atoll.szm | |
20 | | Das Atoll.szs | |
21 | | Das Bündnis.szs | |
22 | | Das Monopol.szs | |
23 | | Dem König ein Schloss.szm | |
24 | | Der Diplomat.szm | |
25 | | Der Eindringling.szs | |
26 | | Der lachende Freibeuter.szm | |
27 | | Der Magnat0.szs | |
28 | | Der Magnat1.szs | |
29 | | Der Magnat2.szs | |
30 | | Der Osterpirat.szs | |
31 | | Der Pakt.szm | |
32 | | Der Verbund.szm | |
33 | | Die Antwort.szs | |
34 | | Die Festung.szs | |
35 | | Die Goldprobe.szs | |
36 | | Die Herausforderung.szm | |
37 | | Die Piratenplage.szs | |
38 | | Die Prinzenprüfung.szs | |
39 | | Die Prüfung.szs | |
40 | | Die Revanche.szs | |
41 | | Die Suche nach Bodenschätzen.szs | |
42 | | Die Würze des Lebens.szs | |
43 | | Drei sind zwei zuviel.szs | |
44 | | Dunkle Wolken am Horizont.szs | |
45 | | Eine einsame Siedlung.szs | |
46 | | Einführungsspiel0.szs | |
47 | | Einführungsspiel1.szs | |
48 | | Einführungsspiel2.szs | |
49 | | Einführungsspiel3.szs | |
50 | | Einführungsspiel4.szs | |
51 | | Endlosspiel.hss | |
52 | | Endlosspiel00.szm | |
53 | | Endlosspiel00.szs | |
54 | | Endlosspiel01.szm | |
55 | | Endlosspiel01.szs | |
56 | | Endlosspiel02.szm | |
57 | | Endlosspiel02.szs | |
58 | | Endlosspiel10.szm | |
59 | | Endlosspiel10.szs | |
60 | | Endlosspiel11.szm | |
61 | | Endlosspiel11.szs | |
62 | | Endlosspiel12.szm | |
63 | | Endlosspiel12.szs | |
64 | | Endlosspiel20.szm | |
65 | | Endlosspiel20.szs | |
66 | | Endlosspiel21.szm | |
67 | | Endlosspiel21.szs | |
68 | | Endlosspiel22.szm | |
69 | | Endlosspiel22.szs | |
70 | | Endlosspiel30.szm | |
71 | | Endlosspiel30.szs | |
72 | | Endlosspiel31.szm | |
73 | | Endlosspiel31.szs | |
74 | | Endlosspiel32.szm | |
75 | | Endlosspiel32.szs | |
76 | | Episode Drei.szm | |
77 | | Episode Eins.szm | |
78 | | Episode Zwei.szm | |
79 | | Erbarmungslos 2er.szm | |
80 | | Erbarmungslos 3er.szm | |
81 | | Erbarmungslos 4er.szm | |
82 | | Feindliche Nachbarn0.szs | |
83 | | Feindliche Nachbarn1.szs | |
84 | | Feindliche Nachbarn2.szs | |
85 | | Feuerland.szs | |
86 | | Friedliche Regentschaft.szs | |
87 | | Für Königreich und Vaterland.szm | |
88 | | Fürchte Deinen Nächsten.szm | |
89 | | Gemeinsam einsam.szm | |
90 | | Geteilt wird nicht.szs | |
91 | | Goldrausch.hss | |
92 | | Goldsuche.szs | |
93 | | Größenwahn.szs | |
94 | | Gute Nachbarschaft.szs | |
95 | | Im Auftrag des Königs0.szs | |
96 | | Im Auftrag des Königs1.szs | |
97 | | Im Auftrag des Königs2.szs | |
98 | | Im Auftrag des Königs3.szs | |
99 | | Im Exil.szs | |
100 | | Jedem das Seine.szm | |
101 | | Jedem das Seine.szs | |
102 | | Kalt erwischt.szs | |
103 | | Kampf um die Macht.szm | |
104 | | Kleines Land.szm | |
105 | | Konkurrenzdruck.szs | |
106 | | Kontinentalmasse.szs | |
107 | | Kooperation.szs | |
108 | | Kreuzverkehr 2er.szm | |
109 | | Kreuzverkehr 3er.szm | |
110 | | Kreuzverkehr 4er.szm | |
111 | | Land der blühenden Sonne.szm | |
112 | | Land und Leute.szm | |
113 | | Landgewinnung.szm | |
114 | | Leben und leben lassen.szm | |
115 | | Matrosen heuern.szm | |
116 | | Milde Gaben.szs | |
117 | | Nach Langer Reise.szs | |
118 | | Neue Entdeckungen.szs | |
119 | | New Canada.szs | |
120 | | Pirata0.szs | |
121 | | Pirata1.szs | |
122 | | Pirata2.szs | |
123 | | Piraten!.szs | |
124 | | Piratenjagd 2er.szm | |
125 | | Piratenjagd 3er.szm | |
126 | | Piratenjagd 4er.szm | |
127 | | Pirates Paradise.szs | |
128 | | Prinzenprüfung 2er.szm | |
129 | | Prinzenprüfung 4er.szm | |
130 | | Rauchzeichen.szm | |
131 | | Rum und Prahlerei.szm | |
132 | | Schrecken am Rande.szm | |
133 | | Schritt für Schritt.szm | |
134 | | Seeschlacht.szm | |
135 | | Seeschlachten.szm | |
136 | | Strategie und Taktik.szm | |
137 | | Traue nur Dir selbst0.szs | |
138 | | Traue nur Dir selbst1.szs | |
139 | | Traue nur Dir selbst2.szs | |
140 | | Veni, vidi, vici.hsm | |
141 | | Versorgungszirkel.szm | |
142 | | Weggefährten.szm | |
143 | | Wehret den Anfängen.szm | |
144 | | Wenig Bauland.szm | |
145 | | Wenig Land.szs | |
146 | | Wettstreit der Brüder 2er.szm | |
147 | | Wettstreit der Brüder 3er.szm | |
148 | | Wettstreit der Brüder 4er.szm | |
149 | | Zwei kleine Städte.szm | |
150 | | Zwei sind einer zuviel.szm | |
151 |
152 |
--------------------------------------------------------------------------------
/files/haeuser.cod.md:
--------------------------------------------------------------------------------
1 | # /haeuser.cod #
2 |
3 | Is an [Encrypted](../file_formats/encryption.md) [Script](../file_formats/script.md).
4 |
5 | note: `integer` refers to an unsigned integer.
6 |
7 | ## List of Object Types ###
8 |
9 | ### BGRUPPE ###
10 |
11 | | ID | Expected Values | Use |
12 | |---------------|-------------------|-----|
13 | | Prozent | integer | |
14 | | Maxwohn | integer | citizen per building |
15 | | Steuer | float | tax per citizen |
16 | | Hiscore | score | |
17 |
18 | ### BGRUPPE_WARE ###
19 | Nested in [BGRUPPE](#bgruppe).
20 |
21 | | ID | Expected Values | Use |
22 | |---------------|-----------------------------|-----|
23 | | Ware | COMMODITY, amount in float | how much they need for the next level |
24 |
25 | Possible Values for `COMMODITY`:
26 |
27 | - NOWARE
28 | - ALLWARE
29 | - HOLZ
30 | - STOFFE
31 | - ALKOHOL
32 | - TABAKWAREN
33 | - GEWUERZE
34 | - KAKAO
35 | - KLEIDUNG
36 | - SCHMUCK
37 | - GRAS
38 | - GETREIDE
39 | - BAUMWOLLE
40 | - TABAKBAUM
41 | - KAKAOBAUM
42 | - ZUCKERROHR
43 | - GEWUERZBAUM
44 | - WEINTRAUBEN
45 | - BAUM
46 | - FISCHE
47 | - NAHRUNG
48 | - ERZE
49 | - MEHL
50 | - EISEN
51 | - WERKZEUG
52 | - MUSKETEN
53 | - KANONEN
54 | - SCHWERTER
55 | - STEINE
56 | - EISENERZ
57 | - GOLD
58 | - ZIEGEL
59 | - KORN
60 | - WOLLE
61 | - TABAK
62 | - ZUCKER
63 | - FLEISCH
64 | - WILD
65 |
66 | TODO: move WARES to extra file/section
67 |
68 | note: amount is `ORG/SUN` ??
69 |
70 | ### BAUINFRA ###
71 | Infastructure levels.
72 |
73 | | ID | Expected Values | Use |
74 | |---------------|-------------------|-----|
75 | | BGruppe | integer | the [BGRUPPE](#bgruppe) to require citizen of |
76 | | Minwohn | integer | the amount of citizen to require |
77 |
78 | ### HAUS ###
79 | All the **Buildings**/**Tiles** in the **Game**.
80 |
81 | | ID | Expected Values | Use |
82 | |---------------|-------------------|-----|
83 | | Kind | integer (enum) | |
84 | | Gfx | integer | the general offset for the id in the STADTFLD.[BSH](../file_formats/bsh.md) |
85 | | Baugfx | integer | the build preview offset for the id in the BAUHAUS.[BSH](../file_formats/bsh.md) |
86 | | Blocknr | integer | |
87 | | Posoffs | integer | |
88 | | Wegspeed | 4x integer | |
89 | | Highflg | bool (0 or 1) | |
90 | | Einhoffs | float | ?? |
91 | | Bausample | (integer) | the audio sample to play when placed |
92 | | Ruinenr | integer | |
93 | | Maxenergy | integer | |
94 | | Maxbrand | integer | |
95 | | Size | integer (x), integer (y) | the dimensions of the building |
96 | | Rotate | integer | |
97 | | PlaceFlg | bool (0 or 1) | |
98 | | RandAnz | integer | |
99 | | RandAdd | integer | |
100 | | AnimTime | integer | |
101 | | AnimFrame | integer | unused?? |
102 | | AnimAnz | integer | |
103 | | AnimAdd | integer | |
104 | | NoShotFlg | bool (0 or 1) | |
105 | | Randwachs | integer | |
106 | | Tuerflg | bool (0 or 1) | |
107 | | Ausbauflg | bool (0 or 1) | |
108 | | KreuzBase | integer | |
109 | | Destroyflg | bool (0 or 1) | |
110 | | Strandflg | bool (0 or 1) | |
111 | | Strandoff | integer | |
112 | | Mundoff | integer (always 3) | |
113 | | Grundflg | bool (0 or 1) | |
114 |
115 | Possible Values for `Kind`:
116 |
117 | - UNUSED
118 | - BODEN
119 | - WALD
120 | - RUINE
121 | - STRANDRUINE
122 | - HANG
123 | - MEER
124 | - BRANDUNG
125 | - BRANDECK
126 | - HANGQUELL
127 | - HANGECK
128 | - MUENDUNG
129 | - STRAND
130 | - STRANDVARI
131 | - STRANDECKI
132 | - STRANDECKA
133 | - STRANDMUND
134 | - PIER
135 | - FELS
136 | - FLUSS
137 | - FLUSSECK
138 | - MAUER
139 | - MAUERSTRAND
140 | - TURM
141 | - TURMSTRAND
142 | - STRASSE
143 | - BRUECKE
144 | - PLATZ
145 | - TOR
146 | - STRANDHAUS
147 | - HQ
148 | - HAFEN
149 | - GEBAEUDE
150 | - WMUEHLE
151 | - MINE
152 |
153 | ### HAUS_PRODTYP ###
154 | Nested in [HAUS](#haus).
155 |
156 | | ID | Expected Values | Use |
157 | |---------------|-------------------|-----|
158 | | Kind | integer (enum) | |
159 | | Ware | integer (enum?) | |
160 | | Radius | integer | |
161 | | Rohstoff | integer | |
162 | | Rohmenge | float | |
163 | | Prodmenge | float | |
164 | | Randwachs | integer | |
165 | | Maxlager | integer | |
166 | | Maxprodcnt | integer | |
167 | | Maxnorohst | integer | |
168 | | Interval | integer | |
169 | | Bauinfra | integer (enum?) | |
170 | | Doerrflg | bool (0 or 1) | |
171 | | Kosten | integer, integer | |
172 | | Figurnr | integer | |
173 | | Figuranz | integer | |
174 | | Rauchfignr | integer vec | |
175 | | Arbeiter | integer | |
176 | | NoMoreWork | bool (0 or 1) | |
177 | | NoLagVoll | bool (0 or 1) | |
178 | | Maxware | integer, integer | |
179 | | Workstoff | integer (enum?) | |
180 | | Workmenge | float | |
181 | | Erzbergnr | integer | |
182 | | Anicontflg | bool (0 or 1) | |
183 | | MakLagFlg | bool (0 or 1) | |
184 | | LagAniFlg | bool (0 or 1) | determine wether the animation state in the island is used as animation or stock |
185 | | Nativflg | bool (0 or 1) | |
186 | | Piratflg | bool (0 or 1) | |
187 | | BGruppe | integer | [BGRUPPE](#bgruppe) |
188 |
189 | Possible Values for `Kind`:
190 |
191 | - UNUSED
192 | - ROHSTWACHS
193 | - ROHSTOFF
194 | - FISCHEREI
195 | - KONTOR
196 | - WERFT
197 | - ROHSTERZ
198 | - pMAUER
199 | - WACHTURM
200 | - MILITAR
201 | - HANDWERK
202 | - STEINBRUCH
203 | - BERGWERK
204 | - PLANTAGE
205 | - JAGDHAUS
206 | - WEIDETIER
207 | - WOHNUNG
208 | - PIRATWOHN
209 | - KIRCHE
210 | - KAPELLE
211 | - WIRT
212 | - THEATER
213 | - BADEHAUS
214 | - MARKT
215 | - KLINIK
216 | - HOCHSCHULE
217 | - SCHULE
218 | - BRUNNEN
219 | - SCHLOSS
220 | - GALGEN
221 | - DENKMAL
222 | - TRIUMPH
223 |
224 | ### HAUS_BAUKOST ###
225 | Nested in [HAUS](#haus).
226 |
227 | Lists the required **Resources** to build the **Building**.
228 |
229 | | ID | Expected Values | Use |
230 | |---------------|-------------------|-----|
231 | | Money | integer | |
232 | | Werkzeug | integer | |
233 | | Holz | integer | |
234 | | Ziegel | integer | |
235 | | Kanon | integer | |
236 |
237 | ## Notes ##
238 |
239 | ids ending with "flg" or "Flg" (inconsistent) are booleans represented as an integer as either `0` or `1`.
240 |
241 |
--------------------------------------------------------------------------------
/files/speech8/index.md:
--------------------------------------------------------------------------------
1 | # /speech8 #
2 |
3 | This Folder contains all speech samples.
4 |
5 | ## List of Files ##
6 |
7 | | Name | Notes |
8 | |---------------|---------------------|
9 | | 107.wav | |
10 | | 109.wav | |
11 | | 111.wav | |
12 | | 113.wav | |
13 | | 115.wav | |
14 | | 119.wav | |
15 | | 121.wav | |
16 | | 123.wav | |
17 | | 133.wav | |
18 | | 141.wav | |
19 | | 143.wav | |
20 | | 145.wav | |
21 | | 147.wav | |
22 | | 149.wav | |
23 | | 151.wav | |
24 | | 153.wav | |
25 | | 155.wav | |
26 | | 157.wav | |
27 | | 159.wav | |
28 | | 161.wav | |
29 | | 163.wav | |
30 | | 167.wav | |
31 | | 169.wav | |
32 | | 171.wav | |
33 | | 177.wav | |
34 | | 179.wav | |
35 | | 181.wav | |
36 | | 183.wav | |
37 | | 187.wav | |
38 | | 189.wav | |
39 | | 191.wav | |
40 | | 193.wav | |
41 | | 198.wav | |
42 | | 200.wav | |
43 | | 202.wav | |
44 | | 204.wav | |
45 | | 206.wav | |
46 | | 208.wav | |
47 | | 211.wav | |
48 | | 213.wav | |
49 | | 215.wav | |
50 | | 217.wav | |
51 | | 219.wav | |
52 | | 221.wav | |
53 | | 223.wav | |
54 | | 241.wav | |
55 | | 243.wav | |
56 | | 246.wav | |
57 | | 252.wav | |
58 | | 254.wav | |
59 | | 256.wav | |
60 | | 262.wav | |
61 | | 264.wav | |
62 | | 266.wav | |
63 | | 270.wav | |
64 | | 272.wav | |
65 | | 274.wav | |
66 | | 278.wav | |
67 | | 282.wav | |
68 | | 284.wav | |
69 | | 286.wav | |
70 | | 290.wav | |
71 | | 295.wav | |
72 | | 297.wav | |
73 | | 299.wav | |
74 | | 301.wav | |
75 | | 309.wav | |
76 | | 330.wav | |
77 | | 332.wav | |
78 | | 334.wav | |
79 | | 336.wav | |
80 | | 338.wav | |
81 | | 340.wav | |
82 | | 342.wav | |
83 | | 344.wav | |
84 | | 346.wav | |
85 | | 348.wav | |
86 | | 350.wav | |
87 | | 352.wav | |
88 | | 354.wav | |
89 | | 356.wav | |
90 | | 358.wav | |
91 | | 360.wav | |
92 | | 363.wav | |
93 | | 381.wav | |
94 | | 383.wav | |
95 | | 420.wav | |
96 | | 422.wav | |
97 | | 424.wav | |
98 | | 426.wav | |
99 | | 428.wav | |
100 | | 430.wav | |
101 | | 432.wav | |
102 | | 434.wav | |
103 | | 436.wav | |
104 | | 438.wav | |
105 | | 440.wav | |
106 | | 442.wav | |
107 | | 444.wav | |
108 | | 446.wav | |
109 | | 448.wav | |
110 | | 450.wav | |
111 | | 452.wav | |
112 | | 454.wav | |
113 | | 456.wav | |
114 | | 458.wav | |
115 | | 460.wav | |
116 | | 462.wav | |
117 | | 464.wav | |
118 | | 466.wav | |
119 | | 468.wav | |
120 | | 470.wav | |
121 | | 472.wav | |
122 | | 474.wav | |
123 | | 476.wav | |
124 | | 478.wav | |
125 | | 480.wav | |
126 | | 482.wav | |
127 | | 484.wav | |
128 | | 486.wav | |
129 | | 488.wav | |
130 | | 490.wav | |
131 | | 492.wav | |
132 | | 494.wav | |
133 | | 530.wav | |
134 | | 532.wav | |
135 | | 534.wav | |
136 | | 536.wav | |
137 | | 538.wav | |
138 | | 540.wav | |
139 | | 542.wav | |
140 | | 544.wav | |
141 | | 546.wav | |
142 | | 547.wav | |
143 | | 548.wav | |
144 | | 550.wav | |
145 | | 552.wav | |
146 | | 554.wav | |
147 | | 556.wav | |
148 | | 558.wav | |
149 | | 560.wav | |
150 | | 562.wav | |
151 | | 564.wav | |
152 | | 567.wav | |
153 | | 570.wav | |
154 | | 572.wav | |
155 | | 574.wav | |
156 | | 598.wav | |
157 | | 600.wav | |
158 | | 602.wav | |
159 | | 604.wav | |
160 | | 606.wav | |
161 | | 608.wav | |
162 | | 610.wav | |
163 | | 612.wav | |
164 | | 614.wav | |
165 | | 616.wav | |
166 | | 618.wav | |
167 | | 620.wav | |
168 | | 622.wav | |
169 | | 626.wav | |
170 | | 628.wav | |
171 | | 630.wav | |
172 | | 632.wav | |
173 | | 634.wav | |
174 | | 637.wav | |
175 | | 639.wav | |
176 | | 641.wav | |
177 | | 643.wav | |
178 | | 645.wav | |
179 | | 647.wav | |
180 | | 651.wav | |
181 | | 653.wav | |
182 | | 656.wav | |
183 | | 660.wav | |
184 | | 662.wav | |
185 | | 664.wav | |
186 | | 666.wav | |
187 | | 673.wav | |
188 | | 675.wav | |
189 | | 677.wav | |
190 | | 679.wav | |
191 | | 681.wav | |
192 | | 683.wav | |
193 | | 685.wav | |
194 | | 687.wav | |
195 | | 689.wav | |
196 | | 691.wav | |
197 | | 693.wav | |
198 | | 695.wav | |
199 | | 697.wav | |
200 | | 699.wav | |
201 | | 701.wav | |
202 | | 703.wav | |
203 | | 705.wav | |
204 | | 707.wav | |
205 | | 709.wav | |
206 | | 711.wav | |
207 | | 713.wav | |
208 | | 715.wav | |
209 | | 717.wav | |
210 | | 719.wav | |
211 | | 721.wav | |
212 | | 723.wav | |
213 | | 727.wav | |
214 | | 729.wav | |
215 | | 731.wav | |
216 | | 733.wav | |
217 | | 735.wav | |
218 | | 738.wav | |
219 | | 750.wav | |
220 | | 752.wav | |
221 | | 754.wav | |
222 | | 756.wav | |
223 | | 758.wav | |
224 | | 760.wav | |
225 | | 762.wav | |
226 | | 764.wav | |
227 | | 766.wav | |
228 | | 768.wav | |
229 | | 770.wav | |
230 | | 774.wav | |
231 | | 776.wav | |
232 | | 778.wav | |
233 | | 780.wav | |
234 | | 784.wav | |
235 | | 786.wav | |
236 | | 788.wav | |
237 | | 790.wav | |
238 | | 792.wav | |
239 | | 794.wav | |
240 | | 796.wav | |
241 | | 798.wav | |
242 | | 800.wav | |
243 | | 804.wav | |
244 | | 806.wav | |
245 | | 813.wav | |
246 | | 815.wav | |
247 | | 817.wav | |
248 | | 819.wav | |
249 | | 821.wav | |
250 | | 823.wav | |
251 | | 825.wav | |
252 | | 827.wav | |
253 | | 829.wav | |
254 | | 831.wav | |
255 | | 833.wav | |
256 | | 887.wav | |
257 | | 889.wav | |
258 | | 891.wav | |
259 | | 893.wav | |
260 | | 897.wav | |
261 | | 899.wav | |
262 | | 901.wav | |
263 | | 903.wav | |
264 | | 906.wav | |
265 | | 908.wav | |
266 | | 911.wav | |
267 | | 913.wav | |
268 | | 915.wav | |
269 | | 918.wav | |
270 | | 921.wav | |
271 | | 923.wav | |
272 | | 926.wav | |
273 | | 928.wav | |
274 | | 930.wav | |
275 | | 933.wav | |
276 | | 935.wav | |
277 | | 937.wav | |
278 | | 939.wav | |
279 | | 942.wav | |
280 | | 944.wav | |
281 | | 946.wav | |
282 | | 948.wav | |
283 | | 955.wav | |
284 | | 957.wav | |
285 | | 959.wav | |
286 | | 961.wav | |
287 | | 963.wav | |
288 | | 984.wav | |
289 | | 986.wav | |
290 | | 988.wav | |
291 | | 990.wav | |
292 | | 992.wav | |
293 | | 994.wav | |
294 | | 996.wav | |
295 | | 998.wav | |
296 | | 1000.wav | |
297 | | 1002.wav | |
298 | | 1004.wav | |
299 | | 1006.wav | |
300 | | 1008.wav | |
301 | | 1010.wav | |
302 | | 1012.wav | |
303 | | 1014.wav | |
304 | | 1016.wav | |
305 | | 1023.wav | |
306 | | 1046.wav | |
307 | | 1073.wav | |
308 | | 1098.wav | |
309 | | 1114.wav | |
310 | | 1133.wav | |
311 | | 1135.wav | |
312 | | 1137.wav | |
313 | | 1139.wav | |
314 | | 1141.wav | |
315 | | 1143.wav | |
316 | | 1145.wav | |
317 | | 1147.wav | |
318 |
319 |
--------------------------------------------------------------------------------
/file_formats/script.md:
--------------------------------------------------------------------------------
1 | # Anno Script #
2 |
3 | Anno defines game parameters, animations, UI layouts, and more with scripts written in a custom markup language.
4 | The language looks like a wild mixture of INI, C-Header, JSON, and YAML. [q](https://github.com/roybaer/mdcii-engine/pull/10#issuecomment-510024829)
5 | Prominent files are eg. [haeuser.cod](../files/haeuser.cod.md) and [figuren.cod](../files/figuren.cod.md), the game config file [game.dat](../files/game.dat.md), [Highscore Files](./hss.md) and GUIs.
6 |
7 | Like [Text Files](./text.md), it uses [Windows-1252](https://en.wikipedia.org/wiki/Windows-1252) encoding and Windows **Line Endings** (CRLF).
8 |
9 | ## Syntax ##
10 |
11 | ### Whitespace ###
12 |
13 | Whitespace characters carry no meaning in scripts. The original game files use indentation for easier reading (using both tabs _and_ spaces).
14 |
15 | ### Comments ###
16 |
17 | Line comments start with `;` and end with the **newline** character.
18 |
19 | ### Variables ###
20 |
21 | Variables carry object-independent information.
22 |
23 | Variable identifiers generally use a combination of uppercase letters, digits and underscores (example: `UPPER_CASE_STRING_123`). Exceptions to this rule apply. Certain variable identifiers are pre-defined by the application.
24 |
25 | Variables are defined and declared in a single statement such as `VARIABLE_NAME = 2`. Variable definitions are allowed anywhere within a script. A variable's scope is always global, i.e. even when it is defined in the middle of an object definition, its value persists throughout the remainder of the script. Variable reassignment is possible.
26 |
27 | The right side of variable assignments can be int or float literals (`0.1`, `20`, ...) or simple arithmetic expressions involving literals and other variable identifiers (`500-2`, `GFXSOMETHINGBASE+10`, ...).
28 |
29 | Using the @-syntax, existing variables can be incremented/decremented and reassigned in a single expression. Example: `@GFXNR = +80`.
30 |
31 | ### Properties ###
32 |
33 | Properties add key-value information to objects.
34 |
35 | Property identifiers generally are `TitleCaseStrings`, though exceptions apply. The `Nummer` property is a special property which marks elements in an array of objects.
36 |
37 | Properties are defined and declared in a single statement such as `PropertyName: 2`. Property definitions are allowed at the top of a script, or within objects. The scope of a property is limited to its surrounding object definition. Property reassignment is probably not meant to be possible (based on the fact that neither of the game's script files does this).
38 |
39 | The right side of property assignments can be int or float literals, simple arithmetic expressions involving literals and other variable identifiers, or list-typed values (!), which themselves can contain literals or arithmetic expressions. Examples:
40 | ```
41 | Nurture: 1.4 ; fixed point value
42 | Nurturelist: 1.4, SOMEVAR, 0 ; list
43 | ```
44 |
45 | Additionally, the right side can use array subscript notation:
46 | ```
47 | Pos: 20, 42 ; Property array
48 |
49 | Posoffs: 30-Pos[0], 200-Pos[1] ; 30 - 20, 200 - 42 -> 10, 158
50 | ```
51 | This is only used in `/Gaddata/CTRL.GAD`.
52 |
53 | Using the @-syntax, existing properties can be incremented/decremented and reassigned in a single expression. Example: `@Gfx: +5`. This is also used for list-typed values, for example: `@Pos: +79, +0`.
54 |
55 |
56 | ### Keyword Properties ###
57 |
58 | Four keyword properties are known:
59 |
60 | | Keyword | Purpose |
61 | |---------|---------|
62 | | `Include`| include the contents of another script file |
63 | | `Objekt` | begin object definition |
64 | | `EndObj` | end object definition |
65 | | `ObjFill` | defines default properties for following objects, or recalls properties from a previously defined object |
66 |
67 |
68 | ### Objects ###
69 |
70 | Object definitions can take two forms: arrays of a defined object struct-like type, or individual struct-like object definitions.
71 |
72 | Object array definitions follow a syntax like the following:
73 | ```
74 | Objekt:
75 |
76 | Nummer:
77 | PropertyA: 0
78 | PropertyB: 1
79 |
80 | Nummer:
81 | PropertyA: 0
82 | PropertyB: 1
83 |
84 | EndObj;
85 | ```
86 |
87 | Struct-like object definitions use a similar syntax without `Nummer` properties:
88 |
89 | ```
90 | Objekt: HAUS_PRODTYP
91 | Kind: ROHSTWACHS
92 | Ware: NOWARE
93 | Interval: 300
94 | EndObj;
95 | ```
96 |
97 | Objects can be nested (containing itself an object). The maximum nesting level observed in the game's files is 2.
98 |
99 | ### Object Defaults / ObjFill ###
100 |
101 | The special `ObjFill` property permits reuse of object properties for object arrays. There are two variants: forward-filling and backward-filling.
102 |
103 | * Forward-filling defines a default object which includes a statement such as `ObjFill: 0, MAXHAUS`. The semantics of this are to fill array objects in the given range with the properties of that default object.
104 | * Backward-filling adds the properties of a previously defined object with a certain `Nummer` (i.e. array index) to the current array object. This requires a statement such as `ObjFill: `, for example `ObjFill: HAUSWACHS`.
105 |
106 | An object can be both forward-filled and backward-filled at the same time.
107 |
108 | ### Notes / Other Quirks ###
109 | * In `haeuser.cod` in the KE version, the first occurrence of the `Nummer` property is using a relative assignment (`@Nummer`), even though no previous assignment exists.
110 | * Some scripts are erroneous (TODO: examples??). Occasionally an extra `@` is present on **Properties**. **Undefined Variables** are used (examples??).
111 |
112 | ### EBNF Grammar ###
113 |
114 | See https://github.com/mbugert/anno1602-script-parser/blob/main/parser/io/script/grammar.lark
115 |
116 | ## Parser Implementations ##
117 |
118 | * [Christian Flach](https://github.com/cmfcmf)'s [parser implementation](https://github.com/cmfcmf/Anno2018/blob/master/src/parsers/DAT/dat-parser.ts), TypeScript
119 | * [Armin Schlegel](https://github.com/siredmar)'s [parser implementation (uses protobuf)](https://github.com/siredmar/mdcii-engine/blob/master/source/mdcii/mdcii/src/cod/cod_parser.cpp), C++
120 | * [Michael Bugert](https://github.com/mbugert)'s [grammar and parser generator](https://github.com/mbugert/anno1602-script-parser), Python
121 |
--------------------------------------------------------------------------------
/file_formats/anno16_chunks.hexpat:
--------------------------------------------------------------------------------
1 | #pragma endian little
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | namespace Chunks {
8 |
9 | struct Auftrag {
10 | // TODO: AUFTRAG
11 | };
12 |
13 | struct Auftrag2 {
14 | // TODO: AUFTRAG2
15 | };
16 |
17 | struct Auftrag4 {
18 | // TODO: AUFTRAG4
19 |
20 | // some numbers
21 | // mission objective in text form
22 | // credits
23 |
24 | // empty space here?
25 |
26 | // some more numbers
27 | };
28 |
29 | // TODO: move somewhere else
30 | struct Bsh_Texture {
31 | u32 width;
32 | u32 height;
33 | u32 num;
34 | u32 size_bytes; // includes the 4 u32 here
35 |
36 | u8 data[size_bytes - sizeof(u32)*4];
37 | };
38 |
39 | struct Bsh {
40 | // we use the offset in the first index as the first texture
41 | u32 _first_index = std::mem::read_unsigned($, sizeof(u32), std::mem::Endian::Little);
42 | auto _number_of_indecies = _first_index/sizeof(u32);
43 |
44 | u32 index[_number_of_indecies];
45 |
46 | Bsh_Texture textures[2]; // TODO: be smart about textures
47 | };
48 |
49 | struct Custom {
50 | // TODO: CUSTOM
51 | };
52 |
53 | struct Handler {
54 | // TODO: HANDLER
55 | };
56 |
57 | struct Hirsch2 {
58 | // TODO: HIRSCH2
59 | };
60 |
61 | struct Insel3 {
62 | // TODO: INSEL3
63 |
64 | u8 id;
65 | u8 width;
66 | u8 height;
67 | };
68 |
69 | struct Insel4 {
70 | // TODO: INSEL4
71 |
72 | u8 id;
73 | u8 width;
74 | u8 height;
75 | };
76 |
77 | struct Insel5 {
78 | // TODO: INSEL5
79 |
80 | u8 id;
81 | u8 width;
82 | u8 height;
83 |
84 | padding[1];
85 |
86 | u16 pos_x;
87 | u16 pos_y;
88 | };
89 |
90 | bitfield InselHaus_Tile {
91 | u16 id;
92 | u8 x;
93 | u8 y;
94 |
95 | orientation : 2;
96 | animation : 4;
97 | island : 8;
98 | city : 3;
99 | padding : 5; // junk or random data
100 | player : 4;
101 | };
102 |
103 | struct InselHaus {
104 | InselHaus_Tile tiles[size/sizeof(InselHaus_Tile)];
105 | };
106 |
107 | struct InselMaxFun {
108 | // TODO: INSEL_MAXFUN
109 | };
110 |
111 | struct Kontor2 {
112 | // TODO: KONTOR2
113 | };
114 |
115 | struct Markt2 {
116 | // TODO: MARKT2
117 | };
118 |
119 | struct Militar {
120 | // TODO: MILITAR
121 | };
122 |
123 | struct Name {
124 | // TODO: NAME
125 | };
126 |
127 | struct Player2 {
128 | // TODO: PLAYER2
129 | };
130 |
131 | struct Player3 {
132 | // TODO: PLAYER3
133 | };
134 |
135 | struct Player4 {
136 | // TODO: PLAYER4
137 | };
138 |
139 | struct ProdList2 {
140 | // TODO: PRODLIST2
141 | };
142 |
143 | struct RandTab {
144 | u16 random_table[512]; // or something
145 | };
146 |
147 | struct RohWachs2 {
148 | // TODO: ROHWACHS2
149 | };
150 |
151 | struct Ship4 {
152 | // TODO: SHIP4
153 | };
154 |
155 | struct Siedler {
156 | // TODO: SIEDLER
157 | };
158 |
159 | struct Soldat2 {
160 | // TODO: SOLDAT2
161 | };
162 |
163 | struct Soldat3 {
164 | // TODO: SOLDAT3
165 | };
166 |
167 | struct SoldatInsel {
168 | // TODO: SOLDATINSEL
169 | };
170 |
171 | struct Stadt3 {
172 | // TODO: STADT3
173 | };
174 |
175 | struct Stadt4 {
176 | // TODO: STADT4
177 | };
178 |
179 | struct Szene {
180 | // TODO: SZENE
181 | };
182 |
183 | struct SzeneGameID {
184 | u32 id;
185 | };
186 |
187 | struct SzeneKampagne {
188 | // TODO: SZENE_KAMPAGNE
189 | };
190 |
191 | struct SzeneMissNr {
192 | // TODO: SZENE_MISSNR
193 | };
194 |
195 | struct SzenePlayerMax {
196 | u32 number;
197 | };
198 |
199 | struct SzenePlayerMin {
200 | u32 number;
201 | };
202 |
203 | struct SzeneRanking {
204 | u32 number;
205 | };
206 |
207 | struct Timers {
208 | // TODO: TIMERS
209 | };
210 |
211 | struct Turm {
212 | // TODO: TURM
213 | };
214 |
215 | struct Werft {
216 | // TODO: WERFT
217 | };
218 |
219 | struct Wiff {
220 | u32 checksum;
221 | };
222 |
223 | using Zei = Bsh; // alias
224 | }
225 |
226 | union ChunkData {
227 | if (size > 0)
228 | padding[size];
229 |
230 | if (std::string::starts_with(chunk_type, "AUFTRAG"))
231 | Chunks::Auftrag chunk_content;
232 | else if (std::string::starts_with(chunk_type, "AUFTRAG2"))
233 | Chunks::Auftrag2 chunk_content;
234 | else if (std::string::starts_with(chunk_type, "AUFTRAG4"))
235 | Chunks::Auftrag4 chunk_content;
236 | else if (std::string::starts_with(chunk_type, "BSH"))
237 | Chunks::Bsh chunk_content;
238 | else if (std::string::starts_with(chunk_type, "CUSTOM"))
239 | Chunks::Custom chunk_content;
240 | else if (std::string::starts_with(chunk_type, "HANDLER"))
241 | Chunks::Handler chunk_content;
242 | else if (std::string::starts_with(chunk_type, "HIRSCH2"))
243 | Chunks::Hirsch2 chunk_content;
244 | else if (std::string::starts_with(chunk_type, "INSEL3"))
245 | Chunks::Insel3 chunk_content;
246 | else if (std::string::starts_with(chunk_type, "INSEL4"))
247 | Chunks::Insel4 chunk_content;
248 | else if (std::string::starts_with(chunk_type, "INSEL5"))
249 | Chunks::Insel5 chunk_content;
250 | else if (std::string::starts_with(chunk_type, "INSELHAUS"))
251 | Chunks::InselHaus chunk_content;
252 | else if (std::string::starts_with(chunk_type, "INSEL_MAXFUN"))
253 | Chunks::InselMaxFun chunk_content;
254 | else if (std::string::starts_with(chunk_type, "KONTOR2"))
255 | Chunks::Kontor2 chunk_content;
256 | else if (std::string::starts_with(chunk_type, "MARKT2"))
257 | Chunks::Markt2 chunk_content;
258 | else if (std::string::starts_with(chunk_type, "MILITAR"))
259 | Chunks::Militar chunk_content;
260 | else if (std::string::starts_with(chunk_type, "NAME"))
261 | Chunks::Name chunk_content;
262 | else if (std::string::starts_with(chunk_type, "PLAYER2"))
263 | Chunks::Player2 chunk_content;
264 | else if (std::string::starts_with(chunk_type, "PLAYER3"))
265 | Chunks::Player3 chunk_content;
266 | else if (std::string::starts_with(chunk_type, "PLAYER4"))
267 | Chunks::Player4 chunk_content;
268 | else if (std::string::starts_with(chunk_type, "PRODLIST2"))
269 | Chunks::ProdList2 chunk_content;
270 | else if (std::string::starts_with(chunk_type, "RANDTAB"))
271 | Chunks::RandTab chunk_content;
272 | else if (std::string::starts_with(chunk_type, "ROHWACHS2"))
273 | Chunks::RohWachs2 chunk_content;
274 | else if (std::string::starts_with(chunk_type, "SHIP4"))
275 | Chunks::Ship4 chunk_content;
276 | else if (std::string::starts_with(chunk_type, "SIEDLER"))
277 | Chunks::Siedler chunk_content;
278 | else if (std::string::starts_with(chunk_type, "SOLDAT2"))
279 | Chunks::Soldat2 chunk_content;
280 | else if (std::string::starts_with(chunk_type, "SOLDAT3"))
281 | Chunks::Soldat3 chunk_content;
282 | else if (std::string::starts_with(chunk_type, "SOLDATINSEL"))
283 | Chunks::SoldatInsel chunk_content;
284 | else if (std::string::starts_with(chunk_type, "STADT3"))
285 | Chunks::Stadt3 chunk_content;
286 | else if (std::string::starts_with(chunk_type, "STADT4"))
287 | Chunks::Stadt4 chunk_content;
288 | else if (std::string::starts_with(chunk_type, "SZENE_GAMEID"))
289 | Chunks::SzeneGameID chunk_content;
290 | else if (std::string::starts_with(chunk_type, "SZENE_KAMPAGNE"))
291 | Chunks::SzeneKampagne chunk_content;
292 | else if (std::string::starts_with(chunk_type, "SZENE_MISSNR"))
293 | Chunks::SzeneMissNr chunk_content;
294 | else if (std::string::starts_with(chunk_type, "SZENE_PLAYERMAX"))
295 | Chunks::SzenePlayerMax chunk_content;
296 | else if (std::string::starts_with(chunk_type, "SZENE_PLAYERMIN"))
297 | Chunks::SzenePlayerMin chunk_content;
298 | else if (std::string::starts_with(chunk_type, "SZENE_RANKING"))
299 | Chunks::SzeneRanking chunk_content;
300 | else if (std::string::starts_with(chunk_type, "SZENE")) // after common prefix
301 | Chunks::Szene chunk_content;
302 | else if (std::string::starts_with(chunk_type, "TIMERS"))
303 | Chunks::Timers chunk_content;
304 | else if (std::string::starts_with(chunk_type, "TURM"))
305 | Chunks::Turm chunk_content;
306 | else if (std::string::starts_with(chunk_type, "WERFT"))
307 | Chunks::Werft chunk_content;
308 | else if (std::string::starts_with(chunk_type, "WIFF"))
309 | Chunks::Wiff chunk_content;
310 | else if (std::string::starts_with(chunk_type, "ZEI"))
311 | Chunks::Zei chunk_content;
312 | else
313 | std::print("unknown chunk type '{}'\n", chunk_type);
314 | };
315 |
316 | struct Chunk {
317 | char name[16];
318 | u32 size;
319 | ChunkData data;
320 | };
321 |
322 | Chunk chunk[while(!std::mem::eof())] @ 0x00;
323 |
324 | // # vi: ft=cpp
325 |
--------------------------------------------------------------------------------
/files/game.dat.md:
--------------------------------------------------------------------------------
1 | # /Game.dat
2 | Is a [Script](../file_formats/script.md) that stores information on in-game settings and savegames.
3 |
4 | ## Königs-Edition (KE)
5 |
6 | ### Example Contents
7 | ```
8 | Musik: TRUE, 0
9 | Samples: TRUE
10 | Random: TRUE
11 | Volume: -1606, -1606, -597
12 | VideoQual: TRUE
13 |
14 | Song: 0, FALSE
15 | Song: 2, FALSE
16 |
17 | Speach: 0, TRUE
18 | Speach: 1, FALSE
19 | Speach: 2, FALSE
20 | Speach: 3, FALSE
21 | Speach: 4, FALSE
22 | Speach: 5, FALSE
23 | Speach: 6, FALSE
24 | Speach: 7, FALSE
25 |
26 | Video: 0, FALSE
27 | Video: 1, TRUE
28 | Video: 2, TRUE
29 | Video: 3, FALSE
30 | Video: 4, FALSE
31 | Video: 5, FALSE
32 | Video: 6, FALSE
33 | Video: 7, FALSE
34 |
35 | Lastfile: "C:\path\to\Savegame\lastgame.gam"
36 |
37 | Endlosnr: 3
38 | Tutornr: 0
39 |
40 | Kampagne: 0, 2
41 | Kampagne: 1, 1
42 |
43 | Objekt: SPIELNAME
44 |
45 | Name: 0, "Im Auftr d Königs", 1
46 | Name: 1, "Im Auftr d Königs2", 1
47 | Name: 2, "Kreuzverkehr A", 3
48 | Name: 3, "Kreuzverkehr B", 3
49 | Name: 4, "Endlos rot", 1
50 | Name: 5, "", 1
51 | Name: 6, "", 1
52 | Name: 7, "", 1
53 | Name: 8, "", 1
54 | Name: 9, "", 1
55 | Name: 10, "", 1
56 | Name: 11, "", 1
57 |
58 | EndObj;
59 | ```
60 |
61 | ### Explanation
62 |
63 | | Property | Data Type | Purpose |
64 | | ------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
65 | | `Musik` | bool, uint | The bool encodes whether playback is enabled. **TODO** The role of the uint is unclear. Values observed so far are 15, 8, and 0, which could mean it is a bitmask. |
66 | | `Samples` | bool | Encodes whether sound effects playback is enabled. |
67 | | `Random` | bool | If `TRUE`, music tracks will play in random order (sequential order otherwise). |
68 | | `Volume` | int, int, int | The volume of music, sound effects, and a value that correlates to progress in the main campaign. Values range from -4000 (minimum volume) to 0 (maximum volume) and -595 (new game) up to -580 (endgame). |
69 | | `VideoQual` | bool | **TODO** unclear. |
70 | | `Song` | uint, bool | Whether the i-th music track is disabled. When a track is re-enabled in-game, the corresponding line is removed entirely, so a line such as `Song: 0, TRUE` never occurs in practice. |
71 | | `Speach` | uint, bool | Encodes which categories of voice announcements are disabled (`TRUE` means disabled). Index 0 corresponds to the overall setting (if `TRUE`, all announcements are disabled). Indices 1-7 correspond to the seven categories shown in-game in their order of appearance (German version: "Ereignisse", "Inselstatus", etc.). |
72 | | `Video` | uint, bool | Like `Speach`, but for cutscenes. Index 0 corresponds to the overall setting. Disabling the first category of cutscenes in-game ("Ereignisse") will set indices 1 and 2 to `TRUE`. The second category ("Kampfhandlungen") controls index 5, and the third category ("Diplomatie") controls index 7. Other indices appear to be unused. |
73 | | `Endlosnr` | uint | The difficulty of the last endless game (0: easiest, 3: most difficult). |
74 | | `Tutornr` | uint | **TODO Unclear.** It probably is the index of the next tutorial stage to play, but didn't behave this way. |
75 | | `Lastfile` | string | Filesystem path to the `lastgame.gam` autosave file. |
76 | | `Kampagne` | uint, uint | Campaign progress. The first value is the index of the campaign, the second stores the progress. A progress value of `i` means all scenarios up to and including index `i` are unlocked. |
77 | | `Objekt: SPIELNAME` | per savegame: uint, char[32], uint | Stores savegame properties. The number of savegames is hard-capped to 12 (any externally added entries will be removed again by the game). The first uint is the index of the corresponding `game{i:02}.gam` savegame file in [SAVEGAME/](./savegame/index.md). The string is the name of the savegame shown in-game. The in-game character limit is 18 chars, though up to 32 chars will be displayed if `game.dat` is edited externally. The second uint is the number of human players participating (1 = singleplayer, 2 = two-player multiplayer, etc.). |
78 |
79 | ### Write events
80 | The game updates the contents of `game.dat` whenever:
81 | * the user saves a game
82 | * the user switches from the end-of-game stats screen to the main menu screen
83 | * the game is closed gracefully from the main menu
84 |
85 | ### Interaction with Registry Keys
86 | Certain `game.dat` settings have corresponding registry keys in `HKEY_CURRENT_USER\Software\Anno1602`. For example, the `MUSIK_FLAG`, `SOUND_FLAG`, and `VIDEO_QUALITAET` keys correspond to `Musik`, `Samples`, and `VideoQual` in `game.dat`. When starting the game, the registry settings take priority over `game.dat` settings, and the `game.dat` settings will be modified to match the registry settings on the next occasion (see [Write events](#write-events)).
87 | The value of these registry keys is set through `Config.exe`, or through the in-game audio settings.
88 |
89 | **TODO** Investigate this more closely.
90 |
--------------------------------------------------------------------------------
/version_differences.md:
--------------------------------------------------------------------------------
1 | # Version and Language Differences
2 |
3 | _Note on OS compatibility_: There is considerable variation in file name casing (e.g. `Bauhaus.bsh` vs. `BAUHAUS.BSH`) across game versions, languages, and folders. Projects targeting support for OS with case-sensitive file systems (i.e. Linux) should keep this in mind. It does not matter on Windows, since Windows' file system is case-insensitive.
4 |
5 | - [Original](#original)
6 | - [Neue Inseln, neue Abenteuer (NINA)](#neue-inseln-neue-abenteuer-nina)
7 | - [Königs-Edition (KE)](#königs-edition-ke)
8 | - [COD files](#cod-files)
9 | - [GFX](#gfx)
10 | - [MGFX](#mgfx)
11 | - [SGFX](#sgfx)
12 | - [ToolGfx](#toolgfx)
13 | - [Language-agnostic Files](#language-agnostic-files)
14 | - [Language-specific Files](#language-specific-files)
15 | - [Good Old Games (GOG)](#good-old-games-gog)
16 | - [English, German, French Versions](#english-german-french-versions)
17 | - [COD files](#cod-files-1)
18 | - [GFX/MGFX/SGFX](#gfxmgfxsgfx)
19 | - [ToolGfx](#toolgfx-1)
20 | - [Language-agnostic files](#language-agnostic-files-1)
21 | - [Language-specific files](#language-specific-files-1)
22 | - [Polish Version](#polish-version)
23 | - [COD files](#cod-files-2)
24 | - [GFX](#gfx-1)
25 | - [MGFX](#mgfx-1)
26 | - [SGFX](#sgfx-1)
27 | - [ToolGfx](#toolgfx-2)
28 | - [History Edition (HE)](#history-edition-he)
29 | - [COD files](#cod-files-3)
30 | - [GFX, MGFX, SGFX](#gfx-mgfx-sgfx)
31 | - [ToolGfx](#toolgfx-3)
32 | - [Language-agnostic files](#language-agnostic-files-2)
33 | - [Language-specific files](#language-specific-files-2)
34 |
35 | ## Original
36 | TODO
37 |
38 | ## Neue Inseln, neue Abenteuer (NINA)
39 | TODO
40 |
41 | ## Königs-Edition (KE)
42 | Information taken from the German release:
43 | * EXE file version: `0.2.5.2`
44 | * EXE product version: `1.0.0.5`
45 |
46 | ### COD files
47 | | Name | SHA-256 |
48 | |------|---------|
49 | | haeuser.cod | `82799ca9b24ae05745818f39c302f46c732e90eb7d6675d5cd6661fed15d2656` |
50 | | figuren.cod | `2313eeb802ae7f2c4130c611e96489bc172a451d85710d4bf842d58b9e81115c` |
51 |
52 | ### GFX
53 | See [files/gfx/](files/gfx/) for a detailed discussion of file contents.
54 |
55 | Changes in the KE version compared to **TODO the Polish GOG version, which is yet to be identified (suspicion is NINA)**:
56 | * Additions: `FISCHE.BSH`, `GAUKLER.BSH`, `SCHATTEN.BSH`.
57 | * Modifications:
58 | * `STADTFLD.BSH` adds many new things **TODO what exactly?**
59 | * `TIERE.BSH` adds an antelope
60 | * in `MAEHER.BSH`, a single pixel in the 1060th texture has changed
61 | * in `EFFEKTE.BSH`, volcano projectiles and crates floating on the surface (shown after a ship sinks) were added
62 | * The file size of `SHIP.BSH` is reduced, but the file produces the same series of textures as in the previous version.
63 | * This is achieved by removing duplicate textures. For example, the pirate flag animation consists of 8 frames, but only 5 of these frames are unique (playback order is 0, 1, 2, 3, 4, 3, 2, 1). The BSH in **TODO version** stores bitmaps for all 8 frames. The KE version stores bitmaps only for the 5 unique frames, then references those bitmaps multiple times in the BSH texture index (see [BSH file format](file_formats/bsh.md)).
64 |
65 | | Name | SHA-256 |
66 | |------|---------|
67 | | EFFEKTE.BSH | `11eaa1322619bb1379b55613c4f51167861483231ef5c7381e8fce0a01b256fd` |
68 | | FISCHE.BSH | `9cf2fc9e6a1fca0b512f61bd843bdd0be47ddae9b4b7627bed2f49e4e802a9df` |
69 | | GAUKLER.BSH | `4414d65eecd295210760915388f654b9711ed279d0b634011c67c153af4bf42a` |
70 | | MAEHER.BSH | `56196895ef4a8b826dd800dfdb299a8253d2ef3c645cb7b53269bb5d65c9a4ab` |
71 | | NUMBERS.BSH | `73e878f8e4143a21463fb2f3e1416ede17d8af0fa634c6e8837ac9da12a69092` |
72 | | SCHATTEN.BSH | `56ee1712645c5f760697edabbf138e73d2d3a7f57cf63a9174206704eb5e3710` |
73 | | SHIP.BSH | `446bd77296ab4aec88f4fd9cadc0812e5e0686fa850e6bf49b2a208cb8b69065` |
74 | | SOLDAT.BSH | `7270d576570b1481aaf3b90fcced37747ea31829978e7666a61cfb7274e125a1` |
75 | | STADTFLD.BSH | `5a4d46474680d4eaae62b8a768c25bf8e9ef9d35f14a83b11570703ba4b08e8c` |
76 | | TIERE.BSH | `a16608cf1f5ad7133ae30c414b0dc72ec491041ddc0282af0f4ceaef252c13f3` |
77 | | TRAEGER.BSH | `36b4ab78e92b09a0766af1ac8b57769c8802ed6ffd3c1edd06930082bb2d4315` |
78 |
79 | ### MGFX
80 | See [files/mgfx/](files/mgfx/) for a detailed discussion of file contents.
81 |
82 | | Name | SHA-256 |
83 | |------|---------|
84 | | Effekte.bsh | `ccd8e06fd84b134188533a04ddc6939977a4b43692f2f93f4ae28e7a416a455c` |
85 | | FISCHE.BSH | `f75601eb70b94233f27a395033716331b96a311110090010b5ac1843bac67f13` |
86 | | GAUKLER.BSH | `b5d0b43dfa75edd66ef936a6a8fbfc01c165ccec2be2febd8285dd8313bfd2c4` |
87 | | MAEHER.BSH | `cc3ff2e982efacfcbf603b1e4b2f9fe7413af43247df503035eec94d93798b35` |
88 | | NUMBERS.BSH | `3cb6fb99924dd02d2b22d4c86da9c88d5ce070f20137e63799bdfed9c2c5b752` |
89 | | SCHATTEN.BSH | `ee0eb779f88fe11e636c62084c640186df4d9d57b38b756679aeda1dbad4a35d` |
90 | | SHIP.BSH | `65d88b51ab76eacdd06dfc0404e8a266d98380ad70be2611c3648d87e1222ac1` |
91 | | SOLDAT.BSH | `79667644bf11a40de3726a6b84839f33a22ee438c6afb28e8c1011d2cfb59766` |
92 | | Stadtfld.bsh | `398b99798f9e96887829dfb94871f5afd52d70632b4485bb1b8e62a14d059391` |
93 | | TIERE.BSH | `8ea5d8f4a4d1df5b53dc300bf90d5234b73f2faa81733bc87cca07f06278a99c` |
94 | | TRAEGER.BSH | `348993fdd21e08fa16edf26661da5d899ddee52581f8bca443dab9694e3335a7` |
95 |
96 | ### SGFX
97 | See [files/sgfx/](files/sgfx/) for a detailed discussion of file contents.
98 |
99 | | Name | SHA-256 |
100 | |------|---------|
101 | | Effekte.bsh | `1606c5a20d995ed1b71e649702d837745837c9caec21be91928256fd10bbcf59` |
102 | | fische.bsh | `10a6385c352d43060525e8fecb171905b55d476ec559bec115fc7f1869ef5f28` |
103 | | gaukler.bsh | `7f907eacdf90d6512cc44d2ddb8eb5e3189de58fe34f1babd7f72c9f6c277019` |
104 | | Maeher.bsh | `088fb6261e414604046d9a6c13c82f8f30fbe9c2d05221fd5b7fd10d9480ab46` |
105 | | Numbers.bsh | `a4a86260cc967dae7b42b306628d6af3f5f0d3fe46af63fa828cb95d923958f8` |
106 | | schatten.bsh | `216f542727088f1d53ba381eaf8201725f445f02d2ae3bf230f69a33fd706cfb` |
107 | | Ship.bsh | `dd46efa5f4b84f1ebea3eb61d446a193499f51436fc6a53301f77397a3c9c68d` |
108 | | Soldat.bsh | `f0810d8ec08e8571b5f49129279da445d442e6d19f4830225d29e31dc622bed3` |
109 | | Stadtfld.bsh | `b71f34ee9ef70843683759f5f6ad9eddc552e35afae7e69629c8347fd1dcedc0` |
110 | | Tiere.bsh | `1e5581c5cbe1f9861b59291ddd76c4d7ed9298501870d2dcc402ba97832fab5b` |
111 | | Traeger.bsh | `199cf0d96cc3d0a8508c59949acfdd3999b8907453fba83d447cd80392aee982` |
112 |
113 | ### ToolGfx
114 | See [files/toolgfx/](files/toolgfx/) for a detailed discussion of file contents.
115 |
116 | #### Language-agnostic Files
117 |
118 | | Name | SHA-256 |
119 | |------|---------|
120 | | BAUHAUS.BSH | `89634b8c86fff5dce7c5661def79ee2e9820d0a757db475217a12f4142f1ab6b` |
121 | | BAUHAUS6.BSH | `5389ea9c3a1f7803440963431d6d8ac8c1c64ddbac534c3776cad259a60389e5` |
122 | | Bauhaus8.bsh | `7ad7127315ba4fd93a255fdd1f32d584a6e0b56afb7b9fea6a2e271df1946afd` |
123 | | BAUSHIP.BSH | `534fc21e087c02d32085d359b94183411df9042888e6de9dfb6a6106970cad03` |
124 | | Bauship6.bsh | `e160b3eb5f5c6ca05d817a6b6a4c51a9497545ef7e4b08dcbf6b735cdb09caa0` |
125 | | Bauship8.bsh | `44aec439c19ebfedb23b644d7a44fe5ff2f088fa0e34d05cfd47375cdd4cc2d3` |
126 | | STADTFLD.COL | `667d6a6752132517bb17647e01eccaaa4a5232a6b883f6b7584db1bfb318ad5f` |
127 | | SYMBOL.BSH | `c102c45bcb3ce7ffe75c5c9aff013d8dbe20fcdc8fd0573cde3c25b91249d827` |
128 | | ZEI11A.ZEI | `3c7e5d90130f814b926c182f7113c9a710265e53d61dbf45f60616f33a44984c` |
129 | | ZEI14A.ZEI | `fd1a0ccf19554aa1370b5550492b47e560e7f244c5d93aa805aeb954ac1c8b15` |
130 | | ZEI14V.ZEI | `ed3de82ba619833ee79bf2b3148c12caa941b88337590b78b4e97bf743a11d46` |
131 | | ZEI16G.ZEI | `8fe099b89ba5312c40b73780efd983aba4120f6bbee0b7f8c51f9e47ffee4f86` |
132 | | ZEI16H.ZEI | `49673902581cd228e51037c1b8e15230f7bae34b9b14c57522ff562a26c8f49f` |
133 | | ZEI16V.ZEI | `32dc535fb90e4304f300dfbaa9b5c1ae13e7a050016ded786c4bfc6de3996557` |
134 | | ZEI2.ZEI | `aca0080889911926aa14e8772b74915c84370fcd59ae9c970de1864085107fc0` |
135 | | ZEI20H.ZEI | `ebf2b9fd6b417db02fa3d1df975ba47fe5da8b54f413eaeb88770bcd33d4bf13` |
136 | | ZEI20V.ZEI | `6bfc71d979f6678626f26caa8c23c81cdcc4f3d8968b4118c5dc816fb238dc13` |
137 | | ZEI24V.ZEI | `b7730ef6e5c1301e7d0c6328420201b09f5195976b82fc04b638e1a9f0ada86a` |
138 | | ZEI28V.ZEI | `fa6b5d99f4f329c4dae5708da6ae4bc6fbc094662a79a9f04aff872e3aadf49b` |
139 | | ZEI9A.ZEI | `94eac5d80486b9e85818fe27fc768a6facd6d3c9db423befc62d94bae516f923` |
140 |
141 | #### Language-specific Files
142 |
143 | German:
144 |
145 | | Name | SHA-256 |
146 | |------|---------|
147 | | Editor.bsh | `1d307eda649c3233b723b99cc9fee5c8fa49799451292339231670b7c337cb0e` |
148 | | Editor6.bsh | `e405d0f14b5ea6245de36970d53bcd161fdca3131ad2a26809c38cdeee301d5a` |
149 | | Editor8.bsh | `de2da9f2074d4ec8cfab8c90fd9a35be0f60cf97e92e066923a25aaa66aa0a4e` |
150 | | START.BSH | `6a2362a47ca5c0184516c4ffff580c44adb7877754e6423a3565766ddf6ab69c` |
151 | | Start6.bsh | `31ba38fc35bc989e9ba0862bedaa0910fd734d381e27a0f423492ba02f870abe` |
152 | | Start8.bsh | `9f2240033851d23f5d2330f2daf282a3fde7d61f28a35a2ddb77f12e28223127` |
153 | | TOOLS.BSH | `9f9f650a0fdb4e521f3a5b2f1a08bf686119071935849e72aace2e109b71c419` |
154 | | TOOLS6.BSH | `7c7973acf57cf23fa4f2d7f43f49fba48b08426b9dbea52427300de47de862a8` |
155 | | TOOLS8.BSH | `e9674db53784d7ffc5be35437e350caeab1dfe2cb20dcf40b637db29be4a4761` |
156 |
157 | **TODO add other languages and compare them to GOG, HE**
158 |
159 |
160 | ## Good Old Games (GOG)
161 | A re-release that doesn't require a disk drive, or mounting disk images. Product website: https://www.gog.com/de/game/anno_1602_ad
162 |
163 | The game version depends on the in-game language.
164 |
165 | ### English, German, French Versions
166 |
167 | English:
168 | * EXE file version: `0.2.5.1`
169 | * EXE product version: `1.0.0.5`
170 |
171 | German:
172 | * EXE file version: `0.2.5.1`
173 | * EXE product version: `1.0.0.5`
174 |
175 | French:
176 | * EXE file version: `0.2.5.2`
177 | * EXE product version: `1.0.0.5`
178 |
179 | #### COD files
180 | Identical to 
181 |
182 | #### GFX/MGFX/SGFX
183 | Identical to 
184 |
185 | #### ToolGfx
186 | See [files/toolgfx/](files/toolgfx/) for a detailed discussion of file contents.
187 |
188 | ##### Language-agnostic files
189 | Identical to 
190 |
191 | ##### Language-specific files
192 | German: Identical to German  files.
193 |
194 | English:
195 |
196 | | Name | SHA-256 |
197 | |------|---------|
198 | | EDITOR.BSH | `3008785d1d3205fe36e60aec8661ae15ae8347dca0d76e11eaf9d7b3c4d3f581` |
199 | | editor6.bsh | `f113425504242fcddcf9a28b6bc2e1c41f9e72183d3b79b835c0f100778c6051` |
200 | | editor8.bsh | `1f8fd94164fa0cc123c9149e1c9469daf3ae9b62ef6699a1c5b753bbfc83a20f` |
201 | | START.BSH | `c7b67c8dbb93c3fbdc56e028f4726cfc15b24b2e1121fa0e9eec96ec2cd38b92` |
202 | | start6.bsh | `f432cd285de2700f87333aa60b8f61db7a77b94490be4bda230f4173dc259dcc` |
203 | | start8.bsh | `27c7cfb6b288e27eac49133b7576eee103abb158cd89a9826748fe2c5b88accc` |
204 | | TOOLS.BSH | `071c4d56568551e860cbfba7a447057524e82b3cb17fb14061e45e71b85f6dbd` |
205 | | tools6.bsh | `0744e8a474fc55e2414c0766f70738858b12359e40a94c5b592f9bd5058b01bc` |
206 | | tools8.bsh | `66f7bd5d37482657d162e55b59862cb51f61762484ccea0029c8d8fb483c5a84` |
207 |
208 | French:
209 |
210 | | Name | SHA-256 |
211 | |------|---------|
212 | | EDITOR.BSH | `40d7dfcc7fd4d508cbfbcc61343fe957d42257330a06a9d8c4b39bee31cbb9d6` |
213 | | editor6.bsh | `b491a5975a2b43ef8a925176707a8312331ff9b7086395014e6c882b298887a7` |
214 | | editor8.bsh | `985ecf5d3ddfd8e28c47186d3c8c1000f263a966497131a24c6055960580ae08` |
215 | | START.BSH | `3a09c79f873913c43a28ef6f51dc807630349256fcb520e2a2727a7d54489781` |
216 | | start6.bsh | `e000ce475c3d2790b9efc7770bfbd618c51f27537a7841cebd8e99aa8104274b` |
217 | | start8.bsh | `583dfc051bed78191704bea8fff7e90d625d6172fdc9b3e83984ca82492904ae` |
218 | | TOOLS.BSH | `25735ad51843182310f2952e1de38974ad4a746ed9950ac4b180ac85554895e3` |
219 | | tools6.bsh | `657045dcc360759e505a64809e3cd48dca770f3f2e5b70b8ac7065c58e07b7da` |
220 | | tools8.bsh | `f8eb4c408d7ba4fc4551c193bfa427104ffd0002b932a8f791f3b6ced0e7296e` |
221 |
222 |
223 | ### Polish Version
224 | * EXE file version: `0.1.9.6`
225 | * EXE product version: `1.0.0.5`
226 |
227 | This version does not include the [island editor](files/1602edit.exe.md).
228 | GFX/MGFX/SGFX are identical to **TODO NINA version??**
229 |
230 | #### COD files
231 | | Name | SHA-256 |
232 | |------|---------|
233 | | Haeuser.cod | `ff6231ad15df44b4f7bc724ba28fe0938287fa86f9e49634cebc1bd65f214aec` |
234 | | Figuren.cod | `e19ff84fbf9771b1fd7d01569e8674cf230d258e16e8d500da27829d073a2f39` |
235 |
236 | #### GFX
237 |
238 | | Name | SHA-256 |
239 | |------|---------|
240 | | NUMBERS.BSH | `73e878f8e4143a21463fb2f3e1416ede17d8af0fa634c6e8837ac9da12a69092` |
241 | | Maeher.bsh | `1a1fc293bd5a22517c2bb1533adac74e6c82d921fae91db9bcdb0e6406601d6d` |
242 | | Tiere.bsh | `276ee161034878c43b12fb949f174360e9bc5801c24f9d3809a7c5128545fdc5` |
243 | | Ship.bsh | `e3b943f4680750fbaaa525f2b0ac0e68a45bfe93f37c10aac219a7036b57d750` |
244 | | Stadtfld.bsh | `d80befc6303a92bb67cb2d12fef8510aa5acb60ecdcba5500afb2e31bab7bd5c` |
245 | | Effekte.bsh | `cb04c1f1c0fa3b156ad3f7ddedaa975375afe59f6ac55814d542de74d292f945` |
246 | | TRAEGER.BSH | `36b4ab78e92b09a0766af1ac8b57769c8802ed6ffd3c1edd06930082bb2d4315` |
247 | | SOLDAT.BSH | `7270d576570b1481aaf3b90fcced37747ea31829978e7666a61cfb7274e125a1` |
248 |
249 | #### MGFX
250 |
251 | | Name | SHA-256 |
252 | |------|---------|
253 | | NUMBERS.BSH | `3cb6fb99924dd02d2b22d4c86da9c88d5ce070f20137e63799bdfed9c2c5b752` |
254 | | Tiere.bsh | `37381fad5305219d7c02bda419ed1abdc3015e51fd878c138222bad14cf895d3` |
255 | | Ship.bsh | `ccf472f430e747994d0e66b3e64dea000981cfc711bc4dc167f47a38152a7187` |
256 | | MAEHER.BSH | `cc3ff2e982efacfcbf603b1e4b2f9fe7413af43247df503035eec94d93798b35` |
257 | | Stadtfld.bsh | `fa841234d19edb9eb73d240b8c9a63c27e84fef59e7c839ac93fa6544d27ccc4` |
258 | | Effekte.bsh | `bf984210f45a0e0034fef7d92fe44ece8124f4b1128b5001f97bcbd811d716b7` |
259 | | TRAEGER.BSH | `348993fdd21e08fa16edf26661da5d899ddee52581f8bca443dab9694e3335a7` |
260 | | SOLDAT.BSH | `79667644bf11a40de3726a6b84839f33a22ee438c6afb28e8c1011d2cfb59766` |
261 |
262 | #### SGFX
263 |
264 | | Name | SHA-256 |
265 | |------|---------|
266 | | Maeher.bsh | `088fb6261e414604046d9a6c13c82f8f30fbe9c2d05221fd5b7fd10d9480ab46` |
267 | | Tiere.bsh | `8950f5c93bff2023d7e98e52fc92ffd6e924c5ebef390bdc06e334ee82db5a94` |
268 | | Ship.bsh | `2cb024acc57624a74fae0375eee696da2e18bdfe931ed49c487c140fc023b13b` |
269 | | Traeger.bsh | `199cf0d96cc3d0a8508c59949acfdd3999b8907453fba83d447cd80392aee982` |
270 | | Soldat.bsh | `f0810d8ec08e8571b5f49129279da445d442e6d19f4830225d29e31dc622bed3` |
271 | | Stadtfld.bsh | `25b27239d6329853afd608fd282f6fb77108805d81458ff7d8dd559ffdc57e13` |
272 | | Numbers.bsh | `a4a86260cc967dae7b42b306628d6af3f5f0d3fe46af63fa828cb95d923958f8` |
273 | | Effekte.bsh | `74cab7c0214c7be382e44efd3d658c93d70b9e7576bc254496fabfc1955a205b` |
274 |
275 | #### ToolGfx
276 |
277 | | Name | SHA-256 |
278 | |------|---------|
279 | | Bauhaus.bsh | `7489b8a1cd5747e59c605969dde07b7e24a100b283c941865d47186b046a4f57` |
280 | | Bauhaus6.bsh | `2c4599f77f95cb564d6f7b4ca2a8ee47f1a0fa53a77eef8b723c999bc91d078b` |
281 | | Bauhaus8.bsh | `0dd7bfdfcc77de60ab614c9f9c06f7aebcae46c9049dcda4ea17539a3ea4e492` |
282 | | BAUSHIP.BSH | `534fc21e087c02d32085d359b94183411df9042888e6de9dfb6a6106970cad03` |
283 | | Bauship6.bsh | `e160b3eb5f5c6ca05d817a6b6a4c51a9497545ef7e4b08dcbf6b735cdb09caa0` |
284 | | Bauship8.bsh | `44aec439c19ebfedb23b644d7a44fe5ff2f088fa0e34d05cfd47375cdd4cc2d3` |
285 | | STADTFLD.COL | `667d6a6752132517bb17647e01eccaaa4a5232a6b883f6b7584db1bfb318ad5f` |
286 | | Start.bsh | `443c7fe0989eb6d4c9e35017a08ad15d0f4b57d9dff54e414b56d79711ddb28a` |
287 | | Start6.bsh | `6dc9770af9f3d3e492a8e8f602f8e7772abc797e567421e27949428f35453c4e` |
288 | | Start8.bsh | `3291b3670053bf5e32c11ec33084ae752c2c101ef3671f66b09a459b944238e5` |
289 | | Symbol.bsh | `7e7f863d7adcca00227dde1973e727d20e53d77283c979e17d5047c311ff2cc2` |
290 | | Tools.bsh | `0852bd0b663e494beb209be7f698090546e96fe544c47d5c1dc1042ded48c456` |
291 | | Tools6.bsh | `82723f3cab16b287f2ef385c87fa6b027de60246821f1f3d3f330a211b11e0ad` |
292 | | Tools8.bsh | `c4e9a31dd30610168112c31da4fc03bcb6cff52d18481355620f744b511d942c` |
293 | | Zei11a.zei | `e71a2f730b9dcacbb504e5e3f9540ca2b4cc73df36b76af75d63c8f432235d29` |
294 | | Zei14a.zei | `ede0d6811689a427d75b1863d9841f76fcfcae0b1f8f9955689d308269f84a65` |
295 | | Zei14v.zei | `527bcfb19d5aedd76478734ed1cce73052e856d6b17ff71abf588366714d56c3` |
296 | | ZEI16G.ZEI | `8fe099b89ba5312c40b73780efd983aba4120f6bbee0b7f8c51f9e47ffee4f86` |
297 | | ZEI16H.ZEI | `49673902581cd228e51037c1b8e15230f7bae34b9b14c57522ff562a26c8f49f` |
298 | | Zei16v.zei | `dbff364083aa7cee4bcc78f4259568d49f2d6a14c4ea18e3e5cee63b328ec33f` |
299 | | ZEI2.ZEI | `aca0080889911926aa14e8772b74915c84370fcd59ae9c970de1864085107fc0` |
300 | | ZEI20H.ZEI | `ebf2b9fd6b417db02fa3d1df975ba47fe5da8b54f413eaeb88770bcd33d4bf13` |
301 | | Zei20v.zei | `fd20022767cc6d56ea9f19806cc854d7f4a742170f4c295bc13b3e494ef788d1` |
302 | | zei20vl.zei | `9192d0d640ab6bce80ed19b417845c158e44b6006a21f94f00d1ddb2eb0e6b75` |
303 | | Zei24v.zei | `7656a4172e2b17b6bdb7eb1b5e1c04f48090a0060d1f9bc9dbc4f453439eeb35` |
304 | | Zei28v.zei | `b9f64817671add44d53244c600d50ea93969628ba9e0f72cd8e0bd07c08f6bd7` |
305 | | Zei9a.zei | `4647d3506dfcda3b8a760867582af3f80fb78b77b41b0abfcb53ab2edcea5726` |
306 |
307 | ## History Edition (HE)
308 | A refresh of [KE](#königs-edition-ke) that adds 64-bit support, widescreen and 4K screen resolutions. Product website: https://store.ubisoft.com/de/game?pid=5ebc1bc50d253c2420445272
309 |
310 | * EXE file version: `1.0.0.0`
311 | * EXE product version: `1.0.0.0`
312 |
313 | ### COD files
314 | Identical to .
315 |
316 | ### GFX, MGFX, SGFX
317 | Identical to .
318 |
319 | ### ToolGfx
320 | `BAUHAUS.BSH`, `BAUSHIP.BSH`, `STADTFLD.COL`, `SYMBOL.BSH` remain identical to KE.
321 |
322 | Changes in the HE version compared to KE:
323 | * Modifications:
324 | * Menu graphics were added to the language-specific menu images (`TOOLS.BSH`, `Editor.bsh`, `START.BSH`). Some images are stored directly in RGB format, opposed to using color palette indices [[source]](https://github.com/siredmar/mdcii-engine/issues/87#issuecomment-770234926).
325 | * Removals:
326 | * BSH files ending with 6 or 8 (`Bauhaus8.bsh`, `TOOLS6.BSH`, etc.) are removed
327 | * Removed fonts: `ZEI11A.ZEI`, `ZEI14V.ZEI`, `ZEI24V.ZEI`, `ZEI16V.ZEI`, `ZEI9A.ZEI`
328 |
329 | #### Language-agnostic files
330 |
331 | | Name | SHA-256 |
332 | |------|---------|
333 | | BAUHAUS.BSH | `89634b8c86fff5dce7c5661def79ee2e9820d0a757db475217a12f4142f1ab6b` |
334 | | BAUSHIP.BSH | `534fc21e087c02d32085d359b94183411df9042888e6de9dfb6a6106970cad03` |
335 | | STADTFLD.COL | `667d6a6752132517bb17647e01eccaaa4a5232a6b883f6b7584db1bfb318ad5f` |
336 | | SYMBOL.BSH | `c102c45bcb3ce7ffe75c5c9aff013d8dbe20fcdc8fd0573cde3c25b91249d827` |
337 | | ZEI14A.ZEI | `fd1a0ccf19554aa1370b5550492b47e560e7f244c5d93aa805aeb954ac1c8b15` |
338 | | ZEI16G.ZEI | `8fe099b89ba5312c40b73780efd983aba4120f6bbee0b7f8c51f9e47ffee4f86` |
339 | | ZEI16H.ZEI | `49673902581cd228e51037c1b8e15230f7bae34b9b14c57522ff562a26c8f49f` |
340 | | ZEI2.ZEI | `aca0080889911926aa14e8772b74915c84370fcd59ae9c970de1864085107fc0` |
341 | | ZEI20H.ZEI | `ebf2b9fd6b417db02fa3d1df975ba47fe5da8b54f413eaeb88770bcd33d4bf13` |
342 | | ZEI20V.ZEI | `6bfc71d979f6678626f26caa8c23c81cdcc4f3d8968b4118c5dc816fb238dc13` |
343 | | ZEI28V.ZEI | `fa6b5d99f4f329c4dae5708da6ae4bc6fbc094662a79a9f04aff872e3aadf49b` |
344 |
345 | #### Language-specific files
346 |
347 | English:
348 |
349 | | Name | SHA-256 |
350 | |------|---------|
351 | | TOOLS.BSH | `a35e3712dd63b824c1b4ee51a606bbddcabaf5c6b74fe02b0d81a02a4008679c` |
352 | | Editor.bsh | `6a4170e5e26604f36f0eb6c9668c8e62e419ea6757e712554420b51fd87803fb` |
353 | | START.BSH | `e971915f6977b4175509320ec49a748bfdf54ea2da59440c2c73ede7976b20bc` |
354 |
355 | German:
356 |
357 | | Name | SHA-256 |
358 | |------|---------|
359 | | Editor.bsh | `9aef160c47a2f8037a18b5021a55db7c7343ab957734d8f26befdad6d8074c0d` |
360 | | START.BSH | `b4b7ec76af745682eca0e89c6fb6598871d4a542f8736313728486eedbb3efdf` |
361 | | TOOLS.BSH | `8a799204d5376ea5360e05150b6fd4c65bb572dbb63c969856f81bff27dda8c8` |
362 |
363 | Spanish:
364 |
365 | | Name | SHA-256 |
366 | |------|---------|
367 | | EDITOR.BSH | `12ded638f6a1a194f4a29426d4dca42b6a17f3dc0fce707fcc0cdfde1cf9dba8` |
368 | | START.BSH | `ca31536e15059a623965a6648aacb7728f6048f1641c3633a66749c8a52ed4b5` |
369 | | TOOLS.BSH | `0140c4917e353ef5ca4507e97fbd141e13265b3bdb691d013beade80ebcb1893` |
370 |
371 | French:
372 |
373 | | Name | SHA-256 |
374 | |------|---------|
375 | | EDITOR.BSH | `40d7dfcc7fd4d508cbfbcc61343fe957d42257330a06a9d8c4b39bee31cbb9d6` |
376 | | START.BSH | `e29488f08fb514ef8033d5a5f09729897029cb996be895b4726f4dc3d632765b` |
377 | | TOOLS.BSH | `6a86d18d07224bcf6b248d148609f191aba15e3296ac271fa0cadeb8d72d6d9a` |
378 |
379 | Dutch:
380 |
381 | | Name | SHA-256 |
382 | |------|---------|
383 | | EDITOR.BSH | `701f2e4a24b42945eb1eae2a62c8b3352ca5880a822d6d49b3b95678116666b2` |
384 | | START.BSH | `e87020e4e1cd12ab812ac652d7b7dac3e8605dd56b7fe2e40d955b1698e963d1` |
385 | | TOOLS.BSH | `f549ca99ff0309bb154a0f16b664b8b666767257321e7f84c404c93784d879c3` |
386 |
387 | Polish:
388 |
389 | | Name | SHA-256 |
390 | |------|---------|
391 | | EDITOR.BSH | `324f90c8ae3d0a17b45c117d7435af86a32c5b01ea900dd19b944de7ad155b50` |
392 | | START.BSH | `886be80f7d6c56ece054b6b375b269850a658d2b59e420dbac29d4aa5a12907c` |
393 | | TOOLS.BSH | `d3428fd3e3087787868ef622012c0897f9c248fd25cc62ecbb077aadd5fb2e18` |
394 | | ZEI14A.ZEI | `ede0d6811689a427d75b1863d9841f76fcfcae0b1f8f9955689d308269f84a65` |
395 | | ZEI20V.ZEI | `fd20022767cc6d56ea9f19806cc854d7f4a742170f4c295bc13b3e494ef788d1` |
396 | | ZEI28V.ZEI | `b9f64817671add44d53244c600d50ea93969628ba9e0f72cd8e0bd07c08f6bd7` |
397 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Attribution-NonCommercial-ShareAlike 4.0 International
2 |
3 | =======================================================================
4 |
5 | Creative Commons Corporation ("Creative Commons") is not a law firm and
6 | does not provide legal services or legal advice. Distribution of
7 | Creative Commons public licenses does not create a lawyer-client or
8 | other relationship. Creative Commons makes its licenses and related
9 | information available on an "as-is" basis. Creative Commons gives no
10 | warranties regarding its licenses, any material licensed under their
11 | terms and conditions, or any related information. Creative Commons
12 | disclaims all liability for damages resulting from their use to the
13 | fullest extent possible.
14 |
15 | Using Creative Commons Public Licenses
16 |
17 | Creative Commons public licenses provide a standard set of terms and
18 | conditions that creators and other rights holders may use to share
19 | original works of authorship and other material subject to copyright
20 | and certain other rights specified in the public license below. The
21 | following considerations are for informational purposes only, are not
22 | exhaustive, and do not form part of our licenses.
23 |
24 | Considerations for licensors: Our public licenses are
25 | intended for use by those authorized to give the public
26 | permission to use material in ways otherwise restricted by
27 | copyright and certain other rights. Our licenses are
28 | irrevocable. Licensors should read and understand the terms
29 | and conditions of the license they choose before applying it.
30 | Licensors should also secure all rights necessary before
31 | applying our licenses so that the public can reuse the
32 | material as expected. Licensors should clearly mark any
33 | material not subject to the license. This includes other CC-
34 | licensed material, or material used under an exception or
35 | limitation to copyright. More considerations for licensors:
36 | wiki.creativecommons.org/Considerations_for_licensors
37 |
38 | Considerations for the public: By using one of our public
39 | licenses, a licensor grants the public permission to use the
40 | licensed material under specified terms and conditions. If
41 | the licensor's permission is not necessary for any reason--for
42 | example, because of any applicable exception or limitation to
43 | copyright--then that use is not regulated by the license. Our
44 | licenses grant only permissions under copyright and certain
45 | other rights that a licensor has authority to grant. Use of
46 | the licensed material may still be restricted for other
47 | reasons, including because others have copyright or other
48 | rights in the material. A licensor may make special requests,
49 | such as asking that all changes be marked or described.
50 | Although not required by our licenses, you are encouraged to
51 | respect those requests where reasonable. More considerations
52 | for the public:
53 | wiki.creativecommons.org/Considerations_for_licensees
54 |
55 | =======================================================================
56 |
57 | Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
58 | Public License
59 |
60 | By exercising the Licensed Rights (defined below), You accept and agree
61 | to be bound by the terms and conditions of this Creative Commons
62 | Attribution-NonCommercial-ShareAlike 4.0 International Public License
63 | ("Public License"). To the extent this Public License may be
64 | interpreted as a contract, You are granted the Licensed Rights in
65 | consideration of Your acceptance of these terms and conditions, and the
66 | Licensor grants You such rights in consideration of benefits the
67 | Licensor receives from making the Licensed Material available under
68 | these terms and conditions.
69 |
70 |
71 | Section 1 -- Definitions.
72 |
73 | a. Adapted Material means material subject to Copyright and Similar
74 | Rights that is derived from or based upon the Licensed Material
75 | and in which the Licensed Material is translated, altered,
76 | arranged, transformed, or otherwise modified in a manner requiring
77 | permission under the Copyright and Similar Rights held by the
78 | Licensor. For purposes of this Public License, where the Licensed
79 | Material is a musical work, performance, or sound recording,
80 | Adapted Material is always produced where the Licensed Material is
81 | synched in timed relation with a moving image.
82 |
83 | b. Adapter's License means the license You apply to Your Copyright
84 | and Similar Rights in Your contributions to Adapted Material in
85 | accordance with the terms and conditions of this Public License.
86 |
87 | c. BY-NC-SA Compatible License means a license listed at
88 | creativecommons.org/compatiblelicenses, approved by Creative
89 | Commons as essentially the equivalent of this Public License.
90 |
91 | d. Copyright and Similar Rights means copyright and/or similar rights
92 | closely related to copyright including, without limitation,
93 | performance, broadcast, sound recording, and Sui Generis Database
94 | Rights, without regard to how the rights are labeled or
95 | categorized. For purposes of this Public License, the rights
96 | specified in Section 2(b)(1)-(2) are not Copyright and Similar
97 | Rights.
98 |
99 | e. Effective Technological Measures means those measures that, in the
100 | absence of proper authority, may not be circumvented under laws
101 | fulfilling obligations under Article 11 of the WIPO Copyright
102 | Treaty adopted on December 20, 1996, and/or similar international
103 | agreements.
104 |
105 | f. Exceptions and Limitations means fair use, fair dealing, and/or
106 | any other exception or limitation to Copyright and Similar Rights
107 | that applies to Your use of the Licensed Material.
108 |
109 | g. License Elements means the license attributes listed in the name
110 | of a Creative Commons Public License. The License Elements of this
111 | Public License are Attribution, NonCommercial, and ShareAlike.
112 |
113 | h. Licensed Material means the artistic or literary work, database,
114 | or other material to which the Licensor applied this Public
115 | License.
116 |
117 | i. Licensed Rights means the rights granted to You subject to the
118 | terms and conditions of this Public License, which are limited to
119 | all Copyright and Similar Rights that apply to Your use of the
120 | Licensed Material and that the Licensor has authority to license.
121 |
122 | j. Licensor means the individual(s) or entity(ies) granting rights
123 | under this Public License.
124 |
125 | k. NonCommercial means not primarily intended for or directed towards
126 | commercial advantage or monetary compensation. For purposes of
127 | this Public License, the exchange of the Licensed Material for
128 | other material subject to Copyright and Similar Rights by digital
129 | file-sharing or similar means is NonCommercial provided there is
130 | no payment of monetary compensation in connection with the
131 | exchange.
132 |
133 | l. Share means to provide material to the public by any means or
134 | process that requires permission under the Licensed Rights, such
135 | as reproduction, public display, public performance, distribution,
136 | dissemination, communication, or importation, and to make material
137 | available to the public including in ways that members of the
138 | public may access the material from a place and at a time
139 | individually chosen by them.
140 |
141 | m. Sui Generis Database Rights means rights other than copyright
142 | resulting from Directive 96/9/EC of the European Parliament and of
143 | the Council of 11 March 1996 on the legal protection of databases,
144 | as amended and/or succeeded, as well as other essentially
145 | equivalent rights anywhere in the world.
146 |
147 | n. You means the individual or entity exercising the Licensed Rights
148 | under this Public License. Your has a corresponding meaning.
149 |
150 |
151 | Section 2 -- Scope.
152 |
153 | a. License grant.
154 |
155 | 1. Subject to the terms and conditions of this Public License,
156 | the Licensor hereby grants You a worldwide, royalty-free,
157 | non-sublicensable, non-exclusive, irrevocable license to
158 | exercise the Licensed Rights in the Licensed Material to:
159 |
160 | a. reproduce and Share the Licensed Material, in whole or
161 | in part, for NonCommercial purposes only; and
162 |
163 | b. produce, reproduce, and Share Adapted Material for
164 | NonCommercial purposes only.
165 |
166 | 2. Exceptions and Limitations. For the avoidance of doubt, where
167 | Exceptions and Limitations apply to Your use, this Public
168 | License does not apply, and You do not need to comply with
169 | its terms and conditions.
170 |
171 | 3. Term. The term of this Public License is specified in Section
172 | 6(a).
173 |
174 | 4. Media and formats; technical modifications allowed. The
175 | Licensor authorizes You to exercise the Licensed Rights in
176 | all media and formats whether now known or hereafter created,
177 | and to make technical modifications necessary to do so. The
178 | Licensor waives and/or agrees not to assert any right or
179 | authority to forbid You from making technical modifications
180 | necessary to exercise the Licensed Rights, including
181 | technical modifications necessary to circumvent Effective
182 | Technological Measures. For purposes of this Public License,
183 | simply making modifications authorized by this Section 2(a)
184 | (4) never produces Adapted Material.
185 |
186 | 5. Downstream recipients.
187 |
188 | a. Offer from the Licensor -- Licensed Material. Every
189 | recipient of the Licensed Material automatically
190 | receives an offer from the Licensor to exercise the
191 | Licensed Rights under the terms and conditions of this
192 | Public License.
193 |
194 | b. Additional offer from the Licensor -- Adapted Material.
195 | Every recipient of Adapted Material from You
196 | automatically receives an offer from the Licensor to
197 | exercise the Licensed Rights in the Adapted Material
198 | under the conditions of the Adapter's License You apply.
199 |
200 | c. No downstream restrictions. You may not offer or impose
201 | any additional or different terms or conditions on, or
202 | apply any Effective Technological Measures to, the
203 | Licensed Material if doing so restricts exercise of the
204 | Licensed Rights by any recipient of the Licensed
205 | Material.
206 |
207 | 6. No endorsement. Nothing in this Public License constitutes or
208 | may be construed as permission to assert or imply that You
209 | are, or that Your use of the Licensed Material is, connected
210 | with, or sponsored, endorsed, or granted official status by,
211 | the Licensor or others designated to receive attribution as
212 | provided in Section 3(a)(1)(A)(i).
213 |
214 | b. Other rights.
215 |
216 | 1. Moral rights, such as the right of integrity, are not
217 | licensed under this Public License, nor are publicity,
218 | privacy, and/or other similar personality rights; however, to
219 | the extent possible, the Licensor waives and/or agrees not to
220 | assert any such rights held by the Licensor to the limited
221 | extent necessary to allow You to exercise the Licensed
222 | Rights, but not otherwise.
223 |
224 | 2. Patent and trademark rights are not licensed under this
225 | Public License.
226 |
227 | 3. To the extent possible, the Licensor waives any right to
228 | collect royalties from You for the exercise of the Licensed
229 | Rights, whether directly or through a collecting society
230 | under any voluntary or waivable statutory or compulsory
231 | licensing scheme. In all other cases the Licensor expressly
232 | reserves any right to collect such royalties, including when
233 | the Licensed Material is used other than for NonCommercial
234 | purposes.
235 |
236 |
237 | Section 3 -- License Conditions.
238 |
239 | Your exercise of the Licensed Rights is expressly made subject to the
240 | following conditions.
241 |
242 | a. Attribution.
243 |
244 | 1. If You Share the Licensed Material (including in modified
245 | form), You must:
246 |
247 | a. retain the following if it is supplied by the Licensor
248 | with the Licensed Material:
249 |
250 | i. identification of the creator(s) of the Licensed
251 | Material and any others designated to receive
252 | attribution, in any reasonable manner requested by
253 | the Licensor (including by pseudonym if
254 | designated);
255 |
256 | ii. a copyright notice;
257 |
258 | iii. a notice that refers to this Public License;
259 |
260 | iv. a notice that refers to the disclaimer of
261 | warranties;
262 |
263 | v. a URI or hyperlink to the Licensed Material to the
264 | extent reasonably practicable;
265 |
266 | b. indicate if You modified the Licensed Material and
267 | retain an indication of any previous modifications; and
268 |
269 | c. indicate the Licensed Material is licensed under this
270 | Public License, and include the text of, or the URI or
271 | hyperlink to, this Public License.
272 |
273 | 2. You may satisfy the conditions in Section 3(a)(1) in any
274 | reasonable manner based on the medium, means, and context in
275 | which You Share the Licensed Material. For example, it may be
276 | reasonable to satisfy the conditions by providing a URI or
277 | hyperlink to a resource that includes the required
278 | information.
279 | 3. If requested by the Licensor, You must remove any of the
280 | information required by Section 3(a)(1)(A) to the extent
281 | reasonably practicable.
282 |
283 | b. ShareAlike.
284 |
285 | In addition to the conditions in Section 3(a), if You Share
286 | Adapted Material You produce, the following conditions also apply.
287 |
288 | 1. The Adapter's License You apply must be a Creative Commons
289 | license with the same License Elements, this version or
290 | later, or a BY-NC-SA Compatible License.
291 |
292 | 2. You must include the text of, or the URI or hyperlink to, the
293 | Adapter's License You apply. You may satisfy this condition
294 | in any reasonable manner based on the medium, means, and
295 | context in which You Share Adapted Material.
296 |
297 | 3. You may not offer or impose any additional or different terms
298 | or conditions on, or apply any Effective Technological
299 | Measures to, Adapted Material that restrict exercise of the
300 | rights granted under the Adapter's License You apply.
301 |
302 |
303 | Section 4 -- Sui Generis Database Rights.
304 |
305 | Where the Licensed Rights include Sui Generis Database Rights that
306 | apply to Your use of the Licensed Material:
307 |
308 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right
309 | to extract, reuse, reproduce, and Share all or a substantial
310 | portion of the contents of the database for NonCommercial purposes
311 | only;
312 |
313 | b. if You include all or a substantial portion of the database
314 | contents in a database in which You have Sui Generis Database
315 | Rights, then the database in which You have Sui Generis Database
316 | Rights (but not its individual contents) is Adapted Material,
317 | including for purposes of Section 3(b); and
318 |
319 | c. You must comply with the conditions in Section 3(a) if You Share
320 | all or a substantial portion of the contents of the database.
321 |
322 | For the avoidance of doubt, this Section 4 supplements and does not
323 | replace Your obligations under this Public License where the Licensed
324 | Rights include other Copyright and Similar Rights.
325 |
326 |
327 | Section 5 -- Disclaimer of Warranties and Limitation of Liability.
328 |
329 | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
330 | EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
331 | AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
332 | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
333 | IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
334 | WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
335 | PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
336 | ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
337 | KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
338 | ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
339 |
340 | b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
341 | TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
342 | NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
343 | INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
344 | COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
345 | USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
346 | ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
347 | DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
348 | IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
349 |
350 | c. The disclaimer of warranties and limitation of liability provided
351 | above shall be interpreted in a manner that, to the extent
352 | possible, most closely approximates an absolute disclaimer and
353 | waiver of all liability.
354 |
355 |
356 | Section 6 -- Term and Termination.
357 |
358 | a. This Public License applies for the term of the Copyright and
359 | Similar Rights licensed here. However, if You fail to comply with
360 | this Public License, then Your rights under this Public License
361 | terminate automatically.
362 |
363 | b. Where Your right to use the Licensed Material has terminated under
364 | Section 6(a), it reinstates:
365 |
366 | 1. automatically as of the date the violation is cured, provided
367 | it is cured within 30 days of Your discovery of the
368 | violation; or
369 |
370 | 2. upon express reinstatement by the Licensor.
371 |
372 | For the avoidance of doubt, this Section 6(b) does not affect any
373 | right the Licensor may have to seek remedies for Your violations
374 | of this Public License.
375 |
376 | c. For the avoidance of doubt, the Licensor may also offer the
377 | Licensed Material under separate terms or conditions or stop
378 | distributing the Licensed Material at any time; however, doing so
379 | will not terminate this Public License.
380 |
381 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
382 | License.
383 |
384 |
385 | Section 7 -- Other Terms and Conditions.
386 |
387 | a. The Licensor shall not be bound by any additional or different
388 | terms or conditions communicated by You unless expressly agreed.
389 |
390 | b. Any arrangements, understandings, or agreements regarding the
391 | Licensed Material not stated herein are separate from and
392 | independent of the terms and conditions of this Public License.
393 |
394 |
395 | Section 8 -- Interpretation.
396 |
397 | a. For the avoidance of doubt, this Public License does not, and
398 | shall not be interpreted to, reduce, limit, restrict, or impose
399 | conditions on any use of the Licensed Material that could lawfully
400 | be made without permission under this Public License.
401 |
402 | b. To the extent possible, if any provision of this Public License is
403 | deemed unenforceable, it shall be automatically reformed to the
404 | minimum extent necessary to make it enforceable. If the provision
405 | cannot be reformed, it shall be severed from this Public License
406 | without affecting the enforceability of the remaining terms and
407 | conditions.
408 |
409 | c. No term or condition of this Public License will be waived and no
410 | failure to comply consented to unless expressly agreed to by the
411 | Licensor.
412 |
413 | d. Nothing in this Public License constitutes or may be interpreted
414 | as a limitation upon, or waiver of, any privileges and immunities
415 | that apply to the Licensor or You, including from the legal
416 | processes of any jurisdiction or authority.
417 |
418 | =======================================================================
419 |
420 | Creative Commons is not a party to its public
421 | licenses. Notwithstanding, Creative Commons may elect to apply one of
422 | its public licenses to material it publishes and in those instances
423 | will be considered the “Licensor.” The text of the Creative Commons
424 | public licenses is dedicated to the public domain under the CC0 Public
425 | Domain Dedication. Except for the limited purpose of indicating that
426 | material is shared under a Creative Commons public license or as
427 | otherwise permitted by the Creative Commons policies published at
428 | creativecommons.org/policies, Creative Commons does not authorize the
429 | use of the trademark "Creative Commons" or any other trademark or logo
430 | of Creative Commons without its prior written consent including,
431 | without limitation, in connection with any unauthorized modifications
432 | to any of its public licenses or any other arrangements,
433 | understandings, or agreements concerning use of licensed material. For
434 | the avoidance of doubt, this paragraph does not form part of the
435 | public licenses.
436 |
437 | Creative Commons may be contacted at creativecommons.org.
438 |
439 |
--------------------------------------------------------------------------------