Jump to content
IGNORED

Egg The Hooker


Bones-69

Recommended Posts

I started to write a game for the crap game comp but ended up liking the silly theme so much I am going to make a serious go of it.

 

Game plot: You own a egg shop and live next door to a whorehouse. Sick of all the hookers, pimps and general troubles of living next door to a whorehouse, you do the only sensible thing and build a robot which is specially designed to throw eggs at hookers. You and your son hide out in the top floor of your shop and control (via remote control) a robot who follows your commands and throws eggs at the street girls.

 

Eggs must be thrown from a safe distance and you must be careful to avoid hitting the pimps as they will attack your robot. You can only carry 6 eggs at a time and once your egg supply is depleted you must return to the egg shop for a top up. On the way to re-stock with egg ammunition your robot must avoid the busy traffic on the road, the pimps who are plenty angry that their girls smell like eggs (which of course is harmful to business), the hookers themselves who are also not to pleased about their special egg aroma and a car which repeatedly drives past doing a "drive by shooting".

 

The game is over once the batteries in your robot run out. This condition is accelerated by collisions with cars, pimps who beat you with their pimp canes, being kicked by hookers and of course taking bullet damage from the drive by shootings. Clearly this game was aimed at the distasteful aspect of the crap game comp right from the start....

 

For entertainment value the environment takes damage. Eggs will splatter on walls and break windows and drive by shooters will shoot up the building leaving bullet marks etc.

 

