Bill Currie
4bf37b274b
Ensure double is not in zero or param structs for v6
2020-02-15 23:49:12 +09:00
Bill Currie
be30a0eb19
Fix missing alignment init on zero and param types
2020-02-15 23:49:12 +09:00
Bill Currie
3e651b43f8
Handle aliased values when emitting statements
...
With this, cast address initializers work. I have to wonder if the alias
value short-circuit was legacy from long before the rewrite, as it was
quite trivial to handle in the back-end.
2020-02-15 23:49:12 +09:00
Bill Currie
e4eb793fb3
Treat aliased values as constant
...
One step closer to cast address initializers working.
2020-02-15 23:49:12 +09:00
Bill Currie
ce9902baed
Don't short-circuit aliased values
...
Not sure why I thought it was a good idea as it turns out this is why
cast pointer initializers were being lost.
2020-02-15 23:49:12 +09:00
Bill Currie
3257e7145b
Add failing global init test too
2020-02-15 23:49:12 +09:00
Bill Currie
4caa875442
Finish up alignment tests and add address cast
...
It turns out that initializing a local int with a pointer cast doesn't
work.
2020-02-15 23:49:12 +09:00
Bill Currie
a4a57b6ffd
Implement aligned allocations
2020-02-15 23:49:12 +09:00
Bill Currie
293f10211a
Start on alignment test
...
Currently fails (deliberately, WIP)
2020-02-15 23:49:12 +09:00
Bill Currie
0542daacdf
Create more double related tests
...
Including catching warnings :) (yay -Werror)
2020-02-15 23:49:12 +09:00
Bill Currie
7e09a94469
Fix "casts" between signed and unsigned int
2020-02-15 23:49:12 +09:00
Bill Currie
5d8d805b60
Fix test for single overload functions
...
All functions are stored in the overload functions table, even those
that are never explicitly overloaded, but only explicitly overloaded
functions (those with @overload) use the type-qualified naming.
2020-02-15 23:49:12 +09:00
Bill Currie
533fb8acc9
Implement double constants
2020-02-15 23:49:12 +09:00
Bill Currie
2cd62fe01b
Fix several double-related bug
...
float is promoted to double through ... for non-v6 code.
PR_Sprintf has custom param access via P_*, messed up doubles.
2020-02-15 23:49:12 +09:00
Bill Currie
eb7f825158
Test for full-float %
2020-02-15 23:49:12 +09:00
Bill Currie
8920c59515
Find @override functions even when there's only one
2020-02-15 23:49:12 +09:00
Bill Currie
df7c08a010
Add support for doubles to Ruamoko
...
Only as scalars, I still need to think about what to do for vectors and
quaternions due to param size issues. Also, doubles are not yet
guaranteed to be correctly aligned.
2020-02-15 23:49:12 +09:00
Bill Currie
13b608f40c
Don't truncat float % float
...
This allows full usage, eg, x % pi, but otherwise maintains
compatibility with integer %
2020-02-15 23:49:12 +09:00
Bill Currie
16f8dca72e
Align local and far data spaces
...
I plan on adding doubles, and so it's necessary to ensure that attempts
to align doubles in local or far data spaces remain aligned after final
linking.
2020-02-15 23:49:12 +09:00
Bill Currie
197f856a30
Fix incorrect scalar/quaternion division
...
It's just not possible.
2020-02-15 23:49:12 +09:00
Bill Currie
9248e8cf01
Update for doxygen 1.8.16
2020-02-11 15:22:42 +09:00
Bill Currie
9d09d65d9a
Clean up some export stuff
...
While it's not there yet, the eventual goal is to support multiple
models in the one blend file, so per-object settings is a requirement.
2019-08-20 16:52:43 +09:00
Bill Currie
c14e5623ad
Get the mdl frames script property working
...
Maybe late 2.78+, blender added the ability to use any ID type in
PointerProperty, which is just what I wanted for the frames script.
2019-08-16 22:34:45 +09:00
Bill Currie
839d90981d
Clean up a few last things for blender 2.80
...
Many many thanks to Aleksander Marhall for the initial work.
2019-08-16 22:32:37 +09:00
khreathor
008b5a4d2c
Import/Export fixes after some Blender 2.8 API changes
2019-08-16 21:38:29 +09:00
khreathor
11e5f39fdc
Fix for the export error when there is no Shape Keys available
2019-08-16 21:38:29 +09:00
khreathor
36da80c0d0
Export proper frame names
2019-08-16 21:38:29 +09:00
khreathor
33d114c09e
Set playback/animation range to start from frame 1
2019-08-16 21:38:29 +09:00
khreathor
ff5f9f1831
Add "empty" skin during export for models with no materials or texture nodes
2019-08-16 21:38:29 +09:00
khreathor
3913febace
MDL properties in object panel are back
2019-08-16 21:38:29 +09:00
khreathor
31fa7a81ef
Fix for single skin being marked as skingroup
2019-08-16 21:38:29 +09:00
khreathor
94c3c8c2cb
Skingroup image export order based on texture node position (height) in shader editor. Nodes with higher position are exported first.
2019-08-16 21:38:29 +09:00
khreathor
4f29f57e77
Proper node positioning after import
2019-08-16 21:38:29 +09:00
khreathor
a13c382969
Skingroup images import order fix
2019-08-16 21:38:29 +09:00
khreathor
4d1f05186b
Skingroups export added
2019-08-16 21:38:29 +09:00
khreathor
17e76149a1
Adjust playback range on import, to fit mdl's animation length
2019-08-16 21:38:29 +09:00
khreathor
66fe862a87
Import skingroups as separate materials with skins as textures
2019-08-16 21:38:29 +09:00
khreathor
ae86790e6c
Initial Blender 2.8 changes - it works, now it's time for improvements
2019-08-16 21:38:29 +09:00
khreathor
8112c4e8b6
Moved MDL settings from Object tab to export options/presets
2019-08-16 21:38:29 +09:00
khreathor
90a707f7f9
Export animation range selected with start/end playback range in Timeline Editor
2019-08-16 21:38:29 +09:00
Bill Currie
c3fa78ef4d
Include test for 2d vector expressions
2019-07-06 14:49:28 +09:00
Bill Currie
8caf2eb584
Mark some new functions as pure
2019-06-27 21:37:48 +09:00
Bill Currie
a5ee58cebb
Support 2d vector expressions
...
[x, y] expands to [x, y, 0] (for now, might add a 2d vector type).
2019-06-18 11:54:45 +09:00
Bill Currie
83fac13a0c
Fix debug line numbers for vector expressions
2019-06-18 11:53:58 +09:00
Bill Currie
b37c331e76
Catch taking size of null type
...
This should help catch similar errors in the future.
2019-06-18 10:39:17 +09:00
Bill Currie
0f1f477e64
Set up temp aliases correctly
...
Fixes vector expressions as sub-expresses. I really don't know why I did
the temp alias setup that way.
2019-06-18 10:38:19 +09:00
Bill Currie
fc50376297
Fix a minor error check mistake
2019-06-18 08:54:18 +09:00
Bill Currie
fe73547f43
Update alias type sameness check
...
This one seems to be fairly robust. Fixes alias being used to cast
pointers (maybe a better way, but this works for now).
2019-06-18 08:53:05 +09:00
Bill Currie
f7825fe7cf
Print types properly in pointer value expressions
2019-06-18 00:22:24 +09:00
Bill Currie
b996fb7aa4
Make operand->type actual type instead of low-level
...
And clean up the resulting mess. This fixes struct copy, but uncovers
another bug :/
2019-06-17 23:38:34 +09:00