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 »[BETA RELEASE] Refinery 0.7

Page 3 of 3 Go to page: · 1 · 2 · [3] · Prev
Author Topic: [BETA RELEASE] Refinery 0.7 (96 messages, Page 3 of 3)
Moderators: Dennis

altis94
Joined: Oct 5, 2012

What doesn't ban me makes me stronger


Posted: Oct 1, 2017 02:54 PM    Msg. 71 of 96       
bumpadump


MosesofEgypt
Joined: Apr 3, 2013


Posted: Oct 1, 2017 03:13 PM    Msg. 72 of 96       
Refinery v1.5.1 is out with bug fixes and new features. Run the mek installer's update feature to get it.

New in v1.5.1:

* Ability to perfectly rip scripts with automatic indentation.
Yes, seriously. I ripped a10's scripts and recompiled. Played flawlessly.
I might be exaggerating on the "perfectly" bit, but only time will tell.
* Ability to rip hud_message_text tags back to the .hmt text files they were compiled from.
* Fixes to a decent chunk of bugs that cropped up when I moved modules around during the last big refactor.


EDIT: Actually, it seems one of my optimizations broke something. Dont bother with script extraction till i fix this.....
EDIT2: Fixed the bug. Go ahead and update the mek again. Refinery's version number shouldn't change, but reclaimer's will(you wont see it).

To actually rip scripts and hud_message_text to their source files, load Refinery, change it to data extraction mode(click the button), and add the scenario and hud_message_text files to the queue to be extracted. They'll go into the data folder in the appropriate directory for them to be recompiled with tool.

Mozzarilla v1.0.6 is also out with the ability to load multiple dds images as bitmaps all at once(rather than one at a time). Idky I didn't do this in the first place.

Here is an example of ripping a10's mission hud_message_text:

tutorial_introduction_1=Self-Diagnostic Software Enabled
tutorial_looking_1=Look around
tutorial_looking_2=Look around
tutorial_looking_1l=Look around
tutorial_looking_2l=Look around
tutorial_action_1=Use %action to exit the cryo-tube
tutorial_moving_1=
tutorial_moving_1l=
tutorial_looking_targeted_1=Stand on the red square
tutorial_looking_targeted_2=Target each of the flashing lights
tutorial_looking_targeted_3=Vertical looking is now inverted|nTarget each of the flashing lights
tutorial_looking_choose_1=Vertical looking is now inverted|nLook up and down
tutorial_looking_choose_2=Vertical looking is now inverted|n|nPress %b-button to try it the other way|n|nPress %a-button to leave it like it is
tutorial_looking_choose_3=Vertical looking is now normal|nLook up and down
tutorial_looking_choose_4=Vertical looking is now normal|n|nPress %b-button to try it the other way|n|nPress %a-button to leave it like it is
tutorial_grenade=Use %throw-grenade to throw grenades
hud_shield_1=Energy Shields Charging
hud_shield_2=Energy Shields Charged|n|nPress %a-button to continue
hud_shield_3=Energy Shields Recharging
moving_jump_1=Use %jump to jump over obstacles
moving_crouch_1=Click %crouch to crouch under obstacles
firing_1=Use %primary-trigger to fire your weapon
light_1=Use %integrated-light to use your flashlight
melee_1=Use %use-equipment to break down the door
ladder_1=Look up and move forward to climb ladders
obj_training= Complete training diagnostic
obj_bridge= Find Captain Keyes on the Bridge
obj_escape= Get off the Pillar of Autumn
dia_training= Complete training diagnostic
dia_bridge= Find Captain Keyes on the Bridge
dia_escape= Get off the Pillar of Autumn



Example of ripping a few scripts from svp3_a10:

