# HG changeset patch # User LordOfWar # Date 2009-07-05 13:21:16 # Node ID 43a343738d88844cb2c9d537f86198648d94c3c3 # Parent fcf24e044195f711a37c9e18c2ae0a00c44f0b10 tweaked the blendjob structure tweaked my functions to support the two new global variables hcfjob and highest_jobnum. Need to check functions for 100% accuracy due to start frame - end frame not = 0 frames to be rendered. added a bit more to the status report generator for the frame_finder function... it only returns a interger for the frame to be rendered... but the slave also needs the name of the folder the source files are stored in, and the name of the blend file to open to render the frame. Maybe return a string? and have the slave parse it for variables? diff --git a/src/server/distrend.c b/src/server/distrend.c --- a/src/server/distrend.c +++ b/src/server/distrend.c @@ -274,6 +274,8 @@ void frame_num_struct_builder(int sframe int fcount = sframe; // Used to create all the frames in the structure from sframe to eframe int x = 0; + blendjob[jobnum_new].total_frames = total; // sets the total number of frames in animation for status purposes + while(x < total){ blendjob[jobnum_new].frameset[x].frame_num = fcount; x++; @@ -329,19 +331,20 @@ return your_frame; // your_frame is retu // This figures out how much of the job is done, where jobnum corresponds to the job number // This uses pointers, so when it is run it updates certain values in memory void status_report_generator(){ - int num1 = hcfjob+1; - int num2 = 0; - int num3 = 0; + int num1 = hcfjob+1; // to scan through jobs + int num2 = 0; // to scan through frames - if(blendjob[num1].priority = 0) + if(blendjob[num1].priority = 0) //If the job after the highest consecutively finished job is finished hcfjob+1; // adds 1 to the highest consecutively finished job - while(blendjob[num1].frameset[num2].name != null){ - if(blendjob[num1].priority = 0) // if job is done, go to next one - num1++; - - if(blendjob[num1].frameset[num2].priority !=0) - break; + while(num1 <= highest_jobnum){ + if(blendjob[num1].frameset[num2].priority != 0){ + while(num2 <= blendjob[jobnum].total_frames){ + int finished_frames = 0; + if(blendjob[jobnum].frameset[num2]) + finished_frames++; + } + } } }