OSP Kit Optimisation ModMerger framework 0.2.5

Users who are viewing this thread

At first I wasn't sure what this did and
In plain english, it just means that when done properly, people can be lazy when installing mini-mods coz they don't have to following long-winded instructions to do lots of manual edits.
was actually still pretty vague to me, but when I scrolled down and saw the item power ups and stuff like that, I certainly became interested. Do the item power ups also work for Multiplayer?
 
Shcherbyna said:
Sphere, it is possible to change activation of myMod in modmerger_options.py like that:
mods_active = [
# insert the active mod names here
"myMod_folder\myMod_file",
#    "anothermod",
]
..to keep every mod in mod-own folder..???

Answer:
1. Copy yourMod_folder to Module_system 1.134\..
2. Create in Module_system 1.134\yourMod_folder\..empty __init__.py by notepad-like-editor.
3. Add path to yourMod_folder in modmerger_options.py:
mods_active = [
# insert the active mod names here
"yourMod_folder.yourMod_file_ID",
#    "anothermod",
]
4. If all right, after compill, in yourMod_folder will be created temporary .pyc files as proof good compilations.
 
sphere said:
Download
http://www.mbrepository.com/file.php?id=2203

What is this?
Allows modders to expose their mod's options/parameters via a generic presentation "MOD option" accessible from "Camp" menu.
The basic presentation is adapted from rubik's Custom Commander which is a toy-store of excellent features.

Turn this:
Code:
mod_options = [   
    # sample checkbox to switch the in-game cheat mode.  Comment out this if you don't want it.
    
    ( "op_cheatmode", xgm_ov_checkbox ,  [],
        "Enable cheat mode:", 0,        
        "This sets the in-game cheat mode", 0,
        [  # initialization block (set value in reg1)
            (assign, reg1, "$cheat_mode"),
        ], 
        [  # update block (value is in reg1)
            (assign, "$cheat_mode", reg1),            
        ], 
    ),
    ( "op_line_cc_battle_minimap", xgm_ov_line ),
    
    # checkbox for minimap
    ( "op_cc_show_battle_minimap", xgm_ov_checkbox ,  [],
        "Show battle minimap:", 0,        
        "This sets whether the minimap will always be shown during battle.", 0,
        [  # initialization block (set value in reg1)
            (try_begin),
                (gt, "$g_show_minimap", 1),
                (assign, "$g_show_minimap", 1),
            (else_try),
                (ge, 0, "$g_show_minimap"),
                (assign, "$g_show_minimap", 0),
            (try_end),
            (assign, reg1, "$g_show_minimap"),
        ], 
        [  # update block (value is in reg1)
            (assign, "$g_show_minimap", reg1),                        
        ],
        "cc", # custom commander page
    ),


    # number box for minimap size
    ( "op_cc_battle_minimap_size", xgm_ov_numberbox ,  [cc_minimap_min_ratio, cc_minimap_max_ratio + 1],
        "Size of battle minimap (%):", 0,        
        "This percentage modifies the size of battle minimap", 0,
        [  # initialization block (set value in reg1)
            (try_begin),
                (gt, "$g_minimap_ratio", cc_minimap_max_ratio),
                (assign, "$g_minimap_ratio", cc_minimap_max_ratio ),
            (else_try),
                (gt, cc_minimap_min_ratio, "$g_minimap_ratio"),
                (assign, "$g_minimap_ratio", cc_minimap_min_ratio),
            (try_end),
            (assign, reg1, "$g_minimap_ratio"),
        ],
        [  # update block (value is in reg1)
            (assign, "$g_minimap_ratio", reg1),            
        ],
        "cc", # custom commander page
    ),   
] # mod_options

into
v2kwV.jpg


without any further scripting

Features
  • Define mod options via an abstracted structure (similar to other data in module system)
  • XGM autogenerates presentation
  • Includes a demo entry to toggle in-game cheat-mode
  • Should be compatible with most existing mods (via ModMerger)

Notes
The width of the pane/size of controls etc can be adjusted via xgm_mod_options_header.py for advanced users.
The space on the right is intended for selecting option pages in the future (categorize options into pages)

