Skip to content
View in the app

A better way to browse. Learn more.

LCPDFR.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

L.S. Noir Returns!!

Featured Replies

Hi All,

 

Wow has it been a while...  What have I been doing?  Well, I've been hard at work making a FiveM emergency modification (can be seen used by KUFFS gaming).  That was super fun and interesting - having to sync multiplayer is a challenge, but pretty darn cool.

 

But that's not why we're here, is it?

 

I'm excited to announce that LS Noir (LSN) will be coming back.  I've been out of the scene for a while, but I regularly get messages asking for LSN to return.  And it's about time we get it working again.

 

So, I have some things to show that are still in development.  But, I am truly working on them and I expect a release soontm.

 

Case Management

First - one of the major challenges of the original LSN was the data structure.  LtFlash was the main designer of this and did an AMAZING job.  The problem is creating a new case; it is so much work and excel files to manually create.  Something not for the general public.  This was difficult to overcome as any case creator program had to support eight different file types, each with different components.

 

To combat this, when I got back into the development of LSN a couple months ago I set out to make a case creator first.  This required a rework of the case structure.  You can find a link to a case flowchart here (be warned - it's a little complex).  Now all information for each stage ("level") of a case is stored using JSON in a "Stage" class.  This allows a simple case creator program to be made.  It's important to note, I'm not a professional - so my GUI is probably not great.  It's better than manually editing a json or XML though, so...

 

Spoiler

Initial_Capture_071622.thumb.PNG.f1a20b213a12efb7f186558a35fbda06.PNG

 

This case creator will allow you, the community, to create cases.  They can be two stages or twenty.  It's all up to you.  And the benefit of the new format - all items required for a stage are present inside the Stage class.  That also makes implementation much easier on the backend.

 

Implementation

The implementation of this new separate CaseManager is ongoing.  The entire modification needs to be rewritten for a few reasons.

  1.  Outdated references - the modification uses two main commons, Fiskey111Common and LtFlash common.  Both of these are no longer maintained, so these need to be implemented locally.
  2. Updated case structure - with the old LSN, there were nine different data types (CaseData, ScenesData, StagesData, ReportsData, EvidenceData, PedData, DialogData, and more).  These files were single files with all data pertaining to that data type - so stage 1 (ex: CSI) is contained in the same ScenesData file as stage 5 (ex: suspect raid).  Not horrible, but difficult to maintain as there are many different components to ensure are completed.  Now, with the Stage class everything for a stage is contained inside the one class.  This makes referencing items easier, as referencing items for evidence requests can simply reference a stage ID which parses all evidence collected rather than each individual evidence ID.
  3. Computer - the case computer is pretty cool, in my opinion.  I think that being able to access case data in a GUI format is fun, and will allow for extra features in the future.  However, being honest - GWEN (the windows forms program included in RPH) is not great.  However, I'm not interested in converting to RageNativeUI, so for now, GWEN stays.  This should be fine - the computer isn't used too much.  But we'll see where the road takes us as things progress.

 

Timeline

This is the biggest question.  The case manager software is complete (enough) for use.  It's not perfect, but it works and does make creating a case easier.  There are some creature comforts I need to add, but those are on the backburner.  I'm currently working on implementing the new case structure into the existing modification.  As mentioned before, this requires a lot of work to implement and update old, depreciated features.

 

My estimation is a couple months.  But, who knows - life is crazy.  I've been trying to work on it at least 3 nights a week.  It will also depend how things end up working out - perhaps the rewrite of the case structure isn't ideal for some situations and needs to be edited.  Those are things playtesting and creators will most likely discover.

 

I appreciate the communities understanding, and I'm excited to be able to provide a positive update as I truly love the idea of a detective modification - and I think LSPDFR really needs a good one.

 

I'll post additional updates as I get additional features implemented.

 

Stay safe!

Fiskey111

 

 

 

 

  • 4 weeks later...

I'm super excited about this! Is there any way you'll update the existing ls noir so that it doesn't crash during the coroner part?! I have to manually change the xml to continue the missions.

  • 3 months later...
  • 4 weeks later...
  • Author

Update #2

 

Happy Holidays, everyone!

Development has been slow but steady.  I have a few features to discuss that I have been working on.

 

Updated Case Creator

I have converted the UWP case creator program to WPF, allowing it to run on older hardware.  This was an absolute pain - but I could not figure out how to generate a key and allow the case creator to be released.  But, it's mostly complete now.  I have some additional integrations to work on adding, but it does function as intended.

 

In-Game Stage Editor

To help make creating of stages easier (stage = part of a case; think the crime scene or a interrogation scene) I have implemented a menu based stage creator.  This allows the player to load existing stages and edit them in game with new objects, peds, vehicles and place them wherever they would like.  It shows locations and types of objects so you can easily identify how your stage will look.  I will be implementing a mode where it will spawn everything to make sure it makes sense to the creator before exporting.  These files will be importable into the case creator allowing you to make scenes in game, then add them to the creator without any trouble.  Thus, the case creator will mostly be for the logistical part.

 

See spoiler image below for a preview shot of the editor in action creating a CSI scene.  Note, peds don't do stuff in this - they just spawn so you can make sure they are in the right place. 

Spoiler

stage_creator.thumb.png.93911f2cd47797553932895a278215b4.png

 

Stage Design

Stages have been implemented in a very basic manner that will allow future people to create new ones and load them through an API.  These stages can be referenced in any case, which will help with future-proofing the modification.  I also have plans for a number of new stage types than the original 5.  These include, but are not limited to:

  • Crime Scene Investigation
  • Coroner / Hospital
  • Interrogation - Police Station
  • Interrogation - Secret Facility (campaign torture mission area)
  • Tail Suspect (On Foot or Car)
  • Stakeout
  • Raid (Police, SWAT, or FIB)

Future Proofing

One of the main goals I am attempting to follow is future proofing the design of this modification.  The case structure and design will not change with the new GTA, whenever that releases.  All that will be changed is the main code behind the stages.  This means case files will just need coordinates and models changed to be transferred to the new game.  I am very excited to see the Miami-inspired detective scenarios the community will create when GTA VI releases in the future.  In the meantime, we will focus on Los Santos!

 

Timeline

My "couple months" timeline has been...not successful.  I was truly planning a Christmas release, but with my work schedule, family commitments, and difficulty getting the scene manager to work has hampered my timeline.  I am still working, and have crossed a number of difficult hurdles.  One major problem right now is that any change to the structure of a case leads to major changes in the code for the case creator.  The code to display the case in the Treeview is over 200 lines long and an absolute nightmare that only a true demon would write.  For those of you developers, I have a total of 19 nests (combination of if/else and foreach loops).  I will warn you - I am not liable for the heart attack you will find in the spoiler below.  It absolutely needs a rework, but I'd prefer to focus my efforts getting the mod released before messing with this.  I think I have rounded a corner and am about 50% done with the modification.  Creating stages will be the easy part - the base logic is already there and each one is just a slight modification with additional AI logic and events.

 

Spoiler

oops.thumb.PNG.81caa852bbf90f79544105abc9f09127.PNG

 

I look forward to providing more updates soon.  Don't worry, work is still ongoing!

 

Thanks,
Fiskey111

Edited by Fiskey111
Added screenshot of stage creator

 

 

  • 6 months later...
  • Author

It's been a while!  Life has been crazy, as always.  I've had my second child which is taking up a LOT more time then anticipated (no clue how I thought I'd have more time!!).

 

Before, in the last update, I showed my nested function which was good for two things:

  1. Impossible to troubleshoot
  2. Extremely resource intensive (a case with about 20 scene items (peds, vehicles, objects, etc.) took 4 minutes to parse and load into the editor)

I attempted multithreading.  That was extremely difficult to implement as it required a substantial rework of the logic and became quite complex.  So I dropped it and said this wasn't going to be feasible.  That was almost the end of the mod as we know it and is why it has been so long - I just couldn't figure out how to make it work.

 

But...  I decided to take another look with a fresh look on the problem with what I learned in the back of my head.

 

I have made a major breakthrough.  Through the power of generic types and recursion, I am able to accomplish what previously required that hideous nested function (all hardcoded) and over 600 lines has been condensed into 170 lines and only two levels of nesting.  The major benefit of this approach - any future updates to the case structure will not require a new editor program as it can handle anything thrown at it.  This was not true before - any change to the structure of the case system required manually adding checks in the editor program to include those new changes.  As you can imagine, this makes improving the system far more simple.  And I as find important things out I can make changes, implement them, then edit cases without wasting time duplicating tasks (and creating bugs).  You can see some of the case data below.  

 

Spoiler

Could contain: text, screenshot, font, document, number

 

My initial testing indicates this is the way to go.  So I will run some additional testing to validate and continue on!

 

Thanks,

Fiskey111

 

 

 

 

13 hours ago, Fiskey111 said:

It's been a while!  Life has been crazy, as always.  I've had my second child which is taking up a LOT more time then anticipated (no clue how I thought I'd have more time!!).

 

Before, in the last update, I showed my nested function which was good for two things:

  1. Impossible to troubleshoot
  2. Extremely resource intensive (a case with about 20 scene items (peds, vehicles, objects, etc.) took 4 minutes to parse and load into the editor)

I attempted multithreading.  That was extremely difficult to implement as it required a substantial rework of the logic and became quite complex.  So I dropped it and said this wasn't going to be feasible.  That was almost the end of the mod as we know it and is why it has been so long - I just couldn't figure out how to make it work.

 

But...  I decided to take another look with a fresh look on the problem with what I learned in the back of my head.

 

I have made a major breakthrough.  Through the power of generic types and recursion, I am able to accomplish what previously required that hideous nested function (all hardcoded) and over 600 lines has been condensed into 170 lines and only two levels of nesting.  The major benefit of this approach - any future updates to the case structure will not require a new editor program as it can handle anything thrown at it.  This was not true before - any change to the structure of the case system required manually adding checks in the editor program to include those new changes.  As you can imagine, this makes improving the system far more simple.  And I as find important things out I can make changes, implement them, then edit cases without wasting time duplicating tasks (and creating bugs).  You can see some of the case data below.  

 

  Reveal hidden contents

Could contain: text, screenshot, font, document, number

 

My initial testing indicates this is the way to go.  So I will run some additional testing to validate and continue on!

 

Thanks,

Fiskey111

 

 

Glad to hear you are still working on this! Some progress is better than no progress. They say Rome wasn't built in a day.

Remember me? Benny Blanco from The Bronx...

 

  • 3 months later...

so when do you think it will be release because I wanted to play LS Noire myself but I got into LSPDFR Very late and have only seen the videos that Firstthirtyminutes who has since gone inactive and Double Doppler play

  • 4 months later...
On 7/27/2023 at 9:11 PM, Fiskey111 said:

It's been a while!  Life has been crazy, as always.  I've had my second child which is taking up a LOT more time then anticipated (no clue how I thought I'd have more time!!).

 

Before, in the last update, I showed my nested function which was good for two things:

  1. Impossible to troubleshoot
  2. Extremely resource intensive (a case with about 20 scene items (peds, vehicles, objects, etc.) took 4 minutes to parse and load into the editor)

I attempted multithreading.  That was extremely difficult to implement as it required a substantial rework of the logic and became quite complex.  So I dropped it and said this wasn't going to be feasible.  That was almost the end of the mod as we know it and is why it has been so long - I just couldn't figure out how to make it work.

 

But...  I decided to take another look with a fresh look on the problem with what I learned in the back of my head.

 

I have made a major breakthrough.  Through the power of generic types and recursion, I am able to accomplish what previously required that hideous nested function (all hardcoded) and over 600 lines has been condensed into 170 lines and only two levels of nesting.  The major benefit of this approach - any future updates to the case structure will not require a new editor program as it can handle anything thrown at it.  This was not true before - any change to the structure of the case system required manually adding checks in the editor program to include those new changes.  As you can imagine, this makes improving the system far more simple.  And I as find important things out I can make changes, implement them, then edit cases without wasting time duplicating tasks (and creating bugs).  You can see some of the case data below.  

 

  Reveal hidden contents

Could contain: text, screenshot, font, document, number

 

My initial testing indicates this is the way to go.  So I will run some additional testing to validate and continue on!

 

Thanks,

Fiskey111

 

 

Hey Fiskey111, was wondering if there were any new updates? I’m really looking forward to getting to play this and was hoping to see if there was any further updates to this. 
 

Thanks for all you do.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Similar Content

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.