public static List<PatchScript> getUpdatePatches() {
    List<PatchScript> lPatchList = new ArrayList<PatchScript>();
    
    //Loop through all available update patches
    for(String lPatchFileName : PATCH_FILES){      
      String lUpdatePatchString;
      String lFileHash;    
      //Read file contents
      try {
        lUpdatePatchString = IOUtils.toString(Updater.class.getResourceAsStream(lPatchFileName));
        lFileHash = HashUtil.hashString(lUpdatePatchString);
      }
      catch (IOException e) {
        throw new ExFatalError("Failed to read update patch script " + lPatchFileName, e);
      }
      
      //Parse as a patch script
      PatchScript lPatchScript;
      try {
        lPatchScript = PatchScript.createFromString(lPatchFileName, lUpdatePatchString, lFileHash, "internal");
      }
      catch (ExParser e) {
        throw new ExFatalError("Failed to parse update patch script " + lPatchFileName, e);
      }
      
      lPatchList.add(lPatchScript);
    }
    
    return lPatchList;
  }