(script static void fr_regen_update
(begin
(set fr_regen_shield (* (unit_get_shield player0_global) 75))
(set fr_regen_health (+ (* (unit_get_health player0_global) 75) 1))
(if (and (>= (unit_get_shield player0_global) 1) (< (unit_get_health player0_global) 0.59))
(begin
(unit_set_current_vitality player0_global fr_regen_health fr_regen_shield)
(print "visr turned off")
(pp_set_effect_instance_active mission_pp_index_visr_flare false)
(if fr_battery_depletion_on
(sound_impulse_start "cmt\sounds\sfx\powerups\armor_module\fx\armor_module_visr_off" "none" 1)
(pp_set_effect_instance_active mission_pp_index_visr false)
)
(if fr_battery_depletion_on
(pp_set_effect_instance_fade mission_pp_index_visr 1 0 0.5)
)
(set fr_battery_depletion_on false)
(set fr_battery_power_fraction (- fr_battery_power_fraction 0.00000015873))
(set fr_battery_power_fraction (max 0 fr_battery_power_fraction))
(unit_data_set_real player0_global "integrated_light_toggle_power" fr_battery_power_fraction)
)
)
(if fr_flashlight_should_be_on
(unit_data_set_real player0_global "driver_power" 1)
(unit_data_set_real player0_global "driver_power" 0)
)
(unit_data_set_real player0_global "integrated_light_toggle_power" 1)
)
)


(script continuous save_1
(begin
(if (volume_test_objects "bsp2,1" (players))
(game_save)
)
(if (volume_test_objects "airlock_1_trigger_2" (players))
(game_save)
)
(if (volume_test_objects "flank_trigger_1" (players))
(hacky_save)
)
(if (volume_test_objects "airlock_1_trigger_2" (players))
(hacky_save)
)
(if (volume_test_objects "bsp3,2" (players))
(hacky_save)
)
(if (volume_test_objects "airlock_2_trigger_1" (players))
(hacky_save)
)
(if (volume_test_objects "knot_trigger_2" (players))
(if (>= (unit_get_shield (player0)) 1)
(begin
(sleep 30)
(if (>= (unit_get_shield (player0)) 1)
(game_save_totally_unsafe)
)
)
)
)
(if (volume_test_objects "bsp3,4" (players))
(hacky_save)
)
(if (volume_test_objects "lifepod_1_trigger_1" (players))
(hacky_save)
)
(if (volume_test_objects "motiontracker_1" (players))
(hacky_save)
)
(if (volume_test_objects "cryo_search_trigger_1" (players))
(game_save_no_timeout)
)
(sleep 900)
)
)


(script dormant grav_egg
(begin
(sleep 300)
(if (= "easy" (game_difficulty_get_real))
(object_create "gravity_skull")
)
(if (= "impossible" (game_difficulty_get_real))
(object_create "gravity_skull")
)
(sleep_until (and (unit_has_weapon_readied (player0) "cmt\weapons\spv3\multiplayer\ball\gravity_skull") (< (objects_distance_to_object (player0) "gravity_skull") 2)) 60)
(sleep -1 gravity_engineers)
(device_set_position_immediate "keys" 1)
(sleep 10)
(physics_set_gravity 0.05)
)
)


(script static void hacky_save
(if (>= (unit_get_shield (player0)) 1)
(begin
(sleep 15)
(if (>= (unit_get_shield (player0)) 1)
(game_save_totally_unsafe)
)
)
)
)


I plan to eventually incorporate these ripping abilities into Mozzarilla so you can rip scripts and hud_message_text from the tags themselves rather than whole maps.
Edited by MosesofEgypt on Oct 1, 2017 at 04:25 PM


S12Spark
Joined: Apr 25, 2015


Posted: Oct 2, 2017 12:03 AM    Msg. 73 of 96       
I havent had a chance to test it yet but I appreciate you adding script extraction in! I'm going to download it tomorrow and give it a try!


GirtheDoge
Joined: Jul 14, 2017

Been playin Halo since 07


Posted: Oct 2, 2017 11:15 PM    Msg. 74 of 96       
hey MOE i have all of those required folders but i have 1 extra. its called err.yelo will this mess up anything. also what does cheape.yelo mean/ Also i have perfectly extracted all the of the tags from the maps and when I open OS_Sapien on bloodgulch. OS_Sapien crashes immediatly. can I only place the OS tags on a OS map?