I'm interested in this, can anyone improve it, making the option pages?
I know little of python, but I made a way to make the extra description show up:
Code:
##############################    
def generate_presentation_mouse_enter_leave(_mod_options = mod_options):
    opblock = OpBlockWrapper([]) # this will contain the main switch handling changes from overlay values
    cur_overlay_index = 1 # start from 1 since 0 is the base option object
    opblock.Append([
        (try_begin),
            (neq, 1, 1), # dummy
    ])
    for x in mod_options:
        aModOption = ModOptionWrapper(x)
                overlay_var = "$g_presentation_obj_%s" % cur_overlay_index
                opblock.Append([                       
                    (else_try),                
                        (eq, ":object", overlay_var),
                ])            

                labeltext = aModOption.GetTextLabel()
	
                if  (not labeltext is None) and ( labeltext <> ""):	
                    textflags = tf_vertical_align_center | aModOption.GetTextLabelFlags()                
                    opblock.Append([
                        (overlay_set_text, "$g_presentation_credits_obj_a", "@%s" % aModOption.GetTextLabel()),
                ])                       

                cur_overlay_index += 1

    opblock.Append([                       
        (try_end),
    ])    
    cur_overlay_index += 1  

    
    return opblock.Unwrap()

##############################
you must add it with the other "generate_presentation_event_state_change_script"

you must also add this to the presentation:
Code:
    (ti_on_presentation_mouse_enter_leave,
      [
 
       ## to be generated
 
      ]),
yeah, I know it's crude but it could be made better with a bit of python knowledge

edit:
I forgot the most important part:
add
Code:
        codeblock = prsnt_mod_option.FindTrigger(ti_on_presentation_mouse_enter_leave).GetOpBlock()
        codeblock.Append(
            generate_presentation_mouse_enter_leave()
        )
to "def generate_presentations():"
edit2:
edited a bit to make it better, not it doesn't use s1, it uses the correct block
 
I never have quite understood why sphere's creations didn't get a bit more attention when they came out, but in any case, I have found his ModMerger framework to be extraordinarily useful...so useful that I added a few functions and patched a few bugs I noted in the current wrappers, and I figured I might as well release it aside from any of my mods that get packaged with it in case others might find it useful.

