English Amiga Board


Go Back   English Amiga Board > Main > Retrogaming General Discussion

 
 
Thread Tools
Old 20 January 2005, 19:02   #1
Ironclaw
Banned
Ironclaw's Avatar
 
Join Date: Oct 2004
Location: ...
Age: 39
Posts: 3,313
A question for those of you who can look into a games code.

I have read that when people crack a game, they can see and modify the code of the game, and stuff. Is it possible to rip the graphics from a game and turn them into bmps, gifs... whatever?

I'm working on a Moonstone remake and it's a pain in the a$$ to rip those monster gfxs. Can someone, SOMEHOW, rip them?

What I do now is recording ther things I want to rip using uncompressed avi output which gives lossless quality. Then rip frame per frame. What some of you might suggest is using a memory ripper.... you know,,, one where you move bits and stuff to but together layers to form a picture.... anyway.. that sucks..

So... any ideas for a easier way to rip GFX?
Ironclaw is offline  
AdSense AdSense  
Old 20 January 2005, 19:48   #2
Akira
Registered User

Akira's Avatar
 
Join Date: May 2001
Location: New York
Posts: 18,270
Memory ripping doesn't suck, it's you who cannot make heads nor toes out of that data. It gives you the complete tile information, all you need to build whatever you want.
Akira is online now  
Old 20 January 2005, 20:05   #3
TheBoss
Registered User
TheBoss's Avatar
 
Join Date: Jul 2003
Location: Denmark
Posts: 830
Send a message via ICQ to TheBoss
Thats one way of putting it, lol
TheBoss is offline  
Old 20 January 2005, 20:19   #4
Ironclaw
Banned
Ironclaw's Avatar
 
Join Date: Oct 2004
Location: ...
Age: 39
Posts: 3,313
Yeah, that's true. I have tried several programs and all of them works the same. I find like 3 layers which I put ontop of each other to build the tile data... but I can never get the colors right and stuff. If anyone of you know how to do this, plz post an example picture of a successfull gfx pic.... with the tiles or whatever.

What's the best program for this, and is there a tutorial or something?

I once tried a program that I saw here on EAB. I used it to open up adf files and look for pictures.... but as with all other progs I have tried, I couldnt find the right color combination.
Ironclaw is offline  
Old 20 January 2005, 23:00   #5
Bad Mr Frosty
Junior Member
Bad Mr Frosty's Avatar
 
Join Date: Sep 2001
Location: Praha / Ceska Republika
Age: 39
Posts: 107
If its anything like the GBA, the tile and palette data are loaded into different areas of memory.
Bad Mr Frosty is offline  
Old 21 January 2005, 01:30   #6
Ironclaw
Banned
Ironclaw's Avatar
 
Join Date: Oct 2004
Location: ...
Age: 39
Posts: 3,313
But I don't know how to get perfect pictures from the memory. Does anyone of you?, could you maybe take a screenshot and show me that you can do it plz.
Ironclaw is offline  
Old 21 January 2005, 01:31   #7
Ironclaw
Banned
Ironclaw's Avatar
 
Join Date: Oct 2004
Location: ...
Age: 39
Posts: 3,313
Nevermind.... no program can reconstruct perfect pictures through the memory... so I'll just do it my way.
Ironclaw is offline  
Old 21 January 2005, 12:14   #8
gimbal
cheeky scoundrel
gimbal's Avatar
 
Join Date: Nov 2004
Location: Spijkenisse/Netherlands
Age: 36
Posts: 2,943
I have seen your current demo data from your moonstone flash program. Looks excellent!

note: I found it through this website:

http://www.moonstonetavern.co.uk/

Under the remake section
gimbal is offline  
Old 26 January 2005, 03:27   #9
JohnnyWalker
aka ThunderPeel2001
JohnnyWalker's Avatar
 
Join Date: Apr 2004
Location: UK
Age: 39
Posts: 267
There MUST be some way to do this very quickly and easily!
JohnnyWalker is offline  
Old 26 January 2005, 03:35   #10
Jim
 
Posts: n/a
There is.

But unfortunately at the moment it's all in my brain and it's called A.R.S.E.

Automated Ripping of Sprites Etc.....

Must get round to writing a battle-plan and improving some existing code....
 
Old 26 January 2005, 19:56   #11
Dan
Registered User
Dan's Avatar
 
Join Date: Nov 2004
Location: Germany
Posts: 349
Something like this ? (see attachm.)
Done with action replay mk3 built in pic ripper.
Attached Thumbnails
Click image for larger version

