diff options
| author | jacob1 <jfu614@gmail.com> | 2012-09-30 18:21:32 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-09-30 19:43:38 (GMT) |
| commit | be1b9112e85c270920a559acd790340ca32bce7f (patch) | |
| tree | 9cfd011bd6b3cb030c825613ae43fcdee5c43c73 /src | |
| parent | 1c60ce25ee2fe15cc4bfa0649853bf6a0b95c14d (diff) | |
| download | powder-be1b9112e85c270920a559acd790340ca32bce7f.zip powder-be1b9112e85c270920a559acd790340ca32bce7f.tar.gz | |
Fix some uninitialized variables, add back sandcolor changing
Diffstat (limited to 'src')
| -rw-r--r-- | src/simulation/Simulation.cpp | 13 | ||||
| -rw-r--r-- | src/simulation/Simulation.h | 6 | ||||
| -rw-r--r-- | src/virtualmachine/Syscalls.cpp | 13 |
3 files changed, 24 insertions, 8 deletions
diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp index 462d4a3..004a914 100644 --- a/src/simulation/Simulation.cpp +++ b/src/simulation/Simulation.cpp @@ -3020,9 +3020,9 @@ int Simulation::create_part(int p, int x, int y, int tv) { int colr, colg, colb, randa; randa = (rand()%30)-15; - colr = (PIXR(elements[t].Colour)+sandcolour_r+(rand()%20)-10+randa); - colg = (PIXG(elements[t].Colour)+sandcolour_g+(rand()%20)-10+randa); - colb = (PIXB(elements[t].Colour)+sandcolour_b+(rand()%20)-10+randa); + colr = (PIXR(elements[t].Colour)+sandcolour+(rand()%20)-10+randa); + colg = (PIXG(elements[t].Colour)+sandcolour+(rand()%20)-10+randa); + colb = (PIXB(elements[t].Colour)+sandcolour+(rand()%20)-10+randa); colr = colr>255 ? 255 : (colr<0 ? 0 : colr); colg = colg>255 ? 255 : (colg<0 ? 0 : colg); colb = colb>255 ? 255 : (colb<0 ? 0 : colb); @@ -4483,6 +4483,8 @@ void Simulation::update_particles()//doesn't update the particles themselves, bu if(emp_decor < 0) emp_decor = 0; } + sandcolour = (int)(20.0f*sin((float)sandcolour_frame*(M_PI/180.0f))); + sandcolour_frame = (sandcolour_frame++)%360; memset(pmap, 0, sizeof(pmap)); memset(pmap_count, 0, sizeof(pmap_count)); @@ -4586,7 +4588,10 @@ Simulation::~Simulation() } Simulation::Simulation(): - sys_pause(0) + sys_pause(0), + framerender(false), + pretty_powder(0), + sandcolour_frame(0) { int tportal_rx[] = {-1, 0, 1, 1, 1, 0,-1,-1}; diff --git a/src/simulation/Simulation.h b/src/simulation/Simulation.h index 83e5629..ba9fa1a 100644 --- a/src/simulation/Simulation.h +++ b/src/simulation/Simulation.h @@ -115,10 +115,8 @@ public: int sys_pause; int framerender; int pretty_powder; - // - int sandcolour_r; - int sandcolour_g; - int sandcolour_b; //TODO: Make a single variable + int sandcolour; + int sandcolour_frame; int Load(GameSave * save); int Load(int x, int y, GameSave * save); diff --git a/src/virtualmachine/Syscalls.cpp b/src/virtualmachine/Syscalls.cpp index 876fe52..31b7dd4 100644 --- a/src/virtualmachine/Syscalls.cpp +++ b/src/virtualmachine/Syscalls.cpp @@ -14,31 +14,37 @@ namespace vm TRAPDEF(sin) { Push<float4_t>(sin(ARG(0).float4)); + return 0; } TRAPDEF(cos) { Push<float4_t>(cos(ARG(0).float4)); + return 0; } TRAPDEF(atan2) { Push<float4_t>(atan2(ARG(0).float4, ARG(1).float4)); + return 0; } TRAPDEF(sqrt) { Push<float4_t>(sqrt(ARG(0).float4)); + return 0; } TRAPDEF(floor) { Push<float4_t>(floor(ARG(0).float4)); + return 0; } TRAPDEF(ceil) { Push<float4_t>(ceil(ARG(0).float4)); + return 0; } @@ -47,6 +53,7 @@ namespace vm char *text; text = (char*)(ram) + ARG(0).int4; printf("%s", text); + return 0; } @@ -56,31 +63,37 @@ namespace vm msg = (char*)(ram) + ARG(0).int4; printf("%s", msg); End(); + return 0; } TRAPDEF(partCreate) { Push<int4_t>(sim->create_part(ARG(0).int4, ARG(1).int4, ARG(2).int4, ARG(3).int4)); + return 0; } TRAPDEF(partChangeType) { sim->part_change_type(ARG(0).int4, ARG(1).int4, ARG(2).int4, ARG(3).int4); + return 0; } TRAPDEF(pmapData) { Push<int4_t>(sim->pmap[ARG(1).int4][ARG(0).int4]); + return 0; } TRAPDEF(deletePart) { sim->delete_part(ARG(0).int4, ARG(1).int4, ARG(2).int4); + return 0; } TRAPDEF(killPart) { sim->kill_part(ARG(0).int4); + return 0; } } |
