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 »[Utility] Reclaimer

Page 3 of 3 Go to page: · 1 · 2 · [3] · Prev
Author Topic: [Utility] Reclaimer (104 messages, Page 3 of 3)
Moderators: Dennis

Gravemind
Joined: Jul 28, 2009

The Age of Reclamation has begun.


Posted: May 4, 2020 09:21 AM    Msg. 71 of 104       
Reclaimer uses Assimp to generate the collada files. I'm not sure whether its Assimp or the collada format in general, but it seems to get confused when two sibling objects have the same name. In the H2 gravity throne model, "hull" is both a bone and a mesh. I've updated the export to prefix bone names with (~) and mesh names with (-).

New version is available.
It should fix the obj and collada issues mentioned above and also includes support for Halo 3 and Reach sound extraction including surround sounds (only via batch extraction). See the Sound Extraction section in the OP for more information.


Zerox
Joined: Mar 14, 2020


Posted: May 5, 2020 08:43 AM    Msg. 72 of 104       
Alright!
The obj issue is differently fixed, and the geometry of collada exports is correct.
However, there is still an issue with the bones. They are in the correct location and are correctly named, however, they being exported as empty objects instead of bones. There also appear to be a bunch of armatures that don't have anything inside of them.
This is occurring in both Blender 2.79 and Blender 2.8.


In addition, for Blender 2.8, initially only the mesh for the hologram will be visible, however, if the collection if toggled off then back on the everything will be visible, so they are clearly there.


Thanks for all the updates!
Edited by Zerox on May 5, 2020 at 08:44 AM


Gravemind
Joined: Jul 28, 2009

The Age of Reclamation has begun.


Posted: May 6, 2020 06:08 AM    Msg. 73 of 104       
Quote: --- Original message by: Zerox
However, there is still an issue with the bones. They are in the correct location and are correctly named, however, they being exported as empty objects instead of bones.


Turns out I missed a spot when I added the name prefixes. This should be sorted now in 1.2.147.


Zerox
Joined: Mar 14, 2020


Posted: May 6, 2020 07:52 AM    Msg. 74 of 104       
The bones are correctly connected to one another and the mesh is also correctly rigged, however, it seems that either the bones are not scaled correctly, or the mesh is not scaled correctly.


In addition, I'm not certain if its supposed to be this way, but transparency on the textures seems strange. The holo portion of the chair has no transparency, and the main body of the chair has transparency to it. Perhaps the value of the alpha channel of the images are being inverted at some point during generation?



I'm not knowledgeable about how the engine for Halo 2 treats transparency so for all I know this could be the way they are supposed to look and the game's engine just knows how to use them to make the holo light transparent.


Additionally, toggling the alpha channel on the holo texture does not make a difference in the way Reclaimer displays it.

I hate to sound like a broken record, but I cannot thank you enough for all the updates and fixes you have been hammering out.


Gravemind
Joined: Jul 28, 2009

The Age of Reclamation has begun.


Posted: May 6, 2020 09:23 AM    Msg. 75 of 104       
If toggling the alpha channel has no effect it means the image either has no alpha or the alpha channel is fully opaque.

In regards to rendering, most textures in Halo don't use the alpha as transparency. There are some that do, but most of the time I believe the alpha is used for specular or something like that. To make it look right in Blender you'd have to configure the material to not use transparency or use a copy of the texture that has been exported without alpha. In the case of the hologram texture it's likely just using solid black as a transparency colour.

The bones issue may be due to the collada import settings. I don't know about Blender, but at least with 3ds Max there are a number of settings around skins and animation. I can confirm that when importing it into 3ds Max the weighting works as expected. Additionally, if Blender has a scale option for import make sure it is set to 1.0. I know with Max if you change it to meters or anything other than 1.0 the scale conversion will ruin the vertex weights.
Edited by Gravemind on May 6, 2020 at 09:26 AM


Zerox
Joined: Mar 14, 2020


Posted: May 6, 2020 11:31 AM    Msg. 76 of 104       
Blender's only scale option when importing collada files is to "Import Units", and that doesn't seem to do anything.
Does Reclaimer apply modifiers when creating collada files? If so, it's probably due to blender not supporting modifiers when importing collada files.

Regardless of that question, I did find a slight work around.
I opened the collada file in notepad++ and noticed that it says
    <unit name="meter" meter="0.02539999969303608" />

