Skip to content

Releases: Ghoster738/Future-Cop-MIT

v0.1.4

20 Aug 05:00
Compare
Choose a tag to compare

Faces and Particles

For this update, I fixed graphical bugs and implemented new features.

Mouse Menu Support

Now, you can click on menu buttons with your left mouse button to use them. I really should have done this earlier.

Sky Color Change

I changed the sky color because I noticed certain particle effects are invisible, so I used dark blue instead.
The Sky is Blue

Particle Rendering Support

For this release, I had implemented particle rendering. While they can be placed on the map in code, I am not using them yet.
Moving on, I have implemented the particle renderer which is there to view the particles.
Particle Renderer

Star Rendering Support

This is a three star combination which demonstrates that all 3 known forms of stars can be used. 4 sided, 8 sided and 12 sided stars where encountered.
3 Star Combination

Before

No, more are they these static cross patterns. Note: The exporter uses this pattern still.
A Light in Hollywood Keys

After

They will face the camera like the original did. Only one axis is necessary which reduces triangles.
Star Facing Camera

Billboard Rendering Support

Like the stars, billboards also faces the camera.
Billboards Facing Camera

Precision Bug Render Fix

After upgrading my computer's graphics card, I encountered a bug that happens with certain drivers/graphics cards that certain other people where having. There was a precision bug that probably affected all the way back when this repository was uploaded. It affect OpenGL ES 2 render path. The reasons are difficult to explain, but they where caused by basically being too little resolution for the positions on certain machines.

Before

While I am not giving this bug any justice the title screen looked like this... (If you cannot see it, there are supposed to be vents rather than complete holes to lava.)
image

After

Now, everything looks normal.
image

What's Changed

  • Fixed OpenGL ES 2 precision bug which affects certain graphics cards.
  • Circles to Stars; Stars are now drawn as billboards; Star Vertex Color Animations by @Ghoster738 in #64
  • Added Billboard Draw Support by @Ghoster738 in #65
  • Quick upgrade to detect mouse position to the window by @Ghoster738 in #66
  • Mouse Menu Controls; Crash Without Game Data Fix by @Ghoster738 in #67
  • Added Particle Render; Particle Renderer; Changed Background Color by @Ghoster738 in #68
  • Updated mINI library from 0.9.14 to 0.9.16
  • Updated SDL2 library from 2.30.5 to 2.30.6

Full Changelog: v0.1.3...v0.1.4

v0.1.3

27 Jul 18:12
Compare
Choose a tag to compare

Circles and Normals.

This update brings only one new feature circle/star rendering. I also fixed multiple bugs. Like fixing skin animation exports and fixing normals.

Star/Circle Rendering.

I have implemented circle rendering/export. Now, more/all models can be decoded with my software.
Lights in Griffith Park

A Light in Hollywood Keys

Model and Export Fixes

There where multiple bugs and miss conceptions. There are no apparent bugs with the normals.

Past: Bad Normals.

Before

Now: Good Normals.

After

What's Missing

The animations with the circle primitive are not implemented yet.

What's Changed

  • Fixed skinned animation problem; Added circle primitive; by @Ghoster738 in #61
  • I fixed every problem that I could find having to do with normals by @Ghoster738 in #63

Full Changelog: v0.1.2...v0.1.3

v0.1.2

17 Jul 21:55
Compare
Choose a tag to compare

Audio Update

Now, sound can be played in Future Cop M.I.T. Announcements and Sounds can be played.

New Features

Announcements or SWVR resources can now be played. Also added announcement player.

Controls

Press ACTION button to play the audio.
Press RIGHT to go to next announcement.
Press LEFT to go to previous announcement.

What is displayed?

image

Subfile Name is the name of the announcement. Mostly the team uses numbers with slashes.
SWVR tos offset is the offset from first announcement resource.
SWVR offset is the offset from the start of the mission file.

Generic Sound Resources can also be played.

Note: sounds 1-127 are from the global file. Sounds beyond 127 are from the mission file. WAV and AIFF resources are counted as generic sound resources.

Controls

Press ACTION button to play the audio.
Press JUMP to toggle sound looping.
Press RIGHT to go to next sound.
Press LEFT to go to previous sound.

What is displayed?

image

Resource Id is the identifier of the sound.
The sample offsets are loop offsets
The rest are instructions.

Configurable Audio Volume from sound.ini file.

This file sits at the same location as the futurecop.ini file.

The sound.ini file has four volume levels. sfx volume affects generic sound levels. music volume affects music. Announcement volume affects announcement volume. master volume level affects all three.

Note: The volume cannot exceed 2.0 because I do not want to blow peoples ears up.

Audio exported will keep their metadata preserving loop information.

  • AIFF reading code now reads more metadata.
  • WAV reading code has been refactored.
  • Audio offsets from both AIFF and WAV resources are parsed.
  • Exported WAV and AIFF re-encoding is now optional to avoid metadata loss.

