A Community discussion forum for Halo Custom Edition, Halo 2 Vista, Portal and Halo Machinima

Home  Search Register  Login Member ListRecent Posts
»Forums Index »Halo Custom Edition (Bungie/Gearbox) »Halo CE General Discussion »[RELEASE] Mo's Editing Kit (MEK)

Page 2 of 2 Go to page: · 1 · [2] · Prev
Author Topic: [RELEASE] Mo's Editing Kit (MEK) (47 messages, Page 2 of 2)
Moderators: Dennis

Joined: Apr 3, 2013

Posted: Apr 4, 2017 01:54 AM    Msg. 36 of 47       
Try downloading it again. I had to fix some issues with the installer that didnt occur for me, but I realize why they would have for others...

Joined: Jun 27, 2009

Posted: Apr 4, 2017 12:05 PM    Msg. 37 of 47       
Quote: --- Original message by: MosesofEgypt
[...]Also, all of my work is(intended to be) open source.[...]However, I do not see the harm in overwriting the checksum.[...]The reason there are 9 values in there is that I decided the last 2 might be SInt16's rather than a 4 byte value.[...]Let me know if I'm wrong, since I haven't tested my theory.[...]Thanks for taking a look at my project, and good luck with yours.[...]I thought I'd show you something I discovered since I'm using some of your code; the correct algorithms needed to calculate the masses, densities, and the inertial matrices in the physics tag.[...]I decided to use dimensional reduction with experimental values typed into guerilla.[...]

I did not know your project was open source, and thank you for sharing the repository link.

You could overwrite some of the zero bytes instead of the checksum. That way, it could at least be given an apparently unused offset and community projects like my infernal project could account for both simultaneously.

The last value might be two signed short numbers; I don't know. My approach so far as been reverse-engineering HEK tags, not Guerilla's executable instructions. That would be more enlightening, and I suppose Kornman and others have done work with that. That would be the more definitive approach, and I guess that would be the first step for really figuring out internal values. Guerilla does not save (some of?) them in tags, it instead ignores the "padding" bytes, probably so it does not overwrite those internal values calculated by Tool and Sapien. Thanks for clarifying the endian discrepancy with some of them; are you sure this is not caused by HEK+ or some other program that is being used to extract the tags? I reserved judgment about that for the "now test all the tags" stage of infernal's development.

I would like to look more at your work when I get to that point in developing infernal that I can provide useful information. For example, I'm guessing presently that these entries in the biped tag are vector3d-related numbers, especially because those 0.707106 float values are obviously sine 45, and because Halo uses in its memory vector3d coordinates (as Wizard and sehe and altis and others know), and so that would be polar coordinates rather than cartesian coordinates. I did attempt to do some math to help altis with a problem related to this, but I stopped because I needed to convert from vector3d to coordinates and back... or something... and it was not working properly. I did come up with this, though, for whatever it is worth:

Find coords of point on a sphere (r is radius of sphere):
x = (r * sin yaw) + (r * sin roll)
y = (r * cos yaw) + (r * cos pitch)
z = (r * sin pitch) + (r * cos roll)

I never actually took calculus in high school. What little I know at the moment is from a book and at least about 13-year memory. You can see that despite my research, I didn't even know how to calculate a 32-bit cyclic redundancy check, but had to be spoon-fed C source code to do it.

Your approach of using experimental values is exactly what I was doing with my "reverse engineering" directory. In working on retribution.h, I used Guerilla to generate every tag type with incremental numbers. I remember being criticized for using that approach instead of analyzing the executable's instructions. That time will come for the internal entries.

Joined: Apr 3, 2013

Posted: Apr 4, 2017 01:47 PM    Msg. 38 of 47       
I just checked the cyborg.biped that comes with the hek from a fresh install. The values are in little endian. I guess these were getting extracted incorrectly by whoever did the rest of the tag collection. I guess i can remove that part from my comment in the next update.

Also, about the spherical coordinates stuff, that's something i learned in calc 3. They could be spherical coordinates, but I'll leave it to you with your live memory editing expertise to discern their purpose. I think the last 2 might be 2 sint16's for a few reasons: the previous values seemed to come in pairs, the default value of both would be -1, -1, they dont make sense as a float or int32 because of how large they'd be.