Name:	Pic1.jpg
Views:	176
Size:	124.3 KB
ID:	7855   Click image for larger version

Name:	pic2.jpg
Views:	187
Size:	137.3 KB
ID:	7856  
Dan is offline  
Old 26 January 2005, 20:02   #12
Jim
 
Posts: n/a
Quote:
Originally Posted by Dan
Something like this ? (see attachm.)
Done with action replay mk3 built in pic ripper.
Nope, been there, done that (years ago). It's arse.

I'm talking about A.R.S.E.
 
Old 26 January 2005, 21:19   #13
Ironclaw
Banned
Ironclaw's Avatar
 
Join Date: Oct 2004
Location: ...
Age: 39
Posts: 3,313
Yep... it's ARSE!!!

Must be a way to do what we want.... come on ALL coder dudes... I know you can... somehow.... ehh..
Ironclaw is offline  
Old 26 January 2005, 23:57   #14
Codetapper
2 contact me: email only!

Codetapper's Avatar
 
Join Date: May 2001
Location: Auckland / New Zealand
Posts: 3,135
I've helped a few people out by ripping gfx from games for projects they were doing - and then heard nothing and found the gfx were never used. So I don't really offer help anymore, too many vapourware projects killed off my community spirit...

Wouldn't it be better to get the entire game code working then slot the graphics in later? After all, ripping gfx is relatively easy but making the game work is going to be a much harder job.
Codetapper is offline  
Old 27 January 2005, 00:01   #15
Jim
 
Posts: n/a
Quote:
Originally Posted by Codetapper
Wouldn't it be better to get the entire game code working then slot the graphics in later?
What coding? It was my understanding that this was being "written" in Flash!
 
Old 27 January 2005, 00:13   #16
Codetapper
2 contact me: email only!

Codetapper's Avatar
 
Join Date: May 2001
Location: Auckland / New Zealand
Posts: 3,135
Quote:
Originally Posted by Jim
What coding? It was my understanding that this was being "written" in Flash!
You still have to make the game work though! Dumping a pile of gfx into flash won't mean a playable game without code!
Codetapper is offline  
Old 27 January 2005, 00:14   #17
Jim
 
Posts: n/a
True. True.

A few subtle mouse clicks and something should be running though
 
Old 27 January 2005, 11:16   #18
Ironclaw
Banned
Ironclaw's Avatar
 
Join Date: Oct 2004
Location: ...
Age: 39
Posts: 3,313
I don't "write" in Flash, I "code"... and alot of coding has been done already. Have you checked my Moonstone Remake?

Here's some code from the enemy knight:

