Comments (6)
@Athkore mentioned in #96 trying to simplify SEQ operands like *seq_p_sp->field_0xC
, especially in cases where we know the names. Based on your comments, here's what I see as the list of ways we could change it:
seq_p_sp->field_0xC
*seq_p_sp->field_0xC
(this is what we have today)seq_p_sp(0xC)
*seq_p_sp(0xC)
seq_p_sp (0xC)
*seq_p_sp (0xC)
0xC (seq_p_sp)
0xC(seq_p_sp)
seq_p_sp[0x3]
*seq_p_sp[0x3]
And for names fields maybe something like:
seq_p_sp->flags
Do you have a preference for the 10 options I listed above? If you provide an order of preference we can choose the one that you and I like the most.
from gntool.
Also worth considering how to simplify something like this:
*seq_p_sp->field_0x38 + offset 0x23C
which happens to be the current action id of a character
from gntool.
To simplify *seq_p_sp->field_0x38 + offset 0x23C, the simplest would probably be to replace seq_p_sp with the known field name, and if unknown replace as s(number being operand given to seq_regcmd - 0x18), or even as r(number being operand given to seq_regcmd). So this specific example could be something akin to chr_p(0x23C) or chr_p->action_id (sE->field_0x23C if both unknown).
From what I can discern, all fields in seq_p_sp are 4 bytes in size, and they work pretty much like and extension to reg_p, so that they combined contain 0x3F registers, with registers 0x00-0x12 are general purpose, while registers 0x13-0x3f are all special purpose registers. Knowing that they belong to different structures don't add anything really to functionality when looking at it from the angle of writing seq codes. I still feel that keeping them as different kinds of registers would be beneficial.
As for ordering of notation, I feel kinda similar, except for being a bit partial of treating seq_p_sp fields like registers, and keep them in the naming. I believe something like that would cut down tremendously on verbosity, while still keeping things apart at a glance.
- s3
- s3(0x0)
- s3->field_0x0
- seq_p_sp->field_0xC
- *seq_p_sp->field_0xC (this is what we have today)
- seq_p_sp(0xC)
- *seq_p_sp(0xC)
- seq_p_sp (0xC)
- *seq_p_sp (0xC)
- 0xC (seq_p_sp)
- 0xC(seq_p_sp)
from gntool.
I have a new idea with regards to making assembling easier, keep the seq_p_sp name but give it the same treatment as gpr.
So for seq_p_sp->field_0xC, it would be seq_p_sp12.
from gntool.
So for seq_p_sp->field_0xC, it would be seq_p_sp12.
That sounds good to me!
from gntool.
I didn't think properly when I wrote the last one, I meant for seq_p_sp->field_0xC to be seq_p_sp3, since they're only reachable 4 byte aligned. But I can definitely work with seq_p_sp12 as well, just need to rename a bunch of stuff
from gntool.
Related Issues (20)
- Binary data HOT 1
- Add Support for Recording in Training Mode HOT 1
- Opcode Text Color HOT 1
- Add Option to Rearrange Characters/Stages HOT 1
- Add Function Labels for actions
- Add / Remove new keyframes and bone animations
- Reorder Stages and Characters HOT 1
- Change Workspace State from Protobuf to SQLite
- Create SEQ Report for Rev3
- SEQ Edits Nop Old Bytes HOT 1
- Cannot Add New Costumes to Choji or Haku
- Consider FST Location of New Files
- Checkbox to Append Hijacked Bytes
- Don't Allow Tabs in Name for SEQ Edits
- Offset, Hijacked Bytes Length, Hijacked Bytes, and New Bytes should be monospaced font
- BoneAnimation Padding function gone Awry
- Add Full Refresh
- Detect File Removal
- Crashes on Chunin Exams: Qualifiers stage w/ translation patch (GameCube only) HOT 1
- FPK integrity check HOT 6
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.
from gntool.