Sachverhalt: A. Mit Beschluss vom 22. Januar 2013 bewilligte der Gemeinderat Neunkirch ein Baugesuch der B._AG für die Erstellung von zwei Mehrfamilienhäusern ("Haus C" und "Haus D") mit je sechs Wohnungen auf der Parzelle Nr. 2760. Am Tag darauf bewilligte das Planungs- und Naturschutzamt des Kantons Schaffhausen die zugehörige Tiefgarage mit 16 Einstellplätzen. Gegen diese Baubewilligung erhoben A._ mit Eingabe vom 8. Februar 2013 und C._ mit Eingabe vom 26. Februar 2013 Rekurs beim Regierungsrat des Kantons Schaffhausen. Auf Ersuchen der Bauherrin hin sistierte dieser das Verfahren vorläufig. Am 14. August 2013 reichte die B._AG bei der Gemeinde revidierte Pläne mit einem geänderten Attikageschoss bei den Häusern C und D sowie einer leicht geänderten Eingangspartie beim Haus D ein. Der Gemeinderat bewilligte die geänderten Pläne mit Beschluss vom 24. September 2013. Dagegen erhob A._ am 16. November 2013 wiederum Rekurs. Der Regierungsrat wies mit Beschluss vom 14. Januar 2014 den Rekurs von C._ und den ersten Rekurs von A._ ab, auf den zweiten Rekurs von A._ trat er wegen Nichteinhalten der Rechtsmittelfrist nicht ein. Dagegen erhoben sowohl A._ als auch C._ Beschwerde ans Obergericht des Kantons Schaffhausen. Mit Entscheid vom 10. November 2015 vereinigte dieses die beiden Verfahren und wies die Beschwerden ab. B. Mit Beschwerde in öffentlich-rechtlichen Angelegenheiten ans Bundesgericht beantragt A._ im Wesentlichen die Aufhebung des Entscheids des Obergerichts, soweit dieser ihn betrifft, sowie der Beschlüsse von Regierungsrat und Gemeinde. Das Obergericht hat auf eine Vernehmlassung verzichtet. Die Gemeinde schliesst auf Abweisung der Beschwerde. Die Beschwerdegegnerin beantragt, die Beschwerde sei abzuweisen, soweit darauf einzutreten sei. Die weiteren Verfahrensbeteiligten haben sich nicht vernehmen lassen. Der Beschwerdeführer hält in seiner Replik an seinen Anträgen fest. Die Beschwerdegegnerin hat dazu Stellung genommen. In der Folge hat sich auch der Beschwerdeführer erneut vernehmen lassen, jedoch verspätet und ohne ein Gesuch um Fristerstreckung gestellt zu haben.