ModMerger additions (to the 0.2.5 hotix'd version)

Two files are changed from the standard ModMerger download
-util_common
-util_wrappers
and a new file
-util_animations

The changes include:
Two New Wrappers
-Dialog
-GameMenuOption
Three New Wrapper Functions
-FindDialog
-FindDialog_i
-FindTrigger_i
One new general function
-list_find_first_containing_i

One new utility function set
-util_animations

A few small bugfixes to wrappers and their functions
 
Caba`drin said:
I never have quite understood why sphere's creations didn't get a bit more attention when they came out, but in any case, I have found his ModMerger framework to be extraordinarily useful...so useful that I added a few functions and patched a few bugs I noted in the current wrappers, and I figured I might as well release it aside from any of my mods that get packaged with it in case others might find it useful.

ModMerger additions (to the 0.2.5 hotix'd version)

Two files are changed from the standard ModMerger download
-util_common
-util_wrappers
and a new file
-util_animations

The changes include:
Two New Wrappers
-Dialog
-GameMenuOption
Three New Wrapper Functions
-FindDialog
-FindDialog_i
-FindTrigger_i
One new general function
-list_find_first_containing_i

One new utility function set
-util_animations

A few small bugfixes to wrappers and their functions

That'll Sure help me Caba, I Know there old but sphere's Stuff has saved me so much time since I began using it on merging and fixing my mod. I only wish it was this easy with the original module system. Anyway I'd suggest that all module system editors use this as it really is a great enhancement.

Wolf.
 
Hi all,

For some reason, modmerger has stopped working for me. I had been using it for weeks without any problems, including using Caba`drin's "additions" to install Freelancer, but now, when I double click on modmerger_installer.py (or right-click, "open with...python.exe"), nothing happens...well,  modmerger_header.pyc and modmerger_options.pyc are compiled and appear in the module_system directory, but that's it, the modmerger main menu never appears, so I cannot proceed to "brand" the module_system files or do anything else with modmerger.

I thought this was perhaps because I had installed Python 3.2.2 (installed because I had begun to learn Python programming, and the book I was using taught that version), so I uninstalled all versions of Python from my system, then re-installed only Python 2.6.6 and verified that C:\Python26 is included in my system path--but still no joy, regardless of whether I double-click or use right-click, "open with...python.exe."

In case it matters, build_module.bat still works fine. So it seems to me that Python is set up correctly. Only modmerger itself no longer works.

Anybody have any ideas? Thanks in advance for your help.

EDIT: Nevermind, I found the problem. I had to manually re-select python.exe under C:\Python26 as the default program for opening .py files. Apparently, even though I had un-installed all versions of Python, and then re-installed only 2.6.6, the .py extension was still misregistered.

Although the problem is solved, I'll leave the post here, just in case anyone else has a similar experience.
 
Hello guys,

I've been coding a bit for the 1812-1815 mod, and we really want Freelancers in it. Atm i'm already trying like 2 hours, but i can't get it fixed. It's mainly a problem true modmerger. (And btw i'm tottaly new with this kind of things  :oops:)

Freelancer files in the Module system
scaled.php

Modmerger options thing
modmerger.jpg

I'm not getting any errors in my  module.bat, and still I can't get the Freelancer features in-game.
I really hope that someone can help me out here. If you need to know or see anything more feel free to ask


Thanks in advance!
Gokiller,


(Hope this is the right place D:smile:
 
Hi,

I tried again. (And again and again) but nothing worked, I did what you said (if i understanded you right atleast excuse me if I didn't)

I even re did everything froms start (module system etc) but still no suc6 when I remove the brackets, i get a error instead, and I still have no idea if this is suppose to be happening.

Current Modmerger_option
scaled.php

Module system
scaled.php

Error
  File "process_map_icons.py", line 6, in <module>
    from process_operations import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\process_operations.
py", line 22, in <module>
    from module_game_menus import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\module_game_menus.p
y", line 14505, in <module>
    modmerge(var_set)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
297, in modmerge
    modmerge__(modcomp_name,var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
239, in modmerge__
    _temp.__dict__[mergefn_name](var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 416, in modmerge
    modmerge_game_menus(orig_game_menus)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 377, in modmerge_game_menus
    menuID = GameMenuOptionWrapper(menulist).GetId()
NameError: global name 'GameMenuOptionWrapper' is not defined
Exporting faction data...
Exporting item data...
Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
Traceback (most recent call last):
  File "process_items.py", line 66, in <module>
    from process_operations import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\process_operations.
py", line 22, in <module>
    from module_game_menus import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\module_game_menus.p
y", line 14505, in <module>
    modmerge(var_set)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
297, in modmerge
    modmerge__(modcomp_name,var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
239, in modmerge__
    _temp.__dict__[mergefn_name](var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 416, in modmerge
    modmerge_game_menus(orig_game_menus)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 377, in modmerge_game_menus
    menuID = GameMenuOptionWrapper(menulist).GetId()
NameError: global name 'GameMenuOptionWrapper' is not defined
Exporting scene data...
Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
Traceback (most recent call last):
  File "process_scenes.py", line 15, in <module>
    from process_operations import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\process_operations.
py", line 22, in <module>
    from module_game_menus import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\module_game_menus.p
y", line 14505, in <module>
    modmerge(var_set)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
297, in modmerge
    modmerge__(modcomp_name,var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
239, in modmerge__
    _temp.__dict__[mergefn_name](var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 416, in modmerge
    modmerge_game_menus(orig_game_menus)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 377, in modmerge_game_menus
    menuID = GameMenuOptionWrapper(menulist).GetId()
NameError: global name 'GameMenuOptionWrapper' is not defined
Exporting troops data
Exporting particle data...
Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
Traceback (most recent call last):
  File "process_scene_props.py", line 7, in <module>
    from process_operations import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\process_operations.
py", line 22, in <module>
    from module_game_menus import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\module_game_menus.p
y", line 14505, in <module>
    modmerge(var_set)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
297, in modmerge
    modmerge__(modcomp_name,var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
239, in modmerge__
    _temp.__dict__[mergefn_name](var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 416, in modmerge
    modmerge_game_menus(orig_game_menus)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 377, in modmerge_game_menus
    menuID = GameMenuOptionWrapper(menulist).GetId()
NameError: global name 'GameMenuOptionWrapper' is not defined
Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
Traceback (most recent call last):
  File "process_tableau_materials.py", line 8, in <module>
    from process_operations import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\process_operations.
py", line 22, in <module>
    from module_game_menus import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\module_game_menus.p
y", line 14505, in <module>
    modmerge(var_set)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
297, in modmerge
    modmerge__(modcomp_name,var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
239, in modmerge__
    _temp.__dict__[mergefn_name](var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 416, in modmerge
    modmerge_game_menus(orig_game_menus)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 377, in modmerge_game_menus
    menuID = GameMenuOptionWrapper(menulist).GetId()
NameError: global name 'GameMenuOptionWrapper' is not defined
Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
Traceback (most recent call last):
  File "process_presentations.py", line 8, in <module>
    from process_operations import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\process_operations.
py", line 22, in <module>
    from module_game_menus import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\module_game_menus.p
y", line 14505, in <module>
    modmerge(var_set)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
297, in modmerge
    modmerge__(modcomp_name,var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
239, in modmerge__
    _temp.__dict__[mergefn_name](var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 416, in modmerge
    modmerge_game_menus(orig_game_menus)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 377, in modmerge_game_menus
    menuID = GameMenuOptionWrapper(menulist).GetId()
NameError: global name 'GameMenuOptionWrapper' is not defined
Exporting party_template data...
Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
Traceback (most recent call last):
  File "process_parties.py", line 4, in <module>
    from module_game_menus import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\module_game_menus.p
y", line 14505, in <module>
    modmerge(var_set)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
297, in modmerge
    modmerge__(modcomp_name,var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
239, in modmerge__
    _temp.__dict__[mergefn_name](var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 416, in modmerge
    modmerge_game_menus(orig_game_menus)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 377, in modmerge_game_menus
    menuID = GameMenuOptionWrapper(menulist).GetId()
NameError: global name 'GameMenuOptionWrapper' is not defined
Exporting quest data...
Exporting info_page data...
Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
Traceback (most recent call last):
  File "process_scripts.py", line 7, in <module>
    from process_operations import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\process_operations.
py", line 22, in <module>
    from module_game_menus import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\module_game_menus.p
y", line 14505, in <module>
    modmerge(var_set)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
297, in modmerge
    modmerge__(modcomp_name,var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
239, in modmerge__
    _temp.__dict__[mergefn_name](var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 416, in modmerge
    modmerge_game_menus(orig_game_menus)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 377, in modmerge_game_menus
    menuID = GameMenuOptionWrapper(menulist).GetId()
NameError: global name 'GameMenuOptionWrapper' is not defined
Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
Traceback (most recent call last):
  File "process_mission_tmps.py", line 8, in <module>
    from process_operations import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\process_operations.
py", line 22, in <module>
    from module_game_menus import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\module_game_menus.p
y", line 14505, in <module>
    modmerge(var_set)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
297, in modmerge
    modmerge__(modcomp_name,var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
239, in modmerge__
    _temp.__dict__[mergefn_name](var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 416, in modmerge
    modmerge_game_menus(orig_game_menus)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 377, in modmerge_game_menus
    menuID = GameMenuOptionWrapper(menulist).GetId()
NameError: global name 'GameMenuOptionWrapper' is not defined
Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
Traceback (most recent call last):
  File "process_game_menus.py", line 5, in <module>
    from module_game_menus import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\module_game_menus.p
y", line 14505, in <module>
    modmerge(var_set)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
297, in modmerge
    modmerge__(modcomp_name,var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
239, in modmerge__
    _temp.__dict__[mergefn_name](var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 416, in modmerge
    modmerge_game_menus(orig_game_menus)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 377, in modmerge_game_menus
    menuID = GameMenuOptionWrapper(menulist).GetId()
NameError: global name 'GameMenuOptionWrapper' is not defined
Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
Traceback (most recent call last):
  File "process_simple_triggers.py", line 5, in <module>
    from process_operations import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\process_operations.
py", line 22, in <module>
    from module_game_menus import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\module_game_menus.p
y", line 14505, in <module>
    modmerge(var_set)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
297, in modmerge
    modmerge__(modcomp_name,var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
239, in modmerge__
    _temp.__dict__[mergefn_name](var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 416, in modmerge
    modmerge_game_menus(orig_game_menus)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 377, in modmerge_game_menus
    menuID = GameMenuOptionWrapper(menulist).GetId()
NameError: global name 'GameMenuOptionWrapper' is not defined
Traceback (most recent call last):
  File "process_dialogs.py", line 6, in <module>
    from module_dialogs import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\module_dialogs.py",
line 26367, in <module>
    modmerge(var_set)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
297, in modmerge
    modmerge__(modcomp_name,var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
239, in modmerge__
    _temp.__dict__[mergefn_name](var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_dialogs.
py", line 197, in modmerge
    pos = FindDialog_i(orig_dialogs, anyone|plyr, "lord_talk", "lord_leave_priso
n")
NameError: global name 'FindDialog_i' is not defined
Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
Traceback (most recent call last):
  File "process_global_variables_unused.py", line 3, in <module>
    from process_operations import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\process_operations.
py", line 22, in <module>
    from module_game_menus import *
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\module_game_menus.p
y", line 14505, in <module>
    modmerge(var_set)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
297, in modmerge
    modmerge__(modcomp_name,var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\modmerger.py", line
239, in modmerge__
    _temp.__dict__[mergefn_name](var_dict)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 416, in modmerge
    modmerge_game_menus(orig_game_menus)
  File "C:\Users\Brent\Desktop\1812-1815\Module_system 1.143\freelancer_game_men
us.py", line 377, in modmerge_game_menus
    menuID = GameMenuOptionWrapper(menulist).GetId()
NameError: global name 'GameMenuOptionWrapper' is not defined
Exporting postfx_params...

______________________________

Script processing has ended.
Press any key to exit. . .


I'm sorry for this  :oops:

Gokiller
 
Did Freelancer package modmerger files to use and are you using them rather than the ones found in the OP? Otherwise be sure you get the updated version I've posted in this thread as Freelancer is relying on some of those additions that I made to the system and the errors make it appear that those additions aren't being found.
 
Sorry for bringing such an old post up, but I found this thread the most suitable place:

After running modmerger_installer.py and installing it, it shows:

Traceback (most recent call last):
    File "C:\Users\Spring\Desktop\Module Sys\Module_system 1.153\modmerger_installer.py", line 424, in (module)
      main_menu ()
    File "C:\Users\Spring\Desktop\Module Sys\Module_system 1.153\modmerger_installer.py", line 483, in main_menu
      install_modmerger ()
    File "C:\Users\Spring\Desktop\Module Sys\Module_system 1.153\modmerger_installer.py", line 339, in install_modmerger
      if(  brand_component_source_file(comp_name)  ):
    File "C:\Users\Spring\Desktop\Module Sys\Module_system 1.153\modmerger_installer.py", line 233, in brand_component_source_file
      f  -  open(source_filename)
|OError|  [Error 2] No such file or directory : 'module_animations.py'
then the cmd closes itself.
 
Zirkhovsky said:
Sorry for bringing such an old post up, but I found this thread the most suitable place:

After running modmerger_installer.py and installing it, it shows:

Traceback (most recent call last):
    File "C:\Users\Spring\Desktop\Module Sys\Module_system 1.153\modmerger_installer.py", line 424, in (module)
      main_menu ()
    File "C:\Users\Spring\Desktop\Module Sys\Module_system 1.153\modmerger_installer.py", line 483, in main_menu
      install_modmerger ()
    File "C:\Users\Spring\Desktop\Module Sys\Module_system 1.153\modmerger_installer.py", line 339, in install_modmerger
      if(  brand_component_source_file(comp_name)  ):
    File "C:\Users\Spring\Desktop\Module Sys\Module_system 1.153\modmerger_installer.py", line 233, in brand_component_source_file
      f  -  open(source_filename)
|OError|  [Error 2] No such file or directory : 'module_animations.py'
then the cmd closes itself.

I have the same error.
 
I have a little problem with modmerger. Made something with it about a year ago and can't remember how it works.

In the readme it sais:

Step 2) Execute "modmerger_installer.py".  If you did not mess up python installation, .py files are automatically associated with python so you just have to double click on "modmerger_installer.py" to execute the installer.
Step 3) From the interactive menu,
a) enter "1" to install (needs confirmation), which will backup your existing files to *.bak in case things got messed up.  Installation just adds the small modmerger code block required for module files to work with modmerger
b) enter "2" to uninstall, which removes all the code blocks previously inserted by installation process.  If you did not mess up the inserted code block, which has signature lines that uninstallation requires, all the inserted code should THEORETICALLY be removed.
  c) enter "3" to delete all the *.bak files in the current directory.  It could get messy after a few rounds of installation and uninstallation.

However there is no interactive menu when I doubleclick on the modmerger_installer.py. Of course there isn't because it is a *.py file which is then normally opended by Python.

What do I do wrong?

 
Back
Top Bottom