diff --git a/build/examples/any_and_variadic_args.core b/build/examples/any_and_variadic_args.core index 77070ba..f54888c 100644 --- a/build/examples/any_and_variadic_args.core +++ b/build/examples/any_and_variadic_args.core @@ -23,11 +23,12 @@ IntegerToString :: (value: int, result: *U8, base: int): *U8 ptr1 := result tmp_char: U8 tmp_value: int + str := "zyxwvutsrqponmlkjihgfedcba9876543210123456789abcdefghijklmnopqrstuvwxyz" for value != 0 tmp_value = value value /= base - *ptr++ = "zyxwvutsrqponmlkjihgfedcba9876543210123456789abcdefghijklmnopqrstuvwxyz"[35 + (tmp_value - value * base)] + *ptr++ = str[35 + (tmp_value - value * base)] // Apply negative sign if tmp_value < 0 diff --git a/build/rtsgame/array.core b/build/rtsgame/array.core index 9000e1b..b369d30 100644 --- a/build/rtsgame/array.core +++ b/build/rtsgame/array.core @@ -45,9 +45,6 @@ GetIndex :: (a: *Array($T), item: *T): int Assert(a.len > 0) Assert(item >= a.data && item < a.data + a.len) - // @reproduction: compiler hangs - // index := (item - a.data)->*void->size_t - index := (item - a.data)->int Assert(index >= 0 && index < a.len) return index diff --git a/build/rtsgame/main.core b/build/rtsgame/main.core index 756f075..631e543 100644 --- a/build/rtsgame/main.core +++ b/build/rtsgame/main.core @@ -45,6 +45,13 @@ guys: Array(Guy) Add(&guys, {100, 100}) */ +/* @language_todo: Namespacing + +this requires parent_decl in scopes, we use first namespace(main module has precedence) declaration to +prefix all functions, globals etc. in a given file / module. + +*/ + #import "raylib.core" #load "array.core" MAP :: #load "map.core" @@ -110,6 +117,7 @@ main :: (): int MouseP = GetMousePosition() Dt = GetFrameTime() map := &MAP.CurrentMap + ai := GetIndex(&map.actors, map.actors.data) MouseSelecting = false if IsMouseButtonDown(MOUSE_BUTTON_LEFT) diff --git a/core_parsing.cpp b/core_parsing.cpp index 61f5220..ffe9078 100644 --- a/core_parsing.cpp +++ b/core_parsing.cpp @@ -594,7 +594,7 @@ Infix: case TK_Dot: return {31, 30}; case TK_Arrow: - return {20, 19}; + return {20, 21}; default: return {}; } Postfix: