23-25 Oct 2002

Thinking what to do.
Target Language: Freepascal 1.04 + SDL. Anyway I'll keep full compatibility
with Delphi.
You can compile with any of both languages.
As you see, not only these awful C/C++ exists.
Target OS: Mainly Windows (tested under XP Pro). But thanks to Freepascal + SDL,
porting the game to Linux should be fairly easy.

25-26 Oct 2002

Allow Freepascal support to the Delphi MD3 loader (unit model.pas)
Delphi and freepascal gives the same render speed.
By now the code of model.pas is a bit mess.

27 Oct 2002

Minimal support for transparent textures.Atm I don't sort translucent meshes.
Both for sprites (as 2d) and inside the models.

28 Oct 2002

Modeled the TV case, partially taken from 3dcafe.com

29 Oct 2002

Modeling background, creating program skeleton (unit MadTVgame.pas).
Added Camera unit (from previous projects). Changed z<->y
Added Controls Unit(from previous projects).
Added basic TV program viewer capabilities(you can put MD3 actors inside) .
Tests at 800x600x16/32bpp:
PIV 2GHz g2mx400. 60/ 70FPS Windowed.Running also Emule,Milkshape,IE,and more
180+/130FPS FullScreen. With the same load.
Duron 750 g2mx400. 60/ 60FPS Windowed.Without load
62/ 62FPS Fullscreen.Without load

30 Oct 2002

Modeling building draft.
Modifying controls.
Modifying Background.
Planning how to do day to night transitions

31 Oct 2002

Added Bitmap font support.
Created Day to night basic transitions.
Added selectable time speed of the game.
Now in screen we can see the time in the game. Selectable as 0-24h or 0-12h am/pm
A MADTV Resurrection day will start at 15:00 and will finish at 01:00 am

1 Nov 2002

Joined Tente as a main helper to improve the original MadTV. He won't program,

2 Nov 2002

Modeling the audience sofa.

3 Nov 2002

Adding more things to the HUD. Now the scoreboard and audience sofa is shown.

4 Nov 2002

Programmed function to return game coords from the mouse coords. Simply, but
works at least.
Added a character inside the building. It can move along a floor.

5-6 Nov 2002

Programming the lift routines. Improving character movements (now turns fine).
The characters can use the lift to move between floors.
Added camera link. Now the camera can track a player.

13 Nov 2002

I bought a XP2000+ and Gforce4 Ti4200.
At 800x600x16 FullScreen usually get 330-360fps!

14-16 Nov 2002

Return to work. Added Door unit. Added ToolTips unit. Working on rooms (by now
the Player's Office)
Now the player can go inside a room an see what has inside.


19-20 Nov 2002:

Modeling office and computer.

21-24 Nov 2002:

Designing Player's office. Creating graphics, menus, etc..
Now We can view the office, use the computer and view some menus.
A "select day" menu has been included before the channel programming menu.
Our initial idea is that you can program your channel in a 50-60 days range.
ToolTips have been improved to add an initial delay, and a fade-in and fade-out.
Adding multi-language support. All game texts are being readed from a file.
I'll need to change the fonts unit to allow non-english chars (like ,,,etc.)
Creating the Items Menu Unit. It simplifies a bit the design of the rooms.

25 Nov 2002 :

 One month has passed since the project started.
Anyway, I think I made a lot of things in only one month
Creating game data skeleton (programs and adv structures).

29 Nov 2002 :

 Thinking about sound. I'll use OGG Vorbis if I can, because is free and better
than MP3. Mp3 as you know isn't royalty free anymore on decoders.

30 Nov 2002 :

Adding Zip support to the program. This way all resources are packed on a few
Creating PackedFiles Unit. It mainly uses the zlib unit.
Added all textures to the zip system. Now the program checks if a texture is
inside a zip or not, and loads it properly. By now TGA files isn't supported
inside zip files (SDL_Image limitations :/).
I'm using PNG instead TGA. It has the same features (i.e. alpha channel), and
also has good compression rates (and w/o loss like Jpeg).
New step will be pack models, but it will probably takes more time (need to
retouch MD3 model unit).

01 Dec 2002 :

 Added a Virtual File object. This way I minimize changes needed on model unit.
Model Unit: Changed File and Text vars to VirtualFile. Changed Filexists(string)
to a new FileExists(string,where).
Now I can read data from zipped files.
By now VirtualFile can only read data via blockread and readln. May be buggy
(specially at End of file).

03 Dec 2002 :

Not much done. Modified some menus on Archie's office. Now genres and subgenres
are separated.

04 Dec 2002 :

Added Cache textures. Now the same texture are only loaded 1 time (therefore
uses less memory and less time to load).
Checking if all textures are unloaded correctly. Fixed some structures that
don't free their textures correctly.
I love this unit (SDL). With less than 50 lines I can play OGG vorbis
music, thanks to the SDL_Mixer unit. btw,it doesn't recognize MP3 ??

05 Dec 2002 :

Added fade transitions to menus. It goes smoother between menu changes.
Opengl is as good as 2d as 3d.
Music doesn't affect very much to framerates.

06 Dec 2002 :

 Creating Databases structures. There will be simple txt files.
Now it reads a few programs.
Improving programmer. Now I can put programs on the programmer, move it and
block it. I need to take in account the multi-block programs .

07 Dec 2002 :

 :/ I keep having strange behaviors with Delphi. It gives me an Access Exception
on runtime. That doesn't happen with FPC.

11 Dec 2002 :

 Good, in not much time (~2/3h) I solved all runtimes problems with Delphi.
Some ones are important (arrays out of bounds), others are strange (and I fixed
as I can). Now compiles again ok. The frames per second between them are similar
but delphi is a bit fast (about 1%). It doesn't care,cause FreePascal is free :P.
I also added two new buttons to the programmer, to move in steps of 7 days.
Also I blocked all past days, because you can't change programs that already
has been emitted.

13 Dec 2002 :

Added day string to programming menu. Now we know in what day we are programming,
and a relative distance from today (i.e. %u days ago, Tomorrow, Yesterday, etc.).
Adding advertisement support. Creating basic adv object.

14 Dec 2002 :

Created minimal advertisement menu.Fixed some issues with slots in the programmer
Now I block programs and advertisements when a new hour starts. I also detect the
end of the day, and I move all the days to modify the new "Today".
When a end of day is detected, the character goes to the entrance.

10 Jan 2003 :

Tente and me agreed to put the name of TV Tycoon to this MadTV Remake.

11 Jan 2003 :

 Oww! Lota time since last day I programmed!!. Well, again at work. I've been
drawing some Tv Tycoon logos. And again we have problems with Delphi. Almost all
problems come from the readln & EOF of virtual files.I hope they are solved now.
Creating a new scoreboard graphic, since ours was captured from Tvgigant :).

