annotate 07/sht.xhtml @ 13:2925b0e246c6 default tip

Fix a lot of things, and add a TODO.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Fri, 17 Feb 2012 12:54:08 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
1 <?xml version="1.0" encoding="utf-8"?>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
2 <?xml-stylesheet type="text/css" href="../style.css"?>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
3 <!DOCTYPE html>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
5 <head>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
6 <title>SHT format</title>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
7 </head>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
8 <body>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
9 <h1>SHT format</h1>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
10 <p>The SHT format defines a character and its shots in PCB.</p>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
11
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
12
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
13 <h2>Header</h2>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
14 <pre>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
15 typedef struct {
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
16 uint16_t unknown1; // Seems ignored
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
17 uint16_t level_count;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
18
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
19 // All hitboxes have only one value, the same for the width and the height.
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
20 float bombs; // Why is it a float?
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
21 float unknown2; //TODO
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
22 float hitbox;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
23 float graze_hitbox;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
24 float autocollected_item_speed; // Applies to all items going towards us
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
25 float item_hitbox;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
26 float percentage_of_cherry_loss_on_die; //TODO: verify the formula
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
27 float point_of_collection;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
28 float horizontal_vertical_speed;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
29 float horizontal_vertical_focused_speed;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
30 float diagonal_speed;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
31 float diagonal_focused_speed;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
32
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
33 thsht_offset_t offsets[level_count];
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
34
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
35 thsht_shot_type_t shots[];
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
36 } thsht_header_t;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
37 </pre>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
38
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
39 <pre>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
40 typedef struct {
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
41 uint32_t offset;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
42 uint32_t power;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
43 } thsht_offset_t;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
44 </pre>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
45
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
46 <h2>Shot type</h2>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
47 <pre>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
48 typedef struct {
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
49 // If these 2 are 0xffff, then end the parsing.
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
50 uint16_t interval;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
51 uint16_t unknown1;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
52
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
53 float x;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
54 float y;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
55 float hitbox_x;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
56 float hitbox_y;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
57 float angle;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
58 float speed;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
59 uint16_t damage;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
60 uint8_t orb; // 0 = character, 1 = left orb, 2 = right orb
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
61 uint8_t unknown2;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
62 uint16_t sprite;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
63 uint16_t unknown3;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
64
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
65 // These 4 are actually booleans.
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
66 uint32_t unknown4;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
67 uint32_t homing; // accelerates too
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
68 uint32_t unknown5;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
69 uint32_t unknown6;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
70 } thsht_shot_type_t;
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
71 </pre>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
72 </body>
2925b0e246c6 Fix a lot of things, and add a TODO.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
73 </html>