Changeset 1336
 Timestamp:
 May 3, 2012, 1:54:17 PM (9 years ago)
 Location:
 trunk
 Files:

 3 edited
Legend:
 Unmodified
 Added
 Removed

trunk/orbital/orbital.cpp
r1334 r1336 31 31 for (int i = 0; i < 20; i++) 32 32 { 33 m.SendCommand(((i + j) % 2) ? "sc. 3,.7,.9,1,scb.3,.7,.9,1"34 : "sc. 3,.3,.7,1,scb.3,.3,.7,1");33 m.SendCommand(((i + j) % 2) ? "sc.2,.6,.7,1,scb.2,.6,.7,1" 34 : "sc.2,.2,.6,1,scb.2,.2,.6,1"); 35 35 m.SendCommand("ac4,2,44,40,0,0,ty1,ad4,40,0,ry45"); 36 36 m.Scale(vec3(std::sqrt(0.5f))); 37 m.Translate(vec3(i * 44  440, 50, j * 44  440));37 m.Translate(vec3(i * 44  440, 0, j * 44  440)); 38 38 m.Flush(); 39 39 } … … 88 88 Ticker::Ref(m_camera); 89 89 90 for (int j = 0; j < 4; j++) 90 91 for (int i = 0; i < 4; i++) 91 92 { 92 93 m_tanks << new Tank(); 93 m_tanks.Last()>m_position = vec3(i * 40.f  60.f, 0, i * 10.f + 20.f); 94 m_tanks.Last()>m_position = vec3(i * 40.f  60.f, 0, j * 40.f + 20.f); 95 m_tanks.Last()>SetTarget(vec3(i * 80.f  60.f, 0, j * 80.f  30.f)); 94 96 Ticker::Ref(m_tanks.Last()); 95 97 } … … 110 112 Ticker::Shutdown(); 111 113 114 #if 0 112 115 if (m_auto_cam_timer > 0.0f) 113 116 m_auto_cam_timer = seconds; … … 148 151 quat q = quat::rotate(90.f, 0.f, 0.f, 1.f); 149 152 mat4 anim = mat4(~q * quat::fromeuler(m_angle) * q); 150 mat4 model = mat4::translate(vec3(0)); 151 152 m_model = m odel * anim;153 #endif 154 155 m_model = mat4(1.f); 153 156 } 154 157 
trunk/orbital/tank.h
r1335 r1336 14 14 public: 15 15 Tank() 16 : m_ angle(0.f),16 : m_turret_angle(0.f), 17 17 m_ready(false) 18 18 { 19 m_body.SendCommand("sc0.1,0.1,0,1,ab6,6,15,ty2,sc1,1,1,1,afcb4,5,16,0.4,tx4, mx,fl,sc0.2,0.7,0,1,afcb8,7,10,0.4,tz4,fl");20 m_ head.SendCommand("sc0.2,0.7,0,1,afcb3,6,10,0.4,tx8,afcb3,6,10,0.4,tx4,ty10,fl,sc1,1,1,1,afcb3,6,10,0.4,rx30,ty10,fl");19 m_body.SendCommand("sc0.1,0.1,0,1,ab6,6,15,ty2,sc1,1,1,1,afcb4,5,16,0.4,tx4,ty5,mx,fl,sc0.2,0.7,0,1,afcb8,7,10,0.4,tz4,ty5,fl"); 20 m_turret.SendCommand("sc0.2,0.7,0,1,afcb3,6,10,0.4,tx8,afcb3,6,10,0.4,tx4,ty13,fl,sc1,1,1,1,afcb3,6,10,0.4,rx30,ty13,fl"); 21 21 } 22 22 … … 27 27 char const *GetName() { return "<tank>"; } 28 28 29 /* Set a target for the tank */ 30 void SetTarget(vec3 const &position) 31 { 32 m_target = position; 33 } 34 29 35 protected: 30 36 virtual void TickGame(float seconds) … … 32 38 WorldEntity::TickGame(seconds); 33 39 34 m_rotation *= quat::rotate(seconds * 20.f, vec3(0, 1, 0)); 35 m_angle += seconds * 50.f; 40 float test = RandF(0.f, +40.f); 41 m_rotation *= quat::rotate(seconds * test, vec3(0, 1, 0)); 42 m_velocity = m_rotation.transform(vec3(0, 0, 1)); 43 m_position += seconds * 40.f * m_velocity; 44 45 m_turret_angle += seconds * 50.f; 36 46 } 37 47 … … 43 53 { 44 54 m_body.SendCommand("irb"); 45 m_ head.SendCommand("irb");55 m_turret.SendCommand("irb"); 46 56 m_ready = true; 47 57 } … … 50 60 m_body.Render(model); 51 61 52 model = model * mat4::rotate(m_ angle, vec3(0, 1, 0));53 m_ head.Render(model);62 model = model * mat4::rotate(m_turret_angle, vec3(0, 1, 0)); 63 m_turret.Render(model); 54 64 } 55 65 56 66 private: 57 Mesh m_body, m_head; 58 float m_angle; 67 Mesh m_body, m_turret; 68 vec3 m_target; 69 float m_turret_angle; 59 70 bool m_ready; 60 71 }; 
trunk/src/camera.cpp
r1325 r1336 58 58 WorldEntity::TickGame(seconds); 59 59 60 int updown = Input::GetButtonState(273 /*SDLK_UP*/) 61  Input::GetButtonState(274 /*SDLK_DOWN*/); 62 int rightleft = Input::GetButtonState(275 /*SDLK_RIGHT*/) 63  Input::GetButtonState(276 /*SDLK_LEFT*/); 64 int pgupdown = Input::GetButtonState(280 /*SDLK_PAGEUP*/) 65  Input::GetButtonState(281 /*SDLK_PAGEDOWN*/); 66 67 m_position += vec3(rightleft, pgupdown, updown) * 200.f * seconds; 68 m_target += vec3(rightleft, 0, updown) * 200.f * seconds; 69 60 70 m_view_matrix = mat4::lookat(m_position, m_target, m_up); 61 m_proj_matrix = mat4::perspective(45.0f, 640.0f, 480.0f, 1.f, 1000 .0f);71 m_proj_matrix = mat4::perspective(45.0f, 640.0f, 480.0f, 1.f, 10000.0f); 62 72 //m_proj_matrix = mat4::ortho(160, 160, 120, 120, .1f, 2000.0f); 63 73 }
Note: See TracChangeset
for help on using the changeset viewer.