About the crc again, i don't believe i'll change it unless i see a compelling reason to. For me it's almost the same as if the checksum is a set of null bytes because i dont see its effect. If it serves some important purpose(like speeding up verifying the integrity of a tag before it is compiled or something) then i'll implement it. I've got a feeling though, that it was probably only used by bungie's dev tools to make sure they werent working with corrupt tags since they couldnt afford to let data corruption slide.
Edited by MosesofEgypt on Apr 4, 2017 at 10:50 PM

Joined: Jun 27, 2009

Posted: Apr 10, 2017 12:45 AM    Msg. 39 of 47       
Quote: --- Original message by: MosesofEgypt

[...]I'll leave it to you with your live memory editing expertise to discern their purpose.[...]

I think I did the memory editing approach when testing them initially. I discovered that you can get a more legitimate wall-walking behavior modifying some, and also have the player's feet hovering off the ground (which is a more legitimate flying effect because it prevents any "landing" contact with terrain; it reminds me of plans to simulate the space physics from Halo 2).

When it comes to figuring out the nitty gritty of internalized data structures, determining these other internal values will also be on the agenda.
Edited by sparky on Apr 10, 2017 at 12:46 AM

Joined: Jun 8, 2014

Posted: Apr 24, 2017 11:38 AM    Msg. 40 of 47       
Cannot open Shader Models under OSv4 tagset.

Joined: Apr 3, 2013

Posted: Apr 24, 2017 04:17 PM    Msg. 41 of 47       
Update and let me know if the problem persists. I've made some changes, and the osv4 stuff works for me, so unless something was added that I'm unaware of then I believe this should fix anything that was broken.

EDIT: If it still persists, tell me what the mozzarilla.log says, or the console window. the log can be found in the mozzarilla directory wherever you had it installed.
Edited by MosesofEgypt on Apr 24, 2017 at 04:42 PM

Joined: Jun 8, 2014

Posted: Apr 24, 2017 04:34 PM    Msg. 42 of 47       
Why do I not have an update.py

I'm just redownloading from the repository.

Redownloaded, can't open Mozzarilla or the MEK Installer, only console programs.

Console mozzarilla says there's no module called mozzarilla.

I don't get nor have I ever had an update.py or an install.py, I think you're missing some stuff.
Edited by DeadHamster on Apr 24, 2017 at 04:44 PM

Joined: Apr 3, 2013

Posted: Apr 24, 2017 06:41 PM    Msg. 43 of 47       
It's missing stuff because update and install have been replaced with MEK_Installer. I don't know why the installer isn't working, but if you rename it from MEK_Installer.pyw to MEK_Installer.py it should give you a printout of any errors on startup. Also, I'm editing the readme now to change the install and update instructions. I get so caught up in making changes that I sometimes forget to do things like updating readmes.

Sorry about the late reply, I was fixing a friend's GBA SP.
Edited by MosesofEgypt on Apr 24, 2017 at 06:46 PM

Joined: Jun 8, 2014

Posted: Apr 24, 2017 07:24 PM    Msg. 44 of 47       
Installer runs when changed from pyw to py without any errors. Not sure why

Joined: Apr 3, 2013

Posted: May 4, 2017 10:53 PM    Msg. 45 of 47       
Just added a tool to convert an entire tagset to/from 60/30 fps(save for a few exceptions). The tool is named Halo_Tagset_Fps_Changer. Check the readme for information.

Seriously, check the readme. I will point anyone to this post who complains about something that's explained in the readme, even if they majorly screwed something up or dont understand what it did. It's that important. This tool can and will edit a vast majority of the tags in any folder you point it to and change lots of values all over the place. I haven't been able to fully test it, so for a few months you guys should use it with caution.

Also, you WILL need to update the mek in order to use this.
Edited by MosesofEgypt on May 5, 2017 at 01:25 AM

Super Flanker
Joined: Oct 5, 2012

The length of your life depends on my aim.

Posted: May 5, 2017 07:28 AM    Msg. 46 of 47       

Joined: Mar 21, 2015


Posted: May 5, 2017 09:42 AM    Msg. 47 of 47       
Noice man, this will help a lot

Page 2 of 2 Go to page: · 1 · [2] · Prev

Previous Older Thread    Next newer Thread

Time: Sat June 24, 2017 11:37 PM 234 ms.
A Halo Maps Website