12 Jan 2003 :

 Modified Thriller series to Documental series.
Changed Texture unit to return a pointer instead the gluint texture value. This
way if we change the screen res, we only reload the textures. Pointer will point
to the same place, but we hold the new texture. There are some minimal bugs with
runtime change res (with the HUD).I think I'll fix it later.

13 Jan 2003 :

Adding Fullscreen Toggle. Still buggy (as almost everything :) )

15 Jan 2003 :

 Working of Ugamedata. Adding series and some modifiers.

16 Jan 2003 :

 FINALLY!! I fixed the Bitmap fonts to work properly. The bug was on call lists.The
original unit (from where I take that) uses GL_BYTE,but must be GL_UNSIGNED_BYTE.
That was the reason why I can't use letters above char(128).
I also was fixing the space between chars, so now it looks better, and takes less
space to write something. So I modified the programmer so now I can write longer
program names, longer descriptions, etc...
Tooltips seems to fail a bit when resize the game.

27 Jan 2003 :

 Program tooltips doesn't follow mouse. Special Events are separated into two:
Normal events & sports events.
Adding chapter titles to series. Now chapter titles appear on the programmer.
Changed a bit the tooltips, to reflect the chapter title.

28 Jan 2003 :

 Now keypad works on programmer. It changes the day.
Adding program development support (on a future TV studio).
The chapter series takes a lot of chars, so strings must be greater than
256. I put 5000 as the max length I can read from a virtualfile.
, now freepascal compiles ok, but it exited when loading... It seems
that building model has something wrong

31Jan-2Feb 2K3:

 A lot of work done. Now programs and advertisings placed on programmed works (i.e.
they have audience calculation). Special events can be placed only at the day &
hour they said. X Rated films must be placed on Late night hours. Advertising with
hours restriccions must be place only when suitable.
Almost all audience modifiers has been programmed. Nevertheless, they will proba-
bly needs a lot of tweaks.
Advertisements works properly. They take into account the last emitted program,
and checks all restrictions (audience, genre type restrictions..).
When a special event, advertisement or show finished, it will return to main program
pool. They also return to main pool if we reach a time limit they have.
Well, we now have an almost working programmer.

06 Feb 2003 :

 Adding the enemy offices. As IA isn't programmed yet, we program all channels.

(......) Nether void

09 May 2003 :

 Added two new rooms and 4 characters to the game.

10-13 May 2003:

 Adding load/save support


(......) Carpe Diem

12 Oct 2003 : I finally finished the Final Project of my career. I got a 10.0 on it (top mark, the

highest score possible ^_^). So after 5 years I am a Telecommunications engineer :).

18 Oct 2003 : Back to work. Modeled a truck and a background building. Fixed bug with some program

categories. Now they are correctly drawn. Fixed bug where some commercials dissapear

when you put a new one.

19 Oct 2003 : Modeling the news Room. Creating the news structure. They won't be simple sentences.

We'll create meta-news, that once we assign some elements (people, locations, etc)

they become news. I created some Heart metanews, but I still need to program the news

generator inside the game.

20 Oct 2003 : Programmed the news generator. Some news are realistic,meanwhile others are a bit...

The important thing is that it works properly.

Adding the news room to the game. Now I'll include 360 rooms. By placing the cursor

on screen borders the camera will move around the room. But I need to modify the 3D

menu items, so they can work on these conditions.

21 Oct 2003 : Added support for camera rotation thru cursor keys. Added a nice icon over usable 3D

objects (ET forever ^_^). Now 3D menu objects are truly picked (before I simply assing

a rectangle on the position where the 3d is placed). Now the game uses the object

picking techniques (GL_Select). You can find it on almost any OpenGL tutorial. But due

to this change, I'll need to modify the office computer. No problemo.

23-24 Oct 2003   : Seeking units to change MD3 file format for SMD file format. Searching

models, animations, etc for the new file format. Converting old models to SMD. Modifying the

game to work with SMD files (it can take some time).