I tried shrinking the mesh by .02539999969303608 and that caused it to almost line up, likely due to Blender rounding it to 0.0254.
Is there any way to get that number down to a shorter number when exporting to a collada file?


Gravemind
Joined: Jul 28, 2009

The Age of Reclamation has begun.


Posted: May 7, 2020 05:26 AM    Msg. 77 of 104       
I've just added a new setting in the ModelViewer section called AssimpScale. You will need to open and close Reclaimer after updating to update the settings file. If Blender is using that unit field in the collada file, setting AssimpScale to 1 may resolve your issue, or maybe even 39.463299.
If not, then the actual vertex coordinates will need to be pre-scaled when outputting the collada file.


Zerox
Joined: Mar 14, 2020


Posted: May 7, 2020 04:05 PM    Msg. 78 of 104       
Changing the AssimpScale doesn't make a difference, I'm guessing it was a coincidence that shrinking it by ~0.02539999969303608 made it just about match up.

I have tried importing it to 3ds Max 2018 student edition and several warning come up when importing it, however, it seems to be importing the collada file as an fbx for some reason.
The errors are as followed:

The following parent and/or ancestor node(s) is/are not part of the BindPose definition.
-~lower_arm
-~upper_arm
--base

While reading or writing a file the following notifications have been raised.
-Warning: The transform of node "~hull" is not compatible with FBX, so it is baked into TRS.
-Warning: The transform of node "~upper_arm" is not compatible with FBX, so it is baked into TRS.
-Warning: The transform of node "~lower_arm" is not compatible with FBX, so it is baked into TRS.
-Warning: The transform of node "~bot_landing_gear" is not compatible with FBX, so it is baked into TRS.
-Warning: The transform of node "~l_landing_gear" is not compatible with FBX, so it is baked into TRS.
-Warning: The transform of node "~r_landing_gear" is not compatible with FBX, so it is baked into TRS.
-Warning: The transform of node "~top_landing_gear" is not compatible with FBX, so it is baked into TRS.
-Warning: The transform of node "-hull" is not compatible with FBX, so it is baked into TRS.
-Warning: The transform of node "-base" is not compatible with FBX, so it is baked into TRS.
-Warning: The transform of node "-landgear" is not compatible with FBX, so it is baked into TRS.


Demoxicini
Joined: Feb 15, 2020

343 Guilty Spark


Posted: May 10, 2020 02:01 PM    Msg. 79 of 104       
Hello Gravemind, there is an error with the sound extractor, i post it to you.

System.IO.IOException: the communication canal have been closed.

at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count)
at System.IO.BinaryWriter.Write(Byte[] buffer)
at Adjutant.Utilities.SoundUtils.WriteRiffData(Stream output, IFormatHeader header, Byte[] data)
à Reclaimer.Plugins.SoundExtractorPlugin.WriteSoundFile(GameSound sound, String directory, Boolean overwrite)
at Reclaimer.Plugins.BatchExtractPlugin.SaveSound(ISoundContainer sound, String baseDir)
at Reclaimer.Plugins.BatchExtractPlugin.SaveSound(IIndexItem tag)
at Reclaimer.Plugins.BatchExtractPlugin.Extract(IIndexItem tag, ExtractCounter counter)
Extracted 0 tags in 4 seconds with 1 errors.


Gravemind
Joined: Jul 28, 2009

The Age of Reclamation has begun.


Posted: May 11, 2020 05:53 AM    Msg. 80 of 104       
Quote: --- Original message by: Zerox
Changing the AssimpScale doesn't make a difference, I'm guessing it was a coincidence that shrinking it by ~0.02539999969303608 made it just about match up.

I have tried importing it to 3ds Max 2018 student edition and several warning come up when importing it, however, it seems to be importing the collada file as an fbx for some reason.

I'm not sure what exactly those errors mean, but it doesn't appear to affect the results when importing into Max. Unfortunately if Blender is ignoring the unit size I don't know what else I can do. The collada file generation is done using a third party library so I have little control over it. I provide the bones and vertices in the same coordinate system so even if the scale was off they should both be off by the same amount and still match up.

Quote: --- Original message by: Demoxicini
Hello Gravemind, there is an error with the sound extractor, i post it to you.

System.IO.IOException: the communication canal have been closed.


What build of FFmpeg did you download? The link I posted should take you to here https://ffmpeg.zeranoe.com/builds/ where you should choose Windows 32-bit Architecture and Static Linking. It probably won't work if you download the 64-bit version.


