Thread: Demul with DemulShooter

Page 1 of 4 1234 LastLast
Results 1 to 20 of 69
  1. Collapse Details
    Demul with DemulShooter 
    #1
    Senior Member MydknyteStyrm's Avatar
    MainSecondary
    Join Date
    Jul 2014
    Posts
    125
    Contribute If you enjoy reading the
    content here, click the below
    image to support our site.
    Click Here To Contribute To Our Site
    Hi guys,

    This guy argonlefou on BYOAC came up with an awesome hack called DemulShooter, which allows Demul 07a to have two lightguns at the same time, and it eliminated the minimize window when clicked in the upper left corner.

    http://forum.arcadecontrols.com/inde...msg1567613#new

    The issue I have with Rocketlauncher is how do I start up a program like DemulShooter before I load up Demul, while in the HS frontend? I tried to send a command via the CLI prompt in the Emulator settings of Demul in RL, but nothing showed up on the log.
    The command I have to throw is

    Code:
    DemulShooter.exe -demul=07a -system=naomi -noresize
    Is there a place within the module I can put this, or is this something DjVj might be interested in adding to the Module? Or is this as simpler than I am thinking to make this happen?

    Any information would be very helpful. If you havent tried it, DemulShooter works awesome with my Aimtraks, and I can finally play HOTD2 without fear of shooting the corner.

    Thanks!
     

  2. Collapse Details
    Re: Demul with DemulShooter 
    #2
    Senior Member agent47's Avatar
    MainSecondary
    Join Date
    Jan 2016
    Posts
    299
    You could modify the User Functions.ahk to launch the program before the emulator is started. You could have it so it's triggered when a certain system, a certain emulator, or certain roms are launched.
     

  3. Collapse Details
    Re: Demul with DemulShooter 
    #3
    Senior Member MydknyteStyrm's Avatar
    MainSecondary
    Join Date
    Jul 2014
    Posts
    125
    Thanks for the reply. I tried out a few codes but I couldnt get anything to work 100 percent in UserFunctions.ahk

    I have Ultrastik Programmer running, and I am attempting to run a bat file for DemulShooter, which is in BOLD. The problem is that it doesnt differentiate between what rom is loading in Sega Naomi, and then it kills all input for other emulators as well. When I remove the code, everything works as normal. I guess its something I'm doing with syntax or punctuation, so any insight you can provide would help. Thanks!

    Code:
    StartGlobalUserFeatures(){
        Log("StartGlobalUserFeatures - Starting")
        Global systemName, romName
        ProgramUltraStik360(systemName, romName)
    	if (systemName="Sega Naomi" romName="confmiss")
    		Run("DemulShooter.bat", "D:\Arcade\Demul\Demul 7a 221215\")
    	Log("StartGlobalUserFeatures - Ending")
    }
    
    
    ; Use this function to define any code you may need to stop or clean up in every module on exit
    StopGlobalUserFeatures(){
        Log("StopGlobalUserFeatures - Starting")
        ProgramUltraStik360("FrontEnd","Rom")
        Log("StopGlobalUserFeatures - Ending")
    }
    
    ; Use this function to define any code you want to run before Pause starts
    StartPauseUserFeatures(){
    	Log("StartPauseUserFeatures - Starting")
    	ProgramUltraStik360("Pause","Rom")
    	Log("StartPauseUserFeatures - Ending")
    }
    
    ; Use this function to define any code you may need to stop or clean up after Pause ends
    StopPauseUserFeatures(){
    	Log("StopPauseUserFeatures - Starting")
            Global systemName, romName
    	ProgramUltraStik360(systemName, romName)
    	Log("StopPauseUserFeatures - Ending")
    }
    
    
    ProgramUltraStik360(systemName, romName)
    {
    	;SplitPath, A_LineFile, , iniPath ;should work, but doesn't!
    	iniPath :=A_ScriptDir . "\lib"
    
        iniFile=%iniPath%\UltraStik 360 Programmer.ini
    	IfNotExist, %iniFile% 
    		Log("UltraStik 360 Programmer ini file not found: " . iniFile . ". Please put the ""UltraStik 360 Programmer.ini"" file in the ""Rocket Launcher\lib"" folder.")
    		
        IniRead, UltraMapExe, %iniFile%, Settings, UltraMapExe, C:\Users\MCP\Desktop\Program Files\UltraMap\UltraMap.exe
    	IfNotExist, %UltraMapExe% 	
    	{
    		Log("UltraMap Script could not find Ultramap.exe not found: " . UltraMapExe . ". Please check path in the ini file. Exiting UltraMap Script.")
    		Return
    	}	
    	
        SplitPath, UltraMapExe, , ugcPath
        IniRead, ugcGlobalDefault, %iniFile%, Settings, ugcGlobalDefault
    	If (ugcGlobalDefault="ERROR") 
    	{
    		ugcGlobalDefault=8-way
    		logText:=logText . "ugcGlobalDefault not found in ini file. Using 8-way as Global Default. "
    	}
        
    	IniRead, IsPerRom, %iniFile%, PerRomSystems, %systemName%
    
    If (%IsPerRom%) 
    {
        IniRead, ugc, %iniFile%, Roms, %romName%
    	If (ugc="ERROR") 
    	{
    		IniRead, ugc, %iniFile%, Systems, %systemName%
    		If (ugc="ERROR") 
    		{
    			ugc:= ugcGlobalDefault
    			logText:=logText . " System is " systemName . ", a system that uses a UGC file per rom. Rom is " . romName . ". No rom nor system UGC found in the ini file, using global default: " . ugc 
    		}
    		Else
    			logText:=logText . " System is " systemName . ", a system that uses a UGC file per rom. Rom is " . romName . ". Rom UGC not found in the ini file, using system default: " . ugc 
    	}
    	Else
    		logText:=logText . " System is " systemName . ", a system that uses a UGC file per rom. Rom is " . romName . ". Rom UGC found in the ini file: " . ugc 
    }
    Else 
    {    
        IniRead, ugc, %iniFile%, Systems, %systemName%
    	If (ugc="ERROR") 
    	{
    		ugc:= ugcGlobalDefault
    		logText:=logText . " System is " systemName . ", a system that uses the same UGC file for all roms. System UGC not found in ini file, using global default: " . ugc 
    	}
    	Else 
    		logText:=logText . " System is " systemName . ", a system that uses the same UGC file for all roms. System UGC found in ini file: " . ugc 
    
    }
     
    IfNotExist, %ugcPath%\%ugc%.ugc	
    {
    	Log("UltraStik 360 Programmer- UGC file not found: " . ugcPath . "\" . ugc . ".ugc. Exiting UltraMap Script. " . logText)
    	Return
    }	
    	
    Run, %UltraMapExe% %ugcPath%\%ugc%.ugc /logerrors %ugcPath%\UltraMapLog.log
    Log("UltraStik 360 Programmer loaded """ . ugc . ".ugc"". " . logText)
    }
     

  4. Collapse Details
    Re: Demul with DemulShooter 
    #4
    Junior Member
    MainSecondary
    Join Date
    Mar 2015
    Posts
    27
    cant you just point the emulator .exe in RL to a compiled AHK script.exe that loads shooter then demul?
     

  5. Collapse Details
    Re: Demul with DemulShooter 
    #5
    Senior Member agent47's Avatar
    MainSecondary
    Join Date
    Jan 2016
    Posts
    299
    At first glance I can tell you that you're missing an and operator in your if statement:

    Code:
    if (systemName="Sega Naomi" && romName="confmiss")
     

  6. Collapse Details
    Re: Demul with DemulShooter 
    #6
    Senior Member MydknyteStyrm's Avatar
    MainSecondary
    Join Date
    Jul 2014
    Posts
    125
    Quote Originally Posted by agent47 View Post
    At first glance I can tell you that you're missing an and operator in your if statement:

    Code:
    if (systemName="Sega Naomi" && romName="confmiss")
    That absolutely did the trick. I am thinking that if I want to load DemulShooter with a certain list of roms, would I enter the code like this?
    Code:
    if (systemName="Sega Naomi" && romName="confmiss" or romName="hotd2" or romName="deathcox" or romName="mok" or romName="ninjaslt")
    		Run("DemulShooter.bat", "D:\Arcade\Demul\Demul 7a 221215\")
    So far it seems to work. The only thing I have to figure out is how to minimize the C prompt window when DemulShooter activates.
     

  7. Collapse Details
    Re: Demul with DemulShooter 
    #7
    RocketLauncher Developer
    djvj's Avatar
    MainSecondary
    Join Date
    Apr 2014
    Location
    Long Island
    Posts
    6,246
    Why are you running a bat? That's just using another middle man to run your exe.


    Try this:
    Run("DemulShooter.exe -demul=07a -system=naomi -noresize", "D:\Arcade\Demul\Demul 7a 221215\")
    "Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."

    If you appreciate our work, please support the site by clicking the Donate button at the top of the page.
     

  8. Collapse Details
    Re: Demul with DemulShooter 
    #8
    Junior Member
    MainSecondary
    Join Date
    Nov 2015
    Posts
    4
    Hi guys,
    I set up my system as you suggested and it works!. Thank you very much

    I start by saying that I am a total noob with AHK scripts, but what if I want to set up a new condition to launch DemulShooter with some roms in Atomiswave?
    Is it possible to add a new section in StartGlobalUserFeatures like my example below (I can't try it directly in these days)? Or am I completely out of the way?

    Code:
    ; Use this function to define any code you want to run in every module on start
    StartGlobalUserFeatures(){
    	Log("StartGlobalUserFeatures - Starting")
    	Global systemName, romName
    	if (systemName="Sega Naomi" && romName="lupinsho" or romName="confmiss" or romName="hotd2" or romName="deathcox" or romName="mok" or romName="ninjaslt")
    	Run("DemulShooter.exe -demul=07a -system=naomi -noresize", "D:\Emulators\Demul\0.7\") 
    	Log("StartGlobalUserFeatures - Ending")
    }
    
    StartGlobalUserFeatures_2()
    {
    	Log("StartGlobalUserFeatures - Starting")
    	Global systemName, romName
    	if (systemName="Atomiswave" && romName=".......")
    	Run("DemulShooter.exe -demul=07a -system=atomiswave -noresize", "D:\Emulators\Demul\0.7\") 
    	Log("StartGlobalUserFeatures - Ending")
    }
     

  9. Collapse Details
    Re: Demul with DemulShooter 
    #9
    RocketLauncher Developer bleasby's Avatar
    MainSecondary
    Join Date
    Apr 2014
    Posts
    2,382
    Just include the new condition to the same user function. Something like this (warning, non tested code):

    Code:
    ; Use this function to define any code you want to run in every module on start
    StartGlobalUserFeatures(){
    	Log("StartGlobalUserFeatures - Starting")
    	Global systemName, romName
    	if ( (systemName="Sega Naomi") and (romName="lupinsho" or romName="confmiss" or romName="hotd2" or romName="deathcox" or romName="mok" or romName="ninjaslt") )
    		Run("DemulShooter.exe -demul=07a -system=naomi -noresize", "D:\Emulators\Demul\0.7\") 
    	else if ( (systemName="Atomiswave") and (romName="...") )
    		Run("DemulShooter.exe -demul=07a -system=atomiswave -noresize", "D:\Emulators\Demul\0.7\") 
    	Log("StartGlobalUserFeatures - Ending")
    }
     

  10. Collapse Details
    Re: Demul with DemulShooter 
    #10
    Junior Member
    MainSecondary
    Join Date
    Nov 2015
    Posts
    4
    It works with your code!!

    I just had to write the system Name as "Sammy Atomiswave" and not only "Atomiswave". But the error was in my post.

    Thank you very much
     

  11. Collapse Details
    Re: Demul with DemulShooter 
    #11
    Junior Member

    MainSecondary
    Join Date
    Apr 2016
    Posts
    25
    The latest version doesn't care for System Naomi/Atomiswave. It needs specific rom names. Example : DemulShooter.exe -demul=07a -rom=confmiss -noresize

    Could anyone smarter than me implement this into this code if possible?
    Last edited by Endprodukt ; 04-11-2016 at 07:35 PM.
     

  12. Collapse Details
    Re: Demul with DemulShooter 
    #12
    Member
    MainSecondary
    Join Date
    May 2015
    Posts
    96
    ; Use this function to define any code you want to run in every module on start
    StartGlobalUserFeatures(){
    Log("StartGlobalUserFeatures - Starting")
    Global systemName, romName
    if ( (systemName="Sega Naomi" or "Sammy Atomiswave" ) and (romName="lupinsho" or romName="confmiss" or romName="hotd2" or romName="deathcox" or romName="mok" or romName="ninjaslt") )
    Run("DemulShooter.exe -demul=07a -rom=romName -noresize", "D:\Emulators\Demul\0.7\")
    Log("StartGlobalUserFeatures - Ending")
    }

    I think should do it, not tested as not near my cab this week. Maybe DJVJ or Bleasby can confirm if AHK will allow this, changes made was -system parameters was dropped and now set per -rom, if im correct romName should be set globally and will launch the required rom through demulshooter
     

  13. Collapse Details
    Re: Demul with DemulShooter 
    #13
    Junior Member

    MainSecondary
    Join Date
    Apr 2016
    Posts
    25
    Quote Originally Posted by bob.records View Post
    ; Use this function to define any code you want to run in every module on start
    StartGlobalUserFeatures(){
    Log("StartGlobalUserFeatures - Starting")
    Global systemName, romName
    if ( (systemName="Sega Naomi" or "Sammy Atomiswave" ) and (romName="lupinsho" or romName="confmiss" or romName="hotd2" or romName="deathcox" or romName="mok" or romName="ninjaslt") )
    Run("DemulShooter.exe -demul=07a -rom=romName -noresize", "D:\Emulators\Demul\0.7\")
    Log("StartGlobalUserFeatures - Ending")
    }

    I think should do it, not tested as not near my cab this week. Maybe DJVJ or Bleasby can confirm if AHK will allow this, changes made was -system parameters was dropped and now set per -rom, if im correct romName should be set globally and will launch the required rom through demulshooter
    I knew there must be a way to inject the rom name into the code, I did it this way, a little more complicated but it actually works

    Code:
    ; Use this function to define any code you want to run in every module on start
    StartGlobalUserFeatures(){
        Log("StartGlobalUserFeatures - Starting")
        Global systemName, romName
        if ( (systemName="Sega Naomi") and (romName="lupinsho") )
            Run("DemulShooter.exe -demul=07a -rom=lupinsho -noresize", "C:\Emulators\Demul\Demul-0.7a\")
        else if ( (systemName="Sega Naomi") and (romName="confmiss") )
            Run("DemulShooter.exe -demul=07a -rom=confmiss -noresize", "C:\Emulators\Demul\Demul-0.7a\")
        else if ( (systemName="Sega Naomi") and (romName="deathcox") )
            Run("DemulShooter.exe -demul=07a -rom=deathcox -noresize", "C:\Emulators\Demul\Demul-0.7a\")
        else if ( (systemName="Sega Naomi") and (romName="hotd2") )
            Run("DemulShooter.exe -demul=07a -rom=hotd2 -noresize", "C:\Emulators\Demul\Demul-0.7a\")
        else if ( (systemName="Sega Naomi") and (romName="mok") )
            Run("DemulShooter.exe -demul=07a -rom=mok -noresize", "C:\Emulators\Demul\Demul-0.7a\")
        else if ( (systemName="Sega Naomi") and (romName="ninjaslt") )
            Run("DemulShooter.exe -demul=07a -rom=ninjaslt -noresize", "C:\Emulators\Demul\Demul-0.7a\")
        else if ( (systemName="Sammy Atomiswave") and (romName="rangrmsn") )
            Run("DemulShooter.exe -demul=07a -rom=rangrmsn -noresize", "C:\Emulators\Demul\Demul-0.7a\")
        else if ( (systemName="Sammy Atomiswave") and (romName="xtrmhunt") )
            Run("DemulShooter.exe -demul=07a -rom=xtrmhunt -noresize", "C:\Emulators\Demul\Demul-0.7a\")
        else if ( (systemName="Sammy Atomiswave") and (romName="xtrmhnt2") )
            Run("DemulShooter.exe -demul=07a -rom=xtrmhnt2 -noresize", "C:\Emulators\Demul\Demul-0.7a\")
        Log("StartGlobalUserFeatures - Ending")
    }
     

  14. Collapse Details
    Re: Demul with DemulShooter 
    #14
    Member
    MainSecondary
    Join Date
    May 2015
    Posts
    96
    Can you test the code I posted and confirm if it works, always better to simplify to fewer lines, easier to update in future
     

  15. Collapse Details
    Re: Demul with DemulShooter 
    #15
    RocketLauncher Developer bleasby's Avatar
    MainSecondary
    Join Date
    Apr 2014
    Posts
    2,382
    bob.records, your code will not work because you wrote the variable inside the quotation marks. AHK will consider that romName is a string and not a variable in this case.

    Code:
    Run("DemulShooter.exe -demul=07a -rom=romName -noresize", "D:\Emulators\Demul\0.7\")
    romName is inside the quotation.

    You should close the quotation before the variable and restart it again after so AHK knows that you are referring to a variable:
    Code:
    Run("DemulShooter.exe -demul=07a -rom=" . romName . " -noresize", "D:\Emulators\Demul\0.7\")
    Except for that, I don't see any reason for your code not work.
     

  16. Collapse Details
    Re: Demul with DemulShooter 
    #16
    Junior Member

    MainSecondary
    Join Date
    Apr 2016
    Posts
    25
    Quote Originally Posted by bleasby View Post
    bob.records, your code will not work because you wrote the variable inside the quotation marks. AHK will consider that romName is a string and not a variable in this case.

    Code:
    Run("DemulShooter.exe -demul=07a -rom=romName -noresize", "D:\Emulators\Demul\0.7\")
    romName is inside the quotation.

    You should close the quotation before the variable and restart it again after so AHK knows that you are referring to a variable:
    Code:
    Run("DemulShooter.exe -demul=07a -rom=" . romName . " -noresize", "D:\Emulators\Demul\0.7\")
    Except for that, I don't see any reason for your code not work.
    I think you still will have to define Naomi and Atomiswave seperately with it's games so the correct emulator for the roms will be used?

    Code:
    ; Use this function to define any code you want to run in every module on start
    StartGlobalUserFeatures(){
    Log("StartGlobalUserFeatures - Starting")
    Global systemName, romName
    if ( (systemName="Sega Naomi") and (romName="lupinsho" or romName="confmiss" or romName="hotd2" or romName="deathcox" or romName="mok" or romName="ninjaslt") )
    Run("DemulShooter.exe -demul=07a -rom=" . romName . " -noresize", "C:\Emulators\Demul\Demul-0.7a\")
    else if ( (systemName="Sammy Atomiswave") and (romName="rangrmsn" or romName="xtrmhunt" or romName=xtrmhunt2) )
    Run("DemulShooter.exe -demul=07a -rom=" . romName . " -noresize", "C:\Emulators\Demul\Demul-0.7a\")
    Log("StartGlobalUserFeatures - Ending")
    }
     

  17. Collapse Details
    Re: Demul with DemulShooter 
    #17
    Member
    MainSecondary
    Join Date
    May 2015
    Posts
    96
    You should close the quotation before the variable and restart it again after so AHK knows that you are referring to a variable:
    .
    Thanks bleasby, that makes sense.

    I think you still will have to define Naomi and Atomiswave seperately with it's games so the correct emulator for the roms will be used?
    It should be fine as a OR statement is used with the systemName, so it will launch if either is played out of the roms listed, demulshooter only needs to be told what rom is launching.

    Code:
    StartGlobalUserFeatures(){
    Log("StartGlobalUserFeatures - Starting")
    Global systemName, romName, 
    if ( (systemName="Sega Naomi" or "Sammy Atomiswave" ) and (romName="lupinsho" or romName="confmiss" or romName="hotd2" or romName="deathcox" or romName="mok" or romName="ninjaslt"or romName="rangrmsn" or romName="xtrmhnt2" or romName="xtrmhunt") )
    Run("DemulShooter.exe -demul=07a -rom=" . romName . " -noresize", "D:\Emulators\Demul\0.7\")
    Log("StartGlobalUserFeatures - Ending")
    }
    Bleasby, if we wanted to replace the demul location to read the rl emulator path, would this work ?

    Code:
    StartGlobalUserFeatures(){
    Log("StartGlobalUserFeatures - Starting")
    Global systemName, romName, Emu_Path
    if ( (systemName="Sega Naomi" or "Sammy Atomiswave" ) and (romName="lupinsho" or romName="confmiss" or romName="hotd2" or romName="deathcox" or romName="mok" or romName="ninjaslt"or romName="rangrmsn" or romName="xtrmhnt2" or romName="xtrmhunt") )
    Run("DemulShooter.exe -demul=07a -rom=" . romName . " -noresize", ". Emu_Path .")
    Log("StartGlobalUserFeatures - Ending")
    }
    Last edited by bob.records ; 04-12-2016 at 09:18 PM.
     

  18. Collapse Details
    Re: Demul with DemulShooter 
    #18
    RocketLauncher Developer bleasby's Avatar
    MainSecondary
    Join Date
    Apr 2014
    Posts
    2,382
    Quote Originally Posted by bob.records View Post
    Bleasby, if we wanted to replace the demul location to read the rl emulator path, would this work ?
    Almost, but no.

    The variable that stores the emulator path is named emuPath and not Emu_Path.
    Just check the run line on the demul module and you will see the variables used to run the emulator and the game.

    Also, when you are filling any function parameter, you don't need to place quotes as you tried to do on: ". Emu_Path ."
    Just place the variable directly.
    And besides that, the correct way to add a quotation to a path is by adding the quotation character inside quotes, if not you will not get your desired result: """" . emuPath . """"
    A quote just means that everything inside it will be a string. Therefore if you want to send a quotation character, you need to place it inside quotes. A single quote will not achieve your desired result.

    As a tip, use commands like the msgbox command to check if you are setting correctly these kind of parameters.

    For example, if you place your ". Emu_Path ." on a msgbox:
    msgbox, % ". Emu_Path ."
    you will see that is does not represents what you want to do.

    Anyway, getting back to the run line, replacing it with something like this should make it work:
    Code:
    Run("DemulShooter.exe -demul=07a -rom=" . romName . " -noresize", emuPath)
     

  19. Collapse Details
    Re: Demul with DemulShooter 
    #19
    Junior Member

    MainSecondary
    Join Date
    Apr 2016
    Posts
    25
    I can confirm that this code is working perfectly:

    Code:
    StartGlobalUserFeatures(){
    Log("StartGlobalUserFeatures - Starting")
    Global systemName, romName, 
    if ( (systemName="Sega Naomi" or "Sammy Atomiswave" ) and (romName="lupinsho" or romName="confmiss" or romName="hotd2" or romName="deathcox" or romName="mok" or romName="ninjaslt"or romName="rangrmsn" or romName="xtrmhnt2" or romName="xtrmhunt") )
    Run("DemulShooter.exe -demul=07a -rom=" . romName . " -noresize", emuPath)
    Log("StartGlobalUserFeatures - Ending")
    }
     

  20. Collapse Details
    Re: Demul with DemulShooter 
    #20
    RocketLauncher Developer bleasby's Avatar
    MainSecondary
    Join Date
    Apr 2014
    Posts
    2,382
    Quote Originally Posted by Endprodukt View Post
    I can confirm that this code is working perfectly:

    Code:
    StartGlobalUserFeatures(){
    Log("StartGlobalUserFeatures - Starting")
    Global systemName, romName, 
    if ( (systemName="Sega Naomi" or "Sammy Atomiswave" ) and (romName="lupinsho" or romName="confmiss" or romName="hotd2" or romName="deathcox" or romName="mok" or romName="ninjaslt"or romName="rangrmsn" or romName="xtrmhnt2" or romName="xtrmhunt") )
    Run("DemulShooter.exe -demul=07a -rom=" . romName . " -noresize", emuPath)
    Log("StartGlobalUserFeatures - Ending")
    }
    Actually you are missing the emuPath on the global line declaration.
    It was probably just a typo error as you said that the code was working for you.

    Updated code:
    Code:
    StartGlobalUserFeatures(){
    Global systemName, romName, emuPath 
    Log("StartGlobalUserFeatures - Starting")
    if ( (systemName="Sega Naomi" or "Sammy Atomiswave" ) and (romName="lupinsho" or romName="confmiss" or romName="hotd2" or romName="deathcox" or romName="mok" or romName="ninjaslt"or romName="rangrmsn" or romName="xtrmhnt2" or romName="xtrmhunt") )
         Run("DemulShooter.exe -demul=07a -rom=" . romName . " -noresize", emuPath)
    Log("StartGlobalUserFeatures - Ending")
    }
     

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •