Karl Zylinski
4a6c6cd398
Fixed broken bindings of ICompiler and ICompiler2. See https://learn.microsoft.com/en-us/windows/win32/api/dxcapi/ns-dxcapi-idxccompiler and https://learn.microsoft.com/en-us/windows/win32/api/dxcapi/ns-dxcapi-idxccompiler2 for correct signatures.
2025-06-08 00:11:31 +02:00
Karl Zylinski
4950a65b09
Add examples link to README
2025-01-20 14:46:27 +01:00
Karl Zylinski
1613728a64
d3d12 bindings -vet-tabs fix
2025-01-13 23:37:36 +01:00
Karl Zylinski
dc1b75b6c3
Added WASM libs for raylib and raygui. Added them to the foreign import blocks, with optional ways to override them. These overrides can be used to use alterantive libs when using for example emscripten.
2025-01-01 22:26:11 +01:00
Karl Zylinski
f80c33727c
Fix for casing error in box2d/wasm.Makefile
2025-01-01 21:15:44 +01:00
Karl Zylinski
51e90e5e96
Fix for vendor:libc using wrong types for log and sin procs.
2025-01-01 21:07:44 +01:00
Karl Zylinski
e5f32e1455
Makes tracking allocator default to crashing on a bad free instead of add to bad_free_array. The bad_free_array remains to not break old code. The new default behavior is implemented in a callback that you can override, there's a second provided callback that provides the old behavior where an element was added to bad_free_array. Rationale: Many people are just checking the allocation_map, but don't check the bad free array. Several examples throughout core that use tracking allocator don't check bad_free_array either, so people have been taught not to check it.
2024-12-21 15:49:48 +01:00
Karl Zylinski and flysand7
879771fe32
Fix for using utf8string.at with last rune index returning wrong rune.
2024-12-01 11:54:51 +11:00
Karl Zylinski
36b958c120
Fix for using utf8string.at with last rune index returning wrong rune.
2024-10-30 11:10:36 +01:00
Karl Zylinski
fd05d94789
Add make_map that just takes an allocator and no capacity, similar to make_dynamic_array. This renames the old make_map to make_map_cap.
2024-10-02 17:47:04 +02:00
Karl Zylinski
007730bfbc
Fix for crash when emitting a comparison between a constant array and a non-constant value.
2024-09-25 23:42:35 +02:00
Karl Zylinski
9a8fb2fb27
Fix for infinite loop in core:odin file tags parser when your local copy uses \r
2024-09-20 15:12:35 +02:00
Karl Zylinski
29fedc1808
Changed some recently added //+ usages to #+ and also fixed some //+ usages in some code generators.
2024-09-17 19:39:48 +02:00
Karl Zylinski
093ade0504
Merge branch 'master' into file-tags-without-comments
2024-09-17 19:36:17 +02:00
Karl Zylinski
3d7b924260
Fix a few incorrectly placed build tags.
2024-09-14 18:41:05 +02:00
Karl Zylinski
19f0127e55
Moved all packages in core, base, vendor, tests and examples to use new #+ file tag syntax.
2024-09-14 18:27:49 +02:00
Karl Zylinski
b12d312408
core/odin: Added new file tag syntax as token. parse_file stores a list of tags that the file tag parser can use later.
2024-09-14 17:59:50 +02:00
Karl Zylinski
c24e18bf10
Fix incorrect syntax error in parse_file
2024-09-14 14:36:33 +02:00
Karl Zylinski
8b84b9a4a2
Docs are generated as expected again.
2024-09-14 14:32:46 +02:00
Karl Zylinski
86e291235d
Merge remote-tracking branch 'origin/master' into file-tags-without-comments
2024-09-14 11:26:41 +02:00
Karl Zylinski
f9de8fdaba
Documentation typo fix in tokenizer.
2024-09-09 21:51:34 +02:00
Karl Zylinski
580f0599cd
parse_file: Removed some nesting and removed probable incorrect safety check.
2024-09-09 21:24:41 +02:00
Karl Zylinski
cc724ff5d2
Made error handling code in parse_file clearer.
2024-09-09 21:13:39 +02:00
Karl Zylinski
957cd64699
Rename process_file_tag -> parse_file_tag
2024-09-09 21:06:43 +02:00
Karl Zylinski
3637dcbd04
Simplified error messages in parse_build_tag, removed the idea of making multiple notted operating systems since it was misinformed.
2024-09-09 21:03:28 +02:00
Karl Zylinski
f3a2b625ae
Merge remote-tracking branch 'origin/master' into file-tags-without-comments
2024-09-08 11:29:21 +02:00
Karl Zylinski
73e4954346
Better #+build tag error messages: Error when using more than one !notted operating system per build line. Error when using more than one operating system within a 'kind', such as writing #+build windows linux.
2024-09-08 03:13:21 +02:00
Karl Zylinski
dc767da12b
Make tags use #+ syntax instead of //+ syntax so it no longer looks like a comment. Old style still works but is deprecated with a warning. Using unknown tags is now an error instead of a warning. There is a new token for #+ which consumes the whole line (or until it hits a comment). The tags are parsed like before. There are errors to tell you if you use something invalid in the pre-package-line block.
2024-09-08 01:50:56 +02:00
Karl Zylinski
8c636ac37b
Fix build tags that use ! multiple times on one line. Those don't actually do anything since build tags use OR within the line. So something like //+build !windows, !linux would actually build on both linux and windows. What was intended in all these cases was probably AND, which you get by splitting them into separate lines.
2024-09-07 22:02:17 +02:00
Karl Zylinski
6e150d1d58
Make math.remap clamp the result in range [new_min, new_max].
2024-09-01 16:30:48 +02:00
Karl Zylinski
25e8a6353d
Fix comment indentation.
2024-08-24 22:02:17 +02:00
Karl Zylinski
574a5015d6
Make rl.LoadImageAnim take a pointer instead of a multipointer. The param frames is just for returning an int, it's not for passing a multipointer into the proc.
2024-08-24 22:00:29 +02:00
Karl Zylinski
26633bbce6
Added a hint at end of build.bat about release mode when building in debug mode.
2024-08-08 14:15:32 +02:00
Karl Zylinski
b63657d293
Fix for blend_pixel.odin in core/image/common.odin not compiling
2024-08-05 17:23:58 +02:00
Karl Zylinski and GitHub
2d32b819dc
common.odin compile fix
...
Fix for "Error: Prefer to separate 'where' clauses with a comma rather than '&&'"
2024-08-05 16:32:34 +02:00
Karl Zylinski
782286357b
error on type_of(value of untyped type)
2024-07-03 22:21:32 +02:00
Karl Zylinski
e0face1ac8
Make types like bit_set[$T] have their upper and lower bits overwritten by upper/lower from the source types when checking if polymorphic type is assignable. This fixes an issue where an i8 was always generated for bit_sets with generic elements, because it couldn't figure out upper/lower when check_bit_set_type was run. Fixes #2860
2024-06-30 20:36:51 +02:00
Karl Zylinski
679f9b4e41
Made default capacity of dynamic arrays more consistent.
...
Before this if you do `arr: [dynamic]int` and then append to arr, then it will have capacity 8.
But if you did `arr := make([dynamic]int, context.temp_allocator)` then arr would have capacity 16.
Now both `arr: [dynamic]int` and `arr := make([dynamic]int, context.temp_allocator)` will resut in arr having zero 0. The only reason to use `make` without an explicit len or cap now is because you want to set it up for a non-default allocator. After the first call to `append` it will now in both cases have capacity 8.
I also updated the documentation on the strings builder, both to reflect this, and also to fix it incorrectly saying that len would be 'max(16,len)', which wasn't true even before these changes.
2024-06-29 08:57:21 +02:00
Karl Zylinski
f227a40652
Replace max(8, 1) in _append_elem with just 8 and a comment.
2024-06-25 22:48:14 +02:00
Karl Zylinski
4e2d12c540
Added fmt.ctprint
2024-06-25 22:32:20 +02:00
Karl Zylinski
11e586494b
Clarify that the arena in base:runtime shouldn't be used for anything but the default temp allocator. This is done by renaming the file in which it lives, and also by improving the comment above Arena :: struct {. This should avoid some confusion where people end up using the Arena in base:runtime because they thought it was the 'default arena'.
2024-06-18 12:48:16 +02:00
Karl Zylinski
c7ea4ec71c
rlgl: Pull in raylib and expose missing types, so it is the same as rlgl.h. This makes rlgl less stand-alone, but I left some notes in rlgl.odin how to easily make it stand-alone if one really wants to.
2024-06-12 21:13:12 +02:00
Karl Zylinski
d37b5a7b67
Make rl.MatrixToFloatV transpose the matrix before transmuting it to [16]f32, so it does the same thing as the raymath version implemented in C.
2024-06-12 19:54:14 +02:00
Karl Zylinski
1a22f82f94
Changed rl.SetShaderValue etc to take a c.int like in original raylib.h. You should be able to use other values than the ShaderLocationIndex enum, that enum is only for build in things in raylib. Added #any_int on those procs so you can pass both int and also a ShaderLocationIndex.
2024-06-11 18:03:20 +02:00
Karl Zylinski
c9e732d141
rlgl.RLGL_VERSION -> rlgl.VERSION
2024-06-11 08:59:30 +02:00
Karl Zylinski
d2cd96c3c8
Made rlgl.odin work as a subpackage of raylib. So now you import vendor:raylib/rlgl. Instead of rl.rlBegin(rl.RL_TRIANGLES) you now type rlgl.Begin(rlgl.TRIANGLES).
2024-06-11 08:46:44 +02:00
Karl Zylinski
34af2bb8ad
Moved rlgl.odin to subpackage 'raylib/rlgl'
2024-06-11 08:34:45 +02:00
Karl Zylinski
0729f2b4fb
Fix for dynlib:initialize_symbols not passing -vet-unused
2024-04-15 21:26:30 +02:00
Karl Zylinski
cdda8f0eb9
Additional fixes for errors in Raylib bindings since Raylib 4 -> 5 upgrade.
2024-02-26 17:16:45 +01:00
Karl Zylinski
ae67f37fc1
Fix ModelAnimation in raylib.odin missing a field.
2024-02-26 13:32:16 +01:00
Karl Zylinski
9d067ae562
Made sure temp guard for sorting map keys in json marshal code ignores temp allocator
2024-01-22 14:35:05 +01:00
Karl Zylinski and GitHub
46f46e645c
Added comment on SetConfigFlags in Raylib bindings that it must be called before window creation
2024-01-11 11:20:14 +01:00
Karl Zylinski
a9166f52f8
Raylib 5.0 IsMouseButtonUp workaround: Better use of when clause to make sure we remove the workaround later.
2023-12-18 11:30:20 +01:00
Karl Zylinski
9bdd4c73a5
Raylib workaround: Fix comment typo
2023-12-18 11:20:15 +01:00
Karl Zylinski
2362be11bf
Raylib 5.0 bug workaround: Check VERSION and panic if VERSION != 5.0, in which case there is info in the message about how to remove the workaround.
2023-12-18 11:19:11 +01:00
Karl Zylinski
2a0e4f7a8c
Workaround for bug in Raylib 5 making IsMouseButtonUp not work properly.
2023-12-17 19:48:19 +01:00
Karl Zylinski and GitHub
65333181fc
virtual arena: Actually use DEFAULT_ARENA_STATIC_RESERVE_SIZE as default value on arena_init_static
2023-12-04 21:15:46 +01:00
Karl Zylinski
51229a29f8
Raylib: use fixed array instead of struct for rl.Color. This makes swizzling etc work, but the memory layout is still the same
2023-11-06 15:23:21 +01:00
Karl Zylinski
764ce2a4b0
RAYLIB_SHARED: use /NODEFAULTLIB:msvcrt instead of /NODEFAULTLIB:libcmt. This fixes linker errors.
2023-11-06 14:58:34 +01:00
Karl Zylinski
75cb2c68cc
Cleanup of json.clone_value
2023-11-01 00:57:27 +01:00
Karl Zylinski
942e91f94c
Added temp allocator guard to json.marshal, in case we temp alloc when sorting map kesy
2023-11-01 00:46:01 +01:00
Karl Zylinski
d8f06ed557
Reversed order of sort_maps_by_key check in marshal.odin to make PR comparison clearer.
2023-11-01 00:37:27 +01:00
Karl Zylinski
a73ff00b02
Indentation fix.
2023-11-01 00:33:59 +01:00
Karl Zylinski
a58a08c0c3
JSON: Option to sort marshaled maps before outputting. Also added a json.clone_value proc
2023-11-01 00:23:17 +01:00
Karl Zylinski
d7cc166eab
Fix for skip_alphanum in JSON tokenizer not checking if first character is non-alphanum. This broke any single-character key when using SJSON specification in combination with not using quoted strings.
2023-04-05 22:37:05 +02:00
Karl Zylinski
03c9212600
Added some additional IID versions of Direct3D 12 UUIDs that I missed during my first pass. All are accounted for now.
2022-04-27 22:30:28 +02:00
Karl Zylinski
5650087aa3
Merge remote-tracking branch 'origin/master' into d3d12-binding-fixes
2022-04-27 20:50:54 +02:00
Karl Zylinski
67689ecb21
Typo fix in d3d12.odin
2022-04-27 20:47:05 +02:00
Karl Zylinski
cd13dedb36
D3D12 binding fixes: Added dxgi.IID versions of all the UUIDs in d3d12.odin so that the IIDs can be used to fetch interfaces properly. Also fixed an issue where GetDesc, GetCPUDescriptorHandleForHeapStart and GetGPUDescriptorHandleForHeapStart had the wrong signature due to an old D3D12 header bug, more info: https://stackoverflow.com/questions/34118929/getcpudescriptorhandleforheapstart-stack-corruption
2022-04-27 20:12:44 +02:00