Edited by GirtheDoge on Oct 2, 2017 at 11:19 PM
Edited by GirtheDoge on Oct 3, 2017 at 12:24 AM


MosesofEgypt
Joined: Apr 3, 2013


Posted: Oct 3, 2017 02:24 AM    Msg. 75 of 96       
That err.yelo is just an extra map. Also, CMT used special tools to build their scenarios and such. You'll not be able to load their scenarios in sapien. I dont have their tools, so dont ask me. Also, I don't have much experience in sapien, but I do know it's very finicky. Others here with more experience might be able to help you.

Best you can hope for is to throw the ai into a different scenario and work with that. Be warned though, CMT's tags aren't masterpieces of craftsmanship, and are likely broken in subtle ways. Trust me, I've had to fix some of them before. If they crash sapien when throwing them into a scenario, it might be an extraction issue, but it might also be something on CMT's end.
Edited by MosesofEgypt on Oct 3, 2017 at 02:27 AM


EmmanuelCD
Joined: Jan 7, 2015

I hate this comunity as much as hate my existence


Posted: Oct 3, 2017 03:43 PM    Msg. 76 of 96       
Bump to keep alive HCE until I retire


Christianl831
Joined: Sep 27, 2014


Posted: Oct 18, 2017 05:48 PM    Msg. 77 of 96       
Amazing tool, I definitely prefer this over HEK. But one thing. I am having problems extracting bitmaps, I mean I can extract other things such as sounds, I'm just having problems extracting bitmaps.

The command prompt displays this when loading resource maps:


Loading resource maps for: spv3a10
Loading -bitmaps.map...
Traceback (most recent call last):
File "C:\Users\Urgetokill\AppData\Local\Programs\Python\Python36-32\lib\site-packages\reclaimer\meta\objs\halo1_map.py", line 749, in load_all_resource_maps
map_path, will_be_active=False)
File "C:\Users\Urgetokill\AppData\Local\Programs\Python\Python36-32\lib\site-packages\reclaimer\meta\objs\halo1_rsrc_map.py", line 77, in load_map
map_data = PeekableMmap(f.fileno(), 0)
OSError: [WinError 8] Not enough storage is available to process this command


I know this problem probably isn't related to your program but I can't do anything with bitmaps because it says I don't have enough storage. I am low on space with 18gb free but wouldn't that seem like enough? Anyways if anyone can help me out, I'd appreciate it.


MosesofEgypt
Joined: Apr 3, 2013


Posted: Oct 18, 2017 08:33 PM    Msg. 78 of 96       
Uninstall your current version of python3 and install the 64 bit version of it. 32 bit python on 64 bit systems is limited to 2GB of addressable memory. Python is asking the system to reserve space for the entire length of each mapfile refinery is loading(at least that's what I'm assuming is going on, even if it doesnt show up as using that much), which can cause it to run out of memory. 64 bit python doesnt have this limitation.


Christianl831
Joined: Sep 27, 2014


Posted: Oct 19, 2017 12:43 AM    Msg. 79 of 96       
That seems to have solved my problem, thanks!


Leo74800
Joined: Nov 23, 2015


Posted: Nov 18, 2017 08:58 AM    Msg. 80 of 96       
Refinery does not work with these maps :

https://www.mediafire.com/folder/cyswouggm5dw9/HCEA_2.2

"cmt\weapons\covenant\plasma_rifle_base\shaders\gun.shader_model" seems to be causing a problem.


MosesofEgypt
Joined: Apr 3, 2013


Posted: Nov 18, 2017 10:35 AM    Msg. 81 of 96       
This is a bug caused by SOMEONE extracting that tag with HEK+ before compiling it into that map, which caused some open sauce reflexive headers to exist without their struct arrays. Since Refinery can read open sauce tags, it tries to read the reflexive in that shader, but it cant because it didn't actually get extracted. It's trying to read 16777216 structs in that shaders os_shader_model_extension reflexive.

