• R/O
  • SSH
  • HTTPS

marathon: コミット


コミットメタ情報

リビジョン449 (tree)
日時2007-08-16 23:16:30
作者hogepiyo

ログメッセージ

*** empty log message ***

変更サマリ

差分

--- marathon/trunk/EditorOnes/HPLLib/HPLMapTool.cpp (revision 448)
+++ marathon/trunk/EditorOnes/HPLLib/HPLMapTool.cpp (revision 449)
@@ -102,6 +102,17 @@
102102 }
103103
104104 /**
105+ 割り当て情報を設定します
106+*/
107+void hpl::aleph::setInformationBind(int maxLength, hpl::aleph::InformationBinded binds[],
108+ int bindSrc[])
109+{
110+ for(int i = 0; i < maxLength; i ++){
111+ binds[i].bind = bindSrc[i];
112+ }
113+}
114+
115+/**
105116 指定した値に相当するインデックス値を取得します
106117 存在しないなどの理由により失敗した場合は、負数が返されます
107118 */
--- marathon/trunk/EditorOnes/HPLLib/HPLAlephLib.h (revision 448)
+++ marathon/trunk/EditorOnes/HPLLib/HPLAlephLib.h (revision 449)
@@ -19,5 +19,24 @@
1919 #include "HPLSurfaceModifier.h"
2020 #include "HPLError.h"
2121
22+#ifdef WX
23+#include "wx/wx.h"
2224
25+//wxWidgets専用関数
26+//char->wx
27+namespace wx{
28+ namespace string{
29+ wxString getString(const char* format, ...)
30+ {
31+ char message[BUF_MAX];
32+ va_list maker;
33+ va_start(maker, format);
34+ vsprintf(message, format, maker);
35+ wxString str = wxConvertMB2WX(message);
36+ return str;
37+ }
38+ };
39+};
2340 #endif
41+
42+#endif
--- marathon/trunk/EditorOnes/HPLLib/HPLMapTool.h (revision 448)
+++ marathon/trunk/EditorOnes/HPLLib/HPLMapTool.h (revision 449)
@@ -68,6 +68,12 @@
6868 */
6969 void loadInformation(const char* filePath, int maxLines, hpl::aleph::InformationBinded infos[]);
7070
71+ /**
72+ 割り当て情報を設定します
73+ */
74+ void setInformationBind(int maxLength, hpl::aleph::InformationBinded binds[],
75+ int bindSrc[]);
76+
7177 /**
7278 カラーデータをファイルから読み込みます
7379 @return 失敗時に偽
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/panel/MonsterAttackPanel.h (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/panel/MonsterAttackPanel.h (revision 449)
@@ -0,0 +1,14 @@
1+#ifndef _MONSTER_ATTACK_PANEL_
2+#define _MONSTER_ATTACK_PANEL_
3+
4+#include "../Common.h"
5+
6+/**
7+ 攻撃行動に関する設定
8+*/
9+class MonsterAttackPanel: wxPanel{
10+public:
11+ void Create(wxWindow* parent, wxWindowID id);
12+};
13+
14+#endif
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/panel/MonsterFlagsPanel.h (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/panel/MonsterFlagsPanel.h (revision 449)
@@ -0,0 +1,14 @@
1+#ifndef _MONSTER_FLAGS_PANEL_
2+#define _MONSTER_FLAGS_PANEL_
3+
4+#include "../Common.h"
5+
6+/**
7+ 敵味方判定や耐性、弱点。そして各種設定を行うパネル
8+*/
9+class MonsterFlagsPanel: wxPanel{
10+public:
11+ void Create(wxWindow* parent, wxWindowID id);
12+};
13+
14+#endif
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/panel/MonsterAppearancePanel.h (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/panel/MonsterAppearancePanel.h (revision 449)
@@ -0,0 +1,16 @@
1+#ifndef _MONSTER_APPEARANCE_PANEL_
2+#define _MONSTER_APPEARANCE_PANEL_
3+
4+#include "../Common.h"
5+
6+/**
7+ MonsterのAppearance(見た目、音、シーケンス、体力等)
8+ に関するデータを操作するパネル
9+*/
10+class MonsterAppearancePanel: public wxPanel{
11+public:
12+ void Create(wxWindow* parent, wxWindowID id);
13+};
14+
15+
16+#endif
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/panel/MonsterPanel.h (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/panel/MonsterPanel.h (revision 449)
@@ -0,0 +1,26 @@
1+#ifndef _MONSTER_PANEL_
2+#define _MONSTER_PANEL_
3+
4+#include "../Common.h"
5+
6+#include "MonsterAppearancePanel.h"
7+#include "MonsterFlagsPanel.h"
8+#include "MonsterAttackPanel.h"
9+
10+class MonsterPanel: public wxPanel{
11+private:
12+ //monster type list
13+ wxListBox* monsterTypeListBox;
14+
15+ //notebook (appearance / flags / attack)
16+ wxNotebook* notebook;
17+
18+ //appearance panel
19+ MonsterAppearancePanel* appearancePanel;
20+ MonsterFlagsPanel* flagsPanel;
21+ MonsterAttackPanel* attackPanel;
22+public:
23+ void Create(wxWindow* parent, wxWindowID id);
24+};
25+
26+#endif
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/PhysicsEditorOneWX.h (revision 448)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/PhysicsEditorOneWX.h (revision 449)
@@ -2,12 +2,83 @@
22 #define _PHYSICS_EDITOR_ONE_WX_
33
44 #include "Common.h"
5+#include "PhysicsDefaultValues.h"
6+#include "PhysicsEditorCommon.h"
7+
8+static char* TITLE = "Physics Editor One wxWidgets version";
9+
10+class MainFrame;
11+
512 class PhysicsEditorOneWX: public wxApp{
13+public:
14+ //フレーム
15+ MainFrame* frame;
16+
17+ //デフォルト設定
18+ PhysicsDefaultValues defaultValues;
19+
20+ //一般 general
21+ // Collections <jp>コレクション
22+ hpl::aleph::Information collectionInfo[NUMBER_OF_COLLECTIONS];
23+ // Sounds <jp>音
24+ hpl::aleph::Information soundInfo[NUMBER_OF_SOUND_DEFINITIONS];
25+ // damage
26+ hpl::aleph::Information damageInfo[NUMBER_OF_DAMAGE_TYPES];
27+ // Items <jp>アイテム
28+ hpl::aleph::Information itemInfo[NUMBER_OF_DEFINED_ITEMS];
29+ // speed (preset)
30+ hpl::aleph::InformationBinded speedBind[NUMBER_OF_SPEED_INFORMATIONS];
31+
32+ //モンスター
33+ // 種類 <en> types
34+ hpl::aleph::Information monsterInfo[NUMBER_OF_MONSTER_TYPES];
35+ // アクティブ要素
36+ hpl::aleph::Information monsterActivateInfo[NUMBER_OF_MONSTER_ACTIVATE_INFORMATIONS];
37+ // classes
38+ hpl::aleph::InformationBinded monsterClassBind[NUMBER_OF_CLASS_INFORMATIONS];
39+ // intelligence
40+ hpl::aleph::InformationBinded monsterIntelligenceBind[NUMBER_OF_MONSTER_INTELLIGENCE_INFORMATIONS];
41+ // door retry mask
42+ hpl::aleph::InformationBinded monsterDoorRetryMaskBind[NUMBER_OF_MONSTER_DOOR_RETRY_MASK_INFORMATIONS];
43+ // flags
44+ hpl::aleph::InformationBinded monsterFlagsBind[NUMBER_OF_MONSTER_FLAG_INFORMATIONS];
45+
46+ //projectiles
47+ // types
48+ hpl::aleph::Information projectileInfo[NUMBER_OF_PROJECTILE_TYPES];
49+ // flags
50+ hpl::aleph::InformationBinded projectileFlagsBind[NUMBER_OF_PROJECTILE_FLAG_INFORMATIONS];
51+
52+ //effect
53+ // types
54+ hpl::aleph::Information effectInfo[NUMBER_OF_EFFECT_TYPES];
55+ // flags
56+ hpl::aleph::InformationBinded effectFlagsBind[NUMBER_OF_EFFECT_FLAG_INFORMATIONS];
57+
58+ //physics
59+ hpl::aleph::Information physicsInfo[NUMBER_OF_PHYSICS_MODELS];
60+
61+ //weapon
62+ // types
63+ hpl::aleph::Information weaponInfo[MAXIMUM_NUMBER_OF_WEAPONS];
64+ // classs
65+ hpl::aleph::Information weaponClassInfo[NUMBER_OF_WEAPON_CLASS_INFORMATIONS];
66+ // flags
67+ hpl::aleph::InformationBinded weaponFlagsBind[NUMBER_OF_WEAPON_FLAG_INFORMATIONS];
68+ // shell casing
69+ hpl::aleph::Information weaponShellCasingInfo[NUMBER_OF_SHELL_CASING_TYPES];
670 private:
71+ /**このPhysicsデータは編集されているか?*/
72+ bool isChanged_;
773
74+ /**このPhysicsデータはファイルから読み込まれたものではないのか?*/
75+ bool isNew_;
76+
77+ /**読み込んだ場合保存先のパス*/
78+ std::string saveFilePath;
879 public:
980 private:
10- void OnInit();
81+ bool OnInit();
1182
1283 /**
1384 wxWidgetsに依存しない初期設定
@@ -14,7 +85,39 @@
1485 */
1586 void init();
1687 public:
88+ /**
89+ 更新があったかどうか
90+ */
91+ void setNewAndChanged(bool new_, bool changed);
92+ bool isChanged();
93+ /**
94+ 新規データか
95+ */
96+ bool isNew();
1797
98+ /**
99+ 読み込んだあるいは保存先のファイルパスを設定
100+ 存在しない場合にこれを呼ぶというのは処理がおかしいことになる。
101+ それのチェックも兼ねる
102+ */
103+ void setSaveFilePath(const char* filePath);
104+ std::string getSaveFilePath();
105+
106+ /**
107+ デフォルト設定の取り出し
108+ */
109+ PhysicsDefaultValues* getDefaultValues();
110+
111+ /**
112+ PhysicsFileを読み込みます
113+ */
114+ void loadPhysicsFile(const char* filePath);
115+ void loadDefaultPhysicsFile();
116+
117+ /**
118+ Save and/or create PhysicsFile
119+ */
120+ void savePhysicsFile(const char* filePath);
18121 };
19122
20123 DECLARE_APP(PhysicsEditorOneWX)
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/MainFrame.cpp (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/MainFrame.cpp (revision 449)
@@ -0,0 +1,164 @@
1+#include "MainFrame.h"
2+
3+const int WINDOW_DEFAULT_WIDTH = 800;
4+const int WINDOW_DEFAULT_HEIGHT = 600;
5+
6+
7+/**
8+ メニューの識別ID(特殊なものに限る)
9+*/
10+namespace MainFrameMenuId{
11+ enum{
12+
13+ };
14+};
15+
16+/**イベント関連づけ*/
17+BEGIN_EVENT_TABLE(MainFrame, wxFrame)
18+ EVT_MENU(wxID_NEW, MainFrame::OnNew)
19+ EVT_MENU(wxID_OPEN, MainFrame::OnOpen)
20+ EVT_MENU(wxID_SAVE, MainFrame::OnSave)
21+ EVT_MENU(wxID_SAVEAS, MainFrame::OnSaveAs)
22+ EVT_MENU(wxID_EXIT, MainFrame::OnQuit)
23+END_EVENT_TABLE()
24+
25+void MainFrame::Create(wxWindow* parent, wxWindowID id)
26+{
27+ wxString title = wxConvertMB2WX(TITLE);
28+ if(!wxFrame::Create(parent, id, title, wxDefaultPosition,
29+ wxSize(WINDOW_DEFAULT_WIDTH, WINDOW_DEFAULT_HEIGHT)))
30+ {
31+ hpl::error::halt("Unknown error occured when launch app.");
32+ }
33+
34+ //status bar
35+ ::CreateStatusBar();
36+ ::SetStatusText( _T("get ready..."));
37+
38+ //メニューの作成
39+ //File
40+ wxMenu* menuFile = new wxMenu;
41+ menuFile->Append(wxID_NEW, _T("&New"));
42+ menuFile->Append(wxID_OPEN, _T("&Open"));
43+ menuFile->Append(wxID_SAVE, _T("&Save"));
44+ menuFile->Append(wxID_SAVEAS, _T("Save as..."));
45+ menuFile->AppendSeparator();
46+ menuFile->Append(wxID_EXIT, _T("E&xit"));
47+
48+ wxMenuBar *menuBar = new wxMenuBar;
49+ menuBar->Append(menuFile, _T("&File"));
50+
51+ SetMenuBar(menuBar);
52+
53+ //配置
54+
55+}
56+/**
57+ もし編集中であれば内容を破棄するか、その前に保存するか、キャンセルするか
58+ どうか問いただします。
59+ @return
60+ wxYES: 破棄する前に保存する
61+ wxNO: 保存せずに破棄する
62+ wxCANCEL:キャンセルして処理を行わない
63+*/
64+int MainFrame::askDestroy()
65+{
66+ if(wxGetApp().isChanged()){
67+ //変更あり
68+ wxMessageDialog dlg(this,
69+ _T("Physics data has been modified. Do you save this before destruction? Click No to skip save."),
70+ _T("Destroy!"), wxYES_NO | wxCANCEL);
71+ return dlg.ShowModal();
72+ }else{
73+ //変更はない
74+ return wxNO;
75+ }
76+}
77+
78+void MainFrame::OnNew(wxCommandEvent& ev)
79+{
80+ int result = askDestroy();
81+ wxCommandEvent dummy;
82+ if(result == wxYES){
83+ //保存
84+ OnSave(dummy);
85+ }else if(result == wxNO){
86+ //そのまま初期化
87+ }else{
88+ //キャンセル
89+ return;
90+ }
91+ wxGetApp().loadDefaultPhysicsFile();
92+
93+ //ステータスバーに表示
94+ SetStatusText(_T("Create new physics file."));
95+}
96+void MainFrame::OnOpen(wxCommandEvent& ev)
97+{
98+ int result = askDestroy();
99+ wxCommandEvent dummy;
100+ if(result == wxYES){
101+ //保存
102+ OnSave(dummy);
103+ }else if(result == wxNO){
104+ //そのままオープン
105+ }else{
106+ //キャンセル
107+ return;
108+ }
109+ wxFileDialog fileDialog(this, _T("Choose a file"),
110+ _T("."), _T(""), _T("*.*"));
111+
112+ if(fileDialog.ShowModal() == wxID_OK){
113+ wxString path = fileDialog.GetPath();
114+ wxGetApp().loadPhysicsFile(path.mb_str());
115+
116+ //ステータスバーに表示
117+ SetStatusText(_T("Load physics file complete."));
118+ }
119+}
120+void MainFrame::OnSave(wxCommandEvent& ev)
121+{
122+ wxCommandEvent dummy;
123+
124+ if(wxGetApp().isNew()){
125+ //新規状態
126+ OnSaveAs(dummy);
127+ }else{
128+ //今持っているファイル名で保存します
129+ std::string saveFilePath = wxGetApp().getSaveFilePath();
130+ wxGetApp().savePhysicsFile(saveFilePath.c_str());
131+ //ステータスバーに表示
132+ SetStatusText(_T("Save physics file complete."));
133+ }
134+}
135+void MainFrame::OnSaveAs(wxCommandEvent& ev)
136+{
137+ //新規保存先を選択します
138+ int style = wxFD_SAVE | wxFD_OVERWRITE_PROMPT;
139+ wxString wildcard(_T("AlephOne physics file (*.phyA)|*.phyA|Any file|*.*"));
140+ wxFileDialog dlg(this, wxString(_T("Save at...")),
141+ wxString(_T("")), wxString(_T("unknown.phyA")), wildcard,
142+ style);
143+ if(dlg.ShowModal() == wxID_OK){
144+ wxString str = dlg.GetPath();
145+ //保存
146+ wxGetApp().savePhysicsFile(str.mb_str());
147+ //ステータスバーに表示
148+ SetStatusText(_T("Save physics file complete."));
149+ }
150+}
151+void MainFrame::OnQuit(wxCommandEvent& ev)
152+{
153+ int result = this->askDestroy();
154+ wxCommandEvent dummy;
155+ if(result == wxYES){
156+ //保存
157+ OnSave(dummy);
158+ }else if(result == wxNO){
159+ //そのままオープン
160+ }else{
161+ //キャンセル
162+ return;
163+ }
164+}
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/MainFrame.h (revision 448)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/MainFrame.h (revision 449)
@@ -4,6 +4,29 @@
44 #include "Common.h"
55
66 class MainFrame: public wxFrame{
7+public:
8+ void Create(wxWindow* parent, wxWindowID id);
9+protected:
10+ void OnNew(wxCommandEvent& ev);
11+ void OnOpen(wxCommandEvent& ev);
12+ void OnSave(wxCommandEvent& ev);
13+ void OnSaveAs(wxCommandEvent& ev);
14+ void OnQuit(wxCommandEvent& ev);
15+
16+ DECLARE_EVENT_TABLE()
17+private:
18+ /**
19+ もし編集中であれば内容を破棄するか、その前に保存するか、キャンセルするか
20+ どうか問いただします。
21+ @return
22+ wxYES: 破棄する前に保存する
23+ wxNO: 保存せずに破棄する
24+ wxCANCEL:キャンセルして処理を行わない
25+ */
26+ int askDestroy();
27+
28+
29+public:
730 };
831
932 #endif
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/PhysicsDefaultValues.cpp (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/PhysicsDefaultValues.cpp (revision 449)
@@ -0,0 +1,45 @@
1+#include "PhysicsDefaultValues.h"
2+
3+PhysicsDefaultValues::PhysicsDefaultValues()
4+{
5+ memcpy(monster_default_definitions, monster_definitions,
6+ sizeof(struct monster_definition) * NUMBER_OF_MONSTER_TYPES);
7+ memcpy(effect_default_definitions, effect_definitions,
8+ sizeof(struct effect_definition) * NUMBER_OF_EFFECT_TYPES);
9+ memcpy(projectile_default_definitions, projectile_definitions,
10+ sizeof(struct projectile_definition) * NUMBER_OF_PROJECTILE_TYPES);
11+ memcpy(physics_default_models, physics_models,
12+ sizeof(struct physics_constants) * NUMBER_OF_PHYSICS_MODELS);
13+ memcpy(weapon_default_definitions, weapon_definitions,
14+ sizeof(struct weapon_definition) * MAXIMUM_NUMBER_OF_WEAPONS);
15+}
16+
17+PhysicsDefaultValues::~PhysicsDefaultValues()
18+{
19+}
20+
21+monster_definition* PhysicsDefaultValues::getMonsterDefinition(int index)
22+{
23+ wxASSERT(index >= 0 && index < NUMBER_OF_MONSTER_TYPES);
24+ return &monster_default_definitions[index];
25+}
26+effect_definition* PhysicsDefaultValues::getEffectDefinition(int index)
27+{
28+ wxASSERT(index >= 0 && index < NUMBER_OF_EFFECT_TYPES);
29+ return &effect_default_definitions[index];
30+}
31+projectile_definition* PhysicsDefaultValues::getProjectileDefinition(int index)
32+{
33+ wxASSERT(index >= 0 && index < NUMBER_OF_PROJECTILE_TYPES);
34+ return &projectile_default_definitions[index];
35+}
36+physics_constants* PhysicsDefaultValues::getPhysicsConstant(int index)
37+{
38+ wxASSERT(index >= 0 && index < NUMBER_OF_PHYSICS_MODELS);
39+ return &physics_default_models[index];
40+}
41+weapon_definition* PhysicsDefaultValues::getWeaponDefinition(int index)
42+{
43+ wxASSERT(index >= 0 && index < MAXIMUM_NUMBER_OF_WEAPONS);
44+ return &weapon_default_definitions[index];
45+}
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/PhysicsEditorOneWX.cpp (revision 448)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/PhysicsEditorOneWX.cpp (revision 449)
@@ -1,4 +1,335 @@
11 #include "PhysicsEditorOneWX.h"
2+#include "MainFrame.h"
23
3-const int WINDOW_DEFAULT_WIDTH = 800;
4-const int WINDOW_DEFAULT_HEIGHT = 600;
4+static char* DEFAULT_PHYSICS_FILE_PATH = "Physics.phyA";
5+
6+//実体を持たせます
7+DECLARE_APP(PhysicsEditorOneWX)
8+
9+bool PhysicsEditorOneWX::OnInit()
10+{
11+ this->init();
12+
13+ this->frame = new MainFrame();
14+ frame->Create(NULL, wxID_ANY);
15+
16+ //デフォルトデータとしてファイルから読み込んでおく
17+ this->loadDefaultPhysicsFile();
18+
19+ frame->Show(true);
20+
21+ return TRUE;
22+}
23+
24+/**
25+ wxWidgetsに依存しない初期設定
26+*/
27+void PhysicsEditorOneWX::init()
28+{
29+ //load names from text
30+
31+ //general
32+ // collections
33+ hpl::aleph::loadInformation("data/Collections.txt", NUMBER_OF_COLLECTIONS,
34+ collectionInfo);
35+ // sounds
36+ hpl::aleph::loadInformation("data/Sounds.txt", NUMBER_OF_SOUND_DEFINITIONS,
37+ soundInfo);
38+ //damages
39+ hpl::aleph::loadInformation("data/Damages.txt", NUMBER_OF_DAMAGE_TYPES,
40+ damageInfo);
41+ //items
42+ hpl::aleph::loadInformation("data/DefinedItems.txt", NUMBER_OF_DEFINED_ITEMS,
43+ itemInfo);
44+ //speeds (preset)
45+ hpl::aleph::loadInformation("data/Speeds.txt", NUMBER_OF_SPEED_INFORMATIONS,
46+ speedBind);
47+ int speedBinds[]={
48+ _speed_slow, _speed_medium, _speed_almost_fast, _speed_fast,
49+ _speed_superfast1, _speed_superfast2, _speed_superfast3,
50+ _speed_superfast4, _speed_superfast5,
51+ _speed_blinding, _speed_insane
52+ };
53+ hpl::aleph::setInformationBind(NUMBER_OF_SPEED_INFORMATIONS,
54+ speedBind, speedBinds);
55+
56+ //monster
57+ // types
58+ hpl::aleph::loadInformation("data/MonsterTypes.txt", NUMBER_OF_MONSTER_TYPES,
59+ monsterInfo);
60+ // activates
61+ hpl::aleph::loadInformation("data/MonsterActivates.txt", NUMBER_OF_MONSTER_ACTIVATE_INFORMATIONS,
62+ monsterActivateInfo);
63+ // classes
64+ hpl::aleph::loadInformation("data/MonsterClasses.txt", NUMBER_OF_CLASS_INFORMATIONS,
65+ monsterClassBind);
66+ int monsterClassBinds[]={
67+ _class_player, _class_human_civilian, _class_madd, _class_possessed_hummer,
68+ _class_defender,
69+ _class_fighter, _class_trooper, _class_hunter, _class_enforcer, _class_juggernaut,
70+ _class_compiler, _class_cyborg, _class_assimilated_civilian,
71+ _class_hummer, _class_tick, _class_yeti
72+ };
73+ hpl::aleph::setInformationBind(NUMBER_OF_CLASS_INFORMATIONS,
74+ monsterClassBind, monsterClassBinds);
75+ // intelligence
76+ hpl::aleph::loadInformation("data/MonsterIntelligences.txt", NUMBER_OF_MONSTER_INTELLIGENCE_INFORMATIONS,
77+ monsterIntelligenceBind);
78+ int monsterIntelligenceBinds[]={
79+ _intelligence_low, _intelligence_average, _intelligence_high
80+ };
81+ hpl::aleph::setInformationBind(NUMBER_OF_MONSTER_INTELLIGENCE_INFORMATIONS,
82+ monsterIntelligenceBind, monsterIntelligenceBinds);
83+ // door retly
84+ hpl::aleph::loadInformation("data/MonsterDoorRetryMasks.txt", NUMBER_OF_MONSTER_DOOR_RETRY_MASK_INFORMATIONS,
85+ monsterDoorRetryMaskBind);
86+ int monsterDoorRetryMaskBinds[]={
87+ _slow_door_retry_mask, _normal_door_retry_mask,
88+ _fast_door_retry_mask, _vidmaster_door_retry_mask
89+ };
90+ hpl::aleph::setInformationBind(NUMBER_OF_MONSTER_DOOR_RETRY_MASK_INFORMATIONS,
91+ monsterDoorRetryMaskBind, monsterClassBinds);
92+ // flags
93+ int monsterFlagsBinds[]={
94+ //0
95+ _monster_is_omniscent,
96+ _monster_flys,
97+ _monster_is_alien,
98+ _monster_major,
99+ _monster_minor,
100+
101+ //5
102+ _monster_cannot_be_dropped,
103+ _monster_floats,
104+ _monster_cannot_attack,
105+ _monster_uses_sniper_ledges,
106+ _monster_is_invisible,
107+
108+ //10
109+ _monster_is_subtly_invisible,
110+ _monster_is_kamakazi,
111+ _monster_is_berserker,
112+ _monster_is_enlarged,
113+ _monster_has_delayed_hard_death,
114+
115+ //15
116+ _monster_fires_symmetrically,
117+ _monster_has_nuclear_hard_death,
118+ _monster_cant_fire_backwards,
119+ _monster_can_die_in_flames,
120+ _monster_waits_with_clear_shot,
121+
122+ //20
123+ _monster_is_tiny,
124+ _monster_attacks_immediately,
125+ _monster_is_not_afraid_of_water,
126+ _monster_is_not_afraid_of_sewage,
127+ _monster_is_not_afraid_of_lava,
128+
129+ //25
130+ _monster_is_not_afraid_of_goo,
131+ _monster_can_teleport_under_media,
132+ _monster_chooses_weapons_randomly
133+ };
134+ hpl::aleph::setInformationBind(NUMBER_OF_MONSTER_FLAG_INFORMATIONS,
135+ monsterFlagsBind, monsterFlagsBinds);
136+
137+ ////////////////
138+ //projectiles
139+ // types
140+ hpl::aleph::loadInformation("data/Projectiles.txt", NUMBER_OF_PROJECTILE_TYPES,
141+ projectileInfo);
142+ // flags
143+ int projectileFlagsBinds[] = {
144+ //0
145+ _guided,
146+ _stop_when_animation_loops,
147+ _persistent,
148+ _alien_projectile,
149+ _affected_by_gravity,
150+
151+ _no_horizontal_error,
152+ _no_vertical_error,
153+ _can_toggle_control_panels,
154+ _positive_vertical_error,
155+ _melee_projectile,
156+
157+ _persistent_and_virulent,
158+ _usually_pass_transparent_side,
159+ _sometimes_pass_transparent_side,
160+ _doubly_affected_by_gravity,
161+ _rebounds_from_floor,
162+
163+ _penetrates_media,
164+ _becomes_item_on_detonation,
165+ _bleeding_projectile,
166+ _horizontal_wander,
167+ _vertical_wander,
168+
169+ //20
170+ _affected_by_half_gravity,
171+ _penetrates_media_boundary
172+ };
173+ hpl::aleph::setInformationBind(NUMBER_OF_PROJECTILE_FLAG_INFORMATIONS,
174+ projectileFlagsBind, projectileFlagsBinds);
175+
176+ /////////////////////////
177+ //effects
178+ // types
179+ hpl::aleph::loadInformation("data/Effects.txt", NUMBER_OF_EFFECT_TYPES,
180+ effectInfo);
181+ // flags
182+ int effectFlagsBinds[] = {
183+ _end_when_animation_loops,
184+ _end_when_transfer_animation_loops,
185+ _sound_only,
186+ _make_twin_visible,
187+ _media_effect
188+ };
189+ hpl::aleph::setInformationBind(NUMBER_OF_EFFECT_FLAG_INFORMATIONS,
190+ effectFlagsBind, effectFlagsBinds);
191+
192+ ////////////////////
193+ //physics
194+ // types
195+ hpl::aleph::loadInformation("data/PhysicsTypes.txt", NUMBER_OF_EFFECT_TYPES,
196+ effectInfo);
197+
198+ /////////////////////
199+ //weapons
200+ // types
201+ hpl::aleph::loadInformation("data/Weapons.txt", MAXIMUM_NUMBER_OF_WEAPONS,
202+ weaponInfo);
203+ // classes
204+ hpl::aleph::loadInformation("data/WeaponClasses.txt", NUMBER_OF_WEAPON_CLASS_INFORMATIONS,
205+ weaponClassInfo);
206+ // flags
207+ int weaponFlagsBinds[] = {
208+ _weapon_is_automatic,
209+ _weapon_disappears_after_use,
210+ _weapon_plays_instant_shell_casing_sound,
211+ _weapon_overloads,
212+ _weapon_has_random_ammo_on_pickup,
213+
214+ _powerup_is_temporary,
215+ _weapon_reloads_in_one_hand,
216+ _weapon_fires_out_of_phase,
217+ _weapon_fires_under_media,
218+ _weapon_triggers_share_ammo,
219+ _weapon_secondary_has_angular_flipping
220+ };
221+ hpl::aleph::setInformationBind(NUMBER_OF_WEAPON_FLAG_INFORMATIONS,
222+ weaponFlagsBind, weaponFlagsBinds);
223+ // shell casing
224+ hpl::aleph::loadInformation("data/ShellCasingTypes.txt", NUMBER_OF_SHELL_CASING_TYPES,
225+ weaponShellCasingInfo);
226+
227+ //各種設定
228+ this->setNew(true);
229+ this->setChanged(false);
230+
231+}
232+
233+/**
234+ 更新があったかどうか
235+*/
236+void PhysicsEditorOneWX::setNewAndChanged(bool new_, bool changed)
237+{
238+ //前の状態
239+ bool prevChanged = this->isChanged();
240+
241+ //状態更新
242+ this->isChanged_ = changed;
243+ this->isNew_ = new_;
244+
245+ if(!prevChanged && changed){
246+ //変更していない状態から変更状態へ移った
247+ if(this->isNew()){
248+ //タイトルバーの文字列を TITLE + " *" にする
249+ frame->SetTitle(wx::string::getString("%s *", TITLE));
250+ }else{
251+ //タイトルバーの文字列を TITLE + " " + saveFilePath + " *" にする
252+ frame->SetTitle(wx::string::getString("%s %s *", TITLE, this->getSaveFilePath().c_str()));
253+ }
254+ }else if(prevChanged && !changed){
255+ //変更状態から保存状態、新規状態に移った
256+ if(this->isNew()){
257+ //タイトルバーの文字列を TITLE にする
258+ frame->SetTitle(wx::string::getString("%s", TITLE));
259+ }else{
260+ //タイトルバーの文字列を TITLE + " " + saveFilePath にする
261+ frame->SetTitle(wx::string::getString("%s %s", TITLE, this->getSaveFilePath().c_str()));
262+ }
263+ }
264+}
265+bool PhysicsEditorOneWX::isChanged()
266+{
267+ return this->isChanged_;
268+}
269+/**
270+ 新規データか
271+*/
272+bool PhysicsEditorOneWX::isNew()
273+{
274+ return this->isNew_;
275+}
276+
277+/**
278+ デフォルト設定の取り出し
279+*/
280+PhysicsDefaultValues* PhysicsEditorOneWX::getDefaultValues()
281+{
282+ return &this->defaultValues;
283+}
284+
285+static void independentLoadPhysicsFile(const char* filePath)
286+{
287+ //物理ファイル名設定
288+ FileSpecifier phy = FileSpecifier(filePath);
289+ //対象に設定
290+ set_physics_file(phy);
291+ //読み込み
292+ import_definition_structures();
293+}
294+/**
295+ PhysicsFileを読み込みます
296+*/
297+void PhysicsEditorOneWX::loadPhysicsFile(const char* filePath)
298+{
299+ independentLoadPhysicsFile(filePath);
300+ //状態設定
301+ this->setNewAndChanged(false, false);
302+
303+}
304+void PhysicsEditorOneWX::loadDefaultPhysicsFile()
305+{
306+ independentLoadPhysicsFile(DEFAULT_PHYSICS_FILE_PATH);
307+ this->setNewAndChanged(true, false);
308+}
309+
310+/**
311+ 読み込んだあるいは保存先のファイルパスを設定
312+ 存在しない場合にこれを呼ぶというのは処理がおかしいことになる。
313+ それのチェックも兼ねる
314+*/
315+void PhysicsEditorOneWX::setSaveFilePath(const char* filePath)
316+{
317+ this->saveFilePath = std::string(filePath);
318+}
319+std::string PhysicsEditorOneWX::getSaveFilePath()
320+{
321+ //まだ読み込んでいないのに呼ばれたら処理がおかしい
322+ wxASSERT(!this->isNew());
323+ return this->saveFilePath;
324+}
325+/**
326+ Save and/or create PhysicsFile
327+*/
328+void PhysicsEditorOneWX::savePhysicsFile(const char* filePath)
329+{
330+ wxASSERT(strcmp(filePath, DEFAULT_PHYSICS_FILE_PATH) != 0);
331+ export_definition_structures(filePath);
332+
333+ //更新・新規設定
334+ this->setNewAndChanged(false, false);
335+}
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/PhysicsDefaultValues.h (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/PhysicsDefaultValues.h (revision 449)
@@ -0,0 +1,30 @@
1+#ifndef _PHYSICS_DEFAULT_VALUES_
2+#define _PHYSICS_DEFAULT_VALUES_
3+
4+#include "Common.h"
5+
6+/**
7+ デフォルト設定を管理するクラス
8+ インデックス外部へのアクセスなどをブロックするのが目的
9+*/
10+class PhysicsDefaultValues{
11+public:
12+private:
13+ struct monster_definition monster_default_definitions[NUMBER_OF_MONSTER_TYPES];
14+ struct effect_definition effect_default_definitions[NUMBER_OF_EFFECT_TYPES];
15+ struct projectile_definition projectile_default_definitions[NUMBER_OF_PROJECTILE_TYPES];
16+ struct physics_constants physics_default_models[NUMBER_OF_PHYSICS_MODELS];
17+ struct weapon_definition weapon_default_definitions[MAXIMUM_NUMBER_OF_WEAPONS];
18+public:
19+ PhysicsDefaultValues();
20+ ~PhysicsDefaultValues();
21+private:
22+public:
23+ monster_definition* getMonsterDefinition(int index);
24+ effect_definition* getEffectDefinition(int index);
25+ projectile_definition* getProjectileDefinition(int index);
26+ physics_constants* getPhysicsConstant(int index);
27+ weapon_definition* getWeaponDefinition(int index);
28+};
29+
30+#endif
\ No newline at end of file
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/Common.h (revision 448)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/src/Common.h (revision 449)
@@ -24,6 +24,20 @@
2424 #include <wx/listctrl.h>
2525 #include <wx/image.h>
2626 #include <wx/notebook.h>
27+#include <vector>
28+#include <string>
2729
30+#include "monsters.h"
31+#include "effects.h"
32+#include "physics_models.h"
33+#include "projectiles.h"
34+#include "items.h"
35+#include "mysound.h"
36+#include "weapons.h"
37+#include "monster_definitions.h"
38+#include "effect_definitions.h"
39+#include "projectile_definitions.h"
40+#include "weapon_definitions.h"
2841
42+
2943 #endif
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/Damages.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/Damages.txt (revision 449)
@@ -0,0 +1,24 @@
1+explosion
2+electrical_staff
3+projectile
4+absorbed
5+flame
6+hound_claws
7+alien_projectile
8+hulk_slap
9+compiler_bolt
10+fusion_bolt
11+hunter_bolt
12+fist
13+teleporter
14+defender
15+yeti_claws
16+yeti_projectile
17+crushing
18+lava
19+suffocation
20+goo
21+energy_drain
22+oxygen_drain
23+hummer_bolt
24+shotgun_projectile
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/MonsterFlags.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/MonsterFlags.txt (revision 449)
@@ -0,0 +1,28 @@
1+omniscent
2+flys
3+alien
4+major
5+minor
6+cannot be dropped
7+floats
8+cannot attack
9+uses sniper ledges
10+invisible
11+subtly invisible
12+kamakazi
13+berserker
14+enlarged
15+has delayed hard death
16+fires symmetrically
17+has nuclear hard death
18+cant fire backwards
19+can die in flames
20+waits with clear shot
21+tiny
22+attacks immediately
23+not afraid of water
24+not afraid of sewage
25+not afraid of lava
26+not afraid of goo
27+can teleport under media
28+chooses weapons randomly
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/MonsterClasses.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/MonsterClasses.txt (revision 449)
@@ -0,0 +1,16 @@
1+player
2+human_civilian
3+madd
4+possessed_hummer
5+defender
6+fighter
7+trooper
8+hunter
9+enforcer
10+juggernaut
11+compiler
12+cyborg
13+assimilated_civilian
14+hummer
15+tick
16+yeti
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/WSFlags.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/WSFlags.txt (revision 449)
@@ -0,0 +1,28 @@
1+Ominiscent
2+Flys
3+Alien
4+Major
5+Minor
6+NoDrop
7+Floats
8+ChooseRandomWeapon
9+Sniper
10+SubtlyInvisible
11+Invisible
12+KAMIKAZE
13+Berserker
14+Enlarged
15+DelayDeath
16+DoubleFire
17+NuclearDeath
18+NoBackwardFire
19+DieInFlames
20+WaitAndShot
21+Tiny
22+AttackImmediately
23+CanSwimInWater
24+CanSwimInSewage
25+CanSwimInLava
26+CanSwimInGoo
27+TeleportIntoMedia
28+RandomWeapon
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/WeaponClasses.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/WeaponClasses.txt (revision 449)
@@ -0,0 +1,5 @@
1+melee
2+normal
3+dual function
4+twofisted pistol
5+multipurpose
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/PhysicsTypes.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/PhysicsTypes.txt (revision 449)
@@ -0,0 +1,2 @@
1+_model_game_walking
2+_model_game_running
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/WSEnemiesFriends.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/WSEnemiesFriends.txt (revision 449)
@@ -0,0 +1,16 @@
1+Player
2+Bob
3+MADD
4+PossessedDrone
5+Kir
6+Fighter
7+Trooper
8+Hunter
9+Enforcer
10+Juggernaut
11+Compiler
12+Cyborg
13+AssimilatedBob
14+Drone
15+Tick
16+Yeti
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/Sounds.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/Sounds.txt (revision 449)
@@ -0,0 +1,262 @@
1+startup
2+teleport_in
3+teleport_out
4+body_being_crunched
5+creak
6+absorbed
7+
8+breathing
9+oxygen_warning
10+suffocation
11+
12+energy_refuel
13+oxygen_refuel
14+cant_toggle_switch
15+switch_on
16+switch_off
17+puzzle_switch
18+chip_insertion
19+pattern_buffer
20+destroy_control_panel
21+
22+adjust_volume
23+got_powerup
24+got_item
25+
26+bullet_ricochet
27+metallic_ricochet
28+empty_gun
29+
30+spht_door_opening
31+spht_door_closing
32+spht_door_obstructed
33+
34+spht_platform_starting
35+spht_platform_stopping
36+
37+owl
38+smg_firing
39+smg_reloading
40+
41+heavy_spht_platform_starting
42+heavy_spht_platform_stopping
43+
44+fist_hitting
45+
46+magnum_firing
47+magnum_reloading
48+
49+assault_rifle_firing
50+grenade_launcher_firing
51+grenade_exploding
52+grenade_flyby
53+
54+fusion_firing
55+fusion_exploding
56+fusion_flyby
57+fusion_charging
58+
59+rocket_exploding
60+rocket_flyby
61+rocket_firing
62+
63+flamethrower
64+
65+body_falling
66+body_exploding
67+bullet_hitting_flesh
68+
69+fighter_activate
70+fighter_wail
71+fighter_scream
72+fighter_chatter
73+fighter_attack
74+fighter_projectile_hit
75+fighter_projectile_flyby
76+
77+compiler_attack
78+compiler_death
79+compiler_hit
80+compiler_projectile_flyby
81+compiler_projectile_hit
82+
83+cyborg_moving
84+cyborg_attack
85+cyborg_hit
86+cyborg_death
87+cyborg_projectile_bounce
88+cyborg_projectile_hit
89+cyborg_projectile_flyby
90+
91+hummer_activate
92+hummer_start_attack
93+hummer_attack
94+hummer_dying
95+hummer_death
96+hummer_projectile_hit
97+hummer_projectile_flyby
98+
99+human_wail
100+human_scream
101+human_hit
102+human_chatter
103+assimilated_human_chatter
104+human_trash_talk
105+human_apology
106+human_activation
107+human_clear
108+human_stop_shooting_me_you_bastard
109+human_area_secure
110+kill_the_player
111+
112+water
113+sewage
114+lava
115+goo
116+under_media
117+wind
118+waterfall
119+siren
120+fan
121+spht_door
122+spht_platform
123+alien_harmonics
124+heavy_spht_platform
125+light_machinery
126+heavy_machinery
127+transformer
128+sparking_transformer
129+
130+water_drip
131+
132+walking_in_water
133+exit_water
134+enter_water
135+small_water_splash
136+medium_water_splash
137+large_water_splash
138+
139+walking_in_lava
140+enter_lava
141+exit_lava
142+small_lava_splash
143+medium_lava_splash
144+large_lava_splash
145+
146+walking_in_sewage
147+exit_sewage
148+enter_sewage
149+small_sewage_splash
150+medium_sewage_splash
151+large_sewage_splash
152+
153+walking_in_goo
154+exit_goo
155+enter_goo
156+small_goo_splash
157+medium_goo_splash
158+large_goo_splash
159+
160+major_fusion_firing
161+major_fusion_charged
162+
163+assault_rifle_reloading
164+assault_rifle_shell_casings
165+
166+shotgun_firing
167+shotgun_reloading
168+
169+ball_bounce
170+you_are_it
171+got_ball
172+
173+logon
174+logout
175+page
176+
177+heavy_spht_door
178+HeavySphtDoorOpening
179+HeavySphtDoorClosing
180+HeavySphtDoorOpen
181+HeavySphtDoorClosed
182+HeavySphtDoorObstructed
183+
184+hunter_activate
185+hunter_attack
186+hunter_dying
187+hunter_landing
188+hunter_exploding
189+hunter_projectile_hit
190+hunter_projectile_flyby
191+
192+enforcer_activate
193+enforcer_attack
194+enforcer_projectile_hit
195+enforcer_projectile_flyby
196+
197+yeti_melee_attack
198+yeti_melee_attack_hit
199+yeti_attack
200+yeti_sewage_attack_hit
201+yeti_sewage_flyby
202+yeti_lava_attack_hit
203+yeti_lava_flyby
204+yeti_dying
205+
206+machine_binder
207+machine_bookpress
208+machine_puncher
209+electric
210+alarm
211+night_wind
212+
213+surface_explosion
214+underground_explosion
215+
216+defender_attack
217+defender_hit
218+defender_flyby
219+defender_being_hit
220+defender_exploding
221+
222+tick_chatter
223+tick_falling
224+tick_flapping
225+tick_exploding
226+
227+ceiling_lamp_exploding
228+
229+pfhor_platform_starting
230+pfhor_platform_stopping
231+pfhor_platform
232+
233+pfhor_door_opening
234+pfhor_door_closing
235+pfhor_door_obstructed
236+pfhor_door
237+
238+pfhor_switch_off
239+pfhor_switch_on
240+
241+juggernaut_firing
242+juggernaut_warning
243+juggernaut_exploding
244+juggernaut_preparing_to_fire
245+
246+enforcer_exploding
247+
248+alien_noise1
249+alien_noise2
250+
251+civilian_fusion_wail
252+civilian_fusion_scream
253+civilian_fusion_hit
254+civilian_fusion_chatter
255+assimilated_civilian_fusion_chatter
256+civilian_fusion_trash_talk
257+civilian_fusion_apology
258+civilian_fusion_activation
259+civilian_fusion_clear
260+civilian_fusion_stop_shooting_me_you_bastard
261+civilian_fusion_area_secure
262+civilian_fusion_kill_the_player
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/Weapons.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/Weapons.txt (revision 449)
@@ -0,0 +1,10 @@
1+fist
2+pistol
3+plasma pistol
4+assault rifle
5+missile launcher
6+flamethrower
7+alien shotgun
8+shotgun
9+ball
10+smg
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/MonsterTypes.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/MonsterTypes.txt (revision 449)
@@ -0,0 +1,47 @@
1+marine
2+tick energy
3+tick oxygen
4+tick kamakazi
5+compiler minor
6+compiler major
7+compiler minor invisible
8+compiler major invisible
9+fighter minor
10+fighter major
11+fighter minor projectile
12+fighter major projectile
13+crew
14+science
15+security
16+assimilated
17+hummer minor // slow hummer
18+hummer major // fast hummer
19+hummer big minor // big hummer
20+hummer big major // angry hummer
21+hummer possessed // hummer from durandal
22+cyborg minor
23+cyborg major
24+cyborg flame minor
25+cyborg flame major
26+enforcer minor
27+enforcer major
28+hunter minor
29+hunter major
30+trooper minor
31+trooper major
32+mother of all cyborgs
33+mother of all hunters
34+sewage yeti
35+water yeti
36+lava yeti
37+defender minor
38+defender major
39+juggernaut minor
40+juggernaut major
41+tiny fighter
42+tiny bob
43+tiny yeti
44+fusion crew
45+fusion science
46+fusion security
47+fusion assimilated
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/Collections.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/Collections.txt (revision 449)
@@ -0,0 +1,32 @@
1+interface
2+weapons_in_hand
3+juggernaut
4+tick
5+rocket
6+hunter
7+player
8+items
9+trooper
10+fighter
11+defender
12+yeti
13+civilian
14+civilian_fusion
15+enforcer
16+hummer
17+compiler
18+walls1
19+walls2
20+walls3
21+walls4
22+walls5
23+scenery1
24+scenery2
25+scenery3
26+scenery4
27+scenery5
28+landscape1
29+landscape2
30+landscape3
31+landscape4
32+cyborg
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/Effects.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/Effects.txt (revision 449)
@@ -0,0 +1,73 @@
1+rocket explosion
2+rocket contrail
3+grenade explosion
4+grenade contrail
5+bullet ricochet
6+alien weapon ricochet
7+flamethrower burst
8+fighter blood splash
9+player blood splash
10+civilian blood splash
11+assimilated civilian blood splash
12+enforcer blood splash
13+compiler bolt minor detonation
14+compiler bolt major detonation
15+compiler bolt major contrail
16+fighter projectile detonation
17+fighter melee detonation
18+hunter projectile detonation
19+hunter spark
20+minor fusion detonation
21+major fusion detonation
22+major fusion contrail
23+fist detonation
24+minor defender detonation
25+major defender detonation
26+defender spark
27+trooper blood splash
28+water lamp breaking
29+lava lamp breaking
30+sewage lamp breaking
31+alien lamp breaking
32+metallic clang
33+teleport object in
34+teleport object out
35+small water splash
36+medium water splash
37+large water splash
38+large water emergence
39+small lava splash
40+medium lava splash
41+large lava splash
42+large lava emergence
43+small sewage splash
44+medium sewage splash
45+large sewage splash
46+large sewage emergence
47+small goo splash
48+medium goo splash
49+large goo splash
50+large goo emergence
51+minor hummer projectile detonation
52+major hummer projectile detonation
53+durandal hummer projectile detonation
54+hummer spark
55+cyborg projectile detonation
56+cyborg blood splash
57+minor fusion dispersal
58+major fusion dispersal
59+overloaded fusion dispersal
60+sewage yeti blood splash
61+sewage yeti projectile detonation
62+water yeti blood splash
63+lava yeti blood splash
64+lava yeti projectile detonation
65+yeti melee detonation
66+juggernaut spark
67+juggernaut missile contrail
68+small jjaro splash
69+medium jjaro splash
70+large jjaro splash
71+large jjaro emergence
72+civilian fusion blood splash
73+assimilated civilian fusion blood splash
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/WSWeaponFlags.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/WSWeaponFlags.txt (revision 449)
@@ -0,0 +1,11 @@
1+is automatic
2+disappears after use
3+plays instant shell casing sound
4+overloads
5+has random ammo on pickup
6+powerup is temporary
7+reloads in one hand
8+fires out of phase
9+fires under media
10+triggers share ammo
11+secondary has angular flipping
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/ShellCasingTypes.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/ShellCasingTypes.txt (revision 449)
@@ -0,0 +1,5 @@
1+assault rifle
2+pistol
3+pistol left
4+pistol right
5+smg
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/Projectiles.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/Projectiles.txt (revision 449)
@@ -0,0 +1,39 @@
1+rocket
2+grenade
3+pistol bullet
4+rifle bullet
5+shotgun bullet
6+staff
7+staff bolt
8+flamethrower burst
9+compiler bolt minor
10+compiler bolt major
11+alien weapon
12+fusion bolt minor
13+fusion bolt major
14+hunter
15+fist
16+armageddon sphere
17+armageddon electricity
18+juggernaut rocket
19+trooper bullet
20+trooper grenade
21+minor defender
22+major defender
23+juggernaut missile
24+minor energy drain
25+major energy drain
26+oxygen drain
27+minor hummer
28+major hummer
29+durandal hummer
30+minor cyborg ball
31+major cyborg ball
32+ball
33+minor fusion dispersal
34+major fusion dispersal
35+overloaded fusion dispersal
36+yeti
37+sewage yeti
38+lava yeti
39+smg bullet
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/Speeds.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/Speeds.txt (revision 449)
@@ -0,0 +1,11 @@
1+_speed_slow
2+_speed_medium
3+_speed_almost_fast
4+_speed_fast
5+_speed_superfast1
6+_speed_superfast2
7+_speed_superfast3
8+_speed_superfast4
9+_speed_superfast5
10+_speed_blinding
11+_speed_insane
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/WSImmunitiesWeaknesses.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/WSImmunitiesWeaknesses.txt (revision 449)
@@ -0,0 +1,24 @@
1+Explosion
2+ElectricalStaff
3+Projectile
4+Absorbed
5+Flame
6+HoundClaws
7+AlienProjectile
8+HulkSlap
9+CompilerBolt
10+FusionBolt
11+HunterBolt
12+Fist
13+Teleporter
14+Defender
15+YetiClaws
16+YetiRocks
17+Crushing
18+Lava
19+Suffocation
20+Goo
21+EnergyDrain
22+OxygenDrain
23+DroneBolt
24+ShotGunBullet
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/WSProjectileFlags.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/WSProjectileFlags.txt (revision 449)
@@ -0,0 +1,22 @@
1+ guided
2+ stop when animation loops
3+ persistent
4+ alien projectile
5+ affected by gravity
6+ no horizontal error
7+ no vertical error
8+ can toggle control panels
9+ positive vertical error
10+ melee projectile
11+ persistent and virulent
12+ usually pass transparent side
13+ sometimes pass transparent side
14+ doubly affected by gravity
15+ rebounds from floor
16+ penetrates media
17+ becomes item on detonation
18+ bleeding projectile
19+ horizontal wander
20+ vertical wander
21+ affected by half gravity
22+ penetrates media boundary
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/MonsterActivates.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/MonsterActivates.txt (revision 449)
@@ -0,0 +1,4 @@
1+Player
2+NearbyMonster
3+Goal
4+Random
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/MonsterIntelligences.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/MonsterIntelligences.txt (revision 449)
@@ -0,0 +1,3 @@
1+low
2+average
3+high
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/memo.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/memo.txt (revision 449)
@@ -0,0 +1,32 @@
1+収集付かなくなってきた
2+済←変数を持たせたり、イベントハンドラ記述し終わったもの。
3+ ただし最大値問題があっても記述する
4+
5+済:モンスター種類
6+ 完了。数値入力はどうするか?
7+済:コレクション
8+ 完了。数値入力?
9+済:パレット
10+ 完了。負数や存在しないパレットの禁止はどうするか?
11+ (負数意外はパレットぐちゃぐちゃバージョンの保持のため無視?)
12+済:バイタリティ
13+ 完了
14+ :種類
15+ 選択時の処理未。
16+済:半径
17+ 最大最小チェック
18+ 大きさは指標がわからないと作りにくいのでは?
19+済:高さ
20+ 同上
21+済:可能跳躍高度
22+ 同上
23+済:最小・最大俯角
24+ 同上。角度を度に変換できないか?
25+ :速度比率
26+ かなり意味不明。_fixedも意味不明
27+済:所持アイテム
28+ 完了。数値入力?
29+ :ピッチ
30+ 意味不明。小数で表したいところ
31+済:起動音〜燃焼音
32+ 完了。数値入力?
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/MonsterDoorRetryMasks.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/MonsterDoorRetryMasks.txt (revision 449)
@@ -0,0 +1,4 @@
1+slow
2+normal
3+fast
4+VidMaster
--- marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/DefinedItems.txt (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorOneWX/data/DefinedItems.txt (revision 449)
@@ -0,0 +1,38 @@
1+knife
2+magnum
3+magnum_magazine
4+plasma_pistol
5+plasma_magazine
6+assault_rifle
7+assault_rifle_magazine
8+assault_grenade_magazine
9+missile_launcher
10+missile_launcher_magazine
11+invisibility_powerup
12+invincibility_powerup
13+infravision_powerup
14+alien_shotgun
15+alien_shotgun_magazine
16+flamethrower
17+flamethrower_canister
18+extravision_powerup
19+oxygen_powerup
20+energy_powerup
21+double_energy_powerup
22+triple_energy_powerup
23+shotgun
24+shotgun_magazine
25+spht_door_key
26+uplink_chip
27+
28+light_blue_ball
29+red_ball
30+violet_ball
31+yellow_ball
32+brown_ball
33+orange_ball
34+blue_ball
35+green_ball
36+
37+smg
38+smg_ammo
--- marathon/trunk/EditorOnes/PhysicsEditorCommonSrc/PhysicsEditorCommon.h (nonexistent)
+++ marathon/trunk/EditorOnes/PhysicsEditorCommonSrc/PhysicsEditorCommon.h (revision 449)
@@ -0,0 +1,16 @@
1+#ifndef _PHYSICS_EDITOR_COMMON_
2+#define _PHYSICS_EDITOR_COMMON_
3+
4+const int NUMBER_OF_CLASS_INFORMATIONS = 16;
5+const int NUMBER_OF_MONSTER_ACTIVATE_INFORMATIONS = 4;
6+const int NUMBER_OF_MONSTER_INTELLIGENCE_INFORMATIONS = 3;
7+const int NUMBER_OF_MONSTER_DOOR_RETRY_MASK_INFORMATIONS = 4;
8+const int NUMBER_OF_MONSTER_FLAG_INFORMATIONS = 28;
9+const int NUMBER_OF_SPEED_INFORMATIONS = 11;
10+const int NUMBER_OF_EFFECT_FLAG_INFORMATIONS = 5;
11+const int NUMBER_OF_WEAPON_CLASS_INFORMATIONS = 5;
12+const int NUMBER_OF_WEAPON_FLAG_INFORMATIONS = 11;
13+const int NUMBER_OF_PROJECTILE_FLAG_INFORMATIONS = 22;
14+const int NUMBER_OF_ERROR_MESSAGE_INFORMATIONS = 3;
15+
16+#endif
旧リポジトリブラウザで表示