src/objwriter.cxx

changeset 72
03e4d9db3fd9
parent 71
11f23fabf8a6
--- a/src/objwriter.cxx	Fri Jan 10 16:11:49 2014 +0200
+++ b/src/objwriter.cxx	Fri Jan 10 21:58:42 2014 +0200
@@ -1,48 +1,7 @@
-/*
- *	botc source code
- *	Copyright (C) 2012 Santeri `Dusk` Piippo
- *	All rights reserved.
- *	
- *	Redistribution and use in source and binary forms, with or without
- *	modification, are permitted provided that the following conditions are met:
- *	
- *	1. Redistributions of source code must retain the above copyright notice,
- *	   this list of conditions and the following disclaimer.
- *	2. Redistributions in binary form must reproduce the above copyright notice,
- *	   this list of conditions and the following disclaimer in the documentation
- *	   and/or other materials provided with the distribution.
- *	3. Neither the name of the developer nor the names of its contributors may
- *	   be used to endorse or promote products derived from this software without
- *	   specific prior written permission.
- *	4. Redistributions in any form must be accompanied by information on how to
- *	   obtain complete source code for the software and any accompanying
- *	   software that uses the software. The source code must either be included
- *	   in the distribution or be available for no more than the cost of
- *	   distribution plus a nominal fee, and must be freely redistributable
- *	   under reasonable conditions. For an executable file, complete source
- *	   code means the source code for all modules it contains. It does not
- *	   include source code for modules or files that typically accompany the
- *	   major components of the operating system on which the executable file
- *	   runs.
- *	
- *	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- *	AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- *	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- *	ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- *	LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- *	CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- *	SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- *	INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- *	CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- *	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- *	POSSIBILITY OF SUCH DAMAGE.
- */
-
-#define __OBJWRITER_CXX__
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include "common.h"
+#include "main.h"
 #include "str.h"
 #include "objwriter.h"
 #include "databuffer.h"
@@ -52,11 +11,11 @@
 
 extern bool g_GotMainLoop;
 
-ObjWriter::ObjWriter (str path) {
+ObjWriter::ObjWriter (string path) {
 	MainBuffer = new DataBuffer;
 	MainLoopBuffer = new DataBuffer;
 	OnEnterBuffer = new DataBuffer;
-	SwitchBuffer = NULL; // created on demand
+	SwitchBuffer = null; // created on demand
 	numWrittenBytes = 0;
 	numWrittenReferences = 0;
 	filepath = path;
@@ -72,7 +31,7 @@
 	WriteString (const_cast<char*> (s));
 }
 
-void ObjWriter::WriteString (str s) {
+void ObjWriter::WriteString (string s) {
 	WriteString (s.chars());
 }
 
@@ -102,7 +61,7 @@
 
 // Write string table
 void ObjWriter::WriteStringTable () {
-	unsigned int stringcount = CountStringTable ();
+	unsigned int stringcount = num_strings_in_table ();
 	if (!stringcount)
 		return;
 	
@@ -112,7 +71,7 @@
 	
 	// Write all strings
 	for (unsigned int a = 0; a < stringcount; a++)
-		WriteString (g_StringTable[a]);
+		WriteString (get_string_table()[a]);
 }
 
 // Write main buffer to file
@@ -155,10 +114,10 @@
 		MainBuffer;
 }
 
-ScriptMark* g_ScriptMark = NULL;
+ScriptMark* g_ScriptMark = null;
 
 // Adds a mark
-unsigned int ObjWriter::AddMark (str name) {
+unsigned int ObjWriter::AddMark (string name) {
 	return GetCurrentBuffer()->AddMark (name);
 }
 
@@ -169,10 +128,10 @@
 }
 
 // Finds a mark
-unsigned int ObjWriter::FindMark (str name) {
+unsigned int ObjWriter::FindMark (string name) {
 	DataBuffer* b = GetCurrentBuffer();
 	for (unsigned int u = 0; u < MAX_MARKS; u++) {
-		if (b->marks[u] && !b->marks[u]->name.icompare (name))
+		if (b->marks[u] && b->marks[u]->name.to_uppercase() == name.to_uppercase())
 			return u;
 	}
 	return MAX_MARKS;

mercurial