I have checks in place to detect corrupt reflexives for this exact reason when parsing a tag from a map, but apparently it wasn't enough. I've added another check which fixes the issue. Go ahead and run the updater to get the fix.


Masters1337
Joined: Mar 5, 2006

halonaminator's unfortunate idol


Posted: Nov 21, 2017 07:38 PM    Msg. 82 of 96       
Refinery happens to have problems opening the shadowrun prototype, while HEK+ can. I only tried on the decompressed map, included in the maps folder (which I decompressed when trying to open with refinery). There are also some new tag types, if you are ever bored and want to look at them.

https://www.dropbox.com/s/2bw2w5ubkrph166/ShadowRun_Prototype.zip?dl=0

Edited by Masters1337 on Nov 21, 2017 at 07:39 PM


MosesofEgypt
Joined: Apr 3, 2013


Posted: Nov 21, 2017 07:52 PM    Msg. 83 of 96       
I am curious. I definitely wont be mapping out new tag types, but I might only need to set an index magic for shadowrun maps for it to work. Alternatively, i can make an option in refinery to use the old hacky magic calculation method. This will allow it to load other halo 1 map versions, but can be foiled if map protection is used.

Thanks, i've been interested in taking a look at these for a while.


Masters1337
Joined: Mar 5, 2006

halonaminator's unfortunate idol


Posted: Nov 22, 2017 04:19 AM    Msg. 84 of 96       
No problem, I can also get you that Halo 1 Beta if you want it. I was planning on trying to extract the scripts from mine and compare them to stock PC sometime soon.


MosesofEgypt
Joined: Apr 3, 2013


Posted: Nov 22, 2017 08:39 AM    Msg. 85 of 96       
Sure. Sounds fun. Got shadowrun fully extracting last night(aside from shadowrun exclusive tags). Cant push changes until I get distutils installed, and I cant do that till I find out why pip isnt installing with python.

Seems the way they added their stuff was by making "wrapper" tags to go around existing ones. Like, they made a shadowrun_actor, shadowrun_weapon, and shadowrun_unit to wrap actor, weapon, and unit respectively. Pretty sure they also made 3 different kind of magic and tech tags that act like equipment. They also made a "buy_menu" tag which literally just references a bunch of sounds to play when interacting with the shop menu.


Masters1337
Joined: Mar 5, 2006

halonaminator's unfortunate idol


Posted: Nov 23, 2017 09:56 PM    Msg. 86 of 96       
Would you have any idea what was done in the shadowrun_weapon tag? I have always been interested in how they did their laser sights for that game.
Edited by Masters1337 on Nov 23, 2017 at 09:58 PM


MosesofEgypt
Joined: Apr 3, 2013


Posted: Nov 24, 2017 11:11 AM    Msg. 87 of 96       
Quote: --- Original message by: MosesofEgypt
I definitely wont be mapping out new tag types


The only reason I mapped out the buy menu is because it's literally just a whole bunch of dependencies. The other tags aren't simple, and it's not worth it for me to map them out. I will take a look at the halo beta though if you want. It might just straight up open.


Also, go ahead and update, you should be able to open shadowrun now.
Edited by MosesofEgypt on Nov 24, 2017 at 01:08 PM


Masters1337
Joined: Mar 5, 2006

halonaminator's unfortunate idol