Regressions

  • PS1 files are not supported due to them using their audio encoding being more challenging to decode then regular PCM like WAV or AIFF.
  • Strange audio gaps when setting audio to loop. These gaps create popping noises.

What's Changed

  • Fixed frame to frame slowness bug by @Ghoster738 in #51
  • Fix Bounding Box Rendering Bug For Macs by @Ghoster738 in #52
  • Made Finalize Workaround Configurable by @Ghoster738 in #53
  • Added MojoAL Sound Library, Soundtrack Playback, Partial TOSResource Support, Accessor Upgrade by @Ghoster738 in #54
  • Added Announcements Player and added SWVR Handling by @Ghoster738 in #55
  • AIFF Support and Code Refactoring by @Ghoster738 in #57
  • AIFF and WAV playback support; Added Sound Player; Audio System Upgrades and Changes by @Ghoster738 in #58
  • Added Sound Settings; Fixed Submodules; Removed Temporary glFinish bitfield by @Ghoster738 in #59
  • Rewrite ini if either incomplete or missing by @Ghoster738 in #60

Full Changelog: v0.1.1...v0.1.2

v0.1.1-1

25 May 00:46
f60c27b
Compare
Choose a tag to compare

Bug Fix For v0.1.1.

This is simply a release to fix various rendering bugs of release v0.1.1. Almost no new features except one potential fix to the weird semi-transparency bug.

A Single New Feature.

temporary_finalize_dynamic_triangles option is at the primary conf file. Its range of values is 0-7, and it is a bitfield.
0 means every finalize operation is NOT called. Because it can slow down rendering to a crawl, I only recommend using it if this project is not rendering correctly.

What's Changed

  • Cleaned up bounding box rendering code.
  • Rewrote the routine for drawing dynamic triangles which are used for semi-transparency and lights.
  • Vertex Attribute code enhanced.
  • Fixed frame to frame slowness bug. by @Ghoster738 in #51
  • Fix Bounding Box Rendering Bug For Macs by @Ghoster738 in #52
  • Made Finalize Workaround Configurable. by @Ghoster738 in #53

Full Changelog: v0.1.1...v0.1.1-1

version-0.1.1

10 May 00:22
Compare
Choose a tag to compare

Future Cop M.I.T. Actor and Model Support

This release I worked on both actor and model support. Also, I enhanced the renderer to draw boxes and light semi-transparent polygons. For all that I know, I might be missing some of the features. Also in order to toggle bounding boxes on and off press the keybinding CHANGE_TARGET. I also updated the libraries for this project as well.
Version 0 1 1 Bounding Boxes

Light or Addition Polygons can now be drawn.

light polygon support

Some of Actors are now drawn.

I even implemented the dual coordinate system that Sky Captain uses.
actors

Models or Cobj's Enhancements.

By far Cobj support on this project had improved greatly. In a matter of fact, I now mostly understand Cobj files.

Reflections More Accurate.

Reflective models can be semi-transparent.
image

Reflective models can also be opaque. (However, you cannot mix both semi-transparent and opaque at the same time in the same model file).
image

More Polygon Types.

Lines and Billboards can be read from Cobj.
billboards and lines

Frame By Frame Animations.

I have also implemented frame by frame animations from Models.
sirens example

Display Bounding Boxes.

These are data types that Future Cop uses for various purposes like colliding with the player. They can be exported explicitely via command-line.
image

Bug Fixes

  • At least fixed, Cobj bone animation bug introduced in v0.1.0. Basically, rotations where not being written properly.

Regressions

  • Some Cobj export bugs are still there, but at least X1A works.
  • On macs bounding boxes refuse to render.
  • Raspberry Pi 4 32 bit operating system has obscure "pagefilp" errors. I do not know what this means.

What's Changed

  • Cleanup by @Ghoster738 in #31
  • Compat pi 4 by @Ghoster738 in #32
  • Added CObj texture-less polygon support by @Ghoster738 in #33
  • Transparent Reflections, Graphics Upgrades, and Bug Fixes by @Ghoster738 in #34
  • Added Light Capabilities to the Renderer by @Ghoster738 in #35
  • Added Accessor Class, CObj positions, Turret Gun Actor Positions by @Ghoster738 in #36
  • Changed Graphics API to use Accessor by @Ghoster738 in #37
  • Billboards and Lines Now Stored, and 3DRL are Lengths by @Ghoster738 in #38
  • Billboard Stars can be displayed by @Ghoster738 in #39
  • Introduced Lines and Fixed Billboard Stars by @Ghoster738 in #40
  • Load All Maps Option, Model Texture Animations, and Model Vertex Colors for Addition by @Ghoster738 in #41
  • Reflection Visibility Correction by @Ghoster738 in #42
  • 3DRF chunk in Cobj is now parsed by @Ghoster738 in #43
  • 3DBB Understood by @Ghoster738 in #44
  • Annoying morph model animation bug fixed by @Ghoster738 in #45
  • Cobj Skeletal Export Fixed, Cobj Bounding Box Export, Cobj Optional Cobj Metadata Export by @Ghoster738 in #46
  • Cobj Bounding Box Rendering, GLES Mesh Upgrade, and Bug-fixes by @Ghoster738 in #47
  • Parameter Options for Metadata for Cobj and Ctil, Cobj Commands Shortened, Model Export Optional for Cobj by @Ghoster738 in #48
  • Ctil Research, Fixed SCTA Animations by @Ghoster738 in #49
  • Partial Map Actor Support, Sky Captain, Turrets, Props, and Pickups displays by @Ghoster738 in #50

