|
|
GoldenEye 007 Nintendo 64 Community, GoldenEye X, Nintendo 64 Games Discussion GoldenEye Cheats, GoldenEye X Codes, Tips, Help, Nintendo 64 Gaming Community
|
|
|
|
|
|
|
|
|
|
|
PeeMoldy Agent
Joined: 30 Nov 2023 Posts: 14
|
Posted: Sun Dec 17, 2023 1:47 am Post subject: |
|
|
SubDrag wrote: | No, I have no plans to support anything decompile related. My only suggestion was for people to write additional convertor tools relating to editor outputs or inputs. |
Ah I see, well that's OK, PerfectGold will always be legendary and I think there will be a decomp/PC Port editor soon after GE gets decomped and ported. |
|
|
|
|
|
|
|
|
|
|
dariusu Agent
Joined: 19 Jan 2024 Posts: 1
|
Posted: Fri Jan 19, 2024 9:24 am Post subject: |
|
|
Is this thread the appropriate place to ask questions about Obj2An8? I have been using it to get some model and animation data into Anim8or and I am having an issue with scaling the output.
I installed Goldeneye Setup Editor 4.3 and the FBX support as detailed on the GitHub page. I have a model with animations in Blender (v3.6). I export it to .fbx with file>export>FBX and then use ObjToAn8.exe to export to .an8.
When I open the file in Anim8or, the object (mesh) is a little strange looking. It is folded in on itself, but sequences (animations) look great. They are oriented correctly and the meshes look perfect and the animations look perfect. The only issue with the animations is that they are locked to the root bone, but that is an easy fix if I have to correct that manually.
My big issue is that the mesh and armature are tiny. Smaller than the default root bone size in Anim8or. I tried changing the export size of the .fbx, and when I re-import a .fbx that I exported at x10 size, it is huge in blender, but exactly the same size in Anim8or. If I export to .an8 in ObjToAn8.exe with the "Scale Vertices" increased, the object (mesh) comes out bigger, but the figure (armature) is still small and the mesh is warped due to the bone weights I guess.
Does anyone have any experience with converting .fbx files to .an8 and had similar issues? |
|
|
|
|
|
|
|
|
|
|
Trevor 007
Joined: 15 Jan 2010 Posts: 926 Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest |
Posted: Tue Jan 23, 2024 4:13 am Post subject: |
|
|
I use an8, but I dont use blender and have never transfered between them.
Going from GE to An8 usually works great for me.
Trev _________________
|
|
|
|
|
|
|
|
|
|
|
Jonaeru Secret Agent
Joined: 19 Jan 2013 Posts: 232 Location: Japan |
|
|
|
|
|
|
|
|
|
|
SubDrag Administrator
Joined: 16 Aug 2006 Posts: 6145
|
Posted: Sat Feb 10, 2024 10:28 am Post subject: |
|
|
Jonaeru wrote: | Is it possible to display the values of the following headers in the animation editor of the PD editor?
bytesperframe, headerlen, framelen
I could check numframes and flags.
These are useful for creating mods for PC ports. |
Aren't bytesperframe and framelen the same?
I'm assuming just numberKeyframeBytes and numberInitialPositionBytes (header length). The other one, numberInitialPositionBitsPerEntry, I just set to 0xC every import so you can assume it's that for any new import.
Added showing them to beta. |
|
|
|
|
|
|
|
|
|
|
Jonaeru Secret Agent
Joined: 19 Jan 2013 Posts: 232 Location: Japan |
|
|
|
|
|
|
|
|
|
|
HackBond 007
Joined: 14 May 2009 Posts: 1352 Location: Scotland |
Posted: Thu Apr 04, 2024 11:38 pm Post subject: |
|
|
I decided to double check Alt 2 Tank again to ensure that the changes made in the changelog stuck and to update some documentation I had made, and for whatever reason it seems like it has went back to the old behavour of writing to 8005C5XX/0x3B7C0 instead of the new position 8005CCXX/0x3BEC0 _________________ Also known as Spyster or Nyxem
[Youtube]
[Decoy] Antenna | Control | Silo | Escape |
|
|
|
|
|
|
|
|
|
|
SubDrag Administrator
Joined: 16 Aug 2006 Posts: 6145
|
Posted: Fri Apr 05, 2024 10:28 am Post subject: |
|
|
It's the same, I just...did it wrong before. Let me fix |
|
|
|
|
|
|
|
|
|
|
SubDrag Administrator
Joined: 16 Aug 2006 Posts: 6145
|
Posted: Fri Apr 05, 2024 10:47 am Post subject: |
|
|
OK think I corrected it - did everything but did not adjust the asm of the jumped spot...
see if this + beta fixes it?
{
// Later adjusted 8005C5XX to 8005CCXX to avoid footsteps
//LW $t5, 0x6480($t5)
//BEQL $t5, $zero, 0x7F082C24 #
//LW $t5, 0x0000($s0)
//J 8005CC50
//LH T6, 4(A1)
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F082AD8 & 0x00FFFFFF) + 0x34B30), 0x8DAD6480);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F082ADC & 0x00FFFFFF) + 0x34B30), 0x51A00051);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F082AE0 & 0x00FFFFFF) + 0x34B30), 0x8E0D0000);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F082AE4 & 0x00FFFFFF) + 0x34B30), 0xAFA500EC);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F082AE8 & 0x00FFFFFF) + 0x34B30), 0x08017314);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F082AEC & 0x00FFFFFF) + 0x34B30), 0x84AE0004);
/*
8005CC50:
LUI T7, 8006
SH T6, CC2C(T7)
car:
ADDIU $at, $zero, 0120
BNE $t6, $at, van
ADDIU $at, $zero, 0042
SH $at, CC2E(T7)
ADDIU $at, $zero, 003E
SH $at, CC30(T7)
ADDIU $at, $zero, 00D5
SH $at, CC32(T7)
ADDIU $at, $zero, 0020
SW $at, CC34(T7)
LUI $at, 41A8
SW $at, CC38(T7)
LUI $at, 3F40
SW $at, CC3C(T7)
LW A0, CC34(T7)
JAL 0x7F08C488
SW $a1, 0x00EC($sp)
J 7F082AF0
NOP
van:
ADDIU $at, $zero, 011D
BNE $t6, $at, jetski
; Actually set to FFF and FFFF to match tank, for engine and end
ADDIU $at, $zero, 0043
SH $at, CC2E(T7)
ADDIU $at, $zero, 003F
SH $at, CC30(T7)
ADDIU $at, $zero, 00D6
SH $at, CC32(T7)
ADDIU $at, $zero, FFFF
SW $at, CC34(T7)
LUI $at, 41A0
SW $at, CC38(T7)
LUI $at, 3F40
SW $at, CC3C(T7)
J 7F082B00
NOP
jetski:
; Actually set to FFF and FFFF to match tank, for engine and end
ADDIU $at, $zero, 0044
SH $at, CC2E(T7)
ADDIU $at, $zero, 0040
SH $at, CC30(T7)
ADDIU $at, $zero, 00D7
SH $at, CC32(T7)
ADDIU $at, $zero, FFFF
SW $at, CC34(T7)
LUI $at, 4120
SW $at, CC38(T7)
LUI $at, 3F40
SW $at, CC3C(T7)
J 7F082B00
NOP
*/
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BEC0, 0x3C0F8006);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BEC4, 0xA5EECC2C);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BEC8, 0x24010120);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BECC, 0x142E0011);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BED0, 0x24010042);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BED4, 0xA5E1CC2E);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BED8, 0x2401003E);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BEDC, 0xA5E1CC30);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BEE0, 0x240100D5);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BEE4, 0xA5E1CC32);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BEE8, 0x24010020);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BEEC, 0xADE1CC34);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BEF0, 0x3C0141A8);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BEF4, 0xADE1CC38);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BEF8, 0x3C013F40);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BEFC, 0xADE1CC3C);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF00, 0x8DE4CC34);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF04, 0x0FC23122);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF08, 0xAFA500EC);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF0C, 0x0BC20ABC);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF10, 0x00000000);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF14, 0x2401011D);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF18, 0x142E000E);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF1C, 0x24010043);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF20, 0xA5E1CC2E);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF24, 0x2401003F);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF28, 0xA5E1CC30);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF2C, 0x240100D6);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF30, 0xA5E1CC32);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF34, 0x2401FFFF);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF38, 0xADE1CC34);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF3C, 0x3C0141A0);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF40, 0xADE1CC38);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF44, 0x3C013F40);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF48, 0xADE1CC3C);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF4C, 0x0BC20AC0);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF50, 0x00000000);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF54, 0x24010044);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF58, 0xA5E1CC2E);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF5C, 0x24010040);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF60, 0xA5E1CC30);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF64, 0x240100D7);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF68, 0xA5E1CC32);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF6C, 0x2401FFFF);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF70, 0xADE1CC34);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF74, 0x3C014120);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF78, 0xADE1CC38);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF7C, 0x3C013F40);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF80, 0xADE1CC3C);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF84, 0x0BC20AC0);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.setupInFileData, 0x0003BF88, 0x00000000);
//LHU $a1, CC2E(A0)
//LW $a0, 3720(A0)
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F085668 & 0x00FFFFFF) + 0x34B30), 0x9485CC2E);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F08566C & 0x00FFFFFF) + 0x34B30), 0x8C843720);
//LHU $a1, CC30(A0)
//LW $a0, 3720(A0)
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F08575C & 0x00FFFFFF) + 0x34B30), 0x9485CC30);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F085760 & 0x00FFFFFF) + 0x34B30), 0x8C843720);
//LHU $a1, CC32(A0)
//LW $a0, 3720(A0)
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F086824 & 0x00FFFFFF) + 0x34B30), 0x9485CC32);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F086828 & 0x00FFFFFF) + 0x34B30), 0x8C843720);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F082F40 & 0x00FFFFFF) + 0x34B30), 0x1000000A);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F082F58 & 0x00FFFFFF) + 0x34B30), 0x10000004);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F082F60 & 0x00FFFFFF) + 0x34B30), 0x10000002);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F082F6C & 0x00FFFFFF) + 0x34B30), 0x3C0F8006);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F082FA0 & 0x00FFFFFF) + 0x34B30), 0x8DE1CC38);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F082FAC & 0x00FFFFFF) + 0x34B30), 0x8DE1CC38);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F082FFC & 0x00FFFFFF) + 0x34B30), 0x3C0F8006);
parentFrame->mainSetup.WriteLongToBuffer(parentFrame->mainSetup.GEROM, ((0x7F083018 & 0x00FFFFFF) + 0x34B30), 0x8DE1CC3C);
mButtonAltTank2.ShowWindow(SW_HIDE);
mButtonAltTank.ShowWindow(SW_HIDE);
mButtonUndoAltTank.ShowWindow(SW_SHOW);
} |
|
|
|
|
|
|
|
|
|
|
HackBond 007
Joined: 14 May 2009 Posts: 1352 Location: Scotland |
Posted: Fri Apr 05, 2024 2:12 pm Post subject: |
|
|
After doubling making sure my Editor was updating to beta (for some reason it was stuck on an older version, not checking beta on startup despite enabled), I reapplied Alt2Tank to a footsteps patched rom and it has appeared at 8005CC50 as expected
All good! _________________ Also known as Spyster or Nyxem
[Youtube]
[Decoy] Antenna | Control | Silo | Escape |
|
|
|
|
|
|
|
|
|
|
Morrigan Aensland-Hill Agent
Joined: 09 Mar 2021 Posts: 40 Location: Arlen, Texas |
Posted: Sat Apr 20, 2024 8:29 am Post subject: |
|
|
Hey there, Subby. I was wondering if you would do the honours of adding in an option that skips the gunbarrel cutscene i.e. jumping right into the GoldenEye logo after the Rareware logo when enabled.
I also want to suggest another option that swaps the cymbal sound played when the Rareware logo appears for another sound of your choice. _________________ My beauty can overcome brains and brawn!
...Also, my husband sells propane and propane accessories. |
|
|
|
|
|
|
|
|
|
|
SubDrag Administrator
Joined: 16 Aug 2006 Posts: 6145
|
Posted: Sat Apr 20, 2024 8:32 am Post subject: |
|
|
I mean I don't know how to do that, is that known? |
|
|
|
|
|
|
|
|
|
|
Lazlo52 Secret Agent
Joined: 18 Nov 2017 Posts: 336 Location: N.J. |
Posted: Sat Apr 20, 2024 10:24 am Post subject: |
|
|
SubDrag wrote: | I mean I don't know how to do that, is that known? |
Uhhh, let me explain. It was something Johnny and Axdoomer discussed just last night in the Discord. Here, I'll paste over the information real quick so you can see if it's something you can fit in. The first part lets someone change out which song will play, the second part skips the gunbarrel sequence, and the third part fixes a single-frame visual glitch.
Here:
axdoomer wrote: | Search for 0fc023a08c84a9500c001b9f240400028fbf0014. You should find only one result. The 0002 part is the track ID. Currently it's 02, which is the intro music.
Search for afbf00140c00114d000020250fc025d10000000010400006 in the hex editor.
Replace the 10 40 00 06 part with zeros. This will skip the gun barrel sequence.
Then find afbf00140fc02495000000008fbf0014 and replace 0f c0 24 95 with 0f c2 2f 2e. This will prevent the circles from being visible during the single frame where the gun barrel sequence is live. |
See you later!
Last edited by Lazlo52 on Sat Apr 20, 2024 10:27 am; edited 1 time in total |
|
|
|
|
|
|
|
|
|
|
Morrigan Aensland-Hill Agent
Joined: 09 Mar 2021 Posts: 40 Location: Arlen, Texas |
Posted: Sat Apr 20, 2024 10:26 am Post subject: |
|
|
Most definitely, laddie.
Typing over the second half of the 4-byte long string in 0x03FBB8 to a different number will change the SE played during the Rareware logo's appearance. The default number is 01 02. _________________ My beauty can overcome brains and brawn!
...Also, my husband sells propane and propane accessories. |
|
|
|
|
|
|
|
|
|
|
SubDrag Administrator
Joined: 16 Aug 2006 Posts: 6145
|
Posted: Sun Apr 21, 2024 10:19 am Post subject: |
|
|
Does its location shift? Is that why not providing addresses? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|