Posted: Nov 24, 2017 06:01 PM    Msg. 88 of 96       
Refinery is warming up...
Importing supyr_struct modules
Importing refinery modules
Loading map definitions
Initializing Refinery
Loading missionlet.map...
Loading Halo 1 OSv4 tag definitions...
Finished
Traceback (most recent call last):
File "C:\Users\maste\Dropbox\Oddball\MEK\supyr_struct\field_type_methods.py", line 341, in container_parser
root_offset, offset, **kwargs)
File "C:\Users\maste\Dropbox\Oddball\MEK\supyr_struct\field_types.py", line 713, in parser
return self.parser_func(self, *args, **kwargs)
File "C:\Users\maste\Dropbox\Oddball\MEK\supyr_struct\field_type_methods.py", line 943, in cstring_parser
rawdata.seek(start)
ValueError: seek out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\maste\Dropbox\Oddball\MEK\refinery\main.py", line 714, in load_maps
autoload_resources=self.autoload_resources.get())
File "C:\Users\maste\Dropbox\Oddball\MEK\reclaimer\meta\objs\halo1_map.py", line 134, in load_map
HaloMap.load_map(self, map_path, **kwargs)
File "C:\Users\maste\Dropbox\Oddball\MEK\reclaimer\meta\objs\halo_map.py", line 243, in load_map
tag_index = self.orig_tag_index = get_tag_index(map_data, map_header)
File "C:\Users\maste\Dropbox\Oddball\MEK\reclaimer\meta\halo_map.py", line 113, in get_tag_index
offset=header.tag_index_header_offset - magic)
File "C:\Users\maste\Dropbox\Oddball\MEK\supyr_struct\defs\block_def.py", line 217, in build
new_block.parse(**kwargs)
File "C:\Users\maste\Dropbox\Oddball\MEK\supyr_struct\blocks\list_block.py", line 811, in parse
raise e
File "C:\Users\maste\Dropbox\Oddball\MEK\supyr_struct\blocks\list_block.py", line 801, in parse
desc['TYPE'].parser(**kwargs)
File "C:\Users\maste\Dropbox\Oddball\MEK\supyr_struct\field_types.py", line 713, in parser
return self.parser_func(self, *args, **kwargs)
File "C:\Users\maste\Dropbox\Oddball\MEK\supyr_struct\field_type_methods.py", line 643, in struct_parser
raise e
File "C:\Users\maste\Dropbox\Oddball\MEK\supyr_struct\field_type_methods.py", line 624, in struct_parser
root_offset, offset, **kwargs)
File "C:\Users\maste\Dropbox\Oddball\MEK\supyr_struct\field_types.py", line 713, in parser
return self.parser_func(self, *args, **kwargs)
File "C:\Users\maste\Dropbox\Oddball\MEK\supyr_struct\field_type_methods.py", line 434, in array_parser
raise e
File "C:\Users\maste\Dropbox\Oddball\MEK\supyr_struct\field_type_methods.py", line 415, in array_parser
root_offset, offset, **kwargs)
File "C:\Users\maste\Dropbox\Oddball\MEK\supyr_struct\field_types.py", line 713, in parser
return self.parser_func(self, *args, **kwargs)
File "C:\Users\maste\Dropbox\Oddball\MEK\supyr_struct\field_type_methods.py", line 369, in container_parser
raise e
supyr_struct.defs.util.FieldParseError:
Error occurred while parsing:
tag_index, index:None, offset:107068928, field_type:<FieldType:'Struct', endian:'=', enc:'None'>
tag_index, index:STEPTREE, offset:107068964, field_type:<FieldType:'TagIndex', endian:'=', enc:'None'>
tag, index:STEPTREE, offset:110282532, field_type:<FieldType:'Container', endian:'=', enc:'None'>
tag_path, index:0, offset:110282532, field_type:<FieldType:'CStrLatin1', endian:'=', enc:'latin1'>
Error occurred while attempting to parse <class 'supyr_struct.blocks.list_block.PListBlock'>.








Still having this after running the updater. Also, I've noticed some issues with stubbs related animation. It seems to strip out assigned labels on some tags.


MosesofEgypt
Joined: Apr 3, 2013


Posted: Nov 24, 2017 06:33 PM    Msg. 89 of 96       
You definitely are not up to date. I just checked some of the line numbers in that output and they differ from the current ones. I think what's going on is you have local, out of date, copies of the libraries in the MEK folder, and when it searches for them it finds those instead of the up to date global ones. When I made the self-updating installer I changed the way it installs/looks for the portable libraries, so your current ones are mucking it up.