Full Changelog: v0.1.0...v0.1.1

version-0.1.0

07 Sep 00:02
Compare
Choose a tag to compare

FCopMIT Preview

This marks a new age for this project. Now, the primary executable has been implemented. FCModelViewer and FCMapViewer are now gone. They both had been replaced by the FCopMIT executable. This executable also has better visual effects as has better semi-transparency support. Also, it has implemented special effects like vertex color and vertex uv animations for the maps.

These are the new features of this project.

  • FCopMIT executable with kkmic's parameter and options system that kkmic had contributed for this project.
  • FCopMIT executable has a GUI with a map spectator (map viewer), and a model viewer.
  • FCopMIT also has filesystem capabilities, so relative paths are no longer required. Again thanks to kkmic.
  • Screenshots are placed somewhere else, and they are named with "UTC 2023-09-05 124133.png" depending on the date.
  • Better transparency support via sorting transparent triangles.
  • The map has both UV animations and vertex color animations enabled.
  • This has a better logging system support.

Problems.

  • The armv7 build has been canceled for this particular release because of a flickering problem on the graphics on the Raspberry Pi 4. I will fix this in a later build.

Bug Fix for v0.0.7

02 Mar 02:29
Compare
Choose a tag to compare

There is one problem with the release that made the world data use the wrong texture names.

New Features:

  • Made PTC map model data export by default.
  • Made Ctil model export only when explicitly invoked.

version-0.0.7

01 Mar 02:15
Compare
Choose a tag to compare

This release marks the point to where the more of the map can be read. As well as to have official Windows support.
New Features

  • Windows x86 64 bit is now supported via MinGW-w64 compiler tool-chain.
  • More detailed vertex colors has been added for the maps.
  • Added a text screen that would pop up if FCMapViewer or FCModelViewer does not find the resources that they need to operate. Press any button that is mapped to exit these programs.
  • Added two built-in backup fonts that Ghoster738 created in order to make this text screen possible.
  • Internal improvements made to the source code.
  • Some more resources are readable like FUN and ACT, but they are not shown yet. There is much work to do.

Bug fixes

  • ANM Resource works now is now unit tested.
  • QOI Reading and Writing is also fixed.
  • Other Bug fixes like memory leaks and other important fixes.

Known bugs/flaws

  • FCMapViewer has a slight bug while selecting which Ctil should be blinked.
  • FCMapViewer and the Mission Reader does not fully read the map's vertex color data properly.
  • The animations for the Maps world data is missing.
  • Lava animations are not implemented yet.

Credits:
killermosi For improving the console outputs for the programs.
BahKooj For sharing notes with me on the Actors and FUN and other things.

version-0.0.6

10 Nov 04:56
Compare
Choose a tag to compare

This is actually a huge update. For example, I added what I think are unit tests. Also I changed the way images are handled in these programs. ImageData2D does not support 16 bit colors and it had an awkward way of handling color palettes. Now, Image2D replaces this system. This update also supports color translation support. In addition, it supports 16 bit colors, and it has a better interface for dealing with colors. In addition, I unit tested the Image2D, ColorFormat, and ImagePalette2D.
This scrapes the surface of the improvements that I made.
This project gains the ability to extract more 3D models from Future Cop. There is only one regression that I know of so far.

Bone animations are now supported.
Morph animations are now supported.
I modified the transparency algorithm of the viewers using new knowledge on how they work.

Bugs
Transparency issues. My new way of handling transparency of course brought in problems.
There is an unfortunate regression with ANM where it appears to be like noise. 😔
Also, the Windows version still does not have the graphics, but I will pretty much dedicate v0.0.7 on getting the Windows end working.

version-0.0.5

06 Jun 07:41
Compare
Choose a tag to compare

I gave the FCMissionReader the ability to output the entire map if given the --PTC_ENTIRE_MAP option before -d.

Something like this.
./FCMissionReader -i Data/Platform/Windows/missions/ConFt -o export --PTC_ENTIRE_MAP -d

I had to make internal changes to both TilResource and ModelBuilder in order for this to work, but it is worth it.
I also fixed the normalization problem hopefully.