<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
	<title>VERGE 3 Forums</title>
	<link>http://verge-rpg.com/rss/forums/</link>
	<description>verge-rpg.com's most recent forum postings.</description>
	<language>en-us</language>
	<pubDate>Wed, 22 Feb 2012 22:14:14 GMT</pubDate>
	<docs>http://blogs.law.harvard.edu/tech/rss</docs>
	<generator>Egometry Ventures</generator>
	<managingEditor>mcgrue@verge-rpg.com</managingEditor>
	<webMaster>mcgrue@verge-rpg.com</webMaster>
		
		<item>
	<title>Pun RPG Enemy Names (for Sully) (by Gayo)</title>
	<link>http://verge-rpg.com/castle-heck/pun-rpg-enemy-names-for-sully/2/</link>   
	<description><![CDATA[Grue came up with [b]Hemogoblin[/b]. <br /><br /><a href="http://verge-rpg.com/forums/reply/134587/">Reply to this message?</a><hr>]]></description>
	<pubDate>Sun, Feb 19th 2012, 11:05 GMT</pubDate>
	<guid>http://verge-rpg.com/castle-heck/pun-rpg-enemy-names-for-sully/2/</guid>
	</item>
		<item>
	<title>JVerge (by mcgrue)</title>
	<link>http://verge-rpg.com/forums/verge-developers-forum/jverge/</link>   
	<description><![CDATA[giiiiiithub? :D<br /><br /><a href="http://verge-rpg.com/forums/reply/134585/">Reply to this message?</a><hr>]]></description>
	<pubDate>Mon, Jan 23rd 2012, 20:11 GMT</pubDate>
	<guid>http://verge-rpg.com/forums/verge-developers-forum/jverge/</guid>
	</item>
		<item>
	<title>JVerge (by rafael_esper)</title>
	<link>http://verge-rpg.com/forums/verge-developers-forum/jverge/</link>   
	<description><![CDATA[Ok, some news:

- Not in Gith yet! (I'm going to make it soon)
- Playing .MOD, .S3M, .XM, .MP3, .WAV, .VGM, .VGZ and some others formats;
- Reading and saving .map, .vsp, .chr (version 2, 4 and 5)
- Map rendering, controls, player, entities, animations, showpage... the main engine is all here.
- Loading Config file.

Needs to be done:
- Function calls (this is a fundamental step)
- VC lib Drawing functions (this is going to be easy)
- Fonts
- VC Parser and/or Lua Parser (probably won't be done)
- Make it more OO
- Full screen is very slow, I need to adapt it to the graphic JGame implementation I'm using. 320x240 works fine, through.
- Add logging capabilities

Any suggestion is much appreciated. 

Regards,
Rafael, the Esper
<br /><br /><a href="http://verge-rpg.com/forums/reply/134584/">Reply to this message?</a><hr>]]></description>
	<pubDate>Sun, Jan 22nd 2012, 15:44 GMT</pubDate>
	<guid>http://verge-rpg.com/forums/verge-developers-forum/jverge/</guid>
	</item>
		<item>
	<title>Wraparound Maps: Done! (by rafael_esper)</title>
	<link>http://verge-rpg.com/forums/verge-developers-forum/wraparound-maps-done/</link>   
	<description><![CDATA[Ok, as I've mentioned earlier, this was in my top 3 list of verge features I'd like to see. 

Well, the code below is in Java, but it's very close to the original CPP code. I've implemented this in
my Java verion of Verge (I'm calling it JVerge), and it's almost ready for a first release ([url]http://verge-rpg.com/forums/verge-developers-forum/jverge/[/url])

Here it goes:

In the Map, add two variables to control if the map is wrapable (horizontal-edges and vertical-edges):

[code]
	public boolean horizontalWrapable = false;  // new code
	public boolean verticalWrapable = false;  // new code
[/code]

Of course, you need to set these variables at some point for your World maps, like:
[code]
	current_map.horizontalWrapable = current_map.verticalWrapable = true;
[/code]

In the Render method, if the map is wrapable, don't limit the xwin and ywin:

[code]
			case 1:
				if( myself != null )
				{
					xwin = (myself.getx() + myself.chr.hw/2) - (screen.width / 2);
					ywin = (myself.gety() + myself.chr.hh/2) - (screen.height / 2);
				}
				else { xwin=0; ywin=0; }
				
				if(!current_map.horizontalWrapable) { // new code
					if (xwin + screen.width >= rmap)
						xwin = rmap - screen.width;
					if (xwin < 0) xwin = 0;
				}
				if(!current_map.verticalWrapable) {  // new code
					if (ywin + screen.height >= dmap)
						ywin = dmap - screen.height;
				
					if (ywin < 0) ywin = 0;
				}
				break;
[/code]

In the method obstructpixel of the Map class, the edges aren't obstructable anymore for wrapable maps. My (messy) code is like this:

[code]
	public boolean obstructpixel(int x, int y) { // modified by rbp
		if (!horizontalWrapable && (x < 0 || (x >> 4) >= getWidth()))
				return true;
		if (!verticalWrapable && (y < 0 || (y >> 4) >= getHeight()))
				return true;
		if(horizontalWrapable && x < 0)
			x+= (getWidth() << 4); 
		if(horizontalWrapable && (x >> 4) >= getWidth())
			x-= (getWidth() << 4);
		if(verticalWrapable && y < 0)
			y+= (getHeight() << 4); 
		if(verticalWrapable && (y >> 4) >= getHeight())
			y-= (getHeight() << 4);
		
		int t = obsLayer[((y >> 4) * getWidth()) + (x >> 4)];
		if (tileset.GetObs(t, x & 15, y & 15) == 0)
			return false;
		return true;
	}
[/code]

In the same class, in the BlitLayer method, now you want to render the beginning of the map when you're close to its end, and vice-versa:
Original code was something like: c = layer.GetTile(xtc + x, ytc + y); Now you need to change it to:

[code]
				if(horizontalWrapable && verticalWrapable)  // New code
					c = layer.GetTile((xtc + x+getWidth())%(getWidth()), (ytc + y+getHeight())%(getHeight()));
				else if(!horizontalWrapable && verticalWrapable)
					c = layer.GetTile((xtc + x), (ytc + y+getHeight())%(getHeight()));
				else if(horizontalWrapable && !verticalWrapable)
					c = layer.GetTile((xtc + x+getWidth())%(getWidth()), (ytc + y));
				else if(!horizontalWrapable && !verticalWrapable)
					c = layer.GetTile(xtc + x, ytc + y);

[/code]

In the Entity class, the getx() and gey() methods need to "teleport" the entity to the beginning of the map, if they go past its end. Also, we need to adapt the waypoint, so the entity won't walk backwards when it reachs the end of the map (because the entity X is 100, and the waypointX 116 can be converted to 16, in a 100x100 map):

[code]
	public int getx() {
		if(current_map.horizontalWrapable && 
				(x/65536 > current_map.getWidth()<<4 || x < 0)) {
			x = (x + (current_map.getWidth()<<20)) % (current_map.getWidth()<<20);
			waypointx = (waypointx + (current_map.getWidth()<<4)) % (current_map.getWidth()<<4);
		}
		return x/65536;	}
	
	public int gety() { 
		if(current_map.verticalWrapable &&
			(y/65536 > current_map.getHeight()<<4 || y < 0)) {
				y = (y + (current_map.getHeight()<<20)) % (current_map.getHeight()<<20);
				waypointy = (waypointy + (current_map.getHeight()<<4)) % (current_map.getHeight()<<4);
			}		
		return y/65536; 	}
[/code]

Remember to make the class more OO, and all instances do entity.x and entity.y are converted to entity.getx() and entity.gety(). 

Finally, the draw method of entity needs to render the entities that are on the other side of the map:

Instead of 

[code]
		int zx = getx() - xwin,
		    zy = gety() - ywin;
[/code]

Change it to:

[code]
		int zx = (getx() - xwin + (current_map.getWidth()<<4)) % (current_map.getWidth()<<4),
		    zy = (gety() - ywin + ((current_map.getHeight()<<4))) % (current_map.getHeight()<<4);
[/code]


And that's it. It can be easily adapted to CPP code. Wraparound maps in Verge! Tested with my old Phantasy Star maps.

Regards,
Rafael, the Esper
<br /><br /><a href="http://verge-rpg.com/forums/reply/134583/">Reply to this message?</a><hr>]]></description>
	<pubDate>Sun, Jan 22nd 2012, 15:34 GMT</pubDate>
	<guid>http://verge-rpg.com/forums/verge-developers-forum/wraparound-maps-done/</guid>
	</item>
		<item>
	<title>sup dudes (by Technetium)</title>
	<link>http://verge-rpg.com/general/sup-dudes/</link>   
	<description><![CDATA[Recent replay of FF6 = I wanna make a game again.

Starting Phobos Project over, mostly to drop the 640x480 res I was using before and go back to that sweet, sexy 320x240. This will cut graphics work by 75%. And speed up the slower parts (like the faked mode7 on the world map) a lot. Looking forward to also getting rid of some crappy music from the older version.

At least until I get my desktop fixed so I can play Skyrim again. No really, I will try not to disappear completely like I did years ago. I felt a little guilty every time I thought about this project I completely abandoned.

I guess if the site is still here, other people are still doing Verge stuff, right? 

So how do I do this programming thing again? :P<br /><br /><a href="http://verge-rpg.com/forums/reply/134576/">Reply to this message?</a><hr>]]></description>
	<pubDate>Tue, Jan 3rd 2012, 04:03 GMT</pubDate>
	<guid>http://verge-rpg.com/general/sup-dudes/</guid>
	</item>
		<item>
	<title>Oops!  Screenshot upload stupidity!  @_@ (by Robomagus)</title>
	<link>http://verge-rpg.com/website-issues/oops-screenshot-upload-stupidity/</link>   
	<description><![CDATA[I just attempted uploading a screenie of Maped3 since there weren't any...  I guess the screenie was too large or something, because the image doesn't show.  It seems to show that there is one, but it doesn't appear, so... I'm guessing someone should wipe the uploaded image or something?  x_x;  Sorry, guys!<br /><br /><a href="http://verge-rpg.com/forums/reply/134574/">Reply to this message?</a><hr>]]></description>
	<pubDate>Mon, Jan 2nd 2012, 19:03 GMT</pubDate>
	<guid>http://verge-rpg.com/website-issues/oops-screenshot-upload-stupidity/</guid>
	</item>
		<item>
	<title>LinuxVerge question(s)... (by raichu)</title>
	<link>http://verge-rpg.com/help/linuxverge-question-s/2/</link>   
	<description><![CDATA[Update for Linux port...
http://github.com/salviati/verge3

...and the list of issues with it
http://github.com/salviati/verge3/blob/master/linux/README

It also fixes a bug in the Windows version regarding Audiere initialization.

I noticed that the mousedemo isn't  working, complaining about non-existing functions (which belong to v3 namespace). Even if you prefix all with "v3." and comment out the line with "joy[0]" (such a table doesn't seem to exists), it still fails to load the map (for unix, I had to replace '\' with '/'; AFAIK '/' works under windows as well BTW).
Same with windows version redist/verge.exe.

Here's the error message: "Error when calling 'start': attempt to index global 'entity' (a nil value)". It seems like some code initiated by v3.Map() seems to be looking for entity instead of v3.entity.

I'm also led to believe that the git version may not be the most recent one ---I tried to run Lichen, and it works fine with the latest binary release, but the git version seems to be missing ResizeLayer function (redist/verge.exe gives the same error). Is that speveril's fork only?

On speveril's repo, g_script.cpp:670 and 671 causes errors
(assigning VergeCallback to std::string, vice and versa). Stranglely, it's not possible to report an issue about his fork on github. Hopefully, he's still around here!

And may be quite unrelated, but will http://bananattack.com/vx/ be back? Is the documentation available somewhere else?<br /><br /><a href="http://verge-rpg.com/forums/reply/134573/">Reply to this message?</a><hr>]]></description>
	<pubDate>Mon, Dec 12th 2011, 01:58 GMT</pubDate>
	<guid>http://verge-rpg.com/help/linuxverge-question-s/2/</guid>
	</item>
		<item>
	<title>HTML5 rpg (by mcgrue)</title>
	<link>http://verge-rpg.com/general/html5-rpg/</link>   
	<description><![CDATA[https://developer.mozilla.org/de/demos/detail/role-playing-game

Kinda neat.<br /><br /><a href="http://verge-rpg.com/forums/reply/134572/">Reply to this message?</a><hr>]]></description>
	<pubDate>Sun, Dec 11th 2011, 20:02 GMT</pubDate>
	<guid>http://verge-rpg.com/general/html5-rpg/</guid>
	</item>
		<item>
	<title>JVerge (by rafael_esper)</title>
	<link>http://verge-rpg.com/forums/verge-developers-forum/jverge/</link>   
	<description><![CDATA[This is a good idea. I'll manage to put my source code there as soon as possible. Just work on some tweaks before.<br /><br /><a href="http://verge-rpg.com/forums/reply/134566/">Reply to this message?</a><hr>]]></description>
	<pubDate>Tue, Dec 6th 2011, 15:39 GMT</pubDate>
	<guid>http://verge-rpg.com/forums/verge-developers-forum/jverge/</guid>
	</item>
		<item>
	<title>JVerge (by mcgrue)</title>
	<link>http://verge-rpg.com/forums/verge-developers-forum/jverge/</link>   
	<description><![CDATA[Awesome!

Is this on github?<br /><br /><a href="http://verge-rpg.com/forums/reply/134565/">Reply to this message?</a><hr>]]></description>
	<pubDate>Mon, Dec 5th 2011, 23:02 GMT</pubDate>
	<guid>http://verge-rpg.com/forums/verge-developers-forum/jverge/</guid>
	</item>
		
	</channel>
</rss> 