Delete the supyr_struct, refinery, reclaimer, arbytmap, mozzarilla, and binilla folders in your MEK folder and download the MEK from here.
https://www.dropbox.com/s/49gqv6du0yjb26u/MEK_Backup.zip?dl=1

This is a preinstalled version that doesn't have bitmap accelerators installed. It's one of my backup copies.
Edited by MosesofEgypt on Nov 24, 2017 at 10:55 PM


the concerned thros
Joined: Nov 20, 2017


Posted: Nov 25, 2017 05:31 AM    Msg. 90 of 96       
I have no idea how to use this but I want to. This thing isn't simplified enough for young bucks like me where the .exe at.


MosesofEgypt
Joined: Apr 3, 2013


Posted: Nov 25, 2017 12:11 PM    Msg. 91 of 96       
Well, when you install python it installs 2 exe's, python.exe and pythonw.exe, which are both located wherever python was installed. I like to install mine to c:\python35, but you're free to install it wherever, like say c:\users\altheros\python35. Hope that helps :D
Edited by MosesofEgypt on Nov 25, 2017 at 12:13 PM


Masters1337
Joined: Mar 5, 2006

halonaminator's unfortunate idol


Posted: Nov 25, 2017 03:25 PM    Msg. 92 of 96       
Quote: --- Original message by: MosesofEgypt

You definitely are not up to date. I just checked some of the line numbers in that output and they differ from the current ones. I think what's going on is you have local, out of date, copies of the libraries in the MEK folder, and when it searches for them it finds those instead of the up to date global ones. When I made the self-updating installer I changed the way it installs/looks for the portable libraries, so your current ones are mucking it up.

Delete the supyr_struct, refinery, reclaimer, arbytmap, mozzarilla, and binilla folders in your MEK folder and download the MEK from here.
https://www.dropbox.com/s/49gqv6du0yjb26u/MEK_Backup.zip?dl=1

This is a preinstalled version that doesn't have bitmap accelerators installed. It's one of my backup copies.
Edited by MosesofEgypt on Nov 24, 2017 at 10:55 PM


Got it working. Are you still ever on discord/skype? I've noticed some other oddities, including a tag that will only save as a projectile.temp.

edit; did something change in relation to common_descs in reclaimer? My modified file no longer seems to work.
Edited by Masters1337 on Nov 25, 2017 at 03:49 PM


MosesofEgypt
Joined: Apr 3, 2013


Posted: Nov 25, 2017 03:52 PM    Msg. 93 of 96       
Not on skype at all, and not really on discord much.

The saving issue is probably permissions related. It first saves the tag to filepath+".temp", then if it successfully saves it deletes the file at filepath(or renames it filepath+".backup"), and then renames filepath+".temp" to just filepath. If it can't do that last bit, it stays with .temp on the end. If it fails to save at all, it will also stay with .temp on the end, but it should give you an error message.

And yes, it has changed, a lot. Don't use it. If you have some changed enumerators in yours, you might be able to copy them into the new one.
Edited by MosesofEgypt on Nov 25, 2017 at 03:54 PM


Masters1337
Joined: Mar 5, 2006

halonaminator's unfortunate idol


Posted: Nov 25, 2017 03:55 PM    Msg. 94 of 96       
I only changed some strings, nothing script related. Where is the new lists stored?


MosesofEgypt
Joined: Apr 3, 2013


Posted: Nov 25, 2017 04:01 PM    Msg. 95 of 96       
You'll have to be specific about what you're looking for, or go searching through files in notepad with ctrl+f. There are multiple common_descs.py though, with one main one and slight varients for stubbs, halo 2, etc.


the concerned thros
Joined: Nov 20, 2017


Posted: Nov 26, 2017 02:05 AM    Msg. 96 of 96       
Thanks homie I can extract cleaner stuff from the original maps and spv3 stuff with this nice sexy tool

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

 
Previous Older Thread    Next newer Thread







Time: Tue December 12, 2017 8:53 AM 547 ms.
A Halo Maps Website