cloth wind rippling
							parent
							
								
									311e263390
								
							
						
					
					
						commit
						5f018e76ba
					
				| 
						 | 
					@ -351,6 +351,8 @@ typedef struct Silkworm_Context
 | 
				
			||||||
	float yBound;
 | 
						float yBound;
 | 
				
			||||||
	uint32_t clothDensity;
 | 
						uint32_t clothDensity;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						float timeElapsed;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	uint8_t* currentBufferAddress; /* GM doesnt let you pass more than 4 arguments with different types lol */
 | 
						uint8_t* currentBufferAddress; /* GM doesnt let you pass more than 4 arguments with different types lol */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* keep track of these so can do callbacks */
 | 
						/* keep track of these so can do callbacks */
 | 
				
			||||||
| 
						 | 
					@ -403,6 +405,7 @@ void Silkworm_Init()
 | 
				
			||||||
	context->xBound = 1000;
 | 
						context->xBound = 1000;
 | 
				
			||||||
	context->yBound = 1000;
 | 
						context->yBound = 1000;
 | 
				
			||||||
	context->clothDensity = 4;
 | 
						context->clothDensity = 4;
 | 
				
			||||||
 | 
						context->timeElapsed = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	context->nodeDestructionDataCapacity = 16;
 | 
						context->nodeDestructionDataCapacity = 16;
 | 
				
			||||||
	context->nodeDestructionData = malloc(sizeof(Silkworm_Vector2) * context->nodeDestructionDataCapacity);
 | 
						context->nodeDestructionData = malloc(sizeof(Silkworm_Vector2) * context->nodeDestructionDataCapacity);
 | 
				
			||||||
| 
						 | 
					@ -731,6 +734,8 @@ void Silkworm_Update(double deltaTime)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	Silkworm_PerformDestroys();
 | 
						Silkworm_PerformDestroys();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						context->timeElapsed += delta;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
double Silkworm_CreateNode(double xPosition, double yPosition, double mass, double friction, double radius, double pushFactor, double windFactor)
 | 
					double Silkworm_CreateNode(double xPosition, double yPosition, double mass, double friction, double radius, double pushFactor, double windFactor)
 | 
				
			||||||
| 
						 | 
					@ -1084,8 +1089,8 @@ void Silkworm_ApplyWind(double xSpeed, double ySpeed)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (node != NULL && !node->pinned)
 | 
							if (node != NULL && !node->pinned)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			node->position.x += (float)xSpeed * 0.025f * node->windFactor;
 | 
								node->position.x += (0.5f * sinf(context->timeElapsed / 15 + node->position.y / 2) + 0.5f) * (float)xSpeed * 0.05f * node->windFactor;
 | 
				
			||||||
			node->position.y += (float)ySpeed * 0.025f * node->windFactor;
 | 
								node->position.y += (0.5f * sinf(context->timeElapsed / 15 + node->position.x / 3) + 0.5f) * (float)ySpeed * 0.05f * node->windFactor;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1977,6 +1982,8 @@ void Silkworm_ClearAll()
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	Silkworm_PerformDestroys();
 | 
						Silkworm_PerformDestroys();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						context->timeElapsed = 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Silkworm_Finish()
 | 
					void Silkworm_Finish()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue