z64hdr's People
z64hdr's Issues
message data in z64hdr
Probably shouldn't be in z64hdr
I assume it's a mistake and the z64hdr maker tool picked them up since they're .h files
https://github.com/z64tools/z64hdr/tree/main/include/assets/text
memset symbol
I am only using mq debug so I didn't check other linker scripts but it would be a good idea to do so.
standard memset
(man memset
): void *memset(void *s, int c, size_t n);
fills the first n bytes of the memory area pointed to by s with the constant byte c.
oot memset
there are two implementations:
void Lib_MemSet(u8* dest, size_t size, u8 val);
(unlike the standard)
void* MemSet(void* dest, s32 val, s32 size);
(like the standard)
in z64hdr
https://github.com/turpaan64/z64hdr/blob/ba7ce14e23c342a6336bb93a22d24e3ee0485d61/oot_mq_debug/syms.ld#L787-L788
https://github.com/turpaan64/z64hdr/blob/ba7ce14e23c342a6336bb93a22d24e3ee0485d61/oot_mq_debug/syms.ld#L2842
the addresses are accurate, but memset = Lib_MemSet
is an issue since they use a different prototype
memset = MemSet
would be better?
But I'm not sure why memset
is even defined in the first place
Stuff that needs fixup in temp-update branch
common/actor.h flags are now in decomp's z64actor.h
common/symbols.h : gTimeSpeed
? (also the two other syms need to be defined by #11 it currently doesnt)
include/functions.h : how was it computed? figure out how to easily handle manual stuff added on top of the decomp headers
actorfixer.py should be expanded to include any name replacement
and it should read its data from a simpler format than python structures
the readme should be updated with update instructions (also _Z64OVL cmon :hermosauhut:)
Carry over decomp documentation
The way z64hdr copies headers from decomp means it doesn't include any documentation there is in source files.
For example in sys_math3d.c
:
/**
* Creates a line between the intersections of two planes defined from `planeAA`x + `planeAB`y + `planeAC`z +
* `planeADist` = 0 and `planeBA`x + `planeBB`y + `planeBC`z + `planeBDist` = 0, and outputs the line to `intersect`.
* Returns false if the planes are parallel.
*/
s32 Math3D_PlaneVsPlaneNewLine(f32 planeAA, f32 planeAB, f32 planeAC, f32 planeADist, f32 planeBA, f32 planeBB,
f32 planeBC, f32 planeBDist, InfiniteLine* intersect) {
I'm not sure how one would go about automating that (definitely don't do it manually, right). I may try some day if nobody "fixed" it by then
EDIT: skawo is onto something https://github.com/skawo/Decomp2z64hdr (I hope he doesn't mind me linking it here)
Symbols from objects
When decomp commits headers for object files (containing stuff like extern AnimationHeader gIngoIdleAnim;
), it would be nice to also have them in z64hdr.
And also define the symbols in a linker script like gIngoIdleAnim = 0x06123456
.
This would make compiling decomp actors with CAT work out of the box I think, apart from updating the includes.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.