Code:
onClipEvent (enterFrame) {
	//This enemy being hit -------------------------------------------------
	if (this.hitTest(_root.Game.BlueKnight.HighSwing.box) and _parent.HitPlankk == "yes") {
		HitByHighSwing = new Sound();
		HitByHighSwing.attachSound("HitByHighSwing");
		HitByHighSwing.start(0, 0);
		_root.Game.BlueKnight.HighSwing.gotoAndPlay(29);
		trace("MMMMMMMMMMMMM");
		_parent.gotoAndStop("HitHigh");
	} else if (this.hitTest(_root.Game.BlueKnight.LowSwing.box) and _parent.HitPlankk == "yes") {
		HitByLowSwing = new Sound();
		HitByLowSwing.attachSound("HitByLowSwing");
		HitByLowSwing.start(0, 0);
		_root.Game.BlueKnight.LowSwing.gotoAndPlay(29);
		trace("MMMMMMMMMMMMM");
		_parent.gotoAndStop("HitLow");
	}
}
// End -------------------------------------------------
// Throw Knife -------------------------------------------------
onClipEvent (enterFrame) {
	if (_parent._x<_root.Game.BlueKnight._x and _parent._x<_root.Game.BlueKnight._x-130 and _parent._x>_root.Game.BlueKnight._x-280 and _parent._y>=_root.Game.BlueKnight._y-20 and _parent._y<=_root.Game.BlueKnight._y+20 and _parent.ThrowKnife == "on") {
		trace("0000");
		r = random(2);
		if (r == 1) {
			trace("0001");
			if (_parent.Knifes<=0) {
				_parent.ThrowKnife == "off";
			} else {
				_parent.Knifes -= 1;
				_parent.gotoAndStop("ThrowKnife");
			}
		}
	}
}
onClipEvent (enterFrame) {
	if (_parent._x>_root.Game.BlueKnight._x and _parent._x<_root.Game.BlueKnight._x+300 and _parent._x>_root.Game.BlueKnight._x+130 and _parent._y>=_root.Game.BlueKnight._y-20 and _parent._y<=_root.Game.BlueKnight._y+20 and _parent.ThrowKnife == "on") {
		trace("0000");
		r = random(2);
		if (r == 1) {
			trace("0001");
			if (_parent.Knifes<=0) {
				_parent.ThrowKnife == "off";
			} else {
				_parent.Knifes -= 1;
				_parent.gotoAndStop("ThrowKnife");
			}
		}
	}
}
// End -------------------------------------------------
onClipEvent (enterFrame) {
	if (_parent._y<_root.Game.BlueKnight._y) {
		_root.Game.BlueKnight.swapDepths(3);
	} else {
		_root.Game.BlueKnight.swapDepths(1);
	}
}
/*onClipEvent (enterFrame) {
	if (_parent._y<_root.Game.BlueKnight._y and _parent._x<_root.Game.BlueKnight._x-DistanceB and _parent._x>_root.Game.BlueKnight._x-DistanceA) {
		trace("lklklk")
		_root.Game.BlueKnight.swapDepths(3);
	} else {
		_root.Game.BlueKnight.swapDepths(1);
	}
	//and _parent._x>_root.Game.BlueKnight._x and _parent._x<_root.Game.BlueKnight._x+DistanceA and _parent._x>_root.Game.BlueKnight._x+DistanceB
}*/
onClipEvent (enterFrame) {
	if (getTimer()-timegone>20) {
		if (!attacking) {
			var moved = false;
			// player is right
			if (_parent._x<_root.Game.BlueKnight._x) {
				_xscale = _parent._xscale=+100;
				// If the player is longer away than 2 meters,
				// move closer till the enemy is at 2 meters distance
				if (_parent._x<_root.Game.BlueKnight._x-_parent.DistanceA) {
					_parent.gotoAndStop("Move");
					_parent._x += _parent.MoveSpeed;
					moved = true;
				} else if (_parent._x>_root.Game.BlueKnight._x-_parent.DistanceB) {
					// If the player is closer than 1 meter,
					// move away till the player is at 1 meters distance.
					_xscale = _parent._xscale=+100;
					_parent.gotoAndStop("Move");
					_parent._x -= _parent.MoveSpeed;
					moved = true;
				}
				// player is left
			} else {
				if (_parent._x>_root.Game.BlueKnight._x+_parent.DistanceA) {
					_xscale = _parent._xscale=-100;
					_parent.gotoAndStop("Move");
					_parent._x -= _parent.MoveSpeed;
					moved = true;
				} else if (_parent._x<_root.Game.BlueKnight._x+_parent.DistanceB) {
					// If the player is closer than 1 meter,
					// move away till the player is at 1 meters distance.
					_xscale = _parent._xscale=-100;
					_parent.gotoAndStop("Move");
					_parent._x += _parent.MoveSpeed;
					moved = true;
				}
			}
			// If the player below, move down, enemy right side
			//------------------------------------
			if (_parent._y<_root.Game.BlueKnight._y-1 and _parent._x<_root.Game.BlueKnight._x-_parent.DistanceB and _parent._x>_root.Game.BlueKnight._x-_parent.DistanceA) {
				_xscale = _parent._xscale=+100;
				_parent.gotoAndStop("MoveDown");
				_parent._y += _parent.MoveUpDownSpeed;
				moved = true;
			} else if (_parent._y>_root.Game.BlueKnight._y+1 and _parent._x<_root.Game.BlueKnight._x-_parent.DistanceB and _parent._x>_root.Game.BlueKnight._x-_parent.DistanceA) {
				_xscale = _parent._xscale=+100;
				_parent.gotoAndStop("MoveUp");
				_parent._y -= _parent.MoveUpDownSpeed;
				moved = true;
				//------------------------
			} else if (_parent._y<_root.Game.BlueKnight._y-1 and _parent._x>_root.Game.BlueKnight._x and _parent._x<_root.Game.BlueKnight._x+_parent.DistanceA and _parent._x>_root.Game.BlueKnight._x+_parent.DistanceB) {
				_xscale = _parent._xscale=-100;
				_parent.gotoAndStop("MoveDown");
				_parent._y += _parent.MoveUpDownSpeed;
				moved = true;
			} else if (_parent._y>_root.Game.BlueKnight._y+1 and _parent._x>_root.Game.BlueKnight._x and _parent._x<_root.Game.BlueKnight._x+_parent.DistanceA and _parent._x>_root.Game.BlueKnight._x+_parent.DistanceB) {
				_xscale = _parent._xscale=-100;
				_parent.gotoAndStop("MoveUp");
				_parent._y -= _parent.MoveUpDownSpeed;
				moved = true;
				//-----------------
			} else if (_parent._y<_root.Game.BlueKnight._y-1 and _parent._x>_root.Game.BlueKnight._x) {
				_xscale = _parent._xscale=-100;
				_parent.gotoAndStop("Move");
				_parent._y += _parent.MoveUpDownSpeed;
				moved = true;
			} else if (_parent._y<_root.Game.BlueKnight._y-1) {
				_xscale = _parent._xscale=+100;
				_parent.gotoAndStop("Move");
				_parent._y += _parent.MoveUpDownSpeed;
				moved = true;
				// If the player above, move up.
			} else if (_parent._y>_root.Game.BlueKnight._y+1 and _parent._x>_root.Game.BlueKnight._x) {
				_xscale = _parent._xscale=-100;
				_parent.gotoAndStop("Move");
				_parent._y -= _parent.MoveUpDownSpeed;
				moved = true;
			} else if (_parent._y>_root.Game.BlueKnight._y+1) {
				_xscale = _parent._xscale=+100;
				_parent.gotoAndStop("Move");
				_parent._y -= _parent.MoveUpDownSpeed;
				moved = true;
				//------------------------------------
			}
			
			// THIS PART MAKES THIS ENEMY BACK UP WHEN THE PLAYER GETS TO CLOSE
			if (_parent._x<_root.Game.BlueKnight._x and _parent._x>_root.Game.BlueKnight._x-70) {
				trace("nigggaaaaaaaaaaaaaaa");
				// If the player is closer than 1 meter,
				// move away till the player is at 1 meters distance.
				_xscale = _parent._xscale=+100;
				_parent.gotoAndStop("Move");
				_parent._x -= _parent.MoveSpeed;
				moved = true;
				// -----------------------------------------------------------
			}
			timegone = getTimer();
		}
		if (!moved) {
			//start attacking
			if (!attacking) {
				f = ["LowSwing", "HighSwing"];
				r = random(2);
				frame = f[r];
				_parent.gotoAndStop(frame);
				attackTime = getTimer();
				attacking = 1;
				_root.attackDone = false;
				//wait 1 sec
			} else if (getTimer()-attackTime>200 and attacking == 1) {
				var mustAttack = false;
				if (Math.abs(_parent._x-_root.Game.BlueKnight._x)<=_parent.DistanceA) {
					if (Math.abs(_parent._x-_root.Game.BlueKnight._x)>=_parent.DistanceB) {
						if (_parent._y>=_root.Game.BlueKnight._y-1) {
							if (_parent._y<=_root.Game.BlueKnight._y+1) {
								mustAttack = true;
							}
						}
					}
				}
				if (mustAttack) {
					//attack
					trace("die!");
					attacking = 2;
					_parent.enemy.gotoAndPlay(2);
				} else {
					//player has moved
					attacking = 0;
				}
			}
		}
	}
	if (_root.attackDone) {
		attacking = 0;
	}
}
onClipEvent (load) {
	timegone = getTimer();
	attacking = 0;
}
Ironclaw is offline  
Old 27 January 2005, 11:19   #19
Ironclaw
Banned
Ironclaw's Avatar
 