Demoxicini
Joined: Feb 15, 2020

343 Guilty Spark


Posted: May 11, 2020 06:19 AM    Msg. 81 of 104       
Now another problem with the sound extractor, when i want extract a sound, there is no error, the batch extract show that it was extracted but when i wanted to see that, D:\XMA convert\sound\levels\deadlock\sound_scenery\flybys_halo3\details\ any sound detected. it is empty.
Edited by Demoxicini on May 11, 2020 at 06:37 AM


Gravemind
Joined: Jul 28, 2009

The Age of Reclamation has begun.


Posted: May 12, 2020 05:02 AM    Msg. 82 of 104       
Did you change any settings? I was able to extract that tag just fine as wav.


Demoxicini
Joined: Feb 15, 2020

343 Guilty Spark


Posted: May 12, 2020 07:04 AM    Msg. 83 of 104       
no sorry, i redownloaded this but when i extract one tag, there is any sound.


Zerox
Joined: Mar 14, 2020


Posted: May 12, 2020 07:32 AM    Msg. 84 of 104       
Quote: there is no error

Try opening it via Powershell and seeing if an error message can be forced to come up that way.
This is a tutorial on how to do that with Blender if you have no idea what I'm talking about. https://www.youtube.com/watch?v=acVi6ZvZLmQ
Edited by Zerox on May 12, 2020 at 07:33 AM


Demoxicini
Joined: Feb 15, 2020

343 Guilty Spark


Posted: May 12, 2020 08:15 AM    Msg. 85 of 104       
it's not a model file but a sound file...


Gravemind
Joined: Jul 28, 2009

The Age of Reclamation has begun.


Posted: May 13, 2020 06:39 AM    Msg. 86 of 104       
Quote: --- Original message by: Zerox
Try opening it via Powershell and seeing if an error message can be forced to come up that way.
This is a tutorial on how to do that with Blender if you have no idea what I'm talking about. https://www.youtube.com/watch?v=acVi6ZvZLmQ

Good thinking but in this case Reclaimer is calling an external exe to do the conversion. I'm not sure if the output from the external exe would show up in a Powershell window attached to Reclaimer.

Quote: --- Original message by: Demoxicini
no sorry, i redownloaded this but when i extract one tag, there is any sound.

I've uploaded a new version with an extra sound setting called LogFFmpegOutput. Change this setting to true and try extracting a single sound tag and see if any errors show up in the output viewer.

To change the setting; install the update then open Reclaimer and go to 'View > App Directory'. Close Reclaimer first then edit the settings.json file and make sure to save it before you open Reclaimer again.

If there are no errors try changing the OutputExtension setting to "xma" and see if the sound files still come out empty.


Demoxicini
Joined: Feb 15, 2020

343 Guilty Spark


Posted: May 13, 2020 08:30 AM    Msg. 87 of 104       
thank you somuch Gravemind it finally works but for scenario_struct_map_bsp, could you add the vmf format to use this for hammer editor (Valve game) if you can...


gpGlobals
Joined: Jan 15, 2020


Posted: May 14, 2020 11:25 PM    Msg. 88 of 104       
Quote: --- Original message by: Demoxicini
thank you somuch Gravemind it finally works but for scenario_struct_map_bsp, could you add the vmf format to use this for hammer editor (Valve game) if you can...

Err, that's not exactly how it works, unfortunately. The "bsp" in both Valve's map file extension and the Halo tag refers to "binary space partition(ing)", an algorithm used for handling space or something like that - I'm not too well-versed on the details - but it's not the same file format.

Extraction to the .vmf/.bsp format *is* theoretically possible, but it'd require someone to make a separate tool for it - I don't think this is necessarily within Reclaimer's scope.

I do have a separate question as well, though - when extracting a bitmap as a .dds file, are the mipmaps embedded in there, too? If not, could that be implemented; maybe even give the option to extract each mipmap individually as a separate image?
Edited by gpGlobals on May 14, 2020 at 11:28 PM


MaydelcoreZone
Joined: May 15, 2020


Posted: May 15, 2020 05:27 PM    Msg. 89 of 104       
Won't open and gives immediate crash.
Already re-installed it tons of times and still get the same problem.
What is going on?

EDIT:
This is the crash code:

