Subversion Repositories plumbers

Rev

Rev 12 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 12 Rev 25
Line -... Line 1...
-
 
1
/*
-
 
2
 * Plumbers Don't Wear Ties - Structure of GAME.BIN
-
 
3
 * Copyright 2017 - 2020 Daniel Marschall, ViaThinkSoft
-
 
4
 *
-
 
5
 * Licensed under the Apache License, Version 2.0 (the "License");
-
 
6
 * you may not use this file except in compliance with the License.
-
 
7
 * You may obtain a copy of the License at
-
 
8
 *
-
 
9
 *     http://www.apache.org/licenses/LICENSE-2.0
-
 
10
 *
-
 
11
 * Unless required by applicable law or agreed to in writing, software
-
 
12
 * distributed under the License is distributed on an "AS IS" BASIS,
-
 
13
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
 
14
 * See the License for the specific language governing permissions and
-
 
15
 * limitations under the License.
-
 
16
 */
-
 
17
 
1
#ifndef PLUMBERS_GAMESTRUCT_HEADER
18
#ifndef PLUMBERS_GAMESTRUCT_HEADER
2
#define PLUMBERS_GAMESTRUCT_HEADER
19
#define PLUMBERS_GAMESTRUCT_HEADER
3
 
20
 
4
#include <stdint.h>
21
#include <stdint.h>
5
 
22
 
Line 17... Line 34...
17
};
34
};
18
 
35
 
19
struct _actionDef {
36
struct _actionDef {
20
        int32_t     scoreDelta;
37
        int32_t     scoreDelta;
21
        int16_t     nextSceneID;       // will jump to the scene with the name "SCxx", where xx stands for nextSceneID (2 digits at least)
38
        int16_t     nextSceneID;       // will jump to the scene with the name "SCxx", where xx stands for nextSceneID (2 digits at least)
22
                                       // 7FFF (32767) = end game
39
                                       // SCENEID_PREVDECISION (0x7FFF) = end game
23
                                       // FFFF (   -1) = go back to the last decision
40
                                       // SCENEID_ENDGAME (0xFFFF)      = go back to the last decision
24
        int16_t     sceneSegment;      // 0 = scene from beginning, 1 = decision page
41
        int16_t     sceneSegment;      // SEGMENT_BEGINNING (0) = start scene from beginning
-
 
42
                                       // SEGMENT_DECISION (1)  = go to decision page
25
        _coord      cHotspotTopLeft;
43
        _coord      cHotspotTopLeft;
26
        _coord      cHotspotBottomRigh;
44
        _coord      cHotspotBottomRight;
27
};
45
};
28
 
46
 
29
struct _sceneDef {
47
struct _sceneDef {
30
        int16_t     numPics;
48
        int16_t     numPics;
31
        int16_t     pictureIndex;
49
        int16_t     pictureIndex;