I have attached my current work in progress in the form of a zip file (for some reason I don't have permission to paste a .TIDisk file). The file name on the .TIDisk is ETH5. I attach this because I am hoping for some help. I tried pasting it to Classic99 but got errors and it looks like this is due to some long lines of data which drop out when pasted into C99. Not sure if there is a work around this? Any advice appreciated.

 

The data files also contain some characters above ASCII 126 (found amongst data lines 21000 - 21210). I am not sure if these characters will be a problem importing on other emulators down the track. I note in the code below they seem to be replaced by other characters even though the original code in the program displays fine. I am a little concerned that these characters may cause problems when/if attempted to export to original hardware. I know I had troubles getting the Win994 Disk Manager to treat the data properly... Thoughts here would be appreciated.

 

1 ! ETH5 17/11/10 11:05
100 ! EGG THE HOOKER
110 ! WRITTEN BY BONES
120 ! NOV 2010
130 !
140 DIM R(50),Z(4)
200 CALL CHAR(59,"0") :: CALL HCHAR(12,1,59,768) :: CALL SCREEN(5) :: FOR I=4 TO 7 :: CALL COLOR(I,4,2) :: NEXT I
210 A=64 :: B=87 :: RESTORE 19080 :: GOSUB 15000 :: DISPLAY AT(5,8)SIZE(14):"EGG;THE;HOOKER" :: DISPLAY AT(8,12)SIZE(7):"LOADING"
220 A=32 :: B=63 :: RESTORE 19000 :: GOSUB 15000 :: A=88 :: B=143 :: RESTORE 19140 :: GOSUB 15000
230 FOR I=1 TO 50 :: R(I)=RND :: NEXT I :: Z(1)=1 :: Z(2)=2 :: Z(3)=31 :: Z(4)=32
1000 CALL HCHAR(12,1,59,768) :: FOR I=1 TO 14 :: CALL COLOR(I,2,2) :: NEXT I :: A=1 :: B=24 :: GOSUB 15100 :: CALL SCREEN(2)
1010 RESTORE 18880 :: FOR I=1 TO 5 :: READ A,B :: CALL HCHAR(A,B,127) :: NEXT I :: FOR I=1 TO 14 :: READ A,B :: CALL COLOR(I,A,B) :: NEXT I
1020 GOTO 1020
14999 ! CHAR ROUTINE
15000 FOR I=A TO B STEP 4 :: READ A$ :: CALL CHAR(I,A$) :: NEXT I :: RETURN
15099 ! SCREEN DRAW ROUTINE
15100 FOR I=A TO B :: READ A$ :: FOR D=1 TO 4 :: CALL HCHAR(I,Z(D),ASC(SEG$(A$,Z(D),1))) :: NEXT D :: DISPLAY AT(I,1):SEG$(A$,3,28)
15110 NEXT I :: RETURN
18879 ! CORRECT CHAR 127
18880 DATA 5,13,5,30,10,22,11,21,12,20
18889 ! COLOR SETS
18900 DATA 7,2,15,2,4,2,4,2,4,2,4,2,4,2,16,2,9,12,8,6,2,12,9,2,14,2,14,15
18999 ! CHARACTER DATA
19000 DATA "0000001F2026273F20232038577C543800000000804020F80601011DEA3E2A1C20232038577C543800000000804020F80601011DEA3E2A1C"
19010 DATA "FFFF000000000000000000000000FFFF000000000000387F001E0C0000000000000000000000FFFF000000000000387F001E0C0000000000"
19020 DATA "0000007E00000000FFFF000000FFFFFFFFFF00000000FFFFFFFF00000000FFFFFFFF000000FFFFFFFFFF00000000FFFFFFFF00000000FFFF"
19030 DATA "071F0B1F0E061F3B7FDB9F0F0909091B00800018242424A0E0602020202020007FDB9F0F0909091B00800018242424A0E060202020202000"
19040 DATA "003E63676B73633E000C1C0C0C0C0C3F003E63630E38637F003E63630E63633E000C1C0C0C0C0C3F003E63630E38637F003E63630E63633E"
19050 DATA "00060E1E267F0606007F63607E03633E003E63607E63633E007F63060C18183C007F63607E03633E003E63607E63633E007F63060C18183C"
19060 DATA "003E63633E63633E003E63633F03633E00001818001818000000000000000000003E63633F03633E00001818001818000000000000000000"
19070 DATA "00000000000000000B0B397FFFCF48300000000000000000000004FCFCC848300B0B397FFFCF48300000000000000000000004FCFCC84830"
19080 DATA "0018181818001818001C36637F636363006E73637E63637E001E33606060331E001C36637F636363006E73637E63637E001E33606060331E"
19090 DATA "006C76636363667C007F31303C30317F007F31303C303078001E33606763371D007F31303C30317F007F31303C303078001E33606763371D"
19100 DATA "006363637F636363003C18181818183C001F06060606663C0066666C786C6763003C18181818183C001F06060606663C0066666C786C6763"
19110 DATA "007830606063637E0063777F6B6363630063737B6F676363001C36636363361C0063777F6B6363630063737B6F676363001C36636363361C"
19120 DATA "006E73637E606060001C36636B67361D006E73637E6C6663003E63603E03633E001C36636B67361D006E73637E6C6663003E63603E03633E"
19130 DATA "007E5A181818183C007333636363763C00336363361C7870007333636B7F7763007333636363763C00336363361C7870007333636B7F7763"
19140 DATA "7C68FEFE6C303C7C00000828383060C090FF90147C14101000FF00FF0000000000000828383060C090FF90147C14101000FF00FF00000000"
19150 DATA "0000001F3A3F37181E1C3D6D6F757A3E0000000080C284081020F050F0F000001E1C3D6D6F757A3E0000000080C284081020F050F0F00000"
19160 DATA "FFE0CEC8CCC8CEE0FF00E784B594F700FF073B23BB8BBB070000000000000000FF00E784B594F700FF073B23BB8BBB070000000000000000"
19170 DATA "60B0B0D060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
19180 DATA "02FF202020FF020201FF212121FF010180FF848484FF808002FF7C7C7CFF020201FF212121FF010180FF848484FF808002FF7C7C7CFF0202"
19190 DATA "002100084000240002D1048A248112020291347E3C9D280202F12C2E26F0020202D1048A248112020291347E3C9D280202F12C2E26F00202"
19200 DATA "FF818181818181FFFFFFFF81818181FFFFFFFF81FFFF81FFFF81A99DB99581FFFFFFFF81818181FFFFFFFF81FFFF81FFFF81A99DB99581FF"
19210 DATA "0103065373213F0407030103010F1A0F20F0D8F030E0FECAFA32E535E0FCD6FC07030103010F1A0F20F0D8F030E0FECAFA32E535E0FCD6FC"
19220 DATA "000000007E81FFFF0000007E7E7E7E00007E7E7E7E7E7E00FFFFFFFFFFFFFFFF0000007E7E7E7E00007E7E7E7E7E7E00FFFFFFFFFFFFFFFF"
19230 DATA "007E5662466A7E000000FFFFFFFFFFFF0000E0F0F8FCFEFF0000070F1F3F7FFF0000FFFFFFFFFFFF0000E0F0F8FCFEFF0000070F1F3F7FFF"
19240 DATA "070F0C163C1C040E1D0C07060A1266AA80C0C0C06020301000800000000000001D0C07060A1266AA80C0C0C0602030100080000000000000"
19250 DATA "0103030306040C080001000000000000E0F030683C382070B830E060504866550001000000000000E0F030683C382070B830E06050486655"
19260 DATA "0000000000000000AD7FC65ED25AC27F5AFF8DB58DADB4FFB5FEE3EEE3FA23FEAD7FC65ED25AC27F5AFF8DB58DADB4FFB5FEE3EEE3FA23FE"
19270 DATA "00010018242424050706040404040400E0F8D0F87060F8DCFEDBF9F0909090D80706040404040400E0F8D0F87060F8DCFEDBF9F0909090D8"
20999 ! GAME SCREEN
21000 DATA "HOOKERS;EGGED:00;;HO;WHACKS:00;;","PIMP;BASHINGS:00;;ACCIDENTS:00;;","BULLET;WOUNDS:00;;EGGS;LEFT:00;Z"
21030 DATA "BATTERV;LIFE;:00;;SCORE:0000;;xZ","}}}}}}}}}}}~.}}}}}}}}}}}}}}}~.{{","hhhhhhhhhhhijhhkhhhohhhhhhhhijhh"
21060 DATA "phhhhh\^&;;ijyyhyyhhnmhyykqqnjpp","phhhhh]_XY;ij|zhzzhhhkhzzhpsijpp","hh`abhhhhhhinlhohhh‰Š‹hhonmhijhh"
21090 DATA "ph;;;hpphppijqqhqqh';.hrrhyyijpp","ph;;;hpphppijppkpph;.}hpphzzijpp","hh;;;hhhhhhijkhhhhh.}}hhhkhhijhh"
21120 DATA "ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ","$$$$$$$$$$$$$$$$$$$*+*$$$$$$$$$$",";;;;;;;;;;;;;;;;;;));;;;;;;;;;"
21150 DATA ";;;;;;;;;;;;;;;;;;));;;;;;;;;;","[[[[[[[[[[[[[[[[[[));[[[[[[[[[",";;;;;;;;;;;;;;;;;;));;;;;;;;;;"
21180 DATA ";(;;;(;;;(;;;(;;;());(;;;(;;;(",";;;;;;;;;;;;;;;;;;));;;;;;;;;;",";(;;;(;;;(;;;(;;;());(;;;(;;;("
21210 DATA ";;;;;;;;;;;;;;;;;;));;;;;;;;;;","%%%%%%%%%%%%%%%%%%%+*+%%%%%%%%%%","ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ"

ETH-AA.zip

post-26079-128999756776_thumb.jpg

  • Like 1
Link to comment
Share on other sites

Allow me to come out of my "shell" for a moment and comment!

 

That looks GREAT! And a great "eggsample" of a crap game!

 

In fact, as us Brits would say: "That's a *cracking* game!"

 

HA HA HA!

 

Have you had enough or do you want some more?

 

I've got plenty more egg yokes (geddit?)!

 

---------------

 

Ok, I think I've done enough egg jokes....

 

---------------

 

I tried pasting it into classic99, but it got a bit SCRAMBLED!!!!!!

 

AAAAAAAHHHH HA HA HA HA!

 

Oh my aching sides!

 

---------------

 

If you have it running in Classic99, try entering LIST "CLIP" into classic99 and pasting the code into a text file.

Link to comment
Share on other sites

If you entered this into the contest, said contest would be over.

 

Medium.

 

I'm assuming there's a three minute timer built into gameplay?

 

This concept is so original, I can't believe no one hasn't poached it yet.

 

Keep writing games like this and you might get laid.

 

 

 

Ugh..... my head hurts now.....

Link to comment
Share on other sites

I made some changes to the character layout and was forced to redo what I had done. Probably a good thing because I have had the chance to go back early in the piece and address a few things I was not happy about, mainly the characters between 128-143 which were in DATA statements (between quotes), and did not paste from Ti99Dir into Classic99 properly. I have juggled the character sets and now it can paste into Classic99 with no problems. This now raises an interesting option before I go much further. What are the thoughts on if I should write this with the intention of it being run under Classic99 throttling, as to opposed to my original intention which was to have it run on standard hardware? ie- The difference is I start writing with CALL LOCATE instead of CALL MOTION. I am leaning towards Classic99 Throttling but know it will be completely unplayable on standard hardware (and this would have been nice). What are the community thoughts?

 

Here is the new Classic99 friendly code with the characters in set3 13 & 14 juggled and corrected. Paste away!

 

100 ! EGG THE HOOKER
110 ! WRITTEN BY BONES
120 ! NOVEMBER 2010
130 !
140 DIM Z$(4)
200 CALL INIT :: CALL LOAD(-31806,16) :: RANDOMIZE
210 CALL CLEAR :: FOR I=1 TO 14 :: READ A,B :: CALL COLOR(I,A,B) :: NEXT I
220 RESTORE 30050 :: FOR I=48 TO 84 STEP 4 :: READ A$ :: CALL CHAR(I,A$) :: NEXT I :: RESTORE 30010
230 DISPLAY AT(5,:"EGG THE HOOKER" :: DISPLAY AT(8,12)BEEP:"LOADING"
240 FOR I=32 TO 143 STEP 4 :: READ A$ :: CALL CHAR(I,A$) :: NEXT I
400 Z(1)=1 :: Z(2)=2 :: Z(3)=31 :: Z(4)=32
1000 CALL CLEAR :: GOSUB 20000
1010 GOTO 1010
20000 ! DRAW GAME SCREEN
20010 CALL SCREEN(2)
20020 RESTORE 30290
20030 FOR I=1 TO 24 :: READ A$ :: FOR D=1 TO 4 :: CALL HCHAR(I,Z(D),ASC(SEG$(A$,Z(D),1))) :: NEXT D
20040 DISPLAY AT(I,1):SEG$(A$,3,28) :: NEXT I :: RETURN
30000 DATA 7,2,16,2,4,2,4,2,4,2,4,2,4,2,14,15,10,2,8,6,2,12,15,2,14,2,2,16
30010 DATA 00000000000000000000FFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF
30020 DATA 0000070F1F3F7FFF00000000000102040000E0F0F8FCFEFF000000007E81FFFF
30030 DATA 7C68FEFE6C303C7C00000828383060C00000003C6A7F6E303C387ADDDDEAF47C
30040 DATA 90FF90147C14101000000000F80000000000007E0000000000FF00FF00000000
30050 DATA 003E63676B73633E000C1C0C0C0C0C3F003E63630E38637F003E63630E63633E
30060 DATA 00060E1E267F0606007F63607E03633E003E63607E63633E007F63060C18183C
30070 DATA 003E63633E63633E003E63633F03633E0000181800001818000000000000387F
30080 DATA 071F0B1F0E061F3B7FDB9F0F0909091B00800018242424A0E060202020202000
30090 DATA 0018181818001818001C36637F636363006E73637E63637E001E33606060331E
30100 DATA 006C76636363667C007F31303C30317F007F31303C303078001E33606763371D
30110 DATA 006363637F636363003C18181818183C001F06060606663C0066666C786C6763
30120 DATA 007830606063637E0063777F6B6363630063737B6F676363001C36636363361C
30130 DATA 006E73637E606060001C36636B67361D006E73637E6C6663003E63603E03633E
30140 DATA 007E5A181818183C007333636363763C00336363361C7870007333636B7F7763
30150 DATA AD7FC65ED25AC27F5AFF8DB58DADB4FFB5FEE3EEE3FA23FE0000000000000000
30160 DATA 00000000000000000000000000000000060D0D0B060000000000000000000000
30170 DATA FFFF000000000000000000000000FFFF0000007E7E7E7E00007E7E7E7E7E7E00
30180 DATA 007E5662466A7E000810F8A8F8F80000003C1800000000000000007E5A767E00
30190 DATA 02FF202020FF020201FF212121FF010180FF848484FF808002FF7C7C7CFF0202
30200 DATA 002100084000240002D1048A248112020291347E3C9D280202F12C2E26F00202
30210 DATA FF818181818181FFFFFFFF81818181FFFFFFFF81FFFF81FFFF81A99DB99581FF
30220 DATA 040F1B0F0C077F535F4CA7AC073F6B3F80C060CACE84FC20E0C080C080F058F0
30230 DATA FFFF00000000FFFF041F31777377311F00FF187B4A6B08FF20F8C4DE467644F8
30240 DATA 0000001F2026273F20232038577C543800000000804020F80601011DEA3E2A1C
30250 DATA 070F0C163C1C040E1D0C07060A1266AA80C0C0C0602030100080000000000000
30260 DATA 0103030306040C080001000000000000E0F030683C382070B830E06050486655
30270 DATA 00000000000000000B0B397FFFCF48300000000000000000000004FCFCC84830
30280 DATA 00010018242424050706040404040400E0F8D0F87060F8DCFEDBF9F0909090D8
30290 DATA "HOOKERS EGGED:00  HO WHACKS:00  ","PIMP BASHINGS:00  ACCIDENTS:00  ","BULLET WOUNDS:00  EGGS LEFT:00 ,"
30300 DATA "BATTERV LIFE :00  SCORE:0000  ',","$!!!!!!!!!!&$!!!!!!!!!!!!!!!&$##","hhhhhhhhhhhijhhkhhhohhhhhhhhijhh"
30310 DATA "phhhhh*%;  ijgbhbbhhnmhbbkrrnjpp","phhhhh+e(  ijcdhcchhhkhcchpsijpp","hhyz{hhhhhhinlhohhhXYZhhonmkijhh"
30320 DATA "ph   hpphppijqqhqqhf $hrrhbgijpp","ph   hpphppijppkpph $!hpphccijpp","hh   hhhhhhijkhhhhh$!!hhhkhhijhh"
30330 DATA "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\","```````````````````xxx``````````","                   xxx          "
30340 DATA "                   xxx          ","////////////////// xxx /////////","                   xxx          "
30350 DATA " .   .   .   .   . xxx .   .   .","                   xxx          "," .   .   .   .   . xxx .   .   ."
30360 DATA "                   xxx          ","aaaaaaaaaaaaaaaaaaaxxxaaaaaaaaaa","\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"

Edited by Bones-69
Link to comment
Share on other sites

I made some changes to the character layout and was forced to redo what I had done. Probably a good thing because I have had the chance to go back early in the piece and address a few things I was not happy about, mainly the characters between 128-143 which were in DATA statements (between quotes), and did not paste from Ti99Dir into Classic99 properly. I have juggled the character sets and now it can paste into Classic99 with no problems. This now raises an interesting option before I go much further. What are the thoughts on if I should write this with the intention of it being run under Classic99 throttling, as to opposed to my original intention which was to have it run on standard hardware? ie- The difference is I start writing with CALL LOCATE instead of CALL MOTION. I am leaning towards Classic99 Throttling but know it will be completely unplayable on standard hardware (and this would have been nice). What are the community thoughts?

 

Here is the new Classic99 friendly code with the characters in set3 13 & 14 juggled and corrected. Paste away!

 

Well, two schools of thought here...

 

One, it is a crap game competition. So overshooting the platform's abilities so it runs terrible makes sense, because otherwise the game may be too fun... even with the general tastelessness. :)

 

On the other hand, there is the challenge of writing a good game that runs on the original platform.

 

Of course, you can always do two versions...

 

Adamantyr

Link to comment
Share on other sites

One, it is a crap game competition. So overshooting the platform's abilities so it runs terrible makes sense, because otherwise the game may be too fun... even with the general tastelessness. :)

Adamantyr

I think I have already invested too much brain time thinking about this game and have developed high hopes for it, I will therefore make it just a cool distasteful game release - rather then enter the competition with it.... I will think up some other dismal idea for the competition.

 

 

 

Classic99 Throttling

It will perform differently (different speeds) on different machines, so I wouldn't design for it. Though throttling can be fun. With MESS you can set speed at 50, 100, 200, 500, 1000 percent or unlimited.

I was thinking about this as well. Thought I might prompt the player to enter a speed at the start so it can be fine tuned for individual systems. It might be a variable between .1 and 1 and I will use this value in the program to increment a range of variables which will reflect a change in sprite LOCATION update values (therefore speed). 1 might be flat out running at full throttle and .1 for example would increment the variables at lesser rates. I think I can make it work, just not sure if it is worth the time and effort as I haven't played around with throttling before and I am really not sure the difference in performance amongst different systems....

Link to comment
Share on other sites

The SSGC contest had several great games come out that played marvelously in Classic99 Overdrive mode but were slow as molasses on hardware... Doesn't make them any less cool, but that is what it is. My point about the matter has always been the same: "If you're writing a game using TI XB, it should run on a TI".... But we all write things for different reasons. I tell you, some of my favorite games from the SSGC didn't even receive a prize because the performed poorly on hardware. But that was for a contest, and it's important to remember that... :) Code for the reasons YOU want to code--- don't worry about what's "acceptable." sh**, man--- how many folks still code for the TI??? 30-40? :) We are kings, man... Do what YOU wanna do. :)

Link to comment
Share on other sites

The SSGC contest had several great games come out that played marvelously in Classic99 Overdrive mode but were slow as molasses on hardware... Doesn't make them any less cool, but that is what it is. My point about the matter has always been the same: "If you're writing a game using TI XB, it should run on a TI".... But we all write things for different reasons. I tell you, some of my favorite games from the SSGC didn't even receive a prize because the performed poorly on hardware. But that was for a contest, and it's important to remember that... :) Code for the reasons YOU want to code--- don't worry about what's "acceptable." sh**, man--- how many folks still code for the TI??? 30-40? :) We are kings, man... Do what YOU wanna do. :)

 

Yeah, in theory. I still need to get my compact flash thing used... I think I set it up and then never used it... The display off my real TI is not great... A bit "sparkly" I suppose... And that's using one of my Audio / Video cables - no modulator. I need to try my other TIs to see if it's the TI or the cables...

 

But I use Classic99 b/c it's so very convenient. Should I be lucky enough to have my game on cartridge, I'd have to use it for real!

 

-H

Link to comment
Share on other sites

I use Classic99 for 90% of all my "TIing". I use hardware to test my games and for Tunnels of Doom. :)

 

A game is a game. If you write it on Classic99 overdrive mode, who cares?? We can ALL play it. :). I absolutely loved Dark Maze from the SSGC... It remains one of my favorite games to play, and it's very slow on gear. I play it once or twice a day, actually. ;) So, it didn't win an SSGC prize--- but I play it more than any other SSGC game (well, Helm of Wooldridge too).... It just means that the mode doesn't matter in principle... You can write an awesome game for the TI that doesn't kick ass on iron, but amazes people in Classic99. :)

Link to comment
Share on other sites

  • 3 weeks later...

Been struggling with my time management lately but finally put some time aside and completed my game animations.

 

Game is not playable yet but I have been testing to see how the animation looks - all changes are done through a change in a single CHAR per sprite rather than with CALL PATTERN. I think it is pretty obvious now this will need to be run in overdrive once complete. I sort of suspected this might be the case with some of the bells and whistles I wanted to add...

 

100 ! EGG THE HOOKER
110 ! WRITTEN BY BONES
120 ! NOVEMBER 2010
130 !
140 DIM Z$(4),X$(68)
200 CALL INIT :: CALL LOAD(-31806,16) :: CALL MAGNIFY(3) :: RANDOMIZE
210 CALL CLEAR :: FOR I=1 TO 14 :: READ A,B :: CALL COLOR(I,A,B) :: NEXT I
220 RESTORE 30050 :: FOR I=48 TO 84 STEP 4 :: READ A$ :: CALL CHAR(I,A$) :: NEXT I :: RESTORE 30010
230 DISPLAY AT(5,:"EGG THE HOOKER" :: DISPLAY AT(8,12)BEEP:"LOADING"
240 FOR I=32 TO 143 STEP 4 :: READ A$ :: CALL CHAR(I,A$) :: NEXT I
400 Z(1)=1 :: Z(2)=2 :: Z(3)=31 :: Z(4)=32
410 RESTORE 30370 :: FOR I=1 TO 68 :: READ X$(I) :: NEXT I
1000 CALL CLEAR :: GOSUB 20000
1010 RESTORE 30530 :: FOR I=1 TO 8 :: READ A,B,C,D,E,F,G :: CALL SPRITE(#A,B,C,D,E,F,G) :: NEXT I
1020 A=0
1030 A=A+1 :: IF A=11 THEN A=1
1040 CALL CHAR(135,X$(A),143,X$(A+20)) :: IF A<>10 THEN 1030
1050 CALL CHAR(40,X$(52),40,X$(51),42,X$(56),42,X$(55)) :: GOTO 1030
20000 ! DRAW GAME SCREEN
20010 CALL SCREEN(2)
20020 RESTORE 30290
20030 FOR I=1 TO 24 :: READ A$ :: FOR D=1 TO 4 :: CALL HCHAR(I,Z(D),ASC(SEG$(A$,Z(D),1))) :: NEXT D
20040 DISPLAY AT(I,1):SEG$(A$,3,28) :: NEXT I :: RETURN
30000 DATA 7,2,16,2,4,2,4,2,4,2,4,2,4,2,14,15,10,2,8,6,2,12,15,2,14,2,2,16
30010 DATA 00000000000000000000FFFFFFFFFFFF0000FFC7A3C9B3FFFFFFFFFFFFFFFFFF
30020 DATA 0000070F1F3F7FFF00000000000102040000E0F0F8FCFEFF000000007E81FFFF
30030 DATA 7C68FEFE6C303C7C00000828383060C00000003C6A7F6E303C387ADDDDEAF47C
30040 DATA 90FF90147C14101000000000F80000000000007E0000000000FF00FF00000000
30050 DATA 003E63676B73633E000C1C0C0C0C0C3F003E63630E38637F003E63630E63633E
30060 DATA 00060E1E267F0606007F63607E03633E003E63607E63633E007F63060C18183C
30070 DATA 003E63633E63633E003E63633F03633E0000181800001818000000000000387F
30080 DATA 071F0B1F0E061F3B7FDB9F0F0909091B00800018242424A0E060202020202000
30090 DATA 0018181818001818001C36637F636363006E73637E63637E001E33606060331E
30100 DATA 006C76636363667C007F31303C30317F007F31303C303078001E33606763371D
30110 DATA 006363637F636363003C18181818183C001F06060606663C0066666C786C6763
30120 DATA 007830606063637E0063777F6B6363630063737B6F676363001C36636363361C
30130 DATA 006E73637E606060001C36636B67361D006E73637E6C6663003E63603E03633E
30140 DATA 007E5A181818183C007333636363763C00336363361C7870007333636B7F7763
30150 DATA AD7FC65ED25AC27F5AFF8DB58DADB4FFB5FEE3EEE3FA23FE0000000000000000
30160 DATA 00000000000000000000000000000000060D0D0B060000000000000000000000
30170 DATA FFFF000000000000000000000000FFFF0000007E7E7E7E00007E7E7E7E7E7E00
30180 DATA 007E5662466A7E000810F8A8F8F80000003C1800000000000000007E5A767E00
30190 DATA 02FF202020FF020201FF212121FF010180FF848484FF808002FF7C7C7CFF0202
30200 DATA 002100084000240002D1048A248112020291347E3C9D280202F12C2E26F00202
30210 DATA FF818181818181FFFFFFFF81818181FFFFFFFF81FFFF81FFFF81A99DB99581FF
30220 DATA 040F1B0F0C077F535F4CA7AC073F6B3F80C060CACE84FC20E0C080C080F058F0
30230 DATA FFFF00000000FFFF041F31777377311F00FF187B4A6B08FF20F8C4DE467644F8
30240 DATA 0000001F2026273F20232038577C543800000000804020F80601011DEA3E2A1C
30250 DATA 070F0C163C1C040E1D0C07060A1266AA80C0C0C0602030100080000000000000
30260 DATA 0103030306040C080001000000000000E0F030683C382070B830E06050486655
30270 DATA 00000000000000000B0B397FFFCF48300000000000000000000004FCFCC84830
30280 DATA 00010018242424050706040404040400E0F8D0F87060F8DCFEDBF9F0909090D8
30290 DATA "HOOKERS EGGED:00  HO WHACKS:00  ","PIMP BASHINGS:00  ACCIDENTS:00  ","BULLET WOUNDS:00  EGGS LEFT:00 ,"
30300 DATA "BATTERV LIFE :00  SCORE:0000  ',","$!!!!!!!!!!&$!!!!!!!!!!!!!!!&$##","hhhhhhhhhhhijhhkhhhohhhhhhhhijhh"
30310 DATA "phhhhh*%;  ijgbhbbhhnmhbbkrrnjpp","phhhhh+e(  ijcdhcchhhkhcchpsijpp","hhyz{hhhhhhinlhohhhXYZhhonmkijhh"
30320 DATA "ph   hpphppijqqhqqhf $hrrhbgijpp","ph   hpphppijppkpph $!hpphccijpp","hh   hhhhhhijkhhhhh$!!hhhkhhijhh"
30330 DATA "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\","```````````````````xxx``````````","                   xxx          "
30340 DATA "                   xxx          ","////////////////// xxx /////////","                   xxx          "
30350 DATA " .   .   .   .   . xxx .   .   .","                   xxx          "," .   .   .   .   . xxx .   .   ."
30360 DATA "                   xxx          ","aaaaaaaaaaaaaaaaaaaxxxaaaaaaaaaa","\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"
30369 !135 HOOKER RIGHT WALK X$(1-10)
30370 DATA B830E060DC86C5A0,B830E162DF80C0A0,B932E778C080C0A0,B830E162DF80C0A0,B830E060DC86C5A0
30380 DATA B830E06010206058,B830E06030D05894,B830A060D0901814,B830E06030D05894,B830E06010206058
30389 !129 HOOKER LEFT WALK X$(11-20)
30390 DATA 1D0C07063B61A305,1D0C8746FB010305,9D4CE71E03010305,1D0C8746FB010305,1D0C07063B61A305
30400 DATA 1D0C07060804061A,1D0C07060C0B1A29,1D0C05060B091828,1D0C07060C0B1A29,1D0C07060804061A
30409 !143 PIMP RIGHT WALK X$(21-30)
30410 DATA FEDBF9F0909090D8,FEDBF9F020B0480C,FEDBF9F0A0B24CC0,FEDBF9F2BE8040C0,FEDBF9F25E204060
30420 DATA FEDBF9F25E241C00,FEDBF9F0D8643300,FEDBF9F0D8484C60,FEDBF9F0908A84E0,FEDBF9F05088886C
30429 !61 PIMP LEFT WALK X$(31-40)
30430 DATA 7FDB9F0F0909091B,7FDB9F0F040D1230,7FDB9F0F054D3203,7FDB9F4F7D010203,7FDB9F4F7A040206
30440 DATA 7FDB9F4F7A243800,7FDB9F0F1B26CC00,7FDB9F0F1B123206,7FDB9F0F09512107,7FDB9F0F0A111136
30449 !118 ROBOT LOWER & RAISE ARM X$(41-50)
30450 DATA 80C060CACE84FC20,80C060C0C083FE23,80C060C0C086FC26,80C060C0C098F038,80C060C0C080F030
30459 !37 ANTENNA DOWN-UP X$(68)
30460 DATA 80C060C0C080F030,80C060C0C098F038,80C060C0C086FC26,80C060C0C083FE23,80C060CACE84FC20
30469 !40 SON BLINK X$(51,52) + SMILE & UNHAPPY X$(53,54)
30470 DATA 7C68FEFE6C303C7C,7C7CFEFE6C303C7C,7C68FEFE6C303C7C,7C68FEFE7C203C7C
30479 !42 FATHER BLINK X$(55,56) + SMILE & UNHAPPY X$(57,58)
30480 DATA 0000003C6A7F6E30,0000003C7E7F6E30,0000003C6A7F6E30,0000003C6A7F7E20
30489 !102 RED LIGHT ON & OFF X$(59,60)
30490 DATA 003C180000000000,0
30499 !37 ANTENNA UP-DOWN X$(61-64)
30500 DATA 0000000000010204,0000000000000204,0000000000000004,0
30510 !37 ANTENNA DOWN-UP X$(65-68)
30520 DATA 0,0000000000000004,0000000000000204,0000000000010204
30529 ! SPRITE DATA
30530 DATA 1,116,13,176,100,0,0,3,136,7,158,100,0,-12,4,136,14,158,130,0,-12,5,136,3,143,100,0,-18
30540 DATA 6,136,5,128,100,0,-5,8,132,14,84,100,0,2,9,132,14,84,70,0,2,10,140,2,84,10,0,2

Link to comment
Share on other sites

Game is about 75% done now. Characters are animated, robot can move around (use arrow keys) and environment has subtle changes now and then (have to look close to pick them up).

 

Very very obvious this needs to be run in CPU Overdrive in Classic99. My machine at home (a 2.6Mhz quad core) runs it quite smoothly however another machine I have which is about 7 years old stuggles even with Overdrive enabled....

 

Currently it is patched together to check how things work but I should be finished in another couple of days if time allows... Still have to write the actual egg throwing routine, check for coincs and do more testing etc.

 

It has been enjoyable writing this. I have never written anything with the intention of running with Overdrive and it opens up a whole new world I didn't know existed.

 

1 ! UPDATE #16: 13/12/2010 ENEMY ANIMATION
100 ! EGG THE HOOKER
110 ! WRITTEN BY BONES
120 ! NOVEMBER 2010
130 !
140 DIM Z$(4),X$(68),R(100),S(8,5,5)
200 CALL INIT :: CALL LOAD(-31806,16) :: CALL MAGNIFY(3) :: RANDOMIZE :: CALL CLEAR :: GOSUB 24000
210 CALL CLEAR :: FOR I=1 TO 14 :: READ A,B :: CALL COLOR(I,A,B) :: NEXT I
220 FOR I=32 TO 84 STEP 4 :: READ A$ :: CALL CHAR(I,A$) :: NEXT I
230 DISPLAY AT(5,:"EGG THE HOOKER" :: DISPLAY AT(8,12)BEEP:"LOADING"
240 FOR I=88 TO 143 STEP 4 :: READ A$ :: CALL CHAR(I,A$) :: NEXT I
250 FOR I=1 TO 100 :: R(I)=RND :: NEXT I
400 Z(1)=1 :: Z(2)=2 :: Z(3)=31 :: Z(4)=32
410 RESTORE 30370 :: FOR I=1 TO 68 :: READ X$(I) :: NEXT I :: RESTORE 30600
420 A=0 :: FOR I=1 TO 8 STEP 2 :: A=A+1 :: S(I,2,2)=A :: S(I+1,2,2)=A :: READ B,C :: S(I,3,3)=B :: S(I+1,3,3)=C
430 S(I,4,4)=2 :: S(I+1,4,4)=2 :: NEXT I :: S(8,4,4)=4
1000 CALL CLEAR :: A=1 :: B=24 :: RESTORE 30290 :: GOSUB 20000 :: GOSUB 23000 :: GOSUB 20100
1010 RESTORE 30530 :: FOR I=1 TO 8 :: READ A,B,C,D,E,F,G :: CALL SPRITE(#A,B,C,D,E,F,G) :: NEXT I
2200 GOSUB 23500 :: GOSUB 25000 :: GOSUB 25400
2210 IF W1<>0 THEN W1=W1+1 :: IF W1=5 THEN CALL CHAR(42,X$(57)) :: W1=0
2220 GOSUB 24400 :: GOTO 2200
20000 ! DRAW GAME SCREEN
20010 CALL SCREEN(2)
20020 !
20030 FOR I=A TO B :: READ A$ :: FOR D=1 TO 4 :: CALL HCHAR(I,Z(D),ASC(SEG$(A$,Z(D),1))) :: NEXT D
20040 DISPLAY AT(I,1):SEG$(A$,3,28) :: NEXT I :: RETURN
20100 ! UPDATE SCORES
20110 FOR I=1 TO 8 :: IF S(I,5,5)=0 THEN 20140
20120 A=S(I,4,4)-LEN(STR$(S(I,1,1))) :: B$=STR$(S(I,1,1)) :: B$=RPT$("0",A)&B$
20130 DISPLAY AT(S(I,2,2),S(I,3,3))SIZE(S(I,4,4)):B$ :: S(I,5,5)=0
20140 NEXT I :: RETURN
22999 ! RESET VARIABLES
23000 RESTORE 31000 :: FOR I=1 TO 8 :: READ A :: S(I,1,1)=A :: S(I,5,5)=1 :: NEXT I
23010 X=100 :: Y=176 :: W1,C1,@=0 :: H=1 :: RETURN
23499 ! ROBOT CONTROLS
23500 CALL KEY(0,A,B) :: IF A=13 THEN 23800 ELSE IF A<8 OR A>11 THEN RETURN
23520 B=1 :: W=0 :: ON A-7 GOSUB 23600,23600,23700,23700
23540 CALL LOCATE(#1,Y,X) :: IF W=1 THEN W1=1 :: CALL CHAR(42,X$(58)) :: W=0
23550 RETURN
23600 ! HORIZONTAL CONTROL
23610 IF Y<176 AND Y>84 THEN W=1 :: RETURN
23620 IF A=8 THEN B=-1
23630 X=X+B :: IF X=0 THEN X=256 ELSE IF X=256 THEN X=1
23640 RETURN
23699 ! VERTICAL CONTROL
23700 IF Y=84 AND A=11 THEN W=1 :: RETURN
23710 IF Y=176 AND A=10 THEN W=1 :: RETURN
23720 IF A=11 THEN B=-1
23730 IF X<161 AND X>153 AND A=11 THEN Y=Y+B :: X=158 :: GOTO 23760
23740 IF X<161 AND X>153 AND A=10 THEN Y=Y+B :: X=158 :: GOTO 23760
23750 W=1 :: RETURN
23760 IF A=11 AND Y=91 THEN Y=84 ELSE IF A=10 AND Y=170 THEN Y=176
23770 RETURN
23799 ! FIRE
23800 CALL SOUND(500,500,0) :: RETURN
23999 ! SPEED SETTING
24000 PRINT "THIS GAME PLAYS BEST ON C99 USING THE CPU OVERDRIVE     SETTING."
24010 PRINT :: PRINT RPT$("_",28) :: PRINT
24020 !
24025 !
24030 !
24399 ! COINC CHECK
24400 RETURN
24410 !
24420 !
24430 !
24999 ! EFFECT EVENTS
25000 C1=C1+1 :: IF C1>991 THEN C1=1 :: RETURN
25005 IF C1/18<>INT(C1/18)THEN RETURN
25010 IF C1/108=INT(C1/108)THEN CALL CHAR(42,X$(56))! FATHER BLINK
25030 IF C1/126=INT(C1/126)THEN CALL CHAR(40,X$(52))! SON BLINK
25050 IF @=0 AND C1/18=INT(C1/18)THEN CALL CHAR(102,X$(60)) :: @=1! LIGHT OFF
25060 IF @=1 AND C1/36=INT(C1/36)THEN CALL CHAR(102,X$(59)) :: @=0! LIGHT ON
25070 IF C1/414=INT(C1/414)THEN CALL HCHAR(7,17,98,2) :: CALL HCHAR(8,17,99,2)! LEFT LIGHT RED
25080 IF C1/990=INT(C1/990)THEN CALL HCHAR(7,17,113,2) :: CALL HCHAR(8,17,112,2)! LEFT LIGHT YELLOW
25090 IF C1/612=INT(C1/612)THEN CALL HCHAR(7,24,113,2) :: CALL HCHAR(8,24,112,2)! RIGHT LIGHT YELLOW
25100 IF C1/810=INT(C1/810)THEN CALL HCHAR(7,24,98,2) :: CALL HCHAR(8,24,99,2)! RIGHT LIGHT RED
25110 IF C1/108=INT(C1/108)THEN CALL CHAR(42,X$(55))! FATHER OPEN EYES
25120 IF C1/126=INT(C1/126)THEN CALL CHAR(40,X$(51))! SON OPEN EYES
25130 RETURN
25399 ! HOOKER & PIMP ANIMATION
25400 H1=H1+1 :: IF H1=11 THEN H1=1
25410 IF H=1 THEN CALL CHAR(135,X$(H1),143,X$(H1+20)) :: RETURN
25420 CALL CHAR(129,X$(H1+10),61,X$(H1+30)) :: RETURN
30000 DATA 7,2,16,2,4,2,4,2,4,2,4,2,4,2,14,15,10,2,8,6,2,12,15,2,14,2,2,16
30010 DATA 00000000000000000000FFFFFFFFFFFF0000FFC7A3C9B3FFFFFFFFFFFFFFFFFF
30020 DATA 0000070F1F3F7FFF00000000000102040000E0F0F8FCFEFF000000007E81FFFF
30030 DATA 7C68FEFE6C303C7C00000828383060C00000003C6A7F6E303C387ADDDDEAF47C
30040 DATA 90FF90147C14101000000000F80000000000007E0000000000FF00FF00000000
30050 DATA 003E63676B73633E000C1C0C0C0C0C3F003E63630E38637F003E63630E63633E
30060 DATA 00060E1E267F0606007F63607E03633E003E63607E63633E007F63060C18183C
30070 DATA 003E63633E63633E003E63633F03633E0000181800001818000000000000387F
30080 DATA 071F0B1F0E061F3B7FDB9F0F0909091B00800018242424A0E060202020202000
30090 DATA 0018181818001818001C36637F636363006E73637E63637E001E33606060331E
30100 DATA 006C76636363667C007F31303C30317F007F31303C303078001E33606763371D
30110 DATA 006363637F636363003C18181818183C001F06060606663C0066666C786C6763
30120 DATA 007830606063637E0063777F6B6363630063737B6F676363001C36636363361C
30130 DATA 006E73637E606060001C36636B67361D006E73637E6C6663003E63603E03633E
30140 DATA 007E5A181818183C007333636363763C00336363361C7870007333636B7F7763
30150 DATA AD7FC65ED25AC27F5AFF8DB58DADB4FFB5FEE3EEE3FA23FE0000000000000000
30160 DATA 00000000000000000000000000000000060D0D0B060000000000000000000000
30170 DATA FFFF000000000000000000000000FFFF0000007E7E7E7E00007E7E7E7E7E7E00
30180 DATA 007E5662466A7E000810F8A8F8F80000003C1800000000000000007E5A767E00
30190 DATA 02FF202020FF020201FF212121FF010180FF848484FF808002FF7C7C7CFF0202
30200 DATA 002100084000240002D1048A248112020291347E3C9D280202F12C2E26F00202
30210 DATA FF818181818181FFFFFFFF81818181FFFFFFFF81FFFF81FFFF81A99DB99581FF
30220 DATA 040F1B0F0C077F535F4CA7AC073F6B3F80C060CACE84FC20E0C080C080F058F0
30230 DATA FFFF00000000FFFF041F31777377311F00FF187B4A6B08FF20F8C4DE467644F8
30240 DATA 0000001F2026273F20232038577C543800000000804020F80601011DEA3E2A1C
30250 DATA 070F0C163C1C040E1D0C07060A1266AA80C0C0C0602030100080000000000000
30260 DATA 0103030306040C080001000000000000E0F030683C382070B830E06050486655
30270 DATA 00000000000000000B0B397FFFCF48300000000000000000000004FCFCC84830
30280 DATA 00010018242424050706040404040400E0F8D0F87060F8DCFEDBF9F0909090D8
30290 DATA "HOOKERS EGGED:00  HO WHACKS:00  ","PIMP BASHINGS:00  ACCIDENTS:00  ","BULLET WOUNDS:00  EGGS LEFT:00 ,"
30300 DATA "BATTERV LIFE :00  SCORE:0000  ',","$!!!!!!!!!!&$!!!!!!!!!!!!!!!&$##","hhhhhhhhhhhijhhkhhhohhhhhhhhijhh"
30310 DATA "phhhhh*%;  ijgbhbbhhnmhbbkrrnjpp","phhhhh+e(  ijcdhcchhhkhcchpsijpp","hhyz{hhhhhhinlhohhhXYZhhonmkijhh"
30320 DATA "ph   hpphppijqqhqqhf $hrrhbgijpp","ph   hpphppijppkpph $!hpphccijpp","hh   hhhhhhijkhhhhh$!!hhhkhhijhh"
30330 DATA "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\","```````````````````xxx``````````","                   xxx          "
30340 DATA "                   xxx          ","////////////////// xxx /////////","                   xxx          "
30350 DATA " .   .   .   .   . xxx .   .   .","                   xxx          "," .   .   .   .   . xxx .   .   ."
30360 DATA "                   xxx          ","aaaaaaaaaaaaaaaaaaaxxxaaaaaaaaaa","\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"
30369 !135 HOOKER RIGHT WALK X$(1-10)
30370 DATA B830E060DC86C5A0,B830E162DF80C0A0,B932E778C080C0A0,B830E162DF80C0A0,B830E060DC86C5A0
30380 DATA B830E06010206058,B830E06030D05894,B830A060D0901814,B830E06030D05894,B830E06010206058
30389 !129 HOOKER LEFT WALK X$(11-20)
30390 DATA 1D0C07063B61A305,1D0C8746FB010305,9D4CE71E03010305,1D0C8746FB010305,1D0C07063B61A305
30400 DATA 1D0C07060804061A,1D0C07060C0B1A29,1D0C05060B091828,1D0C07060C0B1A29,1D0C07060804061A
30409 !143 PIMP RIGHT WALK X$(21-30)
30410 DATA FEDBF9F0909090D8,FEDBF9F020B0480C,FEDBF9F0A0B24CC0,FEDBF9F2BE8040C0,FEDBF9F25E204060
30420 DATA FEDBF9F25E241C00,FEDBF9F0D8643300,FEDBF9F0D8484C60,FEDBF9F0908A84E0,FEDBF9F05088886C
30429 !61 PIMP LEFT WALK X$(31-40)
30430 DATA 7FDB9F0F0909091B,7FDB9F0F040D1230,7FDB9F0F054D3203,7FDB9F4F7D010203,7FDB9F4F7A040206
30440 DATA 7FDB9F4F7A243800,7FDB9F0F1B26CC00,7FDB9F0F1B123206,7FDB9F0F09512107,7FDB9F0F0A111136
30449 !118 ROBOT LOWER & RAISE ARM X$(41-50)
30450 DATA 80C060CACE84FC20,80C060C0C083FE23,80C060C0C086FC26,80C060C0C098F038,80C060C0C080F030
30459 !37 ANTENNA DOWN-UP X$(68)
30460 DATA 80C060C0C080F030,80C060C0C098F038,80C060C0C086FC26,80C060C0C083FE23,80C060CACE84FC20
30469 !40 SON BLINK X$(51,52) + SMILE & UNHAPPY X$(53,54)
30470 DATA 7C68FEFE6C303C7C,7C7CFEFE6C303C7C,7C68FEFE6C303C7C,7C68FEFE7C203C7C
30479 !42 FATHER BLINK X$(55,56) + SMILE & UNHAPPY X$(57,58)
30480 DATA 0000003C6A7F6E30,0000003C7E7F6E30,0000003C6A7F6E30,0000003C6A7F7E20
30489 !102 RED LIGHT ON & OFF X$(59,60)
30490 DATA 003C180000000000,0
30499 !37 ANTENNA UP-DOWN X$(61-64)
30500 DATA 0000000000010204,0000000000000204,0000000000000004,0
30510 !37 ANTENNA DOWN-UP X$(65-68)
30520 DATA 0,0000000000000004,0000000000000204,0000000000010204
30529 ! SPRITE DATA
30530 DATA 1,116,13,176,100,0,0,3,136,7,158,100,0,-12,4,136,14,158,130,0,-12,5,136,3,143,100,0,-18
30540 DATA 6,136,5,128,100,0,-5,8,132,14,84,100,0,2,9,132,14,84,70,0,2,10,140,2,84,10,0,2
30599 ! DISPLAY AT POS
30600 DATA 13,27,13,27,13,27,13,23
30999 ! INTIALIZE S(#,1,1)
31000 DATA 0,0,0,0,0,12,99,0

Edited by Bones-69
Link to comment
Share on other sites

Playin around, I got bad value in 23540

 

X value was 257... I was walking left to right on the top row.... At least I think so - can't duplicate.

Interesting.... I can't duplicate it either. I should be able to put a failsafe in with a ">" function rather than the current "=". This should cover all bases but I am very curious where the bug comes from - been walking around forever trying to get it to crash.

 

Thanks!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...