System.MissingMethodException: Método no encontrado: '!!0[] System.Array.Empty()'.
en ControlzEx.Windows.Shell.WindowChrome..ctor()
en ControlzEx.Behaviors.WindowChromeBehavior.InitializeWindowChrome()
en ControlzEx.Behaviors.WindowChromeBehavior.OnAttached()
en MahApps.Metro.Behaviours.BorderlessWindowBehavior.OnAttached()
en System.Windows.Interactivity.Behavior.Attach(DependencyObject dependencyObject)
en System.Windows.Interactivity.BehaviorCollection.ItemAdded(Behavior item)
en System.Windows.Interactivity.AttachableCollection`1.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
en System.Windows.FreezableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
en System.Windows.FreezableCollection`1.OnCollectionChanged(NotifyCollectionChangedAction action, Int32 oldIndex, T oldValue, Int32 newIndex, T newValue)
en System.Windows.FreezableCollection`1.AddHelper(T value)
en MahApps.Metro.Behaviours.StylizedBehaviors.OnPropertyChanged(DependencyObject dpo, DependencyPropertyChangedEventArgs e)
en System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
en System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
en System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
en System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
en System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
en System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
en MahApps.Metro.Controls.MetroWindow.InitializeStylizedBehaviors()
en MahApps.Metro.Controls.MetroWindow..ctor()
en Reclaimer.Windows.MainWindow..ctor()
en Reclaimer.App.OnStartup(StartupEventArgs e)
en System.Windows.Application.<.ctor>b__1(Object unused)
en System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
en MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
en System.Windows.Threading.DispatcherOperation.InvokeImpl()
en System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
en System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
en System.Windows.Threading.DispatcherOperation.Invoke()
en System.Windows.Threading.Dispatcher.ProcessQueue()
en System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
en MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
en MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
en System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
en MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
en System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
en MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
en MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
en System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
en System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
en System.Windows.Threading.Dispatcher.Run()
en System.Windows.Application.RunDispatcher(Object ignore)
en System.Windows.Application.RunInternal(Window window)
en System.Windows.Application.Run(Window window)
en Reclaimer.App.Main()

Edited by MaydelcoreZone on May 15, 2020 at 05:37 PM


Gravemind
Joined: Jul 28, 2009

The Age of Reclamation has begun.


Posted: May 15, 2020 11:07 PM    Msg. 90 of 104       
Quote: --- Original message by: Demoxicini
could you add the vmf format to use this for hammer editor (Valve game) if you can..

Probably the best option there would be to export it to Blender or Max first, as one of those would likely have plugins to create vmf files.

Quote: --- Original message by: gpGlobals
Extraction to the .vmf/.bsp format *is* theoretically possible, but it'd require someone to make a separate tool for it - I don't think this is necessarily within Reclaimer's scope.

Reclaimer supports the creation of plugins/addons/extensions, whatever you choose to call them. If someone more familiar with Valve games and/or Hammer Editor and the vmf format wanted to they would be able to create a plugin that adds that functionality to Reclaimer without any changes needing to be made to Reclaimer itself.

Quote: --- Original message by: gpGlobals
I do have a separate question as well, though - when extracting a bitmap as a .dds file, are the mipmaps embedded in there, too? If not, could that be implemented; maybe even give the option to extract each mipmap individually as a separate image?

Reclaimer currently does not use the mipmaps in any way, though it would be possible.

Quote: --- Original message by: MaydelcoreZone
Won't open and gives immediate crash.
Already re-installed it tons of times and still get the same problem.
What is going on?

Reclaimer requires .NET Framework 6.4.2. Based on the error message, it would seem you don't currently have that installed. You can download it here: https://dotnet.microsoft.com/download/dotnet-framework/thank-you/net462-offline-installer
Edited by Gravemind on May 15, 2020 at 11:08 PM


Demoxicini
Joined: Feb 15, 2020

343 Guilty Spark


Posted: May 17, 2020 11:49 AM    Msg. 91 of 104       
it is a possiblity Gravemind that you can create another options to extract the map as a vmf file or it's not possible for you, i could understand.

it's possible to extract Halo 2 sound with reclaimer because the batch tag extract doesn't show it.
Edited by Demoxicini on May 19, 2020 at 08:39 AM


gpGlobals
Joined: Jan 15, 2020


Posted: May 19, 2020 11:26 PM    Msg. 92 of 104       
Oh dang, you can write plugins for it? Is there any guide or such on how to do that? I haven't seen anything about that.


Gravemind
Joined: Jul 28, 2009

The Age of Reclamation has begun.


Posted: May 21, 2020 05:22 AM    Msg. 93 of 104       
Quote: --- Original message by: Demoxicini
it is a possiblity Gravemind that you can create another options to extract the map as a vmf file or it's not possible for you, i could understand.

it's possible to extract Halo 2 sound with reclaimer because the batch tag extract doesn't show it.

VMF export isn't something I would have the time or resources to implement. I wasn't able to find much for Blender, but I can see that 3ds Max has a few VMF plugins available so you could export from Reclaimer to Max, then from Max to Hammer.
Halo 2 sound extraction is not supported at this time.

Quote: --- Original message by: gpGlobals
Oh dang, you can write plugins for it? Is there any guide or such on how to do that? I haven't seen anything about that.

I thought I mentioned it in the OP but I just checked and it turns out I didn't.
Currently all controls within Reclaimer (tag tree, bitmap viewer, model viewer, batch extraction etc) are actually internalized plugins. These types of features can also be added via external plugins.
I haven't written up a guide or anything yet because there doesn't seem to be any interest, but if you want to know more you can send me a message. The plugins are done using .NET libraries, though you could also use other methods as long as you create a .NET wrapper so Reclaimer can communicate with it.


gpGlobals
Joined: Jan 15, 2020


Posted: May 21, 2020 05:59 PM    Msg. 94 of 104       
Quote: --- Original message by: Gravemind
Quote: --- Original message by: Demoxicini
it is a possiblity Gravemind that you can create another options to extract the map as a vmf file or it's not possible for you, i could understand.

it's possible to extract Halo 2 sound with reclaimer because the batch tag extract doesn't show it.

VMF export isn't something I would have the time or resources to implement. I wasn't able to find much for Blender, but I can see that 3ds Max has a few VMF plugins available so you could export from Reclaimer to Max, then from Max to Hammer.
Halo 2 sound extraction is not supported at this time.

Quote: --- Original message by: gpGlobals
Oh dang, you can write plugins for it? Is there any guide or such on how to do that? I haven't seen anything about that.

I thought I mentioned it in the OP but I just checked and it turns out I didn't.
Currently all controls within Reclaimer (tag tree, bitmap viewer, model viewer, batch extraction etc) are actually internalized plugins. These types of features can also be added via external plugins.
I haven't written up a guide or anything yet because there doesn't seem to be any interest, but if you want to know more you can send me a message. The plugins are done using .NET libraries, though you could also use other methods as long as you create a .NET wrapper so Reclaimer can communicate with it.


Is there a standard library that can provide a few tag-reading convenience functions for plugins?


Gravemind
Joined: Jul 28, 2009

The Age of Reclamation has begun.


Posted: May 21, 2020 07:42 PM    Msg. 95 of 104       
Quote: --- Original message by: gpGlobals
Is there a standard library that can provide a few tag-reading convenience functions for plugins?

Yes, but only a few tags are available out of the box. For other tags, or unmapped parts of the current tags, you can either add a new definition for it and let the library handle the reading or if you really want you can just use the offset provided and read it yourself or use a separate library to read it.


gpGlobals
Joined: Jan 15, 2020


Posted: May 22, 2020 12:03 AM    Msg. 96 of 104       
Quote: --- Original message by: Gravemind
Quote: --- Original message by: gpGlobals
Is there a standard library that can provide a few tag-reading convenience functions for plugins?

Yes, but only a few tags are available out of the box. For other tags, or unmapped parts of the current tags, you can either add a new definition for it and let the library handle the reading or if you really want you can just use the offset provided and read it yourself or use a separate library to read it.

There are also tools to extract raw page info too, right? And these would be written in C#? At this point I might as well ask for a mediafire link to the necessary plugin-creation files, lol


Gravemind
Joined: Jul 28, 2009

The Age of Reclamation has begun.


Posted: May 22, 2020 01:56 AM    Msg. 97 of 104       
The raw pages is part of the included tag definitions. Basically, anything necessary for Reclaimer’s functionality is standard. The standard way to make the libraries would be using VB.NET or C#.NET, though really anything will work as long as you make a compatible wrapper for it.


Serch
Joined: May 22, 2020


Posted: May 22, 2020 05:53 PM    Msg. 98 of 104       
Hi, I seem an issue with Reclaimer, when i load a level of odst, then go to scenario structure bsp, and open a part of the level in the model viewer, it looks fine, but when i try to open another part of the level it just never loads, i click open with model viewer again but it doesnt open in model viewer, any idea as to why this is happening?


Gravemind
Joined: Jul 28, 2009

The Age of Reclamation has begun.


Posted: May 22, 2020 11:02 PM    Msg. 99 of 104       
I have found the issue and it will be resolved in the next update.


Polingo
Joined: Dec 10, 2019


Posted: May 26, 2020 02:57 AM    Msg. 100 of 104       
Thought I'd stop by again to toss down a few bugs I came across during usage along with a question.

Whenever I import some head models from Halo 4 into max, they dont seem to do so properly.



So far the only models that I peeped at that have this issue are Cortana, Didact, and Lasky. They appear fine in the model viewer, however.


When I try extracting bitmaps from any game via model viewer, it gives me this.
Error extracting objects\characters\storm_masterchief\bitmaps\storm_masterchief_default\storm_masterchief_default_armor_arm_diff.bitmap
System.NullReferenceException: Object reference not set to an instance of an object.
at Reclaimer.Controls.ModelViewer.<>c__DisplayClass47_0.<btnSaveBitmaps_Click>b__0()


The Halo Reach sniper rifle does not seem to open.
Loading model: objects\weapons\rifle\sniper_rifle\sniper_rifle.render_model
Error loading model: objects\weapons\rifle\sniper_rifle\sniper_rifle.render_model
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at System.Collections.Generic.List`1.get_Item(Int32 index)
at System.Collections.ObjectModel.Collection`1.get_Item(Int32 index)
at Adjutant.Blam.HaloReach.HaloReachCommon.<GetMaterials>d__2.MoveNext()
at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
at Adjutant.Blam.HaloReach.render_model.ReadGeometry(Int32 lod)
at Reclaimer.Controls.ModelViewer.SetLod(Int32 index)
at Reclaimer.Controls.ModelViewer.LoadGeometry(IRenderGeometry geometry, String fileName)
at Reclaimer.Plugins.ModelViewerPlugin.OpenFile(OpenFileArgs args)


Not sure if this one is an issue, or if they are just not supported, but H4 dlc models don't seem to open either.
Loading model: objects\dlc\characters\storm_masterchief\storm_masterchief_tu_stripped.render_model
Error loading model: objects\dlc\characters\storm_masterchief\storm_masterchief_tu_stripped.render_model
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: startIndex
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at System.BitConverter.ToInt16(Byte[] value, Int32 startIndex)
at System.IO.Endian.EndianReader.ReadInt16(ByteOrder byteOrder)
at System.IO.Endian.EndianReader.ReadInt16()
at Deserialize<SequenceBlock>[12](EndianReader , SequenceBlock )
at System.IO.Endian.DynamicReader`1.Read(EndianReader reader, Nullable`1 version, T instance)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.IO.Endian.EndianReader.DynamicRead(Object instance, Type type, Nullable`1 version)
at System.IO.Endian.EndianReader.ReadObject(Object instance, Type type, Nullable`1 version)
at System.IO.Endian.EndianReader.ReadObject(Type type, Double version)
at Adjutant.Blam.Common.BlockCollection`1..ctor(DependencyReader reader, ICacheFile cache, IAddressTranslator translator)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Adjutant.Utilities.DependencyReader.Construct(Type type, ConstructorInfo constructor)
at Adjutant.Utilities.DependencyReader.CreateInstance(Type type, Nullable`1 version)
at System.IO.Endian.EndianReader.DynamicRead(Object instance, Type type, Nullable`1 version)
at System.IO.Endian.EndianReader.ReadObject(Object instance, Type type, Nullable`1 version)
at System.IO.Endian.EndianReader.ReadObject[T](Double version)
at Deserialize<bitmap>[12](EndianReader , bitmap )
at System.IO.Endian.DynamicReader`1.Read(EndianReader reader, Nullable`1 version, T instance)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.IO.Endian.EndianReader.DynamicRead(Object instance, Type type, Nullable`1 version)
at System.IO.Endian.EndianReader.ReadObject(Object instance, Type type, Nullable`1 version)
at System.IO.Endian.EndianReader.ReadObject(Type type, Double version)
at Adjutant.Blam.Halo4.IndexItem.ReadMetadataInternal[T]()
at Adjutant.Blam.Halo4.IndexItem.ReadMetadata[T]()
at Adjutant.Blam.Halo4.Halo4Common.<GetMaterials>d__0.MoveNext()
at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
at Adjutant.Blam.Halo4.render_model.ReadGeometry(Int32 lod)
at Reclaimer.Controls.ModelViewer.SetLod(Int32 index)
at Reclaimer.Controls.ModelViewer.LoadGeometry(IRenderGeometry geometry, String fileName)
at Reclaimer.Plugins.ModelViewerPlugin.OpenFile(OpenFileArgs args)


And lastly, H2 first person needler does not seem to import with its needles skinned.



Also, out of curiosity, has there been any progress been made on H5F support? I recall seeing a few folks with a build of Reclaimer that can open h5 stuff to a limited extent but thats about it if I am not mistaken.


Gravemind
Joined: Jul 28, 2009

The Age of Reclamation has begun.


Posted: May 26, 2020 06:51 AM    Msg. 101 of 104       
Quote: --- Original message by: Polingo
Whenever I import some head models from Halo 4 into max, they dont seem to do so properly.

So far the only models that I peeped at that have this issue are Cortana, Didact, and Lasky. They appear fine in the model viewer, however.
Quote: --- Original message by: Polingo

When I try extracting bitmaps from any game via model viewer, it gives me this.
Error extracting objects\characters\storm_masterchief\bitmaps\storm_masterchief_default\storm_masterchief_default_armor_arm_diff.bitmap
System.NullReferenceException: Object reference not set to an instance of an object.
at Reclaimer.Controls.ModelViewer.<>c__DisplayClass47_0.<btnSaveBitmaps_Click>b__0()

Quote: --- Original message by: Polingo
The Halo Reach sniper rifle does not seem to open.
Quote: --- Original message by: Polingo
And lastly, H2 first person needler does not seem to import with its needles skinned.

These will all be resolved in the next update.

Quote: --- Original message by: Polingo
Not sure if this one is an issue, or if they are just not supported, but H4 dlc models don't seem to open either.

I wasn't able to reproduce this on the Crimson or Castle maps. What file were you using?

Quote: --- Original message by: Polingo
Also, out of curiosity, has there been any progress been made on H5F support? I recall seeing a few folks with a build of Reclaimer that can open h5 stuff to a limited extent but thats about it if I am not mistaken.

I did start on Halo 5 a while back, but I hadn't done much before MCC took the stage. Now it seems most people are only interested in MCC so that's what I'm currently working on.


Polingo
Joined: Dec 10, 2019


Posted: May 26, 2020 11:51 PM    Msg. 102 of 104       
Quote: --- Original message by: Gravemind
I wasn't able to reproduce this on the Crimson or Castle maps. What file were you using?

mainmenu_patch, onyx_patch, and onyx_spops_patch.

To clarify, DLC maps themselves along with their contents appear to open fine, the only ones that seem to give this error are the patch .map files that contain the DLC armors.
Edited by Polingo on May 26, 2020 at 11:54 PM


Demoxicini
Joined: Feb 15, 2020

343 Guilty Spark


Posted: May 28, 2020 05:26 PM    Msg. 103 of 104       
i really need a vmf exporter, i used 3Dmax but it gives error, sorry to bother you Gravemind.

I have another question about reclaimer bitmap extraction, it would be very enjoyable that you could add the jpeg bitmaps format for the extraction.
Edited by Demoxicini on May 29, 2020 at 07:13 AM


Gravemind
Joined: Jul 28, 2009

The Age of Reclamation has begun.


Posted: May 29, 2020 09:00 AM    Msg. 104 of 104       
New update available with the following:
- support MCC Halo Reach maps (shoutout to Lord Zedd)
- new recent files menu
- add status bar to show current tag in batch extraction without output viewer visible
- output viewer no longer opens automatically when starting a batch extract
- add jpeg save option for bitmaps
- fix extraction of permutations with multiple meshes (ie Halo 4 faces)
- fix extraction of rigid boned meshes in Halo 2
- fix models not loading on Halo4 patch maps

Quote: --- Original message by: Demoxicini
i really need a vmf exporter, i used 3Dmax but it gives error, sorry to bother you Gravemind.
I don't have the tools to build and test a vmf exporter.
Edited by Gravemind on May 29, 2020 at 08:18 PM

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

 
Previous Older Thread    Next newer Thread







Time: Thu June 4, 2020 11:27 PM 93 ms.
A Halo Maps Website