Mercurial > touhou-doc
changeset 0:f82309a9465e
Initial commit.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Thu, 28 Jul 2011 22:57:08 +0200 |
parents | |
children | b1bec4b5ccf3 |
files | 06/ecl.xml 06/msg.xml 06/std.xhtml 10/ecl.xml html.xsl index.xhtml style.css |
diffstat | 7 files changed, 2728 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/06/ecl.xml @@ -0,0 +1,1161 @@ +<?xml version="1.0" encoding="utf-8"?> +<?xml-stylesheet type="text/xsl" href="../html.xsl"?> +<?xml-stylesheet type="text/css" href="../style.css"?> +<!DOCTYPE html> +<opcodes xmlns="urn:opcodes:description"> + <title>ECL opcodes</title> + + <op> + <num>0</num> + <name>return</name> + <desc>Returns from the current function.</desc> + </op> + + <op> + <num>1</num> + <name>return</name> + <params> + <param type="S" values="0"></param> + </params> + <desc>Always at the end of the function. Often after a very long amount of time, like 10000 frames.</desc> + </op> + + <op> + <num>2</num> + <name></name> + <params> + <param type="S" min="0" max="360"></param> + <param type="S" min="-2032" max="632"></param> + </params> + <desc></desc> + </op> + + <op> + <num>3</num> + <name></name> + <params> + <param type="S" min="0" max="532"></param> + <param type="S" min="-1376" max="-12"></param> + <param type="S" min="-10011" max="-10009"></param> + </params> + <desc></desc> + </op> + + <op> + <num>4</num> + <name></name> + <params> + <param type="S" min="-10012" max="-10001"></param> + <param type="S" min="-10021, 0" max="-10005, 300"></param> + </params> + <desc></desc> + </op> + + <op> + <num>5</num> + <name></name> + <params> + <param type="S"></param> + <param type="f"></param> + </params> + <desc></desc> + </op> + + <op> + <num>6</num> + <name></name> + <params> + <param type="S" values="-10001"></param> + <param type="S" values="2 or 3"></param> + </params> + <desc></desc> + </op> + + <op> + <num>8</num> + <name></name> + <params> + <param type="S"></param> + <param type="f"></param> + </params> + <desc></desc> + </op> + + <op> + <num>9</num> + <name></name> + <params> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + </params> + <desc></desc> + </op> + + <op> + <num>10</num> + <name></name> + <params> + <param type="S" values="-10005"></param> + </params> + <desc>Used only one time, in <stage>2</stage>.</desc> + </op> + + <op> + <num>13</num> + <name></name> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>14</num> + <name></name> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>15</num> + <name></name> + <params> + <param type="S" values="-10001"></param> + <param type="S" values="-10012"></param> + <param type="S" min="1" max="5"></param> + </params> + <desc></desc> + </op> + + <op> + <num>16</num> + <name></name> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>17</num> + <name></name> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>18</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>20</num> + <name></name> + <params> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + </params> + <desc></desc> + </op> + + <op> + <num>21</num> + <name></name> + <params> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + </params> + <desc></desc> + </op> + + <op> + <num>23</num> + <name></name> + <params> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + </params> + <desc></desc> + </op> + + <op> + <num>25</num> + <name></name> + <params> + <param type="S" values="-10005"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f" values="192.0f"></param> + <param type="f" values="224.0f"></param> + </params> + <desc></desc> + </op> + + <op> + <num>26</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>27</num> + <name></name> + <params> + <param type="S"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>28</num> + <name></name> + <params> + <param type="f"></param> + <param type="f"></param> + </params> + <desc></desc> + </op> + + <op> + <num>29</num> + <name></name> + <params> + <param type="S"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>30</num> + <name></name> + <params> + <param type="S"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>31</num> + <name></name> + <params> + <param type="S"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>32</num> + <name></name> + <params> + <param type="S" value="120"></param> + <param type="S" value="64"></param> + </params> + <desc>Used only one time in <stage>4</stage></desc> + </op> + + <op> + <num>33</num> + <name></name> + <params> + <param type="S"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>34</num> + <name></name> + <params> + <param type="S"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>35</num> + <name></name> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + </params> + <desc></desc> + </op> + + <op> + <num>36</num> + <name>return</name> + <desc>Almost always called at the end of the function. See stage3 for two times where it is called before <ref>1</ref>.</desc> + </op> + + <op> + <num>39</num> + <name></name> + <params> + <param type="S"></param> + <param type="S" values="0"></param> + <param type="S" values="0"></param> + <param type="S"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>43</num> + <name></name> + <params> + <param type="f"></param> + <param type="f"></param> + <param type="S" values="0"></param> + </params> + <desc></desc> + </op> + + <op> + <num>45</num> + <name>set_angle_speed</name> + <params> + <param type="f">Angle in radians, 0.0f is left, PI/2 is down.</param> + <param type="f">Speed in pixels per frame.</param> + </params> + <desc>Set the angular trajectory and speed of the enemy.</desc> + </op> + + <op> + <num>46</num> + <name>set_angle</name> + <params> + <param type="f">The new angle, in radians.</param> + </params> + <desc>Change the angular trajectory of the enemy. It continues to turn until this function is called again.</desc> + </op> + + <op> + <num>47</num> + <name>set_speed</name> + <params> + <param type="f">The new speed.</param> + </params> + <desc>Change the speed of the enemy.</desc> + </op> + + <op> + <num>48</num> + <name>set_acceleration</name> + <params> + <param type="f">New step.</param> + </params> + <desc>Change the speed of the enemy step by step, at each frame.</desc> + </op> + + <op> + <num>49</num> + <name></name> + <params> + <param type="f" values="0.7853982f">The new angle?.</param> + <param type="f" values="2.3561945f">Some deplacement?.</param> + </params> + <desc>Used only five times, in <stage>2</stage>.</desc> + </op> + + <op> + <num>50</num> + <name></name> + <params> + <param type="f" values="PI (3.1415927f)"></param> + <param type="f" values="PI (3.1415927f)"></param> + </params> + <desc></desc> + </op> + + <op> + <num>51</num> + <name></name> + <params> + <param type="S" value="0"></param> + <param type="f" value="2.4f"></param> + </params> + <desc>Used only one time in <stage>2</stage></desc> + </op> + + <op> + <num>52</num> + <name></name> + <params> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + </params> + <desc></desc> + </op> + + <op> + <num>56</num> + <name></name> + <params> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S" values="0"></param> + </params> + <desc>Used only two times in <stage>7</stage></desc> + </op> + + <op> + <num>57</num> + <name></name> + <params> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S" values="0"></param> + </params> + <desc></desc> + </op> + + <op> + <num>59</num> + <name></name> + <params> + <param type="S"></param> + <param type="f" values="192.0f"></param> + <param type="f"></param> + <param type="S" values="0"></param> + </params> + <desc></desc> + </op> + + <op> + <num>61</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>63</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>65</num> + <name></name> + <params> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + </params> + <desc></desc> + </op> + + <op> + <num>66</num> + <name></name> + <desc></desc> + </op> + + <op> + <num>67</num> + <name>set_bullet_attributes</name> + <params> + <param type="s">Bullet sprite.</param> + <param type="s">Launch sprite.</param> + <param type="S">Number of bullets per salvo.</param> + <param type="S">Number of salvos.</param> + <param type="f">Speed.</param> + <param type="f">Speed2?.</param> + <param type="f">Launch angle.</param> + <param type="f">Angle between two bullets of a same salvo.</param> + <param type="S">(>= 64, freezed).</param> + </params> + <desc>Modify the attributes of the next enemy attack</desc> + </op> + + <op> + <num>68</num> + <name></name> + <params> + <param type="s"></param> + <param type="s"></param> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + </params> + <desc>Supposedly the same as <ref>67</ref>.</desc> + </op> + + <op> + <num>69</num> + <name></name> + <params> + <param type="s"></param> + <param type="s"></param> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>70</num> + <name></name> + <params> + <param type="s"></param> + <param type="s"></param> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>71</num> + <name></name> + <params> + <param type="s"></param> + <param type="s"></param> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>74</num> + <name></name> + <params> + <param type="s"></param> + <param type="s"></param> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + <desc>Used only one time, in <stage>3</stage>.</desc> + </op> + + <op> + <num>75</num> + <name></name> + <params> + <param type="s"></param> + <param type="s"></param> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>76</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>77</num> + <name>bullet_interval</name> + <params> + <param type="S">In frames.</param> + </params> + <desc>Time between two salvos.</desc> + </op> + + <op> + <num>78</num> + <name></name> + <desc>Seems related to attacks, but removing them doesn't change anything...</desc> + </op> + + <op> + <num>79</num> + <name></name> + <desc>Seems related to attacks, but removing them doesn't change anything...</desc> + </op> + + <op> + <num>81</num> + <name>bullet_launch_offset</name> + <params> + <param type="f">x offset.</param> + <param type="f">y offset.</param> + <param type="S" values="0"></param> + </params> + <desc>Change the offset of the launch of bullets.</desc> + </op> + + <op> + <num>82</num> + <name></name> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f" values="-1.0f"></param> + <param type="f" values="-1.0f"></param> + </params> + <desc></desc> + </op> + + <op> + <num>83</num> + <name></name> + <desc></desc> + </op> + + <op> + <num>84</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>85</num> + <name></name> + <params> + <param type="s"></param> + <param type="s"></param> + <param type="f"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S" values="0"></param> + </params> + <desc></desc> + </op> + + <op> + <num>86</num> + <name></name> + <params> + <param type="s"></param> + <param type="s"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S" values="0"></param> + </params> + <desc></desc> + </op> + + <op> + <num>87</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>88</num> + <name></name> + <params> + <param type="S"></param> + <param type="f"></param> + </params> + <desc></desc> + </op> + + <op> + <num>90</num> + <name></name> + <params> + <param type="S"></param> + <param type="S" values="0"></param> + <param type="S" values="0"></param> + <param type="S" values="0"></param> + </params> + <desc>Used only one time, in <stage>7</stage>.</desc> + </op> + + <op> + <num>92</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>93</num> + <name>set_spellcard</name> + <params> + <param type="s"></param> + <param type="s">The number of the spellcard, as it will be counted in the captured spellcards.</param> + <param type="z">The name of the spellcard, in SHIFT_JIS.</param> + </params> + <desc></desc> + </op> + + <op> + <num>94</num> + <name></name> + <desc></desc> + </op> + + <op> + <num>95</num> + <name></name> + <params> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="s"></param> + <param type="s"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>96</num> + <name></name> + <desc></desc> + </op> + + <op> + <num>97</num> + <name>set_enemy_sprite</name> + <params> + <param type="S" min="0" max="165">Sprite number.</param> + </params> + <desc>Set a sprite (taken from current anm) for the enemy.</desc> + </op> + + <op> + <num>98</num> + <name></name> + <params> + <param type="s"></param> + <param type="s"></param> + <param type="s"></param> + <param type="s"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>99</num> + <name></name> + <params> + <param type="S"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>100</num> + <name>set_death_anim</name> + <params> + <param type="S" values="258, 768, 769">In fact, any 256n+[0-2] works and is the same; other values make the program crash.</param> + </params> + <desc>When the enemy is destroyed, the animation used.</desc> + </op> + + <op> + <num>101</num> + <name></name> + <params> + <param type="S" values="-1, 0"></param> + </params> + <desc></desc> + </op> + + <op> + <num>102</num> + <name></name> + <params> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f" values="48.0f"></param> + </params> + <desc></desc> + </op> + + <op> + <num>103</num> + <name>set_enemy</name> + <params> + <param type="f" min="16" max="56">Size of the enemy hitbox.</param> + <param type="f" min="16" max="56"></param> + <param type="f" values="32.0f"></param> + </params> + <desc>The two last parameters are unknown</desc> + </op> + + <op> + <num>104</num> + <name></name> + <params> + <param type="S" values="0, 1"></param> + </params> + <desc></desc> + </op> + + <op> + <num>105</num> + <name></name> + <params> + <param type="S" values="0, 1"></param> + </params> + <desc></desc> + </op> + + <op> + <num>106</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>107</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>108</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>109</num> + <name></name> + <params> + <param type="S"></param> + <param type="S" values="0"></param> + </params> + <desc></desc> + </op> + + <op> + <num>111</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>112</num> + <name></name> + <params> + <param type="S" values="0, 99999"></param> + </params> + <desc></desc> + </op> + + <op> + <num>113</num> + <name></name> + <params> + <param type="S" values="-1, 500-3400"></param> + </params> + <desc></desc> + </op> + + <op> + <num>114</num> + <name></name> + <params> + <param type="S" values="9-68"></param> + </params> + <desc></desc> + </op> + + <op> + <num>115</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>116</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>117</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>118</num> + <name></name> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="s"></param> + <param type="s"></param> + </params> + <desc></desc> + </op> + + <op> + <num>119</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>120</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>121</num> + <name></name> + <params> + <param type="S"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>122</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>123</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>124</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>125</num> + <name></name> + <desc></desc> + </op> + + <op> + <num>126</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>127</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>128</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>129</num> + <name></name> + <params> + <param type="S"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>130</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>131</num> + <name></name> + <params> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>132</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>133</num> + <name></name> + <desc></desc> + </op> + + <op> + <num>134</num> + <name></name> + <desc></desc> + </op> + + <op> + <num>135</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> +</opcodes>
new file mode 100644 --- /dev/null +++ b/06/msg.xml @@ -0,0 +1,131 @@ +<?xml version="1.0" encoding="utf-8"?> +<?xml-stylesheet type="text/xsl" href="../html.xsl"?> +<?xml-stylesheet type="text/css" href="../style.css"?> +<!DOCTYPE html> +<opcodes xmlns="urn:opcodes:description"> + <title>MSG opcodes</title> + + <op> + <num>0</num> + <name></name> + <desc></desc> + </op> + + <op> + <num>1</num> + <name></name> + <params> + <param type="s"></param> + <param type="s"></param> + </params> + <desc></desc> + </op> + + <op> + <num>2</num> + <name>change_face</name> + <params> + <param type="s" values="1, 0">Affected girl (0 is left, 1 is right)</param> + <param type="s">Sprite to use.</param> + </params> + <desc></desc> + </op> + + <op> + <num>3</num> + <name>display</name> + <params> + <param type="s" values="0, 1">Girl speaking (0 is left, 1 is right)</param> + <param type="s" values="0, 1">Line to which display.</param> + <param type="z">The text to display.</param> + </params> + <desc>Displays a line of text.</desc> + </op> + + <op> + <num>4</num> + <name>pause</name> + <params> + <param type="S">Number of frames to wait.</param> + </params> + <desc>Wait for the user to provide an input, or timeout.</desc> + </op> + + <op> + <num>5</num> + <name>switch</name> + <params> + <param type="s" values="1, 0">Affected girl (0 is left, 1 is right)</param> + <param type="s" min="0" max="5">Animation to use (0=?; 1=appear; 2=unused (leave too?); 3=front; 4=back; 5=leave)</param> + </params> + <desc>Makes one of the two girls come to or leave the screen.</desc> + </op> + + <op> + <num>6</num> + <name>appear_enemy</name> + <desc>Makes the enemy sprite come in the game area.</desc> + </op> + + <op> + <num>7</num> + <name>music</name> + <params> + <param type="S">Music number.</param> + </params> + <desc>Plays the selected music.</desc> + </op> + + <op> + <num>8</num> + <name>display2</name> + <params> + <param type="s" values="0, 1">Girl speaking (0 is left, 1 is right)</param> + <param type="s" values="0, 1">Line to which display.</param> + <param type="z">The text to display.</param> + </params> + <desc>Displays a line of text on a character. Always used to introduce her.</desc> + </op> + + <op> + <num>9</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>10</num> + <name></name> + <desc></desc> + </op> + + <op> + <num>11</num> + <name>next_level</name> + <desc>Close the score panel and launch the next level.</desc> + </op> + + <op> + <num>12</num> + <name></name> + <desc></desc> + </op> + + <op> + <num>13</num> + <name></name> + <params> + <param type="S"></param> + </params> + <desc></desc> + </op> + + <op> + <num>14</num> + <name></name> + <desc></desc> + </op> +</opcodes>
new file mode 100644 --- /dev/null +++ b/06/std.xhtml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> + <head> + <title>STD format</title> + </head> + <body> + <h1>STD format</h1> + <p>All integers are little endian, all number are hex.</p> + + <h2>Header</h2> + <pre> +0 - 2 - +2 - 2 - +4 - 4 - Size of something +8 - 2 - +a - 6 - Always zero +10 - 80 - Name of the stage +90 - 80 - Name of the first song +110 - 80 - Name of the second song +190 - 80 - A string of only a single whitespace +210 - 80 - A string of only a single whitespace +290 - 80 - path to the first song (as midi) +310 - 80 - path to the second song (as midi) +390 - 80 - A string of only a single whitespace +410 - 80 - A string of only a single whitespace +490 - ... - The real data</pre> + + <h2>Data</h2> + <pre> +0 - ... - ... +</pre> + </body> +</html>
new file mode 100644 --- /dev/null +++ b/10/ecl.xml @@ -0,0 +1,1227 @@ +<?xml version="1.0" encoding="utf-8"?> +<?xml-stylesheet type="text/xsl" href="../html.xsl"?> +<?xml-stylesheet type="text/css" href="../style.css"?> +<!DOCTYPE html> +<opcodes xmlns="urn:opcodes:description"> + <title>ECL opcodes</title> + + <op> + <num>0</num> + </op> + + <op> + <num>1</num> + <name>return</name> + <desc>A <i>return</i> instruction.</desc> + </op> + + <op> + <num>10</num> + <name>return</name> + <desc>A <i>return</i> instruction.</desc> + </op> + + <op> + <num>11</num> + <params> + <param type="z">Subroutine name.</param> + <param type="...">Optional parameters.</param> + </params> + <desc> + <p>Calls a subroutine and passes it a number of parameters.</p> + <p>The parameters have a special representation in the data files: a type indicator, and then the data value. The data value can be either an integer or a float. The type indicator can indicate three things,</p> + <ol> + <li>That the data is of float type. (0x6666)</li> + <li>That the data is of integer type, but is used as a float type. (0x6669)</li> + <li>That the data is of integer type. (0x6969)</li> + </ol> + <p>In the current syntax this is represented by prefixing the data with either <strong>(int)</strong> or <strong>(float)</strong>.</p> + <p>The parameters seem to end up on the stack of the called subroutine.</p> + </desc> + </op> + + <op> + <num>12</num> + <params> + <param type="S">Relative jump offset.</param> + <param type="time">New time value.</param> + </params> + <desc> + <p>Jumps to another instruction. The offset is calculated by subtracting the location of the current instruction from the location of the target instruction. Labels can be used to calculate this automatically.</p> + <p>The current time is also changed.</p> + </desc> + </op> + + <op> + <num>13</num> + <params> + <param type="S">Relative jump offset.</param> + <param type="time">New time value.</param> + </params> + <desc>Jumps when the top of the arithmetic stack is equal to 0. Refer to <ref>12</ref>.</desc> + </op> + + <op> + <num>14</num> + <params> + <param type="S">Relative jump offset.</param> + <param type="time">New time value.</param> + </params> + <desc> + <p>Jumps when the top of the arithmetic stack is not equal to 0.</p> + <p>Refer to <ref>12</ref>.</p> + </desc> + </op> + + <op> + <num>15</num> + <params> + <param type="z"></param> + <param type="..."></param> + </params> + <desc>Refer to <ref>11</ref>.</desc> + </op> + + <op> + <num>16</num> + <params> + <param type="z">Subroutine name.</param> + <param type="S">Index.</param> + </params> + <desc>Runs a subroutine in the background and assigns it the given slot.</desc> + </op> + + <op> + <num>17</num> + <params> + <param type="S">Index.</param> + </params> + <desc>Terminates a subroutine launched with <ref>16</ref>.</desc> + </op> + + <op> + <num>21</num> + </op> + + <op> + <num>40</num> + <params> + <param type="S">Stack size.</param> + </params> + <desc>Sets up the stack which is used for local variables and passed parameters. The stack size should be a multiple of four.</desc> + </op> + + <op> + <num>42</num> + <params> + <param type="S">Value.</param> + </params> + <desc>Pushes a value onto the arithmetic stack.</desc> + </op> + + <op> + <num>43</num> + <params> + <param type="S">Stack offset.</param> + </params> + <desc>Stores the value at the top of the arithmetic stack at the given stack offset.</desc> + </op> + + <op> + <num>44</num> + <params> + <param type="f"></param> + </params> + <desc>Pushes a value onto the arithmetic stack. Might be intended for floats.</desc> + </op> + + <op> + <num>45</num> + <params> + <param type="f"></param> + </params> + <desc>Stores the value at the top of the arithmetic stack at the given stack offset. Might be intended for floats.</desc> + </op> + + <op> + <num>50</num> + <desc>Addition operator.</desc> + </op> + + <op> + <num>51</num> + <desc>Addition operator. Might be intended for floats.</desc> + </op> + + <op> + <num>52</num> + <desc>Subtraction operator.</desc> + </op> + + <op> + <num>53</num> + <desc>Subtraction operator. Might be intended for floats.</desc> + </op> + + <op> + <num>54</num> + <desc>Multiplication operator.</desc> + </op> + + <op> + <num>55</num> + <desc>Multiplication operator. Might be intended for floats.</desc> + </op> + + <op> + <num>56</num> + <desc>Division operator.</desc> + </op> + + <op> + <num>57</num> + <desc>Division operator. Might be intended for floats.</desc> + </op> + + <op> + <num>58</num> + <desc>Modulo operator.</desc> + </op> + + <op> + <num>59</num> + <desc>Equality operator.</desc> + </op> + + <op> + <num>61</num> + <desc>Inequality operator.</desc> + </op> + + <op> + <num>63</num> + <desc>Less-than operator.</desc> + </op> + + <op> + <num>64</num> + <desc>Less-than operator. Might be intended for floats.</desc> + </op> + + <op> + <num>65</num> + <desc>Less-than-or-equal-to operator.</desc> + </op> + + <op> + <num>67</num> + <desc>Greater-than operator.</desc> + </op> + + <op> + <num>68</num> + <desc>Greater-than operator. Might be intended for floats.</desc> + </op> + + <op> + <num>69</num> + <desc>Greater-than-or-equal-to operator.</desc> + </op> + + <op> + <num>70</num> + <desc>Greater-than-or-equal-to operator. Might be intended for floats.</desc> + </op> + + <op> + <num>71</num> + <desc>Boolean not operator.</desc> + </op> + + <op> + <num>73</num> + <desc>Boolean or operator.</desc> + </op> + + <op> + <num>74</num> + <desc>Boolean and operator.</desc> + </op> + + <op> + <num>78</num> + <params> + <param type="S">Stack offset.</param> + </params> + <desc>Decrements the value passed and pushes its old value onto the arithmetic stack.</desc> + </op> + + <op> + <num>79</num> +<p><i>Takes no parameters.</i> </p> + </op> + + <op> + <num>81</num> + <params> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>82</num> + <params> + <param type="f"></param> + </params> + + </op> + + <op> + <num>83</num> + <params> + <param type="time">Time to wait.</param> + </params> + <desc>Wait the the specified time before continuing.</desc> + </op> + + <op> + <num>85</num> + </op> + + <op> + <num>256</num> + <params> + <param type="z">Subroutine name.</param> + <param type="coordinate">Starting x position.</param> + <param type="coordinate">Starting y position.</param> + <param type="S">Hit points.</param> + <param type="S">Score reward.</param> + <param type="S">Item dropped when destroyed.</param> + </params> + <desc> + <p>Create an "object", i.e. an enemy or something that can move around. The subroutine is called to set up and control the object.</p> + <p>Items dropped (0 for nothing):</p> + <ol> + <li>Small powerup.</li> + <li>Point item.</li> + <li>Large green star.</li> + <li>Large powerup.</li> + <li>Full-score point item.</li> + <li>Full-power powerup.</li> + <li>1-up.</li> + <li>An autocollecting yellow orb.</li> + <li>Small green star.</li> + </ol> + </desc> + </op> + + <op> + <num>257</num> + <params> + <param type="z"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + <desc>No differences from <ref>256</ref> have been observed.</desc> + </op> + + <op> + <num>258</num> + <params> + <param type="S">ANM include index.</param> + </params> + <desc>Selects which ANM file to use for further animation operations. 1 refers to the first file listed, and 2 to the second. 0 appears to have some special meaning.</desc> + </op> + + <op> + <num>259</num> + <params> + <param type="S">?</param> + <param type="S">Animation index.</param> + </params> + <desc> + <p>Selects an animation for an object. The animation indices are listed in the ANM files, and contain their own animation script.</p> + <p>The first parameter might allow for attaching several sprites to an object.</p> + </desc> + </op> + + <op> + <num>260</num> + <params> + <param type="z"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + <desc>No differences from <ref>256</ref> have been observed.</desc> + </op> + + <op> + <num>261</num> + <params> + <param type="z"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + <desc>No differences from <ref>256</ref> have been observed.</desc> + </op> + + <op> + <num>262</num> + <params> + <param type="S"></param> + <param type="S"></param> + </params> + <desc>Similar to <ref>257</ref>.</desc> + </op> + + <op> + <num>263</num> + <params> + <param type="S"></param> + <param type="S"></param> + </params> + + </op> + + <op> + <num>264</num> + <params> + <param type="S"></param> + <param type="S"></param> + </params> + + </op> + + <op> + <num>265</num> + <params> + <param type="z"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + <desc>No differences from <ref>256</ref> have been observed.</desc> + </op> + + <op> + <num>266</num> + <params> + <param type="z"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + <desc>No differences from <ref>256</ref> have been observed.</desc> + </op> + + <op> + <num>267</num> + <params> + <param type="z"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + <desc>No differences from <ref>256</ref> have been observed.</desc> + </op> + + <op> + <num>268</num> + <params> + <param type="z"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + <desc>No differences from <ref>256</ref> have been observed.</desc> + </op> + + <op> + <num>269</num> + <params> + <param type="S"></param> + </params> + <desc>Related to animation.</desc> + </op> + + <op> + <num>270</num> + <params> + <param type="z"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + <desc>Similar to <ref>256</ref>. Adds a third float parameter.</desc> + </op> + + <op> + <num>272</num> + <params> + <param type="S"></param> + <param type="S"></param> + </params> + + </op> + + <op> + <num>273</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>280</num> + <params> + <param type="coordinate">Target x position.</param> + <param type="coordinate">Target y position.</param> + </params> + <desc>Instantly moves an object to the specified position.</desc> + </op> + + <op> + <num>281</num> + <params> + <param type="time">Move duration.</param> + <param type="S">Movement mode.</param> + <param type="coordinate">Target x position.</param> + <param type="coordinate">Target y position.</param> + </params> + <desc> + <p>Moves the object to the specified position in the specified time.</p> + <p>The movement mode controls how the object moves to the target position, but the time it takes is the same. 0 is normal movement, 1 accelerates and stops suddenly, 4 moves in an interpolated manner.</p> + </desc> + </op> + + <op> + <num>282</num> + <params> + <param type="f"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>283</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="S"></param> + </params> + + </op> + + <op> + <num>284</num> + <params> + <param type="angle">Direction.</param> + <param type="f">Speed.</param> + </params> + <desc>Sets movement direction and speed for an object. The speed might be pixels per frame.</desc> + </op> + + <op> + <num>285</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + </params> + <desc>Similar to <ref>285</ref>. Maybe it is used to change from one movement to another.</desc> + </op> + + <op> + <num>286</num> + <params> + <param type="f"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>287</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>288</num> + <params> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>290</num> + <params> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>291</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + </params> + + </op> + + <op> + <num>292</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>294</num> + </op> + + <op> + <num>296</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>298</num> + <params> + <param type="f"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>299</num> + <params> + <param type="f"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>320</num> + <params> + <param type="f">Hitbox width.</param> + <param type="f">Hidbox height.</param> + </params> + <desc>Sets up a hitbox for an object. It is not disabled by setting both parameters to 0.0f.</desc> + </op> + + <op> + <num>321</num> + <params> + <param type="f">Killbox width.</param> + <param type="f">Killbox height.</param> + </params> + <desc>Sets up a killbox (the area which kills the player) for an object. It can be disabled by setting both parameters to 0.0f.</desc> + </op> + + <op> + <num>322</num> + <params> + <param type="S"></param> + </params> + <desc>Appears to set flags for objects, such as if it has a hitbox or not.</desc> + </op> + + <op> + <num>323</num> + <params> + <param type="S"></param> + </params> + + </op> + + <op> + <num>324</num> + <params> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>325</num> + <desc>Related to item drops.</desc> + </op> + + <op> + <num>326</num> + <desc>Clears the list of items to be dropped.</desc> + </op> + + <op> + <num>327</num> + <params> + <param type="S">Item.</param> + <param type="S">Count.</param> + </params> + <desc>Sets up which items (<ref>256</ref>) are dropped when this object is defeated (in addition to the one specified by the creation instruction). Can be called several times for more items.</desc> + </op> + + <op> + <num>328</num> + <params> + <param type="f">Width.</param> + <param type="f">Height.</param> + </params> + <desc>Sets up an area in which items are dropped.</desc> + </op> + + <op> + <num>329</num> + <desc>Drops all loaded items.</desc> + </op> + + <op> + <num>330</num> + <params> + <param type="S"></param> + </params> + + </op> + + <op> + <num>331</num> + <params> + <param type="S">Hit points.</param> + </params> + <desc>Changes the hit points of an object.</desc> + </op> + + <op> + <num>332</num> + <params> + <param type="S">Flag.</param> + </params> + <desc>Enables or disables "boss mode" (hit point bar, and name display). Enabled with 0 and disabled with -1.</desc> + </op> + + <op> + <num>333</num> + </op> + + <op> + <num>334</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="time">Time.</param> + <param type="z">Subroutine name.</param> + </params> + <desc>Sets up a condition for a boss. For example the specified subroutine can be called after a period of time has passed. It can also be used for hit points.</desc> + </op> + + <op> + <num>335</num> + <params> + <param type="time">Invulnerability duration.</param> + </params> + <desc>Makes the object invulnerable for the specified period of time.</desc> + </op> + + <op> + <num>336</num> + <params> + <param type="S"></param> + </params> + + </op> + + <op> + <num>337</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + + </op> + + <op> + <num>338</num> + <params> + <param type="S">Dialogue index.</param> + </params> + <desc>Initiates dialogue. The first dialogue has index 0.</desc> + </op> + + <op> + <num>339</num> + </op> + + <op> + <num>340</num> + </op> + + <op> + <num>341</num> + <params> + <param type="S"></param> + <param type="z"></param> + </params> + + </op> + + <op> + <num>342</num> + <params> + <param type="S">Spell card number.</param> + <param type="time">Spell card bonus timer.</param> + <param type="S"></param> + <param type="cstring">Spell card name.</param> + </params> + <desc>Set up a spell card. One is added to the spell card number to get the number displayed in-game.</desc> + </op> + + <op> + <num>343</num> + </op> + + <op> + <num>344</num> + <params> + <param type="S"></param> + </params> + + </op> + + <op> + <num>345</num> + </op> + + <op> + <num>346</num> + <params> + <param type="f"></param> + </params> + + </op> + + <op> + <num>347</num> + <params> + <param type="S"></param> + <param type="f"></param> + <param type="S"></param> + </params> + + </op> + + <op> + <num>355</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + + </op> + + <op> + <num>356</num> + <params> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>357</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="cstring"></param> + </params> + <desc>No differences from <ref>342</ref> have been observed.</desc> + </op> + + <op> + <num>359</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="cstring"></param> + </params> + <desc>No differences from <ref>342</ref> have been observed.</desc> + </op> + + <op> + <num>360</num> + <params> + <param type="S">Number of spell card stars.</param> + </params> + <desc>Sets the number of spell cards remaining, as indicated by a series of stars. Requires boss mode (<ref>332</ref>) for the stars to show up.</desc> + </op> + + <op> + <num>361</num> + <params> + <param type="S"></param> + </params> + + </op> + + <op> + <num>362</num> + </op> + + <op> + <num>363</num> + </op> + + <op> + <num>364</num> + <params> + <param type="S"></param> + </params> + + </op> + + <op> + <num>365</num> + </op> + + <op> + <num>366</num> + <params> + <param type="S">Flag.</param> + <param type="S">Animation index.</param> + </params> + <desc>Enables or disables bomb-invulnerability for an object. Set the flag to 1 to enable or 0 to disable it. The object's animation is changed as specified for the duration of the bomb.</desc> + </op> + + <op> + <num>367</num> + <params> + <param type="f"></param> + </params> + + </op> + + <op> + <num>368</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + + </op> + + <op> + <num>400</num> + <params> + <param type="S">Bullet type.</param> + </params> + <desc>Might initialize a new bullet type. Eight different bullet types have been observed.</desc> + </op> + + <op> + <num>401</num> + <params> + <param type="S">Bullet type.</param> + </params> + <desc>Fires a bullet of the specified type.</desc> + </op> + + <op> + <num>402</num> + <params> + <param type="S">Bullet type.</param> + <param type="S"></param> + <param type="S"></param> + </params> + <desc>Sets the bullet type appearance.</desc> + </op> + + <op> + <num>403</num> + <params> + <param type="S">Bullet type.</param> + <param type="f">x offset.</param> + <param type="f">y offset.</param> + </params> + <desc>Makes bullets spawn in a position offset from the object which fires them.</desc> + </op> + + <op> + <num>404</num> + <params> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>405</num> + <params> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>406</num> + <params> + <param type="S">Bullet type.</param> + <param type="S">Bullet count.</param> + <param type="S">Extra bullets.</param> + </params> + <desc>The bullet count parameter can be used to fire walls or circles of bullets The extra parameter fires additional bullets, each at half the speed of the previous.</desc> + </op> + + <op> + <num>407</num> + <params> + <param type="S"></param> + <param type="S"></param> + </params> + + </op> + + <op> + <num>409</num> + <params> + <param type="S">Bullet type.</param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + </params> + <desc>Might set up random bullet attributes.</desc> + </op> + + <op> + <num>410</num> + </op> + + <op> + <num>411</num> + <params> + <param type="S"></param> + <param type="S"></param> + </params> + + </op> + + <op> + <num>412</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>413</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="S"></param> + </params> + + </op> + + <op> + <num>420</num> + <params> + <param type="f"></param> + </params> + + </op> + + <op> + <num>421</num> + <params> + <param type="f"></param> + </params> + + </op> + + <op> + <num>425</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + + </op> + + <op> + <num>428</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="f"></param> + <param type="S"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>431</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>433</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>435</num> + <params> + <param type="S"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + <param type="f"></param> + </params> + + </op> + + <op> + <num>436</num> + <params> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + <param type="S"></param> + </params> + + </op> +</opcodes>
new file mode 100644 --- /dev/null +++ b/html.xsl @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="utf-8"?> +<x:stylesheet version="1.0" + xmlns:x="http://www.w3.org/1999/XSL/Transform" + xmlns:o="urn:opcodes:description" + xmlns="http://www.w3.org/1999/xhtml"> + + <x:output encoding="utf-8" indent="yes" method="xml" /> + + <x:template match="/o:opcodes"> + <x:processing-instruction name="xml-stylesheet">type="text/css" href="../style.css"</x:processing-instruction> + <html> + <head> + <title><x:value-of select="o:title"/></title> + </head> + <body> + <h1><x:value-of select="o:title"/></h1> + <x:apply-templates select="o:text"/> + <x:apply-templates select="o:op"/> + </body> + </html> + </x:template> + + <x:template match="o:text"> + <div><x:apply-templates/></div> + </x:template> + + <x:template match="o:op"> + <h2 id="i{o:num}"> + <x:value-of select="o:num"/> + <x:if test="o:name != ''"> + - <small><x:value-of select="o:name"/></small> + </x:if> + </h2> + + <x:choose> + <x:when test="o:params"> + <x:apply-templates select="o:params"/> + </x:when> + <x:otherwise> + <p>Takes no parameters.</p> + </x:otherwise> + </x:choose> + + <p><x:apply-templates select="o:desc"/></p> + </x:template> + + <x:template match="o:params"> + <table> + <tr> + <th>Type</th> + <th>Description</th> + <x:if test="o:param/@values"><th>Values</th></x:if> + <x:if test="o:param/@min and o:param/@max"><th>Range</th></x:if> + </tr> + <x:apply-templates select="o:param"/> + </table> + </x:template> + + <x:template match="o:param"> + <tr> + <td><x:apply-templates select="@type"/></td> + <td><x:value-of select="."/></td> + <x:if test="@values"> + <td><x:value-of select="@values"/></td> + <x:if test="../o:param/@min and ../o:param/@max"><td/></x:if> + </x:if> + <x:if test="@min and @max"> + <x:if test="../o:param/@values"><td/></x:if> + <td><x:value-of select="@min"/> to <x:value-of select="@max"/></td> + </x:if> + </tr> + </x:template> + + <x:template match="@type"> + <x:choose> + <x:when test=". = 'c'">int8</x:when> + <x:when test=". = 's'">int16</x:when> + <x:when test=". = 'S'">int32</x:when> + <x:when test=". = 'b'">uint8</x:when> + <x:when test=". = 'u'">uint16</x:when> + <x:when test=". = 'U'">uint32</x:when> + <x:when test=". = 'f'">float</x:when> + <x:when test=". = 'd'">double</x:when> + <x:when test=". = 'z'">string</x:when> + <x:when test=". = 'm'">data</x:when> + <x:otherwise><x:value-of select="."/></x:otherwise> + </x:choose> + </x:template> + + <x:template match="o:desc"> + <x:choose> + <x:when test="o:p"> + <x:apply-templates/> + </x:when> + <x:otherwise> + <p><x:apply-templates/></p> + </x:otherwise> + </x:choose> + </x:template> + + <x:template match="o:p"> + <p><x:apply-templates/></p> + </x:template> + + <x:template match="o:strong"> + <strong><x:value-of select="."/></strong> + </x:template> + + <x:template match="o:i"> + <i><x:value-of select="."/></i> + </x:template> + + <x:template match="o:br"> + <br/> + </x:template> + + <x:template match="o:ol"> + <ol><x:apply-templates/></ol> + </x:template> + + <x:template match="o:li"> + <li><x:apply-templates/></li> + </x:template> + + <x:template match="o:stage"> + stage <x:value-of select="."/> + </x:template> + + <x:template match="o:ref"> + <a href="#i{.}">instruction <x:value-of select="."/></a> + </x:template> +</x:stylesheet>
new file mode 100644 --- /dev/null +++ b/index.xhtml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> + <head> + <title>Touhou</title> + </head> + <body> + <h1>Touhou</h1> + <h2>Embodiment of Scarlet Devil</h2> + <h3>Formats</h3> + <ul> + <li><a href="06/std.xhtml">STD</a> (stages)</li> + </ul> + <h3>Opcodes</h3> + <ul> + <li><a href="06/std.xhtml">STD</a> (stages)</li> + <li><a href="06/ecl.xml">ECL</a> (enemy comportement)</li> + <li><a href="06/msg.xml">MSG</a> (dialogs)</li> + </ul> + + <h2>Mountain of Faith</h2> + <ul> + <li><a href="10/ecl.xml">ECL</a> (<a href="http://code.google.com/p/thtk/wiki/Ecl10Reference">original</a>)</li> + </ul> + + <h2>Subterranean Animism</h2> + <ul> + <li><a href="http://code.google.com/p/thtk/wiki/Ecl11Reference">ECL</a></li> + </ul> + </body> +</html>