Join Date: Oct 2004
Location: ...
Age: 39
Posts: 3,313
Quote:
Originally Posted by Codetapper
...After all, ripping gfx is relatively easy but making the game work is going to be a much harder job.
If it's easy, then tell us how to do it in an easy way.... and YES, coding the game is MUCH harder, but to code, I need the gfx. I can't test the different things in the game if there is no content.


Well, it's not necessary. I can rip them myself.... just wanted to learn an easy way to do it.
Ironclaw is offline  
Old 27 January 2005, 11:34   #20
oldpx
 
Posts: n/a
You can simply use something else as dummy for now

edit: great effort there, good luck!
 
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Epic: Is the sound code broken after a while? + question about the music + HOL cheat lilalurl support.Games 5 29 August 2013 22:56
Source Code for finished games/demos in Blitz? diablothe2nd Coders. Blitz Basic 15 14 November 2012 23:04
Petition Team17 to release old Amiga games source code Conundrum Retrogaming General Discussion 8 11 October 2012 03:28
Wish to hack out code protection in a few PC games. Anyone wanna help? MethodGit Retrogaming General Discussion 27 18 January 2010 21:18
3D code and/or internet code for Blitz Basic 2.1 EdzUp Retrogaming General Discussion 0 10 February 2002 12:40

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 19:54.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.30092 seconds with 12 queries