-
Notifications
You must be signed in to change notification settings - Fork 0
SWBF2 XBOX Development FAQ
BAD-AL edited this page Sep 4, 2023
·
3 revisions
You can run/test SWBF2 mods on either modded XBOX 360, modded Original XBOX hardware or the XEMU emulator.
XBOX specific Porting tutorials can be found on this page
- RGH XBOX 360 systems don't always start up quickly due to the nature of how the RGH works.
- Older (Phat) RGH 360 models tend to have very loud fan noise, you'll probably be happier with a slim Xbox 360.
For this it depends on which part of development you are doing.
- If you're trying to debug a loadscreen hang/crash then OG XBOX hardware is easier because XBOX 360 RGH systems do not restart as quickly.
- If you are just tweaking some things then it can be easier to develop against RGH 360 using a USB stick (because you don't need to recycle console power to apply your changes; simply press the Xbox button to return to the 360 dash, remove USB drive, place new files, re-insert USB drive, re-load game through xexmenu).
- XEMU is easier to develop against when creating an entirely new ISO (you can use extract-xiso to create the image); but you can also develop an installer if you FTP the files to the XEMU HDD.
- You can also boot an image with XEMU and FTP stuff to the HDD like in this video.
This can be tough, here are some tips:
- If the mission lua isn't in the mission.lvl file then you will see an immediate crash.
- Logic also states that the longer the loadscreen is up, the further it gets.
- You can try showing a custom load screen at different parts of your script; this isn't foolproof, but it can help narrow things down.
Loadscreen hangs often occur due to running out of memory. Try the following:
- Check your world lvl size against this list, try to get your map lvl size in the appropriate range for XBOX.
- Reduce texture sizes. Max size texture on XBOX should typically be 512x512, you may want to make an exception in certain circumstances. In practice, 256x256 is fine.
- Use the memory pool tuning technique here
- Reduce Model memory. Either by modifying the models or by removing them from your map.
- Reduce size/complexity of your terrain by flattening out parts the player is unlikely to see.
- Load fewer units and vehicles to see if you can get your mod to load.
- Reduce Unit count (when calling
SetupTeams())
You will often see the 'Disc is Dirty or Damaged' error message appear when developing mods targeting XBOX. Usually this occurs when calling ReadDataFile() on a file that isn't present or with a .lvl file that doesn't contain the named asset or something associated with that asset. Use the loadscreen tip from above to narrow down the crash.