aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main.odin12
-rw-r--r--src/time.odin24
2 files changed, 19 insertions, 17 deletions
diff --git a/src/main.odin b/src/main.odin
index b6af03d..bcbaeec 100644
--- a/src/main.odin
+++ b/src/main.odin
@@ -86,13 +86,11 @@ main :: proc() {
fmt.println("\nNew day!")
- day.fractions[0] = daycount(diff(beginning, day.call))
- fmt.println(day.fractions[0])
-
for each_block, i in day.blocks {
if i == day.total_timeblocks do break
- day.fractions[i+1] = daycount(diff(beginning, each_block.end))
- fmt.println(day.fractions[i+1])
+ day.fractions[i].start = daycount(diff(beginning, each_block.start))
+ day.fractions[i].end = daycount(diff(beginning, each_block.end))
+ fmt.println(day.fractions[i])
}
}
@@ -153,9 +151,9 @@ main :: proc() {
block_color = ORANGE
}
- DrawRectangle(TIMELINE_START+i32(math.round(day.fractions[j]*f32(width+TIMELINE_END-TIMELINE_START))),
+ DrawRectangle(TIMELINE_START+i32(math.round(day.fractions[j].start*f32(width+TIMELINE_END-TIMELINE_START))),
DAY_HEIGHT*i32(i+1)-4,
- i32(math.round(f32(width+TIMELINE_END-TIMELINE_START)*(day.fractions[j+1]-day.fractions[j])+0.5)),
+ i32(math.round(f32(width+TIMELINE_END-TIMELINE_START)*(day.fractions[j].end-day.fractions[j].start)+0.5)),
DAY_HEIGHT-1,
block_color)
}
diff --git a/src/time.odin b/src/time.odin
index 080096b..44c810a 100644
--- a/src/time.odin
+++ b/src/time.odin
@@ -42,6 +42,12 @@ Timeblock :: struct {
reason : string,
}
+Fractionpair :: struct {
+ start : f32,
+ end : f32,
+}
+
+
Workday :: struct {
call : Moment,
wrap : Moment,
@@ -52,16 +58,14 @@ Workday :: struct {
// cause more blocks
blocks : [16]Timeblock,
- // Fractions store how far
- // through the day each
- // timesplit occurs.
- // They should probably be
- // changed to come in pairs,
- // as moments do in timeblocks,
- // because then we can store
- // both the start and end
- // of timeblocks in fractions
- fractions : [16]f32,
+ // Fractions store how long
+ // since the workday's
+ // preceding midnight
+ // a timesplit occurs.
+ // They're pairs so they
+ // can exactly map to each
+ // timeblock's start and end
+ fractions : [16]Fractionpair,
total_timeblocks : int,
}