System link / 4-Player Coop For Halo 1

Only Xbox NTSC maps should be submitted here! Do NOT post full maps, only PPF files
User avatar
adolif




Literarian 100

Posts: 125
Joined: Wed Oct 18, 2006 1:24 pm
Location: In a place with alot of Chickens On Unicycles O_O

Re: System link / 4-Player Coop For Halo 1

Post by adolif »

*EDIT*

I have been convinced by some PM's to not leave Halomods (I said I would leave before I edited this post). Now I need help with this coop system link mod.

I haven't really listed or investigated the individual causes of the desync problem. Everybody who participated in playing/testing, please list every possible scenario in which the game will desync that you have encountered. I already know the most common one, bsp switching. A list of error-causes would greatly help development. I'm thinking of testing Arsenic's scripter on The Maw to see if I can eliminate the issue completely on that map. Also, I would like to scedule some XBC testing sessions. Anybody willing to help will be greatly thanked.
-Adolif
http://adomods.tk
I like pie.
User avatar
Cryticfarm





Posts: 3611
Joined: Sat Dec 09, 2006 7:23 pm
Location: canada
Contact:

Re: System link / 4-Player Coop For Halo 1

Post by Cryticfarm »

Ok this is exactly what I do, but I can't get rid of the select game type screen :\
1. FTP to my clean halo thingy.
2. Patch map and xbe.
3. Overwrite the ui and xbe.
4. Turn on halo.
5. Select multiplayer.
6. Select splitscreen.
7. Add controllers.
8. Pick the map (battle creek).
9. GAMETYPE SELECTION POPS UP.
User avatar
adolif




Literarian 100

Posts: 125
Joined: Wed Oct 18, 2006 1:24 pm
Location: In a place with alot of Chickens On Unicycles O_O

Re: System link / 4-Player Coop For Halo 1

Post by adolif »

Cryticfarm wrote:Ok this is exactly what I do, but I can't get rid of the select game type screen :\
1. FTP to my clean halo thingy.
2. Patch map and xbe.
3. Overwrite the ui and xbe.
4. Turn on halo.
5. Select multiplayer.
6. Select splitscreen.
7. Add controllers.
8. Pick the map (battle creek).
9. GAMETYPE SELECTION POPS UP.

Well, if you are patching it with my PPF patch, then it may be a mismatch of the offsets (or some other compatibility issue). I made the patch with the original NTSC ui.map. If this doesn't help, the mod IS nothing more than a dependency swap made in HHT with the ui widget tags. I'll post the tag names in a bit, unless you want to go looking. (They are obvious names, but there are many tags in that tag class, so ya....)
-Adolif
http://adomods.tk
I like pie.
mtxboxfreak




Socialist

Posts: 239
Joined: Sun Oct 05, 2003 12:23 am
Location: UK

Re: System link / 4-Player Coop For Halo 1

Post by mtxboxfreak »

Having taken a look at the SP scripts, I've got a theory for explaining (and fixing) the bsp-switch desync issues. It needs some testing first to confirm, so once I get my xbox back (Sunday) I'll post an update with my findings.
icanttype




Socialist Golden Age Magic Era

Posts: 41
Joined: Wed Sep 17, 2003 7:51 am

Re: System link / 4-Player Coop For Halo 1

Post by icanttype »

this is awesome
mtxboxfreak




Socialist

Posts: 239
Joined: Sun Oct 05, 2003 12:23 am
Location: UK

Re: System link / 4-Player Coop For Halo 1

Post by mtxboxfreak »

I was hoping that the bsp switching issues were due to a bug in engine, since SP wasn't designed for >2 people, however this doesn't seem to be the case. :|

The fact that 3/4 people can play without much trouble on a single xbox, i.e. things only fall apart over system link, leads me to believe that Halo's netcode is simply not up to the job.

Our other option is to try to hack around the issue via scripts, as thinkreddie suggested about a page ago. I'll see what progress I can make on that front.
thinkreddie wrote:Modify them to teleport players near each other BEFORE the next BSP loads, not after.
Does anyone have any idea how we could do a script such as that? This is what I've got so far...

Code: Select all

(script continuous bsphack_01
    (begin
        // Wait until a player gets inside the loading zone
        (sleep_until (volume_test_objects some_trigger_volume (players)) 1)
        // Teleport all the players in
        (object_teleport (list_get (players) 0) some_flag)
        (object_teleport (list_get (players) 1) some_flag)
        (object_teleport (list_get (players) 2) some_flag)
        (object_teleport (list_get (players) 3) some_flag)
        // Wait until the players have all left the zone
        (sleep_until (not (volume_test_objects some_trigger_volume (players))) 1)
        // Loop
    )
)
We'd need a script for each loading zone. There's also volume_teleport_players_not_inside, and debug_teleport_player functions, which might be useful too.

Using a continuous script should ensure that backtracking players don't break things.
User avatar
thinkreddie





Posts: 531
Joined: Fri Jun 18, 2004 4:57 pm
Location: Colorado springs

Re: System link / 4-Player Coop For Halo 1

Post by thinkreddie »

That's the idea. I've been away for a while, so I wasn't aware that Arsenic now supports scripts... I'm gonna check this out.
DECOY wrote:I think everyone should broaden their horizons and learn to spam in a foreign language
mtxboxfreak




Socialist

Posts: 239
Joined: Sun Oct 05, 2003 12:23 am
Location: UK

Re: System link / 4-Player Coop For Halo 1

Post by mtxboxfreak »

thinkreddie wrote:I wasn't aware that Arsenic now supports scripts.
As far as I know it's still a WIP.
Post Reply